From b8ee668eaace5d422ebb27a200c3b178b82e2a6d Mon Sep 17 00:00:00 2001
From: loulijun2021 <1694218219@qq.com>
Date: 星期二, 23 八月 2022 22:55:03 +0800
Subject: [PATCH] 1.提交

---
 src/views/scgl/sckbg.vue |  626 ++++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 594 insertions(+), 32 deletions(-)

diff --git a/src/views/scgl/sckbg.vue b/src/views/scgl/sckbg.vue
index 741e73f..b5cc98d 100644
--- a/src/views/scgl/sckbg.vue
+++ b/src/views/scgl/sckbg.vue
@@ -85,7 +85,7 @@
               />
               <el-table-column
                 prop="partname"
-                min-width="110"
+                min-width="160"
                 label="浜у搧鍚嶇О"
                 sortable="custom"
               />
@@ -95,12 +95,17 @@
                 min-width="80"
                 sortable="custom"
               />
-              <el-table-column
-                prop="descr"
-                label="宸ュ簭鎻忚堪"
-                min-width="150"
-                sortable="custom"
-              />
+              <!--              <el-table-column-->
+              <!--                prop="descr"-->
+              <!--                label="宸ュ簭鎻忚堪"-->
+              <!--                min-width="150"-->
+              <!--                sortable="custom"-->
+              <!--              >-->
+              <!--                <template slot-scope="{row}">-->
+              <!--                  <div v-if="row.descr">{{ row.descr }}</div>-->
+              <!--                  <div v-else>/</div>-->
+              <!--                </template>-->
+              <!--              </el-table-column>-->
               <el-table-column
                 prop="plan_qty"
                 label="浠诲姟鏁伴噺"
@@ -108,8 +113,17 @@
                 sortable="custom"
               />
               <el-table-column
+                label="鏈姤宸ユ暟閲�"
+                width="120"
+              >
+                <!--                sortable="custom"-->
+                <template slot-scope="{row}">
+                  <div>{{ row.plan_qty - row.good_qty - row.ng_qty }}</div>
+                </template>
+              </el-table-column>
+              <el-table-column
                 prop="good_qty"
-                label="宸叉姤宸ユ暟閲�(鑹搧)"
+                label="宸叉姤宸ユ暟閲�"
                 sortable="custom"
                 width="160"
               />
@@ -117,7 +131,12 @@
                 prop="ng_qty"
                 label="涓嶈壇鏁伴噺"
                 width="150"
-
+                sortable="custom"
+              />
+              <el-table-column
+                prop="bad_qty"
+                label="宸叉姤搴熸暟閲�"
+                width="120"
                 sortable="custom"
               />
               <el-table-column
@@ -125,8 +144,19 @@
                 label="璁″垝寮�宸ユ棩鏈�"
                 width="185"
                 sortable="custom"
-                fixed="right"
               />
+              <el-table-column
+                prop="plan_enddate"
+                label="璁″垝瀹屽伐鏃ユ湡"
+                width="185"
+                sortable="custom"
+                fixed="right"
+              >
+                <template slot-scope="{row}">
+                  <div v-if="row.plan_startdate">{{ row.plan_startdate }}</div>
+                  <div v-else>/</div>
+                </template>
+              </el-table-column>
               <!--              <el-table-column-->
               <!--                label="鎿嶄綔"-->
               <!--                width="150"-->
@@ -248,7 +278,7 @@
               <el-table-column
                 prop="partname"
                 label="浜у搧鍚嶇О"
-                min-width="110"
+                min-width="160"
                 sortable="custom"
               />
               <el-table-column
@@ -257,12 +287,17 @@
                 min-width="80"
                 sortable="custom"
               />
-              <el-table-column
-                prop="descr"
-                label="宸ュ簭鎻忚堪"
-                min-width="150"
-                sortable="custom"
-              />
+              <!--              <el-table-column-->
+              <!--                prop="descr"-->
+              <!--                label="宸ュ簭鎻忚堪"-->
+              <!--                min-width="150"-->
+              <!--                sortable="custom"-->
+              <!--              >-->
+              <!--                <template slot-scope="{row}">-->
+              <!--                  <div v-if="row.descr">{{ row.descr }}</div>-->
+              <!--                  <div v-else>/</div>-->
+              <!--                </template>-->
+              <!--              </el-table-column>-->
               <el-table-column
                 prop="plan_qty"
                 label="浠诲姟鏁伴噺"
