From 46528c3843ce67038ddb2e00dd3d3998c206a69e Mon Sep 17 00:00:00 2001
From: loulijun2021 <1694218219@qq.com>
Date: 星期一, 06 五月 2024 17:26:10 +0800
Subject: [PATCH] 1.递交

---
 src/views/workOrder/workOrderList.vue |  254 +++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 188 insertions(+), 66 deletions(-)

diff --git a/src/views/workOrder/workOrderList.vue b/src/views/workOrder/workOrderList.vue
index 5bf0fb9..af688a1 100644
--- a/src/views/workOrder/workOrderList.vue
+++ b/src/views/workOrder/workOrderList.vue
@@ -20,6 +20,22 @@
           style="display: flex;"
         >
           <div class="elForm">
+            <el-form-item label="杞﹂棿鍚嶇О" style=" display: flex;">
+              <el-select
+                v-model="form.wkshopcode"
+                filterable
+                :popper-append-to-body="false"
+                style="width: 200px"
+                placeholder="璇烽�夋嫨"
+              >
+                <el-option
+                  v-for="item in wkshopcodeArr"
+                  :key="item.torg_code"
+                  :label="item.torg_name"
+                  :value="item.torg_code"
+                />
+              </el-select>
+            </el-form-item>
             <el-form-item label="宸ュ崟鐘舵��" style=" display: flex;">
               <el-select
                 v-model="form.mesorderstus"
@@ -43,7 +59,7 @@
             <el-form-item label="婧愬崟鍗曞彿" style="display: flex;">
               <el-input v-model="form.sourceorder" style="width: 200px" placeholder="璇疯緭鍏�" />
             </el-form-item>
-            <el-form-item label="閿�鍞鍗�" style="display: flex;">
+            <el-form-item v-show="isExpandForm" label="閿�鍞鍗�" style="display: flex;">
               <el-input v-model="form.saleordercode" style="width: 200px" placeholder="璇疯緭鍏�" />
             </el-form-item>
             <el-form-item v-show="isExpandForm" label="鍗曟嵁绫诲瀷" style=" display: flex;">
@@ -247,6 +263,18 @@
             width="100"
           />
           <el-table-column
+            prop="clerkuser"
+            label="閿�鍞笟鍔″憳"
+            sortable="custom"
+            show-tooltip-when-overflow
+            width="150"
+          >
+            <template slot-scope="{row}">
+              <div v-if="row.clerkuser">{{ row.clerkuser }}</div>
+              <div v-else>/</div>
+            </template>
+          </el-table-column>
+          <el-table-column
             prop="wkshp_name"
             label="鐢熶骇杞﹂棿"
             show-tooltip-when-overflow
@@ -269,13 +297,13 @@
               <div v-else>/</div>
             </template>
           </el-table-column>
-          <el-table-column
-            prop="data_sources"
-            show-tooltip-when-overflow
-            label="鏁版嵁鏉ユ簮"
-            sortable="custom"
-            width="120"
-          />
+          <!--          <el-table-column-->
+          <!--            prop="data_sources"-->
+          <!--            show-tooltip-when-overflow-->
+          <!--            label="鏁版嵁鏉ユ簮"-->
+          <!--            sortable="custom"-->
+          <!--            width="120"-->
+          <!--          />-->
 
           <el-table-column
             prop="lm_user"
@@ -404,6 +432,11 @@
             width="150"
           />
           <el-table-column
+            label="宸ュ簭鍗曚环"
+            show-tooltip-when-overflow
+            prop="stepprice"
+          />
+          <el-table-column
             label="宸茬敓浜ф暟閲�"
             show-tooltip-when-overflow
             prop="produceq_qty"
@@ -467,7 +500,7 @@
     <!--鏂板娲惧彂瀵硅瘽妗�-->
     <el-dialog
       v-el-drag-dialog
-      :title="operation==='add'?'鏂板':'娲惧彂'"
+      :title="operation==='add'?'鏂板':(operation==='edit'?'淇敼':'璇︽儏')"
       :visible.sync="dialogVisible"
       width="1200px"
       top="8vh"
@@ -599,6 +632,7 @@
             :popper-append-to-body="false"
             style="width: 200px;"
             placeholder="璇烽�夋嫨杞﹂棿"
+            @change="getMesOrderNewStepContent"
           >
             <el-option
               v-for="item in wkshopArr"
@@ -634,6 +668,7 @@
             placeholder="璇烽�夋嫨鐩稿搴斿伐搴�"
             @change="stepSelectedValueChange"
           >
+            <!--            :disabled="!(dialogForm.mesorderstus==='NEW'||dialogForm.mesorderstus==='ALLO')"-->
             <el-option
               v-for="item in stepSelectArr"
               :key="item.stepcode"
