From 5cd77eba1672cac1858434d0e8488972562e1092 Mon Sep 17 00:00:00 2001
From: loulijun2021 <1694218219@qq.com>
Date: 星期三, 27 九月 2023 11:25:24 +0800
Subject: [PATCH] 1.工序报工80%

---
 src/views/produce/stepReport.vue |  488 ++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 458 insertions(+), 30 deletions(-)

diff --git a/src/views/produce/stepReport.vue b/src/views/produce/stepReport.vue
index 3c9081f..055d33e 100644
--- a/src/views/produce/stepReport.vue
+++ b/src/views/produce/stepReport.vue
@@ -142,6 +142,7 @@
                 fixed
               />
               <el-table-column
+                v-if="activeName!=='涓嶈壇寰呭鐞�'"
                 prop="status"
                 show-tooltip-when-overflow
                 label="鐘舵��"
@@ -204,17 +205,25 @@
                 show-tooltip-when-overflow
               />
               <el-table-column
+                v-if="activeName==='澶栧崗鍙戞枡'||activeName==='澶栧崗鏀舵枡'"
+                prop="fqty"
+                show-tooltip-when-overflow
+                label="宸插彂鏂欐暟閲�"
+                sortable="custom"
+                width="120"
+              />
+              <el-table-column
                 prop="good_qty"
                 show-tooltip-when-overflow
-                label="鍚堟牸鏁伴噺"
+                :label="activeName==='澶栧崗鍙戞枡'||activeName==='澶栧崗鏀舵枡'?'宸叉敹鏂欐暟閲�':'鍚堟牸鏁伴噺'"
                 sortable="custom"
-                width="160"
+                width="120"
               />
               <el-table-column
                 prop="ng_qty"
                 label="涓嶈壇鏁伴噺"
                 show-tooltip-when-overflow
-                width="150"
+                width="120"
                 sortable="custom"
               />
               <el-table-column
@@ -288,12 +297,12 @@
       :visible.sync="dialogVisible"
       width="1160px"
       :close-on-click-modal="false"
-      top="7vh"
+      :top="activeName==='鐢熶骇鍒楄〃'||activeName==='澶栧崗鏀舵枡'? '6vh':'15vh'"
       @closed="handleClose"
       @close="handleClose"
     >
       <el-form ref="dialogForm" inline :rules="dialogFormRules" :model="dialogForm" label-width="110px">
-        <el-divider content-position="left">鍩烘湰淇℃伅</el-divider>
+        <el-divider v-if="activeName==='鐢熶骇鍒楄〃'||activeName==='澶栧崗鏀舵枡'||activeName==='涓嶈壇寰呭鐞�'" content-position="left">鍩烘湰淇℃伅</el-divider>
         <el-form-item label="宸ュ崟缂栧彿" class="dialogFormItem">
           <div class="dialogFormItemDiv">{{ dialogForm.wo_code }}</div>
         </el-form-item>
@@ -315,21 +324,32 @@
         <el-form-item label="浠诲姟鏁伴噺" class="dialogFormItem">
           <div class="dialogFormItemDiv">{{ dialogForm.planqty }}</div>
         </el-form-item>
-        <el-form-item label="鏈姤/宸叉姤" class="dialogFormItem">
+
+        <el-form-item v-if="activeName==='涓嶈壇寰呭鐞�'" label="鍚堟牸鏁伴噺" class="dialogFormItem">
+          <div class="dialogFormItemDiv">{{ dialogForm.noreportqty }}</div>
+        </el-form-item>
+        <el-form-item v-if="activeName==='涓嶈壇寰呭鐞�'" label="涓嶈壇鏁伴噺" class="dialogFormItem">
+          <div class="dialogFormItemDiv">{{ dialogForm.noputqty }}</div>
+        </el-form-item>
+
+        <el-form-item
+          v-if="activeName!=='涓嶈壇寰呭鐞�'"
+          :label="activeName==='鐢熶骇鍒楄〃'? '鏈姤/宸叉姤':(activeName==='澶栧崗鍙戞枡'?'鏈彂/宸插彂':'鏈敹/宸叉敹')"
+          class="dialogFormItem"
+        >
           <div class="dialogFormItemDiv">{{ dialogForm.noreportqty + '/' + dialogForm.reportqty }}</div>
         </el-form-item>
 
