|
|
|
@ -27,7 +27,7 @@
|
|
|
|
|
<span class="el_btn_a" @click="newlyadded(slotProps)"> |
|
|
|
|
<el-icon style="color: #409eff"><CirclePlus /></el-icon>新增 |
|
|
|
|
</span> |
|
|
|
|
<span class="el_btn_a"> |
|
|
|
|
<span class="el_btn_a" @click="EditRules"> |
|
|
|
|
<el-icon style="color: #409eff"><Edit /></el-icon>编辑 |
|
|
|
|
</span> |
|
|
|
|
<span @click="categoriesduceSurcharge(slotProps.scope.row.index)" class="el_btn_a"> |
|
|
|
@ -151,6 +151,111 @@
|
|
|
|
|
</div> |
|
|
|
|
</template> |
|
|
|
|
</el-dialog> |
|
|
|
|
|
|
|
|
|
<!-- 配置计价规则 --> |
|
|
|
|
<el-dialog v-model="form.dialogPricingrules" title="编辑" width="70%"> |
|
|
|
|
<div class="el_content"> |
|
|
|
|
<div class="el_category"> |
|
|
|
|
<span class="title"> 品类按件计费 </span> |
|
|
|
|
<SurchargeTable |
|
|
|
|
:SurchargeData="form.Categorybyitembilling" |
|
|
|
|
:Surcharge="Categorybyitembilling" |
|
|
|
|
@focus="handleRowFocus" |
|
|
|
|
@search="search" |
|
|
|
|
> |
|
|
|
|
<template #default="slotProps"> |
|
|
|
|
<template v-if="slotProps.scope.column.label === '操作'"> </template> |
|
|
|
|
</template> |
|
|
|
|
</SurchargeTable> |
|
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
<div class="el_category"> |
|
|
|
|
<span class="title">品类按方计费</span> |
|
|
|
|
<SurchargeTable |
|
|
|
|
:SurchargeData="form.Categorybyitembilling" |
|
|
|
|
:Surcharge="Categorybyitembilling" |
|
|
|
|
@focus="handleRowFocus" |
|
|
|
|
@search="search" |
|
|
|
|
> |
|
|
|
|
<template #default="slotProps"> |
|
|
|
|
<template v-if="slotProps.scope.column.label === '操作'"> </template> |
|
|
|
|
</template> |
|
|
|
|
</SurchargeTable> |
|
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
<div class="el_category"> |
|
|
|
|
<span class="title">品类按方计费</span> |
|
|
|
|
<SurchargeTable |
|
|
|
|
:SurchargeData="form.Categorybyitembilling" |
|
|
|
|
:Surcharge="Categorybyitembilling" |
|
|
|
|
@focus="handleRowFocus" |
|
|
|
|
@search="search" |
|
|
|
|
> |
|
|
|
|
<template #default="slotProps"> |
|
|
|
|
<template v-if="slotProps.scope.column.label === '操作'"> </template> |
|
|
|
|
</template> |
|
|
|
|
</SurchargeTable> |
|
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
<div class="el_category"> |
|
|
|
|
<span class="title">品类按方计费</span> |
|
|
|
|
<SurchargeTable |
|
|
|
|
:SurchargeData="form.Categorybyitembilling" |
|
|
|
|
:Surcharge="Categorybyitembilling" |
|
|
|
|
@focus="handleRowFocus" |
|
|
|
|
@search="search" |
|
|
|
|
> |
|
|
|
|
<template #default="slotProps"> |
|
|
|
|
<template v-if="slotProps.scope.column.label === '操作'"> </template> |
|
|
|
|
</template> |
|
|
|
|
</SurchargeTable> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
<div class="asurcharge"> |
|
|
|
|
<div class="el_asurcharge"> |
|
|
|
|
<span class="title">是否附加费</span> |
|
|
|
|
<el-radio-group v-model="radio1" class="ml-4"> |
|
|
|
|
<el-radio value="0" size="large">否</el-radio> |
|
|
|
|
<el-radio value="1" size="large">是</el-radio> |
|
|
|
|
</el-radio-group> |
|
|
|
|
</div> |
|
|
|
|
<!-- 附加费表格 --> |
|
|
|
|
<div class="el_category asurcharge_box"> |
|
|
|
|
<span class="title">品类按方计费</span> |
|
|
|
|
<SurchargeTable |
|
|
|
|
:SurchargeData="form.asurcharge" |
|
|
|
|
:Surcharge="asurcharge" |
|
|
|
|
@focus="handleRowFocus" |
|
|
|
|
@search="search" |
|
|
|
|
> |
|
|
|
|
<template #default="slotProps"> |
|
|
|
|
<template v-if="slotProps.scope.column.label === '操作'"> </template> |
|
|
|
|
</template> |
|
|
|
|
</SurchargeTable> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
<div class="el_Kilometers"> |
|
|
|
|
<div class="el_Kilometers_box"> |
|
|
|
|
<span class="title">公里数单价</span> |
|
|
|
|
<el-input-number v-model="form.num" :min="1" :max="10" /> |
|
|
|
|
</div> |
|
|
|
|
<div class="el_Kilometers_box"> |
|
|
|
|
<span class="title">公里数单价</span> |
|
|
|
|
<el-input-number v-model="form.num" :min="1" :max="10" /> |
|
|
|
|
</div> |
|
|
|
|
<div class="el_Kilometers_box"> |
|
|
|
|
<span class="title">公里数单价</span> |
|
|
|
|
<el-input-number v-model="form.num" :min="1" :max="10" /> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
<template #footer> |
|
|
|
|
<div class="dialog-footer"> |
|
|
|
|
<el-button @click="form.dialogVisible = false">取消</el-button> |
|
|
|
|
<el-button type="primary" @click="Pricingrules = false"> 确定 </el-button> |
|
|
|
|
</div> |
|
|
|
|
</template> |
|
|
|
|
</el-dialog> |
|
|
|
|
</template> |
|
|
|
|
<script setup> |
|
|
|
|
import { ref } from 'vue'; |
|
|
|
@ -159,16 +264,107 @@ const activeName = ref('Commercialdistribution');
|
|
|
|
|
// 配置计价规则 |
|
|
|
|
const formLoad = ref({}); |
|
|
|
|
const form = ref({ |
|
|
|
|
dialogPricingrules: false, //配置车型规则 |
|
|
|
|
dialogConfigure: false, |
|
|
|
|
dispatchSubjoinCategoryData: [ |
|
|
|
|
{ |
|
|
|
|
index: 0, |
|
|
|
|
index: 1, |
|
|
|
|
Warehousecategory: '', |
|
|
|
|
options: [], |
|
|
|
|
loading: false, |
|
|
|
|
}, |
|
|
|
|
], |
|
|
|
|
// 车型配置 |
|
|
|
|
// 品类按件计费 |
|
|
|
|
Categorybyitembilling: [ |
|
|
|
|
{ |
|
|
|
|
index: 1, |
|
|
|
|
Costsettlementcategory: '', //成本结算品类 |
|
|
|
|
UnitPrice: '', //单价(元/件) |
|
|
|
|
Setunitprice: '', //套单价(元/套) |
|
|
|
|
options: [], |
|
|
|
|
loading: false, |
|
|
|
|
}, |
|
|
|
|
], |
|
|
|
|
asurcharge: [ |
|
|
|
|
{ |
|
|
|
|
index: 1, |
|
|
|
|
Costsettlementcategory: '', //成本结算品类 |
|
|
|
|
UnitPrice: '', //单价(元/件) |
|
|
|
|
a: '', //套单价(元/套) |
|
|
|
|
b: '', |
|
|
|
|
c: '', |
|
|
|
|
options: [], |
|
|
|
|
loading: false, |
|
|
|
|
}, |
|
|
|
|
], |
|
|
|
|
}); |
|
|
|
|
// 品类按件计费 |
|
|
|
|
const Categorybyitembilling = ref([ |
|
|
|
|
{ label: '序号', prop: 'index', type: 'string', width: '50', disabled: true }, |
|
|
|
|
{ |
|
|
|
|
label: '成本结算品类', |
|
|
|
|
prop: 'Warehousecategory', |
|
|
|
|
type: 'select', |
|
|
|
|
width: 'auto', |
|
|
|
|
disabled: true, |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
label: '单价(元/件)', |
|
|
|
|
prop: 'UnitPrice', |
|
|
|
|
type: 'number', |
|
|
|
|
width: 'auto', |
|
|
|
|
disabled: true, |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
label: '套单价(元/套)', |
|
|
|
|
prop: 'Setunitprice', |
|
|
|
|
type: 'number', |
|
|
|
|
width: 'auto', |
|
|
|
|
disabled: true, |
|
|
|
|
}, |
|
|
|
|
]); |
|
|
|
|
|
|
|
|
|
// 附加费 |
|
|
|
|
const asurcharge = ref([ |
|
|
|
|
{ label: '序号', prop: 'index', type: 'string', width: '50', disabled: true }, |
|
|
|
|
{ |
|
|
|
|
label: '成本结算品类', |
|
|
|
|
prop: 'Warehousecategory', |
|
|
|
|
type: 'select', |
|
|
|
|
width: 'auto', |
|
|
|
|
disabled: true, |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
label: '上楼费(元/层/件)', |
|
|
|
|
prop: 'UnitPrice', |
|
|
|
|
type: 'number', |
|
|
|
|
width: 'auto', |
|
|
|
|
disabled: true, |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
label: '分货费(元/层/件)', |
|
|
|
|
prop: 'a', |
|
|
|
|
type: 'number', |
|
|
|
|
width: 'auto', |
|
|
|
|
disabled: true, |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
label: '平移费(元/件)', |
|
|
|
|
prop: 'b', |
|
|
|
|
type: 'number', |
|
|
|
|
width: 'auto', |
|
|
|
|
disabled: true, |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
label: '卸费(元/件)', |
|
|
|
|
prop: 'c', |
|
|
|
|
type: 'number', |
|
|
|
|
width: 'auto', |
|
|
|
|
disabled: true, |
|
|
|
|
}, |
|
|
|
|
]); |
|
|
|
|
// 车型配置 |
|
|
|
|
const dispatchSubjoinCategory = ref([ |
|
|
|
|
{ label: '序号', prop: 'index', type: 'string', width: '50', disabled: true }, |
|
|
|
|
{ |
|
|
|
@ -204,6 +400,9 @@ const categoriesduceSurcharge = row => {
|
|
|
|
|
'form.value.dispatchSubjoinCategoryData after deletion and reordering' |
|
|
|
|
); |
|
|
|
|
}; |
|
|
|
|
const EditRules = () => { |
|
|
|
|
form.value.dialogPricingrules = true; //开启车型配置规则弹窗 |
|
|
|
|
}; |
|
|
|
|
const newlyadded = row => { |
|
|
|
|
console.log(row, 'row'); |
|
|
|
|
let data = { |
|
|
|
@ -214,6 +413,8 @@ const newlyadded = row => {
|
|
|
|
|
}; |
|
|
|
|
form.value.dispatchSubjoinCategoryData.push(data); |
|
|
|
|
}; |
|
|
|
|
// 编辑车型规则 |
|
|
|
|
const Pricingrules = () => {}; |
|
|
|
|
</script> |
|
|
|
|
|
|
|
|
|
<style scoped lang="scss"> |
|
|
|
@ -262,4 +463,86 @@ const newlyadded = row => {
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
.el_content { |
|
|
|
|
display: flex; |
|
|
|
|
flex-wrap: wrap; |
|
|
|
|
} |
|
|
|
|
.el_category { |
|
|
|
|
width: 43%; |
|
|
|
|
margin-right: 6%; |
|
|
|
|
margin-bottom: 2%; |
|
|
|
|
.title { |
|
|
|
|
padding: 0 10px; |
|
|
|
|
position: relative; |
|
|
|
|
margin-bottom: 10px; |
|
|
|
|
display: block; |
|
|
|
|
} |
|
|
|
|
.title::after { |
|
|
|
|
content: ''; |
|
|
|
|
width: 4px; |
|
|
|
|
height: 100%; |
|
|
|
|
background-color: #172e60; |
|
|
|
|
position: absolute; |
|
|
|
|
left: 0; |
|
|
|
|
left: 0; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
.asurcharge { |
|
|
|
|
.el_asurcharge { |
|
|
|
|
display: flex; |
|
|
|
|
flex-direction: column; |
|
|
|
|
.title { |
|
|
|
|
padding: 0 10px; |
|
|
|
|
|
|
|
|
|
position: relative; |
|
|
|
|
} |
|
|
|
|
.title::after { |
|
|
|
|
content: ''; |
|
|
|
|
width: 4px; |
|
|
|
|
height: 100%; |
|
|
|
|
background-color: #172e60; |
|
|
|
|
position: absolute; |
|
|
|
|
left: 0; |
|
|
|
|
left: 0; |
|
|
|
|
} |
|
|
|
|
.el-radio-group { |
|
|
|
|
margin-top: 10px; |
|
|
|
|
width: 16%; |
|
|
|
|
background-color: #f6f6f6; |
|
|
|
|
padding: 0 8px; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
.asurcharge_box { |
|
|
|
|
margin-top: 23px; |
|
|
|
|
width: 100%; |
|
|
|
|
} |
|
|
|
|
.el_Kilometers { |
|
|
|
|
display: flex; |
|
|
|
|
justify-content: space-between; |
|
|
|
|
.el_Kilometers_box { |
|
|
|
|
display: flex; |
|
|
|
|
width: 32%; |
|
|
|
|
flex-direction: column; |
|
|
|
|
margin-right: 10px; |
|
|
|
|
.el-input-number { |
|
|
|
|
width: 100%; |
|
|
|
|
} |
|
|
|
|
.title { |
|
|
|
|
position: relative; |
|
|
|
|
padding: 0 10px; |
|
|
|
|
display: block; |
|
|
|
|
margin-bottom: 10px; |
|
|
|
|
} |
|
|
|
|
.title::after { |
|
|
|
|
content: ''; |
|
|
|
|
position: absolute; |
|
|
|
|
left: 0; |
|
|
|
|
top: 0; |
|
|
|
|
width: 4px; |
|
|
|
|
height: 100%; |
|
|
|
|
background-color: #172e60; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
</style> |
|
|
|
|