From 414a9c839061e06468138c9f662a4d9cf4225599 Mon Sep 17 00:00:00 2001 From: spring <2396852758@qq.com> Date: 星期三, 09 四月 2025 15:08:29 +0800 Subject: [PATCH] 完成二次报检,过期报检 --- src/views/business/materialOrder/index.vue | 201 +++++++++++++++++++++++++++++++------------------ 1 files changed, 126 insertions(+), 75 deletions(-) diff --git a/src/views/business/materialOrder/index.vue b/src/views/business/materialOrder/index.vue index 4cb05c3..2ab2c30 100644 --- a/src/views/business/materialOrder/index.vue +++ b/src/views/business/materialOrder/index.vue @@ -20,8 +20,11 @@ <el-form-item label="鎶ユ绫诲瀷" prop="inspectionType"> <el-select v-model="entity.inspectionType" clearable placeholder="璇烽�夋嫨" size="small" @change="refreshTable" style="width: 100%"> - <el-option label="鍘熻緟鏉�" value="鍘熻緟鏉�"></el-option> - <el-option label="鍖呮潗" value="鍖呮潗"></el-option> + <!-- <el-option label="鍘熻緟鏉�" value="鍘熻緟鏉�"></el-option> + <el-option label="鍖呮潗" value="鍖呮潗"></el-option> --> + <el-option v-for="item in dict.type.inspection_type" :key="item.value" :label="item.label" + :value="item.value"> + </el-option> </el-select> </el-form-item> <el-form-item> @@ -67,7 +70,7 @@ <li :class="{ active: tabIndex === 0 }" @click="handleTab(0)">寰呬笅鍗�</li> <li :class="{ active: tabIndex === 1 }" @click="handleTab(1)">妫�楠屼腑</li> <li :class="{ active: tabIndex === 2 }" @click="handleTab(2)">宸叉楠�</li> - <li :class="{ active: tabIndex === 4 }" @click="handleTab(4)">瀛e害妫�楠�</li> + <li :class="{ active: tabIndex === 4 }" @click="handleTab(4)">鍙潬鎬ф楠�</li> <li :class="{ active: tabIndex === 3 }" v-if="checkPermi(['get:Ifs:ByAll'])" @click="handleTab(3)">鍏ㄩ儴</li> </ul> </div> @@ -76,6 +79,10 @@ @click="handleOut">瀵煎嚭</el-button> <!-- <el-button v-if="tabIndex === 0" size="small" type="primary" @click="copper">閾滄潗鏂欎笅鍗�</el-button> --> <el-button v-if="tabIndex !== 0" size="small" type="primary" @click="openPrint">鏍囩鎵撳嵃</el-button> + <el-button v-if="tabIndex === 0" size="small" type="primary" + @click="opendeclareDialog(2, '浜屾鎶ユ')">浜屾鎶ユ</el-button> + <el-button v-if="tabIndex === 0" size="small" type="primary" + @click="opendeclareDialog(3, '杩囨湡鎶ユ')">杩囨湡鎶ユ</el-button> </div> </div> <!--寰呬笅鍗�--> @@ -102,7 +109,7 @@ :rowClassName="changeRowClass" :handleSelectionChange="selectMethod" @pagination="pagination3" :height="'calc(100vh - 290px)'" key="tableData3" :page="page3" :tableLoading="tableLoading3"></lims-table> </div> - <!--瀛e害妫�楠�--> + <!--鍙潬鎬ф楠�--> <div class="table"> <lims-table :tableData="tableData4" :column="column4" v-if="tabIndex === 4" :isSelection="true" :rowClassName="changeRowClass" :handleSelectionChange="selectMethod" @pagination="pagination4" @@ -138,7 +145,7 @@ <!-- 鎾ら攢涓嬪崟 --> <el-dialog :visible.sync="quashDialogVisible" title="涓嬪崟鎾ら攢" width="30%"> <el-button size="small" type="primary" @click="cancelQuashOrder('enterOrderId')">鎾ら攢杩涘巶妫�楠屼笅鍗�</el-button> - <el-button size="small" type="primary" @click="cancelQuashOrder('quarterOrderId')">鎾ら攢瀛e害妫�楠屼笅鍗�</el-button> + <el-button size="small" type="primary" @click="cancelQuashOrder('quarterOrderId')">鎾ら攢鍙潬鎬ф楠屼笅鍗�</el-button> <span slot="footer" class="dialog-footer"> <el-row> <el-button @click="quashDialogVisible = false">鍙� 娑�</el-button> @@ -176,7 +183,7 @@ type="primary" @click="viewInsInfo0">鏌ョ湅</el-link> </div> <div> - <span style="font-size: 16px;">瀛e害妫�楠屽師濮嬫暟鎹�</span> + <span style="font-size: 16px;">鍙潬鎬ф楠屽師濮嬫暟鎹�</span> <el-link :disabled="!insInfo.quarterOrderId" :underline="false" style="vertical-align: bottom;margin-left: 6px" type="primary" @click="viewInsInfo1">鏌ョ湅</el-link> </div> @@ -185,6 +192,8 @@ <!-- :sonLaboratory="'鍘熻緟鏉�'" :state="state"--> <!-- :typeSource="typeSource"--> <!-- @goback="goback" @refreshView="refreshView"/>--> + <!-- 杩囨湡鎶ユ/浜屾鎶ユ --> + <declareDialog ref="declareDialog" :title="declareTitle" @refreshTable="refreshTable" /> </div> </template> @@ -208,42 +217,46 @@ revokeInspectionReport, updateEntrustCode } from "@/api/business/rawMaterialOrder"; -import { getWarehouseSubmit } from "@/api/business/materialInspection"; +import { getWarehouseSubmit, ifsInventoryQuantityDelIfsInventory } from "@/api/business/materialInspection"; import { mapGetters } from "vuex"; +import declareDialog from './components/declareDialog.vue' // import Inspection from "../do/b1-inspect-order-plan/Inspection.vue"; export default { name: "MaterialOrder", + dicts: ["inspection_type"], // import 寮曞叆鐨勭粍浠堕渶瑕佹敞鍏ュ埌瀵硅薄涓墠鑳戒娇鐢� - components: { limsTable, DownFileDialog, FilesLookVisible, DataLookVisible, ShowInfo, PrintDialog }, + components: { limsTable, DownFileDialog, FilesLookVisible, DataLookVisible, ShowInfo, PrintDialog, declareDialog }, data() { // 杩欓噷瀛樻斁鏁版嵁 return { + inspectionTypeList: [], + declareTitle: '', tableData: [], tableLoading: false, column: [ { label: '鎵瑰彿', prop: 'updateBatchNo' }, { label: '闆朵欢鍙�', prop: 'partNo' }, { label: '闆朵欢鎻忚堪', prop: 'partDesc' }, - { label: '鎶ユ绫诲瀷', prop: 'inspectionType' }, { + label: '鎶ユ绫诲瀷', prop: 'inspectionType', dataType: 'tag', - label: '鐗╂枡绫诲瀷', - prop: 'isExpire', formatData: (params) => { - if (params == 1) { - return '杩囨湡鐗╂枡' - } else { - return null + let obj = this.inspectionTypeList.find(m => m.value == params) + if (obj) { + return obj.label } }, formatType: (params) => { - if (params == 1) { - return 'info' - } else { - return null + let obj = this.inspectionTypeList.find(m => m.value == params) + if (obj) { + return obj.raw.listClass } } + }, + { + label: '杩囨湡鏃堕棿', + prop: 'expirationTime', }, { label: '鎶佃揪鐨勯噰璐暟閲�', prop: 'qtyArrived' }, { label: '鍗曚綅', prop: 'buyUnitMeas' }, @@ -267,6 +280,40 @@ type: 'text', clickFun: (row) => { this.exemption(row); + }, + }, + { + name: '鍒犻櫎', + type: 'text', + clickFun: (row) => { + this.$confirm("鏄惁鍒犻櫎璇ユ潯鏁版嵁?", "鎻愮ず", { + confirmButtonText: "纭畾", + cancelButtonText: "鍙栨秷", + type: "warning", + }) + .then(() => { + ifsInventoryQuantityDelIfsInventory({ id: row.id }).then((res) => { + if (res.code == 200) { + this.$message.success("鍒犻櫎鎴愬姛"); + this.refreshTable() + } + }); + }) + .catch(() => { }); + }, + disabled: (row) => { + return !row.inspectionType || row.inspectionType < 2 + }, + }, + { + name: '缂栬緫', + type: 'text', + clickFun: (row) => { + this.declareTitle = row.inspectionType == 2 ? '浜屾鎶ユ' : '杩囨湡鎶ユ' + this.$refs.declareDialog.open(row.inspectionType, row) + }, + disabled: (row) => { + return !row.inspectionType || row.inspectionType < 2 }, }, // { @@ -307,25 +354,25 @@ { label: '鏍峰搧鍨嬪彿', prop: 'sampleModel' }, { label: '妫�楠屼汉', prop: 'userName' }, { label: '涓嬪彂鏃堕棿', prop: 'sendTime' }, - { label: '鎶ユ绫诲瀷', prop: 'inspectionType' }, { + label: '鎶ユ绫诲瀷', prop: 'inspectionType', dataType: 'tag', - label: '鐗╂枡绫诲瀷', - prop: 'isExpire', formatData: (params) => { - if (params == 1) { - return '杩囨湡鐗╂枡' - } else { - return null + let obj = this.inspectionTypeList.find(m => m.value == params) + if (obj) { + return obj.label } }, formatType: (params) => { - if (params == 1) { - return 'info' - } else { - return null + let obj = this.inspectionTypeList.find(m => m.value == params) + if (obj) { + return obj.raw.listClass } } + }, + { + label: '杩囨湡鏃堕棿', + prop: 'expirationTime', }, { label: '鎶佃揪鐨勯噰璐暟閲�', prop: 'qtyArrived' }, { label: '鍗曚綅', prop: 'buyUnitMeas' }, @@ -447,25 +494,25 @@ }, { label: '鏍峰搧鍨嬪彿', prop: 'sampleModel' }, { label: '妫�楠屼汉', prop: 'userName' }, - { label: '鎶ユ绫诲瀷', prop: 'inspectionType' }, { + label: '鎶ユ绫诲瀷', prop: 'inspectionType', dataType: 'tag', - label: '鐗╂枡绫诲瀷', - prop: 'isExpire', formatData: (params) => { - if (params == 1) { - return '杩囨湡鐗╂枡' - } else { - return null + let obj = this.inspectionTypeList.find(m => m.value == params) + if (obj) { + return obj.label } }, formatType: (params) => { - if (params == 1) { - return 'info' - } else { - return null + let obj = this.inspectionTypeList.find(m => m.value == params) + if (obj) { + return obj.raw.listClass } } + }, + { + label: '杩囨湡鏃堕棿', + prop: 'expirationTime', }, { label: '鍗曚綅', prop: 'buyUnitMeas' }, { label: '鎺ユ敹鏃堕棿', prop: 'receiverDate' }, @@ -476,7 +523,7 @@ label: '鎿嶄綔', operation: [ { - name: '瀛e害妫�楠�', + name: '鍙潬鎬ф楠�', type: 'text', clickFun: (row) => { this.playOrderSec(row); @@ -527,7 +574,7 @@ }, }, { - name: '瀛e害鎾ら攢', + name: '鍙潬鎬ф挙閿�', type: 'text', clickFun: (row) => { this.repealQuarter(row); @@ -619,25 +666,25 @@ }, { label: '鏍峰搧鍨嬪彿', prop: 'sampleModel' }, { label: '妫�楠屼汉', prop: 'userName' }, - { label: '鎶ユ绫诲瀷', prop: 'inspectionType' }, { + label: '鎶ユ绫诲瀷', prop: 'inspectionType', dataType: 'tag', - label: '鐗╂枡绫诲瀷', - prop: 'isExpire', formatData: (params) => { - if (params == 1) { - return '杩囨湡鐗╂枡' - } else { - return null + let obj = this.inspectionTypeList.find(m => m.value == params) + if (obj) { + return obj.label } }, formatType: (params) => { - if (params == 1) { - return 'info' - } else { - return null + let obj = this.inspectionTypeList.find(m => m.value == params) + if (obj) { + return obj.raw.listClass } } + }, + { + label: '杩囨湡鏃堕棿', + prop: 'expirationTime', }, { label: '鍗曚綅', prop: 'buyUnitMeas' }, { label: '鎺ユ敹鏃堕棿', prop: 'receiverDate' }, @@ -744,25 +791,24 @@ }, { label: '鏍峰搧鍨嬪彿', prop: 'sampleModel' }, { label: '妫�楠屼汉', prop: 'userName' }, - { label: '鎶ユ绫诲瀷', prop: 'inspectionType' }, { - dataType: 'tag', - label: '鐗╂枡绫诲瀷', - prop: 'isExpire', + label: '鎶ユ绫诲瀷', prop: 'inspectionType', dataType: 'tag', formatData: (params) => { - if (params == 1) { - return '杩囨湡鐗╂枡' - } else { - return null + let obj = this.inspectionTypeList.find(m => m.value == params) + if (obj) { + return obj.label } }, formatType: (params) => { - if (params == 1) { - return 'info' - } else { - return null + let obj = this.inspectionTypeList.find(m => m.value == params) + if (obj) { + return obj.raw.listClass } } + }, + { + label: '杩囨湡鏃堕棿', + prop: 'expirationTime', }, { label: '鍗曚綅', prop: 'buyUnitMeas' }, { label: '鎺ユ敹鏃堕棿', prop: 'receiverDate' }, @@ -773,7 +819,7 @@ label: '鎿嶄綔', operation: [ { - name: '瀛e害妫�楠�', + name: '鍙潬鎬ф楠�', type: 'text', clickFun: (row) => { this.playOrderSec(row); @@ -837,7 +883,7 @@ value: 2 }, { - label: '瀛e害妫�楠�', + label: '鍙潬鎬ф楠�', value: 4 }, { @@ -849,7 +895,7 @@ tabIndex: 0, multipleSelection: [], active: 0, //1锛氫笅鍗曪紝2锛氭煡鐪� - orderType: 0, //0锛氬師杈呮潗涓嬪崟锛�1锛氬搴︽楠屼笅鍗� + orderType: 0, //0锛氬師杈呮潗涓嬪崟锛�1锛氬彲闈犳�ф楠屼笅鍗� currentId: null, btnLoading: false, quashDialogVisible: false, // 鎾ら攢涓嬪崟鎻愰啋寮规 @@ -892,6 +938,7 @@ }, mounted() { this.refreshTable() + this.inspectionTypeList = this.dict.type.inspection_type; }, activated() { this.refreshTable() @@ -919,7 +966,7 @@ // 宸叉楠屾煡璇� this.getIfsByOverList() } else if (this.tabIndex === 4) { - // 鏌ヨ瀛e害妫�楠� + // 鏌ヨ鍙潬鎬ф楠� this.getIfsByQuarterList() } else { // 鍏ㄩ儴鏌ヨ @@ -975,7 +1022,7 @@ this.tableLoading2 = false }) }, - // 鏌ヨ瀛e害妫�楠� + // 鏌ヨ鍙潬鎬ф楠� getIfsByQuarterList() { this.tableLoading4 = true if (null != this.entity.date) { @@ -1080,9 +1127,9 @@ }); }); }, - // 瀛e害鎾ら攢 + // 鍙潬鎬ф挙閿� repealQuarter(row) { - this.$confirm('鏄惁鎾ら攢瀛e害涓嬪崟?', "璀﹀憡", { + this.$confirm('鏄惁鎾ら攢鍙潬鎬т笅鍗�?', "璀﹀憡", { confirmButtonText: "纭畾", cancelButtonText: "鍙栨秷", type: "warning" @@ -1158,7 +1205,7 @@ playOrder(row) { this.$router.push({ path: "/materialOrder/customsInspection", query: { orderType: 0, customsInspection: row, active: 1 } }); }, - // 瀛e害妫�楠屼笅鍗� + // 鍙潬鎬ф楠屼笅鍗� playOrderSec(row) { this.$router.push({ path: "/materialOrder/customsInspection", query: { orderType: 1, customsInspection: row, active: 1 } }); }, @@ -1231,7 +1278,7 @@ }) }).catch(() => { }) } else if (!row.enterOrderId && row.quarterOrderId) { - this.$confirm('鏄惁鎾ら攢瀛e害涓嬪崟?', "璀﹀憡", { + this.$confirm('鏄惁鎾ら攢鍙潬鎬т笅鍗�?', "璀﹀憡", { confirmButtonText: "纭畾", cancelButtonText: "鍙栨秷", type: "warning" @@ -1359,6 +1406,10 @@ } return '' }, + opendeclareDialog(type, title) { + this.declareTitle = title + this.$refs.declareDialog.open(type) + } }, } </script> -- Gitblit v1.9.3