From 960ed35de06e571da5656050fa39106b2a3d2dba Mon Sep 17 00:00:00 2001
From: CD配唱片 <CD配唱片>
Date: 星期四, 08 五月 2025 11:32:35 +0800
Subject: [PATCH] 提交钣金异常页面,前端项目自动导入element组件,i18n文件修改

---
 src/views/mainPlan/sheetMetalOrderManage/index.vue |  341 +++++++++++++++++++++++++++++++++-----------------------
 1 files changed, 200 insertions(+), 141 deletions(-)

diff --git a/src/views/mainPlan/sheetMetalOrderManage/index.vue b/src/views/mainPlan/sheetMetalOrderManage/index.vue
index 1d441ba..e2efa66 100644
--- a/src/views/mainPlan/sheetMetalOrderManage/index.vue
+++ b/src/views/mainPlan/sheetMetalOrderManage/index.vue
@@ -6,44 +6,44 @@
       ref="queryRef"
       :inline="true"
       v-show="showSearch"
-      label-width="110px"
+      :label-width="locale=='zh'?'110px':'200px'"
     >
-      <el-form-item label="宸ュ崟鍙�" prop="description">
+      <el-form-item :label="$t('plan.query.workOrderNo')" prop="description">
         <el-input
-          style="width: 140px"
+          :style="{width:locale=='zh'? '200px':'280px'}"
           v-model="queryParams.description"
-          placeholder="璇疯緭鍏ラ渶姹傝拷婧疘D"
+          :placeholder="`${$t('common.common.placeholder')}${$t('plan.query.workOrderNo')}`"
           clearable
           @keyup.enter="handleQuery"
         />
       </el-form-item>
       <!-- <el-row type="flex" justify="left">
         <el-col :span="5"> -->
-      <el-form-item label="闇�姹傝拷婧疘D" prop="description">
+      <el-form-item :label="$t('plan.query.requireTraceID')" prop="description">
         <el-input
-          style="width: 140px"
+          :style="{width:locale=='zh'? '200px':'280px'}"
           v-model="queryParams.description"
-          placeholder="璇疯緭鍏ラ渶姹傝拷婧疘D"
+          :placeholder="`${$t('common.common.placeholder')}${$t('plan.query.requireTraceID')}`"
           clearable
           @keyup.enter="handleQuery"
         />
       </el-form-item>
       <!-- </el-col>
         <el-col :span="5"> -->
-      <el-form-item label="鏂欏彿" prop="description">
+      <el-form-item :label="$t('plan.query.itemNumber')" prop="description">
         <el-input
-          style="width: 140px"
+          :style="{width:locale=='zh'? '200px':'280px'}"
           v-model="queryParams.description"
-          placeholder="璇疯緭鍏ユ枡鍙�"
+          :placeholder="`${$t('common.common.placeholder')}${$t('plan.query.itemNumber')}`"
           clearable
           @keyup.enter="handleQuery"
         />
       </el-form-item>
-      <el-form-item label="寤惰繜椋庨櫓鏍囪瘑" prop="description">
+      <el-form-item :label="$t('plan.table.delayRiskIdentification')" prop="description">
         <el-input
-          style="width: 140px"
+          :style="{width:locale=='zh'? '200px':'280px'}"
           v-model="queryParams.description"
-          placeholder="璇疯緭鍏ユ枡鍙�"
+          :placeholder="`${$t('common.common.placeholder')}${$t('plan.table.delayRiskIdentification')}`"
           clearable
           @keyup.enter="handleQuery"
         />
@@ -52,9 +52,9 @@
         <el-col :span="14" style="text-align: right"> -->
       <el-form-item class="column-with-margin">
         <el-button type="primary" icon="Search" @click="handleQuery"
-          >鏌ヨ</el-button
+          >{{$t('common.common.query')}}</el-button
         >
-        <el-button icon="Refresh" @click="resetQuery">閲嶇疆</el-button>
+        <el-button icon="Refresh" @click="resetQuery">{{$t('common.common.reset')}}</el-button>
       </el-form-item>
       <!-- </el-col>
       </el-row> -->
@@ -69,7 +69,7 @@
           :disabled="multiple"
           @click="handleBatchUpdatePlanDate"
           v-hasPermi="['apsPlatePlan:edit']"
-          >鎵归噺鏇存柊宸ュ崟璁″垝鏃ユ湡</el-button
+          >{{$t('plan.btns.batchUpdateOrderDate')}}</el-button
         >
       </el-col>
       <el-col :span="1.5">
@@ -79,7 +79,7 @@
           icon="Edit"
           @click="handleUpdate"
           v-hasPermi="['apsPlatePlan:edit']"
-          >鐢熸垚閽i噾璁″垝宸ュ崟</el-button
+          >{{$t('plan.btns.generatePlanOrder')}}</el-button
         >
       </el-col>
       <right-toolbar
