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}