emis-app/pages/post/query.vue
2024-07-11 22:25:52 +08:00

192 lines
4.5 KiB
Vue

<template>
<tpx-page>
<tpx-layout>
<template v-slot:header>
<view class="pgb-header">
<view class="com-jianju">
<tpx-scan-input v-model:value="searchParam.billCode" placeholder="请输入单号或扫码"
@scanChange="handleTriggerChange" :showConfirm="true" @confirmClick="handleTriggerChange" iconPos="right"></tpx-scan-input>
</view>
</view>
</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">
<view class="">
<bpd-pic-preview-tmp :list="modelInfo.billPicGoodsRmk" label="货物图片"></bpd-pic-preview-tmp>
</view>
<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>
</view>
</view>
</view>
<view class="dt-block">
<view class="mb-20">
<buns-locus-pos :billCode="searchParam.billCode" ref="lcusRef"></buns-locus-pos>
</view>
</view>
</div>
<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>
</template>
<script>
import { debounce } from "@/common/util"
import * as apiService from "@/common/api"
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 {
props: {
// hasLeftWin: {
// type: Boolean
// }
},
computed: {
dicData() {
return this.$store.getters.dicData
},
},
components: { BpdSendRecieverTmp, BpdPicPreviewTmp },
data() {
return {
queryOption: {
billCode: '', // 运单id
},
modelInfo: {
},
danCheckModal: {
show: false
},
searchParam: {
billCode: ''
}
}
},
onShareAppMessage() {
return {
}
},
onLoad(option) {
this.queryOption = option
this.searchParam.billCode = option.billCode
this.initData();
},
onUnload() {},
methods: {
initData() {
},
handleTriggerChange: debounce(function(){
this.handleSearch()
}),
async handleSearch() {
let res = await apiService.getOrderDetail({...this.searchParam, _loading: true})
// 通过对象合并才能修改父级 数据
Object.assign(this.modelInfo, res.data || {})
setTimeout(()=> {
this.$refs.lcusRef.initData()
}, 300)
},
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>