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)
})