This commit is contained in:
aihe 2024-06-03 00:37:50 +08:00
parent fc1279608e
commit f3b56aa82e
6 changed files with 296 additions and 134 deletions

View File

@ -37,26 +37,10 @@
</view> </view>
</view> </view>
<u-line margin="20rpx 0 20rpx"></u-line> <u-line margin="20rpx 0 20rpx"></u-line>
<view v-for="(item) in (modelInfo.cargoList || [])" class="yditem"> <view class="">
<view class="ydi-lab"> <bpe-goodstatic-tmp v-model:value="modelInfo"></bpe-goodstatic-tmp>
<text class="font-weight">{{item.goodsName}}</text>
<text>预报: {{item.cargoQty}}</text>
</view>
<view class="ydi-lab mt-10">
<text class="clr-sub">{{item.nationArea}}</text>
<text>实入仓: {{ item.cargoQty - (item.abnormalQty || 0) }}</text>
</view>
<view class="ydi-lab mt-10">
<text class="clr-prm">{{item.price}} CNY</text>
</view>
</view>
<view class="dt-item">
<view class="font-weight">
<text>总重量:{{modelInfo.totalWeight || '-'}}kg</text>
<text class="pl-20">总体积:{{modelInfo.totalVolume || '-'}}m³</text>
</view>
</view> </view>
<u-line margin="20rpx 0 20rpx"></u-line>
<u-row justify="end"> <u-row justify="end">
<view style="display: inline-block;white-space: nowrap;" class="mt-10"> <view style="display: inline-block;white-space: nowrap;" class="mt-10">
@ -73,7 +57,7 @@
<view class="dt-block"> <view class="dt-block">
<view class="dt-tle"> <view class="dt-tle">
<view class="t1">产品类型及费用</view> <view class="t1">产品类型</view>
<view class="t2"> <view class="t2">
<text class="clr-prm"> <text class="clr-prm">
<tpx-text-dic :value="modelInfo.paymentStatus" :list="dicData.emis_payment_status" ></tpx-text-dic> <tpx-text-dic :value="modelInfo.paymentStatus" :list="dicData.emis_payment_status" ></tpx-text-dic>
@ -84,75 +68,80 @@
<view class="blcok-grey-sm"> <view class="blcok-grey-sm">
<view class="dt-item"> <view class="dt-item">
<view v-if="modelInfo.reciever"> <view v-if="modelInfo.reciever">
<text class="clr-sub pr-10">寄件网点:</text> <text class="clr-sub pr-10">寄件网点</text>
<text class="">{{ modelInfo.sendSiteName }}</text> <text class="">{{ modelInfo.sendSiteName }}</text>
</view> </view>
<view> <view>
<text class="clr-sub pr-10">目的网点:</text> <text class="clr-sub pr-10">目的网点</text>
<text class="">{{ modelInfo.dispatchUnderlingSiteName }}</text> <text class="">{{ modelInfo.dispatchUnderlingSiteName }}</text>
</view> </view>
</view> </view>
<view class="dt-item"> <view class="dt-item">
<view v-if="modelInfo.reciever"> <view>
<text class="clr-sub pr-10">目的地:</text> <text class="clr-sub pr-10">目的地</text>
<text class="">{{ modelInfo.destinationName }}</text> <text class="">{{ modelInfo.destinationName }}</text>
</view> </view>
</view>
<view class="dt-item">
<view v-if="modelInfo.reciever"> <view v-if="modelInfo.reciever">
<text class="clr-sub pr-10">目的国家:</text> <text class="clr-sub pr-10">目的国家</text>
<text class="">{{ modelInfo.reciever.countryName }}</text> <text class="">{{ modelInfo.reciever.countryName }}</text>
</view> </view>
</view>
<view class="dt-item">
<view> <view>
<text class="clr-sub pr-10">线路:</text> <text class="clr-sub pr-10">线路</text>
<text class="">{{ modelInfo.transLineTypeName }}</text> <text class="">{{ modelInfo.transLineTypeName }}</text>
</view> </view>
</view>
<view class="dt-item">
<view> <view>
<text class="clr-sub pr-10">产品类型:</text> <text class="clr-sub pr-10">产品类型</text>
<text class="">{{ modelInfo.productTypeName }}</text> <text class="">{{ modelInfo.productTypeName }}</text>
</view> </view>
<view>
<text class="clr-sub pr-10">时效:</text>
<text class="">{{modelInfo.timeType}}</text>
</view>
</view> </view>
<view class="dt-item"> <view class="dt-item">
<view> <u-row>
<text class="clr-sub pr-10">基础运费:</text> <text class="clr-sub pr-10">付款方式</text>
<text class="">¥{{modelInfo.freight}}</text>
</view>
<view>
<text class="clr-sub pr-10">付款方式:</text>
<text class=""> <text class="">
<tpx-text-dic :value="modelInfo.paymentType" :list="dicData.emis_payment_type" ></tpx-text-dic> <tpx-text-dic :value="modelInfo.paymentType" :list="dicData.emis_payment_type" ></tpx-text-dic>
</text> </text>
</u-row>
<view>
<text class="clr-sub pr-10">时效</text>
<text class="">{{modelInfo.timeType}}</text>
</view> </view>
</view> </view>
<view v-if="isShowYueJie" class="dt-item">
<u-row>
<text class="clr-sub pr-10">月结账号</text>
<text class="">{{modelInfo.custNo}}</text>
</u-row>
</view>
<view class="dt-item"> <view class="dt-item">
<view> <u-row>
<text class="clr-sub pr-10">报关方式:</text> <text class="clr-sub pr-10">报关方式</text>
<text class=""> <text class="">
<tpx-text-dic :value="modelInfo.customsEclaration" :list="dicData.emis_declare_mode" ></tpx-text-dic> <tpx-text-dic :value="modelInfo.customsEclaration" :list="dicData.emis_declare_mode" ></tpx-text-dic>
</text> </text>
</view> </u-row>
<view> <u-row>
<text class="clr-sub pr-10">清关方式:</text> <text class="clr-sub pr-10">清关方式</text>
<text class=""> <text class="">
<tpx-text-dic :value="modelInfo.customsClear" :list="dicData.emis_customs_clear" ></tpx-text-dic> <tpx-text-dic :value="modelInfo.customsClear" :list="dicData.emis_customs_clear" ></tpx-text-dic>
</text> </text>
</view> </u-row>
</view>
<view class="dt-item">
<view>
<text class="clr-sub pr-10">运费:</text>
<text class="clr-prm font-32">¥ {{modelInfo.freight}}</text>
</view>
</view> </view>
</view> </view>
</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="">
<bpe-coststatic-tmp v-model:value="modelInfo"></bpe-coststatic-tmp>
</view>
</view>
<view class="dt-block"> <view class="dt-block">
<view class="dt-tle"> <view class="dt-tle">
<view class="t1">取件信息</view> <view class="t1">取件信息</view>
@ -165,22 +154,22 @@
<u-line margin="20rpx 0 20rpx"></u-line> <u-line margin="20rpx 0 20rpx"></u-line>
<view class="blcok-grey-sm"> <view class="blcok-grey-sm">
<view class="dt-item"> <view class="dt-item">
<view> <u-row>
<text class="clr-sub pr-10">取货方式:</text> <text class="clr-sub pr-10">取货方式</text>
<text class=""> <text class="">
<tpx-text-dic :value="modelInfo.pickupMethod" :list="dicData.emis_qujian_fangshi" ></tpx-text-dic> <tpx-text-dic :value="modelInfo.pickupMethod" :list="dicData.emis_qujian_fangshi" ></tpx-text-dic>
</text> </text>
</view> </u-row>
</view> </view>
<view class="dt-item"> <view class="dt-item">
<view> <view>
<text class="clr-sub pr-10">预约上门:</text> <text class="clr-sub pr-10">预约上门</text>
<text class=""> {{modelInfo.pickStartDate}}</text> <text class=""> {{modelInfo.pickStartDate}}</text>
</view> </view>
</view> </view>
<view class="dt-item"> <view class="dt-item">
<view> <view>
<text class="clr-sub pr-10">安排信息:</text> <text class="clr-sub pr-10">安排信息</text>
<text > <text >
<text v-if="modelInfo.pickupMethod == 1">{{modelInfo.operateEmployeeName}}</text> <text v-if="modelInfo.pickupMethod == 1">{{modelInfo.operateEmployeeName}}</text>
<text v-if="modelInfo.pickupMethod == 2">{{modelInfo.takePieceEmployeeName}}</text> <text v-if="modelInfo.pickupMethod == 2">{{modelInfo.takePieceEmployeeName}}</text>
@ -221,22 +210,20 @@
</view> </view>
<u-line margin="20rpx 0 20rpx"></u-line> <u-line margin="20rpx 0 20rpx"></u-line>
<view class="blcok-grey-sm" style="margin-top: 0;"> <view class="blcok-grey-sm" style="margin-top: 0;">
<view>收件进仓单图片</view> <bpd-pic-preview-tmp label="货物图片" :list="modelInfo.billPicGoodsRmk" ></bpd-pic-preview-tmp>
<u-image @click="handlePreviewDiDan()" :src="getCdnUrl(`mine/kjcha.png`)" width="100" height="100" mode="aspectFill"
custom-style="margin: 20rpx 20rpx 0 0;"
></u-image>
</view> </view>
<view class="blcok-grey-sm mt-20"> <view class="blcok-grey-sm mt-20">
<view>签收货物图片</view> <bpd-pic-preview-tmp label="揽收底单图片" :list="modelInfo.billPicSendRmk" ></bpd-pic-preview-tmp>
<u-image @click="handlePreviewDiDan()" :src="getCdnUrl(`mine/kjcha.png`)" width="100" height="100" mode="aspectFill" </view>
custom-style="margin: 20rpx 20rpx 0 0;" <u-line margin="20rpx 0 20rpx"></u-line>
></u-image> <view class="blcok-grey-sm mt-20">
<bpd-pic-preview-tmp label="收件进仓单图片TODO" :list="modelInfo.TODO" ></bpd-pic-preview-tmp>
</view> </view>
<view class="blcok-grey-sm mt-20"> <view class="blcok-grey-sm mt-20">
<view>签收签名图片</view> <bpd-pic-preview-tmp label="签收货物图片" :list="modelInfo.billPicDispatchRmk" ></bpd-pic-preview-tmp>
<u-image @click="handlePreviewDiDan()" :src="getCdnUrl(`mine/kjcha.png`)" width="100" height="100" mode="aspectFill" </view>
custom-style="margin: 20rpx 20rpx 0 0;" <view class="blcok-grey-sm mt-20">
></u-image> <bpd-pic-preview-tmp label="签收签名图片TODO" :list="modelInfo.TODO" ></bpd-pic-preview-tmp>
</view> </view>
</view> </view>
<view style="height: 30rpx;"></view> <view style="height: 30rpx;"></view>
@ -247,10 +234,14 @@
<script> <script>
import BpeAddressjiamiTmp from "@/components/buns-post-edit-templates/bpe-addressjiami-tmp" import BpeAddressjiamiTmp from "@/components/buns-post-edit-templates/bpe-addressjiami-tmp"
import BpdPicPreviewTmp from "@/components/buns-post-detail-templates/bpd-pic-preview-tmp"
import BpeGoodstaticTmp from "@/components/buns-post-edit-templates/bpe-goodstatic-tmp"
import BpeCoststaticTmp from "@/components/buns-post-edit-templates/bpe-coststatic-tmp"
import * as apiService from "@/common/api" import * as apiService from "@/common/api"
export default { export default {
components: { BpeAddressjiamiTmp }, components: { BpeAddressjiamiTmp, BpdPicPreviewTmp, BpeGoodstaticTmp, BpeCoststaticTmp },
computed: { computed: {
dicData() { dicData() {
return this.$store.getters.dicData return this.$store.getters.dicData
@ -259,7 +250,11 @@
get(){ get(){
return this.value return this.value
} }
} },
isShowYueJie(){
let { modelInfo } = this
return modelInfo.paymentType == 2 || modelInfo.paymentType == 4 || modelInfo.paymentType == 5
},
}, },
props: { props: {
value: { value: {

View File

@ -0,0 +1,78 @@
<template>
<u-row justify="between" align="top">
<view class="font-28 font-weight">
{{label}}
</view>
<view style="width: 120rpx;">
<u-button @click="handleCheckDanJu(dataList)" :plain="true" shape="circle" custom-style="margin: 0 10rpx;height:50rpx;font-size: 28rpx;">
查看
</u-button>
</view>
</u-row>
<view>
<u-row>
<u-image v-for="(item, index) in dataList"
@click="handlePreviewCur(dataList, index)" :src="item" width="100" height="50" mode="aspectFill"
custom-style="margin: 20rpx 20rpx 0 0;"
></u-image>
</u-row>
</view>
</template>
<script>
export default {
computed: {
dataList() {
let list = this.list || []
if(typeof list == 'string') {
list = list.split(",")
}
return list
}
},
props: {
label: {
default () {
return ''
}
},
list: {
default () {
return []
}
},
},
data() {
return {}
},
created() {
},
onHide() {
},
unmounted() {
},
methods: {
handleCheckDanJu(list, type){
let url = ''
if(list.length == 0) {
return this.showToast("暂无数据")
}
this.handlePreviewCur(list, 0)
},
handlePreviewCur(list, index) {
uni.previewImage({
urls: list,
current: index
})
},
}
}
</script>
<style scoped lang="scss">
</style>

View File

@ -0,0 +1,135 @@
<template>
<view class="shet-cont">
<view>
<u-row justify="between">
<view>
<text class="clr-sub pr-10">总费用</text>
<text >
{{modelInfo.freight || 0}}<text class="clr-sub pl-10">CNY</text>
</text>
</view>
<u-row>
<text class="clr-sub pr-10">计费方式</text>
<text>
<tpx-text-dic :value="modelInfo.calcFeeType" :list="dicData.emis_calc_fee_type"></tpx-text-dic>
</text>
</u-row>
</u-row>
</view>
<view class="pt-20 pb-20">
<u-row justify="between">
<view>
<text class="clr-sub pr-10">特殊报价</text>
<text>{{modelInfo.blSpecialQuote ? '是' : '否'}}</text>
</view>
<view>
<text class="clr-sub pr-10">敏感物</text>
<text>{{modelInfo.blSpecialGoods ? '是' : '否'}}</text>
</view>
</u-row>
</view>
<view v-for="(item, index) in modelInfo.feeItems" class="jsfm-item">
<!-- 手动添加的才能删除 -->
<view>
<u-row justify="between">
<view>
<text class="clr-sub">{{item.feeName}}</text> {{item.realFee || 0}}<text class="clr-sub pl-10">CNY</text>
</view>
<view >
<text class="clr-sub">应收</text> {{item.fee || 0}}<text class="clr-sub pl-10">CNY</text>
</view>
</u-row>
</view>
<view class="pt-10">
<u-row justify="between">
<view>
<text class="clr-sub">续重单价</text> {{item.addWeightPrice || 0}}<text class="clr-sub pl-10">CNY</text>
</view>
<view >
<text class="clr-sub">首重费</text> {{item.initialWeightFee || 0}}<text class="clr-sub pl-10">CNY</text>
</view>
</u-row>
</view>
<view v-if="item.calcExp" class="pt-10">
<text class="clr-sub">计算公式</text> {{item.calcExp}}
</view>
</view>
<view class="">
<u-row justify="between">
<u-row>
<text class="clr-sub pr-10">费用备注</text>
<text>{{modelInfo.feeRemaker}}</text>
</u-row>
</u-row>
</view>
</view>
</template>
<script>
import * as apiService from "@/common/api"
export default {
computed: {
modelInfo: {
get() {
return this.value
}
},
dicData() {
return this.$store.getters.dicData
},
},
props: {
value: {
default () {
return {}
}
},
},
data() {
return {}
},
created() {
},
onHide() {
},
unmounted() {
},
methods: {
}
}
</script>
<style scoped lang="scss">
.shet-cont {}
.jsfm-item {
position: relative;
background-color: #F6F6F6;
padding: 20rpx;
margin-bottom: 20rpx;
border-bottom: 2rpx solid #F6F6F6;
&:last-child {
margin-bottom: 0rpx;
}
.lft1 {
font-weight: 700;
width: 150rpx;
margin-right: 10rpx;
}
.delicon {
padding: 16rpx 0 16rpx 20rpx;
}
}
.nobg {
background-color: transparent;
}
</style>

View File

@ -12,7 +12,7 @@
</u-col> </u-col>
<u-col span="6"> <u-col span="6">
<view class="pt-5"> <view class="pt-5">
<text class="clr-sub pr-10">实发</text> {{item.cargoQty}} <text class="clr-sub pr-10">件数</text> {{item.cargoQty}}
</view> </view>
</u-col> </u-col>
<u-col v-if="item.price" span="6"> <u-col v-if="item.price" span="6">

View File

@ -147,5 +147,9 @@ export const getOrderModels = () => {
payee: '', // 回款联系人名称 payee: '', // 回款联系人名称
sendSiteName: '', // 发件网点名称 sendSiteName: '', // 发件网点名称
destinationName: '', // 目的地名称 destinationName: '', // 目的地名称
blSpecialQuote: 0, // 特殊报价
blSpecialGoods: 0, // 敏感物
} }
} }

View File

@ -18,42 +18,16 @@
</view> </view>
<view class="mp-aside"> <view class="mp-aside">
<u-row justify="between" align="top"> <view class="">
<view class="font-28 font-weight"> <bpd-pic-preview-tmp :list="modelInfo.billPicGoodsRmk" label="货物图片"></bpd-pic-preview-tmp>
货物图片
</view>
<view style="width: 120rpx;">
<u-button @click="handleCheckDanJu(modelInfo.billPicSendRmk, 1)" :plain="true" shape="circle" custom-style="margin: 0 10rpx;height:50rpx;font-size: 28rpx;">
查看
</u-button>
</view>
</u-row>
<view v-if="showHuoPreview">
<u-row>
<u-image v-for="(item, index) in modelInfo.billPicSendRmk"
@click="handlePreviewDiDan(modelInfo.billPicSendRmk, index)" :src="item" width="100" height="50" mode="aspectFill"
custom-style="margin: 20rpx 20rpx 0 0;"
></u-image>
</u-row>
</view> </view>
<u-row justify="between" align="top" custom-style="margin-top:30rpx;"> <view class="mt-30">
<view class="font-28 font-weight"> <bpd-pic-preview-tmp :list="modelInfo.billPicSendRmk" label="揽收底单图片"></bpd-pic-preview-tmp>
签收底单 </view>
</view>
<view style="width: 120rpx;"> <view class="mt-30">
<u-button @click="handleCheckDanJu(modelInfo.billPicDispatchRmk, 2)" :plain="true" shape="circle" custom-style="margin: 0 10rpx;height:50rpx;font-size: 28rpx;"> <bpd-pic-preview-tmp :list="modelInfo.billPicDispatchRmk" label="签收底单"></bpd-pic-preview-tmp>
查看
</u-button>
</view>
</u-row>
<view v-if="showSignPreview">
<u-row>
<u-image v-for="(item, index) in modelInfo.billPicDispatchRmk"
@click="handlePreviewDiDan(modelInfo.billPicDispatchRmk, index)" :src="item" width="100" height="50" mode="aspectFill"
custom-style="margin: 20rpx 20rpx 0 0;"
></u-image>
</u-row>
</view> </view>
</view> </view>
</view> </view>
@ -107,6 +81,7 @@
import { debounce } from "@/common/util" import { debounce } from "@/common/util"
import * as apiService from "@/common/api" import * as apiService from "@/common/api"
import BpdSendRecieverTmp from "@/components/buns-post-detail-templates/bpd-send-reciever-tmp" import BpdSendRecieverTmp from "@/components/buns-post-detail-templates/bpd-send-reciever-tmp"
import BpdPicPreviewTmp from "@/components/buns-post-detail-templates/bpd-pic-preview-tmp"
export default { export default {
props: { props: {
@ -119,18 +94,15 @@
return this.$store.getters.dicData return this.$store.getters.dicData
}, },
}, },
components: { BpdSendRecieverTmp }, components: { BpdSendRecieverTmp, BpdPicPreviewTmp },
data() { data() {
return { return {
queryOption: { queryOption: {
billCode: '', // 运单id billCode: '', // 运单id
}, },
modelInfo: { modelInfo: {
billPicSendRmk: [],
billPicDispatchRmk: [],
}, },
showHuoPreview: false,
showSignPreview: false,
danCheckModal: { danCheckModal: {
show: false show: false
}, },
@ -154,36 +126,14 @@
initData() { initData() {
},
handleCheckDanJu(list, type) {
let url = ''
if(list.length == 0) {
this.showToast("暂无数据")
}
if(type == 1) {
this.showHuoPreview = true
}
if(type == 2) {
this.showSignPreview = true
}
this.handlePreviewDiDan(list, 0)
},
handlePreviewDiDan(list, index) {
uni.previewImage({
urls: list,
current: index
})
}, },
handleScanValChange: debounce(function(val){ handleScanValChange: debounce(function(val){
val && (this.handleSearch(val)) val && (this.handleSearch(val))
}), }),
async handleSearch(val) { async handleSearch(val) {
let res = await apiService.getOrderDetail({...this.searchParam, _loading: true}) let res = await apiService.getOrderDetail({...this.searchParam, _loading: true})
// 通过对象合并才能修改父级 数据 // 通过对象合并才能修改父级 数据
Object.assign(this.modelInfo, res.data || {}) Object.assign(this.modelInfo, res.data || {})
this.modelInfo.billPicSendRmk = this.modelInfo.billPicSendRmk?.split(",") || []
this.modelInfo.billPicDispatchRmk = this.modelInfo.billPicDispatchRmk?.split(",") || []
}, },
handleSubmitDanCheck() { handleSubmitDanCheck() {
this.danCheckModal.show = false this.danCheckModal.show = false