@@ -98,7 +98,6 @@
       @changePageNo="changePageNo"
       @changePageSize="changePageSize"
       @on-checkbox="handleCheckboxChange"
-      class="auto-height-grid"
     >
       <template #buttons="{ row }">
         <el-button
@@ -106,12 +105,12 @@
           link
           @click="handleCheckView(row)"
           v-hasPermi="['aps:calendar:update']"
-          >鏌ョ湅闇�姹�</el-button
+          >{{$t('plan.btns.viewRequirement')}}</el-button
         >
       </template>
     </HxlhTable>
     <el-dialog
-      :title="'鏌ョ湅鍏宠仈闇�姹�'"
+      :title="$t('plan.title.viewAssociatedRequirements')"
       v-model="openDialog"
       width="900px"
       append-to-body
@@ -126,15 +125,41 @@
       </HxlhTable>
     </el-dialog>
     <el-dialog
-      :title="'鎵归噺鏇存柊宸ュ崟璁″垝鏃ユ湡'"
+      :title="$t('plan.btns.batchUpdateOrderDate')"
       v-model="openBatchDialog"
       width="900px"
       append-to-body
     >
+      <div class="mode_box">
+        <span>{{$t('plan.title.setMode')}}</span>
+        <el-radio-group v-model="radio">
+          <el-radio :label="1">{{$t('plan.btns.batchUpdateOrderDate')}}</el-radio>
+          <el-radio :label="2">{{$t('plan.title.CustomizePlannedCompletionDate')}}</el-radio>
+        </el-radio-group>
+      </div>
+      <div class="red_color">{{$t('plan.title.tipsBugSheetMetal')}}</div>
+      <div class="mode_box" v-if="radio===2">
+        <span>{{$t('plan.title.CustomizePlannedCompletionDate')}}</span>
+        <el-date-picker
+          v-model="value4"
+          type="dates"
+          :placeholder="$t('plan.title.CustomizePlannedCompletionDate')"
+        />
+      </div>
       <HxlhTable
+        v-if="radio===1"
         style="width: 100%"
-        :columns="subGridOptions"
-        :data="subList"
+        :columns="subUpdateGridOptions"
+        :data="subUpdateList"
+        :loading="loading"
+        :height="heightSub"
+      >
+      </HxlhTable>
+      <HxlhTable
+        v-if="radio===2"
+        style="width: 100%"
+        :columns="subUpdateCustomGridOptions"
+        :data="subUpdateList"
         :loading="loading"
         :height="heightSub"
       >
@@ -159,9 +184,14 @@
 import { useI18n } from "vue-i18n"; //瑕佸湪js涓娇鐢ㄥ浗闄呭寲
 const { t, locale } = useI18n();
 const { proxy } = getCurrentInstance();
+const radio = ref(1);
 const openDialog = ref(false);
 const openBatchDialog = ref(false);
 const subGridOptions = ref([]);
+const subUpdateGridOptions = ref([]);
+const subUpdateCustomGridOptions = ref([]);
+const subList = ref([]);
+const subUpdateList = ref([]);
 // const tableRef = ref();
 const calendarList = ref([]);
 const loading = ref(true);
@@ -314,7 +344,7 @@
         align: "center",
       },
       {
-        title: "鎿嶄綔",
+        title: t("common.common.operate"),
         width: 100,
         fixed: "right",
         slots: { default: "buttons" },
@@ -377,12 +407,6 @@
         align: "center",
       },
       {
-        title: t("plan.table.requirementPlanCompletionDate"),
-        field: "updateTime",
-        width: 100,
-        align: "center",
-      },
-      {
         title: t("plan.table.planStartDay"),
         field: "updateTime",
         width: 100,
@@ -419,20 +443,135 @@
         align: "center",
       },
     ];
