|
@@ -39,7 +39,7 @@
|
|
|
<div>
|
|
|
<div class="header-pic" :class="orderStateMap[orderInfo.state].bgcClassName">
|
|
|
<div class="order-state">{{ orderStateMap[orderInfo.state].text }}</div>
|
|
|
- <div class="surplus-time" v-if="orderStateMap[orderInfo.state].surplusTimeShow && orderInfo.surplusTime">
|
|
|
+ <div class="surplus-time" v-if="orderStateMap[orderInfo.state].surplusTimeShow && orderInfo.surplusTime > 0">
|
|
|
<span>剩余支付时间:</span>
|
|
|
<van-count-down @finish="onCountdowFinish" :time="orderInfo.surplusTime * 1000" />
|
|
|
</div>
|
|
@@ -81,33 +81,35 @@
|
|
|
</div>
|
|
|
<div class="j-card report-info">
|
|
|
<div class="j-card-title">订单信息</div>
|
|
|
- <div class="j-card-item">
|
|
|
- <span class="card-item-l">订单编号:</span>
|
|
|
- <span class="card-item-r">{{ orderInfo.ordercode }}</span>
|
|
|
- </div>
|
|
|
- <div class="j-card-item">
|
|
|
- <span class="card-item-l">下单时间:</span>
|
|
|
- <span class="card-item-r">{{ orderInfo.createTime * 1000 | dateFormatter('yyyy/MM/dd HH:mm:ss') }}</span>
|
|
|
- </div>
|
|
|
- <div class="j-card-item" v-if="orderInfo.payTime">
|
|
|
- <span class="card-item-l">支付时间:</span>
|
|
|
- <span class="card-item-r">{{ orderInfo.payTime * 1000 | dateFormatter('yyyy/MM/dd HH:mm:ss') }}</span>
|
|
|
- </div>
|
|
|
- <div class="j-card-item" v-if="orderInfo.payWay">
|
|
|
- <span class="card-item-l">支付方式:</span>
|
|
|
- <span class="card-item-r">{{ payWayMap[orderInfo.payWay] }}</span>
|
|
|
- </div>
|
|
|
- <div class="j-card-item" v-if="orderInfo.paymentId">
|
|
|
- <span class="card-item-l">支付单号:</span>
|
|
|
- <span class="card-item-r">{{ orderInfo.paymentId }}</span>
|
|
|
- </div>
|
|
|
- <div class="j-card-item">
|
|
|
- <span class="card-item-l">产品类型:</span>
|
|
|
- <span class="card-item-r">{{ orderInfo.productType }}</span>
|
|
|
- </div>
|
|
|
- <div class="j-card-item">
|
|
|
- <span class="card-item-l">支付金额:</span>
|
|
|
- <span class="card-item-r">¥ {{ orderInfo.payMoney | fen2Yuan }}</span>
|
|
|
+ <div class="j-card-items">
|
|
|
+ <div class="j-card-item">
|
|
|
+ <span class="card-item-l">订单编号:</span>
|
|
|
+ <span class="card-item-r">{{ orderInfo.ordercode }}</span>
|
|
|
+ </div>
|
|
|
+ <div class="j-card-item">
|
|
|
+ <span class="card-item-l">下单时间:</span>
|
|
|
+ <span class="card-item-r">{{ orderInfo.createTime * 1000 | dateFormatter('yyyy/MM/dd HH:mm:ss') }}</span>
|
|
|
+ </div>
|
|
|
+ <div class="j-card-item" v-if="orderInfo.payTime">
|
|
|
+ <span class="card-item-l">支付时间:</span>
|
|
|
+ <span class="card-item-r">{{ orderInfo.payTime * 1000 | dateFormatter('yyyy/MM/dd HH:mm:ss') }}</span>
|
|
|
+ </div>
|
|
|
+ <div class="j-card-item" v-if="orderInfo.payWay">
|
|
|
+ <span class="card-item-l">支付方式:</span>
|
|
|
+ <span class="card-item-r">{{ payWayMap[orderInfo.payWay] }}</span>
|
|
|
+ </div>
|
|
|
+ <div class="j-card-item" v-if="orderInfo.paymentId">
|
|
|
+ <span class="card-item-l">支付单号:</span>
|
|
|
+ <span class="card-item-r">{{ orderInfo.paymentId }}</span>
|
|
|
+ </div>
|
|
|
+ <div class="j-card-item">
|
|
|
+ <span class="card-item-l">产品类型:</span>
|
|
|
+ <span class="card-item-r">{{ orderInfo.productType }}</span>
|
|
|
+ </div>
|
|
|
+ <div class="j-card-item">
|
|
|
+ <span class="card-item-l">支付金额:</span>
|
|
|
+ <span class="card-item-r">¥ {{ orderInfo.payMoney | fen2Yuan }}</span>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -137,7 +139,8 @@ import { dateFormatter } from '@/utils/globalFunctions.ts'
|
|
|
updateHeader: 'updateLayoutConfig'
|
|
|
}),
|
|
|
...mapActions({
|
|
|
- getOrderDetail: 'pay/orderDetail'
|
|
|
+ getOrderDetail: 'pay/orderDetail',
|
|
|
+ checkInvokeIsOver: 'pay/invokeIsOver'
|
|
|
})
|
|
|
}
|
|
|
})
|
|
@@ -145,8 +148,9 @@ import { dateFormatter } from '@/utils/globalFunctions.ts'
|
|
|
export default class OrderDetail extends Vue {
|
|
|
protected updateHeader!: any
|
|
|
protected getOrderDetail!: any
|
|
|
+ protected checkInvokeIsOver!: any
|
|
|
|
|
|
- loading = true
|
|
|
+ loading = false
|
|
|
|
|
|
ordercode = ''
|
|
|
|
|
@@ -169,7 +173,7 @@ export default class OrderDetail extends Vue {
|
|
|
surplusTimeShow: false,
|
|
|
bottomButton: {
|
|
|
show: true,
|
|
|
- url: '/kfp',
|
|
|
+ url: '',
|
|
|
text: '开发票'
|
|
|
}
|
|
|
},
|
|
@@ -189,7 +193,9 @@ export default class OrderDetail extends Vue {
|
|
|
payWayMap = {
|
|
|
wx_js: '微信支付',
|
|
|
wx_app: '微信支付',
|
|
|
- ali_app: '支付宝支付'
|
|
|
+ ali_app: '支付宝支付',
|
|
|
+ wx_pc: '微信支付',
|
|
|
+ ali_pc: '支付宝支付'
|
|
|
}
|
|
|
|
|
|
productInfo = {
|
|
@@ -203,7 +209,7 @@ export default class OrderDetail extends Vue {
|
|
|
|
|
|
orderInfo = {
|
|
|
// 0:待支付 1:已完成 -2:已取消
|
|
|
- state: 0,
|
|
|
+ state: 1,
|
|
|
ordercode: '',
|
|
|
createTime: '',
|
|
|
payTime: 0,
|
|
@@ -254,14 +260,11 @@ export default class OrderDetail extends Vue {
|
|
|
this.$toast(res.error_msg || '查询订单信息失败')
|
|
|
}
|
|
|
}
|
|
|
- }).catch(err => {
|
|
|
- toast.clear()
|
|
|
- console.log(err)
|
|
|
})
|
|
|
}
|
|
|
|
|
|
onCountdowFinish () {
|
|
|
- // console.log('onCountdowFinish')
|
|
|
+ console.log('onCountdowFinish')
|
|
|
// this.getInfo()
|
|
|
}
|
|
|
|
|
@@ -273,9 +276,39 @@ export default class OrderDetail extends Vue {
|
|
|
location.href = url + this.ordercode
|
|
|
} else if (this.orderInfo.state === 1) {
|
|
|
// 开发票
|
|
|
- location.href = url
|
|
|
+ this.checkInvokeIsOverFn()
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ checkInvokeIsOverFn () {
|
|
|
+ const toast = this.$toast.loading({
|
|
|
+ message: '加载中...',
|
|
|
+ forbidClick: true,
|
|
|
+ duration: 0
|
|
|
+ })
|
|
|
+ const invokeUrlMap = {
|
|
|
+ wx: {
|
|
|
+ can: `/front/invoice/showpage?order_code=${this.ordercode}`,
|
|
|
+ cannot: '/front/invoice/cantInvoice'
|
|
|
+ },
|
|
|
+ app: {
|
|
|
+ can: `/jyapp/front/invoice/showpage?order_code=${this.ordercode}`,
|
|
|
+ cannot: '/jyapp/front/cantInvoice'
|
|
|
+ }
|
|
|
+ }
|
|
|
+ this.checkInvokeIsOver({ order_code: this.ordercode }).then(res => {
|
|
|
+ toast.clear()
|
|
|
+ if (res) {
|
|
|
+ if (res.status === 1) {
|
|
|
+ location.href = invokeUrlMap[this.$env.platform].can
|
|
|
+ } else {
|
|
|
+ location.href = invokeUrlMap[this.$env.platform].cannot
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ this.$toast(res.error_msg || '查询发票状态失败')
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
}
|
|
|
</script>
|
|
|
|
|
@@ -283,8 +316,12 @@ export default class OrderDetail extends Vue {
|
|
|
.j-order-detail {
|
|
|
// wx微信端样式自定义
|
|
|
&.wx {
|
|
|
- .header-pic {
|
|
|
+ .content .header-pic {
|
|
|
margin-top: -40px;
|
|
|
+ &:after {
|
|
|
+ height: 240px;
|
|
|
+ top: -20px;
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
// 骨架屏
|
|
@@ -383,11 +420,11 @@ export default class OrderDetail extends Vue {
|
|
|
}
|
|
|
&:after {
|
|
|
content: '';
|
|
|
- width: 140%;
|
|
|
- height: 230px;
|
|
|
+ width: 150%;
|
|
|
+ height: 260px;
|
|
|
position: absolute;
|
|
|
left: 50%;
|
|
|
- top: -10px;
|
|
|
+ top: -40px;
|
|
|
background: url(~@/assets/image/order-detail-header-mask3x.png) no-repeat top center;
|
|
|
background-size: contain;
|
|
|
border-radius: 0 0 50% 50%;
|