修改待支付订单剩余支付时间部分的逻辑

This commit is contained in:
赵毅 2025-11-04 15:11:58 +08:00
parent 3ed1cbed6d
commit f5c197620c

View File

@ -171,31 +171,76 @@ export default {
},
onLoad(options) {
const item = JSON.parse(options?.item);
//
item.order_status == "1" ? this.startCountdown() : "";
this.status = JSON.stringify(item.order_status);
this.orderInfo = item;
//
// item.order_status == "1" ? this.startCountdown() : "";
this.startCountdown()
this.status = JSON.stringify(item.order_status);
},
methods: {
startCountdown() {
//
let seconds = 10 * 60; // 10
const timer = setInterval(() => {
seconds--;
//
if (!this.orderInfo.timeout_time_stamp) {
console.error('订单时效时间戳不存在');
return;
}
//
const now = Math.floor(new Date().getTime() / 1000);
const timeoutTime = this.orderInfo.timeout_time_stamp;
//
if (now > timeoutTime) {
//
this.handleOrderCancellation();
return;
}
//
let remainingSeconds = timeoutTime - now;
//
remainingSeconds = Math.max(0, remainingSeconds);
//
const updateCountdownDisplay = (seconds) => {
const hours = Math.floor(seconds / 3600);
const minutes = Math.floor((seconds % 3600) / 60);
const secs = seconds % 60;
this.countdown = `${hours}:${minutes.toString().padStart(2, "0")}:${secs
.toString()
.padStart(2, "0")}`;
if (seconds <= 0) {
this.countdown = `${hours}:${minutes.toString().padStart(2, "0")}:${secs.toString().padStart(2, "0")}`;
};
//
updateCountdownDisplay(remainingSeconds);
//
const timer = setInterval(() => {
remainingSeconds--;
updateCountdownDisplay(remainingSeconds);
//
if (remainingSeconds <= 0) {
clearInterval(timer);
//
uni.showToast({ title: "订单已取消", icon: "none" });
setTimeout(() => uni.navigateBack(), 1500);
//
this.handleOrderCancellation();
}
}, 1000);
},
//
handleOrderCancellation() {
const params = {
order_id: this.orderInfo.id,
method: 1,
cancel_reason: '倒计时结束取消',
};
request(afterSaleApi.cancelOrConfirm, "POST", params).then((res) => {
uni.showToast({ title: "订单已取消", icon: "none" });
setTimeout(() => {
uni.navigateBack();
}, 1500);
});
},
cancelOrder() {
uni.showModal({
title: "提示",
@ -217,7 +262,7 @@ export default {
},
});
},
// 退
applyRefund() {
uni.showModal({
@ -238,7 +283,7 @@ export default {
}
});
},
//
confirmReceiving() {
uni.showModal({
@ -298,7 +343,7 @@ export default {
update_time: this.orderInfo.update_time,
user_id: this.orderInfo.user_id
}));
NavgateTo(`/packages/shop/groupPurchaseSubmit/index?shopCarList=${JSON.stringify(transformedItems)}`)
},
checkLogistics() {
@ -308,7 +353,7 @@ export default {
orderEvaluate() {
NavgateTo(`/packages/myOrders/orderEvaluate/index?item=${JSON.stringify(this.orderInfo)}`);
},
//
afterSale() {
NavgateTo(`/packages/myOrders/afterSale/index`);