创建中英双语对照

This commit is contained in:
2026-03-17 10:49:13 +08:00
parent 861d5c49b3
commit 4a7397ce04
51 changed files with 906 additions and 443 deletions

View File

@@ -109,15 +109,15 @@
apiFn: api.list,
columnsFactory: () => [
// { type: 'selection' },
{ prop: 'group', label: '分组', minWidth: 140, align: 'center' },
{ prop: 'title', label: '标题', minWidth: 160, align: 'center' },
{ prop: 'title_en', label: '标题(英文)', minWidth: 160, align: 'center' },
{ prop: 'name', label: '配置名称', align: 'center' },
{ prop: 'value', label: '', minWidth: 240, align: 'center' },
{ prop: 'value_en', label: '值(英文)', minWidth: 240, align: 'center' },
{ prop: 'group', label: 'table.columns.system.group', minWidth: 140, align: 'center' },
{ prop: 'title', label: 'table.columns.system.title', minWidth: 160, align: 'center' },
{ prop: 'title_en', label: 'table.columns.system.titleEn', minWidth: 160, align: 'center' },
{ prop: 'name', label: 'table.columns.system.configName', align: 'center' },
{ prop: 'value', label: 'table.columns.system.value', minWidth: 240, align: 'center' },
{ prop: 'value_en', label: 'table.columns.system.valueEn', minWidth: 240, align: 'center' },
{
prop: 'operation',
label: '操作',
label: 'table.actions.operation',
width: 60,
align: 'center',
fixed: 'right',

View File

@@ -9,18 +9,18 @@
@expand="handleExpand"
>
<el-col v-bind="setSpan(6)">
<el-form-item label="分组" prop="group">
<el-input v-model="formData.group" placeholder="请输入分组" clearable />
<el-form-item :label="$t('table.columns.system.group')" prop="group">
<el-input v-model="formData.group" :placeholder="$t('table.searchBar.placeholderGroup')" clearable />
</el-form-item>
</el-col>
<el-col v-bind="setSpan(6)">
<el-form-item label="标题" prop="title">
<el-input v-model="formData.title" placeholder="请输入标题" clearable />
<el-form-item :label="$t('table.columns.system.title')" prop="title">
<el-input v-model="formData.title" :placeholder="$t('table.searchBar.placeholderTitle')" clearable />
</el-form-item>
</el-col>
<el-col v-bind="setSpan(6)">
<el-form-item label="配置名称" prop="name">
<el-input v-model="formData.name" placeholder="请输入配置名称" clearable />
<el-form-item :label="$t('table.columns.system.configName')" prop="name">
<el-input v-model="formData.name" :placeholder="$t('table.searchBar.placeholderConfigName')" clearable />
</el-form-item>
</el-col>
</sa-search-bar>

View File

@@ -108,47 +108,47 @@
core: {
apiFn: api.list,
columnsFactory: () => [
{ prop: 'name', label: '名称', align: 'center' },
{ prop: 'type', label: '奖池类型', width: 100, align: 'center', formatter: typeFormatter },
{ prop: 'safety_line', label: '安全线', align: 'center' },
{ prop: 'name', label: 'table.columns.common.name', align: 'center' },
{ prop: 'type', label: 'table.columns.dice.poolType', width: 100, align: 'center', formatter: typeFormatter },
{ prop: 'safety_line', label: 'table.columns.dice.safetyLine', align: 'center' },
{
prop: 't1_weight',
label: 'T1池权重',
label: 'table.columns.dice.t1PoolWeight',
width: 100,
align: 'center',
formatter: weightFormatter('t1_weight')
},
{
prop: 't2_weight',
label: 'T2池权重',
label: 'table.columns.dice.t2PoolWeight',
width: 100,
align: 'center',
formatter: weightFormatter('t2_weight')
},
{
prop: 't3_weight',
label: 'T3池权重',
label: 'table.columns.dice.t3PoolWeight',
width: 100,
align: 'center',
formatter: weightFormatter('t3_weight')
},
{
prop: 't4_weight',
label: 'T4池权重',
label: 'table.columns.dice.t4PoolWeight',
width: 100,
align: 'center',
formatter: weightFormatter('t4_weight')
},
{
prop: 't5_weight',
label: 'T5池权重',
label: 'table.columns.dice.t5PoolWeight',
width: 100,
align: 'center',
formatter: weightFormatter('t5_weight')
},
{
prop: 'operation',
label: '操作',
label: 'table.actions.operation',
width: 60,
align: 'center',
fixed: 'right',

View File

@@ -9,16 +9,16 @@
@expand="handleExpand"
>
<el-col v-bind="setSpan(6)">
<el-form-item label="名称" prop="name">
<el-input v-model="formData.name" placeholder="请输入名称" clearable />
<el-form-item :label="$t('table.columns.common.name')" prop="name">
<el-input v-model="formData.name" :placeholder="$t('table.searchBar.placeholderName')" clearable />
</el-form-item>
</el-col>
<el-col v-bind="setSpan(6)">
<el-form-item label="奖池类型" prop="type">
<el-form-item :label="$t('table.columns.dice.poolType')" prop="type">
<el-select
v-model="formData.type"
:options="typeOptions"
placeholder="请选择奖池类型"
:placeholder="$t('table.searchBar.placeholderPoolType')"
clearable
/>
</el-form-item>

View File

@@ -171,36 +171,36 @@
apiFn: api.list,
columnsFactory: () => [
// { type: 'selection' },
{ prop: 'id', label: 'ID', width: 80 },
{ prop: 'id', label: 'table.columns.common.id', width: 80 },
{
prop: 'player_id',
label: '玩家',
label: 'table.columns.dice.player',
formatter: (row: Record<string, any>) => usernameFormatter(row)
},
{
prop: 'lottery_config_id',
label: '彩金池配置',
label: 'table.columns.dice.lotteryPoolConfig',
width: 120,
useSlot: true
},
{ prop: 'lottery_type', label: '抽奖类型', width: 100, useSlot: true },
{ prop: 'is_win', label: '是否中大奖', width: 100, useSlot: true },
{ prop: 'win_coin', label: '赢取平台币', width: 110 },
{ prop: 'super_win_coin', label: '中大奖平台币', width: 120 },
{ prop: 'reward_win_coin', label: '摇色子中奖平台币', width: 140 },
{ prop: 'direction', label: '方向', width: 90, useSlot: true },
{ prop: 'start_index', label: '起始索引', width: 90 },
{ prop: 'target_index', label: '终点索引', width: 90 },
{ prop: 'roll_array', label: '摇取点数', width: 140, useSlot: true },
{ prop: 'roll_number', label: '摇取点数和', width: 110, sortable: true },
{ prop: 'lottery_type', label: 'table.columns.dice.drawType', width: 100, useSlot: true },
{ prop: 'is_win', label: 'table.columns.dice.isBigWin', width: 100, useSlot: true },
{ prop: 'win_coin', label: 'table.columns.dice.winCoin', width: 110 },
{ prop: 'super_win_coin', label: 'table.columns.dice.superWinCoin', width: 120 },
{ prop: 'reward_win_coin', label: 'table.columns.dice.rewardWinCoin', width: 140 },
{ prop: 'direction', label: 'table.columns.dice.direction', width: 90, useSlot: true },
{ prop: 'start_index', label: 'table.columns.dice.startIndex', width: 90 },
{ prop: 'target_index', label: 'table.columns.dice.targetIndex', width: 90 },
{ prop: 'roll_array', label: 'table.columns.dice.rollArray', width: 140, useSlot: true },
{ prop: 'roll_number', label: 'table.columns.dice.rollNumber', width: 110, sortable: true },
{
prop: 'reward_config_id',
label: '奖励配置',
label: 'table.columns.dice.rewardConfig',
formatter: (row: Record<string, any>) => rewardTierFormatter(row)
},
{ prop: 'create_time', label: '创建时间', width: 170 },
{ prop: 'update_time', label: '修改时间', width: 170 },
{ prop: 'operation', label: '操作', width: 100, fixed: 'right', useSlot: true }
{ prop: 'create_time', label: 'table.columns.common.createTime', width: 170 },
{ prop: 'update_time', label: 'table.columns.common.updateTime', width: 170 },
{ prop: 'operation', label: 'table.actions.operation', width: 100, fixed: 'right', useSlot: true }
]
}
})

View File

@@ -9,53 +9,53 @@
@expand="handleExpand"
>
<el-col v-bind="setSpan(6)">
<el-form-item label="玩家" prop="username">
<el-input v-model="formData.username" placeholder="用户名模糊" clearable />
<el-form-item :label="$t('table.columns.dice.player')" prop="username">
<el-input v-model="formData.username" :placeholder="$t('table.searchBar.usernameFuzzy')" clearable />
</el-form-item>
</el-col>
<el-col v-bind="setSpan(6)">
<el-form-item label="彩金池配置" prop="lottery_config_name">
<el-input v-model="formData.lottery_config_name" placeholder="名称模糊" clearable />
<el-form-item :label="$t('table.columns.dice.lotteryPoolConfig')" prop="lottery_config_name">
<el-input v-model="formData.lottery_config_name" :placeholder="$t('table.searchBar.nameFuzzy')" clearable />
</el-form-item>
</el-col>
<el-col v-bind="setSpan(6)">
<el-form-item label="抽奖类型" prop="lottery_type">
<el-select v-model="formData.lottery_type" placeholder="全部" clearable style="width: 100%">
<el-form-item :label="$t('table.columns.dice.drawType')" prop="lottery_type">
<el-select v-model="formData.lottery_type" :placeholder="$t('table.searchBar.all')" clearable style="width: 100%">
<el-option label="付费" :value="0" />
<el-option label="赠送" :value="1" />
</el-select>
</el-form-item>
</el-col>
<el-col v-bind="setSpan(6)">
<el-form-item label="是否中大奖" prop="is_win">
<el-select v-model="formData.is_win" placeholder="全部" clearable style="width: 100%">
<el-form-item :label="$t('table.columns.dice.isBigWin')" prop="is_win">
<el-select v-model="formData.is_win" :placeholder="$t('table.searchBar.all')" clearable style="width: 100%">
<el-option label="无" :value="0" />
<el-option label="中大奖" :value="1" />
</el-select>
</el-form-item>
</el-col>
<el-col v-bind="setSpan(6)">
<el-form-item label="方向" prop="direction">
<el-select v-model="formData.direction" placeholder="全部" clearable style="width: 100%">
<el-form-item :label="$t('table.columns.dice.direction')" prop="direction">
<el-select v-model="formData.direction" :placeholder="$t('table.searchBar.all')" clearable style="width: 100%">
<el-option label="顺时针" :value="0" />
<el-option label="逆时针" :value="1" />
</el-select>
</el-form-item>
</el-col>
<el-col v-bind="setSpan(6)">
<el-form-item label="赢取平台币" prop="win_coin_min">
<el-form-item :label="$t('table.columns.dice.winCoin')" prop="win_coin_min">
<div class="range-wrap">
<el-input-number
v-model="formData.win_coin_min"
placeholder="最小"
:placeholder="$t('table.searchBar.min')"
:precision="2"
controls-position="right"
class="range-input"
/>
<span class="range-sep"></span>
<span class="range-sep">{{ $t('table.searchBar.rangeSeparator') }}</span>
<el-input-number
v-model="formData.win_coin_max"
placeholder="最大"
:placeholder="$t('table.searchBar.max')"
:precision="2"
controls-position="right"
class="range-input"
@@ -64,21 +64,21 @@
</el-form-item>
</el-col>
<el-col v-bind="setSpan(6)">
<el-form-item label="摇取点数和" prop="roll_number_min">
<el-form-item :label="$t('table.columns.dice.rollNumber')" prop="roll_number_min">
<div class="range-wrap">
<el-input-number
v-model="formData.roll_number_min"
placeholder="最小"
:placeholder="$t('table.searchBar.min')"
:min="5"
:max="30"
:precision="0"
controls-position="right"
class="range-input"
/>
<span class="range-sep"></span>
<span class="range-sep">{{ $t('table.searchBar.rangeSeparator') }}</span>
<el-input-number
v-model="formData.roll_number_max"
placeholder="最大"
:placeholder="$t('table.searchBar.max')"
:min="5"
:max="30"
:precision="0"
@@ -89,13 +89,13 @@
</el-form-item>
</el-col>
<el-col v-bind="setSpan(6)">
<el-form-item label="奖励配置" prop="reward_ui_text">
<el-input v-model="formData.reward_ui_text" placeholder="前端显示文本模糊" clearable />
<el-form-item :label="$t('table.columns.dice.rewardConfig')" prop="reward_ui_text">
<el-input v-model="formData.reward_ui_text" :placeholder="$t('table.searchBar.uiTextFuzzy')" clearable />
</el-form-item>
</el-col>
<el-col v-bind="setSpan(6)">
<el-form-item label="中奖名(档位)" prop="reward_tier">
<el-select v-model="formData.reward_tier" placeholder="全部" clearable style="width: 100%">
<el-form-item :label="$t('table.columns.dice.rewardTier')" prop="reward_tier">
<el-select v-model="formData.reward_tier" :placeholder="$t('table.searchBar.all')" clearable style="width: 100%">
<el-option label="T1" value="T1" />
<el-option label="T2" value="T2" />
<el-option label="T3" value="T3" />

View File

@@ -205,22 +205,22 @@
apiFn: listApi,
columnsFactory: () => [
{ type: 'selection' },
{ prop: 'id', label: 'ID', width: 80 },
{ prop: 'lottery_config_id', label: '彩金池配置', width: 120, useSlot: true },
{ prop: 'lottery_type', label: '抽奖类型', width: 100, useSlot: true },
{ prop: 'is_win', label: '是否中大奖', width: 100, useSlot: true },
{ prop: 'win_coin', label: '赢取平台币', width: 110 },
{ prop: 'super_win_coin', label: '中大奖平台币', width: 120 },
{ prop: 'reward_win_coin', label: '摇色子中奖平台币', width: 140 },
{ prop: 'direction', label: '方向', width: 90, useSlot: true },
{ prop: 'start_index', label: '起始索引', width: 90 },
{ prop: 'target_index', label: '终点索引', width: 90 },
{ prop: 'roll_array', label: '摇取点数', width: 140, useSlot: true },
{ prop: 'roll_number', label: '摇取点数和', width: 110, sortable: true },
{ prop: 'reward_config_id', label: '奖励档位', width: 100, useSlot: true },
{ prop: 'status', label: '状态', width: 80, useSlot: true },
{ prop: 'create_time', label: '创建时间', width: 170 },
{ prop: 'operation', label: '操作', width: 100, fixed: 'right', useSlot: true }
{ prop: 'id', label: 'table.columns.common.id', width: 80 },
{ prop: 'lottery_config_id', label: 'table.columns.dice.lotteryPoolConfig', width: 120, useSlot: true },
{ prop: 'lottery_type', label: 'table.columns.dice.drawType', width: 100, useSlot: true },
{ prop: 'is_win', label: 'table.columns.dice.isBigWin', width: 100, useSlot: true },
{ prop: 'win_coin', label: 'table.columns.dice.winCoin', width: 110 },
{ prop: 'super_win_coin', label: 'table.columns.dice.superWinCoin', width: 120 },
{ prop: 'reward_win_coin', label: 'table.columns.dice.rewardWinCoin', width: 140 },
{ prop: 'direction', label: 'table.columns.dice.direction', width: 90, useSlot: true },
{ prop: 'start_index', label: 'table.columns.dice.startIndex', width: 90 },
{ prop: 'target_index', label: 'table.columns.dice.targetIndex', width: 90 },
{ prop: 'roll_array', label: 'table.columns.dice.rollArray', width: 140, useSlot: true },
{ prop: 'roll_number', label: 'table.columns.dice.rollNumber', width: 110, sortable: true },
{ prop: 'reward_config_id', label: 'table.columns.dice.rewardTier', width: 100, useSlot: true },
{ prop: 'status', label: 'table.columns.common.status', width: 80, useSlot: true },
{ prop: 'create_time', label: 'table.columns.common.createTime', width: 170 },
{ prop: 'operation', label: 'table.actions.operation', width: 100, fixed: 'right', useSlot: true }
]
}
})

