From af1c9e588f1de0240390648f9bb56aa486870aff Mon Sep 17 00:00:00 2001
From: chengxiangling <291105840@qq.com>
Date: 星期五, 16 五月 2025 17:40:18 +0800
Subject: [PATCH] 提交高度修改;

---
 src/views/partPlan/index.vue | 1054 +++++++++++++++++++++++++++++++---------------------------
 1 files changed, 567 insertions(+), 487 deletions(-)

diff --git a/src/views/partPlan/index.vue b/src/views/partPlan/index.vue
index 84f2e15..f5c26db 100644
--- a/src/views/partPlan/index.vue
+++ b/src/views/partPlan/index.vue
@@ -1,68 +1,74 @@
 <template>
   <div class="app-container">
-    <el-form :model="queryParams" ref="queryRef" :inline="true" v-show="showSearch" label-width="90px">
-      <el-row :gutter="20">
-        <el-col
-          :span="6">
-          <el-form-item label="璁″垝寮�宸ユ棩" style="width: 100%;">
+    <el-form
+      :model="queryParams"
+      ref="queryRef"
+      :inline="true"
+      v-show="showSearch"
+      label-position="left"
+    >
+      <el-row :gutter="20" class="mb8">
+        <el-col :span="6">
+          <el-form-item
+            :label="$t('plan.query.daterangePlanStartDay')"
+            :style="{ width: '100%' }"
+          >
             <el-date-picker
               v-model="daterangePlanStartDay"
               value-format="YYYY-MM-DD"
               type="daterange"
               range-separator="-"
-              start-placeholder="寮�濮嬫棩鏈�"
-              end-placeholder="缁撴潫鏃ユ湡"
+              :start-placeholder="$t('plan.placeholder.startDate')"
+              :end-placeholder="$t('plan.placeholder.endDate')"
             ></el-date-picker>
           </el-form-item>
         </el-col>
-        <el-col
-          :span="6">
-          <el-form-item label="璁″垝瀹屽伐鏃�" style="width: 100%;">
+        <el-col :span="6">
+          <el-form-item
+            :style="{ width: '100%' }"
+            :label="$t('plan.query.daterangePlanEndDay')"
+          >
             <el-date-picker
               v-model="daterangePlanEndDay"
               value-format="YYYY-MM-DD"
               type="daterange"
               range-separator="-"
-              start-placeholder="寮�濮嬫棩鏈�"
-              end-placeholder="缁撴潫鏃ユ湡"
+              :start-placeholder="$t('plan.placeholder.startDate')"
+              :end-placeholder="$t('plan.placeholder.endDate')"
             ></el-date-picker>
           </el-form-item>
         </el-col>
-        <el-col
-          :span="6">
-          <el-form-item label="鍗曟嵁鍙�" prop="documentNumber" style="width: 100%;">
+        <el-col :span="6">
+          <el-form-item
+            :label="$t('plan.query.documentNumber')"
+            :style="{ width: '100%' }"
+            prop="documentNumber"
+          >
             <el-input
               v-model="queryParams.documentNumber"
-              placeholder="璇疯緭鍏ュ崟鎹彿"
+              :placeholder="$t('plan.placeholder.documentNumber')"
               clearable
+              style="width: 240px"
               @keyup.enter="handleQuery"
             />
           </el-form-item>
         </el-col>
-        <el-col
-          :span="6">
-          <el-form-item label="瀹㈡埛鍚嶇О" prop="customer" style="width: 100%;">
+        <el-col :span="6">
+          <el-form-item
+            :style="{ width: '100%' }"
+            :label="$t('plan.query.customer')"
+            prop="customer"
+          >
             <el-input
               v-model="queryParams.customer"
-              placeholder="璇疯緭鍏ュ鎴峰悕绉�"
+              :placeholder="$t('plan.placeholder.customer')"
               clearable
               @keyup.enter="handleQuery"
             />
           </el-form-item>
         </el-col>
-        <el-col
-          :span="24"
-          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-row :gutter="10" class="mb8">
       <el-col :span="1.5">
         <el-button
@@ -72,7 +78,8 @@
           :disabled="single"
           @click="plannedStart"
           v-hasPermi="['partPlan:add']"
-        >鎵归噺淇敼璁″垝寮�宸ユ棩</el-button>
+          >{{ $t("plan.btns.batchPlanStartDay") }}</el-button
+        >
       </el-col>
       <el-col :span="1.5">
         <el-button
@@ -82,16 +89,18 @@
           :disabled="single"
           @click="plannedEnd"
           v-hasPermi="['partPlan:edit']"
-        >鎵归噺淇敼璁″垝瀹屽伐鏃�</el-button>
+          >{{ $t("plan.btns.batchPlanEndDay") }}</el-button
+        >
       </el-col>
       <el-col :span="1.5">
-        <el-button 
-          type="info" 
-          plain 
-          icon="Upload" 
-          @click="handleImport" 
+        <el-button
+          type="info"
+          plain
+          icon="Upload"
+          @click="handleImport"
           v-hasPermi="['partPlan:import']"
