|
@ -15,7 +15,7 @@ |
|
|
<el-row> |
|
|
<el-row> |
|
|
<el-col :span="24"> |
|
|
<el-col :span="24"> |
|
|
<el-form-item label="代码" prop="strategyCode"> |
|
|
<el-form-item label="代码" prop="strategyCode"> |
|
|
<el-input |
|
|
<el-input key="strategyCode" |
|
|
v-model="formData.strategyCode" |
|
|
v-model="formData.strategyCode" |
|
|
placeholder="请输入代码" |
|
|
placeholder="请输入代码" |
|
|
clearable |
|
|
clearable |
|
@ -25,36 +25,35 @@ |
|
|
</el-col> |
|
|
</el-col> |
|
|
<el-col :span="24"> |
|
|
<el-col :span="24"> |
|
|
<el-form-item label="名称" prop="name"> |
|
|
<el-form-item label="名称" prop="name"> |
|
|
<el-input v-model="formData.name" placeholder="请输入名称" clearable /> |
|
|
<el-input key="name" v-model="formData.name" placeholder="请输入名称" clearable /> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
</el-col> |
|
|
</el-col> |
|
|
<el-col :span="24"> |
|
|
<el-col :span="24"> |
|
|
<el-form-item label="描述" prop="description"> |
|
|
<el-form-item label="描述" prop="description"> |
|
|
<el-input v-model="formData.description" placeholder="请输入描述" clearable /> |
|
|
<el-input key="description" v-model="formData.description" placeholder="请输入描述" clearable /> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
</el-col> |
|
|
</el-col> |
|
|
<el-col :span="12"> |
|
|
<el-col :span="12"> |
|
|
<el-form-item label="优先级" prop="priority"> |
|
|
<el-form-item label="优先级" prop="priority"> |
|
|
<el-input-number v-model="formData.priority" :min="0" /> |
|
|
<el-input-number key="priority" v-model="formData.priority" :min="0" /> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
</el-col> |
|
|
</el-col> |
|
|
<el-col :span="12"> |
|
|
<el-col :span="12"> |
|
|
<el-form-item label="状态" prop="status"> |
|
|
<el-form-item label="状态" prop="status"> |
|
|
<el-switch v-model="formData.status" /> |
|
|
<el-switch key="status" v-model="formData.status" /> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
</el-col> |
|
|
</el-col> |
|
|
</el-row> |
|
|
</el-row> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
|
|
|
<!-- 规则条件 --> |
|
|
<!-- 规则条件 --> |
|
|
|
|
|
<div key="规则条件" class="item mt-20px"> |
|
|
<div class="item mt-20px"> |
|
|
<div key="规则条件title" class="title">规则条件</div> |
|
|
<div class="title">规则条件</div> |
|
|
<el-row key="规则条件row"> |
|
|
<el-row> |
|
|
<el-col key="供应商和客户col" :span="24" v-for="(item, index) in formData.condition" :key="'规则条件'+index"> |
|
|
<el-col :span="24" v-for="(item, index) in formData.condition" :key="index"> |
|
|
|
|
|
<!-- 选择供应商和客户 --> |
|
|
<!-- 选择供应商和客户 --> |
|
|
<el-form-item 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 |
|
|
<el-select key="供应商和客户" |
|
|
v-model="item.ParamCode" |
|
|
v-model="item.ParamCode" |
|
|
placeholder="" |
|
|
placeholder="" |
|
|
style="width: 110px; margin-right: 10px" |
|
|
style="width: 110px; margin-right: 10px" |
|
@ -63,11 +62,11 @@ |
|
|
<el-option |
|
|
<el-option |
|
|
:label="cur.label" |
|
|
:label="cur.label" |
|
|
:value="cur.value" |
|
|
:value="cur.value" |
|
|
v-for="(cur, index) in options.typeOptions" |
|
|
v-for="cur in options.typeOptions" |
|
|
:key="index" |
|
|
:key="'供应商和客户'+cur.value" |
|
|
/> |
|
|
/> |
|
|
</el-select> |
|
|
</el-select> |
|
|
<el-select |
|
|
<el-select key="供应商和客户Operator" |
|
|
v-model="item.Operator" |
|
|
v-model="item.Operator" |
|
|
placeholder="请选择范围" |
|
|
placeholder="请选择范围" |
|
|
style="width: 110px; margin-right: 10px" |
|
|
style="width: 110px; margin-right: 10px" |
|
@ -76,28 +75,30 @@ |
|
|
:label="cur.label" |
|
|
:label="cur.label" |
|
|
:value="cur.value" |
|
|
:value="cur.value" |
|
|
v-for="cur in options.rangeOptions1" |
|
|
v-for="cur in options.rangeOptions1" |
|
|
:key="cur.value" |
|
|
:key="'供应商和客户Operator'+cur.value" |
|
|
/> |
|
|
/> |
|
|
</el-select> |
|
|
</el-select> |
|
|
<el-select |
|
|
<el-select key="供应商和客户Value" |
|
|
v-model="item.Value" |
|
|
v-model="item.Value" |
|
|
:placeholder="`请选择${item.ParamCode == 'SupplierCode' ? '供应商' : '客户'}`" |
|
|
:placeholder="`请选择${item.ParamCode == 'SupplierCode' ? '供应商' : '客户'}`" |
|
|
style="flex: 1" |
|
|
style="flex: 1" |
|
|
clearable |
|
|
clearable |
|
|
multiple |
|
|
multiple |
|
|
collapse-tags |
|
|
collapse-tags |
|
|
|
|
|
filterable |
|
|
|
|
|
:filter-method="filterMethod" |
|
|
> |
|
|
> |
|
|
<el-option |
|
|
<el-option |
|
|
v-for="cur in options.supplierList" |
|
|
v-for="cur in options.supplierList" |
|
|
:key="cur.code" |
|
|
:key="'供应商和客户Value'+cur.code" |
|
|
:label="cur.name" |
|
|
:label="cur.name" |
|
|
:value="cur.code" |
|
|
:value="cur.code" |
|
|
/> |
|
|
/> |
|
|
</el-select> |
|
|
</el-select> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
<!-- 选择物料类型 --> |
|
|
<!-- 选择物料类型 --> |
|
|
<el-form-item 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 |
|
|
<el-select key="物料类型" |
|
|
v-model="item.ParamCode" |
|
|
v-model="item.ParamCode" |
|
|
placeholder="" |
|
|
placeholder="" |
|
|
@change="changeItemsType" |
|
|
@change="changeItemsType" |
|
@ -107,10 +108,10 @@ |
|
|
:label="item.label" |
|
|
:label="item.label" |
|
|
:value="item.value" |
|
|
:value="item.value" |
|
|
v-for="item in options.itemTypeOptions" |
|
|
v-for="item in options.itemTypeOptions" |
|
|
:key="item.value" |
|
|
:key="'物料类型'+item.value" |
|
|
/> |
|
|
/> |
|
|
</el-select> |
|
|
</el-select> |
|
|
<el-select |
|
|
<el-select key="物料类型Operator" |
|
|
v-model="item.Operator" |
|
|
v-model="item.Operator" |
|
|
placeholder="请选择范围" |
|
|
placeholder="请选择范围" |
|
|
style="width: 110px; margin-right: 10px" |
|
|
style="width: 110px; margin-right: 10px" |
|
@ -119,10 +120,10 @@ |
|
|
:label="cur.label" |
|
|
:label="cur.label" |
|
|
:value="cur.value" |
|
|
:value="cur.value" |
|
|
v-for="cur in options.rangeOptions1" |
|
|
v-for="cur in options.rangeOptions1" |
|
|
:key="cur.value" |
|
|
:key="'物料类型Operator'+cur.value" |
|
|
/> |
|
|
/> |
|
|
</el-select> |
|
|
</el-select> |
|
|
<el-select |
|
|
<el-select key="物料类型Value" |
|
|
v-model="item.Value" |
|
|
v-model="item.Value" |
|
|
placeholder="请选择物料类型" |
|
|
placeholder="请选择物料类型" |
|
|
style="flex: 1" |
|
|
style="flex: 1" |
|
@ -133,12 +134,12 @@ |
|
|
> |
|
|
> |
|
|
<el-option |
|
|
<el-option |
|
|
v-for="cur in getStrDictOptions(DICT_TYPE.ITEM_TYPE)" |
|
|
v-for="cur in getStrDictOptions(DICT_TYPE.ITEM_TYPE)" |
|
|
:key="cur.value" |
|
|
:key="'物料类型Value'+cur.value" |
|
|
:label="cur.label" |
|
|
:label="cur.label" |
|
|
:value="cur.value" |
|
|
:value="cur.value" |
|
|
/> |
|
|
/> |
|
|
</el-select> |
|
|
</el-select> |
|
|
<el-select |
|
|
<el-select key="ABC类" |
|
|
v-model="item.Value" |
|
|
v-model="item.Value" |
|
|
placeholder="请选择ABC类" |
|
|
placeholder="请选择ABC类" |
|
|
style="flex: 1" |
|
|
style="flex: 1" |
|
@ -149,26 +150,26 @@ |
|
|
> |
|
|
> |
|
|
<el-option |
|
|
<el-option |
|
|
v-for="cur in getStrDictOptions(DICT_TYPE.ABC_CLASS)" |
|
|
v-for="cur in getStrDictOptions(DICT_TYPE.ABC_CLASS)" |
|
|
:key="cur.value" |
|
|
:key="'ABC类'+cur.value" |
|
|
:label="cur.label" |
|
|
:label="cur.label" |
|
|
:value="cur.value" |
|
|
:value="cur.value" |
|
|
/> |
|
|
/> |
|
|
</el-select> |
|
|
</el-select> |
|
|
<el-input |
|
|
<el-input key="物料分组" |
|
|
v-model="item.Value" |
|
|
v-model="item.Value" |
|
|
placeholder="请输入物料分组,多个物料分组以逗号分隔" |
|
|
placeholder="请输入物料分组,多个物料分组以逗号分隔" |
|
|
clearable |
|
|
clearable |
|
|
style="flex: 1" |
|
|
style="flex: 1" |
|
|
v-else-if="item.ParamCode == 'ItemGroup'" |
|
|
v-else-if="item.ParamCode == 'ItemGroup'" |
|
|
/> |
|
|
/> |
|
|
<el-input |
|
|
<el-input key="项目" |
|
|
v-model="item.Value" |
|
|
v-model="item.Value" |
|
|
placeholder="请输入项目,多个项目以逗号分隔" |
|
|
placeholder="请输入项目,多个项目以逗号分隔" |
|
|
clearable |
|
|
clearable |
|
|
style="flex: 1" |
|
|
style="flex: 1" |
|
|
v-else-if="item.ParamCode == 'Project'" |
|
|
v-else-if="item.ParamCode == 'Project'" |
|
|
/> |
|
|
/> |
|
|
<el-input |
|
|
<el-input key="物料" |
|
|
v-model="item.Value" |
|
|
v-model="item.Value" |
|
|
placeholder="请输入物料,多个物料以逗号分隔" |
|
|
placeholder="请输入物料,多个物料以逗号分隔" |
|
|
clearable |
|
|
clearable |
|
@ -177,8 +178,8 @@ |
|
|
/> |
|
|
/> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
<!-- 选择重量体积还是面积 --> |
|
|
<!-- 选择重量体积还是面积 --> |
|
|
<el-form-item 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 |
|
|
<el-select key="重量体积或面积" |
|
|
v-model="item.ParamCode" |
|
|
v-model="item.ParamCode" |
|
|
placeholder="" |
|
|
placeholder="" |
|
|
@change="changeCalculation" |
|
|
@change="changeCalculation" |
|
@ -188,10 +189,10 @@ |
|
|
:label="cur.label" |
|
|
:label="cur.label" |
|
|
:value="cur.value" |
|
|
:value="cur.value" |
|
|
v-for="cur in options.calculationTypeOptions" |
|
|
v-for="cur in options.calculationTypeOptions" |
|
|
:key="cur.value" |
|
|
:key="'重量体积或面积'+cur.value" |
|
|
/> |
|
|
/> |
|
|
</el-select> |
|
|
</el-select> |
|
|
<el-select |
|
|
<el-select key="重量体积或面积Operator" |
|
|
v-model="item.Operator" |
|
|
v-model="item.Operator" |
|
|
placeholder="请选择范围" |
|
|
placeholder="请选择范围" |
|
|
style="width: 110px; margin-right: 10px" |
|
|
style="width: 110px; margin-right: 10px" |
|
@ -200,10 +201,10 @@ |
|
|
:label="cur.label" |
|
|
:label="cur.label" |
|
|
:value="cur.value" |
|
|
:value="cur.value" |
|
|
v-for="cur in options.rangeOptions2" |
|
|
v-for="cur in options.rangeOptions2" |
|
|
:key="cur.value" |
|
|
:key="'重量体积或面积Operator'+cur.value" |
|
|
/> |
|
|
/> |
|
|
</el-select> |
|
|
</el-select> |
|
|
<el-input |
|
|
<el-input key="重量体积或面积Value" |
|
|
v-model="item.Value" |
|
|
v-model="item.Value" |
|
|
:placeholder="`请输入${ |
|
|
:placeholder="`请输入${ |
|
|
item.ParamCode == 'Weight' ? '重量' : item.ParamCode == 'Area' ? '面积' : '体积' |
|
|
item.ParamCode == 'Weight' ? '重量' : item.ParamCode == 'Area' ? '面积' : '体积' |
|
@ -213,8 +214,8 @@ |
|
|
/> |
|
|
/> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
<!-- 库存状态 --> |
|
|
<!-- 库存状态 --> |
|
|
<el-form-item label="库存状态" class="err-120" v-if="index == 3"> |
|
|
<el-form-item key="库存状态formItem" label="库存状态" class="err-120" v-if="index == 3"> |
|
|
<el-select |
|
|
<el-select key="库存状态Operator" |
|
|
v-model="item.Operator" |
|
|
v-model="item.Operator" |
|
|
placeholder="请选择范围" |
|
|
placeholder="请选择范围" |
|
|
style="width: 110px; margin-right: 10px" |
|
|
style="width: 110px; margin-right: 10px" |
|
@ -223,10 +224,10 @@ |
|
|
:label="cur.label" |
|
|
:label="cur.label" |
|
|
:value="cur.value" |
|
|
:value="cur.value" |
|
|
v-for="cur in options.rangeOptions1" |
|
|
v-for="cur in options.rangeOptions1" |
|
|
:key="cur.value" |
|
|
:key="'库存状态Operator'+cur.value" |
|
|
/> |
|
|
/> |
|
|
</el-select> |
|
|
</el-select> |
|
|
<el-select |
|
|
<el-select key="库存状态Value" |
|
|
v-model="item.Value" |
|
|
v-model="item.Value" |
|
|
placeholder="请选择库存状态" |
|
|
placeholder="请选择库存状态" |
|
|
style="flex: 1" |
|
|
style="flex: 1" |
|
@ -236,15 +237,15 @@ |
|
|
> |
|
|
> |
|
|
<el-option |
|
|
<el-option |
|
|
v-for="cur in getStrDictOptions(DICT_TYPE.INVENTORY_STATUS)" |
|
|
v-for="cur in getStrDictOptions(DICT_TYPE.INVENTORY_STATUS)" |
|
|
:key="cur.value" |
|
|
:key="'库存状态Value'+cur.value" |
|
|
:label="cur.label" |
|
|
:label="cur.label" |
|
|
:value="cur.value" |
|
|
:value="cur.value" |
|
|
/> |
|
|
/> |
|
|
</el-select> |
|
|
</el-select> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
<!-- 存储类型 --> |
|
|
<!-- 存储类型 --> |
|
|
<el-form-item label="存储类型" class="err-120" v-if="index == 4"> |
|
|
<el-form-item key="存储类型formItem" label="存储类型" class="err-120" v-if="index == 4"> |
|
|
<el-select |
|
|
<el-select key="存储类型Operator" |
|
|
v-model="item.Operator" |
|
|
v-model="item.Operator" |
|
|
placeholder="请选择范围" |
|
|
placeholder="请选择范围" |
|
|
style="width: 110px; margin-right: 10px" |
|
|
style="width: 110px; margin-right: 10px" |
|
@ -253,10 +254,10 @@ |
|
|
:label="cur.label" |
|
|
:label="cur.label" |
|
|
:value="cur.value" |
|
|
:value="cur.value" |
|
|
v-for="cur in options.rangeOptions1" |
|
|
v-for="cur in options.rangeOptions1" |
|
|
:key="cur.value" |
|
|
:key="'存储类型Operator'+cur.value" |
|
|
/> |
|
|
/> |
|
|
</el-select> |
|
|
</el-select> |
|
|
<el-select |
|
|
<el-select key="存储类型Value" |
|
|
v-model="item.Value" |
|
|
v-model="item.Value" |
|
|
placeholder="请选择存储类型" |
|
|
placeholder="请选择存储类型" |
|
|
style="flex: 1" |
|
|
style="flex: 1" |
|
@ -266,15 +267,15 @@ |
|
|
> |
|
|
> |
|
|
<el-option |
|
|
<el-option |
|
|
v-for="cur in getStrDictOptions(DICT_TYPE.STORAGE_TYPE)" |
|
|
v-for="cur in getStrDictOptions(DICT_TYPE.STORAGE_TYPE)" |
|
|
:key="cur.value" |
|
|
:key="'存储类型Value'+cur.value" |
|
|
:label="cur.label" |
|
|
:label="cur.label" |
|
|
:value="cur.value" |
|
|
:value="cur.value" |
|
|
/> |
|
|
/> |
|
|
</el-select> |
|
|
</el-select> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
<!-- 库存事务 --> |
|
|
<!-- 库存事务 --> |
|
|
<el-form-item label="库存事务" class="err-120" v-if="index == 5"> |
|
|
<el-form-item key="库存事务formItem" label="库存事务" class="err-120" v-if="index == 5"> |
|
|
<el-select |
|
|
<el-select key="库存事务Operator" |
|
|
v-model="item.Operator" |
|
|
v-model="item.Operator" |
|
|
placeholder="请选择范围" |
|
|
placeholder="请选择范围" |
|
|
style="width: 110px; margin-right: 10px" |
|
|
style="width: 110px; margin-right: 10px" |
|
@ -283,10 +284,10 @@ |
|
|
:label="cur.label" |
|
|
:label="cur.label" |
|
|
:value="cur.value" |
|
|
:value="cur.value" |
|
|
v-for="cur in options.rangeOptions1" |
|
|
v-for="cur in options.rangeOptions1" |
|
|
:key="cur.value" |
|
|
:key="'库存事务Operator'+cur.value" |
|
|
/> |
|
|
/> |
|
|
</el-select> |
|
|
</el-select> |
|
|
<el-input |
|
|
<el-input key="库存事务Value" |
|
|
v-model="item.Value" |
|
|
v-model="item.Value" |
|
|
placeholder="请输入库存事务,多个库存事务以逗号分隔" |
|
|
placeholder="请输入库存事务,多个库存事务以逗号分隔" |
|
|
clearable |
|
|
clearable |
|
@ -298,13 +299,13 @@ |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
|
|
|
<!-- 规则配置 --> |
|
|
<!-- 规则配置 --> |
|
|
<div class="item mt-20px"> |
|
|
<div key="规则配置" class="item mt-20px"> |
|
|
<div class="title">规则配置</div> |
|
|
<div key="规则配置title" class="title">规则配置</div> |
|
|
<el-row> |
|
|
<el-row key="规则配置row"> |
|
|
<!-- 仓库 库区 库位组 库位 --> |
|
|
<!-- 仓库 库区 库位组 库位 --> |
|
|
<el-col :span="24"> |
|
|
<el-col key="仓库col" :span="24"> |
|
|
<el-form-item label="" label-width="0" prop="warehouse" class="err-120"> |
|
|
<el-form-item key="仓库formItem" label="" label-width="0" prop="warehouse" class="err-120"> |
|
|
<el-select |
|
|
<el-select key="仓库" |
|
|
v-model="warehouseType" |
|
|
v-model="warehouseType" |
|
|
placeholder="" |
|
|
placeholder="" |
|
|
style="width: 110px; margin-right: 10px" |
|
|
style="width: 110px; margin-right: 10px" |
|
@ -314,19 +315,22 @@ |
|
|
:label="cur.label" |
|
|
:label="cur.label" |
|
|
:value="cur.value" |
|
|
:value="cur.value" |
|
|
v-for="(cur, index) in options.warehouseTypeOptions" |
|
|
v-for="(cur, index) in options.warehouseTypeOptions" |
|
|
:key="index" |
|
|
:key="'仓库'+cur.value" |
|
|
/> |
|
|
/> |
|
|
</el-select> |
|
|
</el-select> |
|
|
<el-select |
|
|
<el-select |
|
|
v-model="formData.configuration.WarehouseCode" |
|
|
v-model="formData.configuration.WarehouseCode" |
|
|
v-if="warehouseType == 'WarehouseCode'" |
|
|
v-if="warehouseType == 'WarehouseCode'" |
|
|
placeholder="请选择仓库" |
|
|
placeholder="请选择仓库" |
|
|
|
|
|
key="请选择仓库" |
|
|
clearable |
|
|
clearable |
|
|
style="flex: 1" |
|
|
style="flex: 1" |
|
|
|
|
|
filterable |
|
|
|
|
|
:filter-method="filterMethodWarehouseList" |
|
|
> |
|
|
> |
|
|
<el-option |
|
|
<el-option |
|
|
v-for="cur in options.warehouseList" |
|
|
v-for="(cur, index) in options.warehouseList" |
|
|
:key="cur.code" |
|
|
:key="'请选择仓库WarehouseCode'+index+cur.code" |
|
|
:label="cur.code" |
|
|
:label="cur.code" |
|
|
:value="cur.code" |
|
|
:value="cur.code" |
|
|
/> |
|
|
/> |
|
@ -335,12 +339,15 @@ |
|
|
v-model="formData.configuration.AreaCode" |
|
|
v-model="formData.configuration.AreaCode" |
|
|
v-if="warehouseType == 'AreaCode'" |
|
|
v-if="warehouseType == 'AreaCode'" |
|
|
placeholder="请选择库区" |
|
|
placeholder="请选择库区" |
|
|
|
|
|
key="请选择库区" |
|
|
clearable |
|
|
clearable |
|
|
style="flex: 1" |
|
|
style="flex: 1" |
|
|
|
|
|
filterable |
|
|
|
|
|
:filter-method="filterMethodWarehouseList" |
|
|
> |
|
|
> |
|
|
<el-option |
|
|
<el-option |
|
|
v-for="cur in options.warehouseList" |
|
|
v-for="cur in options.warehouseList" |
|
|
:key="cur.code" |
|
|
:key="'请选择库区AreaCode'+cur.code" |
|
|
:label="cur.code" |
|
|
:label="cur.code" |
|
|
:value="cur.code" |
|
|
:value="cur.code" |
|
|
/> |
|
|
/> |
|
@ -349,12 +356,15 @@ |
|
|
v-model="formData.configuration.LocationGroupCode" |
|
|
v-model="formData.configuration.LocationGroupCode" |
|
|
v-if="warehouseType == 'LocationGroupCode'" |
|
|
v-if="warehouseType == 'LocationGroupCode'" |
|
|
placeholder="请选择库位组" |
|
|
placeholder="请选择库位组" |
|
|
|
|
|
key="请选择库位组" |
|
|
clearable |
|
|
clearable |
|
|
style="flex: 1" |
|
|
style="flex: 1" |
|
|
|
|
|
filterable |
|
|
|
|
|
:filter-method="filterMethodWarehouseList" |
|
|
> |
|
|
> |
|
|
<el-option |
|
|
<el-option |
|
|
v-for="cur in options.warehouseList" |
|
|
v-for="cur in options.warehouseList" |
|
|
:key="cur.code" |
|
|
:key="'请选择库位组LocationGroupCode'+cur.code" |
|
|
:label="cur.code" |
|
|
:label="cur.code" |
|
|
:value="cur.code" |
|
|
:value="cur.code" |
|
|
/> |
|
|
/> |
|
@ -364,12 +374,15 @@ |
|
|
v-model="formData.configuration.LocationCode" |
|
|
v-model="formData.configuration.LocationCode" |
|
|
v-if="warehouseType == 'LocationCode'" |
|
|
v-if="warehouseType == 'LocationCode'" |
|
|
placeholder="请选择库位" |
|
|
placeholder="请选择库位" |
|
|
|
|
|
key="请选择库位" |
|
|
clearable |
|
|
clearable |
|
|
style="flex: 1" |
|
|
style="flex: 1" |
|
|
|
|
|
filterable |
|
|
|
|
|
:filter-method="filterMethodWarehouseList" |
|
|
> |
|
|
> |
|
|
<el-option |
|
|
<el-option |
|
|
v-for="cur in options.warehouseList" |
|
|
v-for="cur in options.warehouseList" |
|
|
:key="cur.code" |
|
|
:key="'请选择库位LocationCode'+cur.code" |
|
|
:label="cur.code" |
|
|
:label="cur.code" |
|
|
:value="cur.code" |
|
|
:value="cur.code" |
|
|
/> |
|
|
/> |
|
@ -377,9 +390,9 @@ |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
</el-col> |
|
|
</el-col> |
|
|
<!-- 优先空位库 --> |
|
|
<!-- 优先空位库 --> |
|
|
<el-col :span="24"> |
|
|
<el-col key="优先空位库col" :span="24"> |
|
|
<el-form-item label="优先空位库"> |
|
|
<el-form-item key="优先空位库formItem" label="优先空位库"> |
|
|
<el-switch |
|
|
<el-switch key="优先空位库" |
|
|
v-model="formData.configuration.EmptyLocationFirst" |
|
|
v-model="formData.configuration.EmptyLocationFirst" |
|
|
active-value="TRUE" |
|
|
active-value="TRUE" |
|
|
inactive-value="FALSE" |
|
|
inactive-value="FALSE" |
|
@ -387,9 +400,9 @@ |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
</el-col> |
|
|
</el-col> |
|
|
<!-- 优先非空位库 --> |
|
|
<!-- 优先非空位库 --> |
|
|
<el-col :span="24"> |
|
|
<el-col key="优先非空位库col" :span="24"> |
|
|
<el-form-item label="优先非空位库"> |
|
|
<el-form-item key="优先非空位库formItem" label="优先非空位库"> |
|
|
<el-switch |
|
|
<el-switch key="优先非空位库" |
|
|
v-model="formData.configuration.NotEmptyLocationFirst" |
|
|
v-model="formData.configuration.NotEmptyLocationFirst" |
|
|
active-value="TRUE" |
|
|
active-value="TRUE" |
|
|
inactive-value="FALSE" |
|
|
inactive-value="FALSE" |
|
@ -397,9 +410,9 @@ |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
</el-col> |
|
|
</el-col> |
|
|
<!-- 可以混物料 --> |
|
|
<!-- 可以混物料 --> |
|
|
<el-col :span="24"> |
|
|
<el-col key="可以混物料col" :span="24"> |
|
|
<el-form-item label="可以混物料"> |
|
|
<el-form-item key="可以混物料formItem" label="可以混物料"> |
|
|
<el-switch |
|
|
<el-switch key="可以混物料" |
|
|
v-model="formData.configuration.EnableMixItem" |
|
|
v-model="formData.configuration.EnableMixItem" |
|
|
active-value="TRUE" |
|
|
active-value="TRUE" |
|
|
inactive-value="FALSE" |
|
|
inactive-value="FALSE" |
|
@ -407,9 +420,9 @@ |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
</el-col> |
|
|
</el-col> |
|
|
<!-- 可以混批次 --> |
|
|
<!-- 可以混批次 --> |
|
|
<el-col :span="24"> |
|
|
<el-col key="可以混批次col" :span="24"> |
|
|
<el-form-item label="可以混批次"> |
|
|
<el-form-item key="可以混批次formItem" label="可以混批次"> |
|
|
<el-switch |
|
|
<el-switch key="可以混批次" |
|
|
v-model="formData.configuration.EnableMixLot" |
|
|
v-model="formData.configuration.EnableMixLot" |
|
|
active-value="TRUE" |
|
|
active-value="TRUE" |
|
|
inactive-value="FALSE" |
|
|
inactive-value="FALSE" |
|
@ -417,8 +430,8 @@ |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
</el-col> |
|
|
</el-col> |
|
|
<!-- 可以混状态 --> |
|
|
<!-- 可以混状态 --> |
|
|
<el-col :span="24"> |
|
|
<el-col key="可以混状态col" :span="24"> |
|
|
<el-form-item label="可以混状态"> |
|
|
<el-form-item key="可以混状态formItem" label="可以混状态"> |
|
|
<el-switch |
|
|
<el-switch |
|
|
v-model="formData.configuration.EnableMixStatus" |
|
|
v-model="formData.configuration.EnableMixStatus" |
|
|
active-value="TRUE" |
|
|
active-value="TRUE" |
|
@ -427,14 +440,14 @@ |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
</el-col> |
|
|
</el-col> |
|
|
<!-- 巷道排序方向 --> |
|
|
<!-- 巷道排序方向 --> |
|
|
<el-col :span="24"> |
|
|
<el-col key="巷道排序方向col" :span="24"> |
|
|
<el-form-item label="巷道排序方向" class="flex-top"> |
|
|
<el-form-item key="巷道排序方向formItem" label="巷道排序方向" class="flex-top"> |
|
|
<div class="checkbox"> |
|
|
<div class="checkbox"> |
|
|
<el-radio-group v-model="formData.configuration.AisleOrder"> |
|
|
<el-radio-group key="巷道排序方向" v-model="formData.configuration.AisleOrder"> |
|
|
<el-radio |
|
|
<el-radio |
|
|
:label="cur.value" |
|
|
:label="cur.value" |
|
|
v-for="cur in getStrDictOptions(DICT_TYPE.BATCH_DIRECTION)" |
|
|
v-for="cur in getStrDictOptions(DICT_TYPE.BATCH_DIRECTION)" |
|
|
:key="cur.value" |
|
|
:key="'巷道排序方向'+cur.value" |
|
|
>{{ cur.label }}</el-radio |
|
|
>{{ cur.label }}</el-radio |
|
|
> |
|
|
> |
|
|
</el-radio-group> |
|
|
</el-radio-group> |
|
@ -442,29 +455,29 @@ |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
</el-col> |
|
|
</el-col> |
|
|
<!-- 货架排序方向 --> |
|
|
<!-- 货架排序方向 --> |
|
|
<el-col :span="24"> |
|
|
<el-col key="货架排序方向col" :span="24"> |
|
|
<el-form-item label="货架排序方向" class="flex-top"> |
|
|
<el-form-item key="货架排序方向formItem" label="货架排序方向" class="flex-top"> |
|
|
<div class="checkbox"> |
|
|
<div class="checkbox"> |
|
|
<el-radio-group v-model="formData.configuration.ShelfOrder"> |
|
|
<el-radio-group key="货架排序方向" v-model="formData.configuration.ShelfOrder"> |
|
|
<el-radio |
|
|
<el-radio |
|
|
:label="cur.value" |
|
|
:label="cur.value" |
|
|
v-for="cur in getStrDictOptions(DICT_TYPE.BATCH_DIRECTION)" |
|
|
v-for="cur in getStrDictOptions(DICT_TYPE.BATCH_DIRECTION)" |
|
|
:key="cur.value" |
|
|
:key="'货架排序方向'+cur.value" |
|
|
>{{ cur.label }}</el-radio |
|
|
>{{ cur.label }}</el-radio |
|
|
> |
|
|
> |
|
|
</el-radio-group> |
|
|
</el-radio-group> |
|
|
</div> |
|
|
</div> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
</el-col> |
|
|
</el-col> |
|
|
<!-- 货架排序方向 --> |
|
|
<!-- 行排序方向 --> |
|
|
<el-col :span="24"> |
|
|
<el-col key="行排序方向col" :span="24"> |
|
|
<el-form-item label="货架排序方向" class="flex-top"> |
|
|
<el-form-item key="行排序方向formItem" label="行排序方向" class="flex-top"> |
|
|
<div class="checkbox"> |
|
|
<div class="checkbox"> |
|
|
<el-radio-group v-model="formData.configuration.RowOrder"> |
|
|
<el-radio-group key="行排序方向" v-model="formData.configuration.RowOrder"> |
|
|
<el-radio |
|
|
<el-radio |
|
|
:label="cur.value" |
|
|
:label="cur.value" |
|
|
v-for="cur in getStrDictOptions(DICT_TYPE.BATCH_DIRECTION)" |
|
|
v-for="cur in getStrDictOptions(DICT_TYPE.BATCH_DIRECTION)" |
|
|
:key="cur.value" |
|
|
:key="'行排序方向'+cur.value" |
|
|
>{{ cur.label }}</el-radio |
|
|
>{{ cur.label }}</el-radio |
|
|
> |
|
|
> |
|
|
</el-radio-group> |
|
|
</el-radio-group> |
|
@ -472,14 +485,14 @@ |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
</el-col> |
|
|
</el-col> |
|
|
<!-- 列排序方向 --> |
|
|
<!-- 列排序方向 --> |
|
|
<el-col :span="24"> |
|
|
<el-col key="列排序方向col" :span="24"> |
|
|
<el-form-item label="列排序方向" class="flex-top"> |
|
|
<el-form-item key="列排序方向formItem" label="列排序方向" class="flex-top"> |
|
|
<div class="checkbox"> |
|
|
<div class="checkbox"> |
|
|
<el-radio-group v-model="formData.configuration.ColumOrder"> |
|
|
<el-radio-group key="列排序方向" v-model="formData.configuration.ColumOrder"> |
|
|
<el-radio |
|
|
<el-radio |
|
|
:label="cur.value" |
|
|
:label="cur.value" |
|
|
v-for="cur in getStrDictOptions(DICT_TYPE.BATCH_DIRECTION)" |
|
|
v-for="cur in getStrDictOptions(DICT_TYPE.BATCH_DIRECTION)" |
|
|
:key="cur.value" |
|
|
:key="'列排序方向'+cur.value" |
|
|
>{{ cur.label }}</el-radio |
|
|
>{{ cur.label }}</el-radio |
|
|
> |
|
|
> |
|
|
</el-radio-group> |
|
|
</el-radio-group> |
|
@ -518,9 +531,9 @@ const dialogTitle = ref('') // 弹窗的标题 |
|
|
const formLoading = ref(false) // 表单的加载中:1)修改时的数据加载;2)提交的按钮禁用 |
|
|
const formLoading = ref(false) // 表单的加载中:1)修改时的数据加载;2)提交的按钮禁用 |
|
|
const formType = ref('') // 表单的类型:create - 新增;update - 修改 |
|
|
const formType = ref('') // 表单的类型:create - 新增;update - 修改 |
|
|
const formRef = ref() // 表单 Ref |
|
|
const formRef = ref() // 表单 Ref |
|
|
|
|
|
|
|
|
const formStrategyCode = ref('') |
|
|
const formStrategyCode = ref('') |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 仓库类型 |
|
|
// 仓库类型 |
|
|
const warehouseType = ref('WarehouseCode') |
|
|
const warehouseType = ref('WarehouseCode') |
|
|
|
|
|
|
|
@ -615,6 +628,7 @@ const options = reactive({ |
|
|
], |
|
|
], |
|
|
//供应商列表 |
|
|
//供应商列表 |
|
|
supplierList: [], |
|
|
supplierList: [], |
|
|
|
|
|
orignSupplierList: [], |
|
|
// 物料类型列表 |
|
|
// 物料类型列表 |
|
|
itemTypeOptions: [ |
|
|
itemTypeOptions: [ |
|
|
{ value: 'ItemType', label: '物料类型' }, |
|
|
{ value: 'ItemType', label: '物料类型' }, |
|
@ -638,7 +652,8 @@ const options = reactive({ |
|
|
{ value: 'LocationCode', label: '库位' } |
|
|
{ value: 'LocationCode', label: '库位' } |
|
|
], |
|
|
], |
|
|
//仓库列表 |
|
|
//仓库列表 |
|
|
warehouseList: [] |
|
|
warehouseList: [], |
|
|
|
|
|
originWarehouseList: [] |
|
|
}) |
|
|
}) |
|
|
// 弹窗按钮 |
|
|
// 弹窗按钮 |
|
|
const Butttondata = ref([ |
|
|
const Butttondata = ref([ |
|
@ -658,12 +673,24 @@ const buttonBaseClick = (val, item) => { |
|
|
} |
|
|
} |
|
|
// 获取供应商列表 |
|
|
// 获取供应商列表 |
|
|
const getFormSupplierList = async () => { |
|
|
const getFormSupplierList = async () => { |
|
|
options.supplierList = await getSupplierList() |
|
|
options.orignSupplierList = await getSupplierList() |
|
|
|
|
|
options.supplierList = [...options.orignSupplierList] |
|
|
} |
|
|
} |
|
|
// 获取客户列表 |
|
|
// 获取客户列表 |
|
|
const getFormCustomerList = async () => { |
|
|
const getFormCustomerList = async () => { |
|
|
options.supplierList = await getCustomerList() |
|
|
options.supplierList = await getCustomerList() |
|
|
|
|
|
options.supplierList = [...options.orignSupplierList] |
|
|
|
|
|
} |
|
|
|
|
|
const filterMethod = (query: string) => { |
|
|
|
|
|
if (query) { |
|
|
|
|
|
options.supplierList = options.orignSupplierList.filter((item) => { |
|
|
|
|
|
return item.name.includes(query) |
|
|
|
|
|
}) |
|
|
|
|
|
} else { |
|
|
|
|
|
options.supplierList = [] |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
// 选择客户还是承运商 |
|
|
// 选择客户还是承运商 |
|
|
const changeSupplierCustomer = (e) => { |
|
|
const changeSupplierCustomer = (e) => { |
|
|
formData.value.condition[0].Value = '' |
|
|
formData.value.condition[0].Value = '' |
|
@ -684,21 +711,42 @@ const changeCalculation = () => { |
|
|
} |
|
|
} |
|
|
// 获取仓库列表 |
|
|
// 获取仓库列表 |
|
|
const getFormWarehouseList = async () => { |
|
|
const getFormWarehouseList = async () => { |
|
|
options.warehouseList = await getWarehouseList() |
|
|
options.originWarehouseList = await getWarehouseList() |
|
|
|
|
|
options.warehouseList = [...options.originWarehouseList] |
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
// 获取库区列表 |
|
|
// 获取库区列表 |
|
|
const getFormAreaList = async () => { |
|
|
const getFormAreaList = async () => { |
|
|
options.warehouseList = await getAreaList() |
|
|
options.originWarehouseList = await getAreaList() |
|
|
|
|
|
options.warehouseList = [...options.originWarehouseList] |
|
|
} |
|
|
} |
|
|
// 获取库位组列表 |
|
|
// 获取库位组列表 |
|
|
const getFormLocationgrouList = async () => { |
|
|
const getFormLocationgrouList = async () => { |
|
|
options.warehouseList = await getLocationgroupList() |
|
|
options.originWarehouseList = await getLocationgroupList() |
|
|
|
|
|
options.warehouseList = [...options.originWarehouseList] |
|
|
} |
|
|
} |
|
|
// 获取库位列表 |
|
|
// 获取库位列表 |
|
|
const getFormLocationList = async () => { |
|
|
const getFormLocationList = async () => { |
|
|
options.warehouseList = await getLocationList() |
|
|
const loading = ElLoading.service({ |
|
|
|
|
|
lock: true, |
|
|
|
|
|
text: t('ts.加载中'), |
|
|
|
|
|
background: 'rgba(0, 0, 0, 0.7)', |
|
|
|
|
|
}) |
|
|
|
|
|
options.originWarehouseList = await getLocationList() |
|
|
|
|
|
options.warehouseList = [...options.originWarehouseList] |
|
|
|
|
|
nextTick(()=>{ |
|
|
|
|
|
loading.close() |
|
|
|
|
|
}) |
|
|
|
|
|
} |
|
|
|
|
|
const filterMethodWarehouseList = (query: string) => { |
|
|
|
|
|
if (query) { |
|
|
|
|
|
options.warehouseList = options.originWarehouseList.filter((item) => { |
|
|
|
|
|
return item.code.includes(query) |
|
|
|
|
|
}) |
|
|
|
|
|
} else { |
|
|
|
|
|
options.warehouseList = [] |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
getFormLocationList() |
|
|
|
|
|
// 选择仓库/库位/库位组/库区 |
|
|
// 选择仓库/库位/库位组/库区 |
|
|
const changeWarehouse = (e) => { |
|
|
const changeWarehouse = (e) => { |
|
|
formData.value.configuration.WarehouseCode = '' |
|
|
formData.value.configuration.WarehouseCode = '' |
|
@ -717,11 +765,14 @@ const changeWarehouse = (e) => { |
|
|
} |
|
|
} |
|
|
/** 打开弹窗 */ |
|
|
/** 打开弹窗 */ |
|
|
const open = async (type: string, strategyCode: string, id?: number) => { |
|
|
const open = async (type: string, strategyCode: string, id?: number) => { |
|
|
|
|
|
|
|
|
formStrategyCode.value = strategyCode |
|
|
formStrategyCode.value = strategyCode |
|
|
dialogVisible.value = true |
|
|
dialogVisible.value = true |
|
|
dialogTitle.value = t('action.' + type) |
|
|
dialogTitle.value = t('action.' + type) |
|
|
formType.value = type |
|
|
formType.value = type |
|
|
warehouseType.value = 'WarehouseCode' |
|
|
warehouseType.value = 'WarehouseCode' |
|
|
|
|
|
getFormWarehouseList() |
|
|
|
|
|
|
|
|
resetForm() |
|
|
resetForm() |
|
|
// 修改时,设置数据 |
|
|
// 修改时,设置数据 |
|
|
if (id) { |
|
|
if (id) { |
|
@ -798,6 +849,8 @@ const open = async (type: string, strategyCode: string, id?: number) => { |
|
|
defaultButtons.formCloseBtn(null) // 关闭 |
|
|
defaultButtons.formCloseBtn(null) // 关闭 |
|
|
] |
|
|
] |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
defineExpose({ open }) // 提供 open 方法,用于打开弹窗 |
|
|
defineExpose({ open }) // 提供 open 方法,用于打开弹窗 |
|
|
|
|
|
|
|
|