@@ -270,8 +305,17 @@
                 sortable="custom"
               />
               <el-table-column
+                label="鏈姤宸ユ暟閲�"
+                width="120"
+              >
+                <!--                sortable="custom"-->
+                <template slot-scope="{row}">
+                  <div>{{ row.plan_qty - row.good_qty - row.ng_qty }}</div>
+                </template>
+              </el-table-column>
+              <el-table-column
                 prop="good_qty"
-                label="宸叉敹鏂欐暟閲�(鑹搧)"
+                label="宸叉敹鏂欐暟閲�"
                 sortable="custom"
                 width="160"
               />
@@ -282,12 +326,29 @@
                 sortable="custom"
               />
               <el-table-column
+                prop="bad_qty"
+                label="宸叉姤搴熸暟閲�"
+                min-width="120"
+                sortable="custom"
+              />
+              <el-table-column
                 prop="plan_startdate"
                 label="璁″垝寮�宸ユ棩鏈�"
                 width="185"
                 sortable="custom"
-                fixed="right"
               />
+              <el-table-column
+                prop="plan_enddate"
+                label="璁″垝瀹屽伐鏃ユ湡"
+                width="185"
+                sortable="custom"
+                fixed="right"
+              >
+                <template slot-scope="{row}">
+                  <div v-if="row.plan_startdate">{{ row.plan_startdate }}</div>
+                  <div v-else>/</div>
+                </template>
+              </el-table-column>
               <!--              <el-table-column-->
               <!--                label="鎿嶄綔"-->
               <!--                width="150"-->
@@ -311,6 +372,113 @@
             layout="total,prev, pager, next,sizes"
             popper-class="select_bottom"
             @pagination="getMesOrderStepSearch"
+          />
+        </el-tab-pane>
+        <el-tab-pane label="涓嶈壇寰呭鐞嗗垪琛�">
+          <div style="margin-left: 10px;margin-top:10px;display: flex;justify-content: space-between">
+            <div style="display: flex;align-items: center">
+              <div style="width: 90px">鎵弿鏉$爜锛�</div>
+              <!--              oninput="value=value.replace(/[^0-9a-zA-Z;_]/g,'')"-->
+
+              <el-input
+                v-model="badForm.orderstepqrcode"
+                name="badProduceCode"
+                style="width: 300px"
+                @keyup.enter.native="val=>enterNative(val,'badProduceCode')"
+              />
+            </div>
+          </div>
+          <el-divider />
+          <div class="elTableDiv">
+            <el-table
+              :data="badTableData"
+              :height="isIpad? (tableHeight+50):tableHeight"
+              border
+              :row-class-name="tableRowClassName"
+              :style="{width: 100+'%',height:tableHeight+'px',}"
+              highlight-current-row
+              :header-cell-style="this.$headerCellStyle"
+              :cell-style="this.$cellStyle"
+              @sort-change="badSortChange"
+            >
+              <el-table-column
+                prop="RowNum"
+                width="50"
+                label="搴忓彿"
+                fixed
+              />
+
+              <el-table-column
+                prop="wo_code"
+                label="宸ュ崟鍙�"
+                min-width="160"
+                sortable="custom"
+              />
+              <el-table-column
+                prop="partcode"
+                label="浜у搧缂栫爜"
+                min-width="110"
+                sortable="custom"
+              />
+              <el-table-column
+                prop="partname"
+                min-width="160"
+                label="浜у搧鍚嶇О"
+                sortable="custom"
+              />
+              <el-table-column
+                prop="stepname"
+                label="宸ュ簭"
+                min-width="80"
+                sortable="custom"
+              />
+              <el-table-column
+                prop="plan_qty"
+                label="浠诲姟鏁伴噺"
+                min-width="110"
+                sortable="custom"
+              />
+              <el-table-column
+                prop="good_qty"
+                label="宸叉姤宸ユ暟閲�"
+                sortable="custom"
+                min-width="160"
+              />
+              <el-table-column
+                prop="ng_qty"
+                label="涓嶈壇鏁伴噺"
+                min-width="150"
+                sortable="custom"
+              />
+              <el-table-column
+                prop="bad_qty"
+                label="宸叉姤搴熸暟閲�"
+                min-width="120"
+                sortable="custom"
+              />
+              <el-table-column
+                label="鎿嶄綔"
+                width="120"
+                fixed="right"
+              >
+                <template slot-scope="{row}">
+                  <div class="operationClass">
+                    <el-button type="text" @click="repairHandle(row)">缁翠慨澶勭悊</el-button>
+                  </div>
+                </template>
+              </el-table-column>
+
+            </el-table>
+          </div>
+          <!--鍒嗛〉-->
+          <pagination
+            :total="badTotal"
+            :page.sync="badForm.page"
+            :limit.sync="badForm.rows"
+            align="right"
+            layout="total,prev, pager, next,sizes"
+            popper-class="select_bottom"
+            @pagination="getBadList"
           />
         </el-tab-pane>
       </el-tabs>
