// 任务类型
export const TaskType = {
  FEATURE: "1",       // 新需求
  OPTIMIZATION: "2",  // 优化
  BUG: "3"            // BUG
}


// 任务状态
export const TaskStatus = {
  WAIT_COMPLETED: "1",  // 待完成（弃用）
  PROCESSING: "2",      // 进行中
  WAIT_CONFIRM: "3",    // 待确认（弃用）
  PASS: "4",           // 通过
  REJECT: "5",         // 驳回（弃用）
  CANCEL: "6",         // 取消

  // 获取可以提交的任务状态
  canSubmit() {
    return [this.PROCESSING]
  },
  // 获取可以取消的任务状态
  canCancel() {
    return [this.WAIT_COMPLETED, this.PROCESSING]
  },
  // 获取可以完成的任务状态
  canPass() {
    return [this.PROCESSING]
  }
}

// 任务级别
export const TaskLevel = {
  HIGH: "1",  // 高
  MEDIUM: "2",  // 中
  LOW: "3"      // 低
}

// 客户状态
export const CustomerStatus = {
  POTENTIAL: "1",    // 潜在
  INTENTION: "2",    // 意向
  TRANSACTION: "3",  // 成交
  INVALID: "4"       // 失效
}

// 客户意向级别
export const CustomerIntentLevel = {
  HIGH: "1",  // 高
  MEDIUM: "2",  // 中
  LOW: "3"      // 低
}

// 项目状态
export const ProjectStatus = {
  WAIT_START: "WAIT_START",  // 待开始
  IN_PROGRESS: "IN_PROGRESS",  // 进行中
  COMPLETED: "COMPLETED",  // 完成开发
  ACCEPTED: "ACCEPTED",  // 已验收
  MAINTENANCE: "MAINTENANCE",  // 维护中
  MAINTENANCE_OVERDUE: "MAINTENANCE_OVERDUE",  // 维护到期
  DEVELOPMENT_OVERDUE: "DEVELOPMENT_OVERDUE",  // 开发超期

  // 是否可以完成
  canComplete() {
    return [this.IN_PROGRESS, this.DEVELOPMENT_OVERDUE]
  },
  // 是否可以开始开发
  canStart() {
    return [this.WAIT_START]
  },
  // 是否可以验收
  canAccept() {
    return [this.COMPLETED]
  },
  // 是否可以维护
  canMaintenance() {
    return [this.ACCEPTED, this.MAINTENANCE_OVERDUE]
  }
}

// 任务提交状态
export const TaskSubmitStatus = {
  WAIT_CONFIRM: "1",  // 待审核（弃用）
  PASS: "2",        // 通过
  REJECT: "3",       // 驳回
  // 获取可以驳回的任务状态
  canReject() {
    return [this.PASS]
  }
}

// 公告重要程度
export const NoticeLevel = {
  HIGH: "1",  // 高
  MEDIUM: "2",  // 中
  LOW: "3"      // 低
}

// 公告类型
export const NoticeType = {
  NOTICE: "1",  // 公告
  MESSAGE: "2"   // 消息
}

// 消息类型
export const MessageBstType = {
  TASK: "task",  // 任务
  TASK_SUBMIT: "task_submit",   // 任务提交
  CUSTOMER: "customer",  // 客户
}

// 统计数据键值
export const BriefKeys = {
  // 项目
  PROJECT_STATUS: "projectStatus", // 项目状态
  PROJECT_DEV_COMPLETED: "projectDevCompleted", // 项目开发完成
  PROJECT_DEV_ON_TIME_COMPLETED: "projectDevOnTimeCompleted", // 项目正常开发完成
  PROJECT_OVERDUE_DEV_UNCOMPLETED: "projectOverdueDevUncompleted", // 项目逾期开发未完成
  PROJECT_OVERDUE_DEV_COMPLETED: "projectOverdueDevCompleted", // 项目逾期开发完成
  PROJECT_DEV_OVERDUE: "projectDevOverdue", // 项目开发逾期
  PROJECT_DEV_SOON_EXPIRE: "projectDevSoonExpire", // 开发即将到期项目

  // 任务
  TASK_STATUS: "taskStatus", // 状态数据
  TASK_TYPE: "taskType", // 类型分组数据
  TASK_OVERDUE_UNCOMPLETED: "taskOverdueUncompleted", // 逾期未完成
  TASK_OVERDUE_COMPLETED: "taskOverdueCompleted", // 逾期完成
  TASK_TODAY_COMPLETED: "taskTodayCompleted", // 今日完成任务
  TASK_SOON_EXPIRE: "taskSoonExpire", // 即将到期任务

  // 客户
  CUSTOMER_STATUS: "customerStatus", // 状态分组数据
  CUSTOMER_TODAY_CREATE: "customerTodayCreate", // 今日新增客户
  CUSTOMER_TODAY_FOLLOWED: "customerTodayFollowed", // 今日已跟进客户
  CUSTOMER_TODAY_WAIT_FOLLOW: "customerTodayWaitFollow", // 今日待跟进客户
  CUSTOMER_SOON_FOLLOW: "customerSoonFollow", // 即将需要跟进的客户
}

// 角色
export const Role = {
  SYS_ADMIN: "sys_admin", // 系统管理员
  ADMIN: "admin", // 管理员
}
