修改bug
All checks were successful
构建并部署前端到测试环境 / build-and-deploy (push) Successful in 4m6s

This commit is contained in:
sexygoat
2026-04-09 16:56:30 +08:00
parent 6a46aeea15
commit 472099bf96
9 changed files with 432 additions and 170 deletions

View File

@@ -1083,11 +1083,10 @@
}})
</span>
</ElFormItem>
<ElFormItem label="选择套餐" prop="package_ids">
<ElFormItem label="选择套餐" prop="package_id">
<ElSelect
v-model="rechargeForm.package_ids"
v-model="rechargeForm.package_id"
placeholder="请选择套餐"
multiple
filterable
remote
reserve-keyword
@@ -1422,8 +1421,7 @@
TransactionType,
AssetWalletResponse,
CreateOrderRequest,
PackageResponse,
PurchaseCheckRequest
PackageResponse
} from '@/types/api'
import { useUserStore } from '@/store/modules/user'
@@ -1500,11 +1498,11 @@
const rechargeLoading = ref(false)
const rechargeFormRef = ref<FormInstance>()
const rechargeForm = reactive({
package_ids: [] as number[],
package_id: 0,
payment_method: 'wallet' as 'wallet' | 'offline'
})
const rechargeRules: FormRules = {
package_ids: [{ required: true, message: '请选择套餐', trigger: 'change' }],
package_id: [{ required: true, message: '请选择套餐', trigger: 'change' }],
payment_method: [{ required: true, message: '请选择支付方式', trigger: 'change' }]
}
const packageOptions = ref<PackageResponse[]>([])
@@ -2660,42 +2658,14 @@
if (valid) {
rechargeLoading.value = true
try {
// 获取订单类型和资源ID
const orderType: 'single_card' | 'device' =
cardInfo.value.asset_type === 'card' ? 'single_card' : 'device'
const resourceId = cardInfo.value.asset_id
// 获取资产标识符
const identifier =
cardInfo.value.asset_type === 'card' ? cardInfo.value.iccid : cardInfo.value.virtual_no
// 调用套餐购买预检接口
const checkData: PurchaseCheckRequest = {
order_type: orderType,
resource_id: resourceId,
package_ids: rechargeForm.package_ids
}
const checkResponse = await OrderService.purchaseCheck(checkData)
// 检查预检结果
if (checkResponse.code === 0 && checkResponse.data) {
const checkResult = checkResponse.data
// 如果需要强充,显示确认对话框
if (checkResult.need_force_recharge) {
const confirmMessage = `${checkResult.message || '钱包余额不足'}\n\n套餐总价: ¥${(checkResult.total_package_amount! / 100).toFixed(2)}\n需要强充: ¥${(checkResult.force_recharge_amount! / 100).toFixed(2)}\n钱包到账: ¥${(checkResult.wallet_credit! / 100).toFixed(2)}\n实际支付: ¥${(checkResult.actual_payment! / 100).toFixed(2)}\n\n是否继续创建订单?`
await ElMessageBox.confirm(confirmMessage, '购买预检提示', {
confirmButtonText: '继续创建',
cancelButtonText: '取消',
type: 'warning'
})
}
}
// 预检通过或用户确认后,创建订单
// 创建订单
const data: CreateOrderRequest = {
identifier,
package_ids: rechargeForm.package_ids,
package_id: rechargeForm.package_id,
payment_method: rechargeForm.payment_method
}
@@ -2731,7 +2701,7 @@
// 关闭充值对话框
const handleRechargeDialogClosed = () => {
rechargeFormRef.value?.resetFields()
rechargeForm.package_ids = []
rechargeForm.package_id = 0
rechargeForm.payment_method = 'wallet'
packageOptions.value = []
}