emis-sapp/pages/bill/detail.vue

225 lines
6.1 KiB
Vue
Raw Normal View History

2023-12-12 16:51:07 +00:00
<template>
2024-08-31 10:41:45 +00:00
<tpx-page>
<tpx-layout>
<template #body>
<view>
<view class="dt-head">
<u-text :text="'账单信息'" size="30" :bold="true"></u-text>
<u-line margin="20rpx 0 20rpx"></u-line>
<view class="dt-item">
<view class="lb1">账单编号</view>
<view class="lb2">{{info.settleBillNo}}</view>
2023-12-13 02:27:58 +00:00
</view>
2024-08-31 10:41:45 +00:00
<view class="dt-item">
<view class="lb1">出账日期</view>
<view class="lb2">{{info.settleStartDate}}</view>
2023-12-13 02:27:58 +00:00
</view>
2024-08-31 10:41:45 +00:00
<view class="dt-item">
<view class="lb1">总票数</view>
2024-08-31 10:51:15 +00:00
<view class="lb2">{{info.sendPieceSum}}</view>
2024-08-31 10:41:45 +00:00
</view>
<view class="dt-item">
<view class="lb1">总件数</view>
2024-08-31 10:51:15 +00:00
<view class="lb2">{{info.pieceNumber}}</view>
2024-08-31 10:41:45 +00:00
</view>
<view class="dt-item">
<view class="lb1">总重量</view>
<view class="lb2">{{info.feeWeight}}</view>
</view>
<view class="dt-item">
<view class="lb1">应付金额</view>
2024-08-31 15:10:06 +00:00
<view class="lb2 clr-prm">¥{{info.recMoney}}</view>
2024-08-31 10:41:45 +00:00
</view>
<view class="dt-item">
<view class="lb1">已付金额</view>
2024-08-31 15:10:06 +00:00
<view class="lb2 clr-prm">¥{{info.recedMoney}}</view>
2024-08-31 10:41:45 +00:00
</view>
<view class="dt-item">
<view class="lb1">开票状态</view>
<view class="lb2">
<tetx v-if="info.openBillStatus == 0">未开票</tetx>
<tetx v-if="info.openBillStatus == 1">已开票</tetx>
<tetx v-if="info.openBillStatus == 2">部分开票</tetx>
</view>
</view>
2024-08-31 15:10:06 +00:00
<view v-if="info.paymentStatus==1" class="dt-item">
<view class="lb1">支付状态</view>
<view class="lb2 clr-prm font-weight">已支付</view>
</view>
2024-08-31 10:41:45 +00:00
<!-- <view class="dt-item mt-30">
<view class="lb1">收款账户</view>
<view class="lb2">
<u-row >
<u-avatar size="80" shape="square"></u-avatar>
<view class="pl-10">
<u-text :text="'江苏探路者国际物流有限公司'" size="28" :bold="true" ></u-text>
<u-text :text="'介绍'" size="26" color="#666" margin="10rpx 0 0 0"></u-text>
</view>
</u-row>
</view>
</view> -->
<view v-if="info.paymentStatus!=1" class="dt-item mt-30">
<view class="lb1">支付金额</view>
<view class="zhfxin">
<view style="text-align: center;width: 300rpx;">
2024-08-31 15:10:06 +00:00
<u-image :src="payQrImageUrl" height="300" width="300" radius="10"></u-image>
2024-08-31 10:41:45 +00:00
<view class="mt-10" style="display: inline-block;">
2024-08-31 10:51:15 +00:00
<u-text :text="`¥${info.thisPayMoney}`" size="32" :bold="true" color="#B12D29" align="center"></u-text>
2024-08-31 10:41:45 +00:00
</view>
</view>
<u-text margin="20rpx 0 0 0" :text="'请使用微信或支付宝扫以上码支付'" size="28" :bold="true"></u-text>
</view>
</view>
2023-12-13 02:27:58 +00:00
</view>
2024-08-31 10:41:45 +00:00
<view class="dt-body">
<u-text :text="'运单列表'" size="30" :bold="true"></u-text>
<u-line margin="20rpx 0 20rpx"></u-line>
2024-08-31 15:10:06 +00:00
<view v-for="(item) in info.subBillList" class="yditem">
2024-08-31 10:41:45 +00:00
<view class="ydi-lab">
<view>
<u-text :text="'运单号'" size="26" color="#999"></u-text>
</view>
<view>
2024-08-31 15:10:06 +00:00
<u-text :text="item.billCode" size="28" :bold="true" align="right"></u-text>
2024-08-31 10:41:45 +00:00
</view>
</view>
<view class="ydi-lab mt-10">
<view>
<u-text :text="'应付金额'" size="26" color="#999"></u-text>
</view>
<view>
2024-08-31 15:10:06 +00:00
<u-text :text="`¥${item.billFee}`" size="28" :bold="true" color="#B12D29" align="right"></u-text>
2024-08-31 10:41:45 +00:00
</view>
</view>
</view>
2024-08-31 15:10:06 +00:00
<tpx-empty v-if="!(info.subBillList && info.subBillList.length > 0)" size="sm"></tpx-empty>
2023-12-12 16:51:07 +00:00
</view>
</view>
2024-08-31 10:41:45 +00:00
</template>
<template #footer>
<view v-if="info.paymentStatus!=1" class="blcok-white-noradius">
<u-button @click="handleCallPay()" type="primary" size="large" shape="circle"
custom-style="height:80rpx;font-size: 30rpx;"
>支付</u-button>
2023-12-12 16:51:07 +00:00
</view>
2024-08-31 10:41:45 +00:00
</template>
</tpx-layout>
</tpx-page>
2023-12-12 16:51:07 +00:00
</template>
<script>
2024-08-31 10:41:45 +00:00
import * as apiService from "@/common/api"
import { checkParams } from "@/common/validate"
2023-12-12 16:51:07 +00:00
export default {
props: {
// hasLeftWin: {
// type: Boolean
// }
},
computed: {
2024-08-31 10:41:45 +00:00
dicData() {
return this.$store.getters.dicData
},
siteSearchParam() {
return {}
2023-12-12 16:51:07 +00:00
}
},
2024-08-31 10:41:45 +00:00
data() {
2023-12-12 16:51:07 +00:00
return {
2024-08-31 10:41:45 +00:00
queryOption: {
blNo: ''
},
info: {},
2024-08-31 15:10:06 +00:00
payQrImageUrl: '',
2024-08-31 10:41:45 +00:00
pageLoading: true,
2023-12-12 16:51:07 +00:00
}
},
onLoad(queryOption) {
this.queryOption = queryOption
this.initData();
},
onUnload() {
2024-08-31 10:41:45 +00:00
2023-12-12 16:51:07 +00:00
},
methods: {
2024-08-31 10:41:45 +00:00
getSendSiteList: apiService.getSendSiteList,
async initData() {
await this.getDetailData()
2024-08-31 15:10:06 +00:00
if(this.info.paymentStatus != 1) {
await this.getPayQrcode()
}
2024-08-31 10:41:45 +00:00
this.pageLoading = false
},
async getDetailData(){
let res = await apiService.getInfoBySettleBillNo({settleBillNo: this.queryOption.blNo, _loading: true })
this.info = res.data || {}
},
async getPayQrcode(){
let res = await apiService.getWxPayQrCode({settleBillNo: this.queryOption.blNo, _loading: true })
2024-08-31 15:10:06 +00:00
this.payQrImageUrl = res.data
2024-08-31 10:41:45 +00:00
},
async handleCallPay(){
let res = await apiService.sumbitWxPay({settleBillNo: this.queryOption.blNo, _loading: true })
console.log(res)
debugger
2023-12-12 16:51:07 +00:00
},
}
}
</script>
<style lang="scss">
@import '@/common/uni-nvue.scss';
page {
background-color: #F6F6F6;
height: 100% !important;
}
</style>
<style scoped lang="scss">
.dt-head {
2023-12-12 17:15:15 +00:00
margin-top: 30rpx;
2023-12-12 16:51:07 +00:00
padding: 30rpx;
background-color: #FFF;
position: relative;
}
.dt-body{
margin-top: 30rpx;
padding: 30rpx;
background-color: #FFF;
position: relative;
}
.dt-item {
display: flex;
flex-direction: row;
margin-bottom: 20rpx;
.lb1 {
width: 160rpx;
font-size: 26rpx;
color: #999;
}
.lb2{
font-size: 26rpx;
}
}
.zhfxin{
}
.yditem{
padding: 20rpx 20rpx;
background-color: #F6F6F6;
border-radius: 6rpx;
margin-bottom: 20rpx;
}
.ydi-lab{
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
}
</style>