|
|
|
@ -6,7 +6,7 @@ import Taro, { useLoad, useRouter } from '@tarojs/taro' |
|
|
|
import { useState } from 'react' |
|
|
|
import { useState } from 'react' |
|
|
|
import { observer } from 'mobx-react' |
|
|
|
import { observer } from 'mobx-react' |
|
|
|
import { Stepper } from '@taroify/core' |
|
|
|
import { Stepper } from '@taroify/core' |
|
|
|
import { depositStart, balanceStart, invokeWechatPay, PayType } from '../../api/startDevice' |
|
|
|
import { depositStart, balanceStart, invokeWechatPay, PayType, getTableInfo } from '../../api/startDevice' |
|
|
|
import { closeOrder, pollTablePaymentStatus } from '../../api/order' |
|
|
|
import { closeOrder, pollTablePaymentStatus } from '../../api/order' |
|
|
|
import { userStore, tableStore } from '../../store' |
|
|
|
import { userStore, tableStore } from '../../store' |
|
|
|
import './index.scss' |
|
|
|
import './index.scss' |
|
|
|
@ -54,7 +54,7 @@ const SelfStart = observer(() => { |
|
|
|
setDeposit(value) |
|
|
|
setDeposit(value) |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
const pricePerHour = priceInfo?.currentPrice || 0 |
|
|
|
const pricePerHour = priceInfo?.currentPrice || priceInfo?.standard || 0 |
|
|
|
|
|
|
|
|
|
|
|
// 根据押金和实际价格计算预计时长
|
|
|
|
// 根据押金和实际价格计算预计时长
|
|
|
|
const calculateDuration = () => { |
|
|
|
const calculateDuration = () => { |
|
|
|
@ -158,6 +158,14 @@ const SelfStart = observer(() => { |
|
|
|
Taro.hideLoading() |
|
|
|
Taro.hideLoading() |
|
|
|
|
|
|
|
|
|
|
|
if (paid) { |
|
|
|
if (paid) { |
|
|
|
|
|
|
|
// 支付成功后重新拉取台桌信息,更新 scanInfo(opInfo 会有完整数据)
|
|
|
|
|
|
|
|
try { |
|
|
|
|
|
|
|
const openId2 = userStore.userInfo?.wxOpenId || Taro.getStorageSync('openId') |
|
|
|
|
|
|
|
const freshInfo = await getTableInfo(grpSn, openId2) |
|
|
|
|
|
|
|
tableStore.setScanInfo(freshInfo.data) |
|
|
|
|
|
|
|
} catch (_) { |
|
|
|
|
|
|
|
// 刷新失败不阻断流程,关台页会显示 '--' 但功能正常
|
|
|
|
|
|
|
|
} |
|
|
|
Taro.showToast({ title: '开台成功', icon: 'success', duration: 2000 }) |
|
|
|
Taro.showToast({ title: '开台成功', icon: 'success', duration: 2000 }) |
|
|
|
setTimeout(() => { |
|
|
|
setTimeout(() => { |
|
|
|
Taro.redirectTo({ |
|
|
|
Taro.redirectTo({ |
|
|
|
@ -184,6 +192,13 @@ const SelfStart = observer(() => { |
|
|
|
} |
|
|
|
} |
|
|
|
} else { |
|
|
|
} else { |
|
|
|
// 无需支付(余额支付等场景)
|
|
|
|
// 无需支付(余额支付等场景)
|
|
|
|
|
|
|
|
try { |
|
|
|
|
|
|
|
const openId2 = userStore.userInfo?.wxOpenId || Taro.getStorageSync('openId') |
|
|
|
|
|
|
|
const freshInfo = await getTableInfo(grpSn, openId2) |
|
|
|
|
|
|
|
tableStore.setScanInfo(freshInfo.data) |
|
|
|
|
|
|
|
} catch (_) { |
|
|
|
|
|
|
|
// 刷新失败不阻断流程
|
|
|
|
|
|
|
|
} |
|
|
|
Taro.showToast({ title: '开台成功', icon: 'success', duration: 2000 }) |
|
|
|
Taro.showToast({ title: '开台成功', icon: 'success', duration: 2000 }) |
|
|
|
setTimeout(() => { |
|
|
|
setTimeout(() => { |
|
|
|
Taro.redirectTo({ |
|
|
|
Taro.redirectTo({ |
|
|
|
|