From 697e532cb0ba31cec654e3b8a271bc3ef0106bff Mon Sep 17 00:00:00 2001
From: 小小儁爺 <1694218219@qq.com>
Date: 星期一, 08 十二月 2025 13:29:39 +0800
Subject: [PATCH] 1.新增 生产工单根据工单状态显示不同的列表行样式,车间名称单选变为多选查询选择

---
 src/views/workOrder/workOrderClose.vue |  154 ++++++++++++++++++++++++++-------------------------
 1 files changed, 78 insertions(+), 76 deletions(-)

diff --git a/src/views/workOrder/workOrderClose.vue b/src/views/workOrder/workOrderClose.vue
index 860b9ce..1bd1211 100644
--- a/src/views/workOrder/workOrderClose.vue
+++ b/src/views/workOrder/workOrderClose.vue
@@ -20,6 +20,8 @@
               <el-select
                 v-model="form.wkshopcode"
                 filterable
+                multiple
+                collapse-tags
                 :popper-append-to-body="false"
                 style="width: 200px"
                 placeholder="璇烽�夋嫨"
@@ -50,13 +52,13 @@
               </el-select>
             </el-form-item>
             <el-form-item label="宸ュ崟缂栧彿" style=" display: flex;">
-              <el-input v-model="form.mesordercode" placeholder="璇疯緭鍏�" style="width: 200px"/>
+              <el-input v-model="form.mesordercode" placeholder="璇疯緭鍏�" style="width: 200px" />
             </el-form-item>
             <el-form-item label="婧愬崟鍗曞彿" style="display: flex;">
-              <el-input v-model="form.sourceorder" style="width: 200px" placeholder="璇疯緭鍏�"/>
+              <el-input v-model="form.sourceorder" style="width: 200px" placeholder="璇疯緭鍏�" />
             </el-form-item>
             <el-form-item v-show="isExpandForm" label="閿�鍞鍗�" style="display: flex;">
-              <el-input v-model="form.saleordercode" style="width: 200px" placeholder="璇疯緭鍏�"/>
+              <el-input v-model="form.saleordercode" style="width: 200px" placeholder="璇疯緭鍏�" />
             </el-form-item>
             <el-form-item v-show="isExpandForm" label="鍗曟嵁绫诲瀷" style=" display: flex;">
               <el-select
@@ -75,16 +77,16 @@
               </el-select>
             </el-form-item>
             <el-form-item v-show="isExpandForm" label="浜у搧缂栫爜" style=" display: flex;">
-              <el-input v-model="form.partcode" style="width: 200px" placeholder="璇疯緭鍏�"/>
+              <el-input v-model="form.partcode" style="width: 200px" placeholder="璇疯緭鍏�" />
             </el-form-item>
             <el-form-item v-show="isExpandForm" label="浜у搧鍚嶇О" style=" display: flex;">
-              <el-input v-model="form.partname" style="width: 200px" placeholder="璇疯緭鍏�"/>
+              <el-input v-model="form.partname" style="width: 200px" placeholder="璇疯緭鍏�" />
             </el-form-item>
             <el-form-item v-show="isExpandForm" label="浜у搧瑙勬牸" style=" display: flex;">
-              <el-input v-model="form.partspec" style="width: 200px" placeholder="璇疯緭鍏�"/>
+              <el-input v-model="form.partspec" style="width: 200px" placeholder="璇疯緭鍏�" />
             </el-form-item>
             <el-form-item v-show="isExpandForm" label="鍒涘缓浜哄憳" style=" display: flex;">
-              <el-input v-model="form.creatuser" style="width: 200px" placeholder="璇疯緭鍏�"/>
+              <el-input v-model="form.creatuser" style="width: 200px" placeholder="璇疯緭鍏�" />
             </el-form-item>
             <el-form-item v-show="isExpandForm" label="鍒涘缓鏃堕棿" style=" display: flex;">
               <!--              <el-date-picker-->
@@ -156,7 +158,7 @@
             type="selection"
             width="50"
           />
-<!--          :selectable="selected"-->
+          <!--          :selectable="selected"-->
           <el-table-column
             prop="rowNum"
             width="50"
