/**
|
* 企业微信模块共享常量
|
*
|
* 值与后端枚举一一对应,改动时两边必须同步:
|
* - WxCpPushScopeEnum:0全员 1指定部门 2指定成员
|
* - WxCpActivityStatusEnum:0草稿 1已发布 2已结束 3已取消
|
* - WxCpNoticeStatusEnum:0草稿 1已发布 2已撤回
|
* - WxCpSignupStatusEnum:0已报名 1已取消 2已签到
|
*/
|
|
/** 推送范围 */
|
export const PUSH_SCOPE = {
|
ALL: 0,
|
PARTY: 1,
|
USER: 2,
|
} as const;
|
|
/** 推送范围选项 */
|
export const PUSH_SCOPE_OPTIONS = [
|
{ label: '全员', value: PUSH_SCOPE.ALL },
|
{ label: '指定部门', value: PUSH_SCOPE.PARTY },
|
{ label: '指定成员', value: PUSH_SCOPE.USER },
|
];
|
|
/** 推送状态(活动与通知共用) */
|
export const PUSH_STATUS_OPTIONS = [
|
{ label: '未推送', value: 0 },
|
{ label: '已推送', value: 1 },
|
];
|
|
/** 活动状态 */
|
export const ACTIVITY_STATUS = {
|
DRAFT: 0,
|
PUBLISHED: 1,
|
FINISHED: 2,
|
CANCELED: 3,
|
} as const;
|
|
/** 活动状态选项 */
|
export const ACTIVITY_STATUS_OPTIONS = [
|
{ label: '草稿', value: ACTIVITY_STATUS.DRAFT },
|
{ label: '已发布', value: ACTIVITY_STATUS.PUBLISHED },
|
{ label: '已结束', value: ACTIVITY_STATUS.FINISHED },
|
{ label: '已取消', value: ACTIVITY_STATUS.CANCELED },
|
];
|
|
/** 通知状态 */
|
export const NOTICE_STATUS = {
|
DRAFT: 0,
|
PUBLISHED: 1,
|
REVOKED: 2,
|
} as const;
|
|
/** 通知状态选项 */
|
export const NOTICE_STATUS_OPTIONS = [
|
{ label: '草稿', value: NOTICE_STATUS.DRAFT },
|
{ label: '已发布', value: NOTICE_STATUS.PUBLISHED },
|
{ label: '已撤回', value: NOTICE_STATUS.REVOKED },
|
];
|
|
/** 报名状态 */
|
export const SIGNUP_STATUS = {
|
SIGNED_UP: 0,
|
CANCELED: 1,
|
CHECKED_IN: 2,
|
} as const;
|
|
/** 报名状态选项 */
|
export const SIGNUP_STATUS_OPTIONS = [
|
{ label: '已报名', value: SIGNUP_STATUS.SIGNED_UP },
|
{ label: '已取消', value: SIGNUP_STATUS.CANCELED },
|
{ label: '已签到', value: SIGNUP_STATUS.CHECKED_IN },
|
];
|
|
/** 把选项数组转成 value -> label 的映射,便于表格里直接取中文名 */
|
export function toLabelMap(
|
options: Array<{ label: string; value: number }>,
|
): Record<number, string> {
|
return Object.fromEntries(options.map((o) => [o.value, o.label]));
|
}
|