| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- Page({
- data:{
- dates:['2025-11-07','2025-11-08','2025-11-09'],
- currentDate:'2025-11-07',
- schedules:[],
- activityName: '',
- fromCity: '',
- toCity: '',
- selectedType: '',
- tripType: '',
- tripLabel: '',
- venue: ''
- },
- onLoad(options){
- const { activityId, type, from, to, date, activityName, tripType, tripLabel, venue } = options;
- this.setData({
- selectedType: type,
- fromCity: decodeURIComponent(from || ''),
- toCity: decodeURIComponent(to || ''),
- currentDate: date || this.data.currentDate,
- activityName: decodeURIComponent(activityName || '活动'),
- tripType: tripType || '',
- tripLabel: decodeURIComponent(tripLabel || ''),
- venue: decodeURIComponent(venue || '')
- });
-
- // 生成日期范围
- this.generateDates(date);
- this.loadSchedules(this.data.currentDate);
- },
-
- generateDates(selectedDate) {
- const dates = [];
- const baseDate = selectedDate ? new Date(selectedDate) : new Date();
-
- for(let i = -1; i <= 5; i++) {
- const date = new Date(baseDate);
- date.setDate(baseDate.getDate() + i);
- const dateStr = `${date.getFullYear()}-${(date.getMonth()+1).toString().padStart(2,'0')}-${date.getDate().toString().padStart(2,'0')}`;
- dates.push(dateStr);
- }
-
- this.setData({ dates });
- },
-
- loadSchedules(date){
- // 根据出行方式生成不同的班次数据
- let schedules = [];
-
- if (this.data.selectedType === 'business-charter') {
- // 包车服务
- schedules = [
- {id:'charter1',time:'任意时间',model:'奔驰V级商务车',price:1200,total:6,left:6,fromLoc:'指定地点接送',toLoc:'活动现场',type:'business-charter',duration:'约4小时',features:['专车接送','随时出发','豪华内饰']},
- {id:'charter2',time:'任意时间',model:'奥迪A6L',price:800,total:4,left:4,fromLoc:'指定地点接送',toLoc:'活动现场',type:'business-charter',duration:'约4小时',features:['商务专车','灵活时间','舒适体验']}
- ];
- } else {
- // 拼车服务
- schedules = [
- {id:'1',time:'09:00',model:'宇通大巴',price:88,total:46,left:12,fromLoc:'东直门地铁站A口',toLoc:'上海体育馆',type:'bus',duration:'约5小时',refundPolicy:'行程前72小时之前退票无手续费'},
- {id:'2',time:'13:30',model:'奔驰商务',price:168,total:6,left:2,fromLoc:'北京南站',toLoc:'上海体育馆',type:'business-share',duration:'约4.5小时',refundPolicy:'行程前72小时之前退票无手续费'},
- {id:'3',time:'15:00',model:'宇通大巴',price:88,total:46,left:8,fromLoc:'东直门地铁站A口',toLoc:'上海体育馆',type:'bus',duration:'约5小时',refundPolicy:'行程前72小时之前退票无手续费'},
- {id:'4',time:'18:00',model:'金龙客车',price:78,total:50,left:25,fromLoc:'北京南站',toLoc:'上海体育馆',type:'bus',duration:'约5小时',refundPolicy:'行程前72小时之前退票无手续费'}
- ];
- }
-
- this.setData({ schedules });
- },
-
- onDateChange(e){
- const d = e.currentTarget.dataset.date;
- this.setData({currentDate:d});
- this.loadSchedules(d);
- },
-
- book(e){
- const scheduleId = e.currentTarget.dataset.id;
- const schedule = this.data.schedules.find(s => s.id === scheduleId);
-
- wx.navigateTo({
- url:`/pages/order/order?scheduleId=${scheduleId}&activityName=${this.data.activityName}&type=${schedule.type}`
- });
- }
- });
|