declare namespace Api { interface IUser { CName: string; IsSuper: boolean; DefaultProject: string; Email: string; ForbiddenModule: number; ID: number; Mobile: string; UserName: string; IsDepLeader: number; Status: number; UserType: number; is_accountant: number; is_leader: number; is_opt_mgr: number; is_wty_mgr: number; } interface IAccess { [key: string]: boolean; } interface IProject { Name: string; ID: number; EndDate: string; StartDate: string; Code: string; Position: string; Province: string; ScreenShot: string; Remark: string; Type: string; UndertakenUnit: string; User: IUser[]; WaterName: string; WaterStandard: string; ServiceScope: string; ServiceTime: string; MainProcess: string; ImageUrl: string; ConstructionUnit: string; Scale: string; CooperateMode: string; ContractTime: string; CompanyName: string; Accountant: number; CarouselFlag: number; Classification: number; CompanyNumber: number; ConstructAlarmFlag: number; CurrentDuration: number; CurrentOperatorNum: number; DepartmentManager: number; Duration: number; ElectricalDesigner: number; LeaderId: number; MechanicalDesigner: number; OpsAlarmFlag: number; OptManager: number; PreSaleManager: number; PurchaseManager: number; SiteManager: number; Stage: number; Status: number; TechnicalDesigner: number; WtyManager: number; Leader: IUser | null; ElectricalDesignerUser: IUser | null; WtyManagerUser: IUser | null; TechnicalDesignerUser: IUser | null; SiteManagerUser: IUser | null; PurchaseManagerUser: IUser | null; PreSaleManagerUser: IUser | null; OptManagerUser: IUser | null; MechanicalDesignerUser: IUser | null; type?: number; } interface IMonitor { id: number; project_id: number; user_id: number; module: number; sub_module: number; config_json: string; is_default: number; name: string; is_template: number; cover: string; c_time: string; m_time: string; status: number; } interface IDep { Code: string; CreatedBy: number; CreatedOn: string; DeletedBy: number; DeletedFlag: number; DeletedOn: number; ID: number; Name: string; ParentID: number; Remark: string; UpdatedOn: string; UpdatedBy: number; Users: IUser[]; children: IDep[]; } interface IMenu { AppPath: string; Code: string; CreatedBy: number; CreatedOn: string | null; DeletedBy: number; DeletedFlag: number; DeletedOn: string | null; ID: number; Icon: string; Index: number; Level: number; MenuType: number; Name: string; ParentID: number; ProjectIds: number[] | null; Remark: string; Type: number; UnityPath: string; UpdatedBy: number; UpdatedOn: string | null; Version: number; WebPath: string; children?: IMenu[]; active?: boolean; } interface IProjectAccess { RoleCode: string; RoleId: number; RoleName: string; Menus: { [key: string]: boolean }; } interface IPermission { [key: string]: boolean; } } declare interface IResponse { code: number; data: T; msg?: string; } declare interface IListResponse { code: number; data: { list: T[]; pagination: { current: number; pageSize: number; total: number; }; }; msg?: string; }