emis-sapp/components/buns-order-templates/bo-detail-tmp.vue
2024-10-29 23:14:43 +08:00

493 lines
14 KiB
Vue

<template>
<tpx-page v-if="!pageLoading">
<view class="dt-block" style="margin-top: 0;">
<!-- <tpx-text-dic :value="modelInfo.waybillStatus" :list="dicData.emis_waybill_status" ></tpx-text-dic> -->
<!-- <view class="dt-tle">
<view class="t1">订单号: {{modelInfo.orderSn}}</view>
<view class="t2">
<view class="clr-prm">
<tpx-text-dic :value="modelInfo.orderStatus" :list="dicData.emis_order_status" ></tpx-text-dic>
</view>
</view>
</view> -->
<view class="dt-tle">
<view class="t1">
<u-row @click="setClipboardData(modelInfo.billCode)">
运单号: {{modelInfo.billCode}}
<view class="pl-10">
<u-icon name="file-text" size="32" custom-style=""></u-icon>
</view>
</u-row>
</view>
<view class="t2">
<view class="clr-prm">
<tpx-text-dic v-if="modelInfo.waybillStatus==0" :value="modelInfo.orderStatus" :list="dicData.emis_order_status" ></tpx-text-dic>
<tpx-text-dic v-else :value="modelInfo.waybillStatus" :list="dicData.emis_waybill_status" ></tpx-text-dic>
</view>
</view>
</view>
<u-line margin="20rpx 0 20rpx"></u-line>
<view>
<bpe-addressjiami-tmp v-model:value="modelInfo"></bpe-addressjiami-tmp>
</view>
</view>
<view v-if="modelInfo.blIsQuestion == '1'" class="dt-block">
<view class="dt-tle">
<view class="t1 clr-prm">问题件</view>
</view>
<u-line margin="20rpx 0 20rpx"></u-line>
<view class="blcok-grey-sm">
<view class="dt-item">
<u-row>
<text class="clr-sub pr-10">问题类型</text>
<text class="clr-prm">{{modelInfo.problemTypeName || '-'}}</text>
</u-row>
</view>
<view class="dt-item">
<u-row>
<text class="clr-sub pr-10">问题原因</text>
<text class="clr-prm">{{modelInfo.problemCause || '-'}}</text>
</u-row>
</view>
</view>
</view>
<view class="dt-block">
<view class="dt-tle">
<view class="t1">托寄货物描述</view>
</view>
<u-line margin="20rpx 0 20rpx"></u-line>
<view class="">
<bpe-goodstatic-tmp v-model:value="modelInfo"></bpe-goodstatic-tmp>
</view>
<u-line margin="20rpx 0 20rpx"></u-line>
<u-row justify="end">
<view style="display: inline-block;white-space: nowrap;" class="mt-10">
<u-row>
<u-button v-if="modelInfo.pickupMethod == 1 && modelInfo.intoWarehouseBillCode" @click="goto(`warehousing/detail?inNo=${modelInfo.intoWarehouseBillCode}`)" shape="circle" type="primary"
custom-style="height: 54rpx;margin-left: 20rpx;">入仓单</u-button>
<u-button shape="circle" type="primary" :plain="true"
custom-style="height: 54rpx;margin-left: 20rpx;">单证</u-button>
</u-row>
</view>
</u-row>
</view>
<view class="dt-block">
<view class="dt-tle">
<view class="t1">产品类型</view>
<view class="t2">
<view class="clr-prm">
<tpx-text-dic :value="modelInfo.paymentStatus" :list="dicData.emis_payment_status" ></tpx-text-dic>
</view>
</view>
</view>
<u-line margin="20rpx 0 20rpx"></u-line>
<view class="blcok-grey-sm">
<view class="dt-item">
<view v-if="modelInfo.reciever">
<text class="clr-sub pr-10">寄件网点</text>
<text class="">{{ modelInfo.sendSiteName }}</text>
</view>
<view>
<text class="clr-sub pr-10">目的网点</text>
<text class="">{{ modelInfo.dispatchUnderlingSiteName }}</text>
</view>
</view>
<view class="dt-item">
<view>
<text class="clr-sub pr-10">目的地</text>
<text class="">{{ modelInfo.destinationName }}</text>
</view>
<view v-if="modelInfo.reciever">
<text class="clr-sub pr-10">目的国家</text>
<text class="">{{ modelInfo.reciever.countryName }}</text>
</view>
</view>
<view class="dt-item">
<view>
<text class="clr-sub pr-10">线路</text>
<text class="">{{ modelInfo.transLineTypeName }}</text>
</view>
<view>
<text class="clr-sub pr-10">产品类型</text>
<text class="">{{ modelInfo.productTypeName }}</text>
</view>
</view>
<view class="dt-item">
<view>
<text class="clr-sub pr-10">时效</text>
<text class="">{{modelInfo.timeType}}</text>
</view>
</view>
<view class="dt-item">
<u-row>
<text class="clr-sub pr-10">报关方式</text>
<view class="">
<tpx-text-dic :value="modelInfo.customsEclaration" :list="dicData.emis_declare_mode" ></tpx-text-dic>
</view>
</u-row>
<u-row>
<text class="clr-sub pr-10">清关方式</text>
<view class="">
<tpx-text-dic :value="modelInfo.customsClear" :list="dicData.emis_customs_clear" ></tpx-text-dic>
</view>
</u-row>
</view>
<view class="dt-item">
<u-row>
<text class="clr-sub pr-10">寄件时间</text>
<text>{{modelInfo.sendDate || '-'}}</text>
</u-row>
</view>
<view class="dt-item">
<u-row>
<text class="clr-sub pr-10">预计到达时间</text>
<text>{{modelInfo.estimateDate || '-'}}</text>
</u-row>
</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="">
<view class="dt-item">
<u-row>
<text class="clr-sub pr-10">付款方式</text>
<view class="">
<tpx-text-dic :value="modelInfo.paymentType" :list="dicData.emis_payment_type" ></tpx-text-dic>
</view>
</u-row>
</view>
<view v-if="isShowYueJie">
<view class="dt-item">
<u-row>
<text class="clr-sub pr-10">月结客户</text>
<text class="">{{modelInfo.custName}}</text>
</u-row>
</view>
</view>
<view class="dt-item">
<u-row>
<text class="clr-sub pr-10">回款联系人</text>
<text class="">{{modelInfo.payee || '-'}}</text>
</u-row>
<u-row>
<text class="clr-sub pr-10">销售联系人</text>
<text class="">{{modelInfo.salesmen || '-'}}</text>
</u-row>
</view>
<bpe-coststatic-tmp v-model:value="modelInfo"></bpe-coststatic-tmp>
</view>
</view>
<view class="dt-block">
<view class="dt-tle">
<view class="t1">取件、派件信息</view>
</view>
<u-line margin="20rpx 0 20rpx"></u-line>
<view class="blcok-grey-sm">
<view class="mb-10 font-weight">取件信息</view>
<view class="dt-item">
<u-row>
<text class="clr-sub pr-10">取货方式</text>
<view class="">
<tpx-text-dic :value="modelInfo.pickupMethod" :list="dicData.emis_qujian_fangshi" ></tpx-text-dic>
</view>
</u-row>
</view>
<view v-if="modelInfo.pickupMethod == 2" class="dt-item">
<u-row>
<text class="clr-sub pr-10">预约上门</text>
<view>
<text class=""> {{modelInfo.pickStartDate || '-'}}</text>
</view>
</u-row>
</view>
<view v-if="modelInfo.pickupMethod == 1">
<view class="dt-item">
<u-row>
<text class="clr-sub pr-10">预计入仓时间</text>
<text class=""> {{modelInfo.pickStartDate || '-'}}</text>
</u-row>
</view>
<view class="dt-item">
<view>
<text class="clr-sub pr-10">仓库名称</text>
<text class=""> {{modelInfo.intoWarehouseName || '-'}}</text>
</view>
</view>
<view class="dt-item">
<u-row>
<text class="clr-sub pr-10">仓库联系人</text>
<view class="">
<tpx-text-dic :value="modelInfo.intoWarehouseContact"></tpx-text-dic>
</view>
</u-row>
<u-row>
<text class="clr-sub pr-10">仓库电话</text>
<text>{{modelInfo.intoWarehousePhone || '-'}}</text>
</u-row>
</view>
<view class="dt-item">
<view>
<text class="clr-sub pr-10">仓库地址</text>
<text class=""> {{modelInfo.intoWarehouseAddress || '-'}}</text>
</view>
</view>
</view>
<view class="dt-item">
<view>
<text class="clr-sub pr-10">安排信息</text>
<text >
<text v-if="modelInfo.pickupMethod == 1">{{modelInfo.operateEmployeeName}}</text>
<text v-if="modelInfo.pickupMethod == 2">{{modelInfo.takePieceEmployeeName}}</text>
</text>
</view>
</view>
</view>
<view class="blcok-grey-sm">
<view class="mb-10 font-weight">派件信息</view>
<view class="dt-item">
<u-row>
<text class="clr-sub pr-10">派送方式</text>
<view class="">
<tpx-text-dic :value="modelInfo.dispatchMethod" :list="dicData.emis_tab_dispatch_mode" ></tpx-text-dic>
</view>
</u-row>
<u-row>
<text class="clr-sub pr-10">派件员</text>
<text>{{modelInfo.dispatchManName || '-'}}</text>
</u-row>
</view>
<view class="dt-item">
<u-row>
<text class="clr-sub pr-10">派送网点</text>
<text>{{modelInfo.dispatchSiteName || '-'}}</text>
</u-row>
</view>
<view class="dt-item">
<u-row>
<text class="clr-sub pr-10">派送时间</text>
<text>{{modelInfo.dispatchDate || '-'}}</text>
</u-row>
</view>
</view>
<view class="blcok-grey-sm">
<view class="mb-10 font-weight">签收信息</view>
<view class="dt-item">
<u-row>
<text class="clr-sub pr-10">签收人</text>
<text>{{modelInfo.signMan || '-'}}</text>
</u-row>
</view>
<view class="dt-item">
<u-row>
<text class="clr-sub pr-10">签收站点</text>
<text>{{modelInfo.signSiteName || '-'}}</text>
</u-row>
</view>
<view class="dt-item">
<u-row>
<text class="clr-sub pr-10">签收时间</text>
<text>{{modelInfo.signDate || '-'}}</text>
</u-row>
</view>
</view>
<!-- <u-line margin="20rpx 0 10rpx 0"></u-line>
<u-row justify="between">
<u-text text="快递员" size="28" :bold="true"></u-text>
<u-row>
<u-text :text="modelInfo.takePieceEmployeeName" size="28" :bold="true" margin="0 30rpx 0 0"></u-text>
<view>
<u-avatar size="50" :src="''"></u-avatar>
</view>
</u-row>
</u-row> -->
</view>
<view class="dt-block">
<view class="dt-tle">
<view class="t1">运单备注</view>
</view>
<u-line margin="20rpx 0 20rpx"></u-line>
<view class="blcok-grey-sm">
<view class="dt-item">{{modelInfo.remark || '-'}}</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="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>
<view class="t2">
<u-button @click="goto(`post/locus?billCode=${billCode}`)" shape="circle" :plain="true" custom-style="height: 50rpx;font-size:28rpx;">查看轨迹</u-button>
</view>
</view>
<u-line margin="20rpx 0 20rpx"></u-line>
<view class="mb-20">
<buns-locus-pos :billCode="billCode"></buns-locus-pos>
</view>
</view>
<view style="height: 30rpx;"></view>
</tpx-page>
</template>
<script>
import dayjs from "dayjs"
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"
export default {
components: { BpeAddressjiamiTmp, BpdPicPreviewTmp, BpeGoodstaticTmp, BpeCoststaticTmp },
computed: {
dicData() {
return this.$store.getters.dicData
},
modelInfo: {
get(){
return this.value
}
},
isShowYueJie(){
let { modelInfo } = this
return modelInfo.paymentType == 2 || modelInfo.paymentType == 4 || modelInfo.paymentType == 5
},
},
props: {
value: {
default () {
return { }
}
},
billCode: {
default () {
return ''
}
}
},
data() {
return {
pageLoading: true
}
},
created() {
},
mounted(){
this.initData()
},
onHide() {
},
unmounted() {
},
methods: {
async initData(){
if(this.billCode) {
let res = await apiService.getOrderDetail({billCode: this.billCode, _loading: true})
let resData = res.data
if(resData.estimateDate){
resData.estimateDate = dayjs(resData.estimateDate).format('YYYY-MM-DD')
}
// 通过对象合并才能修改父级 数据
Object.assign(this.modelInfo, resData || {})
}
this.pageLoading = false
}
}
}
</script>
<style lang="scss">
@import '@/common/uni-nvue.scss';
</style>
<style scoped lang="scss">
.dt-block {
margin-top: 30rpx;
padding: 30rpx;
background-color: #FFF;
position: relative;
}
.dt-tle {
display: flex;
flex-direction: row;
justify-content: space-between;
.t1 {
font-size: 30rpx;
font-weight: 700;
}
.t2{
font-size: 30rpx;
}
}
.dt-item {
display: flex;
flex-direction: row;
margin-bottom: 20rpx;
justify-content: space-between;
}
.yditem{
padding: 20rpx 20rpx;
background-color: #F6F6F6;
border-radius: 10rpx;
margin-bottom: 20rpx;
}
.ydi-lab{
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
}
</style>