diff --git a/src/views/wms/basicDataManage/strategySetting/strategy/upShelfStrategy/AddForm.vue b/src/views/wms/basicDataManage/strategySetting/strategy/upShelfStrategy/AddForm.vue index bd3ad9794..7c2e56220 100644 --- a/src/views/wms/basicDataManage/strategySetting/strategy/upShelfStrategy/AddForm.vue +++ b/src/views/wms/basicDataManage/strategySetting/strategy/upShelfStrategy/AddForm.vue @@ -53,6 +53,69 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - + - + - + - + - + - + @@ -566,7 +629,7 @@ - + - + - + @@ -674,16 +737,18 @@ const formData = ref({ status: true, //状态 //规则条件集合 condition: [ - // 供应商 - { ParamCode: 'SupplierCode', Operator: 'IN', Value: '' }, + // 仓库 + { ParamCode: 'WarehouseCode', Operator: 'IN', Value: '' }, + // // 供应商 + // { ParamCode: 'SupplierCode', Operator: 'IN', Value: '' }, // 物料类型/物料分组/物料/abc类/项目/ { ParamCode: 'ItemType', Operator: 'IN', Value: '' }, - // 重量/体积/面积 - { ParamCode: 'Weight', Operator: '>', Value: [] }, - // 库存状态 - { ParamCode: 'InventoryStatus', Operator: 'IN', Value: [] }, - // 存储类型 - { ParamCode: 'StorageType', Operator: 'IN', Value: [] }, + // // 重量/体积/面积 + // { ParamCode: 'Weight', Operator: '>', Value: [] }, + // // 库存状态 + // { ParamCode: 'InventoryStatus', Operator: 'IN', Value: [] }, + // // 存储类型 + // { ParamCode: 'StorageType', Operator: 'IN', Value: [] }, // 库存事务 // 业务类型 { ParamCode: 'TransactionType', Operator: 'IN', Value: '' }, ], @@ -893,10 +958,11 @@ const filterMethodWarehouseList = (query: string) => { const searchTableRef = ref() -const searchWarehouse = ()=>{ - - - if(warehouseType.value == 'WarehouseCode'){ +const searchTableModule = ref('') // 条件 / 配置 +const searchWarehouse = ({module='config',type})=>{ + searchTableModule.value = module + // module: config 配置 condition 条件 + if( module=='condition'&&type=='WarehouseCode' || module=='config'&&warehouseType.value == 'WarehouseCode'){ // 仓库 searchTableRef.value.open( '请选择仓库', @@ -909,7 +975,7 @@ const searchWarehouse = ()=>{ undefined, undefined ) - }else if(warehouseType.value == 'AreaCode'){ + }else if(module=='condition'&&type=='AreaCode' || module=='config'&&warehouseType.value == 'AreaCode'){ searchTableRef.value.open( '请选择库区', Area.allSchemas, @@ -922,7 +988,7 @@ const searchWarehouse = ()=>{ undefined ) - }else if(warehouseType.value == 'LocationGroupCode'){ + }else if(module=='condition'&&type=='LocationGroupCode' || module=='config'&&warehouseType.value == 'LocationGroupCode'){ searchTableRef.value.open( '请选择库位组', @@ -936,7 +1002,7 @@ const searchWarehouse = ()=>{ undefined ) - }else if(warehouseType.value == 'LocationCode'){ + }else if(module=='condition'&&type=='LocationCode' || module=='config'&&warehouseType.value == 'LocationCode'){ searchTableRef.value.open( '请选择库位', Location.allSchemas, @@ -952,75 +1018,79 @@ const searchWarehouse = ()=>{ } } -const blurWarehouse = async ()=>{ +const blurWarehouse = async ({module='config',type})=>{ + // 校验的值 let warehouseValue = formData.value.configuration[warehouseType.value] + let conditionObj = null + if(module=='condition'){ + // 规则条件 + conditionObj = formData.value.condition.find(item=>item['ParamCode']==type) + if(conditionObj){ + warehouseValue = conditionObj['Value'] + } + // { value: 'WarehouseCode', label: '仓库' }, + // { value: 'AreaCode', label: '库区' }, + // { value: 'LocationGroupCode', label: '库位组' }, + // { value: 'LocationCode', label: '库位' } + } if(!warehouseValue){ return } - if(warehouseType.value == 'WarehouseCode'){ + let verifyRes = [] + if(module=='condition'&&type=='WarehouseCode' || module=='config'&&warehouseType.value == 'WarehouseCode'){ // 仓库 - let verifyRes = await WarehouseApi.verifyWarehouse({ + verifyRes = await WarehouseApi.verifyWarehouse({ code:warehouseValue }) console.log('仓库verifyRes',verifyRes) - if(verifyRes&&verifyRes.length>0){ - // formData.value.configuration[warehouseType.value] = verifyRes.map(item=>(item['code'])).join(',') - let verifyList = verifyRes.map(item=>(item['code'])) - let codeList = formData.value.configuration[warehouseType.value].split(',') - formData.value.configuration[warehouseType.value] = codeList.filter(item=>verifyList.indexOf(item)>-1).join(',') - }else{ - formData.value.configuration[warehouseType.value] = '' - } - }else if(warehouseType.value == 'AreaCode'){ + }else if(module=='condition'&&type=='AreaCode' || module=='config'&&warehouseType.value == 'AreaCode'){ // 库区 - let verifyRes = await AreaApi.verifyAreaList({ + verifyRes = await AreaApi.verifyAreaList({ code:warehouseValue }) console.log('库区verifyRes',verifyRes) - if(verifyRes&&verifyRes.length>0){ - let verifyList = verifyRes.map(item=>(item['code'])) - let codeList = formData.value.configuration[warehouseType.value].split(',') - formData.value.configuration[warehouseType.value] = codeList.filter(item=>verifyList.indexOf(item)>-1).join(',') - }else{ - formData.value.configuration[warehouseType.value] = '' - } - }else if(warehouseType.value == 'LocationGroupCode'){ + }else if(module=='condition'&&type=='LocationGroupCode' || module=='config'&&warehouseType.value == 'LocationGroupCode'){ // 库位组 let verifyRes = await LocationgroupApi.verifyLocationgroup({ code:warehouseValue }) console.log('库位组verifyRes',verifyRes) - if(verifyRes&&verifyRes.length>0){ - let verifyList = verifyRes.map(item=>(item['code'])) - let codeList = formData.value.configuration[warehouseType.value].split(',') - formData.value.configuration[warehouseType.value] = codeList.filter(item=>verifyList.indexOf(item)>-1).join(',') - }else{ - formData.value.configuration[warehouseType.value] = '' - } - - }else if(warehouseType.value == 'LocationCode'){ + }else if(module=='condition'&&type=='LocationCode' || module=='config'&&warehouseType.value == 'LocationCode'){ // 库位 let verifyRes = await LocationApi.verifyLocation({ code:warehouseValue }) console.log('库位verifyRes',verifyRes) - if(verifyRes&&verifyRes.length>0){ - let verifyList = verifyRes.map(item=>(item['code'])) + } + if(verifyRes&&verifyRes.length>0){ + let verifyList = verifyRes.map(item=>(item['code'])) + if(module=='condition'){ + // 条件 + let codeList = warehouseValue.split(',') + conditionObj['Value'] = codeList.filter(item=>verifyList.indexOf(item)>-1).join(',') + }else{ + // 配置 let codeList = formData.value.configuration[warehouseType.value].split(',') formData.value.configuration[warehouseType.value] = codeList.filter(item=>verifyList.indexOf(item)>-1).join(',') + } + + }else{ + if(module=='condition'){ + // 条件 + conditionObj['Value'] = '' }else{ formData.value.configuration[warehouseType.value] = '' } } - - let fields = ['WarehouseCode','AreaCode','LocationGroupCode','LocationCode'] - fields.forEach(item=>{ - if(item!=warehouseType.value){ - formData.value.configuration[item] = '' - } - }) - + if(module!='condition'){ + let fields = ['WarehouseCode','AreaCode','LocationGroupCode','LocationCode'] + fields.forEach(item=>{ + if(item!=warehouseType.value){ + formData.value.configuration[item] = '' + } + }) + } } // 业务类型 const searchBusinessType = ()=>{ @@ -1085,14 +1155,24 @@ const searchTableSuccess = (formField, searchField, val, type, row) => { businessType.Value = val.map(item=>(item['code'])).join(',') } return + }else if(searchTableModule.value == 'condition'){ + // module: config 配置 condition 条件 + // 仓库 库区 库位 库位组 + let conditionObj = formData.value.condition.find(item=>['WarehouseCode','AreaCode','LocationGroupCode','LocationCode'].includes(item['ParamCode'])) + conditionObj['Value'] = val.map(item=>(item['code'])).join(',') + }else{ + // 配置 + // 仓库 库区 库位 库位组 + formData.value.configuration[warehouseType.value] = val.map(item=>(item['code'])).join(',') + let fields = ['WarehouseCode','AreaCode','LocationGroupCode','LocationCode'] + fields.forEach(item=>{ + if(item!=warehouseType.value){ + formData.value.configuration[item] = '' + } + }) + } - formData.value.configuration[warehouseType.value] = val.map(item=>(item['code'])).join(',') - let fields = ['WarehouseCode','AreaCode','LocationGroupCode','LocationCode'] - fields.forEach(item=>{ - if(item!=warehouseType.value){ - formData.value.configuration[item] = '' - } - }) + } // 选择仓库/库位/库位组/库区 const changeWarehouse = (e) => { @@ -1160,12 +1240,12 @@ const open = async (type: string, strategyCode: string, id?: number) => { } } - // 判断是获取客户列表还是供应上列表 - if (formData.value.condition[0].ParamCode == 'SupplierCode') { - getFormSupplierList() - } else { - getFormCustomerList() - } + // // 判断是获取客户列表还是供应上列表 + // if (formData.value.condition[0].ParamCode == 'SupplierCode') { + // getFormSupplierList() + // } else { + // getFormCustomerList() + // } // 判断是获取仓库/库位/库位组/库区列表 if ( 'WarehouseCode' in formData.value.configuration && @@ -1210,7 +1290,7 @@ defineExpose({ open }) // 提供 open 方法,用于打开弹窗 /** 提交表单 */ const emit = defineEmits(['success']) // 定义 success 事件,用于操作成功后的回调 const submitForm = async () => { - let TransactionType = formData.value.condition[5]['Value'] + let TransactionType = formData.value.condition[2]['Value'] if(Array.isArray(TransactionType)){ TransactionType = TransactionType.join(',') } @@ -1241,7 +1321,7 @@ const submitForm = async () => { return } } - await blurWarehouse() + await blurWarehouse({module:'config',type:warehouseType.value}) // await blurTransactionType() if(warehouseType.value == 'WarehouseCode' && !formData.value.configuration.WarehouseCode){ // 仓库 @@ -1332,16 +1412,18 @@ const resetForm = () => { status: true, //状态 //规则条件集合 condition: [ - // 供应商 - { ParamCode: 'SupplierCode', Operator: 'IN', Value: '' }, + // 仓库 + { ParamCode: 'WarehouseCode', Operator: 'IN', Value: '' }, + // // 供应商 + // { ParamCode: 'SupplierCode', Operator: 'IN', Value: '' }, // 物料类型/物料分组/物料/abc类/项目/ { ParamCode: 'ItemType', Operator: 'IN', Value: '' }, - // /重量/体积/面积 - { ParamCode: 'Weight', Operator: '>', Value: [] }, - // 库存状态 - { ParamCode: 'InventoryStatus', Operator: 'IN', Value: [] }, - // 存储类型 - { ParamCode: 'StorageType', Operator: 'IN', Value: [] }, + // // /重量/体积/面积 + // { ParamCode: 'Weight', Operator: '>', Value: [] }, + // // 库存状态 + // { ParamCode: 'InventoryStatus', Operator: 'IN', Value: [] }, + // // 存储类型 + // { ParamCode: 'StorageType', Operator: 'IN', Value: [] }, // 库存事务 // 业务类型 { ParamCode: 'TransactionType', Operator: 'IN', Value: '' }, ],