-          >瀵煎叆</el-button>
+          >{{ $t("common.common.import") }}</el-button
+        >
       </el-col>
       <el-col :span="1.5">
         <el-button
@@ -100,30 +109,43 @@
           icon="Download"
           @click="handleExport"
           v-hasPermi="['partPlan:export']"
-        >瀵煎嚭</el-button>
+          >{{ $t("common.common.export") }}</el-button
+        >
       </el-col>
-      <right-toolbar v-model:showSearch="showSearch" @queryTable="getList"></right-toolbar>
+      <right-toolbar
+        v-model:showSearch="showSearch"
+        @queryTable="handleQuery"
+        @resetTable="resetQuery"
+      ></right-toolbar>
     </el-row>
 
     <HxlhTable
-        style="width: 100%"
-        :columns="columns"
-        :data="planList"
-        :loading="loading"
-        :height="height"
-        @on-checkbox="handleCheckboxChange"
+      style="width: 100%"
+      :columns="columns"
+      :data="planList"
+      :loading="loading"
+      :height="height"
+      @on-checkbox="handleCheckboxChange"
     >
     </HxlhTable>
 
-    <!-- 鐢ㄦ埛瀵煎叆瀵硅瘽妗� -->
-    <el-dialog :title="upload.title" v-model="upload.open" width="90%" append-to-body @close="dialogCancel">
+    <!-- 瀵煎叆瀵硅瘽妗� -->
+    <el-dialog
+      :title="upload.title"
+      v-model="upload.open"
+      width="90%"
+      append-to-body
+      @close="dialogCancel"
+    >
       <el-row :gutter="10">
         <el-col>
-          <div style="border-bottom: 1px solid #ccc;" >
-            <p>涓婁紶Excel鏂囦欢锛屽寘鍚浂浠跺伐鍗曚俊鎭�傜郴缁熷皢瑙f瀽鏁版嵁骞朵繚瀛樺埌鏈湴锛岀敤浜庡叧鑱斿埌闆朵欢璁″垝涓��</p>
+          <div style="border-bottom: 1px solid #ccc">
+            <p>
+              {{ $t("plan.upload.info") }}
+            </p>
           </div>
         </el-col>
-        <el-col >
+        <el-col>
           <div></div>
         </el-col>
         <!-- <el-col>
@@ -134,7 +156,7 @@
         </el-col> -->
       </el-row>
 
-      <el-row :gutter="10" style="margin-top: 20px;">
+      <el-row :gutter="10" style="margin-top: 20px">
         <!-- <el-col :span="1.5">
           <el-button
             type="primary"
@@ -163,49 +185,61 @@
       </el-row> -->
       <el-row>
         <el-col>
-          <el-upload ref="uploadRef" :limit="1" accept=".xlsx, .xls" :headers="upload.headers" :action="upload.url + '?updateSupport=' + upload.updateSupport" :disabled="upload.isUploading" :on-progress="handleFileUploadProgress" :on-success="handleFileSuccess" :auto-upload="true" drag>
+          <el-upload
+            ref="uploadRef"
+            :limit="1"
+            accept=".xlsx, .xls"
+            :headers="upload.headers"
+            :action="upload.url + '?updateSupport=' + upload.updateSupport"
+            :disabled="upload.isUploading"
+            :on-progress="handleFileUploadProgress"
+            :on-success="handleFileSuccess"
+            :auto-upload="true"
+            drag
+          >
             <el-icon class="el-icon--upload"><upload-filled /></el-icon>
-            <div class="el-upload__text">灏嗘枃浠舵嫋鍒版澶勶紝鎴�<em>鐐瑰嚮涓婁紶</em></div>
+            <div class="el-upload__text">
+              {{ $t("plan.upload.prevText")
+              }}<em>{{ $t("plan.upload.uploadText") }}</em>
+            </div>
             <template #tip>
               <div class="el-upload__tip">
                 <!-- <div class="el-upload__tip">
                   <el-checkbox v-model="upload.updateSupport" />鏄惁鏇存柊宸茬粡瀛樺湪鐨勭敤鎴锋暟鎹�
                 </div> -->
-                <span>浠呭厑璁稿鍏ls銆亁lsx鏍煎紡鏂囦欢銆�</span>
+                <span>{{ $t("plan.upload.fileTypeImport") }}</span>
                 <!-- <el-link type="primary" :underline="false" style="font-size: 12px; vertical-align: baseline" @click="importTemplate">涓嬭浇妯℃澘</el-link> -->
               </div>
             </template>
           </el-upload>
         </el-col>
       </el-row>
-      <el-row style="margin-top: 20px;">
-        <el-col>
-          <div>
-            <el-button
-              type="success"
-              plain
-              icon="Check"
-              :disabled="planned"
-              @click="uploadParse"
-              v-hasPermi="['partPlan:edit']"
-            >涓婁紶骞惰В鏋�</el-button>
-          </div>
-        </el-col>
-      </el-row>
       <el-row>