-        <el-form-item label="涓嶈壇鏁伴噺" class="dialogFormItem">
+        <el-form-item v-if="activeName==='鐢熶骇鍒楄〃'||activeName==='澶栧崗鏀舵枡'" label="涓嶈壇鏁伴噺" class="dialogFormItem">
           <div class="dialogFormItemDiv" style="color:red;">{{ dialogForm.noputqty }}</div>
         </el-form-item>
 
-        <el-form-item prop="eqpcode" label="鎶ュ伐璁惧" class="dialogFormItem">
+        <el-form-item v-if="activeName==='鐢熶骇鍒楄〃'" prop="eqpcode" label="鎶ュ伐璁惧" class="dialogFormItem">
           <el-select
             v-model="dialogForm.eqpcode"
             style="width:200px"
             placeholder="璇烽�夋嫨"
             filterable
-
             :popper-append-to-body="false"
           >
             <el-option
@@ -341,7 +361,7 @@
           </el-select>
         </el-form-item>
 
-        <el-form-item label="璁′欢鏂瑰紡" class="dialogFormItem">
+        <el-form-item v-if="activeName==='鐢熶骇鍒楄〃'" label="璁′欢鏂瑰紡" class="dialogFormItem">
           <el-radio-group
             v-model="dialogForm.reckway"
             style="width: 200px;"
@@ -352,7 +372,12 @@
           </el-radio-group>
         </el-form-item>
 
-        <el-form-item :prop="dialogForm.reckway==='group'?'usergroupcode':''" label="鎶ュ伐鐝粍" class="dialogFormItem">
+        <el-form-item
+          v-if="activeName==='鐢熶骇鍒楄〃'"
+          :prop="dialogForm.reckway==='group'?'usergroupcode':''"
+          label="鎶ュ伐鐝粍"
+          class="dialogFormItem"
+        >
           <el-select
             v-model="dialogForm.usergroupcode"
             style="width:200px"
@@ -370,7 +395,7 @@
             />
           </el-select>
         </el-form-item>
-        <el-form-item prop="reportuser" label="鎶ュ伐浜哄憳" class="dialogFormItem">
+        <el-form-item v-if="activeName==='鐢熶骇鍒楄〃'" prop="reportuser" label="鎶ュ伐浜哄憳" class="dialogFormItem">
           <el-select
             v-model="dialogForm.reportuser"
             style="width:200px"
@@ -390,25 +415,82 @@
             />
           </el-select>
         </el-form-item>
-        <el-form-item prop="startqty" label="鍚堟牸鏁伴噺" class="dialogFormItem">
+        <el-form-item v-if="activeName==='鐢熶骇鍒楄〃'" prop="startqty" label="鍚堟牸鏁伴噺" class="dialogFormItem">
           <el-input v-model="dialogForm.startqty" oninput="value=value.replace(/[^\d]/g,'')" style="width: 200px" />
         </el-form-item>
 
-        <el-divider content-position="left">涓嶈壇鏄庣粏</el-divider>
+        <el-form-item v-if="activeName==='澶栧崗鍙戞枡'||activeName==='澶栧崗鏀舵枡'" prop="wxcode" label="澶栧崗渚涙柟" class="dialogFormItem">
+          <el-select
+            v-model="dialogForm.wxcode"
+            style="width:200px"
+            placeholder="璇烽�夋嫨"
+            filterable
+            :popper-append-to-body="false"
+          >
+            <el-option
+              v-for="item in wxArr"
+              :key="item.code"
+              :label="item.name"
+              :value="item.code"
+            />
+          </el-select>
+        </el-form-item>
+        <el-form-item v-if="activeName==='澶栧崗鍙戞枡'" prop="outuser" label="鍙戞枡浜哄憳" class="dialogFormItem">
+          <el-select
+            v-model="dialogForm.outuser"
+            style="width:200px"
+            placeholder="璇烽�夋嫨"
+            filterable
+            :popper-append-to-body="false"
+          >
+            <el-option
+              v-for="item in reportuserArr"
+              :key="item.usercode"
+              :label="item.username"
+              :value="item.usercode"
+            />
+          </el-select>
+        </el-form-item>
+        <el-form-item v-if="activeName==='澶栧崗鍙戞枡'" prop="fqty" label="鍙戞枡鏁伴噺" class="dialogFormItem">
+          <el-input v-model="dialogForm.fqty" oninput="value=value.replace(/[^\d]/g,'')" style="width: 200px" />
+        </el-form-item>
+
+        <el-form-item v-if="activeName==='澶栧崗鏀舵枡'" prop="inuser" label="鏀舵枡浜哄憳" class="dialogFormItem">
+          <el-select
+            v-model="dialogForm.inuser"
+            style="width:200px"
+            placeholder="璇烽�夋嫨"
+            filterable
+            :popper-append-to-body="false"
+          >
+            <el-option
+              v-for="item in reportuserArr"
+              :key="item.usercode"
+              :label="item.username"
+              :value="item.usercode"
+            />
+          </el-select>
+        </el-form-item>
+        <el-form-item v-if="activeName==='澶栧崗鏀舵枡'" prop="sqty" label="鏀舵枡鏁伴噺" class="dialogFormItem">
+          <el-input v-model="dialogForm.sqty" oninput="value=value.replace(/[^\d]/g,'')" style="width: 200px" />
+        </el-form-item>
+
+        <el-divider v-if="activeName==='鐢熶骇鍒楄〃'||activeName==='澶栧崗鏀舵枡'" content-position="left">涓嶈壇鏄庣粏</el-divider>
         <el-button
