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_VALUE = 1;
|
||||||
const BASE_GRADE_NAME = "普通分销员";
|
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 buildDefaultRow = (sortOrder = null) => {
|
||||||
const isBaseGrade = sortOrder === BASE_GRADE_VALUE;
|
const isBaseGrade = sortOrder === BASE_GRADE_VALUE;
|
||||||
return {
|
return {
|
||||||
@@ -158,6 +174,8 @@ export default {
|
|||||||
enableSalesCondition: row.enableSalesCondition !== false,
|
enableSalesCondition: row.enableSalesCondition !== false,
|
||||||
enableCommissionCondition: row.enableCommissionCondition !== false,
|
enableCommissionCondition: row.enableCommissionCondition !== false,
|
||||||
enableInviteCondition: row.enableInviteCondition !== false,
|
enableInviteCondition: row.enableInviteCondition !== false,
|
||||||
|
goodsCommissionRate: toPercent(row.goodsCommissionRate),
|
||||||
|
inviteCommissionRate: toPercent(row.inviteCommissionRate),
|
||||||
_key: row._key || row.id || `grade_${index}_${Date.now()}`,
|
_key: row._key || row.id || `grade_${index}_${Date.now()}`,
|
||||||
};
|
};
|
||||||
if (this.isBaseGrade(normalized)) {
|
if (this.isBaseGrade(normalized)) {
|
||||||
@@ -326,8 +344,8 @@ export default {
|
|||||||
enableSalesCondition: isBaseGrade ? false : row.enableSalesCondition,
|
enableSalesCondition: isBaseGrade ? false : row.enableSalesCondition,
|
||||||
enableCommissionCondition: isBaseGrade ? false : row.enableCommissionCondition,
|
enableCommissionCondition: isBaseGrade ? false : row.enableCommissionCondition,
|
||||||
enableInviteCondition: isBaseGrade ? false : row.enableInviteCondition,
|
enableInviteCondition: isBaseGrade ? false : row.enableInviteCondition,
|
||||||
goodsCommissionRate: row.goodsCommissionRate,
|
goodsCommissionRate: toFraction(row.goodsCommissionRate),
|
||||||
inviteCommissionRate: row.inviteCommissionRate,
|
inviteCommissionRate: toFraction(row.inviteCommissionRate),
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
async saveAll() {
|
async saveAll() {
|
||||||
|
|||||||
@@ -159,7 +159,7 @@ export default {
|
|||||||
if (!Number.isFinite(num)) {
|
if (!Number.isFinite(num)) {
|
||||||
return "-";
|
return "-";
|
||||||
}
|
}
|
||||||
return `${num.toFixed(2).replace(/\.?0+$/, "") || "0"}%`;
|
return `${(num * 100).toFixed(2).replace(/\.?0+$/, "") || "0"}%`;
|
||||||
},
|
},
|
||||||
applyUpgradeTimeRange() {
|
applyUpgradeTimeRange() {
|
||||||
if (this.upgradeTimeRange && this.upgradeTimeRange.length === 2) {
|
if (this.upgradeTimeRange && this.upgradeTimeRange.length === 2) {
|
||||||
|
|||||||
Reference in New Issue
Block a user