diff --git a/src/pageScan/couponUse/index.tsx b/src/pageScan/couponUse/index.tsx
index e17b177..7591430 100644
--- a/src/pageScan/couponUse/index.tsx
+++ b/src/pageScan/couponUse/index.tsx
@@ -140,7 +140,7 @@ const CouponUse = () => {
-
+
{/* 选择门店区域 */}
diff --git a/src/pageStore/storeDetail/index.tsx b/src/pageStore/storeDetail/index.tsx
index 66cde1d..3c46d53 100644
--- a/src/pageStore/storeDetail/index.tsx
+++ b/src/pageStore/storeDetail/index.tsx
@@ -30,6 +30,7 @@ type TableStatus = 'available' | 'using' | 'waiting' | 'reserved'
// 台球桌数据接口
interface BilliardTable {
id: string
+ grpSn?: string // 设备编码,接口对接后必填
name: string
status: TableStatus
waitTime?: string
@@ -50,6 +51,7 @@ interface BilliardCategory {
// 棋牌桌数据接口
interface ChessTable {
id: string
+ grpSn?: string // 设备编码,接口对接后必填
name: string
status: TableStatus
statusText?: string
@@ -212,17 +214,27 @@ const StoreDetail = () => {
})
}
- // 进入开台页面
- const handleStartTable = (tableId: string) => {
+ // 进入开台页面 - 必须经过 qrHandler 调用 getTableInfo,确保 tableStore.scanInfo 正确初始化
+ const handleStartTable = (grpSn?: string) => {
+ if (!grpSn) {
+ // 门店详情接口尚未对接,grpSn 暂时不可用
+ Taro.showToast({ title: '设备信息暂未加载', icon: 'none' })
+ return
+ }
+ const qrContent = JSON.stringify({ type: 'table_start', grpSn })
Taro.navigateTo({
- url: '/pageScan/startTable/index?tableId=' + tableId
+ url: `/pages/qrHandler/index?qrContent=${encodeURIComponent(qrContent)}`
})
}
// 进入预约开台页面
- const handleAppointmentStart = (tableId: string) => {
+ const handleAppointmentStart = (grpSn?: string) => {
+ if (!grpSn) {
+ Taro.showToast({ title: '设备信息暂未加载', icon: 'none' })
+ return
+ }
Taro.navigateTo({
- url: '/pageStore/appointmentStart/index?tableId=' + tableId
+ url: '/pageStore/appointmentStart/index?grpSn=' + grpSn
})
}
@@ -375,7 +387,7 @@ const StoreDetail = () => {
// 单个按钮
table.buttons[0].type === 'reserve' ? handleReserve(table.id) : handleStartTable(table.id)}
+ onClick={() => table.buttons[0].type === 'reserve' ? handleReserve(table.id) : handleStartTable(table.grpSn)}
>
{table.buttons[0].text}
@@ -386,7 +398,7 @@ const StoreDetail = () => {
btn.type === 'reserve' ? handleReserve(table.id) : handleStartTable(table.id)}
+ onClick={() => btn.type === 'reserve' ? handleReserve(table.id) : handleStartTable(table.grpSn)}
>
{btn.text}
@@ -431,9 +443,9 @@ const StoreDetail = () => {
{table.name}
{table.status === 'available' ? (
- handleStartTable(table.id)}>{table.buttonText}
+ handleStartTable(table.grpSn)}>{table.buttonText}
) : table.status === 'reserved' ? (
- handleAppointmentStart(table.id)}>{table.buttonText}
+ handleAppointmentStart(table.grpSn)}>{table.buttonText}
) : (
{table.statusText}