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