import request from '@/utils/request'; import { BaseResponse } from './type'; export interface IncidentItem { id?: string; // 非必须 type?: number; // 非必须 事件类型 level?: number; // 非必须 事件等级 addr?: string; // 非必须 地址 locations?: string; // 非必须 经纬度 createDept?: string; // 非必须 上报部门 createDeptText?: string; // 非必须 上报部门 source?: string; // 非必须 来源 des?: string; // 非必须 事件描述 pic?: string; // 非必须 图片 video?: string; // 非必须 视频 expr1?: null; // 非必须 expr2?: null; // 非必须 exprJson?: null; // 非必须 name?: string; // 非必须 status?: number; // 非必须 状态 madinDept?: string; // 非必须 happenTime?:string; assistDept?: string; // 非必须 createBy?: string; // 非必须 createTime?: string; // 非必须 } export interface IncidentListResponse extends BaseResponse { rows?: IncidentItem[]; total?: number; pageSize?: number; pageNum?: number; } export interface GetIncidentListParams { name?: string; type?: number | string; level?: number | string; status?: number | string; 'params[beginTime]'?: string; // yyyy-MM-dd 'params[endTime]'?: string; // yyyy-MM-dd pageSize?: number; pageNum?: number; querySource?:string; } /** 事件列表查询 */ export const getIncidentList = (params: GetIncidentListParams) => request('GET', { url: '/zhdd/incident/list', params: params, }); /** 事件处置办结 */ export const putbackLog = (params: string) => request('POST', { url: '/zhdd/incident/backLogFinish', data: params, }); export interface IncidentItemDetailProcessItem { id?: string; incidentId?: string; des?: string; status?: null; createTime?: string; createBy?: null; taskId?: string; } export interface IncidentItemDetailTaskItem { id?: string; incidentId?: string; taskName?: string; taskDes?: string; source?: number; delFlag?: string; createTime?: string; createBy?: null; } export interface IncidentItemPlanItem { id?: string; // 非必须 planId?: string; // 非必须 level?: number; // 非必须 taskName?: string; // 非必须 taskDes?: string; // 非必须 描述 createBy?: string; // 非必须 createTime?: string; //非必须 } export interface IncidentItemTaskItem { id?: string; // 必须 incidentId?: string; // 必须 taskName?: string; // 必须 taskDes?: string; // 必须 source?: number; // 必须 delFlag?: string; // 必须 createTime?: string; // 必须 createBy?: null; // 必须 backLogFlag?: string; chemicals?: string; chemicalsText?:string; taskCommandVos: { id?: string; incidentTaskId?: string; command?: string; }[]; // 指令列表 taskPersonVos?: { // 人员列表 id?: string; incidentTaskId?: string; position: string; person: string; }[]; } export interface IncidentItemDetail { baseInfo?: IncidentItem; // 基本信息 process?: IncidentItemDetailProcessItem[]; //处置信息 task?: IncidentItemTaskItem[]; // 处置任务 baseTask?: { [key: string]: IncidentItemPlanItem[]; }; // 处置预案 } export interface IncidentItemDetailResponse extends BaseResponse { data: IncidentItemDetail; } /** 事件详情 */ export const getIncidentItem = (id: number | string) => request('GET', { url: `/zhdd/incident/${id}`, }); /** 事件接报 */ export const postIncidentItem = (params: IncidentItem) => request('POST', { url: `/zhdd/incident`, data: params, }); /** * 事件修改 * ``` * 如果是更改状态的话,只需要传 * { "id":"", "status":xx } * ``` */ export const putIncidentItem = (params: IncidentItem) => request('PUT', { url: `/zhdd/incident`, data: params, }); export interface IncidentTaskParam { incidentId?: string; // 事件id taskName?: string; // 任务名称 taskDes?: string; // 任务描述 } /** 添加事件任务 TODO:// 什么接口?? */ export const addIncidentTask = (params: IncidentItem) => request('POST', { url: `/zhdd/incident/task`, data: params, }); /** 删除事件任务 TODO:// 什么接口?? ids --> 1,2,3 ?? */ export const deleteIncidentTask = (ids: string) => request('DELETE', { url: `/zhdd/incident/task/${ids}`, }); export interface IncidentProcessParam { incidentId?: string; // 事件id des?: string; // 处置内容 taskId?: string; } /** 添加处置过程 */ export const addIncidentProcess = (params: IncidentProcessParam) => request('POST', { url: `/zhdd/incidentProcess`, data: params, }); export interface IncidentPlanTaskParam { id?: string; incidentId?: string; // 事件id taskName?: string; incidentTaskCommands?: { id?: string; command: string }[]; // 指令 incidentTaskPeoples?: { id?: string; incidentTaskId?: string; position: string; person: string; }[]; // 人员 } /** 添加事件任务 --> 处置方案 */ export const addIncidentPlanTask = (params: IncidentPlanTaskParam) => request('POST', { url: `/zhdd/incident/task`, data: params, }); export interface AllIncidentsResponse { data: { 预警事件: NonNullable[]; 待派发: NonNullable[]; 待处置: NonNullable[]; }; } /** 所有应急事件信息 */ export const getAllIncidents = () => request('GET', { url: `/zhdd/incident/location`, });