2026-06-21 18:22:44 +08:00
|
|
|
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 {
|
2026-06-28 14:04:28 +08:00
|
|
|
periodMonth: string;
|
2026-06-21 18:22:44 +08:00
|
|
|
userId: string;
|
|
|
|
|
userNickname: string;
|
2026-06-28 14:04:28 +08:00
|
|
|
managerUserId?: string | null;
|
2026-06-21 18:22:44 +08:00
|
|
|
managerName: string;
|
|
|
|
|
sheetId?: string | null;
|
|
|
|
|
statusCode?: Common.SheetStatusCode | null;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
interface PendingConfirmUser {
|
2026-06-28 14:04:28 +08:00
|
|
|
periodMonth: string;
|
2026-06-21 18:22:44 +08:00
|
|
|
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;
|
2026-06-28 14:04:28 +08:00
|
|
|
expectedSheetCount: number;
|
2026-06-21 18:22:44 +08:00
|
|
|
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;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|