Sfoglia il codice sorgente

全域地图图标完善、雨窝点类型统计、重点车辆接口联调

hmm 7 mesi fa
parent
commit
3870ca7d09

+ 23 - 0
src/api/globalMap/KeyVehicles.ts

@@ -0,0 +1,23 @@
+//重点车辆
+import request from '@/utils/request';
+// 列表信息
+export const getVehicleList = (data) => {
+  return request({
+    url: '/api/gateway/v2/get_vehicle_list_info',
+    method: 'post',
+    data: data
+  });
+};
+
+// 轨迹信息
+export const getVehicleTrajectory = (id) => {
+  return request({
+    url: '/api/gateway/v2/get_vehicle_trajectory',
+    method: 'post',
+    data: {
+      query: {
+        id: id
+      }
+    }
+  });
+};

+ 9 - 0
src/api/globalMap/layerAnalysis.ts

@@ -213,3 +213,12 @@ export const getMidmapDzzhType = (data) => {
     data: data
   });
 };
+
+// 雨窝点分类统计
+export const getRainPitsType = (data) => {
+  return request({
+    url: '/api/gateway/v2/get_count_point_info_type_rain_pits',
+    method: 'post',
+    data: data
+  });
+};

+ 36 - 1
src/types/components.d.ts

@@ -17,6 +17,42 @@ declare module 'vue' {
     Dialog: typeof import('./../components/Dialog/index.vue')['default']
     DictTag: typeof import('./../components/DictTag/index.vue')['default']
     Editor: typeof import('./../components/Editor/index.vue')['default']
+    ElBreadcrumb: typeof import('element-plus/es')['ElBreadcrumb']
+    ElBreadcrumbItem: typeof import('element-plus/es')['ElBreadcrumbItem']
+    ElButton: typeof import('element-plus/es')['ElButton']
+    ElCheckbox: typeof import('element-plus/es')['ElCheckbox']
+    ElCol: typeof import('element-plus/es')['ElCol']
+    ElColorPicker: typeof import('element-plus/es')['ElColorPicker']
+    ElConfigProvider: typeof import('element-plus/es')['ElConfigProvider']
+    ElDatePicker: typeof import('element-plus/es')['ElDatePicker']
+    ElDialog: typeof import('element-plus/es')['ElDialog']
+    ElDivider: typeof import('element-plus/es')['ElDivider']
+    ElDrawer: typeof import('element-plus/es')['ElDrawer']
+    ElDropdown: typeof import('element-plus/es')['ElDropdown']
+    ElDropdownItem: typeof import('element-plus/es')['ElDropdownItem']
+    ElDropdownMenu: typeof import('element-plus/es')['ElDropdownMenu']
+    ElForm: typeof import('element-plus/es')['ElForm']
+    ElFormItem: typeof import('element-plus/es')['ElFormItem']
+    ElIcon: typeof import('element-plus/es')['ElIcon']
+    ElImage: typeof import('element-plus/es')['ElImage']
+    ElInput: typeof import('element-plus/es')['ElInput']
+    ElLink: typeof import('element-plus/es')['ElLink']
+    ElMenu: typeof import('element-plus/es')['ElMenu']
+    ElMenuItem: typeof import('element-plus/es')['ElMenuItem']
+    ElOption: typeof import('element-plus/es')['ElOption']
+    ElPagination: typeof import('element-plus/es')['ElPagination']
+    ElRow: typeof import('element-plus/es')['ElRow']
+    ElScrollbar: typeof import('element-plus/es')['ElScrollbar']
+    ElSelect: typeof import('element-plus/es')['ElSelect']
+    ElSkeleton: typeof import('element-plus/es')['ElSkeleton']
+    ElSkeletonItem: typeof import('element-plus/es')['ElSkeletonItem']
+    ElSlider: typeof import('element-plus/es')['ElSlider']
+    ElSubMenu: typeof import('element-plus/es')['ElSubMenu']
+    ElSwitch: typeof import('element-plus/es')['ElSwitch']
+    ElTimeline: typeof import('element-plus/es')['ElTimeline']
+    ElTimelineItem: typeof import('element-plus/es')['ElTimelineItem']
+    ElTree: typeof import('element-plus/es')['ElTree']
+    ElUpload: typeof import('element-plus/es')['ElUpload']
     FileUpload: typeof import('./../components/FileUpload/index.vue')['default']
     FooterSection: typeof import('./../components/FooterSection/index.vue')['default']
     Hamburger: typeof import('./../components/Hamburger/index.vue')['default']
@@ -58,7 +94,6 @@ declare module 'vue' {
     VideoContainer: typeof import('./../components/HKVideo/video-container.vue')['default']
     VideoContainer2: typeof import('./../components/HKVideo/video-container2.vue')['default']
     YMap: typeof import('./../components/Map/YMap.vue')['default']
-    YMapold: typeof import('./../components/Map/YMapold.vue')['default']
     YztMap: typeof import('./../components/Map/YztMap/index.vue')['default']
   }
 }

