From 0159c69171860516e9476bd77285329e9d507ec8 Mon Sep 17 00:00:00 2001
From: loulijun2021 <1694218219@qq.com>
Date: 星期四, 01 九月 2022 10:42:21 +0800
Subject: [PATCH] 工单新增 关联工艺路线功能

---
 src/views/scgl/sckbg.vue |  215 +++++++++++++++++++++++++++++++++++------------------
 1 files changed, 140 insertions(+), 75 deletions(-)

diff --git a/src/views/scgl/sckbg.vue b/src/views/scgl/sckbg.vue
index a58b000..0736e29 100644
--- a/src/views/scgl/sckbg.vue
+++ b/src/views/scgl/sckbg.vue
@@ -145,18 +145,23 @@
               <el-table-column
                 prop="plan_startdate"
                 label="璁″垝寮�宸ユ棩鏈�"
-                width="185"
+                width="150"
                 sortable="custom"
-              />
+              >
+                <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="璁″垝瀹屽伐鏃ユ湡"
-                width="185"
+                width="150"
                 sortable="custom"
                 fixed="right"
               >
                 <template slot-scope="{row}">
-                  <div v-if="row.plan_startdate">{{ row.plan_startdate }}</div>
+                  <div v-if="row.plan_startdate">{{ row.plan_startdate.substring(0,11) }}</div>
                   <div v-else>/</div>
                 </template>
               </el-table-column>
@@ -339,18 +344,23 @@
               <el-table-column
                 prop="plan_startdate"
                 label="璁″垝寮�宸ユ棩鏈�"
-                width="185"
+                width="150"
                 sortable="custom"
-              />
+              >
+                <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="璁″垝瀹屽伐鏃ユ湡"
-                width="185"
+                width="150"
                 sortable="custom"
                 fixed="right"
               >
                 <template slot-scope="{row}">
-                  <div v-if="row.plan_startdate">{{ row.plan_startdate }}</div>
+                  <div v-if="row.plan_startdate">{{ row.plan_startdate.substring(0,11) }}</div>
                   <div v-else>/</div>
                 </template>
               </el-table-column>
@@ -415,26 +425,25 @@
               <el-table-column
                 prop="wo_code"
                 label="宸ュ崟鍙�"
-                width="160"
+                min-width="160"
                 sortable="custom"
               />
               <el-table-column
                 prop="partcode"
                 label="浜у搧缂栫爜"
-                width="110"
+                min-width="110"
                 sortable="custom"
               />
               <el-table-column
                 prop="partname"
-                width="160"
+                min-width="160"
                 label="浜у搧鍚嶇О"
-                show-tooltip-when-overflow
                 sortable="custom"
               />
               <el-table-column
                 prop="stepname"
                 label="宸ュ簭"
-                width="120"
+                min-width="120"
                 sortable="custom"
               />
               <el-table-column
@@ -617,6 +626,23 @@
               :key="item.code"
               :label="item.name"
               :value="item.code"
+            />
+          </el-select>
+        </el-form-item>
+        <!--        <el-form-item v-if="dialogTitle==='鑷埗鎶ュ伐'" label="鎶ュ伐浜哄憳锛�">-->
+        <!--          <el-input v-model="dialogForm.remarks" type="textarea" style="width: 200px;" />-->
+        <!--        </el-form-item>-->
+        <el-form-item v-if="dialogTitle==='鑷埗鎶ュ伐'" label="鎶ュ伐浜猴細">
+          <el-select
+            v-model="dialogForm.operation"
+            style="width: 200px;"
+            placeholder="璇烽�夋嫨"
+          >
+            <el-option
+              v-for="item in OperationArr"
+              :key="item.usercode"
+              :label="item.username"
+              :value="item.usercode"
             />
           </el-select>
         </el-form-item>
@@ -803,8 +829,8 @@
         <el-form-item
           v-if="dialogTitle==='澶栧崗鏀舵枡'"
           label="涓嶈壇鍘熷洜锛�"
-          prop="badcode"
         >
+          <!--          prop="badcode"-->
           <el-select
             v-model="dialogForm.badcode"
             style="width: 200px;"
@@ -817,6 +843,20 @@
               :key="item.code"
               :label="item.name"
               :value="item.code"
