mirror of
https://gitee.com/beijing_hongye_huicheng/lilishop-ui.git
synced 2026-09-20 20:02:05 +08:00
feat(distribution): 添加百分比与分数转换功能
- 新增 toPercent 和 toFraction 函数,分别用于将小数转换为百分比和将百分比转换为小数 - 更新 distributionGrade.vue 中的佣金率处理逻辑,确保数据在保存和展示时正确转换 - 修改 distributionGradeHistory.vue 中的百分比显示逻辑,确保格式一致性
This commit is contained in:
@@ -120,6 +120,22 @@ const GRADE_VALUE_OPTIONS = [1, 2, 3, 4, 5];
|
||||
const BASE_GRADE_VALUE = 1;
|
||||
const BASE_GRADE_NAME = "普通分销员";
|
||||
|
||||
const toPercent = (decimal) => {
|
||||
const num = Number(decimal);
|
||||
if (!Number.isFinite(num)) {
|
||||
return 0;
|
||||
}
|
||||
return Number((num * 100).toFixed(2));
|
||||
};
|
||||
|
||||
const toFraction = (percent) => {
|
||||
const num = Number(percent);
|
||||
if (!Number.isFinite(num)) {
|
||||
return 0;
|
||||
}
|
||||
return Number((num / 100).toFixed(4));
|
||||
};
|
||||
|
||||
const buildDefaultRow = (sortOrder = null) => {
|
||||
const isBaseGrade = sortOrder === BASE_GRADE_VALUE;
|
||||
return {
|
||||
@@ -158,6 +174,8 @@ export default {
|
||||
enableSalesCondition: row.enableSalesCondition !== false,
|
||||
enableCommissionCondition: row.enableCommissionCondition !== false,
|
||||
enableInviteCondition: row.enableInviteCondition !== false,
|
||||
goodsCommissionRate: toPercent(row.goodsCommissionRate),
|
||||
inviteCommissionRate: toPercent(row.inviteCommissionRate),
|
||||
_key: row._key || row.id || `grade_${index}_${Date.now()}`,
|
||||
};
|
||||
if (this.isBaseGrade(normalized)) {
|
||||
@@ -326,8 +344,8 @@ export default {
|
||||
enableSalesCondition: isBaseGrade ? false : row.enableSalesCondition,
|
||||
enableCommissionCondition: isBaseGrade ? false : row.enableCommissionCondition,
|
||||
enableInviteCondition: isBaseGrade ? false : row.enableInviteCondition,
|
||||
goodsCommissionRate: row.goodsCommissionRate,
|
||||
inviteCommissionRate: row.inviteCommissionRate,
|
||||
goodsCommissionRate: toFraction(row.goodsCommissionRate),
|
||||
inviteCommissionRate: toFraction(row.inviteCommissionRate),
|
||||
};
|
||||
},
|
||||
async saveAll() {
|
||||
|
||||
@@ -159,7 +159,7 @@ export default {
|
||||
if (!Number.isFinite(num)) {
|
||||
return "-";
|
||||
}
|
||||
return `${num.toFixed(2).replace(/\.?0+$/, "") || "0"}%`;
|
||||
return `${(num * 100).toFixed(2).replace(/\.?0+$/, "") || "0"}%`;
|
||||
},
|
||||
applyUpgradeTimeRange() {
|
||||
if (this.upgradeTimeRange && this.upgradeTimeRange.length === 2) {
|
||||
|
||||
Reference in New Issue
Block a user