From a07f90d6106971923e8f761f253a9b4d30a60752 Mon Sep 17 00:00:00 2001
From: CD配唱片 <CD配唱片>
Date: 星期二, 06 五月 2025 15:37:30 +0800
Subject: [PATCH] Merge branch 'feature-i18n' into dev

---
 src/views/mainPlan/plateProcessStat/index.vue |  477 ++++++++++++++++++++++++++++++++--------------------------
 1 files changed, 263 insertions(+), 214 deletions(-)

diff --git a/src/views/mainPlan/plateProcessStat/index.vue b/src/views/mainPlan/plateProcessStat/index.vue
index 9ccb0db..6c4e13d 100644
--- a/src/views/mainPlan/plateProcessStat/index.vue
+++ b/src/views/mainPlan/plateProcessStat/index.vue
@@ -1,75 +1,103 @@
 <template>
   <div class="app-container">
-    <el-row :gutter="20">
-      <el-col>
-        <el-form :model="queryParams" ref="queryRef" :inline="true" v-show="showSearch" label-width="90px">
-          <el-row :gutter="20">
-            <el-col :span="12">
-              <el-form-item label="宸ュ崟鍙�" prop="num">
-                <el-input
-                    v-model="queryParams.workOrderNo"
-                    placeholder="璇疯緭鍏ラ挘閲戣鍒掑伐鍗曞彿"
-                    clearable
-                    @keyup.enter="handleQuery"
-                />
-              </el-form-item>
-            </el-col>
-            <el-col  :span="12"  style="text-align: right;">
-              <el-form-item>
-                <el-button type="primary" icon="Search" @click="handleQuery">鎼滅储</el-button>
-                <el-button icon="Refresh" @click="resetQuery">閲嶇疆</el-button>
-              </el-form-item>
-            </el-col>
-          </el-row>
-        </el-form>
-      </el-col>
+    <el-row :gutter="10" class="mb8">
+      <!-- <el-col> -->
+      <el-form
+        :model="queryParams"
+        ref="queryRef"
+        :inline="true"
+        v-show="showSearch"
+        :label-width="locale === 'zh' ? '60px' : '150px'"
+        label-position="left"
+      >
+        <!-- <el-row :gutter="20">
+            <el-col :span="12"> -->
+        <el-form-item :label="$t('plan.query.workOrderNo')" prop="num">
+          <el-input
+            style="width: 370px"
+            v-model="queryParams.workOrderNo"
+            :placeholder="$t('plan.placeholder.planWorkOderNO')"
+            clearable
+            @keyup.enter="handleQuery"
+          />
+        </el-form-item>
+        <!-- </el-col>
+            <el-col  :span="12"  style="text-align: right;"> -->
+        <el-form-item>
+          <el-button type="primary" icon="Search" @click="handleQuery">{{
+            $t("common.common.query")
+          }}</el-button>
+          <el-button icon="Refresh" @click="resetQuery">{{
+            $t("common.common.reset")
+          }}</el-button>
+        </el-form-item>
+        <!-- </el-col>
+          </el-row> -->
+      </el-form>
+      <!-- </el-col> -->
     </el-row>
     <el-row :gutter="10" class="mb8">
-
       <el-col :span="1.5">
         <el-button
-            type="warning"
-            plain
-            icon="Download"
-            @click="handleExport"
-            v-hasPermi="['apsPlateProcessStat:export']"
-        >瀵煎嚭</el-button>
+          type="warning"
+          plain
+          icon="Download"
+          @click="handleExport"
+          v-hasPermi="['apsPlateProcessStat:export']"
+          >{{ $t("common.common.export") }}</el-button
+        >
       </el-col>
       <el-col :span="1.5">
         <el-button
-            type="success"
-            plain
-            icon="Edit"
-            @click="handleUpdate"
-            v-hasPermi="['apsPlateProcessStat:edit']"
-        >鏇存柊</el-button>
+          type="success"
+          plain
+          icon="Refresh"
+          @click="handleUpdate"
+          :disabled="loading"
+          v-hasPermi="['apsPlateProcessStat:edit']"
+          >{{ $t("common.common.update") }}</el-button
+        >
       </el-col>
 