View File

@@ -9,43 +9,43 @@
@expand="handleExpand"
>
<el-col v-bind="setSpan(6)">
<el-form-item label="抽奖类型" prop="lottery_type">
<el-select v-model="formData.lottery_type" placeholder="全部" clearable style="width: 100%">
<el-form-item :label="$t('table.columns.dice.drawType')" prop="lottery_type">
<el-select v-model="formData.lottery_type" :placeholder="$t('table.searchBar.all')" clearable style="width: 100%">
<el-option label="付费" :value="0" />
<el-option label="赠送" :value="1" />
</el-select>
</el-form-item>
</el-col>
<el-col v-bind="setSpan(6)">
<el-form-item label="方向" prop="direction">
<el-select v-model="formData.direction" placeholder="全部" clearable style="width: 100%">
<el-form-item :label="$t('table.columns.dice.direction')" prop="direction">
<el-select v-model="formData.direction" :placeholder="$t('table.searchBar.all')" clearable style="width: 100%">
<el-option label="顺时针" :value="0" />
<el-option label="逆时针" :value="1" />
</el-select>
</el-form-item>
</el-col>
<el-col v-bind="setSpan(6)">
<el-form-item label="是否中大奖" prop="is_win">
<el-select v-model="formData.is_win" placeholder="全部" clearable style="width: 100%">
<el-form-item :label="$t('table.columns.dice.isBigWin')" prop="is_win">
<el-select v-model="formData.is_win" :placeholder="$t('table.searchBar.all')" clearable style="width: 100%">
<el-option label="无" :value="0" />
<el-option label="中大奖" :value="1" />
</el-select>
</el-form-item>
</el-col>
<el-col v-bind="setSpan(6)">
<el-form-item label="赢取平台币" prop="win_coin_min">
<el-form-item :label="$t('table.columns.dice.winCoin')" prop="win_coin_min">
<div class="range-wrap">
<el-input-number
v-model="formData.win_coin_min"
placeholder="最小"
:placeholder="$t('table.searchBar.min')"
:precision="2"
controls-position="right"
class="range-input"
/>
<span class="range-sep"></span>
<span class="range-sep">{{ $t('table.searchBar.rangeSeparator') }}</span>
<el-input-number
v-model="formData.win_coin_max"
placeholder="最大"
:placeholder="$t('table.searchBar.max')"
:precision="2"
controls-position="right"
class="range-input"
@@ -54,8 +54,8 @@
</el-form-item>
</el-col>
<el-col v-bind="setSpan(6)">
<el-form-item label="中奖档位" prop="reward_tier">
<el-select v-model="formData.reward_tier" placeholder="全部" clearable style="width: 100%">
<el-form-item :label="$t('table.columns.dice.rewardTier')" prop="reward_tier">
<el-select v-model="formData.reward_tier" :placeholder="$t('table.searchBar.all')" clearable style="width: 100%">
<el-option label="T1" value="T1" />
<el-option label="T2" value="T2" />
<el-option label="T3" value="T3" />
@@ -65,10 +65,10 @@
</el-form-item>
</el-col>
<el-col v-bind="setSpan(6)">
<el-form-item label="点数和" prop="roll_number">
<el-form-item :label="$t('table.columns.dice.rollNumber')" prop="roll_number">
<el-select
v-model="formData.roll_number"
placeholder="全部"
:placeholder="$t('table.searchBar.all')"
clearable
style="width: 100%"
>

