This commit is contained in:
@@ -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 = []
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user