import React, { useState } from 'react' import { View, Text, ScrollView, Picker } from '@tarojs/components' import Taro from '@tarojs/taro' definePageConfig({ navigationBarTitleText: '改签预约', }) const BookingReschedulePage: React.FC = () => { const [orderId, setOrderId] = useState('BK202605120001') const [oldDate, setOldDate] = useState('2026-05-15') const [oldTime, setOldTime] = useState('14:00-16:00') const [newDate, setNewDate] = useState('') const [newTime, setNewTime] = useState('') // 可选日期(未来7天) const availableDates = [] for (let i = 1; i <= 7; i++) { const date = new Date() date.setDate(date.getDate() + i) const year = date.getFullYear() const month = (date.getMonth() + 1).toString().padStart(2, '0') const day = date.getDate().toString().padStart(2, '0') availableDates.push(`${year}-${month}-${day}`) } // 可选时段 const availableTimes = ['09:00-11:00', '10:00-12:00', '14:00-16:00', '15:00-17:00'] // 提交改签 const handleSubmit = () => { if (!newDate) { Taro.showToast({ title: '请选择新日期', icon: 'none' }) return } if (!newTime) { Taro.showToast({ title: '请选择新时段', icon: 'none' }) return } Taro.showModal({ title: '确认改签', content: `确定将预约从\n${oldDate} ${oldTime}\n改签至\n${newDate} ${newTime}吗?`, confirmText: '确认改签', confirmColor: '#0e932e', success: (res) => { if (res.confirm) { Taro.showLoading({ title: '改签中...' }) // 这里应该调用改签API setTimeout(() => { Taro.hideLoading() Taro.showToast({ title: '改签成功', icon: 'success' }) setTimeout(() => { Taro.navigateBack() }, 1500) }, 2000) } } }) } return ( {/* 原预约信息 */} 原预约信息 预约编号 {orderId} 预约日期 {oldDate} 预约时段 {oldTime} {/* 选择新日期 */} 选择新日期 setNewDate(availableDates[e.detail.value])} > {newDate || '请选择日期'} {/* 选择新时段 */} 选择新时段 {availableTimes.map(time => ( setNewTime(time)} > {time} ))} {/* 改签说明 */} 改签说明 1. 每个订单只能改签一次 2. 改签需提前2小时申请 3. 改签不收取手续费 4. 如有问题,请联系客服 {/* 提交按钮 */} 确认改签 ) } export default BookingReschedulePage