From 4e67e56b63ca4f507490b034812533c8f00286c1 Mon Sep 17 00:00:00 2001
From: loulijun2021 <1694218219@qq.com>
Date: 星期日, 08 十月 2023 17:52:53 +0800
Subject: [PATCH] 1.报工调整90%

---
 src/views/produce/reportCorrect.vue |  311 ++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 276 insertions(+), 35 deletions(-)

diff --git a/src/views/produce/reportCorrect.vue b/src/views/produce/reportCorrect.vue
index 1b59bf1..f101c93 100644
--- a/src/views/produce/reportCorrect.vue
+++ b/src/views/produce/reportCorrect.vue
@@ -69,12 +69,10 @@
           row-class-name="custom-row"
           :style="{width: 100+'%',height:isExpandForm?tableHeight:(tableHeight+40)+'px',}"
           highlight-current-row
-
           :header-cell-style="this.$headerCellStyle"
           :cell-style="this.$cellStyle"
           @sort-change="sortChange"
         >
-          <!--          :row-key="getRowKey"-->
           <!--          <el-table-column-->
           <!--            type="selection"-->
           <!--            width="50"-->
@@ -231,7 +229,7 @@
       v-el-drag-dialog
       title="鎶ュ伐璋冩暣"
       :visible.sync="dialogVisible"
-      width="800px"
+      width="1080px"
       :close-on-click-modal="false"
       top="15vh"
       @closed="handleClose"
@@ -240,25 +238,146 @@
       <el-form ref="dialogForm" inline :rules="dialogFormRules" :model="dialogForm" label-width="80px">
         <el-divider content-position="left">宸ュ崟淇℃伅</el-divider>
 
-        <el-form-item label="宸ュ崟缂栧彿">
-          <el-input v-model="dialogForm.postcode" style="width: 200px" />
+        <el-form-item label="宸ュ崟缂栧彿" class="dialogFormItem">
+          <div style="width: 200px;">
+            {{ dialogForm.wo_code }}
+          </div>
+          <!--          <el-input v-model="dialogForm.postcode" style="width: 200px" />-->
         </el-form-item>
-        <el-form-item label="" prop="postname">
-          <el-input v-model="dialogForm.postname" style="width: 200px" />
+        <el-form-item label="浜у搧缂栫爜" class="dialogFormItem">
+          <div style="width: 200px;">
+            {{ dialogForm.partnumber }}
+          </div>
+          <!--          <el-input v-model="dialogForm.postname" style="width: 200px" />-->
         </el-form-item>
-        <el-form-item label="鎻忚堪">
+        <el-form-item label="浜у搧鍚嶇О" class="dialogFormItem">
+          <div style="width: 200px;">
+            {{ dialogForm.partname }}
+          </div>
+        </el-form-item>
+        <el-form-item label="浜у搧瑙勬牸" class="dialogFormItem">
+          <div style="width: 200px;">
+            {{ dialogForm.partspec ? dialogForm.partspec : '/' }}
+          </div>
+        </el-form-item>
+        <el-form-item label="鐢熶骇宸ュ簭" class="dialogFormItem">
+          <div style="width: 200px;">
+            {{ dialogForm.step_name }}
+          </div>
+        </el-form-item>
+        <el-form-item label="宸ュ簭鍗曚环" class="dialogFormItem">
+          <div style="width: 200px;">
+            {{ dialogForm.unprice }}
+          </div>
+        </el-form-item>
+        <el-form-item label="鎶ュ伐鐝粍" class="dialogFormItem">
+          <div style="width: 200px;" class="ellipsis">
+            {{ dialogForm.usergroup_name ? dialogForm.usergroup_name : '/' }}
+          </div>
+        </el-form-item>
+        <el-form-item label="鎶ュ伐浜哄憳" class="dialogFormItem">
+          <div style="width: 200px;" class="ellipsis">
+            {{ dialogForm.username }}
+          </div>
+        </el-form-item>
+        <el-form-item label="鍚堟牸鏁伴噺" prop="report_qty" class="dialogFormItem">
           <el-input
-            v-model="dialogForm.description"
-            type="textarea"
+            v-model="dialogForm.report_qty"
+            oninput="value=value.replace(/[^0-9]/g,'')"
             style="width: 200px"
           />
         </el-form-item>
