This commit is contained in:
aihe 2024-04-29 16:46:07 +08:00
parent de38e2990e
commit 4a82957ea0
2 changed files with 51 additions and 44 deletions

View File

@ -4,7 +4,7 @@
<u-row>
<view class="lft1 font-28">计费方式</view>
<view style="flex: 1;">
<u-radio-group v-model="modelInfo.calcFeeType" @change="groupChange">
<u-radio-group v-model="modelInfo.calcFeeType" @change="handleFeeTypeChange">
<u-radio v-for="(item, index) in dicData.emis_calc_fee_type" :label="item.title"
:name="item.val" activeColor="#B12D29" size="30" labelSize="26"
:custom-style="`margin-right: ${index+1<dicData.emis_calc_fee_type.length?30:0}rpx;`">
@ -49,38 +49,6 @@
<script>
import * as apiService from "@/common/api"
export default {
watch: {
modelInfo: {
handler(newVal, oldVal) {
let params = {
"productType": newVal.productType,
"customerCode": newVal.customerCode,
"custNo": newVal.custNo,
"calcFeeType": newVal.calcFeeType,
"settlementWeight": newVal.settlementWeight,
"totalVolume": newVal.totalVolume,
"sendSiteCode": this.$store.getters.userInfo.ownerSiteCode,
"dispatchUnderlingSiteCode": newVal.dispatchUnderlingSiteCode,
}
// params = {
// "productType": "24202",
// "customerCode": "1",
// "custNo": "1",
// "calcFeeType": "1",
// "settlementWeight": "2.3",
// "totalVolume": "0.03",
// "sendSiteCode": "25001",
// "dispatchUnderlingSiteCode": "95001"
// }
// 所有的入参必须有值才可以计算
let vals = Object.values(params)
if (vals.length == vals.filter(v => !!v).length) {
this.calcWaybillFee(params)
}
},
deep: true
}
},
computed: {
modelInfo: {
get() {
@ -102,13 +70,18 @@
default () {
return {}
}
},
searchParam: {
default () {
return {}
}
}
},
data() {
return {}
},
created() {
;(!this.modelInfo.feeItems || this.modelInfo.feeItems.length == 0) && this.calcWaybillFee();
},
onHide() {
@ -128,8 +101,11 @@
feeName: this.dicData.emis_fee_type.filter(t => t.val == val)[0].title
})
},
async calcWaybillFee(params) {
let res = await apiService.calcWaybillFee(params)
handleFeeTypeChange(val) {
this.calcWaybillFee({ calcFeeType: val })
},
async calcWaybillFee(params = {}) {
let res = await apiService.calcWaybillFee({ ...this.searchParam, ...params })
this.modelInfo.feeItems = res.data.feeItems
}
}

View File

@ -187,14 +187,16 @@
<bpe-goodstatic-tmp v-model:value="submitParam"></bpe-goodstatic-tmp>
</view>
<view class="com-section mt-30">
<u-row justify="space-between">
<text>计费信息</text>
</u-row>
</view>
<view class="blcok-white">
<bpe-cost-tmp v-model:value="submitParam"></bpe-cost-tmp>
</view>
<template v-if="isShowJifei">
<view class="com-section mt-30">
<u-row justify="space-between">
<text>计费信息</text>
</u-row>
</view>
<view class="blcok-white">
<bpe-cost-tmp v-model:value="submitParam" :searchParam="jifeiParam"></bpe-cost-tmp>
</view>
</template>
<view class="com-section mt-30">
<u-row justify="space-between">
@ -270,6 +272,35 @@
},
dicData() {
return this.$store.getters.dicData
},
jifeiParam(){
let info = this.submitParam
let param = {
productType: info.productType,
customerCode: info.customerCode,
custNo: info.custNo,
calcFeeType: info.calcFeeType,
settlementWeight: info.settlementWeight,
totalVolume: info.totalVolume,
sendSiteCode: this.$store.getters.userInfo.ownerSiteCode,
dispatchUnderlingSiteCode: info.dispatchUnderlingSiteCode,
}
// TODO
param = {
"productType": "24202",
"customerCode": "1",
"custNo": "1",
"calcFeeType": "1",
"settlementWeight": "2.3",
"totalVolume": "0.03",
"sendSiteCode": "25001",
"dispatchUnderlingSiteCode": "95001"
}
return param
},
isShowJifei(){
let vals = Object.values(this.jifeiParam)
return vals.length == vals.filter(v => !!v).length
}
},
data() {