-        <el-col style="margin-top: 20px;">
+        <el-col style="margin-top: 20px">
           <div v-show="isVisible">
-            <el-alert icon="Check" :show-icon="true" title="闆朵欢宸ュ崟鏁版嵁宸叉垚鍔熻В鏋�" type="success" :closable="false"/>
+            <el-alert
+              icon="Check"
+              :show-icon="true"
+              :title="$t('plan.message.dataWorkorderSuccess')"
+              type="success"
+              :closable="false"
+            />
           </div>
           <div v-show="isError">
-            <el-alert icon="Close" :show-icon="true" title="闆朵欢宸ュ崟鏁版嵁宸茶В鏋愬け璐�" type="error" :closable="false"/>
+            <el-alert
+              icon="Close"
+              :show-icon="true"
+              :title="$t('plan.message.dataWorkorderSuccess')"
+              type="error"
+              :closable="false"
+            />
           </div>
         </el-col>
       </el-row>
       <el-row v-show="isVisible">
         <el-col>
           <div>
-            <h2>鏁版嵁棰勮</h2>
+            <h2>{{ $t("plan.upload.dataPreview") }}</h2>
           </div>
           <HxlhTable
             style="width: 100%"
@@ -218,15 +252,30 @@
           </HxlhTable>
         </el-col>
         <el-col>
-          <div style="text-align: right;">
-            <h4>鍏变笂浼�<span style="color: blue;">{{ total }}</span>鏉¢浂浠跺伐鍗曟暟鎹�</h4>
+          <div style="text-align: right">
+            <h4>
+              {{ $t("plan.upload.totalUpload")
+              }}<span style="color: blue">{{ total }}</span
+              >{{ $t("plan.upload.itemUpload") }}
+            </h4>
           </div>
         </el-col>
       </el-row>
       <template #footer>
         <div class="dialog-footer">
           <!-- <el-button type="primary" @click="submitFileForm">纭� 瀹�</el-button> -->
-          <el-button @click="dialogCancel">鍙� 娑�</el-button>
+          <el-button
+            type="success"
+            plain
+            icon="Check"
+            :disabled="planned"
+            @click="uploadParse"
+            v-hasPermi="['partPlan:confirmPart']"
+            >{{ $t("plan.upload.confirmUpload") }}</el-button
+          >
+          <el-button @click="dialogCancel">{{
+            $t("plan.upload.cancel")
+          }}</el-button>
         </div>
       </template>
     </el-dialog>
@@ -234,14 +283,21 @@
 </template>
 
 <script setup name="Plan">
-import { listPlan, examplePlan, confirmPart, addPlan, updatePlan } from "@/api/partPlan/plan";
-import HxlhTable from '@/components/HxlhTable'
+import {
+  listPlan,
+  examplePlan,
+  confirmPart,
+  addPlan,
+  updatePlan,
+} from "@/api/partPlan/plan";
+import HxlhTable from "@/components/HxlhTable";
 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 exampleList = ref([]);
 const planList = ref([]);
 const loading = ref(true);
@@ -250,7 +306,7 @@
 const total = ref(0);
 const daterangePlanStartDay = ref([]);
 const daterangePlanEndDay = ref([]);
-const height = ref(document.documentElement.clientHeight - 210 + "px;")
+const height = ref(document.documentElement.clientHeight - 230 + "px;");
 const isVisible = ref(false);
 const isError = ref(false);
 const planned = ref(true);
@@ -258,7 +314,7 @@
 const exampleHeight = ref("500px");
 const uploadRef = ref();
 
-/*** 鐢ㄦ埛瀵煎叆鍙傛暟 */
+/** 瀵煎叆鍙傛暟 */
 const upload = reactive({
   // 鏄惁鏄剧ず寮瑰嚭灞傦紙鐢ㄦ埛瀵煎叆锛�
   open: false,
@@ -271,396 +327,403 @@
   // 璁剧疆涓婁紶鐨勮姹傚ご閮�
   headers: { Authorization: "Bearer " + getToken() },
   // 涓婁紶鐨勫湴鍧�
-  url: import.meta.env.VITE_APP_BASE_API + "/aps/partPlan/importData"
+  url: import.meta.env.VITE_APP_BASE_API + "/aps/partPlan/importData",
 });
 
