|
|
@@ -82,6 +82,8 @@ const ActivitySelectPage: React.FC = () => {
|
|
|
const searchParams = {
|
|
|
startAreaIds: router.params.startAreaIds ? JSON.parse(router.params.startAreaIds) as number[] : [],
|
|
|
endAreaIds: router.params.endAreaIds ? JSON.parse(router.params.endAreaIds) as number[] : [],
|
|
|
+ startAreaName: router.params.startAreaName ? decodeURIComponent(router.params.startAreaName) : '',
|
|
|
+ endAreaName: router.params.endAreaName ? decodeURIComponent(router.params.endAreaName) : '',
|
|
|
date: router.params.date || new Date().toISOString().split('T')[0],
|
|
|
vehicleType: router.params.vehicleType || 'bus',
|
|
|
travelMode: router.params.travelMode || 'carpool'
|
|
|
@@ -112,10 +114,23 @@ const ActivitySelectPage: React.FC = () => {
|
|
|
|
|
|
const activities = routeData?.activities || []
|
|
|
|
|
|
- // 从路线数据中获取地区名称
|
|
|
+ // 获取地区名称(优先使用路由参数传递的名称,其次从路线数据获取)
|
|
|
const getAreaNames = () => {
|
|
|
+ // 如果路由参数中已经有地区名称,直接使用
|
|
|
+ if (searchParams.startAreaName && searchParams.startAreaName !== '请选择地区' &&
|
|
|
+ searchParams.endAreaName && searchParams.endAreaName !== '请选择地区') {
|
|
|
+ return {
|
|
|
+ startAreaName: searchParams.startAreaName,
|
|
|
+ endAreaName: searchParams.endAreaName
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // 如果没有路线数据,使用默认值
|
|
|
if (!routeData?.routes || routeData.routes.length === 0) {
|
|
|
- return { startAreaName: '出发地', endAreaName: '目的地' }
|
|
|
+ return {
|
|
|
+ startAreaName: searchParams.startAreaName || '出发地',
|
|
|
+ endAreaName: searchParams.endAreaName || '目的地'
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
// 从第一条路线中获取出发地和目的地的地区信息
|
|
|
@@ -147,8 +162,8 @@ const ActivitySelectPage: React.FC = () => {
|
|
|
}
|
|
|
|
|
|
return {
|
|
|
- startAreaName: getAreaDisplayName(startLocation) || '出发地',
|
|
|
- endAreaName: getAreaDisplayName(endLocation) || '目的地'
|
|
|
+ startAreaName: getAreaDisplayName(startLocation) || searchParams.startAreaName || '出发地',
|
|
|
+ endAreaName: getAreaDisplayName(endLocation) || searchParams.endAreaName || '目的地'
|
|
|
}
|
|
|
}
|
|
|
|