From 844adb3a80b39f9a78dae89a6a27f19e58a931df Mon Sep 17 00:00:00 2001
From: loulijun2021 <1694218219@qq.com>
Date: 星期二, 09 一月 2024 10:34:58 +0800
Subject: [PATCH] 1.图片预览地址配置

---
 src/views/produce/reportCorrect.vue |  445 ++++++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 389 insertions(+), 56 deletions(-)

diff --git a/src/views/produce/reportCorrect.vue b/src/views/produce/reportCorrect.vue
index 1b59bf1..7df5531 100644
--- a/src/views/produce/reportCorrect.vue
+++ b/src/views/produce/reportCorrect.vue
@@ -11,6 +11,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-input v-model="form.wo_code" placeholder="璇疯緭鍏�" style="width: 200px" />
             </el-form-item>
@@ -20,7 +36,7 @@
             <el-form-item label="浜у搧鍚嶇О" style=" display: flex;">
               <el-input v-model="form.partname" placeholder="璇疯緭鍏�" style="width: 200px" />
             </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.partspec" placeholder="璇疯緭鍏�" style="width: 200px" />
             </el-form-item>
 
@@ -28,9 +44,18 @@
               <el-input v-model="form.reportuser" placeholder="璇疯緭鍏�" style="width: 200px" />
             </el-form-item>
             <el-form-item v-show="isExpandForm" label="鎶ュ伐鏃堕棿" style=" display: flex;">
-              <el-input v-model="form.reportdate" placeholder="璇疯緭鍏�" style="width: 200px" />
+              <el-date-picker
+                v-model="form.reportdate"
+                type="daterange"
+                range-separator="~"
+                class="timeMini"
+                size="mini"
+                style="width: 200px;"
+                :clearable="false"
+                start-placeholder="寮�濮嬫棩鏈�"
+                end-placeholder="缁撴潫鏃ユ湡"
+              />
             </el-form-item>
-
           </div>
           <div
             class="bodySearchReset"
@@ -69,12 +94,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"-->
@@ -109,26 +132,33 @@
             min-width="110"
           />
           <el-table-column
+            prop="wkshp_name"
+            label="杞﹂棿鍚嶇О"
+            sortable="custom"
+            show-overflow-tooltip
+            min-width="110"
+          />
+          <el-table-column
             prop="task_qty"
             label="浠诲姟鏁伴噺"
             sortable="custom"
             show-overflow-tooltip
             min-width="110"
           />
-          <el-table-column
-            prop="wkshp_name"
-            label="杞﹂棿鍚嶇О"
-            show-overflow-tooltip
-            sortable="custom"
-            min-width="110"
-          />
-          <el-table-column
-            prop="eqp_name"
-            label="璁惧鍚嶇О"
-            sortable="custom"
-            show-overflow-tooltip
-            min-width="110"
-          />
+          <!--          <el-table-column-->
+          <!--            prop="wkshp_name"-->
+          <!--            label="杞﹂棿鍚嶇О"-->
+          <!--            show-overflow-tooltip-->
+          <!--            sortable="custom"-->
+          <!--            min-width="110"-->
+          <!--          />-->
+          <!--          <el-table-column-->
+          <!--            prop="eqp_name"-->
+          <!--            label="璁惧鍚嶇О"-->
+          <!--            sortable="custom"-->
+          <!--            show-overflow-tooltip-->
+          <!--            min-width="110"-->
+          <!--          />-->
           <el-table-column
             prop="stepname"
             label="宸ュ簭鍚嶇О"
@@ -136,13 +166,35 @@
             sortable="custom"
             min-width="110"
           />
+          <!--          <el-table-column-->
+          <!--            prop="step_price"-->
+          <!--            label="宸ュ簭鍗曚环"-->
+          <!--            show-overflow-tooltip-->
+          <!--            sortable="custom"-->
+          <!--            min-width="110"-->
+          <!--          />-->
           <el-table-column
-            prop="step_price"
-            label="宸ュ簭鍗曚环"
+            prop="steptype"
+            label="宸ュ簭绫诲瀷"
             show-overflow-tooltip
             sortable="custom"
             min-width="110"
-          />
+          >
+            <template slot-scope="{row}">
+              {{ row.steptype === 'Z' ? '鑷埗' : '澶栧崗' }}
+            </template>
+          </el-table-column>
+          <el-table-column
+            prop="wx_name"
+            label="渚涘簲鍟�"
+            show-overflow-tooltip
+            sortable="custom"
+            min-width="110"
+          >
+            <template slot-scope="{row}">
+              {{ row.wx_name ? row.wx_name : '/' }}
+            </template>
+          </el-table-column>
           <el-table-column
             prop="usergroup_name"
             label="鎶ュ伐鐝粍"
