import { parseTime } from '@/utils'
/**
 * 判断计划是否可变更/删除
 * @param {*} row 计划信息对象
 * @returns boolean true 可变更/删除，false 不可变更/删除
 */
export const checkPlanExpire = (row) => {
  // 1. 计划已经开始，不可编辑/删除
  if (row.planStatus === 1) {
    return false
  }
  // 2. 计划未开始，但是上班时间已经 1 小时后，不可编辑/删除
  const date = new Date()
  const rowDate = new Date(row.clockInTime)
  rowDate.setHours(rowDate.getHours() + 1)
  if (row.planStatus === 0 && rowDate < date) {
    return false
  }

  // 3. 计划为 2 和 3（审核中/审核拒绝），不可编辑/删除
  if (row.planStatus === 2 || row.planStatus === 3) {
    return false
  }

  return true
}

/**
 * 判断计划是否可变更（单独判断按钮禁用状态）
 * 活动日期小于等于今日日期，则禁用变更按钮
 * @param {*} row 计划信息对象
 * @returns boolean true 可变更，false 不可变更
 */
export const checkPlanChangeExpire = (row) => {
  const date = new Date()
  const rowDate = new Date(row.date)
  return !(rowDate <= date)
}

/**
 * 判断任务是否可删除
 * @param {*} row 计划信息对象
 * @returns boolean true 展示删除按钮，false 不展示删除按钮
*/
export const checkTaskExpire = (row) => {
  // 上报日期不是当月则隐藏按钮
  const date = parseTime(row.createDate, '{y}-{m}')
  const currentDate = parseTime(new Date(), '{y}-{m}')
  return date === currentDate
}