feat:
取消了订单轮询 更新押金提现及订单查询功能 归还成功之后不会有归还成功的弹窗出现 提现的判断目前判断押金状态和订单状态 修改了提现API的参数名称,从订单ID更改为订单号,并新增了根据设备号和状态查询订单列表的功能。同时,优化了用户在提现过程中的错误提示,确保用户能够获得更清晰的反馈。更新了多个页面的逻辑,提升了整体用户体验。
This commit is contained in:
+53
-5
@@ -85,7 +85,8 @@
|
||||
<script>
|
||||
import {
|
||||
getDeviceInfo,
|
||||
rentPowerBank
|
||||
rentPowerBank,
|
||||
updateOrderPackage
|
||||
} from '@/config/user.js'
|
||||
export default {
|
||||
data() {
|
||||
@@ -123,6 +124,7 @@
|
||||
onLoad(options) {
|
||||
// console.log(options);
|
||||
this.deviceId = options.deviceNo
|
||||
this.checkOrderStatus() // 新增状态检查
|
||||
console.log(options.deviceNo);
|
||||
this.getDeviceInfo()
|
||||
},
|
||||
@@ -162,10 +164,22 @@
|
||||
const result = await this.$api.checkActiveOrder()
|
||||
|
||||
if (result.hasOrder) {
|
||||
// 如果有正在进行的订单,跳转到归还页面,带上设备ID
|
||||
uni.redirectTo({
|
||||
const order = result.order; // 假设后端返回 order 对象
|
||||
|
||||
// 检查订单状态
|
||||
if (order.status === 'waiting_for_payment') {
|
||||
// 跳转支付页面,带上订单ID
|
||||
uni.redirectTo({
|
||||
url: `/pages/order/payment?orderId=${order.orderId}&deviceId=${this.deviceId}`
|
||||
})
|
||||
}else if(order.status === 'in_used'){
|
||||
// 如果有正在进行的订单,跳转到归还页面,带上设备ID
|
||||
uni.redirectTo({
|
||||
url: `/pages/device/return?deviceId=${this.deviceId}`
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
} catch (error) {
|
||||
uni.showToast({
|
||||
@@ -230,12 +244,46 @@
|
||||
|
||||
// 获取后端返回的订单信息
|
||||
const order = rentResult.data
|
||||
|
||||
// --- 新增:立即更新订单套餐信息 ---
|
||||
try {
|
||||
let packageTimeMinutes = 0;
|
||||
if (selectedPkg.time.includes('小时')) {
|
||||
packageTimeMinutes = parseInt(selectedPkg.time) * 60;
|
||||
} else if (selectedPkg.time.includes('分钟')) {
|
||||
packageTimeMinutes = parseInt(selectedPkg.time);
|
||||
} else {
|
||||
packageTimeMinutes = parseInt(selectedPkg.time) * 60; // 默认按小时处理
|
||||
}
|
||||
|
||||
const updateRes = await updateOrderPackage({
|
||||
orderId: order.orderId,
|
||||
packageTime: packageTimeMinutes,
|
||||
packagePrice: parseFloat(selectedPkg.price)
|
||||
});
|
||||
if (updateRes.code !== 200) {
|
||||
console.warn("更新订单套餐信息失败:", updateRes.msg);
|
||||
// 这里可以选择是否提示用户或阻止流程,当前不阻止
|
||||
} else {
|
||||
console.log("订单套餐信息已提前更新");
|
||||
}
|
||||
} catch (updateError) {
|
||||
console.error("更新订单套餐信息时出错:", updateError);
|
||||
// 即使更新失败,也继续尝试跳转支付,让用户完成支付
|
||||
}
|
||||
// --- 更新结束 ---
|
||||
|
||||
// --- 新增:计算总金额 ---
|
||||
const deposit = 99.00; // 固定押金
|
||||
const packagePrice = parseFloat(selectedPkg.price);
|
||||
const totalAmount = (deposit + packagePrice).toFixed(2);
|
||||
// --- 计算结束 ---
|
||||
|
||||
uni.hideLoading()
|
||||
|
||||
// 跳转到订单支付页面,传递订单ID和套餐信息
|
||||
// 跳转到订单支付页面,传递订单ID、套餐信息和总金额
|
||||
uni.redirectTo({
|
||||
url: `/pages/order/payment?orderId=${order.orderId}&packageTime=${selectedPkg.time}&packagePrice=${selectedPkg.price}`
|
||||
url: `/pages/order/payment?orderId=${order.orderId}&packageTime=${selectedPkg.time}&packagePrice=${selectedPkg.price}&totalAmount=${totalAmount}`
|
||||
})
|
||||
} catch (error) {
|
||||
uni.hideLoading()
|
||||
|
||||
Reference in New Issue
Block a user