Pārlūkot izejas kodu

监控中心增加执法设备

彭宇 2 nedēļas atpakaļ
vecāks
revīzija
b501e25191

+ 5 - 3
src/api/components/supermap.js

@@ -133,7 +133,9 @@ export const iconList = {
   'sj-icon-map-centerdata-sand-quarry-camera':require('@/assets/icons/sj-icon-map/centerdata/sj-icon-map-centerdata-sand-quarry-camera.png'),//矿坑摄像头
   'sj-icon-map-centerdata-t-hydraulic-reservoir-camera':require('@/assets/icons/sj-icon-map/centerdata/sj-icon-map-centerdata-river_camera.png'),//水库摄像头
   'sj-icon-map-not-centerdata-t-hydraulic-reservoir-camera':require('@/assets/icons/sj-icon-map/centerdata/sj-icon-map-not-centerdata-sand-quarry-camera.png'),//水利摄像头
-  'sj-icon-map-not-centerdata-slmonitor':require('@/assets/icons/sj-icon-map/centerdata/sj-icon-map-not-centerdata-slmonitor.png'),//水利摄像头
-  'sj-icon-map-not-centerdata-sand-quarry-camera':require('@/assets/icons/sj-icon-map/centerdata/sj-icon-map-not-centerdata-river_camera.png'),//水利摄像头
-  'sj-icon-map-not-centerdata-slmonitor-traffic':require('@/assets/icons/sj-icon-map/centerdata/sj-icon-map-not-centerdata-slmonitor-traffic.png'),//水利摄像头
+  'sj-icon-map-not-centerdata-slmonitor':require('@/assets/icons/sj-icon-map/centerdata/sj-icon-map-not-centerdata-slmonitor.png'),//
+  'sj-icon-map-not-centerdata-sand-quarry-camera':require('@/assets/icons/sj-icon-map/centerdata/sj-icon-map-not-centerdata-river_camera.png'),//
+  'sj-icon-map-not-centerdata-slmonitor-traffic':require('@/assets/icons/sj-icon-map/centerdata/sj-icon-map-not-centerdata-slmonitor-traffic.png'),//交通摄像头
+  'camera-enforcement':require('@/assets/images/cameraType/camera-enforcement.png'),//执法记录仪
+  'camera-enforcement-not':require('@/assets/images/cameraType/camera-enforcement-not.png'),//执法记录仪-离线
 }

+ 12 - 2
src/api/monitor.js

@@ -14,6 +14,7 @@ export function selectCameraByDeptId(deptId) {
     url: '/center-monitor/camera/selectCameraByDeptId',
     method: 'post',
     data:{"deptId":deptId,
+      cameraUse: "1,2,3,4,5,7",
       type:18}
   })
 }
@@ -91,9 +92,9 @@ export function rotation(lng,lat,list) {
 }
 
 //根据部门ID获取具有查看权限的摄像头
-export function getCamerasByDeptId(deptId) {
+export function getCamerasByDeptId(deptId,cameraUse) {
   return request({
-    url: '/center-monitor/TVWallController/getCamerasByDeptId?deptId=' + deptId+'&deptProtype=2',
+    url: '/center-monitor/TVWallController/getCamerasByDeptId?deptId=' + deptId+'&cameraUse=' + cameraUse+'&deptProtype=2'+'&type=18',
     method: 'get',
   })
 }
@@ -146,3 +147,12 @@ export function getMonitorDeviceAndDataList(deptId) {
     method: 'get',
   })
 }
+
+//根据部门id查询部门及部门以下的数据,没有则默认查询所有
+export function selectRecorderByDeptId(param) {
+    return request({
+      url: '/center-monitor/camera/selectCameraByDeptId',
+      method: 'post',
+      data:param
+    })
+}

BIN
src/assets/images/cameraType/camera-enforcement-not.png


BIN
src/assets/images/cameraType/camera-enforcement.png


+ 13 - 1
src/components/DeviceDialog/index.vue

@@ -312,6 +312,15 @@ export default{
               })
               this.currentDevicePic = require('@/assets/images/cloudBroadcast.png')
               break;
+            case 'Zhi' :
+              this.tvPicList = option.cameraImagesList
+              this.infoKey.forEach(e => {
+                this.deviceInfoList.push({
+                  key:e.value,
+                  value:option[e.key]
+                })
+              })
+              break;
           }
 
            // 图片处理