+          v-if="activeName==='鐢熶骇鍒楄〃'||activeName==='澶栧崗鏀舵枡'"
           v-waves
           type="primary"
           icon="el-icon-circle-plus-outline"
           @click="addDefect"
         >鏂板
         </el-button>
-
         <el-table
+          v-if="activeName==='鐢熶骇鍒楄〃'||activeName==='澶栧崗鏀舵枡'"
           ref="defectTableDataRef"
           :data="defectTableData"
           border
           row-class-name="custom-row"
-          height="300"
+          height="200"
           style="width: 100%;margin-top: 15px;"
           highlight-current-row
           :header-cell-style="this.$headerCellStyle"
@@ -482,6 +564,168 @@
             </template>
           </el-table-column>
         </el-table>
+
+        <el-divider v-if="activeName==='澶栧崗鏀舵枡'" content-position="left">鍙敹鏂欎緵搴斿晢</el-divider>
+        <div
+          v-for="(item,index) in dialogForm.list"
+          v-if="item.fqty>0"
+          :key="item.name"
+          style="display: flex;line-height: 26px;height: 26px;margin-left:30px;align-items: center"
+        >
+          <div
+            style="color: #fff;width: 22px;height: 22px;display: flex;justify-content: center;align-items: center;border-radius: 50%"
+            :style="{backgroundColor:$store.state.settings.theme}"
+          >{{ index+1 }}</div>
+          <div style="margin-left:30px;width: 160px;" class="ellipsis">
+            {{ item.tp }}
+          </div>
+          <div style="margin-left:30px;">
+            鍙敹鏁伴噺锛歿{ item.fqty }}
+          </div>
+        </div>
+
+        <el-divider v-if="activeName==='涓嶈壇寰呭鐞�'" content-position="left">涓嶈壇淇℃伅鏄庣粏</el-divider>
+        <el-table
+          v-if="activeName==='涓嶈壇寰呭鐞�'"
+          ref="badTableDataDataRef"
+          :data="badTableData"
+          border
+          row-class-name="custom-row"
+          height="300"
+          style="width: 100%;margin-top: 15px;"
+          highlight-current-row
+          :header-cell-style="this.$headerCellStyle"
+          :cell-style="this.$cellStyle"
+        >
+          <el-table-column
+            type="index"
+            label="搴忓彿"
+            align="center"
+            width="50"
+          />
+          <!--          <el-table-column-->
+          <!--            prop="step_code"-->
+          <!--            label="宸ュ簭缂栫爜"-->
+          <!--            show-tooltip-when-overflow-->
+          <!--            align="center"-->
+          <!--          />-->
+          <el-table-column
+            prop="stepname"
+            label="宸ュ簭鍚嶇О"
+            show-tooltip-when-overflow
+            align="center"
+          />
+          <el-table-column
+            prop="plan_qty"
+            label="浠诲姟鏁伴噺"
+            show-tooltip-when-overflow
+            align="center"
+          />
+          <el-table-column
+            prop="report_qty"
+            label="鍚堟牸鏁伴噺"
+            show-tooltip-when-overflow
+            align="center"
+          />
+          <el-table-column
+            prop="ng_qty"
+            label="涓嶈壇鏁伴噺"
+            show-tooltip-when-overflow
+            align="center"
+          />
+          <el-table-column
+            prop="defect_name"
+            label="涓嶈壇鍘熷洜"
+            show-tooltip-when-overflow
+            align="center"
+          />
+          <el-table-column
+            prop="repair_qty"
+            label="缁翠慨鍚堟牸鏁伴噺"
+            show-tooltip-when-overflow
+            align="center"
+          >
+            <template slot-scope="{row}">
+              <el-input
+                v-model="row.repair_qty"
+                placeholder="璇疯緭鍏ユ暟閲�"
+                oninput="value=value.replace(/[^0-9]/g,'')"
+                style="width: 100%"
+                @click.stop=""
+              />
+            </template>
+          </el-table-column>
+          <el-table-column
+            prop="laborbad_qty"
+            label="宸ュ簾鏁伴噺"
+            show-tooltip-when-overflow
+            align="center"
+          >
+            <template slot-scope="{row}">
+              <el-input
+                v-model="row.laborbad_qty"
+                placeholder="璇疯緭鍏ユ暟閲�"
+                oninput="value=value.replace(/[^0-9]/g,'')"
+                style="width: 100%"
+                @click.stop=""
+              />
+            </template>
+          </el-table-column>
+          <el-table-column
+            prop="materielbad_qty"
+            label="鏂欏簾鏁伴噺"
+            show-tooltip-when-overflow
+            align="center"
+          >
+            <template slot-scope="{row}">
+              <el-input
+                v-model="row.materielbad_qty"
+                placeholder="璇疯緭鍏ユ暟閲�"
+                oninput="value=value.replace(/[^0-9]/g,'')"
+                style="width: 100%"
+                @click.stop=""
+              />
+            </template>
+          </el-table-column>
+
+          <!--          <el-table-column-->
+          <!--            prop="badqty"-->
+          <!--            label="涓嶈壇鏁伴噺"-->
+          <!--            show-tooltip-when-overflow-->
+          <!--            align="center"-->
+          <!--          >-->
+          <!--            <template slot-scope="{row}">-->
+          <!--              <el-input-->
+          <!--                v-model="row.badqty"-->
+          <!--                placeholder="璇疯緭鍏ユ暟閲�"-->
+          <!--                oninput="value=value.replace(/[^0-9]/g,'')"-->
+          <!--                style="width: 100%"-->
+          <!--                @click.stop=""-->
+          <!--                @change="badqtyChange"-->
+          <!--              />-->
+          <!--            </template>-->
+          <!--          </el-table-column>-->
+
+          <!--          <el-table-column-->
+          <!--            label="鎿嶄綔"-->
+          <!--            width="50"-->
+          <!--            align="center"-->
+          <!--          >-->
+          <!--            <template slot-scope="{row}">-->
+          <!--              <div class="operationClass">-->
+          <!--                <el-tooltip v-del-tab-index class="item" effect="dark" content="鍒犻櫎" placement="top">-->
+          <!--                  <i-->
+          <!--                    class="el-icon-delete"-->
+          <!--                    :style="{color:$store.state.settings.theme}"-->
+          <!--                    style="margin-left: 7px;"-->
+          <!--                    @click="defectDel(row)"-->
+          <!--                  />-->
+          <!--                </el-tooltip>-->
+          <!--              </div>-->
+          <!--            </template>-->
+          <!--          </el-table-column>-->
+
+        </el-table>
       </el-form>
 
       <span slot="footer" class="dialog-footer">
