MSI\liwei 3 лет назад
Родитель
Сommit
3c9b97d396

+ 6 - 0
src/api/resource.ts

@@ -143,3 +143,9 @@ export const getAllsingleDevice = () => {
     url: `/zhdd/singleDevice/list`,
   });
 };
+
+export const getAllvideoDevice = () => {
+  return request<SingleDeviceResponse>('GET', {
+    url: `zhdd/dh/deviceList`,
+  });
+};

+ 1 - 1
src/components/MapView/index.tsx

@@ -14,7 +14,7 @@ export default defineComponent({
     onMounted(() => {
       const map = new window.minemap.Map({
         container: 'map',
-        style: 'http://61.147.254.211:21009/service/solu/style/id/12887' /*底图样式*/,
+        style: 'http://61.147.254.211:21009/service/solu/style/id/12886' /*底图样式*/,
         center: [118.29564, 33.97441] /*地图中心点*/,
         zoom: 14 /*地图默认缩放等级*/,
         pitch: 0 /*地图俯仰角度*/,

+ 0 - 1
src/components/MarkerMap/dialog.ts

@@ -176,7 +176,6 @@ export const GET_SINGLE_DEVICE_DIALOG_HTML = (
     <div class="title">单兵设备</div>
     <div class="content">
       <div><span>名称:</span><span>${item.userName ?? '-'}</span></div>
-      <div><span>设备号:</span><span>${item.deviceCode ?? '-'}</span></div>
       <div><span>定位时间:</span><span>${item.time ?? '-'}</span></div>
     </div>
     

+ 16 - 14
src/components/MarkerMap/index.tsx

@@ -172,6 +172,7 @@ export default defineComponent({
         type: '视频监控',
         hasActioned: state.hasTypes.includes('视频监控'),
         action: () =>
+          // console.log(store.videoSurveillance);
           handleAddMarkers('视频监控', store.videoSurveillance, icon_map_spjk),
         remove: () => handleRemoveMarkers('视频监控', store.videoSurveillance),
       },
@@ -280,21 +281,20 @@ export default defineComponent({
 
         case '视频监控':
           return GET_VIDEO_DIALOG_HTML(marker, () => {
-            if (route.query.id) {
-              store.livevideovisible = true;
-              const idx = store.livevideos.findIndex(
-                (item) => item.locations === marker.locations,
+            if(marker['status'] == 0){
+              const DAHUA = document.getElementById('DAHUA') as HTMLIFrameElement;
+              DAHUA?.contentWindow?.postMessage(
+                {
+                  key: 'video',
+                  value: marker['userId'],
+                  deviceId: marker['deviceCode'],
+                  channelId: marker['channelId'],
+                },
+                '*',
               );
-              if (idx < 0) {
-                store.livevideos.length === 6
-                  ? (store.livevideos = [
-                      marker,
-                      ...store.livevideos.slice(1, 6),
-                    ])
-                  : store.livevideos.push(marker);
-              } else {
-                ElMessage.info({ message: '该点位已经打开~' });
-              }
+              daHuaStore.dahuaUserVisible = true;
+            }else{
+              ElMessage.warning('设备离线,请联系大华相关人员');
             }
           });
       }
@@ -465,6 +465,7 @@ export default defineComponent({
       markers: State['markers'],
       image: any,
     ) => {
+      console.log(state.markers);
       state.markers.push(
         ...markers.map((i) => {
           const nextImage =
@@ -696,6 +697,7 @@ export default defineComponent({
 
         store.getAllResources();
         store.getAllsingleDevice();
+        store.getAllvideoDevice();
         store.getHDIncidentList();
       });
       if (!route.query.id) return;

+ 26 - 2
src/store/useMarkerStore.ts

@@ -6,7 +6,7 @@ import {
 import {
   getAllResources,
   getAllsingleDevice, ResourceItemDetail,
-  SingleDeviceItem
+  SingleDeviceItem,getAllvideoDevice
 } from "@/api/resource";
 import {
   PENDING_DISPOSAL_INCIDENT,
@@ -65,7 +65,7 @@ export default defineStore<'marker', MarkerStateType, {}, MainActionsType>(
       warningIncident: [],
       pendingIncident: [],
       pendingDisposalIncident: [],
-      videoSurveillance: VIDEO_SURVEILLANCE,
+      videoSurveillance: [],
       emergencyVehicles: [],
       emergencyTeam: [],
       singleDevice: [],
@@ -98,6 +98,30 @@ export default defineStore<'marker', MarkerStateType, {}, MainActionsType>(
             ...item,
             locations: `${item.gpsX},${item.gpsY}`,
           }));
+          console.log(this.singleDevice);
+        } finally {
+          this.toggleLoading();
+        }
+      },
+
+      async getAllvideoDevice() {
+        try {
+          this.toggleLoading();
+          const { data } = await getAllvideoDevice();
+          let videoData = [];
+          // for(var index in data){
+          //   if(data[index].gpsX){
+          //     console.log(index);
+          //     videoData.push(data[index]);
+          //   }
+          // }
+          this.videoSurveillance = [];
+
+          this.videoSurveillance = Object.values(data).map((item) => ({
+            ...item,
+            locations: `${item.gpsX},${item.gpsY}`,
+          }));
+          console.log(this.videoSurveillance);
         } finally {
           this.toggleLoading();
         }