调试接口
This commit is contained in:
@ -146,15 +146,15 @@ export function getAllRoomList(store_id: number) {
|
|||||||
* 包间预定
|
* 包间预定
|
||||||
*/
|
*/
|
||||||
export interface IReserveRoomParams {
|
export interface IReserveRoomParams {
|
||||||
id: number
|
room_id: number
|
||||||
day_time: string
|
day_time: string
|
||||||
start_time: string
|
day_title: string
|
||||||
end_time: string
|
|
||||||
hours: number
|
hours: number
|
||||||
|
timeslot: string
|
||||||
}
|
}
|
||||||
|
|
||||||
export function reserveRoom(data: IReserveRoomParams) {
|
export function reserveRoom(data: IReserveRoomParams) {
|
||||||
return http.Post('/storeapi/store/submitStoreOrder', data)
|
return http.Post('/storeapi/order/addOrder', data)
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@ -8,6 +8,10 @@
|
|||||||
|
|
||||||
<template>
|
<template>
|
||||||
<view>
|
<view>
|
||||||
|
<view>
|
||||||
|
<navbar :title="page.title" custom-class='!bg-[#fff]'></navbar>
|
||||||
|
</view>
|
||||||
|
|
||||||
<view class="mx-60rpx mt-20rpx">
|
<view class="mx-60rpx mt-20rpx">
|
||||||
<view class="text-[#303133] text-48rpx leading-80rpx font-600">
|
<view class="text-[#303133] text-48rpx leading-80rpx font-600">
|
||||||
{{ page.title }}
|
{{ page.title }}
|
||||||
|
|||||||
@ -8,6 +8,10 @@
|
|||||||
|
|
||||||
<template>
|
<template>
|
||||||
<view>
|
<view>
|
||||||
|
<view>
|
||||||
|
<navbar title="修改密码" custom-class='!bg-[#fff]'></navbar>
|
||||||
|
</view>
|
||||||
|
|
||||||
<view class="mx-60rpx mt-20rpx">
|
<view class="mx-60rpx mt-20rpx">
|
||||||
<view class="text-[#303133] text-48rpx leading-80rpx font-600">
|
<view class="text-[#303133] text-48rpx leading-80rpx font-600">
|
||||||
修改密码
|
修改密码
|
||||||
|
|||||||
@ -24,7 +24,7 @@
|
|||||||
<view class="mt-32rpx">
|
<view class="mt-32rpx">
|
||||||
<view class="font-bold text-32rpx text-[#303133] leading-44rpx">抖音UID</view>
|
<view class="font-bold text-32rpx text-[#303133] leading-44rpx">抖音UID</view>
|
||||||
<view class="mt-10rpx">
|
<view class="mt-10rpx">
|
||||||
<wd-input v-model="form.dy_uid" :maxlength="20" show-word-limit placeholder="请输入抖音UID"/>
|
<wd-input v-model="form.pro_id" :maxlength="20" show-word-limit placeholder="请输入抖音UID"/>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
@ -153,7 +153,7 @@
|
|||||||
const form = ref({
|
const form = ref({
|
||||||
id: 0,
|
id: 0,
|
||||||
name: '',
|
name: '',
|
||||||
dy_uid: '',
|
pro_id: '',
|
||||||
image: '',
|
image: '',
|
||||||
image_arr: [],
|
image_arr: [],
|
||||||
video: '',
|
video: '',
|
||||||
@ -192,7 +192,7 @@
|
|||||||
form.value = {
|
form.value = {
|
||||||
id: d.id,
|
id: d.id,
|
||||||
name: d.name,
|
name: d.name,
|
||||||
dy_uid: d.dy_uid,
|
pro_id: d.pro_id,
|
||||||
image: d.image,
|
image: d.image,
|
||||||
image_arr: d.image_arr || [],
|
image_arr: d.image_arr || [],
|
||||||
video: d.video || '',
|
video: d.video || '',
|
||||||
|
|||||||
@ -8,9 +8,9 @@
|
|||||||
|
|
||||||
<view class="">
|
<view class="">
|
||||||
<view class="booking-time">
|
<view class="booking-time">
|
||||||
<wd-tabs v-model="selectedDay" color="#4C9F44" @click="BookingTime.handleChangeTimeTab">
|
<wd-tabs v-model="selectedDay" color="#4C9F44" @click="BookingTime.handleChangeTimeTab" :slidable-num="4">
|
||||||
<scroll-view scroll-y class="!h-500rpx pb-100rpx">
|
<scroll-view scroll-y class="!h-500rpx pb-100rpx">
|
||||||
<block v-for="item in day.time" :key="item">
|
<block v-for="(item, index) in day.time" :key="index">
|
||||||
<wd-tab :title="`${item.display}`" :name="item.display">
|
<wd-tab :title="`${item.display}`" :name="item.display">
|
||||||
<view class="">
|
<view class="">
|
||||||
<view class=" mt-30rpx">
|
<view class=" mt-30rpx">
|
||||||
@ -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,
|
||||||
|
|||||||
@ -15,8 +15,8 @@
|
|||||||
<view class="">
|
<view class="">
|
||||||
<view class="text-26rpx leading-32rpx text-[#606266] mb-20rpx">包厢选择</view>
|
<view class="text-26rpx leading-32rpx text-[#606266] mb-20rpx">包厢选择</view>
|
||||||
<view class="">
|
<view class="">
|
||||||
<wd-picker :columns="columns" value-key="label" value-name="id" v-model="form.name" use-default-slot @confirm="Reserve.handleConfirmRoom">
|
<wd-picker :columns="columns" value-key="label" value-name="id" v-model="roomName" use-default-slot @confirm="Reserve.handleConfirmRoom">
|
||||||
<wd-input type="text" v-model="form.name" placeholder="请选择包厢" readonly>
|
<wd-input type="text" v-model="roomName" placeholder="请选择包厢" readonly>
|
||||||
<template #suffix>
|
<template #suffix>
|
||||||
<wd-icon name="arrow-down" size="32rpx" color="#D8D8D8"></wd-icon>
|
<wd-icon name="arrow-down" size="32rpx" color="#D8D8D8"></wd-icon>
|
||||||
</template>
|
</template>
|
||||||
@ -25,7 +25,7 @@
|
|||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view class="mt-22rpx">
|
<!-- <view class="mt-22rpx">
|
||||||
<view class="text-26rpx leading-32rpx text-[#606266] mb-20rpx">包厢价格</view>
|
<view class="text-26rpx leading-32rpx text-[#606266] mb-20rpx">包厢价格</view>
|
||||||
<view class="">
|
<view class="">
|
||||||
<wd-input type="text" v-model="form.price" placeholder="请输入包厢价格">
|
<wd-input type="text" v-model="form.price" placeholder="请输入包厢价格">
|
||||||
@ -34,7 +34,7 @@
|
|||||||
</template>
|
</template>
|
||||||
</wd-input>
|
</wd-input>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view> -->
|
||||||
|
|
||||||
<view class="mt-22rpx">
|
<view class="mt-22rpx">
|
||||||
<view class="text-26rpx leading-32rpx text-[#606266] mb-20rpx">预定时间</view>
|
<view class="text-26rpx leading-32rpx text-[#606266] mb-20rpx">预定时间</view>
|
||||||
@ -77,21 +77,20 @@
|
|||||||
const reserveTime = ref<any>({})
|
const reserveTime = ref<any>({})
|
||||||
const dayTitle = ref<string>('') // 周三03/18
|
const dayTitle = ref<string>('') // 周三03/18
|
||||||
const dayTime = ref<string>('') // 2024-03-18
|
const dayTime = ref<string>('') // 2024-03-18
|
||||||
const displayTime = ref<string>('') // 预定时长00:00,00:30
|
const timeSlots = ref<Array<string>>([]) // 连续选择的预约时间
|
||||||
|
const dayHours = ref<string>('') // 预定时长00:00,00:30
|
||||||
|
const displayTime = ref<string>('') // 2024-03-18,00:00,00:30
|
||||||
|
|
||||||
const form = ref({
|
const form = ref({
|
||||||
store_id: useStore.defaultStore.id,
|
room_id: 0, // 包间ID
|
||||||
id: 0, // 包间ID
|
hours: 0, // 预定小时数
|
||||||
name: '', // 包间名称
|
timeslot: '', // 预定时间段
|
||||||
price: '', // 包间价格
|
|
||||||
day_time: '', // 预定日期
|
day_time: '', // 预定日期
|
||||||
day_title: '', // 预定日期标题
|
day_title: '', // 预定日期标题
|
||||||
start_time: '', // 开始时间
|
|
||||||
end_time: '', // 结束时间
|
|
||||||
hours: 0, // 预定小时数
|
|
||||||
timeslot: [], // 预定时间段
|
|
||||||
})
|
})
|
||||||
|
|
||||||
|
const roomName = ref<string>('')
|
||||||
|
|
||||||
onLoad(async (args) => {
|
onLoad(async (args) => {
|
||||||
// 获取包厢列表
|
// 获取包厢列表
|
||||||
const res = await getAllRoomList(useStore.defaultStore.id)
|
const res = await getAllRoomList(useStore.defaultStore.id)
|
||||||
@ -110,11 +109,11 @@
|
|||||||
* @param params
|
* @param params
|
||||||
*/
|
*/
|
||||||
handleConfirmRoom: async (item) => {
|
handleConfirmRoom: async (item) => {
|
||||||
form.value.id = item.selectedItems.id
|
form.value.room_id = item.selectedItems.id
|
||||||
const res = await getRoomDetails(form.value.id)
|
const res = await getRoomDetails(form.value.room_id)
|
||||||
|
|
||||||
// 预定时间
|
// 预定时间
|
||||||
const next7 = await getNext7Days(form.value.id, getCurrentDate())
|
const next7 = await getNext7Days(form.value.room_id, getCurrentDate())
|
||||||
Object.assign(sevenDay, next7.data)
|
Object.assign(sevenDay, next7.data)
|
||||||
Object.assign(sevenDay, {minimum_time: res.details.room.hours})
|
Object.assign(sevenDay, {minimum_time: res.details.room.hours})
|
||||||
},
|
},
|
||||||
@ -124,12 +123,15 @@
|
|||||||
*/
|
*/
|
||||||
handleChooseReserveTime: (params: any) => {
|
handleChooseReserveTime: (params: any) => {
|
||||||
reserveTime.value = params
|
reserveTime.value = params
|
||||||
dayTime.value = params.dayTime
|
timeSlots.value = params.selectedTimestamps
|
||||||
dayTitle.value = params.dayTitle
|
dayTitle.value = params.dayTitle
|
||||||
|
dayTime.value = params.dayTime
|
||||||
|
|
||||||
const times = params.selectedTime.map(item => {
|
const times = params.selectedTime.map(item => {
|
||||||
return item.time
|
return item.time
|
||||||
}).join(',')
|
}).join(',')
|
||||||
|
dayHours.value = times
|
||||||
|
|
||||||
displayTime.value = params.dayTime + ',' + times
|
displayTime.value = params.dayTime + ',' + times
|
||||||
},
|
},
|
||||||
|
|
||||||
@ -137,29 +139,22 @@
|
|||||||
* 确认预定
|
* 确认预定
|
||||||
*/
|
*/
|
||||||
handleConfirm: async () => {
|
handleConfirm: async () => {
|
||||||
if (!form.value.name) {
|
if (!form.value.room_id) {
|
||||||
toast.info('请选择包厢')
|
toast.info('请选择包厢')
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!form.value.price) {
|
|
||||||
toast.info('请输入包厢价格')
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
if (reserveTime.value.length === 0) {
|
if (reserveTime.value.length === 0) {
|
||||||
toast.info('请选择预定时间')
|
toast.info('请选择预定时间')
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
form.value.day_time = reserveTime.value.dayTime
|
|
||||||
form.value.start_time = reserveTime.value.selectedTime[0].time
|
|
||||||
form.value.end_time = reserveTime.value.selectedTime[ reserveTime.value.selectedTime.length - 1].time
|
|
||||||
form.value.hours = reserveTime.value.countSelectedTime
|
form.value.hours = reserveTime.value.countSelectedTime
|
||||||
form.value.timeslot = reserveTime.value.selectedTimestamps
|
form.value.timeslot = timeSlots.value.join(',')
|
||||||
|
form.value.day_time = reserveTime.value.dayTime
|
||||||
form.value.day_title = dayTitle.value,
|
form.value.day_title = dayTitle.value,
|
||||||
|
|
||||||
delete form.value.name
|
|
||||||
uni.showLoading({
|
uni.showLoading({
|
||||||
title: '操作中...',
|
title: '操作中...',
|
||||||
mask: true
|
mask: true
|
||||||
@ -171,7 +166,6 @@
|
|||||||
router.navigateBack(1, 500)
|
router.navigateBack(1, 500)
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
uni.hideLoading()
|
uni.hideLoading()
|
||||||
toast.info('预定失败,请重试')
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -524,7 +524,7 @@
|
|||||||
const avatarUrl = response.data.url
|
const avatarUrl = response.data.url
|
||||||
await updateUserInfo({ avatar: avatarUrl })
|
await updateUserInfo({ avatar: avatarUrl })
|
||||||
form.image = avatarUrl
|
form.image = avatarUrl
|
||||||
toast.info('头像上传成功')
|
toast.info('图片上传成功')
|
||||||
} else {
|
} else {
|
||||||
throw new Error('上传失败')
|
throw new Error('上传失败')
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user