Explorar o código

reactor:一键巡河获取视频地址+水文站接口联调

liu_w601 hai 3 meses
pai
achega
5a24eb394a

+ 8 - 0
src/api/monitoringDataApi.js

@@ -37,4 +37,12 @@ export function toImport(data){
     data,
     method:'post'
   })
+}
+
+export function getMonitoringStatistics(data) {
+  return request({
+    url: '/api/monitoringData/statistics',
+    method: 'POST',
+    data
+  })
 }

+ 7 - 0
src/views/components/layerList/index.vue

@@ -27,6 +27,7 @@
 
 <script>
 import * as mars3d from 'mars3d'
+import {getHydrologicalList} from '@/api/hydrologicalStationApi'
 let layerCache = {}
 export default {
   name: 'LayerListView',
@@ -94,6 +95,7 @@ export default {
   },
   created() {
     this.mainMenu = this.$route.params.menu
+    this.getHydrologicalList()
   },
   mounted() {
     this.$globalEventBus.$on('toggleLeftPanel', (val) => {
@@ -117,6 +119,11 @@ export default {
     }
   },
   methods: {
+    getHydrologicalList(){
+      getHydrologicalList().then((res)=>{
+        console.info(res)
+      })
+    },
     //关闭防汛预案弹窗后取消选中
     cancelCheckNode(ids) {
       const currentCheckedKeys = this.$refs.treeRef.getCheckedKeys(true)

+ 5 - 3
src/views/hydrologic-info/left.vue

@@ -192,9 +192,11 @@ export default {
   },
   methods:{
     getAirInfo(){
-      getAirNow({adcode:'610481'}).then((res)=>{
-        console.info(res)
-      })
+       window
+        .requestSDK('/order/air/now', {adcode:'610481'}, {}, 'post')
+        .then(async (res) => {
+          console.info(res)
+        })
     }
   }
 }

+ 33 - 13
src/views/hydrologic-info/right.vue

@@ -54,10 +54,10 @@
             </div>
             <div class="table-container" v-if="jcActive">
               <el-table :data="tableData" style="width: 100%" height="180" size="mini">
-                <el-table-column prop="level" label="预警等级" width="70"> </el-table-column>
-                <el-table-column prop="date" label="上报时间" width="70"> </el-table-column>
+                <el-table-column prop="level" label="预警等级" width="82"> </el-table-column>
+                <el-table-column prop="date" label="上报时间" width="85"> </el-table-column>
                 <el-table-column prop="address" label="设备位置"> </el-table-column>
-                <el-table-column prop="value" label="监测数值" width="70"> </el-table-column>
+                <el-table-column prop="value" label="监测数值" width="82"> </el-table-column>
               </el-table>
             </div>
             <div class="line-chart-container" v-if="!jcActive">
@@ -71,12 +71,12 @@
           <div class="sw-container">
             <div class="head-container">
               <div class="left">
-                <el-select v-model="selectedVal2" size="mini" class="vSelect" popper-class="u-popper-select">
-                  <el-option label="水文监测点" value="0"></el-option>
+                <el-select v-model="selectedVal2" size="mini" class="vSelect" popper-class="u-popper-select" @change="changeSwOpt">
+                  <el-option :label="opt.stationName" :value="opt.id" v-for="opt in swList" :key="opt.id"></el-option>
                 </el-select>
-                <!-- <el-select v-model="selectedVal3" size="mini" class="vSelect" popper-class="u-popper-select">
+                <el-select v-model="selectedVal3" size="mini" class="vSelect" style="display: none" popper-class="u-popper-select">
                   <el-option label="水位" value="0"></el-option>
-                </el-select> -->
+                </el-select>
               </div>
               <div class="right">更多</div>
             </div>
@@ -93,6 +93,8 @@ import BasePanelRight from '@/components/base-panel/base-panel-right'
 import BaseMain from '@/components/base-main/base-main.vue'
 import LineChart from './line-chart/index.vue'
 import * as echarts from 'echarts'
+import { getHydrologicalList } from '@/api/hydrologicalStationApi'
+import {getMonitoringStatistics} from '@/api/monitoringDataApi'
 export default {
   data() {
     return {
@@ -119,8 +121,8 @@ export default {
       ],
       selectedVal: '0',
       selectedVal1: '0',
-      selectedVal2: '0',
-      selectedVal3: '0',
+      selectedVal2: '',
+      selectedVal3: '',
       tableData: [
         {
           level: '一级预警',
@@ -320,7 +322,8 @@ export default {
             data: [400, 410, 400, 410, 405, 410]
           }
         ]
-      }
+      },
+      swList: []
     }
   },
   components: {
@@ -328,7 +331,23 @@ export default {
     BaseMain,
     LineChart
   },
+  mounted() {
+    this.getSwList()
+  },
   methods: {
+    getSwList() {
+      getHydrologicalList().then((res) => {
+        this.swList = res.data.records
+        if(res.data.records.length > 0 ){
+          this.selectedVal2 = res.data.records[0].id
+        }
+      })
+    },
+    changeSwOpt(id){
+      getMonitoringStatistics({stationId:id}).then((res)=>{
+        console.info(res)
+      })
+    },
     changeDate(val) {
       console.info(val)
     },
@@ -342,7 +361,7 @@ export default {
 <style lang="scss" scoped>
 .hydrologic-container {
   position: absolute;
-   top: px-to-rem(30);
+  top: px-to-rem(30);
   z-index: 1;
   left: px-to-rem(-4);
   .dateRadio {
@@ -491,7 +510,8 @@ export default {
         -ms-overflow-style: none;
         background-color: #244e81;
       }
-      :deep(.el-table::before,),:deep(.el-table, .el-table__expanded-cell) {
+      :deep(.el-table::before, ),
+      :deep(.el-table, .el-table__expanded-cell) {
         background-color: transparent;
       }
     }
@@ -510,4 +530,4 @@ export default {
     }
   }
 }
-</style>
+</style>

+ 34 - 25
src/views/safety-inspection/addInspectionTask.vue

@@ -65,19 +65,19 @@ export default {
         person: ''
       },
       inspectionOptions: [
-        {
-          longitude: '112.898391',
-          latitude: '28.237441',
-          devName: '长沙岳麓区青山村无线机房/摄像机1',
-          deviceCode: '43010400001320000018',
-          channelCode: '430104430000000021310000017'
-        },
         {
           latitude: '28.189249',
           longitude: '113.065505',
-          devName: '浏阳市中和丁字村无线机房_0',
+          devName: '浏阳市中和丁字村无线机房_1"',
           deviceCode: '43010000831327000018',
           channelCode: '430100430000000021130000033'
+        },
+        {
+          latitude: '28.194911',
+          longitude: '113.066789',
+          devName: '长沙芙蓉区隆平路与望龙路交叉口-东瑞社区',
+          deviceCode: '43010000831327000019',
+          channelCode: '430100430000000021130000037'
         }
       ],
       isPatrolling: false,
@@ -111,7 +111,8 @@ export default {
         return
       }
       this.addTaskFrom.inspectionPoints.forEach((item, index) => {
-        this.fetchUrl(item).then((url) => {
+        this.fetchUrl(item).then((res) => {
+          const url = res.data.streamUrl
           this.$set(this.addTaskFrom.inspectionPoints[index], 'url', url)
         })
       })
@@ -125,15 +126,22 @@ export default {
     },
     fetchUrl(item) {
       return new Promise((resolve, reject) => {
-        getVideoRealtimeUrl({
-          deviceCode: item.deviceCode,
-          channelCode: item.channelCode,
-          netType: '1',
-          protocolType: 5,
-          streamType: 1
-        }).then((res) => {
-          resolve(res)
-        })
+        window
+          .requestSDK(
+            '/ttvideo/video/player/getVideoRealtimeUrl',
+            {
+              deviceCode: item.deviceCode,
+              channelCode: item.channelCode,
+              netType: '1',
+              protocolType: 5,
+              streamType: 1
+            },
+            {},
+            'post'
+          )
+          .then(async (res) => {
+            resolve(res)
+          })
       })
     },
     // 切换到下一个巡查点
@@ -143,13 +151,14 @@ export default {
         this.$globalEventBus.$emit('clickVideoPlay', { visible: false })
         return
       }
-
-      const point = this.addTaskFrom.inspectionPoints[this.currentPatrolIndex]
-      this.flyToPoint(point)
-
-      // 播放视频
-      this.playVideo(point)
-      this.currentPatrolIndex++
+      this.$globalEventBus.$emit('clickVideoPlay', { visible: false })
+      setTimeout(()=>{
+        const point = this.addTaskFrom.inspectionPoints[this.currentPatrolIndex]
+        this.flyToPoint(point)
+        // 播放视频
+        this.playVideo(point)
+        this.currentPatrolIndex++
+      },100)
     },
     playVideo(point) {
       this.$globalEventBus.$emit('clickVideoPlay', { point: point, visible: true })

+ 25 - 4
src/views/smart-early-warning/left.vue

@@ -38,6 +38,7 @@
 import BasePanelLeft from '@/components/base-panel/base-panel-left'
 import BaseMain from '@/components/base-main/base-main.vue'
 import ImgUrl from '@/assets/image/smart-early-warning/img1.png'
+import moment from 'moment'
 export default {
   data() {
     return {
@@ -123,10 +124,30 @@ export default {
     BasePanelLeft,
     BaseMain
   },
-  created() {
+  mounted() {
     this.total = this.listItem.length
+    this.getData()
   },
   methods: {
+    getData() {
+      window
+        .requestSDK(
+          '/ttevent/alarm/order/getOrderList',
+          {
+            alarmTimeStart: moment().startOf('day').format('YYYY-MM-DD HH:mm:ss'),
+            alarmTimeEnd: moment().endOf('day').format('YYYY-MM-DD HH:mm:ss'),
+            pageNum: 1,
+            pageSize: 10,
+            pageCount: 5,
+            searchType: '0'
+          },
+          {},
+          'post'
+        )
+        .then(async (res) => {
+          console.info(res)
+        })
+    },
     handleSizeChange() {},
     handleCurrentChange() {}
   }
@@ -136,7 +157,7 @@ export default {
 <style lang="scss" scoped>
 .warning-container {
   position: absolute;
-   top: px-to-rem(30);
+  top: px-to-rem(30);
   z-index: 1;
   left: px-to-rem(-4);
   height: calc(100% - px-to-rem(55));
@@ -213,7 +234,7 @@ export default {
       }
       button,
       .el-pager li {
-         color: #fff;
+        color: #fff;
         background-color: transparent;
         border-radius: px-to-rem(2);
         width: px-to-rem(24);
@@ -231,4 +252,4 @@ export default {
     }
   }
 }
-</style>
+</style>

+ 4 - 3
src/views/video-play-popup/index.vue

@@ -4,7 +4,7 @@
       <span class="title-text">{{ title }}</span>
       <img src="@/assets/image/common/close.png" style="cursor: pointer" alt="" @click="openTsModal" />
     </div>
-    <Artplayer :option="option" :style="style" @getInstance="getInstance" />
+    <Artplayer :option="option" :style="style" @getInstance="getInstance"/>
     <el-dialog title="提示" :visible.sync="tsModalVisible" width="60%">
       <span>是否中断当前巡查点监控,进行下一个巡查点视频播放?</span>
       <span slot="footer" class="dialog-footer">
@@ -26,7 +26,7 @@ export default {
       visible: false,
       title: '巡查点',
       option: {
-        url: 'ws://10.157.200.5:9381/live/43010000831327000018_0_0_39f33131b0ac4611a4e7da4d692a1195.flv',
+        url: 'ws://10.157.200.5:9381/live/43010000831327000019_0_0_4f0fc0b6e1a44468a1986a0e2cbfa94b.flv',
         isLive: true, //使用直播模式,会隐藏进度条和播放时间
         autoplay: true,
         muted: true, //是否静音
@@ -57,10 +57,11 @@ export default {
   },
   mounted() {
     this.$globalEventBus.$on('clickVideoPlay', (data) => {
-      console.info(data)
       this.visible = data.visible
       this.tsModalVisible = false
       this.title = data.point?data.point.devName:''
+      this.option.url =!data.visible? data.point.url:''
+      this.$set(this.option,'url',data.point.url)
     })
   },
   destroyed() {

+ 1 - 23
vue.config.js

@@ -54,32 +54,10 @@ module.exports = defineConfig({
         changeOrigin: true,
         rewrite: (p) => p.replace(/^\/system-biz/, '')
       },
-     
-      '/api/hydrologicalManagement': {
+      '/api': {
         //测试环境
         target: 'http://192.168.1.185:28131',//http://192.168.1.185:28131
         changOrigin: true
-      },
-       '/api/announcement': {
-        //测试环境
-        target: 'http://192.168.1.185:28131',//http://192.168.1.185:28131
-        changOrigin: true
-      },
-      '/api/monitoringData':{
-        target: 'http://192.168.1.185:28131',//http://192.168.1.185:28131
-        changOrigin: true,
-      },
-      '/api/ttvideo':{
-        target:"http://10.157.200.5",
-        changOrigin:true
-      },
-      '/api/ttanalysis':{
-        target:"http://10.157.200.5",
-        changOrigin:true
-      },
-      '/api/order':{
-        target:"http://10.157.200.5",
-        changOrigin:true
       }
     }
   },