From 46aceb8303dc691cfbe70c834bc95e87b3b76567 Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期三, 24 十二月 2025 14:13:48 +0800
Subject: [PATCH] 销售订单报检区分物料属性2
---
src/views/business/rawMaterialInspection/index.vue | 171 ++++++++++++++++++++++++++++++++++++++++++++++++--------
1 files changed, 146 insertions(+), 25 deletions(-)
diff --git a/src/views/business/rawMaterialInspection/index.vue b/src/views/business/rawMaterialInspection/index.vue
index 1fa1140..2333ca1 100644
--- a/src/views/business/rawMaterialInspection/index.vue
+++ b/src/views/business/rawMaterialInspection/index.vue
@@ -47,6 +47,12 @@
@keyup.enter.native="refreshTable">
</el-input>
</el-form-item>
+ <el-form-item label="閿�鍞鍗曞垎绫�" prop="orderType" v-if="(tabIndex === 3 || tabIndex === 4) && more">
+ <el-select v-model="componentData.orderType" clearable size="small"
+ @keyup.enter.native="refreshTable">
+ <el-option v-for="(item,index) in orderTypeList" :label="item.dictLabel" :value="item.dictValue" :key="index"></el-option>
+ </el-select>
+ </el-form-item>
</el-row>
</el-form>
</div>
@@ -65,7 +71,7 @@
@click="handleDown">瀵煎嚭</el-button>
<el-button v-if="tabIndex === 0" :loading="btnLoading" size="small" type="primary"
@click="openIFS">鑾峰彇IFS璁㈠崟</el-button>
- <el-button v-if="tabIndex === 0" size="small" type="primary" @click="declareS">鎶ユ</el-button>
+ <el-button v-if="tabIndex === 0" size="small" type="primary" @click="declareS">鎵归噺鎶ユ</el-button>
<el-button v-if="tabIndex === 0" size="small" type="primary" @click="addDeclare">鏂板鎶ユ淇℃伅</el-button>
</div>
</div>
@@ -83,17 +89,29 @@
</div>
</div>
<!-- 鎵归噺鎶ユ -->
- <el-dialog :visible.sync="declareDialogSVisible" title="纭鎶ユ" width="30%">
- <p style="font-size:16px;color:#333333">鏄惁纭鎶ユ閫夋嫨鐨勬暟鎹紵</p>
+ <el-dialog :visible.sync="declareDialogSVisible" title="鎵归噺鎶ユ" width="30%" :before-close="resetBatchFormData">
+ <el-form ref="declareBatchObj" :inline="true" :model="declareBatchObj" :rules="declareObjBatchRules" label-width="130px"
+ label-position="right">
+ <el-form-item class="declareObj-form-item" label="閿�鍞鍗曞垎绫伙細" prop="orderType">
+ <el-select v-model="declareBatchObj.orderType" prop="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="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>
- <el-button @click="declareDialogSVisible = false">鍙� 娑�</el-button>
+ <el-button @click="resetBatchFormData()">鍙� 娑�</el-button>
<el-button :loading="submitDeclareLoading" type="primary" @click="submitDeclareS">纭� 瀹�</el-button>
</el-row>
</span>
</el-dialog>
<!-- 纭鎶ユ -->
- <el-dialog :close-on-click-modal="false" :title="declareType === 'add' ? '鏂板鎶ユ淇℃伅' : '鍘熸潗鏂欐姤妫�'"
+ <el-dialog :close-on-click-modal="false" :title="declareType === 'add' ? '鏂板鎶ユ淇℃伅' : '閿�鍞鍗曟姤妫�'"
:visible.sync="declareDialogVisible" width="800px" @close="resetFormData">
<el-form ref="declareObj" :inline="true" :model="declareObj" :rules="declareObjRules" label-width="130px"
label-position="right">
@@ -139,6 +157,16 @@
<el-select v-model="declareObj.isExpire" prop="isExpire" :disabled="declareType !== 'add'" clearable
size="small">
<el-option :value="1" label="杩囨湡鐗╂枡"></el-option>
+ </el-select>
+ </el-form-item>
+ <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>
@@ -247,7 +275,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>
@@ -259,12 +298,15 @@
addIfsInventoryQuantity,
advancedGodown,
concessionRelease, delIfsInventory,
- getIfsByAll,
- getIfsByFinish,
getIfsOrder,
getWarehouseSubmit, inspectionReport, inspectionReportOne, rawAllExport,
revokeInspectionReport,downloadTemplate,confirmSplitOrder
} from '@/api/business/materialInspection'
+import {
+ getIfsByAll,
+ getIfsByFinish,
+} from '@/api/business/ifsOrderInspection'
+import { getDicts } from "@/api/system/dict/data";
import limsTable from "@/components/Table/lims-table.vue";
import {transformExcel} from '@/utils/file'
@@ -280,6 +322,20 @@
data() {
// 杩欓噷瀛樻斁鏁版嵁
return {
+ materialPropVisible:false,
+ splitOrderType: null,
+ declareBatchObj:{
+ orderType:'',
+ materialProp:''
+ },
+ declareObjBatchRules:{
+ orderType: [
+ { required: true, message: '璇烽�夋嫨閿�鍞鍗曞垎绫�', trigger: 'change' }
+ ],
+ materialProp: [
+ { required: true, message: '璇烽�夋嫨鐗╂枡灞炴��', trigger: 'change' }
+ ],
+ },
confirmSplitOrderLoading: false,
detailDataLoading: false,
pushToMes:false,//鏄惁鍚屾鍒癿es
@@ -434,6 +490,7 @@
}
},
{ label: '璁㈠崟鍙�', prop: 'orderNo' },
+ { label: '璁㈠崟鍒嗙被', prop: 'orderTypeName' },
{ label: '鎶佃揪鐨勯噰璐暟閲�', prop: 'purQtyInStore',width:'160px' },
{ label: '鎶ユ鏃堕棿', prop: 'declareDate' },
{ label: '鎵瑰彿', prop: 'updateBatchNo' },
@@ -549,6 +606,8 @@
receiverDate: '', // 鎺ユ敹鏃堕棿
buyUnitMeas: '', // 鍗曚綅
isExpire: '', // 鍗曚綅
+ orderType: null, // 閿�鍞鍗曞垎绫�
+ materialProp: null, // 鐗╂枡灞炴��
},
componentData: { // 琛ㄦ牸鏁版嵁
updateBatchNo: null,
@@ -558,6 +617,7 @@
date: null,
entrustCode: '',
inspectStatus: '',
+ orderType: null,
},
declareDialogVisible1: false,
upLoad: false,
@@ -594,6 +654,12 @@
buyUnitMeas: [
{ required: false, message: '璇峰~鍐欏崟浣�', trigger: 'blur' }
],
+ orderType: [
+ { required: true, message: '璇烽�夋嫨閿�鍞鍗曞垎绫�', trigger: 'change' }
+ ],
+ materialProp: [
+ { required: true, message: '璇烽�夋嫨鐗╂枡灞炴��', trigger: 'change' }
+ ],
},
tabList: [
{
@@ -628,13 +694,36 @@
],
outLoading: false,
upLoading: false,
+ orderTypeList: [],
+ materialPropList: [],
}
},
mounted() {
this.refreshTable()
+ this.getOrderTypeList()
+ this.getMaterialPropList()
},
// 鏂规硶闆嗗悎
methods: {
+ getOrderTypeList(){
+ 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)
+ })
+ },
resetOrderSplitData(){
this.orderSplitBasicData = []
this.orderSplitDetailData = []
@@ -645,12 +734,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){
@@ -713,6 +816,9 @@
// 鍒囨崲tab琛ㄦ牸
handleTab(m) {
this.tabIndex = m;
+ if([0,1].includes(this.tabIndex)){
+ this.componentData.orderType = null
+ }
this.refreshTable()
},
// 鏌ヨ鍥炶皟
@@ -883,21 +989,29 @@
},
// 鎻愪氦鎵归噺鎶ユ
submitDeclareS() {
- let ids = []
- this.multipleSelection.forEach(item => {
- ids.push(item.id)
- })
- this.declareDialogSVisible = true
- inspectionReport({ ids: ids }).then(res => {
- if (res.code === 200) {
- this.declareDialogSVisible = false
- this.$message.success('鎶ユ鎴愬姛')
- this.refreshTable()
+ this.$refs.declareBatchObj.validate(valid=>{
+ if(valid){
+ let ids = []
+ this.multipleSelection.forEach(item => {
+ ids.push(item.id)
+ })
+ this.declareDialogSVisible = true
+ inspectionReport({
+ ids: ids,
+ orderType: this.declareBatchObj.orderType,
+ materialProp: this.declareBatchObj.materialProp
+ }).then(res => {
+ if (res.code === 200) {
+ this.declareDialogSVisible = false
+ this.$message.success('鎶ユ鎴愬姛')
+ this.refreshTable()
+ }
+ this.submitDeclareLoading = false
+ }).catch(err => {
+ this.submitDeclareLoading = false
+ console.log(err)
+ })
}
- this.submitDeclareLoading = false
- }).catch(err => {
- this.submitDeclareLoading = false
- console.log(err)
})
},
// 鎵撳紑鎶ユ纭寮规
@@ -943,7 +1057,9 @@
if (valid) {
inspectionReportOne({
id: this.declareObj.id,
- updateBatchNo: this.declareObj.updateBatchNo
+ updateBatchNo: this.declareObj.updateBatchNo,
+ orderType: this.declareObj.orderType,
+ materialProp: this.declareObj.materialProp
}).then(res => {
if (res.code === 200) {
this.declareDialogVisible = false
@@ -961,8 +1077,12 @@
}
},
resetFormData() {
- this.$refs['declareObj'].resetFields();
+ this.$refs.declareObj.resetFields();
this.declareDialogVisible = false
+ },
+ resetBatchFormData() {
+ this.$refs.declareBatchObj.resetFields();
+ this.declareDialogSVisible = false
},
// 鎵撳紑鍒犻櫎寮规
deleteMaterial(row) {
@@ -1023,6 +1143,7 @@
receiverDate: '', // 鎺ユ敹鏃堕棿
buyUnitMeas: '', // 鍗曚綅
isExpire: '', // 鍗曚綅
+ orderType: null, // 閿�鍞鍗曞垎绫�
}
}
},
--
Gitblit v1.9.3