// pages/claim-detail/claim-detail.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    // 理赔ID
    claimId: '',
    
    // 理赔信息
    claimInfo: {}
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    console.log('理赔详情页加载', options)
    const { id } = options
    if (id) {
      this.setData({ claimId: id })
      this.loadClaimDetail(id)
    } else {
      wx.showToast({
        title: '理赔ID不能为空',
        icon: 'none'
      })
      setTimeout(() => {
        wx.navigateBack()
      }, 1500)
    }
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {
    console.log('理赔详情页渲染完成')
  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {
    console.log('理赔详情页显示')
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {
    console.log('理赔详情页隐藏')
  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {
    console.log('理赔详情页卸载')
  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {
    console.log('下拉刷新')
    this.loadClaimDetail(this.data.claimId)
    wx.stopPullDownRefresh()
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {
    console.log('上拉触底')
  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {
    return {
      title: '理赔详情',
      path: `/pages/claim-detail/claim-detail?id=${this.data.claimId}`,
      imageUrl: '/static/images/share-claim-detail.jpg'
    }
  },

  /**
   * 加载理赔详情
   */
  loadClaimDetail(claimId) {
    console.log('加载理赔详情:', claimId)
    
    // 模拟理赔详情数据
    const mockClaimInfo = this.getMockClaimDetail(claimId)
    this.setData({ claimInfo: mockClaimInfo })
  },

  /**
   * 获取模拟理赔详情数据
   */
  getMockClaimDetail(claimId) {
    const mockClaims = {
      '1': {
        id: '1',
        claimNo: 'CLM20240115001',
        claimType: '意外伤害理赔',
        status: 'pending',
        statusIcon: '⏳',
        statusText: '待处理',
        statusDesc: '您的理赔申请已提交，正在等待审核',
        applicationTime: '2024-01-15 14:30',
        claimAmount: 5000,
        policyNo: 'POL20240115001',
        insuredName: '张先生',
        currentStep: 1,
        progressSteps: [
          {
            title: '申请提交',
            desc: '理赔申请已成功提交',
            time: '2024-01-15 14:30'
          },
          {
            title: '材料审核',
            desc: '正在审核相关材料',
            time: ''
          },
          {
            title: '现场查勘',
            desc: '安排现场查勘',
            time: ''
          },
          {
            title: '理赔决定',
            desc: '做出理赔决定',
            time: ''
          },
          {
            title: '赔款支付',
            desc: '完成赔款支付',
            time: ''
          }
        ],
        accidentDesc: '在上班途中发生交通事故，导致右腿骨折',
        accidentTime: '2024-01-15 08:30',
        accidentLocation: '北京市朝阳区建国路与东三环交叉口',
        hospitalName: '北京协和医院',
        diagnosis: '右腿胫骨骨折，需要手术治疗',
        materials: [
          {
            icon: '📄',
            name: '理赔申请书',
            status: 'uploaded',
            statusText: '已上传'
          },
          {
            icon: '🏥',
            name: '医院诊断证明',
            status: 'uploaded',
            statusText: '已上传'
          },
          {
            icon: '💰',
            name: '医疗费用发票',
            status: 'pending',
            statusText: '待上传'
          },
          {
            icon: '📋',
            name: '事故证明',
            status: 'uploaded',
            statusText: '已上传'
          }
        ],
        records: [
          {
            time: '2024-01-15 14:30',
            title: '申请提交',
            desc: '用户提交理赔申请',
            operator: '张先生'
          },
          {
            time: '2024-01-15 15:00',
            title: '申请确认',
            desc: '系统确认收到申请',
            operator: '系统'
          }
        ]
      },
      '2': {
        id: '2',
        claimNo: 'CLM20240110002',
        claimType: '医疗费用理赔',
        status: 'processing',
        statusIcon: '🔄',
        statusText: '处理中',
        statusDesc: '您的理赔申请正在处理中，预计3-5个工作日完成',
        applicationTime: '2024-01-10 09:15',
        claimAmount: 12000,
        policyNo: 'POL20240110002',
        insuredName: '李女士',
        currentStep: 3,
        progressSteps: [
          {
            title: '申请提交',
            desc: '理赔申请已成功提交',
            time: '2024-01-10 09:15'
          },
          {
            title: '材料审核',
            desc: '材料审核已完成',
            time: '2024-01-11 10:30'
          },
          {
            title: '现场查勘',
            desc: '正在安排现场查勘',
            time: ''
          },
          {
            title: '理赔决定',
            desc: '做出理赔决定',
            time: ''
          },
          {
            title: '赔款支付',
            desc: '完成赔款支付',
            time: ''
          }
        ],
        accidentDesc: '因急性阑尾炎住院治疗',
        accidentTime: '2024-01-08 20:00',
        accidentLocation: '家中',
        hospitalName: '北京友谊医院',
        diagnosis: '急性阑尾炎，已进行阑尾切除手术',
        materials: [
          {
            icon: '📄',
            name: '理赔申请书',
            status: 'uploaded',
            statusText: '已上传'
          },
          {
            icon: '🏥',
            name: '医院诊断证明',
            status: 'uploaded',
            statusText: '已上传'
          },
          {
            icon: '💰',
            name: '医疗费用发票',
            status: 'uploaded',
            statusText: '已上传'
          },
          {
            icon: '📋',
            name: '住院病历',
            status: 'uploaded',
            statusText: '已上传'
          }
        ],
        records: [
          {
            time: '2024-01-10 09:15',
            title: '申请提交',
            desc: '用户提交理赔申请',
            operator: '李女士'
          },
          {
            time: '2024-01-10 10:00',
            title: '申请确认',
            desc: '系统确认收到申请',
            operator: '系统'
          },
          {
            time: '2024-01-11 10:30',
            title: '材料审核',
            desc: '材料审核通过',
            operator: '审核员'
          }
        ]
      }
    }
    
    return mockClaims[claimId] || mockClaims['1']
  },

  /**
   * 预览材料
   */
  previewMaterial(e) {
    const index = e.currentTarget.dataset.index
    const material = this.data.claimInfo.materials[index]
    console.log('预览材料:', material.name)
    
    wx.showToast({
      title: '材料预览功能开发中',
      icon: 'none'
    })
  },

  /**
   * 联系客服
   */
  contactService() {
    console.log('联系客服')
    wx.showModal({
      title: '联系客服',
      content: '客服电话：400-123-4567\n工作时间：9:00-18:00',
      confirmText: '拨打电话',
      success: (res) => {
        if (res.confirm) {
          wx.makePhoneCall({
            phoneNumber: '400-123-4567'
          })
        }
      }
    })
  },

  /**
   * 提交补充材料
   */
  submitSupplement() {
    console.log('提交补充材料')
    wx.navigateTo({
      url: '/pages/supplement-materials/supplement-materials?claimId=' + this.data.claimId
    })
  },

  /**
   * 返回上一页
   */
  goBack() {
    console.log('返回上一页')
    wx.navigateBack()
  }
})