// pages/cattle/exit-detail/exit-detail.js
const API = require('../../../utils/api').API

Page({
  data: {
    id: null,
    record: null,
    loading: true
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    if (options.id) {
      this.setData({ id: options.id })
      this.loadData()
    } else {
      wx.showToast({
        title: '参数错误',
        icon: 'none'
      })
      setTimeout(() => {
        wx.navigateBack()
      }, 1500)
    }
  },

  /**
   * 加载数据
   */
  async loadData() {
    this.setData({ loading: true })

    try {
      // 方式1：如果有详情接口
      // const res = await API.getExitRecordDetail(this.data.id)
      // const record = res.data || res
      
      // 方式2：从列表中获取（临时方案）
      const res = await API.getExitRecords({ 
        page: 1, 
        pageSize: 1000  // 获取足够多的数据
      })
      
      const list = res.data?.list || res.data || res.list || []
      const record = list.find(item => item.id === parseInt(this.data.id))
      
      if (!record) {
        wx.showToast({
          title: '未找到该离栏记录',
          icon: 'none'
        })
        setTimeout(() => {
          wx.navigateBack()
        }, 1500)
        return
      }

      // 格式化数据
      const formattedRecord = {
        ...record,
        // 格式化离栏日期
        exitDateText: record.exitDate ? this.formatDateTime(record.exitDate) : '-',
        // 格式化创建时间
        createdAtText: record.created_at ? this.formatDateTime(record.created_at) : '-',
        // 格式化更新时间
        updatedAtText: record.updated_at ? this.formatDateTime(record.updated_at) : '-',
        // 原栏舍信息
        originalPenName: record.originalPen?.name || '-',
        originalPenCode: record.originalPen?.code || '-',
        // 养殖场信息
        farmName: record.farm?.name || '-'
      }

      this.setData({
        record: formattedRecord,
        loading: false
      })

    } catch (error) {
      console.error('加载数据失败:', error)
      
      wx.showToast({
        title: '加载失败',
        icon: 'none'
      })
      
      this.setData({ loading: false })
      
      setTimeout(() => {
        wx.navigateBack()
      }, 1500)
    }
  },

  /**
   * 格式化日期时间
   */
  formatDateTime(dateString) {
    if (!dateString) return '-'
    const date = new Date(dateString)
    const year = date.getFullYear()
    const month = String(date.getMonth() + 1).padStart(2, '0')
    const day = String(date.getDate()).padStart(2, '0')
    const hours = String(date.getHours()).padStart(2, '0')
    const minutes = String(date.getMinutes()).padStart(2, '0')
    const seconds = String(date.getSeconds()).padStart(2, '0')
    return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`
  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {
    this.loadData()
    setTimeout(() => {
      wx.stopPullDownRefresh()
    }, 1000)
  }
})