@@ -349,7 +517,7 @@
         <el-form-item label="褰撳墠宸ュ簭锛�">
           <div style="width: 200px">{{ dialogForm.stepname }}</div>
         </el-form-item>
-        <el-form-item label="宸ュ簭鎻忚堪锛�">
+        <el-form-item v-if="false" label="宸ュ簭鎻忚堪锛�">
           <!--          <el-tooltip   class="item" effect="dark" content="鍘熸潗鏂欏垏鎸夋潗鏂欏垏鎸夋潗鏂欏垏鎸夋椂鎵撳崱鏁版嵁鐨勫崱" placement="top-start">-->
           <div style="width: 200px;white-space: nowrap;text-overflow: ellipsis;overflow: hidden;">
             {{ dialogForm.stepdesc }}
@@ -662,6 +830,7 @@
       title="棰勮"
       :visible.sync="dialogVisible2"
       width="1140"
+      top="10vh"
       :close-on-click-modal="false"
       @close="dialogVisible2Close"
     >
@@ -719,6 +888,155 @@
       </span>
     </el-dialog>
 
+    <!--    涓嶈壇澶勭悊鍒楄〃瀵硅瘽妗�-->
+    <el-dialog
+      title="缁翠慨澶勭悊"
+      :visible.sync="badDialogVisible"
+      width="990px"
+      class="badDialogVisible"
+      top="10vh"
+      :close-on-click-modal="false"
+      @close="handleCloseBad"
+      @closed="handleCloseBad"
+    >
+      <el-form
+        inline
+        :model="badDialogForm"
+        label-width="110px"
+      >
+        <el-form-item label="宸ュ崟缂栧彿锛�">
+          <div style="width: 200px">{{ badDialogForm.wo_code }}</div>
+        </el-form-item>
+        <el-form-item label="浜у搧缂栫爜锛�">
+          <div style="width: 200px">{{ badDialogForm.partcode }}</div>
+        </el-form-item>
+        <el-form-item label="浜у搧鍚嶇О锛�">
+          <div style="width: 200px">{{ badDialogForm.partname }}</div>
+        </el-form-item>
+        <el-form-item label="浜у搧瑙勬牸锛�">
+          <div style="width: 200px">{{ badDialogForm.partspec }}</div>
+        </el-form-item>
+        <el-form-item label="褰撳墠宸ュ簭锛�">
+          <div style="width: 200px">{{ badDialogForm.stepname }}</div>
+        </el-form-item>
+        <el-form-item label="涓嬮亾宸ュ簭锛�">
+          <div style="width: 200px">{{ badDialogForm.nextstepname }}</div>
+        </el-form-item>
+        <el-form-item label="浠诲姟鏁伴噺锛�">
+          <div style="width: 200px">{{ badDialogForm.plan_qty }}</div>
+        </el-form-item>
+        <el-form-item label="鎶ュ伐鏁伴噺锛�">
+          <div style="width: 200px">{{ badDialogForm.good_qty }}</div>
+        </el-form-item>
+        <el-form-item label="涓嶈壇鏁伴噺锛�">
+          <div style="width: 200px">{{ badDialogForm.ng_qty }}</div>
+        </el-form-item>
+
+      </el-form>
+      <div style="margin-bottom:20px">
+        <i class="el-icon-s-operation" style="color:#42b983;" /> 涓嶈壇淇℃伅鏄庣粏锛�
+      </div>
+      <div class="elTableDiv">
+        <el-table
+          :data="badTableDataDialog"
+          :height="isIpad? (tableHeight-350):(tableHeight-400)"
+          border
+          :row-class-name="tableRowClassName"
+          :style="{width: 100+'%',height:(tableHeight-400)+'px',}"
+          highlight-current-row
+          :header-cell-style="this.$headerCellStyle"
+          :cell-style="this.$cellStyle"
+        >
+          <el-table-column
+            type="index"
+            width="50"
+            label="搴忓彿"
+            fixed
+          />
+          <el-table-column
+            prop="step_code"
+            label="宸ュ簭缂栫爜"
+            min-width="80"
+          />
+          <el-table-column
+            prop="stepname"
+            label="宸ュ簭鍚嶇О"
+            min-width="80"
+          />
+
+          <el-table-column
+            prop="plan_qty"
+            label="浠诲姟鏁伴噺"
+            width="80"
+          />
+          <el-table-column
+            label="鎶ュ伐鏁伴噺"
+            width="80"
+            prop="report_qty"
+          />
+          <el-table-column
+            prop="ng_qty"
+            label="涓嶈壇鏁伴噺"
+            width="80"
+          />
+          <el-table-column
+            prop="badqty"
+            label="宸叉姤搴熸暟閲�"
+            width="100"
+          />
+          <el-table-column
+            prop="defect_name"
+            label="涓嶈壇鍘熷洜"
+            show-tooltip-when-overflow
+            width="80"
+          />
+          <el-table-column
+            prop="repair_qty"
+            label="缁翠慨鏁伴噺"
+            width="90"
+          >
+            <template slot-scope="{row}">
+              <!--              {{ row.repair_qty }}-->
+              <div v-if="row.isVisible===0">{{ row.repair_qty }}</div>
+              <el-input v-if="row.isVisible===1" v-model="row.repair_qty" oninput="value=value.replace(/[^0-9]/g,'')" />
+            </template>
+          </el-table-column>
+          <el-table-column
+            prop="bad_qty"
+            label="鎶ュ簾鏁伴噺"
+            width="90"
+          >
+            <!--            oninput="value=value.replace(/[0-9]/g,'')"-->
+            <template slot-scope="{row}">
+              <div v-if="row.isVisible===0">{{ row.bad_qty }}</div>
+              <el-input v-if="row.isVisible===1" v-model="row.bad_qty" oninput="value=value.replace(/[^0-9]/g,'')" />
+            </template>
+          </el-table-column>
+          <el-table-column
+            label="鎿嶄綔"
+            width="100"
+          >
+            <template slot-scope="{row}">
+              <div class="operationClass">
+                <el-button v-if="row.isVisible===0" type="text" @click="badEdit(row)">缂栬緫</el-button>
+                <el-button v-if="row.isVisible===0" type="text" @click="badDel(row)">鍒犻櫎</el-button>
+
+                <el-button v-if="row.isVisible===1" type="text" @click="badSave(row)">纭</el-button>
+                <el-button v-if="row.isVisible===1" type="text" @click="badCancel(row)">鍙栨秷</el-button>
+              </div>
+            </template>
+          </el-table-column>
+
+        </el-table>
+      </div>
+      <span slot="footer" class="dialog-footer">
+        <div class="footerButton">
+          <el-button @click="badDialogVisibleCancel">鍙� 娑�</el-button>
+          <el-button type="primary" @click="badDialogVisibleConfirm ">淇� 瀛�/鎵� 鍗�</el-button>
+        </div>
+      </span>
+    </el-dialog>
+
   </div>
 </template>
 
