增加统一倍率调整按钮

This commit is contained in:
andy committed 2026-09-23 15:46:21 +08:00
1 parent be655b6569
commit 4195525dc7
23 files changed
+750 -16

No files matched your search

+23
View File
@@ -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,