-// 琛ㄦ牸閰嶇疆 
-const exampleColumns = ref([
-  { type: 'seq', title: '搴忓彿', width: 60 },
-  {
-    title: '涓昏鍒掑憳',
-    field: 'masterPlanner',
-    width: 100,
-  },
-  {
-    title: '鍛ㄦ棩',
-    field: 'weekDay',
-    width: 100,
-    formatter: (({ cellValue, row, column }) => {
-      if (cellValue) {
-        const weekDay = new Date(cellValue);
-        const year = weekDay.getFullYear();
-        const month = String(weekDay.getMonth() + 1).padStart(2, '0');
-        const day = String(weekDay.getDate()).padStart(2, '0');
-        return `${month}-${day}`;
-      }
-      return '';
-    })
-  },
-  {
-    title: '鍛ㄥ害',
-    field: 'weekCycle',
-    width: 80,
-  },
-  {
-    title: '涓讳欢鏂欏彿',
-    field: 'mainPartNumber',
-    width: 150,
-  },
-  {
-    title: '涓讳欢鍥惧彿',
-    field: 'mainPartDrawingNumber',
-    width: 150,
-  },
-  {
-    title: '瀹㈡埛鍚嶇О',
-    field: 'customer',
-    width: 200,
-  },
-  {
-    title: '涓氬姟绫诲瀷',
-    field: 'businessType',
-    width: 150,
-  },
-  {
-    title: '鍗曟嵁鍙�',
-    field: 'documentNumber',
-    width: 150,
-  },
-  {
-    title: '闇�姹傚垎绫�',
-    field: 'requirementType',
-    width: 150,
-  },
-  {
-    title: '鍗曟嵁鐘舵��',
-    field: 'documentStatus',
-    width: 100,
-  },
-  {
-    title: '鏂欏彿',
-    field: 'itemNumber',
-    width: 150,
-  },
-  {
-    title: '鍥惧彿',
-    field: 'drawingNo',
-    width: 150,
-  },
-  {
-    title: '鐗堟湰鍙�',
-    field: 'versionNumber',
-    width: 100,
-  },
-  {
-    title: '鐢熶骇鏁伴噺',
-    field: 'productionQuantity',
-    width: 100,
-  },
-  {
-    title: '鑹搧鏁伴噺',
-    field: 'goodProductsQuantity',
-    width: 100,
-  },
-  {
-    title: '宸ュ簭鍙�',
-    field: 'processNumber',
-    width: 150,
-  },
-  {
-    title: '宸ヤ綔涓績',
-    field: 'workCenter',
-    width: 150,
-  },
-  {
-    title: '鎵�灞為儴闂�',
-    field: 'department',
-    width: 100,
-  },
-  {
-    title: '璁″垝寮�宸ユ棩',
-    field: 'planStartDay',
-    width: 100,
-  },
-  {
-    title: '璁″垝瀹屽伐鏃�',
-    field: 'planEndDay',
-    width: 100,
-  },
-  {
-    title: '澶囨枡鏂欏彿',
-    field: 'standbyNumber',
-    width: 100,
-  },
-  {
-    title: '澶囨枡鍚嶇О',
-    field: 'standbyName',
-    width: 200,
-  },
-  {
-    title: '澶囨枡搴撳瓨',
-    field: 'standbyStock',
-    width: 100,
-  },
-  {
-    title: '涓嬮亾宸ュ簭鎵�灞為儴闂�',
-    field: 'nextProcessDeparment',
-    width: 150,
-  },
-  {
-    title: '鏄惁鎸傝捣',
-    field: 'isSuspended',
-    width: 100,
-  },
-  {
-    title: '澶栧崗鏍囪瘑',
-    field: 'isOutsourcing',
-    width: 100,
-  },
-  {
-    title: '璐﹀',
-    field: 'account',
-    width: 100,
-  },
-  {
-    title: '涓婇樁鐗╂枡',
-    field: 'advancedMaterials',
-    width: 100,
-  },
-  {
-    title: '涓婇樁鍗曟嵁鍙�',
-    field: 'advancedDocumentNumber',
-    width: 100,
-  },
-  {
-    title: '涓婇樁闇�姹傛棩鏈�',
-    field: 'advancedRequirementDay',
-    width: 150,
-  },
-  {
-    title: '璁″垝榻愬',
-    field: 'isPlanComplete',
-    width: 100,
-  },
-  {
-    title: '搴撳瓨榻愬',
-    field: 'isStockComplete',
-    width: 100,
-  },
-  {
-    title: '鏄惁鏈夋姌杩斿伐搴�',
-    field: 'hasTurnback',
-    width: 150,
-  },
-  {
-    title: '椋庨櫓鏍囪瘑',
-    field: 'hasRisk',
-    width: 100,
-  },
-]);
+// 琛ㄦ牸閰嶇疆
+const exampleColumns = ref([]);
 
