/**
 * 静态数据与全局常量配置
 */

// 缓存相关的 Key
export const CACHE_KEY = {
  TOKEN: 'ACCESS_TOKEN', //token
  USER_INFO: 'USER_INFO', //用户信息
  REMEMBER_USER: 'REMEMBER_USER', // 记住用户名
  PERMS: 'PERMS', // 权限
  ROLES: 'ROLES' // 角色
};

// 分页默认参数
export const PAGE_CONFIG = {
  DEFAULT_PAGE_NUM: 1,
  DEFAULT_PAGE_SIZE: 10
};

// 项目状态选项
export const projectStatusOptions = [
  { dictLabel: '全部状态', dictValue: '' },
  { dictLabel: '待立项', dictValue: '06', type: 'info' },
  { dictLabel: '立项', dictValue: '10', type: 'primary' },
  { dictLabel: '在研', dictValue: '20', type: 'success' },
  { dictLabel: '临近结题', dictValue: '25', type: 'warning' },
  { dictLabel: '结题验收', dictValue: '30', type: 'warning' },
  { dictLabel: '中止', dictValue: '40', type: 'error' }
];

// 变更类型选项
export const changeTypeOptions = [
  { dictLabel: '成员变更', dictValue: '10' },
  { dictLabel: '预算变更', dictValue: '20' },
  { dictLabel: '延期变更', dictValue: '30' },
  { dictLabel: '经费变更', dictValue: '40' },
  { dictLabel: '中止变更', dictValue: '50' },
  { dictLabel: '经费调剂', dictValue: '60' },
];

// 审批状态选项
export const approvalStatusOptions = [
  { dictLabel: '待提交', dictValue: '10' },
  { dictLabel: '审批中', dictValue: '20' },
  { dictLabel: '审批通过', dictValue: '30' },
  { dictLabel: '审批退回', dictValue: '40' }
];

// 临床研究选项 (针对横向项目)
export const isClinicalTrialOptions = [
  { dictLabel: '临床试验', dictValue: '10' },
  { dictLabel: '横向其他', dictValue: '20' }
];

// 审批流节点结果选项
export const flowApprovalResultOptions = [
  { dictLabel: '通过', dictValue: 'pass', type: 'success' },
  { dictLabel: '拒绝', dictValue: 'rejection', type: 'error' },
  { dictLabel: '退回', dictValue: 'back', type: 'warning' },
  { dictLabel: '审批中', dictValue: 'processing', type: 'primary' }
];

// 审批流审核方式选项
export const flowApprovalModelOptions = [
  { dictLabel: '会签', dictValue: '10' },
  { dictLabel: '或签', dictValue: '20' }
];

// 中检状态选项
export const inspApprovalStatusOptions = [
  { dictLabel: '待提交', dictValue: '10', type: 'info' },
  { dictLabel: '审批中', dictValue: '20', type: 'primary' },
  { dictLabel: '审批通过', dictValue: '30', type: 'success' },
  { dictLabel: '审批退回', dictValue: '40', type: 'error' }
];

// 待办页面 Tab 分类
export const TODO_TAB_LIST = [
  { name: '待我审批', type: 'approval' as const },
  { name: '我发起的', type: 'start' as const },
  { name: '审批历史', type: 'history' as const }
];

// 首页常用功能导航列表
export const HOME_NAV_LIST = [
  { name: '科研项目', path: '/pages/project/index', icon: '/static/imgs/fund-claim.png' },
  { name: '经费认领', path: '/pages/fund/claim/index', icon: '/static/imgs/fund-claim.png' },
  { name: '经费入账', path: '/pages/fund/claim-records/index', icon: '/static/imgs/fund-entry.png' },
  { name: '经费报销', path: '/pages/fund/reimbursement/index', icon: '/static/imgs/fund-reimburse.png' },
  // { name: '科研成果', path: '/pages/fund/reimbursement-remind/index', icon: '/static/imgs/fund-reimburse.png' },
  // { name: '考核奖励', path: '/pages/fund/reimbursement-remind/index', icon: '/static/imgs/fund-reimburse.png' },
  { name: '业务审批', path: '/pages/todo/index', icon: '/static/imgs/home-tech.png' }
];