@@ -720,7 +755,7 @@
           <el-button v-waves @click="dialogVisibleCancel">鍙� 娑�</el-button>
           <!--          <el-button v-waves v-if="operation==='add'" type="primary" @click="dialogVisibleConfirmPreview('add')">棰勮</el-button>-->
           <el-button
-            v-if="operation!=='view'"
+            v-if="operation!=='view'&&(dialogForm.mesorderstus==='NEW'||dialogForm.mesorderstus==='ALLO')"
             v-waves
             type="primary"
             :loading="$store.state.app.buttonIsDisabled"
@@ -883,24 +918,40 @@
             <!--                size="mini"-->
             <!--              />-->
             <!--            </el-form-item>-->
-            <el-form-item label="宸ュ崟鐘舵��" style=" display: flex;">
+            <!--            <el-form-item label="宸ュ崟鐘舵��" style=" display: flex;">-->
+            <!--              <el-select-->
+            <!--                v-model="sourceForm.mesordercode"-->
+            <!--                filterable-->
+            <!--                :popper-append-to-body="false"-->
+            <!--                style="width: 200px"-->
+            <!--                placeholder="璇烽�夋嫨"-->
+            <!--              >-->
+            <!--                <el-option-->
+            <!--                  v-for="item in erporderstusArr"-->
+            <!--                  :key="item.code"-->
+            <!--                  :label="item.name"-->
+            <!--                  :value="item.code"-->
+            <!--                />-->
+            <!--              </el-select>-->
+            <!--            </el-form-item>-->
+            <el-form-item label="杞﹂棿鍚嶇О" style=" display: flex;">
               <el-select
-                v-model="sourceForm.mesordercode"
+                v-model="sourceForm.wkshopcode"
                 filterable
                 :popper-append-to-body="false"
                 style="width: 200px"
                 placeholder="璇烽�夋嫨"
               >
                 <el-option
-                  v-for="item in erporderstusArr"
-                  :key="item.code"
-                  :label="item.name"
-                  :value="item.code"
+                  v-for="item in wkshopcodeArr"
+                  :key="item.torg_code"
+                  :label="item.torg_name"
+                  :value="item.torg_code"
                 />
               </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.mesordercode" placeholder="璇疯緭鍏�" style="width: 200px" />
             </el-form-item>
             <el-form-item label="浜у搧缂栫爜" style=" display: flex;">
               <el-input v-model="sourceForm.partcode" style="width: 200px" placeholder="璇疯緭鍏�" />
@@ -909,9 +960,9 @@
             <el-form-item v-show="isExpandDialog" label="浜у搧鍚嶇О" style=" display: flex;">
               <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-form-item>
+            <!--            <el-form-item v-show="isExpandDialog" label="浜у搧瑙勬牸" style=" display: flex;">-->
+            <!--              <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-form-item>
@@ -967,10 +1018,10 @@
       <div class="elTableDiv">
         <el-table
           :data="sourceTableData"
-          :height="isExpandDialog?(tableHeight+60)+'px':(tableHeight+140)+'px'"
+          :height="isExpandDialog?(tableHeight+100)+'px':(tableHeight+140)+'px'"
           border
           :row-class-name="tableRowClassName"
-          :style="{width: 100+'%',height:isExpandDialog?(tableHeight+60)+'px':(tableHeight+140)+'px',}"
+          :style="{width: 100+'%',height:isExpandDialog?(tableHeight+100)+'px':(tableHeight+140)+'px',}"
           highlight-current-row
           :header-cell-style="this.$headerCellStyle"
           :cell-style="this.$cellStyle"
@@ -995,7 +1046,7 @@
             </template>
           </el-table-column>
           <el-table-column
-            prop="RowNum"
+            prop="rowNum"
             width="50"
             fixed
             label="搴忓彿"
@@ -1061,8 +1112,15 @@
           />
 
           <el-table-column
-            prop="bad_qty"
-            label="鎶ュ簾鏁伴噺"
+            prop="laborbad_qty"
+            label="宸ュ簾鏁伴噺"
+            width="150"
+            show-tooltip-when-overflow
+            sortable="custom"
+          />
+          <el-table-column
+            prop="materielbad_qty"
+            label="鏂欏簾鏁伴噺"
             width="150"
             show-tooltip-when-overflow
             sortable="custom"
@@ -1087,30 +1145,30 @@
               <div v-else>/</div>
             </template>
           </el-table-column>