@@ -738,7 +1056,7 @@
   MesOrderStepSelectCause,
   SavaMesOrderStepIn,
   SavaMesOrderStepStart,
-  SavaMesOrderStepReport
+  SavaMesOrderStepReport, MesOrderNgStepSearch, MesOrderNgSubStepSearch, EditOrderNgStepSeave
 } from '@/api/scgl'
 import { urlAddRandomNo, webapp_ws_ajax_run, webapp_ws_autoupdate } from '@/utils/grwebapp'
 import QRCode from 'qrcodejs2'
@@ -902,14 +1220,28 @@
           console.log('鎵ц浜嗘墦鍗�')
         }
       },
-      qrForm: {
+      qrForm: { // 鎵撳嵃鍐呭
         qrvalue: '',
         startqty: '',
         wo_code: '',
         partcode: '',
         partname: '',
-        nextstepname: ''
-      }
+        nextstepname: '',
+        operator: '', // 鎿嶄綔浜�
+        operatorTime: ''// 鎿嶄綔鏃堕棿
+      },
+      badForm: {
+        orderstepqrcode: '', // 鎵弿鐨勪簩缁寸爜
+        prop: 'wo_code',
+        order: 'asc',
+        page: 1,
+        rows: 20
+      },
+      badTableData: [], // 涓嶈壇澶勭悊鍒楄〃table鏁版嵁
+      badTotal: 0,
+      badDialogVisible: false,
+      badDialogForm: {},
+      badTableDataDialog: []// 涓嶈壇瀵硅瘽妗唗able琛ㄦ牸
     }
   },
   // computed: {