-      <right-toolbar v-model:showSearch="showSearch" @queryTable="getList"></right-toolbar>
+      <right-toolbar
+        v-model:showSearch="showSearch"
+        @queryTable="getList"
+      ></right-toolbar>
     </el-row>
 
     <HxlhTable
-        style="width: 100%"
-        :columns="columns"
-        :data="aps_plate_process_statList"
-        :loading="loading"
-        :height="height"
+      style="width: 100%"
+      :columns="columns"
+      :data="aps_plate_process_statList"
+      :loading="loading"
+      :height="height"
     >
     </HxlhTable>
     <!-- 娣诲姞鎴栦慨鏀归挘閲戠粺璁″璇濇 -->
-    <el-dialog :title="title" v-model="open" width="500px" append-to-body>
-      <el-form ref="aps_plate_process_statRef" :model="form" :rules="rules" label-width="80px">
+    <!-- <el-dialog :title="title" v-model="open" width="500px" append-to-body>
+      <el-form
+        ref="aps_plate_process_statRef"
+        :model="form"
+        :rules="rules"
+        label-width="80px"
+      >
         <el-form-item label="鎺掑簭" prop="num">
           <el-input v-model="form.num" placeholder="璇疯緭鍏ユ帓搴�" />
         </el-form-item>
         <el-form-item label="鐢熶骇鏁伴噺" prop="productionQuantity">
-          <el-input v-model="form.productionQuantity" placeholder="璇疯緭鍏ョ敓浜ф暟閲�" />
+          <el-input
+            v-model="form.productionQuantity"
+            placeholder="璇疯緭鍏ョ敓浜ф暟閲�"
+          />
         </el-form-item>
         <el-form-item label="鏍囧噯宸ユ椂" prop="standardTime">
           <el-input v-model="form.standardTime" placeholder="璇疯緭鍏ユ爣鍑嗗伐鏃�" />
         </el-form-item>
         <el-form-item label="宸ュ簭鎬诲伐鏃�" prop="processTotalTime">
-          <el-input v-model="form.processTotalTime" placeholder="璇疯緭鍏ュ伐搴忔�诲伐鏃�" />
+          <el-input
+            v-model="form.processTotalTime"
+            placeholder="璇疯緭鍏ュ伐搴忔�诲伐鏃�"
+          />
         </el-form-item>
         <el-form-item label="璁捐宸ユ椂" prop="designTimes">
           <el-input v-model="form.designTimes" placeholder="璇疯緭鍏ヨ璁″伐鏃�" />
@@ -81,31 +109,31 @@
           <el-button @click="cancel">鍙� 娑�</el-button>
         </div>
       </template>
-    </el-dialog>
+    </el-dialog> -->
   </div>
 </template>
 
 <script setup name="Aps_plate_process_stat">
-import { listPlateStat,updateStat } from "@/api/mainPlan/plateProcessStat";
+import { listPlateStat, updateStat } from "@/api/mainPlan/plateProcessStat";
 import HxlhTable from "@/components/HxlhTable/index.vue";
 import { getToken } from "@/utils/auth";
 import { ref } from "vue";
-import {ElMessage} from "element-plus";
+import { ElMessage } from "element-plus";
 const { proxy } = getCurrentInstance();
-
+import { useI18n } from "vue-i18n"; //瑕佸湪js涓娇鐢ㄥ浗闄呭寲
+const { t, locale } = useI18n();
 const aps_plate_process_statList = ref([]);
-const open = ref(false);
+// const open = ref(false);
 const loading = ref(false);
 const showSearch = ref(true);
 const single = ref(true);
 const multiple = ref(true);
 const total = ref(0);
 const title = ref("");
-const height = ref(document.documentElement.clientHeight - 220 + "px;")
-
+const height = ref(document.documentElement.clientHeight - 220 + "px;");
 
 const data = reactive({
-  form: {},
+  // form: {},
   queryParams: {
     pageNum: 1,
     pageSize: 10,
@@ -122,119 +150,129 @@
     designTimes: null,
     batchNumber: null,
   },
-  rules: {
-  }
+  rules: {},
 });
 
