Pārlūkot izejas kodu

Merge remote-tracking branch 'origin/visu_resources' into visu_resources

# Conflicts:
#	src/components/eventLocation.vue
#	src/views/forest.vue
wang_xy 2 gadi atpakaļ
vecāks
revīzija
7ab3f04f50

+ 2 - 2
.env.development

@@ -1,10 +1,10 @@
 # 页面标题
 # 页面标题
-VUE_APP_TITLE = 通榆县乡村振兴监管平台
+VUE_APP_TITLE = 四平市态势感知平台
 
 
 # 开发环境配置
 # 开发环境配置
 ENV = 'development'
 ENV = 'development'
 
 
-# 通榆县乡村振兴监管平台/开发环境
+# 四平市态势感知平台/开发环境
 VUE_APP_BASE_API = '/dev-api'
 VUE_APP_BASE_API = '/dev-api'
 
 
 # 路由懒加载
 # 路由懒加载

+ 1 - 1
.env.production

@@ -1,5 +1,5 @@
 # 页面标题
 # 页面标题
-VUE_APP_TITLE = 通榆县乡村振兴监管平台
+VUE_APP_TITLE = 四平市态势感知平台
 
 
 # 生产环境配置
 # 生产环境配置
 ENV = 'production'
 ENV = 'production'

+ 1 - 1
.env.staging

@@ -1,5 +1,5 @@
 # 页面标题
 # 页面标题
-VUE_APP_TITLE = 通榆县乡村振兴监管平台
+VUE_APP_TITLE = 四平市态势感知平台
 
 
 NODE_ENV = production
 NODE_ENV = production
 
 

+ 1 - 1
package.json

@@ -1,7 +1,7 @@
 {
 {
   "name": "ruoyi",
   "name": "ruoyi",
   "version": "3.4.0",
   "version": "3.4.0",
-  "description": "通榆县乡村振兴监管平台",
+  "description": "四平市态势感知平台",
   "author": "若依",
   "author": "若依",
   "license": "MIT",
   "license": "MIT",
   "scripts": {
   "scripts": {

+ 1 - 1
src/api/login.js

@@ -73,7 +73,7 @@ export function getCodeImg() {
 //获取登录页基本信息
 //获取登录页基本信息
 export function fontConfig() {
 export function fontConfig() {
   return request({
   return request({
-    url: '/system/fontConfig/getSysFontConfig/Forest',
+    url: '/system/fontConfig/getSysFontConfig/Resources',
     method: 'get',
     method: 'get',
   })
   })
 }
 }

+ 8 - 0
src/api/system/config.js

@@ -58,3 +58,11 @@ export function refreshCache() {
     method: 'delete'
     method: 'delete'
   })
   })
 }
 }
+
+//获取配置信息
+export function selectConfigKey(configKey) {
+  return request({
+    url: '/system/config/selectConfigKey/' + configKey,
+    method: 'get'
+  })
+}

+ 9 - 0
src/api/tianzhangzhi.js

@@ -0,0 +1,9 @@
+import request from '@/utils/request'
+
+// 获取左侧田长列表
+export function getTianzhangList() {
+  return request({
+    url: '/center-resources/VisuForestTianzhangzhiController/selectTianzhangList',
+    method: 'post',
+  })
+}

+ 4 - 8
src/components/v-fastmenu.vue

@@ -39,6 +39,7 @@
 <script>
 <script>
 import resetPwd from "../views/system/user/profile/resetPwd";
 import resetPwd from "../views/system/user/profile/resetPwd";
 import { getUserProfile } from "@/api/system/user";
 import { getUserProfile } from "@/api/system/user";
