优化页面/dice/reward_config/index中玩家实际中奖金额的计算
This commit is contained in:
@@ -39,12 +39,21 @@
|
|||||||
size="default"
|
size="default"
|
||||||
class="config-table"
|
class="config-table"
|
||||||
>
|
>
|
||||||
<ElTableColumn :label="$t('page.configPage.colId')" prop="id" width="60" align="center">
|
<ElTableColumn
|
||||||
|
:label="$t('page.configPage.colId')"
|
||||||
|
prop="id"
|
||||||
|
width="60"
|
||||||
|
align="center"
|
||||||
|
>
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<span>{{ row.id }}</span>
|
<span>{{ row.id }}</span>
|
||||||
</template>
|
</template>
|
||||||
</ElTableColumn>
|
</ElTableColumn>
|
||||||
<ElTableColumn :label="$t('page.configPage.colDicePoints')" min-width="100" align="center">
|
<ElTableColumn
|
||||||
|
:label="$t('page.configPage.colDicePoints')"
|
||||||
|
min-width="100"
|
||||||
|
align="center"
|
||||||
|
>
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<ElInputNumber
|
<ElInputNumber
|
||||||
v-model="row.grid_number"
|
v-model="row.grid_number"
|
||||||
@@ -56,7 +65,11 @@
|
|||||||
/>
|
/>
|
||||||
</template>
|
</template>
|
||||||
</ElTableColumn>
|
</ElTableColumn>
|
||||||
<ElTableColumn :label="$t('page.configPage.colDisplayText')" min-width="100" align="center">
|
<ElTableColumn
|
||||||
|
:label="$t('page.configPage.colDisplayText')"
|
||||||
|
min-width="100"
|
||||||
|
align="center"
|
||||||
|
>
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<ElInput
|
<ElInput
|
||||||
v-model="row.ui_text"
|
v-model="row.ui_text"
|
||||||
@@ -65,7 +78,11 @@
|
|||||||
/>
|
/>
|
||||||
</template>
|
</template>
|
||||||
</ElTableColumn>
|
</ElTableColumn>
|
||||||
<ElTableColumn :label="$t('page.configPage.colDisplayTextEn')" min-width="120" align="center">
|
<ElTableColumn
|
||||||
|
:label="$t('page.configPage.colDisplayTextEn')"
|
||||||
|
min-width="120"
|
||||||
|
align="center"
|
||||||
|
>
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<ElInput
|
<ElInput
|
||||||
v-model="row.ui_text_en"
|
v-model="row.ui_text_en"
|
||||||
@@ -74,7 +91,11 @@
|
|||||||
/>
|
/>
|
||||||
</template>
|
</template>
|
||||||
</ElTableColumn>
|
</ElTableColumn>
|
||||||
<ElTableColumn :label="$t('page.configPage.colRealEv')" min-width="110" align="center">
|
<ElTableColumn
|
||||||
|
:label="$t('page.configPage.colRealEv')"
|
||||||
|
min-width="110"
|
||||||
|
align="center"
|
||||||
|
>
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<ElInputNumber
|
<ElInputNumber
|
||||||
v-model="row.real_ev"
|
v-model="row.real_ev"
|
||||||
@@ -86,7 +107,11 @@
|
|||||||
/>
|
/>
|
||||||
</template>
|
</template>
|
||||||
</ElTableColumn>
|
</ElTableColumn>
|
||||||
<ElTableColumn :label="$t('page.configPage.colRealReward')" min-width="130" align="center">
|
<ElTableColumn
|
||||||
|
:label="$t('page.configPage.colRealReward')"
|
||||||
|
min-width="130"
|
||||||
|
align="center"
|
||||||
|
>
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<span>{{ formatMoney2(calcRealReward(row.real_ev)) }}</span>
|
<span>{{ formatMoney2(calcRealReward(row.real_ev)) }}</span>
|
||||||
</template>
|
</template>
|
||||||
@@ -108,7 +133,11 @@
|
|||||||
</ElSelect>
|
</ElSelect>
|
||||||
</template>
|
</template>
|
||||||
</ElTableColumn>
|
</ElTableColumn>
|
||||||
<ElTableColumn :label="$t('page.configPage.colRemark')" min-width="140" align="center">
|
<ElTableColumn
|
||||||
|
:label="$t('page.configPage.colRemark')"
|
||||||
|
min-width="140"
|
||||||
|
align="center"
|
||||||
|
>
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<ElInput
|
<ElInput
|
||||||
v-model="row.remark"
|
v-model="row.remark"
|
||||||
@@ -142,12 +171,20 @@
|
|||||||
size="default"
|
size="default"
|
||||||
class="config-table bigwin-table"
|
class="config-table bigwin-table"
|
||||||
>
|
>
|
||||||
<ElTableColumn :label="$t('page.configPage.colBigwinPoints')" width="100" align="center">
|
<ElTableColumn
|
||||||
|
:label="$t('page.configPage.colBigwinPoints')"
|
||||||
|
width="100"
|
||||||
|
align="center"
|
||||||
|
>
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<span class="readonly-value">{{ row.grid_number }}</span>
|
<span class="readonly-value">{{ row.grid_number }}</span>
|
||||||
</template>
|
</template>
|
||||||
</ElTableColumn>
|
</ElTableColumn>
|
||||||
<ElTableColumn :label="$t('page.configPage.colDisplayInfo')" min-width="140" align="center">
|
<ElTableColumn
|
||||||
|
:label="$t('page.configPage.colDisplayInfo')"
|
||||||
|
min-width="140"
|
||||||
|
align="center"
|
||||||
|
>
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<ElInput
|
<ElInput
|
||||||
v-model="row.ui_text"
|
v-model="row.ui_text"
|
||||||
@@ -156,7 +193,11 @@
|
|||||||
/>
|
/>
|
||||||
</template>
|
</template>
|
||||||
</ElTableColumn>
|
</ElTableColumn>
|
||||||
<ElTableColumn :label="$t('page.configPage.colDisplayInfoEn')" min-width="160" align="center">
|
<ElTableColumn
|
||||||
|
:label="$t('page.configPage.colDisplayInfoEn')"
|
||||||
|
min-width="160"
|
||||||
|
align="center"
|
||||||
|
>
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<ElInput
|
<ElInput
|
||||||
v-model="row.ui_text_en"
|
v-model="row.ui_text_en"
|
||||||
@@ -165,7 +206,11 @@
|
|||||||
/>
|
/>
|
||||||
</template>
|
</template>
|
||||||
</ElTableColumn>
|
</ElTableColumn>
|
||||||
<ElTableColumn :label="$t('page.configPage.colRealPrize')" min-width="120" align="center">
|
<ElTableColumn
|
||||||
|
:label="$t('page.configPage.colRealPrize')"
|
||||||
|
min-width="120"
|
||||||
|
align="center"
|
||||||
|
>
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<ElInputNumber
|
<ElInputNumber
|
||||||
v-model="row.real_ev"
|
v-model="row.real_ev"
|
||||||
@@ -177,7 +222,11 @@
|
|||||||
/>
|
/>
|
||||||
</template>
|
</template>
|
||||||
</ElTableColumn>
|
</ElTableColumn>
|
||||||
<ElTableColumn :label="$t('page.configPage.colRemark')" min-width="140" align="center">
|
<ElTableColumn
|
||||||
|
:label="$t('page.configPage.colRemark')"
|
||||||
|
min-width="140"
|
||||||
|
align="center"
|
||||||
|
>
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<ElInput
|
<ElInput
|
||||||
v-model="row.remark"
|
v-model="row.remark"
|
||||||
@@ -186,7 +235,11 @@
|
|||||||
/>
|
/>
|
||||||
</template>
|
</template>
|
||||||
</ElTableColumn>
|
</ElTableColumn>
|
||||||
<ElTableColumn :label="$t('page.configPage.colWeightRange')" min-width="220" align="center">
|
<ElTableColumn
|
||||||
|
:label="$t('page.configPage.colWeightRange')"
|
||||||
|
min-width="220"
|
||||||
|
align="center"
|
||||||
|
>
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<div class="weight-cell">
|
<div class="weight-cell">
|
||||||
<ElSlider
|
<ElSlider
|
||||||
@@ -493,9 +546,9 @@
|
|||||||
function calcRealReward(realEv: unknown): number {
|
function calcRealReward(realEv: unknown): number {
|
||||||
const n = typeof realEv === 'number' && !Number.isNaN(realEv) ? realEv : Number(realEv)
|
const n = typeof realEv === 'number' && !Number.isNaN(realEv) ? realEv : Number(realEv)
|
||||||
if (Number.isNaN(n)) {
|
if (Number.isNaN(n)) {
|
||||||
return -100
|
return -1
|
||||||
}
|
}
|
||||||
return n - 100
|
return n - 1
|
||||||
}
|
}
|
||||||
|
|
||||||
function handleRealEvChange(row: IndexRow) {
|
function handleRealEvChange(row: IndexRow) {
|
||||||
@@ -978,9 +1031,9 @@
|
|||||||
:deep(.el-dialog__body) {
|
:deep(.el-dialog__body) {
|
||||||
padding: 12px 16px 8px;
|
padding: 12px 16px 8px;
|
||||||
}
|
}
|
||||||
:deep(.el-dialog__footer) {
|
:deep(.el-dialog__footer) {
|
||||||
padding: 12px 16px calc(16px + env(safe-area-inset-bottom, 0px));
|
padding: 12px 16px calc(16px + env(safe-area-inset-bottom, 0px));
|
||||||
}
|
}
|
||||||
.rule-generate-rules {
|
.rule-generate-rules {
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
color: var(--el-text-color-secondary);
|
color: var(--el-text-color-secondary);
|
||||||
|
|||||||
@@ -55,10 +55,10 @@ export interface TierRealEvStandards {
|
|||||||
|
|
||||||
/** 默认标准(与规则弹窗说明一致) */
|
/** 默认标准(与规则弹窗说明一致) */
|
||||||
export const DEFAULT_TIER_REAL_EV_STANDARDS: TierRealEvStandards = {
|
export const DEFAULT_TIER_REAL_EV_STANDARDS: TierRealEvStandards = {
|
||||||
T1: 30,
|
T1: 3,
|
||||||
T2: 15,
|
T2: 1.5,
|
||||||
T3: 5,
|
T3: 0.5,
|
||||||
T4: -4,
|
T4: -0.4,
|
||||||
T5: 0
|
T5: 0
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -66,13 +66,13 @@ export const DEFAULT_TIER_REAL_EV_STANDARDS: TierRealEvStandards = {
|
|||||||
* 校验档位与 real_ev 区间是否一致;通过返回 null,否则返回 i18n 键名(不含 page.configPage. 前缀)
|
* 校验档位与 real_ev 区间是否一致;通过返回 null,否则返回 i18n 键名(不含 page.configPage. 前缀)
|
||||||
*/
|
*/
|
||||||
export function validateTierRealEvStandards(s: TierRealEvStandards): string | null {
|
export function validateTierRealEvStandards(s: TierRealEvStandards): string | null {
|
||||||
if (!Number.isFinite(s.T1) || !(s.T1 > 20)) {
|
if (!Number.isFinite(s.T1) || !(s.T1 > 2)) {
|
||||||
return 'ruleGenInvalidT1RealEv'
|
return 'ruleGenInvalidT1RealEv'
|
||||||
}
|
}
|
||||||
if (!Number.isFinite(s.T2) || !(s.T2 > 10 && s.T2 < 20)) {
|
if (!Number.isFinite(s.T2) || !(s.T2 > 1 && s.T2 < 2)) {
|
||||||
return 'ruleGenInvalidT2RealEv'
|
return 'ruleGenInvalidT2RealEv'
|
||||||
}
|
}
|
||||||
if (!Number.isFinite(s.T3) || !(s.T3 > 0 && s.T3 < 10)) {
|
if (!Number.isFinite(s.T3) || !(s.T3 > 0 && s.T3 < 1)) {
|
||||||
return 'ruleGenInvalidT3RealEv'
|
return 'ruleGenInvalidT3RealEv'
|
||||||
}
|
}
|
||||||
if (!Number.isFinite(s.T4) || !(s.T4 < 0)) {
|
if (!Number.isFinite(s.T4) || !(s.T4 < 0)) {
|
||||||
|
|||||||
Reference in New Issue
Block a user