emis-app/pages/post/query.vue

199 lines
4.9 KiB
Vue
Raw Normal View History

2024-02-02 05:23:24 +00:00
<template>
2024-05-23 08:58:00 +00:00
<tpx-page>
<tpx-layout>
<template v-slot:header>
<view class="pgb-header">
<view class="com-jianju">
2024-07-11 14:25:52 +00:00
<tpx-scan-input v-model:value="searchParam.billCode" placeholder="请输入单号或扫码"
@scanChange="handleTriggerChange" :showConfirm="true" @confirmClick="handleTriggerChange" iconPos="right"></tpx-scan-input>
2024-05-23 08:58:00 +00:00
</view>
2024-02-02 05:23:24 +00:00
</view>
2024-05-23 08:58:00 +00:00
</template>
<template v-slot:body>
<div v-if="modelInfo.billCode" style="min-height: 100%;display: flex;flex-direction: column;">
<view style="position: relative;">
<view class="mp-aside">
<bpd-send-reciever-tmp :value="modelInfo"></bpd-send-reciever-tmp>
</view>
<view class="mp-aside">
2024-06-02 16:37:50 +00:00
<view class="">
<bpd-pic-preview-tmp :list="modelInfo.billPicGoodsRmk" label="货物图片"></bpd-pic-preview-tmp>
2024-02-02 05:23:24 +00:00
</view>
2024-05-23 08:58:00 +00:00
2024-06-02 16:37:50 +00:00
<view class="mt-30">
<bpd-pic-preview-tmp :list="modelInfo.billPicSendRmk" label="揽收底单图片"></bpd-pic-preview-tmp>
</view>
<view class="mt-30">
<bpd-pic-preview-tmp :list="modelInfo.billPicDispatchRmk" label="签收底单"></bpd-pic-preview-tmp>
2024-02-02 05:23:24 +00:00
</view>
</view>
</view>
2024-05-23 08:58:00 +00:00
<view class="dt-block">
2025-08-15 05:59:56 +00:00
<view class="dt-tle">
<view class="t1">物流动态</view>
<view class="t2">
<u-button @click="goto(`post/locus?billCode=${searchParam.billCode}`)" shape="circle" :plain="true" custom-style="height: 50rpx;font-size:28rpx;">查看轨迹</u-button>
</view>
</view>
<u-line margin="20rpx 0 20rpx"></u-line>
2024-05-23 08:58:00 +00:00
<view class="mb-20">
2024-06-14 08:50:18 +00:00
<buns-locus-pos :billCode="searchParam.billCode" ref="lcusRef"></buns-locus-pos>
2024-05-23 08:58:00 +00:00
</view>
2024-02-02 05:23:24 +00:00
</view>
2024-05-23 08:58:00 +00:00
</div>
2024-02-02 05:23:24 +00:00
2024-05-23 08:58:00 +00:00
<view v-if="!modelInfo.billCode">
<tpx-empty></tpx-empty>
</view>
</template>
</tpx-layout>
<tpx-dialog type="type-dialog" v-model:show="danCheckModal.show" title="输入号码后4位">
<view style="position: relative;height: 360rpx; width: 500rpx;">
<tpx-layout>
<template v-slot:body>
<view class="mt-20">
<u-row justify="center">
<text class="font-28 clr-sub">输入寄件人或收件人于机号码后四位</text>
</u-row>
</view>
<view class="mt-40">
<u-row justify="center">
<u-code-input v-model="danCheckModal.yanCode" maxlength="4" space="20" fontSize="36" size="80"></u-code-input>
</u-row>
</view>
</template>
<template v-slot:footer>
<view class="blcok-white-noradius" style="margin-top: 0;margin-bottom: 0;">
<u-button @click="handleSubmitDanCheck" type="primary" size="large" shape="circle"
custom-style="height:80rpx;font-size: 30rpx;">
确认
</u-button>
</view>
</template>
</tpx-layout>
</view>
</tpx-dialog>
</tpx-page>
2024-02-02 05:23:24 +00:00
</template>
<script>
2024-05-23 08:58:00 +00:00
import { debounce } from "@/common/util"
import * as apiService from "@/common/api"
import BpdSendRecieverTmp from "@/components/buns-post-detail-templates/bpd-send-reciever-tmp"
2024-06-02 16:37:50 +00:00
import BpdPicPreviewTmp from "@/components/buns-post-detail-templates/bpd-pic-preview-tmp"
2024-02-02 05:23:24 +00:00
export default {
props: {
// hasLeftWin: {
// type: Boolean
// }
},
2024-05-23 08:58:00 +00:00
computed: {
dicData() {
return this.$store.getters.dicData
},
},
2024-06-02 16:37:50 +00:00
components: { BpdSendRecieverTmp, BpdPicPreviewTmp },
2024-02-02 05:23:24 +00:00
data() {
return {
2024-05-23 08:58:00 +00:00
queryOption: {
billCode: '', // 运单id
},
2024-05-27 07:50:41 +00:00
modelInfo: {
2024-06-02 16:37:50 +00:00
2024-05-27 07:50:41 +00:00
},
2024-02-02 05:23:24 +00:00
danCheckModal: {
show: false
},
searchParam: {
2024-05-23 08:58:00 +00:00
billCode: ''
2024-02-02 05:23:24 +00:00
}
}
},
onShareAppMessage() {
return {
2024-05-23 08:58:00 +00:00
2024-02-02 05:23:24 +00:00
}
},
2024-05-23 08:58:00 +00:00
onLoad(option) {
this.queryOption = option
this.searchParam.billCode = option.billCode
2024-02-02 05:23:24 +00:00
this.initData();
},
onUnload() {},
methods: {
2024-05-23 08:58:00 +00:00
2024-02-02 05:23:24 +00:00
initData() {
2024-05-23 08:58:00 +00:00
2024-02-02 05:23:24 +00:00
},
2024-07-11 14:25:52 +00:00
handleTriggerChange: debounce(function(){
this.handleSearch()
2024-05-23 08:58:00 +00:00
}),
2024-07-11 14:25:52 +00:00
async handleSearch() {
2024-05-23 08:58:00 +00:00
let res = await apiService.getOrderDetail({...this.searchParam, _loading: true})
// 通过对象合并才能修改父级 数据
Object.assign(this.modelInfo, res.data || {})
2024-06-14 08:50:18 +00:00
setTimeout(()=> {
this.$refs.lcusRef.initData()
}, 300)
2024-02-02 05:23:24 +00:00
},
handleSubmitDanCheck() {
this.danCheckModal.show = false
}
}
}
</script>
<style lang="scss">
@import '@/common/uni-nvue.scss';
page {
background-color: #F6F6F6;
height: 100% !important;
}
.pgb-header {
// padding-top: --status-bar-height;
padding-top: 30rpx;
padding-bottom: 30rpx;
background-color: #FFF;
position: relative;
}
</style>
<style scoped lang="scss">
.mp-aside{
margin: 30rpx;
padding: 30rpx;
background: #FFFFFF;
border-radius: 20rpx;
}
.dt-block {
flex: 1;
padding: 30rpx;
background-color: #FFF;
position: relative;
}
.dt-tle {
display: flex;
flex-direction: row;
justify-content: space-between;
.t1 {
font-size: 30rpx;
font-weight: 600;
}
.t2 {
font-size: 30rpx;
}
}
</style>