-        <el-form-item required label="宀椾綅鐘舵��">
-          <el-radio-group v-model="dialogForm.status">
-            <el-radio label="Y">姝e父</el-radio>
-            <el-radio label="N">鍋滅敤</el-radio>
-          </el-radio-group>
-        </el-form-item>
+
+        <el-divider content-position="left">鎶ュ伐鎯呭喌</el-divider>
+
+        <el-table
+          ref="tableDataDialogRef"
+          key="tableDataDialogKey"
+          :data="tableDataDialog"
+          border
+          row-class-name="custom-row"
+          height="200"
+          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="stepcode"
+            show-tooltip-when-overflow
+            label="缂洪櫡缂栫爜/鍚嶇О"
+            align="center"
+            min-width="400"
+          >
+            <template slot-scope="{row}">
+              <el-select
+                v-model="row.defect_code"
+                style="width: 100%"
+                placeholder="璇烽�夋嫨"
+                multiple
+                filterable
+              >
+                <!--                collapse-tags-->
+                <el-option
+                  v-for="item in defectArr"
+                  :key="item.code"
+                  :label="item.name"
+                  :value="item.code"
+                />
+              </el-select>
+            </template>
+          </el-table-column>
+
+          <el-table-column
+            prop="defect_qty"
+            label="涓嶈壇鏁伴噺"
+            align="center"
+          >
+            <template slot-scope="{row}">
+              <el-input
+                v-model="row.defect_qty"
+                placeholder="璇疯緭鍏ユ暟閲�"
+                oninput="value=value.replace(/[^0-9]/g,'')"
+                style="width: 100%"
+              />
+            </template>
+          </el-table-column>
+          <el-table-column
+            prop="laborbad_qty"
+            label="宸ュ簾鏁伴噺"
+            align="center"
+          >
+            <template slot-scope="{row}">
+              <el-input
+                v-model="row.laborbad_qty"
+                placeholder="璇疯緭鍏ユ暟閲�"
+                oninput="value=value.replace(/[^0-9]/g,'')"
+                style="width: 100%"
+              />
+            </template>
+          </el-table-column>
+          <el-table-column
+            prop="materielbad_qty"
+            label="鏂欏簾鏁伴噺"
+            align="center"
+          >
+            <template slot-scope="{row}">
+              <el-input
+                v-model="row.materielbad_qty"
+                placeholder="璇疯緭鍏ユ暟閲�"
+                oninput="value=value.replace(/[^0-9]/g,'')"
+                style="width: 100%"
+              />
+            </template>
+          </el-table-column>
+        </el-table>
+
       </el-form>
       <span slot="footer" class="dialog-footer">
         <div class="footerButton">
@@ -279,18 +398,11 @@
 
 <script>
 import Pagination from '@/components/Pagination'
-import {
-  AddUpdatePost, RoleAssignedUserBatchAdd,
-  RoleAssignedUserBatchCancel,
-  RoleAssignedUserData
-
-} from '@/api/basicSettings'
-import { handleDatetime, validateCode } from '@/utils/global'
+import { handleDatetime } from '@/utils/global'
 import elDragDialog from '@/directive/el-drag-dialog'
 import waves from '@/directive/waves'
-import arrayToTree from 'array-to-tree'
-import { GroupsPermissions, PostPermissions, PrentOrganization, RolePermissions } from '@/api/GeneralBasicData'
-import { MesOrderStepModelSearch, MesOrderStepVerifySearch } from '@/api/WorkOrder'
+import { DefectPermissions } from '@/api/GeneralBasicData'
+import { MesOrderStepModelSearch, MesOrderStepUpdateSeave, MesOrderStepVerifySearch } from '@/api/WorkOrder'
 
 export default {
   name: 'Zzjg',
@@ -322,10 +434,40 @@
 
       dialogVisible: false,
       dialogForm: {
-
+        'id': '',
+        'sbid': '',
+        'wo_code': '',
+        'partnumber': '',
+        partname: '',
+        partspec: '',
+        usergroup_name: '',
+        username: '',
+        'task_qty': '',
+        'wkshp_code': '',
+        'eqp_code': '',
+        'step_seq': '',
+        'step_code': '',
+        'step_name': '',
+        'flw_type': '',
+        'first_choke': '',
+        'last_choke': '',
+        'unprice': '',
+        'groupcode': '',
+        'usercode': '',
+        'report_date': '',
+        'report_qty': '',
+        'report_dvalue': '',
+        children: []
       },
       tableDataDialog: [],
-      totalDialog: 10
+
+      defectArr: [], // 涓嶈壇缂洪櫡
+
+      dialogFormRules: {
+        report_qty: [
+          { required: true, message: '璇疯緭鍏ュ悎鏍兼暟閲�', trigger: ['blur', 'change'] }
+        ]
+      }
 
     }
   },
@@ -336,8 +478,13 @@
     this.getHeight()
 
     this.getMesOrderStepVerifySearch()
