Fix(订单列表):【商城小程序】待付款订单—立即付款,应直接跳出输入支付密码弹窗而不是订单详情页面

This commit is contained in:
linxi
2024-09-12 11:15:24 +08:00
parent 024eedaabb
commit db4dc959d4
2 changed files with 63 additions and 11 deletions
@@ -100,7 +100,7 @@
}
</script>
<style lang="scss">
<style lang="scss" scoped>
input {
display: none;
}
+62 -10
View File
@@ -130,7 +130,7 @@
<template v-if="order._status._type == 0">
<view class="bnt cancelBnt v12-dark-text v12-dark-border" @click="cancelOrder(order)">取消订单</view>
<view class="bnt cancelBnt v12-dark-text v12-dark-border" @click="addressTap(order)">修改地址</view>
<view class="bnt bg-color-lightred v12-white v12-primary-text v12-primary-border v12-radius-40" @click="goOrderDetails(order)">立即付款</view>
<view class="bnt bg-color-lightred v12-white v12-primary-text v12-primary-border v12-radius-40" @click="subscribePay(order)">立即付款</view>
</template>
<template v-if="(order._status._type == 1 || order._status._type == 9) && order.isTickets==0">
<view class="bnt bg-color-lightred v12-white v12-primary-text v12-primary-border v12-radius-40" @click="goOrderDetails(order)">查看详情</view>
@@ -159,9 +159,14 @@
</view>
</view>
<u-modal :show="showExtend" title="确认延长收货时间?" content='每笔订单只能延长一次哦' showCancelButton
@cancel="showExtend=false" @confirm="doneDelay"></u-modal>
<u-modal
:show="showExtend"
title="确认延长收货时间?"
content='每笔订单只能延长一次哦'
showCancelButton
@cancel="showExtend=false"
@confirm="doneDelay">
</u-modal>
<view class="noCart" v-if="orderList.length === 0 && page > 1">
<view class="pictrue">
<image :src="webUrl+'/20240102232734472795.png'"/>
@@ -169,11 +174,20 @@
</view>
<Loading :loaded="loaded" :loading="loading"></Loading>
<Payment v-model="pay" :types="payType" @checked="toPay" :balance="userInfo.nowMoney"></Payment>
<passkeyborad
:money="orderInfo.payPrice"
showMoney
:show="isShowPayPwdPop"
ref='payPwdPop'
@close="pwdPopClose"
@finish="pwdPopFinish"
></passkeyborad>
</view>
</template>
<script>
import passkeyborad from '@/components/yzc-paykeyboard/yzc-paykeyboard'
import {getOrderData, getOrderList, orderDelay, editAddress} from "@/api/order";
import {cancelOrderHandle, payOrderHandle, takeOrderHandle} from "@/libs/order";
import {cancelOrderHandle, payOrderHandle, takeOrderHandle, yuePayOrderHandle} from "@/libs/order";
import Loading from "@/components/Loading";
import Payment from "@/components/Payment";
import {mapGetters} from "vuex";
@@ -184,6 +198,7 @@ export default {
mixins: [pageListenMixins],
data() {
return {
isShowPayPwdPop: false,
inputStyle: {
height: '64rpx',
},
@@ -223,18 +238,19 @@ export default {
pay: false,
payType: ["yue", "weixin"],
from: this.$deviceType,
orderInfo: {},
showExtend: false,
delayId: null,
pageKeyId: Object.freeze('userOrderIndex'),
keyword: '',
_orderId: '',
addressId: ''
addressId: '',
};
},
components: {
Loading,
Payment
Payment,
passkeyborad
},
computed: mapGetters(["userInfo"]),
onShow: function () {
@@ -288,6 +304,30 @@ export default {
}
},
methods: {
async toYuePay(payPwd) {
const that = this;
//网络请求
await yuePayOrderHandle(this.orderInfo.orderId, "yue", that.from, payPwd);
that.changeType();
this.payPassword = "";
},
pwdPopClose() {
this.isShowPayPwdPop = false;
},
pwdPopFinish(payPwd) {
this.payPassword = payPwd;
this.toYuePay(payPwd);
this.isShowPayPwdPop = false;
},
subscribePay(order) {
this.orderInfo = order
uni.requestSubscribeMessage({
tmplIds: ['7O3wKw7_D4t7yfSOlvecKuOQP8QEPY88uBx2FJg43HE', 'TSmTnGibZ8IxWCiRWOvLxha6-0u7tE-V1-WbDCiPkKU', '9Q6xLHe6HyjkU5Zn5k_2zxYPf2y4MxVyUbOSW8pcZRU'],
complete: () => this.pay = true
})
},
addressTap(order) {
this._orderId = order.orderId
this.$yrouter.push({
@@ -459,6 +499,9 @@ export default {
this.page++;
this.loaded = res.data.length < this.limit;
this.loading = false;
}).finally(() => {
this.loading = false;
// console.log('???',this.loading);
});
},
tapShowMore(order, index) {
@@ -512,7 +555,7 @@ export default {
});
},
paymentTap: function (order) {
var that = this;
const that = this;
if (
!(order.combinationId > 0 || order.bargainId > 0 || order.seckillId > 0)
) {
@@ -533,7 +576,16 @@ export default {
});
};
},
toPay() {
toPay(type) {
const that = this;
console.log(type, "支付方式");
//余额支付需要输入支付密码
if (type == "yue") {
this.isShowPayPwdPop = true;
return;
} else {
payOrderHandle(this.orderInfo.orderId, type, that.from);
}
},
toDelay(id) {