View File

@@ -12,7 +12,7 @@
<template #icon>
<ArtSvgIcon icon="ri:add-fill" />
</template>
新增
{{ $t('table.actions.add') }}
</ElButton>
<ElButton
v-permission="'dice:player:index:destroy'"
@@ -23,7 +23,7 @@
<template #icon>
<ArtSvgIcon icon="ri:delete-bin-5-line" />
</template>
删除
{{ $t('table.actions.delete') }}
</ElButton>
</ElSpace>
</template>
@@ -150,73 +150,73 @@
apiFn: api.list,
columnsFactory: () => [
{ type: 'selection' },
{ prop: 'username', label: '用户名', align: 'center' },
{ prop: 'phone', label: '手机号', align: 'center' },
{ prop: 'name', label: '昵称', align: 'center' },
{ prop: 'username', label: 'table.columns.system.username', align: 'center' },
{ prop: 'phone', label: 'table.columns.system.phone', align: 'center' },
{ prop: 'name', label: 'table.columns.dice.nickname', align: 'center' },
{
prop: 'status',
label: '状态',
label: 'table.columns.common.status',
width: 88,
align: 'center',
useSlot: true
},
{
prop: 'coin',
label: '平台币',
label: 'table.columns.dice.coin',
width: 100,
align: 'center',
useSlot: true
},
{
prop: 'lottery_config_id',
label: '彩金池配置',
label: 'table.columns.dice.lotteryPoolConfig',
width: 120,
align: 'center',
formatter: (row: any) => lotteryConfigNameFormatter(row)
},
{
prop: 't1_weight',
label: 'T1权重',
label: 'table.columns.dice.t1Weight',
width: 80,
align: 'center',
formatter: weightFormatter('t1_weight')
},
{
prop: 't2_weight',
label: 'T2权重',
label: 'table.columns.dice.t2Weight',
width: 100,
align: 'center',
formatter: weightFormatter('t2_weight')
},
{
prop: 't3_weight',
label: 'T3权重',
label: 'table.columns.dice.t3Weight',
width: 100,
align: 'center',
formatter: weightFormatter('t3_weight')
},
{
prop: 't4_weight',
label: 'T4权重',
label: 'table.columns.dice.t4Weight',
width: 100,
align: 'center',
formatter: weightFormatter('t4_weight')
},
{
prop: 't5_weight',
label: 'T5权重',
label: 'table.columns.dice.t5Weight',
width: 100,
align: 'center',
formatter: weightFormatter('t5_weight')
},
{ prop: 'total_ticket_count', label: '总抽奖次数', align: 'center' },
{ prop: 'paid_ticket_count', label: '购买抽奖次数', align: 'center' },
{ prop: 'free_ticket_count', label: '赠送抽奖次数', align: 'center' },
{ prop: 'create_time', label: '创建时间', align: 'center' },
{ prop: 'update_time', label: '更新时间', align: 'center' },
{ prop: 'total_ticket_count', label: 'table.columns.dice.totalDrawCount', align: 'center' },
{ prop: 'paid_ticket_count', label: 'table.columns.dice.paidDrawCount', align: 'center' },
{ prop: 'free_ticket_count', label: 'table.columns.dice.freeDrawCount', align: 'center' },
{ prop: 'create_time', label: 'table.columns.common.createTime', align: 'center' },
{ prop: 'update_time', label: 'table.columns.common.updateTime', align: 'center' },
{
prop: 'operation',
label: '操作',
label: 'table.actions.operation',
width: 100,
align: 'center',
fixed: 'right',

View File

@@ -9,45 +9,45 @@
@expand="handleExpand"
>
<el-col v-bind="setSpan(6)">
<el-form-item label="用户名" prop="username">
<el-input v-model="formData.username" placeholder="请输入用户名" clearable />
<el-form-item :label="$t('table.columns.system.username')" prop="username">
<el-input v-model="formData.username" :placeholder="$t('table.searchBar.placeholderUsername')" clearable />
</el-form-item>
</el-col>
<el-col v-bind="setSpan(6)">
<el-form-item label="昵称" prop="name">
<el-input v-model="formData.name" placeholder="请输入昵称" clearable />
<el-form-item :label="$t('table.columns.dice.nickname')" prop="name">
<el-input v-model="formData.name" :placeholder="$t('table.searchBar.placeholderNickname')" clearable />
</el-form-item>
</el-col>
<el-col v-bind="setSpan(6)">
<el-form-item label="手机号" prop="phone">
<el-input v-model="formData.phone" placeholder="手机号模糊查询" clearable />
<el-form-item :label="$t('table.columns.system.phone')" prop="phone">
<el-input v-model="formData.phone" :placeholder="$t('table.searchBar.placeholderPhoneFuzzy')" clearable />
</el-form-item>
</el-col>
<el-col v-bind="setSpan(6)">
<el-form-item label="状态" prop="status">
<el-select v-model="formData.status" placeholder="全部" clearable style="width: 100%">
<el-option label="启用" :value="1" />
<el-option label="禁用" :value="0" />
<el-form-item :label="$t('table.columns.common.status')" prop="status">
<el-select v-model="formData.status" :placeholder="$t('table.searchBar.all')" clearable style="width: 100%">
<el-option :label="$t('table.searchBar.enable')" :value="1" />
<el-option :label="$t('table.searchBar.disable')" :value="0" />
</el-select>
</el-form-item>
</el-col>
<el-col v-bind="setSpan(6)">
<el-form-item label="平台币" prop="coin">
<el-form-item :label="$t('table.columns.dice.coin')" prop="coin">
<el-input-number
v-model="formData.coin"
:min="0"
:precision="2"
placeholder="精确搜索"
:placeholder="$t('table.searchBar.exactSearch')"
controls-position="right"
style="width: 100%"
/>
</el-form-item>
</el-col>
<el-col v-bind="setSpan(6)">
<el-form-item label="彩金池配置" prop="lottery_config_id">
<el-form-item :label="$t('table.columns.dice.lotteryPoolConfig')" prop="lottery_config_id">
<el-select
v-model="formData.lottery_config_id"
placeholder="全部"
:placeholder="$t('table.searchBar.all')"
clearable
style="width: 100%"
>

View File

@@ -127,22 +127,22 @@
row?.dicePlayer?.username ?? row?.player_id ?? '-'
return [
// { type: 'selection' },
{ prop: 'id', label: 'ID', width: 80, align: 'center' },
{ prop: 'id', label: 'table.columns.common.id', width: 80, align: 'center' },
{
prop: 'player_id',
label: '玩家用户名',
label: 'table.columns.dice.playerUsername',
align: 'center',
formatter: (row: Record<string, any>) => usernameFormatter(row)
},
{ prop: 'use_coins', label: '消耗硬币', align: 'center' },
{ prop: 'total_ticket_count', label: '总抽奖次数', align: 'center' },
{ prop: 'paid_ticket_count', label: '购买抽奖次数', align: 'center' },
{ prop: 'free_ticket_count', label: '赠送抽奖次数', align: 'center' },
{ prop: 'remark', label: '备注', width: 100, align: 'center', showOverflowTooltip: true },
{ prop: 'create_time', label: '创建时间', width: 170, align: 'center' },
{ prop: 'use_coins', label: 'table.columns.dice.useCoins', align: 'center' },
{ prop: 'total_ticket_count', label: 'table.columns.dice.totalDrawCount', align: 'center' },
{ prop: 'paid_ticket_count', label: 'table.columns.dice.paidDrawCount', align: 'center' },
{ prop: 'free_ticket_count', label: 'table.columns.dice.freeDrawCount', align: 'center' },
{ prop: 'remark', label: 'table.columns.common.remark', width: 100, align: 'center', showOverflowTooltip: true },
{ prop: 'create_time', label: 'table.columns.common.createTime', width: 170, align: 'center' },
{
prop: 'operation',
label: '操作',
label: 'table.actions.operation',
width: 60,
align: 'center',
fixed: 'right',

View File

@@ -9,24 +9,24 @@
@expand="handleExpand"
>
<el-col v-bind="setSpan(6)">
<el-form-item label="玩家(用户名)" prop="username">
<el-input v-model="formData.username" placeholder="按用户名搜索" clearable />
<el-form-item :label="$t('table.columns.dice.player')" prop="username">
<el-input v-model="formData.username" :placeholder="$t('table.searchBar.byUsername')" clearable />
</el-form-item>
</el-col>
<el-col v-bind="setSpan(6)">
<el-form-item label="消耗硬币" prop="use_coins_min">
<el-form-item :label="$t('table.columns.dice.useCoins')" prop="use_coins_min">
<div class="range-wrap">
<el-input-number
v-model="formData.use_coins_min"
placeholder="最小"
:placeholder="$t('table.searchBar.min')"
:min="0"
controls-position="right"
class="range-input"
/>
<span class="range-sep"></span>
<span class="range-sep">{{ $t('table.searchBar.rangeSeparator') }}</span>
<el-input-number
v-model="formData.use_coins_max"
placeholder="最大"
:placeholder="$t('table.searchBar.max')"
:min="0"
controls-position="right"
class="range-input"
@@ -35,19 +35,19 @@
</el-form-item>
</el-col>
<el-col v-bind="setSpan(6)">
<el-form-item label="总抽奖次数" prop="total_ticket_count_min">
<el-form-item :label="$t('table.columns.dice.totalDrawCount')" prop="total_ticket_count_min">
<div class="range-wrap">
<el-input-number
v-model="formData.total_ticket_count_min"
placeholder="最小"
:placeholder="$t('table.searchBar.min')"
:min="0"
controls-position="right"
class="range-input"
/>
<span class="range-sep"></span>
<span class="range-sep">{{ $t('table.searchBar.rangeSeparator') }}</span>
<el-input-number
v-model="formData.total_ticket_count_max"
placeholder="最大"
:placeholder="$t('table.searchBar.max')"
:min="0"
controls-position="right"
class="range-input"
@@ -56,19 +56,19 @@
</el-form-item>
</el-col>
<el-col v-bind="setSpan(6)">
<el-form-item label="购买抽奖次数" prop="paid_ticket_count_min">
<el-form-item :label="$t('table.columns.dice.paidDrawCount')" prop="paid_ticket_count_min">
<div class="range-wrap">
<el-input-number
v-model="formData.paid_ticket_count_min"
placeholder="最小"
:placeholder="$t('table.searchBar.min')"
:min="0"
controls-position="right"
class="range-input"
/>
<span class="range-sep"></span>
<span class="range-sep">{{ $t('table.searchBar.rangeSeparator') }}</span>
<el-input-number
v-model="formData.paid_ticket_count_max"
placeholder="最大"
:placeholder="$t('table.searchBar.max')"
:min="0"
controls-position="right"
class="range-input"
@@ -77,19 +77,19 @@
</el-form-item>
</el-col>
<el-col v-bind="setSpan(6)">
<el-form-item label="赠送抽奖次数" prop="free_ticket_count_min">
<el-form-item :label="$t('table.columns.dice.freeDrawCount')" prop="free_ticket_count_min">
<div class="range-wrap">
<el-input-number
v-model="formData.free_ticket_count_min"
placeholder="最小"
:placeholder="$t('table.searchBar.min')"
:min="0"
controls-position="right"
class="range-input"
/>
<span class="range-sep"></span>
<span class="range-sep">{{ $t('table.searchBar.rangeSeparator') }}</span>
<el-input-number
v-model="formData.free_ticket_count_max"
placeholder="最大"
:placeholder="$t('table.searchBar.max')"
:min="0"
controls-position="right"
class="range-input"
@@ -98,13 +98,13 @@
</el-form-item>
</el-col>
<el-col v-bind="setSpan(8)">
<el-form-item label="创建时间" prop="create_time_min">
<el-form-item :label="$t('table.columns.common.createTime')" prop="create_time_min">
<el-date-picker
v-model="formData.create_time"
type="datetimerange"
range-separator=""
start-placeholder="开始时间"
end-placeholder="结束时间"
:range-separator="$t('table.searchBar.rangeSeparator')"
:start-placeholder="$t('table.searchBar.startTime')"
:end-placeholder="$t('table.searchBar.endTime')"
value-format="YYYY-MM-DD HH:mm:ss"
style="width: 100%"
clearable

View File

@@ -163,18 +163,18 @@
apiFn: api.list,
columnsFactory: () => [
{ type: 'selection', align: 'center' },
{ prop: 'id', label: 'ID', width: 80, align: 'center' },
{ prop: 'id', label: 'table.columns.common.id', width: 80, align: 'center' },
{
prop: 'player_id',
label: '用户',
label: 'table.columns.dice.user',
width: 120,
align: 'center',
formatter: usernameFormatter
},
{ prop: 'coin', label: '平台币变化', width: 110, align: 'center' },
{ prop: 'coin', label: 'table.columns.dice.coinChange', width: 110, align: 'center' },
{
prop: 'type',
label: '类型',
label: 'table.columns.dice.type',
width: 140,
align: 'center',
useSlot: true,
@@ -182,27 +182,27 @@
},
{
prop: 'user_id',
label: '操作人',
label: 'table.columns.dice.operator',
width: 100,
align: 'center',
formatter: operatorFormatter
},
{ prop: 'wallet_before', label: '钱包操作前', width: 110, align: 'center' },
{ prop: 'wallet_after', label: '钱包操作后', width: 110, align: 'center' },
{ prop: 'wallet_before', label: 'table.columns.dice.walletBefore', width: 110, align: 'center' },
{ prop: 'wallet_after', label: 'table.columns.dice.walletAfter', width: 110, align: 'center' },
{
prop: 'remark',
label: '备注',
label: 'table.columns.common.remark',
width: 100,
align: 'center',
showOverflowTooltip: true
},
{ prop: 'total_ticket_count', label: '总抽奖次数', align: 'center' },
{ prop: 'paid_ticket_count', label: '购买抽奖次数', align: 'center' },
{ prop: 'free_ticket_count', label: '赠送抽奖次数', align: 'center' },
{ prop: 'create_time', label: '创建时间', width: 170, align: 'center' },
{ prop: 'total_ticket_count', label: 'table.columns.dice.totalDrawCount', align: 'center' },
{ prop: 'paid_ticket_count', label: 'table.columns.dice.paidDrawCount', align: 'center' },
{ prop: 'free_ticket_count', label: 'table.columns.dice.freeDrawCount', align: 'center' },
{ prop: 'create_time', label: 'table.columns.common.createTime', width: 170, align: 'center' },
{
prop: 'operation',
label: '操作',
label: 'table.actions.operation',
width: 60,
align: 'center',
fixed: 'right',

View File

@@ -9,8 +9,8 @@
@expand="handleExpand"
>
<el-col v-bind="setSpan(5)">
<el-form-item label="类型" prop="type">
<el-select v-model="formData.type" placeholder="全部" clearable style="width: 100%">
<el-form-item :label="$t('table.columns.dice.type')" prop="type">
<el-select v-model="formData.type" :placeholder="$t('table.searchBar.all')" clearable style="width: 100%">
<el-option label="充值" :value="0" />
<el-option label="提现" :value="1" />
<el-option label="购买抽奖次数" :value="2" />
@@ -20,24 +20,24 @@
</el-form-item>
</el-col>
<el-col v-bind="setSpan(5)">
<el-form-item label="用户(用户名)" prop="username">
<el-input v-model="formData.username" placeholder="按用户名搜索" clearable />
<el-form-item :label="$t('table.columns.dice.user')" prop="username">
<el-input v-model="formData.username" :placeholder="$t('table.searchBar.byUsername')" clearable />
</el-form-item>
</el-col>
<el-col v-bind="setSpan(8)">
<el-form-item label="平台币" prop="coin_min">
<el-form-item :label="$t('table.columns.dice.coin')" prop="coin_min">
<div class="coin-range-wrap">
<el-input-number
v-model="formData.coin_min"
placeholder="最小"
:placeholder="$t('table.searchBar.min')"
:precision="2"
controls-position="right"
class="coin-range-input"
/>
<span class="coin-range-sep"></span>
<span class="coin-range-sep">{{ $t('table.searchBar.rangeSeparator') }}</span>
<el-input-number
v-model="formData.coin_max"
placeholder="最大"
:placeholder="$t('table.searchBar.max')"
:precision="2"
controls-position="right"
class="coin-range-input"
@@ -46,13 +46,13 @@
</el-form-item>
</el-col>
<el-col v-bind="setSpan(8)">
<el-form-item label="创建时间" prop="create_time">
<el-form-item :label="$t('table.columns.common.createTime')" prop="create_time">
<el-date-picker
v-model="formData.create_time"
type="datetimerange"
range-separator=""
start-placeholder="开始时间"
end-placeholder="结束时间"
:range-separator="$t('table.searchBar.rangeSeparator')"
:start-placeholder="$t('table.searchBar.startTime')"
:end-placeholder="$t('table.searchBar.endTime')"
value-format="YYYY-MM-DD HH:mm:ss"
style="width: 100%"
/>

View File

@@ -99,12 +99,12 @@
apiFn: listApi,
apiParams: { direction: 0, limit: 100 },
columnsFactory: () => [
{ prop: 'start_index', label: '起始索引', width: 100, align: 'center' },
{ prop: 'end_index', label: '结束索引(end_index)', width: 110, align: 'center' },
{ prop: 'tier', label: '档位', width: 90, align: 'center', sortable: true },
{ prop: 'start_index', label: 'table.columns.dice.startIndex', width: 100, align: 'center' },
{ prop: 'end_index', label: 'table.columns.dice.endIndex', width: 110, align: 'center' },
{ prop: 'tier', label: 'table.columns.dice.tier', width: 90, align: 'center', sortable: true },
{
prop: 'grid_number',
label: '色子点数(摇取5-30)',
label: 'table.columns.dice.dicePoints',
width: 120,
align: 'center',
sortable: true,
@@ -112,14 +112,14 @@
},
{
prop: 'ui_text',
label: '显示文本',
label: 'table.columns.dice.displayText',
minWidth: 100,
align: 'center',
showOverflowTooltip: true
},
{ prop: 'real_ev', label: '实际中奖金额', width: 110, align: 'center' },
{ prop: 'remark', label: '备注', minWidth: 80, align: 'center', showOverflowTooltip: true },
{ prop: 'weight', label: '权重(1-10000)', width: 110, align: 'center' }
{ prop: 'real_ev', label: 'table.columns.dice.realEv', width: 110, align: 'center' },
{ prop: 'remark', label: 'table.columns.common.remark', minWidth: 80, align: 'center', showOverflowTooltip: true },
{ prop: 'weight', label: 'table.columns.dice.weight', width: 110, align: 'center' }
]
}
})

View File

@@ -8,8 +8,8 @@
@search="handleSearch"
>
<el-col v-bind="setSpan(8)">
<el-form-item label="档位" prop="tier">
<el-select v-model="formData.tier" placeholder="全部" clearable style="width: 100%">
<el-form-item :label="$t('table.columns.dice.tier')" prop="tier">
<el-select v-model="formData.tier" :placeholder="$t('table.searchBar.all')" clearable style="width: 100%">
<el-option label="T1" value="T1" />
<el-option label="T2" value="T2" />
<el-option label="T3" value="T3" />

View File

@@ -9,18 +9,18 @@
@expand="handleExpand"
>
<el-col v-bind="setSpan(6)">
<el-form-item label="色子点数" prop="grid_number_min">
<el-form-item :label="$t('table.columns.dice.dicePoints')" prop="grid_number_min">
<div class="range-wrap">
<el-input-number
v-model="formData.grid_number_min"
placeholder="最小"
:placeholder="$t('table.searchBar.min')"
controls-position="right"
class="range-input"
/>
<span class="range-sep"></span>
<span class="range-sep">{{ $t('table.searchBar.rangeSeparator') }}</span>
<el-input-number
v-model="formData.grid_number_max"
placeholder="最大"
:placeholder="$t('table.searchBar.max')"
controls-position="right"
class="range-input"
/>
@@ -28,24 +28,24 @@
</el-form-item>
</el-col>
<el-col v-bind="setSpan(6)">
<el-form-item label="前端显示文本" prop="ui_text">
<el-input v-model="formData.ui_text" placeholder="模糊查询" clearable />
<el-form-item :label="$t('table.columns.dice.displayText')" prop="ui_text">
<el-input v-model="formData.ui_text" :placeholder="$t('table.searchBar.fuzzyQuery')" clearable />
</el-form-item>
</el-col>
<el-col v-bind="setSpan(6)">
<el-form-item label="真实资金结算" prop="real_ev_min">
<el-form-item :label="$t('table.columns.dice.realEv')" prop="real_ev_min">
<div class="range-wrap">
<el-input-number
v-model="formData.real_ev_min"
placeholder="最小"
:placeholder="$t('table.searchBar.min')"
:precision="2"
controls-position="right"
class="range-input"
/>
<span class="range-sep"></span>
<span class="range-sep">{{ $t('table.searchBar.rangeSeparator') }}</span>
<el-input-number
v-model="formData.real_ev_max"
placeholder="最大"
:placeholder="$t('table.searchBar.max')"
:precision="2"
controls-position="right"
class="range-input"
@@ -54,8 +54,8 @@
</el-form-item>
</el-col>
<el-col v-bind="setSpan(6)">
<el-form-item label="所属档位" prop="tier">
<el-select v-model="formData.tier" placeholder="全部" clearable style="width: 100%">
<el-form-item :label="$t('table.columns.dice.tier')" prop="tier">
<el-select v-model="formData.tier" :placeholder="$t('table.searchBar.all')" clearable style="width: 100%">
<el-option label="T1" value="T1" />
<el-option label="T2" value="T2" />
<el-option label="T3" value="T3" />

View File

@@ -168,47 +168,47 @@
apiParams: { limit: 100 },
columnsFactory: () => [
{ type: 'selection' },
{ prop: 'id', label: 'ID', width: 80, align: 'center' },
{ prop: 'id', label: 'table.columns.common.id', width: 80, align: 'center' },
{
prop: 'status',
label: '状态',
label: 'table.columns.common.status',
width: 90,
align: 'center',
useSlot: true
},
{
prop: 'paid_draw',
label: '付费抽取',
label: 'table.columns.dice.paidDraw',
width: 160,
align: 'center',
useSlot: true
},
{
prop: 'free_draw',
label: '免费抽取',
label: 'table.columns.dice.freeDraw',
width: 160,
align: 'center',
useSlot: true
},
{
prop: 'platform_profit',
label: '平台赚取金额',
label: 'table.columns.dice.platformProfit',
width: 120,
align: 'center',
useSlot: true
},
{ prop: 'total_play_count', label: '总抽奖次数', width: 110, align: 'center' },
{ prop: 'total_play_count', label: 'table.columns.dice.totalDrawCount', width: 110, align: 'center' },
{
prop: 'admin_name',
label: '创建管理员',
label: 'table.columns.dice.createdBy',
width: 120,
align: 'center',
showOverflowTooltip: true
},
{ prop: 'create_time', label: '创建时间', width: 170, align: 'center' },
{ prop: 'create_time', label: 'table.columns.common.createTime', width: 170, align: 'center' },
{
prop: 'operation',
label: '操作',
label: 'table.actions.operation',
width: 100,
align: 'center',
fixed: 'right',