调试接口
This commit is contained in:
16
src/App.vue
16
src/App.vue
@ -2,9 +2,17 @@
|
|||||||
import { onHide, onLaunch, onShow } from '@dcloudio/uni-app'
|
import { onHide, onLaunch, onShow } from '@dcloudio/uni-app'
|
||||||
import { navigateToInterceptor } from '@/router/interceptor'
|
import { navigateToInterceptor } from '@/router/interceptor'
|
||||||
import 'abortcontroller-polyfill/dist/abortcontroller-polyfill-only'
|
import 'abortcontroller-polyfill/dist/abortcontroller-polyfill-only'
|
||||||
import { LOCATION_DEFAULT_CITY, LOCATION_DEFAULT_LAT, LOCATION_DEFAULT_LNG, LOCATION_LAT_KEY, LOCATION_LNG_KEY, LOCATION_CITY_KEY } from '@/hooks/useLocation'
|
|
||||||
|
|
||||||
onLaunch((options) => {
|
onLaunch((options) => {
|
||||||
|
// console.log("🚀 ~ onLaunch options:", options)
|
||||||
|
// if (options?.path === 'bundle/order/tea-room/order-detail') {
|
||||||
|
// uni.setStorageSync('transferOrder', {
|
||||||
|
// orderId: options?.query?.orderId || '',
|
||||||
|
// shareSource: options?.query?.shareSource || ''
|
||||||
|
// })
|
||||||
|
// console.log("🚀 ~ onLaunch sync:", uni.getStorageSync('transferOrder'))
|
||||||
|
|
||||||
|
// }
|
||||||
// 处理直接进入页面路由的情况:如h5直接输入路由、微信小程序分享后进入等
|
// 处理直接进入页面路由的情况:如h5直接输入路由、微信小程序分享后进入等
|
||||||
// https://github.com/unibest-tech/unibest/issues/192
|
// https://github.com/unibest-tech/unibest/issues/192
|
||||||
if (options?.path) {
|
if (options?.path) {
|
||||||
@ -19,6 +27,12 @@
|
|||||||
// uni.setStorageSync(LOCATION_CITY_KEY, LOCATION_DEFAULT_CITY)
|
// uni.setStorageSync(LOCATION_CITY_KEY, LOCATION_DEFAULT_CITY)
|
||||||
})
|
})
|
||||||
onShow((options) => {
|
onShow((options) => {
|
||||||
|
if (options?.path === 'bundle/order/tea-room/order-detail') {
|
||||||
|
uni.setStorageSync('transferOrderParams', {
|
||||||
|
orderId: options?.query?.orderId || '',
|
||||||
|
shareSource: options?.query?.shareSource || ''
|
||||||
|
})
|
||||||
|
}
|
||||||
console.log('App Show', options)
|
console.log('App Show', options)
|
||||||
})
|
})
|
||||||
onHide(() => {
|
onHide(() => {
|
||||||
|
|||||||
@ -180,7 +180,7 @@ export interface ICreateTeaRoomOrderParams {
|
|||||||
hours: number
|
hours: number
|
||||||
user_coupon_id: number
|
user_coupon_id: number
|
||||||
group_coupon_id: number
|
group_coupon_id: number
|
||||||
timeslot: string[]
|
timeslot: string
|
||||||
}
|
}
|
||||||
|
|
||||||
export function createTeaRoomOrder(data: ICreateTeaRoomOrderParams) {
|
export function createTeaRoomOrder(data: ICreateTeaRoomOrderParams) {
|
||||||
@ -252,13 +252,11 @@ export function confirmTeaRoomOrder(data: IConfirmTeaRoomOrderParams) {
|
|||||||
*/
|
*/
|
||||||
export interface IRenewTeaRoomOrderParams {
|
export interface IRenewTeaRoomOrderParams {
|
||||||
id: number
|
id: number
|
||||||
start_time: string
|
|
||||||
end_time: string
|
|
||||||
renew_hour: number
|
renew_hour: number
|
||||||
}
|
}
|
||||||
|
|
||||||
export function renewTeaRoomOrder(data: IRenewTeaRoomOrderParams) {
|
export function renewTeaRoomOrder(data: IRenewTeaRoomOrderParams) {
|
||||||
return http.Post('/api/order/renewDtime', data)
|
return http.Post<any>('/api/order/renewDtime', data)
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@ -141,19 +141,23 @@
|
|||||||
|
|
||||||
const storeId = ref<number>(0) // 门店ID
|
const storeId = ref<number>(0) // 门店ID
|
||||||
const teaRoomId = ref<number>(0) // 包间ID
|
const teaRoomId = ref<number>(0) // 包间ID
|
||||||
|
const couponId = ref<number>(0) // 选中的优惠券ID
|
||||||
|
|
||||||
onLoad((args) => {
|
onLoad(async (args) => {
|
||||||
teaRoomId.value = args.id
|
teaRoomId.value = args.id
|
||||||
console.log("🚀 ~ teaRoomId.value:", teaRoomId.value)
|
|
||||||
storeId.value = args.storeId || 0
|
storeId.value = args.storeId || 0
|
||||||
couponType.value = args.type // 1:优惠券 2:团购券
|
couponType.value = args.type // 1:优惠券 2:团购券
|
||||||
|
|
||||||
// 初始化优惠券数据
|
// 初始化优惠券数据
|
||||||
if (args.id && args.numbers && args.type == 1) {
|
if (args.id && args.numbers && args.type == 1) {
|
||||||
// 获取到包间ID和预定了几个小时
|
// 获取到包间ID和预定了几个小时
|
||||||
Coupons.handleInitCoupon(args.id, args.numbers)
|
await Coupons.handleInitCoupon(args.id, args.numbers)
|
||||||
|
checkedId.value = Number(args.couponId) || 0
|
||||||
|
|
||||||
} else if (args.id && args.type == 2) {
|
} else if (args.id && args.type == 2) {
|
||||||
Coupons.handleInitGroupCoupon(args.id, args.numbers)
|
await Coupons.handleInitGroupCoupon(args.id, args.numbers)
|
||||||
|
checkedId.value = Number(args.groupCouponId) || 0
|
||||||
|
console.log("🚀 ~ checkedId.value :", checkedId.value )
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
@ -172,8 +176,6 @@
|
|||||||
* 初始化团购券列表
|
* 初始化团购券列表
|
||||||
*/
|
*/
|
||||||
handleInitGroupCoupon: async (id: number, numbers: number) => {
|
handleInitGroupCoupon: async (id: number, numbers: number) => {
|
||||||
console.log("🚀 ~ teaRoomId.value2:", teaRoomId.value)
|
|
||||||
|
|
||||||
const res = await getTeaRoomGroupCouponList({store_id: storeId.value, room_id: teaRoomId.value})
|
const res = await getTeaRoomGroupCouponList({store_id: storeId.value, room_id: teaRoomId.value})
|
||||||
groupCouponList.value = res.list
|
groupCouponList.value = res.list
|
||||||
},
|
},
|
||||||
|
|||||||
@ -22,10 +22,10 @@
|
|||||||
<text v-if="orderStatus === GroupComboOrderStatus.Used">感谢购买,期待再次光临!</text>
|
<text v-if="orderStatus === GroupComboOrderStatus.Used">感谢购买,期待再次光临!</text>
|
||||||
<view v-if="orderStatus === GroupComboOrderStatus.Refunded" class="text-center mt-14rpx">
|
<view v-if="orderStatus === GroupComboOrderStatus.Refunded" class="text-center mt-14rpx">
|
||||||
<view class="text-40rpx text-[#303133] leading-56rpx">
|
<view class="text-40rpx text-[#303133] leading-56rpx">
|
||||||
<view>退款成功{{ order.order_amount }}</view>
|
<view>退款成功¥{{ order.order_amount }}</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="text-28rpx text-[#606266] leading-54rpx mt-20rpx">谢谢您的信任,我们一定会做的更好</view>
|
<view class="text-28rpx text-[#606266] leading-54rpx mt-20rpx">谢谢您的信任,我们一定会做的更好</view>
|
||||||
<view class="text-24rpx text-[#606266] leading-34rpx mt-12rpx">2025年4月13日 18:22</view>
|
<view class="text-24rpx text-[#606266] leading-34rpx mt-12rpx">{{ order.update_dtime }}</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
@ -143,7 +143,7 @@
|
|||||||
</view>
|
</view>
|
||||||
|
|
||||||
<!-- 操作按钮 -->
|
<!-- 操作按钮 -->
|
||||||
<view class="w-full fixed bottom-0 left-0 right-0 bg-white h-152rpx">
|
<view class="w-full fixed bottom-0 left-0 right-0 bg-white h-152rpx" v-if="orderStatus !== GroupComboOrderStatus.Refunded">
|
||||||
<!-- 直营店 -->
|
<!-- 直营店 -->
|
||||||
<view class="mt-34rpx" v-if="order.store.operation_type == StoreType.Direct">
|
<view class="mt-34rpx" v-if="order.store.operation_type == StoreType.Direct">
|
||||||
<!-- 待使用 -->
|
<!-- 待使用 -->
|
||||||
@ -158,10 +158,10 @@
|
|||||||
</view>
|
</view>
|
||||||
|
|
||||||
<!-- 已退款 -->
|
<!-- 已退款 -->
|
||||||
<view class="text-32rpx leading-44rpx flex items-center justify-center leading-90rpx text-center" v-if="orderStatus === GroupComboOrderStatus.Refunded">
|
<!-- <view class="text-32rpx leading-44rpx flex items-center justify-center leading-90rpx text-center" v-if="orderStatus === GroupComboOrderStatus.Refunded">
|
||||||
<view class="w-330rpx h-90rpx bg-[#F6F7F8] rounded-8rpx text-[#303133] mr-30rpx" @click="OrderDetail.handleCallPhone">联系商家</view>
|
<view class="w-330rpx h-90rpx bg-[#F6F7F8] rounded-8rpx text-[#303133] mr-30rpx" @click="OrderDetail.handleCallPhone">联系商家</view>
|
||||||
<view class="w-330rpx h-90rpx bg-[#F6F7F8] rounded-8rpx text-[#303133]" @click="OrderDetail.handleCallPhone">联系平台</view>
|
<view class="w-330rpx h-90rpx bg-[#F6F7F8] rounded-8rpx text-[#303133]" @click="OrderDetail.handleCallPhone">联系平台</view>
|
||||||
</view>
|
</view> -->
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<!-- 加盟店 -->
|
<!-- 加盟店 -->
|
||||||
@ -172,10 +172,10 @@
|
|||||||
</view>
|
</view>
|
||||||
|
|
||||||
<!-- 已退款 -->
|
<!-- 已退款 -->
|
||||||
<view class="text-32rpx leading-44rpx flex items-center justify-center leading-90rpx text-center" v-if="orderStatus === GroupComboOrderStatus.Refunded">
|
<!-- <view class="text-32rpx leading-44rpx flex items-center justify-center leading-90rpx text-center" v-if="orderStatus === GroupComboOrderStatus.Refunded">
|
||||||
<view class="w-330rpx h-90rpx bg-[#F6F7F8] rounded-8rpx text-[#303133] mr-30rpx" @click="OrderDetail.handleCallPhone">联系商家</view>
|
<view class="w-330rpx h-90rpx bg-[#F6F7F8] rounded-8rpx text-[#303133] mr-30rpx" @click="OrderDetail.handleCallPhone">联系商家</view>
|
||||||
<view class="w-330rpx h-90rpx bg-[#F6F7F8] rounded-8rpx text-[#303133]" @click="OrderDetail.handleCallPhone">联系平台</view>
|
<view class="w-330rpx h-90rpx bg-[#F6F7F8] rounded-8rpx text-[#303133]" @click="OrderDetail.handleCallPhone">联系平台</view>
|
||||||
</view>
|
</view> -->
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|||||||
@ -86,7 +86,15 @@
|
|||||||
</wd-popup>
|
</wd-popup>
|
||||||
|
|
||||||
<view>
|
<view>
|
||||||
<navbar :title="title" custom-class='!bg-[#F6F7F8]'></navbar>
|
<navbar :title="title" custom-class='!bg-[#F6F7F8]' v-if="!shareSource"></navbar>
|
||||||
|
<wd-navbar v-if="shareSource == 'TransferOrder'" safeAreaInsetTop custom-class='!bg-[#F6F7F8]' :bordered="false" placeholder left-text="返回" left-arrow>
|
||||||
|
<template #capsule>
|
||||||
|
<view class="flex items-center">
|
||||||
|
<wd-navbar-capsule @back="router.navigateBack" @back-home="router.reLaunch('/pages/index/index')" />
|
||||||
|
<view class="ml-20rpx">{{title}}</view>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
</wd-navbar>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<!-- 描述信息 -->
|
<!-- 描述信息 -->
|
||||||
@ -114,8 +122,8 @@
|
|||||||
</view>
|
</view>
|
||||||
<view class="flex-1">
|
<view class="flex-1">
|
||||||
<view class="flex justify-between items-center" @click="OrderDetail.handleToStore">
|
<view class="flex justify-between items-center" @click="OrderDetail.handleToStore">
|
||||||
<view class="flex items-center font-bold text-30rpx leading-42rpx text-[#303133] mr-10rpx">
|
<view class="flex items-center font-bold text-30rpx leading-42rpx text-[#303133] mr-10rpx line-1 w-300rpx">
|
||||||
<view class="line-1 w-300rpx">
|
<view class="line-1">
|
||||||
{{ order.room_msg.title }}
|
{{ order.room_msg.title }}
|
||||||
</view>
|
</view>
|
||||||
<wd-icon name="chevron-right" size="32rpx"></wd-icon>
|
<wd-icon name="chevron-right" size="32rpx"></wd-icon>
|
||||||
@ -388,8 +396,8 @@
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
// 一键续订的金额
|
// 一键续订的时间
|
||||||
const totalReserveMoney = ref<number>(0)
|
const renewHour = ref<number>(0)
|
||||||
|
|
||||||
// 获取当前年月日,格式:YYYY-MM-DD
|
// 获取当前年月日,格式:YYYY-MM-DD
|
||||||
const now = new Date();
|
const now = new Date();
|
||||||
@ -403,23 +411,31 @@
|
|||||||
|
|
||||||
onLoad((args) => {
|
onLoad((args) => {
|
||||||
shareSource.value = args.shareSource || ''
|
shareSource.value = args.shareSource || ''
|
||||||
if (args.orderId) {
|
orderId.value = args.orderId
|
||||||
orderId.value = args.orderId
|
|
||||||
|
// 这里写判断是因为要处理页面分享出去的时候有这个参数但是没有token会触发网络请求跳转到登录页,再加上页面登录权限路由
|
||||||
|
// 就会出现2次跳转登录页,这个是正常加载订单详情
|
||||||
|
if (args.orderId && shareSource.value != 'TransferOrder') {
|
||||||
// 获取订单详情
|
// 获取订单详情
|
||||||
OrderDetail.handleInit()
|
OrderDetail.handleInit()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 这个是用户分享登录之后再次进入小程序加载事件
|
||||||
const token = uni.getStorageSync('token')
|
const token = uni.getStorageSync('token')
|
||||||
|
|
||||||
if (token && shareSource.value === 'TransferOrder') {
|
if (token && shareSource.value === 'TransferOrder') {
|
||||||
// 处理转让订单
|
// 处理转让订单
|
||||||
|
OrderDetail.handleInit()
|
||||||
OrderDetail.handleTransferOrder()
|
OrderDetail.handleTransferOrder()
|
||||||
}
|
}
|
||||||
|
|
||||||
// 如果是从分享进入的未登录的情况下(TransferOrder),需要转让订单
|
// 如果是从分享进入的未登录的情况下(TransferOrder),需要转让订单
|
||||||
uni.$on('transferOrder', () => {
|
uni.$on('transferOrder', (params) => {
|
||||||
// 处理未登录的情况下
|
// 处理未登录的情况下
|
||||||
|
orderId.value = params?.orderId
|
||||||
|
shareSource.value = params?.shareSource
|
||||||
uni.$off('transferOrder')
|
uni.$off('transferOrder')
|
||||||
|
|
||||||
|
OrderDetail.handleInit()
|
||||||
OrderDetail.handleTransferOrder()
|
OrderDetail.handleTransferOrder()
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
@ -443,10 +459,11 @@
|
|||||||
* 获取订单详情
|
* 获取订单详情
|
||||||
*/
|
*/
|
||||||
handleInit: async () => {
|
handleInit: async () => {
|
||||||
|
// 这里单独处理下经纬度,因为分享的时候没有经纬度
|
||||||
const res = await getTeaRoomOrderDetail({
|
const res = await getTeaRoomOrderDetail({
|
||||||
id: orderId.value,
|
id: orderId.value,
|
||||||
latitude: uni.getStorageSync('latitude'),
|
latitude: uni.getStorageSync('latitude') || import.meta.env.VITE_DEFAULT_LATITUDE,
|
||||||
longitude: uni.getStorageSync('longitude')
|
longitude: uni.getStorageSync('longitude') || import.meta.env.VITE_DEFAULT_LONGITUDE,
|
||||||
})
|
})
|
||||||
order.value = res.details
|
order.value = res.details
|
||||||
console.log("🚀 ~ order.value :", order.value )
|
console.log("🚀 ~ order.value :", order.value )
|
||||||
@ -515,44 +532,42 @@
|
|||||||
* 确认一键续订
|
* 确认一键续订
|
||||||
*/
|
*/
|
||||||
handleRenewReserve: async () => {
|
handleRenewReserve: async () => {
|
||||||
uni.showLoading({ title: '加载中...' })
|
// uni.showLoading({ title: '加载中...' })
|
||||||
|
|
||||||
try {
|
// try {
|
||||||
await renewTeaRoomOrder({
|
// await renewTeaRoomOrder({
|
||||||
id: orderId.value,
|
// id: orderId.value,
|
||||||
start_time: reserveTime.value[2][0],
|
// renew_hour: renewHour,
|
||||||
end_time: reserveTime.value[2][reserveTime.value[2].length - 1],
|
// })
|
||||||
renew_hour: reserveTime.value[3],
|
|
||||||
})
|
|
||||||
|
|
||||||
uni.$on('payment', params => {
|
// uni.$on('payment', params => {
|
||||||
uni.$off("payment")
|
// uni.$off("payment")
|
||||||
if (params.result) {
|
// if (params.result) {
|
||||||
OrderDetail.handleInit()
|
// OrderDetail.handleInit()
|
||||||
showRenewSuccessPopup.value = true
|
// showRenewSuccessPopup.value = true
|
||||||
} else {
|
// } else {
|
||||||
message.alert({
|
// message.alert({
|
||||||
title: '提示',
|
// title: '提示',
|
||||||
msg: '您已取消续订',
|
// msg: '您已取消续订',
|
||||||
confirmButtonText: '确定',
|
// confirmButtonText: '确定',
|
||||||
confirmButtonProps: {
|
// confirmButtonProps: {
|
||||||
customClass: '!bg-[#4C9F44] !text-[#fff] !text-32rpx !leading-44rpx !rounded-8rpx',
|
// customClass: '!bg-[#4C9F44] !text-[#fff] !text-32rpx !leading-44rpx !rounded-8rpx',
|
||||||
}
|
// }
|
||||||
})
|
// })
|
||||||
}
|
// }
|
||||||
})
|
// })
|
||||||
|
|
||||||
uni.hideLoading()
|
// uni.hideLoading()
|
||||||
showRenewPopup.value = false
|
// showRenewPopup.value = false
|
||||||
|
|
||||||
router.navigateTo(
|
// router.navigateTo(
|
||||||
`/pages/cashier/cashier?from=${OrderType.TeaRoomOrder}&renew=renewTeaRoomOrder&orderId=${orderId.value}&teaRoomName=${order.value.store_msg.name}&storeId=${order.value.store_msg.id}`
|
// `/pages/cashier/cashier?from=${OrderType.TeaRoomOrder}&renew=renewTeaRoomOrder&orderId=${orderId.value}&teaRoomName=${order.value.store_msg.name}&storeId=${order.value.store_msg.id}`
|
||||||
)
|
// )
|
||||||
} catch (err) {
|
// } catch (err) {
|
||||||
uni.hideLoading()
|
// uni.hideLoading()
|
||||||
toast.info('续订失败')
|
// toast.info('续订失败')
|
||||||
return false
|
// return false
|
||||||
}
|
// }
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -587,9 +602,34 @@
|
|||||||
/**
|
/**
|
||||||
* 修改一键续订时间
|
* 修改一键续订时间
|
||||||
*/
|
*/
|
||||||
handleChooseRenewTime: (item) => {
|
handleChooseRenewTime: async (item) => {
|
||||||
console.log("🚀 ~ item:", item)
|
uni.showLoading({ title: '加载中...', mask: true })
|
||||||
|
|
||||||
|
try {
|
||||||
|
const res = await renewTeaRoomOrder({
|
||||||
|
id: orderId.value,
|
||||||
|
renew_hour: item.value,
|
||||||
|
})
|
||||||
|
|
||||||
|
// 支付后的处理
|
||||||
|
uni.$on('payment', params => {
|
||||||
|
uni.$off("payment")
|
||||||
|
if (params.result) {
|
||||||
|
toast.info('续订成功')
|
||||||
|
} else {
|
||||||
|
toast.info('续订失败')
|
||||||
|
}
|
||||||
|
OrderDetail.handleInit()
|
||||||
|
})
|
||||||
|
|
||||||
|
uni.hideLoading()
|
||||||
|
router.navigateTo(
|
||||||
|
`/pages/cashier/cashier?from=${OrderType.TeaRoomOrder}&renew=renewOrder&renewPrice=${res.price}&orderId=${res.order_id}&name=${order.value.store_msg.name}&storeId=${order.value.store_msg.id}`
|
||||||
|
)
|
||||||
|
} catch(e) {
|
||||||
|
uni.hideLoading()
|
||||||
|
return false
|
||||||
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -615,9 +655,9 @@
|
|||||||
|
|
||||||
transferOrder(orderId.value).then(res => {
|
transferOrder(orderId.value).then(res => {
|
||||||
console.log('开始转让订单4', res)
|
console.log('开始转让订单4', res)
|
||||||
|
uni.removeStorageSync('transferOrder')
|
||||||
toast.success('订单接收成功')
|
toast.success('订单接收成功')
|
||||||
router.redirectTo('/bundle/order/tea-room/order-list', 500)
|
router.switchTab('/pages/my/my', 500)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}).catch(() => {
|
}).catch(() => {
|
||||||
|
|||||||
@ -41,7 +41,7 @@
|
|||||||
<view>-¥{{ bill.groupCoupon || 0 }}</view>
|
<view>-¥{{ bill.groupCoupon || 0 }}</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="flex justify-between items-center text-24rpx text-[#909399] leading-34rpx mt-16rpx">
|
<view class="flex justify-between items-center text-24rpx text-[#909399] leading-34rpx mt-16rpx">
|
||||||
<view>会员八折</view>
|
<view>会员九折</view>
|
||||||
<view>-¥{{ bill.discount || 0 }}</view>
|
<view>-¥{{ bill.discount || 0 }}</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
@ -93,7 +93,7 @@
|
|||||||
{{ teaRoomPackage.sold > 10 ? teaRoomPackage.sold + '+' : teaRoomPackage.sold }}
|
{{ teaRoomPackage.sold > 10 ? teaRoomPackage.sold + '+' : teaRoomPackage.sold }}
|
||||||
</template>
|
</template>
|
||||||
<template v-else>
|
<template v-else>
|
||||||
{{ teaRoom.sold > 10 ? teaRoom.sold + '+' : teaRoom.sold }}
|
{{ teaRoom.room?.sold > 10 ? teaRoom.room?.sold + '+' : teaRoom.room?.sold }}
|
||||||
</template>
|
</template>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
@ -145,6 +145,27 @@
|
|||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
|
<!-- 团购券 -->
|
||||||
|
<view class="bg-white rounded-16rpx py-26rpx px-30rpx mt-24rpx mx-30rpx" @click="Detail.handleToCoupon(CouponType.GroupBuy)">
|
||||||
|
<view class="text-[#303133] text-32rpx leading-44rpx font-bold mb-24rpx">团购券</view>
|
||||||
|
<view class="flex items-center justify-between">
|
||||||
|
<view class="text-[26rpx] text-[#606266] leading-36rpx">团购券</view>
|
||||||
|
<view class="flex items-center">
|
||||||
|
<view class="text-[28rpx] text-[#909399] leading-40rpx">
|
||||||
|
<template v-if="selectedGroupCoupon?.id > 0">
|
||||||
|
{{ selectedGroupCoupon.name }}
|
||||||
|
</template>
|
||||||
|
<template v-else>
|
||||||
|
请选择
|
||||||
|
</template>
|
||||||
|
</view>
|
||||||
|
<view class="mt-4rpx">
|
||||||
|
<wd-icon name="chevron-right" size="22px" color="#909399"></wd-icon>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
<!-- 优惠券 -->
|
<!-- 优惠券 -->
|
||||||
<view class="bg-white rounded-16rpx py-26rpx px-30rpx mt-24rpx mx-30rpx" @click="Detail.handleToCoupon(CouponType.Discount)">
|
<view class="bg-white rounded-16rpx py-26rpx px-30rpx mt-24rpx mx-30rpx" @click="Detail.handleToCoupon(CouponType.Discount)">
|
||||||
<view class="text-[#303133] text-32rpx leading-44rpx font-bold mb-24rpx">优惠券</view>
|
<view class="text-[#303133] text-32rpx leading-44rpx font-bold mb-24rpx">优惠券</view>
|
||||||
@ -166,26 +187,6 @@
|
|||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<!-- 团购券 -->
|
|
||||||
<view class="bg-white rounded-16rpx py-26rpx px-30rpx mt-24rpx mx-30rpx" @click="Detail.handleToCoupon(CouponType.GroupBuy)">
|
|
||||||
<view class="text-[#303133] text-32rpx leading-44rpx font-bold mb-24rpx">团购券</view>
|
|
||||||
<view class="flex items-center justify-between">
|
|
||||||
<view class="text-[26rpx] text-[#606266] leading-36rpx">团购券</view>
|
|
||||||
<view class="flex items-center">
|
|
||||||
<view class="text-[28rpx] text-[#909399] leading-40rpx">
|
|
||||||
<template v-if="selectedGroupCoupon?.id > 0">
|
|
||||||
{{ selectedGroupCoupon.name }}
|
|
||||||
</template>
|
|
||||||
<template v-else>
|
|
||||||
请选择
|
|
||||||
</template>
|
|
||||||
</view>
|
|
||||||
<view class="mt-4rpx">
|
|
||||||
<wd-icon name="chevron-right" size="22px" color="#909399"></wd-icon>
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view v-if="isGroupBuying">
|
<view v-if="isGroupBuying">
|
||||||
@ -291,6 +292,7 @@
|
|||||||
import PriceFormat from '@/components/PriceFormat.vue'
|
import PriceFormat from '@/components/PriceFormat.vue'
|
||||||
import BookingTime from '@/components/BookingTime.vue'
|
import BookingTime from '@/components/BookingTime.vue'
|
||||||
import { getUserInfo } from '@/api/user'
|
import { getUserInfo } from '@/api/user'
|
||||||
|
import { getTeaRoomGroupCouponList } from '@/api/tea-room'
|
||||||
|
|
||||||
const OSS = inject('OSS')
|
const OSS = inject('OSS')
|
||||||
|
|
||||||
@ -360,6 +362,8 @@
|
|||||||
// 选择的优惠券
|
// 选择的优惠券
|
||||||
const selectedCoupon = ref<{id: number, name: string}>({id: 0, name: ''})
|
const selectedCoupon = ref<{id: number, name: string}>({id: 0, name: ''})
|
||||||
const selectedGroupCoupon = ref<{id: number, name: string}>({id: 0, name: ''})
|
const selectedGroupCoupon = ref<{id: number, name: string}>({id: 0, name: ''})
|
||||||
|
const selectCouponId = ref<number>(0)
|
||||||
|
const selectGroupCouponId = ref<number>(0)
|
||||||
|
|
||||||
// 用户信息
|
// 用户信息
|
||||||
const user = ref<any>(null)
|
const user = ref<any>(null)
|
||||||
@ -370,6 +374,12 @@
|
|||||||
// 页面类型
|
// 页面类型
|
||||||
const pageType = ref<string>('')
|
const pageType = ref<string>('')
|
||||||
|
|
||||||
|
// 防止重复提交
|
||||||
|
const isSubmitting = ref(false)
|
||||||
|
|
||||||
|
// 团购套餐列表
|
||||||
|
const groupCouponList = ref<Array<any>>([])
|
||||||
|
|
||||||
onLoad((args) => {
|
onLoad((args) => {
|
||||||
storeId.value = Number(args.storeId)
|
storeId.value = Number(args.storeId)
|
||||||
id.value = Number(args.id) // 在茶室下这个id是包间ID,在团购下是套餐ID
|
id.value = Number(args.id) // 在茶室下这个id是包间ID,在团购下是套餐ID
|
||||||
@ -389,7 +399,6 @@
|
|||||||
})
|
})
|
||||||
|
|
||||||
// 防止重复提交
|
// 防止重复提交
|
||||||
const isSubmitting = ref(false)
|
|
||||||
|
|
||||||
const Detail = {
|
const Detail = {
|
||||||
/**
|
/**
|
||||||
@ -421,6 +430,10 @@
|
|||||||
// 获取门店余额
|
// 获取门店余额
|
||||||
const balance = await getTeaRoomBalance({ store_id: storeId.value })
|
const balance = await getTeaRoomBalance({ store_id: storeId.value })
|
||||||
storeMoney.value = balance.data.money || 0
|
storeMoney.value = balance.data.money || 0
|
||||||
|
|
||||||
|
// 获取团购券
|
||||||
|
const group = await getTeaRoomGroupCouponList({store_id: storeId.value, room_id: id.value})
|
||||||
|
groupCouponList.value = group.list
|
||||||
},
|
},
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -468,6 +481,19 @@
|
|||||||
toast.info('请选择预定时间')
|
toast.info('请选择预定时间')
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 在选择优惠券之前需要先选择团购券
|
||||||
|
if (type === CouponType.Discount && groupCouponList.value.length > 0 && selectedGroupCoupon.value.id == 0) {
|
||||||
|
toast.info('请先选择团购券')
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// 如果选择优惠券之前订单金额已经是0的话则不用再选择优惠券
|
||||||
|
if (type === CouponType.Discount && selectedGroupCoupon.value.id > 0 && bill.value.total <= 0) {
|
||||||
|
toast.info('当前订单金额已为0,无需选择优惠券')
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
uni.$on('chooseCoupon', params => {
|
uni.$on('chooseCoupon', params => {
|
||||||
console.log("🚀 ~ params:", params)
|
console.log("🚀 ~ params:", params)
|
||||||
uni.$off('chooseCoupon')
|
uni.$off('chooseCoupon')
|
||||||
@ -475,9 +501,11 @@
|
|||||||
if (type === CouponType.Discount) {
|
if (type === CouponType.Discount) {
|
||||||
selectedCoupon.value = {id: params.coupon.user_coupon_id, name: `${params.coupon.name}减${params.coupon.coupon_price}` }
|
selectedCoupon.value = {id: params.coupon.user_coupon_id, name: `${params.coupon.name}减${params.coupon.coupon_price}` }
|
||||||
bill.value.coupon = params.coupon.coupon_price
|
bill.value.coupon = params.coupon.coupon_price
|
||||||
|
selectCouponId.value = params.coupon.id // 这里的ID是在数据表自增的ID,保存下来是为了回显列表的,没有其他作用
|
||||||
} else {
|
} else {
|
||||||
selectedGroupCoupon.value = {id: params.coupon.group_id, name: `团购券-${params.coupon?.title}` }
|
selectedGroupCoupon.value = {id: params.coupon.group_id, name: `团购券-${params.coupon?.title}` }
|
||||||
bill.value.groupCoupon = params.coupon.coupon_price
|
bill.value.groupCoupon = params.coupon.coupon_price
|
||||||
|
selectGroupCouponId.value = params.coupon.id // 这里的ID是在数据表自增的ID,保存下来是为了回显列表的,没有其他作用
|
||||||
}
|
}
|
||||||
|
|
||||||
Detail.handleCalculateTeaRoomPrice()
|
Detail.handleCalculateTeaRoomPrice()
|
||||||
@ -485,7 +513,9 @@
|
|||||||
|
|
||||||
// 获取预定了几个小时
|
// 获取预定了几个小时
|
||||||
const count = bill.value.service.num
|
const count = bill.value.service.num
|
||||||
router.navigateTo(`/bundle/coupon/coupon?id=${id.value}&numbers=${count}&type=${type}&storeId=${storeId.value}`)
|
console.log("🚀 ~ selectCouponId:", selectCouponId.value)
|
||||||
|
|
||||||
|
router.navigateTo(`/bundle/coupon/coupon?id=${id.value}&numbers=${count}&type=${type}&storeId=${storeId.value}&couponId=${selectCouponId.value}&groupCouponId=${selectGroupCouponId.value}`)
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -523,7 +553,7 @@
|
|||||||
user_coupon_id: selectedCoupon.value.id || 0,
|
user_coupon_id: selectedCoupon.value.id || 0,
|
||||||
hours: bill.value.service.num,
|
hours: bill.value.service.num,
|
||||||
group_coupon_id: selectedGroupCoupon.value.id || 0,
|
group_coupon_id: selectedGroupCoupon.value.id || 0,
|
||||||
timeslot: timeSlots.value
|
timeslot: timeSlots.value.join(',')
|
||||||
}
|
}
|
||||||
res = await createTeaRoomOrder(params)
|
res = await createTeaRoomOrder(params)
|
||||||
}
|
}
|
||||||
@ -571,7 +601,7 @@
|
|||||||
const res = await calculateTeaRoomPrice({
|
const res = await calculateTeaRoomPrice({
|
||||||
room_id: id.value,
|
room_id: id.value,
|
||||||
coupon_id: selectedCoupon.value.id || 0,
|
coupon_id: selectedCoupon.value.id || 0,
|
||||||
group_coupon_id: selectedGroupCoupon.value.id,
|
group_coupon_id: selectedGroupCoupon.value.id || 0,
|
||||||
nums: bill.value.service.num,
|
nums: bill.value.service.num,
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|||||||
@ -166,24 +166,8 @@
|
|||||||
const day = d.getDate().toString().padStart(2, '0')
|
const day = d.getDate().toString().padStart(2, '0')
|
||||||
return `${week}${m}/${day}`
|
return `${week}${m}/${day}`
|
||||||
}
|
}
|
||||||
const formattedStartDates = formatDate(timestamps[0])
|
const dayTime = formatDate(timestamps[0])
|
||||||
const formattedEndtDates = formatDate(timestamps[timestamps.length - 1])
|
const dayTitle = formatWeek(timestamps[0])
|
||||||
|
|
||||||
let dayTime = '' // 2025-12-18
|
|
||||||
if (formattedStartDates == formattedEndtDates) {
|
|
||||||
dayTime = formattedStartDates
|
|
||||||
} else {
|
|
||||||
dayTime = `${formattedStartDates} 至 ${formattedEndtDates}`
|
|
||||||
}
|
|
||||||
|
|
||||||
let dayTitle = '' // 周三03/18
|
|
||||||
const formattedStartWeeks = formatWeek(timestamps[0])
|
|
||||||
const formattedEndWeeks = formatWeek(timestamps[timestamps.length - 1])
|
|
||||||
if (formattedStartWeeks == formattedEndWeeks) {
|
|
||||||
dayTitle = formattedStartWeeks
|
|
||||||
} else {
|
|
||||||
dayTitle = `${formattedStartWeeks} 至 ${formattedEndWeeks}`
|
|
||||||
}
|
|
||||||
|
|
||||||
const data = {
|
const data = {
|
||||||
selectedDay: dayTime,
|
selectedDay: dayTime,
|
||||||
|
|||||||
@ -50,7 +50,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
const OSS = inject('OSS')
|
const OSS = inject('OSS')
|
||||||
defineProps<{
|
const props = defineProps<{
|
||||||
coupon: {
|
coupon: {
|
||||||
id: number
|
id: number
|
||||||
amount: number
|
amount: number
|
||||||
@ -74,6 +74,7 @@
|
|||||||
couponType: string
|
couponType: string
|
||||||
onCheck: (id: number) => void
|
onCheck: (id: number) => void
|
||||||
}>()
|
}>()
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -282,13 +282,13 @@
|
|||||||
confirmButtonProps: {
|
confirmButtonProps: {
|
||||||
customClass: '!bg-[#4C9F44] !text-[#fff] !text-32rpx !leading-44rpx !rounded-8rpx',
|
customClass: '!bg-[#4C9F44] !text-[#fff] !text-32rpx !leading-44rpx !rounded-8rpx',
|
||||||
}
|
}
|
||||||
}).then((res) => {
|
}).then(async (res) => {
|
||||||
if (res.action == 'confirm') {
|
if (res.action == 'confirm') {
|
||||||
let orderType: number = 0
|
let orderType: number = 0
|
||||||
switch (source) {
|
switch (source) {
|
||||||
case OrderSource.Combo:
|
case OrderSource.Combo:
|
||||||
orderType = PayOrderType.ComboRefund
|
orderType = PayOrderType.ComboRefund
|
||||||
let res = handleRefundOrderHooks(order.id, orderType)
|
let res = await handleRefundOrderHooks(order.id, orderType)
|
||||||
if (res) {
|
if (res) {
|
||||||
uni.$emit('refreshComboOrderList')
|
uni.$emit('refreshComboOrderList')
|
||||||
}
|
}
|
||||||
|
|||||||
@ -95,9 +95,13 @@ export async function handleRefundOrderHooks(orderId: number, orderType: number)
|
|||||||
uni.showLoading({ title: '退款中...' })
|
uni.showLoading({ title: '退款中...' })
|
||||||
const res = await submitRefund({ order_id: orderId, order_type: orderType })
|
const res = await submitRefund({ order_id: orderId, order_type: orderType })
|
||||||
await refund({ id: res.id })
|
await refund({ id: res.id })
|
||||||
toast.info('退款成功')
|
toast.info('退款成功,退款有延迟,请耐心等待,注意查收')
|
||||||
uni.hideLoading()
|
|
||||||
return true
|
// 退款延迟-1.5秒钟后再执行
|
||||||
|
setTimeout(() => {
|
||||||
|
uni.hideLoading()
|
||||||
|
return true
|
||||||
|
}, 1500)
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
toast.info('退款失败')
|
toast.info('退款失败')
|
||||||
return false
|
return false
|
||||||
|
|||||||
@ -49,7 +49,6 @@ const alovaInstance = createAlova({
|
|||||||
statesHook: VueHook,
|
statesHook: VueHook,
|
||||||
|
|
||||||
beforeRequest: onAuthRequired((method) => {
|
beforeRequest: onAuthRequired((method) => {
|
||||||
// console.log("🚀 ~ method:", method)
|
|
||||||
// 设置默认 Content-Type
|
// 设置默认 Content-Type
|
||||||
method.config.headers = {
|
method.config.headers = {
|
||||||
ContentType: ContentTypeEnum.JSON,
|
ContentType: ContentTypeEnum.JSON,
|
||||||
@ -59,7 +58,6 @@ const alovaInstance = createAlova({
|
|||||||
|
|
||||||
const { config } = method
|
const { config } = method
|
||||||
const ignoreAuth = !config.meta?.ignoreAuth
|
const ignoreAuth = !config.meta?.ignoreAuth
|
||||||
console.log('ignoreAuth===>', ignoreAuth)
|
|
||||||
// 处理认证信息 自行处理认证问题
|
// 处理认证信息 自行处理认证问题
|
||||||
if (ignoreAuth) {
|
if (ignoreAuth) {
|
||||||
// const token = 'getToken()'
|
// const token = 'getToken()'
|
||||||
@ -69,7 +67,6 @@ const alovaInstance = createAlova({
|
|||||||
// method.config.headers.token = token;
|
// method.config.headers.token = token;
|
||||||
|
|
||||||
const token = uni.getStorageSync('token')
|
const token = uni.getStorageSync('token')
|
||||||
console.log("🚀 ~ token=auth:", token)
|
|
||||||
if (!token) {
|
if (!token) {
|
||||||
toast.info('请先登录')
|
toast.info('请先登录')
|
||||||
router.navigateTo(import.meta.env.VITE_LOGIN_URL, 500)
|
router.navigateTo(import.meta.env.VITE_LOGIN_URL, 500)
|
||||||
@ -129,7 +126,7 @@ const alovaInstance = createAlova({
|
|||||||
|
|
||||||
if (code !== ResultEnum.Success) {
|
if (code !== ResultEnum.Success) {
|
||||||
if (config.meta?.toast !== false) {
|
if (config.meta?.toast !== false) {
|
||||||
toast.warning(msg)
|
toast.info(msg)
|
||||||
}
|
}
|
||||||
throw new Error(`请求错误[${code}]:${msg}`)
|
throw new Error(`请求错误[${code}]:${msg}`)
|
||||||
}
|
}
|
||||||
|
|||||||
@ -41,14 +41,9 @@
|
|||||||
<pay @pay="Cashier.handleGetPayValue" :hidePlatformBalance="hidePlatformBalance" :hideStoreBalance="hideStoreBalance" :hideWechat="hideWechat" :storeMoney="storeMoney"></pay>
|
<pay @pay="Cashier.handleGetPayValue" :hidePlatformBalance="hidePlatformBalance" :hideStoreBalance="hideStoreBalance" :hideWechat="hideWechat" :storeMoney="storeMoney"></pay>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<!-- <view
|
|
||||||
class="fixed bottom-70rpx left-0 right-0 text-#fff font-bold text-30rpx leading-42rpx mx-60rpx h-90rpx leading-90rpx text-center rounded-8rpx"
|
|
||||||
@click="Cashier.handleToPay">立即支付
|
|
||||||
</view> -->
|
|
||||||
<view class="fixed bottom-70rpx left-0 right-0 text-#fff font-bold text-30rpx leading-42rpx mx-60rpx text-center rounded-8rpx w-630rpx" >
|
<view class="fixed bottom-70rpx left-0 right-0 text-#fff font-bold text-30rpx leading-42rpx mx-60rpx text-center rounded-8rpx w-630rpx" >
|
||||||
<wd-button custom-class='!bg-[#4C9F44] !rounded-8rpx !h-90rpx !leading-90rpx !w-630rpx' :disabled="isSubmitting" @click='Cashier.handleToPay'>{{ isGroupBuying ? '立即购买' : '立即预定' }}</wd-button>
|
<wd-button custom-class='!bg-[#4C9F44] !rounded-8rpx !h-90rpx !leading-90rpx !w-630rpx' :disabled="isSubmitting" @click='Cashier.handleToPay'>{{ isGroupBuying ? '立即购买' : '立即预定' }}</wd-button>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -131,11 +126,13 @@
|
|||||||
onLoad(async (args) => {
|
onLoad(async (args) => {
|
||||||
orderId.value = Number(args.orderId)
|
orderId.value = Number(args.orderId)
|
||||||
comboId.value = Number(args.cmoboId) || 0
|
comboId.value = Number(args.cmoboId) || 0
|
||||||
|
groupCouponId.value = Number(args.groupCouponId) || 0
|
||||||
|
isGroupBuying.value = Number(args.isGroupBuying) || 0
|
||||||
|
console.log("🚀 ~ isGroupBuying.value:", isGroupBuying.value)
|
||||||
|
|
||||||
// 一键续订
|
// 一键续订
|
||||||
renew.value = args.renew || ''
|
renew.value = args?.renew || ''
|
||||||
isGroupBuying.value = Number(args.isGroupBuying)
|
renewPrice.value = Number(args?.renewPrice) || 0
|
||||||
groupCouponId.value = Number(args.groupCouponId) || 0
|
|
||||||
|
|
||||||
// 获取门店余额
|
// 获取门店余额
|
||||||
if (args.storeId) {
|
if (args.storeId) {
|
||||||
@ -149,7 +146,7 @@
|
|||||||
if (from.value === OrderType.TeaRoomOrder) {
|
if (from.value === OrderType.TeaRoomOrder) {
|
||||||
// 茶室订单:预定、套餐团购两种方式
|
// 茶室订单:预定、套餐团购两种方式
|
||||||
if (args.name && isGroupBuying.value == 0) {
|
if (args.name && isGroupBuying.value == 0) {
|
||||||
title.value = `茶室预定-${args.name}`
|
title.value = renew.value ? `茶室续订-${args.name}` : `茶室预定-${args.name}`
|
||||||
} else {
|
} else {
|
||||||
title.value = `茶室套餐购买-${args.name}`
|
title.value = `茶室套餐购买-${args.name}`
|
||||||
hideStoreBalance.value = true // 隐藏门店余额支付
|
hideStoreBalance.value = true // 隐藏门店余额支付
|
||||||
@ -164,6 +161,8 @@
|
|||||||
if (args.from == OrderType.TeaRoomOrder && args.orderId) {
|
if (args.from == OrderType.TeaRoomOrder && args.orderId) {
|
||||||
// 获取订单详情
|
// 获取订单详情
|
||||||
if (isGroupBuying.value == 0) {
|
if (isGroupBuying.value == 0) {
|
||||||
|
// 茶室预约订单走这个接口,续订的不需要
|
||||||
|
if (renew.value) return
|
||||||
Cashier.handleGetOrderDetails()
|
Cashier.handleGetOrderDetails()
|
||||||
} else {
|
} else {
|
||||||
Cashier.handleGetRoomPackageDetails()
|
Cashier.handleGetRoomPackageDetails()
|
||||||
@ -206,9 +205,6 @@
|
|||||||
})
|
})
|
||||||
order.value = res
|
order.value = res
|
||||||
money.value = Number(res.details.order_amount)
|
money.value = Number(res.details.order_amount)
|
||||||
|
|
||||||
// 一键续订价格
|
|
||||||
renewPrice.value = Number(res.details?.renew_dtime?.renew_price) || 0
|
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@ -49,10 +49,10 @@
|
|||||||
const agree = ref<boolean>(false)
|
const agree = ref<boolean>(false)
|
||||||
|
|
||||||
const redirectUrl = ref<string>('')
|
const redirectUrl = ref<string>('')
|
||||||
|
const redirectParams = ref<string>('')
|
||||||
|
|
||||||
onLoad((args) => {
|
onLoad((args) => {
|
||||||
redirectUrl.value = args.redirect || ''
|
redirectUrl.value = args.redirect || ''
|
||||||
|
|
||||||
})
|
})
|
||||||
|
|
||||||
const Login = {
|
const Login = {
|
||||||
@ -73,8 +73,10 @@
|
|||||||
uni.hideLoading()
|
uni.hideLoading()
|
||||||
if (res) {
|
if (res) {
|
||||||
const decoded = decodeURIComponent(redirectUrl.value)
|
const decoded = decodeURIComponent(redirectUrl.value)
|
||||||
|
console.log("🚀 ~ decoded:", decoded)
|
||||||
if (decoded == '/bundle/order/tea-room/order-detail') {
|
if (decoded == '/bundle/order/tea-room/order-detail') {
|
||||||
uni.$emit('transferOrder')
|
const transferOrderParams = uni.getStorageSync('transferOrderParams')
|
||||||
|
uni.$emit('transferOrder', transferOrderParams)
|
||||||
}
|
}
|
||||||
|
|
||||||
toast.info('登录成功')
|
toast.info('登录成功')
|
||||||
@ -83,14 +85,13 @@
|
|||||||
} catch(error) {
|
} catch(error) {
|
||||||
uni.hideLoading()
|
uni.hideLoading()
|
||||||
}
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
// 手机登录
|
// 手机登录
|
||||||
handleMobileLogin: async () => {
|
handleMobileLogin: async () => {
|
||||||
const userStore = useUserStore()
|
const userStore = useUserStore()
|
||||||
console.log("🚀 ~ userStore:", userStore)
|
console.log("🚀 ~ userStore:", userStore)
|
||||||
const res = await userStore.mobileLogin('18868040087', 1, 2)
|
const res = await userStore.mobileLogin('15005837859', 1, 2)
|
||||||
if (res) {
|
if (res) {
|
||||||
uni.setStorageSync('latitude', '30.74744')
|
uni.setStorageSync('latitude', '30.74744')
|
||||||
uni.setStorageSync('longitude', '120.78483')
|
uni.setStorageSync('longitude', '120.78483')
|
||||||
|
|||||||
@ -24,8 +24,10 @@ export const navigateToInterceptor = {
|
|||||||
// 注意,这里的url是 '/' 开头的,如 '/pages/index/index',跟 'pages.json' 里面的 path 不同
|
// 注意,这里的url是 '/' 开头的,如 '/pages/index/index',跟 'pages.json' 里面的 path 不同
|
||||||
// 增加对相对路径的处理,BY 网友 @ideal
|
// 增加对相对路径的处理,BY 网友 @ideal
|
||||||
invoke({ url }: { url: string }) {
|
invoke({ url }: { url: string }) {
|
||||||
|
// console.log("🚀 ~ url:", url)
|
||||||
// console.log(url) // /pages/route-interceptor/index?name=feige&age=30
|
// console.log(url) // /pages/route-interceptor/index?name=feige&age=30
|
||||||
let path = url.split('?')[0]
|
let path = url.split('?')[0]
|
||||||
|
let params = url.split('?')[1] || ''
|
||||||
|
|
||||||
// 处理相对路径
|
// 处理相对路径
|
||||||
if (!path.startsWith('/')) {
|
if (!path.startsWith('/')) {
|
||||||
@ -43,30 +45,29 @@ export const navigateToInterceptor = {
|
|||||||
else {
|
else {
|
||||||
needLoginPages = _needLoginPages
|
needLoginPages = _needLoginPages
|
||||||
}
|
}
|
||||||
const isNeedLogin = needLoginPages.includes(path)
|
const isNeedLogin = needLoginPages.includes(path)
|
||||||
console.log("🚀 ~ router: path:", path)
|
// console.log("🚀 ~ router: path:", path)
|
||||||
console.log("🚀 ~ router: needLoginPages:", needLoginPages)
|
// console.log("🚀 ~ router: needLoginPages:", needLoginPages)
|
||||||
|
|
||||||
if (!isNeedLogin) {
|
if (!isNeedLogin) {
|
||||||
console.log("🚀 ~ router2: isNeedLogin:")
|
// console.log("🚀 ~ router2: isNeedLogin:")
|
||||||
|
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
console.log("🚀 ~ router2-1: isNeedLogin:")
|
// console.log("🚀 ~ router2-1: isNeedLogin:")
|
||||||
|
|
||||||
const hasLogin = isLogined()
|
const hasLogin = isLogined()
|
||||||
console.log("🚀 ~ hasLogin:", hasLogin)
|
// console.log("🚀 ~ hasLogin:", hasLogin)
|
||||||
if (hasLogin) {
|
if (hasLogin) {
|
||||||
console.log("🚀 ~ router3:")
|
// console.log("🚀 ~ router3:")
|
||||||
|
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
console.log("🚀 ~ router4:")
|
// console.log("🚀 ~ router4:")
|
||||||
|
|
||||||
tabbarStore.restorePrevIdx()
|
tabbarStore.restorePrevIdx()
|
||||||
const redirectRoute = `${loginRoute}?redirect=${encodeURIComponent(url)}`
|
const redirectRoute = `${loginRoute}?redirect=${encodeURIComponent(url)}&redirectParams=${encodeURIComponent(params)}`
|
||||||
console.log("🚀 ~ redirectRoute:", redirectRoute)
|
// console.log("🚀 ~ redirectRoute:", redirectRoute)
|
||||||
uni.navigateTo({ url: redirectRoute })
|
uni.navigateTo({ url: redirectRoute })
|
||||||
return false
|
return false
|
||||||
},
|
},
|
||||||
|
|||||||
@ -305,7 +305,7 @@ export const TeaRoomPackageOrderStatusTextValue: Record<TeaRoomPackageOrderStatu
|
|||||||
export enum GroupComboOrderStatus {
|
export enum GroupComboOrderStatus {
|
||||||
ToUse = 0, // 待使用
|
ToUse = 0, // 待使用
|
||||||
Used = 1, // 已使用
|
Used = 1, // 已使用
|
||||||
Refunded = 2, // 已退款
|
Refunded = 3, // 已退款
|
||||||
}
|
}
|
||||||
|
|
||||||
// 本地-团购套餐订单状态
|
// 本地-团购套餐订单状态
|
||||||
@ -320,7 +320,7 @@ export const GroupComboOrderStatusValue: Record<GroupComboOrderStatusText, strin
|
|||||||
[GroupComboOrderStatusText.All]: '',
|
[GroupComboOrderStatusText.All]: '',
|
||||||
[GroupComboOrderStatusText.ToUse]: 0,
|
[GroupComboOrderStatusText.ToUse]: 0,
|
||||||
[GroupComboOrderStatusText.Used]: 1,
|
[GroupComboOrderStatusText.Used]: 1,
|
||||||
[GroupComboOrderStatusText.Refunded]: 2,
|
[GroupComboOrderStatusText.Refunded]: 3,
|
||||||
}
|
}
|
||||||
|
|
||||||
export const GroupComboOrderStatusTextValue: Record<GroupComboOrderStatus, any> = {
|
export const GroupComboOrderStatusTextValue: Record<GroupComboOrderStatus, any> = {
|
||||||
|
|||||||
Reference in New Issue
Block a user