@@ -598,7 +600,7 @@
 
         <el-form-item label="宸ュ崟缂栧彿" prop="mesordercode">
           <!--          <el-input v-model="dialogForm.mesordercode" :disabled="operation!=='add'" style="width: 200px" />-->
-          <el-input v-model="dialogForm.mesordercode" disabled style="width: 200px"/>
+          <el-input v-model="dialogForm.mesordercode" disabled style="width: 200px" />
         </el-form-item>
         <!--        <div style="display: flex">-->
         <el-form-item label="宸ュ崟绫诲瀷" prop="mesorderstus">
@@ -679,7 +681,7 @@
         <!--          <el-input v-model="dialogForm.partcode" disabled style="width: 200px" />-->
         <!--        </el-form-item>-->
         <el-form-item label="浜у搧瑙勬牸" prop="partspec">
-          <el-input v-model="dialogForm.partspec" disabled style="width: 200px"/>
+          <el-input v-model="dialogForm.partspec" disabled style="width: 200px" />
         </el-form-item>
         <!--        :disabled="dialogForm.partcode===''"-->
         <el-form-item label="鎵�灞炶溅闂�" prop="wkshopcode">
@@ -1020,20 +1022,20 @@
               </el-select>
             </el-form-item>
             <el-form-item label="宸ュ崟缂栧彿" style=" display: flex;">
-              <el-input v-model="sourceForm.sourceorder" placeholder="璇疯緭鍏�" style="width: 200px"/>
+              <el-input v-model="sourceForm.sourceorder" placeholder="璇疯緭鍏�" style="width: 200px" />
             </el-form-item>
             <el-form-item label="浜у搧缂栫爜" style=" display: flex;">
-              <el-input v-model="sourceForm.partcode" style="width: 200px" placeholder="璇疯緭鍏�"/>
+              <el-input v-model="sourceForm.partcode" style="width: 200px" placeholder="璇疯緭鍏�" />
             </el-form-item>
 
             <el-form-item v-show="isExpandDialog" label="浜у搧鍚嶇О" style=" display: flex;">
-              <el-input v-model="sourceForm.partname" style="width: 200px" placeholder="璇疯緭鍏�"/>
+              <el-input v-model="sourceForm.partname" style="width: 200px" placeholder="璇疯緭鍏�" />
             </el-form-item>
             <el-form-item v-show="isExpandDialog" label="浜у搧瑙勬牸" style=" display: flex;">
-              <el-input v-model="sourceForm.partspec" style="width: 200px" placeholder="璇疯緭鍏�"/>
+              <el-input v-model="sourceForm.partspec" style="width: 200px" placeholder="璇疯緭鍏�" />
             </el-form-item>
             <el-form-item v-show="isExpandDialog" label="鍒涘缓浜哄憳" style=" display: flex;">
-              <el-input v-model="sourceForm.creatuser" style="width: 200px" placeholder="璇疯緭鍏�"/>
+              <el-input v-model="sourceForm.creatuser" style="width: 200px" placeholder="璇疯緭鍏�" />
             </el-form-item>
 
             <el-form-item
@@ -1357,9 +1359,9 @@
             justify-content: center;
             position: relative;"
           >
-            <div id="qrCode0" ref="qrCodeDiv0"/>
+            <div id="qrCode0" ref="qrCodeDiv0" />
           </div>
-          <div style="background-color: #fff;width: 20px;height:120px; position: absolute;right: 0"/>
+          <div style="background-color: #fff;width: 20px;height:120px; position: absolute;right: 0" />
           <div
             style="z-index: 10;background-color:transparent;width: 120px;height:120px; position: absolute;right: 21px"
           />
@@ -1390,7 +1392,7 @@
             align="center"
           >
             <template slot-scope="{row}">
-              <div :id="'qrCode'+row.seq" :ref="'qrCodeDiv'+row.seq" class="tableColumn"/>
+              <div :id="'qrCode'+row.seq" :ref="'qrCodeDiv'+row.seq" class="tableColumn" />
             </template>
           </el-table-column>
           <el-table-column
@@ -1924,11 +1926,11 @@
       @close="handleCloseRoute"
     >
       <div>