+import { selectConfigKey } from "@/api/system/config";
 	export default {
 	export default {
     components: {resetPwd },
     components: {resetPwd },
 		data() {
 		data() {
@@ -70,14 +71,9 @@ import { getUserProfile } from "@/api/system/user";
     },
     },
 		methods: {
 		methods: {
       backToMainPage(){
       backToMainPage(){
-        let href = window.location.href
-        let protacal = href.substr(0,href.indexOf("://")+3)
-        let mo = href.lastIndexOf(":") > 6  ? href.lastIndexOf(":") : href.lastIndexOf("/")
-        let ip = href.substr(href.indexOf("://")+3,mo);
-        let url =href.substr(0,mo)
-        // let toUrl = url +":15001/newpage"
-        let toUrl = "http://10.6.52.1:15001/newpage"
-        window.location.href = toUrl
+        selectConfigKey('backToMainPage').then(res => {
+          window.location.href = res.data;
+        })
       },
       },
       getUser(){
       getUser(){
         getUserProfile().then(response => {
         getUserProfile().then(response => {

+ 11 - 2
src/components/v-header.vue

@@ -5,7 +5,7 @@
 		<!--中间LOGO -->
 		<!--中间LOGO -->
 		<div class="title">
 		<div class="title">
 			<!-- <img src="@/assets/images/integrated/bigdata-header-nav-left2.png" /> -->
 			<!-- <img src="@/assets/images/integrated/bigdata-header-nav-left2.png" /> -->
-			<h3><img class="logo" src="@/assets/images/integrated/logo-small.png" />通榆县乡村振兴监管平台 {{titlename}}
+			<h3><img class="logo" src="@/assets/images/integrated/logo-small.png" />{{systemTitle.title}} {{titlename}}
 			</h3>
 			</h3>
 			<!-- <img src="@/assets/images/integrated/bigdata-header-nav-right2.png" /> -->
 			<!-- <img src="@/assets/images/integrated/bigdata-header-nav-right2.png" /> -->
 		</div>
 		</div>
@@ -28,6 +28,7 @@
 	import {constantRoutes} from '@/router/index'//navbar导航引用了router路由的数组
 	import {constantRoutes} from '@/router/index'//navbar导航引用了router路由的数组
 	import Clock from '@/components/clock.vue' // 时钟+天气
 	import Clock from '@/components/clock.vue' // 时钟+天气
 	import VfastMenu from '@/components/v-fastmenu.vue' // 头部右侧菜单
 	import VfastMenu from '@/components/v-fastmenu.vue' // 头部右侧菜单
+  import {fontConfig } from "@/api/login";
 	export default{
 	export default{
 		components:{
 		components:{
 			VfastMenu,
 			VfastMenu,
@@ -36,15 +37,23 @@
 		},
 		},
 		created(){
 		created(){
 			this.navbar
 			this.navbar
+      this.fontConfig();
 		},
 		},
 		data(){
 		data(){
 			return{
 			return{
-
+        systemTitle:{
+          title:'',  //标题
+        },
 			}
 			}
 		},
 		},
 		methods:{
 		methods:{
 		},
 		},
 		computed:{
 		computed:{
+      fontConfig(){
+        fontConfig().then(res => {
+          this.systemTitle.title = res.data.fontTitle;
+        })
+      },
 			titlename(){
 			titlename(){
 				return this.$route.meta.title
 				return this.$route.meta.title
 			},
 			},

+ 1 - 1
src/layout/components/Sidebar/Logo.vue

@@ -35,7 +35,7 @@ export default {
   },
   },
   data() {
   data() {
     return {
     return {
-      title: '通榆县乡村振兴监管平台',
+      title: '四平市态势感知平台',
       logo: logoImg
       logo: logoImg
     }
     }
   }
   }

+ 16 - 64
src/router/index.js

@@ -60,14 +60,6 @@ export const constantRoutes = [{
 			title: '监控中心'
 			title: '监控中心'
 		}
 		}
 	},
 	},
-  // {
-	// 	path: '/disaster',
-	// 	name: 'disaster',
-	// 	component: () => import('@/views/disaster'),
-	// 	meta: {
-	// 		title: '灾后评估'
-	// 	}
-	// },
   {
   {
 		path: '/leader',
 		path: '/leader',
 		name: 'leader',
 		name: 'leader',
@@ -76,30 +68,14 @@ export const constantRoutes = [{
 			title: '网格化'
 			title: '网格化'
 		}
 		}
 	},
 	},
-  // {
-	// 	path: '/afforestation',
-	// 	name: 'afforestation',
-	// 	component: () => import('@/views/afforestation'),
-	// 	meta: {
-	// 		title: '植树造林'
-	// 	}
-	// },
-  // {
-  //   path: '/',
-  //   name: '',
-  //   component: () => import('@/views/animal'),
-  //   meta: {
-  //     title: '动物保护'
-  //   }
-  // },
-  // {
-  //   path: '/',
-  //   name: '',
-  //   component: () => import('@/views/animal'),
-  //   meta: {
-  //     title: '珍惜古树'
-  //   }
-  // },
+  {
+		path: '/tianzhangzhi',
+		name: 'tianzhangzhi',
+		component: () => import('@/views/tianzhangzhi'),
+		meta: {
+			title: '田长制'
+		}
+	},
   {
   {
     path: '/bigdata',
     path: '/bigdata',
     name: 'bigdata',
     name: 'bigdata',
@@ -144,14 +120,6 @@ export const constantRoutesNew = [{
 			title: '监控中心'
 			title: '监控中心'
 		}
 		}
 	},
 	},
-	// {
-	// 	path: '/disaster',
-	// 	name: 'disaster',
-	// 	component: () => import('@/views/disaster'),
-	// 	meta: {
-	// 		title: '灾后评估'
-	// 	}
-	// },
 	{
 	{
 		path: '/leader',
 		path: '/leader',
 		name: 'leader',
 		name: 'leader',
@@ -160,30 +128,14 @@ export const constantRoutesNew = [{
 			title: '网格化'
 			title: '网格化'
 		}
 		}
 	},
 	},
-	// {
-	// 	path: '/afforestation',
-	// 	name: 'afforestation',
-	// 	component: () => import('@/views/afforestation'),
-	// 	meta: {
-	// 		title: '植树造林'
-	// 	}
-	// },
-  // {
-  //   path: '/',
-  //   name: '',
-  //   component: () => import('@/views/animal'),
-  //   meta: {
-  //     title: '动物保护'
-  //   }
-  // },
-  // {
-  //   path: '/',
-  //   name: '',
-  //   component: () => import('@/views/animal'),
-  //   meta: {
-  //     title: '珍惜古树'
-  //   }
-  // },
+  {
+    path: '/tianzhangzhi',
+    name: 'tianzhangzhi',
+    component: () => import('@/views/tianzhangzhi'),
+    meta: {
+      title: '田长制'
+    }
+  },
   {
   {
     path: '/bigdata',
     path: '/bigdata',
     name: 'bigdata',
     name: 'bigdata',

+ 40 - 31
src/views/bigdata/bigdata.vue

@@ -5,7 +5,7 @@
     <div class="header">
     <div class="header">
       <!-- title -->
       <!-- title -->
       <div class="header-left"><img class="logo" src="@/assets/images/integrated/logo-small.png"/>
       <div class="header-left"><img class="logo" src="@/assets/images/integrated/logo-small.png"/>
-        <h3 class="title">通榆县乡村振兴监管平台-数字林业-统计分析</h3>
+        <h3 class="title">{{systemTitle.title}}-{{systemTitle.subTitle}}-统计分析</h3>
       </div>
       </div>
       <div class="bignav">
       <div class="bignav">
         <img src="@/assets/images/integrated/bigdata-header-nav-left.png"/>
         <img src="@/assets/images/integrated/bigdata-header-nav-left.png"/>
@@ -29,9 +29,11 @@
         </div>
         </div>
         <div class="b-con mg-b-20">
         <div class="b-con mg-b-20">
           <div class="b-tit"><img src="@/assets/images/integrated/bigdata-tit-icon.png">
           <div class="b-tit"><img src="@/assets/images/integrated/bigdata-tit-icon.png">
-            <span>林场分布统计</span>
+            <!--<span>林场分布统计</span>-->
+            <span>矿臧资源</span>
           </div>
           </div>
-          <chartForestFarm></chartForestFarm>
+          <!--<chartForestFarm></chartForestFarm>-->
+          <chartAncientTree></chartAncientTree>
         </div>
         </div>
         <div class="b-con">
         <div class="b-con">
           <div class="b-tit"><img src="@/assets/images/integrated/bigdata-tit-icon.png">
           <div class="b-tit"><img src="@/assets/images/integrated/bigdata-tit-icon.png">
@@ -64,17 +66,19 @@
           </div>
           </div>
           <chartDeviceReportingEvents></chartDeviceReportingEvents>
           <chartDeviceReportingEvents></chartDeviceReportingEvents>
         </div>
         </div>
-        <div class="b-con mg-b-20 b-49">
-          <div class="b-tit"><img src="@/assets/images/integrated/bigdata-tit-icon.png">
-            <span>违建信息</span>
-          </div>
-          <chartKeyArea></chartKeyArea>
-        </div>
-        <div class="b-con mg-b-20 b-49">
+        <!--<div class="b-con mg-b-20 b-49">-->
+          <!--<div class="b-tit"><img src="@/assets/images/integrated/bigdata-tit-icon.png">-->
+            <!--&lt;!&ndash;<span>违建信息</span>&ndash;&gt;-->
+          <!--</div>-->
+          <!--&lt;!&ndash;<chartKeyArea></chartKeyArea>&ndash;&gt;-->
+        <!--</div>-->
+        <div class="b-con mg-b-20">
           <div class="b-tit"><img src="@/assets/images/integrated/bigdata-tit-icon.png">
           <div class="b-tit"><img src="@/assets/images/integrated/bigdata-tit-icon.png">
-            <span>矿臧资源</span>
+            <span>森林资源年统计</span>
+            <!--<span>矿臧资源</span>-->
           </div>
           </div>
-          <chartAncientTree></chartAncientTree>
+          <chartPitG2></chartPitG2>
+          <!--<chartAncientTree></chartAncientTree>-->
         </div>
         </div>
         <div class="b-con">
         <div class="b-con">
           <div class="b-tit"><img src="@/assets/images/integrated/bigdata-tit-icon.png">
           <div class="b-tit"><img src="@/assets/images/integrated/bigdata-tit-icon.png">
@@ -106,9 +110,11 @@
         </div>
         </div>
         <div class="b-con mg-b-20 b-49">
         <div class="b-con mg-b-20 b-49">
           <div class="b-tit"><img src="@/assets/images/integrated/bigdata-tit-icon.png">
           <div class="b-tit"><img src="@/assets/images/integrated/bigdata-tit-icon.png">
-            <span>森林资源年统计</span>
+            <!--<span>森林资源年统计</span>-->
+            <span>违建信息</span>
           </div>
           </div>
-          <chartPitG2></chartPitG2>
+          <chartKeyArea></chartKeyArea>
+          <!--<chartPitG2></chartPitG2>-->
         </div>
         </div>
       </div>
       </div>
       <!-- 第五纵向-->
       <!-- 第五纵向-->
@@ -170,6 +176,9 @@ import chartPitG5 from './chart-farmtype' //21 偷钓偷捕事件分析、、
 import chartPitG6 from './chart-waterTotal' //22 分析、、
 import chartPitG6 from './chart-waterTotal' //22 分析、、
 
 
 import {getRlt} from '@/api/bigdata'
 import {getRlt} from '@/api/bigdata'
+import {
+  fontConfig
+} from '@/api/login'
 
 
 export default {
 export default {
   components: {
   components: {
@@ -196,6 +205,10 @@ export default {
   data() {
   data() {
 
 
     return {
     return {
+      systemTitle:{
+        title:'',  //标题
+        subTitle:''  ,//副标题 数字资源
+      },
       visited: '',
       visited: '',
       navbar: [
       navbar: [
         {
         {
@@ -213,26 +226,14 @@ export default {
           path: '/monitor',
           path: '/monitor',
           name: '监控中心'
           name: '监控中心'
         },
         },
-        // {
-        //   path: '/disaster',
-        //   name: '灾后评估'
-        // },
         {
         {
           path: '/leader',
           path: '/leader',
           name: '网格化'
           name: '网格化'
         },
         },
-        // {
-        //   path: '/afforestation',
-        //   name: '植树造林'
-        // },
-        // {
-        //   path: '/',
-        //   name: '动物保护'
-        // },
-        // {
-        //   path: '/',
-        //   name: '珍惜古树'
-        // },
+        {
+          path: '/tianzhangzhi',
+          name: '田长制'
+        },
         {
         {
           path: '/bigdata',
           path: '/bigdata',
           name: '统计分析'
           name: '统计分析'
@@ -244,8 +245,16 @@ export default {
 
 
     }
     }
   },
   },
-
+  created(){
+    this.fontConfig();
+  },
   methods:{
   methods:{
+    fontConfig(){
+      fontConfig().then(res => {
+        this.systemTitle.title = res.data.fontTitle;
+        this.systemTitle.subTitle = res.data.subTitle;
+      })
+    },
     rlt() {
     rlt() {
       let that = this
       let that = this
       getRlt().then(resp => {
       getRlt().then(resp => {

+ 1 - 1
src/views/leader.vue

@@ -73,7 +73,7 @@
             </div>
             </div>
             <div class="i-list-con h-73">
             <div class="i-list-con h-73">
 
 
-              <div class="h-19 overflow-y">
+              <div class="h-73 overflow-y">
                 <div class="d-l-con" :class="{on:listCurrentIndex2==item.planName}"
                 <div class="d-l-con" :class="{on:listCurrentIndex2==item.planName}"
                      v-for="(item,index) in xunLinListOne"
                      v-for="(item,index) in xunLinListOne"
                      @click="getPointList(item.id)">
                      @click="getPointList(item.id)">

+ 12 - 2
src/views/system/login-sp.vue

@@ -1,7 +1,7 @@
 <template>
 <template>
   <div class="login">
   <div class="login">
     <el-form ref="loginForm" :model="loginForm" :rules="loginRules" class="login-form">
     <el-form ref="loginForm" :model="loginForm" :rules="loginRules" class="login-form">
-      <h3 class="title">通榆县乡村振兴监管平台</h3>
+      <h3 class="title">{{systemTitle.title}}</h3>
       <div class="login-container">
       <div class="login-container">
         <h4>请登录</h4>
         <h4>请登录</h4>
         <el-form-item prop="username">
         <el-form-item prop="username">
@@ -42,7 +42,7 @@
 
 
 <script>
 <script>
   import {
   import {
-    getCodeImg
+    getCodeImg,fontConfig
   } from '@/api/login'
   } from '@/api/login'
   import Cookies from 'js-cookie'
   import Cookies from 'js-cookie'
   import {
   import {
@@ -54,6 +54,10 @@
     name: 'Login',
     name: 'Login',
     data() {
     data() {
       return {
       return {
+        systemTitle:{
+          title:'',  //标题
+          subTitle:''  ,//副标题 数字资源
+        },
         codeUrl: '',
         codeUrl: '',
         loginForm: {
         loginForm: {
           username: 'admin',
           username: 'admin',
@@ -98,8 +102,14 @@
     created() {
     created() {
       this.getCode()
       this.getCode()
       this.getCookie()
       this.getCookie()
+      this.fontConfig();
     },
     },
     methods: {
     methods: {
+      fontConfig(){
+        fontConfig().then(res => {
+          this.systemTitle.title = res.data.fontTitle;
+        })
+      },
       getCode() {
       getCode() {
         getCodeImg().then(res => {
         getCodeImg().then(res => {
           this.captchaOnOff = res.captchaOnOff === undefined ? true : res.captchaOnOff
           this.captchaOnOff = res.captchaOnOff === undefined ? true : res.captchaOnOff

+ 2 - 2
src/views/system/login.vue

@@ -70,8 +70,8 @@
 			return {
 			return {
         backgroudImg:'', //背景图片
         backgroudImg:'', //背景图片
         systemTitle:{
         systemTitle:{
-          title:'通榆县乡村振兴综合监管平台',  //标题
-          subTitle:'数字资源'  ,//副标题
+          title:'',  //标题
+          subTitle:''  ,//副标题 数字资源
         },
         },
 				codeUrl: '',
 				codeUrl: '',
 				loginForm: {
 				loginForm: {

+ 12 - 2
src/views/system/register.vue

@@ -1,7 +1,7 @@
 <template>
 <template>
   <div class="register">
   <div class="register">
     <el-form ref="registerForm" :model="registerForm" :rules="registerRules" class="register-form">
     <el-form ref="registerForm" :model="registerForm" :rules="registerRules" class="register-form">
-      <h3 class="title">通榆县乡村振兴监管平台</h3>
+      <h3 class="title">{{systemTitle.title}}</h3>
       <el-form-item prop="username">
       <el-form-item prop="username">
         <el-input v-model="registerForm.username" type="text" auto-complete="off" placeholder="账号">
         <el-input v-model="registerForm.username" type="text" auto-complete="off" placeholder="账号">
           <svg-icon slot="prefix" icon-class="user" class="el-input__icon input-icon" />
           <svg-icon slot="prefix" icon-class="user" class="el-input__icon input-icon" />
@@ -67,7 +67,7 @@
 </template>
 </template>
 
 
 <script>
 <script>
-import { getCodeImg, register } from "@/api/login";
+import { getCodeImg, register,fontConfig } from "@/api/login";
 
 
 export default {
 export default {
   name: "Register",
   name: "Register",
@@ -80,6 +80,10 @@ export default {
       }
       }
     };
     };
     return {
     return {
+      systemTitle:{
+        title:'',  //标题
+        subTitle:''  ,//副标题 数字资源
+      },
       codeUrl: "",
       codeUrl: "",
       registerForm: {
       registerForm: {
         username: "",
         username: "",
@@ -109,8 +113,14 @@ export default {
   },
   },
   created() {
   created() {
     this.getCode();
     this.getCode();
+    this.fontConfig();
   },
   },
   methods: {
   methods: {
+    fontConfig(){
+      fontConfig().then(res => {
+        this.systemTitle.title = res.data.fontTitle;
+      })
+    },
     getCode() {
     getCode() {
       getCodeImg().then(res => {
       getCodeImg().then(res => {
         this.captchaOnOff = res.captchaOnOff === undefined ? true : res.captchaOnOff;
         this.captchaOnOff = res.captchaOnOff === undefined ? true : res.captchaOnOff;

+ 258 - 0
src/views/tianzhangzhi.vue

@@ -0,0 +1,258 @@
+<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">
+              <span>田长列表</span>
+              <dv-decoration-3 style="width:150px;height:15px;margin-right: 1rem;"/>
+            </div>
+            <div class="i-list-con h-27">
+              <div class="d-l-con-icon">
+                <div class="icon-con" :class="{on:listCurrentIndex1==item.userId}"
+                     v-for="(item,index) in visuTianzhangList" @click="getLeaderTrack(item.id)">
+                  <div class="icon icon-mid el-icon-user"></div>
+                  <div class="icon-text personnel-name">
+                    <h6>姓名:{{ item.tianName }}</h6>
+                    <h6>电话:{{ item.tianPhone }}</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;">
+            <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-27">
+              <div class="d-l-con-icon">
+                <div class="icon-con" :class="{on:listCurrentIndex1==item.userId}"
+                     v-for="(item,index) in visuTianzhangList" @click="getLeaderTrack(item.userId)">
+                  <div class="icon icon-mid el-icon-user"></div>
+                  <div class="icon-text personnel-name">
+                    <h6>{{ item.nickName }}</h6>
+                    <h5>{{ item.deptName }}</h5>
+                  </div>
+                </div>
+              </div>
+            </div>
+          </dv-border-box-13>
+        </div>
+      </div>
+      <!-- 地图 -->
+      <supermap ref="supermap" style="width: 100%;height: 100vh;" :mapDiv="'forestMap'" class="indexSupermapClass"
+                :mapSite="{doubleClickZoom:false}" :codes="['9fa5']" :isSideBySide="false"></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-27">
+              <div class="h-19 overflow-y">
+                <div class="d-l-con" :class="{on:listCurrentIndex2==item.planName}"
+                     v-for="(item,index) in visuTianzhangList"
+                     @click="getPointList(item.id)">
+                  <div class="d-l-l-text">
+                    <i class="i-small"></i>
+                    <h4>{{ item.timeBegin }} - {{ item.timeEnd }}</h4>
+                  </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;">
+            <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-27">
+              <div class="h-19 overflow-y">
+                <div class="d-l-con" :class="{on:listCurrentIndex2==item.planName}"
+                     v-for="(item,index) in visuTianzhangList"
+                     @click="getPointList(item.id)">
+                  <div class="d-l-l-text">
+                    <i class="i-small"></i>
+                    <h4>{{ item.timeBegin }} - {{ item.timeEnd }}</h4>
+                  </div>
+                </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>
+  </div>
+</template>
+
+<script>
+import {
+  getTianzhangList,
+} from '@/api/tianzhangzhi'
+
+import supermap from '@/components/supermap' //超图
+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' //电视墙弹窗
+
+let echarts = require('echarts')
+export default {
+  components: {
+    supermap,
+    vheader,
+    vBottomMenu,
+    eventLocation,
+    TVWall
+  },
+  data() {
+    return {
+      iconCurrentIndex1: '1',
+      listCurrentIndex1: '',
+      listCurrentIndex2: '',
+      //左右缩进
+      indentStyle: '',
+      indentleft: '',
+      indentright: '',
+      indentText: '收起左右栏',
+      indentdisabled: false,
+      visuTianzhangList: [], //人员类型列表
+    }
+  },
+  created() {
+    this.getInit()
+    /** ----------------------------------底部按钮公用组件开始------------------------------------- */
+    window.showDialog = this.showDialog
+    window.choseLayerSwitching = this.choseLayerSwitching
+    window.choseLayerSwitchingList = this.choseLayerSwitchingList
+    /** ----------------------------------底部按钮公用组件结束------------------------------------- */
+  },
+  methods: {
+    /** ----------------------------------底部按钮公用组件开始------------------------------------- */
+    showDialog(click) {
+      if (click == 'eventLocation') {
+        this.$refs.eventLocation.showEventLocation()
+        this.$refs.supermap.isEditableLayers = 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.supermap.isEditableLayers) {
+          this.$refs.supermap.isEditableLayers = true
+        } else {
+          this.$refs.supermap.isEditableLayers = false
+        }
+      } else if (click == 'layerSwitching') {
+        this.$refs.supermap.isEditableLayers = 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.supermap.isEditableLayers = false
+        this.$refs.bottomMenu.showChild = false
+        this.$refs.bottomMenu.showBanChild = false
+        this.$refs.bottomMenu.showChangChild = false
+      } else if (click == 'forestban') {
+        this.$refs.supermap.isEditableLayers = 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.supermap.isEditableLayers = 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)
+    },
+    /** ----------------------------------底部按钮公用组件结束------------------------------------- */
+
+    //初始化
+    getInit() {
+      let that = this
+      this.iconCurrentIndex1 = '1'
+      this.listCurrentIndex1 = ''
+      this.listCurrentIndex2 = ''
+      //获取田长列表
+      getTianzhangList().then(res => {
+        that.visuTianzhangList = res.data
+      })
+    },
+
+    //吉祥物收起左右框
+    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';
+
+.h-27 {
+  height: 27rem;
+}
+</style>

+ 3 - 9
vue.config.js

@@ -48,17 +48,11 @@ module.exports = {
      * 寻找附件-有缘人@阿弥陀佛
      * 寻找附件-有缘人@阿弥陀佛
      * @param attach_ids
      * @param attach_ids
      */
      */
-
     proxy: {
     proxy: {
       // detail: https://cli.vuejs.org/config/#devserver-proxy
       // detail: https://cli.vuejs.org/config/#devserver-proxy
       [process.env.VUE_APP_BASE_API]: {
       [process.env.VUE_APP_BASE_API]: {
-        // target: `http://192.168.2.118:3031`,
-        //  target: `http://117.78.49.164:3031`,
-         // target: `http://192.168.1.122:3031`,
-         target: `http://127.0.0.1:3031`,
-         // target: `http://192.168.1.137:3031`,
-         // target: `https://117.78.49.164:3031`,
-         // target: `https://36.49.108.22:3031`,
+        // target: `http://127.0.0.1:3031`,
+        target: `http://121.36.228.66:3031`,
         changeOrigin: true,
         changeOrigin: true,
         pathRewrite: {
         pathRewrite: {
           ['^' + process.env.VUE_APP_BASE_API]: ''
           ['^' + process.env.VUE_APP_BASE_API]: ''
@@ -70,7 +64,7 @@ module.exports = {
   css: {
   css: {
     loaderOptions: {
     loaderOptions: {
       sass: {
       sass: {
-        sassOptions: { outputStyle: 'expanded' }
+        sassOptions: {outputStyle: 'expanded'}
       }
       }
     }
     }
   },
   },