-          <el-table-column
-            prop="plan_startdate"
-            label="棰勮寮�宸ユ椂闂�"
-            show-tooltip-when-overflow
-            sortable="custom"
-            width="130"
-          >
-            <template slot-scope="{row}">
-              <div v-if="row.plan_startdate">{{ row.plan_startdate.substring(0, 11) }}</div>
-              <div v-else>/</div>
-            </template>
-          </el-table-column>
-          <el-table-column
-            prop="plan_enddate"
-            label="棰勮瀹屽伐鏃堕棿"
-            show-tooltip-when-overflow
-            sortable="custom"
-            width="130"
-          >
-            <template slot-scope="{row}">
-              <div v-if="row.plan_enddate">{{ row.plan_enddate.substring(0, 11) }}</div>
-              <div v-else>/</div>
-            </template>
-          </el-table-column>
+          <!--          <el-table-column-->
+          <!--            prop="plan_startdate"-->
+          <!--            label="棰勮寮�宸ユ椂闂�"-->
+          <!--            show-tooltip-when-overflow-->
+          <!--            sortable="custom"-->
+          <!--            width="130"-->
+          <!--          >-->
+          <!--            <template slot-scope="{row}">-->
+          <!--              <div v-if="row.plan_startdate">{{ row.plan_startdate.substring(0, 11) }}</div>-->
+          <!--              <div v-else>/</div>-->
+          <!--            </template>-->
+          <!--          </el-table-column>-->
+          <!--          <el-table-column-->
+          <!--            prop="plan_enddate"-->
+          <!--            label="棰勮瀹屽伐鏃堕棿"-->
+          <!--            show-tooltip-when-overflow-->
+          <!--            sortable="custom"-->
+          <!--            width="130"-->
+          <!--          >-->
+          <!--            <template slot-scope="{row}">-->
+          <!--              <div v-if="row.plan_enddate">{{ row.plan_enddate.substring(0, 11) }}</div>-->
+          <!--              <div v-else>/</div>-->
+          <!--            </template>-->
+          <!--          </el-table-column>-->
           <el-table-column
             prop="lm_user"
             label="鍒涘缓浜哄憳"
@@ -1923,12 +1981,12 @@
 import {
   AddMesOrderCodeSearch,
   AddUpdateMesOrder, DeleteMesOrder,
-  MesBadOrderSearch, MesOrderDistribution,
+  MesBadOrderSearch, MesOrderDistribution, MesOrderNewStepContent,
   MesOrderSearch,
   UpdateMesOrderStepSearch
 } from '@/api/WorkOrder'
 import { PartSelect } from '@/api/ProductModel'
-import { PrentOrganization, StepData } from '@/api/GeneralBasicData'
+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
@@ -1949,6 +2007,7 @@
       tableHeight: 0,
       username: '',
       form: {
+        wkshopcode: '', // 杞﹂棿缂栫爜
         mesorderstus: '', // 宸ュ崟鐘舵�佺爜
         mesordercode: '', // 宸ュ崟缂栧彿
         partcode: '', // 浜у搧缂栫爜
@@ -1974,6 +2033,7 @@
         // { code: 'NOSCHED', name: '寰呮帓绋�' },
         // { code: 'SCHED', name: '宸叉帓绋�' }
       ],
+      wkshopcodeArr: [],
       total: 10,
       tableData: [],
       dialogVisible: false,
