incident.ts 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217
  1. import request from '@/utils/request';
  2. import { BaseResponse } from './type';
  3. export interface IncidentItem {
  4. id?: string; // 非必须
  5. type?: number; // 非必须 事件类型
  6. level?: number; // 非必须 事件等级
  7. addr?: string; // 非必须 地址
  8. locations?: string; // 非必须 经纬度
  9. createDept?: string; // 非必须 上报部门
  10. createDeptText?: string; // 非必须 上报部门
  11. source?: string; // 非必须 来源
  12. des?: string; // 非必须 事件描述
  13. pic?: string; // 非必须 图片
  14. video?: string; // 非必须 视频
  15. expr1?: null; // 非必须
  16. expr2?: null; // 非必须
  17. exprJson?: null; // 非必须
  18. name?: string; // 非必须
  19. status?: number; // 非必须 状态
  20. madinDept?: string; // 非必须
  21. happenTime?:string;
  22. assistDept?: string; // 非必须
  23. createBy?: string; // 非必须
  24. createTime?: string; // 非必须
  25. }
  26. export interface IncidentListResponse extends BaseResponse {
  27. rows?: IncidentItem[];
  28. total?: number;
  29. pageSize?: number;
  30. pageNum?: number;
  31. }
  32. export interface GetIncidentListParams {
  33. name?: string;
  34. type?: number | string;
  35. level?: number | string;
  36. status?: number | string;
  37. 'params[beginTime]'?: string; // yyyy-MM-dd
  38. 'params[endTime]'?: string; // yyyy-MM-dd
  39. pageSize?: number;
  40. pageNum?: number;
  41. querySource?:string;
  42. }
  43. /** 事件列表查询 */
  44. export const getIncidentList = (params: GetIncidentListParams) =>
  45. request<IncidentListResponse>('GET', {
  46. url: '/zhdd/incident/list',
  47. params: params,
  48. });
  49. /** 事件处置办结 */
  50. export const putbackLog = (params: string) =>
  51. request<IncidentListResponse>('POST', {
  52. url: '/zhdd/incident/backLogFinish',
  53. data: params,
  54. });
  55. export interface IncidentItemDetailProcessItem {
  56. id?: string;
  57. incidentId?: string;
  58. des?: string;
  59. status?: null;
  60. createTime?: string;
  61. createBy?: null;
  62. taskId?: string;
  63. }
  64. export interface IncidentItemDetailTaskItem {
  65. id?: string;
  66. incidentId?: string;
  67. taskName?: string;
  68. taskDes?: string;
  69. source?: number;
  70. delFlag?: string;
  71. createTime?: string;
  72. createBy?: null;
  73. }
  74. export interface IncidentItemPlanItem {
  75. id?: string; // 非必须
  76. planId?: string; // 非必须
  77. level?: number; // 非必须
  78. taskName?: string; // 非必须
  79. taskDes?: string; // 非必须 描述
  80. createBy?: string; // 非必须
  81. createTime?: string; //非必须
  82. }
  83. export interface IncidentItemTaskItem {
  84. id?: string; // 必须
  85. incidentId?: string; // 必须
  86. taskName?: string; // 必须
  87. taskDes?: string; // 必须
  88. source?: number; // 必须
  89. delFlag?: string; // 必须
  90. createTime?: string; // 必须
  91. createBy?: null; // 必须
  92. backLogFlag?: string;
  93. chemicals?: string;
  94. chemicalsText?:string;
  95. taskCommandVos: {
  96. id?: string;
  97. incidentTaskId?: string;
  98. command?: string;
  99. }[]; // 指令列表
  100. taskPersonVos?: {
  101. // 人员列表
  102. id?: string;
  103. incidentTaskId?: string;
  104. position: string;
  105. person: string;
  106. }[];
  107. }
  108. export interface IncidentItemDetail {
  109. baseInfo?: IncidentItem; // 基本信息
  110. process?: IncidentItemDetailProcessItem[]; //处置信息
  111. task?: IncidentItemTaskItem[]; // 处置任务
  112. baseTask?: {
  113. [key: string]: IncidentItemPlanItem[];
  114. }; // 处置预案
  115. }
  116. export interface IncidentItemDetailResponse extends BaseResponse {
  117. data: IncidentItemDetail;
  118. }
  119. /** 事件详情 */
  120. export const getIncidentItem = (id: number | string) =>
  121. request<IncidentItemDetailResponse>('GET', {
  122. url: `/zhdd/incident/${id}`,
  123. });
  124. /** 事件接报 */
  125. export const postIncidentItem = (params: IncidentItem) =>
  126. request<BaseResponse>('POST', {
  127. url: `/zhdd/incident`,
  128. data: params,
  129. });
  130. /**
  131. * 事件修改
  132. * ```
  133. * 如果是更改状态的话,只需要传
  134. * { "id":"", "status":xx }
  135. * ```
  136. */
  137. export const putIncidentItem = (params: IncidentItem) =>
  138. request<BaseResponse>('PUT', {
  139. url: `/zhdd/incident`,
  140. data: params,
  141. });
  142. export interface IncidentTaskParam {
  143. incidentId?: string; // 事件id
  144. taskName?: string; // 任务名称
  145. taskDes?: string; // 任务描述
  146. }
  147. /** 添加事件任务 TODO:// 什么接口?? */
  148. export const addIncidentTask = (params: IncidentItem) =>
  149. request<BaseResponse>('POST', {
  150. url: `/zhdd/incident/task`,
  151. data: params,
  152. });
  153. /** 删除事件任务 TODO:// 什么接口?? ids --> 1,2,3 ?? */
  154. export const deleteIncidentTask = (ids: string) =>
  155. request<BaseResponse>('DELETE', {
  156. url: `/zhdd/incident/task/${ids}`,
  157. });
  158. export interface IncidentProcessParam {
  159. incidentId?: string; // 事件id
  160. des?: string; // 处置内容
  161. taskId?: string;
  162. }
  163. /** 添加处置过程 */
  164. export const addIncidentProcess = (params: IncidentProcessParam) =>
  165. request<BaseResponse>('POST', {
  166. url: `/zhdd/incidentProcess`,
  167. data: params,
  168. });
  169. export interface IncidentPlanTaskParam {
  170. id?: string;
  171. incidentId?: string; // 事件id
  172. taskName?: string;
  173. incidentTaskCommands?: { id?: string; command: string }[]; // 指令
  174. incidentTaskPeoples?: {
  175. id?: string;
  176. incidentTaskId?: string;
  177. position: string;
  178. person: string;
  179. }[]; // 人员
  180. }
  181. /** 添加事件任务 --> 处置方案 */
  182. export const addIncidentPlanTask = (params: IncidentPlanTaskParam) =>
  183. request<BaseResponse>('POST', {
  184. url: `/zhdd/incident/task`,
  185. data: params,
  186. });
  187. export interface AllIncidentsResponse {
  188. data: {
  189. 预警事件: NonNullable<IncidentItem>[];
  190. 待派发: NonNullable<IncidentItem>[];
  191. 待处置: NonNullable<IncidentItem>[];
  192. };
  193. }
  194. /** 所有应急事件信息 */
  195. export const getAllIncidents = () =>
  196. request<AllIncidentsResponse>('GET', {
  197. url: `/zhdd/incident/location`,
  198. });