-        <i class="el-icon-s-comment" style="color:#42b983;"/> 浜у搧鍚嶇О锛歿{ dialogFormRoute.projectName }}
+        <i class="el-icon-s-comment" style="color:#42b983;" /> 浜у搧鍚嶇О锛歿{ dialogFormRoute.projectName }}
       </div>
-      <el-divider/>
+      <el-divider />
       <div style="margin-bottom: 10px">
-        <i class="el-icon-s-operation" style="color:#42b983;"/> 宸ヨ壓璺嚎闆嗗悎
+        <i class="el-icon-s-operation" style="color:#42b983;" /> 宸ヨ壓璺嚎闆嗗悎
       </div>
 
       <div class="myCheckboxGroup">
@@ -1952,9 +1954,9 @@
         </div>
       </div>
 
-      <el-divider/>
+      <el-divider />
       <div>
-        <i class="el-icon-s-operation" style="color:#42b983;"/> 榛樿宸ヨ壓璺嚎
+        <i class="el-icon-s-operation" style="color:#42b983;" /> 榛樿宸ヨ壓璺嚎
       </div>
       <div style="margin-top: 20px">
         <el-select
@@ -1972,9 +1974,9 @@
           />
         </el-select>
       </div>
-      <el-divider/>
+      <el-divider />
       <div style="margin-bottom: 10px">
-        <i class="el-icon-s-operation" style="color:#42b983;"/> 宸ュ簭鍒楄〃
+        <i class="el-icon-s-operation" style="color:#42b983;" /> 宸ュ簭鍒楄〃
       </div>
       <div style="overflow-y: scroll">
         <el-table
@@ -2010,11 +2012,11 @@
           >
             <template slot-scope="{row}">
               <div v-if="row.enable==='Y'">
-                <svg-icon icon-class="circleYes" style="margin-right: 2px"/>
+                <svg-icon icon-class="circleYes" style="margin-right: 2px" />
                 鏄�
               </div>
               <div v-if="row.enable==='N'">
-                <svg-icon icon-class="circleNo" style="margin-right: 2px"/>
+                <svg-icon icon-class="circleNo" style="margin-right: 2px" />
                 鍚�
               </div>
             </template>
@@ -2034,8 +2036,8 @@
 
 <script>
 import Pagination from '@/components/Pagination'
-import {handleDatetime, handleDatetime2, validateCode} from '@/utils/global'
-import {getCookie} from '@/utils/auth'
+import { handleDatetime, handleDatetime2, validateCode } from '@/utils/global'
+import { getCookie } from '@/utils/auth'
 import QRCode from 'qrcodejs2'
 import $ from 'jquery'
 import elDragDialog from '@/directive/el-drag-dialog'
@@ -2047,18 +2049,18 @@
   MesOrderClosedSearch,
   UpdateMesOrderStepSearch, MesOrderBitchClosedSeave, MesOrderBitchReverseClosedSeave
 } from '@/api/WorkOrder'
-import {PartSelect} from '@/api/ProductModel'
-import {PrentOrganization, PrentOrganizationNoCompany, StepData} from '@/api/GeneralBasicData'
+import { PartSelect } from '@/api/ProductModel'
+import { PrentOrganization, PrentOrganizationNoCompany, StepData } from '@/api/GeneralBasicData'
 import Sortable from 'sortablejs'
 import ElDragSelect from '@/components/DragSelect'
