tongshanglei 3 년 전
부모
커밋
4c1b3618dc
5개의 변경된 파일118개의 추가작업 그리고 33개의 파일을 삭제
  1. 9 1
      src/views/device/hydraulic/formModel.vue
  2. 21 1
      src/views/device/hydraulic/index.vue
  3. 48 1
      src/views/map/routeMap.vue
  4. 6 1
      src/views/screen/index_v1.scss
  5. 34 29
      src/views/screen/preview_v1.vue

+ 9 - 1
src/views/device/hydraulic/formModel.vue

@@ -50,6 +50,7 @@ export default {
       formFieldsData: {
         department_id: "",
         number: "",
+        imei:"",
         name: "",
         model: "",
         brand:"",
@@ -82,6 +83,11 @@ export default {
             label: "编号",
             required:true,
           },
+          imei: {
+            type: "input",
+            label: "IMEI号",
+            required:true,
+          },
            name: {
             type: "input",
             label: "名称",
@@ -104,10 +110,12 @@ export default {
           },
           max_pressure: {
             type: "input",
+            required: true,
             label: "最大压力"
           },
           min_pressure: {
             type: "input",
+            required: true,
             label: "最小压力"
           },
           out_date: {
@@ -123,7 +131,7 @@ export default {
           max_pressure:  { validator: validateMaxPressure, trigger: 'blur' } ,
           min_pressure:  { validator: validateMinPressure, trigger: 'blur' } ,
         },
-        order: ["department_id","number", "name", "model","brand","supplier","min_pressure","max_pressure","out_date","remark"]
+        order: ["department_id","number", "imei","name","min_pressure","max_pressure", "model","brand","supplier","out_date","remark"]
       }
     };
   },

+ 21 - 1
src/views/device/hydraulic/index.vue

@@ -162,7 +162,23 @@
         align="center"
         v-if="showColumn.number"
         :show-overflow-tooltip="true"
-        width="150"
+
+      />
+      <el-table-column
+        prop="imei"
+        label="IMEI号"
+        align="center"
+        v-if="showColumn.imei"
+        :show-overflow-tooltip="true"
+        width="120"
+      />
+      <el-table-column
+        prop="sim_card"
+        label="SIM卡号"
+        align="center"
+        v-if="showColumn.sim_card"
+        :show-overflow-tooltip="true"
+        width="155"
       />
       <el-table-column
         prop="name"
@@ -310,6 +326,8 @@
             <!-- <el-checkbox v-model="checkList.alarm_state_text" disabled>告警状态</el-checkbox> -->
             <el-checkbox v-model="checkList.net_state">在线状态</el-checkbox>
             <el-checkbox v-model="checkList.number">编号</el-checkbox>
+            <el-checkbox v-model="checkList.imei">IMEI号</el-checkbox>
+            <el-checkbox v-model="checkList.sim_card">SIM卡号</el-checkbox>
             <el-checkbox v-model="checkList.name">名称</el-checkbox>
             <el-checkbox v-model="checkList.brand">品牌</el-checkbox>
             <el-checkbox v-model="checkList.supplier">供应商</el-checkbox>
@@ -418,6 +436,7 @@ export default {
         alarm_state_text: true,
         net_state:true,
         number: true,
+        imei:true,
         name: true,
         brand: true,
         supplier: true,
@@ -530,6 +549,7 @@ export default {
         net_state:true,
         number: true,
         name: true,
+        imei:true,
         brand: true,
         supplier: true,
          max_pressure:true,

+ 48 - 1
src/views/map/routeMap.vue

@@ -161,9 +161,56 @@ export default {
       
       // this.queryLocationStationList()
       this.queryLocationList()
-      
+      // 获取风场数据
+      this.getwindData()
+    },
+    // 获取风场数据
+    getwindData() {
+      this.$http.get('wind/getWindList').then(resp => {
+          if (resp.code === 10000) {
+              resp.data.forEach(wind => {
+                this.addShapeWind(wind)
+              })
+
+          }
+      }).catch(() => {})
     },
+     // 添加风场图形
+    addShapeWind(info) {
+            let side_color = info.side_color;
+            let inside_color=info.inside_color
+
+            var windOption = {
+                strokeColor: side_color,
+                strokeWeight: 2,
+                strokeOpacity: 0.3,
+            };
+            var windObj;
+            var that = this;
+            
+            if (info.wind_shape == 'circle') {
+                windObj = new BMap.Circle(info.wind_info.center, info.wind_info.radius, windOption)
+            } else if (info.wind_shape == 'polygon') {
+                windObj = new BMap.Polygon(info.wind_info, windOption)
+            }
+            windObj.setFillColor(inside_color);
+            windObj._infoData = info;
+
+            this.map.addOverlay(windObj)
+            // if(!this.isSetCenter){
+            //     if (info.wind_shape == 'circle') {
+            //         this.map.setViewport(windObj.getBounds(), {zoomFactor: -1});
+            //     } else if (info.wind_shape == 'polygon') {
+            //         this.map.setViewport(windObj._infoData.wind_info, {zoomFactor: -1})
+            //     }
+            //     this.isSetCenter=true
+            // }
+            // // 加入群组
+            // this.windGroup.push(windObj);
 
+            
+            
+        },
     infoWindowClose () {
       this.show = false
     },

+ 6 - 1
src/views/screen/index_v1.scss

@@ -396,5 +396,10 @@
     text-align: center;
   }
   
-  
+  ::v-deep .anchorBL{
+    display: none !important;
+  }
+  ::v-deep .BMap_cpyCtrl {
+    display: none !important;
+  }
 }

+ 34 - 29
src/views/screen/preview_v1.vue

@@ -61,33 +61,17 @@
       <el-col :span="10">
         <div class="grid-content center-box">
           <!--中间地图-->
-          <div class="center-map">
-            <!--地图左上设备统计-->
-            <!-- <div class="map-left-top">
-              <div class="center-alarm-label">
-                <div class="alarm-label-title">在线</div>
-                <div class="alarm-label-value normal-value" >{{deviceStatusData['online']}}</div>
-              </div>
-              <div class="center-alarm-label">
-                <div class="alarm-label-title">离线</div>
-                <div class="alarm-label-value alarm-value">{{deviceStatusData['offline']}}</div>
-              </div>
-              <div class="center-alarm-label">
-                <div class="alarm-label-title">失联</div>
-                <div class="alarm-label-value contact-value">{{deviceStatusData['lost']}}</div>
-              </div>
-              <div class="center-alarm-label">
-                <div class="alarm-label-title">其他</div>
-                <div class="alarm-label-value other-value">{{deviceStatusData['other']}}</div>
-              </div>
-              <div class="center-alarm-total-label">
-                <div class="alarm-label-title">井设备</div>
-                <div class="alarm-label-value total-value">{{deviceStatusData['total']}}</div>
-              </div>
-            </div> -->
+       
+              <baidu-map class="center-map" :center="center" :zoom="zoom" @ready="mapInit">
+                
+                <bml-marker-clusterer :averageCenter="true">
+                  <bm-marker v-for="(marker,index) of markers" :key="index" :position="{lng: marker.lng, lat: marker.lat}" :icon="{url: 'https://rlfd.oss-cn-hangzhou.aliyuncs.com/smart_tool/beng_16.png', size: {width: 16, height: 16}}"></bm-marker>
+                  <bm-marker v-for="(marker,index) of windMarkers" :key="index" :position="{lng: marker.lng, lat: marker.lat}" :icon="{url: 'https://rlfd.oss-cn-hangzhou.aliyuncs.com/smart_tool/wind_32.png', size: {width: 32, height: 32}}"></bm-marker>
+                </bml-marker-clusterer>
+              </baidu-map>
 
-            <base-map width="100%"  :options="mapOptions" />
-          </div>
+            <!-- <base-map width="100%"  :options="mapOptions" /> -->
+      
 
           <div class="center-bottom">
             <!--地图下方频繁告警区域统计-->
@@ -122,7 +106,7 @@ import BaseBar from "@/components/Charts/BaseBarChart";
 import BaseLine from "@/components/Charts/BaseLineChart";
 import BaseMap from "@/components/Charts/BaseMapChart";
 import scroll from "./scroll";
-
+import {BmlMarkerClusterer} from 'vue-baidu-map'
 export default {
   name: "screen_screen",
   components: {
@@ -130,15 +114,36 @@ export default {
     BaseBar,
     BaseLine,
     BaseMap,
-    scroll
+    scroll,
+    BmlMarkerClusterer
   },
   props:['date','nowWeek','alarm_data','alarmData','deviceStatusData','pieOptions','barAreaOptions','barOptions','lineOptions','mapOptions'],
   data() {
+    
     return {
-
+      center:'中国',
+      zoom:5,
+      markers:[],
+      windMarkers:[],
     }
   },
    methods: {
+     mapInit({ BMap, map }) {
+      this.map = map;
+      // 初始化地图,设置中心点坐标
+      this.map.setMapStyle({style:'dark'});
+      map.enableScrollWheelZoom();
+      
+        for (let i = 0; i < 200; i++) {
+          const position = {lng: Math.random() * 40 + 85, lat: Math.random() * 30 + 21}
+          this.markers.push(position)
+        }
+        for (let i = 0; i < 50; i++) {
+          const position = {lng: Math.random() * 40 + 85, lat: Math.random() * 30 + 21}
+          this.windMarkers.push(position)
+        }
+      
+    },
     goback(){  
       this.$router.go(-1)
     },