From 11c0c969f05fd3c546b44898a0020eed9ba65fbe Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期四, 22 一月 2026 13:15:24 +0800
Subject: [PATCH] 业务管理:IFS域字段显示
---
src/views/business/rawMaterialInspection/index.vue | 122 +++++++++++++++++++++++++++++++++++++++-
1 files changed, 117 insertions(+), 5 deletions(-)
diff --git a/src/views/business/rawMaterialInspection/index.vue b/src/views/business/rawMaterialInspection/index.vue
index 33984bf..be19b63 100644
--- a/src/views/business/rawMaterialInspection/index.vue
+++ b/src/views/business/rawMaterialInspection/index.vue
@@ -3,6 +3,12 @@
<div class="search">
<el-form :model="componentData" ref="componentData" size="small" :inline="true">
<el-row>
+ <el-form-item label="IFS鍩�" prop="contract">
+ <el-select @keyup.enter.native="refreshTable" v-model="componentData.contract" clearable placeholder="璇烽�夋嫨" size="small">
+ <el-option label="ZTNS" value="ZTNS"/>
+ <el-option label="KJNS" value="KJNS"/>
+ </el-select>
+ </el-form-item>
<el-form-item label="鎵瑰彿" prop="updateBatchNo">
<el-input v-model="componentData.updateBatchNo" clearable placeholder="璇疯緭鍏�" size="small"
@keyup.enter.native="refreshTable"></el-input>
@@ -97,6 +103,11 @@
<el-option v-for="(item,index) in orderTypeList" :value="item.dictValue" :label="item.dictLabel" :key="index"></el-option>
</el-select>
</el-form-item>
+ <el-form-item class="declareObj-form-item" label="鐗╂枡灞炴�э細" prop="materialProp">
+ <el-select v-model="declareBatchObj.materialProp" clearable size="small">
+ <el-option v-for="(item,index) in materialPropList" :value="item.dictValue" :label="item.dictLabel" :key="index"></el-option>
+ </el-select>
+ </el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-row>
@@ -110,6 +121,9 @@
:visible.sync="declareDialogVisible" width="800px" @close="resetFormData">
<el-form ref="declareObj" :inline="true" :model="declareObj" :rules="declareObjRules" label-width="130px"
label-position="right">
+ <el-form-item class="declareObj-form-item" label="IFS鍩�:" prop="contract" style="width: calc(50% - 54px)">
+ <el-tag :type="declareObj.contract==='ZTNS'?'':'success'">{{declareObj.contract}}</el-tag>
+ </el-form-item>
<el-form-item class="declareObj-form-item" label="璁㈠崟鍙�:" prop="orderNo">
<el-input v-model="declareObj.orderNo" :disabled="declareType !== 'add'" class="addObj-info" clearable
placeholder="" size="small"></el-input>
@@ -157,6 +171,11 @@
<el-form-item class="declareObj-form-item" label="閿�鍞鍗曞垎绫伙細" prop="orderType">
<el-select v-model="declareObj.orderType" clearable size="small">
<el-option v-for="(item,index) in orderTypeList" :value="item.dictValue" :label="item.dictLabel" :key="index"></el-option>
+ </el-select>
+ </el-form-item>
+ <el-form-item class="declareObj-form-item" label="鐗╂枡灞炴�э細" prop="materialProp">
+ <el-select v-model="declareObj.materialProp" clearable size="small">
+ <el-option v-for="(item,index) in materialPropList" :value="item.dictValue" :label="item.dictLabel" :key="index"></el-option>
</el-select>
</el-form-item>
</el-form>
@@ -207,6 +226,11 @@
:header-cell-style="{textAlign:'center'}"
:cell-style="{textAlign:'center'}"
>
+ <el-table-column label="IFS鍩�" prop="contract" :min-width="100" width="100">
+ <template slot-scope="scope">
+ <el-tag :type="scope.row.contract==='ZTNS'?'':'success'">{{scope.row.contract}}</el-tag>
+ </template>
+ </el-table-column>
<el-table-column label="璁㈠崟缂栧彿" prop="orderNo" :min-width="100" width="100"></el-table-column>
<el-table-column label="闆朵欢缂栧彿" prop="partNo" :min-width="150" width="150" show-overflow-tooltip></el-table-column>
<el-table-column label="闆朵欢鎻忚堪" prop="partDesc" :min-width="150" show-overflow-tooltip></el-table-column>
@@ -265,7 +289,18 @@
</div>
<span slot="footer" class="dialog-footer">
<el-button @click="resetOrderSplitData()" :disabled="confirmSplitOrderLoading">鍙� 娑�</el-button>
- <el-button type="primary" @click="confirmSplitOrder()" :loading="confirmSplitOrderLoading">纭� 瀹�</el-button>
+ <el-button type="primary" @click="beforeConfirmSplitOrder()" :loading="confirmSplitOrderLoading">纭� 瀹�</el-button>
+ </span>
+ </el-dialog>
+ <el-dialog
+ title="閫夋嫨鐗╂枡灞炴��"
+ :visible.sync="materialPropVisible"
+ width="15%">
+ <el-select placeholder="璇烽�夋嫨鐗╂枡灞炴��" v-model="declareObj.materialProp" clearable size="small">
+ <el-option v-for="(item,index) in materialPropList" :value="item.dictValue" :label="item.dictLabel" :key="index"></el-option>
+ </el-select>
+ <span slot="footer" class="dialog-footer">
+ <el-button type="primary" @click="confirmSplitOrder">纭� 瀹�</el-button>
</span>
</el-dialog>
</div>
@@ -301,12 +336,18 @@
data() {
// 杩欓噷瀛樻斁鏁版嵁
return {
+ materialPropVisible:false,
+ splitOrderType: null,
declareBatchObj:{
- orderType:''
+ orderType:'',
+ materialProp:''
},
declareObjBatchRules:{
orderType: [
{ required: true, message: '璇烽�夋嫨閿�鍞鍗曞垎绫�', trigger: 'change' }
+ ],
+ materialProp: [
+ { required: true, message: '璇烽�夋嫨鐗╂枡灞炴��', trigger: 'change' }
],
},
confirmSplitOrderLoading: false,
@@ -352,6 +393,25 @@
return null
}
}
+ },
+ {
+ label: 'IFS鍩�',
+ prop: 'contract',
+ width: '120px',
+ dataType: 'tag',
+ formatData: (params) => {
+ return params
+ },
+ formatType: (params) => {
+ if (params === 'ZTNS') {
+ return ''
+ } else if (params === 'KJNS') {
+ return 'success'
+ }else {
+ return null
+ }
+ }
+
},
{ label: '璁㈠崟鍙�', prop: 'orderNo' },
{ label: '鎶佃揪鐨勯噰璐暟閲�', prop: 'purQtyInStore', width: '140px', },
@@ -461,6 +521,25 @@
return null
}
}
+ },
+ {
+ label: 'IFS鍩�',
+ prop: 'contract',
+ width: '120px',
+ dataType: 'tag',
+ formatData: (params) => {
+ return params
+ },
+ formatType: (params) => {
+ if (params === 'ZTNS') {
+ return ''
+ } else if (params === 'KJNS') {
+ return 'success'
+ }else {
+ return null
+ }
+ }
+
},
{ label: '璁㈠崟鍙�', prop: 'orderNo' },
{ label: '璁㈠崟鍒嗙被', prop: 'orderTypeName' },
@@ -580,8 +659,10 @@
buyUnitMeas: '', // 鍗曚綅
isExpire: '', // 鍗曚綅
orderType: null, // 閿�鍞鍗曞垎绫�
+ materialProp: null, // 鐗╂枡灞炴��
},
componentData: { // 琛ㄦ牸鏁版嵁
+ contract:null,
updateBatchNo: null,
partNo: null,
partDesc: null,
@@ -629,6 +710,9 @@
orderType: [
{ required: true, message: '璇烽�夋嫨閿�鍞鍗曞垎绫�', trigger: 'change' }
],
+ materialProp: [
+ { required: true, message: '璇烽�夋嫨鐗╂枡灞炴��', trigger: 'change' }
+ ],
},
tabList: [
{
@@ -664,11 +748,13 @@
outLoading: false,
upLoading: false,
orderTypeList: [],
+ materialPropList: [],
}
},
mounted() {
this.refreshTable()
this.getOrderTypeList()
+ this.getMaterialPropList()
},
// 鏂规硶闆嗗悎
methods: {
@@ -676,6 +762,16 @@
getDicts('inspection_type').then(res=>{
if(res.code === 200){
this.orderTypeList = res.data
+ }
+ }).catch(error=>{
+ console.error(error)
+ })
+ },
+ //鑾峰彇鐗╂枡灞炴�у瓧鍏搁」
+ getMaterialPropList(){
+ getDicts('material_prop_type').then(res=>{
+ if(res.code === 200){
+ this.materialPropList = res.data
}
}).catch(error=>{
console.error(error)
@@ -691,12 +787,26 @@
this.refreshTable()
})
},
+ //纭鎷嗗垎璁㈠崟鍓嶏紝閫夋嫨璁㈠崟鐨勭墿鏂欏睘鎬�
+ beforeConfirmSplitOrder(){
+ if(!this.declareObj.materialProp){
+ this.materialPropVisible = true
+ }else{
+ this.confirmSplitOrder()
+ }
+ },
confirmSplitOrder(){
+ if(!this.declareObj.materialProp){
+ this.$message.warning("璇烽�夋嫨鐗╂枡灞炴��")
+ return
+ }
+ this.materialPropVisible = false
this.confirmSplitOrderLoading = true
let requestData = {
ifsId: this.declareObj.id,
splitDetailList: this.orderSplitDetailData,
- pushToMes: this.pushToMes
+ pushToMes: this.pushToMes,
+ materialProp: this.declareObj.materialProp
}
confirmSplitOrder(requestData).then(res=>{
if(res.code===200 && res.data){
@@ -941,7 +1051,8 @@
this.declareDialogSVisible = true
inspectionReport({
ids: ids,
- orderType: this.declareBatchObj.orderType
+ orderType: this.declareBatchObj.orderType,
+ materialProp: this.declareBatchObj.materialProp
}).then(res => {
if (res.code === 200) {
this.declareDialogSVisible = false
@@ -1000,7 +1111,8 @@
inspectionReportOne({
id: this.declareObj.id,
updateBatchNo: this.declareObj.updateBatchNo,
- orderType: this.declareObj.orderType
+ orderType: this.declareObj.orderType,
+ materialProp: this.declareObj.materialProp
}).then(res => {
if (res.code === 200) {
this.declareDialogVisible = false
--
Gitblit v1.9.3