From 79c983e7fa924e43f9f2a2a11b6f69c546f051a6 Mon Sep 17 00:00:00 2001
From: chenrui <1187576398@qq.com>
Date: 星期四, 10 四月 2025 13:06:50 +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