// 首页模拟通知公告列表
export const NOTICE_LIST_MOCK = [
  { id: 1, title: '公告标题', date: '发布日期' },
  { id: 2, title: '公告标题', date: '发布日期' },
  { id: 3, title: '公告标题', date: '发布日期' }
];

// 默认分页数量
export const DEFAULT_PAGE_SIZE = 25;
export const projectRoleOptions = [
  { dictLabel: '负责人', dictValue: '10' },
  { dictLabel: '主要参与人', dictValue: '20' },
  { dictLabel: '一般参与人', dictValue: '30' }
];

// 人员类型选项
export const memberTypeOptions = [
  { dictLabel: '本院人员', dictValue: '10' },
  { dictLabel: '非本院人员', dictValue: '20' },
  { dictLabel: '研究生', dictValue: '30' }
];

/**
 * 根据项目类型标识获取显示名称
 * @param type 项目类型标识 (vertical/horizontal/spontaneity)
 * @returns 项目分类中文名称
 */
export const getProjectTypeName = (type: string) => {
  const map: Record<string, string> = {
    'vertical': '纵向项目',
    'horizontal': '横向项目',
    'spontaneity': '校园项目',
    '10': '纵向项目',
    '20': '横向项目',
    '30': '校园项目'
  };
  return map[type] || '未知项目';
};

// 论文类型选项
export const paperTypeOptions = [
  { dictValue: '10', dictLabel: '学术专著' },
  { dictValue: '20', dictLabel: '编著' },
  { dictValue: '30', dictLabel: '译著' },
  { dictValue: '40', dictLabel: '科普读物' },
  { dictValue: '50', dictLabel: '行业指南' },
  { dictValue: '60', dictLabel: '教材' }
];

// 著作类别选项
export const workClassOptions = [
  { dictValue: '10', dictLabel: '学术专著' },
  { dictValue: '20', dictLabel: '编著' },
  { dictValue: '30', dictLabel: '译著' },
  { dictValue: '40', dictLabel: '科普读物' },
  { dictValue: '50', dictLabel: '行业指南' },
  { dictValue: '60', dictLabel: '教材' }
];

// 专利类型选项
export const patentClassOptions = [
  { dictValue: '10', dictLabel: '实用新型' },
  { dictValue: '20', dictLabel: '外观新型' },
  { dictValue: '30', dictLabel: '发明专利' },
  { dictValue: '40', dictLabel: '计算机软件著作权' }
];

// 获奖级别选项
export const awardLevelOptions = [
  { dictValue: '10', dictLabel: '学校级' },
  { dictValue: '20', dictLabel: '地市级' },
  { dictValue: '30', dictLabel: '省级奖' },
  { dictValue: '40', dictLabel: '部级奖' },
  { dictValue: '50', dictLabel: '国家级' }
];

// 获奖等级选项
export const awardGradeOptions = [
  { dictValue: '10', dictLabel: '特等奖' },
  { dictValue: '20', dictLabel: '一等奖' },
  { dictValue: '30', dictLabel: '二等奖' },
  { dictValue: '40', dictLabel: '三等奖' },
  { dictValue: '50', dictLabel: '四等奖' },
  { dictValue: '90', dictLabel: '其他' }
];

// 奖励类别选项
export const awardClassOptions = [
  { dictValue: '10', dictLabel: '国家最高科学技术奖' },
  { dictValue: '20', dictLabel: '其他奖项' }
];

// 奖励类型选项
export const awardTypeOptions = [
  { dictValue: '10', dictLabel: '成果奖' },
  { dictValue: '20', dictLabel: '人才奖' }
];

// 合作类型选项
export const cooperationTypeOptions = [
  { dictValue: '10', dictLabel: '独立申请' },
  { dictValue: '20', dictLabel: '联合申请' }
];
