Page({
  data:{
    order:{
      id: 'ORDER_001',
      schedule:{fromLoc:'东直门',toLoc:'上海体育馆',time:'09:00',model:'大巴'},
      status:'已支付',
      statusCode: 1, // 1-待出发，2-行程中，3-已完成，4-已取消
      passengers:[{name:'张三'}],
      totalPrice: 88,
      createTime: '2024-01-15 10:30'
    },
    driver:{plate:'京A12345',phone:'13800000000',lng:121.48,lat:31.23}
  },

  onLoad(options) {
    const { orderId } = options;
    if (orderId) {
      // 根据订单ID加载订单详情
      this.loadOrderDetail(orderId);
    }
  },

  loadOrderDetail(orderId) {
    // 模拟加载订单详情
    // 实际项目中这里应该调用API获取订单详情
    console.log('加载订单详情:', orderId);
  },

  onCallDriver(){
    wx.showModal({
      title:'温馨提示',
      content:'司机驾驶中不便接听电话，如未接通请耐心等待，可短信或联系客服',
      showCancel:false
    });
  },

  // 取消订单
  cancelOrder() {
    const { order } = this.data;
    
    if (order.statusCode !== 1) {
      wx.showToast({
        title: '订单状态不允许取消',
        icon: 'none'
      });
      return;
    }

    wx.showModal({
      title: '确认取消订单',
      content: '取消后将无法恢复，确定要取消这个订单吗？',
      confirmText: '确认取消',
      cancelText: '再想想',
      confirmColor: '#ff4d4f',
      success: (res) => {
        if (res.confirm) {
          this.performCancelOrder();
        }
      }
    });
  },

  performCancelOrder() {
    wx.showLoading({
      title: '取消中...'
    });

    // 模拟取消订单API调用
    setTimeout(() => {
      wx.hideLoading();
      
      // 更新订单状态
      this.setData({
        'order.status': '已取消',
        'order.statusCode': 4
      });

      wx.showToast({
        title: '订单已取消',
        icon: 'success'
      });

      // 1.5秒后返回订单列表
      setTimeout(() => {
        wx.navigateBack({
          delta: 1
        });
      }, 1500);
    }, 2000);
  }
});