feat: 牛牛单独限红前端显示 + 大厅/桌台信息/游戏界面牛牛桌显示牛牛限红

This commit is contained in:
li 2026-02-11 19:53:50 +08:00
parent 1353a6bfce
commit db55b8d20c
20 changed files with 181 additions and 241 deletions

BIN
src/assets/images/chip.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 333 KiB

After

Width:  |  Height:  |  Size: 96 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 335 KiB

After

Width:  |  Height:  |  Size: 99 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 336 KiB

After

Width:  |  Height:  |  Size: 99 KiB

View File

@ -91,7 +91,7 @@
</template>
</div>
<div class="right">
{{ Lang[Type].limit }} {{ item.limit_money }}
{{ Lang[Type].limit }} {{ $fk((item.game_id == 4 || item.game_id == 5) && userInfo.limit_low_nn > 0 ? (userInfo.limit_low_nn + '-' + userInfo.limit_high_nn) : (userInfo.limit_low + '-' + userInfo.limit_high)) }}
</div>
</div>
</div>
@ -126,6 +126,7 @@
const Type = computed(() => store.state.config.$Type)
const Lang = computed(() => store.state.config.$lang)
const wayType = computed(() => store.state.config.hallWayType)
const userInfo = computed(() => store.state.app.userInfo)
const routerName = computed(() => router.currentRoute.value.name)
const list = computed(() => {
const allTableData = store.state.app.allTableData
@ -304,6 +305,7 @@
list,
textType,
wayType,
userInfo,
getSendMode,
getTextVal,
routerName,

View File

@ -10,7 +10,7 @@
/>
<div class="user">
<div class="name">{{ userInfo.username }}</div>
<div class="money">{{ userInfo.money }}</div>
<div class="money">{{ $fk(userInfo.money) }}</div>
</div>
</template>
<template #title>{{ Lang[Type].game_hall }}</template>

View File

@ -21,12 +21,12 @@
</div>
<div class="box">
<div class="name">{{ item.name }}</div>
<div class="money">{{ item.money }}</div>
<div class="money">{{ $fk(item.money) }}</div>
</div>
<div class="box">
<div class="item down">
<span class="lab">{{ Lang[Type].place_bet }}</span>
<span>{{ item.win }}</span>
<span>{{ $fk(item.win) }}</span>
</div>
<div class="item time">
<span class="lab">{{ Lang[Type].to_win }}</span>

View File

@ -300,8 +300,8 @@ export default {
const downBet = (e, type) => {
store.commit("app/standbyTime")
const { value: chip, key } = chooseChip.value
// ,便
// if (props.sendMode == "startBetCountDown") {
//
if (props.sendMode == "startBetCountDown") {
if (type == "luck_six_amount" && props.can_bet_luck_six != 1) {
showToast(Lang.value[Type.value].to_bet_fail_7)
} else if (
@ -334,7 +334,7 @@ export default {
})
audioMp3(["push"]).Play()
}
// }
}
}
const nameArray = [
// &

View File

@ -15,7 +15,7 @@
></chipView>
<div class="money" v-if="bet_amount_msg.player_amount">
<div class="coin-icon"></div>
{{ bet_amount_msg.player_amount }}
{{ $fk(bet_amount_msg.player_amount) }}
</div>
<confirmBet
@confirm="confirmChip"
@ -42,7 +42,7 @@
></chipView>
<div class="money" v-if="bet_amount_msg.tie_amount">
<div class="coin-icon"></div>
{{ bet_amount_msg.tie_amount }}
{{ $fk(bet_amount_msg.tie_amount) }}
</div>
<confirmBet
@confirm="confirmChip"
@ -68,7 +68,7 @@
></chipView>
<div class="money" v-if="bet_amount_msg.banker_amount">
<div class="coin-icon"></div>
{{ bet_amount_msg.banker_amount }}
{{ $fk(bet_amount_msg.banker_amount) }}
</div>
<confirmBet
@confirm="confirmChip"
@ -98,7 +98,7 @@
></chipView>
<div class="money" v-if="bet_amount_msg.small_amount">
<div class="coin-icon"></div>
{{ bet_amount_msg.small_amount }}
{{ $fk(bet_amount_msg.small_amount) }}
</div>
<confirmBet
@confirm="confirmChip"
@ -125,7 +125,7 @@
></chipView>
<div class="money" v-if="bet_amount_msg.player_pair_amount">
<div class="coin-icon"></div>
{{ bet_amount_msg.player_pair_amount }}
{{ $fk(bet_amount_msg.player_pair_amount) }}
</div>
<confirmBet
@confirm="confirmChip"
@ -152,7 +152,7 @@
></chipView>
<div class="money" v-if="bet_amount_msg.banker_pair_amount">
<div class="coin-icon"></div>
{{ bet_amount_msg.banker_pair_amount }}
{{ $fk(bet_amount_msg.banker_pair_amount) }}
</div>
<confirmBet
@confirm="confirmChip"
@ -179,7 +179,7 @@
></chipView>
<div class="money" v-if="bet_amount_msg.big_amount">
<div class="coin-icon"></div>
{{ bet_amount_msg.big_amount }}
{{ $fk(bet_amount_msg.big_amount) }}
</div>
<confirmBet
@confirm="confirmChip"
@ -398,25 +398,24 @@ $text-green: #22ac38;
.money {
position: absolute;
bottom: 1px;
top: 1px;
left: 50%;
transform: translateX(-50%) scale(0.5);
transform-origin: center bottom;
transform: translateX(-50%);
background: rgba(0,0,0,0.85);
padding: 2px 4px;
padding: 1px 6px;
border-radius: 4px;
color: #ffd700;
font-size: 9px;
font-size: 11px;
white-space: nowrap;
display: flex;
align-items: center;
gap: 1px;
gap: 2px;
z-index: 100;
pointer-events: none;
.coin-icon {
width: 6px;
height: 6px;
width: 8px;
height: 8px;
flex-shrink: 0;
border-radius: 50%;
background: #ffd700;

View File

@ -23,7 +23,7 @@
></chipView>
<div class="money" v-if="bet_amount_msg[`amount_${pName}_banker_times`]">
<div class="coin-icon"></div>
{{ bet_amount_msg[`amount_${pName}_banker_times`] }}
{{ $fk(bet_amount_msg[`amount_${pName}_banker_times`]) }}
</div>
<confirmBet
@confirm="confirmChip"
@ -53,7 +53,7 @@
></chipView>
<div class="money" v-if="bet_amount_msg[`amount_${pName}_banker`]">
<div class="coin-icon"></div>
{{ bet_amount_msg[`amount_${pName}_banker`] }}
{{ $fk(bet_amount_msg[`amount_${pName}_banker`]) }}
</div>
<confirmBet
@confirm="confirmChip"
@ -84,7 +84,7 @@
></chipView>
<div class="money" v-if="bet_amount_msg[`amount_${pName}_times`]">
<div class="coin-icon"></div>
{{ bet_amount_msg[`amount_${pName}_times`] }}
{{ $fk(bet_amount_msg[`amount_${pName}_times`]) }}
</div>
<confirmBet
@confirm="confirmChip"
@ -114,7 +114,7 @@
></chipView>
<div class="money" v-if="bet_amount_msg[`amount_${pName}`]">
<div class="coin-icon"></div>
{{ bet_amount_msg[`amount_${pName}`] }}
{{ $fk(bet_amount_msg[`amount_${pName}`]) }}
</div>
<confirmBet
@confirm="confirmChip"
@ -296,25 +296,24 @@ $text-red: #f56c6c;
.money {
position: absolute;
bottom: 1px;
top: 1px;
left: 50%;
transform: translateX(-50%) scale(0.5);
transform-origin: center bottom;
transform: translateX(-50%);
background: rgba(0,0,0,0.85);
padding: 2px 4px;
padding: 1px 6px;
border-radius: 4px;
color: #ffd700;
font-size: 9px;
font-size: 11px;
white-space: nowrap;
display: flex;
align-items: center;
gap: 1px;
gap: 2px;
z-index: 100;
pointer-events: none;
.coin-icon {
width: 6px;
height: 6px;
width: 8px;
height: 8px;
flex-shrink: 0;
border-radius: 50%;
background: #ffd700;
@ -340,4 +339,12 @@ $text-red: #f56c6c;
height: 28px;
}
}
/* 边缘cell的confirmBet按钮偏移防止超出屏幕 */
.player-section:last-child .bet-cell:last-child :deep(.touch-view .btn-box) {
transform: translateX(-30%);
}
.player-section:first-child .bet-cell:first-child :deep(.touch-view .btn-box) {
transform: translateX(30%);
}
</style>

View File

@ -23,7 +23,7 @@
<span class="points blue">4-10</span>
<span>1:1</span>
</div>
<div class="money">{{ bet_amount_msg.small || 0 }}</div>
<div class="money">{{ $fk(bet_amount_msg.small || 0) }}</div>
</div>
<div class="cols">
<div class="ratio">1:10</div>
@ -47,7 +47,7 @@
<span class="span dice_1"></span>
<span class="span dice_1"></span>
</div>
<div class="money">{{ bet_amount_msg.two_11 || 0 }}</div>
<div class="money">{{ $fk(bet_amount_msg.two_11 || 0) }}</div>
</div>
<!-- two_22 -->
<div class="item">
@ -69,7 +69,7 @@
<span class="span dice_2"></span>
<span class="span dice_2"></span>
</div>
<div class="money">{{ bet_amount_msg.two_22 || 0 }}</div>
<div class="money">{{ $fk(bet_amount_msg.two_22 || 0) }}</div>
</div>
<!-- two_33 -->
<div class="item">
@ -91,7 +91,7 @@
<span class="span dice_3"></span>
<span class="span dice_3"></span>
</div>
<div class="money">{{ bet_amount_msg.two_33 || 0 }}</div>
<div class="money">{{ $fk(bet_amount_msg.two_33 || 0) }}</div>
</div>
</div>
<div class="cols">
@ -117,7 +117,7 @@
<span class="span dice_1"></span>
<span class="span dice_1"></span>
</div>
<div class="money">{{ bet_amount_msg.three_111 || 0 }}</div>
<div class="money">{{ $fk(bet_amount_msg.three_111 || 0) }}</div>
</div>
<!-- three_222 -->
<div class="item">
@ -140,7 +140,7 @@
<span class="span dice_2"></span>
<span class="span dice_2"></span>
</div>
<div class="money">{{ bet_amount_msg.three_222 || 0 }}</div>
<div class="money">{{ $fk(bet_amount_msg.three_222 || 0) }}</div>
</div>
<!-- three_333 -->
<div class="item">
@ -163,7 +163,7 @@
<span class="span dice_3"></span>
<span class="span dice_3"></span>
</div>
<div class="money">{{ bet_amount_msg.three_333 || 0 }}</div>
<div class="money">{{ $fk(bet_amount_msg.three_333 || 0) }}</div>
</div>
</div>
<div class="cols triplet">
@ -220,7 +220,7 @@
</div>
</div>
</div>
<div class="money">{{ bet_amount_msg.leopard || 0 }}</div>
<div class="money">{{ $fk(bet_amount_msg.leopard || 0) }}</div>
</div>
</div>
<div class="cols">
@ -246,7 +246,7 @@
<span class="span dice_4"></span>
<span class="span dice_4"></span>
</div>
<div class="money">{{ bet_amount_msg.three_444 || 0 }}</div>
<div class="money">{{ $fk(bet_amount_msg.three_444 || 0) }}</div>
</div>
<!-- three_555 -->
<div class="item">
@ -269,7 +269,7 @@
<span class="span dice_5"></span>
<span class="span dice_5"></span>
</div>
<div class="money">{{ bet_amount_msg.three_555 || 0 }}</div>
<div class="money">{{ $fk(bet_amount_msg.three_555 || 0) }}</div>
</div>
<!-- three_666 -->
<div class="item">
@ -292,7 +292,7 @@
<span class="span dice_6"></span>
<span class="span dice_6"></span>
</div>
<div class="money">{{ bet_amount_msg.three_666 || 0 }}</div>
<div class="money">{{ $fk(bet_amount_msg.three_666 || 0) }}</div>
</div>
</div>
<div class="cols">
@ -317,7 +317,7 @@
<span class="span dice_4"></span>
<span class="span dice_4"></span>
</div>
<div class="money">{{ bet_amount_msg.two_44 || 0 }}</div>
<div class="money">{{ $fk(bet_amount_msg.two_44 || 0) }}</div>
</div>
<!-- two_55 -->
<div class="item">
@ -339,7 +339,7 @@
<span class="span dice_5"></span>
<span class="span dice_5"></span>
</div>
<div class="money">{{ bet_amount_msg.two_55 || 0 }}</div>
<div class="money">{{ $fk(bet_amount_msg.two_55 || 0) }}</div>
</div>
<!-- two_66 -->
<div class="item">
@ -361,7 +361,7 @@
<span class="span dice_6"></span>
<span class="span dice_6"></span>
</div>
<div class="money">{{ bet_amount_msg.two_66 || 0 }}</div>
<div class="money">{{ $fk(bet_amount_msg.two_66 || 0) }}</div>
</div>
</div>
<div class="cols item big">
@ -384,7 +384,7 @@
<span class="points red">11-17</span>
<span>1:1</span>
</div>
<div class="money">{{ bet_amount_msg.big || 0 }}</div>
<div class="money">{{ $fk(bet_amount_msg.big || 0) }}</div>
</div>
</div>
<div class="list second">
@ -408,7 +408,7 @@
<span class="big">4</span>
<span>1:60</span>
</div>
<div class="money">{{ bet_amount_msg.number_4 || 0 }}</div>
<div class="money">{{ $fk(bet_amount_msg.number_4 || 0) }}</div>
</div>
<!-- number_5 -->
<div class="item">
@ -430,7 +430,7 @@
<span class="big">5</span>
<span>1:30</span>
</div>
<div class="money">{{ bet_amount_msg.number_5 || 0 }}</div>
<div class="money">{{ $fk(bet_amount_msg.number_5 || 0) }}</div>
</div>
<!-- number_6 -->
<div class="item">
@ -452,7 +452,7 @@
<span class="big">6</span>
<span>1:18</span>
</div>
<div class="money">{{ bet_amount_msg.number_6 || 0 }}</div>
<div class="money">{{ $fk(bet_amount_msg.number_6 || 0) }}</div>
</div>
<!-- number_7 -->
<div class="item">
@ -474,7 +474,7 @@
<span class="big">7</span>
<span>1:12</span>
</div>
<div class="money">{{ bet_amount_msg.number_7 || 0 }}</div>
<div class="money">{{ $fk(bet_amount_msg.number_7 || 0) }}</div>
</div>
<!-- number_8 -->
<div class="item">
@ -496,7 +496,7 @@
<span class="big">8</span>
<span>1:8</span>
</div>
<div class="money">{{ bet_amount_msg.number_8 || 0 }}</div>
<div class="money">{{ $fk(bet_amount_msg.number_8 || 0) }}</div>
</div>
<!-- number_9 -->
<div class="item">
@ -518,7 +518,7 @@
<span class="big">9</span>
<span>1:6</span>
</div>
<div class="money">{{ bet_amount_msg.number_9 || 0 }}</div>
<div class="money">{{ $fk(bet_amount_msg.number_9 || 0) }}</div>
</div>
<!-- number_10 -->
<div class="item">
@ -540,7 +540,7 @@
<span class="big">10</span>
<span>1:6</span>
</div>
<div class="money">{{ bet_amount_msg.number_10 || 0 }}</div>
<div class="money">{{ $fk(bet_amount_msg.number_10 || 0) }}</div>
</div>
<!-- number_11 -->
<div class="item">
@ -562,7 +562,7 @@
<span class="big">11</span>
<span>1:6</span>
</div>
<div class="money">{{ bet_amount_msg.number_11 || 0 }}</div>
<div class="money">{{ $fk(bet_amount_msg.number_11 || 0) }}</div>
</div>
<!-- number_12 -->
<div class="item">
@ -584,7 +584,7 @@
<span class="big">12</span>
<span>1:6</span>
</div>
<div class="money">{{ bet_amount_msg.number_12 || 0 }}</div>
<div class="money">{{ $fk(bet_amount_msg.number_12 || 0) }}</div>
</div>
<!-- number_13 -->
<div class="item">
@ -606,7 +606,7 @@
<span class="big">13</span>
<span>1:8</span>
</div>
<div class="money">{{ bet_amount_msg.number_13 || 0 }}</div>
<div class="money">{{ $fk(bet_amount_msg.number_13 || 0) }}</div>
</div>
<!-- number_14 -->
<div class="item">
@ -628,7 +628,7 @@
<span class="big">14</span>
<span>1:12</span>
</div>
<div class="money">{{ bet_amount_msg.number_14 || 0 }}</div>
<div class="money">{{ $fk(bet_amount_msg.number_14 || 0) }}</div>
</div>
<!-- number_15 -->
<div class="item">
@ -650,7 +650,7 @@
<span class="big">15</span>
<span>1:18</span>
</div>
<div class="money">{{ bet_amount_msg.number_15 || 0 }}</div>
<div class="money">{{ $fk(bet_amount_msg.number_15 || 0) }}</div>
</div>
<!-- number_16 -->
<div class="item">
@ -672,7 +672,7 @@
<span class="big">16</span>
<span>1:30</span>
</div>
<div class="money">{{ bet_amount_msg.number_16 || 0 }}</div>
<div class="money">{{ $fk(bet_amount_msg.number_16 || 0) }}</div>
</div>
<!-- number_17 -->
<div class="item">
@ -694,7 +694,7 @@
<span class="big">17</span>
<span>1:60</span>
</div>
<div class="money">{{ bet_amount_msg.number_17 || 0 }}</div>
<div class="money">{{ $fk(bet_amount_msg.number_17 || 0) }}</div>
</div>
</div>
<div class="list third">
@ -718,7 +718,7 @@
<span class="span dice_1"></span>
<span class="span dice_2"></span>
</div>
<div class="money">{{ bet_amount_msg.two_12 || 0 }}</div>
<div class="money">{{ $fk(bet_amount_msg.two_12 || 0) }}</div>
</div>
<!-- two_13 -->
<div class="item">
@ -740,7 +740,7 @@
<span class="span dice_1"></span>
<span class="span dice_3"></span>
</div>
<div class="money">{{ bet_amount_msg.two_13 || 0 }}</div>
<div class="money">{{ $fk(bet_amount_msg.two_13 || 0) }}</div>
</div>
<!-- two_14 -->
<div class="item">
@ -762,7 +762,7 @@
<span class="span dice_1"></span>
<span class="span dice_4"></span>
</div>
<div class="money">{{ bet_amount_msg.two_14 || 0 }}</div>
<div class="money">{{ $fk(bet_amount_msg.two_14 || 0) }}</div>
</div>
<!-- two_15 -->
<div class="item">
@ -784,7 +784,7 @@
<span class="span dice_1"></span>
<span class="span dice_5"></span>
</div>
<div class="money">{{ bet_amount_msg.two_15 || 0 }}</div>
<div class="money">{{ $fk(bet_amount_msg.two_15 || 0) }}</div>
</div>
<!-- two_16 -->
<div class="item">
@ -806,7 +806,7 @@
<span class="span dice_1"></span>
<span class="span dice_6"></span>
</div>
<div class="money">{{ bet_amount_msg.two_16 || 0 }}</div>
<div class="money">{{ $fk(bet_amount_msg.two_16 || 0) }}</div>
</div>
<!-- two_23 -->
<div class="item">
@ -828,7 +828,7 @@
<span class="span dice_2"></span>
<span class="span dice_3"></span>
</div>
<div class="money">{{ bet_amount_msg.two_23 || 0 }}</div>
<div class="money">{{ $fk(bet_amount_msg.two_23 || 0) }}</div>
</div>
<!-- two_24 -->
<div class="item">
@ -850,7 +850,7 @@
<span class="span dice_2"></span>
<span class="span dice_4"></span>
</div>
<div class="money">{{ bet_amount_msg.two_24 || 0 }}</div>
<div class="money">{{ $fk(bet_amount_msg.two_24 || 0) }}</div>
</div>
<!-- two_25 -->
<div class="item">
@ -872,7 +872,7 @@
<span class="span dice_2"></span>
<span class="span dice_5"></span>
</div>
<div class="money">{{ bet_amount_msg.two_25 || 0 }}</div>
<div class="money">{{ $fk(bet_amount_msg.two_25 || 0) }}</div>
</div>
<!-- two_26 -->
<div class="item">
@ -894,7 +894,7 @@
<span class="span dice_2"></span>
<span class="span dice_6"></span>
</div>
<div class="money">{{ bet_amount_msg.two_26 || 0 }}</div>
<div class="money">{{ $fk(bet_amount_msg.two_26 || 0) }}</div>
</div>
<!-- two_34 -->
<div class="item">
@ -916,7 +916,7 @@
<span class="span dice_3"></span>
<span class="span dice_4"></span>
</div>
<div class="money">{{ bet_amount_msg.two_34 || 0 }}</div>
<div class="money">{{ $fk(bet_amount_msg.two_34 || 0) }}</div>
</div>
<!-- two_35 -->
<div class="item">
@ -938,7 +938,7 @@
<span class="span dice_3"></span>
<span class="span dice_5"></span>
</div>
<div class="money">{{ bet_amount_msg.two_35 || 0 }}</div>
<div class="money">{{ $fk(bet_amount_msg.two_35 || 0) }}</div>
</div>
<!-- two_36 -->
<div class="item">
@ -960,7 +960,7 @@
<span class="span dice_3"></span>
<span class="span dice_6"></span>
</div>
<div class="money">{{ bet_amount_msg.two_36 || 0 }}</div>
<div class="money">{{ $fk(bet_amount_msg.two_36 || 0) }}</div>
</div>
<!-- two_45 -->
<div class="item">
@ -982,7 +982,7 @@
<span class="span dice_4"></span>
<span class="span dice_5"></span>
</div>
<div class="money">{{ bet_amount_msg.two_45 || 0 }}</div>
<div class="money">{{ $fk(bet_amount_msg.two_45 || 0) }}</div>
</div>
<!-- two_46 -->
<div class="item">
@ -1004,7 +1004,7 @@
<span class="span dice_4"></span>
<span class="span dice_6"></span>
</div>
<div class="money">{{ bet_amount_msg.two_46 || 0 }}</div>
<div class="money">{{ $fk(bet_amount_msg.two_46 || 0) }}</div>
</div>
<!-- two_56 -->
<div class="item">
@ -1026,7 +1026,7 @@
<span class="span dice_5"></span>
<span class="span dice_6"></span>
</div>
<div class="money">{{ bet_amount_msg.two_56 || 0 }}</div>
<div class="money">{{ $fk(bet_amount_msg.two_56 || 0) }}</div>
</div>
</div>
<div class="list fourth">1:5</div>
@ -1051,7 +1051,7 @@
<span class="big blue">{{ Lang[Type].odd }}</span>
<span>1:1</span>
</div>
<div class="money">{{ bet_amount_msg.singular || 0 }}</div>
<div class="money">{{ $fk(bet_amount_msg.singular || 0) }}</div>
</div>
<div class="cols center">
<div class="top">
@ -1074,7 +1074,7 @@
<div class="dice-box">
<span class="span dice_1"></span>
</div>
<div class="money">{{ bet_amount_msg.living_1 || 0 }}</div>
<div class="money">{{ $fk(bet_amount_msg.living_1 || 0) }}</div>
</div>
<!-- living_2 -->
<div class="item">
@ -1095,7 +1095,7 @@
<div class="dice-box">
<span class="span dice_2"></span>
</div>
<div class="money">{{ bet_amount_msg.living_2 || 0 }}</div>
<div class="money">{{ $fk(bet_amount_msg.living_2 || 0) }}</div>
</div>
<!-- living_3 -->
<div class="item">
@ -1116,7 +1116,7 @@
<div class="dice-box">
<span class="span dice_3"></span>
</div>
<div class="money">{{ bet_amount_msg.living_3 || 0 }}</div>
<div class="money">{{ $fk(bet_amount_msg.living_3 || 0) }}</div>
</div>
<!-- living_4 -->
<div class="item">
@ -1137,7 +1137,7 @@
<div class="dice-box">
<span class="span dice_4"></span>
</div>
<div class="money">{{ bet_amount_msg.living_4 || 0 }}</div>
<div class="money">{{ $fk(bet_amount_msg.living_4 || 0) }}</div>
</div>
<!-- living_5 -->
<div class="item">
@ -1158,7 +1158,7 @@
<div class="dice-box">
<span class="span dice_5"></span>
</div>
<div class="money">{{ bet_amount_msg.living_5 || 0 }}</div>
<div class="money">{{ $fk(bet_amount_msg.living_5 || 0) }}</div>
</div>
<!-- living_6 -->
<div class="item">
@ -1179,7 +1179,7 @@
<div class="dice-box">
<span class="span dice_6"></span>
</div>
<div class="money">{{ bet_amount_msg.living_6 || 0 }}</div>
<div class="money">{{ $fk(bet_amount_msg.living_6 || 0) }}</div>
</div>
</div>
<div class="bottom">
@ -1208,7 +1208,7 @@
<span class="big red">{{ Lang[Type].even }}</span>
<span>1:1</span>
</div>
<div class="money">{{ bet_amount_msg.plural || 0 }}</div>
<div class="money">{{ $fk(bet_amount_msg.plural || 0) }}</div>
</div>
</div>
</div>

View File

@ -14,7 +14,7 @@
></chipView>
<div class="money" v-if="bet_amount_msg.banker_amount">
<div class="coin-icon"></div>
{{ bet_amount_msg.banker_amount }}
{{ $fk(bet_amount_msg.banker_amount) }}
</div>
<confirmBet
@confirm="confirmChip"
@ -41,7 +41,7 @@
></chipView>
<div class="money" v-if="bet_amount_msg.tie_amount">
<div class="coin-icon"></div>
{{ bet_amount_msg.tie_amount }}
{{ $fk(bet_amount_msg.tie_amount) }}
</div>
<confirmBet
@confirm="confirmChip"
@ -65,7 +65,7 @@
></chipView>
<div class="money" v-if="bet_amount_msg.player_amount">
<div class="coin-icon"></div>
{{ bet_amount_msg.player_amount }}
{{ $fk(bet_amount_msg.player_amount) }}
</div>
<confirmBet
@confirm="confirmChip"
@ -238,25 +238,24 @@ $text-green: #22ac38;
.money {
position: absolute;
bottom: 1px;
top: 1px;
left: 50%;
transform: translateX(-50%) scale(0.5);
transform-origin: center bottom;
transform: translateX(-50%);
background: rgba(0,0,0,0.85);
padding: 2px 4px;
padding: 1px 6px;
border-radius: 4px;
color: #ffd700;
font-size: 9px;
font-size: 11px;
white-space: nowrap;
display: flex;
align-items: center;
gap: 1px;
gap: 2px;
z-index: 100;
pointer-events: none;
.coin-icon {
width: 6px;
height: 6px;
width: 8px;
height: 8px;
flex-shrink: 0;
border-radius: 50%;
background: #ffd700;

View File

@ -26,7 +26,7 @@
<div class="proportion">
<span>1:12</span>
</div>
<div class="money">{{ bet_amount_msg.toning_zero }}</div>
<div class="money">{{ $fk(bet_amount_msg.toning_zero) }}</div>
</div>
<!-- -->
<div class="item">
@ -48,7 +48,7 @@
<span class="big">{{ Lang[Type].even }}</span>
<span>1:0.96</span>
</div>
<div class="money">{{ bet_amount_msg.toning_plural }}</div>
<div class="money">{{ $fk(bet_amount_msg.toning_plural) }}</div>
</div>
<!-- -->
<div class="item">
@ -70,7 +70,7 @@
<span class="big">{{ Lang[Type].odd }}</span>
<span>1:0.96</span>
</div>
<div class="money">{{ bet_amount_msg.toning_singular }}</div>
<div class="money">{{ $fk(bet_amount_msg.toning_singular) }}</div>
</div>
<!-- 4 -->
<div class="item">
@ -97,7 +97,7 @@
<div class="proportion">
<span>1:12</span>
</div>
<div class="money">{{ bet_amount_msg.toning_four }}</div>
<div class="money">{{ $fk(bet_amount_msg.toning_four) }}</div>
</div>
</div>
<div class="list">
@ -126,7 +126,7 @@
<div class="proportion">
<span>1:2.6</span>
</div>
<div class="money">{{ bet_amount_msg.toning_one }}</div>
<div class="money">{{ $fk(bet_amount_msg.toning_one) }}</div>
</div>
<!-- -->
<div class="item">
@ -148,7 +148,7 @@
<span class="big">{{ Lang[Type].small }}</span>
<span>1:0.96</span>
</div>
<div class="money">{{ bet_amount_msg.toning_small }}</div>
<div class="money">{{ $fk(bet_amount_msg.toning_small) }}</div>
</div>
<!-- -->
<div class="item">
@ -170,7 +170,7 @@
<span class="big">{{ Lang[Type].big }}</span>
<span>1:0.96</span>
</div>
<div class="money">{{ bet_amount_msg.toning_big }}</div>
<div class="money">{{ $fk(bet_amount_msg.toning_big) }}</div>
</div>
<!-- 3 -->
<div class="item">
@ -197,7 +197,7 @@
<div class="proportion">
<span>1:2.6</span>
</div>
<div class="money">{{ bet_amount_msg.toning_three }}</div>
<div class="money">{{ $fk(bet_amount_msg.toning_three) }}</div>
</div>
</div>
</div>

View File

@ -57,35 +57,6 @@
<div class="road-box">
<canvas class="canvas" ref="refItem"></canvas>
<!-- Ask Way Overlay (Bottom Right) -->
<div class="ask-panel" v-if="[1,2].includes(tableData.game_id)">
<div class="ask-group banker" @click="askWay('banker')">
<div class="ask-title text-red">{{ Lang[Type].askbanker }}</div>
<div class="ask-icons">
<span class="dot hollow red" v-if="autoaskData.BbigEyeRoadisshow && autoaskData.BbigEyeRoadcolor == 'red'"></span>
<span class="dot hollow blue" v-if="autoaskData.BbigEyeRoadisshow && autoaskData.BbigEyeRoadcolor == 'blue'"></span>
<span class="dot solid red" v-if="autoaskData.Bpathwayisshow && autoaskData.Bpathwaycolor == 'red'"></span>
<span class="dot solid blue" v-if="autoaskData.Bpathwayisshow && autoaskData.Bpathwaycolor == 'blue'"></span>
<span class="dot slash red" v-if="autoaskData.Broachisshow && autoaskData.Broachcolor == 'red'"></span>
<span class="dot slash blue" v-if="autoaskData.Broachisshow && autoaskData.Broachcolor == 'blue'"></span>
</div>
</div>
<div class="ask-group player" @click="askWay('player')">
<div class="ask-title text-blue">{{ Lang[Type].askplayer }}</div>
<div class="ask-icons">
<span class="dot hollow red" v-if="autoaskData.PbigEyeRoadisshow && autoaskData.PbigEyeRoadcolor == 'red'"></span>
<span class="dot hollow blue" v-if="autoaskData.PbigEyeRoadisshow && autoaskData.PbigEyeRoadcolor == 'blue'"></span>
<span class="dot solid red" v-if="autoaskData.Ppathwayisshow && autoaskData.Ppathwaycolor == 'red'"></span>
<span class="dot solid blue" v-if="autoaskData.Ppathwayisshow && autoaskData.Ppathwaycolor == 'blue'"></span>
<span class="dot slash red" v-if="autoaskData.Proachisshow && autoaskData.Proachcolor == 'red'"></span>
<span class="dot slash blue" v-if="autoaskData.Proachisshow && autoaskData.Proachcolor == 'blue'"></span>
</div>
</div>
</div>
</div>
</div>
</div>
@ -271,73 +242,6 @@ export default {
display: block;
}
/* Ask Panel - Integrated into grid (bottom 3 rows, far right) */
.ask-panel {
position: absolute;
right: 0;
bottom: 0;
width: 25%; /* Roughly 6/24 of width */
height: 50%; /* Covers bottom 3 rows (50% of 6 rows) */
display: flex;
background: #fff;
border-left: 1px solid #eee;
border-top: 1px solid #eee;
z-index: 10;
.ask-group {
flex: 1;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
cursor: pointer;
&.banker {
border-right: 1px solid #f5f5f5;
}
.ask-title {
font-size: 11px !important;
font-weight: 500;
color: #333;
margin-bottom: 2px;
white-space: nowrap;
}
.ask-icons {
display: flex;
gap: 4px;
align-items: center;
.dot {
display: inline-block;
&.solid {
width: 10px;
height: 10px;
border-radius: 50%;
&.red { background: #e40000; }
&.blue { background: #0056ee; }
}
&.hollow {
width: 8px;
height: 8px;
border-radius: 50%;
border: 1.5px solid;
&.red { border-color: #e40000; }
&.blue { border-color: #0056ee; }
}
&.slash {
width: 2px;
height: 10px;
transform: rotate(-45deg);
border-radius: 1px;
&.red { background: #e40000; }
&.blue { background: #0056ee; }
}
}
}
}
}
}
}

View File

@ -169,9 +169,9 @@
</td>
<td>{{ item.create_time }}</td>
<td>{{ item.money_before_bet }}</td>
<td>{{ item.amount }}</td>
<td>{{ item.win_total }}</td>
<td>{{ $fk(item.money_before_bet) }}</td>
<td>{{ $fk(item.amount) }}</td>
<td>{{ $fk(item.win_total) }}</td>
</tr>
</table>
</div>
@ -194,9 +194,9 @@
<td>{{ item.id }}</td>
<td>{{ item.mode }}</td>
<td>{{ item.create_time }}</td>
<td>{{ item.old_money }}</td>
<td>{{ item.new_money }}</td>
<td>{{ item.amount }}</td>
<td>{{ $fk(item.old_money) }}</td>
<td>{{ $fk(item.new_money) }}</td>
<td>{{ $fk(item.amount) }}</td>
</tr>
</table>
</div>
@ -213,7 +213,7 @@
<table class="bd">
<tr v-for="item in tableData" :key="item.id">
<td>{{ item.id }}</td>
<td>{{ item.money }}</td>
<td>{{ $fk(item.money) }}</td>
<td>{{ item.table_name }}</td>
<td>{{ item.create_time }}</td>
</tr>
@ -254,22 +254,22 @@
class="alldown"
v-if="type == 1 || type == 2 || type == 4 || type == 5"
>
{{ $lang[$Type].Totalbet }} {{ alldown }}
{{ $lang[$Type].Totalbet }} {{ $fk(alldown) }}
</span>
<span
class="allwin"
v-if="type == 1 || type == 2 || type == 4 || type == 5"
>
{{ $lang[$Type].TotalWin }} {{ returnFloat(allwin) }}
{{ $lang[$Type].TotalWin }} {{ $fk(returnFloat(allwin)) }}
</span>
<span class="allwin" v-if="type == 10">
{{ $lang[$Type].Upperscore }} {{ recharge_amount }}
{{ $lang[$Type].Upperscore }} {{ $fk(recharge_amount) }}
</span>
<span class="allwin" v-if="type == 11">
{{ $lang[$Type].Subordinate }} {{ recharge_amount }}
{{ $lang[$Type].Subordinate }} {{ $fk(recharge_amount) }}
</span>
<span class="allwin" v-if="type == 12">
{{ $lang[$Type].Pagerewarded }} {{ recharge_amount }}
{{ $lang[$Type].Pagerewarded }} {{ $fk(recharge_amount) }}
</span>
</div>
</section>
@ -298,8 +298,8 @@
<!-- <td>{{item.table_name}}</td> -->
<td>{{ item.user_bet }}</td>
<td>{{ item.card_result }}</td>
<td>{{ item.amount }}</td>
<td>{{ item.win_total }}</td>
<td>{{ $fk(item.amount) }}</td>
<td>{{ $fk(item.win_total) }}</td>
<td>{{ item.create_time }}</td>
</tr>
</table>
@ -341,9 +341,9 @@
{{ $lang[$Type].Next }}
</span>
<span class="alldown">
{{ $lang[$Type].Totalbet }} {{ roballdown }}
{{ $lang[$Type].Totalbet }} {{ $fk(roballdown) }}
</span>
<span class="allwin">{{ $lang[$Type].TotalWin }} {{ roballwin }}</span>
<span class="allwin">{{ $lang[$Type].TotalWin }} {{ $fk(roballwin) }}</span>
</div>
</section>
</div>

View File

@ -38,22 +38,22 @@
<span>
{{ tableData.price_banker }}/1({{ Lang[Type].is_commission }})
</span>
<span>{{ tableData.limit_money }}</span>
<span>{{ $fk(userLimit) }}</span>
</div>
<div class="list" v-if="tableData.game_id == 1">
<span>{{ Lang[Type].player }}</span>
<span>{{ tableData.price_player }}</span>
<span>{{ tableData.limit_money }}</span>
<span>{{ $fk(userLimit) }}</span>
</div>
<div class="list" v-if="tableData.game_id == 2">
<span>{{ Lang[Type].dragon }}</span>
<span>{{ tableData.price_dragon }}</span>
<span>{{ tableData.limit_money }}</span>
<span>{{ $fk(userLimit) }}</span>
</div>
<div class="list" v-if="tableData.game_id == 2">
<span>{{ Lang[Type].tiger }}</span>
<span>{{ tableData.price_tiger }}</span>
<span>{{ tableData.limit_money }}</span>
<span>{{ $fk(userLimit) }}</span>
</div>
<div
class="list"
@ -67,32 +67,32 @@
: tableData.price_tie_dt
}}
</span>
<span>{{ tableData.limit_money_tie }}</span>
<span>{{ $fk(userLimitTie) }}</span>
</div>
<div class="list" v-if="tableData.game_id == 1">
<span>{{ Lang[Type].p_banker }}</span>
<span>{{ tableData.price_pair }}</span>
<span>{{ tableData.limit_money_pair }}</span>
<span>{{ $fk(userLimitPair) }}</span>
</div>
<div class="list" v-if="tableData.game_id == 1">
<span>{{ Lang[Type].p_player }}</span>
<span>{{ tableData.price_pair }}</span>
<span>{{ tableData.limit_money_pair }}</span>
<span>{{ $fk(userLimitPair) }}</span>
</div>
<div class="list" v-if="tableData.game_id == 1">
<span>{{ Lang[Type].big }}</span>
<span>0.5</span>
<span>{{ tableData.limit_money }}</span>
<span>{{ $fk(userLimit) }}</span>
</div>
<div class="list" v-if="tableData.game_id == 1">
<span>{{ Lang[Type].small }}</span>
<span>1.5</span>
<span>{{ tableData.limit_money }}</span>
<span>{{ $fk(userLimit) }}</span>
</div>
<div class="list" v-if="tableData.game_id == 1">
<span>{{ Lang[Type].luckSix }}</span>
<span>12~20</span>
<span>{{ tableData.limit_money }}</span>
<span>{{ $fk(userLimit) }}</span>
</div>
<div
class="list"
@ -105,7 +105,7 @@
>
<span>{{ Lang[Type].limit }}</span>
<span>1</span>
<span>{{ tableData.limit_money }}</span>
<span>{{ $fk((tableData.game_id == 4 || tableData.game_id == 5) && userInfo.limit_low_nn > 0 ? (userInfo.limit_low_nn + '-' + userInfo.limit_high_nn) : userLimit) }}</span>
</div>
</div>
</div>
@ -128,11 +128,19 @@ export default {
const showTableInfo = computed(() => store.state.config.showTableInfo)
const Type = computed(() => store.state.config.$Type)
const Lang = computed(() => store.state.config.$lang)
const userInfo = computed(() => store.state.app.userInfo)
const userLimit = computed(() => userInfo.value.limit_low + '-' + userInfo.value.limit_high)
const userLimitTie = computed(() => userInfo.value.limit_low_tie + '-' + userInfo.value.limit_high_tie)
const userLimitPair = computed(() => userInfo.value.limit_low_pair + '-' + userInfo.value.limit_high_pair)
console.log(props)
return {
Type,
Lang,
showTableInfo
showTableInfo,
userInfo,
userLimit,
userLimitTie,
userLimitPair
}
}
}

View File

@ -13,10 +13,10 @@
<!-- 总下注金额 - 独立定位在中间 -->
<div class="num" v-show="data.money > 0">
{{ data.money }}
{{ $fk(data.money) }}
{{
data.times
? `${Lang[Type].withhold}${data.money * (data.game_id == 4 ? 4 : 19)}`
? `${Lang[Type].withhold}${$fk(data.money * (data.game_id == 4 ? 4 : 19))}`
: ""
}}
</div>
@ -98,14 +98,14 @@ $red-highlight: #ff3b3b;
background: rgba(197, 160, 89, 0.95);
border-radius: 1rem;
color: #000;
font-size: 0.28rem;
padding: 0.03rem 0.08rem;
font-size: 12px;
padding: 2px 8px;
border: 1px solid $gold;
font-weight: 600;
z-index: 1000;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
white-space: nowrap;
margin-top: 0.06rem; /* 在按钮下方,与按钮保持间距 */
margin-top: 4px;
}
.btn-box {
display: flex;

View File

@ -5,7 +5,9 @@ import { vants } from "@/plugins/vant.config"
import "@/plugins/fox.config"
import "@/plugins/sound.config"
import App from "@/App.vue"
import { formatK } from "@/utils/common"
const app = createApp(App)
vants(app)
app.config.globalProperties.$fk = formatK
app.use(store).use(router).mount("#app")

View File

@ -1,3 +1,18 @@
// 金额格式化为K
const formatK = (val) => {
if (val === null || val === undefined || val === '') return val
if (typeof val === 'string' && val.includes('-')) {
return val.split('-').map(s => formatK(isNaN(s) ? s : Number(s))).join('-')
}
const n = Number(val)
if (isNaN(n)) return val
if (n >= 1000 || n <= -1000) {
const k = n / 1000
return (k % 1 === 0 ? k.toFixed(0) : k) + 'K'
}
return val
}
// 百家乐&龙虎
const baccaratData = {
key: [
@ -633,6 +648,7 @@ const updateBetAmount = (tableData, data) => {
}
export {
formatK,
sendScanResult,
resetCardInfo,
updateBetAmount,

View File

@ -77,7 +77,7 @@
<!-- 3. Table Limit -->
<div class="nav-item limit-info">
<div class="icon limit-icon"></div>
<div class="text">{{ tableData && $fk(tableData.limit_money) }}</div>
<div class="text">{{ $fk(nnGame && userInfo.limit_low_nn > 0 ? (userInfo.limit_low_nn + '-' + userInfo.limit_high_nn) : (userInfo.limit_low + '-' + userInfo.limit_high)) }}</div>
</div>
<!-- 4. Right Controls (Camera, etc.) -->
@ -280,6 +280,7 @@ import {
getUserBetDice,
getUserBetRoulette
} from "@/utils/api"
import { formatK } from "@/utils/common"
export default {
name: "playView",
@ -422,6 +423,7 @@ export default {
}
const userInfo = computed(() => store.state.app.userInfo)
const nnGame = computed(() => tableData.value && (tableData.value.game_id == 4 || tableData.value.game_id == 5))
//
const offCamera = () => {
store.commit("config/switchVideo", !switchVideo.value)
@ -830,11 +832,11 @@ export default {
Lang.value[Type.value].msg_balance +
"</span></div>" +
'<div class="item"><span>' +
data.amount +
formatK(data.amount) +
"</span><span>" +
returnFloat(data.win_total) +
formatK(returnFloat(data.win_total)) +
"</span><span>" +
data.end_money +
formatK(data.end_money) +
"</span></div>",
className: "alert",
confirmButtonText: Lang.value[Type.value].Confirm
@ -869,11 +871,11 @@ export default {
'<div class="item"><span>' +
v.name +
"</span><span>" +
v.amount +
formatK(v.amount) +
"</span><span>" +
text +
"</span><span>" +
v.win_amount +
formatK(v.win_amount) +
"</span></div>"
}
})
@ -894,7 +896,7 @@ export default {
title:
Lang.value[Type.value].msg_win_lose +
"" +
returnFloat(data.win_total),
formatK(returnFloat(data.win_total)),
message: html,
className: "alert",
confirmButtonText: Lang.value[Type.value].Confirm
@ -1225,6 +1227,7 @@ export default {
videoConfig,
hideVideo,
userInfo,
nnGame,
tableData,
switchVideo,
router,