@@ -2120,6 +2180,7 @@
       dialogVisibleSource: false,
       sourceTableData: [],
       sourceForm: {
+        wkshopcode: '', // 杞﹂棿缂栫爜
         mesordercode: '', // 宸ュ崟缂栧彿
         sourceorder: '', // 璁㈠崟缂栧彿
         saleordercode: '', // 閿�鍞鍗曞彿
@@ -2242,8 +2303,13 @@
       this.getMesOrderSearch().then(res => {
         if (res.code === '200') {
           this.getSelect()
+          this.getPrentOrganizationNoCompany()
         }
       })
+    },
+    async getPrentOrganizationNoCompany() {
+      const { data: res } = await PrentOrganizationNoCompany()
+      this.wkshopcodeArr = res
     },
     async getMesOrderSearch() {
       // let tempDate = this.form.createdate
@@ -2252,6 +2318,7 @@
       // }
 
       const data = {
+        wkshopcode: this.form.wkshopcode,
         mesorderstus: this.form.mesorderstus, // 宸ュ崟鐘舵�佺爜
         mesordercode: this.form.mesordercode, // 宸ュ崟缂栧彿
         partcode: this.form.partcode, // 浜у搧缂栫爜
@@ -2323,6 +2390,7 @@
 
     // 閲嶇疆
     reset(val) {
+      this.form.wkshopcode = ''
       this.form.mesorderstus = ''
       this.form.mesordercode = ''
       this.form.partcode = ''
@@ -2370,6 +2438,10 @@
     },
     // 娲惧彂
     send() {
+      if (this.multipleSelection.length === 0) {
+        return this.$message.info('璇峰厛鍕鹃�夌浉瀵瑰簲鐨勫伐鍗曪紒')
+      }
+
       this.$confirm('鏄惁纭娲惧彂?', '鎻愮ず', {
         confirmButtonText: '纭畾',
         cancelButtonText: '鍙栨秷',
@@ -2378,9 +2450,6 @@
         MesOrderDistribution(this.multipleSelection).then(res => {
           if (res.code === '200') {
             this.$notify.success('娲惧彂鎴愬姛!')
-            if (this.form.page > 1 && this.tableData.length === 1) {
-              this.form.page--
-            }
             this.getMesOrderSearch()
           }
         })
@@ -2444,16 +2513,36 @@
       const { data: res } = await UpdateMesOrderStepSearch(data)
       this.dialogForm.mesmaxqty = res.canupdate_qty
 
-      res.stepdata.forEach(i => {
-        this.stepTableData.push(
-          {
-            stepcode: i.step_code,
-            stepname: i.stepname,
-            stepprice: i.stepprice
-          }
-        )
-      })
-      this.stepSelectedValue = this.stepTableData.map(i => i.stepcode)
+      if (res.stepdata.length > 0) {
+        res.stepdata.forEach(i => {
+          this.stepTableData.push(
+            {
+              stepcode: i.step_code,
+              stepname: i.stepname,
+              stepprice: i.stepprice
+            }
+          )
+        })
+        this.stepSelectedValue = this.stepTableData.map(i => i.stepcode)
+      } else {
+        const data2 = {
+          wkshopcode: this.dialogForm.wkshopcode,
+          partcode: this.dialogForm.partcode
+        }
+        const { data: res2 } = await MesOrderNewStepContent(data2)
+        if (res2.length > 0) {
+          res2.forEach(i => {
+            this.stepTableData.push(
+              {
+                stepcode: i.step_code,
+                // stepname: i.stepname,
+                stepprice: i.stepprice
+              }
+            )
+          })
+          this.stepSelectedValue = this.stepTableData.map(i => i.stepcode)
+        }
+      }
 
       this.dialogVisible = true
     },
@@ -2467,7 +2556,33 @@
       this.dialogForm.partname = this.partArr.find(item => item.partcode === val).partname
       this.dialogForm.partcode = this.partArr.find(item => item.partcode === val).partcode
       this.dialogForm.partspec = this.partArr.find(item => item.partcode === val).partspec
+      if (this.dialogForm.wkshopcode) {
+        this.getMesOrderNewStepContent()
+      }
     },
+    async  getMesOrderNewStepContent() {
+      const data = {
+        wkshopcode: this.dialogForm.wkshopcode,
+        partcode: this.dialogForm.partcode
+      }
+      const { data: res } = await MesOrderNewStepContent(data)
+      // console.log(res)
+      this.stepSelectedValue = []
+      this.stepTableData = []
+      if (res.length > 0) {
+        res.forEach(i => {
+          this.stepTableData.push(
+            {
+              stepcode: i.step_code,
+              // stepname: i.stepname,
+              stepprice: i.stepprice
+            }
+          )
+        })
+        this.stepSelectedValue = this.stepTableData.map(i => i.stepcode)
+      }
+    },
+
     // 瀵硅瘽妗嗗叧闂簨浠�
     handleClose() {
       this.dialogForm = {
@@ -2520,6 +2635,10 @@
               }
             )
           })
+
+          if (workListSub.length === 0) {
+            return this.$message.info('宸ュ簭涓嶈兘涓虹┖锛�')
+          }
 
           const data = {
             wostatus: this.dialogForm.mesorderstus, // 宸ュ崟鐘舵��
@@ -2816,9 +2935,10 @@
       }
 
       const data = {
+        wkshopcode: this.form.wkshopcode, // 杞﹂棿缂栫爜
         mesordercode: this.sourceForm.mesordercode, // 宸ュ崟缂栧彿
-        sourceorder: this.sourceForm.sourceorder, // 璁㈠崟璁㈠崟鍙�
-        saleordercode: this.sourceForm.sourceorder, // 璁㈠崟璁㈠崟鍙�
+        sourceorder: '', // 婧愬崟鍗曞彿
+        saleordercode: '', // 閿�鍞崟鍙�
         partcode: this.sourceForm.partcode, // 浜у搧缂栫爜
         partname: this.sourceForm.partname, // 浜у搧鍚嶇О
         partspec: this.sourceForm.partspec, // 浜у搧瑙勬牸
@@ -2851,6 +2971,7 @@
       this.getMesBadOrderSearch()
     },
     sourceReset() {
+      this.sourceForm.wkshopcode = ''
       this.sourceForm.mesordercode = ''
       this.sourceForm.sourceorder = ''
       this.sourceForm.partcode = ''
@@ -2865,6 +2986,7 @@
     dialogVisibleSourceClose() {
       this.radioSelectedId = ''
 
+      this.sourceForm.wkshopcode = ''
       this.sourceForm.mesordercode = ''
       this.sourceForm.sourceorder = ''
       this.sourceForm.partcode = ''

--
Gitblit v1.9.3