+    subUpdateGridOptions.value = [
+      {
+        title: t("basic.table.requirementID"),
+        field: "description",
+        width: 150,
+        align: "center",
+      },
+      {
+        title: t("basic.table.requirementTraceabilityID"),
+        field: "type",
+        width: 200,
+        align: "center",
+      },
+      {
+        title: t("plan.table.workOrderNo"),
+        field: "effectiveDate",
+        width: 200,
+        align: "center",
+      },
+      {
+        title: t("basic.table.matchQuantity"),
+        field: "expiringDate",
+        width: 200,
+        align: "center",
+      },
+      {
+        title: t("basic.table.workOrderType"),
+        field: "expiringDate",
+        width: 200,
+        align: "center",
+      },
+      {
+        title: t("plan.table.itemNumber"),
+        field: "createTime",
+        width: 200,
+        align: "center",
+      },
+      {
+        title: t("plan.table.planStartDay"),
+        field: "updateTime",
+        width: 100,
+        align: "center",
+      },
+      {
+        title: t("plan.table.planEndDayDate"),
+        field: "updateTime",
+        width: 100,
+        align: "center",
+      },
+      {
+        title: t("plan.table.startDateOfDemandPlan"),
+        field: "updateTime",
+        width: 100,
+        align: "center",
+      },
+      {
+        title: t("plan.table.requirementPlanCompletionDate"),
+        field: "updateTime",
+        width: 100,
+        align: "center",
+      },
+    ];
+    subUpdateCustomGridOptions.value = [
+      {
+        title: t("basic.table.requirementID"),
+        field: "description",
+        width: 150,
+        align: "center",
+      },
+      {
+        title: t("basic.table.requirementTraceabilityID"),
+        field: "type",
+        width: 200,
+        align: "center",
+      },
+      {
+        title: t("plan.table.workOrderNo"),
+        field: "effectiveDate",
+        width: 200,
+        align: "center",
+      },
+      {
+        title: t("basic.table.matchQuantity"),
+        field: "expiringDate",
+        width: 200,
+        align: "center",
+      },
+      {
+        title: t("basic.table.workOrderType"),
+        field: "expiringDate",
+        width: 200,
+        align: "center",
+      },
+      {
+        title: t("plan.table.itemNumber"),
+        field: "createTime",
+        width: 200,
+        align: "center",
+      },
+      {
+        title: t("plan.table.planStartDay"),
+        field: "updateTime",
+        width: 100,
+        align: "center",
+      },
+      {
+        title: t("plan.table.planEndDayDate"),
+        field: "updateTime",
+        width: 100,
+        align: "center",
+      },
+      {
+        title: t("plan.table.customizePlannedCompletionDate"),
+        field: "updateTime",
+        width: 100,
+        align: "center",
+      },
+    ]
   },
   {
     immediate: true,
     deep: true,
   }
 );
-function handleBatchUpdatePlanDate(){
-  openBatchDialog.value = true
+function handleBatchUpdatePlanDate() {
+  openBatchDialog.value = true;
 }
 function handleCheckView(row) {
   openDialog.value = true;
-  // listProcessRoute({ workOrderNo: row.documentNumber }).then((data) => {
-  //   subList.value = data.rows;
-  // });
 }
 /** 鏌ヨ鏃ュ巻绠$悊鍒楄〃 */
 function getList() {
@@ -442,48 +581,26 @@
     page.value.total = response.total;
     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);
-    });
+  // 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");
 }
 
@@ -498,29 +615,6 @@
   proxy.resetForm("queryRef");
   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 changePageNo(currentPage) {
   queryParams.value.pageNum = currentPage;
   page.value.current = currentPage;
@@ -534,9 +628,11 @@
 }
 // 澶氶�夋閫変腑鏁版嵁
 const handleCheckboxChange = (data) => {
+  console.log(data, "handleCheckboxChange");
   ids.value = data.records.map((item) => item.id);
   single.value = data.records.length !== 1;
   multiple.value = !data.records.length;
+  subUpdateList.value = data.records;
 };
 onMounted(() => {
   getList();
@@ -546,55 +642,18 @@
 .column-with-margin {
   margin-right: 0px;
 }
-.title_bar_line {
-  display: flex;
-  justify-content: flex-start;
-  align-items: center;
-  color: #333;
+.mode_box{
+  margin-left: 30px;
   margin-bottom: 10px;
-  .line_short {
-    width: 5%;
-    height: 1px;
-    margin-right: 20px;
-    border-top: 1px solid #ddd;
-  }
-  .line_long {
-    width: 60%;
-    height: 1px;
-    margin-left: 20px;
-    border-top: 1px solid #ddd;
+  & span{
+    padding-right: 20px;
   }
 }
-.week_flex {
-  display: flex;
-  justify-content: flex-start;
-  align-content: center;
-  color: #606266;
-  font-weight: 700;
-  margin-left: 20px;
-  &.mt20 {
-    margin-top: 20px;
-    margin-left: 0 !important;
-  }
-  .week_flex_item {
-    &:nth-child(1) {
-      margin-top: 5px;
-    }
-    &:nth-child(2) {
-      margin-left: 20px;
-    }
-  }
-}
-.factory_use_item {
-  margin-top: 10px;
+.red_color{
+  color:#f56c6c;
+  margin-bottom:10px;
 }
 .mart5 {
   margin-top: 5px;
-}
-.custom-height {
-  height: 200px; /* 鎴栬�呬娇鐢� min-height */
-}
-.auto-height-grid .xe-body .xe-body--row {
-  height: auto; /* 鎴栬�呬娇鐢� min-height */
 }
 </style>

--
Gitblit v1.9.3