+            />
+          </el-select>
+        </el-form-item>
+        <el-form-item v-if="dialogTitle==='澶栧崗鏀舵枡'" label="鏀舵枡浜猴細">
+          <el-select
+            v-model="dialogForm.operation"
+            style="width: 200px;"
+            placeholder="璇烽�夋嫨"
+          >
+            <el-option
+              v-for="item in OperationArr"
+              :key="item.usercode"
+              :label="item.username"
+              :value="item.usercode"
             />
           </el-select>
         </el-form-item>
@@ -835,7 +875,7 @@
       </span>
     </el-dialog>
 
-    <!--鎵撳嵃棰勮椤甸潰-->
+    <!--鎵撳嵃棰勮椤甸潰  灏忔爣绛�-->
     <el-dialog
       title="棰勮"
       :visible.sync="dialogVisible2"
@@ -847,52 +887,60 @@
       <!-- 瑕佹墦鍗扮殑鍖哄煙 -->
       <div id="printMe2" style="padding: 30px;">
         <div
-          style="display: flex;width: 300px;height: 150px;border: 1px solid #000;text-align: center;font-size: 10px;"
+          style="display: flex;width: 280px;height: 150px;border: 1px solid #000;text-align: center;font-size: 10px;"
         >
-          <div style="width: 80px;display: flex;flex-direction: column;border-right: 1px solid #000">
+
+          <div style="width: 90px;display: flex;flex-direction: column;border-right: 1px solid #000">
             <div
-              style="display: flex;height: 120px;border-bottom:1px solid #000;justify-content: center;align-items: center "
+              style="display: flex;height: 90px;border-bottom:1px solid #000;
+              justify-content: center;align-items: center;position: relative"
             >
-              <div id="qrCode2" ref="qrCodeDiv2" />
+              <div id="qrCode2" ref="qrCodeDiv2" style="overflow-y: hidden;height:60px;position: absolute;left: 14px;" />
+            </div>
+            <div style="display: flex;height: 30px;justify-content: flex-start;border-bottom:1px solid #000;align-items: center">
+              <div style="margin-left: 5px;width: 28px">鏁伴噺:</div>
+              {{ qrForm.startqty }}
             </div>
             <div style="display: flex;height: 30px;justify-content: flex-start;align-items: center">
-              <div style="margin-left: 5px;width: 30px">鏁伴噺:</div>
-              10000
-              <!--              {{ qrForm.startqty }}-->
+              <div style="margin-left: 5px;width: 42px">澶勭悊浜�:</div>
+              {{ qrForm.operator }}
             </div>
           </div>
 
-          <div style="width:220px;display: flex;flex-direction: column">
+          <div style="width:190px;display: flex;flex-direction: column">
             <div
-              style="display: flex;height: 25%;border-bottom:1px solid #000;justify-content: flex-start;align-items: center;text-align: left"
+              style="display: flex;height: 20%;border-bottom:1px solid #000;justify-content: flex-start;align-items: center;text-align: left"
             >
               <div style="width: 60px;margin-left: 5px;">宸ュ崟缂栧彿:</div>
               <div>{{ qrForm.wo_code }}</div>
             </div>
             <div
-              style="display: flex;height: 25%;border-bottom:1px solid #000;justify-content: flex-start;align-items: center ;text-align: left"
+              style="display: flex;height: 20%;border-bottom:1px solid #000;justify-content: flex-start;align-items: center ;text-align: left"
             >
               <div style="width: 60px;margin-left: 5px;">浜у搧缂栫爜:</div>
               <div>{{ qrForm.partcode }}</div>
             </div>
             <div
-              style="display: flex;height: 25%;border-bottom:1px solid #000 ;justify-content: flex-start;align-items: center;text-align: left"
+              style="display: flex;height: 20%;border-bottom:1px solid #000 ;justify-content: flex-start;align-items: center;text-align: left"
             >
               <div style="width:60px;margin-left: 5px;">浜у搧鍚嶇О:</div>
               <div>{{ qrForm.partname }}</div>
             </div>
-            <div style="display: flex;height: 25%;justify-content: flex-start;align-items: center;text-align: left">
-              <div style="width: 60px;margin-left: 5px;">涓嬮亾宸ュ簭:</div>
+            <div
+              style="display: flex;height: 20%;border-bottom:1px solid #000 ;justify-content: flex-start;align-items: center;text-align: left"
+            >
+              <div style="width:60px;margin-left: 5px;">涓嬮亾宸ュ簭:</div>
               <div>{{ qrForm.nextstepname }}</div>
             </div>