@@ -510,9 +754,10 @@
   MesOrderNgStepSearch,
   MesOrderNgSubStepSearch,
   MesOrderStepSearch, MesOrderStepStart,
-  MesOrderWxStepSearch, SavaMesOrderStepReport
+  MesOrderWxStepSearch, SavaMesOrderStepIn, SavaMesOrderStepOut, SavaMesOrderStepReport
 } from '@/api/WorkOrder'
 import {
+  CustomerPermissions,
   DefectPermissions,
   EqpPermissions,
   GroupsPermissions,
@@ -520,6 +765,8 @@
   PersonPermissions
 } from '@/api/GeneralBasicData'
 import { nanoid } from 'nanoid'
+import { LabelBarCode } from '@/api/systemSetting'
+import { getCookie } from '@/utils/auth'
 
 export default {
   name: 'SCKBG',
@@ -583,7 +830,14 @@
         defectlist: '', // 涓嶈壇姹囨��
         reckway: 'person', // 璁′欢鏂瑰紡(鐝粍:group銆佷釜浜�:person)
         usergroupcode: '', // 鐝粍缂栫爜
-        reportuser: [] // 鎶ュ伐浜哄憳
+        reportuser: [], // 鎶ュ伐浜哄憳
+
+        wxcode: '',
+        outuser: '',
+        fqty: '',
+        inuser: '',
+        sqty: '',
+        list: ''
 
       },
       dialogFormRules: {
@@ -598,6 +852,21 @@
         ],
         startqty: [
           { required: true, message: '璇疯緭鍏ュ悎鏍兼暟閲�', trigger: ['blur', 'change'] }
+        ],
+        wxcode: [
+          { required: true, message: '璇烽�夋嫨澶栧崗渚涙柟', trigger: ['blur', 'change'] }
+        ],
+        outuser: [
+          { required: true, message: '璇烽�夋嫨鍙戞枡浜哄憳', trigger: ['blur', 'change'] }
+        ],
+        inuser: [
+          { required: true, message: '璇烽�夋嫨鏀舵枡浜哄憳', trigger: ['blur', 'change'] }
+        ],
+        fqty: [
+          { required: true, message: '璇疯緭鍏ュ彂鏂欐暟閲�', trigger: ['blur', 'change'] }
+        ],
+        sqty: [
+          { required: true, message: '璇疯緭鍏ユ敹鏂欐暟閲�', trigger: ['blur', 'change'] }
         ]
 
       },
