From 63f27f3c60e8c608f6bf9586444fa20f4ef16b42 Mon Sep 17 00:00:00 2001
From: chengxiangling <291105840@qq.com>
Date: 星期三, 14 五月 2025 13:45:59 +0800
Subject: [PATCH] 提交钣金计划大表等;

---
 src/views/mainPlan/platePlanList/index.vue |  313 ++++++++++++++++++++++++++++++++--------------------
 1 files changed, 192 insertions(+), 121 deletions(-)

diff --git a/src/views/mainPlan/platePlanList/index.vue b/src/views/mainPlan/platePlanList/index.vue
index a48996f..af43b52 100644
--- a/src/views/mainPlan/platePlanList/index.vue
+++ b/src/views/mainPlan/platePlanList/index.vue
@@ -40,24 +40,22 @@
           icon="Download"
           @click="handleExport"
           v-hasPermi="['plateProcessShopStat:export']"
-          >瀵煎嚭</el-button
+          >{{ $t(`common.common.export`) }}</el-button
         >
       </el-col>
       <el-col :span="1.5">
         <el-button
           type="success"
           plain
-          icon="Edit"
+          icon="Refresh"
           @click="handleUpdate"
-          v-hasPermi="['apsPlateProcessStat:edit']"
-          >鏇存柊</el-button
+          :disabled="loading"
+          v-hasPermi="['plateProcessShopStat:update']"
+          >{{ $t(`common.common.update`) }}</el-button
         >
       </el-col>
 
-      <right-toolbar
-        v-model:showSearch="showSearch"
-        @queryTable="getList"
-      ></right-toolbar>
+      <right-toolbar :search="false" @queryTable="getList"></right-toolbar>
     </el-row>
 
     <HxlhTable
@@ -71,7 +69,7 @@
     >
     </HxlhTable>
     <!-- 娣诲姞鎴栦慨鏀归挘閲戠粺璁″璇濇 -->
-    <el-dialog :title="title" v-model="open" width="500px" append-to-body>
+    <!-- <el-dialog :title="title" v-model="open" width="500px" append-to-body>
       <el-form
         ref="aps_plate_process_statRef"
         :model="form"
@@ -106,29 +104,36 @@
           <el-button @click="cancel">鍙� 娑�</el-button>
         </div>
       </template>
-    </el-dialog>
+    </el-dialog> -->
   </div>
 </template>
 
-<script setup name="Aps_plate_process_stat">
-import { listApsPlateProcessShopStat, listApsPlateProcessShopStatUpdate } from "@/api/mainPlan/apsPlatePlanList";
+<script setup name="ApsPlatePlanList">
+import {
+  listApsPlateProcessShopStat,
+  listApsPlateProcessShopStatUpdate,
+} from "@/api/mainPlan/apsPlatePlanList";
 import HxlhTable from "@/components/HxlhTable/index.vue";
 import { getToken } from "@/utils/auth";
 import { nextTick, onMounted, ref } from "vue";
-import { ElMessage } from "element-plus";
+// import { ElMessage } from "element-plus";
+import { useI18n } from "vue-i18n"; //瑕佸湪js涓娇鐢ㄥ浗闄呭寲
+// import i18n from "@/utils/i18n";
+// const t = i18n.global.t
+const { t, locale } = useI18n();
 const { proxy } = getCurrentInstance();
-
+// console.log(proxy.$i18n.locale, "indexPlanList");
 const aps_plate_process_statList = ref([]);
 const dynamicList = ref([]);
 const generateColumnList = ref([]);
 const open = ref(false);
-const loading = ref(true);
+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 - 270 + "px;");
+const height = ref(document.documentElement.clientHeight - 180 + "px;");
 const columnsVersion = ref(0);
 const data = reactive({
   // form: {},
@@ -150,109 +155,164 @@
   // },
   // rules: {},
 });
+const columns = ref([]);
 const xGrid = ref();
 const { queryParams, form, rules } = toRefs(data);
