This commit is contained in:
@@ -99,7 +99,7 @@
|
||||
>
|
||||
<div style="display: flex; justify-content: space-between">
|
||||
<span>{{ card.iccid }}</span>
|
||||
<span style=" font-size: 12px;color: var(--el-text-color-secondary)">
|
||||
<span style="font-size: 12px; color: var(--el-text-color-secondary)">
|
||||
{{ card.msisdn || '无接入号' }}
|
||||
</span>
|
||||
</div>
|
||||
@@ -130,7 +130,7 @@
|
||||
>
|
||||
<div style="display: flex; justify-content: space-between">
|
||||
<span>{{ device.virtual_no }}</span>
|
||||
<span style=" font-size: 12px;color: var(--el-text-color-secondary)">
|
||||
<span style="font-size: 12px; color: var(--el-text-color-secondary)">
|
||||
{{ device.device_name }}
|
||||
</span>
|
||||
</div>
|
||||
@@ -163,7 +163,7 @@
|
||||
>
|
||||
<div style="display: flex; justify-content: space-between">
|
||||
<span>{{ pkg.package_name }}</span>
|
||||
<span style=" font-size: 12px;color: var(--el-text-color-secondary)">
|
||||
<span style="font-size: 12px; color: var(--el-text-color-secondary)">
|
||||
¥{{ (pkg.cost_price / 100).toFixed(2) }}
|
||||
</span>
|
||||
</div>
|
||||
@@ -364,7 +364,6 @@
|
||||
payment_status: undefined,
|
||||
order_type: undefined,
|
||||
purchase_role: undefined,
|
||||
is_expired: undefined,
|
||||
start_time: '',
|
||||
end_time: ''
|
||||
}
|
||||
@@ -437,19 +436,6 @@
|
||||
clearable: true
|
||||
}
|
||||
},
|
||||
{
|
||||
label: '超时状态',
|
||||
prop: 'is_expired',
|
||||
type: 'select',
|
||||
placeholder: '请选择超时状态',
|
||||
options: [
|
||||
{ label: '已超时', value: true },
|
||||
{ label: '未超时', value: false }
|
||||
],
|
||||
config: {
|
||||
clearable: true
|
||||
}
|
||||
},
|
||||
{
|
||||
label: t('orderManagement.searchForm.dateRange'),
|
||||
prop: 'dateRange',
|
||||
@@ -480,8 +466,6 @@
|
||||
{ label: '购买备注', prop: 'purchase_remark' },
|
||||
{ label: '操作者', prop: 'operator_name' },
|
||||
{ label: t('orderManagement.table.paymentStatus'), prop: 'payment_status' },
|
||||
{ label: '超时状态', prop: 'is_expired' },
|
||||
{ label: '超时时间', prop: 'expires_at' },
|
||||
{ label: t('orderManagement.table.totalAmount'), prop: 'total_amount' },
|
||||
{ label: '实付金额', prop: 'actual_paid_amount' },
|
||||
{ label: t('orderManagement.table.paymentMethod'), prop: 'payment_method' },
|
||||
@@ -656,7 +640,8 @@
|
||||
const methodMap: Record<OrderPaymentMethod, string> = {
|
||||
wallet: t('orderManagement.paymentMethod.wallet'),
|
||||
wechat: t('orderManagement.paymentMethod.wechat'),
|
||||
alipay: t('orderManagement.paymentMethod.alipay')
|
||||
alipay: t('orderManagement.paymentMethod.alipay'),
|
||||
offline: t('orderManagement.paymentMethod.offline')
|
||||
}
|
||||
return methodMap[method] || method
|
||||
}
|
||||
@@ -758,25 +743,6 @@
|
||||
)
|
||||
}
|
||||
},
|
||||
{
|
||||
prop: 'is_expired',
|
||||
label: '超时状态',
|
||||
width: 100,
|
||||
formatter: (row: Order) => {
|
||||
if (row.is_expired === undefined || row.is_expired === null) return '-'
|
||||
if (row.is_expired) {
|
||||
return h(ElTag, { type: 'danger', size: 'small' }, () => '已超时')
|
||||
} else {
|
||||
return h(ElTag, { type: 'success', size: 'small' }, () => '未超时')
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
prop: 'expires_at',
|
||||
label: '超时时间',
|
||||
width: 180,
|
||||
formatter: (row: Order) => (row.expires_at ? formatDateTime(row.expires_at) : '-')
|
||||
},
|
||||
{
|
||||
prop: 'total_amount',
|
||||
label: t('orderManagement.table.totalAmount'),
|
||||
@@ -863,7 +829,6 @@
|
||||
payment_status: searchForm.payment_status,
|
||||
order_type: searchForm.order_type,
|
||||
purchase_role: searchForm.purchase_role,
|
||||
is_expired: searchForm.is_expired,
|
||||
start_time: searchForm.start_time || undefined,
|
||||
end_time: searchForm.end_time || undefined
|
||||
}
|
||||
@@ -1009,20 +974,41 @@
|
||||
if (valid) {
|
||||
createLoading.value = true
|
||||
try {
|
||||
// 获取资源ID (IoT卡ID或设备ID)
|
||||
const resourceId =
|
||||
createForm.order_type === 'single_card' ? createForm.iot_card_id : createForm.device_id
|
||||
|
||||
if (!resourceId) {
|
||||
ElMessage.error('请选择IoT卡或设备')
|
||||
return
|
||||
// 获取 identifier (ICCID 或 VirtualNo)
|
||||
let identifier = ''
|
||||
if (createForm.order_type === 'single_card') {
|
||||
if (!createForm.iot_card_id) {
|
||||
ElMessage.error('请选择IoT卡')
|
||||
return
|
||||
}
|
||||
const selectedCard = iotCardOptions.value.find(
|
||||
(card) => card.id === createForm.iot_card_id
|
||||
)
|
||||
if (!selectedCard?.iccid) {
|
||||
ElMessage.error('未找到选中的卡信息')
|
||||
return
|
||||
}
|
||||
identifier = selectedCard.iccid
|
||||
} else {
|
||||
if (!createForm.device_id) {
|
||||
ElMessage.error('请选择设备')
|
||||
return
|
||||
}
|
||||
const selectedDevice = deviceOptions.value.find(
|
||||
(dev) => dev.id === createForm.device_id
|
||||
)
|
||||
if (!selectedDevice?.virtual_no) {
|
||||
ElMessage.error('未找到选中的设备信息')
|
||||
return
|
||||
}
|
||||
identifier = selectedDevice.virtual_no
|
||||
}
|
||||
|
||||
// 调用套餐购买预检接口
|
||||
const checkData: PurchaseCheckRequest = {
|
||||
order_type: createForm.order_type,
|
||||
package_ids: createForm.package_ids,
|
||||
resource_id: resourceId
|
||||
resource_id: createForm.order_type === 'single_card' ? createForm.iot_card_id! : createForm.device_id!,
|
||||
package_ids: createForm.package_ids
|
||||
}
|
||||
|
||||
const checkResponse = await OrderService.purchaseCheck(checkData)
|
||||
@@ -1045,11 +1031,9 @@
|
||||
|
||||
// 预检通过或用户确认后,创建订单
|
||||
const data: CreateOrderRequest = {
|
||||
order_type: createForm.order_type,
|
||||
identifier,
|
||||
package_ids: createForm.package_ids,
|
||||
iot_card_id: createForm.order_type === 'single_card' ? createForm.iot_card_id : null,
|
||||
device_id: createForm.order_type === 'device' ? createForm.device_id : null,
|
||||
payment_method: createForm.payment_method // 必填字段
|
||||
payment_method: createForm.payment_method
|
||||
}
|
||||
|
||||
await OrderService.createOrder(data)
|
||||
|
||||
Reference in New Issue
Block a user