@@ -984,6 +1316,18 @@
       this.WXform.prop = prop
       this.getMesOrderWxStepSearch()
     },
+    badSortChange({ column, prop, order }) {
+      if (order === 'descending') {
+        order = 'desc'
+      } else if (order === 'ascending') {
+        order = 'asc'
+      } else {
+        order = 'desc'
+      }
+      this.badForm.order = order
+      this.badForm.prop = prop
+      this.getBadList()
+    },
     // 鑷埗椤电鍘熺偣鐐瑰嚮
     getCurrentRow(val) {
 
@@ -1007,6 +1351,13 @@
           this.getMesOrderWxStepSearch()
           $("input[name='WXproduceCode']")[0].focus()
           this.form.orderstepqrcode = ''
+        })
+      }
+      if (this.$refs.elTabs.currentName === '2') {
+        this.$nextTick(() => {
+          this.getBadList()
+          $("input[name='badProduceCode']")[0].focus()
+          this.badForm.orderstepqrcode = ''
         })
       }
     },
@@ -1047,6 +1398,13 @@
         if (res.code === '200' && res.count === 3) {
           await this.WXback(res.data)
         }
+      }
+
+      if (belong === 'badProduceCode') {
+        // this.badForm.orderstepqrcode=
+        await this.getBadList()
+        await this.repairHandle(this.badForm.orderstepqrcode)
+        this.badDialogVisible = true
       }
     },
     // 鏌ヨ
@@ -1322,6 +1680,10 @@
 
       this.dialogForm.startqtySum = '' // 涓嶈兘瓒呰繃鐨勬暟鍊�
 
+      this.dialogForm.nextstepcode = '' // 涓嬮亾宸ュ簭缂栫爜
+
+      this.userTableData = [] // 浜哄憳鍒楄〃
+
       this.$refs.dialogForm.clearValidate()
     },
     // 瀵硅瘽妗嗗彇娑�
