feat(我的绩效): 开发我的绩效功能。

fix(加班申请、工作报告): 重构加班申请在审批时的样式,工作报告在新增时的对话框、报告详情页的样式。
This commit is contained in:
dk
2026-06-21 18:22:44 +08:00
parent cd64cf42cc
commit 9a5845708d
35 changed files with 4211 additions and 924 deletions

231
src/typings/api/performance.d.ts vendored Normal file
View File

@@ -0,0 +1,231 @@
declare namespace Api {
namespace Performance {
namespace Common {
interface PageParams {
pageNo: number;
pageSize: number;
}
interface PageResult<T> {
total: number;
list: T[];
}
type SheetStatusCode = 'draft' | 'sent' | 'confirmed' | 'rejected' | string;
type SheetActionCode = 'send' | 'resend' | 'confirm' | 'reject' | string;
type RemindType = 'pending_confirm' | 'pending_send';
}
namespace Template {
interface ScoreCellMapping {
actualScoreTotalCell?: string | null;
baseScoreTotalCell?: string | null;
extraScoreTotalCell?: string | null;
}
interface Template {
id: string;
templateName: string;
fileId: string;
fileName: string;
versionNo: number;
activeFlag: boolean;
uploadUserId: string;
uploadUserName: string;
uploadTime: string;
remark?: string | null;
scoreCellMapping?: ScoreCellMapping | null;
}
type SearchParams = CommonType.RecordNullable<
Common.PageParams & {
templateName: string;
activeFlag: boolean;
}
>;
interface UploadParams {
templateName: string;
fileId: string;
fileName: string;
activeFlag?: boolean | null;
remark?: string | null;
}
}
namespace Sheet {
interface Sheet {
id: string;
periodMonth: string;
employeeId: string;
employeeName: string;
employeeDeptId: string;
employeeDeptName: string;
deptOrgType: string;
managerId: string;
managerName: string;
templateId: string;
fileId?: string | null;
fileName?: string | null;
fileVersion: number;
statusCode: Common.SheetStatusCode;
statusName: string;
actualScoreTotal?: string | number | null;
baseScoreTotal?: string | number | null;
extraScoreTotal?: string | number | null;
sentTime?: string | null;
confirmedTime?: string | null;
rejectedTime?: string | null;
lastStatusReason?: string | null;
createTime?: string | null;
updateTime?: string | null;
}
type SearchParams = CommonType.RecordNullable<
Common.PageParams & {
employeeIds: string[];
periodMonthRange: string[];
employeeId: string;
employeeName: string;
employeeDeptId: string;
employeeDeptName: string;
managerId: string;
managerName: string;
statusCode: Common.SheetStatusCode;
}
>;
interface CreateParams {
periodMonth: string;
employeeId: string;
}
interface ExcelUpdateParams {
fileId: string;
fileName: string;
fileVersion: number;
actualScoreTotal: string | number;
baseScoreTotal: string | number;
extraScoreTotal: string | number;
}
interface StatusActionParams {
reason?: string | null;
}
interface BatchDownloadParams {
ids: string[];
}
interface StatusDict {
statusCode: Common.SheetStatusCode;
statusName: string;
sort: number;
initialFlag: boolean;
terminalFlag: boolean;
allowEdit: boolean;
}
interface StatusTransition {
actionCode: Common.SheetActionCode;
actionName: string;
fromStatusCode: Common.SheetStatusCode;
toStatusCode: Common.SheetStatusCode;
needReason: boolean;
}
interface StatusLog {
id: string;
sheetId: string;
actionType: Common.SheetActionCode;
fromStatus?: Common.SheetStatusCode | null;
toStatus?: Common.SheetStatusCode | null;
reason?: string | null;
operatorUserId: string;
operatorName: string;
periodMonthSnapshot: string;
employeeNameSnapshot: string;
remark?: string | null;
createTime: string;
}
interface ResponseRecord {
id: string;
sheetId: string;
statusLogId: string;
roundNo: number;
actionType: Common.SheetActionCode;
fromStatus: Common.SheetStatusCode;
toStatus: Common.SheetStatusCode;
opinion?: string | null;
responderUserId: string;
responderName: string;
createTime: string;
}
interface MonthlyResult {
sheetId?: string | null;
periodMonth: string;
employeeId: string;
actualScoreTotal?: string | number | null;
baseScoreTotal?: string | number | null;
extraScoreTotal?: string | number | null;
statusCode?: Common.SheetStatusCode | null;
}
}
namespace Team {
interface SummaryParams {
periodMonthStart?: string | null;
periodMonthEnd?: string | null;
}
interface PendingSendUser {
userId: string;
userNickname: string;
managerUserId: string;
managerName: string;
sheetId?: string | null;
statusCode?: Common.SheetStatusCode | null;
}
interface PendingConfirmUser {
userId: string;
userNickname: string;
sheetId: string;
sentTime?: string | null;
}
interface DeptOrgAverage {
deptId: string;
deptName: string;
deptOrgType: string;
averageScore?: string | number | null;
confirmedCount: number;
}
interface Summary {
periodMonthStart: string;
periodMonthEnd: string;
totalSheetCount: number;
pendingSendCount: number;
pendingConfirmCount: number;
confirmedRate: string | number;
pendingSendUsers: PendingSendUser[];
pendingConfirmUsers: PendingConfirmUser[];
deptOrgAverages: DeptOrgAverage[];
}
interface RemindParams {
periodMonthStart?: string | null;
periodMonthEnd?: string | null;
remindType: Common.RemindType;
userIds?: string[] | null;
}
interface RemindResult {
remindedCount: number;
}
}
}
}