-const { queryParams, form, rules } = toRefs(data);
-
+const { queryParams, rules } = toRefs(data); // form
 
 // 琛ㄦ牸閰嶇疆
-const columns = ref([
-/*  { type: 'seq', title: '搴忓彿', width: 60 },*/
-  {
-    title: '宸ュ崟鍙�',
-    field: 'workOrderNo',
-    width: 150,
-  } ,
-  {
-    title: '宸ュ簭鍚嶇О',
-    field: 'processName',
-  },
-  {
-    title: '宸ュ簭鍙�',
-    field: 'routeProcessNumberTxt',
-    width: 100,
-  },
-  {
-    title: '褰撳墠宸ュ簭鍙�',
-    field: 'currentProcessNumberTxt',
-    width: 100,
-  },
-  {
-    title: '鐢熶骇鏁伴噺',
-    field: 'productionQuantity',
-    width: 80,
-  },
-  {
-    title: '鏍囧噯宸ユ椂',
-    field: 'standardTime',
-    width: 80,
-  },
-  {
-    title: '宸ュ簭鎬诲伐鏃�',
-    field: 'processTotalTime',
-    width: 80,
+const columns = ref([]);
 
+watch(
+  locale,
+  (newLocale) => {
+    columns.value = [
+      /*  { type: 'seq', title: '搴忓彿', width: 60 },*/
+      {
+        title: t("plan.table.workOrderNo"),
+        field: "workOrderNo",
+        width: 150,
+      },
+      {
+        title: t("plan.table.processName"),
+        field: "processName",
+      },
+      {
+        title: t("plan.table.processNumber"),
+        field: "routeProcessNumberTxt",
+        width: 100,
+      },
+      {
+        title: t("plan.table.currentProcessNumber"),
+        field: "currentProcessNumberTxt",
+        width: 100,
+      },
+      {
+        title: t("plan.table.productionQuantity"),
+        field: "productionQuantity",
+        width: 80,
+      },
+      {
+        title: t("plan.table.standardTime"),
+        field: "standardTime",
+        width: 80,
+      },
+      {
+        title: t("plan.table.totalWorkingHoursOfProcess"),
+        field: "processTotalTime",
+        width: 80,
+      },
+      {
+        title: t("plan.table.planStartDay"),
+        field: "processPlanStartDaytxt",
+        width: 200,
+        type: "html",
+      },
+      {
+        title: t("plan.table.planEndDayDate"),
+        field: "processPlanEndDaytxt",
+        width: 200,
+        type: "html",
+      },
+      {
+        title:  t("plan.table.OrderCompletionDate"),
+        field: "orderPlanEndDay",
+        width: 200,
+        format: "YYYY-MM-DD HH:mm:ss",
+      },
+    ];
+    getList();
   },
-  {
-    title: '璁″垝寮�宸ユ棩',
-    field: 'processPlanStartDaytxt',
-    width: 200,
-    type:'html'
-  },
-  {
-    title: '璁″垝瀹屽伐鏃�',
-    field: 'processPlanEndDaytxt',
-    width: 200,
-    type: 'html'
-  },
-  {
-    title: '璁㈠崟瀹屽伐鏃�',
-    field: 'orderPlanEndDay',
-    width: 200,
-    format: 'YYYY-MM-DD HH:mm:ss'
-  }
-]);
-
-
+  { immediate: true, deep: true }
+);
 
 /** 鏌ヨ閽i噾缁熻鍒楄〃 */
 function getList() {
   loading.value = true;
-  listPlateStat(queryParams.value).then(response => {
+  listPlateStat(queryParams.value).then((response) => {
     const listValue = response.rows;
-    listValue.forEach(listItem => {
-      listItem[`processPlanStartDaytxt`]= listItem.warning? `<font color="red">${listItem.processPlanStartDay}</font>`  :listItem.processPlanStartDay;
-      listItem[`processPlanEndDaytxt`]= listItem.warning? `<font color="red">${listItem.processPlanEndDay}</font>`  :listItem.processPlanEndDay;
-      listItem[`routeProcessNumberTxt`]= listItem.routeProcessNumber.toString().padStart(3, '0');
-      listItem[`currentProcessNumberTxt`]= listItem.currentProcessNumber.toString().padStart(3, '0');
-
-
+    listValue.forEach((listItem) => {
+      listItem[`processPlanStartDaytxt`] = listItem.warning
+        ? `<font color="red">${listItem.processPlanStartDay}</font>`
+        : listItem.processPlanStartDay;
+      listItem[`processPlanEndDaytxt`] = listItem.warning
+        ? `<font color="red">${listItem.processPlanEndDay}</font>`
+        : listItem.processPlanEndDay;
+      listItem[`routeProcessNumberTxt`] = listItem.routeProcessNumber
+        .toString()
+        .padStart(3, "0");
+      listItem[`currentProcessNumberTxt`] = listItem.currentProcessNumber
+        .toString()
+        .padStart(3, "0");
     });
-    aps_plate_process_statList.value =listValue
+    aps_plate_process_statList.value = listValue;
     total.value = response.total;
     loading.value = false;
   });
 }
 
-// 鍙栨秷鎸夐挳
-function cancel() {
-  open.value = false;
-  reset();
-}
+// // 鍙栨秷鎸夐挳
+// function cancel() {
+//   open.value = false;
+//   reset();
+// }
 
 // 琛ㄥ崟閲嶇疆
-function reset() {
-  form.value = {
-    id: null,
-    workOrderNo: null,
-    processName: null,
-    num: null,
-    routeProcessNumber: null,
-    currentProcessNumber: null,
-    productionQuantity: null,
-    standardTime: null,
-    processTotalTime: null,
-    processPlanEndDay: null,
-    computePlanEndDay: null,
-    designTimes: null,
-    batchNumber: null,
-    createBy: null,
-    delFlag: null
-  };
-  proxy.resetForm("aps_plate_process_statRef");
-}
+// function reset() {
+//   form.value = {
+//     id: null,
+//     workOrderNo: null,
+//     processName: null,
+//     num: null,
+//     routeProcessNumber: null,
+//     currentProcessNumber: null,
+//     productionQuantity: null,
+//     standardTime: null,
+//     processTotalTime: null,
+//     processPlanEndDay: null,
+//     computePlanEndDay: null,
+//     designTimes: null,
+//     batchNumber: null,
+//     createBy: null,
+//     delFlag: null,
+//   };
+//   proxy.resetForm("aps_plate_process_statRef");
+// }
 
 /** 鎼滅储鎸夐挳鎿嶄綔 */
 function handleQuery() {
@@ -244,99 +282,110 @@
 
 /** 閲嶇疆鎸夐挳鎿嶄綔 */
 function resetQuery() {
-  queryParams.value.workOrderNo ='';
+  queryParams.value.workOrderNo = "";
   proxy.resetForm("queryRef");
   handleQuery();
 }
 
 // 澶氶�夋閫変腑鏁版嵁
 function handleSelectionChange(selection) {
-  ids.value = selection.map(item => item.id);
+  ids.value = selection.map((item) => item.id);
   single.value = selection.length != 1;
   multiple.value = !selection.length;
 }
 
 /** 鏂板鎸夐挳鎿嶄綔 */
-function handleAdd() {
-  reset();
-  open.value = true;
-  title.value = "娣诲姞閽i噾缁熻";
-}
+// function handleAdd() {
+//   reset();
+//   open.value = true;
+//   title.value = "娣诲姞閽i噾缁熻";
+// }
 
 /** 淇敼鎸夐挳鎿嶄綔 */
 function handleUpdate(row) {
-  reset();
+  // reset();
   loading.value = true;
-  updateStat().then(response => {
-    form.value = response.data;
+  updateStat().then((response) => {
+    // form.value = response.data;
     loading.value = false;
     ElMessage({
-      message: '鏁版嵁鏇存柊鎴愬姛',
-      type: 'success',
-    })
+      message: t("plan.message.update"),
+      type: "success",
+    });
     getList();
   });
 }
 
 /** 鎻愪氦鎸夐挳 */
-function submitForm() {
-  proxy.$refs["aps_plate_process_statRef"].validate(valid => {
-    if (valid) {
-      if (form.value.id != null) {
-        updateAps_plate_process_stat(form.value).then(response => {
-          proxy.$modal.msgSuccess("淇敼鎴愬姛");
-          open.value = false;
-          getList();
-        });
-      } else {
-        addAps_plate_process_stat(form.value).then(response => {
-          proxy.$modal.msgSuccess("鏂板鎴愬姛");
-          open.value = false;
-          getList();
-        });
-      }
-    }
-  });
-}
+// function submitForm() {
+//   proxy.$refs["aps_plate_process_statRef"].validate((valid) => {
+//     if (valid) {
+//       if (form.value.id != null) {
+//         updateAps_plate_process_stat(form.value).then((response) => {
+//           proxy.$modal.msgSuccess("淇敼鎴愬姛");
+//           open.value = false;
+//           getList();
+//         });
+//       } else {
+//         addAps_plate_process_stat(form.value).then((response) => {
+//           proxy.$modal.msgSuccess("鏂板鎴愬姛");
+//           open.value = false;
+//           getList();
+//         });
+//       }
+//     }
+//   });
+// }
 
 /** 鍒犻櫎鎸夐挳鎿嶄綔 */
-function handleDelete(row) {
-  const _ids = row.id || ids.value;
-  proxy.$modal.confirm('鏄惁纭鍒犻櫎閽i噾缁熻缂栧彿涓�"' + _ids + '"鐨勬暟鎹」锛�').then(function() {
-    return delAps_plate_process_stat(_ids);
-  }).then(() => {
-    getList();
-    proxy.$modal.msgSuccess("鍒犻櫎鎴愬姛");
-  }).catch(() => {});
-}
+// function handleDelete(row) {
+//   const _ids = row.id || ids.value;
+//   proxy.$modal
+//     .confirm('鏄惁纭鍒犻櫎閽i噾缁熻缂栧彿涓�"' + _ids + '"鐨勬暟鎹」锛�')
+//     .then(function () {
+//       return delAps_plate_process_stat(_ids);
+//     })
+//     .then(() => {
+//       getList();
+//       proxy.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+//     })
+//     .catch(() => {});
+// }
 
 /** 瀵煎嚭鎸夐挳鎿嶄綔 */
 function handleExport() {
-  proxy.download('/aps/plateProcessStat/export', {
-    ...queryParams.value
-  }, `aps_plate_process_stat_${new Date().getTime()}.xlsx`)
+  proxy.download(
+    "/aps/plateProcessStat/export",
+    {
+      ...queryParams.value,
+    },
+    `aps_plate_process_stat_${new Date().getTime()}.xlsx`
+  );
 }
-const headerCellClassName = ({ column }) => {
-  if (column.field === 'name') {
-    return 'col-blue'
-  }
-  return null
-}
-const rowClassName = ({ rowIndex }) => {
-  if ([2, 3, 5].includes(rowIndex)) {
-    return 'row-green'
-  }
-  return null
-}
-const cellClassName = ({ row, column }) => {
-  if (column.field === 'processPlanStartDay'||column.field === 'processPlanEndDay') {
-    if (row.warning) {
-      return 'col-orange'
-    }
-  }
-  return null
-}
-getList();
+// const headerCellClassName = ({ column }) => {
+//   if (column.field === "name") {
+//     return "col-blue";
+//   }
+//   return null;
+// };
+// const rowClassName = ({ rowIndex }) => {
+//   if ([2, 3, 5].includes(rowIndex)) {
+//     return "row-green";
+//   }
+//   return null;
+// };
+// const cellClassName = ({ row, column }) => {
+//   if (
+//     column.field === "processPlanStartDay" ||
+//     column.field === "processPlanEndDay"
+//   ) {
+//     if (row.warning) {
+//       return "col-orange";
+//     }
+//   }
+//   return null;
+// };
+// getList();
 </script>
 <style lang="scss" scoped>
 ::v-deep(.mytable-style.vxe-table .vxe-body--row.row-green) {
@@ -351,4 +400,4 @@
   background-color: red;
   color: #fff;
 }
-</style>
\ No newline at end of file
+</style>

--
Gitblit v1.9.3