-// 琛ㄦ牸閰嶇疆 
-const columns = ref([
-  { type: 'checkbox', width: 60, align:"center"},
-  { type: 'seq', title: '搴忓彿', width: 60 },
-  {
-    title: '涓昏鍒掑憳',
-    field: 'masterPlanner',
-    width: 100,
-  },
-  {
-    title: '鍛ㄦ棩',
-    field: 'weekDay',
-    width: 100,
-    formatter: (({ cellValue, row, column }) => {
-      if (cellValue) {
-        const weekDay = new Date(cellValue);
-        const year = weekDay.getFullYear();
-        const month = String(weekDay.getMonth() + 1).padStart(2, '0');
-        const day = String(weekDay.getDate()).padStart(2, '0');
-        return `${month}-${day}`;
-      }
-      return '';
-    })
-  },
-  {
-    title: '鍛ㄥ害',
-    field: 'weekCycle',
-    width: 80,
-  },
-  {
-    title: '涓讳欢鏂欏彿',
-    field: 'mainPartNumber',
-    width: 150,
-  },
-  {
-    title: '涓讳欢鍥惧彿',
-    field: 'mainPartDrawingNumber',
-    width: 150,
-  },
-  {
-    title: '瀹㈡埛鍚嶇О',
-    field: 'customer',
-    width: 200,
-  },
-  {
-    title: '涓氬姟绫诲瀷',
-    field: 'businessType',
-    width: 150,
-  },
-  {
-    title: '鍗曟嵁鍙�',
-    field: 'documentNumber',
-    width: 150,
-  },
-  {
-    title: '闇�姹傚垎绫�',
-    field: 'requirementType',
-    width: 150,
-  },
-  {
-    title: '鍗曟嵁鐘舵��',
-    field: 'documentStatus',
-    width: 100,
-  },
-  {
-    title: '鏂欏彿',
-    field: 'itemNumber',
-    width: 150,
-  },
-  {
-    title: '鍥惧彿',
-    field: 'drawingNo',
-    width: 150,
-  },
-  {
-    title: '鐗堟湰鍙�',
-    field: 'versionNumber',
-    width: 100,
-  },
-  {
-    title: '鐢熶骇鏁伴噺',
-    field: 'productionQuantity',
-    width: 100,
-  },
-  {
-    title: '鑹搧鏁伴噺',
-    field: 'goodProductsQuantity',
-    width: 100,
-  },
-  {
-    title: '宸ュ簭鍙�',
-    field: 'processNumber',
-    width: 150,
-  },
-  {
-    title: '宸ヤ綔涓績',
-    field: 'workCenter',
-    width: 150,
-  },
-  {
-    title: '鎵�灞為儴闂�',
-    field: 'department',
-    width: 100,
-  },
-  {
-    title: '璁″垝寮�宸ユ棩',
-    field: 'planStartDay',
-    width: 100,
-  },
-  {
-    title: '璁″垝瀹屽伐鏃�',
-    field: 'planEndDay',
-    width: 100,
-  },
-  {
-    title: '澶囨枡鏂欏彿',
-    field: 'standbyNumber',
-    width: 100,
-  },
-  {
-    title: '澶囨枡鍚嶇О',
-    field: 'standbyName',
-    width: 200,
-  },
-  {
-    title: '澶囨枡搴撳瓨',
-    field: 'standbyStock',
-    width: 100,
-  },
-  {
-    title: '涓嬮亾宸ュ簭鎵�灞為儴闂�',
-    field: 'nextProcessDeparment',
-    width: 150,
-  },
-  {
-    title: '鏄惁鎸傝捣',
-    field: 'isSuspended',
-    width: 100,
-  },
-  {
-    title: '澶栧崗鏍囪瘑',
-    field: 'isOutsourcing',
-    width: 100,
-  },
-  {
-    title: '璐﹀',
-    field: 'account',
-    width: 100,
-  },
-  {
-    title: '涓婇樁鐗╂枡',
-    field: 'advancedMaterials',
-    width: 100,
-  },
-  {
-    title: '涓婇樁鍗曟嵁鍙�',
-    field: 'advancedDocumentNumber',
-    width: 100,
-  },
-  {
-    title: '涓婇樁闇�姹傛棩鏈�',
-    field: 'advancedRequirementDay',
-    width: 150,
-  },
-  {
-    title: '璁″垝榻愬',
-    field: 'isPlanComplete',
-    width: 100,
-  },
-  {
-    title: '搴撳瓨榻愬',
-    field: 'isStockComplete',
-    width: 100,
-  },
-  {
-    title: '鏄惁鏈夋姌杩斿伐搴�',
-    field: 'hasTurnback',
-    width: 150,
-  },
-  {
-    title: '椋庨櫓鏍囪瘑',
-    field: 'hasRisk',
-    width: 100,
-  },
-]);
+// 琛ㄦ牸閰嶇疆
+const columns = ref([]);
 
 const data = reactive({
   queryParams: {
     documentNumber: null,
     customer: null,
     batchNumber: null,
-  }
+  },
 });
 
 const { queryParams } = toRefs(data);