-
-// 琛ㄦ牸閰嶇疆
-const columns = ref([
-  /*  { type: 'seq', title: '搴忓彿', width: 60 },*/
-  {
-    title: "涓讳欢鏂欏彿",
-    field: "mainPartNumber",
-    width: 150,
-  },
-  {
-    title: "涓氬姟绫诲瀷",
-    field: "businessType",
-    width: 150,
-  },
-  {
-    title: "鍗曟嵁鍙�",
-    field: "documentNumber",
-    width: 200,
-  },
-  {
-    title: "褰撳墠宸ュ簭鍙�",
-    field: "currentProcessNumberTxt",
-    width: 150,
-  },
-  {
-    title: "闇�姹傚垎绫�",
-    field: "requirementType",
-    width: 100,
-  },
-  {
-    title: "鍗曟嵁鐘舵��",
-    field: "documentStatus",
-    width: 100,
-  },
-  {
-    title: "褰撳墠宸ュ簭",
-    field: "workCenter",
-    width: 200,
-  },
-  {
-    title: "璁″垝寮�宸ユ棩",
-    field: "processPlanStartDaytxt",
-    width: 200,
-    type: "html",
-  },
-  {
-    title: "鏂欏彿",
-    field: "itemNumber",
-    width: 150,
-    type: "html",
-  },
-  {
-    title: "鍥惧彿",
-    field: "drawingNo",
-    width: 150,
-    // format: 'YYYY-MM-DD'
-  },
-  {
-    title: "鐗堟湰鍙�",
-    field: "versionNumber",
-    width: 100,
-    type: "html",
-  },
-  {
-    title: "鐢熶骇鏁伴噺",
-    field: "productionQuantity",
-    width: 100,
-    type: "html",
-  },
-  {
-    title: "璁″垝瀹屽伐鏃�",
-    field: "planEndDay",
-    width: 150,
-    format: "YYYY-MM-DD hh:mm:ss",
-  },
-]);
-
+watch(locale, (newLocale) => {
+  // 閲嶆柊鑾峰彇缈昏瘧鏂囨湰
+  // 琛ㄦ牸閰嶇疆
+  columns.value = [
+    /*  { type: 'seq', title: '搴忓彿', width: 60 },*/
+    {
+      title: t("plan.table.mainPartCustomer"),
+      field: "customer",
+      width: 150,
+      fixed: "left",
+    },
+    {
+      title: t("plan.table.mainPartNumber"),
+      field: "mainPartNumber",
+      width: 120,
+      fixed: "left",
+    },
+    {
+      title: t("plan.table.businessType"),
+      field: "businessType",
+      width: 90,
+      fixed: "left",
+    },
+    {
+      title: t("plan.table.documentNumber"),
+      field: "documentNumber",
+      width: 140,
+      fixed: "left",
+    },
+    {
+      title: t("plan.table.requirementType"),
+      field: "requirementType",
+      width: 100,
+      fixed: "left",
+    },
+    {
+      title: t("plan.table.documentStatus"),
+      field: "documentStatus",
+      width: 70,
+      fixed: "left",
+    },
+    {
+      title: t("plan.table.updateBy"),
+      field: "updateBy",
+      width: 100,
+    },
+    {
+      title: t("plan.table.workCenter"),
+      field: "workCenter",
+      width: 200,
+    },
+    {
+      title: t("plan.table.department"),
+      field: "department",
+      width: 200,
+    },
+    {
+      title: t("plan.table.opStatus"),
+      field: "opStatus",
+      width: 200,
+    },
+    {
+      title: t("plan.table.nextOpName"),
+      field: "nextOpName",
+      width: 100,
+    },
+    {
+      title: t("plan.table.nextProcessDeparment"),
+      field: "nextProcessDeparment",
+      width: 200,
+    },
+    {
+      title: t("plan.table.itemNumber"),
+      field: "itemNumber",
+      width: 150,
+      type: "html",
+    },
+    {
+      title: t("plan.table.drawingNo"),
+      field: "drawingNo",
+      width: 150,
+      // format: 'YYYY-MM-DD'
+    },
+    {
+      title: t("plan.table.versionNumber"),
+      field: "versionNumber",
+      width: 100,
+      type: "html",
+    },
+    {
+      title: t("plan.table.cheaperCode"),
+      field: "cheaperCode",
+      width: 100,
+    },
+    {
+      title: t("plan.table.productionQuantity"),
+      field: "productionQuantity",
+      width: 100,
+      type: "html",
+    },
+    {
+      title: t("plan.table.workorderCreationTime"),
+      field: "orderCreateTime",
+      width: 200,
+    },
+    {
+      title: t("plan.table.workOrderReviewTime"),
+      field: "approveOn",
+      width: 200,
+    },
+    {
+      title: t("plan.table.workOrderStartTime"),
+      field: "startWorkDate",
+      width: 200,
+    },
+    // {
+    //   title: t("plan.table.planworkOrderTime"),
+    //   field: "planworkOrderTime",
+    //   width: 200,
+    // },
+    {
+      title: t("plan.table.planEndDay"),
+      field: "planEndDay",
+      width: 150,
+      format: "YYYY-MM-DD hh:mm:ss",
+    },
+  ]
+},{immediate:true, deep:true});
 /** 鏌ヨ閽i噾缁熻鍒楄〃 */
 async function getList() {
   loading.value = true;
   const response = await listApsPlateProcessShopStat();
-  const listValue = response.data;
-  const resData = listValue.map((item,index)=>{
-    item.deptPlans.map((n, i) => {
-        item[`${i}_startDate`] = n.planStartDate
-        item[`${i}_endDate`] = n.planEndDate 
-    });
-    return  {
-      ...item
-    }
-  })
-  console.log(resData,'resDataresDataresData')
+  let listValue = response.data;
   dynamicList.value = response.shopNames;
   aps_plate_process_statList.value = listValue;
+  console.log(aps_plate_process_statList.value,"aps_plate_process_statList")
   total.value = response.total;
   loading.value = false;
   await nextTick();
-  const newArray = dynamicList.value.flatMap((item, index) => [
+  aps_plate_process_statList.value = aps_plate_process_statList.value.map(
+    (item, index) => {
+      item.deptPlans.map((n, i) => {
+        item[`${i}_startDate`] = n.planStartDate;
+        item[`${i}_endDate`] = n.planEndDate;
+      });
+      return {
+        ...item,
+      };
+    }
+  );
+  let newArray = [];
+  newArray = dynamicList.value.flatMap((item, index) => [
     {
-      title: `${item}寮�濮嬫椂闂碻,
-      field:`${index}_startDate`,
+      title: `${item}寮�宸ユ椂闂碻,
+      field: `${index}_startDate`,
       width: 140,
       formatter: ({ cellValue, row, column }) => {
         let dateStr = "";
@@ -266,16 +326,16 @@
               //   `${item}寮�濮嬫椂闂碻,
               //   "planStartDate"
               // );
-              dateStr =  n.planStartDate;
+              dateStr = n.planStartDate;
             }
           });
         }
-        return dateStr
+        return dateStr;
       },
     },
     {
-      title: `${item}缁撴潫鏃堕棿`,
-      field:`${index}_endDate`,
+      title: `${item}瀹屽伐鏃堕棿`,
+      field: `${index}_endDate`,
       width: 140,
       formatter: ({ cellValue, row, column }) => {
         let dateStr = "";
@@ -289,17 +349,27 @@
               //   `${item}寮�濮嬫椂闂碻,
               //   "planStartDate"
               // );
-              dateStr =  n.planEndDate;
+              dateStr = n.planEndDate;
             }
           });
         }
