tongshanglei %!s(int64=3) %!d(string=hai) anos
pai
achega
ebe495a79f

+ 4 - 2
src/views/map/routeMap.vue

@@ -107,7 +107,7 @@ export default {
       loading: false,
       center: '杭州市滨江区',
       url:'map/queryDeviceList',
-
+      pointObj:[],
       currentUserId:'',
       currentActiveRfid:'',
       formVisible: false,
@@ -172,11 +172,12 @@ export default {
     },
     addMarkerPoint(data) {
       var myIcon;
+      this.pointObj=[]
       Object.keys(data).forEach((k)=>{
 
         let item=data[k]
         var pt = new BMap.Point(item.longitude, item.latitude);
-        
+        this.pointObj.push(pt)
         myIcon = new BMap.Icon(this.markerIcons, new BMap.Size(32, 32));
         myIcon.setImageSize(new BMap.Size(32, 32));
         
@@ -262,6 +263,7 @@ export default {
       this.$http.get("map/queryLocationList", { params: query }).then(response => {
         if(response.data.length>0){
           this.addMarkerPoint(response.data);
+          // this.map.setViewport(this.pointObj)
           let center=response.data[0]
           // 第一个学生没有轨迹则不设置中心点
           if (!center.longitude || !center.latitude) {

+ 148 - 0
src/views/wind/wind/components/viewDialog.vue

@@ -0,0 +1,148 @@
+<template>
+  <el-dialog
+    :visible.sync="dialogVisible"
+    width="460px"
+    custom-class="view-dialog"
+    :modal-append-to-body="false"
+    :append-to-body="true">
+    <el-divider class="dialog-divider"></el-divider>
+      <div class="dialog-content">
+        <el-row class="dialog-row">
+          <div class="dialog-row-title">风场信息</div>
+          <div class="dialog-row-content">
+            <span class="content-row"> <span class="name-item">风场名称: </span> <span>{{info.name}}</span> </span>
+            <span class="content-row"> <span class="name-item">风场编号: </span> <span>{{info.number}}</span> </span>
+            <span class="content-row"> <span class="name-item">所属部门: </span> <span>{{info.depart_name}}</span> </span>
+
+            <span class="content-row"> <span class="name-item">风场地址: </span> <span>{{info.address}}</span> </span>
+
+            <span class="content-row"> <span class="name-item">添加人员: </span> <span>{{info.creator}}</span> </span>
+            <span class="content-row"> <span class="name-item">添加时间: </span> <span>{{info.created_at}}</span> </span>
+            <span class="content-row"> <span class="name-item" v-html="'备       注: '"> </span> <span>{{info.remark}}</span> </span>
+
+          </div>
+        </el-row>
+
+        <!-- <el-row class="dialog-row">
+          <div class="dialog-row-title">定位信息  
+          </div>
+          <div class="dialog-row-content">
+            <span class="content-row"> <span class="name-item"> 定位类型: </span> <span>{{info.station_name || ''}}</span> </span>
+            <span class="content-row"> <span class="name-item"> 详细地址: </span> <span>{{info.address || ''}}</span> </span>
+          </div>
+        </el-row> -->
+
+      </div>
+    <el-divider class="dialog-divider"></el-divider>
+    <span slot="footer" class="dialog-footer">
+      <!-- <el-button @click="dialogVisible = false">取 消</el-button> -->
+      <el-button style="margin-left:20px" type="primary" @click="dialogVisible = false">确 定</el-button>
+    </span>
+    <!-- <device-dialog 
+    :deviceVisible="innerVisible" 
+    @sendVal="closeDeviceDialog" 
+    :assetNo="dialogAssetNo"
+    /> -->
+  </el-dialog>
+
+</template>
+<script>
+
+// import deviceDialog from "./deviceDialog"
+  export default {
+    props:['detailVisible',"info"],
+    components: {
+      // deviceDialog
+    },
+    data() {
+      return {
+
+        deviceInfo:{},
+        dialogAssetNo:'',
+        path:"",
+        innerVisible: false,
+      };
+    },
+    methods: {
+      handleDeviceInfo(){
+        // console.log(this.deviceInfo)
+        this.innerVisible=true
+        this.dialogAssetNo=this.deviceInfo.asset_no
+      },
+      closeDeviceDialog(){
+        this.innerVisible=false
+      }
+    },
+    watch:{
+     
+    }, 
+    computed: {
+      dialogVisible: {
+      set (val) {
+
+        this.$emit('sendVal', val) 
+      },
+      get () {
+
+        return this.detailVisible
+      }
+    },
+    }
+  };
+</script>
+<style scoped>
+::v-deep .el-dialog{
+  min-width: 360px;
+}
+ .el-dialog__body{
+  padding: 0px!important;
+  /* padding-bottom: 0px!important; */
+}
+
+
+.dialog-divider{
+  margin:0px;
+}
+.dialog-content{
+  padding: 5px;
+}
+
+.dialog-row{
+  display: flex;
+  flex-direction: column;
+  padding: 10px;
+  font-size: 12px;
+}
+.dialog-row-title{
+  margin-left: 20px;
+  margin-bottom: 10px;
+  font-size: 15px;
+  color: black;
+}
+.dialog-row-content{
+  margin-left: 50px;
+  display: flex;
+  flex-direction: column; 
+}
+.content-row{
+  margin-top: 5px;
+}
+.name-item{
+  width: 60px;
+  white-space:pre;
+  word-wrap: break-word;
+}
+.el-drawer__body{
+  max-height:100vh;
+  overflow: hidden;
+   overflow-y: auto;
+   width:100%;
+
+}
+.primary-btn{
+  color: #fff;
+  background-color: #409eff;
+  border-color: #98a9b9;
+  margin-left:5px;
+}
+</style>

+ 151 - 0
src/views/wind/wind/components/viewPumpDialog.vue

@@ -0,0 +1,151 @@
+<template>
+  <el-dialog
+    :visible.sync="dialogVisible"
+    width="460px"
+    custom-class="view-dialog"
+    :modal-append-to-body="false"
+    :append-to-body="true">
+    <el-divider class="dialog-divider"></el-divider>
+      <div class="dialog-content">
+        <el-row class="dialog-row">
+          <div class="dialog-row-title">液压泵信息</div>
+          <div class="dialog-row-content">
+            <span class="content-row"> <span class="name-item">液压泵名称: </span> <span>{{info.name}}</span> </span>
+            <span class="content-row"> <span class="name-item">液压泵编号: </span> <span>{{info.number}}</span> </span>
+            <span class="content-row"> <span class="name-item">所属部门: </span> <span>{{info.depart_name}}</span> </span>
+   
+            <span class="content-row"> <span class="name-item">设备型号: </span> <span>{{info.model_name}}</span> </span>
+            <span class="content-row"> <span class="name-item">添加人远: </span> <span>{{info.creator_user}}</span> </span>
+            <span class="content-row"> <span class="name-item">添加时间: </span> <span>{{info.created_at}}</span> </span>
+            <span class="content-row"> <span class="name-item">压力范围: </span> <span>{{info.min_pressure}}~{{info.max_pressure}}</span> </span>
+          
+            <span class="content-row"> <span class="name-item">供 应 商 : </span> <span>{{info.supplier}}</span> </span>
+            <!-- <span class="content-row"> <span class="name-item">在线时间: </span> <span>{{info.online_time}}</span> </span> -->
+      
+
+          </div>
+        </el-row>
+
+        <!-- <el-row class="dialog-row">
+          <div class="dialog-row-title">定位信息  
+          </div>
+          <div class="dialog-row-content">
+            <span class="content-row"> <span class="name-item"> 定位类型: </span> <span>{{info.station_name || ''}}</span> </span>
+            <span class="content-row"> <span class="name-item"> 详细地址: </span> <span>{{info.address || ''}}</span> </span>
+          </div>
+        </el-row> -->
+
+      </div>
+    <el-divider class="dialog-divider"></el-divider>
+    <span slot="footer" class="dialog-footer">
+      <!-- <el-button @click="dialogVisible = false">取 消</el-button> -->
+      <el-button style="margin-left:20px" type="primary" @click="dialogVisible = false">确 定</el-button>
+    </span>
+    <!-- <device-dialog 
+    :deviceVisible="innerVisible" 
+    @sendVal="closeDeviceDialog" 
+    :assetNo="dialogAssetNo"
+    /> -->
+  </el-dialog>
+
+</template>
+<script>
+
+// import deviceDialog from "./deviceDialog"
+  export default {
+    props:['detailVisible',"info"],
+    components: {
+      // deviceDialog
+    },
+    data() {
+      return {
+
+        deviceInfo:{},
+        dialogAssetNo:'',
+        path:"",
+        innerVisible: false,
+      };
+    },
+    methods: {
+      handleDeviceInfo(){
+        // console.log(this.deviceInfo)
+        this.innerVisible=true
+        this.dialogAssetNo=this.deviceInfo.asset_no
+      },
+      closeDeviceDialog(){
+        this.innerVisible=false
+      }
+    },
+    watch:{
+     
+    }, 
+    computed: {
+      dialogVisible: {
+      set (val) {
+
+        this.$emit('sendVal', val) 
+      },
+      get () {
+
+        return this.detailVisible
+      }
+    },
+    }
+  };
+</script>
+<style scoped>
+::v-deep .el-dialog{
+  min-width: 360px;
+}
+ .el-dialog__body{
+  padding: 0px!important;
+  /* padding-bottom: 0px!important; */
+}
+
+
+.dialog-divider{
+  margin:0px;
+}
+.dialog-content{
+  padding: 5px;
+}
+
+.dialog-row{
+  display: flex;
+  flex-direction: column;
+  padding: 10px;
+  font-size: 12px;
+}
+.dialog-row-title{
+  margin-left: 20px;
+  margin-bottom: 10px;
+  font-size: 15px;
+  color: black;
+}
+.dialog-row-content{
+  margin-left: 50px;
+  display: flex;
+  flex-direction: column; 
+}
+.content-row{
+  margin-top: 5px;
+}
+.name-item{
+  width: 60px;
+  white-space:pre;
+  word-wrap: break-word;
+}
+.el-drawer__body{
+  max-height:100vh;
+  overflow: hidden;
+   overflow-y: auto;
+   width:100%;
+
+}
+.primary-btn{
+  color: #fff;
+  background-color: #409eff;
+  border-color: #98a9b9;
+  margin-left:5px;
+}
+</style>

+ 37 - 13
src/views/wind/wind/index.vue

@@ -74,15 +74,24 @@
             <div id="tableTabs" v-show="showTabs">
                 <el-tabs type="border-card">
                     <el-tab-pane label="风场列表">
-                        <wind-table ref="windTable" name="wind" @updateInfo="showUpdateWindForm" @updateShapeInfo="updateWindInfo" @rowClick="clickWindRow($event, 0)" @afterDeleted="afterDeletedWind" />
+                        <wind-table ref="windTable" name="wind" @updateInfo="showUpdateWindForm" @showWindDetail="showWindDetail" @updateShapeInfo="updateWindInfo" @rowClick="clickWindRow($event, 0)" @afterDeleted="afterDeletedWind" />
                     </el-tab-pane>
                     <el-tab-pane label="液压泵列表">
-                        <pump-table ref="pumpTable" name="pump" @rowClick="addSingleMarker($event, 0)"/>
+                        <pump-table ref="pumpTable" name="pump" @showPumpDetail="showPumpDetail" @rowClick="addSingleMarker($event, 0)"/>
                     </el-tab-pane>
                 </el-tabs>
             </div>
         </div>
-        
+        <view-dialog 
+            :detailVisible="detailVisible" 
+            @sendVal="closeDialog" 
+            :info="windDetailData"
+        />
+        <view-pump-dialog 
+            :detailVisible="pumpDetailVisible" 
+            @sendVal="closeDialog" 
+            :info="pumpDetailData"
+        />
     </div>
 </template>
 
@@ -93,6 +102,8 @@ import Regionals from "@/components/Cascader/Regionals";
 import WindTable from './table/WindTable';
 import PumpTable from './table/PumpTable';
 import DistanceTool from '@/utils/DistanceTool';
+import viewDialog from './components/viewDialog';
+import viewPumpDialog from './components/viewPumpDialog';
 import $ from "jquery";
 export default {
     name: "wind_index",
@@ -100,11 +111,17 @@ export default {
         AddEditWind, 
         Regionals, 
         WindTable,
-        PumpTable
+        PumpTable,
+        viewDialog,
+        viewPumpDialog
     },
     data: function() {
         return {
             loading: false, // 加载
+            detailVisible:false,//详情显示
+            pumpDetailVisible:false,
+            windDetailData:[],
+            pumpDetailData:[],
             activeName:'wind',
             searchType:'area',
             searchOptions:[
@@ -217,6 +234,10 @@ export default {
             // 获取泵数据
             this.getPumpData()
         },
+        closeDialog(){
+            this.detailVisible=false;
+            this.pumpDetailVisible=false;
+        },
         // 添加多覆盖物
         addMultiMarkers(data, type = '') {
             if (!data || !data.length) {
@@ -270,7 +291,7 @@ export default {
                          if (resp.code === 10000) {
                              this.windData = resp.data
                              this.windData.forEach(wind => {
-                                 this.addShapeWind(wind, 0)
+                                 this.addShapeWind(wind)
                              })
                              
                             //  this.SetMapCenter('windGroup')
@@ -559,6 +580,14 @@ export default {
                 this.visibleWindDialog = true
             }
         },
+        showWindDetail(info){
+            this.windDetailData=info;
+            this.detailVisible=true
+        },
+        showPumpDetail(info){
+            this.pumpDetailData=info;
+            this.pumpDetailVisible=true
+        },
         showWindFormDialog() {
            
             if(this.addWindType=='2'){
@@ -578,7 +607,7 @@ export default {
             }
         },
         // 添加风场图形
-        addShapeWind(info, windType) {
+        addShapeWind(info) {
             let side_color = info.side_color;
             let inside_color=info.inside_color
 
@@ -608,13 +637,8 @@ export default {
                 this.isSetCenter=true
             }
             // 加入群组
-            if (windType == 0) {
-                this.windGroup.push(windObj);
-            } else if (windType == 2) {
-                this.schoolwindGroup.push(windObj);
-            }else if (windType == 3) {
-                this.kqwindGroup.push(windObj);
-            }
+            this.windGroup.push(windObj);
+            
             
         },
         // 新增圆形风场

+ 4 - 2
src/views/wind/wind/table/PumpTable.vue

@@ -39,7 +39,7 @@
                     width="60">
                     <template slot-scope="scope">
                          <el-tooltip content="查看" placement="top" :enterable="false">
-                            <el-button type="text" size="small" icon="el-icon-view" @click.stop="updateInfo(scope.row)"></el-button>
+                            <el-button type="text" size="small" icon="el-icon-view" @click.stop="showInfo(scope.row)"></el-button>
                         </el-tooltip>
 
                     </template>
@@ -102,7 +102,9 @@ export default {
         rowClick(row, column, event) {
             this.$emit('rowClick', row)
         },
-       
+        showInfo(info){
+            this.$emit('showPumpDetail', info)
+        },
         
 
     },

+ 4 - 1
src/views/wind/wind/table/WindTable.vue

@@ -47,7 +47,7 @@
                             <el-button type="text" size="small" icon="el-icon-scissors" @click.stop="updateShapeInfo(scope.row)"></el-button>
                         </el-tooltip>
                          <el-tooltip content="查看" placement="top" :enterable="false">
-                            <el-button type="text" size="small" icon="el-icon-view" @click.stop="updateInfo(scope.row)"></el-button>
+                            <el-button type="text" size="small" icon="el-icon-view" @click.stop="showInfo(scope.row)"></el-button>
                         </el-tooltip>
                         <el-tooltip content="删除" placement="top" :enterable="false">
                             <el-button type="text" size="small" icon="el-icon-delete" @click.stop="deleteItem(scope.row.id)"></el-button>
@@ -119,6 +119,9 @@ export default {
         updateShapeInfo(info) {
             this.$emit('updateShapeInfo', info)
         },
+        showInfo(info){
+            this.$emit('showWindDetail', info)
+        },
         // 删除
         deleteItem(id) {
             this.$confirm('确定要删除吗?', '提示', {