|
|
@ -25,22 +25,22 @@ |
|
|
|
</el-col> |
|
|
|
<el-col :span="24"> |
|
|
|
<el-form-item label="名称" prop="name"> |
|
|
|
<el-input key="name" v-model="formData.name" placeholder="请输入名称" clearable :disabled="formData.name=='默认规则'&&formType=='update'"/> |
|
|
|
<el-input key="name" v-model="formData.name" placeholder="请输入名称" clearable :disabled="formData.priority==0&&formType=='update'"/> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="24"> |
|
|
|
<el-form-item label="描述" prop="description"> |
|
|
|
<el-input key="description" v-model="formData.description" placeholder="请输入描述" clearable :disabled="formData.name=='默认规则'&&formType=='update'"/> |
|
|
|
<el-input key="description" v-model="formData.description" placeholder="请输入描述" clearable :disabled="formData.priority==0&&formType=='update'"/> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="12"> |
|
|
|
<el-form-item label="优先级" prop="priority"> |
|
|
|
<el-input-number key="priority" v-model="formData.priority" :min="1" :disabled="formData.name=='默认规则'&&formType=='update'"/> |
|
|
|
<el-input-number key="priority" v-model="formData.priority" :min="formData.priority==0&&formType=='update'?0:1" :disabled="formData.priority==0&&formType=='update'"/> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="12"> |
|
|
|
<el-form-item label="状态" prop="status"> |
|
|
|
<el-switch key="status" v-model="formData.status" :disabled="formData.name=='默认规则'&&formType=='update'"/> |
|
|
|
<el-switch key="status" v-model="formData.status" :disabled="formData.priority==0&&formType=='update'"/> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
</el-row> |
|
|
@ -53,12 +53,76 @@ |
|
|
|
<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-select key="仓库条件" |
|
|
|
v-model="item.ParamCode" |
|
|
|
placeholder="" |
|
|
|
style="width: 110px; margin-right: 10px" |
|
|
|
:disabled="formData.priority==0&&formType=='update'" |
|
|
|
> |
|
|
|
<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.priority==0&&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'})" :disabled="formData.priority==0&&formType=='update'"> |
|
|
|
<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="供应商和客户" |
|
|
|
v-model="item.ParamCode" |
|
|
|
placeholder="" |
|
|
|
style="width: 110px; margin-right: 10px" |
|
|
|
@change="changeSupplierCustomer" |
|
|
|
:disabled="formData.name=='默认规则'&&formType=='update'" |
|
|
|
:disabled="formData.priority==0&&formType=='update'" |
|
|
|
> |
|
|
|
<el-option |
|
|
|
:label="cur.label" |
|
|
@ -71,7 +135,7 @@ |
|
|
|
v-model="item.Operator" |
|
|
|
placeholder="请选择范围" |
|
|
|
style="width: 110px; margin-right: 10px" |
|
|
|
:disabled="formData.name=='默认规则'&&formType=='update'" |
|
|
|
:disabled="formData.priority==0&&formType=='update'" |
|
|
|
> |
|
|
|
<el-option |
|
|
|
:label="cur.label" |
|
|
@ -89,7 +153,7 @@ |
|
|
|
collapse-tags |
|
|
|
filterable |
|
|
|
:filter-method="filterMethod" |
|
|
|
:disabled="formData.name=='默认规则'&&formType=='update'" |
|
|
|
:disabled="formData.priority==0&&formType=='update'" |
|
|
|
> |
|
|
|
<el-option |
|
|
|
v-for="cur in options.supplierList" |
|
|
@ -98,7 +162,7 @@ |
|
|
|
:value="cur.code" |
|
|
|
/> |
|
|
|
</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-select key="物料类型" |
|
|
@ -106,7 +170,7 @@ |
|
|
|
placeholder="" |
|
|
|
@change="changeItemsType" |
|
|
|
style="width: 110px; margin-right: 10px" |
|
|
|
:disabled="formData.name=='默认规则'&&formType=='update'" |
|
|
|
:disabled="formData.priority==0&&formType=='update'" |
|
|
|
> |
|
|
|
<el-option |
|
|
|
:label="item.label" |
|
|
@ -119,7 +183,7 @@ |
|
|
|
v-model="item.Operator" |
|
|
|
placeholder="请选择范围" |
|
|
|
style="width: 110px; margin-right: 10px" |
|
|
|
:disabled="formData.name=='默认规则'&&formType=='update'" |
|
|
|
:disabled="formData.priority==0&&formType=='update'" |
|
|
|
> |
|
|
|
<el-option |
|
|
|
:label="cur.label" |
|
|
@ -136,7 +200,7 @@ |
|
|
|
multiple |
|
|
|
collapse-tags |
|
|
|
v-if="item.ParamCode == 'ItemType'" |
|
|
|
:disabled="formData.name=='默认规则'&&formType=='update'" |
|
|
|
:disabled="formData.priority==0&&formType=='update'" |
|
|
|
> |
|
|
|
<el-option |
|
|
|
v-for="cur in getStrDictOptions(DICT_TYPE.ITEM_TYPE)" |
|
|
@ -153,7 +217,7 @@ |
|
|
|
multiple |
|
|
|
collapse-tags |
|
|
|
v-else-if="item.ParamCode == 'AbcClass'" |
|
|
|
:disabled="formData.name=='默认规则'&&formType=='update'" |
|
|
|
:disabled="formData.priority==0&&formType=='update'" |
|
|
|
> |
|
|
|
<el-option |
|
|
|
v-for="cur in getStrDictOptions(DICT_TYPE.ABC_CLASS)" |
|
|
@ -168,7 +232,7 @@ |
|
|
|
clearable |
|
|
|
style="flex: 1" |
|
|
|
v-else-if="item.ParamCode == 'ItemGroup'" |
|
|
|
:disabled="formData.name=='默认规则'&&formType=='update'" |
|
|
|
:disabled="formData.priority==0&&formType=='update'" |
|
|
|
/> |
|
|
|
<el-input key="项目" |
|
|
|
v-model="item.Value" |
|
|
@ -176,7 +240,7 @@ |
|
|
|
clearable |
|
|
|
style="flex: 1" |
|
|
|
v-else-if="item.ParamCode == 'Project'" |
|
|
|
:disabled="formData.name=='默认规则'&&formType=='update'" |
|
|
|
:disabled="formData.priority==0&&formType=='update'" |
|
|
|
/> |
|
|
|
<el-input key="物料" |
|
|
|
v-model="item.Value" |
|
|
@ -184,17 +248,17 @@ |
|
|
|
clearable |
|
|
|
style="flex: 1" |
|
|
|
v-else-if="item.ParamCode == 'ItemCode'" |
|
|
|
:disabled="formData.name=='默认规则'&&formType=='update'" |
|
|
|
:disabled="formData.priority==0&&formType=='update'" |
|
|
|
/> |
|
|
|
</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="重量体积或面积" |
|
|
|
v-model="item.ParamCode" |
|
|
|
placeholder="" |
|
|
|
@change="changeCalculation" |
|
|
|
style="width: 110px; margin-right: 10px" |
|
|
|
:disabled="formData.name=='默认规则'&&formType=='update'" |
|
|
|
:disabled="formData.priority==0&&formType=='update'" |
|
|
|
> |
|
|
|
<el-option |
|
|
|
:label="cur.label" |
|
|
@ -207,7 +271,7 @@ |
|
|
|
v-model="item.Operator" |
|
|
|
placeholder="请选择范围" |
|
|
|
style="width: 110px; margin-right: 10px" |
|
|
|
:disabled="formData.name=='默认规则'&&formType=='update'" |
|
|
|
:disabled="formData.priority==0&&formType=='update'" |
|
|
|
> |
|
|
|
<el-option |
|
|
|
:label="cur.label" |
|
|
@ -223,16 +287,16 @@ |
|
|
|
}`" |
|
|
|
clearable |
|
|
|
style="flex: 1" |
|
|
|
:disabled="formData.name=='默认规则'&&formType=='update'" |
|
|
|
:disabled="formData.priority==0&&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" |
|
|
|
v-model="item.Operator" |
|
|
|
placeholder="请选择范围" |
|
|
|
style="width: 110px; margin-right: 10px" |
|
|
|
:disabled="formData.name=='默认规则'&&formType=='update'" |
|
|
|
:disabled="formData.priority==0&&formType=='update'" |
|
|
|
> |
|
|
|
<el-option |
|
|
|
:label="cur.label" |
|
|
@ -248,7 +312,7 @@ |
|
|
|
clearable |
|
|
|
multiple |
|
|
|
collapse-tags |
|
|
|
:disabled="formData.name=='默认规则'&&formType=='update'" |
|
|
|
:disabled="formData.priority==0&&formType=='update'" |
|
|
|
> |
|
|
|
<el-option |
|
|
|
v-for="cur in getStrDictOptions(DICT_TYPE.INVENTORY_STATUS)" |
|
|
@ -257,14 +321,14 @@ |
|
|
|
:value="cur.value" |
|
|
|
/> |
|
|
|
</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" |
|
|
|
v-model="item.Operator" |
|
|
|
placeholder="请选择范围" |
|
|
|
style="width: 110px; margin-right: 10px" |
|
|
|
:disabled="formData.name=='默认规则'&&formType=='update'" |
|
|
|
:disabled="formData.priority==0&&formType=='update'" |
|
|
|
> |
|
|
|
<el-option |
|
|
|
:label="cur.label" |
|
|
@ -280,7 +344,7 @@ |
|
|
|
clearable |
|
|
|
multiple |
|
|
|
collapse-tags |
|
|
|
:disabled="formData.name=='默认规则'&&formType=='update'" |
|
|
|
:disabled="formData.priority==0&&formType=='update'" |
|
|
|
> |
|
|
|
<el-option |
|
|
|
v-for="cur in getStrDictOptions(DICT_TYPE.STORAGE_TYPE)" |
|
|
@ -289,14 +353,14 @@ |
|
|
|
:value="cur.value" |
|
|
|
/> |
|
|
|
</el-select> |
|
|
|
</el-form-item> |
|
|
|
</el-form-item> --> |
|
|
|
<!-- 库存事务 --> |
|
|
|
<!-- <el-form-item key="库存事务formItem" label="库存事务" class="err-120" v-if="index == 5"> |
|
|
|
<el-select key="库存事务Operator" |
|
|
|
v-model="item.Operator" |
|
|
|
placeholder="请选择范围" |
|
|
|
style="width: 110px; margin-right: 10px" |
|
|
|
:disabled="formData.name=='默认规则'&&formType=='update'" |
|
|
|
:disabled="formData.priority==0&&formType=='update'" |
|
|
|
> |
|
|
|
<el-option |
|
|
|
:label="cur.label" |
|
|
@ -307,19 +371,19 @@ |
|
|
|
</el-select> |
|
|
|
<el-input key="库存事务Value" style="flex:1" placeholder="请选择库存事务" disabled v-model="item.Value" @blur="blurTransactionType"> |
|
|
|
<template #suffix> |
|
|
|
<el-button :disabled="formData.name=='默认规则'&&formType=='update'" type="text" plain style="color:var(--el-button-text-color)" @click="searchTransactionType"> |
|
|
|
<el-button :disabled="formData.priority==0&&formType=='update'" type="text" plain style="color:var(--el-button-text-color)" @click="searchTransactionType"> |
|
|
|
<Icon icon="ep:search" class="mr-5px" /> |
|
|
|
</el-button> |
|
|
|
</template> |
|
|
|
</el-input> |
|
|
|
</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" |
|
|
|
v-model="item.Operator" |
|
|
|
placeholder="请选择范围" |
|
|
|
style="width: 110px; margin-right: 10px" |
|
|
|
:disabled="formData.name=='默认规则'&&formType=='update'" |
|
|
|
:disabled="formData.priority==0&&formType=='update'" |
|
|
|
> |
|
|
|
<el-option |
|
|
|
:label="cur.label" |
|
|
@ -330,7 +394,7 @@ |
|
|
|
</el-select> |
|
|
|
<el-input key="业务类型Value" style="flex:1" placeholder="请选择业务类型" disabled v-model="item.Value" @blur="blurTransactionType"> |
|
|
|
<template #suffix> |
|
|
|
<el-button :disabled="formData.name=='默认规则'&&formType=='update'" type="text" plain style="color:var(--el-button-text-color)" @click="searchBusinessType"> |
|
|
|
<el-button :disabled="formData.priority==0&&formType=='update'" type="text" plain style="color:var(--el-button-text-color)" @click="searchBusinessType"> |
|
|
|
<Icon icon="ep:search" class="mr-5px" /> |
|
|
|
</el-button> |
|
|
|
</template> |
|
|
@ -373,36 +437,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> |
|
|
|
<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" /> |
|
|
|
</el-button> |
|
|
|
</template> |
|
|
|
</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> |
|
|
|
<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" /> |
|
|
|
</el-button> |
|
|
|
</template> |
|
|
|
</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> |
|
|
|
<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" /> |
|
|
|
</el-button> |
|
|
|
</template> |
|
|
|
</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> |
|
|
|
<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" /> |
|
|
|
</el-button> |
|
|
|
</template> |
|
|
@ -566,7 +630,7 @@ |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<!-- 货架排序方向 --> |
|
|
|
<el-col key="货架排序方向col" :span="24"> |
|
|
|
<!-- <el-col key="货架排序方向col" :span="24"> |
|
|
|
<el-form-item key="货架排序方向formItem" label="货架排序方向" class="flex-top"> |
|
|
|
<div class="checkbox"> |
|
|
|
<el-radio-group key="货架排序方向" v-model="formData.configuration.ShelfOrder"> |
|
|
@ -579,9 +643,9 @@ |
|
|
|
</el-radio-group> |
|
|
|
</div> |
|
|
|
</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"> |
|
|
|
<div class="checkbox"> |
|
|
|
<el-radio-group key="行排序方向" v-model="formData.configuration.RowOrder"> |
|
|
@ -594,9 +658,9 @@ |
|
|
|
</el-radio-group> |
|
|
|
</div> |
|
|
|
</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"> |
|
|
|
<div class="checkbox"> |
|
|
|
<el-radio-group key="列排序方向" v-model="formData.configuration.ColumOrder"> |
|
|
@ -609,7 +673,7 @@ |
|
|
|
</el-radio-group> |
|
|
|
</div> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
</el-col> --> |
|
|
|
</el-row> |
|
|
|
</div> |
|
|
|
</el-form> |
|
|
@ -674,16 +738,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 +959,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 +976,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 +989,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 +1003,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 +1019,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 +1156,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 +1241,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 +1291,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 +1322,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 +1413,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: '' }, |
|
|
|
], |
|
|
|