1.优化/dice/reward_config/index页面中的备注根据结算金额来变化
This commit is contained in:
@@ -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": "没有可根据结算金额推断档位的行",
|
||||
|
||||
@@ -128,12 +128,12 @@
|
||||
<template #default="{ row }">
|
||||
<ElInputNumber
|
||||
v-model="row.real_ev"
|
||||
@change="handleRealEvChange(row)"
|
||||
controls-position="right"
|
||||
size="small"
|
||||
:step="0.1"
|
||||
:precision="2"
|
||||
class="full-width"
|
||||
@update:model-value="() => handleRealEvChange(row)"
|
||||
/>
|
||||
</template>
|
||||
</ElTableColumn>
|
||||
@@ -152,7 +152,6 @@
|
||||
v-model="row.remark"
|
||||
size="small"
|
||||
:placeholder="remarkPlaceholderForRow(row)"
|
||||
@input="markRemarkTouched(row)"
|
||||
/>
|
||||
</template>
|
||||
</ElTableColumn>
|
||||
@@ -225,12 +224,12 @@
|
||||
<template #default="{ row }">
|
||||
<ElInputNumber
|
||||
v-model="row.real_ev"
|
||||
@change="handleRealEvChange(row)"
|
||||
controls-position="right"
|
||||
size="small"
|
||||
:step="0.1"
|
||||
:precision="2"
|
||||
class="full-width"
|
||||
@update:model-value="() => handleRealEvChange(row)"
|
||||
/>
|
||||
</template>
|
||||
</ElTableColumn>
|
||||
@@ -243,7 +242,7 @@
|
||||
<ElInput
|
||||
v-model="row.remark"
|
||||
size="small"
|
||||
:placeholder="$t('page.configPage.placeholderRemark')"
|
||||
:placeholder="remarkPlaceholderForRow(row)"
|
||||
/>
|
||||
</template>
|
||||
</ElTableColumn>
|
||||
@@ -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++
|
||||
}
|
||||
|
||||
@@ -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<IndexTier, string> = {
|
||||
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 ''
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user