import type { FileItem } from '@/views/disaster/types'; export interface ImageItem { url: string; name?: string; size?: number; file?: File; } export interface DisposalManagementListQuery { reporterId?: number; } export interface LossReportReportTaskQuery { taskStage?: string; } export interface DisposalManagementTableQuery extends DisposalManagementListQuery, LossReportReportTaskQuery { handleTaskIds: number[]; reportDeptIds?: number[]; status?: string; } export interface LossRecordTableQuery { handleTaskIds: number[]; handleDeptIds?: number[]; fixStatus?: string | null; isLoss?: number; } interface BasicResponse { deptName: string; taskStage: number; dueCompleteTime: string; } export interface DisposalManagementListResponse { id: number; handleTaskId: number; taskName: string; updatedAt: string; dueCompleteTime: string; } export interface DisposalManagementCollapseListResponse extends DisposalManagementListResponse { tableData: T[]; } export interface disasterReportTaskInfoListResponse extends BasicResponse { id: number; status: number; reportPrincipalInfoList: { reportPrincipalId: number; reportPrincipalName: string; reportPrincipalStaffNo: string }[]; userGroupList: string; } export interface disasterReportRecordDetailListResponse { id: number; buildingNo: string; floorNo: string; roomNo: string; affectedItems: string; updatedAt: string; responsibleDeptName: string; priority: string; fixStatus: number; isLoss: number; userGroupList: string; createdBy: string; images: string; fixerList: string; isFixPrincipal: boolean; //是否整改责任人 safetyLevel: string; isAffectWork: number | null; estimatedLoss: string | null; description: string; remark: string; fixTaskId: number; } export interface DisposalManagementTableResponse { handleTaskId: number; disasterReportTaskInfoList: disasterReportTaskInfoListResponse[]; } export interface LossRecordTableResponse { handleTaskId: number; disasterReportRecordDetailList: disasterReportRecordDetailListResponse[]; } export interface LossReportReportTaskResponse extends BasicResponse { id: number; handleTaskId: number; taskName: string; isReportPrincipal: boolean; //是否上报责任人 updatedAt: string; reporterList: string; //上报责任人列表 } export interface DisposalManagementCreateQuery { taskName: string; deptIds: number[]; dueCompleteTime: string; reportRequirement: string; userGroupList: number[]; isPush: boolean; } export interface DisposalManagementEditQuery { dueCompleteTime?: string; reportRequirement?: string; taskStage?: number; isPush?: number; status?: number; userGroupList?: number[]; } export interface DisasterReportCreateQuery extends DisposalManagementCreateQuery { handleTaskId: number; } export interface DisasterReportEditQuery extends DisposalManagementEditQuery { id: number; //灾害处置上报任务id handleTaskId: number; //灾害处置任务id } export interface DisposalManagementRuleForm extends Omit { isPush: boolean | null; createdByName: string; } export interface DisposalManagementRuleFormEdit extends Omit { createdByName: string; deptName: string; isPush: number | null; } export interface LossReportItemFormData extends Omit< disasterReportRecordDetailListResponse, | 'id' | 'updatedAt' | 'responsibleDeptName' | 'fixStatus' | 'userGroupList' | 'images' | 'fixerList' | 'isFixPrincipal' | 'fixTaskId' > { reportTaskName: string; responsibleDeptId: number | null; userGroupList: number[]; isPush: number; affectedRoom: string; //自己创造的一个数值,不要传给后端 images: string[]; uploadImages: File[]; } export interface LossRecordFormData { reportTaskName: string; isLoss: number; buildingNo?: string; floorNo?: string; roomNo?: string; affectedItems?: string; images?: string[]; description?: string; safetyLevel?: string; isAffectWork?: number; estimatedLoss?: string; priority?: string; responsibleDeptId?: number; remark?: string; userGroupList?: number[]; isPush?: number; uploadImages?: File[]; } export interface LossRecordCreateQuery extends Omit { reportTaskId: number; images?: string[]; } export interface LossRecordEditQuery extends Omit { id: number; } export interface DisposalRectificationFormData { fixStatus: string; fixMethod: string; fixDeadline: string; fixImages: string; fixMaterials: string; remark: string; createdBy: number | null; createdByName: string; uploadImages: File[]; uploadFiles: FileItem[]; } export interface DisposalRectificationCreateQuery extends DisposalRectificationFormData { fixTaskId: number; }