增加统一倍率调整按钮
This commit is contained in:
1 parent
be655b6569
commit
4195525dc7
23 files changed
+750
-16
No files matched your search
@@ -7,6 +7,29 @@ export type PriceEditTarget = {
|
||||
markupMultiplier: number;
|
||||
};
|
||||
|
||||
export function priceCatalogBulkTarget(rules: BillingPriceRule[]) {
|
||||
const modelKeys = new Set<string>();
|
||||
const ruleIds: string[] = [];
|
||||
const multipliers: number[] = [];
|
||||
let tierCount = 0;
|
||||
|
||||
for (const rule of rules) {
|
||||
ruleIds.push(rule.id);
|
||||
modelKeys.add([rule.provider, rule.capability, rule.reqKey || ""].join("\u0000"));
|
||||
multipliers.push(rule.markupMultiplier);
|
||||
const tiers = rule.parameterDimensions?.flatMap((dimension) => dimension.tiers) || [];
|
||||
tierCount += tiers.length || 1;
|
||||
multipliers.push(...tiers.map((tier) => tier.markupMultiplier));
|
||||
}
|
||||
|
||||
return {
|
||||
ruleIds,
|
||||
modelCount: modelKeys.size,
|
||||
tierCount,
|
||||
currentMultiplier: multipliers.length && multipliers.every((value) => value === multipliers[0]) ? multipliers[0] : null
|
||||
};
|
||||
}
|
||||
|
||||
export function groupedPriceRuleSections(rules: BillingPriceRule[]) {
|
||||
return rules.map((rule, index) => ({
|
||||
rule,
|
||||
|
||||
Reference in new issue
Block a user