feat(新增加班申请功能): 新增申请功能,可在工作台进行审核。

fix(dict_data): 在字典数据新增、编辑时可以操作颜色类型字段(color_type)。
This commit is contained in:
dk
2026-06-01 21:37:08 +08:00
parent b2da882b31
commit d3d0830820
29 changed files with 1966 additions and 23 deletions

View File

@@ -88,7 +88,7 @@ declare namespace Api {
type DictDataSearchParams = CommonType.RecordNullable<Pick<DictData, 'label' | 'dictType' | 'status'>> & PageParams;
/** dict data save params */
type SaveDictDataParams = Pick<DictData, 'label' | 'value' | 'dictType' | 'sort' | 'status'> & {
type SaveDictDataParams = Pick<DictData, 'label' | 'value' | 'dictType' | 'sort' | 'status' | 'colorType'> & {
remark?: string | null;
};
}

View File

@@ -0,0 +1,78 @@
declare namespace Api {
namespace OvertimeApplication {
interface PageParams {
pageNo: number;
pageSize: number;
}
type OvertimeApplicationStatusCode = 'pending' | 'approved' | 'rejected' | 'cancelled';
type OvertimeApplicationActionType = 'submit' | 'resubmit' | 'approve' | 'reject' | 'cancel';
interface OvertimeApplication {
id: string;
applicantId: string;
applicantName: string;
overtimeDate: string;
overtimeDuration: string;
overtimeReason: string;
overtimeContent: string;
approverId: string;
approverName: string;
statusCode: OvertimeApplicationStatusCode;
statusName: string;
allowEdit: boolean;
terminal: boolean;
approvalComment?: string | null;
submitTime: string;
approvalTime?: string | null;
createTime: string;
updateTime: string;
}
type OvertimeApplicationSearchParams = CommonType.RecordNullable<
Pick<PageParams, 'pageNo' | 'pageSize'> & {
keyword: string;
applicantName: string;
approverId: string;
approverName: string;
statusCode: OvertimeApplicationStatusCode;
overtimeDate: string[];
createTime: string[];
}
>;
interface OvertimeApplicationPageResult {
total: number;
list: OvertimeApplication[];
}
interface SaveOvertimeApplicationParams {
overtimeDate: string;
overtimeDuration: string;
overtimeReason: string;
overtimeContent: string;
approverId: string;
}
interface StatusActionParams {
reason?: string | null;
}
interface OvertimeApplicationStatusLog {
id: string;
applicationId: string;
actionType: OvertimeApplicationActionType;
fromStatus?: string | null;
toStatus: string;
reason?: string | null;
operatorUserId: string;
operatorName: string;
applicantNameSnapshot: string;
overtimeDateSnapshot: string;
overtimeDurationSnapshot: string;
remark?: string | null;
createTime: string;
}
}
}

View File

@@ -866,6 +866,7 @@ declare namespace App {
dictStatus: string;
dictLabel: string;
dictValue: string;
colorType: string;
sort: string;
remark: string;
form: {
@@ -874,6 +875,7 @@ declare namespace App {
dictStatus: string;
dictLabel: string;
dictValue: string;
colorType: string;
sort: string;
remark: string;
};

View File

@@ -150,6 +150,7 @@ declare module 'vue' {
IconMdiCrown: typeof import('~icons/mdi/crown')['default']
IconMdiDeleteOutline: typeof import('~icons/mdi/delete-outline')['default']
IconMdiDotsHorizontal: typeof import('~icons/mdi/dots-horizontal')['default']
IconMdiDownload: typeof import('~icons/mdi/download')['default']
IconMdiDrag: typeof import('~icons/mdi/drag')['default']
IconMdiFilterVariant: typeof import('~icons/mdi/filter-variant')['default']
IconMdiFolderOpen: typeof import('~icons/mdi/folder-open')['default']

View File

@@ -50,6 +50,7 @@ declare module "@elegant-router/types" {
"personal-center_my-performance": "/personal-center/my-performance";
"personal-center_my-profile": "/personal-center/my-profile";
"personal-center_my-weekly": "/personal-center/my-weekly";
"personal-center_overtime-application": "/personal-center/overtime-application";
"personal-center_pending-approval": "/personal-center/pending-approval";
"plugin": "/plugin";
"plugin_barcode": "/plugin/barcode";
@@ -187,6 +188,7 @@ declare module "@elegant-router/types" {
| "personal-center_my-performance"
| "personal-center_my-profile"
| "personal-center_my-weekly"
| "personal-center_overtime-application"
| "personal-center_pending-approval"
| "plugin_barcode"
| "plugin_charts_antv"