From 79871604f3c79e0ee7a15d198ef321b42fe65c24 Mon Sep 17 00:00:00 2001
From: zhangwencui <1064582902@qq.com>
Date: 星期五, 27 三月 2026 17:54:56 +0800
Subject: [PATCH] 追踪进度页面修改

---
 src/views/productionPlan/productionPlan/index.vue |  174 +++------------------------------------------------------
 1 files changed, 11 insertions(+), 163 deletions(-)

diff --git a/src/views/productionPlan/productionPlan/index.vue b/src/views/productionPlan/productionPlan/index.vue
index 8dea0db..a294890 100644
--- a/src/views/productionPlan/productionPlan/index.vue
+++ b/src/views/productionPlan/productionPlan/index.vue
@@ -117,6 +117,7 @@
     </div>
     <!-- 鍚堝苟涓嬪彂寮圭獥 -->
     <el-dialog v-model="isShowNewModal"
+               destroy-on-close
                title="鍚堝苟涓嬪彂"
                width="600px">
       <el-form :model="mergeForm"
@@ -186,72 +187,6 @@
         </span>
       </template>
     </el-dialog>
-    <!-- 杩借釜杩涘害寮圭獥 -->
-    <el-dialog v-model="showTrackProgressDialog"
-               :title="`杩借釜杩涘害 - ${trackProgressForm.materialCode || ''}`"
-               width="600px">
-      <el-form :model="trackProgressForm"
-               label-width="120px">
-        <el-form-item label="鐗╂枡缂栫爜">
-          <el-input v-model="trackProgressForm.materialCode"
-                    disabled />
-        </el-form-item>
-        <el-form-item label="褰撳墠鐘舵��">
-          <el-select v-model="trackProgressForm.currentStatus"
-                     placeholder="璇烽�夋嫨鐘舵��">
-            <el-option label="寰呭鐞�"
-                       value="pending" />
-            <el-option label="杩涜涓�"
-                       value="processing" />
-            <el-option label="宸插畬鎴�"
-                       value="completed" />
-          </el-select>
-        </el-form-item>
-        <el-form-item label="瀹屾垚杩涘害">
-          <el-progress :percentage="trackProgressForm.completionRate"
-                       :status="trackProgressForm.completionRate === 100 ? 'success' : ''" />
-        </el-form-item>
-        <el-form-item label="杩涘害璇︽儏">
-          <el-table :data="trackProgressForm.progressDetails"
-                    border
-                    style="width: 100%">
-            <el-table-column prop="step"
-                             label="姝ラ"
-                             align="center"
-                             width="100" />
-            <el-table-column prop="status"
-                             label="鐘舵��"
-                             align="center"
-                             width="100">
-              <template #default="scope">
-                <el-tag :type="scope.row.status === 'completed' ? 'success' : scope.row.status === 'processing' ? 'warning' : 'info'">
-                  {{ scope.row.status === 'completed' ? '宸插畬鎴�' : scope.row.status === 'processing' ? '杩涜涓�' : '寰呭紑濮�' }}
-                </el-tag>
-              </template>
-            </el-table-column>
-            <el-table-column prop="startTime"
-                             label="寮�濮嬫椂闂�"
-                             align="center"
-                             width="180" />
-            <el-table-column prop="endTime"
-                             label="缁撴潫鏃堕棿"
-                             align="center"
-                             width="180" />
-          </el-table>
-        </el-form-item>
-        <el-form-item label="澶囨敞">
-          <el-input v-model="trackProgressForm.remark"
-                    type="textarea" />
-        </el-form-item>
-      </el-form>
-      <template #footer>
-        <span class="dialog-footer">
-          <el-button @click="showTrackProgressDialog = false">鍏抽棴</el-button>
-          <el-button type="primary"
-                     @click="handleUpdateProgress">鏇存柊杩涘害</el-button>
-        </span>
-      </template>
-    </el-dialog>
     <!-- 瀵煎叆寮圭獥 -->
     <ImportDialog ref="importDialogRef"
                   v-model="importDialogVisible"
@@ -266,6 +201,7 @@
                   @close="handleImportClose" />
     <!-- 鏂板/缂栬緫寮圭獥 -->
     <el-dialog v-model="dialogVisible"
+               destroy-on-close
                :title="operationType === 'add' ? '鏂板鐢熶骇璁″垝' : '缂栬緫鐢熶骇璁″垝'"
                width="600px">
       <el-form ref="formRef"
@@ -391,6 +327,7 @@
   import ImportDialog from "@/components/Dialog/ImportDialog.vue";
   import { getToken } from "@/utils/auth";
   import { useDict } from "@/utils/dict";
