This commit is contained in:
@@ -977,38 +977,47 @@
|
||||
}
|
||||
|
||||
// 显示新增/编辑对话框
|
||||
const showDialog = (type: string, row?: PackageResponse) => {
|
||||
const showDialog = async (type: string, row?: PackageResponse) => {
|
||||
dialogVisible.value = true
|
||||
dialogType.value = type
|
||||
|
||||
if (type === 'edit' && row) {
|
||||
form.id = row.id
|
||||
form.package_code = row.package_code
|
||||
form.package_name = row.package_name
|
||||
form.series_id = row.series_id
|
||||
form.package_type = row.package_type
|
||||
form.calendar_type = row.calendar_type || undefined
|
||||
form.duration_days = row.duration_days || undefined
|
||||
form.duration_months = row.duration_months
|
||||
form.data_reset_cycle = row.data_reset_cycle || undefined
|
||||
form.enable_virtual_data = row.enable_virtual_data || false
|
||||
form.expiry_base = row.expiry_base || 'from_activation'
|
||||
form.real_data_mb = row.real_data_mb || 0
|
||||
form.virtual_data_mb = row.virtual_data_mb || 0
|
||||
// MB 转换为 GB 显示
|
||||
realDataGb.value = form.real_data_mb ? Number((form.real_data_mb / 1024).toFixed(2)) : 0
|
||||
// 从虚流量额度反推比例:比例 = (1 - 虚流量/真流量) × 100%
|
||||
if (form.real_data_mb > 0 && form.virtual_data_mb > 0) {
|
||||
const ratio = (1 - form.virtual_data_mb / form.real_data_mb) * 100
|
||||
virtualRatioPercent.value = Number(ratio.toFixed(2))
|
||||
} else {
|
||||
virtualRatioPercent.value = null
|
||||
try {
|
||||
const res = await PackageManageService.getPackageDetail(row.id)
|
||||
if (res.code === 0 && res.data) {
|
||||
const data = res.data
|
||||
form.id = data.id
|
||||
form.package_code = data.package_code
|
||||
form.package_name = data.package_name
|
||||
form.series_id = data.series_id
|
||||
form.package_type = data.package_type
|
||||
form.calendar_type = data.calendar_type || undefined
|
||||
form.duration_days = data.duration_days
|
||||
form.duration_months = data.duration_months
|
||||
form.data_reset_cycle = data.data_reset_cycle || undefined
|
||||
form.enable_virtual_data = data.enable_virtual_data || false
|
||||
form.expiry_base = data.expiry_base || 'from_activation'
|
||||
form.real_data_mb = data.real_data_mb || 0
|
||||
form.virtual_data_mb = data.virtual_data_mb || 0
|
||||
// MB 转换为 GB 显示
|
||||
realDataGb.value = form.real_data_mb ? Number((form.real_data_mb / 1024).toFixed(2)) : 0
|
||||
// 从虚流量额度反推比例:比例 = (1 - 虚流量/真流量) × 100%
|
||||
if (form.real_data_mb > 0 && form.virtual_data_mb > 0) {
|
||||
const ratio = (1 - form.virtual_data_mb / form.real_data_mb) * 100
|
||||
virtualRatioPercent.value = Number(ratio.toFixed(2))
|
||||
} else {
|
||||
virtualRatioPercent.value = null
|
||||
}
|
||||
form.cost_price = (data.cost_price ?? 0) / 100 // 分转换为元显示
|
||||
form.suggested_retail_price = data.suggested_retail_price
|
||||
? data.suggested_retail_price / 100
|
||||
: undefined
|
||||
form.description = data.description || ''
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('获取套餐详情失败:', error)
|
||||
ElMessage.error('获取套餐详情失败')
|
||||
}
|
||||
form.cost_price = (row.cost_price ?? 0) / 100 // 分转换为元显示
|
||||
form.suggested_retail_price = row.suggested_retail_price
|
||||
? row.suggested_retail_price / 100
|
||||
: undefined
|
||||
form.description = row.description || ''
|
||||
} else {
|
||||
form.id = 0
|
||||
form.package_code = ''
|
||||
@@ -1126,7 +1135,7 @@
|
||||
if (form.data_reset_cycle) {
|
||||
data.data_reset_cycle = form.data_reset_cycle
|
||||
}
|
||||
if (form.duration_days !== undefined && form.duration_days !== null) {
|
||||
if (form.duration_days !== undefined) {
|
||||
data.duration_days = form.duration_days
|
||||
}
|
||||
if (form.enable_virtual_data !== undefined) {
|
||||
|
||||
@@ -286,20 +286,14 @@
|
||||
</div>
|
||||
</ElFormItem>
|
||||
|
||||
<!-- 强充配置 -->
|
||||
<div class="form-section-title">
|
||||
<span class="title-text">强充配置</span>
|
||||
</div>
|
||||
<!-- 强充配置 - 仅累计充值时显示 -->
|
||||
<template
|
||||
v-if="form.one_time_commission_config.trigger_type === 'accumulated_recharge'"
|
||||
>
|
||||
<div class="form-section-title">
|
||||
<span class="title-text">强充配置</span>
|
||||
</div>
|
||||
|
||||
<ElFormItem label="启用强充">
|
||||
<ElSwitch
|
||||
v-model="form.one_time_commission_config.enable_force_recharge"
|
||||
active-text="启用"
|
||||
inactive-text="不启用"
|
||||
/>
|
||||
</ElFormItem>
|
||||
|
||||
<template v-if="form.one_time_commission_config.enable_force_recharge">
|
||||
<ElFormItem label="强充金额">
|
||||
<ElInputNumber
|
||||
v-model="form.one_time_commission_config.force_amount"
|
||||
@@ -967,8 +961,8 @@
|
||||
commissionConfig.tiers = convertedTiers.length > 0 ? convertedTiers : null
|
||||
}
|
||||
|
||||
// 添加强充配置:元 -> 分
|
||||
if (form.one_time_commission_config.enable_force_recharge) {
|
||||
// 添加强充配置:元 -> 分(仅累计充值时需要)
|
||||
if (form.one_time_commission_config.trigger_type === 'accumulated_recharge') {
|
||||
commissionConfig.enable_force_recharge = true
|
||||
commissionConfig.force_amount =
|
||||
form.one_time_commission_config.force_amount != null
|
||||
|
||||
Reference in New Issue
Block a user