/** * 办事大厅前端类型(对齐后端 SvcModels/OapiModels)。 */ /** 学校组织树节点(BaseApi GetUserInfo/GetUserMod 通用形态) */ export interface SchoolTreeNode { id?: number; name?: string; [key: string]: any; } // ===== 站点 ===== export interface SiteOption { siteCode: string; name: string; schId: number; } // ===== 字典 ===== export interface ApplyVo { id: number; siteCode: string; itemId: number; itemCode: string; itemTitle: string; itemSnapshotJson?: string; formVersion?: number; formDataJson?: string; /** 办理表单 schema(仅详情出参;「申请内容」按 groups/fields 显示中文 label 与分组的唯一事实源) */ formSchemaJson?: string; attachmentsJson?: string; submitterId: number; submitterName: string; flowGuid?: string; flowInstanceId?: number; flowStatus: number; flowResultJson?: string; submitTime?: string; finishTime?: string; createTime?: string; } /** 表单附件字段行(对齐后端 ApplyAttachmentItem;attachmentId=上传接口返回的附件行 id) */ export interface ApplyAttachmentItem { fieldKey?: string; attachmentId: number; } /** 发起提交入参(对齐后端 ApplySubmitRequest) */ export interface ApplySubmitRequest { siteCode: string; itemCode: string; /** 表单数据 JSON 字符串({key:value};无表单事项传空) */ formData?: string; /** 附件字段上传的附件行(可空;缺失会导致后端 bindApply 不执行、办件材料无效) */ attachments?: ApplyAttachmentItem[]; } /** 事项大厅列表行(后端复用 oapi ItemRow,见 HallController) */ export interface HallItem { id: number; itemCode: string; title: string; summary?: string; coverImage?: string; deptName?: string; categoryName?: string; handleMode?: number; onlineFlag?: number; publishTime?: string; } export interface HallFilterOption { key?: string; id?: number; name: string; count: number; } /** 筛选项(服务对象/分类/部门,各带已发布计数) */ export interface HallFilters { objects?: HallFilterOption[]; categories?: HallFilterOption[]; depts?: HallFilterOption[]; } /** 审批进度(后端复用 SDK FlowProgress,见 /api/apply/{id}/progress) */ export interface FlowProgressVo { instanceId?: number; bizType?: string; bizId?: string; bizTitle?: string; status?: number; currentNodes?: string; submitterId?: number; submitterName?: string; submitTime?: string; finishTime?: string; steps?: FlowProgressStep[]; } export interface FlowProgressStep { nodeId?: string; nodeName?: string; label?: string; active?: boolean; assignees?: FlowProgressTask[]; } export interface FlowProgressTask { taskId?: number; userId?: number; userName?: string; status?: number; statusLabel?: string; opinion?: string; arriveTime?: string; handleTime?: string; edgeName?: string; } export interface PageResult { total: number; list?: T[]; items?: T[]; }