From e495dc6070f1963c12750b3fc22509ce1459726d Mon Sep 17 00:00:00 2001
From: wsy182 <2392948297@qq.com>
Date: Tue, 7 Apr 2026 13:36:28 +0800
Subject: [PATCH] =?UTF-8?q?feat(chengdu):=20=E6=9B=B4=E6=96=B0=E7=BB=93?=
=?UTF-8?q?=E7=AE=97=E7=95=8C=E9=9D=A2=E6=B7=BB=E5=8A=A0=E5=87=86=E5=A4=87?=
=?UTF-8?q?=E7=8A=B6=E6=80=81=E5=92=8C=E6=88=BF=E9=97=B4=E7=AE=A1=E7=90=86?=
=?UTF-8?q?=E5=8A=9F=E8=83=BD?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
- 添加玩家准备状态显示和切换功能
- 实现房主控制下一局开始的游戏流程
- 添加退出房间按钮和相关状态管理
- 集成准备状态的计算逻辑和UI展示
- 更新组件props传递准备和房间状态数据
- 重构结算界面按钮布局和交互逻辑
---
.../chengdu/ChengduSettlementOverlay.vue | 87 ++++++++++++++-----
src/views/ChengduGamePage.vue | 12 ++-
.../composables/useChengduTableView.ts | 1 +
3 files changed, 77 insertions(+), 23 deletions(-)
diff --git a/src/components/chengdu/ChengduSettlementOverlay.vue b/src/components/chengdu/ChengduSettlementOverlay.vue
index 8ecb016..050abd8 100644
--- a/src/components/chengdu/ChengduSettlementOverlay.vue
+++ b/src/components/chengdu/ChengduSettlementOverlay.vue
@@ -1,5 +1,7 @@
@@ -44,29 +57,63 @@ const emit = defineEmits<{
{{ item.score > 0 ? '+' : '' }}{{ item.score }}
+
+ {{ item.isReady ? '已准备' : '等待...' }}
+
-
+
+
+
+
+ 等待房主开始...
+
+
+
+
diff --git a/src/views/ChengduGamePage.vue b/src/views/ChengduGamePage.vue
index 8437ef2..d676829 100644
--- a/src/views/ChengduGamePage.vue
+++ b/src/views/ChengduGamePage.vue
@@ -41,11 +41,11 @@ const {
roomCountdown,
leaveRoomPending,
readyTogglePending,
+ nextRoundPending: startNextRoundPending,
dingQuePending,
discardPending,
claimActionPending,
turnActionPending,
- nextRoundPending,
selectedDiscardTileId,
menuOpen,
isTrustMode,
@@ -263,9 +263,15 @@ function handleLeaveRoom(): void {
:total-rounds="gameStore.totalRounds"
:settlement-players="settlementPlayers"
:logged-in-user-id="loggedInUserId"
- :next-round-pending="nextRoundPending"
+ :is-room-owner="isRoomOwner"
+ :self-is-ready="myReadyState"
+ :ready-toggle-pending="readyTogglePending"
+ :start-next-round-pending="startNextRoundPending"
+ :leave-room-pending="leaveRoomPending"
:settlement-countdown="settlementCountdown"
- @next-round="nextRound"
+ @ready="toggleReadyState"
+ @start-next-round="nextRound"
+ @exit="backHall"
@back-hall="backHall"
/>
diff --git a/src/views/chengdu/composables/useChengduTableView.ts b/src/views/chengdu/composables/useChengduTableView.ts
index 7e964e3..e81c760 100644
--- a/src/views/chengdu/composables/useChengduTableView.ts
+++ b/src/views/chengdu/composables/useChengduTableView.ts
@@ -230,6 +230,7 @@ export function useChengduTableView(deps: TableViewDeps): TableViewResult {
score: deps.gameStore.scores[player.playerId] ?? 0,
isWinner: winnerSet.has(player.playerId),
seatIndex: player.seatIndex,
+ isReady: Boolean(player.isReady),
}))
.sort((a, b) => b.score - a.score)
})