index.ts 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261
  1. import type { FileItem } from '@/views/disaster/types';
  2. export interface ImageItem {
  3. url: string;
  4. name?: string;
  5. size?: number;
  6. file?: File;
  7. }
  8. export interface DisposalManagementListQuery {
  9. reporterId?: number;
  10. fixerId?: number;
  11. }
  12. export interface LossReportReportTaskQuery {
  13. taskStage?: string | null;
  14. }
  15. export interface DisposalManagementTableQuery extends DisposalManagementListQuery, LossReportReportTaskQuery {
  16. handleTaskIds: number[];
  17. reportDeptIds?: number[] | null;
  18. status?: string | null;
  19. }
  20. export interface LossRecordTableQuery {
  21. handleTaskIds: number[];
  22. handleDeptIds?: number[] | null;
  23. fixStatus?: string | null;
  24. isLoss?: number;
  25. fixerId?: number;
  26. }
  27. interface BasicResponse {
  28. deptName: string;
  29. taskStage: number;
  30. dueCompleteTime: string;
  31. }
  32. export interface DisposalManagementListResponse {
  33. id: number;
  34. handleTaskId: number;
  35. taskName: string;
  36. updatedAt: string;
  37. dueCompleteTime: string;
  38. }
  39. export interface DisposalManagementCollapseListResponse<T> extends DisposalManagementListResponse {
  40. tableData: T[];
  41. }
  42. export interface disasterReportTaskInfoListResponse extends BasicResponse {
  43. id: number;
  44. status: number;
  45. reportPrincipalInfoList: { reportPrincipalId: number; reportPrincipalName: string; reportPrincipalStaffNo: string }[];
  46. userGroupList: string;
  47. }
  48. export interface disasterReportRecordDetailListResponse {
  49. id: number;
  50. buildingNo: string;
  51. floorNo: string;
  52. roomNo: string;
  53. affectedItems: string;
  54. updatedAt: string;
  55. responsibleDeptName: string;
  56. priority: string;
  57. fixStatus: number;
  58. isLoss: number;
  59. userGroupList: string;
  60. createdBy: string;
  61. images: string;
  62. fixerList: string;
  63. isFixPrincipal: boolean; //是否整改责任人
  64. safetyLevel: string;
  65. isAffectWork: number | null;
  66. estimatedLoss: string | null;
  67. description: string;
  68. remark: string;
  69. fixTaskId: number;
  70. }
  71. export interface DisposalManagementTableResponse {
  72. handleTaskId: number;
  73. disasterReportTaskInfoList: disasterReportTaskInfoListResponse[];
  74. }
  75. export interface LossRecordTableResponse {
  76. handleTaskId: number;
  77. disasterReportRecordDetailList: disasterReportRecordDetailListResponse[];
  78. }
  79. export interface LossReportReportTaskResponse extends BasicResponse {
  80. id: number;
  81. handleTaskId: number;
  82. taskName: string;
  83. isReportPrincipal: boolean; //是否上报责任人
  84. updatedAt: string;
  85. reporterList: string; //上报责任人列表
  86. }
  87. export interface DisposalManagementCreateQuery {
  88. taskName: string;
  89. deptIds: number[];
  90. dueCompleteTime: string;
  91. reportRequirement: string;
  92. userGroupList: number[];
  93. isPush: boolean;
  94. }
  95. export interface DisposalManagementEditQuery {
  96. dueCompleteTime?: string;
  97. reportRequirement?: string;
  98. taskStage?: number;
  99. isPush?: number;
  100. status?: number;
  101. userGroupList?: number[];
  102. }
  103. export interface DisasterReportCreateQuery extends DisposalManagementCreateQuery {
  104. handleTaskId: number;
  105. }
  106. export interface DisasterReportEditQuery extends DisposalManagementEditQuery {
  107. id: number; //灾害处置上报任务id
  108. handleTaskId: number; //灾害处置任务id
  109. }
  110. export interface DisposalManagementRuleForm extends Omit<DisposalManagementCreateQuery, 'isPush'> {
  111. isPush: boolean | null;
  112. createdByName: string;
  113. }
  114. export interface DisposalManagementRuleFormEdit extends Omit<DisposalManagementCreateQuery, 'isPush' | 'deptIds'> {
  115. createdByName: string;
  116. deptName: string;
  117. isPush: number | null;
  118. }
  119. export interface LossReportItemFormData
  120. extends Omit<
  121. disasterReportRecordDetailListResponse,
  122. | 'id'
  123. | 'updatedAt'
  124. | 'responsibleDeptName'
  125. | 'fixStatus'
  126. | 'userGroupList'
  127. | 'images'
  128. | 'fixerList'
  129. | 'isFixPrincipal'
  130. | 'fixTaskId'
  131. > {
  132. reportTaskName: string;
  133. responsibleDeptId: number | null;
  134. userGroupList: number[];
  135. isPush: number;
  136. affectedRoom: string; //自己创造的一个数值,不要传给后端
  137. images: string[];
  138. uploadImages: File[];
  139. }
  140. export interface LossRecordFormData {
  141. reportTaskName: string;
  142. isLoss: number;
  143. buildingNo?: string;
  144. floorNo?: string;
  145. roomNo?: string;
  146. affectedItems?: string;
  147. images?: string[];
  148. description?: string;
  149. safetyLevel?: string;
  150. isAffectWork?: number;
  151. estimatedLoss?: string;
  152. priority?: string;
  153. responsibleDeptId?: number;
  154. remark?: string;
  155. userGroupList?: number[];
  156. isPush?: number;
  157. uploadImages?: File[];
  158. }
  159. export interface LossRecordCreateQuery extends Omit<LossRecordFormData, 'images'> {
  160. reportTaskId: number;
  161. images?: string[];
  162. }
  163. export interface LossRecordEditQuery extends Omit<LossRecordCreateQuery, 'reportTaskId'> {
  164. id: number;
  165. }
  166. export interface DisposalRectificationFormData {
  167. id?: number;
  168. fixStatus: string;
  169. fixMethod: string;
  170. fixDeadline: string;
  171. fixImages: string;
  172. fixMaterials: string;
  173. remark: string;
  174. createdBy: number | null;
  175. createdByName: string;
  176. uploadImages: File[];
  177. uploadFiles: FileItem[];
  178. createdAt?: string;
  179. }
  180. export interface DisposalRectificationCreateQuery extends DisposalRectificationFormData {
  181. fixTaskId: number;
  182. }
  183. export interface DisasterLossDetailQuery {
  184. handleTaskId: number;
  185. reporterId?: number;
  186. fixerId?: number;
  187. reportRecordId?: number;
  188. }
  189. export interface LossRecordListDetail {
  190. id: number;
  191. fixTaskId: number;
  192. affectedItems: string;
  193. buildingNo?: string;
  194. floorNo?: string;
  195. roomNo?: string;
  196. createdBy: number;
  197. updatedAt: string;
  198. safetyLevel: string;
  199. isAffectWork: number;
  200. estimatedLoss: string | null;
  201. description: string;
  202. images: string;
  203. remark: string;
  204. isLoss: number;
  205. responsibleDeptName: string;
  206. fixPrincipals: string;
  207. priority: string;
  208. fixRecordList: DisposalRectificationFormData[];
  209. }
  210. export interface ReportTaskListDetail {
  211. fixFinishCount: number;
  212. lossRecordCount: number;
  213. reportDeptId: number;
  214. reportDeptName: string;
  215. reportTaskId: number;
  216. lossRecordList: LossRecordListDetail[]; // 损失记录列表
  217. }
  218. export interface OverviewLossRecordInfo {
  219. needToReportDeptCount?: number; // 需上报单位数量
  220. reportedDeptCount?: number; // 已上报单位数量
  221. waitToReportDeptCount?: number; // 待上报单位数量
  222. overdueReportedDeptCount?: number; // 超期未上报单位数量
  223. lossRecordCount?: number; // 损失记录数量
  224. fixedLossCount?: number; // 已整改损失数量
  225. fixingLossCount?: number; // 整改中损失数量
  226. waitToFixLossCount?: number; // 待整改损失数量
  227. }
  228. export interface DisasterLossDetailResponse extends OverviewLossRecordInfo {
  229. handleTaskName: string;
  230. reportTaskList: ReportTaskListDetail[]; // 上报任务列表
  231. }