uu
This commit is contained in:
parent
6ef733ac9e
commit
c9f0bd61b5
@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<tpx-dialog :show="show" :title="title" @onClose="handleCloseModal()">
|
||||
<view :style="`position: relative;height: calc(${percentHeight}vh);`">
|
||||
<tpx-dialog :show="show" :title="title" @onClose="handleCloseModal()" rootStyle="min-height:auto;">
|
||||
<view :style="cptStyle">
|
||||
<tpx-layout>
|
||||
<template v-slot:body>
|
||||
<slot v-if="show" :value="submitVals"></slot>
|
||||
@ -21,6 +21,12 @@
|
||||
<script>
|
||||
|
||||
export default {
|
||||
computed:{
|
||||
cptStyle(){
|
||||
let sty = `position: relative;height: calc(${this.percentHeight}vh);`
|
||||
return sty
|
||||
}
|
||||
},
|
||||
components: { },
|
||||
watch: {
|
||||
show(v){
|
||||
|
||||
@ -190,6 +190,29 @@
|
||||
</u-row>
|
||||
</view>
|
||||
|
||||
<view class="dt-block">
|
||||
<view class="dt-tle">
|
||||
<view class="t1">底单图片</view>
|
||||
<view class="t2"></view>
|
||||
</view>
|
||||
<u-line margin="20rpx 0 20rpx"></u-line>
|
||||
<view class="blcok-grey-sm" style="margin-top: 0;">
|
||||
<bpd-pic-preview-tmp label="货物图片" :list="modelInfo.billPicGoodsRmk" ></bpd-pic-preview-tmp>
|
||||
</view>
|
||||
<view class="blcok-grey-sm mt-20">
|
||||
<bpd-pic-preview-tmp label="揽收底单图片" :list="modelInfo.billPicSendRmk" ></bpd-pic-preview-tmp>
|
||||
</view>
|
||||
<!-- <view class="blcok-grey-sm mt-20">
|
||||
<bpd-pic-preview-tmp label="收件进仓单图片TODO" :list="modelInfo.TODO" ></bpd-pic-preview-tmp>
|
||||
</view> -->
|
||||
<view class="blcok-grey-sm mt-20">
|
||||
<bpd-pic-preview-tmp label="签收货物图片" :list="modelInfo.billPicDispatchRmk" ></bpd-pic-preview-tmp>
|
||||
</view>
|
||||
<!-- <view class="blcok-grey-sm mt-20">
|
||||
<bpd-pic-preview-tmp label="签收签名图片TODO" :list="modelInfo.TODO" ></bpd-pic-preview-tmp>
|
||||
</view> -->
|
||||
</view>
|
||||
|
||||
<view class="dt-block">
|
||||
<view class="dt-tle">
|
||||
<view class="t1">物流动态</view>
|
||||
@ -203,29 +226,7 @@
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="dt-block">
|
||||
<view class="dt-tle">
|
||||
<view class="t1">底单图片</view>
|
||||
<view class="t2"></view>
|
||||
</view>
|
||||
<u-line margin="20rpx 0 20rpx"></u-line>
|
||||
<view class="blcok-grey-sm" style="margin-top: 0;">
|
||||
<bpd-pic-preview-tmp label="货物图片" :list="modelInfo.billPicGoodsRmk" ></bpd-pic-preview-tmp>
|
||||
</view>
|
||||
<view class="blcok-grey-sm mt-20">
|
||||
<bpd-pic-preview-tmp label="揽收底单图片" :list="modelInfo.billPicSendRmk" ></bpd-pic-preview-tmp>
|
||||
</view>
|
||||
<u-line margin="20rpx 0 20rpx"></u-line>
|
||||
<view class="blcok-grey-sm mt-20">
|
||||
<bpd-pic-preview-tmp label="收件进仓单图片TODO" :list="modelInfo.TODO" ></bpd-pic-preview-tmp>
|
||||
</view>
|
||||
<view class="blcok-grey-sm mt-20">
|
||||
<bpd-pic-preview-tmp label="签收货物图片" :list="modelInfo.billPicDispatchRmk" ></bpd-pic-preview-tmp>
|
||||
</view>
|
||||
<view class="blcok-grey-sm mt-20">
|
||||
<bpd-pic-preview-tmp label="签收签名图片TODO" :list="modelInfo.TODO" ></bpd-pic-preview-tmp>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view style="height: 30rpx;"></view>
|
||||
</tpx-page>
|
||||
|
||||
|
||||
@ -9,14 +9,22 @@
|
||||
<slot name="titleRight"></slot>
|
||||
</view>
|
||||
</u-row>
|
||||
<u-row justify="between" custom-style="margin-top: 20rpx;">
|
||||
<u-row justify="between" custom-style="flex-wrap:wrap;">
|
||||
<u-col span="6" align="center">
|
||||
<view class="clr-prm font-34 font-weight">{{staticInfo.parcelQty}}</view>
|
||||
<view class="mt-20 clr-sub font-28">总件数</view>
|
||||
<view class="mt-20 clr-prm font-34 font-weight">{{staticInfo.parcelQty}}</view>
|
||||
<view class="mt-10 clr-sub font-28">总件数</view>
|
||||
</u-col>
|
||||
<u-col span="6" align="center">
|
||||
<view class="clr-prm font-34 font-weight">{{staticInfo.billWeight}}</view>
|
||||
<view class="mt-20 clr-sub font-28">总重量(KG)</view>
|
||||
<view class="mt-20 clr-prm font-34 font-weight">{{staticInfo.billWeight}}</view>
|
||||
<view class="mt-21 clr-sub font-28">总重量(KG)</view>
|
||||
</u-col>
|
||||
<u-col span="6" align="center">
|
||||
<view class="mt-20 clr-prm font-34 font-weight">{{staticInfo.totalVolume}}</view>
|
||||
<view class="mt-10 clr-sub font-28">总体积(m³)</view>
|
||||
</u-col>
|
||||
<u-col span="6" align="center">
|
||||
<view class="mt-20 clr-prm font-34 font-weight">{{staticInfo.piaoNum}}</view>
|
||||
<view class="mt-10 clr-sub font-28">总票数</view>
|
||||
</u-col>
|
||||
</u-row>
|
||||
</view>
|
||||
@ -42,11 +50,16 @@
|
||||
let data = {
|
||||
parcelQty: 0,
|
||||
billWeight: 0,
|
||||
totalVolume: 0,
|
||||
piaoNum: this.list?.length || 0
|
||||
}
|
||||
this.list.map(t=> {
|
||||
data.parcelQty += t.parcelQty
|
||||
data.billWeight += t.billWeight
|
||||
data.totalVolume += t.totalVolume
|
||||
|
||||
})
|
||||
|
||||
return data
|
||||
}
|
||||
},
|
||||
|
||||
@ -5,12 +5,12 @@
|
||||
<view>
|
||||
<image style="height: 50rpx;width: 42rpx;" :src="getCdnUrl(`post/ji.png`)"></image>
|
||||
</view>
|
||||
<view style="flex: 1;padding: 0 30rpx;">
|
||||
<view style="flex: 1;">
|
||||
<template v-if="modelInfo.sender && modelInfo.sender.name">
|
||||
<view style="width: 420rpx;padding: 0 30rpx;">
|
||||
<view>
|
||||
<view v-if="modelInfo.sender && modelInfo.sender.name" style="word-wrap: break-word;">
|
||||
<text class="font-weight pr-10">{{modelInfo.sender.name}}</text>
|
||||
<text class="">{{modelInfo.sender.phone}}</text>
|
||||
</template>
|
||||
<text class="font-weight">{{modelInfo.sender.phone}}</text>
|
||||
</view>
|
||||
<template v-else>
|
||||
<text class="font-weight">寄件人信息</text>
|
||||
</template>
|
||||
@ -41,12 +41,12 @@
|
||||
<image style="height: 50rpx;width: 42rpx;" :src="getCdnUrl(`post/shou.png`)">
|
||||
</image>
|
||||
</view>
|
||||
<view class="pr-30 pl-30" style="flex: 1;">
|
||||
<view style="flex: 1;">
|
||||
<template v-if="modelInfo.reciever && modelInfo.reciever.name">
|
||||
<view style="width: 420rpx;padding: 0 30rpx;">
|
||||
<view >
|
||||
<view v-if="modelInfo.reciever && modelInfo.reciever.name" style="word-wrap: break-word;">
|
||||
<text class="font-weight pr-10">{{modelInfo.reciever.name}}</text>
|
||||
<text class="">{{modelInfo.reciever.phone}}</text>
|
||||
</template>
|
||||
<text class="font-weight">{{modelInfo.reciever.phone}}</text>
|
||||
</view>
|
||||
<template v-else>
|
||||
<text class="font-weight">收件人信息</text>
|
||||
</template>
|
||||
|
||||
@ -19,10 +19,7 @@
|
||||
<u-text :text="sendDetail" size="26" color="#999"></u-text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="flex-column-center">
|
||||
<image style="height: 32rpx;width: 28rpx;" :src="getCdnUrl(`post/eye-off.svg`)">
|
||||
</image>
|
||||
</view>
|
||||
|
||||
<view style="position: absolute;left: 20rpx;bottom: -20rpx;top: 46rpx;">
|
||||
<u-line custom-style="height:100%;" direction="col" dashed="true"></u-line>
|
||||
</view>
|
||||
@ -53,10 +50,7 @@
|
||||
<u-text :text="recieverDetail" size="26" color="#999"></u-text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="flex-column-center">
|
||||
<image style="height: 32rpx;width: 28rpx;" :src="getCdnUrl(`post/eye-line.svg`)">
|
||||
</image>
|
||||
</view>
|
||||
|
||||
</u-row>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
@ -32,31 +32,39 @@
|
||||
<!-- 手动添加的才能删除 -->
|
||||
<u-row justify="between">
|
||||
<view >
|
||||
<text class="">应收:</text> {{item.fee || 0}}
|
||||
<text class="font-weight font-30">{{item.feeName}}</text>
|
||||
</view>
|
||||
<view v-if="item.blAutoGen == 0" @click="handleDelFee(index)" class="delicon">
|
||||
<u-icon name="trash" size="32"></u-icon>
|
||||
</view>
|
||||
</u-row>
|
||||
<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 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>
|
||||
<view v-if="item.calcExp" class="mt-10">
|
||||
<u-row style="margin-top:10rpx;" justify="between">
|
||||
<view>
|
||||
<text class="">应收:</text> {{item.fee || 0}}
|
||||
</view>
|
||||
<u-row custom-style="width:360rpx;">
|
||||
<text class="font-26 pr-20">实收</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>
|
||||
<!-- <view v-if="item.calcExp" class="mt-10">
|
||||
<text class="">计算公式:</text> {{item.calcExp}}
|
||||
</view> -->
|
||||
<view class="mt-20">
|
||||
<tpx-input v-model:value="item.remark" :disabled="modelInfo.blSpecialQuote != 1" placeholder="费用描述" isWhite="true"></tpx-input>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
@ -71,14 +79,12 @@
|
||||
</tpx-select>
|
||||
|
||||
<view class="pt-20">
|
||||
<u-row custom-style="flex: 1" justify="between">
|
||||
<u-row custom-style="flex:1;" justify="between">
|
||||
<text class="font-26 pr-10">总费用</text>
|
||||
<view v-if="modelInfo.calcFeeType==3">
|
||||
<view style="width: 360rpx;">
|
||||
<tpx-input v-model:value="modelInfo.freight" :isWhite="true" _digit="5"
|
||||
inputAlign="right" custom-style="width: 460rpx;height: 46rpx;" suffix="CNY"></tpx-input>
|
||||
</view>
|
||||
<view v-else>
|
||||
{{modelInfo.freight || 0}}<text class="clr-sub pl-10">CNY</text>
|
||||
:disabled="modelInfo.calcFeeType!=3"
|
||||
inputAlign="right" custom-style="height: 46rpx;" suffix="CNY"></tpx-input>
|
||||
</view>
|
||||
</u-row>
|
||||
</view>
|
||||
@ -87,6 +93,36 @@
|
||||
maxlength="50" count></u-textarea>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<buns-edit-sheet percentHeight="40" :title="costModal.item.feeName" v-model:show="costModal.show" v-model:value="costModal.item" v-slot="tempObject" @onSure="handleCostItemSure">
|
||||
<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="tempObject.value.initialWeightFee" _digit="5" :isWhite="true"
|
||||
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="tempObject.value.addWeightPrice" _digit="5" :isWhite="true"
|
||||
custom-style="width: 120rpx;height: 46rpx;" suffix="CNY"></tpx-input>
|
||||
</u-row>
|
||||
</u-row>
|
||||
<u-row style="margin-top:30rpx;" justify="between">
|
||||
<u-row custom-style="width:300rpx;">
|
||||
<text class="pr-20">应收</text>
|
||||
<tpx-input v-model:value="tempObject.value.fee" _digit="5" :isWhite="true" custom-style="width: 120rpx;height: 46rpx;"
|
||||
suffix="CNY"></tpx-input>
|
||||
</u-row>
|
||||
<u-row custom-style="width:300rpx;">
|
||||
<text class="font-26 pr-20">实收</text>
|
||||
<tpx-input v-model:value="tempObject.value.realFee" _digit="5" :isWhite="true" custom-style="width: 120rpx;height: 46rpx;"
|
||||
suffix="CNY"></tpx-input>
|
||||
</u-row>
|
||||
</u-row>
|
||||
<view class="mt-30">
|
||||
<tpx-input v-model:value="tempObject.value.remark" placeholder="费用描述" isWhite="true"></tpx-input>
|
||||
</view>
|
||||
</buns-edit-sheet>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
@ -143,7 +179,9 @@
|
||||
},
|
||||
},
|
||||
data() {
|
||||
return {}
|
||||
return {
|
||||
costModal: { item: {}, show: false }
|
||||
}
|
||||
},
|
||||
created() {
|
||||
},
|
||||
@ -157,13 +195,15 @@
|
||||
methods: {
|
||||
handleDelFee(index) {
|
||||
this.modelInfo.feeItems.splice(index, 1)
|
||||
this.calteFreight()
|
||||
},
|
||||
handleAddFee(val) {
|
||||
this.modelInfo.feeItems.push({
|
||||
this.costModal.show = {}
|
||||
this.costModal.item = {
|
||||
blAutoGen: 0, // 手动添加的费用标识
|
||||
feeCode: val,
|
||||
feeName: this.dicData.emis_fee_type.filter(t => t.val == val)[0].title
|
||||
})
|
||||
}
|
||||
},
|
||||
async calcWaybillFee(params = {}) {
|
||||
let res = await apiService.calcWaybillFee({ custNo: this.modelInfo.custNo, ...params })
|
||||
@ -172,10 +212,6 @@
|
||||
|
||||
},
|
||||
handleRlFeeChange(item, val){
|
||||
// 手动添加,需要更新应收
|
||||
if(item.blAutoGen == 0) {
|
||||
item.fee = val
|
||||
}
|
||||
setTimeout(()=> {
|
||||
this.calteFreight()
|
||||
}, 500)
|
||||
@ -206,9 +242,15 @@
|
||||
calteFreight(){
|
||||
let total = 0
|
||||
this.modelInfo.feeItems.map(t=> {
|
||||
total += (+t.realFee)
|
||||
total += (+(t.realFee || 0))
|
||||
})
|
||||
this.modelInfo.freight = total
|
||||
},
|
||||
handleCostItemSure(data){
|
||||
this.modelInfo.feeItems.push({ ...data })
|
||||
setTimeout(()=>{
|
||||
this.calteFreight()
|
||||
}, 500)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -6,92 +6,60 @@
|
||||
<tpx-text-item label="包装类型" :value="modelInfo.packType" :list="dicData.emis_tab_packing_type" ></tpx-text-item>
|
||||
</tpx-select>
|
||||
</view>
|
||||
|
||||
<view class="edm-input-item">
|
||||
<tpx-select v-model:value="modelInfo.prepareInExpress" :list="dicData.emis_express_code"
|
||||
mode="drop"
|
||||
>
|
||||
<tpx-text-item label="同行快递">
|
||||
<view v-if="modelInfo.pickupMethod == 1">
|
||||
<view class="edm-input-item">
|
||||
<tpx-select v-model:value="modelInfo.prepareInExpress" :list="dicData.emis_express_code"
|
||||
mode="drop"
|
||||
>
|
||||
<tpx-text-item label="同行快递">
|
||||
<template v-slot:right>
|
||||
<tpx-input v-model:value="modelInfo.prepareInExpress" inputAlign="right"></tpx-input>
|
||||
</template>
|
||||
</tpx-text-item>
|
||||
</tpx-select>
|
||||
</view>
|
||||
|
||||
<view class="edm-input-item">
|
||||
<tpx-text-item label="快递单号">
|
||||
<template v-slot:right>
|
||||
<u-input placeholder="" v-model="modelInfo.prepareInExpress" inputAlign="right"
|
||||
custom-style="border:0;border-radius: 10rpx;background-color: #F6F6F6;padding: 11rpx 20rpx;"
|
||||
placeholder-style="color: #999; "
|
||||
></u-input>
|
||||
<tpx-input v-model:value="modelInfo.prepareInBillCode" inputAlign="right"></tpx-input>
|
||||
</template>
|
||||
</tpx-text-item>
|
||||
</tpx-select>
|
||||
</view>
|
||||
|
||||
<view class="edm-input-item">
|
||||
<tpx-text-item label="是否需要代垫运费">
|
||||
<template v-slot:right>
|
||||
<u-switch v-model="modelInfo.blPrepareInFreight" activeValue="1" inactiveValue="0" active-color="#B12D29" size="34"></u-switch>
|
||||
</template>
|
||||
</tpx-text-item>
|
||||
</view>
|
||||
|
||||
<view v-if="modelInfo.blPrepareInFreight" class="edm-input-item">
|
||||
<tpx-text-item label="代垫预估">
|
||||
<template v-slot:right>
|
||||
<tpx-input v-model:value="modelInfo.prepareInEstFee" _digit="5" inputAlign="right" suffix="CNY"></tpx-input>
|
||||
</template>
|
||||
</tpx-text-item>
|
||||
</view>
|
||||
|
||||
<view class="edm-input-item">
|
||||
<tpx-text-item label="供应商">
|
||||
<template v-slot:right>
|
||||
<tpx-input v-model:value="modelInfo.prepareInSupplier" inputAlign="right"></tpx-input>
|
||||
</template>
|
||||
</tpx-text-item>
|
||||
</view>
|
||||
|
||||
<view class="edm-input-item">
|
||||
<tpx-text-item label="自定义标记">
|
||||
<template v-slot:right>
|
||||
<tpx-input v-model:value="modelInfo.prepareInRemark" inputAlign="right"></tpx-input>
|
||||
</template>
|
||||
</tpx-text-item>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="edm-input-item">
|
||||
<tpx-text-item label="快递单号">
|
||||
<template v-slot:right>
|
||||
<u-input placeholder="" v-model="modelInfo.prepareInBillCode" inputAlign="right"
|
||||
custom-style="border:0;border-radius: 10rpx;background-color: #F6F6F6;padding: 11rpx 20rpx;"
|
||||
placeholder-style="color: #999; "
|
||||
></u-input>
|
||||
</template>
|
||||
</tpx-text-item>
|
||||
</view>
|
||||
|
||||
<view class="edm-input-item">
|
||||
<tpx-text-item label="是否需要代垫运费">
|
||||
<template v-slot:right>
|
||||
<u-switch v-model="modelInfo.blPrepareInFreight" activeValue="1" inactiveValue="0" active-color="#B12D29" size="34"></u-switch>
|
||||
</template>
|
||||
</tpx-text-item>
|
||||
</view>
|
||||
|
||||
<view v-if="modelInfo.blPrepareInFreight" class="edm-input-item">
|
||||
<tpx-text-item label="代垫预估">
|
||||
<template v-slot:right>
|
||||
<u-input placeholder="" v-model="modelInfo.prepareInEstFee" inputAlign="right"
|
||||
custom-style="width: 366rpx;flex: none;border:0;border-radius: 10rpx;background-color: #F6F6F6;padding: 11rpx 20rpx;"
|
||||
placeholder-style="color: #999; " _digit="5"
|
||||
>
|
||||
<template #suffix>
|
||||
<text class="font-26 clr-sub pl-10">CNY</text>
|
||||
</template>
|
||||
</u-input>
|
||||
</template>
|
||||
</tpx-text-item>
|
||||
</view>
|
||||
|
||||
<view class="edm-input-item">
|
||||
<tpx-text-item label="供应商">
|
||||
<template v-slot:right>
|
||||
<u-input placeholder="" v-model="modelInfo.prepareInSupplier" inputAlign="right"
|
||||
custom-style="border:0;border-radius: 10rpx;background-color: #F6F6F6;padding: 11rpx 20rpx;"
|
||||
placeholder-style="color: #999; "
|
||||
></u-input>
|
||||
</template>
|
||||
</tpx-text-item>
|
||||
</view>
|
||||
|
||||
<view class="edm-input-item">
|
||||
<tpx-text-item label="自定义标记">
|
||||
<template v-slot:right>
|
||||
<u-input placeholder="" v-model="modelInfo.prepareInRemark" inputAlign="right"
|
||||
custom-style="border:0;border-radius: 10rpx;background-color: #F6F6F6;padding: 11rpx 20rpx;"
|
||||
placeholder-style="color: #999; "
|
||||
></u-input>
|
||||
</template>
|
||||
</tpx-text-item>
|
||||
</view>
|
||||
|
||||
<!-- <view class="edm-input-item">
|
||||
<u-row justify="between">
|
||||
<u-col span="4">
|
||||
<text class="font-26 font-weight">备注</text>
|
||||
</u-col>
|
||||
<u-col span="7">
|
||||
<u-input placeholder="" v-model="value1" inputAlign="right"
|
||||
custom-style="border:0;border-radius: 10rpx;background-color: #F6F6F6;padding: 11rpx 20rpx;"
|
||||
placeholder-style="color: #999; "
|
||||
></u-input>
|
||||
</u-col>
|
||||
</u-row>
|
||||
</view> -->
|
||||
|
||||
</template>
|
||||
|
||||
<script>
|
||||
|
||||
@ -6,12 +6,20 @@
|
||||
<tpx-text-item label="货物大类" :value="modelInfo.goodsType"></tpx-text-item>
|
||||
</tpx-select>
|
||||
</view>
|
||||
<view class="edm-input-item">
|
||||
<tpx-text-item label="货物名称">
|
||||
<template v-slot:right>
|
||||
<tpx-input v-model:value="modelInfo.goodsInfo" inputAlign="right"></tpx-input>
|
||||
</template>
|
||||
</tpx-text-item>
|
||||
<view class="edm-input-item ">
|
||||
<u-row align="top">
|
||||
<text class="font-weight pr-30">货物名称</text>
|
||||
<u-textarea v-model="modelInfo.goodsInfo" border="surround" height="100" placeholder=""
|
||||
count></u-textarea>
|
||||
</u-row>
|
||||
</view>
|
||||
<view class="edm-input-item mb-10">
|
||||
<u-row justify="between">
|
||||
<text class="font-28 font-weight">总件数</text>
|
||||
<view>
|
||||
<u-number-box v-model="modelInfo.parcelQty" :min="1" :max="100000" buttonSize="50" inputWidth="100" iconStyle="font-size: 18rpx;"></u-number-box>
|
||||
</view>
|
||||
</u-row>
|
||||
</view>
|
||||
|
||||
<view v-for="(item, index) in modelInfo.cargoList" class="yditem">
|
||||
@ -35,6 +43,24 @@
|
||||
</u-row>
|
||||
</u-button>
|
||||
|
||||
<view class="edm-input-item mt-20">
|
||||
<u-row justify="between">
|
||||
<text class="font-28 font-weight">包裹重量</text>
|
||||
<view>
|
||||
<tpx-input v-model:value="modelInfo.billWeight" placeholder="" inputAlign="right" suffix="kg" _digit="5"></tpx-input>
|
||||
</view>
|
||||
</u-row>
|
||||
</view>
|
||||
|
||||
<view class="edm-input-item">
|
||||
<u-row justify="between" align="top">
|
||||
<text class="font-28 pt-20 font-weight">总体积</text>
|
||||
<view v-if="totalVolume || true">
|
||||
<tpx-input v-model:value="modelInfo.totalVolume" placeholder="" inputAlign="right" suffix="m³" _digit="5"></tpx-input>
|
||||
</view>
|
||||
</u-row>
|
||||
</view>
|
||||
|
||||
</template>
|
||||
|
||||
<script>
|
||||
@ -51,6 +77,15 @@
|
||||
},
|
||||
dicData() {
|
||||
return this.$store.getters.dicData
|
||||
},
|
||||
totalVolume() {
|
||||
let totalVolume = this.modelInfo.totalVolume
|
||||
|
||||
|
||||
return totalVolume
|
||||
},
|
||||
isCargoListOnchange() {
|
||||
return this.modelInfo.cargoList
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
@ -70,6 +105,13 @@
|
||||
this.modelInfo.cargoList.splice(maxCaIndex + 1, this.modelInfo.cargoList.length -1 - maxCaIndex)
|
||||
}
|
||||
}
|
||||
},
|
||||
isCargoListOnchange: {
|
||||
handler(newVal){
|
||||
console.log("===bpe-goodsize-tmp isCargoListOnchange===")
|
||||
this.handleCargoChange(newVal)
|
||||
},
|
||||
deep: true,
|
||||
}
|
||||
},
|
||||
props: {
|
||||
@ -110,6 +152,27 @@
|
||||
},
|
||||
handleChooseGood(val, name){
|
||||
this.modelInfo.goodsInfo = name
|
||||
},
|
||||
handleCargoChange(list){
|
||||
let parcelQty = 0, totalVolume = 0
|
||||
list.map(t=> {
|
||||
totalVolume += (+t.volume) || 0
|
||||
})
|
||||
this.modelInfo.totalVolume = totalVolume.toFixed(5)
|
||||
},
|
||||
async calceOther() {
|
||||
let { totalVolume, productType, billWeight } = this.modelInfo
|
||||
let voRes = await apiService.calcVolumeWeight({ productType, totalVolume })
|
||||
let { volumeWeight } = voRes.data
|
||||
let stRes = await apiService.calcSetteldWeight({ volumeWeight, productType, billWeight })
|
||||
const { settlementWeight } = stRes.data
|
||||
this.modelInfo.volumeWeight = volumeWeight
|
||||
this.modelInfo.settlementWeight = this.modelInfo.totalWeight = settlementWeight
|
||||
|
||||
//
|
||||
},
|
||||
async validData() {
|
||||
await this.calceOther()
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -119,7 +182,7 @@
|
||||
.yditem{
|
||||
padding: 20rpx 20rpx;
|
||||
// background-color: #F6F6F6;
|
||||
background-color: #e1e1e1;
|
||||
background-color: #F6F6F6;
|
||||
border-radius: 10rpx;
|
||||
margin-bottom: 20rpx;
|
||||
}
|
||||
|
||||
@ -26,16 +26,15 @@
|
||||
</tpx-select>
|
||||
</view>
|
||||
|
||||
<view class="edm-input-item">
|
||||
<tpx-text-item label="物品数量">
|
||||
<!-- <view class="edm-input-item">
|
||||
<tpx-text-item label="件数">
|
||||
<template v-slot:right>
|
||||
<tpx-input placeholder="请填写" v-model:value="modelInfo.cargoQty" inputAlign="right" type="number" suffix="件" :_maxNum="cargoQtyMaxNum"></tpx-input>
|
||||
</template>
|
||||
</tpx-text-item>
|
||||
</view>
|
||||
</view> -->
|
||||
|
||||
|
||||
<bpe-gooditemsize-tmp v-model:value="modelInfo"></bpe-gooditemsize-tmp>
|
||||
<bpe-gooditemsize-tmp v-model:value="modelInfo" :submitVal="submitVal"></bpe-gooditemsize-tmp>
|
||||
|
||||
<view v-if="showMode!=1">
|
||||
<view class="edm-input-item">
|
||||
|
||||
@ -3,8 +3,8 @@
|
||||
|
||||
<view class="jsfm-item">
|
||||
<u-row justify="between" align="top">
|
||||
<text class="font-28 pt-20 font-weight">尺寸</text>
|
||||
<view style="width: 70%;">
|
||||
<!-- <text class="font-28 pt-20 font-weight">尺寸</text> -->
|
||||
<view style="width: 100%;">
|
||||
<u-row justify="between">
|
||||
<u-col span="3.7">
|
||||
<tpx-input v-model:value="modelInfo.length" placeholder="长" inputAlign="right" suffix="cm" _digit="5"></tpx-input>
|
||||
@ -20,12 +20,20 @@
|
||||
</u-row>
|
||||
</view>
|
||||
<view class="jsfm-item">
|
||||
<u-row justify="between" align="top">
|
||||
<text class="font-28 font-weight">体积</text>
|
||||
<view style="">
|
||||
{{modelInfo.volume || '0'}}
|
||||
<text class="clr-sub">m³</text>
|
||||
</view>
|
||||
<u-row justify="between">
|
||||
<u-row>
|
||||
<text class="font-28 font-weight pr-10">件数</text>
|
||||
<view style="width: 200rpx;">
|
||||
<tpx-input placeholder="请填写" v-model:value="modelInfo.cargoQty" inputAlign="right" type="number" suffix="件" :_maxNum="cargoQtyMaxNum"></tpx-input>
|
||||
</view>
|
||||
</u-row>
|
||||
<u-row>
|
||||
<text class="font-28 font-weight pr-10">体积</text>
|
||||
<view style="">
|
||||
{{modelInfo.volume || '0'}}
|
||||
<text class="clr-sub">m³</text>
|
||||
</view>
|
||||
</u-row>
|
||||
</u-row>
|
||||
</view>
|
||||
</view>
|
||||
@ -44,6 +52,21 @@
|
||||
return {
|
||||
length, width, height, cargoQty
|
||||
}
|
||||
},
|
||||
cargoQtyMaxNum(){
|
||||
// 限制数量的最大值
|
||||
let { cargoList, parcelQty } = this.submitVal
|
||||
let curQty = (+this.modelInfo.cargoQty) || 0
|
||||
let qtMaxNum = parcelQty + curQty
|
||||
cargoList.map(t=> {
|
||||
if(t.cargoQty) {
|
||||
qtMaxNum = qtMaxNum - t.cargoQty
|
||||
}
|
||||
})
|
||||
if(qtMaxNum < 0) {
|
||||
qtMaxNum = 0
|
||||
}
|
||||
return qtMaxNum
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
@ -59,7 +82,12 @@
|
||||
default () {
|
||||
return { }
|
||||
}
|
||||
}
|
||||
},
|
||||
submitVal: {
|
||||
default () {
|
||||
return {}
|
||||
}
|
||||
},
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<view class="shet-cont">
|
||||
<view class="jsfm-item">
|
||||
<view class="jsfm-item" style="margin-top: 0;">
|
||||
<u-row justify="between">
|
||||
<text class="font-28 font-weight">总件数</text>
|
||||
<view>
|
||||
|
||||
@ -1,25 +1,20 @@
|
||||
<template>
|
||||
<view class="pb-20">
|
||||
<view>
|
||||
<text class="clr-sub pr-10">货物名称</text> {{modelInfo.goodsInfo}}
|
||||
</view>
|
||||
<!-- <view class="pt-10">
|
||||
<text class="clr-sub pr-10">货物大类</text> {{modelInfo.goodsType}}
|
||||
</view> -->
|
||||
|
||||
</view>
|
||||
|
||||
<view v-for="(item) in modelInfo.cargoList" class="yditem">
|
||||
<view class="ydi-lab">
|
||||
<text class="font-weight">{{item.goodsName}}</text>
|
||||
</view>
|
||||
|
||||
<u-row justify="between" custom-style="flex-wrap: wrap;">
|
||||
<u-col v-if="item.nationArea" span="6">
|
||||
<view class="pt-5">
|
||||
<text class="clr-sub pr-10">产地</text>{{item.nationArea}}
|
||||
</view>
|
||||
</u-col>
|
||||
<u-col span="6">
|
||||
<view class="pt-5">
|
||||
<text class="clr-sub pr-10">件数</text> {{item.cargoQty}}
|
||||
</view>
|
||||
</u-col>
|
||||
<u-col v-if="item.price" span="6">
|
||||
<view class="pt-5">
|
||||
<text class="clr-sub pr-10">单价</text>{{item.price}} CNY
|
||||
</view>
|
||||
</u-col>
|
||||
<u-col span="12">
|
||||
<view class="pt-5">
|
||||
<text class="clr-sub pr-10">尺寸</text>
|
||||
@ -28,12 +23,29 @@
|
||||
{{item.length || '0'}}cm
|
||||
</view>
|
||||
</u-col>
|
||||
<u-col span="12">
|
||||
<u-col v-if="item.nationArea" span="6">
|
||||
<view class="pt-5">
|
||||
<text class="clr-sub pr-10">体积</text>
|
||||
{{item.volume || '0'}}m³
|
||||
<text class="clr-sub pr-10">产地</text>{{item.nationArea}}
|
||||
</view>
|
||||
</u-col>
|
||||
<u-col span="12">
|
||||
<u-row justify="between">
|
||||
<view class="pt-5">
|
||||
<text class="clr-sub pr-10">件数</text> {{item.cargoQty}}
|
||||
</view>
|
||||
<view class="pt-5">
|
||||
<text class="clr-sub pr-10">体积</text>
|
||||
{{item.volume || '0'}}m³
|
||||
</view>
|
||||
</u-row>
|
||||
</u-col>
|
||||
<u-col v-if="item.price" span="6">
|
||||
<view class="pt-5">
|
||||
<text class="clr-sub pr-10">单价</text>{{item.price}} CNY
|
||||
</view>
|
||||
</u-col>
|
||||
|
||||
|
||||
</u-row>
|
||||
</view>
|
||||
|
||||
@ -56,29 +68,29 @@
|
||||
</view>
|
||||
<view class="sta-t-item">
|
||||
<view class="">
|
||||
<text class="font-weight">{{modelInfo.billWeight || '-'}}</text>
|
||||
<text class="font-weight">{{modelInfo.volumeWeight || '-'}}</text>
|
||||
<text class="clr-sub">kg</text>
|
||||
</view>
|
||||
<view class="sta-lbl clr-sub">实际重量</view>
|
||||
<view class="sta-lbl clr-sub">体积重量</view>
|
||||
</view>
|
||||
</u-row>
|
||||
</view>
|
||||
<view class="font-28 mt-20">
|
||||
<u-row justify="space-between">
|
||||
<view class="sta-t-item">
|
||||
<!-- <view class="sta-t-item">
|
||||
<view class="">
|
||||
<text class="font-weight">{{modelInfo.totalWeight || '-'}}</text>
|
||||
<text class="clr-sub">kg</text>
|
||||
</view>
|
||||
<view class="sta-lbl clr-sub">总重量</view>
|
||||
</view>
|
||||
</view> -->
|
||||
|
||||
<view class="sta-t-item">
|
||||
<view class="">
|
||||
<text class="font-weight">{{modelInfo.volumeWeight || '-'}}</text>
|
||||
<text class="font-weight">{{modelInfo.billWeight || '-'}}</text>
|
||||
<text class="clr-sub">kg</text>
|
||||
</view>
|
||||
<view class="sta-lbl clr-sub">体积重量</view>
|
||||
<view class="sta-lbl clr-sub">实际重量</view>
|
||||
</view>
|
||||
|
||||
<view class="sta-t-item">
|
||||
@ -90,6 +102,12 @@
|
||||
</view>
|
||||
</u-row>
|
||||
</view>
|
||||
<view class="pt-30">
|
||||
<u-row justify="">
|
||||
<text class="clr-sub pr-10">包装类型</text>
|
||||
<tpx-text-dic :value="modelInfo.packType" :list="dicData.emis_tab_packing_type"></tpx-text-dic>
|
||||
</u-row>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
</template>
|
||||
@ -97,6 +115,9 @@
|
||||
<script>
|
||||
export default {
|
||||
computed: {
|
||||
dicData() {
|
||||
return this.$store.getters.dicData
|
||||
},
|
||||
modelInfo: {
|
||||
get(){
|
||||
return this.value
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
mut-bind:touchmove="true">
|
||||
<view @touchmove.stop="" class="dialog-mask" @click="handleClose()"></view>
|
||||
<view :class="`dialog-content ${type} pos-${closePosType}`"
|
||||
:style="`padding: 20rpx 0rpx;background-color:${bgColor};`">
|
||||
:style="compRootStyle">
|
||||
<view v-if="title" style="margin-bottom: 30rpx;" >
|
||||
<u-row @touchmove.stop="" justify="between" custom-style="padding: 0 30rpx 20rpx; 30rpx;">
|
||||
<view class="lgd-title">{{title}}</view>
|
||||
@ -22,6 +22,13 @@
|
||||
|
||||
<script>
|
||||
export default {
|
||||
computed:{
|
||||
compRootStyle(){
|
||||
let sty = `padding: 20rpx 0rpx;background-color:${this.bgColor};`
|
||||
sty += `${this.rootStyle || ''};`
|
||||
return sty
|
||||
}
|
||||
},
|
||||
props: {
|
||||
show: {
|
||||
default () {
|
||||
@ -58,6 +65,11 @@
|
||||
return ''
|
||||
}
|
||||
},
|
||||
rootStyle: {
|
||||
default () {
|
||||
return ''
|
||||
}
|
||||
},
|
||||
zIndex: {
|
||||
default () {
|
||||
return 990
|
||||
|
||||
@ -2,7 +2,8 @@
|
||||
<u-input shape="circle" :placeholder="placeholder" :modelValue="value" :clearable="clearable"
|
||||
:custom-style="inputStyle" :readonly="readonly" :type="type" :inputAlign="inputAlign"
|
||||
:placeholder-style="`color: #999;${placeholderStyle};` " @change="handleChange"
|
||||
:formatter="formatter" :disabled="disabled"
|
||||
@blur="handleFocus" @focus="handleBlur"
|
||||
:formatter="formatter" :disabled="disabled" :focus="autoFocus"
|
||||
>
|
||||
<template v-if="suffix" #suffix>
|
||||
<text class="font-26 clr-sub pl-10">{{suffix}}</text>
|
||||
@ -17,7 +18,11 @@
|
||||
inputStyle(){
|
||||
let bgColor = '#F6F6F6'
|
||||
let sty1 = 'border:0;border-radius: 10rpx;padding: 11rpx 20rpx;'
|
||||
if(this.isWhite) {
|
||||
// if(this.isWhite) {
|
||||
// bgColor = '#fff'
|
||||
// sty1 += 'border: 1rpx solid #dadbde;'
|
||||
// }
|
||||
if(true) {
|
||||
bgColor = '#fff'
|
||||
sty1 += 'border: 1rpx solid #dadbde;'
|
||||
}
|
||||
@ -87,6 +92,11 @@
|
||||
return ''
|
||||
}
|
||||
},
|
||||
autoFocus: {
|
||||
default () {
|
||||
return false
|
||||
}
|
||||
},
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
@ -102,6 +112,12 @@
|
||||
unmounted() {},
|
||||
|
||||
methods: {
|
||||
handleFocus(){
|
||||
this.$emit('focus')
|
||||
},
|
||||
handleBlur(){
|
||||
this.$emit('blur')
|
||||
},
|
||||
handleChange(val){
|
||||
this.$emit('change', val)
|
||||
this.$emit('update:value', val)
|
||||
|
||||
@ -16,7 +16,10 @@
|
||||
computed: {
|
||||
contClass() {
|
||||
let pre = ['radius-10']
|
||||
if (this.isWhite) {
|
||||
// if (this.isWhite) {
|
||||
// pre.push('c-white')
|
||||
// }
|
||||
if (true) {
|
||||
pre.push('c-white')
|
||||
} else {
|
||||
pre.push('c-grey')
|
||||
|
||||
@ -16,7 +16,7 @@
|
||||
<view style="height: calc(60vh);">
|
||||
<tpx-scroll-view :resObject="filResObject" :searchParam="filDataSearchParam" :getListFun="getListFun" size="sm" :showLoadedAll="false" @onListChange="onListChange">
|
||||
<view v-if="showKeyWord" class="mb-10">
|
||||
<tpx-input v-model:value="keyword" placeholder="请输入关键字" @change="handleKeyWordChange"></tpx-input>
|
||||
<tpx-input v-model:value="keyword" :autoFocus="show" placeholder="请输入关键字" @change="handleKeyWordChange"></tpx-input>
|
||||
</view>
|
||||
<content-items :value="value" :list="filDataList" :checkedList="filDatacheckedList" :minChecked="minChecked" :type="type"
|
||||
:text="text" :vdataType="vdataType" :transKeyVal="transKeyVal"
|
||||
@ -31,7 +31,7 @@
|
||||
<view v-if="mode == modeEnum.drop && show" class="md-drop-cont">
|
||||
<tpx-scroll-view :maxHeight="dropMaxHeight" :resObject="filResObject" :searchParam="filDataSearchParam" :getListFun="getListFun" size="sm" :showLoadedAll="false" @onListChange="onListChange">
|
||||
<view v-if="showKeyWord" class="mb-10">
|
||||
<tpx-input v-model:value="keyword" placeholder="请输入关键字" @change="handleKeyWordChange"></tpx-input>
|
||||
<tpx-input v-model:value="keyword" :autoFocus="show" placeholder="请输入关键字" @change="handleKeyWordChange"></tpx-input>
|
||||
</view>
|
||||
<content-items :value="value" :list="filDataList" :minChecked="minChecked" :type="type"
|
||||
:text="text" :vdataType="vdataType" :transKeyVal="transKeyVal"
|
||||
|
||||
Loading…
Reference in New Issue
Block a user