2
0

fix:套餐有效期检验和显示

This commit is contained in:
zhongzm
2025-01-21 16:39:13 +08:00
parent 107ff2dfbb
commit 1d00eb3b5c

View File

@@ -36,10 +36,10 @@ const PERIOD_TYPE = {
// 添加有效期单位映射
const PERIOD_UNIT = {
[PERIOD_TYPE.HOUR]: '小时',
[PERIOD_TYPE.DAY]: '天',
[PERIOD_TYPE.MONTH]: '月',
[PERIOD_TYPE.YEAR]: '年'
0: '小时',
1: '天',
2: '月',
3: '年'
} as const;
// 格式化有效期显示
@@ -80,6 +80,12 @@ const formatTraffic = (bytes: number): string => {
return `${bytes.toFixed(2)}B`;
};
// 格式化流量有效期显示
const formatTrafficValidity = (num: number, type: number): string => {
const unit = PERIOD_UNIT[type as keyof typeof PERIOD_UNIT] || '未知';
return `${num}${unit}`;
};
const packageOptions = ref<PackageOption[]>([]);
const selectedPackage = ref<PackageOption>({
id: '1',
@@ -110,7 +116,7 @@ const fetchPackages = async () => {
clientNumEnable: pkg.clientNumEnable,
traffic: Number(pkg.traffic),
trafficEnable: pkg.trafficEnable,
trafficDisplay: pkg.trafficEnable ? formatTraffic(Number(pkg.traffic)) : '无限制',
trafficDisplay: pkg.trafficEnable ? `${formatTraffic(Number(pkg.traffic))}${formatTrafficValidity(Number(pkg.periodNum), Number(pkg.periodType))}内有效` : '无限制',
durationEnable: pkg.durationEnable,
isRecommended: pkg.isRecommended || false,
promotion: pkg.promotion || '',
@@ -203,7 +209,7 @@ onMounted(async () => {
<div class="detail-item">
<div class="label">{{ t('page.setmeal.GeneralPurposeTraffic') }}</div>
<div class="value">
{{ selectedPackage.trafficEnable ? `${selectedPackage.trafficDisplay},当月有效` : '无限制' }}
{{ selectedPackage.trafficEnable ? selectedPackage.trafficDisplay : '无限制' }}
</div>
</div>
<div class="detail-item">