-        return dateStr
+        return dateStr;
       },
     },
   ]);
-  await nextTick();
-  columns.value = [...columns.value, ...newArray];              // 寮哄埗缁勪欢閲嶆柊娓叉煋
+  // newArray.splice(2, 0, {
+  //   title: "鐒婃帴浠堕綈濂楀紑濮嬫椂闂�",
+  //   field: "hanjie_startDate",
+  //   width: 140,
+  // });
+  columns.value = [
+    ...columns.value,
+    ...newArray.filter(
+      (item) => !columns.value.some((col) => col.field === item.field)
+    ),
+  ];
   
+  // columns.value = columns.value
 }
 
 // // 鍙栨秷鎸夐挳
@@ -359,12 +429,14 @@
 
 /** 淇敼鎸夐挳鎿嶄綔 */
 function handleUpdate(row) {
+  loading.value = true;
   listApsPlateProcessShopStatUpdate().then((response) => {
     // form.value = response.data;
     ElMessage({
-      message: "鏁版嵁鏇存柊鎴愬姛",
+      message: t("plan.message.update"),
       type: "success",
     });
+    loading.value = false;
     getList();
   });
 }
@@ -372,15 +444,14 @@
 function handleExport() {
   proxy.download(
     "/aps/plateProcessShopStat/export",
-    // {
-    //   ...queryParams.value,
-    // },
-    `aps_plate_process_shop_stat_${new Date().getTime()}.xlsx`
+    {},
+    `aps_plate_plan_list_${new Date().getTime()}.xlsx`
   );
 }
 getList();
 // onMounted(async () => {
-//
+//   await nextTick();
+  
 // });
 </script>
 <style lang="scss" scoped>

--
Gitblit v1.9.3