From de5d72a1ee25654826103e38f67188b1f444ec2a Mon Sep 17 00:00:00 2001
From: 张诺 <zhang_12370@163.com>
Date: 星期六, 25 四月 2026 11:02:58 +0800
Subject: [PATCH] 阳光印刷web 生产订单工艺路线增加书号单据类型增加切料图示的选择

---
 src/views/productionManagement/productionOrder/BindRouteDialog.vue |   71 ++++++++++++++++++++++-------------
 1 files changed, 45 insertions(+), 26 deletions(-)

diff --git a/src/views/productionManagement/productionOrder/BindRouteDialog.vue b/src/views/productionManagement/productionOrder/BindRouteDialog.vue
index 1922689..e2b6337 100644
--- a/src/views/productionManagement/productionOrder/BindRouteDialog.vue
+++ b/src/views/productionManagement/productionOrder/BindRouteDialog.vue
@@ -45,8 +45,9 @@
       <el-descriptions-item label="鍗曟嵁绫诲瀷" :span="2" align="center">
         <el-checkbox-group v-model="introductionLetterList" :disabled="isDetail">
           <el-checkbox label="浠嬬粛淇�" value="浠嬬粛淇�" />
-          <el-checkbox label="鍟嗘爣娉ㄥ唽涔�" value="鍟嗘爣娉ㄥ唽涔�" />
+          <el-checkbox label="鍟嗘爣娉ㄥ唽" value="鍟嗘爣娉ㄥ唽" />
           <el-checkbox label="濮斿嵃鍗�" value="濮斿嵃鍗�" />
+          <el-checkbox label="涔﹀彿" value="涔﹀彿" />
         </el-checkbox-group>
       </el-descriptions-item>
     </el-descriptions>
@@ -58,14 +59,14 @@
     </div>
     <el-table border :data="formData.materialInfo" style="width: 100%">
       <el-table-column label="鏉愭枡鍚嶇О">
-        <template #default="{ row }" >
+        <template #default="{ row, $index }" >
           <el-tree-select
           v-if="!isDetail"
             v-model="row.productById"
             placeholder="璇烽�夋嫨"
             clearable
             check-strictly
-            @change="(val) => getModels(val, row)"
+            @change="(val) => getModels(val, row, $index)"
             :data="productOptions"
             :render-after-expand="false"
             :disabled="isDetail"
@@ -89,7 +90,7 @@
             :disabled="isDetail"
           >
             <el-option
-              v-for="item in row.modelOptions || []"
+              v-for="item in row.modelOptions"
               :key="item.id"
               :label="item.model"
               :value="item.id"
@@ -128,8 +129,19 @@
     </el-table>
     <el-descriptions border :column="2" :span="2">
       <el-descriptions-item
-          label="娉ㄦ剰浜嬮」"
-          :span="2"
+          label="鍒囨枡鍥剧ず閫夋嫨"
+          :span="1"
+          align="center"
+          style="white-space: pre-line; word-break: break-all; min-height: 60px;"
+      >
+        <el-radio-group v-model="formData.cuttingDiagramCheckout">
+          <el-radio value="骞冲紶">骞冲紶</el-radio>
+          <el-radio value="鍗风瓛">鍗风瓛</el-radio>
+        </el-radio-group>
+      </el-descriptions-item>
+      <el-descriptions-item
+          label="鍒囨枡娉ㄦ剰浜嬮」"
+          :span="1"
           align="center"
           style="white-space: pre-line; word-break: break-all; min-height: 60px;"
       >
@@ -388,18 +400,18 @@
 </template>
 
 <script setup>
-import { ref, reactive, computed, onMounted, watch, getCurrentInstance } from 'vue'
+import {computed, getCurrentInstance, onMounted, reactive, ref, watch} from 'vue'
 import dayjs from 'dayjs'
 import FormDialog from '@/components/Dialog/FormDialog.vue'
 import ActionFileUpload from "@/components/Upload/ActionFileUpload.vue";
-import { list } from "@/api/productionManagement/productionProcess.js"
-import { modelList, productTreeList } from "@/api/basicData/product.js"
+import {list} from "@/api/productionManagement/productionProcess.js"
+import {modelList, productTreeList} from "@/api/basicData/product.js"
 import {getSalesLedgerWithProducts} from "@/api/salesManagement/salesLedger.js"
-import { getDeviceLedger } from "@/api/equipmentManagement/ledger.js"
-import { userListNoPageByTenantId } from "@/api/system/user.js"
-import { getToken } from "@/utils/auth";
+import {getDeviceLedger} from "@/api/equipmentManagement/ledger.js"
+import {userListNoPageByTenantId} from "@/api/system/user.js"
+import {getToken} from "@/utils/auth";
 import filePreview from '@/components/filePreview/index.vue'
-import { ElMessage } from "element-plus";
+import {ElMessage} from "element-plus";
 
 const props = defineProps({
   modelValue: {
@@ -517,7 +529,6 @@
 })
 
 const getUploadFileUrl = (file) => {
-  console.log("file", file)
   const response = file?.response
   const data = response?.data
   if (Array.isArray(data) && data.length) {
@@ -642,7 +653,6 @@
 }
 
 const resolveFileUrl = (rawUrl) => {
-  console.log("rawUrl", rawUrl)
   const u = String(rawUrl || "")
   if (!u) return ""
   if (/^(https?:)?\/\//i.test(u)) return u
@@ -655,7 +665,6 @@
 
 // 鏂囦欢棰勮/涓嬭浇
 const onDownload = (file) => {
-  console.log(file)
   const url = resolveFileUrl(getUploadFileUrl(file))
   if (!url) return
   proxy?.$modal?.loading?.("姝e湪涓嬭浇鏂囦欢锛岃绋嶅��...")
@@ -727,7 +736,6 @@
     if(res){
       formData.productOrderList = res
     }
-    console.log(formData)
   })
 
 }
@@ -796,11 +804,9 @@
 }
 
 const handleProcessChange = (val, row) => {
-  console.log(row)
   const process = processOptions.value.find(item => item.id === val)
   if (process) {
     row.processName = process.name
-    console.log(process)
     if (process.deviceId) {
       row.deviceId = process.deviceId || ""
       row.deviceName = process.deviceName || ""
@@ -824,21 +830,34 @@
   }))
 }
 
-const getModels = (val, row) => {
+const getModels = async (val, row, index) => {
+  const targetRow = formData.materialInfo[index]
   row.productId = val || ""
   row.productById = val || ""
-  row.productName = row.name || ""
   row.name = val ? findProductLabelById(productOptions.value, val) : ""
+
   row.productModelId = ""
   row.model = ""
   row.unit = ""
   row.modelOptions = []
-  if (!val) {
-    return
+
+  if (!val) return
+
+  const res = await modelList({ id: val })
+  formData.materialInfo[index] = {
+    ...targetRow,
+    modelOptions: Array.isArray(res) ? res :
+        Array.isArray(res?.data) ? res.data :
+            Array.isArray(res?.rows) ? res.rows :
+                Array.isArray(res?.data?.records) ? res.data.records :
+                    []
   }
-  modelList({ id: val }).then(res => {
-    row.modelOptions = Array.isArray(res) ? res : Array.isArray(res?.data) ? res.data : []
-  })
+  // row.modelOptions = Array.isArray(res) ? res :
+  //     Array.isArray(res?.data) ? res.data :
+  //         Array.isArray(res?.rows) ? res.rows :
+  //             Array.isArray(res?.data?.records) ? res.data.records :
+  //                 []
+
 }
 
 const handleMaterialModelChange = (val, row) => {

--
Gitblit v1.9.3