applications/drone-command/src/components/map-container/device-map-container.vue
@@ -50,7 +50,9 @@ import { buildEllipsePositions } from '@/utils/cesium/shapeTools' import { AREA_TYPE_STYLE_MAP, BUFFER_LEVEL_STYLES, DEFAULT_AREA_STYLE } from '@ztzf/constants' import { fwAreaDivideListApi } from '@/views/areaManage/partition/partitionApi' import { fwDefenseSceneListApi } from '@/views/areaManage/sceneConfig/sceneConfigApi' import { fwDefenseSceneManageListApi } from '@/views/areaManage/sceneManage/sceneManageApi' import { cockpitAggregationApi } from '@/api/dataCockpit' import layerControlIcon from '@/assets/images/dataCockpit/layerControl.png' import equipmentIcon from '@/assets/images/dataCockpit/map/equipment.png' @@ -60,6 +62,7 @@ import jaGeojsonRaw from '@/assets/geojson/ja.geojson?raw' import DevicePopup from './components/DevicePopup.vue' import DronePopup from './components/DronePopup.vue' import dayjs from 'dayjs' import { createDroneTrackMaterial, createRadialGradientMaterial, @@ -117,6 +120,7 @@ let droneTrackTickHandler = null let droneTrackStartTime = null let droneTrackRuntime = [] let mapReadyHandled = false let favoritePulseRafId = null let favoritePulseStartAt = 0 let favoritePulseElapsed = 0 @@ -968,7 +972,10 @@ const loadPartitions = async () => { if (!viewer) return try { const res = await fwAreaDivideListApi() const res = await fwAreaDivideListApi({ isSetSceneManage: 1, flyTime: dayjs().format('YYYY-MM-DD HH:mm:ss'), }) await renderPartitions(res?.data?.data ?? []) } catch (error) { await renderPartitions([]) @@ -1129,7 +1136,9 @@ const loadCommandPosts = async () => { try { const res = await fwDefenseSceneListApi() const res = await fwDefenseSceneManageListApi({ time: dayjs().format('YYYY-MM-DD HH:mm:ss') }) renderCommandPosts(res?.data?.data ?? []) } catch (error) { renderCommandPosts([]) @@ -1201,6 +1210,8 @@ } const handleMapReady = ({ viewer: mapViewer, publicCesium: mapPublic }) => { if (mapReadyHandled) return mapReadyHandled = true viewer = mapViewer publicCesium = mapPublic ensureCockpitPrimitiveLayer() applications/drone-command/src/views/api.txt
@@ -1,9 +1,9 @@ ## 列表-不带分页 ## 列表 **接口地址**:`/area/fwAreaDivide/list` **接口地址**:`/area/fwDefenseSceneManage/list` **请求方式**:`GET` @@ -15,7 +15,7 @@ **响应数据类型**:`*/*` **接口描述**:<p>传入filterSelected或sceneId或areaTypeKeys或isSetSceneManage或flyTime</p> **接口描述**:<p>传入time</p> @@ -27,11 +27,7 @@ | 参数名称 | 参数说明 | 请求类型 | 是否必须 | 数据类型 | schema | | -------- | -------- | ----- | -------- | -------- | ------ | |areaTypeKeys|区域类型key集合(逗号分隔)|query|false|string|| |filterSelected|是否过滤已被选择的数据(1过滤 0不过滤)|query|false|integer(int32)|| |flyTime|时间筛选(yyyy-MM-dd HH:mm:ss)|query|false|string(date-time)|| |isSetSceneManage|是否按场景管理过滤(1是 0或空否)|query|false|integer(int32)|| |sceneId|场景id|query|false|integer(int64)|| |time|时间筛选(yyyy-MM-dd HH:mm:ss)|query|false|string(date-time)|| **响应状态**: @@ -39,7 +35,7 @@ | 状态码 | 说明 | schema | | -------- | -------- | ----- | |200|OK|R«List«FwAreaDivideVO»»| |200|OK|R«List«FwDefenseSceneManageVO»»| |401|Unauthorized|| |403|Forbidden|| |404|Not Found|| @@ -51,28 +47,18 @@ | 参数名称 | 参数说明 | 类型 | schema | | -------- | -------- | ----- |----- | |code|状态码|integer(int32)|integer(int32)| |data|承载数据|array|FwAreaDivideVO| |data|承载数据|array|FwDefenseSceneManageVO| |  areaCode|区域编码|string|| |  areaName|区域名称|string|| |  areaTypeKeys|区域面的类型集合逗号隔开|string|| |  controlLevel|管控级别:日常/重点/严密|string|| |  deviceIds|关联设备ID,逗号分隔|string|| |  flyDateEnd|可飞行日期时间-结束|string(date-time)|| |  flyDateStart|可飞行日期时间-开始|string(date-time)|| |  fwAreaDivideExtList|面数据|array|FwAreaDivideExtVO| |    areaCode|区域编码|string|| |    areaDivideId|关联主表区域划分ID|integer|| |    areaTypeKey|区域类型数字字典key|string|| |    areaTypeValue|区域类型数字字典value|string|| |    geomJson|几何JSON|string|| |    id|主键id|integer|| |  id|主键id|integer(int64)|| |  policeStationContactPerson|派出所联系人|string|| |  policeStationContactPhone|派出所联系电话|string|| |  policeStationId|关联派出所id|string|| |  policeStationName|派出所名称|string|| |  responseMechanism|响应机制内容|string|| |  triggerCondition|触发条件|string|| |  defenseLeader|防控负责人|string|| |  defenseSceneId|关联场景配置ID|integer(int64)|| |  defenseSceneName|场景配置名称|string|| |  effectiveDateEnd|有效时间-结束|string(date-time)|| |  effectiveDateStart|有效时间-开始|string(date-time)|| |  id||integer(int64)|| |  latitude|指挥点纬度|number(double)|| |  leaderPhone|防控负责人电话|string|| |  longitude|指挥点经度|number(double)|| |  sceneName|场景名称|string|| |msg|返回消息|string|| |success|是否成功|boolean|| @@ -84,29 +70,16 @@ "data": [ { "areaCode": "", "areaName": "", "areaTypeKeys": "", "controlLevel": "", "deviceIds": "", "flyDateEnd": "", "flyDateStart": "", "fwAreaDivideExtList": [ { "areaCode": "", "areaDivideId": 0, "areaTypeKey": "", "areaTypeValue": "", "geomJson": "", "id": 0 } ], "defenseLeader": "", "defenseSceneId": 0, "defenseSceneName": "", "effectiveDateEnd": "", "effectiveDateStart": "", "id": 0, "policeStationContactPerson": "", "policeStationContactPhone": "", "policeStationId": "", "policeStationName": "", "responseMechanism": "", "triggerCondition": "" "latitude": 0, "leaderPhone": "", "longitude": 0, "sceneName": "" } ], "msg": "", applications/drone-command/src/views/areaManage/sceneConfig/FormDiaLog.vue
@@ -23,7 +23,7 @@ <div class="detail-title">场景详情</div> <el-row> <el-col :span="24"> <div class="label">场景配置名称</div> <div class="label">配置名称</div> <div class="val">{{ formData.sceneName }}</div> </el-col> <el-col :span="24"> @@ -60,7 +60,7 @@ :disabled="readonly" label-width="96px" > <el-form-item label="场景配置名称" prop="sceneName"> <el-form-item label="配置名称" prop="sceneName"> <el-input class="command-input" v-model="formData.sceneName" @@ -165,7 +165,7 @@ import { AREA_TYPE_STYLE_MAP, BUFFER_LEVEL_STYLES, DEFAULT_AREA_STYLE } from '@ztzf/constants' const initForm = () => ({ sceneName: '', // 场景配置名称 sceneName: '', // 配置名称 sceneType: '', // 场景类型 deviceMode: '', // 设备模式 areaDivideIds: '', // 关联区域ID applications/drone-command/src/views/areaManage/sceneConfig/index.vue
@@ -1,7 +1,7 @@ <template> <basic-container> <el-form ref="queryParamsRef" :model="searchParams" class="command-page-history-search"> <el-form-item label="场景配置名称" prop="sceneName"> <el-form-item label="配置名称" prop="sceneName"> <el-input class="command-input" v-model="searchParams.sceneName" @@ -36,7 +36,7 @@ </el-form> <div class="command-table-toolbar"> <el-button :icon="Plus" color="#284FE3" type="primary" @click="openForm('add')">新增</el-button> <el-button :icon="Plus" color="#284FE3" type="primary" @click="openForm('add')">新增配置</el-button> <el-button :icon="Delete" color="#1A2652" :disabled="!selectedIds.length" @click="handleDelete()">删除</el-button> </div> @@ -46,7 +46,7 @@ <el-table-column type="selection" width="46" /> <el-table-column type="index" show-overflow-tooltip width="64" label="序号" /> <el-table-column prop="sceneName" show-overflow-tooltip label="场景配置名称" /> <el-table-column prop="sceneName" show-overflow-tooltip label="配置名称" /> <el-table-column prop="sceneType" show-overflow-tooltip label="场景类型"> <template v-slot="{ row }"> {{ getDictLabel(row.sceneType, dictObj.CommandSceneType) }} @@ -93,7 +93,7 @@ import { useRoute } from 'vue-router' const initSearchParams = () => ({ sceneName: '', // 场景配置名称 sceneName: '', // 配置名称 sceneType: '', // 场景类型 current: 1, // 当前页 size: 10, // 每页大小 applications/drone-command/src/views/areaManage/sceneManage/sceneManageApi.js
@@ -9,6 +9,15 @@ }) } // 查list export const fwDefenseSceneManageListApi = params => { return request({ url: `/drone-fw/area/fwDefenseSceneManage/list`, method: 'get', params, }) } // 获取场景管理详情 export const fwDefenseSceneManageDetailApi = params => { return request({ applications/task-work-order/src/views/orderView/organizational/agenciesManagement/index.vue
@@ -47,8 +47,8 @@ <div class="gd-table-toolbar"> <el-button :icon="Plus" color="#4C34FF" type="primary" @click="openForm('add')">新增机构</el-button> <el-button :icon="Upload" @click="handleImport">导入机构</el-button> <el-button :icon="Download" :loading="exportLoading" :disabled="exportLoading" @click="handleExport">导出机构</el-button> <el-button :icon="Upload" @click="handleImport">机构导入</el-button> <el-button :icon="Download" :loading="exportLoading" :disabled="exportLoading" @click="handleExport">机构导出</el-button> </div> <div class="gd-table-container" v-loading="loading"> @@ -111,7 +111,7 @@ type="primary" @click="handleExportTemplate" > 点击导出 下载模板 </el-button> </el-form-item> <el-form-item label="上传文件" prop="file"> applications/task-work-order/src/views/orderView/organizational/zoningManagement/index.vue
@@ -39,8 +39,8 @@ <div class="gd-table-toolbar"> <el-button :icon="Plus" color="#4C34FF" type="primary" @click="openForm('add')">新增区划</el-button> <el-button :icon="Upload" @click="handleImport">导入区划</el-button> <el-button :icon="Download" :loading="exportLoading" :disabled="exportLoading" @click="handleExport">导出区划</el-button> <el-button :icon="Upload" @click="handleImport">区划导入</el-button> <el-button :icon="Download" :loading="exportLoading" :disabled="exportLoading" @click="handleExport">区划导出</el-button> </div> <div class="gd-table-container" v-loading="loading"> @@ -110,7 +110,7 @@ color="#F2F3F5" @click="handleExportTemplate" > 点击导出 下载模板 </el-button> </el-form-item> <el-form-item label="上传文件" prop="file">