From 4a2c6fb2773adf8b5e28351021b79aebaf2af5e4 Mon Sep 17 00:00:00 2001
From: 小小儁爺 <1694218219@qq.com>
Date: 星期三, 25 三月 2026 17:16:03 +0800
Subject: [PATCH] 1.生产工单  批量绑定工艺   修改

---
 src/api/WorkOrder.js                  |    9 ++++
 src/views/workOrder/workOrderList.vue |   85 ++++++++++++++++++++++++++++--------------
 2 files changed, 65 insertions(+), 29 deletions(-)

diff --git a/src/api/WorkOrder.js b/src/api/WorkOrder.js
index a88397d..521d48d 100644
--- a/src/api/WorkOrder.js
+++ b/src/api/WorkOrder.js
@@ -391,3 +391,12 @@
     data
   })
 }
+
+// 浜у搧缂栫爜鎵归噺鏌ユ壘鍏宠仈鐨勫伐鑹轰俊鎭�
+export function MesOrderNewStepListContent(data) {
+  return request({
+    url: 'WorkOrder/MesOrderNewStepListContent',
+    method: 'post',
+    data
+  })
+}
diff --git a/src/views/workOrder/workOrderList.vue b/src/views/workOrder/workOrderList.vue
index 79c09f7..3c41914 100644
--- a/src/views/workOrder/workOrderList.vue
+++ b/src/views/workOrder/workOrderList.vue
@@ -2498,9 +2498,8 @@
       </div>
 
       <div v-for="(i,index) in formData3" :key="index" class="customDiv">
-
+        <!--        ref="dialogForm"-->
         <el-form
-          ref="dialogForm"
           inline
           :model="i"
           label-width="110px"
@@ -2758,7 +2757,7 @@
   AddUpdateMesOrder, AddUpdateMesOrderList, DeleteMesOrder,
   MesBadOrderSearch, MesOrderDistribution, MesOrderNewStepContent, MesOrderProcessSopSearch,
   MesOrderSearch, MesOrderSopSearch, UpdateMesOrderStepListSearch,
-  UpdateMesOrderStepSearch
+  UpdateMesOrderStepSearch, MesOrderNewStepListContent
 } from '@/api/WorkOrder'
 import { PartSelect } from '@/api/ProductModel'
 import { PrentOrganization, PrentOrganizationNoCompany, StepData } from '@/api/GeneralBasicData'
@@ -2766,7 +2765,12 @@
 import ElDragSelect from '@/components/DragSelect'
 import { MesOrderPrintSearch } from '@/api/GridReport' // base on element-ui
 import DateType from '@/components/DateType'
-import { PartSelectRpute, PartSelectRputeList, RouteSelectStep, RouteSelectStepList } from '@/api/basicSettings'
+import {
+  PartSelectRpute,
+  PartSelectRputeList,
+  RouteSelectStep,
+  RouteSelectStepList
+} from '@/api/basicSettings'
 import { DeviceSopSearch } from '@/api/DeviceManager'
 
 export default {
@@ -3193,6 +3197,8 @@
           stepTableData: []// 宸ュ簭琛ㄥ��
         })
       })
+
+      const tempArr = []
       const { data: res3 } = await UpdateMesOrderStepListSearch(data3)
       console.log(res3, 321)
       res3.forEach((i, index) => {
@@ -3203,40 +3209,61 @@
           })
           this.formData3[index].stepTableData = i.stepdata
           this.formData3[index].stepSelectedValue = i.stepdata.map(j => j.stepcode)
+        } else {
+          tempArr.push({
+            'wkshopcode': this.formData3[index].wkshopcode,
+            'routecode': this.formData3[index].routecode,
+            'partcode': this.formData3[index].partcode
+          })
         }
       })
-
-      const { data: res } = await PartSelectRputeList(partcodeArr)
-      if (this.mesSetting.route) {
-        res.forEach((i, index) => {
-          if (i.routedata.length > 0) {
-            this.formData3[index].routecodeArr = i.routedata
-          }
-        })
-      } else {
+      console.log(this.sourceType, '鎵ц1', this.formData3)
+      const tempArr2 = tempArr.filter((item, index) => {
+        return tempArr.findIndex(i => i.partcode === item.partcode) === index
+      })
+      if (this.sourceType) { // 涓簍rue鏃讹紝璋冪敤MesOrderNewStepListContent
+        const { data: res } = await MesOrderNewStepListContent(tempArr2)
         this.formData3.forEach((i, index) => {
           if (i.stepTableData.length === 0) {
-            i.stepTableData = res[index].stepdata
-            i.stepSelectedValue = res[index].stepdata.length > 0 ? res[index].stepdata.map(j => j.stepcode) : []
-          }
-        })
-      }
-      // i.stepdata.forEach(j => {
-      //   j.ratio = parseFloat(j.ratio) > 0 ? parseFloat(j.ratio) : 0
-      //   j.sumqty = Math.round(parseFloat(i.canupdate_qty) * (1 + (parseFloat(j.ratio) > 0 ? parseFloat(j.ratio) / 100 : 0)))
-      // })
-      if (this.mesSetting.route) {
-        const { data: res2 } = await RouteSelectStepList(data2)
-        this.formData3.forEach((i, index) => {
-          if (i.stepTableData.length === 0) {
-            res2[index].stepdata.forEach(j => {
+            const ind = res.findIndex(j => j.partcode === this.formData3[index].partcode)
+            res[ind].stepdata.forEach(j => {
               j.ratio = parseFloat(j.ratio) > 0 ? parseFloat(j.ratio) : 0
               j.sumqty = Math.round(parseFloat(i.mesqty) * (1 + (parseFloat(j.ratio) > 0 ? parseFloat(j.ratio) / 100 : 0)))
             })
-            i.stepTableData = res2[index].stepdata
-            i.stepSelectedValue = res2[index].stepdata.length > 0 ? res2[index].stepdata.map(j => j.stepcode) : []
+            this.formData3[index].stepTableData = res[ind].stepdata
+            this.formData3[index].stepSelectedValue = res[ind].stepdata.length > 0 ? res[ind].stepdata.map(j => j.stepcode) : []
           }
         })
+      } else { // 璋冪敤PartSelectRputeList
+        const { data: res } = await PartSelectRputeList(partcodeArr)
+        if (this.mesSetting.route) {
+          res.forEach((i, index) => {
+            if (i.routedata.length > 0) {
+              this.formData3[index].routecodeArr = i.routedata
+            }
+          })
+        } else {
+          this.formData3.forEach((i, index) => {
+            if (i.stepTableData.length === 0) {
+              i.stepTableData = res[index].stepdata
+              i.stepSelectedValue = res[index].stepdata.length > 0 ? res[index].stepdata.map(j => j.stepcode) : []
+            }
+          })
+        }
+
+        if (this.mesSetting.route) {
+          const { data: res2 } = await RouteSelectStepList(data2)
+          this.formData3.forEach((i, index) => {
+            if (i.stepTableData.length === 0) {
+              res2[index].stepdata.forEach(j => {
+                j.ratio = parseFloat(j.ratio) > 0 ? parseFloat(j.ratio) : 0
+                j.sumqty = Math.round(parseFloat(i.mesqty) * (1 + (parseFloat(j.ratio) > 0 ? parseFloat(j.ratio) / 100 : 0)))
+              })
+              i.stepTableData = res2[index].stepdata
+              i.stepSelectedValue = res2[index].stepdata.length > 0 ? res2[index].stepdata.map(j => j.stepcode) : []
+            }
+          })
+        }
       }
 
       // this.formData3 = this.multipleSelection

--
Gitblit v1.9.3