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: '' },
],