+            <div style="display: flex;height: 20%;justify-content: flex-start;align-items: center;text-align: left">
+              <div style="width: 60px;margin-left: 5px;">澶勭悊鏃堕棿:</div>
+              <div>{{ qrForm.operatorTime }}</div>
+            </div>
 
-            <!--            {{ qrForm.operator }}-->
-            <!--            {{ qrForm.operatorTime }}-->
           </div>
 
         </div>
       </div>
-
       <span slot="footer" class="dialog-footer">
         <div class="footerButton">
           <el-button @click="dialogVisible2 = false">鍙� 娑�</el-button>
@@ -952,7 +1000,7 @@
             placeholder="璇烽�夋嫨"
           >
             <el-option
-              v-for="item in badOperationArr"
+              v-for="item in OperationArr"
               :key="item.usercode"
               :label="item.username"
               :value="item.usercode"
@@ -1020,8 +1068,8 @@
           />
           <el-table-column
             prop="repair_qty"
-            label="缁翠慨鏁伴噺"
-            width="90"
+            label="缁翠慨鍚堟牸鏁伴噺"
+            width="110"
           >
             <template slot-scope="{row}">
               <!--              {{ row.repair_qty }}-->
@@ -1184,6 +1232,7 @@
 
         startqtySum: '', // 涓嶈兘瓒呰繃鐨勬暟鍊�
 
+        operation: getCookie('navTabId'), // 鎶ュ伐浜猴紙鏀舵枡浜猴級
         remarks: ''// 澶囨敞
 
       },
@@ -1276,7 +1325,8 @@
         operation: getCookie('navTabId')
       },
       badTableDataDialog: [], // 涓嶈壇瀵硅瘽妗唗able琛ㄦ牸
-      badOperationArr: [] // 缁翠慨浜哄憳鏁扮粍
+      OperationArr: [], // 浜哄憳鏁扮粍
+      sendButtonIsDisabled: false// 涓嬭揪鎸夐挳鏄惁鍙偣鍑�
     }
   },
   // computed: {
@@ -1307,6 +1357,8 @@
     })
     // webapp_urlprotocol_startup()
     // webapp_ws_autoupdate(true)
