From bddc56038852e18aa9454657a0bee58fae328405 Mon Sep 17 00:00:00 2001
From: spring <2396852758@qq.com>
Date: 星期五, 16 一月 2026 09:14:06 +0800
Subject: [PATCH] fix: 生产订单-工艺路线-排序接口对接

---
 src/views/productionManagement/processRoute/processRouteItem/index.vue |   95 +++++++++++++++++++++++++++++++++--------------
 1 files changed, 67 insertions(+), 28 deletions(-)

diff --git a/src/views/productionManagement/processRoute/processRouteItem/index.vue b/src/views/productionManagement/processRoute/processRouteItem/index.vue
index d4ad249..18e21e8 100644
--- a/src/views/productionManagement/processRoute/processRouteItem/index.vue
+++ b/src/views/productionManagement/processRoute/processRouteItem/index.vue
@@ -3,7 +3,6 @@
     <PageHeader content="宸ヨ壓璺嚎椤圭洰" />
     
     <!-- 宸ヨ壓璺嚎淇℃伅灞曠ず -->
-    <div v-if="routeInfo.processRouteCode" class="section-title" style="margin-bottom: 12px;">宸ヨ壓璺嚎淇℃伅</div>
     <el-card v-if="routeInfo.processRouteCode" class="route-info-card" shadow="hover">
       <div class="route-info">
         <div class="info-item">
@@ -211,7 +210,7 @@
 import { ref, computed, getCurrentInstance, onMounted, onUnmounted, nextTick } from "vue";
 import ProductSelectDialog from "@/views/basicData/product/ProductSelectDialog.vue";
 import { findProcessRouteItemList, addOrUpdateProcessRouteItem, sortProcessRouteItem, batchDeleteProcessRouteItem } from "@/api/productionManagement/processRouteItem.js";
-import { findProductProcessRouteItemList } from "@/api/productionManagement/productProcessRoute.js";
+import { findProductProcessRouteItemList, deleteRouteItem, addRouteItem, addOrUpdateProductProcessRouteItem, sortRouteItem } from "@/api/productionManagement/productProcessRoute.js";
 import { processList } from "@/api/productionManagement/productionProcess.js";
 import { useRoute } from 'vue-router'
 import { ElMessageBox } from 'element-plus'
@@ -353,8 +352,13 @@
     type: 'warning'
   })
     .then(() => {
-      // 璋冪敤鎵归噺鍒犻櫎鎺ュ彛锛屼紶閫抜d鏁扮粍
-      batchDeleteProcessRouteItem([row.id])
+      // 鐢熶骇璁㈠崟涓嬩娇鐢� productProcessRoute 鐨勫垹闄ゆ帴鍙o紙璺敱鍚庢嫾鎺� id锛夛紝鍏跺畠鎯呭喌浣跨敤宸ヨ壓璺嚎椤圭洰鎵归噺鍒犻櫎鎺ュ彛
+      const deletePromise =
+        pageType.value === 'order'
+          ? deleteRouteItem(row.id)
+          : batchDeleteProcessRouteItem([row.id]);
+
+      deletePromise
         .then(() => {
           proxy?.$modal?.msgSuccess('鍒犻櫎鎴愬姛');
           getList();
@@ -386,21 +390,28 @@
     if (valid) {
       submitLoading.value = true;
       
-      // 鏋勫缓鎻愪氦鏁版嵁瀵硅薄锛堝崟涓璞″舰寮忥級
-      const submitData = {
-        routeId: routeId.value,
-        processId: form.value.processId,
-        productModelId: form.value.productModelId,
-      };
-
       if (operationType.value === 'add') {
         // 鏂板锛氫紶鍗曚釜瀵硅薄锛屽寘鍚玠ragSort瀛楁
         // dragSort = 褰撳墠鍒楄〃闀垮害 + 1锛岃〃绀烘柊澧炶褰曟帓鍦ㄦ渶鍚�
         const dragSort = tableData.value.length + 1;
-        addOrUpdateProcessRouteItem({
-          ...submitData,
-          dragSort: dragSort
-        })
+        const isOrderPage = pageType.value === 'order';
+
+        const addPromise = isOrderPage
+          ? addRouteItem({
+              productOrderId: orderId.value,
+              productRouteId: routeId.value,
+              processId: form.value.processId,
+              productModelId: form.value.productModelId,
+              dragSort,
+            })
+          : addOrUpdateProcessRouteItem({
+              routeId: routeId.value,
+              processId: form.value.processId,
+              productModelId: form.value.productModelId,
+              dragSort,
+            });
+
+        addPromise
           .then(() => {
             proxy?.$modal?.msgSuccess('鏂板鎴愬姛');
             closeDialog();
@@ -413,11 +424,23 @@
             submitLoading.value = false;
           });
       } else {
-        // 缂栬緫锛氫紶鍗曚釜瀵硅薄锛屽寘鍚玦d
-        addOrUpdateProcessRouteItem({
-          ...submitData,
-          id: form.value.id,
-        })
+        // 缂栬緫锛氱敓浜ц鍗曚笅浣跨敤 productProcessRoute/updateRouteItem锛屽叾瀹冩儏鍐典娇鐢ㄥ伐鑹鸿矾绾块」鐩洿鏂版帴鍙�
+        const isOrderPage = pageType.value === 'order';
+        
+        const updatePromise = isOrderPage
+          ? addOrUpdateProductProcessRouteItem({
+              id: form.value.id,
+              processId: form.value.processId,
+              productModelId: form.value.productModelId,
+            })
+          : addOrUpdateProcessRouteItem({
+              routeId: routeId.value,
+              processId: form.value.processId,
+              productModelId: form.value.productModelId,
+              id: form.value.id,
+            });
+
+        updatePromise
           .then(() => {
             proxy?.$modal?.msgSuccess('淇敼鎴愬姛');
             closeDialog();
@@ -485,10 +508,18 @@
         
         // 璋冪敤鎺掑簭鎺ュ彛
         if (moveItem.id) {
-          sortProcessRouteItem({
-            id: moveItem.id,
-            dragSort: dragSort
-          })
+          const isOrderPage = pageType.value === 'order';
+          const sortPromise = isOrderPage
+            ? sortRouteItem({
+                id: moveItem.id,
+                dragSort: dragSort
+              })
+            : sortProcessRouteItem({
+                id: moveItem.id,
+                dragSort: dragSort
+              });
+
+          sortPromise
             .then(() => {
               // 鏇存柊鎵�鏈夎鐨刣ragSort
               tableData.value.forEach((item, index) => {
@@ -530,10 +561,18 @@
         
         // 璋冪敤鎺掑簭鎺ュ彛
         if (moveItem.id) {
-          sortProcessRouteItem({
-            id: moveItem.id,
-            dragSort: dragSort
-          })
+          const isOrderPage = pageType.value === 'order';
+          const sortPromise = isOrderPage
+            ? sortRouteItem({
+                id: moveItem.id,
+                dragSort: dragSort
+              })
+            : sortProcessRouteItem({
+                id: moveItem.id,
+                dragSort: dragSort
+              });
+
+          sortPromise
             .then(() => {
               // 鏇存柊鎵�鏈夎鐨刣ragSort
               tableData.value.forEach((item, index) => {

--
Gitblit v1.9.3