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

This commit is contained in:
sexygoat
2026-04-11 12:19:35 +08:00
parent 90ae585651
commit 33e15314ac
30 changed files with 1077 additions and 532 deletions

View File

@@ -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) {

View File

@@ -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