+
+    this.getMesOrderSelectUserAll() // 鑾峰彇鎵�鏈変汉鍛�
   },
   methods: {
     tableRowClassName({ row, rowIndex }) {
@@ -1573,7 +1625,7 @@
     // 鐢熶骇鐝粍涓嬫媺鏀瑰彉
     usergroupChange(val) {
       this.dialogForm.usergroupcode = val
-      this.getUserTableData()
+      this.getMesOrderSelectUserZZ2()
     },
     // 鑾峰彇鑷埗鎶ュ伐鐢熶骇鐝粍涓嬫媺鍒楄〃
     async getMesOrderStepReportSelectUserGroup() {
@@ -1584,6 +1636,11 @@
     async getMesOrderSelectUserZZ() {
       const { data: res } = await MesOrderSelectUser({ usercode: this.dialogForm.usergroupcode })
       this.ZZuserArr = res
+    },
+    async getMesOrderSelectUserZZ2() {
+      const { data: res } = await MesOrderSelectUser({ usercode: '' })
+      this.ZZuserArr = res
+      await this.getUserTableData()
     },
     // 鑾峰彇鑷埗鐢熶骇璁惧涓嬫媺
     async getMesOrderStepStartSelectEqp() {
@@ -1622,6 +1679,8 @@
         item.isVisible = 0
         item.number = number
       })
+
+      this.ZZuserArr = [...this.ZZuserArr].filter(x => [...this.userTableData].every(y => y.usercode !== x.usercode))
     },
     // 鐢ㄦ埛娣诲姞
     userAdd() {
@@ -1632,6 +1691,11 @@
     },
     // 鐢ㄦ埛鍒楄〃鍒犻櫎
     userDel(row) {
+      this.ZZuserArr.splice(0, 0, {
+        usercode: row.usercode,
+        username: row.username
+      })
+
       this.userTableData.forEach((item, index) => {
         if (item.number === row.number) {
           this.userTableData.splice(index, 1)
@@ -1644,6 +1708,13 @@
       if (row.usercode === '') {
         return this.$message.info('浜哄憳鍚嶇О涓嶈兘涓虹┖锛�')
       }
+
+      this.ZZuserArr.forEach((item, index) => {
+        if (item.usercode === row.usercode) {
+          this.ZZuserArr.splice(index, 1)
+        }
+      })
+
       this.userTableData.forEach(item => {
         if (item.number === row.number) {
           item.isVisible = 0
@@ -1710,7 +1781,7 @@
       this.dialogForm.nextstepcode = '' // 涓嬮亾宸ュ簭缂栫爜
 
       this.dialogForm.remarks = '' // 澶囨敞
-
+      this.dialogForm.operation = getCookie('navTabId') // 鎶ュ伐浜猴紙鏀舵枡浜猴級
       this.userTableData = [] // 浜哄憳鍒楄〃
 
       this.$refs.dialogForm.clearValidate()
@@ -1776,12 +1847,12 @@
             SavaMesOrderStepIn(data).then(res => {
               if (res.code === '200') {
                 this.$message.success('鏀舵枡鎴愬姛锛�')
-                this.dialogVisible = false
 
                 if (this.dialogForm.nextstepcode !== '') {
-                  this.WXprint2()
+                  this.WXprint2(this.OperationArr.find(item => item.usercode === this.dialogForm.operation).username)
                   this.dialogVisible2 = true
                 }
+                this.dialogVisible = false
                 this.tabClick()
               } else {
                 this.$message.error('鏀舵枡澶辫触!')
@@ -1852,13 +1923,13 @@
             SavaMesOrderStepReport(data).then(res => {
               if (res.code === '200') {
                 this.$message.success('鎶ュ伐鎴愬姛锛�')
-                this.dialogVisible = false
 
                 console.log(this.dialogForm.nextstepcode, 1)
                 if (this.dialogForm.nextstepcode !== '') {
-                  this.ZZprint2()
+                  this.ZZprint2(this.OperationArr.find(item => item.usercode === this.dialogForm.operation).username)
                   this.dialogVisible2 = true
                 }
+                this.dialogVisible = false
                 this.tabClick()
               } else {
                 this.$message.error('鎶ュ伐澶辫触!')
@@ -1872,35 +1943,37 @@
     bindQRCode(text) {
       new QRCode(this.$refs.qrCodeDiv2, {
         text: text,
-        width: 50,
-        height: 50,
+        // width: 50,
+        width: 60,
+        // height: 50,
+        height: 60,
         colorDark: '#000', // 浜岀淮鐮侀鑹�
         colorLight: '#ffffff', // 浜岀淮鐮佽儗鏅壊
         correctLevel: QRCode.CorrectLevel.L// 瀹归敊鐜囷紝L/M/H
       })
     },
-    ZZprint2() {
+    ZZprint2(username) {
       this.qrForm.qrvalue = this.dialogForm.wo_code + ';' + this.dialogForm.nextstepcode
       this.qrForm.startqty = this.dialogForm.startqty
       this.qrForm.wo_code = this.dialogForm.wo_code
       this.qrForm.partcode = this.dialogForm.partcode
       this.qrForm.partname = this.dialogForm.partname
       this.qrForm.nextstepname = this.dialogForm.nextstepname
-
+      this.qrForm.operator = username
+      this.qrForm.operatorTime = handleDatetime2(new Date())
       this.$nextTick(() => {
         this.bindQRCode(this.qrForm.qrvalue)
-        console.log(this.$refs.qrCodeDiv2, 123)
-        // console.log(this.$refs.qrCodeDiv2.querySelectorAll('#qrCode2>img'), 1)
-        // console.log(this.$refs.qrCodeDiv2.querySelectorAll('#qrCode2>canvas'), 2)
       })
     },
-    WXprint2() {
+    WXprint2(username) {
       this.qrForm.qrvalue = this.dialogForm.wo_code + ';' + this.dialogForm.nextstepcode
       this.qrForm.startqty = this.dialogForm.sqty
       this.qrForm.wo_code = this.dialogForm.wo_code
       this.qrForm.partcode = this.dialogForm.partcode
       this.qrForm.partname = this.dialogForm.partname
       this.qrForm.nextstepname = this.dialogForm.nextstepname
+      this.qrForm.operator = username
+      this.qrForm.operatorTime = handleDatetime2(new Date())
       this.$nextTick(() => {
         this.bindQRCode(this.qrForm.qrvalue)
       })
@@ -1912,7 +1985,9 @@
       this.qrForm.partcode = ''
       this.qrForm.partname = ''
       this.qrForm.nextstepname = ''
-      this.$refs.qrCodeDiv2 = ''
+      this.qrForm.operator = ''
+      this.qrForm.operatorTime = ''
+      // this.$refs.qrCodeDiv2 = ''
     },
 
     // 鑾峰彇椤甸潰楂樺害
@@ -1940,21 +2015,15 @@
       const data = {
         Data: this.badTableDataDialog
       }
-      // console.log(JSON.stringify(data), 1)
-      // console.log(this.badDialogForm.operation, 1)
-      // this.badPrintOperator =
-      this.badPrint(this.badOperationArr.find(item => item.usercode === this.badDialogForm.operation).username)
-      this.dialogVisible2 = true
-
-      // EditOrderNgStepSeave(data, this.badDialogForm.operation).then(res => {
-      //   if (res.code === '200' || res.code === '301') {
-      //     this.getBadList()
-      //     this.badDialogVisible = false
-      //     this.badPrint(this.badOperationArr.find(item => item.usercode === this.badDialogForm.operation).username)
-      //     this.dialogVisible2 = true
-      //     return this.$message.success('淇濆瓨鎴愬姛锛�')
-      //   }
-      // })
+      EditOrderNgStepSeave(data, this.badDialogForm.operation).then(res => {
+        if (res.code === '200' || res.code === '301') {
+          this.getBadList()
+          this.badDialogVisible = false
+          this.badPrint(this.OperationArr.find(item => item.usercode === this.badDialogForm.operation).username)
+          this.dialogVisible2 = true
+          return this.$message.success('淇濆瓨鎴愬姛锛�')
+        }
+      })
     },
     badPrint(username) {
       this.qrForm.qrvalue = this.badDialogForm.wo_code + ';' + this.badDialogForm.nextstepcode
@@ -1976,12 +2045,12 @@
       this.badDialogForm.operation = getCookie('navTabId')
       this.badTableDataDialog = []
     },
+    async  getMesOrderSelectUserAll() {
+      const { data: res } = await MesOrderSelectUser({ usercode: '' })
+      this.OperationArr = res
+    },
     // 鐐瑰嚮缁翠慨澶勭悊鎸夐挳  鎴�  鎵弿鏉$爜鐨勬壂鎻忓洖杞︿簨浠�
     async repairHandle(row) {
-      const { data: res1 } = await MesOrderSelectUser({ usercode: '' })
-      this.badOperationArr = res1
-
-      console.log(row)
       let data
       if (row.wo_code) {
         data = {
@@ -2047,10 +2116,6 @@
       })
     },
     badSave(row) {
-      console.log(row, 1)
-      // console.log(parseFloat(row.bad_qty) + parseFloat(row.repair_qty), 2)
-      // console.log(parseFloat(row.ng_qty), 2)
-      // console.log(parseFloat(row.bad_qty) + parseFloat(row.repair_qty) > parseFloat(row.ng_qty), 2)
       if (parseFloat(row.bad_qty) + parseFloat(row.repair_qty) > parseFloat(row.ng_qty)) {
         this.badCancel(row)
         return this.$message.info('缁翠慨鏁伴噺涓庢姤搴熸暟閲忎箣鍜屼笉鑳藉ぇ浜庝笉鑹暟閲忥紒')
@@ -2058,8 +2123,8 @@
       this.badTableDataDialog.forEach((item, index) => {
         if (item.id === row.id && item.m_id === row.m_id) {
           this.badTableDataDialog.splice(index, 1, {
-            bad_qty: row.bad_qty,
-            repair_qty: row.repair_qty,
+            bad_qty: parseFloat(row.bad_qty),
+            repair_qty: parseFloat(row.repair_qty),
             isVisible: 0,
             defect_code: row.defect_code,
             defect_name: row.defect_name,

--
Gitblit v1.9.3