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 | 171 +++++++++++++++++++++++++++++++++++++-------------------- 1 files changed, 111 insertions(+), 60 deletions(-) diff --git a/src/views/business/materialOrder/index.vue b/src/views/business/materialOrder/index.vue index 7e0afb0..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> @@ -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> <!--寰呬笅鍗�--> @@ -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' }, @@ -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' }, @@ -892,6 +938,7 @@ }, mounted() { this.refreshTable() + this.inspectionTypeList = this.dict.type.inspection_type; }, activated() { this.refreshTable() @@ -1359,6 +1406,10 @@ } return '' }, + opendeclareDialog(type, title) { + this.declareTitle = title + this.$refs.declareDialog.open(type) + } }, } </script> -- Gitblit v1.9.3