@@ -1383,9 +1745,12 @@
             }
             SavaMesOrderStepIn(data).then(res => {
               if (res.code === '200') {
-                this.WXprint2()
                 this.$message.success('鏀舵枡鎴愬姛锛�')
                 this.dialogVisible = false
+
+                if (this.dialogForm.nextstepcode !== '') {
+                  this.WXprint2()
+                }
                 this.dialogVisible2 = true
                 this.tabClick()
               } else {
@@ -1428,7 +1793,13 @@
                 return this.$message.info('璇烽�夋嫨涓嶈壇鍘熷洜锛�')
               }
             }
-
+            // this.userTableData = [...new Set(this.userTableData)]// 鏁扮粍鍘婚噸
+            this.userTableData = this.userTableData.filter(item => item.usercode !== '')
+            // 鏁扮粍涓璞$浉鍚岀殑鍘婚噸
+            this.userTableData = this.userTableData.filter((currentValue, currentIndex, selfArr) => {
+              return selfArr.findIndex(item => item.usercode === currentValue.usercode) === currentIndex
+            })
+            // console.log(this.userTableData, 1)
             const reportuser = this.userTableData.map(item => item.usercode).join(';')
             const data = {
               mesordercode: this.dialogForm.wo_code, // 宸ュ崟缂栧彿
@@ -1449,9 +1820,13 @@
 
             SavaMesOrderStepReport(data).then(res => {
               if (res.code === '200') {
-                this.ZZprint2()
                 this.$message.success('鎶ュ伐鎴愬姛锛�')
                 this.dialogVisible = false
+
+                console.log(this.dialogForm.nextstepcode, 1)
+                if (this.dialogForm.nextstepcode !== '') {
+                  this.ZZprint2()
+                }
                 this.dialogVisible2 = true
                 this.tabClick()
               } else {
@@ -1519,6 +1894,181 @@
           this.tableHeight = this.tableHeight - 50
         }
       })
+    },
+
+    // 鑾峰彇涓嶈壇澶勭悊鍒楄〃
+    async getBadList() {
+      const res = await MesOrderNgStepSearch(this.badForm)
+      this.badTableData = res.data
+      this.badTotal = res.count
+    },
+    badDialogVisibleCancel() {
+      this.badDialogVisible = false
+    },
+    badDialogVisibleConfirm() {
+      const data = {
+        Data: this.badTableDataDialog
+      }
+      // console.log(JSON.stringify(data), 1)
+      // this.badPrint()
+      // this.dialogVisible2 = true
+
+      EditOrderNgStepSeave(data).then(res => {
+        if (res.code === '200' || res.code === '301') {
+          this.getBadList()
+          this.badDialogVisible = false
+          return this.$message.success('淇濆瓨鎴愬姛锛�')
+        }
+      })
+    },
+    badPrint() {
+      this.qrForm.qrvalue = this.badDialogForm.wo_code + ';' + this.badDialogForm.nextstepcode
+      this.qrForm.startqty = this.badDialogForm.plan_qty
+      this.qrForm.wo_code = this.badDialogForm.wo_code
+      this.qrForm.partcode = this.badDialogForm.partcode
+      this.qrForm.partname = this.badDialogForm.partname
+      this.qrForm.nextstepname = this.badDialogForm.nextstepname
+      this.$nextTick(() => {
+        this.bindQRCode(this.qrForm.qrvalue)
+      })
+    },
+
+    handleCloseBad() {
+      this.badDialogForm = {}
+      this.badTableDataDialog = []
+    },
+    // 鐐瑰嚮缁翠慨澶勭悊鎸夐挳
+    async repairHandle(row) {
+      console.log(row)
+      let data
+      if (row.wo_code) {
+        data = {
+          orderstepqrcode: row.wo_code + ';' + row.stepcode
+        }
+      } else {
+        data = {
+          orderstepqrcode: row
+        }
+      }
+
+      const { data: res } = await MesOrderNgSubStepSearch(data)
+
+      this.$nextTick(() => {
+        this.badDialogForm.wo_code = res.data1.wo_code
+        this.badDialogForm.partcode = res.data1.partnumber
+        this.badDialogForm.partname = res.data1.partname
+        this.badDialogForm.partspec = res.data1.partspec
+        this.badDialogForm.stepname = res.data1.stepname
+        this.badDialogForm.nextstepcode = res.data1.nextstepcode
+        this.badDialogForm.nextstepname = res.data1.nextstepname
+        this.badDialogForm.plan_qty = res.data1.planqty
+        this.badDialogForm.good_qty = res.data1.noreportqty // 鎶ュ伐鏁伴噺
+        this.badDialogForm.ng_qty = res.data1.noputqty // 涓嶈壇鏁伴噺
+
+        this.badTableDataDialog = res.data2
+
+        this.badTableDataDialog.forEach(item => {
+          item.repair_qty = 0
+          item.bad_qty = 0
+          item.isVisible = 0
+        })
+        console.log(this.badTableDataDialog, 321)
+        this.badDialogVisible = true
+      })
+    },
+    badEdit(row) {
+      console.log(row)
+      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,
+            isVisible: 1,
+            defect_code: row.defect_code,
+            defect_name: row.defect_name,
+            badqty: row.badqty,
+            id: row.id,
+            m_id: row.m_id,
+            materiel_code: row.materiel_code,
+            ng_qty: row.ng_qty,
+            plan_qty: row.plan_qty,
+            report_qty: row.report_qty,
+            seq: row.seq,
+            step_code: row.step_code,
+            stepname: row.stepname,
+            style: row.style,
+            wo_code: row.wo_code
+          })
+        }
+      })
+    },
+    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('缁翠慨鏁伴噺涓庢姤搴熸暟閲忎箣鍜屼笉鑳藉ぇ浜庝笉鑹暟閲忥紒')
+      }
+      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,
+            isVisible: 0,
+            defect_code: row.defect_code,
+            defect_name: row.defect_name,
+            id: row.id,
+            m_id: row.m_id,
+            badqty: row.badqty,
+            materiel_code: row.materiel_code,
+            ng_qty: row.ng_qty,
+            plan_qty: row.plan_qty,
+            report_qty: row.report_qty,
+            seq: row.seq,
+            step_code: row.step_code,
+            stepname: row.stepname,
+            style: row.style,
+            wo_code: row.wo_code
+          })
+        }
+      })
+    },
+    badCancel(row) {
+      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: 0,
+            repair_qty: 0,
+            isVisible: 0,
+            defect_code: row.defect_code,
+            defect_name: row.defect_name,
+            id: row.id,
+            m_id: row.m_id,
+            badqty: row.badqty,
+            materiel_code: row.materiel_code,
+            ng_qty: row.ng_qty,
+            plan_qty: row.plan_qty,
+            report_qty: row.report_qty,
+            seq: row.seq,
+            step_code: row.step_code,
+            stepname: row.stepname,
+            style: row.style,
+            wo_code: row.wo_code
+          })
+        }
+      })
+    },
+
+    badDel(row) {
+      this.badTableDataDialog.forEach((item, index) => {
+        if (item.id === row.id && item.m_id === row.m_id) {
+          this.badTableDataDialog.splice(index, 1)
+        }
+      })
     }
   }
 }
