From 1b56e5ca59f20aebc5add65a6a76d9a5f2b1b03b Mon Sep 17 00:00:00 2001
From: CD配唱片 <CD配唱片>
Date: 星期三, 07 五月 2025 17:53:01 +0800
Subject: [PATCH] 钣金冗余工单联调

---
 src/api/basicData/sheetMetalConfig/sheetMetalConfig.js  |    9 +
 .env.development                                        |    2 
 src/views/basicData/sheetMetalParamConfig/index.vue     |    2 
 src/views/mainPlan/sheetMetalOrderManage/index.vue      |   18 ++
 src/views/mainPlan/sheetMetalSupplyGap/index.vue        |    2 
 src/utils/i18n/locales/plan/index.js                    |    6 
 src/views/basicData/processRouteDataPreparate/index.vue |   37 +++-
 src/utils/i18n/locales/common/index.js                  |    6 
 src/views/mainPlan/sheetMetalRedundantReport/index.vue  |  242 ++++-------------------------
 src/views/basicData/bom/index.vue                       |  116 ++++++++------
 10 files changed, 165 insertions(+), 275 deletions(-)

diff --git a/.env.development b/.env.development
index 605a602..a4a0a7d 100644
--- a/.env.development
+++ b/.env.development
@@ -10,4 +10,4 @@
 # 閰嶅悎鍚庣鏈嶅姟
 # VITE_APP_LOCAL = 'int'
 # VITE_APP_LOCAL = 'zhl'
-VITE_APP_LOCAL = 'hjy'
\ No newline at end of file
+VITE_APP_LOCAL = 'cxl'
\ No newline at end of file
diff --git a/src/api/basicData/sheetMetalConfig/sheetMetalConfig.js b/src/api/basicData/sheetMetalConfig/sheetMetalConfig.js
index 442cb26..73bf5c4 100644
--- a/src/api/basicData/sheetMetalConfig/sheetMetalConfig.js
+++ b/src/api/basicData/sheetMetalConfig/sheetMetalConfig.js
@@ -23,3 +23,12 @@
     params: query
   });
 }
+
+//  閽i噾鍐椾綑宸ュ崟鎶ヨ〃 apsPlatePlan/redundantOrderList
+export function redundantOrderList(query) {
+  return request({
+    url: `/aps/apsPlatePlan/redundantOrderList`,
+    method: "get",
+    params: query
+  });
+}
\ No newline at end of file
diff --git a/src/utils/i18n/locales/common/index.js b/src/utils/i18n/locales/common/index.js
index 4173e34..fa1ef70 100644
--- a/src/utils/i18n/locales/common/index.js
+++ b/src/utils/i18n/locales/common/index.js
@@ -19,7 +19,8 @@
     save: "淇濆瓨",
     cancel: "鍙栨秷",
     placeholder:"璇疯緭鍏�",
-    view:"鏌ョ湅"
+    view:"鏌ョ湅",
+    viewDetails:"鏌ョ湅璇︽儏"
   },
 };
 export const en = {
@@ -43,6 +44,7 @@
     save: "Save",
     cancel: "Cancel",
     placeholder:"Please enter the ",
-    view:"View"
+    view:"View",
+    viewDetails:"View details"
   },
 };
diff --git a/src/utils/i18n/locales/plan/index.js b/src/utils/i18n/locales/plan/index.js
index cd246f7..c916b2b 100644
--- a/src/utils/i18n/locales/plan/index.js
+++ b/src/utils/i18n/locales/plan/index.js
@@ -156,7 +156,8 @@
     requirementPlanCompletionDate:"闇�姹傝鍒掑畬宸ユ棩",
     processRouteWorkingHours:"宸ヨ壓璺嚎宸ユ椂",
     demandQuantity:"闇�姹傛暟閲�",
-    netRequirement:"鍑�闇�姹傞噺"
+    netRequirement:"鍑�闇�姹傞噺",
+    bomItemID: "椤� ID"
   },
 };
 export const en = {
@@ -317,6 +318,7 @@
     requirementPlanCompletionDate:"Requirement plan completion date",
     processRouteWorkingHours:"Process route working hours",
     demandQuantity:"Demand Quantity",
-    netRequirement:"Net Requirement"
+    netRequirement:"Net Requirement",
+    bomItemID:"Item ID"
   },
 };