@@ -609,8 +878,10 @@
       usergroupArr: [], // 鎶ュ伐鐝粍
       eqpArr: [], // 鎶ュ伐璁惧
       defectArr: [], // 涓嶈壇缂洪櫡
+      wxArr: [], // 寰�鏉ュ崟浣嶄笅鎷�
 
-      defectTableData: []
+      defectTableData: [],
+      badTableData: []
 
     }
   },
@@ -638,6 +909,9 @@
 
       const { data: res4 } = await EqpPermissions() // 璁惧
       this.eqpArr = res4
+
+      const { data: res5 } = await CustomerPermissions() // 寰�鏉ュ崟浣�
+      this.wxArr = res5
     },
     tabClick() {
       let belong
@@ -661,6 +935,7 @@
       }
       this.enterNative(this.form.wocode, belong)
       this.search()
+      this.radioSelected = ''
     },
     enterNative(val, belong) {
       if (belong === 'produceCodeZZ') {
@@ -743,9 +1018,47 @@
         this.getMesOrderStepStart('WX', 'IN', temp.wo_code, temp.stepcode)
       }
     },
-    // 涓嶈壇澶勭悊
-    handleBad(row) {
+    // 涓嶈壇澶勭悊    鐢熶骇寮�鎶ュ伐鎵爜鑾峰彇宸ュ崟瀵瑰簲宸ュ簭浠诲姟(涓嶈壇鏄庣粏)
+    async handleBad(row) {
+      const data = {
+        wocode: row.wo_code,
+        stepcode: row.stepcode
+      }
+      let res = await MesOrderNgSubStepSearch(data)
+      if (res.code === '200') {
+        res = res.data
+        this.dialogForm.wo_code = res.data1.wo_code
+        this.dialogForm.partnumber = res.data1.partnumber
+        this.dialogForm.partname = res.data1.partname
+        this.dialogForm.partspec = res.data1.partspec
+        this.dialogForm.seq = res.data1.seq
+        this.dialogForm.stepcode = res.data1.stepcode
+        this.dialogForm.stepname = res.data1.stepname
+        this.dialogForm.stepprice = res.data1.stepprice
+        this.dialogForm.nextstepcode = res.data1.nextstepcode
+        this.dialogForm.nextstepname = res.data1.nextstepname
+        this.dialogForm.nextstepprice = res.data1.nextstepprice
+        this.dialogForm.stepdesc = res.data1.stepdesc
+        this.dialogForm.planqty = res.data1.planqty
+        this.dialogForm.startqty = res.data1.startqty
+        this.dialogForm.noreportqty = res.data1.noreportqty // 鍚堟牸鏁伴噺
+        this.dialogForm.reportqty = res.data1.reportqty
+        this.dialogForm.noputqty = res.data1.noputqty // 涓嶈壇鏁伴噺
+        this.dialogForm.wkshopcode = res.data1.wkshopcode
+        this.dialogForm.wkshopname = res.data1.wkshopname
+        this.dialogForm.eqpcode = res.data1.eqpcode
+        this.dialogForm.eqpname = res.data1.eqpname
 
+        this.badTableData = res.data2
+
+        // 涓嬪懆鍥炴潵鍐欎笉鑹鐞嗕繚瀛樻帴鍙�
+        this.badTableData.forEach(item => {
+          item.repair_qty = 0
+          item.bad_qty = 0
+        })
+
+        this.dialogVisible = true
+      }
     },
     // 鐢熶骇寮�鎶ュ伐锛氭姤宸�/澶栧崗(鍙戞枡/鏀舵枡)鏃舵潯浠跺垽鏂強鏁版嵁杩斿洖鎺ュ彛
     async getMesOrderStepStart(OperType, SelectType, wocode, stepcode) {
@@ -777,15 +1090,10 @@
         this.dialogForm.eqpcode = res.eqpcode
         this.dialogForm.eqpname = res.eqpname
 
+        this.dialogForm.list = res.list
+
         this.dialogVisible = true
       }
-    },
-    // 鐢熶骇寮�鎶ュ伐鎵爜鑾峰彇宸ュ崟瀵瑰簲宸ュ簭浠诲姟(涓嶈壇鏄庣粏)
-    async getMesOrderNgSubStepSearch(wocode, stepcode) {
-      // const data = {
-      //   wocode, stepcode
-      // }
-      // const res = await MesOrderNgSubStepSearch(data)
     },
     // 瀵硅瘽妗嗗叧闂簨浠�
     handleClose() {
@@ -812,6 +1120,13 @@
         'eqpcode': '',
         'eqpname': '',
 
+        wxcode: '',
+        outuser: '',
+        fqty: '',
+        inuser: '',
+        sqty: '',
+        list: '',
+
         remarks: '', // 澶囨敞
         inbarcode: '', // 鍏ュ簱鏉$爜
         defectlist: '', // 涓嶈壇姹囨��
@@ -822,6 +1137,7 @@
       }
 
       this.defectTableData = []