@@ -327,7 +336,6 @@ export default{
             this.tvWallInfoVisible = true
         },
         toDo(){
-          console.log(this.localMark)
           switch(this.localMark){
             case 'She' :
               if(this.workingStatus != 0) return
@@ -346,6 +354,10 @@ export default{
             case 'animal' :
               this.$emit('sewageOutletClick',this.currentCameraParam)
               break;
+            case 'Zhi' :
+              if(this.workingStatus != 0) return
+              this.$emit('toTvWall',this.currentCameraParam)
+              break;
           }
         },
         currentHighLight(idx,e){

+ 222 - 198
src/components/Monitor_StatusAware/index.vue

@@ -1,223 +1,247 @@
-<!-- 
+<!--
  *@description:监控中心 事态感知
  *@author: yh Fu
  *@date: 2023-08-24 08:52:53
- *@version: V1.0.5 
+ *@version: V1.0.5
 -->
 <template>
-    <div class="leftbar" :class="indentleft" ref="left">
-        <div class="forthis">
-          <dv-border-box-13
-            backgroundColor="rgba(12, 19, 38, .90)"
-            style="padding-bottom: 1rem"
-          >
-            <img
-              src="@/assets/images/integrated/light.png"
-              style="width: 100%; margin-top: 0.4rem"
-            />
-            <div class="this-title">·
-              <span>事态感知</span>
-              <dv-decoration-3
-                style="width: 150px; height: 15px; margin-right: 1rem"
-              />
+  <div class="leftbar" :class="indentleft" ref="left">
+    <div class="forthis">
+      <dv-border-box-13
+        backgroundColor="rgba(12, 19, 38, .90)"
+        style="padding-bottom: 1rem"
+      >
+        <img
+          src="@/assets/images/integrated/light.png"
+          style="width: 100%; margin-top: 0.4rem"
+        />
+        <div class="this-title">·
+          <span>事态感知</span>
+          <dv-decoration-3
+            style="width: 150px; height: 15px; margin-right: 1rem"
+          />
+        </div>
+        <div class="i-list-con">
+          <div class="d-l-con-icon">
+            <div
+              class="icon-con w-33 m-btm-no"
+              :class="{ on: She }"
+              @click="eventClick('She')"
+            >
+              <!--   -->
+              <div class="icon icon-dot"></div>
+              <div class="icon-text">
+                <h6>{{ sheNum }}</h6>
+                <h5>摄像头</h5>
+              </div>
+            </div>
+            <div
+              class="icon-con w-33 m-btm-no"
+              :class="{ on: Chuan }"
+              @click="eventClick('Chuan')"
+            >
+              <div class="icon icon-dot"></div>
+              <div class="icon-text">
+                <h6>{{ sensorNum }}</h6>
+                <h5>传感器</h5>
+              </div>
             </div>
-            <div class="i-list-con">
-              <div class="d-l-con-icon">
-                <div
-                  class="icon-con w-33 m-btm-no"
-                  :class="{ on: She }"
-                  @click="eventClick('She')"
-                >
-                  <!--   -->
-                  <div class="icon icon-dot"></div>
-                  <div class="icon-text">
-                    <h6>{{ visuForestCloudMapDeviceBOList[0].deviceCount }}</h6>
-                    <h5>{{ visuForestCloudMapDeviceBOList[0].deviceName }}</h5>
-                  </div>
-                </div>
-                <div
-                  class="icon-con w-33 m-btm-no"
-                  :class="{ on: Chuan }"
-                  @click="eventClick('Chuan')"
-                >
-                  <div class="icon icon-dot"></div>
-                  <div class="icon-text">
-                    <h6>{{ sensorNum }}</h6>
-                    <h5>传感器</h5>
-                  </div>
-                </div>
-                <div
-                  class="icon-con w-33 m-btm-no"
-                  :class="{ on: La }"
-                  @click="eventClick('La')"
-                >
+            <div
+              class="icon-con w-33 m-btm-no"
+              :class="{ on: La }"
+              @click="eventClick('La')"
+            >
 
-                  <div class="icon icon-dot"></div>
-                  <div class="icon-text">
-                    <h6>{{ loudspeakerNum }}</h6>
-                    <h5>云广播</h5>
-                  </div>
-                </div>
+              <div class="icon icon-dot"></div>
+              <div class="icon-text">
+                <h6>{{ loudspeakerNum }}</h6>
+                <h5>云广播</h5>
               </div>
-              <!--              <div class="overflow-y" style="height: 33vh;">-->
-              <!--                <el-collapse accordion>-->
-              <!--                  <el-collapse-item v-for="(item,index) in region" :key="index">-->
-              <!--                    &lt;!&ndash; deptId &ndash;&gt;-->
-              <!--                    <template slot="title">-->
-              <!--                      <div class="d-l-con sj-collapse" :class="{on:listCurrentIndex1==item.deptId}"-->
-              <!--                           v-on:click="selectCameraByDeptId(item.deptId)">-->
-              <!--                        <div class="d-l-l-text">-->
-              <!--                          <h4 class="collapse-title">{{ item.deptName }}</h4>-->
-              <!--                        </div>-->
-              <!--                        <div class="d-l-l-count">{{ item.deptCount }}</div>-->
-              <!--                      </div>-->
-              <!--                    </template>-->
-              <!--                  </el-collapse-item>-->
-              <!--                </el-collapse>-->
-              <!--              </div>-->
+            </div>
+            <div
+              class="icon-con w-33 m-btm-no"
+              :class="{ on: Zhi }"
+              @click="eventClick('Zhi')"
+            >
 
-              <!--              &lt;!&ndash; 横向柱状 echart &ndash;&gt;-->
-              <!--              <div class="overflow-y" style="height: 33vh;">-->
-              <!--                <div id="camera-chart" style="width: 100%;height:33vh;"></div>-->
-              <!--              </div>-->
-              <div class="sj-search">
-                <el-input
-                  v-model="deptName"
-                  placeholder="请输入部门名称"
-                  clearable
-                  size="small"
-                  prefix-icon="el-icon-search"
-                />
+              <div class="icon icon-dot"></div>
+              <div class="icon-text">
+                <h6>{{ enforcementNum }}</h6>
+                <h5>执法设备</h5>
               </div>
-                <div class="i-list-con h-65" style="height: 62vh">
-                    <el-tree
-                      :data="deptOptions"
-                      :props="defaultProps"
-                      :expand-on-click-node="false"
-                      :filter-node-method="filterNode"
-                      ref="tree"
-                      node-key="id"
-                      :default-expanded-keys="[100]"
-                      @node-click="handleNodeClickForParent"
-                    />
-                </div>
             </div>
-          </dv-border-box-13>
+          </div>
+          <!--              <div class="overflow-y" style="height: 33vh;">-->
+          <!--                <el-collapse accordion>-->
+          <!--                  <el-collapse-item v-for="(item,index) in region" :key="index">-->
+          <!--                    &lt;!&ndash; deptId &ndash;&gt;-->
+          <!--                    <template slot="title">-->
+          <!--                      <div class="d-l-con sj-collapse" :class="{on:listCurrentIndex1==item.deptId}"-->
+          <!--                           v-on:click="selectCameraByDeptId(item.deptId)">-->
+          <!--                        <div class="d-l-l-text">-->
+          <!--                          <h4 class="collapse-title">{{ item.deptName }}</h4>-->
+          <!--                        </div>-->
+          <!--                        <div class="d-l-l-count">{{ item.deptCount }}</div>-->
+          <!--                      </div>-->
+          <!--                    </template>-->
+          <!--                  </el-collapse-item>-->
+          <!--                </el-collapse>-->
+          <!--              </div>-->
+
+          <!--              &lt;!&ndash; 横向柱状 echart &ndash;&gt;-->
+          <!--              <div class="overflow-y" style="height: 33vh;">-->
+          <!--                <div id="camera-chart" style="width: 100%;height:33vh;"></div>-->
+          <!--              </div>-->
+          <div class="sj-search">
+            <el-input
+              v-model="deptName"
+              placeholder="请输入部门名称"
+              clearable
+              size="small"
+              prefix-icon="el-icon-search"
+            />
+          </div>
+          <div class="i-list-con h-65" style="height: 62vh">
+            <el-tree
+              :data="deptOptions"
+              :props="defaultProps"
+              :expand-on-click-node="false"
+              :filter-node-method="filterNode"
+              ref="tree"
+              node-key="id"
+              :default-expanded-keys="[100]"
+              @node-click="handleNodeClickForParent"
+            />
+          </div>
         </div>
+      </dv-border-box-13>
     </div>
+  </div>
 </template>
 
 <script>
-import { treeselect } from "@/api/system/dept";
+import {treeselect} from "@/api/system/dept";
 import Cookies from "js-cookie";
+
 export default {
-    name:"StatusAware",
-    //   列表容器动态样式 当前是否为摄像头 摄像头设备列表 当前是否为传感器 传感器数量 当前是否为云广播 云广播数量
-    props:['indentleft','onShe','visuForestCloudMapDeviceBOList','onChuan','sensorNum','onLa','loudspeakerNum','deptId'],
-    data() {
-        return {
-            localMark:"She",               // 当前资源类型
-            She:true,
-            Chuan:false,
-            La:false,
-            resourceTypeList:[{'value':'She','lable':'摄像头'}, {'value':'Chuan','lable':'传感器'}, {'value':'La','lable':'云广播'}],
-            deptName:'',                // 部门名称
-            deptOptions: undefined,     // 部门树选项
-            defaultProps: {
-                children: "children",
-                label: "label",
-            },                          // 部门树默认props
-            placeholderMsg:'' ,
-            cgqTimer: null,          
-        }
+  name: "StatusAware",
+  //   列表容器动态样式 当前是否为摄像头 摄像头设备列表 当前是否为传感器 传感器数量 当前是否为云广播 云广播数量
+  props: ['indentleft', 'onShe', 'sheNum', 'onChuan', 'sensorNum', 'onLa', 'loudspeakerNum', 'onZhi', 'enforcementNum', 'deptId'],
+  data() {
+    return {
+      localMark: "She",               // 当前资源类型
+      She: true,
+      Chuan: false,
+      La: false,
+      Zhi: false,
+      resourceTypeList: [
+        {'value': 'She', 'lable': '摄像头'},
+        {'value': 'Chuan', 'lable': '传感器'},
+        {'value': 'La','lable': '云广播'},
+        {'value': 'Zhi','lable': '执法设备'
+        }],
+      deptName: '',                // 部门名称
+      deptOptions: undefined,     // 部门树选项
+      defaultProps: {
+        children: "children",
+        label: "label",
+      },                          // 部门树默认props
+      placeholderMsg: '',
+      cgqTimer: null,
+    }
+  },
+  mounted() {
+    this.getTreeselect();
+  },
+  methods: {
+    /* 电视墙替换结束 */
+    /** 部门树*/
+    // 查询部门下拉树结构
+    getTreeselect() {
+      treeselect().then((response) => {
+        console.log(response.data);
+        this.deptOptions = response.data;
+      });
     },
-    mounted(){
-        this.getTreeselect();
+    // 单击节点
+    handleNodeClickForParent(data) {
+      this.$emit('handleNodeClickOfParent', data, this.localMark)
     },
-    methods:{
-        /* 电视墙替换结束 */
-        /** 部门树*/
-        // 查询部门下拉树结构
-        getTreeselect() {
-            treeselect().then((response) => {
-                console.log(response.data);
-                this.deptOptions = response.data;
-            });
-        },
-        // 单击节点
-        handleNodeClickForParent(data){
-            this.$emit('handleNodeClickOfParent',data,this.localMark)
-        },
-        // 筛选节点
-        filterNode(value, data) {
-            if (!value) return true;
-            return data.label.indexOf(value) !== -1;
-        },
-        /**
-	     * @description 资源点击事件 进行对应的资源展示
-         *                         摄像头  传感器  云广播
-	     * @params {String} type =  she || chuan || la  显示资源的类型
-	     */
-        eventClick(type){
-            this.localMark = type;
-            this[`${type}`] = true
-            this.$emit(`${type}ClickOfParent`)
-            // this.deptId = Cookies.get("deptId")
-            clearInterval(this.cgqTimer);
-            switch(type) {
-                case "She":
-                    this.$emit('selectDeviceTypeOfParent')
-                    this.jkListIcon = 'sj-icon-jkzx'
-                    break;
-                case "Chuan":
-                    this.$emit('getMonitorDeviceAndDataListOfParent')
-                    this.cgqTimer = setInterval(() => {
-                        this.$emit('getMonitorDeviceAndDataListOfParent')
-                    }, 20 * 1000);
-                    this.jkListIcon = 'sj-icon-centerdata-t-firecontrol-fire-pressure-sensor'
-                    break;
-                case "La":
-                    this.$emit('getDlblistBydeptIdOfParent',this.deptId);
-                    this.jkListIcon = 'sj-icon-labaguangbo'
-                    break;
-            }
-        },
-        // 筛选节点
-        filterNode(value, data) {
-            if (!value) return true;
-            return data.label.indexOf(value) !== -1;
-        },
-        chuanSet() {
-            if (this.Chuan) {
-                this.cgqTimer = setInterval(() => {
-                this.getMonitorDeviceAndDataList();
-                }, 20000);
-            }
-        },
-
+    // 筛选节点
+    filterNode(value, data) {
+      if (!value) return true;
+      return data.label.indexOf(value) !== -1;
     },
-    beforeDestroy() {
-        clearInterval(this.cgqTimer); //关闭
+    /**
+     * @description 资源点击事件 进行对应的资源展示
+     *                         摄像头  传感器  云广播
+     * @params {String} type =  she || chuan || la  显示资源的类型
+     */
+    eventClick(type) {
+      this.localMark = type;
+      this[`${type}`] = true
+      this.$emit(`${type}ClickOfParent`)
+      // this.deptId = Cookies.get("deptId")
+      clearInterval(this.cgqTimer);
+      debugger
+      switch (type) {
+        case "She":
+          this.$emit('sheClick')
+          this.jkListIcon = 'sj-icon-jkzx'
+          break;
+        case "Chuan":
+          this.$emit('chuanClick')
+          this.cgqTimer = setInterval(() => {
+            this.$emit('chuanClick')
+          }, 20 * 1000);
+          this.jkListIcon = 'sj-icon-centerdata-t-firecontrol-fire-pressure-sensor'
+          break;
+        case "La":
+          this.$emit('laClick');
+          this.jkListIcon = 'sj-icon-labaguangbo'
+          break;
+        case "Zhi":
+          this.$emit('zhiClick', this.deptId);
+          this.jkListIcon = 'sj-icon-zhongzhi'
+          break;
+      }
+    },
+    // 筛选节点
+    filterNode(value, data) {
+      if (!value) return true;
+      return data.label.indexOf(value) !== -1;
+    },
+    chuanSet() {
+      if (this.Chuan) {
+        this.cgqTimer = setInterval(() => {
+          this.getMonitorDeviceAndDataList();
+        }, 20000);
+      }
+    },
+
+  },
+  beforeDestroy() {
+    clearInterval(this.cgqTimer); //关闭
+  },
+  watch: {
+    // 根据名称筛选部门树
+    deptName(val) {
+      this.$refs.tree.filter(val);
     },
-    watch:{
-        // 根据名称筛选部门树
-        deptName(val) {
-            this.$refs.tree.filter(val);
-        },
-        // 监听当前资源类型
-        localMark:{
-            handler(newVal){
-                this.resourceTypeList.forEach(item => {
-                    // 将其他不展示类型置为false 
-                    if(item.value != newVal){
-                        this[`${item.value}`] = false
-                    }else {
-                        this.placeholderMsg = `请输入${item.lable}名称`
-                    }
+    // 监听当前资源类型
+    localMark: {
+      handler(newVal) {
+        this.resourceTypeList.forEach(item => {
+          // 将其他不展示类型置为false
+          if (item.value != newVal) {
+            this[`${item.value}`] = false
+          } else {
+            this.placeholderMsg = `请输入${item.lable}名称`
+          }
 
-                })
-            },
-        }
+        })
+      },
     }
+  }
 }
-</script>
+</script>

+ 0 - 113
src/router/index.js

@@ -42,15 +42,6 @@ export const constantRoutes = [{
 			title: '监管云图'
 		}
 	},
-	// {
-	// 	//数据中心
-	// 	path: '/datacenter',
-	// 	name: 'datacenter',
-	// 	component: () => import('@/views/datacenter'),
-	// 	meta: {
-	// 		title: '数据中心'
-	// 	}
-	// },
 	{
 		//监控中心
 		path: '/monitor',
@@ -60,53 +51,6 @@ export const constantRoutes = [{
 			title: '监控中心'
 		}
 	}
-  // , {
-	// 	path: '/disaster',
-	// 	name: 'disaster',
-	// 	component: () => import('@/views/disaster'),
-	// 	meta: {
-	// 		title: '灾后评估'
-	// 	}
-	// },
-  // {
-	// 	path: '/leader',
-	// 	name: 'leader',
-	// 	component: () => import('@/views/leader'),
-	// 	meta: {
-	// 		title: '林长制'
-	// 	}
-	// }, {
-	// 	path: '/afforestation',
-	// 	name: 'afforestation',
-	// 	component: () => import('@/views/afforestation'),
-	// 	meta: {
-	// 		title: '植树造林'
-	// 	}
-	// },
-  // {
-  //   path: '/animal',
-  //   name: 'animal',
-  //   component: () => import('@/views/animal'),
-  //   meta: {
-  //     title: '野生动物'
-  //   }
-  // },
-  // {
-  //   path: '/trees',
-  //   name: 'trees',
-  //   component: () => import('@/views/trees'),
-  //   meta: {
-  //     title: '珍稀古树'
-  //   }
-  // },
-  // {
-  //   path: '/bigdata',
-  //   name: 'bigdata',
-  //   component: () => import('@/views/bigdata/bigdata'),
-  //   meta: {
-  //     title: '统计分析'
-  //   }
-  // },
 ]
 
 
@@ -125,15 +69,6 @@ export const constantRoutesNew = [{
 			title: '监管云图'
 		}
 	},
-	// {
-	// 	//数据中心
-	// 	path: '/datacenter',
-	// 	name: 'datacenter',
-	// 	component: () => import('@/views/datacenter'),
-	// 	meta: {
-	// 		title: '数据中心'
-	// 	}
-	// },
 	{
 		//监控中心
 		path: '/monitor',
@@ -143,54 +78,6 @@ export const constantRoutesNew = [{
 			title: '监控中心'
 		}
 	},
-	// {
-	// 	path: '/disaster',
-	// 	name: 'disaster',
-	// 	component: () => import('@/views/disaster'),
-	// 	meta: {
-	// 		title: '灾后评估'
-	// 	}
-	// },
-	// {
-	// 	path: '/leader',
-	// 	name: 'leader',
-	// 	component: () => import('@/views/leader'),
-	// 	meta: {
-	// 		title: '林长制'
-	// 	}
-	// },
-	// {
-	// 	path: '/afforestation',
-	// 	name: 'afforestation',
-	// 	component: () => import('@/views/afforestation'),
-	// 	meta: {
-	// 		title: '植树造林'
-	// 	}
-	// },
-  // {
-  //   path: '/animal',
-  //   name: 'animal',
-  //   component: () => import('@/views/animal'),
-  //   meta: {
-  //     title: '野生动物'
-  //   }
-  // },
-  // {
-  //   path: '/trees',
-  //   name: 'trees',
-  //   component: () => import('@/views/trees'),
-  //   meta: {
-  //     title: '珍稀古树'
-  //   }
-  // },
-  // {
-  //   path: '/bigdata',
-  //   name: 'bigdata',
-  //   component: () => import('@/views/bigdata/bigdata'),
-  //   meta: {
-  //     title: '统计分析'
-  //   }
-  // },
 	{
 		path: '/login',
 		component: () => import('@/views/system/login'),

+ 0 - 435
src/views/afforestation.vue

@@ -1,435 +0,0 @@
-<!--植树造林-->
-<template>
-  <div class="visual-con">
-    <!--头部-->
-    <vheader></vheader>
-    <!--主体-->
-    <div class="visual-body">
-      <!-- 左侧 -->
-      <div class="leftbar" :class="indentleft" ref="left">
-        <div class="forthis">
-          <dv-border-box-13 backgroundColor="rgba(12, 19, 38, .90)" style="padding-bottom: 1rem;">
-            <img src="../assets/images/integrated/light.png" style="width: 100%; margin-top: .4rem;" />
-            <div class="this-title" style="margin: 1rem 0; padding-right:1rem">
-              <el-date-picker v-model="pickYear" @change="getInit()" type="year" placeholder="选择年">
-              </el-date-picker>
-            </div>
-            <div class="i-list-con h-19">
-              <div class="d-l-con" v-if="afforestationList!=null&&afforestationList.length>0"
-                :class="{on:listCurrentIndex1 == item.id}" v-for="(item,index) in afforestationList"
-                @click="getAfforestationArea(item.id)">
-                <div class="d-l-l-text">
-                  <i class="i-small"></i>
-                  <h4>{{ item.planName }}</h4>
-                </div>
-              </div>
-            </div>
-          </dv-border-box-13>
-        </div>
-        <div class="forthis">
-          <dv-border-box-13 backgroundColor="rgba(12, 19, 38, .90)" style="padding-bottom: 1rem;">
-            <img src="../assets/images/integrated/light.png" style="width: 100%; margin-top: .4rem;" />
-            <div class="i-list-con h-51">
-              <div class="this-title">
-              <span>植树区域</span>
-                </div>
-              <div class="d-l-con" :class="{on:listCurrentIndex2 == index}"
-                v-for="(item,index) in AfforestationAreaList" @click="setGraphicsList(item,index)">
-                <div class="d-l-l-text">
-                  <i class="i-small"></i>
-                  <h4>区域{{ index + 1 }}</h4>
-                </div>
-              </div>
-            </div>
-          </dv-border-box-13>
-        </div>
-      </div>
-      <!-- 地图 -->
-      <supermap ref="supermap" style="width: 100%;height: 100vh;" @fatherMethod="fatherMethod"></supermap>
-      <!--底部 -->
-
-      <!-- 右侧 -->
-      <div class="rightbar" :class="indentright" ref="right">
-        <div class="forthis">
-          <dv-border-box-13 backgroundColor="rgba(12, 19, 38, .90)" style="padding-bottom: 1rem;">
-            <img src="../assets/images/integrated/light.png" style="width: 100%; margin-top: .4rem;" />
-            <div class="this-title">
-              <span>植树任务</span>
-              <dv-decoration-3 style="width:150px;height:15px;margin-right: 1rem;" />
-            </div>
-            <div class="i-list-con h-73">
-              <div class="overflow-y" style="height: 72vh">
-                <div class="d-l-con" v-for="(item,index) in forestationTaskList"
-                  v-on:click="selectWorkCountById(item.points)">
-                  <div class="d-l-l-text">
-                    <i class="i-small"></i>
-                    <h4>{{ item.name }}</h4>
-                  </div>
-                </div>
-              </div>
-            </div>
-          </dv-border-box-13>
-        </div>
-      </div>
-
-      <vBottomMenu ref="bottomMenu"></vBottomMenu>
-    </div>
-    <eventLocation ref="eventLocation"></eventLocation>
-    <TVWall ref="TVWall"></TVWall>
-    <TVWalls ref="TVWalls"></TVWalls>
-  </div>
-</template>
-
-<script>
-  import {
-    getAfforestation,
-    getAfforestationArea,
-    listPublishTask,
-    selectWorkCountById
-  } from '@/api/afforestation'
-  /** ----------------------------------摄像头预览开始------------------------------------- */
-  import {
-    getDahuaVideoServer
-  } from '@/api/dahua/dahua'
-  import DHWs from '@/dahua/lib/DHWs'
-
-  /** ----------------------------------摄像头预览结束------------------------------------- */
-  import supermap from '@/components/supermap-2.5d' //超图
-  import vheader from '@/components/v-header.vue' //一体化共用头部
-  import vBottomMenu from '@/components/vBottomMenu.vue' //一体化公共底部菜单
-  import eventLocation from '@/components/eventLocation.vue' //事件定位弹窗
-  import TVWall from '@/components/TVWall.vue'//电视墙弹窗
-  import TVWalls from '@/components/TVWalls.vue'//电视墙弹窗
-  import {getUserProfile} from "@/api/system/user";
-
-  let echarts = require('echarts')
-  export default {
-    dicts: ['event_source'],
-    components: {
-      supermap,
-      vheader,
-      vBottomMenu,
-      eventLocation,
-      TVWall,
-      TVWalls,
-    },
-    created() {
-      /** ----------------------------------底部按钮公用组件开始------------------------------------- */
-      window.showDialog = this.showDialog
-      window.choseLayerSwitching = this.choseLayerSwitching
-      window.choseLayerSwitchingList = this.choseLayerSwitchingList
-      window.choseLayerSwitchingList_Data = this.choseLayerSwitchingList_Data
-      /** ----------------------------------底部按钮公用组件结束------------------------------------- */
-    },
-    mounted() {
-      // 初始化地图数据
-      this.getSuperMapUrl();
-
-      setTimeout(() => {
-        this.getInit()
-      }, 2000)
-
-      // this.listPublishTask();
-      this.bottomMenuList() //获取底部公共组件消息和任务
-    },
-    data() {
-      return {
-        listCurrentIndex1: '1',
-        listCurrentIndex2: '-1',
-        pickYear: new Date(), //选择年份
-        afforestationList: [],
-        AfforestationAreaList: [],
-        graphicsList: [], //地图区域
-        //左右缩进
-        indentStyle: '',
-        indentleft: '',
-        indentright: '',
-        indentText: '收起左右栏',
-        indentdisabled: false,
-
-
-        //植树造林任务集合
-        forestationTaskList: [],
-        forestationDone: {}
-      }
-    },
-
-    methods: {
-      fatherMethod(dianshiqiang, longitude, latitude, item) {
-        this.$refs.TVWalls.showTVWall(
-          dianshiqiang, {
-            longitude: longitude,
-            latitude: latitude,
-          },
-          item
-        );
-      },
-      //初始化地图数据
-      getSuperMapUrl(){
-        getUserProfile().then(response => {
-          let mapDeptId=response.mapDeptId
-          let num = 0;
-          if (mapDeptId == "365") {
-            num = 0;
-          } else if (mapDeptId == "369") {
-            num = 1;
-          } else if (mapDeptId == "371") {
-            num = 2;
-          } else if (mapDeptId == "373") {
-            num = 3;
-          } else if (mapDeptId == "372") {
-            num = 4;
-          } else if (mapDeptId == "370") {
-            num = 5;
-          }
-          this.$refs.supermap.removeAllviewer(mapDeptId, -1);
-        });
-      },
-      /** ----------------------------------底部按钮公用组件开始------------------------------------- */
-      bottomMenuList() {
-        this.$refs.bottomMenu.selectTaskList() //获取任务列表
-        this.$refs.bottomMenu.selectMessageList() //获取消息列表
-        this.$refs.bottomMenu.linBanTreeselect() //查询林班层级树结构
-        this.$refs.bottomMenu.deptTreeselect() //查询林场部门树结构
-      },
-      showDialog(click) {
-        if (click == 'eventLocation') {
-          this.$refs.eventLocation.showEventLocation()
-          this.$refs.bottomMenu.showMeasure = false
-          this.$refs.bottomMenu.showChild = false
-          this.$refs.bottomMenu.showBanChild = false
-          this.$refs.bottomMenu.showChangChild = false
-        } else if (click == 'editableLayers') {
-          this.$refs.bottomMenu.showChild = false
-          this.$refs.bottomMenu.showBanChild = false
-          this.$refs.bottomMenu.showChangChild = false
-          if (!this.$refs.bottomMenu.showMeasure) {
-            this.$refs.bottomMenu.showMeasure = true
-          } else {
-            this.$refs.bottomMenu.showMeasure = false
-          }
-        } else if (click == 'layerSwitching') {
-          this.$refs.bottomMenu.showMeasure = false
-          this.$refs.bottomMenu.showBanChild = false
-          this.$refs.bottomMenu.showChangChild = false
-          if (!this.$refs.bottomMenu.showChild) {
-            this.$refs.bottomMenu.showChild = true
-          } else {
-            this.$refs.bottomMenu.showChild = false
-          }
-        } else if (click == 'TVWall') {
-          this.$refs.TVWall.showTVWall()
-          this.$refs.bottomMenu.showMeasure = false
-          this.$refs.bottomMenu.showChild = false
-          this.$refs.bottomMenu.showBanChild = false
-          this.$refs.bottomMenu.showChangChild = false
-        } else if (click == 'forestban') {
-          this.$refs.bottomMenu.showMeasure = false
-          this.$refs.bottomMenu.showChild = false
-          this.$refs.bottomMenu.showChangChild = false
-          if (!this.$refs.bottomMenu.showBanChild) {
-            this.$refs.bottomMenu.showBanChild = true
-          } else {
-            this.$refs.bottomMenu.showBanChild = false
-          }
-        } else if (click == 'forestchang') {
-          this.$refs.bottomMenu.showMeasure = false
-          this.$refs.bottomMenu.showBanChild = false
-          this.$refs.bottomMenu.showChild = false
-          if (!this.$refs.bottomMenu.showChangChild) {
-            this.$refs.bottomMenu.showChangChild = true
-          } else {
-            this.$refs.bottomMenu.showChangChild = false
-          }
-        }
-
-      },
-      //选择图层
-      choseLayerSwitching(url, isClear) {
-        this.$refs.supermap.layerSwitching(url, isClear)
-      },
-      //选择图层(传递数组)
-      choseLayerSwitchingList(urlList) {
-        this.$refs.supermap.layerSwitchingList(urlList)
-      },
-      //选择图层(传递数组)  带数据
-      choseLayerSwitchingList_Data(urlList) {
-        this.$refs.supermap.layerSwitchingList_Data(urlList)
-      },
-      /** ----------------------------------底部按钮公用组件结束------------------------------------- */
-
-      getInit() {
-        this.listCurrentIndex1 = '1'
-        this.listCurrentIndex2 = '-1'
-        let that = this
-        this.afforestationList = []
-        this.AfforestationAreaList = []
-        this.forestationTaskList = []
-        //获取左侧菜单列表
-        getAfforestation(this.pickYear.getYear() + 1900).then(res => {
-          this.afforestationList = res.data
-          setTimeout(() => {
-            this.$refs.supermap.clearG()
-          }, 1000)
-        })
-        this.$refs.supermap.clearG();
-      },
-      listPublishTask(id) {
-        listPublishTask({
-          planId: id
-        }).then(res => {
-          this.forestationTaskList = []
-          this.forestationTaskList = res.data
-        })
-      },
-      selectWorkCountById(points) {
-        const graphicsList = JSON.parse(points);
-        console.log(graphicsList)
-        if (null != graphicsList) {
-          const list = []
-          for (let i = 0; i < graphicsList.length; i++) {
-            list.push(graphicsList[i].lng)
-            list.push(graphicsList[i].lat)
-          }
-          this.$refs.supermap.clearG();
-          this.$refs.supermap.setGraphicsList(list, "blue", 0.8)
-        } else {
-          this.$refs.supermap.clearG();
-        }
-
-
-      },
-      getAfforestationArea(afforestationId) {
-        this.listCurrentIndex1 = afforestationId
-        let that = this
-        this.$refs.supermap.clearG();
-        //获取左侧菜单列表
-        getAfforestationArea(afforestationId).then(res => {
-          if(res.data!==null)
-          {
-            this.AfforestationAreaList = res.data
-          }else
-          {
-            this.$message.warning("暂无数据")
-          }
-
-        })
-        this.listPublishTask(afforestationId)
-      },
-      setGraphicsList(points,index) {
-        if(this.listCurrentIndex2==index){
-          this.listCurrentIndex2 = null;
-          setTimeout(() => {
-            this.$refs.supermap.clearGList();
-          }, 1000);
-        }else{
-          if(points.name == null){
-            points.name = ""
-          }
-          this.listCurrentIndex2 = index
-          console.log(this.listCurrentIndex2)
-          this.graphicsList = []
-          if (points != null && points != '') {
-            this.graphicsList = points
-            // const list = []
-            // for (let i = 0; i < this.graphicsList.length; i++) {
-            //   list.push(this.graphicsList[i].lng)
-            //   list.push(this.graphicsList[i].lat)
-            // }
-            console.log(points)
-            this.$refs.supermap.clearGList()
-            this.$refs.supermap.setGraphicsLists([points], "#60ED1F", 0.5)
-          } else {
-            this.$refs.supermap.clearGList()
-          }
-        }  
-      },
-
-      //吉祥物收起左右框
-      indent() {
-        let list = document.getElementsByClassName('el-tooltip__popper')
-        list[list.length - 1].style.display = 'none'
-        if (this.indentStyle == '') {
-          this.indentStyle = 'indent-style'
-          this.indentleft = 'indent-left'
-          this.indentright = 'indent-right'
-          this.indentText = '展开左右栏'
-        } else if (this.indentText == '展开左右栏') {
-          this.indentStyle = ''
-          this.indentleft = ''
-          this.indentright = ''
-          this.indentText = '收起左右栏'
-        }
-      },
-      dropLocation(lat, lng) {
-        this.$refs.supermap.dropLocation(lat, lng)
-      },
-      /** ----------------------------------摄像头预览开始------------------------------------- */
-      alertLogin: function() {
-        this.$modal.msg('登录中....')
-      },
-      alertLoginSuccess: function() {
-        this.$modal.msgSuccess('登录成功!')
-      },
-      alertLoginFailed: function() {
-        this.$modal.msgError('登陆失败!')
-      },
-      alertReinstall: function() {
-        this.$modal.msgWarning('请重新安装客户端')
-      },
-      /** 预览按钮操作 */
-      preview(channelCode) {
-        getDahuaVideoServer().then(newResponse => {
-          this.ws.detectConnectQt().then(res => {
-            if (res) { // 连接客户端成功
-              this.alertLogin()
-              this.ws.login({
-                loginIp: newResponse.loginIp,
-                loginPort: newResponse.loginPort,
-                userName: newResponse.userName,
-                userPwd: newResponse.userPwd,
-                token: '',
-                https: 1
-              })
-              this.ws.on('loginState', (res) => {
-                this.isLogin = res
-                console.log('---res-----', res)
-                if (res) {
-                  this.alertLoginSuccess()
-                  this.activePanel = 'key2'
-                  this.realTimeVideoDialog(channelCode)
-                } else {
-                  this.alertLoginFailed()
-                }
-              })
-            } else { // 连接客户端失败
-              this.alertReinstall()
-            }
-          })
-        })
-      },
-      realTimeVideoDialog(cameraParams) { // 调用弹窗实时播放接口
-        if (!this.isLogin) {
-          this.$Message.info('正在登陆客户端,请稍等......')
-          return false
-        }
-        this.ws.openVideo(cameraParams)
-      }
-      /** ----------------------------------摄像头预览结束------------------------------------- */
-    }
-  }
-</script>
-
-<style lang="scss" scoped>
-  @import '@/assets/styles/base.scss';
-
-  .el-table__header {
-    width: auto !important;
-  }
-
-  .d-dialog-con {
-    position: absolute;
-    left: -19rem;
-    top: 0;
-  }
-</style>

+ 0 - 555
src/views/animal.vue

@@ -1,555 +0,0 @@
-<template>
-  <div class="visual-con">
-    <!--头部-->
-    <vheader></vheader>
-    <!--主体-->
-    <div class="visual-body">
-      <!-- 左侧 -->
-      <div class="leftbar w-10" :class="indentleft" ref="left">
-        <div class="forthis">
-          <dv-border-box-13 backgroundColor="rgba(12, 19, 38, .90)" style="padding-bottom: 1rem;">
-            <img src="../assets/images/integrated/light.png" style="width: 100%; margin-top: .4rem;"/>
-            <div class="i-list-con h-78">
-              <!--<div class="d-l-con-icon">-->
-                <!--<div class="icon-con  m-btm-no icon-animal-con" :class="animalcount">-->
-                  <!--<div class="icon-text animal-text">-->
-                    <!--<h6>9</h6>-->
-                    <!--<h5>总数</h5>-->
-                  <!--</div>-->
-                <!--</div>-->
-              <!--</div>-->
-              <div class="d-l-con-icon">
-                <div class="icon-con" :class="{on:iconCurrentIndex1==item.type}"
-                     v-for="(item,index) in animalDwfb" @click="getAnimalRemotelist(item.type)">
-                  <div class="iconfont icon icon-normal" style="margin:.5rem;">
-                    <img :src="item.src">
-                  </div>
-                  <div class="icon-text">
-                    <h6>{{item.value}}</h6>
-                    <!--<h6>{{ item.count }}</h6>-->
-                    <h5>{{ item.name }}</h5>
-                    <!--<h5>{{ item.resourceName }}</h5>-->
-                  </div>
-                  <!-- <div class="icon-text icon-animal-text">
-                    <h5>{{ item.name }}:{{item.value}}</h5>
-                  </div> -->
-                </div>
-              </div>
-            </div>
-          </dv-border-box-13>
-        </div>
-      </div>
-      <!-- 地图 -->
-      <supermap 
-        ref="supermap" 
-        style="width: 100%;height: 100vh;" 
-        @sewageOutletClick="sewageOutletClick" 
-        @fatherMethod="fatherMethod"
-        @sewageOutletClickBefore="sewageOutletClickBefore"
-        ></supermap>
-      <!--      <button @click="showEventInfo1" style="position: absolute; right: 50%;top: 45%;z-index: 1000;">弹层事件演示用按钮-->
-      <!--      </button>-->
-      <!-- 右侧 -->
-      <!--<div class="rightbar" :class="indentright" ref="right">-->
-        <!--<div class="forthis">-->
-          <!--<dv-border-box-13 backgroundColor="rgba(12, 19, 38, .90)" style="padding-bottom: 1rem;">-->
-            <!--<img src="../assets/images/integrated/light.png" style="width: 100%; margin-top: .4rem;"/>-->
-            <!--<div class="this-title">-->
-              <!--<span>事件分布</span>-->
-              <!--<dv-decoration-3 style="width:150px;height:15px;margin-right: 1rem;"/>-->
-            <!--</div>-->
-            <!--<div class="i-list-con h-73">-->
-              <!--<div class="d-l-con-icon">-->
-                <!--<div class="h-19 overflow-y w100">-->
-                  <!--<div class="d-l-con" v-for="(item,index) in animalSjfb">-->
-                    <!--<div class="d-l-l-text">-->
-                      <!--<i class="i-small"></i>-->
-                      <!--<h4>{{ item.deptName }}</h4>-->
-                    <!--</div>-->
-                    <!--<div class="d-l-l-count">{{ item.count }}</div>-->
-                  <!--</div>-->
-                <!--</div>-->
-              <!--</div>-->
-              <!--<div class="d-l-con">-->
-                <!--<div id="animal-chart" style="width: 100%;height:26.2vh;"></div>-->
-              <!--</div>-->
-              <!--<div class="d-l-con d-evnet-list-con" :class="{on:listCurrentIndex1==index}"-->
-                   <!--v-for="(item,index) in animalSjlb"-->
-                   <!--@click="dropLocation(item.latitude,item.longitude,index)">-->
-                <!--<img src="@/assets/images/visual/img-sample.png" class="event-list-img animal-img">-->
-                <!--<div class="event-list-text">-->
-                  <!--<h3>{{ item.eventTitle }}</h3>-->
-                  <!--<h4><span>摄像头</span><span>新上报</span><span>{{ item.createTime }}</span>-->
-                  <!--</h4>-->
-                <!--</div>-->
-              <!--</div>-->
-            <!--</div>-->
-          <!--</dv-border-box-13>-->
-        <!--</div>-->
-
-      <!--</div>-->
-      <vBottomMenu ref="bottomMenu"></vBottomMenu>
-<!--      <el-tooltip :content="indentText" placement="top" :disabled="indentdisabled">-->
-<!--        <div class="mascot" ref="mascot" :class="indentStyle" @click="indent"><img-->
-<!--          src="@/assets/images/mascot.png"/>-->
-<!--        </div>-->
-<!--      </el-tooltip>-->
-
-    </div>
-    <eventLocation ref="eventLocation"></eventLocation>
-    <TVWall ref="TVWall"></TVWall>
-    <TVWalls ref="TVWalls"></TVWalls>
-    <DeviceDialog
-      ref="deviceDialog"
-      localMark="animal"
-      @sewageOutletClick="sewageOutletClick"
-    />
-  </div>
-</template>
-
-<script>
-import {
-  getAnimalRemotelist,
-  selectAnimalCountByType
-} from '@/api/animal'
-
-import supermap from '@/components/supermap-2.5d' //超图
-import vheader from '@/components/v-header.vue' //一体化共用头部
-import vBottomMenu from '@/components/vBottomMenu.vue' //一体化公共底部菜单
-import eventLocation from '@/components/eventLocation.vue' //事件定位弹窗
-import TVWall from '@/components/TVWall.vue'//电视墙弹窗
-import TVWalls from '@/components/TVWalls.vue'//电视墙弹窗
-import DeviceDialog from '@/components/DeviceDialog';
-import {getUserProfile} from "@/api/system/user";
-
-let echarts = require('echarts')
-export default {
-  components: {
-    supermap,
-    vheader,
-    vBottomMenu,
-    eventLocation,
-    TVWall,
-    TVWalls,
-    DeviceDialog
-  },
-  data() {
-    return {
-      animalcount: '',
-      iconCurrentIndex1: '',
-      listCurrentIndex1: '',
-      //左右缩进
-      indentStyle: '',
-      indentleft: '',
-      indentright: '',
-      indentText: '收起左右栏',
-      indentdisabled: false,
-
-      //虚拟数据
-      animalDwfbType: [{
-        name: '虎',
-        src: require('../assets/images/dwbh/hu-1.png'),
-        type: 'forest_animal_hu'
-      }, {
-        name: '豹',
-        src: require('../assets/images/dwbh/bao-1.png'),
-        type: 'forest_animal_bao'
-      }, {
-        name: '蛇',
-        src: require('../assets/images/dwbh/she-1.png'),
-        type: 'forest_animal_she'
-      }, {
-        name: '鹰',
-        src: require('../assets/images/dwbh/ying-1.png'),
-        type: 'forest_animal_ying'
-      }, {
-        name: '兔',
-        src: require('../assets/images/dwbh/tuzi-1.png'),
-        type: 'forest_animal_tu'
-      }, {
-        name: '狐狸',
-        src: require('../assets/images/dwbh/huli-1.png'),
-        type: 'forest_animal_huli'
-      }, {
-        name: '狗熊',
-        src: require('../assets/images/dwbh/gouxiong-1.png'),
-        type: 'forest_animal_gouxiong'
-      }, {
-        name: '野鸡',
-        src: require('../assets/images/dwbh/yeji-1.png'),
-        type: 'forest_animal_yeji'
-      }, {
-        name: '狍子',
-        src: require('../assets/images/dwbh/paozi-1.png'),
-        type: 'forest_animal_paozi'
-      }],
-      animalDwfb:[],
-      animalSjfb: [],
-      animalSjlb: [],
-      markersList: [] //点位列表
-    }
-  },
-  created() {
-    /** ----------------------------------底部按钮公用组件开始------------------------------------- */
-    window.showDialog = this.showDialog
-    window.choseLayerSwitching = this.choseLayerSwitching
-    window.choseLayerSwitchingList = this.choseLayerSwitchingList
-    window.choseLayerSwitchingList_Data = this.choseLayerSwitchingList_Data
-    /** ----------------------------------底部按钮公用组件结束------------------------------------- */
-  },
-  mounted() {
-    // 初始化地图数据
-    this.getSuperMapUrl();
-    setTimeout(() => {
-      this.getAnimalRemotelist();
-      this.selectAnimalCountByType();
-    }, 2000)
-
-    this.bottomMenuList() //获取底部公共组件消息和任务
-  },
-  methods: {
-    sewageOutletClickBefore(cameraParam){
-      this.$refs.deviceDialog.update(cameraParam,'animal')
-      this.$refs.deviceDialog.open(cameraParam)
-    },
-    fatherMethod(dianshiqiang, longitude, latitude, item) {
-        this.$refs.TVWalls.showTVWall(
-          dianshiqiang, {
-            longitude: longitude,
-            latitude: latitude,
-          },
-          item
-        );
-      },
-    //初始化地图数据
-    getSuperMapUrl(){
-      getUserProfile().then(response => {
-        let mapDeptId=response.mapDeptId
-        let num = 0;
-        if (mapDeptId == "365") {
-          num = 0;
-        } else if (mapDeptId == "369") {
-          num = 1;
-        } else if (mapDeptId == "371") {
-          num = 2;
-        } else if (mapDeptId == "373") {
-          num = 3;
-        } else if (mapDeptId == "372") {
-          num = 4;
-        } else if (mapDeptId == "370") {
-          num = 5;
-        }
-        this.$refs.supermap.removeAllviewer(mapDeptId, -1);
-      });
-    },
-    sewageOutletClick(data) {
-      console.log(data)
-      const params = Object.assign({});
-      params.longitude = data.longitude;
-      params.latitude = data.latitude;
-
-      const treeLabels = [
-        {
-          id: null,
-          labelCode: "999",
-          labelName: "电视墙",
-          cameraType: null,
-          parentLabelCode: "",
-        },
-      ];
-      const labelChannels = [];
-      for (let i in data.cameraList) {
-        treeLabels.push({
-          id: null,
-          labelCode: data.cameraList[i].cameraCode,
-          labelName: data.cameraList[i].cameraName,
-          cameraType: "1",
-          parentLabelCode: "999",
-        });
-        labelChannels.push({
-          labelCode: data.cameraList[i].cameraCode,
-          channelDates: [
-            {
-              channelCode: data.cameraList[i].cameraCode,
-              channelName: data.cameraList[i].cameraName,
-              channelSn: null,
-              cameraType: "1",
-              online: "1",
-              cameraCode: "1",
-            },
-          ],
-        });
-      }
-      const dianshiqiang = [
-        {
-          switchTab: "2",
-          treeLabels: treeLabels,
-          labelChannels: labelChannels,
-        },
-      ];
-      if (data.cameraList.length > 0) {
-        this.$refs.TVWall.showTVWall1(
-          data.longitude,
-          data.latitude,
-          dianshiqiang
-        );
-      }
-    },
-    /** ----------------------------------底部按钮公用组件开始------------------------------------- */
-    bottomMenuList() {
-      this.$refs.bottomMenu.selectTaskList()//获取任务列表
-      this.$refs.bottomMenu.selectMessageList()//获取消息列表
-      this.$refs.bottomMenu.linBanTreeselect()//查询林班层级树结构
-      this.$refs.bottomMenu.deptTreeselect()//查询林场部门树结构
-    },
-    showDialog(click) {
-      if (click == 'eventLocation') {
-        this.$refs.eventLocation.showEventLocation()
-        this.$refs.bottomMenu.showMeasure = false
-        this.$refs.bottomMenu.showChild = false
-        this.$refs.bottomMenu.showBanChild = false
-        this.$refs.bottomMenu.showChangChild = false
-      } else if (click == 'editableLayers') {
-        this.$refs.bottomMenu.showChild = false
-        this.$refs.bottomMenu.showBanChild = false
-        this.$refs.bottomMenu.showChangChild = false
-        if (!this.$refs.bottomMenu.showMeasure) {
-          this.$refs.bottomMenu.showMeasure = true
-        } else {
-          this.$refs.bottomMenu.showMeasure = false
-        }
-      } else if (click == 'layerSwitching') {
-        this.$refs.bottomMenu.showMeasure = false
-        this.$refs.bottomMenu.showBanChild = false
-        this.$refs.bottomMenu.showChangChild = false
-        if (!this.$refs.bottomMenu.showChild) {
-          this.$refs.bottomMenu.showChild = true
-        } else {
-          this.$refs.bottomMenu.showChild = false
-        }
-      } else if (click == 'TVWall') {
-        this.$refs.TVWall.showTVWall()
-        this.$refs.bottomMenu.showMeasure = false
-        this.$refs.bottomMenu.showChild = false
-        this.$refs.bottomMenu.showBanChild = false
-        this.$refs.bottomMenu.showChangChild = false
-      } else if (click == 'forestban') {
-        this.$refs.bottomMenu.showMeasure = false
-        this.$refs.bottomMenu.showChild = false
-        this.$refs.bottomMenu.showChangChild = false
-        if (!this.$refs.bottomMenu.showBanChild) {
-          this.$refs.bottomMenu.showBanChild = true
-        } else {
-          this.$refs.bottomMenu.showBanChild = false
-        }
-      } else if (click == 'forestchang') {
-        this.$refs.bottomMenu.showMeasure = false
-        this.$refs.bottomMenu.showBanChild = false
-        this.$refs.bottomMenu.showChild = false
-        if (!this.$refs.bottomMenu.showChangChild) {
-          this.$refs.bottomMenu.showChangChild = true
-        } else {
-          this.$refs.bottomMenu.showChangChild = false
-        }
-      }
-
-    },
-    //选择图层
-    choseLayerSwitching(url, isClear) {
-      this.$refs.supermap.layerSwitching(url, isClear)
-    },
-    //选择图层(传递数组)
-    choseLayerSwitchingList(urlList) {
-      this.$refs.supermap.layerSwitchingList(urlList)
-    },
-    //选择图层(传递数组)  带数据
-    choseLayerSwitchingList_Data(urlList) {
-      this.$refs.supermap.layerSwitchingList_Data(urlList)
-    },
-    /** ----------------------------------底部按钮公用组件结束------------------------------------- */
-    selectAnimalCountByType(){
-      selectAnimalCountByType().then(res => {
-        for (let i = 0; i < res.data.length; i++) {
-          for (let j = 0; j < this.animalDwfbType.length; j++) {
-            if(res.data[i].typeValue == this.animalDwfbType[j].name){
-              this.animalDwfb.push({
-                name: res.data[i].typeValue,
-                src: this.animalDwfbType[j].src,
-                type: this.animalDwfbType[j].type,
-                value: res.data[i].count,
-              })
-            }
-          }
-        }
-
-      })
-    },
-    getAnimalRemotelist(type){
-      let that = this;
-      getAnimalRemotelist(type).then(res => {
-        that.markersList = []
-        if (res.data != null && res.data.length > 0) {
-          for (let i = 0; i < res.data.length; i++) {
-            let markersMap = {
-              lng: 124.59,
-              lat: 43.02,
-              icon: 'marker',
-              bindPopupHtml: '',
-              click: '',
-              parameter: '',
-              keepBindPopup: false,
-              isAggregation: false
-            }
-            let src= "";
-            for (let j = 0; j < that.animalDwfbType.length; j++) {
-              if(res.data[i].type == that.animalDwfbType[j].name){
-                markersMap.icon = that.animalDwfbType[j].type;
-                // src = that.animalDwfbType[j].src;
-                // markersMap.icon = that.animalDwfbType[j].src;
-                break;
-              }
-            }
-            markersMap.lng = res.data[i].longitude
-            markersMap.lat = res.data[i].latitude
-            markersMap.click="sewageOutletClickBefore"
-            markersMap.parameter=res.data[i]
-            markersMap.bindPopupHtml = '<div class="map-tip">' +
-              '<span>' +
-              '                  <div class="d-l-con">' +
-              '                  <div class="d-l-l-text">' +
-              '                  <h4>动物名称:' + res.data[i].type +
-              '</h4>' +
-              '                </div>' +
-              '                </div>' +
-              '                </span>' +
-              '<span>' +
-              '                  <div class="d-l-con">' +
-              '                  <div class="d-l-l-text">' +
-              '                  <h4>出现时间:' + res.data[i].appearTime +
-              '</h4>' +
-              '                </div>' +
-              '                </div>' +
-              '                </span>' +
-              '<span>' +
-              '                  <div class="d-l-con">' +
-              '                  <div class="d-l-l-text">' +
-              '<img src="' + res.data[i].attachId + '" style="width: 150px;height: 100px"/>' +
-              '                </div>' +
-              '                </div>' +
-              '                </span>'
-              '</div>'
-            that.markersList.push(markersMap)
-          }
-          setTimeout(() => {
-            that.$refs.supermap.clearM()
-            that.$refs.supermap.setMarkers(that.markersList)
-          }, 1000)
-        } else {
-          setTimeout(() => {
-            that.$refs.supermap.clearM()
-          }, 1000)
-        }
-      })
-    },
-
-    dropLocation(lat, lng, index) {
-      this.listCurrentIndex1 = index
-      this.$refs.supermap.dropLocation(lat, lng)
-    },
-
-    //事件chart
-    eventChart() {
-      // 基于准备好的dom,初始化echarts实例
-      let myChart = echarts.init(document.getElementById('animal-chart'))
-      myChart.setOption({
-        color: ['#2EACFF', '#FFA61C', '#2EC054', '#8C64D7'],
-        tooltip: {
-          trigger: 'item',
-          formatter: '{a} <br/>{b} : {c} ({d}%)'
-        },
-        toolbox: {
-          show: true
-        },
-        series: [{
-          name: '事件分类',
-          type: 'pie',
-          roseType: true,
-          radius: [30, 70],
-          label: {
-            show: true,
-            formatter: '{b}\n{c} '
-          },
-          data: this.eventChartData
-        }]
-      })
-
-    },
-    //吉祥物收起左右框
-    indent() {
-      let list = document.getElementsByClassName('el-tooltip__popper')
-      list[list.length - 1].style.display = 'none'
-      if (this.indentStyle == '') {
-        this.indentStyle = 'indent-style'
-        this.indentleft = 'indent-left'
-        this.indentright = 'indent-right'
-        this.indentText = '展开左右栏'
-      } else if (this.indentText == '展开左右栏') {
-        this.indentStyle = ''
-        this.indentleft = ''
-        this.indentright = ''
-        this.indentText = '收起左右栏'
-      }
-    }
-  }
-
-}
-</script>
-
-<style rel="stylesheet/scss" lang="scss" scoped>
-@import '@/assets/styles/base.scss';
-
-//动物保护
-.icon-animal-con {
-  width: 100%;
-  display: block !important;
-}
-
-.icon-animal {
-  display: block;
-  margin: 2px auto;
-  background: none !important;
-}
-
-.icon-animal-text {
-  display: block !important;
-  text-align: center !important;
-  padding: 0.5rem 0.5rem 0rem 0.5rem;
-}
-
-.animal-text {
-  background: #f5ad1b;
-  border: 0.2px solid rgba(19, 64, 64, 0.7);
-  height: 3.2rem;
-  width: 4rem;
-  text-align: center;
-  margin: 0px auto;
-  border-radius: 0.5rem;
-  color: #fff !important;
-}
-
-.animal-text h6 {
-  color: #fff !important;
-}
-
-.w100 {
-  width: 100% !important;
-}
-
-.animal-img {
-  height: 3rem !important;
-}
-
-.w-6 {
-  width: 6rem !important;
-}
-</style>

+ 0 - 794
src/views/datacenter.vue

@@ -1,794 +0,0 @@
-<!--信息中心-->
-<template>
-  <div class="visual-con">
-    <!--头部-->
-    <vheader></vheader>
-    <!--主体-->
-    <div class="visual-body">
-      <!-- 左侧 -->
-      <!-- <div class="leftbar w-10" ref="left" style="width:12rem !important;height: 80vh;overflow-y: hidden;">
-        <div class="forthis">
-          <dv-border-box-13
-            backgroundColor="rgba(12, 19, 38, .90)"
-            style="padding-bottom: 1rem;height: 80vh;"
-          >
-            <img
-              src="../assets/images/integrated/light.png"
-              style="width: 100%; margin-top: 0.4rem"
-            />
-            <div class="sj-search">
-              <el-input
-                v-model="searchName"
-                placeholder="请输入名称"
-                @keyup.enter.native="searchByName()"
-                size="small"
-                prefix-icon="el-icon-search"
-              />
-            </div>
-            <div class="i-list-con" style="height: 71vh;">
-              <div class="d-l-con-icon">
-                <div
-                  class="icon-con"
-                  :class="{ on: iconCurrentIndex == item.type }"
-                  v-for="(item, index) in resourcesList"
-                  v-on:click="fireControlViewPoint(item.type, searchName)"
-                >
-                  <div
-                    class="iconfont icon icon-normal"
-                    :class="item.icon"
-                    :style="'background:' + item.bg"
-                  ></div>
-                  <div class="icon-text">
-                    <h6>{{ item.num }}</h6>
-                    <h5>{{ item.name }}</h5>
-                  </div>
-                </div>
-              </div>
-            </div>
-          </dv-border-box-13>
-        </div>
-      </div> -->
-      <!-- 左侧边栏 资源列表 -->
-      <ResourceList
-        @searchNameForParent="getSearchName"
-        @fireControlViewPointForParent="fireControlViewPoint"
-        @searchByNameForParent="searchByName"
-        :resourcesList="resourcesList"
-        :iconCurrentIndex="iconCurrentIndex"
-        >
-      </ResourceList>
-      <!-- 地图 -->
-      <supermap
-        ref="supermap"
-        style="width: 100%; height: 100vh"
-        @sewageOutletClick="sewageOutletClick"
-        @sewageOutletClickBefore="sewageOutletClickBefore"
-        @fatherMethod="fatherMethod"
-      ></supermap>
-      <!--      <button @click="showEventInfo1" style="position: absolute; right: 50%;top: 45%;z-index: 1000;">弹层事件演示用按钮-->
-      <!--      </button>-->
-      <!-- 右侧 -->
-      <!-- <div class="rightbar" ref="right" v-if="showSearch == true">
-        <div class="forthis">
-          <dv-border-box-13
-            backgroundColor="rgba(12, 19, 38, .90)"
-            style="padding-bottom: 1rem"
-          >
-            <img
-              src="../assets/images/integrated/light.png"
-              style="width: 100%; margin-top: 0.4rem"
-            />
-            <div class="this-title">
-              <span>数据分布</span>
-              <dv-decoration-3
-                style="width: 150px; height: 15px; margin-right: 1rem"
-              />
-            </div>
-            <div class="i-list-con h-73">
-              <div class="overflow-y" style="height: 39vh">
-                <div
-                  class="d-l-con"
-                  :class="{ on: listCurrentIndex == item.deptId }"
-                  v-for="(item, index) in deptGroupList"
-                  v-on:click="indentleftByDeptIdSetMarkers(item.deptId)"
-                >
-                  <div class="d-l-l-text">
-                    <i class="i-small"></i>
-                    <h4>{{ item.deptName }}</h4>
-                  </div>
-                  <div class="d-l-l-count">{{ item.count }}</div>
-                </div>
-              </div>
-              <div class="overflow-y" style="height: 34vh">
-                <div id="data-chart" style="width: 100%; height: 34vh"></div>
-              </div>
-            </div>
-          </dv-border-box-13>
-        </div>
-      </div> -->
-      <Distribution
-        ref="distribution"
-        :showSearch="showSearch"
-        :deptGroupList="deptGroupList"
-        :listCurrentIndex="listCurrentIndex"
-        @indentleftByDeptIdSetMarkersOfParent="indentleftByDeptIdSetMarkers"
-        >
-      </Distribution>
-      <vBottomMenu ref="bottomMenu"></vBottomMenu>
-    </div>
-    <eventLocation ref="eventLocation"></eventLocation>
-    <TVWall ref="TVWall" :detailInfo="detailInfo" :cameraList="cameraList">
-    </TVWall>
-    <TVWalls ref="TVWalls"></TVWalls>
-    <DeviceDialog
-      :localMark="localMark"
-      @toTvWall='toTvWall'
-      ref="deviceDialog"
-    />
-  </div>
-</template>
-
-<script>
-import {
-  fireControlViewList,
-  fireControlViewPoint,
-  fireControlViewPointSearchInfo
-} from "@/api/datacenter";
-import {treeselect} from "@/api/system/dept";
-import supermap from "@/components/supermap-2.5d"; //超图
-import vheader from "@/components/v-header.vue"; //一体化共用头部
-import vBottomMenu from "@/components/vBottomMenu.vue"; //一体化公共底部菜单
-import eventLocation from "@/components/eventLocation.vue"; //事件定位弹窗
-import TVWall from "@/components/TVWall.vue"; //电视墙弹窗
-import TVWalls from "@/components/TVWalls.vue"; //电视墙弹窗
-import ResourceList from "@/components/DataCenter_ResourceList/index.vue";
-import Distribution from "@/components/DataCenter_Distribution/index.vue";
-import { getIconBg } from "@/api/components/sookaMapIcon";
-import {getUserProfile} from "@/api/system/user";
-import { Button } from '@/dahua/TVWalllib/iview' //资源底色控制文件
-import DeviceDialog from '@/components/DeviceDialog';
-
-// import echarts from 'echarts'
-let echarts = require("echarts");
-export default {
-  components: {
-    Button,
-    supermap,
-    vheader,
-    vBottomMenu,
-    eventLocation,
-    TVWall,
-    TVWalls,
-    ResourceList,
-    Distribution,
-    DeviceDialog,
-  },
-  created() {
-    /** ----------------------------------底部按钮公用组件开始------------------------------------- */
-    window.showDialog = this.showDialog;
-    window.choseLayerSwitching = this.choseLayerSwitching;
-    window.choseLayerSwitchingList = this.choseLayerSwitchingList;
-    /** ----------------------------------底部按钮公用组件结束------------------------------------- */
-  },
-  mounted() {
-    // 初始化地图数据
-    this.getSuperMapUrl();
-
-    setTimeout(() => {
-      this.fireControlViewList();
-    }, 2000)
-    this.bottomMenuList(); //获取底部公共组件消息和任务
-    this.getTreeselect();
-  },
-  data() {
-    return {
-      localMark:'dataCenter',
-      deviceInfoList:[
-        {
-          key:'名称',
-          value:'林业测试设备'
-        },
-        {
-          key:'地址',
-          value:'四平市伊通县'
-        },
-        {
-          key:'负责人',
-          value:'王刚'
-        },
-        {
-          key:'电话',
-          value:'136XXXX0712'
-        },
-      ],
-      currentDeviceData:null,
-      currentPickedPic:require('@/assets/images/login-b-2.png'),
-      noHavePic:require('@/assets/images/integrated/event-img-sub.png'),
-      currentHighLightPic:0,
-      size:'',
-      // 搜索框
-      showSearch: true,
-      // 搜索名称
-      searchName: "",
-      // 搜索类型
-      iconCurrentIndex: "",
-      listCurrentIndex: "",
-      markersList: [],
-      iframeBoo: true,
-      open: false,
-      iframeVue: null,
-      activeName: "info",
-      radio: "1",
-      //类型
-      resourceTable: "",
-      //左侧资源
-      resourcesList: [],
-      //右侧资源
-      deptGroupList: [],
-      source: [],
-      detailInfo:{},
-      cameraList:{},
-    };
-  },
-  watch:{
-  },
-  methods: {
-    toTvWall(){
-      this.sewageOutletClick(this.currentDeviceData)
-    },
-    currentHighLight(idx,e){
-      if(this.currentHighLightPic == idx) return
-      this.currentHighLightPic = idx
-      this.currentPickedPic = e.pic
-    },
-    sewageOutletClickBefore(data){
-      this.currentDeviceData = data
-      fireControlViewPointSearchInfo(data.indexName,data.id).then(res => {
-        this.$refs.deviceDialog.update(res.data,'dataCenter')
-      })
-      this.$refs.deviceDialog.open(data)
-    },
-    // 获取左侧资源列表输入框Value
-    getSearchName(value){
-      this.searchName = value
-    },
-    fatherMethod(dianshiqiang, longitude, latitude, item) {
-      this.$refs.TVWalls.showTVWall(
-        dianshiqiang, {
-          longitude: longitude,
-          latitude: latitude,
-        },
-        item
-      );
-    },
-    //初始化地图数据
-    getSuperMapUrl(){
-      getUserProfile().then(response => {
-        let mapDeptId=response.mapDeptId
-        let num = 0;
-        if (mapDeptId == "365") {
-          num = 0;
-        } else if (mapDeptId == "369") {
-          num = 1;
-        } else if (mapDeptId == "371") {
-          num = 2;
-        } else if (mapDeptId == "373") {
-          num = 3;
-        } else if (mapDeptId == "372") {
-          num = 4;
-        } else if (mapDeptId == "370") {
-          num = 5;
-        }
-        this.$refs.supermap.removeAllviewer(mapDeptId, -1);
-      });
-    },
-    // 根据名称筛选资源点位
-    searchByName() {
-      // this.$modal.msgSuccess("正在查询,请稍后...");
-      this.fireControlViewPoint(this.resourceTable, this.searchName,"search");
-    },
-    /** ----------------------------------底部按钮公用组件开始------------------------------------- */
-    bottomMenuList() {
-      this.$refs.bottomMenu.selectTaskList(); //获取任务列表
-      this.$refs.bottomMenu.selectMessageList(); //获取消息列表
-    },
-    showDialog(click) {
-      if (click == "eventLocation") {
-        this.$refs.eventLocation.showEventLocation();
-        this.$refs.bottomMenu.showMeasure = false;
-        this.$refs.bottomMenu.showChild = false;
-      } else if (click == "editableLayers") {
-        this.$refs.bottomMenu.showChild = false;
-        if (!this.$refs.bottomMenu.showMeasure) {
-          this.$refs.bottomMenu.showMeasure = true;
-        } else {
-          this.$refs.bottomMenu.showMeasure = false;
-        }
-      } else if (click == "layerSwitching") {
-        this.$refs.bottomMenu.showMeasure = false;
-        if (!this.$refs.bottomMenu.showChild) {
-          this.$refs.bottomMenu.showChild = true;
-        } else {
-          this.$refs.bottomMenu.showChild = false;
-        }
-      } else if (click == "TVWall") {
-        this.$refs.TVWall.showTVWall();
-        this.$refs.bottomMenu.showMeasure = false;
-        this.$refs.bottomMenu.showChild = false;
-      }
-    },
-    //选择图层
-    choseLayerSwitching(url, isClear) {
-      this.$refs.supermap.layerSwitching(url, isClear);
-    },
-    //选择图层(传递数组)
-    choseLayerSwitchingList(urlList) {
-      this.$refs.supermap.layerSwitchingList(urlList);
-    },
-    /** ----------------------------------底部按钮公用组件结束------------------------------------- */
-    //数据分布chart
-    dataChat() {
-      // 基于准备好的dom,初始化echarts实例
-      let myChart = echarts.init(document.getElementById("data-chart"));
-      // 绘制图表
-      const dfColor = ["#92E1FF", "#0097FB", "#30ECA6", "#FFC227", "#FF4848"];
-      myChart.setOption({
-        dataset: {
-          source: this.source,
-        },
-        tooltip: {
-          trigger: "item",
-        },
-        dataZoom: [
-          {
-            show: this.source.length > 8 ? true : false,
-            // show: true,
-            type: "slider",
-            yAxisIndex: 0,
-            left: 0,
-            handleSize:10,
-            start: 0,
-            end: this.source.length > 8 ? 8 : 100,
-            width: 15,
-          },
-        ],
-        grid: {
-          top: "5%",
-          left: "12%",
-          // right: "4%",
-          bottom: "-5%",
-          width: "75%",
-          containLabel: true,
-        },
-        xAxis: {
-          show: false,
-          type: "value",
-        },
-        yAxis: {
-          type: "category", // 不设置类目轴,抽离的dataset数据展示不出来
-          inverse: true,
-          axisLabel: {
-            show: true,
-            textStyle: {
-              color: "#5deaff",
-              fontSize: "12",
-            },
-          },
-          splitLine: {
-            show: false,
-          },
-          axisTick: {
-            show: false,
-          },
-          axisLine: {
-            show: false,
-          },
-        },
-
-        series: [
-          {
-            type: "bar",
-            animationCurve: "easeOutBack",
-            barWidth: 5,
-            label: {
-              show: true,
-              position: "right",
-              offset: [0, 0],
-              color: "#88dfd5",
-              // fontSize: "12",
-              style: {
-                fill: "#fff",
-              },
-            },
-            backgroundBar: {
-              show: true,
-              style: {
-                fill: "rgba(97,152,255,0.20)",
-              },
-            },
-            barStyle: {
-              stroke: "rgba(41,244,236,1)",
-            },
-            gradient: {
-              color: ["rgba(41,244,236,1)", "rgba(41,244,236,0)"],
-            },
-            itemStyle: {
-              label: {
-                show: true,
-              },
-              labelLine: {
-                show: false,
-              },
-              color: new echarts.graphic.LinearGradient(0, 1, 0, 0, [
-                {
-                  offset: 0,
-                  color: "rgba(41,244,236,0)",
-                },
-                {
-                  offset: 1,
-                  color: "rgba(41,244,236,.5)",
-                },
-              ]),
-              borderColor: "#a2f9f7",
-              shadowBlur: 16,
-              shadowColor: "#a2f9f7",
-            },
-          },
-        ],
-      });
-    },
-    fireControlViewList() {
-      let that = this;
-      fireControlViewList("linye").then(function (res) {
-        for (let i = 0; i < res.data.length; i++) {
-            that.resourcesList.push(res.data[i]);
-        }
-        //截取data.resourceTable字段中“_”分隔符最后一个作为关键字,重新拼接成前端需要的图标:class,格式sj-icon-xxxx,将其set回原数组
-        that.resourcesList.forEach(function (data, index) {
-          let icon =
-            "sj" +
-            "-" +
-            "icon" +
-            "-" +
-            data.type.replaceAll("_", "-").replaceAll("@", "-");
-          console.log("icon_" + (index + 1) + "=", icon);
-          that.$set(that.resourcesList[index], "icon", icon);
-          //每个图标对应固定颜色
-          that.$set(that.resourcesList[index], "bg", getIconBg(icon));
-        });
-        that.fireControlViewPoint("linye", "");
-      });
-    },
-    fireControlViewPoint(resourceTable, name, search) {
-      if(resourceTable == this.resourceTable && search != "search"){
-        resourceTable = "linye"
-      }
-      this.iconCurrentIndex = resourceTable;
-      // 搜索框
-      if (name == "" || name == null || name == undefined) {
-        name = "";
-      } else {
-        this.showSearch = true;
-      }
-      // console.log("name=", name);
-      // console.log("this.showSearch=", this.showSearch);
-
-      let that = this;
-      that.resourceTable = resourceTable;
-      that.markersList = [];
-      that.source = [];
-      fireControlViewPoint(resourceTable, name,"").then((res) => {
-        let pointList = res.data.pointList;
-        that.deptGroupList = res.data.deptList;
-        if (res.data.deptList != null && res.data.deptList.length > 0) {
-          for (let i = 0; i < res.data.deptList.length; i++) {
-            let aa = [
-              res.data.deptList[i].deptName,
-              res.data.deptList[i].count,
-            ];
-            that.source.push(aa);
-          }
-        }
-
-        if (res.data.pointList != null && res.data.pointList.length > 0) {
-          for (let i = 0; i < res.data.pointList.length; i++) {
-              let markersMap = {
-                lng: res.data.pointList[i].longitude,
-                lat: res.data.pointList[i].latitude,
-                icon: "marker",
-                bindPopupHtml: "",
-                click: "",
-                name: i,
-                keepBindPopup: false,
-                isAggregation: false,
-              };
-              that.markersList.push(
-                this.getMarkersMap(
-                  resourceTable == "linye" ? res.data.pointList[i].indexName:resourceTable,
-                  markersMap,
-                  res.data.pointList[i]
-                )
-              );
-          }
-        }
-        if (this.showSearch == true) {
-          this.dataChat();
-        }
-        that.$refs.supermap.clearM(false);
-        that.$refs.supermap.setMarkers(that.markersList);
-        that.$refs.distribution.setDeptNum(that.deptOptions,that.deptGroupList);
-      });
-    },
-    getTreeselect() {
-      treeselect().then((response) => {
-        this.deptOptions = response.data;
-      });
-    },
-    getMarkersMap(resourceTable, markersMap, item) {
-      let icon = "sj-icon-map-"+resourceTable.replaceAll("_", "-");
-      markersMap.lng = item.longitude;
-      markersMap.lat = item.latitude;
-      markersMap.click = "sewageOutletClickBefore";
-      markersMap.parameter = item;
-      markersMap.icon = icon;
-      markersMap.bindPopupHtml =
-        '<div class="map-tip">' +
-        // "<span>" +
-        // '                  <div class="d-l-con">' +
-        // '                  <div class="d-l-l-text">' +
-        // "                  <h4>经纬度:" +
-        // (item.longitude ? item.longitude : "") +
-        // "," +
-        // (item.latitude ? item.latitude : "") +
-        // "</h4>" +
-        // "                </div>" +
-        // "                </div>" +
-        // "                </span>" +
-        "<span>" +
-        '                  <div class="d-l-con">' +
-        '                  <div class="d-l-l-text">' +
-        "                  <h4>名称:" +
-        (item.name ? item.name : "") +
-        "</h4>" +
-        "                </div>" +
-        "                </div>" +
-        "                </span>" +
-        // "<span>" +
-        // '                  <div class="d-l-con">' +
-        // '                  <div class="d-l-l-text">' +
-        // "                  <h4>地址:" +
-        // (item.address ? item.address : "") +
-        // "</h4>" +
-        // "                </div>" +
-        // "                </div>" +
-        // "                </span>" +
-        "<span>" +
-        '                  <div class="d-l-con">' +
-        '                  <div class="d-l-l-text">' +
-        "                  <h4>联系人:" +
-        (item.contacts ? item.contacts : "") +
-        "</h4>" +
-        "                </div>" +
-        "                </div>" +
-        "                </span>" +
-        "<span>" +
-        '                  <div class="d-l-con">' +
-        '                  <div class="d-l-l-text">' +
-        "                  <h4>联系电话:" +
-        (item.phone ? item.phone : "") +
-        "</h4>" +
-        "                </div>" +
-        "                </div>" +
-        "                </span></div>";
-      return markersMap;
-    },
-    async sewageOutletClick(data) {
-      console.log(data);
-      const params = Object.assign({});
-      params.longitude = data.longitude;
-      params.latitude = data.latitude;
-      let newDetailArr = []
-      fireControlViewPointSearchInfo(data.indexName,data.id).then(res => {
-        // 经纬度不予展示
-        let notAllowedKeys = ['经度','纬度']
-        for(const key in res.data.detail){
-          if (!notAllowedKeys.includes(key)) {
-            this.detailInfo[key] = res.data.detail[key];
-          }
-        }
-        this.cameraList = res.data.cameras
-        const treeLabels = [
-          {
-            id: null,
-            labelCode: "999",
-            labelName: "电视墙",
-            cameraType: null,
-            parentLabelCode: "",
-          },
-        ];
-        const labelChannels = [];
-        for (let i in res.data.cameras) {
-          treeLabels.push({
-            id: null,
-            labelCode: res.data.cameras[i].cameraCode,
-            labelName: res.data.cameras[i].cameraName,
-            cameraType: res.data.cameras[i].cameraType,
-            parentLabelCode: "999",
-          });
-          labelChannels.push({
-            labelCode: res.data.cameras[i].cameraCode,
-            channelDates: [
-              {
-                channelCode: res.data.cameras[i].cameraCode,
-                channelName: res.data.cameras[i].cameraName,
-                channelSn: null,
-                cameraType: res.data.cameras[i].cameraType,
-                online: "1",
-                cameraCode: "1",
-              },
-            ],
-          });
-        }
-        const dianshiqiang = [
-          {
-            switchTab: "2",
-            treeLabels: treeLabels,
-            labelChannels: labelChannels,
-          },
-        ];
-          if (res.data.cameras.length != null) {
-            this.$refs.TVWall.showTVWall1(
-            data.longitude,
-            data.latitude,
-            dianshiqiang
-          );
-      }
-      })
-      // this.detailInfo = result.data.detail
-      // for(let item in result.data.detail){
-      //   newDetailArr.push({
-      //     [item]:result.data.detail[item]
-      //   })
-      // }
-      // // 对数据进行反转、序列化加工 取消ob事件监听
-      // setTimeout(() => {
-      //   newDetailArr = JSON.parse(JSON.stringify(newDetailArr.reverse()))
-      //   this.detailInfo = newDetailArr
-      //   console.log(this.detailInfo)
-      // },800)
-      // if (data.cameraList.length > 0) {
-      //   this.$refs.TVWall.showTVWall1(
-      //     data.longitude,
-      //     data.latitude,
-      //     dianshiqiang
-      //   );
-      // }
-    },
-    indentleftByDeptIdSetMarkers(deptId) {
-      this.listCurrentIndex = deptId;
-      let that = this;
-      //点击左侧地图落点
-      fireControlViewPoint(that.resourceTable,that.searchName, deptId).then((res) => {
-        that.markersList = [];
-        if (res.data != null && res.data.pointList.length>0) {
-          for (let i = 0; i < res.data.pointList.length; i++) {
-            let markersMap = {
-              lng: res.data.pointList[i].longitude,
-              lat: res.data.pointList[i].latitude,
-              icon: "marker",
-              bindPopupHtml: "",
-              click: "",
-              name: i,
-              keepBindPopup: false,
-              isAggregation: false,
-            };
-            console.log("resourceTable=", that.resourceTable);
-            console.log("res.data[i]=", res.data.pointList[i]);
-            that.markersList.push(
-              that.getMarkersMap(
-                that.resourceTable == "linye" ? res.data.pointList[i].indexName:that.resourceTable,
-                markersMap, res.data.pointList[i])
-            );
-          }
-        }
-        that.$refs.supermap.clearM();
-        that.$refs.supermap.setMarkers(that.markersList);
-      });
-    },
-  },
-};
-</script>
-
-<style rel="stylesheet/scss" lang="scss" scoped>
-@import "@/assets/styles/base.scss";
-</style>
-<style lang="scss">
-.tvDialog{
-  margin-top: 10vh !important;
-  height: 75%;
-
-  padding-top: 0;
-  .el-dialog__body{
-    height: 92%;
-    padding: 0;
-  }
-  .el-dialog__header{
-    height: 8% !important;
-  }
-  .tvPicHighlight{
-    border: 6px solid #B8741A;
-  }
-  .tvPicNotHighlight{
-    border: none;
-  }
-  .container{
-    height: 100%;
-    display: flex;
-    background: url('~@/assets/images/tvWallBg.png') 0 0 no-repeat;
-    background-size:100% 100% ;
-    .leftContain{
-      width: 24.2%;
-      height: 100%;
-      border-right: 2px solid #153E42;
-      .deviceInfo{
-        width: 100%;
-        height:71%;
-        >div{
-          text-indent: 42px;
-          height: 10%;
-          font-size:15px;
-          color: #A4A4A4;
-          font-weight: 700;
-        }
-        >div:nth-child(1){
-          margin-top: 7%;
-        }
-      }
-      .deviceIcon{
-        margin-left: 31%;
-        cursor: pointer;
-      }
-    }
-    .rightContain{
-      width: 64%;
-      height: 96%;
-      margin: 2% auto 0;
-      .bigPic{
-        object-fit: contain;
-        width: 100%;
-        height: 67%;
-      }
-      .scrollBottomBar{
-        display: flex;
-        width: 100%;
-        overflow: hidden;
-        overflow-x: scroll;
-        height: 24%;
-        margin-top: 6%;
-        border: 1px solid #244BB7;
-        .bottomPic{
-          width: 90px;
-          height: 90px;
-          margin-top: 2%;
-          cursor: pointer;
-        }
-        .bottomPic:nth-child(1){
-          margin-left: 2%;
-        }
-        .bottomPic:not(:nth-child(1)){
-          margin-left: 3%;
-        }
-      }
-      .scrollBottomBar::-webkit-scrollbar{
-        display: block !important;
-        background-color: #101823;
-        // border: 1px solid #fff;
-        height: 10px !important;
-      }
-      .scrollBottomBar::-webkit-scrollbar-thumb {
-        background-color: #183974;
-      }
-    }
-  }
-}
-</style>

Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 1066
src/views/disaster.vue


+ 0 - 752
src/views/leader.vue

@@ -1,752 +0,0 @@
-<template>
-  <div class="visual-con">
-    <!--头部-->
-    <vheader></vheader>
-    <!--主体-->
-    <div class="visual-body">
-      <!-- 左侧 -->
-      <div class="leftbar" ref="left">
-<!--        <el-select-->
-<!--          class="select_level"-->
-<!--          placeholder="请选择林长级别"-->
-<!--          @change="levelHasChanged"-->
-<!--          v-model="selectLevel"-->
-<!--          >-->
-<!--          <el-option-->
-<!--            v-for="item in numByLevelOptions" :key="item.key" :value="item" :label="item.name"-->
-<!--            >-->
-<!--          </el-option>-->
-<!--        </el-select>-->
-        <div class="forthis">
-          <dv-border-box-13
-            backgroundColor="rgba(12, 19, 38, .90)"
-            style="padding-bottom: 1rem;height: 18vh;"
-          >
-            <div class="this-title" style="height:5vh;line-height: 10vh;">
-              <span>等级</span>
-              <dv-decoration-3
-                style="width: 150px; height: 15px; margin-right: 1rem;"
-              />
-            </div>
-            <div class="i-list-con h-25 scrollBar">
-              <div class="d-l-con-icon">
-                <div
-                  class="icon-con w-50"
-                  v-for="(item, index) in numByLevelOptions"
-                  @click="levelHasChanged(item)"
-                  :class="{ on: iconCurrentIndex0 == item.level }"
-                >
-                  <div class="icon icon-mid el-icon-user"></div>
-                  <div class="icon-text">
-                    <h5>{{ item.name }}</h5>
-                    <h6>{{ item.num }}</h6>
-                  </div>
-                </div>
-              </div>
-            </div>
-          </dv-border-box-13>
-        </div>
-        <div class="forthis">
-          <dv-border-box-13
-            backgroundColor="rgba(12, 19, 38, .90)"
-            style="padding-bottom: 1rem;height: 36vh;"
-          >
-            <img
-              src="../assets/images/integrated/light.png"
-              style="width: 100%; margin-top: 0.4rem"
-            />
-            <div class="this-title">
-              <span>人员分布</span>
-              <dv-decoration-3
-                style="width: 150px; height: 15px; margin-right: 1rem"
-              />
-            </div>
-            <div class="i-list-con h-25 scrollBar">
-              <!-- <div id="personnel-chart" style="width: 100%; height: 12vh"></div> -->
-              <div class="d-l-con-icon">
-                <div
-                  class="icon-con w-50"
-                  :class="{ on: iconCurrentIndex1 == item.jobValue }"
-                  v-for="(item, index) in visuForestCloudRYBO"
-                  @click="getForestLeader(item.jobValue, item.jobType)"
-                >
-                  <div class="icon icon-mid el-icon-user"></div>
-                  <div class="icon-text">
-                    <h5>{{ item.job }}</h5>
-                    <h6>{{ item.number }}</h6>
-                  </div>
-                </div>
-                <!-- <div class="icon-con w-50  m-btm-no" :class="{on:listCurrentIndex1==item.jobType}" v-for="(item,index) in visuForestCloudRYBO" v-if="index%2!=0" @click="getForestLeader(item.jobValue,item.jobType)">
-                <div class="icon icon-mid el-icon-user"></div>
-                <div class="icon-text">
-                  <h5>{{item.job}}</h5>
-                  <h6>{{item.number}}</h6>
-                </div>
-              </div> -->
-              </div>
-            </div>
-          </dv-border-box-13>
-        </div>
-        <!--        avatar: ""-->
-        <!--        deptName: "锦程社区第一网格"-->
-        <!--        nickName: "李猛"-->
-        <!--        userId: 102-->
-        <!--        userName: "limeng"-->
-        <div class="forthis" style="height: 29vh;">
-          <dv-border-box-13
-            backgroundColor="rgba(12, 19, 38, .90)"
-            style="padding-bottom: 1rem"
-            class="userInformation"
-          >
-            <img
-              src="../assets/images/integrated/light.png"
-              style="width: 100%; margin-top: 0.4rem"
-            />
-			<div class="sj-search">
-                <el-input
-                  v-model="nickName"
-                  placeholder="请输入姓名"
-                  clearable
-                  size="small"
-                  prefix-icon="el-icon-search"
-                  @change="getForestLeader(_,_,nickName)"
-                />
-              </div>
-            <div class="i-list-con" style="height: 31vh;">
-              <div class="d-l-con-icon">
-                <div
-                  class="icon-con"
-                  :class="{ on: listCurrentIndex1 == item.userId }"
-                  v-for="(item, index) in peopleList2"
-                  @click="getPlanList(item.userId)"
-                >
-                  <div class="icon icon-mid el-icon-user"></div>
-                  <div class="icon-text personnel-name" style="width: 300px;">
-                    <h6>{{ item.nickName }}<span v-if="item.linPhone != undefined"> - {{ item.linPhone }}</span></h6>
-                    <h5>{{ item.deptName }}-{{ item.linLabel }}</h5>
-                  </div>
-                </div>
-              </div>
-            </div>
-          </dv-border-box-13>
-        </div>
-      </div>
-      <!-- 地图 -->
-      <supermap ref="supermap" style="width: 100%; height: 100vh" @fatherMethod="fatherMethod"></supermap>
-      <!-- 右侧 -->
-      <div class="rightbar" ref="right">
-        <div class="forthis">
-          <dv-border-box-13
-            backgroundColor="rgba(12, 19, 38, .90)"
-            style="padding-bottom: 1rem"
-          >
-            <img
-              src="../assets/images/integrated/light.png"
-              style="width: 100%; margin-top: 0.4rem"
-            />
-            <div class="this-title">
-              <span>巡林任务</span>
-              <dv-decoration-3
-                style="width: 150px; height: 15px; margin-right: 1rem"
-              />
-            </div>
-            <div class="i-list-con h-73">
-              <div class="h-73 overflow-y">
-                <el-collapse accordion>
-                  <el-collapse-item v-for="(item, index) in xunLinListOne">
-                    <template slot="title">
-                      <div
-                        class="d-l-con sj-collapse"
-                        @click="getRecordList(item.id, item.patrolTrajectory)"
-                      >
-                        <div class="d-l-l-text">
-                          <el-tooltip
-                            class="item"
-                            effect="dark"
-                            placement="left"
-                            style="width: 10rem"
-                            :disabled="
-                              item.taskName != null &&
-                              item.taskName.length <= 20
-                            "
-                          >
-                            <div slot="content">
-                              <h4 class="collapse-title" style="width: 200px">
-                                {{ item.taskName }}
-                              </h4>
-                            </div>
-                            <h4 class="collapse-title" style="width: 100px">
-                              {{ item.taskName | ellipsis20 }}
-                            </h4>
-                          </el-tooltip>
-                        </div>
-                        <div class="d-l-l-count">
-                          ({{ item.recordCount }}/{{ item.planCount }})
-                        </div>
-                      </div>
-                    </template>
-                    <div
-                      class="d-l-con this-child sj-collapse"
-                      @click="getPointList(child.id)"
-                      v-for="(child, index) in recordList"
-                    >
-                      <div class="d-l-l-text">
-                        <h4>{{ child.beginTime }} - {{ child.endTime }}</h4>
-                      </div>
-                      <!--<div class="d-l-l-count">{{index}}</div>-->
-                    </div>
-                    <div
-                      class="d-l-con this-child sj-collapse"
-                      v-if="
-                        showNothing &&
-                        (recordList == null ||
-                          recordList == '' ||
-                          recordList == [])
-                      "
-                    >
-                      <div class="d-l-l-text">
-                        <h4 class="text-gray">暂无信息</h4>
-                      </div>
-                    </div>
-                  </el-collapse-item>
-                </el-collapse>
-                <!--<div class="d-l-con" :class="{on:listCurrentIndex2==item.planName}"
-                     v-for="(item,index) in xunLinListOne"
-                     @click="setConnectList(item.planLine,item.planName)">
-                  <div class="d-l-l-text">
-                    <i class="i-small"></i>
-                    <h4>{{ item.planName }}</h4>
-                  </div>
-                </div>-->
-              </div>
-            </div>
-          </dv-border-box-13>
-        </div>
-      </div>
-      <vBottomMenu ref="bottomMenu"></vBottomMenu>
-    </div>
-    <eventLocation ref="eventLocation"></eventLocation>
-    <TVWall ref="TVWall"></TVWall>
-    <TVWalls ref="TVWalls"></TVWalls>
-  </div>
-</template>
-
-<script>
-import {
-  getForestLeader,
-  getPlanList,
-  getRecordList,
-  getPointList,
-  getRy,
-  getNumByLevel,
-  getlinleaderMap,
-} from "@/api/leader";
-
-import supermap from "@/components/supermap-2.5d"; //超图
-import vheader from "@/components/v-header.vue"; //一体化共用头部
-import vBottomMenu from "@/components/vBottomMenu.vue"; //一体化公共底部菜单
-import eventLocation from "@/components/eventLocation.vue"; //事件定位弹窗
-import TVWall from "@/components/TVWall.vue";
-import TVWalls from "@/components/TVWalls.vue";
-import {getUserProfile} from "@/api/system/user"; //电视墙弹窗
-
-let echarts = require("echarts");
-export default {
-  components: {
-    supermap,
-    vheader,
-    vBottomMenu,
-    eventLocation,
-    TVWall,
-    TVWalls,
-  },
-  data() {
-    return {
-      numByLevelOptions:[],
-      nickName: "",
-      currentName:null,
-      iconCurrentIndex0: null,
-      iconCurrentIndex1: null,
-      listCurrentIndex1: "",
-      listCurrentIndex2: "",
-      visuForestCloudRYBO: [], //人员类型列表
-      personId: null, //人员
-      peopleList: [], //人员列表
-      peopleList2: [], //人员列表
-      connectList: [], //画线
-      patrolTrajectory: null, //任务画线
-      xunLinListOne: [], //巡林任务
-      recordList: [], //巡查记录
-      showNothing: false, //暂无信息
-      zrs: 0, //总人数
-      zxrs: 0, //在线人数
-      currentLevel:null, //当前林长级别
-      selectLevel:null,
-    };
-  },
-  created() {
-    this.getInit();
-    /** ----------------------------------底部按钮公用组件开始------------------------------------- */
-    window.showDialog = this.showDialog;
-    window.choseLayerSwitching = this.choseLayerSwitching;
-    window.choseLayerSwitchingList = this.choseLayerSwitchingList;
-    window.choseLayerSwitchingList_Data = this.choseLayerSwitchingList_Data;
-    /** ----------------------------------底部按钮公用组件结束------------------------------------- */
-    getForestLeader(null , null,'',this.currentLevel).then((res) => {
-      this.peopleList = res.data;
-      this.peopleList2 = res.data;
-    });
-  },
-  mounted() {
-    // 初始化地图数据
-    this.getSuperMapUrl();
-
-    this.bottomMenuList(); //获取底部公共组件消息和任务
-    this.nickName = null
-  },
-  watch: {
-    nickName(val) {
-      this.peopleList2 = [];
-
-      for (let i in this.peopleList) {
-        if (this.peopleList[i].nickName.indexOf(val) != -1) {
-          this.peopleList2.push(this.peopleList[i]);
-        }
-      }
-      console.log(this.peopleList2);
-    },
-  },
-  methods: {
-    levelHasChanged(val){
-      this.peopleList = [];
-      this.peopleList2 = [];
-      this.iconCurrentIndex1 = null;
-      this.listCurrentIndex1 = "";
-      this.listCurrentIndex2 = "";
-      if(this.iconCurrentIndex0 != val.level){
-        this.currentLevel = val.level
-        this.iconCurrentIndex0 = val.level
-      }else{
-        this.currentLevel = null
-        this.iconCurrentIndex0 = null
-      }
-      getRy(this.currentLevel).then(res => {
-        this.visuForestCloudRYBO = res.data;
-        this.visuForestCloudRYBO.forEach(item=>{
-          this.zrs+=parseInt(item.number)
-        })
-        this.zxrs = 0;
-      })
-    },
-    fatherMethod(dianshiqiang, longitude, latitude, item) {
-      this.$refs.TVWalls.showTVWall(
-        dianshiqiang, {
-          longitude: longitude,
-          latitude: latitude,
-        },
-        item
-      );
-    },
-    //初始化地图数据
-    getSuperMapUrl(){
-      getUserProfile().then(response => {
-        let mapDeptId=response.mapDeptId
-        let num = 0;
-        if (mapDeptId == "365") {
-          num = 0;
-        } else if (mapDeptId == "369") {
-          num = 1;
-        } else if (mapDeptId == "371") {
-          num = 2;
-        } else if (mapDeptId == "373") {
-          num = 3;
-        } else if (mapDeptId == "372") {
-          num = 4;
-        } else if (mapDeptId == "370") {
-          num = 5;
-        }
-        this.$refs.supermap.removeAllviewer(mapDeptId, -1);
-      });
-    },
-    /** ----------------------------------底部按钮公用组件开始------------------------------------- */
-    bottomMenuList() {
-      this.$refs.bottomMenu.selectTaskList(); //获取任务列表
-      this.$refs.bottomMenu.selectMessageList(); //获取消息列表
-      this.$refs.bottomMenu.linBanTreeselect(); //查询林班层级树结构
-      this.$refs.bottomMenu.deptTreeselect(); //查询林场部门树结构
-    },
-    showDialog(click) {
-      if (click == "eventLocation") {
-        this.$refs.eventLocation.showEventLocation();
-        this.$refs.bottomMenu.showMeasure = false;
-        this.$refs.bottomMenu.showChild = false;
-        this.$refs.bottomMenu.showBanChild = false;
-        this.$refs.bottomMenu.showChangChild = false;
-      } else if (click == "editableLayers") {
-        this.$refs.bottomMenu.showChild = false;
-        this.$refs.bottomMenu.showBanChild = false;
-        this.$refs.bottomMenu.showChangChild = false;
-        if (!this.$refs.bottomMenu.showMeasure) {
-          this.$refs.bottomMenu.showMeasure = true;
-        } else {
-          this.$refs.bottomMenu.showMeasure = false;
-        }
-      } else if (click == "layerSwitching") {
-        this.$refs.bottomMenu.showMeasure = false;
-        this.$refs.bottomMenu.showBanChild = false;
-        this.$refs.bottomMenu.showChangChild = false;
-        if (!this.$refs.bottomMenu.showChild) {
-          this.$refs.bottomMenu.showChild = true;
-        } else {
-          this.$refs.bottomMenu.showChild = false;
-        }
-      } else if (click == "TVWall") {
-        this.$refs.TVWall.showTVWall();
-        this.$refs.bottomMenu.showMeasure = false;
-        this.$refs.bottomMenu.showChild = false;
-        this.$refs.bottomMenu.showBanChild = false;
-        this.$refs.bottomMenu.showChangChild = false;
-      } else if (click == "forestban") {
-        this.$refs.bottomMenu.showMeasure = false;
-        this.$refs.bottomMenu.showChild = false;
-        this.$refs.bottomMenu.showChangChild = false;
-        if (!this.$refs.bottomMenu.showBanChild) {
-          this.$refs.bottomMenu.showBanChild = true;
-        } else {
-          this.$refs.bottomMenu.showBanChild = false;
-        }
-      } else if (click == "forestchang") {
-        this.$refs.bottomMenu.showMeasure = false;
-        this.$refs.bottomMenu.showBanChild = false;
-        this.$refs.bottomMenu.showChild = false;
-        if (!this.$refs.bottomMenu.showChangChild) {
-          this.$refs.bottomMenu.showChangChild = true;
-        } else {
-          this.$refs.bottomMenu.showChangChild = false;
-        }
-      }
-    },
-    //选择图层
-    choseLayerSwitching(url, isClear) {
-      this.$refs.supermap.layerSwitching(url, isClear);
-    },
-    //选择图层(传递数组)
-    choseLayerSwitchingList(urlList) {
-      this.$refs.supermap.layerSwitchingList(urlList);
-    },
-    //选择图层(传递数组)  带数据
-    choseLayerSwitchingList_Data(urlList) {
-      this.$refs.supermap.layerSwitchingList_Data(urlList);
-    },
-    /** ----------------------------------底部按钮公用组件结束------------------------------------- */
-
-    //初始化
-    getInit() {
-      let that = this;
-      this.iconCurrentIndex1 = null;
-      this.listCurrentIndex1 = "";
-      this.listCurrentIndex2 = "";
-      //获取左侧菜单列表
-      getRy().then((res) => {
-        that.visuForestCloudRYBO = res.data;
-        // that.zrs = res.data.visuForestCloudRyZxBO.zrs;
-        that.visuForestCloudRYBO.forEach(item=>{
-          that.zrs+=parseInt(item.number)
-        })
-         that.zxrs = 0;
-        //  this.personnelChart();
-      });
-      // 查询林长级别
-    getNumByLevel().then(res => {
-      this.numByLevelOptions = res.data
-    })
-    },
-    //获取左侧人员列表
-    getForestLeader(linJob = null, linType = null,name = null) {
-      if(name != null){
-        let that = this;
-        this.currentName = name
-        that.listCurrentIndex2 = "";
-        that.peopleList = [];
-        that.peopleList2 = [];
-        getForestLeader(that.iconCurrentIndex1 , linType,name,this.currentLevel).then((res) => {
-          that.peopleList = res.data;
-          that.peopleList2 = res.data;
-        });
-        that.connectList = [];
-        this.personId = null;
-        this.xunLinListOne = [];
-        this.patrolTrajectory = null;
-        that.$refs.supermap.clearC();
-        this.$refs.supermap.clearTwoC();
-      } else {
-        let that = this;
-        that.peopleList = [];
-        that.peopleList2 = [];
-        that.listCurrentIndex1 = "";
-        that.listCurrentIndex2 = "";
-        if(that.iconCurrentIndex1 == linJob){
-          that.iconCurrentIndex1 = null
-          getForestLeader(that.iconCurrentIndex1, linType,this.currentName,this.currentLevel).then((res) => {
-            that.peopleList = res.data;
-            that.peopleList2 = res.data;
-          });
-        } else {
-          that.iconCurrentIndex1 = linJob;
-          getForestLeader(that.iconCurrentIndex1, linType,name,this.currentLevel).then((res) => {
-            that.peopleList = res.data;
-            that.peopleList2 = res.data;
-          });
-        }
-        that.connectList = [];
-        this.personId = null;
-        this.xunLinListOne = [];
-        this.patrolTrajectory = null;
-        that.$refs.supermap.clearC();
-        this.$refs.supermap.clearTwoC();
-      }
-
-    },
-    //点击左侧人员列表获取 巡林计划
-    getPlanList(personId) {
-      if (this.personId == personId) {
-        //当前人员已经被点击一次 不再重复加载
-        return;
-      }
-      this.personId = personId;
-      let that = this;
-      that.showNothing = false;
-      that.recordList = [];
-      that.listCurrentIndex1 = personId;
-      getPlanList(personId).then((res) => {
-        console.log("点击左侧人员列表获取 巡林计划=", personId);
-        that.xunLinListOne = res.data;
-      });
-      getlinleaderMap(personId).then((res) => {
-        that.choseLayerSwitching(res.data, true);
-      });
-      this.patrolTrajectory = null;
-      that.$refs.supermap.clearC();
-      this.$refs.supermap.clearTwoC();
-    },
-    //点击右侧巡林计划获取 巡查记录
-    getRecordList(id, patrolTrajectory) {
-      let that = this;
-      that.showNothing = false;
-      that.recordList = [];
-      getRecordList(id, that.personId).then((res) => {
-        that.recordList = res.data;
-      });
-      that.$refs.supermap.clearC();
-      this.$refs.supermap.clearTwoC();
-      this.setTaskPointList(patrolTrajectory);
-    },
-    //点击右侧巡查记录获取 巡查轨迹
-    getPointList(id) {
-      let that = this;
-      getPointList(id).then((res) => {
-        // console.log("落点",res.data);
-        that.setPointList(res);
-      });
-    },
-    //点击巡查人员 巡查任务落点
-    setTaskPointList(patrolTrajectory) {
-      console.log("巡查任务落点", JSON.parse(patrolTrajectory));
-      if (this.patrolTrajectory == patrolTrajectory) {
-        this.patrolTrajectory = null;
-      } else {
-        this.patrolTrajectory = patrolTrajectory;
-        this.drawTaskPoint(this.patrolTrajectory);
-      }
-    },
-    // 巡查任务落点
-    drawTaskPoint(patrolTrajectory) {
-      let list = JSON.parse(patrolTrajectory);
-      let data = [];
-      for (var i = 0; i < list.length; i++) {
-        data.push(list[i].lng);
-        data.push(list[i].lat);
-      }
-      setTimeout(() => {
-        this.$refs.supermap.clearC();
-        this.$refs.supermap.clearTwoC();
-        this.$refs.supermap.setConnectList(data, "#04f", 0.8);
-      }, 1000);
-    },
-    //点击巡查轨迹时段 巡查轨迹落点
-    setPointList(res) {
-      let that = this;
-      that.connectList = [];
-      console.log("落点", res.data);
-      if (res.data != null && res.data.length > 0) {
-        for (let i = 0; i < res.data.length; i++) {
-          that.connectList.push(res.data[i].longitude);
-          that.connectList.push(res.data[i].latitude);
-        }
-        setTimeout(() => {
-          that.$refs.supermap.clearTwoC();
-          that.$refs.supermap.setConnectTwoList(that.connectList, "#f40", 0.8);
-        }, 1000);
-      } else {
-        that.$refs.supermap.clearTwoC();
-      }
-    },
-    setConnectList(points, planName) {
-      this.listCurrentIndex2 = planName;
-      this.connectList = [];
-      if (points != null && points != "") {
-        this.connectList = JSON.parse(points);
-        this.$refs.supermap.setConnectTwoList(this.connectList, "red");
-      }
-    },
-
-    //人员chart
-    personnelChart() {
-      // 基于准备好的dom,初始化echarts实例
-      let myChart = echarts.init(document.getElementById("personnel-chart"));
-      // 绘制图表
-      const handred = this.zrs;
-      let point = this.zxrs;
-      myChart.setOption({
-        title: [
-          {
-            text: "总人数:" + handred + "人",
-            x: "48%",
-            y: "25%",
-            textStyle: {
-              fontWeight: "normal",
-              color: handred == 0 ? '#666' : "#02d6fc",
-              // color: "#02d6fc",
-              fontSize: "14",
-            },
-          },
-        ],
-        series: [
-          {
-            name: "circle",
-            type: "pie",
-            center: ["22%", "50%"],
-            radius: ["60%", "70%"],
-            clockWise: true,
-            label: {
-              normal: {
-                position: "center",
-              },
-            },
-            itemStyle: {
-              normal: {
-                label: {
-                  show: false,
-                },
-                labelLine: {
-                  show: false,
-                },
-              },
-            },
-            data: [
-              {
-                value: handred,
-                name: "当前在线",
-                label: {
-                  show: true, //单独显示该数据项
-                  formatter: "{c}人",
-                  labelLayout: {
-                    top: "50%",
-                  },
-                  textStyle: {
-                    color: handred == 0 ? '#666' : "#02d6fc",
-                    fontSize: 14,
-                  },
-                },
-                itemStyle: {
-                  normal: {
-                    color: handred == 0 ? '#666' :
-                    {
-                      // 完成的圆环的颜色
-                      colorStops: [
-                        {
-                          offset: 0,
-                          color: "#02d6fc", // 0% 处的颜色
-                        },
-                        {
-                          offset: 1,
-                          color: "#367bec", // 100% 处的颜色
-                        },
-                      ],
-                    },
-                    label: {
-                      show: false,
-                    },
-                    labelLine: {
-                      show: false,
-                    },
-                  },
-                },
-              },
-              {
-                value: 0,
-                itemStyle: {
-                  color:'#666'
-                  // color: handred == 0 ? '#666' : "#02d6fc",
-                },
-              },
-            ],
-          },
-        ],
-      });
-    },
-  },
-  //过滤器
-
-  filters: {
-    //标题截取前20
-    ellipsis20(value) {
-      if (!value) return "";
-      if (value.length > 20) {
-        return value.slice(0, 20) + "...";
-      }
-      return value;
-    },
-  },
-};
-</script>
-
-<style rel="stylesheet/scss" lang="scss" scoped>
-@import "@/assets/styles/base.scss";
-
-.h-27 {
-  height: 27rem;
-}
-    .scrollBar{
-      width: 98% !important;
-      height: 31vh !important;
-      overflow-x: hidden !important;
-    }
-    .scrollBar::-webkit-scrollbar {
-      // display: block !important;
-      background-color: #101823;
-      border: 1px solid #fff;
-      width: 7px !important;
-    }
-    .scrollBar::-webkit-scrollbar-button {
-        background-color: #101823;
-    }
-    /* 滚动条上的滚动滑块 */
-    .scrollBar::-webkit-scrollbar-thumb {
-        background-color: #183974;
-    }
-::v-deep .select_level{
-    width: 97%;
-    margin: auto;
-}
-::v-deep .userInformation{
-  .border-box-content{
-    overflow: hidden;
-    height: 102%;
-  }
-}
-.icon-text h5{
-  font-size: .8rem !important;
-  margin-top: 3%;
-}
-</style>

Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 651 - 889
src/views/monitor.vue


+ 0 - 400
src/views/trees.vue

@@ -1,400 +0,0 @@
-<template>
-  <div class="visual-con">
-    <!--头部-->
-    <vheader></vheader>
-    <!--主体-->
-    <div class="visual-body">
-      <!-- 左侧 -->
-      <div class="leftbar w-10" :class="indentleft" ref="left">
-        <div class="forthis">
-          <dv-border-box-13 backgroundColor="rgba(12, 19, 38, .90)" style="padding-bottom: 1rem;">
-            <img src="../assets/images/integrated/light.png" style="width: 100%; margin-top: .4rem;"/>
-            <div class="i-list-con h-78">
-              <div class="d-l-con-icon">
-                <div class="icon-con"
-                     v-for="(item,index) in animalDwfb" @click="getTreesRemoteList(item.treesSpecies)">
-                  <!--<div class="iconfont icon icon-normal icon-animal">-->
-                    <!--<img :src="item.src">-->
-                  <!--</div>-->
-                  <div class="d-l-l-text">
-                    <i class="i-small"></i>
-                    <h4>{{ item.treesSpecies }}:{{item.count}}</h4>
-                  </div>
-                </div>
-              </div>
-            </div>
-          </dv-border-box-13>
-        </div>
-      </div>
-      <!-- 地图 -->
-      <!--<supermap ref="supermap" style="width: 100%;height: 100vh;" :mapDiv="'animalMap'" class="indexSupermapClass"-->
-                <!--:mapSite="{doubleClickZoom:false}" :codes="['9fa5']" :isSideBySide="false" @showTreesDetails="showTreesDetails" ></supermap>-->
-      <supermap ref="supermap" 
-        @showTreesDetails="showTreesDetails" 
-        @fatherMethod="fatherMethod"
-        @showTreesDetailsBefore="showTreesDetailsBefore"
-      ></supermap>
-
-      <vBottomMenu ref="bottomMenu"></vBottomMenu>
-
-    </div>
-    <eventLocation ref="eventLocation"></eventLocation>
-    <TVWall ref="TVWall"></TVWall>
-    <TVWalls ref="TVWalls"></TVWalls>
-    <treesDetails ref="treesDetails"></treesDetails>
-    <DeviceDialog
-      ref="deviceDialog"
-      localMark="tree"
-      @showTreesDetails="showTreesDetails"
-    />
-  </div>
-</template>
-
-<script>
-import {
-  selectCenterdataTForestTreesGroupByType,
-  getTreesRemoteList,
-  getTreesDetail
-} from '@/api/trees'
-
-import supermap from '@/components/supermap-2.5d' //超图
-import vheader from '@/components/v-header.vue' //一体化共用头部
-import vBottomMenu from '@/components/vBottomMenu.vue' //一体化公共底部菜单
-import eventLocation from '@/components/eventLocation.vue' //事件定位弹窗
-import TVWall from '@/components/TVWall.vue' //电视墙弹窗
-import TVWalls from '@/components/TVWalls.vue' //电视墙弹窗
-import treesDetails from '@/views/treesDetails.vue'
-import DeviceDialog from '@/components/DeviceDialog';
-import {getUserProfile} from "@/api/system/user";
-import Cookies from "js-cookie"; //古树详情页面
-
-let echarts = require('echarts')
-export default {
-  components: {
-    supermap,
-    vheader,
-    vBottomMenu,
-    eventLocation,
-    TVWall,
-    TVWalls,
-    treesDetails,
-    DeviceDialog
-  },
-  data() {
-    return {
-      animalcount: '',
-      iconCurrentIndex1: '',
-      listCurrentIndex1: '',
-      //左右缩进
-      indentStyle: '',
-      indentleft: '',
-      indentright: '',
-      indentText: '收起左右栏',
-      indentdisabled: false,
-
-      animalDwfb:[],
-      animalSjfb: [],
-      animalSjlb: [],
-      markersList: [] //点位列表
-    }
-  },
-  created() {
-    /** ----------------------------------底部按钮公用组件开始------------------------------------- */
-    window.showDialog = this.showDialog
-    window.choseLayerSwitching = this.choseLayerSwitching
-    window.choseLayerSwitchingList = this.choseLayerSwitchingList
-    window.choseLayerSwitchingList_Data = this.choseLayerSwitchingList_Data
-    /** ----------------------------------底部按钮公用组件结束------------------------------------- */
-  },
-  mounted() {
-    // 初始化地图数据
-    this.getSuperMapUrl();
-    setTimeout(() => {
-      this.selectCenterdataTForestTreesGroupByType();
-      this.getTreesRemoteList();
-      this.bottomMenuList() //获取底部公共组件消息和任务
-    }, 2000)
-
-  },
-  methods: {
-    fatherMethod(dianshiqiang, longitude, latitude, item) {
-        this.$refs.TVWalls.showTVWall(
-          dianshiqiang, {
-            longitude: longitude,
-            latitude: latitude,
-          },
-          item
-        );
-      },
-    //初始化地图数据
-    getSuperMapUrl(){
-      getUserProfile().then(response => {
-        let mapDeptId=response.mapDeptId
-        let num = 0;
-        if (mapDeptId == "365") {
-          num = 0;
-        } else if (mapDeptId == "369") {
-          num = 1;
-        } else if (mapDeptId == "371") {
-          num = 2;
-        } else if (mapDeptId == "373") {
-          num = 3;
-        } else if (mapDeptId == "372") {
-          num = 4;
-        } else if (mapDeptId == "370") {
-          num = 5;
-        }
-        this.$refs.supermap.removeAllviewer(mapDeptId, -1);
-      });
-    },
-    /** ----------------------------------底部按钮公用组件开始------------------------------------- */
-    bottomMenuList() {
-      this.$refs.bottomMenu.selectTaskList()//获取任务列表
-      this.$refs.bottomMenu.selectMessageList()//获取消息列表
-      this.$refs.bottomMenu.linBanTreeselect()//查询林班层级树结构
-      this.$refs.bottomMenu.deptTreeselect()//查询林场部门树结构
-    },
-    showDialog(click) {
-      if (click == 'eventLocation') {
-        this.$refs.eventLocation.showEventLocation()
-        this.$refs.bottomMenu.showMeasure = false
-        this.$refs.bottomMenu.showChild = false
-        this.$refs.bottomMenu.showBanChild = false
-        this.$refs.bottomMenu.showChangChild = false
-      } else if (click == 'editableLayers') {
-        this.$refs.bottomMenu.showChild = false
-        this.$refs.bottomMenu.showBanChild = false
-        this.$refs.bottomMenu.showChangChild = false
-        if (!this.$refs.bottomMenu.showMeasure) {
-          this.$refs.bottomMenu.showMeasure = true
-        } else {
-          this.$refs.bottomMenu.showMeasure = false
-        }
-      } else if (click == 'layerSwitching') {
-        this.$refs.bottomMenu.showMeasure = false
-        this.$refs.bottomMenu.showBanChild = false
-        this.$refs.bottomMenu.showChangChild = false
-        if (!this.$refs.bottomMenu.showChild) {
-          this.$refs.bottomMenu.showChild = true
-        } else {
-          this.$refs.bottomMenu.showChild = false
-        }
-      } else if (click == 'TVWall') {
-        this.$refs.TVWall.showTVWall()
-        this.$refs.bottomMenu.showMeasure = false
-        this.$refs.bottomMenu.showChild = false
-        this.$refs.bottomMenu.showBanChild = false
-        this.$refs.bottomMenu.showChangChild = false
-      } else if (click == 'forestban') {
-        this.$refs.bottomMenu.showMeasure = false
-        this.$refs.bottomMenu.showChild = false
-        this.$refs.bottomMenu.showChangChild = false
-        if (!this.$refs.bottomMenu.showBanChild) {
-          this.$refs.bottomMenu.showBanChild = true
-        } else {
-          this.$refs.bottomMenu.showBanChild = false
-        }
-      } else if (click == 'forestchang') {
-        this.$refs.bottomMenu.showMeasure = false
-        this.$refs.bottomMenu.showBanChild = false
-        this.$refs.bottomMenu.showChild = false
-        if (!this.$refs.bottomMenu.showChangChild) {
-          this.$refs.bottomMenu.showChangChild = true
-        } else {
-          this.$refs.bottomMenu.showChangChild = false
-        }
-      }
-
-    },
-    //选择图层
-    choseLayerSwitching(url, isClear) {
-      this.$refs.supermap.layerSwitching(url, isClear)
-    },
-    //选择图层(传递数组)
-    choseLayerSwitchingList(urlList) {
-      this.$refs.supermap.layerSwitchingList(urlList)
-    },
-    //选择图层(传递数组)  带数据
-    choseLayerSwitchingList_Data(urlList) {
-      this.$refs.supermap.layerSwitchingList_Data(urlList)
-    },
-    /** ----------------------------------底部按钮公用组件结束------------------------------------- */
-    selectCenterdataTForestTreesGroupByType(){
-      selectCenterdataTForestTreesGroupByType().then(res => {
-        this.animalDwfb = res.data;
-      })
-    },
-    getTreesRemoteList(treesSpecies){
-      let that = this;
-      getTreesRemoteList(treesSpecies).then(res => {
-        that.markersList = []
-        if (res.data != null && res.data.length > 0) {
-          for (let i = 0; i < res.data.length; i++) {
-            let markersMap = {
-              lng: 124.59,
-              lat: 43.02,
-              icon: 'sj-icon-map-trees',
-              bindPopupHtml: '',
-              click: 'showTreesDetailsBefore',
-              parameter:res.data[i],
-              keepBindPopup: false,
-              isAggregation: false
-            }
-            markersMap.lng = res.data[i].longitude
-            markersMap.lat = res.data[i].latitude
-            markersMap.bindPopupHtml = '<div class="map-tip">' +
-              '<span>' +
-              '                  <div class="d-l-con">' +
-              '                  <div class="d-l-l-text">' +
-              '                  <h4>植物名称:' + res.data[i].treesName +
-              '</h4>' +
-              '                </div>' +
-              '                </div>' +
-              '                </span>' +
-              '<span>' +
-              '                  <div class="d-l-con">' +
-              '                  <div class="d-l-l-text">' +
-              '                  <h4>树种:' + res.data[i].treesSpecies +
-              '</h4>' +
-              '                </div>' +
-              '                </div>' +
-              '                </span>' +
-              '<span>' +
-              '                  <div class="d-l-con">' +
-              '                  <div class="d-l-l-text">' +
-              '                  <h4>事件时间:' + res.data[i].createTime +
-              '</h4>' +
-              '                </div>' +
-              '                </div>' +
-              '                </span>' +
-              '<span>' +
-              '                  <div class="d-l-con">' +
-              '                  <div class="d-l-l-text">' +
-              '<img src="' + res.data[i].attachId + '" style="width: 150px;height: 100px"/>' +
-              '                </div>' +
-              '                </div>' +
-              '                </span>'
-              '</div>'
-            that.markersList.push(markersMap)
-          }
-          setTimeout(() => {
-            that.$refs.supermap.clearM()
-            that.$refs.supermap.setMarkers(that.markersList)
-          }, 3000)
-        } else {
-          setTimeout(() => {
-            that.$refs.supermap.clearM()
-          }, 3000)
-        }
-      })
-    },
-    showTreesDetailsBefore(cameraParam){
-      this.$refs.deviceDialog.update(cameraParam,'tree')
-      this.$refs.deviceDialog.open(cameraParam)
-    },
-    showTreesDetails(pointParam){
-      //事件信息弹出
-      this.$refs.treesDetails.showTreesDetails(pointParam);
-    },
-
-    dropLocation(lat, lng, index) {
-      this.listCurrentIndex1 = index
-      this.$refs.supermap.dropLocation(lat, lng)
-    },
-
-    //事件chart
-    eventChart() {
-      // 基于准备好的dom,初始化echarts实例
-      let myChart = echarts.init(document.getElementById('animal-chart'))
-      myChart.setOption({
-        color: ['#2EACFF', '#FFA61C', '#2EC054', '#8C64D7'],
-        tooltip: {
-          trigger: 'item',
-          formatter: '{a} <br/>{b} : {c} ({d}%)'
-        },
-        toolbox: {
-          show: true
-        },
-        series: [{
-          name: '事件分类',
-          type: 'pie',
-          roseType: true,
-          radius: [30, 70],
-          label: {
-            show: true,
-            formatter: '{b}\n{c} '
-          },
-          data: this.eventChartData
-        }]
-      })
-
-    },
-    //吉祥物收起左右框
-    indent() {
-      let list = document.getElementsByClassName('el-tooltip__popper')
-      list[list.length - 1].style.display = 'none'
-      if (this.indentStyle == '') {
-        this.indentStyle = 'indent-style'
-        this.indentleft = 'indent-left'
-        this.indentright = 'indent-right'
-        this.indentText = '展开左右栏'
-      } else if (this.indentText == '展开左右栏') {
-        this.indentStyle = ''
-        this.indentleft = ''
-        this.indentright = ''
-        this.indentText = '收起左右栏'
-      }
-    }
-  }
-
-}
-</script>
-
-<style rel="stylesheet/scss" lang="scss" scoped>
-@import '@/assets/styles/base.scss';
-
-//动物保护
-.icon-animal-con {
-  width: 100%;
-  display: block !important;
-}
-
-.icon-animal {
-  display: block;
-  margin: 2px auto;
-  background: none !important;
-}
-
-.icon-animal-text {
-  display: block !important;
-  text-align: center !important;
-  padding: 0.5rem 0.5rem 0rem 0.5rem;
-}
-
-.animal-text {
-  background: #f5ad1b;
-  border: 0.2px solid rgba(19, 64, 64, 0.7);
-  height: 3.2rem;
-  width: 4rem;
-  text-align: center;
-  margin: 0px auto;
-  border-radius: 0.5rem;
-  color: #fff !important;
-}
-
-.animal-text h6 {
-  color: #fff !important;
-}
-
-.w100 {
-  width: 100% !important;
-}
-
-.animal-img {
-  height: 3rem !important;
-}
-
-.w-6 {
-  width: 6rem !important;
-}
-</style>

+ 0 - 61
src/views/treesDetails.vue

@@ -1,61 +0,0 @@
-<template>
-  <div class="visual-con">
-    <el-dialog title="古树详情" :visible.sync="pointDetailsVisible" width="35rem" v-if="pointDetailsVisible">
-      <div class="text-con">
-        <div><i class="ismall"></i><span>名称:{{retMap.treesName}}</span></div>
-        <!-- <div><i class="ismall"></i><span>经度:{{retMap.longitude}}</span></div>
-        <div><i class="ismall"></i><span>纬度:{{retMap.latitude}}</span></div> -->
-        <div><i class="ismall"></i><span>编号:{{retMap.treesNumber}}</span></div>
-        <div><i class="ismall"></i><span>树龄:{{retMap.treesAge}}</span></div>
-        <div><i class="ismall"></i><span>树种:{{retMap.treesSpecies}}</span></div>
-<!--        <div><i class="ismall"></i><span>类型:{{retMap.treesType}}</span></div>-->
-        <div><i class="ismall"></i><span>备注:{{retMap.treesRemarks}}</span></div>
-        <div><i class="ismall"></i><span>部门名称:{{retMap.deptName}}</span></div>
-        <div><i class="ismall"></i><span>图片</span><img style="width: 400px; height: 400px;" :src="retMap.attachId"></div>
-      </div>
-    </el-dialog>
-  </div>
-
-</template>
-
-<script>
-import {getTreesDetail} from '@/api/trees'
-export default {
-    // dicts: ['farm_hzs_type','farm_farmer_type','farm_breed_type'],
-    name: "treesDetails",
-    data() {
-      return {
-        pointDetailsVisible:false,
-        retMap:{},
-        type:'',
-      }
-    },
-    created(){
-    },
-    methods: {
-      showTreesDetails(pointParam) {
-        this.pointDetailsVisible=true;
-        getTreesDetail(pointParam.id).then(res => {
-          this.retMap = res.data;
-        })
-      },
-    },
-}
-
-</script>
-<style rel="stylesheet/scss" lang="scss" scoped>
-@import '@/assets/styles/base.scss';
-
-.text-con{
-	color: #ba8a2a;
-	line-height: 40px;
-	padding:0 .5rem;
-}
-.ismall{
-	    width: 0.5rem;
-	    height: 0.5rem;
-	    display: inline-block;
-	    background: #eb9e23;
-		margin-right: .3rem;
-}
-</style>