@@ -1526,10 +2076,11 @@
 
 <style lang="scss" scoped>
 $main_color: #42b983;
-.el-button--text{
+.el-button--text {
   font-size: 14px;
   cursor: pointer;
 }
+
 .operationClass {
   height: 23px;
   display: flex;
@@ -1575,13 +2126,20 @@
 <!--鍏叡椤甸潰鏍峰紡-->
 <style lang="scss" scoped>
 $main_color: #42b983;
-.el-icon-share ,.el-icon-delete,.el-icon-edit-outline{
+::v-deep .el-button--text {
+  font-size: 14px;
+  cursor: pointer;
+}
+
+.el-icon-share, .el-icon-delete, .el-icon-edit-outline {
   color: $main_color;
   cursor: pointer;
 }
-.el-icon-edit-outline{
+
+.el-icon-edit-outline {
   margin-right: 15px;
 }
+
 ::v-deep .el-button--primary, .el-button--default, .el-button--info {
   height: 34px;
   display: flex;
@@ -1616,6 +2174,10 @@
   padding: 20px 20px !important;
 }
 
+::v-deep .badDialogVisible .el-dialog__body {
+  padding: 20px 20px !important;
+}
+
 ::v-deep .el-dialog__footer {
   display: flex;
   justify-content: flex-end;
@@ -1639,8 +2201,8 @@
   background-color: #f8f8fa;
 }
 
-::v-deep .el-table__body .el-table__row.hover-row td{
-  background-color: #eaecef ;
+::v-deep .el-table__body .el-table__row.hover-row td {
+  background-color: #eaecef;
 }
 
 ::v-deep .el-form--inline .el-form-item__label {

--
Gitblit v1.9.3