|
|
|
@ -4,11 +4,11 @@
|
|
|
|
|
<!-- 计价方式 --> |
|
|
|
|
<el-form-item |
|
|
|
|
label="计价方式" |
|
|
|
|
prop="priceMethod" |
|
|
|
|
prop="pickupPricingType" |
|
|
|
|
:rules="[{ required: true, message: '请选择计价方式', trigger: ['blur', 'change'] }]" |
|
|
|
|
> |
|
|
|
|
<el-select |
|
|
|
|
v-model="details.form.priceMethod" |
|
|
|
|
v-model="details.form.pickupPricingType" |
|
|
|
|
clearable |
|
|
|
|
multiple |
|
|
|
|
placeholder="请选择计价方式" |
|
|
|
@ -26,7 +26,7 @@
|
|
|
|
|
|
|
|
|
|
<!-- 是否统一区域计费 --> |
|
|
|
|
<el-form-item label="是否统一区域计费"> |
|
|
|
|
<el-radio-group v-model="details.form.isUnify" class="ml-4"> |
|
|
|
|
<el-radio-group v-model="details.form.pickupIsUnifyAreaBill" class="ml-4"> |
|
|
|
|
<el-radio |
|
|
|
|
v-for="item in details.isType" |
|
|
|
|
:key="item.value" |
|
|
|
@ -39,7 +39,7 @@
|
|
|
|
|
|
|
|
|
|
<!-- 是否区分品类 --> |
|
|
|
|
<el-form-item label="是否区分品类"> |
|
|
|
|
<el-radio-group v-model="details.form.isDistinguish" class="ml-4"> |
|
|
|
|
<el-radio-group v-model="details.form.pickupIsByCategory" class="ml-4"> |
|
|
|
|
<el-radio |
|
|
|
|
v-for="item in details.isType" |
|
|
|
|
:key="item.value" |
|
|
|
@ -51,14 +51,14 @@
|
|
|
|
|
</el-form-item> |
|
|
|
|
</el-form> |
|
|
|
|
|
|
|
|
|
<template v-if="details.form.isDistinguish === '1'"> |
|
|
|
|
<template v-if="details.form.pickupIsByCategory === '1'"> |
|
|
|
|
<el-divider content-position="left">品类管理</el-divider> |
|
|
|
|
|
|
|
|
|
<template v-for="value in details.form.billTemplateDetail" :key="value.title"> |
|
|
|
|
<!-- 附加费品类 --> |
|
|
|
|
<el-form-item |
|
|
|
|
label-width="150px" |
|
|
|
|
v-if="details.form.priceMethod.includes(value.code)" |
|
|
|
|
v-if="details.form.pickupPricingType.includes(value.code)" |
|
|
|
|
:label="value.title" |
|
|
|
|
> |
|
|
|
|
<div |
|
|
|
@ -120,7 +120,7 @@
|
|
|
|
|
|
|
|
|
|
<!-- 是否最低计费 --> |
|
|
|
|
<el-form-item label-width="150px" label="是否最低计费"> |
|
|
|
|
<el-radio-group v-model="details.form.isLowest" class="ml-4"> |
|
|
|
|
<el-radio-group v-model="details.form.pickupIsMinCost" class="ml-4"> |
|
|
|
|
<el-radio v-for="item in details.isType" :key="item.value" :label="item.value" size="large" |
|
|
|
|
>{{ item.label }} |
|
|
|
|
</el-radio> |
|
|
|
@ -128,11 +128,15 @@
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
|
|
|
|
<!-- 最低计费类型 --> |
|
|
|
|
<el-form-item v-if="details.form.isLowest === '1'" label-width="150px" label="最低计费类型"> |
|
|
|
|
<el-radio-group v-model="details.form.lowestMethod" class="ml-4"> |
|
|
|
|
<el-form-item |
|
|
|
|
v-if="details.form.pickupIsMinCost === '1'" |
|
|
|
|
label-width="150px" |
|
|
|
|
label="最低计费类型" |
|
|
|
|
> |
|
|
|
|
<el-radio-group v-model="details.form.pickupMinCostType" class="ml-4"> |
|
|
|
|
<template v-for="item in details.lowestType" :key="item.value"> |
|
|
|
|
<el-radio |
|
|
|
|
v-if="!item.MappingOrNot || details.form.priceMethod.includes(item.mapValue)" |
|
|
|
|
v-if="!item.MappingOrNot || details.form.pickupPricingType.includes(item.mapValue)" |
|
|
|
|
:label="item.dictKey" |
|
|
|
|
size="large" |
|
|
|
|
>{{ item.dictValue }} |
|
|
|
@ -255,15 +259,15 @@ const details = reactive({
|
|
|
|
|
/** 表单数据 */ |
|
|
|
|
form: { |
|
|
|
|
/** 计价方式 */ |
|
|
|
|
priceMethod: [], |
|
|
|
|
pickupPricingType: [], |
|
|
|
|
/** 是否统一区域计费 */ |
|
|
|
|
isUnify: '1', |
|
|
|
|
pickupIsUnifyAreaBill: '1', |
|
|
|
|
/** 是否区分品类 */ |
|
|
|
|
isDistinguish: '1', |
|
|
|
|
pickupIsByCategory: '1', |
|
|
|
|
/** 是否最低计费 */ |
|
|
|
|
isLowest: '1', |
|
|
|
|
pickupIsMinCost: '1', |
|
|
|
|
/** 最低计费类型 */ |
|
|
|
|
lowestMethod: '1', |
|
|
|
|
pickupMinCostType: '1', |
|
|
|
|
/** 计费模版详情 */ |
|
|
|
|
billTemplateDetail: [] as BillTemplateDetail[], |
|
|
|
|
}, |
|
|
|
@ -284,13 +288,14 @@ const handleChangePrcieMethod = value => {
|
|
|
|
|
let activeItem: any = {}; |
|
|
|
|
for (let i = 0; i < details.lowestType.length; i++) { |
|
|
|
|
const item = details.lowestType[i]; |
|
|
|
|
if (item.value !== details.form.lowestMethod) continue; |
|
|
|
|
if (item.value !== details.form.pickupMinCostType) continue; |
|
|
|
|
activeItem = item; |
|
|
|
|
break; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (!activeItem.MappingOrNot) return; |
|
|
|
|
if (!details.form.priceMethod.includes(activeItem.mapValue)) details.form.lowestMethod = '0'; |
|
|
|
|
if (!details.form.pickupPricingType.includes(activeItem.mapValue)) |
|
|
|
|
details.form.pickupMinCostType = '0'; |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
/** 处理干线计费模式 */ |
|
|
|
@ -450,7 +455,7 @@ const resetFormData = () => {
|
|
|
|
|
|
|
|
|
|
/** 提交 */ |
|
|
|
|
const handleSubmit = () => { |
|
|
|
|
if (details.form.priceMethod.length === 0) ElMessage.error('请选择计价方式'); |
|
|
|
|
if (details.form.pickupPricingType.length === 0) ElMessage.error('请选择计价方式'); |
|
|
|
|
|
|
|
|
|
formRef.value.validate(async valid => { |
|
|
|
|
if (!valid) return; |
|
|
|
|