From 58a4b229a8145984aaa3f2066994afdc661cbfde Mon Sep 17 00:00:00 2001 From: zhenhui <1276357500@qq.com> Date: Thu, 4 Jun 2026 09:45:26 +0800 Subject: [PATCH] =?UTF-8?q?1.=E4=BC=98=E5=8C=96/dice/reward=5Fconfig/index?= =?UTF-8?q?=E9=A1=B5=E9=9D=A2=E4=B8=AD=E7=9A=84=E5=A4=87=E6=B3=A8=E6=A0=B9?= =?UTF-8?q?=E6=8D=AE=E7=BB=93=E7=AE=97=E9=87=91=E9=A2=9D=E6=9D=A5=E5=8F=98?= =?UTF-8?q?=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../locales/langs/zh/dice/reward_config.json | 2 +- .../plugin/dice/reward_config/index/index.vue | 37 ++++++++----------- .../utils/generateIndexByRules.ts | 35 +++++++----------- 3 files changed, 30 insertions(+), 44 deletions(-) diff --git a/saiadmin-artd/src/locales/langs/zh/dice/reward_config.json b/saiadmin-artd/src/locales/langs/zh/dice/reward_config.json index 9954e62..c29a5d8 100644 --- a/saiadmin-artd/src/locales/langs/zh/dice/reward_config.json +++ b/saiadmin-artd/src/locales/langs/zh/dice/reward_config.json @@ -10,7 +10,7 @@ "tipIndex": "色子点数须在 5~30 之间且本表内不重复。", "tierRecommendRules": "【结算金额与档位】【大奖】T1:结算金额>2;【小赚】T2:2>=结算金额>1;【抽水】T3:1>=结算金额>0;【惩罚】T4:0>结算金额;【再来一次】T5:0=结算金额。下方可为各档位填写推荐结算金额;表格中「所属档位」随结算金额自动计算,不可手动修改。", "tierRecommendRealEv": "推荐结算金额", - "tierRecommendAutoMatch": "修改结算金额时自动匹配档位与备注", + "tierRecommendAutoMatch": "修改结算金额时自动匹配档位,并实时更新备注(大奖/小赚/抽水/惩罚/再来一次)", "tierRecommendApplyAmount": "将推荐金额填入已选档位的行", "tierRecommendApplyAmountOk": "已为 {n} 行填入推荐结算金额", "tierRecommendNoTierRows": "没有可根据结算金额推断档位的行", diff --git a/saiadmin-artd/src/views/plugin/dice/reward_config/index/index.vue b/saiadmin-artd/src/views/plugin/dice/reward_config/index/index.vue index 41748da..28e9916 100644 --- a/saiadmin-artd/src/views/plugin/dice/reward_config/index/index.vue +++ b/saiadmin-artd/src/views/plugin/dice/reward_config/index/index.vue @@ -128,12 +128,12 @@ @@ -152,7 +152,6 @@ v-model="row.remark" size="small" :placeholder="remarkPlaceholderForRow(row)" - @input="markRemarkTouched(row)" /> @@ -225,12 +224,12 @@ @@ -243,7 +242,7 @@ @@ -521,8 +520,6 @@ tier: string remark: string weight: number - /** 用户已手动改过备注时不再随档位自动覆盖 */ - remarkTouched?: boolean } const channelScope = useInjectedChannelDept() @@ -605,27 +602,21 @@ } } - function markRemarkTouched(row: IndexRow) { - row.remarkTouched = true - } - - function syncRemarkFromTier(row: IndexRow) { - if (row.remarkTouched || row.tier === 'BIGWIN') { - return - } - const tier = displayRowTier(row) + /** 按当前结算金额推断档位并写入对应备注(T1大奖/T2小赚/T3抽水/T4惩罚/T5再来一次) */ + function syncRemarkFromSettlement(row: IndexRow) { + const tier = inferTierFromRealEv(rowRealEvNumber(row)) if (tier === '') { return } - row.remark = defaultRemarkForTier(tier, tierRecommend.T2) + row.remark = defaultRemarkForTier(tier) } function remarkPlaceholderForRow(row: IndexRow): string { const tier = displayRowTier(row) - if (tier === '') { + if (tier === '' || tier === '-') { return t('page.configPage.placeholderRemark') } - return defaultRemarkForTier(tier, tierRecommend.T2) + return defaultRemarkForTier(tier) } function displayRowTier(row: IndexRow): string { @@ -643,7 +634,7 @@ applyRealEvDisplay(row, ev) } syncRowTierFromRealEv(row) - syncRemarkFromTier(row) + syncRemarkFromSettlement(row) } /** 奖励索引 id 与后端 DiceRewardConfigLogic 一致:0~25 */ @@ -696,17 +687,19 @@ function handleRealEvChange(row: IndexRow) { if (row.tier === 'BIGWIN') { + row.remark = defaultRemarkForTier('BIGWIN') return } const n = rowRealEvNumber(row) syncRowTierFromRealEv(row) - if (row.tier === 'T5') { + const tier = inferTierFromRealEv(n) + if (tier === 'T5') { row.ui_text = t('page.configPage.tierRecommendT5UiText') row.ui_text_en = t('page.configPage.tierRecommendT5UiTextEn') } else { applyRealEvDisplay(row, n) } - syncRemarkFromTier(row) + syncRemarkFromSettlement(row) } function handleApplyRecommendRealEv() { @@ -735,7 +728,7 @@ let count = 0 for (const row of indexRowsExcludeBigwin.value) { syncRowTierFromRealEv(row) - syncRemarkFromTier(row) + syncRemarkFromSettlement(row) if (row.tier !== '') { count++ } diff --git a/saiadmin-artd/src/views/plugin/dice/reward_config/utils/generateIndexByRules.ts b/saiadmin-artd/src/views/plugin/dice/reward_config/utils/generateIndexByRules.ts index 2eb44ba..fd3a54d 100644 --- a/saiadmin-artd/src/views/plugin/dice/reward_config/utils/generateIndexByRules.ts +++ b/saiadmin-artd/src/views/plugin/dice/reward_config/utils/generateIndexByRules.ts @@ -70,28 +70,21 @@ export const DEFAULT_TIER_REAL_EV_STANDARDS: TierRealEvStandards = { * T4 惩罚:0>金额 * T5 再来一次:=0 */ -/** 各档位默认备注(奖励索引表;用户可手动改,改档位时会按规则刷新除非已手动编辑过备注) */ -export function defaultRemarkForTier( - tier: IndexTier | 'BIGWIN' | string, - t2RealEvStandard?: number -): string { - if (tier === 'T1' || tier === 'BIGWIN') { - return '大奖格' +/** 各档位默认备注(与结算金额推断档位规则一致,修改结算金额时实时同步) */ +export const TIER_REMARK_BY_TIER: Record = { + T1: '大奖', + T2: '小赚', + T3: '抽水', + T4: '惩罚', + T5: '再来一次' +} + +export function defaultRemarkForTier(tier: IndexTier | 'BIGWIN' | string): string { + if (tier === 'BIGWIN' || tier === 'T1') { + return TIER_REMARK_BY_TIER.T1 } - if (tier === 'T2') { - if (t2RealEvStandard !== undefined && t2RealEvStandard <= 1) { - return '完美回本' - } - return '小赚' - } - if (tier === 'T3') { - return '抽水' - } - if (tier === 'T4') { - return '惩罚' - } - if (tier === 'T5') { - return '再来一次' + if (tier === 'T2' || tier === 'T3' || tier === 'T4' || tier === 'T5') { + return TIER_REMARK_BY_TIER[tier] } return '' }