@@ -231,7 +283,7 @@
       v-el-drag-dialog
       title="鎶ュ伐璋冩暣"
       :visible.sync="dialogVisible"
-      width="800px"
+      width="1080px"
       :close-on-click-modal="false"
       top="15vh"
       @closed="handleClose"
@@ -240,25 +292,151 @@
       <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 ? dialogForm.unprice : '/' }}
+          </div>
+        </el-form-item>
+        <el-form-item v-if="dialogForm.flw_type==='Z'" label="鎶ュ伐鐝粍" class="dialogFormItem">
+          <div style="width: 200px;" class="ellipsis">
+            {{ dialogForm.usergroup_name ? dialogForm.usergroup_name : '/' }}
+          </div>
+        </el-form-item>
+        <el-form-item v-if="dialogForm.flw_type!=='Z'" label="渚涘簲鍟�" class="dialogFormItem">
+          <div style="width: 200px;" class="ellipsis">
+            {{ dialogForm.wx_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="dialogForm.flw_type==='Z'?'鍚堟牸鏁伴噺':'鏀舵枡鏁伴噺'" 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 +457,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, PrentOrganizationNoCompany } from '@/api/GeneralBasicData'
+import { MesOrderStepModelSearch, MesOrderStepUpdateSeave, MesOrderStepVerifySearch } from '@/api/WorkOrder'
 
 export default {
   name: 'Zzjg',
@@ -305,6 +476,7 @@
       mainHeight: 0,
       tableHeight: 0,
       form: {
+        wkshopcode: '',
         wo_code: '', // 宸ュ崟缂栫爜
         partnumber: '', // 浜у搧缂栫爜
         partname: '', // 浜у搧鍚嶇О
@@ -319,13 +491,45 @@
       },
       total: 10,
       tableData: [],
-
+      wkshopcodeArr: [],
       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': '',
+        wx_code: '',
+        wx_name: '',
+        children: []
       },
       tableDataDialog: [],
-      totalDialog: 10
+
+      defectArr: [], // 涓嶈壇缂洪櫡
+
+      dialogFormRules: {
+        report_qty: [
+          { required: true, message: '璇疯緭鍏ュ悎鏍兼暟閲�', trigger: ['blur', 'change'] }
+        ]
+      }
 
     }
   },
@@ -336,8 +540,18 @@
     this.getHeight()
 
     this.getMesOrderStepVerifySearch()
+    this.getDefectPermissions()
+    this.getPrentOrganizationNoCompany()
   },
   methods: {
+    async getPrentOrganizationNoCompany() {
+      const { data: res } = await PrentOrganizationNoCompany()
+      this.wkshopcodeArr = res
+    },
+    async getDefectPermissions() {
+      const { data: res3 } = await DefectPermissions() // 缂洪櫡
+      this.defectArr = res3
+    },
     // 鎶ュ伐璋冩暣鍒楄〃鏌ヨ
     async getMesOrderStepVerifySearch() {
       let tempDate = this.form.reportdate
@@ -345,6 +559,7 @@
         tempDate = handleDatetime(tempDate[0]) + '~' + handleDatetime(tempDate[1])
       }
       const data = {
+        wkshopcode: this.form.wkshopcode,
         wo_code: this.form.wo_code,
         partnumber: this.form.partnumber,
         partname: this.form.partname,
@@ -376,6 +591,7 @@
     },
     // 閲嶇疆
     reset() {
+      this.form.wkshopcode = ''
       this.form.wo_code = ''
       this.form.partnumber = ''
       this.form.partname = ''
@@ -398,26 +614,111 @@
       }
       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
+        this.dialogForm.wx_code = row.wx_code
+        this.dialogForm.wx_name = row.wx_name
+
+        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,
+            wxcode: this.dialogForm.wx_code,
+            '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 +733,40 @@
 </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;
+}
+
+::v-deep .el-range__icon {
+  line-height: 28px !important;
+}
+
+::v-deep .el-range-separator {
+  line-height: 28px !important;
+}
+
+::v-deep .el-range-input {
+  font-size: 14px;
+}
+
+::v-deep .el-range-separator {
+  display: flex;
+  justify-content: center;
+  align-items: center;
+}
+
 </style>

--
Gitblit v1.9.3