+      this.badTableData = []
 
       this.$refs.dialogForm.clearValidate()
     },
@@ -845,6 +1161,18 @@
             if (parseFloat(this.dialogForm.noreportqty) < parseFloat(this.dialogForm.startqty) + parseFloat(this.dialogForm.noputqty)) {
               return this.$message.info('鍚堟牸鏁伴噺鍔犱笉鑹暟閲忎笉鑳藉ぇ浜庝簡鏈姤鏁伴噺!')
             }
+            let inbarcode = ''
+            if (this.tableData.find(i => i.id === this.radioSelected).isend === 'Y') {
+              const data1 = {
+                rightcode: getCookie('ruleCode'),
+                partcode: this.dialogForm.partnumber,
+                qty: this.dialogForm.startqty,
+                onelabqty: this.dialogForm.startqty
+              }
+
+              const res1 = await LabelBarCode(data1)
+              inbarcode = res1.data[0].labcode
+            }
 
             const defectlist = []
             this.defectTableData.forEach(i => {
@@ -860,7 +1188,7 @@
               stepcode: this.dialogForm.stepcode,
               stepprice: this.dialogForm.stepprice,
               eqpcode: this.dialogForm.eqpcode,
-              inbarcode: '',
+              inbarcode,
               reckway: this.dialogForm.reckway,
               usergroupcode: this.dialogForm.usergroupcode,
               reportuser: this.dialogForm.reportuser.join(','),
@@ -877,16 +1205,116 @@
             // console.log(JSON.parse(JSON.stringify(this.defectTableData)))
             // console.log(JSON.parse(JSON.stringify(data)))
 
+            this.$store.state.app.buttonIsDisabled = true
             const res = await SavaMesOrderStepReport(data)
-            // console.log(res)
             if (res.code === '200') {
               this.$notify.success('鎶ュ伐鎴愬姛锛�')
               await this.search()
+              this.$store.state.app.buttonIsDisabled = false
               this.dialogVisible = false
             } else {
+              this.$store.state.app.buttonIsDisabled = false
               this.$notify.error('鎶ュ伐澶辫触锛�')
             }
           }
+
+          if (this.activeName === '澶栧崗鍙戞枡') {
+            if (parseFloat(this.dialogForm.fqty) < 1) {
+              return this.$message.info('鍙戞枡鏁伴噺涓嶈兘涓洪浂锛�')
+            }
+            const data = {
+              mesordercode: this.dialogForm.wo_code,
+              partcode: this.dialogForm.partnumber,
+              stepseq: this.dialogForm.seq,
+              stepcode: this.dialogForm.stepcode,
+
+              wxcode: this.dialogForm.wxcode,
+              outuser: this.dialogForm.outuser,
+              taskqty: this.dialogForm.planqty,
+              fqty: this.dialogForm.fqty
+            }
+            // console.log(JSON.stringify(data))
+
+            this.$store.state.app.buttonIsDisabled = true
+            const res = await SavaMesOrderStepOut(data)
+            if (res.code === '200') {
+              this.$notify.success('鍙戞枡鎴愬姛锛�')
+              await this.search()
+              this.$store.state.app.buttonIsDisabled = false
+              this.dialogVisible = false
+            } else {
+              this.$store.state.app.buttonIsDisabled = false
+              this.$notify.error('鍙戞枡澶辫触锛�')
+            }
+          }
+
+          if (this.activeName === '澶栧崗鏀舵枡') {
+            if (this.defectTableData.find(i => i.code.length === 0)) {
+              return this.$message.info('缂洪櫡缂栫爜/鍚嶇О涓嶈兘涓虹┖锛�')
+            }
+            if (this.defectTableData.find(i => i.badqty.toString().trim() === '' || parseFloat(i.badqty) === 0)) {
+              return this.$message.info('涓嶈壇鏁伴噺涓嶈兘涓虹┖鎴栦负闆讹紒')
+            }
+
+            if (parseFloat(this.dialogForm.noreportqty) < parseFloat(this.dialogForm.sqty) + parseFloat(this.dialogForm.noputqty)) {
+              return this.$message.info('鏀舵枡鏁伴噺鍔犱笉鑹暟閲忎笉鑳藉ぇ浜庝簡鍙敹鏁伴噺!')
+            }
+
+            if (this.dialogForm.list.find(i => i.name === this.dialogForm.wxcode)) {
+              if (this.dialogForm.list.find(i => i.name === this.dialogForm.wxcode).fqty < parseFloat(this.dialogForm.sqty) + parseFloat(this.dialogForm.noputqty)) {
+                return this.$message.info('鏀舵枡鏁伴噺鍔犱笉鑹暟閲忎笉鑳藉ぇ浜庤渚涘簲鍟嗗彲鏀舵暟閲�!')
+              }
+            } else {
+              return this.$message.info('姝や緵搴斿晢鏃犲彲鏀舵暟閲�!')
+            }
+
+            let inbarcode = ''
+            if (this.tableData.find(i => i.id === this.radioSelected).isend === 'Y') {
+              const data1 = {
+                rightcode: getCookie('ruleCode'),
+                partcode: this.dialogForm.partnumber,
+                qty: this.dialogForm.startqty,
+                onelabqty: this.dialogForm.startqty
+              }
+
+              const res1 = await LabelBarCode(data1)
+              inbarcode = res1.data[0].labcode
+            }
+            const defectlist = []
+            this.defectTableData.forEach(i => {
+              defectlist.push({
+                defect_code: i.code.join(','),
+                badqty: i.badqty
+              })
+            })
+
+            const data = {
+              mesordercode: this.dialogForm.wo_code,
+              partcode: this.dialogForm.partnumber,
+              stepseq: this.dialogForm.seq,
+              stepcode: this.dialogForm.stepcode,
+
+              wxcode: this.dialogForm.wxcode,
+              inbarcode,
+              inuser: this.dialogForm.inuser,
+              taskqty: this.dialogForm.planqty,
+              sqty: this.dialogForm.sqty,
+              defectlist,
+              remarks: ''
+            }
+            // console.log(JSON.parse(JSON.stringify(data)), 1)
+            this.$store.state.app.buttonIsDisabled = true
+            const res = await SavaMesOrderStepIn(data)
+            if (res.code === '200') {
+              this.$notify.success('鏀舵枡鎴愬姛锛�')
+              await this.search()
+              this.$store.state.app.buttonIsDisabled = false
+              this.dialogVisible = false
+            } else {
+              this.$store.state.app.buttonIsDisabled = false
+              this.$notify.error('鏀舵枡澶辫触锛�')
+            }
+          }
         }
       })
     },

--
Gitblit v1.9.3