diff --git a/src/constants/dict.ts b/src/constants/dict.ts index b240016..5afc803 100644 --- a/src/constants/dict.ts +++ b/src/constants/dict.ts @@ -112,14 +112,6 @@ export const RDMS_REQ_CAN_DELETE_STATUS_DICT_CODE = 'rdms_req_can_delete_status' */ export const RDMS_WORKLOG_DIFFICULTY_DICT_CODE = 'rdms_task_item_worklog_difficulty'; -/** - * 加班申请状态字典编码 - * - * 对应业务字段:加班申请中的 statusCode - * 来源口径:`overtime-application-design.md` 明确状态字典为 rdms_overtime_application_status - */ -export const RDMS_OVERTIME_APPLICATION_STATUS_DICT_CODE = 'rdms_overtime_application_status'; - /** * 加班时长快捷选项字典编码 * diff --git a/src/constants/status-tag.ts b/src/constants/status-tag.ts index 0e7dc10..730aa92 100644 --- a/src/constants/status-tag.ts +++ b/src/constants/status-tag.ts @@ -14,7 +14,8 @@ export type StatusDomain = | 'taskAssigneeMember' | 'project' | 'product' - | 'requirement' + | 'productRequirement' + | 'projectRequirement' | 'workOrder' | 'personalItem' | 'overtimeApplication'; @@ -52,8 +53,31 @@ const statusTagTypeRegistry: Record> project: {}, // 产品(待补全) product: {}, - // 需求(待补全) - requirement: {}, + // 产品需求 + productRequirement: { + pending_claim: 'info', + pending_review: 'info', + pending_dispatch: 'primary', + reviewed: 'success', + review_rejected: 'danger', + implementing: 'primary', + accepted: 'success', + closed: 'danger', + rejected: 'danger', + cancelled: 'danger' + }, + // 项目需求 + projectRequirement: { + pending_claim: 'info', + pending_review: 'info', + reviewed: 'success', + review_rejected: 'danger', + implementing: 'primary', + accepted: 'success', + closed: 'danger', + rejected: 'danger', + cancelled: 'danger' + }, // 工单(待补全) workOrder: {}, // 个人事项 @@ -83,7 +107,3 @@ export function getStatusTagType(domain: StatusDomain, statusCode: string | null export function getPersonalItemStatusTagType(statusCode: string | null | undefined) { return getStatusTagType('personalItem', statusCode); } - -export function getOvertimeApplicationStatusTagType(statusCode: string | null | undefined) { - return getStatusTagType('overtimeApplication', statusCode); -} diff --git a/src/service/api/overtime-application.ts b/src/service/api/overtime-application.ts index 14120bf..53e27df 100644 --- a/src/service/api/overtime-application.ts +++ b/src/service/api/overtime-application.ts @@ -269,6 +269,19 @@ export async function fetchGetOvertimeApplicationStatusLogs(id: string) { ); } +export async function fetchGetOvertimeApplicationStatusDict() { + const result = await request({ + ...safeJsonRequestConfig, + url: `${OVERTIME_APPLICATION_PREFIX}/status/dict`, + method: 'get' + }); + + return mapServiceResult( + result as ServiceRequestResult, + data => data + ); +} + export function fetchExportOvertimeApplications(params: Api.OvertimeApplication.OvertimeApplicationSearchParams = {}) { const query = createPageQuery(params); diff --git a/src/typings/api/overtime-application.d.ts b/src/typings/api/overtime-application.d.ts index 24b7a8f..3ea00f5 100644 --- a/src/typings/api/overtime-application.d.ts +++ b/src/typings/api/overtime-application.d.ts @@ -74,5 +74,14 @@ declare namespace Api { remark?: string | null; createTime: string; } + + interface OvertimeApplicationStatusDict { + statusCode: string; + statusName: string; + sort: number; + initialFlag: boolean; + terminalFlag: boolean; + allowEdit: boolean; + } } } diff --git a/src/views/personal-center/overtime-application/modules/overtime-application-search.vue b/src/views/personal-center/overtime-application/modules/overtime-application-search.vue index ec70728..4afadbf 100644 --- a/src/views/personal-center/overtime-application/modules/overtime-application-search.vue +++ b/src/views/personal-center/overtime-application/modules/overtime-application-search.vue @@ -1,6 +1,6 @@