|
@ -53,6 +53,69 @@ |
|
|
<el-col key="供应商和客户col" :span="24" v-for="(item, index) in formData.condition" :key="'规则条件'+index"> |
|
|
<el-col key="供应商和客户col" :span="24" v-for="(item, index) in formData.condition" :key="'规则条件'+index"> |
|
|
<!-- 选择供应商和客户 --> |
|
|
<!-- 选择供应商和客户 --> |
|
|
<el-form-item key="供应商和客户formItem" label="" label-width="0" class="err-240" v-if="index == 0"> |
|
|
<el-form-item key="供应商和客户formItem" label="" label-width="0" class="err-240" v-if="index == 0"> |
|
|
|
|
|
<el-select key="仓库条件" |
|
|
|
|
|
v-model="item.ParamCode" |
|
|
|
|
|
placeholder="" |
|
|
|
|
|
style="width: 110px; margin-right: 10px" |
|
|
|
|
|
> |
|
|
|
|
|
<el-option |
|
|
|
|
|
:label="cur.label" |
|
|
|
|
|
:value="cur.value" |
|
|
|
|
|
v-for="(cur, index) in options.warehouseTypeOptions" |
|
|
|
|
|
:key="'仓库'+cur.value" |
|
|
|
|
|
/> |
|
|
|
|
|
</el-select> |
|
|
|
|
|
<el-select key="供应商和客户Operator" |
|
|
|
|
|
v-model="item.Operator" |
|
|
|
|
|
placeholder="请选择范围" |
|
|
|
|
|
style="width: 110px; margin-right: 10px" |
|
|
|
|
|
:disabled="formData.name=='默认规则'&&formType=='update'" |
|
|
|
|
|
> |
|
|
|
|
|
<el-option |
|
|
|
|
|
:label="cur.label" |
|
|
|
|
|
:value="cur.value" |
|
|
|
|
|
v-for="cur in options.rangeOptions1" |
|
|
|
|
|
:key="'供应商和客户Operator'+cur.value" |
|
|
|
|
|
/> |
|
|
|
|
|
</el-select> |
|
|
|
|
|
<!-- 仓库 --> |
|
|
|
|
|
<el-input style="flex:1" v-show="item.ParamCode == 'WarehouseCode'" placeholder="请选择仓库" v-model="item.Value" @blur="blurWarehouse({module:'condition',type:'WarehouseCode'})"> |
|
|
|
|
|
<template #suffix> |
|
|
|
|
|
<el-button type="text" plain style="color:var(--el-button-text-color)" @click="searchWarehouse({module:'condition',type:'WarehouseCode'})"> |
|
|
|
|
|
<Icon icon="ep:search" class="mr-5px" /> |
|
|
|
|
|
</el-button> |
|
|
|
|
|
</template> |
|
|
|
|
|
</el-input> |
|
|
|
|
|
|
|
|
|
|
|
<!-- 库区 --> |
|
|
|
|
|
<el-input style="flex:1" v-show="item.ParamCode == 'AreaCode'" placeholder="请选择库区" v-model="item.Value" @blur="blurWarehouse({module:'condition',type:'AreaCode'})"> |
|
|
|
|
|
<template #suffix> |
|
|
|
|
|
<el-button type="text" plain style="color:var(--el-button-text-color)" @click="searchWarehouse({module:'condition',type:'AreaCode'})"> |
|
|
|
|
|
<Icon icon="ep:search" class="mr-5px" /> |
|
|
|
|
|
</el-button> |
|
|
|
|
|
</template> |
|
|
|
|
|
</el-input> |
|
|
|
|
|
|
|
|
|
|
|
<!-- 库位组 --> |
|
|
|
|
|
<el-input style="flex:1" v-show="item.ParamCode == 'LocationGroupCode'" placeholder="请选择库位组" v-model="item.Value" @blur="blurWarehouse({module:'condition',type:'LocationGroupCode'})"> |
|
|
|
|
|
<template #suffix> |
|
|
|
|
|
<el-button type="text" plain style="color:var(--el-button-text-color)" @click="searchWarehouse({module:'condition',type:'LocationGroupCode'})"> |
|
|
|
|
|
<Icon icon="ep:search" class="mr-5px" /> |
|
|
|
|
|
</el-button> |
|
|
|
|
|
</template> |
|
|
|
|
|
</el-input> |
|
|
|
|
|
|
|
|
|
|
|
<!-- 库位 --> |
|
|
|
|
|
<el-input style="flex:1" v-show="item.ParamCode == 'LocationCode'" placeholder="请选择库位" v-model="item.Value" @blur="blurWarehouse({module:'condition',type:'LocationCode'})"> |
|
|
|
|
|
<template #suffix> |
|
|
|
|
|
<el-button type="text" plain style="color:var(--el-button-text-color)" @click="searchWarehouse({module:'condition',type:'LocationCode'})"> |
|
|
|
|
|
<Icon icon="ep:search" class="mr-5px" /> |
|
|
|
|
|
</el-button> |
|
|
|
|
|
</template> |
|
|
|
|
|
</el-input> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
<!-- 选择供应商和客户 --> |
|
|
|
|
|
<!-- <el-form-item key="供应商和客户formItem" label="" label-width="0" class="err-240" v-if="index == 0"> |
|
|
<el-select key="供应商和客户" |
|
|
<el-select key="供应商和客户" |
|
|
v-model="item.ParamCode" |
|
|
v-model="item.ParamCode" |
|
|
placeholder="" |
|
|
placeholder="" |
|
@ -98,7 +161,7 @@ |
|
|
:value="cur.code" |
|
|
:value="cur.code" |
|
|
/> |
|
|
/> |
|
|
</el-select> |
|
|
</el-select> |
|
|
</el-form-item> |
|
|
</el-form-item> --> |
|
|
<!-- 选择物料类型 --> |
|
|
<!-- 选择物料类型 --> |
|
|
<el-form-item key="物料类型formItem" label="" label-width="0" class="err-240" v-if="index == 1"> |
|
|
<el-form-item key="物料类型formItem" label="" label-width="0" class="err-240" v-if="index == 1"> |
|
|
<el-select key="物料类型" |
|
|
<el-select key="物料类型" |
|
@ -188,7 +251,7 @@ |
|
|
/> |
|
|
/> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
<!-- 选择重量体积还是面积 --> |
|
|
<!-- 选择重量体积还是面积 --> |
|
|
<el-form-item key="重量体积或面积formItem" label="" label-width="0" class="err-240" v-if="index == 2"> |
|
|
<!-- <el-form-item key="重量体积或面积formItem" label="" label-width="0" class="err-240" v-if="index == 2"> |
|
|
<el-select key="重量体积或面积" |
|
|
<el-select key="重量体积或面积" |
|
|
v-model="item.ParamCode" |
|
|
v-model="item.ParamCode" |
|
|
placeholder="" |
|
|
placeholder="" |
|
@ -225,9 +288,9 @@ |
|
|
style="flex: 1" |
|
|
style="flex: 1" |
|
|
:disabled="formData.name=='默认规则'&&formType=='update'" |
|
|
:disabled="formData.name=='默认规则'&&formType=='update'" |
|
|
/> |
|
|
/> |
|
|
</el-form-item> |
|
|
</el-form-item> --> |
|
|
<!-- 库存状态 --> |
|
|
<!-- 库存状态 --> |
|
|
<el-form-item key="库存状态formItem" label="库存状态" class="err-120" v-if="index == 3"> |
|
|
<!-- <el-form-item key="库存状态formItem" label="库存状态" class="err-120" v-if="index == 3"> |
|
|
<el-select key="库存状态Operator" |
|
|
<el-select key="库存状态Operator" |
|
|
v-model="item.Operator" |
|
|
v-model="item.Operator" |
|
|
placeholder="请选择范围" |
|
|
placeholder="请选择范围" |
|
@ -257,9 +320,9 @@ |
|
|
:value="cur.value" |
|
|
:value="cur.value" |
|
|
/> |
|
|
/> |
|
|
</el-select> |
|
|
</el-select> |
|
|
</el-form-item> |
|
|
</el-form-item> --> |
|
|
<!-- 存储类型 --> |
|
|
<!-- 存储类型 --> |
|
|
<el-form-item key="存储类型formItem" label="存储类型" class="err-120" v-if="index == 4"> |
|
|
<!-- <el-form-item key="存储类型formItem" label="存储类型" class="err-120" v-if="index == 4"> |
|
|
<el-select key="存储类型Operator" |
|
|
<el-select key="存储类型Operator" |
|
|
v-model="item.Operator" |
|
|
v-model="item.Operator" |
|
|
placeholder="请选择范围" |
|
|
placeholder="请选择范围" |
|
@ -289,7 +352,7 @@ |
|
|
:value="cur.value" |
|
|
:value="cur.value" |
|
|
/> |
|
|
/> |
|
|
</el-select> |
|
|
</el-select> |
|
|
</el-form-item> |
|
|
</el-form-item> --> |
|
|
<!-- 库存事务 --> |
|
|
<!-- 库存事务 --> |
|
|
<!-- <el-form-item key="库存事务formItem" label="库存事务" class="err-120" v-if="index == 5"> |
|
|
<!-- <el-form-item key="库存事务formItem" label="库存事务" class="err-120" v-if="index == 5"> |
|
|
<el-select key="库存事务Operator" |
|
|
<el-select key="库存事务Operator" |
|
@ -314,7 +377,7 @@ |
|
|
</el-input> |
|
|
</el-input> |
|
|
</el-form-item> --> |
|
|
</el-form-item> --> |
|
|
<!-- 业务类型 --> |
|
|
<!-- 业务类型 --> |
|
|
<el-form-item key="业务类型formItem" label="业务类型" class="err-120" v-if="index == 5"> |
|
|
<el-form-item key="业务类型formItem" label="业务类型" class="err-120" v-if="index == 2"> |
|
|
<el-select key="业务类型Operator" |
|
|
<el-select key="业务类型Operator" |
|
|
v-model="item.Operator" |
|
|
v-model="item.Operator" |
|
|
placeholder="请选择范围" |
|
|
placeholder="请选择范围" |
|
@ -373,36 +436,36 @@ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<!-- 仓库 --> |
|
|
<!-- 仓库 --> |
|
|
<el-input style="flex:1" v-show="warehouseType == 'WarehouseCode'" placeholder="请选择仓库" v-model="formData.configuration.WarehouseCode" @blur="blurWarehouse"> |
|
|
<el-input style="flex:1" v-show="warehouseType == 'WarehouseCode'" placeholder="请选择仓库" v-model="formData.configuration.WarehouseCode" @blur="blurWarehouse({module:'config',type:'WarehouseCode'})"> |
|
|
<template #suffix> |
|
|
<template #suffix> |
|
|
<el-button type="text" plain style="color:var(--el-button-text-color)" @click="searchWarehouse"> |
|
|
<el-button type="text" plain style="color:var(--el-button-text-color)" @click="searchWarehouse({module:'config',type:'WarehouseCode'})"> |
|
|
<Icon icon="ep:search" class="mr-5px" /> |
|
|
<Icon icon="ep:search" class="mr-5px" /> |
|
|
</el-button> |
|
|
</el-button> |
|
|
</template> |
|
|
</template> |
|
|
</el-input> |
|
|
</el-input> |
|
|
|
|
|
|
|
|
<!-- 库区 --> |
|
|
<!-- 库区 --> |
|
|
<el-input style="flex:1" v-show="warehouseType == 'AreaCode'" placeholder="请选择库区" v-model="formData.configuration.AreaCode" @blur="blurWarehouse"> |
|
|
<el-input style="flex:1" v-show="warehouseType == 'AreaCode'" placeholder="请选择库区" v-model="formData.configuration.AreaCode" @blur="blurWarehouse({module:'config',type:'AreaCode'})"> |
|
|
<template #suffix> |
|
|
<template #suffix> |
|
|
<el-button type="text" plain style="color:var(--el-button-text-color)" @click="searchWarehouse"> |
|
|
<el-button type="text" plain style="color:var(--el-button-text-color)" @click="searchWarehouse({module:'config',type:'AreaCode'})"> |
|
|
<Icon icon="ep:search" class="mr-5px" /> |
|
|
<Icon icon="ep:search" class="mr-5px" /> |
|
|
</el-button> |
|
|
</el-button> |
|
|
</template> |
|
|
</template> |
|
|
</el-input> |
|
|
</el-input> |
|
|
|
|
|
|
|
|
<!-- 库位组 --> |
|
|
<!-- 库位组 --> |
|
|
<el-input style="flex:1" v-show="warehouseType == 'LocationGroupCode'" placeholder="请选择库位组" v-model="formData.configuration.LocationGroupCode" @blur="blurWarehouse"> |
|
|
<el-input style="flex:1" v-show="warehouseType == 'LocationGroupCode'" placeholder="请选择库位组" v-model="formData.configuration.LocationGroupCode" @blur="blurWarehouse({module:'config',type:'LocationGroupCode'})"> |
|
|
<template #suffix> |
|
|
<template #suffix> |
|
|
<el-button type="text" plain style="color:var(--el-button-text-color)" @click="searchWarehouse"> |
|
|
<el-button type="text" plain style="color:var(--el-button-text-color)" @click="searchWarehouse({module:'config',type:'LocationGroupCode'})"> |
|
|
<Icon icon="ep:search" class="mr-5px" /> |
|
|
<Icon icon="ep:search" class="mr-5px" /> |
|
|
</el-button> |
|
|
</el-button> |
|
|
</template> |
|
|
</template> |
|
|
</el-input> |
|
|
</el-input> |
|
|
|
|
|
|
|
|
<!-- 库位 --> |
|
|
<!-- 库位 --> |
|
|
<el-input style="flex:1" v-show="warehouseType == 'LocationCode'" placeholder="请选择库位" v-model="formData.configuration.LocationCode" @blur="blurWarehouse"> |
|
|
<el-input style="flex:1" v-show="warehouseType == 'LocationCode'" placeholder="请选择库位" v-model="formData.configuration.LocationCode" @blur="blurWarehouse({module:'config',type:'LocationCode'})"> |
|
|
<template #suffix> |
|
|
<template #suffix> |
|
|
<el-button type="text" plain style="color:var(--el-button-text-color)" @click="searchWarehouse"> |
|
|
<el-button type="text" plain style="color:var(--el-button-text-color)" @click="searchWarehouse({module:'config',type:'LocationCode'})"> |
|
|
<Icon icon="ep:search" class="mr-5px" /> |
|
|
<Icon icon="ep:search" class="mr-5px" /> |
|
|
</el-button> |
|
|
</el-button> |
|
|
</template> |
|
|
</template> |
|
@ -566,7 +629,7 @@ |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
</el-col> |
|
|
</el-col> |
|
|
<!-- 货架排序方向 --> |
|
|
<!-- 货架排序方向 --> |
|
|
<el-col key="货架排序方向col" :span="24"> |
|
|
<!-- <el-col key="货架排序方向col" :span="24"> |
|
|
<el-form-item key="货架排序方向formItem" label="货架排序方向" class="flex-top"> |
|
|
<el-form-item key="货架排序方向formItem" label="货架排序方向" class="flex-top"> |
|
|
<div class="checkbox"> |
|
|
<div class="checkbox"> |
|
|
<el-radio-group key="货架排序方向" v-model="formData.configuration.ShelfOrder"> |
|
|
<el-radio-group key="货架排序方向" v-model="formData.configuration.ShelfOrder"> |
|
@ -579,9 +642,9 @@ |
|
|
</el-radio-group> |
|
|
</el-radio-group> |
|
|
</div> |
|
|
</div> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
</el-col> |
|
|
</el-col> --> |
|
|
<!-- 行排序方向 --> |
|
|
<!-- 行排序方向 --> |
|
|
<el-col key="行排序方向col" :span="24"> |
|
|
<!-- <el-col key="行排序方向col" :span="24"> |
|
|
<el-form-item key="行排序方向formItem" label="行排序方向" class="flex-top"> |
|
|
<el-form-item key="行排序方向formItem" label="行排序方向" class="flex-top"> |
|
|
<div class="checkbox"> |
|
|
<div class="checkbox"> |
|
|
<el-radio-group key="行排序方向" v-model="formData.configuration.RowOrder"> |
|
|
<el-radio-group key="行排序方向" v-model="formData.configuration.RowOrder"> |
|
@ -594,9 +657,9 @@ |
|
|
</el-radio-group> |
|
|
</el-radio-group> |
|
|
</div> |
|
|
</div> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
</el-col> |
|
|
</el-col> --> |
|
|
<!-- 列排序方向 --> |
|
|
<!-- 列排序方向 --> |
|
|
<el-col key="列排序方向col" :span="24"> |
|
|
<!-- <el-col key="列排序方向col" :span="24"> |
|
|
<el-form-item key="列排序方向formItem" label="列排序方向" class="flex-top"> |
|
|
<el-form-item key="列排序方向formItem" label="列排序方向" class="flex-top"> |
|
|
<div class="checkbox"> |
|
|
<div class="checkbox"> |
|
|
<el-radio-group key="列排序方向" v-model="formData.configuration.ColumOrder"> |
|
|
<el-radio-group key="列排序方向" v-model="formData.configuration.ColumOrder"> |
|
@ -609,7 +672,7 @@ |
|
|
</el-radio-group> |
|
|
</el-radio-group> |
|
|
</div> |
|
|
</div> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
</el-col> |
|
|
</el-col> --> |
|
|
</el-row> |
|
|
</el-row> |
|
|
</div> |
|
|
</div> |
|
|
</el-form> |
|
|
</el-form> |
|
@ -674,16 +737,18 @@ const formData = ref({ |
|
|
status: true, //状态 |
|
|
status: true, //状态 |
|
|
//规则条件集合 |
|
|
//规则条件集合 |
|
|
condition: [ |
|
|
condition: [ |
|
|
// 供应商 |
|
|
// 仓库 |
|
|
{ ParamCode: 'SupplierCode', Operator: 'IN', Value: '' }, |
|
|
{ ParamCode: 'WarehouseCode', Operator: 'IN', Value: '' }, |
|
|
|
|
|
// // 供应商 |
|
|
|
|
|
// { ParamCode: 'SupplierCode', Operator: 'IN', Value: '' }, |
|
|
// 物料类型/物料分组/物料/abc类/项目/ |
|
|
// 物料类型/物料分组/物料/abc类/项目/ |
|
|
{ ParamCode: 'ItemType', Operator: 'IN', Value: '' }, |
|
|
{ ParamCode: 'ItemType', Operator: 'IN', Value: '' }, |
|
|
// 重量/体积/面积 |
|
|
// // 重量/体积/面积 |
|
|
{ ParamCode: 'Weight', Operator: '>', Value: [] }, |
|
|
// { ParamCode: 'Weight', Operator: '>', Value: [] }, |
|
|
// 库存状态 |
|
|
// // 库存状态 |
|
|
{ ParamCode: 'InventoryStatus', Operator: 'IN', Value: [] }, |
|
|
// { ParamCode: 'InventoryStatus', Operator: 'IN', Value: [] }, |
|
|
// 存储类型 |
|
|
// // 存储类型 |
|
|
{ ParamCode: 'StorageType', Operator: 'IN', Value: [] }, |
|
|
// { ParamCode: 'StorageType', Operator: 'IN', Value: [] }, |
|
|
// 库存事务 // 业务类型 |
|
|
// 库存事务 // 业务类型 |
|
|
{ ParamCode: 'TransactionType', Operator: 'IN', Value: '' }, |
|
|
{ ParamCode: 'TransactionType', Operator: 'IN', Value: '' }, |
|
|
], |
|
|
], |
|
@ -893,10 +958,11 @@ const filterMethodWarehouseList = (query: string) => { |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const searchTableRef = ref() |
|
|
const searchTableRef = ref() |
|
|
const searchWarehouse = ()=>{ |
|
|
const searchTableModule = ref('') // 条件 / 配置 |
|
|
|
|
|
const searchWarehouse = ({module='config',type})=>{ |
|
|
|
|
|
searchTableModule.value = module |
|
|
if(warehouseType.value == 'WarehouseCode'){ |
|
|
// module: config 配置 condition 条件 |
|
|
|
|
|
if( module=='condition'&&type=='WarehouseCode' || module=='config'&&warehouseType.value == 'WarehouseCode'){ |
|
|
// 仓库 |
|
|
// 仓库 |
|
|
searchTableRef.value.open( |
|
|
searchTableRef.value.open( |
|
|
'请选择仓库', |
|
|
'请选择仓库', |
|
@ -909,7 +975,7 @@ const searchWarehouse = ()=>{ |
|
|
undefined, |
|
|
undefined, |
|
|
undefined |
|
|
undefined |
|
|
) |
|
|
) |
|
|
}else if(warehouseType.value == 'AreaCode'){ |
|
|
}else if(module=='condition'&&type=='AreaCode' || module=='config'&&warehouseType.value == 'AreaCode'){ |
|
|
searchTableRef.value.open( |
|
|
searchTableRef.value.open( |
|
|
'请选择库区', |
|
|
'请选择库区', |
|
|
Area.allSchemas, |
|
|
Area.allSchemas, |
|
@ -922,7 +988,7 @@ const searchWarehouse = ()=>{ |
|
|
undefined |
|
|
undefined |
|
|
) |
|
|
) |
|
|
|
|
|
|
|
|
}else if(warehouseType.value == 'LocationGroupCode'){ |
|
|
}else if(module=='condition'&&type=='LocationGroupCode' || module=='config'&&warehouseType.value == 'LocationGroupCode'){ |
|
|
|
|
|
|
|
|
searchTableRef.value.open( |
|
|
searchTableRef.value.open( |
|
|
'请选择库位组', |
|
|
'请选择库位组', |
|
@ -936,7 +1002,7 @@ const searchWarehouse = ()=>{ |
|
|
undefined |
|
|
undefined |
|
|
) |
|
|
) |
|
|
|
|
|
|
|
|
}else if(warehouseType.value == 'LocationCode'){ |
|
|
}else if(module=='condition'&&type=='LocationCode' || module=='config'&&warehouseType.value == 'LocationCode'){ |
|
|
searchTableRef.value.open( |
|
|
searchTableRef.value.open( |
|
|
'请选择库位', |
|
|
'请选择库位', |
|
|
Location.allSchemas, |
|
|
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 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){ |
|
|
if(!warehouseValue){ |
|
|
return |
|
|
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 |
|
|
code:warehouseValue |
|
|
}) |
|
|
}) |
|
|
console.log('仓库verifyRes',verifyRes) |
|
|
console.log('仓库verifyRes',verifyRes) |
|
|
if(verifyRes&&verifyRes.length>0){ |
|
|
}else if(module=='condition'&&type=='AreaCode' || module=='config'&&warehouseType.value == 'AreaCode'){ |
|
|
// 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'){ |
|
|
|
|
|
// 库区 |
|
|
// 库区 |
|
|
let verifyRes = await AreaApi.verifyAreaList({ |
|
|
verifyRes = await AreaApi.verifyAreaList({ |
|
|
code:warehouseValue |
|
|
code:warehouseValue |
|
|
}) |
|
|
}) |
|
|
console.log('库区verifyRes',verifyRes) |
|
|
console.log('库区verifyRes',verifyRes) |
|
|
if(verifyRes&&verifyRes.length>0){ |
|
|
}else if(module=='condition'&&type=='LocationGroupCode' || module=='config'&&warehouseType.value == 'LocationGroupCode'){ |
|
|
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'){ |
|
|
|
|
|
// 库位组 |
|
|
// 库位组 |
|
|
let verifyRes = await LocationgroupApi.verifyLocationgroup({ |
|
|
let verifyRes = await LocationgroupApi.verifyLocationgroup({ |
|
|
code:warehouseValue |
|
|
code:warehouseValue |
|
|
}) |
|
|
}) |
|
|
console.log('库位组verifyRes',verifyRes) |
|
|
console.log('库位组verifyRes',verifyRes) |
|
|
if(verifyRes&&verifyRes.length>0){ |
|
|
}else if(module=='condition'&&type=='LocationCode' || module=='config'&&warehouseType.value == 'LocationCode'){ |
|
|
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'){ |
|
|
|
|
|
// 库位 |
|
|
// 库位 |
|
|
let verifyRes = await LocationApi.verifyLocation({ |
|
|
let verifyRes = await LocationApi.verifyLocation({ |
|
|
code:warehouseValue |
|
|
code:warehouseValue |
|
|
}) |
|
|
}) |
|
|
console.log('库位verifyRes',verifyRes) |
|
|
console.log('库位verifyRes',verifyRes) |
|
|
|
|
|
} |
|
|
if(verifyRes&&verifyRes.length>0){ |
|
|
if(verifyRes&&verifyRes.length>0){ |
|
|
let verifyList = verifyRes.map(item=>(item['code'])) |
|
|
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(',') |
|
|
let codeList = formData.value.configuration[warehouseType.value].split(',') |
|
|
formData.value.configuration[warehouseType.value] = codeList.filter(item=>verifyList.indexOf(item)>-1).join(',') |
|
|
formData.value.configuration[warehouseType.value] = codeList.filter(item=>verifyList.indexOf(item)>-1).join(',') |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
}else{ |
|
|
|
|
|
if(module=='condition'){ |
|
|
|
|
|
// 条件 |
|
|
|
|
|
conditionObj['Value'] = '' |
|
|
}else{ |
|
|
}else{ |
|
|
formData.value.configuration[warehouseType.value] = '' |
|
|
formData.value.configuration[warehouseType.value] = '' |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
if(module!='condition'){ |
|
|
let fields = ['WarehouseCode','AreaCode','LocationGroupCode','LocationCode'] |
|
|
let fields = ['WarehouseCode','AreaCode','LocationGroupCode','LocationCode'] |
|
|
fields.forEach(item=>{ |
|
|
fields.forEach(item=>{ |
|
|
if(item!=warehouseType.value){ |
|
|
if(item!=warehouseType.value){ |
|
|
formData.value.configuration[item] = '' |
|
|
formData.value.configuration[item] = '' |
|
|
} |
|
|
} |
|
|
}) |
|
|
}) |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
// 业务类型 |
|
|
// 业务类型 |
|
|
const searchBusinessType = ()=>{ |
|
|
const searchBusinessType = ()=>{ |
|
@ -1085,7 +1155,14 @@ const searchTableSuccess = (formField, searchField, val, type, row) => { |
|
|
businessType.Value = val.map(item=>(item['code'])).join(',') |
|
|
businessType.Value = val.map(item=>(item['code'])).join(',') |
|
|
} |
|
|
} |
|
|
return |
|
|
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(',') |
|
|
formData.value.configuration[warehouseType.value] = val.map(item=>(item['code'])).join(',') |
|
|
let fields = ['WarehouseCode','AreaCode','LocationGroupCode','LocationCode'] |
|
|
let fields = ['WarehouseCode','AreaCode','LocationGroupCode','LocationCode'] |
|
|
fields.forEach(item=>{ |
|
|
fields.forEach(item=>{ |
|
@ -1093,6 +1170,9 @@ const searchTableSuccess = (formField, searchField, val, type, row) => { |
|
|
formData.value.configuration[item] = '' |
|
|
formData.value.configuration[item] = '' |
|
|
} |
|
|
} |
|
|
}) |
|
|
}) |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
// 选择仓库/库位/库位组/库区 |
|
|
// 选择仓库/库位/库位组/库区 |
|
|
const changeWarehouse = (e) => { |
|
|
const changeWarehouse = (e) => { |
|
@ -1160,12 +1240,12 @@ const open = async (type: string, strategyCode: string, id?: number) => { |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
// 判断是获取客户列表还是供应上列表 |
|
|
// // 判断是获取客户列表还是供应上列表 |
|
|
if (formData.value.condition[0].ParamCode == 'SupplierCode') { |
|
|
// if (formData.value.condition[0].ParamCode == 'SupplierCode') { |
|
|
getFormSupplierList() |
|
|
// getFormSupplierList() |
|
|
} else { |
|
|
// } else { |
|
|
getFormCustomerList() |
|
|
// getFormCustomerList() |
|
|
} |
|
|
// } |
|
|
// 判断是获取仓库/库位/库位组/库区列表 |
|
|
// 判断是获取仓库/库位/库位组/库区列表 |
|
|
if ( |
|
|
if ( |
|
|
'WarehouseCode' in formData.value.configuration && |
|
|
'WarehouseCode' in formData.value.configuration && |
|
@ -1210,7 +1290,7 @@ defineExpose({ open }) // 提供 open 方法,用于打开弹窗 |
|
|
/** 提交表单 */ |
|
|
/** 提交表单 */ |
|
|
const emit = defineEmits(['success']) // 定义 success 事件,用于操作成功后的回调 |
|
|
const emit = defineEmits(['success']) // 定义 success 事件,用于操作成功后的回调 |
|
|
const submitForm = async () => { |
|
|
const submitForm = async () => { |
|
|
let TransactionType = formData.value.condition[5]['Value'] |
|
|
let TransactionType = formData.value.condition[2]['Value'] |
|
|
if(Array.isArray(TransactionType)){ |
|
|
if(Array.isArray(TransactionType)){ |
|
|
TransactionType = TransactionType.join(',') |
|
|
TransactionType = TransactionType.join(',') |
|
|
} |
|
|
} |
|
@ -1241,7 +1321,7 @@ const submitForm = async () => { |
|
|
return |
|
|
return |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
await blurWarehouse() |
|
|
await blurWarehouse({module:'config',type:warehouseType.value}) |
|
|
// await blurTransactionType() |
|
|
// await blurTransactionType() |
|
|
if(warehouseType.value == 'WarehouseCode' && !formData.value.configuration.WarehouseCode){ |
|
|
if(warehouseType.value == 'WarehouseCode' && !formData.value.configuration.WarehouseCode){ |
|
|
// 仓库 |
|
|
// 仓库 |
|
@ -1332,16 +1412,18 @@ const resetForm = () => { |
|
|
status: true, //状态 |
|
|
status: true, //状态 |
|
|
//规则条件集合 |
|
|
//规则条件集合 |
|
|
condition: [ |
|
|
condition: [ |
|
|
// 供应商 |
|
|
// 仓库 |
|
|
{ ParamCode: 'SupplierCode', Operator: 'IN', Value: '' }, |
|
|
{ ParamCode: 'WarehouseCode', Operator: 'IN', Value: '' }, |
|
|
|
|
|
// // 供应商 |
|
|
|
|
|
// { ParamCode: 'SupplierCode', Operator: 'IN', Value: '' }, |
|
|
// 物料类型/物料分组/物料/abc类/项目/ |
|
|
// 物料类型/物料分组/物料/abc类/项目/ |
|
|
{ ParamCode: 'ItemType', Operator: 'IN', Value: '' }, |
|
|
{ ParamCode: 'ItemType', Operator: 'IN', Value: '' }, |
|
|
// /重量/体积/面积 |
|
|
// // /重量/体积/面积 |
|
|
{ ParamCode: 'Weight', Operator: '>', Value: [] }, |
|
|
// { ParamCode: 'Weight', Operator: '>', Value: [] }, |
|
|
// 库存状态 |
|
|
// // 库存状态 |
|
|
{ ParamCode: 'InventoryStatus', Operator: 'IN', Value: [] }, |
|
|
// { ParamCode: 'InventoryStatus', Operator: 'IN', Value: [] }, |
|
|
// 存储类型 |
|
|
// // 存储类型 |
|
|
{ ParamCode: 'StorageType', Operator: 'IN', Value: [] }, |
|
|
// { ParamCode: 'StorageType', Operator: 'IN', Value: [] }, |
|
|
// 库存事务 // 业务类型 |
|
|
// 库存事务 // 业务类型 |
|
|
{ ParamCode: 'TransactionType', Operator: 'IN', Value: '' }, |
|
|
{ ParamCode: 'TransactionType', Operator: 'IN', Value: '' }, |
|
|
], |
|
|
], |
|
|