221 lines
6.2 KiB
TypeScript
221 lines
6.2 KiB
TypeScript
/**
|
||
* 全局常量配置
|
||
*/
|
||
|
||
/*角色标记*/
|
||
export const ROLE_CODE = {
|
||
ROLE_ADMIN: 'ROLE_ADMIN', //管理员
|
||
ROLE_SUPPORT_MEMBER: 'ROLE_SUPPORT_MEMBER', //后勤维修组人员
|
||
ROLE_SUPPORT_LEADER: 'ROLE_SUPPORT_LEADER',
|
||
ROLE_TRAIN_AUDITOR: 'ROLE_TRAIN_AUDITOR',
|
||
ROLE_RECRUIT_SECOND: 'ROLE_RECRUIT_SECOND',
|
||
ROLE_RECRUIT: 'ROLE_RECRUIT',
|
||
ROLE_TRAIN_MONEY_ARRIVED: 'ROLE_TRAIN_MONEY_ARRIVED', //培训处项目申报审批人
|
||
};
|
||
|
||
/**
|
||
* 流程类型
|
||
*/
|
||
export const PROC_DEF_KEY = {
|
||
TRAIN_PROJECT_MONEY_ARRIVED: 'train_project_money_arrived',
|
||
TRAIN_PROJECT_APPROVAL: 'train_project_approval',
|
||
ASSETS_TRANSFER: 'assetsTransfer',
|
||
ASSET_INVALID: 'asset_invalid',
|
||
process: 'process',
|
||
processWander: 'processWander',
|
||
};
|
||
|
||
/*当前学年*/
|
||
export const CURRENT_SCHOOL_YEAR = '2021-2022';
|
||
|
||
/*当前学期*/
|
||
export const CURRENT_SCHOOL_TERM = '2';
|
||
|
||
/**
|
||
* 流程状态
|
||
* 0: 等待部门审核
|
||
* 10: 等待部门审批
|
||
* 20: 审批通过
|
||
* -10: 经办人修改
|
||
* -20: 撤销申请
|
||
*/
|
||
export const BXSTATUS = {
|
||
'0': '待审核',
|
||
'10': '待审批',
|
||
'20': '通过',
|
||
'-10': '驳回修改',
|
||
'-20': '撤销',
|
||
};
|
||
|
||
/**
|
||
* 前端URL
|
||
*/
|
||
export const FRONT_URL = 'https://zhxy.czjsy.com';
|
||
|
||
/**
|
||
* 招生相关常量
|
||
*/
|
||
|
||
// 推送状态
|
||
export const PUSHED_STATUS_LIST = [
|
||
{ label: '未推送', value: '0', type: 'danger' },
|
||
{ label: '已推送', value: '1', type: 'success' },
|
||
];
|
||
|
||
// 录取通知书发放状态
|
||
export const NOTICE_SEND_STATUS_LIST = [
|
||
{ label: '未发放', value: '0' },
|
||
{ label: '已发放', value: '1' },
|
||
];
|
||
|
||
// 缴费状态(使用字典 recruit_pay_status)
|
||
export const PAY_STATUS_LIST = [
|
||
{ label: '已缴费', value: '10', type: 'success' },
|
||
{ label: '未缴费', value: '0', type: 'danger' },
|
||
{ label: '部分缴费', value: '5', type: 'warning' },
|
||
];
|
||
|
||
// 审核状态(使用字典 recruit_audit_status)
|
||
export const AUDIT_STATUS_LIST = [
|
||
{ label: '未录取', value: '-20', type: 'danger' },
|
||
{ label: '待审核', value: '0', type: 'warning' },
|
||
{ label: '已录取', value: '20', type: 'success' },
|
||
];
|
||
|
||
// 市平台考试类型审核状态(使用字典 recruit_city_exam_type)
|
||
export const CITY_EXAM_TYPE_LIST = [
|
||
{ label: '待审核', value: '0' },
|
||
{ label: '通过', value: '1' },
|
||
{ label: '驳回', value: '2' },
|
||
];
|
||
|
||
// 宿舍范围状态(使用字典 recruit_dorm_range_status)
|
||
export const DORM_RANGE_STATUS_LIST = [
|
||
{ label: '待确认', value: '0' },
|
||
{ label: '范围内', value: '1' },
|
||
{ label: '范围外', value: '2' },
|
||
];
|
||
|
||
// 发送短信状态
|
||
export const SEND_STATUS_LIST = [
|
||
{ label: '未发送', value: '0' },
|
||
{ label: '已发送', value: '1' },
|
||
];
|
||
|
||
// 手动设置状态
|
||
export const MANUAL_SET_STATUS_LIST = [
|
||
{ label: '未设置', value: '0' },
|
||
{ label: '已设置', value: '1' },
|
||
];
|
||
|
||
// 住宿申请状态
|
||
export const DORM_APPLY_STATUS_LIST = [
|
||
{ label: '未通过', value: '0' },
|
||
{ label: '申请通过', value: '1' },
|
||
];
|
||
|
||
// 面试结果
|
||
export const INTERVIEW_DIC_LIST = [
|
||
{ label: '未面试', value: '0', type: 'info', icon: 'Document' },
|
||
{ label: '面试通过', value: '1', type: 'success', icon: 'CircleCheck' },
|
||
{ label: '面试未通过', value: '-1', type: 'danger', icon: 'CircleClose' },
|
||
];
|
||
|
||
// 招生资料审核状态(使用字典 recruit_zlsh,包含图标和颜色配置)
|
||
export const RECRUIT_MATERIAL_STATUS_LIST = [
|
||
{ label: '未填写', value: '0', type: 'info', icon: 'Document' },
|
||
{ label: '待审核', value: '1', type: 'warning', icon: 'Clock' },
|
||
{ label: '审核通过', value: '2', type: 'success', icon: 'CircleCheck' },
|
||
{ label: '审核驳回', value: '3', type: 'danger', icon: 'CircleClose' },
|
||
];
|
||
|
||
// 新市民材料上传状态(使用字典 recruit_new_city_material_status)
|
||
export const NEW_CITY_MATERIAL_STATUS_LIST = [
|
||
{ label: '未上传', value: '0' },
|
||
{ label: '已上传', value: '1' },
|
||
];
|
||
|
||
// 异动审核状态
|
||
export const TURNOVER_AUDIT_STATUS_LIST = [
|
||
{ label: '待审核', value: '1', type: 'warning', icon: 'Clock' },
|
||
{ label: '驳回', value: '2', type: 'danger', icon: 'CircleClose' },
|
||
{ label: '通过', value: '3', type: 'success', icon: 'CircleCheck' },
|
||
];
|
||
|
||
// 人事模块
|
||
// 专业审核状态选项(用于 AuditState 组件), 学历学位审核状态选项
|
||
import type { StateOption } from '/@/components/AuditState/index.vue';
|
||
export const PROFESSIONAL_AUDIT_STATE_OPTIONS: StateOption[] = [
|
||
{ value: '1', label: '已通过', type: 'success', icon: 'fa-solid fa-circle-check', effect: 'dark' },
|
||
{ value: '-2', label: '已驳回', type: 'danger', icon: 'fa-solid fa-circle-xmark', effect: 'dark' },
|
||
{ value: '0', label: '待审核', type: 'warning', icon: 'fa-regular fa-clock', effect: 'light' },
|
||
{ value: '10', label: '部门通过', type: 'warning', icon: 'fa-regular fa-clock', effect: 'dark' },
|
||
];
|
||
|
||
/**
|
||
* 根据值从状态列表中获取配置项
|
||
* @param statusList 状态列表
|
||
* @param value 状态值
|
||
* @returns 配置项
|
||
*/
|
||
export const getStatusConfig = (statusList: any[], value: string | number) => {
|
||
return statusList.find((item) => item.value === String(value));
|
||
};
|
||
|
||
/**
|
||
* 获取报到状态配置(用于 ClickableTag)
|
||
* 根据字典数据:0=未联系, 1=已经报到, 2=推迟报到, 3=放弃报到, 4=无法联系
|
||
* @param statusList 报到状态字典列表
|
||
* @param value 状态值
|
||
* @param iconMap 图标映射对象,包含 CircleCheck, CircleClose, DocumentChecked, Warning, Clock
|
||
* @returns 包含 label、type、icon 的配置对象
|
||
*/
|
||
export const getCheckInStatusConfig = (
|
||
statusList: any[],
|
||
value: string,
|
||
iconMap: {
|
||
CircleCheck: any;
|
||
CircleClose: any;
|
||
DocumentChecked: any;
|
||
Warning: any;
|
||
Clock: any;
|
||
}
|
||
) => {
|
||
const item = statusList.find((item: any) => item.value === value);
|
||
if (!item) return null;
|
||
|
||
let type: 'success' | 'info' | 'warning' | 'danger' = 'info';
|
||
let icon: any = null;
|
||
|
||
// 根据状态值设置类型和图标
|
||
switch (value) {
|
||
case '1': // 已经报到
|
||
type = 'success';
|
||
icon = iconMap.CircleCheck;
|
||
break;
|
||
case '2': // 推迟报到
|
||
type = 'warning';
|
||
icon = iconMap.Clock;
|
||
break;
|
||
case '3': // 放弃报到
|
||
type = 'danger';
|
||
icon = iconMap.CircleClose;
|
||
break;
|
||
case '4': // 无法联系
|
||
type = 'danger';
|
||
icon = iconMap.Warning;
|
||
break;
|
||
case '0': // 未联系
|
||
default:
|
||
type = 'info';
|
||
icon = iconMap.DocumentChecked;
|
||
break;
|
||
}
|
||
|
||
return {
|
||
label: item.label,
|
||
type,
|
||
icon,
|
||
};
|
||
};
|