-
+watch(
+  locale,
+  (newLocale) => {
+    columns.value = [
+      { type: "checkbox", width: 60, align: "center" },
+      { type: "seq", title: t("plan.table.seq"), width: 60 },
+      {
+        title: t("plan.table.masterPlanner"),
+        field: "masterPlanner",
+        width: 100,
+      },
+      {
+        title: t("plan.table.weekDay"),
+        field: "weekDay",
+        width: 100,
+        formatter: ({ cellValue, row, column }) => {
+          if (cellValue) {
+            const weekDay = new Date(cellValue);
+            const year = weekDay.getFullYear();
+            const month = String(weekDay.getMonth() + 1).padStart(2, "0");
+            const day = String(weekDay.getDate()).padStart(2, "0");
+            return `${month}-${day}`;
+          }
+          return "";
+        },
+      },
+      {
+        title: t("plan.table.weekCycle"),
+        field: "weekCycle",
+        width: 80,
+      },
+      {
+        title: t("plan.table.mainPartNumber"),
+        field: "mainPartNumber",
+        width: 150,
+      },
+      {
+        title: t("plan.table.mainPartDrawingNumber"),
+        field: "mainPartDrawingNumber",
+        width: 150,
+      },
+      {
+        title: t("plan.table.customer"),
+        field: "customer",
+        width: 200,
+      },
+      {
+        title: t("plan.table.businessType"),
+        field: "businessType",
+        width: 150,
+      },
+      {
+        title: t("plan.table.documentNumber"),
+        field: "documentNumber",
+        width: 150,
+      },
+      {
+        title: t("plan.table.requirementType"),
+        field: "requirementType",
+        width: 150,
+      },
+      {
+        title: t("plan.table.documentStatus"),
+        field: "documentStatus",
+        width: 100,
+      },
+      {
+        title: t("plan.table.itemNumber"),
+        field: "itemNumber",
+        width: 150,
+      },
+      {
+        title: t("plan.table.drawingNo"),
+        field: "drawingNo",
+        width: 150,
+      },
+      {
+        title: t("plan.table.versionNumber"),
+        field: "versionNumber",
+        width: 100,
+      },
+      {
+        title: t("plan.table.productionQuantity"),
+        field: "productionQuantity",
+        width: 100,
+      },
+      {
+        title: t("plan.table.goodProductsQuantity"),
+        field: "goodProductsQuantity",
+        width: 100,
+      },
+      {
+        title: t("plan.table.processNumber"),
+        field: "processNumber",
+        width: 150,
+      },
+      {
+        title: t("plan.table.factoryCenter"),
+        field: "workCenter",
+        width: 150,
+      },
+      {
+        title: t("plan.table.dependencyDepartment"),
+        field: "department",
+        width: 100,
+      },
+      {
+        title: t("plan.table.planStartDay"),
+        field: "planStartDay",
+        width: 100,
+      },
+      {
+        title: t("plan.table.planEndDayDate"),
+        field: "planEndDay",
+        width: 100,
+      },
+      {
+        title: t("plan.table.standbyNumber"),
+        field: "standbyNumber",
+        width: 100,
+      },
+      {
+        title: t("plan.table.standbyName"),
+        field: "standbyName",
+        width: 200,
+      },
+      {
+        title: t("plan.table.standbyStock"),
+        field: "standbyStock",
+        width: 100,
+      },
+      {
+        title: t("plan.table.departmentToNextProcessBelongs"),
+        field: "nextProcessDeparment",
+        width: 150,
+      },
+      {
+        title: t("plan.table.isSuspended"),
+        field: "isSuspended",
+        width: 100,
+      },
+      {
+        title: t("plan.table.isOutsourcing"),
+        field: "isOutsourcing",
+        width: 100,
+      },
+      {
+        title: t("plan.table.account"),
+        field: "account",
+        width: 100,
+      },
+      // {
+      //   title: '涓婇樁鐗╂枡',
+      //   field: 'advancedMaterials',
+      //   width: 100,
+      // },
+      // {
+      //   title: '涓婇樁鍗曟嵁鍙�',
+      //   field: 'advancedDocumentNumber',
+      //   width: 100,
+      // },
+      // {
+      //   title: '涓婇樁闇�姹傛棩鏈�',
+      //   field: 'advancedRequirementDay',
+      //   width: 150,
+      // },
+      // {
+      //   title: '璁″垝榻愬',
+      //   field: 'isPlanComplete',
+      //   width: 100,
+      // },
+      // {
+      //   title: '搴撳瓨榻愬',
+      //   field: 'isStockComplete',
+      //   width: 100,
+      // },
+      // {
+      //   title: '鏄惁鏈夋姌杩斿伐搴�',
+      //   field: 'hasTurnback',
+      //   width: 150,
+      // },
+      // {
+      //   title: '椋庨櫓鏍囪瘑',
+      //   field: 'hasRisk',
+      //   width: 100,
+      // },
+    ];
+    exampleColumns.value = [
+      { type: "seq", title: t("plan.table.seq"), width: 60 },
+      {
+        title: t("plan.table.masterPlanner"),
+        field: "masterPlanner",
+        width: 100,
+      },
+      {
+        title: t("plan.table.weekDay"),
+        field: "weekDay",
+        width: 100,
+        formatter: ({ cellValue, row, column }) => {
+          if (cellValue) {
+            const weekDay = new Date(cellValue);
+            const year = weekDay.getFullYear();
+            const month = String(weekDay.getMonth() + 1).padStart(2, "0");
+            const day = String(weekDay.getDate()).padStart(2, "0");
+            return `${month}-${day}`;
+          }
+          return "";
+        },
+      },
+      {
+        title: t("plan.table.weekCycle"),
+        field: "weekCycle",
+        width: 80,
+      },
+      {
+        title: t("plan.table.mainPartNumber"),
+        field: "mainPartNumber",
+        width: 150,
+      },
+      {
+        title: t("plan.table.mainPartDrawingNumber"),
+        field: "mainPartDrawingNumber",
+        width: 150,
+      },
+      {
+        title: t("plan.table.customer"),
+        field: "customer",
+        width: 200,
+      },
+      {
+        title: t("plan.table.businessType"),
+        field: "businessType",
+        width: 150,
+      },
+      {
+        title: t("plan.table.documentNumber"),
+        field: "documentNumber",
+        width: 150,
+      },
+      {
+        title: t("plan.table.requirementType"),
+        field: "requirementType",
+        width: 150,
+      },
+      {
+        title: t("plan.table.documentStatus"),
+        field: "documentStatus",
+        width: 100,
+      },
+      {
+        title: t("plan.table.itemNumber"),
+        field: "itemNumber",
+        width: 150,
+      },
+      {
+        title: t("plan.table.drawingNo"),
+        field: "drawingNo",
+        width: 150,
+      },
+      {
+        title: t("plan.table.versionNumber"),
+        field: "versionNumber",
+        width: 100,
+      },
+      {
+        title: t("plan.table.productionQuantity"),
+        field: "productionQuantity",
+        width: 100,
+      },
+      {
+        title: t("plan.table.goodProductsQuantity"),
+        field: "goodProductsQuantity",
+        width: 100,
+      },
+      {
+        title: t("plan.table.processNumber"),
+        field: "processNumber",
+        width: 150,
+      },
+      {
+        title: t("plan.table.factoryCenter"),
+        field: "workCenter",
+        width: 150,
+      },
+      {
+        title: t("plan.table.dependencyDepartment"),
+        field: "department",
+        width: 100,
+      },
+      {
+        title: t("plan.table.planStartDay"),
+        field: "planStartDay",
+        width: 100,
+      },
+      {
+        title: t("plan.table.planEndDayDate"),
+        field: "planEndDay",
+        width: 100,
+      },
+      {
+        title: t("plan.table.standbyNumber"),
+        field: "standbyNumber",
+        width: 100,
+      },
+      {
+        title: t("plan.table.standbyName"),
+        field: "standbyName",
+        width: 200,
+      },
+      {
+        title: t("plan.table.standbyStock"),
+        field: "standbyStock",
+        width: 100,
+      },
+      {
+        title: t("plan.table.departmentToNextProcessBelongs"),
+        field: "nextProcessDeparment",
+        width: 150,
+      },
+      {
+        title: t("plan.table.isSuspended"),
+        field: "isSuspended",
+        width: 100,
+      },
+      {
+        title: t("plan.table.isOutsourcing"),
+        field: "isOutsourcing",
+        width: 100,
+      },
+      {
+        title: t("plan.table.account"),
+        field: "account",
+        width: 100,
+      },
+      // {
+      //   title: '涓婇樁鐗╂枡',
+      //   field: 'advancedMaterials',
+      //   width: 100,
+      // },
+      // {
+      //   title: '涓婇樁鍗曟嵁鍙�',
+      //   field: 'advancedDocumentNumber',
+      //   width: 100,
+      // },
+      // {
+      //   title: '涓婇樁闇�姹傛棩鏈�',
+      //   field: 'advancedRequirementDay',
+      //   width: 150,
+      // },
+      // {
+      //   title: '璁″垝榻愬',
+      //   field: 'isPlanComplete',
+      //   width: 100,
+      // },
+      // {
+      //   title: '搴撳瓨榻愬',
+      //   field: 'isStockComplete',
+      //   width: 100,
+      // },
+      // {
+      //   title: '鏄惁鏈夋姌杩斿伐搴�',
+      //   field: 'hasTurnback',
+      //   width: 150,
+      // },
+      // {
+      //   title: '椋庨櫓鏍囪瘑',
+      //   field: 'hasRisk',
+      //   width: 100,
+      // },
+    ];
+  },
+  { immediate: true, deep: true }
+);
 /** 鏌ヨ闆朵欢璁″垝涓存椂绠$悊鍒楄〃 */
 function getExampleList() {
   loading.value = true;
   queryParams.value = {};
   queryParams.value.batchNumber = batchNumber.value;
-  examplePlan(queryParams.value).then(response => {
+  examplePlan(queryParams.value).then((response) => {
     exampleList.value = response.rows;
     total.value = response.total;
     loading.value = false;
@@ -671,15 +734,17 @@
 function getList() {
   loading.value = true;
   queryParams.value.params = {};
-  if (null != daterangePlanStartDay && '' != daterangePlanStartDay) {
-    queryParams.value.params["beginPlanStartDay"] = daterangePlanStartDay.value[0];
-    queryParams.value.params["endPlanStartDay"] = daterangePlanStartDay.value[1];
+  if (null != daterangePlanStartDay && "" != daterangePlanStartDay) {
+    queryParams.value.params["beginPlanStartDay"] =
+      daterangePlanStartDay.value[0];
+    queryParams.value.params["endPlanStartDay"] =
+      daterangePlanStartDay.value[1];
   }
-  if (null != daterangePlanEndDay && '' != daterangePlanEndDay) {
+  if (null != daterangePlanEndDay && "" != daterangePlanEndDay) {
     queryParams.value.params["beginPlanEndDay"] = daterangePlanEndDay.value[0];
     queryParams.value.params["endPlanEndDay"] = daterangePlanEndDay.value[1];
   }
-  listPlan(queryParams.value).then(response => {
+  listPlan(queryParams.value).then((response) => {
     planList.value = response.rows;
     loading.value = false;
   });
@@ -687,7 +752,7 @@
 
 /** 鎼滅储鎸夐挳鎿嶄綔 */
 function handleQuery() {
-  queryParams.value.pageNum = 1;
+  queryParams.value.planNum = 1;
   getList();
 }
 
@@ -705,38 +770,41 @@
 };
 
 /** 鎵归噺淇敼璁″垝寮�宸ユ棩鎸夐挳鎿嶄綔 */
-function plannedStart() {
-  
-}
+function plannedStart() {}
 
 /** 鎵归噺淇敼璁″垝瀹屽伐鏃ユ寜閽搷浣� */
-function plannedEnd() {
-
-}
+function plannedEnd() {}
 
 /** 瀵煎叆鎸夐挳鎿嶄綔 */
 function handleImport() {
-  upload.title = "闆朵欢宸ュ崟鏁版嵁涓婁紶";
+  upload.title = t("plan.upload.uploadPartWorkOrderData");
   upload.open = true;
-};
+}
 
 /** 瀵煎嚭鎸夐挳鎿嶄綔 */
 function handleExport() {
-  proxy.download('aps/partPlan/export', {
-    ...queryParams.value
-  }, `plan_${new Date().getTime()}.xlsx`)
+  proxy.download(
+    "aps/partPlan/export",
+    {
+      ...queryParams.value,
+    },
+    `plan_${new Date().getTime()}.xlsx`
+  );
 }
 
 /** 涓嬭浇妯℃澘鎿嶄綔 */
 function importTemplate() {
-  proxy.download("system/user/importTemplate", {
-  }, `user_template_${new Date().getTime()}.xlsx`);
-};
+  proxy.download(
+    "system/user/importTemplate",
+    {},
+    `user_template_${new Date().getTime()}.xlsx`
+  );
+}
 
 /** buildEexample */
 function buildEexample() {
   proxy.$refs["uploadRef"].submit();
-};
+}
 
 /**鏂囦欢涓婁紶涓鐞� */
 const handleFileUploadProgress = (event, file, fileList) => {
@@ -745,15 +813,25 @@
 
 /** 鏂囦欢涓婁紶鎴愬姛澶勭悊 */
 const handleFileSuccess = (response, file, fileList) => {
-  if(response.code == '200'){
+  if (response.code == "200") {
     batchNumber.value = response.data;
     isVisible.value = true;
     planned.value = false;
     isError.value = false;
     getExampleList();
-  }else{
+  } else {
     isError.value = true;
-    proxy.$alert("<div style='overflow: auto;overflow-x: hidden;max-height: 70vh;padding: 10px 20px 0;'>" + response.msg + "</div>", "瀵煎叆缁撴灉", { dangerouslyUseHTMLString: true });
+    proxy.$alert(
+      "<div style='overflow: auto;overflow-x: hidden;max-height: 70vh;padding: 10px 20px 0;'>" +
+        response.msg +
+        "</div>",
+      t("plan.upload.errorResult"),
+      {
+        dangerouslyUseHTMLString: true,
+        confirmButtonText: t("plan.btns.confirm"),
+        cancelButtonText: t("plan.btns.cancel"),
+      }
+    );
   }
   proxy.$refs["uploadRef"].handleRemove(file);
   upload.isUploading = false;
@@ -763,7 +841,7 @@
 function uploadParse() {
   queryParams.value.params = {};
   queryParams.value.params["batchNumber"] = batchNumber.value;
-  confirmPart(queryParams.value).then(response => {
+  confirmPart(queryParams.value).then((response) => {
     exampleList.value = response.rows;
     loading.value = false;
     isVisible.value = false;
@@ -771,15 +849,15 @@
     planned.value = true;
     upload.open = false;
     ElMessage({
-      message: '闆朵欢宸ュ崟鏁版嵁宸叉垚鍔熶笂浼犲拰瑙f瀽',
-      type: 'success',
-    })
+      message: t("plan.upload.uploadParsePartWorkOrderData"),
+      type: "success",
+    });
     getList();
   });
 }
 
 /** dialog鍙栨秷 */
-function dialogCancel(){
+function dialogCancel() {
   if (uploadRef.value) {
     uploadRef.value.clearFiles();
   }
@@ -789,11 +867,13 @@
   upload.open = false;
   upload.isUploading = false;
 }
-
 getList();
 </script>
 <style lang="css" scoped>
+.column-with-margin {
+  margin-right: 0px;
+}
 h4 {
   font-weight: bold;
 }
-</style>
\ No newline at end of file
+</style>

--
Gitblit v1.9.3