+    this.getDefectPermissions()
   },
   methods: {
+    async getDefectPermissions() {
+      const { data: res3 } = await DefectPermissions() // 缂洪櫡
+      this.defectArr = res3
+    },
     // 鎶ュ伐璋冩暣鍒楄〃鏌ヨ
     async getMesOrderStepVerifySearch() {
       let tempDate = this.form.reportdate
@@ -398,26 +545,107 @@
       }
       const res = await MesOrderStepModelSearch(data)
       if (res.code === '200') {
+        this.dialogForm.id = row.id
+        this.dialogForm.sbid = row.sbid
+        this.dialogForm.wo_code = row.wo_code
+        this.dialogForm.partnumber = row.partnumber
+        this.dialogForm.partname = row.partname
+        this.dialogForm.partspec = row.partspec
+        this.dialogForm.task_qty = row.task_qty
+        this.dialogForm.wkshp_code = row.wkshp_code
+        this.dialogForm.eqp_code = row.eqp_code
+        this.dialogForm.step_seq = row.step_seq
+        this.dialogForm.step_code = row.step_code
+        this.dialogForm.step_name = row.stepname
+        this.dialogForm.flw_type = row.steptype
+        this.dialogForm.first_choke = row.first_choke
+        this.dialogForm.last_choke = row.last_choke
+        this.dialogForm.unprice = row.step_price
+        this.dialogForm.groupcode = row.usergroup_code
+        this.dialogForm.usercode = row.usercode
+        this.dialogForm.usergroup_name = row.usergroup_name
+        this.dialogForm.username = row.username
+        this.dialogForm.report_date = row.report_date
+        this.dialogForm.report_qty = row.report_qty
+        this.dialogForm.report_qty2 = row.report_qty // old鍊�
 
-        // this.dialogVisible=true
+        if (res.data.length > 0) {
+          res.data.forEach(i => {
+            i.defect_code = i.defect_code.split(',')
+            i.defect_qty2 = i.defect_qty
+            i.laborbad_qty2 = i.laborbad_qty
+            i.materielbad_qty2 = i.materielbad_qty
+          })
+        }
+        this.tableDataDialog = res.data
+
+        this.dialogVisible = true
       }
     },
-
     // 瀵硅瘽妗嗗叧闂簨浠�
     handleClose() {
-      // this.form.flag = 'TRUE'
+      this.tableDataDialog = []
     },
-    getRowKey(row) {
-      return row.partnumber
-    },
-
     // 瀵硅瘽妗嗗彇娑�
     dialogVisibleCancel() {
       this.dialogVisible = false
     },
     // 瀵硅瘽妗嗙‘璁�
     async dialogVisibleConfirm() {
+      this.$refs.dialogForm.validate(async valid => {
+        if (valid) {
+          const children = []
 
+          this.tableDataDialog.forEach(i => {
+            children.push({
+              ng_id: i.id,
+              ng_sbid: i.record_id,
+              ng_qty: parseFloat(i.defect_qty),
+              ng_dvalue: parseFloat(i.defect_qty) - parseFloat(i.defect_qty2),
+              laborbad_qty: parseFloat(i.laborbad_qty),
+              laborbad_dvalue: parseFloat(i.laborbad_qty) - parseFloat(i.laborbad_qty2),
+              materielbad_qty: parseFloat(i.materielbad_qty),
+              materielbad_dvalue: parseFloat(i.materielbad_qty) - parseFloat(i.materielbad_qty2),
+              bad_money: 0,
+              badmoney_dvalue: 0
+            })
+          })
+          const data = {
+            'id': this.dialogForm.id,
+            'sbid': this.dialogForm.sbid,
+            'wo_code': this.dialogForm.wo_code,
+            'partnumber': this.dialogForm.partnumber,
+            'task_qty': this.dialogForm.task_qty,
+            'wkshp_code': this.dialogForm.wkshp_code,
+            'eqp_code': this.dialogForm.eqp_code,
+            'step_seq': this.dialogForm.step_seq,
+            'step_code': this.dialogForm.step_code,
+            'flw_type': this.dialogForm.flw_type,
+            'first_choke': this.dialogForm.first_choke,
+            'last_choke': this.dialogForm.last_choke,
+            'unprice': this.dialogForm.unprice,
+            'groupcode': this.dialogForm.groupcode,
+            'usercode': this.dialogForm.usercode,
+            'report_date': this.dialogForm.report_date,
+            'report_qty': parseFloat(this.dialogForm.report_qty),
+            'report_dvalue': parseFloat(this.dialogForm.report_qty) - parseFloat(this.dialogForm.report_qty2),
+            children
+          }
+          console.log(JSON.stringify(data), 12)
+          // console.log(JSON.parse(JSON.stringify(data)), 12)
+          // this.$store.state.app.buttonIsDisabled = true
+          // const res = await MesOrderStepUpdateSeave([data])
+          // if (res.code === '200') {
+          //   this.$notify.success('璋冩暣鎴愬姛锛�')
+          //   await this.getMesOrderStepVerifySearch()
+          //   this.$store.state.app.buttonIsDisabled = false
+          //   this.dialogVisible = false
+          // } else {
+          //   this.$store.state.app.buttonIsDisabled = false
+          //   this.$notify.error('璋冩暣澶辫触锛�')
+          // }
+        }
+      })
     },
     // 鑾峰彇椤甸潰楂樺害
     getHeight() {
@@ -432,8 +660,21 @@
 </script>
 
 <style scoped lang="scss">
+.dialogFormItem {
+  margin: 0 10px 0 0;
+}
+
 ::v-deep .el-dialog .el-divider__text {
   font-weight: bolder !important;
 }
 
+::v-deep .el-dialog .el-form-item__label {
+  font-weight: lighter !important;
+}
+
+::v-deep .el-select__caret {
+  display: flex;
+  align-items: center;
+  justify-content: center;
+}
 </style>

--
Gitblit v1.9.3