feat: add Node ACS admin workflows
This commit is contained in:
@@ -33,6 +33,43 @@ export interface Zone {
|
||||
securityLevel: number;
|
||||
}
|
||||
|
||||
export interface PurposeCode {
|
||||
id: number;
|
||||
code: string;
|
||||
name: string;
|
||||
sortOrder: number;
|
||||
active: boolean;
|
||||
customAllowed: boolean;
|
||||
}
|
||||
|
||||
export interface Watcher1Settings {
|
||||
name: string;
|
||||
team: string;
|
||||
contact: string;
|
||||
}
|
||||
|
||||
export interface Team {
|
||||
id: number;
|
||||
code: string;
|
||||
name: string;
|
||||
active: boolean;
|
||||
defaultRoles: Role[];
|
||||
}
|
||||
|
||||
export interface AdminUser {
|
||||
id: number;
|
||||
username: string;
|
||||
fullName: string;
|
||||
department?: string;
|
||||
teamId?: number;
|
||||
teamCode?: string;
|
||||
teamName?: string;
|
||||
email?: string;
|
||||
enabled: boolean;
|
||||
locked: boolean;
|
||||
roles: Role[];
|
||||
}
|
||||
|
||||
export type VisitStatus =
|
||||
| 'DRAFT'
|
||||
| 'PENDING'
|
||||
@@ -52,6 +89,8 @@ export interface VisitRequestCreate {
|
||||
/** Detail room (콤보박스, 기타 자유 입력) — auxiliary, no separate QR. */
|
||||
roomZone?: string;
|
||||
purpose: string;
|
||||
purposeCode?: string;
|
||||
purposeDetail?: string;
|
||||
/** 작업명 — optional concrete task detail, stored separately from purpose. */
|
||||
workName?: string;
|
||||
/** 현장감시자2 (담당자 입력). 담당자·감시자1은 서버가 채운다. */
|
||||
@@ -67,12 +106,15 @@ export interface VisitRequestView {
|
||||
visitorName: string;
|
||||
company?: string;
|
||||
contact?: string;
|
||||
email?: string;
|
||||
vehicleNo?: string;
|
||||
hostId: number;
|
||||
hostName: string;
|
||||
hostDepartment?: string;
|
||||
zoneName?: string;
|
||||
purpose: string;
|
||||
purposeCode?: string;
|
||||
purposeDetail?: string;
|
||||
workName?: string;
|
||||
controlName?: string;
|
||||
controlTeam?: string;
|
||||
@@ -109,6 +151,26 @@ export interface ExcelImportResult {
|
||||
success: boolean;
|
||||
}
|
||||
|
||||
export interface AdminExcelImportRow {
|
||||
rowNumber: number;
|
||||
status: 'CREATE' | 'UPDATE' | 'ERROR' | string;
|
||||
key?: string;
|
||||
summary?: string;
|
||||
errors: string[];
|
||||
warnings: string[];
|
||||
}
|
||||
|
||||
export interface AdminExcelImportResult {
|
||||
totalRows: number;
|
||||
createCount: number;
|
||||
updateCount: number;
|
||||
errorCount: number;
|
||||
warningCount: number;
|
||||
applied: boolean;
|
||||
success: boolean;
|
||||
rows: AdminExcelImportRow[];
|
||||
}
|
||||
|
||||
export interface InsideVisitor {
|
||||
visitRequestId: number;
|
||||
visitorName: string;
|
||||
@@ -170,7 +232,7 @@ export interface AuditLog {
|
||||
at: string;
|
||||
actorId?: number;
|
||||
actorUsername?: string;
|
||||
action: 'APPROVE' | 'REJECT' | 'BLACKLIST_ADD' | 'BLACKLIST_REMOVE';
|
||||
action: 'APPROVE' | 'REJECT' | 'BLACKLIST_ADD' | 'BLACKLIST_REMOVE' | 'ADMIN_CONFIG_UPDATE';
|
||||
targetType?: string;
|
||||
targetId?: number;
|
||||
detail?: string;
|
||||
|
||||
Reference in New Issue
Block a user