diff --git a/src/views/basicData/bom/index.vue b/src/views/basicData/bom/index.vue
index 1ece0d6..a27ebfe 100644
--- a/src/views/basicData/bom/index.vue
+++ b/src/views/basicData/bom/index.vue
@@ -9,52 +9,54 @@
         v-show="showSearch"
         :label-width="locale === 'zh' ? '90px' : '160px'"
       >
-        <el-row :gutter="20">
-          <el-col :span="9">
-            <el-form-item :label="$t('plan.query.itemNumber')" prop="itemCode">
-              <el-input
-                style="width: 210px"
-                v-model="queryParams.itemCode"
-                :placeholder="`${$t('common.common.placeholder')}${$t(
-                  'plan.query.itemNumber'
-                )}`"
-                clearable
-                @keyup.enter="handleQuery"
-              />
-            </el-form-item>
-          </el-col>
-          <el-col :span="9">
-            <el-form-item
-              :label="$t('plan.table.applicableFactories')"
-              prop="orgCode"
+        <!-- <el-row :gutter="20">
+          <el-col :span="10"> -->
+        <el-form-item :label="$t('plan.query.itemNumber')" prop="itemCode">
+          <el-input
+            style="width: 210px"
+            v-model="queryParams.itemCode"
+            :placeholder="`${$t('common.common.placeholder')}${$t(
+              'plan.query.itemNumber'
+            )}`"
+            clearable
+            @keyup.enter="handleQuery"
+          />
+        </el-form-item>
+        <!-- </el-col>
+          <el-col :span="10"> -->
+        <el-form-item
+          :label="$t('plan.table.applicableFactories')"
+          prop="orgCode"
+        >
+          <el-select
+            clearable
+            v-model="queryParams.orgCode"
+            style="width: 160px"
+            :placeholder="`${$t('common.common.placeholder')}${$t(
+              'plan.table.applicableFactories'
+            )}`"
+          >
+            <el-option
+              v-for="plant in plantList"
+              :key="plant.id"
+              :label="plant.plantName"
+              :value="plant.plantCode"
             >
-              <el-select
-                clearable
-                v-model="queryParams.orgCode"
-                :style="{width: locale=='zh'?'160px':'250px'}"
-                :placeholder="`${$t('common.common.placeholder')}${$t('plan.table.applicableFactories')}`"
-              >
-                <el-option
-                  v-for="plant in plantList"
-                  :key="plant.id"
-                  :label="plant.plantName"
-                  :value="plant.plantCode"
-                >
-                </el-option>
-              </el-select>
-            </el-form-item>
-          </el-col>
-          <el-col :span="6" 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-option>
+          </el-select>
+        </el-form-item>
+        <!-- </el-col>
+          <el-col :span="4" 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-row>
     <el-row :gutter="10" class="mb8">
@@ -97,7 +99,12 @@
         >
       </template>
     </HxlhTable>
-    <el-dialog :title="title" v-model="openDialog" width="900px" append-to-body>
+    <el-dialog
+      :title="$t('common.common.viewDetails')"
+      v-model="openDialog"
+      width="900px"
+      append-to-body
+    >
       <HxlhTable
         style="width: 100%"
         :columns="subGridOptions"
@@ -106,6 +113,13 @@
         :height="heightSub"
       >
       </HxlhTable>
+      <template #footer>
+        <span class="dialog-footer">
+          <el-button @click="openDialog = false">{{
+            $t("common.common.cancel")
+          }}</el-button>
+        </span>
+      </template>
     </el-dialog>
   </div>
 </template>
@@ -134,7 +148,7 @@
 const loadingSub = ref(false);
 const showSearch = ref(true);
 const total = ref(0);
-const height = ref(document.documentElement.clientHeight - 270 + "px;");
+const height = ref(document.documentElement.clientHeight - 210 + "px;");
 const heightSub = ref(document.documentElement.clientHeight - 320 + "px;");
 // 琛ㄦ牸閰嶇疆
 const columns = ref([]);
@@ -145,7 +159,7 @@
     pageNum: 1,
     pageSize: 10,
     itemCode: null,
-    orgCode:""
+    orgCode: "",
   },
   rules: {},
 });
@@ -175,7 +189,7 @@
       // },
       // { type: "checkbox", width: 60, align: "center" },
       {
-        title: "BOM_Header_ID",
+        title: "BOM ID",
         field: "bomHeaderId",
       },
       {
@@ -221,13 +235,13 @@
     ];
     subGridOptions.value = [
       {
-        title: "BOM_Line_ID",
+        title: t("plan.table.bomItemID"),
         field: "bomLineId",
         width: 150,
         align: "center",
       },
       {
-        title: "BOM_Header_ID",
+        title: "BOM ID",
         field: "bomHeaderId",
         width: 150,
         align: "center",
diff --git a/src/views/basicData/processRouteDataPreparate/index.vue b/src/views/basicData/processRouteDataPreparate/index.vue
index 7d87169..afce936 100644
--- a/src/views/basicData/processRouteDataPreparate/index.vue
+++ b/src/views/basicData/processRouteDataPreparate/index.vue
@@ -95,11 +95,16 @@
           link
           @click="handleCheckView(row)"
           v-hasPermi="['aps:calendar:update']"
-          >鏌ョ湅</el-button
+          >{{ $t("common.common.view") }}</el-button
         >
       </template>
     </HxlhTable>
-    <el-dialog :title="title" v-model="openDialog" width="900px" append-to-body>
+    <el-dialog
+      :title="$t('common.common.viewDetails')"
+      v-model="openDialog"
+      width="900px"
+      append-to-body
+    >
       <HxlhTable
         style="width: 100%"
         :columns="subGridOptions"
@@ -108,6 +113,13 @@
         :height="heightSub"
       >
       </HxlhTable>
+      <template #footer>
+        <span class="dialog-footer">
+          <el-button @click="openDialog = false">{{
+            $t("common.common.cancel")
+          }}</el-button>
+        </span>
+      </template>
     </el-dialog>
   </div>
 </template>
@@ -142,7 +154,7 @@
 const single = ref(true);
 const total = ref(0);
 
-const height = ref(document.documentElement.clientHeight - 270 + "px;");
+const height = ref(document.documentElement.clientHeight - 210 + "px;");
 const heightSub = ref(document.documentElement.clientHeight - 320 + "px;");
 // 琛ㄦ牸閰嶇疆
 const columns = ref([]);
@@ -155,8 +167,7 @@
     itemCode: null,
   },
   rules: {
-    itemCode: [
-    ],
+    itemCode: [],
   },
 });
 
@@ -164,7 +175,7 @@
 watch(
   locale,
   (newLocale) => {
-     rules.value = {
+    rules.value = {
       itemCode: [
         {
           required: true,
@@ -329,12 +340,14 @@
 function getList() {
   loading.value = true;
   queryParams.value.params = {};
-  apsStandardProcessRouteHeaderList(queryParams.value).then((response) => {
-    processRouteList.value = response.rows;
-    loading.value = false;
-  }).catch(()=>{
-    loading.value = false;
-  });
+  apsStandardProcessRouteHeaderList(queryParams.value)
+    .then((response) => {
+      processRouteList.value = response.rows;
+      loading.value = false;
+    })
+    .catch(() => {
+      loading.value = false;
+    });
 }
 
 /** 鎼滅储鎸夐挳鎿嶄綔 */
diff --git a/src/views/basicData/sheetMetalParamConfig/index.vue b/src/views/basicData/sheetMetalParamConfig/index.vue
index 839e84a..e1c8a6f 100644
--- a/src/views/basicData/sheetMetalParamConfig/index.vue
+++ b/src/views/basicData/sheetMetalParamConfig/index.vue
@@ -45,7 +45,7 @@
 onMounted(async () => {
   let config = await queryConfigParams("plate_plan_param");
   console.log(config.data, "configwudhuhfuw");
-  ruleForm.value.days = config.data[0].dictValue * 1;
+  ruleForm.value.days = parseInt(config.data[0].dictValue);
   configParams.value = config.data[0];
   // console.log(plate_plan_param.value[0].value,'plate_plan_paramplate_plan_param')
 });
diff --git a/src/views/mainPlan/sheetMetalOrderManage/index.vue b/src/views/mainPlan/sheetMetalOrderManage/index.vue
index 232c9cd..1d441ba 100644
--- a/src/views/mainPlan/sheetMetalOrderManage/index.vue
+++ b/src/views/mainPlan/sheetMetalOrderManage/index.vue
@@ -125,6 +125,21 @@
       >
       </HxlhTable>
     </el-dialog>
+    <el-dialog
+      :title="'鎵归噺鏇存柊宸ュ崟璁″垝鏃ユ湡'"
+      v-model="openBatchDialog"
+      width="900px"
+      append-to-body
+    >
+      <HxlhTable
+        style="width: 100%"
+        :columns="subGridOptions"
+        :data="subList"
+        :loading="loading"
+        :height="heightSub"
+      >
+      </HxlhTable>
+    </el-dialog>
   </div>
 </template>
 
@@ -145,6 +160,7 @@
 const { t, locale } = useI18n();
 const { proxy } = getCurrentInstance();
 const openDialog = ref(false);
+const openBatchDialog = ref(false);
 const subGridOptions = ref([]);
 // const tableRef = ref();
 const calendarList = ref([]);
@@ -410,7 +426,7 @@
   }
 );
 function handleBatchUpdatePlanDate(){
-
+  openBatchDialog.value = true
 }
 function handleCheckView(row) {
   openDialog.value = true;
diff --git a/src/views/mainPlan/sheetMetalRedundantReport/index.vue b/src/views/mainPlan/sheetMetalRedundantReport/index.vue
index 0681d75..0585e63 100644
--- a/src/views/mainPlan/sheetMetalRedundantReport/index.vue
+++ b/src/views/mainPlan/sheetMetalRedundantReport/index.vue
@@ -10,13 +10,10 @@
     >
       <el-row type="flex" justify="left">
         <el-col :span="locale === 'zh' ? 5 : 10">
-          <el-form-item
-            :label="$t('plan.query.requireTraceID')"
-            prop="description"
-          >
+          <el-form-item :label="$t('plan.query.itemNumber')" prop="itemNumber">
             <el-input
               :style="{ width: locale === 'zh' ? '140px' : '300px' }"
-              v-model="queryParams.description"
+              v-model="queryParams.itemNumber"
               :placeholder="`${$t('plan.placeholder.requireTraceID')}`"
               clearable
               @keyup.enter="handleQuery"
@@ -24,10 +21,13 @@
           </el-form-item>
         </el-col>
         <el-col :span="locale === 'zh' ? 8 : 9">
-          <el-form-item :label="$t('plan.query.itemNumber')" prop="description">
+          <el-form-item
+            :label="$t('plan.query.workOrderNo')"
+            prop="documentNumber"
+          >
             <el-input
               :style="{ width: locale === 'zh' ? '140px' : '210px' }"
-              v-model="queryParams.description"
+              v-model="queryParams.documentNumber"
               :placeholder="`${$t('common.common.placeholder')}${$t(
                 'plan.query.itemNumber'
               )}`"
@@ -56,7 +56,7 @@
           plain
           icon="Download"
           @click="handleExport"
-          v-hasPermi="['core:calendar:export']"
+          v-hasPermi="['Aps:apsPlatePlan:redundantOrderListExport']"
           >{{ $t("common.common.export") }}</el-button
         >
       </el-col>
@@ -68,7 +68,7 @@
     <HxlhTable
       style="width: 100%"
       :columns="columns"
-      :data="calendarList"
+      :data="orderList"
       :loading="loading"
       :height="height"
       ref="tableRef"
@@ -91,6 +91,7 @@
   addCalendar,
   updateCalendar,
 } from "@/api/basicData/calendar";
+import { redundantOrderList } from "@/api/basicData/sheetMetalConfig/sheetMetalConfig";
 import axios from "axios";
 import { listAll_plant } from "@/api/basicData/plant";
 import { listAll_shop, listAps_shop } from "@/api/basicData/shop";
@@ -99,7 +100,7 @@
 const { t, locale } = useI18n();
 const { proxy } = getCurrentInstance();
 const tableRef = ref();
-const calendarList = ref([]);
+const orderList = ref([]);
 const loading = ref(true);
 const showSearch = ref(true);
 const ids = ref([]);
@@ -114,14 +115,8 @@
   queryParams: {
     pageNum: 1,
     pageSize: 10,
-    description: null,
-    type: null,
-    effectiveDate: null,
-    expiringDate: null,
-    content: null,
-    applicableFactory: null,
-    applicableWorkshop: null,
-    applicableProcess: null,
+    documentNumber: null,
+    itemNumber: null,
   },
 });
 const { queryParams, form, rules } = toRefs(data);
@@ -145,31 +140,31 @@
     columns.value = [
       {
         title: t("plan.table.workOrderNo"),
-        field: "description",
+        field: "documentNumber",
         width: 150,
         align: "center",
       },
       {
         title: t("plan.table.subItemPartNumber"),
-        field: "type",
+        field: "itemNumber",
         width: 200,
         align: "center",
       },
       {
         title: t("plan.table.productionQuantity"),
-        field: "effectiveDate",
+        field: "productionQuantity",
         width: 200,
         align: "center",
       },
       {
         title: t("plan.table.mismatchedProductionQuantity"),
-        field: "expiringDate",
+        field: "unmatchedQuantity",
         width: 200,
         align: "center",
       },
       {
         title: t("plan.table.applicableFactories"),
-        field: "applicableFactory",
+        field: "plant",
         width: 200,
         align: "center",
         formatter: ({ cellValue, row, column }) => {
@@ -184,25 +179,25 @@
       },
       {
         title: t("plan.table.productionBase"),
-        field: "expiringDate",
+        field: "productionBase",
         width: 200,
         align: "center",
       },
       {
         title: t("plan.table.planStartDay"),
-        field: "createTime",
+        field: "planStartDay",
         width: 200,
         align: "center",
       },
       {
         title: t("plan.table.planEndDayDate"),
-        field: "updateTime",
+        field: "planEndDay",
         width: 100,
         align: "center",
       },
       {
         title: t("plan.table.workorderCreationTime"),
-        field: "updateTime",
+        field: "orderCreateTime",
         width: 100,
         align: "center",
       },
@@ -213,59 +208,24 @@
 /** 鏌ヨ鏃ュ巻绠$悊鍒楄〃 */
 function getList() {
   loading.value = true;
-  listCalendar(queryParams.value).then((response) => {
-    calendarList.value = response.rows;
+  redundantOrderList(queryParams.value).then((response) => {
+    orderList.value = response.rows;
     page.value.total = response.total;
     loading.value = false;
+  }).catch(()=>{
+     loading.value = false;
   });
-  axios
-    .all([
-      /** 鏌ヨ宸ュ巶鍒楄〃 */
-      listAll_plant({}),
-      /** 鏌ヨ杞﹂棿鍒楄〃 */
-      listAll_shop({}),
-    ])
-    .then(
-      axios.spread((response1, response2) => {
-        plantList.value = response1.data;
-        shopList.value = response2.data;
-        loading.value = false;
-      })
-    )
-    .catch((error) => {
-      console.error("璇锋眰鍑洪敊:", error);
-    });
-}
-
-// 鍙栨秷鎸夐挳
-function cancel() {
-  open.value = false;
-  reset();
 }
 
 // 琛ㄥ崟閲嶇疆
 function reset() {
-  form.value = {
-    id: null,
-    description: null,
-    type: "1",
-    effectiveDate: null,
-    expiringDate: null,
-    content: null,
-    applicableFactory: null,
-    applicableWorkshop: null,
-    applicableProcess: null,
-    createBy: null,
-    createTime: null,
-    updateBy: null,
-    updateTime: null,
-  };
-  proxy.resetForm("calendarRef");
+  proxy.resetForm("queryRef");
 }
 
 /** 鎼滅储鎸夐挳鎿嶄綔 */
 function handleQuery() {
   queryParams.value.pageNum = 1;
+  page.value.current = 1;
   getList();
 }
 
@@ -275,143 +235,15 @@
   handleQuery();
 }
 
-// 澶氶�夋閫変腑鏁版嵁
-function handleSelectionChange(selection) {
-  ids.value = selection.map((item) => item.id);
-  single.value = selection.length != 1;
-  multiple.value = !selection.length;
-}
-
-/** 鏂板鎸夐挳鎿嶄綔 */
-async function handleAdd() {
-  reset();
-  open.value = true;
-  title.value = "娣诲姞鏃ュ巻绠$悊";
-}
-/** 閫夋嫨宸ュ巶鍚庝簨浠� 鍔犺浇杞﹂棿 鍜� 宸ュ簭 **/
-function changePlant(plant) {
-  listAps_shop({ plantCode: plant }).then((response) => {
-    shopList.value = response.rows;
-  });
-  selectProcessNameList({ orgCode: plant }).then((response) => {
-    processList.value = response.rows;
-  });
-}
-/** 淇敼鎸夐挳鎿嶄綔 */
-function handleUpdate(row) {
-  reset();
-  const _id = row.id || ids.value;
-  getCalendar(_id).then((response) => {
-    form.value = response.data;
-    // form.value.content = JSON.parse(response.data.content.value);
-    if (form.value.type === "1") {
-      weekDaysSettingList.value = JSON.parse(
-        response.data.content.value
-      ).weekdays;
-    } else if (form.value.type === "2") {
-      holidays.value = JSON.parse(response.data.content.value).holidays;
-    }
-
-    open.value = true;
-    title.value = "淇敼鏃ュ巻绠$悊";
-  });
-}
-
-/** 鎻愪氦鎸夐挳 */
-function submitForm() {
-  proxy.$refs["calendarRef"].validate((valid) => {
-    if (valid) {
-      if (form.value.id != null) {
-        if (form.value.type === "1") {
-          updateCalendar({
-            ...form.value,
-            content: {
-              weekdays: weekDaysSettingList.value,
-            },
-            applicableWorkshop: form.value.applicableWorkshop,
-            applicableProcess: form.value.applicableProcess,
-          }).then((response) => {
-            proxy.$modal.msgSuccess("淇敼鎴愬姛");
-            open.value = false;
-            getList();
-          });
-        } else if (form.value.type === "2") {
-          updateCalendar({
-            ...form.value,
-            content: {
-              holidays: holidays.value,
-            },
-            applicableWorkshop: form.value.applicableWorkshop,
-            applicableProcess: form.value.applicableProcess,
-          }).then((response) => {
-            proxy.$modal.msgSuccess("淇敼鎴愬姛");
-            open.value = false;
-            getList();
-          });
-        }
-      } else {
-        if (form.value.type === "1") {
-          addCalendar({
-            ...form.value,
-            content: {
-              weekdays: weekDaysSettingList.value,
-            },
-          }).then((response) => {
-            proxy.$modal.msgSuccess("鏂板鎴愬姛");
-            open.value = false;
-            getList();
-          });
-        } else if (form.value.type === "2") {
-          addCalendar({
-            ...form.value,
-            content: {
-              holidays: holidays.value,
-            },
-          }).then((response) => {
-            proxy.$modal.msgSuccess("鏂板鎴愬姛");
-            open.value = false;
-            getList();
-          });
-        }
-      }
-    }
-  });
-}
-
-/** 鍒犻櫎鎸夐挳鎿嶄綔 */
-function handleDelete(row) {
-  const _ids = row.id || ids.value;
-  proxy.$modal
-    .confirm('鏄惁纭鍒犻櫎鏃ュ巻绠$悊缂栧彿涓�"' + _ids + '"鐨勬暟鎹」锛�')
-    .then(function () {
-      return delCalendar(_ids);
-    })
-    .then(() => {
-      getList();
-      proxy.$modal.msgSuccess("鍒犻櫎鎴愬姛");
-    })
-    .catch(() => {});
-}
-
 /** 瀵煎嚭鎸夐挳鎿嶄綔 */
 function handleExport() {
   proxy.download(
-    "core/calendar/export",
+    "aps/apsPlatePlan/redundantOrderListExport",
     {
       ...queryParams.value,
     },
-    `calendar_${new Date().getTime()}.xlsx`
+    `redundantOrderList_${new Date().getTime()}.xlsx`
   );
-}
-function handleSwitchType(e) {
-  typeRadioNumber.value = e;
-  form.value.type = e;
-  form.value.effectiveDate = null;
-  form.value.expiringDate = null;
-  form.value.content = null;
-  form.value.applicableFactory = null;
-  form.value.applicableWorkshop = null;
-  form.value.applicableProcess = null;
 }
 function changePageNo(currentPage) {
   queryParams.value.pageNum = currentPage;
@@ -424,14 +256,16 @@
   queryParams.value.pageSize = pageSize;
   getList();
 }
-// 澶氶�夋閫変腑鏁版嵁
-const handleCheckboxChange = (data) => {
-  ids.value = data.records.map((item) => item.id);
-  single.value = data.records.length !== 1;
-  multiple.value = !data.records.length;
-};
 onMounted(() => {
   getList();
+  /** 鏌ヨ宸ュ巶鍒楄〃 */
+  listAll_plant({})
+    .then((response) => {
+      plantList.value = response.data;
+    })
+    .catch((error) => {
+      console.error("璇锋眰鍑洪敊:", error);
+    });
 });
 </script>
 <style lang="scss" scoped>
diff --git a/src/views/mainPlan/sheetMetalSupplyGap/index.vue b/src/views/mainPlan/sheetMetalSupplyGap/index.vue
index 0a2c021..af444f9 100644
--- a/src/views/mainPlan/sheetMetalSupplyGap/index.vue
+++ b/src/views/mainPlan/sheetMetalSupplyGap/index.vue
@@ -56,7 +56,7 @@
           plain
           icon="Download"
           @click="handleExport"
-          v-hasPermi="['core:calendar:export']"
+          v-hasPermi="['Aps:ApsPlateStandardRequire:supplyGapListExport']"
           >{{ $t("common.common.export") }}</el-button
         >
       </el-col>

--
Gitblit v1.9.3