+ 15 - 2
src/views/globalMap/RightMenu/KeyVehicles.vue

@@ -37,7 +37,7 @@
 
 <script setup lang="ts">
 import { Search } from '@element-plus/icons-vue';
-import { getMobileWorkstationList } from '@/api/globalMap/MobilePlatform';
+import { getVehicleList, getVehicleTrajectory } from "@/api/globalMap/KeyVehicles";
 import { onMounted, reactive } from 'vue';
 const trackPlayback = inject('trackPlayback');
 // 数据列表,直接定义为数组
@@ -48,7 +48,7 @@ const queryParams = reactive({
 });
 //调接口
 const initData = () => {
-  getMobileWorkstationList({
+  getVehicleList({
     query: {
       keywords: queryParams.keywords
     }
@@ -68,6 +68,19 @@ const handleCancel = () => {
   queryParams.keywords = '';
   initData();
 };
+
+const handleConnect = () => {};
+const handleCollaborate = () => {};
+// 轨迹
+const handleTrack = (item) => {
+  getVehicleTrajectory(item.id).then((res) => {
+    const trajectory = [];
+    res.rows.forEach((item) => {
+      trajectory.push([item.longitude, item.latitude]);
+    });
+    trackPlayback(trajectory);
+  });
+};
 //调用函数
 onMounted(() => {
   initData();

+ 2 - 1
src/views/globalMap/RightMenu/LayerAnalysis.vue

@@ -36,7 +36,7 @@ import {
   getEmergencyShelterType, getEmergencyTransportResourcesType,
   getGasolineType,
   getHospitalType, getMajorHazardSourceType, getMidmapDzzhType, getMiningOperationsType,
-  getMiningType,
+  getMiningType, getRainPitsType,
   getRescueMateriaType,
   getSchoolType,
   getShipType, getStationInfoType, getTouristAttractionType,
@@ -179,6 +179,7 @@ watch(
         '13': getChemicalType,
         '14': getChemicalType,
         '15': getDroneType,
+        '16': getRainPitsType,
         '17': getMidmapDzzhType,
         '18': getMiningOperationsType,
         '21': getBuildingProjectType,

+ 15 - 0
src/views/globalMap/data/mapData.ts

@@ -4207,6 +4207,11 @@ export const iconList = {
     imageHover: getImageUrl('16_rainbow_hover.png'),
     size: [40, 40]
   },
+  '17': {
+    image: getImageUrl('17_midmapdzzh.png'),
+    imageHover: getImageUrl('17_midmapdzzh_hover.png'),
+    size: [40, 40]
+  },
   '18': {
     image: getImageUrl('18_miningoperations.png'),
     imageHover: getImageUrl('18_miningoperations_hover.png'),
@@ -4217,6 +4222,11 @@ export const iconList = {
     imageHover: getImageUrl('19_commercialtrade_hover.png'),
     size: [40, 40]
   },
+  '20': {
+    image: getImageUrl('20_meteorological_disaster.png'),
+    imageHover: getImageUrl('20_meteorological_disaster_hover.png'),
+    size: [40, 40]
+  },
   '21': {
     image: getImageUrl('21_buildingproject.png'),
     imageHover: getImageUrl('21_buildingproject_hover.png'),
@@ -4257,6 +4267,11 @@ export const iconList = {
     imageHover: getImageUrl('28_emergencytransportresources_hover.png'),
     size: [40, 40]
   },
+  '29': {
+    image: getImageUrl('29_emergencyofficer.png'),
+    imageHover: getImageUrl('29_emergencyofficer_hover.png'),
+    size: [40, 40]
+  },
 };
 
 export const pointDetailTemplate = {