+  import { useRouter } from "vue-router";
   import {
     productionPlanListPage,
     loadProdData,
@@ -408,6 +345,7 @@
   } from "@/api/basicData/newProduct.js";
 
   const { proxy } = getCurrentInstance();
+  const router = useRouter();
 
   const tableColumn = ref([
     {
@@ -663,17 +601,6 @@
     strength: "",
   });
 
-  // 杩借釜杩涘害寮圭獥鎺у埗
-  const showTrackProgressDialog = ref(false);
-  // 杩借釜杩涘害琛ㄥ崟鏁版嵁
-  const trackProgressForm = reactive({
-    materialCode: "",
-    currentStatus: "",
-    completionRate: 0,
-    progressDetails: [],
-    remark: "",
-  });
-
   // 瀵煎叆鐩稿叧
   const importDialogRef = ref(null);
   const importDialogVisible = ref(false);
@@ -741,21 +668,13 @@
 
   // 澶勭悊杩借釜杩涘害鎸夐挳鐐瑰嚮
   const handleTrackProgress = row => {
-    // 璁剧疆琛ㄥ崟鏁版嵁
-    trackProgressForm.materialCode = row.materialCode;
-    trackProgressForm.currentStatus = row.status;
-
-    // 鐢熸垚妯℃嫙杩涘害鏁版嵁
-    trackProgressForm.progressDetails = generateProgressDetails(row.status);
-
-    // 璁$畻瀹屾垚鐜�
-    trackProgressForm.completionRate = calculateCompletionRate(
-      trackProgressForm.progressDetails
-    );
-    trackProgressForm.remark = "";
-
-    // 鎵撳紑寮圭獥
-    showTrackProgressDialog.value = true;
+    // 璺宠浆鍒拌拷韪繘搴﹂〉闈�
+    router.push({
+      path: "/productionPlan/trackProgress",
+      query: {
+        row: encodeURIComponent(JSON.stringify(row)),
+      },
+    });
   };
   const onBlur = value => {
     // 闄愬埗鍥涗綅灏忔暟
@@ -839,77 +758,6 @@
         }
       }
     }
-  };
-
-  // 鐢熸垚妯℃嫙杩涘害璇︽儏鏁版嵁
-  const generateProgressDetails = status => {
-    const details = [
-      {
-        step: "璁″垝纭",
-        status: "completed",
-        startTime: "2026-03-01 09:00:00",
-        endTime: "2026-03-01 10:00:00",
-      },
-      {
-        step: "鐗╂枡鍑嗗",
-        status:
-          status === "completed"
-            ? "completed"
-            : status === "processing"
-            ? "completed"
-            : "pending",
-        startTime:
-          status === "completed" || status === "processing"
-            ? "2026-03-01 10:30:00"
-            : "",
-        endTime:
-          status === "completed" || status === "processing"
-            ? "2026-03-02 16:00:00"
-            : "",
-      },
-      {
-        step: "鐢熶骇鍔犲伐",
-        status:
-          status === "completed"
-            ? "completed"
-            : status === "processing"
-            ? "processing"
-            : "pending",
-        startTime:
-          status === "completed" || status === "processing"
-            ? "2026-03-03 08:00:00"
-            : "",
-        endTime: status === "completed" ? "2026-03-08 17:00:00" : "",
-      },
-      {
-        step: "璐ㄩ噺妫�楠�",
-        status: status === "completed" ? "completed" : "pending",
-        startTime: status === "completed" ? "2026-03-09 09:00:00" : "",
-        endTime: status === "completed" ? "2026-03-09 15:00:00" : "",
-      },
-      {
-        step: "鍏ュ簱",
-        status: status === "completed" ? "completed" : "pending",
-        startTime: status === "completed" ? "2026-03-10 10:00:00" : "",
-        endTime: status === "completed" ? "2026-03-10 11:00:00" : "",
-      },
-    ];
-    return details;
-  };
-
-  // 璁$畻瀹屾垚鐜�
-  const calculateCompletionRate = details => {
-    const completedSteps = details.filter(
-      step => step.status === "completed"
-    ).length;
-    return Math.round((completedSteps / details.length) * 100);
-  };
-
-  // 澶勭悊杩涘害鏇存柊
-  const handleUpdateProgress = () => {
-    // 杩欓噷鍙互娣诲姞鏇存柊杩涘害鐨勯�昏緫
-    ElMessage.success("杩涘害鏇存柊鎴愬姛");
-    showTrackProgressDialog.value = false;
   };
 
   const data = reactive({

--
Gitblit v1.9.3