移除系统配置获取金额

This commit is contained in:
2026-05-12 15:35:50 +08:00
parent 2f0479ea05
commit ec05584bb7
7 changed files with 99 additions and 234 deletions
+69 -47
View File
@@ -45,16 +45,13 @@
import {
getOrderList,
queryById,
getOrderByOrderNo,
getOrderByOrderNoScorePayStatus,
cancelOrder,
createWxPayment
cancelOrder
} from '../../config/api/order.js';
import {
updateUserBalance
} from '../../config/api/user.js';
import {
URL
} from '../../config/url.js';
getDeviceInfo
} from '../../config/api/device.js';
import { useI18n } from '@/utils/i18n.js'
const { t } = useI18n()
@@ -283,54 +280,79 @@
navigateToOrderDetail(order);
};
// 立即支付
/**
* 待支付订单:与设备租借押金流程一致,进入支付详情页(微信/支付宝/H5-Antom/DANA 等在支付页内选择并完成)
*/
const handlePayment = async (order) => {
const orderNo = order.orderNo
const orderId = order.orderId || order.orderNo
if (!orderId && !orderNo) {
uni.showToast({
title: t('order.orderInfoMissing'),
icon: 'none'
})
return
}
try {
uni.showLoading({
title: t('common.processing')
});
// 调用后端创建微信支付订单接口
const res = await createWxPayment(order.orderNo);
title: t('common.loading')
})
if (res && res.code === 200) {
const payParams = res.data;
// 调用微信支付
await uni.requestPayment({
...payParams,
success: async () => {
uni.showToast({
title: t('payment.paymentSuccess'),
icon: 'success'
});
// 更新用户余额
try {
await updateUserBalance(order.orderId || order.orderNo);
} catch (error) {
console.warn('更新用户余额失败:', error);
}
// 刷新订单列表
await loadOrderList(orderStatusTabs[currentTab.value].status);
},
fail: (err) => {
console.error('支付失败:', err);
throw new Error(t('payment.paymentFailedRetry'));
}
});
} else {
throw new Error(res?.msg || '创建支付订单失败');
let od = null
if (orderNo) {
const res = await getOrderByOrderNo(orderNo)
if (res && res.code === 200 && res.data) {
od = res.data
}
}
uni.hideLoading();
if (!od && orderId) {
const res = await queryById(orderId)
if (res && res.code === 200 && res.data) {
od = res.data
}
}
const idForPay = String(od?.orderId ?? orderId ?? orderNo ?? '')
const qsParts = [`orderId=${encodeURIComponent(idForPay)}`]
if (od) {
const deposit = parseFloat(od.depositAmount)
const packagePrice = parseFloat(od.unitPrice)
if (Number.isFinite(packagePrice)) {
qsParts.push(`packagePrice=${packagePrice}`)
}
if (Number.isFinite(deposit)) {
const totalAmount = deposit.toFixed(2)
qsParts.push(`totalAmount=${encodeURIComponent(totalAmount)}`)
qsParts.push(`depositAmount=${encodeURIComponent(String(deposit))}`)
}
const deviceNo = od.deviceNo || order.deviceId
if (deviceNo) {
try {
const devRes = await getDeviceInfo(deviceNo)
const feeCfg = devRes?.data?.device?.feeConfig
if (feeCfg) {
qsParts.push(`feeConfig=${encodeURIComponent(feeCfg)}`)
}
} catch (e) {
console.warn('获取设备 feeConfig 失败,支付页将仅依赖订单信息:', e)
}
}
}
uni.hideLoading()
uni.navigateTo({
url: `/subPackages/order/payment?${qsParts.join('&')}`
})
} catch (error) {
uni.hideLoading();
uni.hideLoading()
console.error('跳转支付页失败:', error)
uni.showToast({
title: error.message || t('payment.paymentFailed'),
title: error?.message || t('payment.paymentFailed'),
icon: 'none'
});
})
}
};