uu
This commit is contained in:
parent
6aa83f599b
commit
fc1279608e
@ -1,6 +1,20 @@
|
|||||||
<template>
|
<template>
|
||||||
<view class="shet-cont">
|
<view class="shet-cont">
|
||||||
<view class="jsfm-item nobg" style="padding-top: 0;margin-bottom: 0;">
|
<view class="">
|
||||||
|
<tpx-text-item label="特殊报价">
|
||||||
|
<template v-slot:right>
|
||||||
|
<u-switch v-model="modelInfo.blSpecialQuote" activeValue="1" inactiveValue="0" active-color="#B12D29" size="34"></u-switch>
|
||||||
|
</template>
|
||||||
|
</tpx-text-item>
|
||||||
|
</view>
|
||||||
|
<view class="pt-20">
|
||||||
|
<tpx-text-item label="敏感物">
|
||||||
|
<template v-slot:right>
|
||||||
|
<u-switch v-model="modelInfo.blSpecialGoods" activeValue="1" inactiveValue="0" active-color="#B12D29" size="34"></u-switch>
|
||||||
|
</template>
|
||||||
|
</tpx-text-item>
|
||||||
|
</view>
|
||||||
|
<view class="jsfm-item nobg" style=";margin-bottom: 0;padding-left: 0;">
|
||||||
<u-row>
|
<u-row>
|
||||||
<view class="lft1 font-28">计费方式</view>
|
<view class="lft1 font-28">计费方式</view>
|
||||||
<view style="flex: 1;">
|
<view style="flex: 1;">
|
||||||
@ -15,23 +29,35 @@
|
|||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view v-for="(item, index) in modelInfo.feeItems" class="jsfm-item">
|
<view v-for="(item, index) in modelInfo.feeItems" class="jsfm-item">
|
||||||
<u-row custom-style="gap: 20rpx;">
|
<!-- 手动添加的才能删除 -->
|
||||||
<u-row custom-style="flex: 1">
|
<u-row justify="between">
|
||||||
<text class="font-26 pr-10">{{item.feeName}}</text>
|
<view >
|
||||||
<tpx-input v-model:value="item.fee" :isWhite="true" custom-style="width: 120rpx;height: 46rpx;"
|
<text class="">应收:</text> {{item.fee || 0}}
|
||||||
suffix="CNY"></tpx-input>
|
</view>
|
||||||
</u-row>
|
<view v-if="item.blAutoGen == 0" @click="handleDelFee(index)" class="delicon">
|
||||||
<!-- 干线运输费才显示 续重 -->
|
<u-icon name="trash" size="32"></u-icon>
|
||||||
<u-row v-if="item.feeCode == '1001'" custom-style="flex: 1">
|
|
||||||
<text class="font-26 pr-10">续重</text>
|
|
||||||
<tpx-input v-model:value="item.addWeight" :isWhite="true"
|
|
||||||
custom-style="width: 120rpx;height: 46rpx;" suffix="KG"></tpx-input>
|
|
||||||
</u-row>
|
|
||||||
<view v-if="item.__add" @click="handleDelFee(index)" class="delicon">
|
|
||||||
<u-icon name="minus-circle" size="30"></u-icon>
|
|
||||||
</view>
|
</view>
|
||||||
</u-row>
|
</u-row>
|
||||||
<view v-if="item.calcExp" class="mt-10 clr-sub">计算公式: {{item.calcExp}}</view>
|
<u-row style="width:450rpx;margin-top:10rpx;">
|
||||||
|
<text class="font-26 pr-20">{{item.feeName}}</text>
|
||||||
|
<tpx-input v-model:value="item.realFee" @change="(val)=> { handleRlFeeChange(item, val) }" _digit="5" :isWhite="true" custom-style="width: 120rpx;height: 46rpx;"
|
||||||
|
:disabled="modelInfo.blSpecialQuote != 1" suffix="CNY"></tpx-input>
|
||||||
|
</u-row>
|
||||||
|
<u-row custom-style="gap: 20rpx;margin-top:10rpx;">
|
||||||
|
<u-row custom-style="flex: 1">
|
||||||
|
<text class="font-26 pr-10">续重单价</text>
|
||||||
|
<tpx-input v-model:value="item.addWeightPrice" @change="(val)=> { handleAwPriceChange(item, val) }" _digit="5" :isWhite="true"
|
||||||
|
:disabled="modelInfo.blSpecialQuote != 1" custom-style="width: 120rpx;height: 46rpx;" suffix="CNY"></tpx-input>
|
||||||
|
</u-row>
|
||||||
|
<u-row custom-style="flex: 1">
|
||||||
|
<text class="font-26 pr-10">首重费</text>
|
||||||
|
<tpx-input v-model:value="item.initialWeightFee" @change="(val)=> { handleIwFeeChange(item, val) }" _digit="5" :isWhite="true"
|
||||||
|
:disabled="modelInfo.blSpecialQuote != 1" custom-style="width: 120rpx;height: 46rpx;" suffix="CNY"></tpx-input>
|
||||||
|
</u-row>
|
||||||
|
</u-row>
|
||||||
|
<view v-if="item.calcExp" class="mt-10">
|
||||||
|
<text class="">计算公式:</text> {{item.calcExp}}
|
||||||
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<tpx-select v-if="feeTypeOptions.length > 0" :list="feeTypeOptions" @onChange="handleAddFee" mode="drop">
|
<tpx-select v-if="feeTypeOptions.length > 0" :list="feeTypeOptions" @onChange="handleAddFee" mode="drop">
|
||||||
@ -134,7 +160,7 @@
|
|||||||
},
|
},
|
||||||
handleAddFee(val) {
|
handleAddFee(val) {
|
||||||
this.modelInfo.feeItems.push({
|
this.modelInfo.feeItems.push({
|
||||||
__add: true,
|
blAutoGen: 0, // 手动添加的费用标识
|
||||||
feeCode: val,
|
feeCode: val,
|
||||||
feeName: this.dicData.emis_fee_type.filter(t => t.val == val)[0].title
|
feeName: this.dicData.emis_fee_type.filter(t => t.val == val)[0].title
|
||||||
})
|
})
|
||||||
@ -144,6 +170,45 @@
|
|||||||
this.modelInfo.feeItems = res.data.feeList
|
this.modelInfo.feeItems = res.data.feeList
|
||||||
this.modelInfo.freight = res.data.totalFee
|
this.modelInfo.freight = res.data.totalFee
|
||||||
|
|
||||||
|
},
|
||||||
|
handleRlFeeChange(item, val){
|
||||||
|
// 手动添加,需要更新应收
|
||||||
|
if(item.blAutoGen == 0) {
|
||||||
|
item.fee = val
|
||||||
|
}
|
||||||
|
setTimeout(()=> {
|
||||||
|
this.calteFreight()
|
||||||
|
}, 500)
|
||||||
|
},
|
||||||
|
handleAwPriceChange(item) {
|
||||||
|
setTimeout(()=> {
|
||||||
|
this.calteShiRealfee(item)
|
||||||
|
}, 500)
|
||||||
|
},
|
||||||
|
handleIwFeeChange(item){
|
||||||
|
setTimeout(()=> {
|
||||||
|
this.calteShiRealfee(item)
|
||||||
|
}, 500)
|
||||||
|
},
|
||||||
|
calteShiRealfee(item){
|
||||||
|
if(item.blAutoGen == 1 && item.calcExp) {
|
||||||
|
let { settlementWeight } = this.modelInfo
|
||||||
|
let { initialWeightFee, addWeightPrice, calcExp } = item
|
||||||
|
let expr = calcExp;
|
||||||
|
expr = expr.replace("s", initialWeightFee);
|
||||||
|
expr = expr.replace("d", addWeightPrice);
|
||||||
|
expr = expr.replace("w", settlementWeight);
|
||||||
|
item.realFee = parseFloat(eval(expr)).toFixed(2);
|
||||||
|
this.calteFreight()
|
||||||
|
}
|
||||||
|
},
|
||||||
|
// 更新总费用
|
||||||
|
calteFreight(){
|
||||||
|
let total = 0
|
||||||
|
this.modelInfo.feeItems.map(t=> {
|
||||||
|
total += (+t.realFee)
|
||||||
|
})
|
||||||
|
this.modelInfo.freight = total
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -153,6 +218,7 @@
|
|||||||
.shet-cont {}
|
.shet-cont {}
|
||||||
|
|
||||||
.jsfm-item {
|
.jsfm-item {
|
||||||
|
position: relative;
|
||||||
background-color: #F6F6F6;
|
background-color: #F6F6F6;
|
||||||
padding: 20rpx;
|
padding: 20rpx;
|
||||||
margin-bottom: 20rpx;
|
margin-bottom: 20rpx;
|
||||||
@ -163,6 +229,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.lft1 {
|
.lft1 {
|
||||||
|
font-weight: 700;
|
||||||
width: 150rpx;
|
width: 150rpx;
|
||||||
margin-right: 10rpx;
|
margin-right: 10rpx;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -15,8 +15,15 @@
|
|||||||
export default {
|
export default {
|
||||||
computed: {
|
computed: {
|
||||||
inputStyle(){
|
inputStyle(){
|
||||||
let sty1 = 'border:0;border-radius: 10rpx;background-color: #F6F6F6;padding: 11rpx 20rpx;'
|
let bgColor = '#F6F6F6'
|
||||||
this.isWhite && (sty1 += 'background-color: #fff;border: 1rpx solid #dadbde;')
|
let sty1 = 'border:0;border-radius: 10rpx;padding: 11rpx 20rpx;'
|
||||||
|
if(this.isWhite) {
|
||||||
|
bgColor = '#fff'
|
||||||
|
sty1 += 'border: 1rpx solid #dadbde;'
|
||||||
|
}
|
||||||
|
if(!this.disabled) {
|
||||||
|
sty1 += `background-color:${bgColor};`
|
||||||
|
}
|
||||||
return `${sty1};${this.customStyle};`
|
return `${sty1};${this.customStyle};`
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user