fix(admin/player/api): 同步单关串关持久化、仅串关可选与盘口状态展示

1. 后台/API:赛事详情返回 allowSingle/allowParlay,管理端 mapMarkets 正确回读
2. 玩家端:仅关单关时仍可点选加入串关;投注抽屉禁用单关提交并提示
3. 玩家端:盘口暂停/已关闭状态标签;MarketTypeTile 展示 statusLabel

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-06-17 11:08:43 +08:00
parent d2c0b575b7
commit 78322578d3
10 changed files with 91 additions and 23 deletions

View File

@@ -57,9 +57,17 @@ const canSubmitActive = computed(() => {
if (activeTab.value === 'parlay') {
return slip.parlayItems.length >= PARLAY_MIN_LEGS && slip.parlayItems.length <= PARLAY_MAX_LEGS;
}
return Boolean(slip.singleItem);
return Boolean(slip.singleItem) && slip.singleItem.allowSingle !== false;
});
const singleParlayOnlyHint = computed(
() =>
activeTab.value === 'single' &&
Boolean(slip.singleItem) &&
slip.singleItem!.allowSingle === false &&
slip.singleItem!.allowParlay !== false,
);
const balanceText = computed(() => {
if (balanceLoading.value) return t('bet.loading');
if (balance.value == null) return '--';
@@ -356,6 +364,7 @@ watch(
</div>
<div class="item-odds">{{ slip.singleItem.odds.toFixed(2) }}</div>
</div>
<p v-if="singleParlayOnlyHint" class="warning">{{ t('bet.slip_parlay_only_hint') }}</p>
<template v-if="activeTab === 'parlay'">
<p v-if="parlayWarning" class="warning">{{ parlayWarning }}</p>