完善接口
This commit is contained in:
@ -23,7 +23,7 @@
|
||||
: selectedTime.includes(item2.start_time)
|
||||
? 'bg-[#F1F8F0] text-[#4C9F44]' // 选中高亮
|
||||
: 'bg-[#F7F7F7] text-[#303133]', // 可选高亮
|
||||
]" @click="item2.disabled == 1 && bookingTime.handleSelectTime(item2.start_time)">
|
||||
]" @click="item2.disabled == 1 && bookingTime.handleSelectTime(item2.start_time, item2.timestamp)">
|
||||
{{ item2.start_time }}
|
||||
</view>
|
||||
</view>
|
||||
@ -79,48 +79,31 @@
|
||||
|
||||
// 初始化时间
|
||||
onMounted(() => {
|
||||
bookingTime.handleInitTime()
|
||||
// bookingTime.handleInitTime()
|
||||
})
|
||||
|
||||
/** 日期相关 **/
|
||||
const timeList = [
|
||||
{ time: '09:00', disabled: true },
|
||||
{ time: '09:30', disabled: false },
|
||||
{ time: '10:00', disabled: false },
|
||||
{ time: '10:30', disabled: false },
|
||||
{ time: '11:00', disabled: false },
|
||||
{ time: '11:30', disabled: false },
|
||||
]
|
||||
const weekMap = ['周日', '周一', '周二', '周三', '周四', '周五', '周六']
|
||||
|
||||
const days = ref<string[]>([])
|
||||
const selectedDay = ref<number>(0)
|
||||
const selectedTime = ref<string[]>([])
|
||||
const selectedTimeStamp = ref<number[]>([])
|
||||
const countSelectedTime = ref<number>(0)
|
||||
|
||||
const bookingTime = {
|
||||
// 初始化时间逻辑
|
||||
handleInitTime: () => {
|
||||
const today = new Date()
|
||||
const result: string[] = []
|
||||
for (let i = 0; i < 7; i++) {
|
||||
const d = new Date(today)
|
||||
d.setDate(today.getDate() + i)
|
||||
const month = d.getMonth() + 1
|
||||
const date = d.getDate()
|
||||
const week = weekMap[d.getDay()]
|
||||
result.push(`${month}/${date}${week}`)
|
||||
}
|
||||
days.value = result
|
||||
console.log("🚀 ~ days.value:", days.value)
|
||||
},
|
||||
|
||||
// 选择的时间高亮显示
|
||||
handleSelectTime: (time: string) => {
|
||||
handleSelectTime: (time: string, timestamp: number) => {
|
||||
const idx = selectedTime.value.indexOf(time)
|
||||
if (idx > -1) {
|
||||
selectedTime.value.splice(idx, 1) // 取消选中
|
||||
selectedTimeStamp.value.splice(idx, 1)
|
||||
} else {
|
||||
selectedTime.value.push(time) // 选中
|
||||
selectedTimeStamp.value.push(timestamp)
|
||||
}
|
||||
|
||||
// 计算时长
|
||||
@ -142,7 +125,8 @@
|
||||
|
||||
const data = [
|
||||
selectedDay.value,
|
||||
selectedTime.value
|
||||
selectedTime.value,
|
||||
selectedTimeStamp.value.sort(),
|
||||
]
|
||||
emit('selectedTime', data)
|
||||
showPopup.value = false
|
||||
@ -151,12 +135,14 @@
|
||||
// 切换时间tab的时候把之前选中的时间重置
|
||||
handleChangeTimeTab: () => {
|
||||
selectedTime.value = []
|
||||
selectedTimeStamp.value = []
|
||||
countSelectedTime.value = 0
|
||||
},
|
||||
|
||||
// 重置选择的时间
|
||||
resetSelectedTime: () => {
|
||||
selectedTime.value = []
|
||||
selectedTimeStamp.value = []
|
||||
},
|
||||
}
|
||||
|
||||
|
||||
@ -145,54 +145,63 @@
|
||||
<view v-if="type === OrderSource.TeaSpecialist" class="bg-white rounded-10rpx p-28rpx">
|
||||
<view class="flex items-center">
|
||||
<view class="mr-28rpx">
|
||||
<wd-img width="200rpx" height="200rpx" :src="`${OSS}images/home/home_image5.png`"></wd-img>
|
||||
<wd-img width="200rpx" height="200rpx" :src="order.image"></wd-img>
|
||||
</view>
|
||||
<view class="flex-1" @click="comboCard.handleToOrderDetail">
|
||||
<view class="flex items-center relative">
|
||||
<view class="w-400rpx flex items-center">
|
||||
<view class="font-bold text-[#303133] text-30rpx leading-42rpx mr-14rpx">茶艺师</view>
|
||||
<view class="w-160rpx h-40rpx relative mr-44rpx">
|
||||
<view class="absolute left-0 top-0 h-36rpx flex items-start">
|
||||
<wd-img :src="`${OSS}icon/icon_gold_medal.png`" width="36rpx" height="36rpx"></wd-img>
|
||||
</view>
|
||||
<view class="bg-[#F0F6EF] text-[#006C2D] font-400 text-22rpx leading-32rpx rounded-4rpx text-center w-150rpx ml-18rpx pb-4rpx">金牌茶艺师</view>
|
||||
<view class="font-bold text-[#303133] text-30rpx leading-42rpx mr-14rpx">{{ order.name }}</view>
|
||||
<view class="">
|
||||
<tea-specialist-level :level="TeaSpecialistLevelValue[order.teamasterLevel[0].level_name]"></tea-specialist-level>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="font-400 text-28rpx leading-20rpx text-[#4C9F44] flex items-center absolute top-6rpx right-0">
|
||||
<text v-if="orderStatus === OrderStatus.Consuming">消费中</text>
|
||||
<text v-if="orderStatus === OrderStatus.Reserved">已预约</text>
|
||||
<text v-if="orderStatus === OrderStatus.Serving">服务中</text>
|
||||
<text v-if="orderStatus === OrderStatus.Finished" class="text-[#606266]">完成</text>
|
||||
<text v-if="orderStatus === OrderStatus.Pending" class="text-[#FF5951]" >待付款</text>
|
||||
<text v-if="orderStatus === OrderStatus.Cancelled" class="text-[#C9C9C9]" >订单取消</text>
|
||||
<text v-if="order.order_status === TeaSpecialistOrderStatus.Pending" class="text-[#FF5951]" >待付款</text>
|
||||
<text v-if="order.order_status === TeaSpecialistOrderStatus.Pay">已预约</text>
|
||||
<text v-if="order.order_status === TeaSpecialistOrderStatus.Serving">服务中</text>
|
||||
<text v-if="order.order_status === TeaSpecialistOrderStatus.Confirm" class="text-[#F29747]">待确认</text>
|
||||
<text v-if="order.order_status === TeaSpecialistOrderStatus.Finished" class="text-[#606266]">完成</text>
|
||||
<text v-if="order.order_status === TeaSpecialistOrderStatus.Cancelled" class="text-[#C9C9C9]" >订单取消</text>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="flex items-center">
|
||||
<template v-for="(label, labelIndex) in order.teamasterlabel" :key="labelIndex">
|
||||
<!-- 上门服务 -->
|
||||
<view class="mr-12rpx" v-if="label.id == 1">
|
||||
<wd-tag color="#40AE36" bg-color="#40AE36" plain custom-class="!rounded-4rpx">{{ label.label_name }}</wd-tag>
|
||||
</view>
|
||||
|
||||
<!-- 到点服务 -->
|
||||
<view class="mr-12rpx" v-if="label.id == 2">
|
||||
<wd-tag color="#F55726" bg-color="#F55726" plain custom-class="!rounded-4rpx">{{ label.label_name }}</wd-tag>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<view class="mr-12rpx">
|
||||
<wd-tag color="#40AE36" bg-color="#40AE36" plain custom-class="!rounded-4rpx">上门服务</wd-tag>
|
||||
<wd-tag color="#818CA9" bg-color="#F3F3F3">{{ order.both }}</wd-tag>
|
||||
</view>
|
||||
<view>
|
||||
<wd-tag color="#F55726" bg-color="#F55726" plain>到点服务</wd-tag>
|
||||
<view class="flex items-center mt-8rpx">
|
||||
<wd-img :src="order.sex == 1 ? `${OSS}icon/icon_man.png` : `${OSS}icon/icon_woman.png`" width="28rpx" height="28rpx"></wd-img>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="font-400 text-[#606266] text-26rpx leading-36rpx mt-42rpx">
|
||||
预约时间:03/18 08:00-12:00
|
||||
预约时间:{{ order.start_time }} - {{ order.end_time }}
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<!-- 操作按钮 -->
|
||||
<view>
|
||||
<view v-if="orderStatus === OrderStatus.Finished || orderStatus === OrderStatus.Cancelled"
|
||||
<view v-if="order.order_status === TeaSpecialistOrderStatus.Finished || order.order_status === TeaSpecialistOrderStatus.Cancelled"
|
||||
class="flex items-center text-28rpx mt-28rpx justify-end"
|
||||
@click="comboCard.handleDeleteOrder(OrderSource.TeaSpecialist)">
|
||||
<view class="w-178rpx h-70rpx rounded-8rpx border-[2rpx] border-[#9CA3AF] text-[#303133] flex items-center justify-center">
|
||||
删除订单
|
||||
</view>
|
||||
</view>
|
||||
<view v-if="orderStatus === OrderStatus.Pending"
|
||||
<view v-if="order.order_status === TeaSpecialistOrderStatus.Pending"
|
||||
class="flex items-center text-28rpx mt-28rpx justify-end">
|
||||
<view class="w-178rpx h-70rpx rounded-8rpx border-[2rpx] border-[#9CA3AF] text-[#303133] mr-28rpx flex items-center justify-center"
|
||||
@click="comboCard.handleCancelOrder(OrderSource.TeaSpecialist)">
|
||||
@ -213,6 +222,9 @@
|
||||
import { OrderSource, OrderStatus } from '@/utils/order'
|
||||
import { useMessage } from 'wot-design-uni'
|
||||
import { toast } from '@/utils/toast'
|
||||
import { TeaSpecialistOrderStatus, TeaSpecialistOrderStatusText } from '@/utils/order'
|
||||
import {TeaSpecialistLevelValue} from '@/utils/teaSpecialist'
|
||||
import { router } from '@/utils/tools'
|
||||
|
||||
/**
|
||||
* ComboCard 套餐卡片组件
|
||||
@ -236,6 +248,11 @@
|
||||
orderStatus: {
|
||||
type: String,
|
||||
default: OrderStatus.ToUse
|
||||
},
|
||||
|
||||
order: {
|
||||
type: Object,
|
||||
default: {}
|
||||
}
|
||||
})
|
||||
|
||||
@ -336,30 +353,8 @@
|
||||
handleToOrderDetail: () => {
|
||||
// TODO 这里要对不同类型的订单进行区分跳转一个是直营的一个市加盟的
|
||||
switch (props.type) {
|
||||
case OrderSource.Direct:
|
||||
uni.navigateTo({
|
||||
url: `/bundle/order/platform/direct-order-detail?orderStatus=${props.orderStatus}`
|
||||
})
|
||||
break;
|
||||
case OrderSource.Franchise:
|
||||
uni.navigateTo({
|
||||
url: `/bundle/order/platform/franchise-order-detail?orderStatus=${props.orderStatus}`
|
||||
})
|
||||
break;
|
||||
case OrderSource.DouYin:
|
||||
uni.navigateTo({
|
||||
url: `/bundle/order/douyin/douyin-order-detail?orderStatus=${props.orderStatus}`
|
||||
})
|
||||
break;
|
||||
case OrderSource.TeaRoom:
|
||||
uni.navigateTo({
|
||||
url: `/bundle/order/tea-room/order-detail?orderStatus=${props.orderStatus}`
|
||||
})
|
||||
break;
|
||||
case OrderSource.TeaSpecialist:
|
||||
uni.navigateTo({
|
||||
url: `/bundle/order/tea-specialist/order-detail?orderStatus=${props.orderStatus}`
|
||||
})
|
||||
router.navigateTo(`/bundle/order/tea-specialist/order-detail?orderId=${props.order.id}`)
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user