-import {MesOrderPrintSearch} from '@/api/GridReport' // base on element-ui
+import { MesOrderPrintSearch } from '@/api/GridReport' // base on element-ui
 
 export default {
   name: 'WorkOrderClose',
   components: {
     Pagination, ElDragSelect
   },
-  directives: {elDragDialog, waves},
+  directives: { elDragDialog, waves },
   data() {
     return {
       mouseHoverType: 'mouseout',
@@ -2069,7 +2071,7 @@
       tableHeight: 0,
       username: '',
       form: {
-        wkshopcode: '',
+        wkshopcode: [],
         mesorderstus: '', // 宸ュ崟鐘舵�佺爜
         mesordercode: '', // 宸ュ崟缂栧彿
         partcode: '', // 浜у搧缂栫爜
@@ -2091,8 +2093,8 @@
         // { code: 'CREATED', name: '宸插叧闂�' }
         // { code: 'ALLO', name: '宸叉淳鍙�' }
         // 宸插叧闂細CLOSED  鏈叧闂細NOCLOSED
-        {code: 'NOCLOSED', name: '鏈叧闂�'},
-        {code: 'CLOSED', name: '宸插叧闂�'}
+        { code: 'NOCLOSED', name: '鏈叧闂�' },
+        { code: 'CLOSED', name: '宸插叧闂�' }
         // { code: 'NOSCHED', name: '寰呮帓绋�' },
         // { code: 'SCHED', name: '宸叉帓绋�' }
       ],
@@ -2121,51 +2123,51 @@
         mesmaxqty: 0// 宸ュ崟鐨勬渶澶у��
       },
       ordertypeArr: [// 宸ュ崟绫诲瀷
-        {code: 'PO', name: '鏍囧噯宸ュ崟'},
-        {code: 'FO', name: '鎶ュ簾琛ュ崟'}
+        { code: 'PO', name: '鏍囧噯宸ュ崟' },
+        { code: 'FO', name: '鎶ュ簾琛ュ崟' }
       ],
       partArr: [], // 浜у搧淇℃伅
       wkshopArr: [], // 鐢熶骇杞﹂棿鏁扮粍
       routeArr: [], // 宸ヨ壓璺嚎鏁扮粍
       orderlevArr: [
-        {code: 1, name: '鐗圭骇'},
-        {code: 2, name: '绱ф��'},
-        {code: 3, name: '姝e父'}
+        { code: 1, name: '鐗圭骇' },
+        { code: 2, name: '绱ф��' },
+        { code: 3, name: '姝e父' }
       ], // 宸ュ崟绛夌骇鏁扮粍
       operation: '',
       dialogFormRules: {
         mesorderstus: [
-          {required: true, message: '璇烽�夋嫨璁㈠崟鐘舵��', trigger: ['blur', 'change']}
+          { required: true, message: '璇烽�夋嫨璁㈠崟鐘舵��', trigger: ['blur', 'change'] }
         ],
         partcode: [
-          {required: true, message: '璇烽�夋嫨浜у搧淇℃伅', trigger: ['blur', 'change']}
+          { required: true, message: '璇烽�夋嫨浜у搧淇℃伅', trigger: ['blur', 'change'] }
         ],
         mesordercode: [
-          {required: true, validator: validateCode, trigger: ['blur', 'change']}
+          { required: true, validator: validateCode, trigger: ['blur', 'change'] }
         ],
         mesqty: [
-          {required: true, message: '璇疯緭鍏ュ伐鍗曟暟閲�', trigger: ['blur', 'change']}
+          { required: true, message: '璇疯緭鍏ュ伐鍗曟暟閲�', trigger: ['blur', 'change'] }
         ],
         wkshopcode: [
-          {required: true, message: '璇烽�夋嫨鐢熶骇杞﹂棿', trigger: ['blur', 'change']}
+          { required: true, message: '璇烽�夋嫨鐢熶骇杞﹂棿', trigger: ['blur', 'change'] }
         ],
         deliverydate: [
-          {required: true, message: '璇烽�夋嫨棰勮浜や粯鏃ユ湡', trigger: ['blur', 'change']}
+          { required: true, message: '璇烽�夋嫨棰勮浜や粯鏃ユ湡', trigger: ['blur', 'change'] }
         ],
         planstartdate: [
-          {required: true, message: '璇烽�夋嫨寮�濮嬫椂闂�', trigger: ['blur', 'change']}
+          { required: true, message: '璇烽�夋嫨寮�濮嬫椂闂�', trigger: ['blur', 'change'] }
         ],
         planenddate: [
-          {required: true, message: '璇烽�夋嫨缁撴潫鏃堕棿', trigger: ['blur', 'change']}
+          { required: true, message: '璇烽�夋嫨缁撴潫鏃堕棿', trigger: ['blur', 'change'] }
         ],
         orderlev: [
-          {required: true, message: '璇烽�夋嫨宸ュ崟绛夌骇', trigger: ['blur', 'change']}
+          { required: true, message: '璇烽�夋嫨宸ュ崟绛夌骇', trigger: ['blur', 'change'] }
         ],
         isAps: [
-          {required: true, message: '璇烽�夋嫨鏄惁鎺掔▼', trigger: ['blur', 'change']}
+          { required: true, message: '璇烽�夋嫨鏄惁鎺掔▼', trigger: ['blur', 'change'] }
         ],
         bomId: [
-          {required: true, message: '璇烽�夋嫨鐗╂枡娓呭崟', trigger: ['blur', 'change']}
+          { required: true, message: '璇烽�夋嫨鐗╂枡娓呭崟', trigger: ['blur', 'change'] }
         ]
 
       },
@@ -2275,9 +2277,9 @@
       tableDataDetail: [], // 鐐瑰嚮宸ュ崟琛ㄧ殑琛� 鏄剧ず璇︾粏淇℃伅
       printSize: 0,
       printSizeSelectArr: [// 瀹�*楂�
-        {code: 0, name: '80*50'},
-        {code: 1, name: '78*60'},
-        {code: 2, name: '60*40'}
+        { code: 0, name: '80*50' },
+        { code: 1, name: '78*60' },
+        { code: 2, name: '60*40' }
         // { code: 2, name: '50*60' },
         // { code: 3, name: '50*40' },
         // { code: 4, name: '50*80' },
@@ -2308,7 +2310,7 @@
   watch: {
     'stepSelectedValue': {
       // deep: true,
-      handler: function (val) {
+      handler: function(val) {
         // do something with the new and old value of stepSelectedValue
         console.log(val, 1)
         const arr = JSON.parse(JSON.stringify(this.stepTableData))
@@ -2347,7 +2349,7 @@
       const el = this.$refs.stepTableDataRef.$el.querySelectorAll('.el-table__body-wrapper > table > tbody')[0]
       this.sortable = Sortable.create(el, {
         ghostClass: 'sortable-ghost', // Class name for the drop placeholder,
-        setData: function (dataTransfer) {
+        setData: function(dataTransfer) {
           // to avoid Firefox bug
           // Detail see : https://github.com/RubaXa/Sortable/issues/1012
           dataTransfer.setData('Text', '')
@@ -2363,7 +2365,7 @@
         }
       })
     },
-    tableRowClassName({row, rowIndex}) {
+    tableRowClassName({ row, rowIndex }) {
       return 'custom-row'
     },
     handleRequest() {
@@ -2375,7 +2377,7 @@
       })
     },
     async getPrentOrganizationNoCompany() {
-      const {data: res} = await PrentOrganizationNoCompany()
+      const { data: res } = await PrentOrganizationNoCompany()
       this.wkshopcodeArr = res
     },
     async getMesOrderClosedSearch() {
@@ -2385,7 +2387,7 @@
       // }
 
       const data = {
-        wkshopcode: this.form.wkshopcode,
+        wkshopcode: this.form.wkshopcode.join(','),
         mesorderstus: this.form.mesorderstus, // 宸ュ崟鐘舵�佺爜
         mesordercode: this.form.mesordercode, // 宸ュ崟缂栧彿
         partcode: this.form.partcode, // 浜у搧缂栫爜
@@ -2406,19 +2408,19 @@
       this.total = res.count
 
       // this.form.createdate = tempDate
-      return {code: res.code}
+      return { code: res.code }
     },
     async getSelect() {
       // 鑾峰彇浜у搧淇℃伅
-      const {data: res1} = await PartSelect()
+      const { data: res1 } = await PartSelect()
       this.partArr = res1
 
       // 鑾峰彇缁勭粐
-      const {data: res2} = await PrentOrganization()
+      const { data: res2 } = await PrentOrganization()
       this.wkshopArr = res2
 
       // 鑾峰彇宸ュ簭
-      const {data: res3} = await StepData()
+      const { data: res3 } = await StepData()
       this.stepSelectArr = res3
     },
     // 璁㈠崟鐘舵�佹敼鍙樻椂
@@ -2426,7 +2428,7 @@
       this.form.mesorderstus = val
     },
     // 鎺掑簭鏀瑰彉鏃�
-    sortChange({column, prop, order}) {
+    sortChange({ column, prop, order }) {
       if (order === 'descending') {
         order = 'desc'
       } else if (order === 'ascending') {
@@ -2438,7 +2440,7 @@
       this.form.prop = prop
       this.getMesOrderClosedSearch()
     },
-    sourceSortChange({column, prop, order}) {
+    sourceSortChange({ column, prop, order }) {
       if (order === 'descending') {
         order = 'desc'
       } else if (order === 'ascending') {
@@ -2457,7 +2459,7 @@
 
     // 閲嶇疆
     reset(val) {
-      this.form.wkshopcode = ''
+      this.form.wkshopcode = []
       this.form.mesorderstus = ''
       this.form.mesordercode = ''
       this.form.partcode = ''
@@ -2472,7 +2474,7 @@
     },
     // 鏂板鎸夐挳
     async add(operation) {
-      const {data: res} = await AddMesOrderCodeSearch()
+      const { data: res } = await AddMesOrderCodeSearch()
       this.dialogForm.mesordercode = res
       this.operation = operation
       this.dialogVisible = true
@@ -2577,7 +2579,7 @@
         wocode: this.dialogForm.mesordercode,
         data_sources: this.dialogForm.data_sources
       }
-      const {data: res} = await UpdateMesOrderStepSearch(data)
+      const { data: res } = await UpdateMesOrderStepSearch(data)
       this.dialogForm.mesmaxqty = res.canupdate_qty
       this.stepTableData = res.stepdata
       // res.stepdata.forEach(i => {
@@ -2775,7 +2777,7 @@
         return this.$message.info('璇峰厛閫夋嫨宸ヨ壓璺嚎锛�')
       }
       this.dialogVisibleSearch = true
-      const {data: res} = await SelectRouteStep({routecode: this.dialogForm.routecode})
+      const { data: res } = await SelectRouteStep({ routecode: this.dialogForm.routecode })
       this.searchTableData = res
     },
     dialogVisibleSearchBack() {
@@ -2930,7 +2932,7 @@
     },
     // 琛ユ墦鐢熶骇鍏ュ簱鏉$爜
     async getProductInHouseLabCode(ordercode) {
-      const res = await ProductInHouseLabCode({ordercode})
+      const res = await ProductInHouseLabCode({ ordercode })
       console.log(res)
       this.isLastPrint = true
 
@@ -3091,7 +3093,7 @@
       this.dialogFormRoute.projectCode = row.partcode
       this.dialogFormRoute.projectName = row.partname
       this.dialogVisibleRoute = true
-      const {data: res} = await InventoryFileAssociationRoute({partcode: this.dialogFormRoute.projectCode})
+      const { data: res } = await InventoryFileAssociationRoute({ partcode: this.dialogFormRoute.projectCode })
       this.dialogFormRoute.routeOperationArr = res
 
       this.dialogFormRoute.routeOperationArr.forEach((item, index) => {
@@ -3133,7 +3135,7 @@
       const data = []
       this.dialogFormRoute.routeOperationArr.forEach(item => {
         if (item.isSelected2) {
-          data.push({code: item.code, name: item.name})
+          data.push({ code: item.code, name: item.name })
         }
       })
 
@@ -3176,7 +3178,7 @@
         wocode: row.wo_code,
         data_sources: row.data_sources
       }
-      const {data: res} = await UpdateMesOrderStepSearch(data)
+      const { data: res } = await UpdateMesOrderStepSearch(data)
       this.tableDataDetail = res.stepdata
     },
     // 宸ュ簭鍒犻櫎
@@ -3197,10 +3199,10 @@
     },
     printMe2StylePadding(val) {
       if (val === 0) {
-        return {paddingLeft: '10px', paddingTop: '5px'}
+        return { paddingLeft: '10px', paddingTop: '5px' }
       }
       if (val === 5) {
-        return {paddingLeft: '15px', paddingTop: '7px'}
+        return { paddingLeft: '15px', paddingTop: '7px' }
       }
     },
 

--
Gitblit v1.9.3