|
|
@@ -129,15 +129,29 @@ export default function OrderPage() {
|
|
|
// TODO: 实际项目中需要发送code到后端获取手机号
|
|
|
setPhoneNumber('138****8888')
|
|
|
setHasPhoneNumber(true)
|
|
|
+ showToast({
|
|
|
+ title: '手机号获取成功',
|
|
|
+ icon: 'success',
|
|
|
+ duration: 2000
|
|
|
+ })
|
|
|
} else {
|
|
|
console.error('获取手机号失败:', e.detail.errMsg)
|
|
|
+ showToast({
|
|
|
+ title: '获取手机号失败,请重试',
|
|
|
+ icon: 'error',
|
|
|
+ duration: 2000
|
|
|
+ })
|
|
|
}
|
|
|
}
|
|
|
|
|
|
// 添加乘客
|
|
|
const handleAddPassenger = () => {
|
|
|
if (isWeapp() && !hasPhoneNumber) {
|
|
|
- // TODO: 显示提示
|
|
|
+ showToast({
|
|
|
+ title: '请先获取手机号',
|
|
|
+ icon: 'none',
|
|
|
+ duration: 2000
|
|
|
+ })
|
|
|
return
|
|
|
}
|
|
|
|
|
|
@@ -155,19 +169,34 @@ export default function OrderPage() {
|
|
|
// 检查是否已经添加过这个乘车人
|
|
|
const existingPassenger = passengers.find(p => p.idNumber === passenger.idNumber)
|
|
|
if (existingPassenger) {
|
|
|
- // TODO: 显示提示
|
|
|
+ showToast({
|
|
|
+ title: '该乘车人已添加',
|
|
|
+ icon: 'none',
|
|
|
+ duration: 2000
|
|
|
+ })
|
|
|
return
|
|
|
}
|
|
|
|
|
|
setPassengers([...passengers, passenger])
|
|
|
setShowPassengerSelector(false)
|
|
|
+ showToast({
|
|
|
+ title: '乘客添加成功',
|
|
|
+ icon: 'success',
|
|
|
+ duration: 1500
|
|
|
+ })
|
|
|
}
|
|
|
|
|
|
// 删除乘客
|
|
|
const handleDeletePassenger = (index: number) => {
|
|
|
const newPassengers = [...passengers]
|
|
|
+ const deletedPassenger = newPassengers[index]
|
|
|
newPassengers.splice(index, 1)
|
|
|
setPassengers(newPassengers)
|
|
|
+ showToast({
|
|
|
+ title: `已删除 ${deletedPassenger.name}`,
|
|
|
+ icon: 'success',
|
|
|
+ duration: 1500
|
|
|
+ })
|
|
|
}
|
|
|
|
|
|
// 添加新乘客
|
|
|
@@ -189,23 +218,39 @@ export default function OrderPage() {
|
|
|
// 创建订单并支付
|
|
|
const handlePay = async () => {
|
|
|
if (!hasPhoneNumber) {
|
|
|
- // TODO: 显示提示
|
|
|
+ showToast({
|
|
|
+ title: '请先获取手机号',
|
|
|
+ icon: 'none',
|
|
|
+ duration: 2000
|
|
|
+ })
|
|
|
return
|
|
|
}
|
|
|
|
|
|
if (passengers.length === 0) {
|
|
|
- // TODO: 显示提示
|
|
|
+ showToast({
|
|
|
+ title: '请至少添加一个乘车人',
|
|
|
+ icon: 'none',
|
|
|
+ duration: 2000
|
|
|
+ })
|
|
|
return
|
|
|
}
|
|
|
|
|
|
if (!schedule) {
|
|
|
- // TODO: 显示提示
|
|
|
+ showToast({
|
|
|
+ title: '路线数据加载中,请稍后',
|
|
|
+ icon: 'none',
|
|
|
+ duration: 2000
|
|
|
+ })
|
|
|
console.error('路线数据未加载完成')
|
|
|
return
|
|
|
}
|
|
|
|
|
|
if (!isCharter && passengers.length > (schedule.availableSeats || 0)) {
|
|
|
- // TODO: 显示提示
|
|
|
+ showToast({
|
|
|
+ title: `座位不足,最多可购买${schedule.availableSeats}张票`,
|
|
|
+ icon: 'none',
|
|
|
+ duration: 2000
|
|
|
+ })
|
|
|
return
|
|
|
}
|
|
|
|
|
|
@@ -247,7 +292,11 @@ export default function OrderPage() {
|
|
|
|
|
|
} catch (error) {
|
|
|
console.error('支付失败:', error)
|
|
|
- // TODO: 显示错误提示
|
|
|
+ showToast({
|
|
|
+ title: '支付失败,请重试',
|
|
|
+ icon: 'error',
|
|
|
+ duration: 2000
|
|
|
+ })
|
|
|
}
|
|
|
}
|
|
|
|