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

Page({
  data: {
    batchId: null,
    batchData: [],
    loading: true
  },

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

  /**
   * 加载批次详情
   */
  async loadBatchDetail(id) {
    try {
      this.setData({ loading: true })

      console.log('获取批次详情，ID:', id)
      const res = await API.getBatchDetail(id)
      
      console.log('批次详情数据:', res)

      // 根据实际返回的数据结构调整
      const batchInfo = res.data || res

      // 格式化数据为展示格式
      const formattedData = this.formatBatchData(batchInfo)

      this.setData({
        batchData: formattedData,
        loading: false
      })

    } catch (error) {
      console.error('加载批次详情失败:', error)
      
      this.setData({ loading: false })

      wx.showToast({
        title: '加载失败',
        icon: 'none'
      })
    }
  },

  /**
   * 格式化批次数据
   */
  formatBatchData(data) {
    if (!data) return []

    const sections = [
      {
        title: '基本信息',
        items: [
          { label: 'ID', value: data.id || '-' },
          { label: '批次名称', value: data.name || '-' },
          { label: '批次编码', value: data.code || '-' },
          { label: '批次类型', value: data.type || '-' },
          { label: '状态', value: data.status || '-' }
        ]
      },
      {
        title: '数量信息',
        items: [
          { label: '当前数量', value: data.currentCount || 0 },
          { label: '目标数量', value: data.targetCount || 0 }
        ]
      },
      {
        title: '时间信息',
        items: [
          { label: '开始日期', value: this.formatDate(data.startDate) },
          { label: '预期结束日期', value: this.formatDate(data.expectedEndDate) },
          { label: '实际结束日期', value: this.formatDate(data.actualEndDate) }
        ]
      },
      {
        title: '管理信息',
        items: [
          { label: '养殖场', value: data.farm?.name || data.farmName || '-' },
          { label: '养殖场ID', value: data.farmId || data.farm_id || '-' },
          { label: '管理人员', value: data.manager || '-' }
        ]
      },
      {
        title: '其他信息',
        items: [
          { label: '备注', value: data.remark || '-' },
          { label: '创建时间', value: this.formatDateTime(data.created_at) },
          { label: '更新时间', value: this.formatDateTime(data.updated_at) }
        ]
      }
    ]

    return sections
  },

  /**
   * 格式化日期
   */
  formatDate(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')
    return `${year}-${month}-${day}`
  },

  /**
   * 格式化日期时间
   */
  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}`
  }
})

