代码合并,功能修改
parent
1ccfe7ab44
commit
a3bdb41d33
|
|
@ -1,15 +1,17 @@
|
|||
{
|
||||
"method":"feixian",
|
||||
"method":"pingyixian",
|
||||
"gaodeApi": "4f992c089f9496201f6e4ea39ff3ab60",
|
||||
|
||||
"pingyixian":{
|
||||
"appname":"平邑县森林防火电子沙盘",
|
||||
"area":"平邑县",
|
||||
"baseUrl":"",
|
||||
"baseUrl":"http://123.132.248.154:9210",
|
||||
"layerurl":"http://123.132.248.154:9236/applicationMars/getApplicationInfo/pingyixian",
|
||||
"map":{
|
||||
"center":[],
|
||||
"zoom":null
|
||||
},
|
||||
"waterUrl":"http://175.27.168.120:8080/geoserver/pingyixian/ows?service=WFS&version=1.0.0&request=GetFeature&typeName=pingyixian%3Ashuiyuandi_new&maxFeatures=50000&outputFormat=application%2Fjson",
|
||||
"waterUrl":"http://223.99.16.253:9007/geoserver/ksp/ows?service=WFS&version=1.0.0&request=GetFeature&typeName=ksp%3Ashp_1686208018&maxFeatures=500&outputFormat=application%2Fjson",
|
||||
"goodsUrl":"",
|
||||
"tools":{
|
||||
"routebox":true,
|
||||
|
|
@ -25,17 +27,18 @@
|
|||
"feixian":{
|
||||
"appname":"费县森林防火电子沙盘",
|
||||
"area":"费县",
|
||||
"baseUrl":"",
|
||||
"baseUrl":"http://223.99.16.253:9001",
|
||||
"layerurl":"http://223.99.16.253:9006/applicationMars/getApplicationInfo",
|
||||
"map":{
|
||||
"center":[],
|
||||
"zoom":null
|
||||
},
|
||||
"waterUrl":"",
|
||||
"waterUrl":"http://123.132.248.154:9235/geoserver/ksp/ows?service=WFS&version=1.0.0&request=GetFeature&typeName=ksp%3Ashp_1691142509&maxFeatures=5000&outputFormat=application%2Fjson",
|
||||
"goodsUrl":"",
|
||||
"tools":{
|
||||
"routebox":true,
|
||||
"toolsbox":true,
|
||||
"monitorbox":true,
|
||||
"monitorbox":false,
|
||||
"uavbox":true,
|
||||
"waterbox":true,
|
||||
"reportbox":true,
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
Binary file not shown.
|
After Width: | Height: | Size: 1.3 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 2.0 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 99 KiB |
|
|
@ -6,6 +6,11 @@
|
|||
<script>
|
||||
import Vue from 'vue'
|
||||
import axios from 'axios';
|
||||
import AppInfo from "../../../public/config/app.json"
|
||||
|
||||
|
||||
// alert(AppInfo[localStorage.getItem("areaName")].layerurl)
|
||||
|
||||
// 使用免费开源版本
|
||||
// import 'mars3d/dist/mars3d.css'
|
||||
// import * as mars3d from 'mars3d'
|
||||
|
|
@ -64,19 +69,34 @@ export default {
|
|||
} else {
|
||||
|
||||
mars3d.Resource.fetchJson({ url: this.url }).then((data) => {
|
||||
|
||||
console.log("datadatadatadata:::::",data);
|
||||
|
||||
// 根据费县平邑登录获取对应的图层
|
||||
axios({
|
||||
method:"get",
|
||||
url:"",
|
||||
headers:{
|
||||
"X-Token":localStorage.getItem("X-Token")
|
||||
}
|
||||
url:AppInfo[localStorage.getItem("areaName")].layerurl
|
||||
}).then(res=>{
|
||||
// 印象形成效应:刻板效应、晕轮效应、首因效应、近因效应、投射效应
|
||||
})
|
||||
let configLayers = [];
|
||||
res.data.data.forEach((item,index)=>{
|
||||
let group = null;
|
||||
group = {
|
||||
id:parseInt(Math.random()*10000000),
|
||||
name:item.serverName,
|
||||
type:"group"
|
||||
}
|
||||
configLayers.push(group);
|
||||
if(item.children && item.children.length>0){
|
||||
item.children.forEach((it,idx)=>{
|
||||
let attribute = JSON.parse(it.attribute);
|
||||
attribute.pid = group.id;
|
||||
configLayers.push(attribute);
|
||||
})
|
||||
}
|
||||
})
|
||||
|
||||
this.initMars3d(data.map3d)// 构建地图
|
||||
data.map3d.layers = configLayers
|
||||
this.initMars3d(data.map3d)
|
||||
})
|
||||
// this.initMars3d(data.map3d)// 构建地图
|
||||
})
|
||||
}
|
||||
},
|
||||
|
|
|
|||
|
|
@ -33,6 +33,10 @@ const user = {
|
|||
login(username, userInfo.password).then(response => {
|
||||
const data = response
|
||||
setToken(data.token)
|
||||
localStorage.setItem("userId",response.userInfo.id);
|
||||
localStorage.setItem("userName",response.userInfo.account);
|
||||
localStorage.setItem("areaName",response.userInfo.areaENName);
|
||||
localStorage.setItem("areaCNName",response.userInfo.areaCNName);
|
||||
commit('SET_TOKEN', data.token)
|
||||
resolve()
|
||||
}).catch(error => {
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
<div class="el-header">
|
||||
<div class="app-name">{{appName}}</div>
|
||||
|
||||
<div class="header-info">
|
||||
<div class="header-info" style="position:absolute;z-index:9999999999999999;right:200px;">
|
||||
<!-- 天气中心 -->
|
||||
<div class="weather-info">
|
||||
<div class="weater">{{weater}}</div>
|
||||
|
|
@ -16,7 +16,7 @@
|
|||
<div class="time-date-info">{{date}}</div>
|
||||
</div>
|
||||
<!-- 退出按钮 -->
|
||||
<div class="logout-button" @click="logout()"></div>
|
||||
<div class="logout-button" style="position:relative;z-index:999999999999999999999999999999999999999999;" @click="logout()"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
@ -85,7 +85,6 @@
|
|||
<waterbox v-show="appTools['waterbox'] && active == 3" :waterCenter="waterCenter" :globalmap="globalmap"></waterbox>
|
||||
<!-- 物资调度 -->
|
||||
<!-- <goodsbox v-show="appTools['goodsbox'] && active == 4" :endLngLat="endLngLat" :globalmap="globalmap"></goodsbox> -->
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
|
@ -95,7 +94,7 @@
|
|||
<personnel :fireData="currentInfo" :globalmap="globalmap"></personnel>
|
||||
</div>
|
||||
<!-- 物资 -->
|
||||
<div class="goods-container" v-show="goodsVisible">
|
||||
<div class="goods-container" v-if="goodsVisible">
|
||||
<goodsbox :endLngLat="endLngLat" :globalmap="globalmap"></goodsbox>
|
||||
</div>
|
||||
<!-- 水源 -->
|
||||
|
|
@ -125,6 +124,13 @@
|
|||
<monitorbox @showLCmonitorbox="showLCmonitorbox"></monitorbox>
|
||||
</div>
|
||||
|
||||
<div class="monitor" v-if="false">
|
||||
<div class="close-button">
|
||||
<i class='el-icon el-icon-close'></i>
|
||||
</div>
|
||||
<videocall></videocall>
|
||||
</div>
|
||||
|
||||
<div class="monitor" v-if="LCmonitorboxShow">
|
||||
<div class="close-button" @click="LCmonitorboxShow = false">
|
||||
<i class='el-icon el-icon-close'></i>
|
||||
|
|
@ -138,6 +144,7 @@
|
|||
</div>
|
||||
<HKmonitorbox v-if="HKmonitorboxShow" :deviceId="deviceId" :channelId="channelId"></HKmonitorbox>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
|
@ -175,6 +182,7 @@ import taskbox from './widget/taskbox.vue';
|
|||
import gridbox from './widget/gridbox.vue';
|
||||
import LCmonitorbox from './widget/LCmonitorbox.vue'
|
||||
import HKmonitorbox from './widget/HKmonitorbox.vue'
|
||||
import videocall from './widget/videocallbox.vue';
|
||||
import personnel from './widget/personnel.vue';
|
||||
import axios from 'axios';
|
||||
import jQuery from 'jquery';
|
||||
|
|
@ -200,7 +208,8 @@ export default {
|
|||
LCmonitorbox,
|
||||
HKmonitorbox,
|
||||
mergebox,
|
||||
personnel
|
||||
personnel,
|
||||
videocall
|
||||
},
|
||||
|
||||
data() {
|
||||
|
|
@ -222,7 +231,8 @@ export default {
|
|||
weater:null,
|
||||
temperature:null,
|
||||
globalmap:null,
|
||||
configUrl: "config/config.json",
|
||||
// configUrl: "config/config.json",
|
||||
configUrl: "config/"+localStorage.getItem("areaName")+"Config.json",
|
||||
widgetUrl: "config/widget.json",
|
||||
tileLayer:null,
|
||||
active:1,
|
||||
|
|
@ -259,7 +269,7 @@ export default {
|
|||
|
||||
},
|
||||
created(){
|
||||
window.AppConfig = AppConfigInfo[AppConfigInfo.method];
|
||||
window.AppConfig = AppConfigInfo[localStorage.getItem("areaName")];
|
||||
this.appName = AppConfig.appname;
|
||||
this.appTools = AppConfig.tools;
|
||||
let _this = this;
|
||||
|
|
@ -308,7 +318,11 @@ export default {
|
|||
},
|
||||
// 退出登录
|
||||
logout(){
|
||||
localStorage.setItem("X-Token",null);
|
||||
localStorage.setItem("X-Token","");
|
||||
let arr = document.getElementById("map-querybar");
|
||||
arr.forEach((item,index)=>{
|
||||
arr[index].style.display = "none"
|
||||
})
|
||||
this.$router.push({'path':'/login'})
|
||||
},
|
||||
// 物资
|
||||
|
|
@ -358,7 +372,7 @@ export default {
|
|||
map.addLayer(_self.graphicLayer)
|
||||
// 灭火专班
|
||||
let graphic = new mars3d.graphic.BillboardEntity({
|
||||
position: [117.838645,35.503401,248.7],
|
||||
position: localStorage.getItem("areaName") == 'feixian' ? [118.031537, 35.43147, 246] : [117.838645,35.503401,248.7],
|
||||
style: {
|
||||
image: "/img/miehuozhuanban.png",
|
||||
horizontalOrigin: Cesium.HorizontalOrigin.CENTER,
|
||||
|
|
|
|||
|
|
@ -30,11 +30,11 @@ import { parse } from '../lib/handleGeojson';
|
|||
|
||||
],
|
||||
formData:{
|
||||
"address": "",
|
||||
"address": "",
|
||||
"lng": "",
|
||||
"lat": "",
|
||||
"ids": [],
|
||||
"modifyId": ""
|
||||
"modifyId": localStorage.getItem("userId")
|
||||
},
|
||||
graphicLayer:null,
|
||||
graphicPoint:null,
|
||||
|
|
@ -79,7 +79,7 @@ import { parse } from '../lib/handleGeojson';
|
|||
let graphic = new mars3d.graphic.BillboardEntity({
|
||||
position: [lng, lat, z],
|
||||
style: {
|
||||
image: "/img/route-start.png",
|
||||
image: "/img/huozai.png",
|
||||
horizontalOrigin: Cesium.HorizontalOrigin.CENTER,
|
||||
verticalOrigin: Cesium.VerticalOrigin.BOTTOM,
|
||||
clampToGround: true
|
||||
|
|
@ -101,6 +101,23 @@ import { parse } from '../lib/handleGeojson';
|
|||
},
|
||||
merage(){
|
||||
this.formData.ids = this.checkList;
|
||||
|
||||
if(this.checkList.length<2){
|
||||
this.$message({
|
||||
type:"warning",
|
||||
message:"请选择至少两条线索",
|
||||
})
|
||||
return;
|
||||
}
|
||||
|
||||
if(!this.formData.lng && !this.formData.lat){
|
||||
this.$message({
|
||||
type:"warning",
|
||||
message:"请选择合并后火点",
|
||||
})
|
||||
return;
|
||||
}
|
||||
|
||||
axios({
|
||||
method:"post",
|
||||
url:"http://123.132.248.154:9224/api/FireManagement/MergeNewFireClueInfo",
|
||||
|
|
@ -108,7 +125,6 @@ import { parse } from '../lib/handleGeojson';
|
|||
headers:{
|
||||
'X-Token':localStorage.getItem("X-Token")
|
||||
}
|
||||
|
||||
}).then(res=>{
|
||||
if(res.data.code == 200){
|
||||
this.pathPointGraphicLayer.clear();
|
||||
|
|
|
|||
|
|
@ -25,10 +25,7 @@ import axios from 'axios'
|
|||
return {
|
||||
reportList:{},
|
||||
listQuery:{
|
||||
state:0,
|
||||
areaname:'feixian',
|
||||
pageIndex:1,
|
||||
pageSize:10,
|
||||
areaName:"feixian",
|
||||
},
|
||||
}
|
||||
},
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@
|
|||
</div>
|
||||
</div>
|
||||
<div style="text-align:right;margin:0px 28px;">
|
||||
<el-button type="primary" size="mini" @click="$emit('merge')">线索合并</el-button>
|
||||
<el-button type="primary" size="mini" @click="merage">线索合并</el-button>
|
||||
<el-button type="warning" size="mini">标为误报线索</el-button>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -48,11 +48,8 @@ import { parse } from '../lib/handleGeojson';
|
|||
return {
|
||||
active:1,
|
||||
list:[],
|
||||
listQuery:{
|
||||
state:0,
|
||||
areaname:'feixian',
|
||||
pageIndex:1,
|
||||
pageSize:10,
|
||||
listParams:{
|
||||
areaname:"feixian",
|
||||
},
|
||||
graphicLayer:null,
|
||||
graphicPoint:null,
|
||||
|
|
@ -77,6 +74,16 @@ import { parse } from '../lib/handleGeojson';
|
|||
|
||||
},
|
||||
methods:{
|
||||
merage(){
|
||||
if(this.checkList.length<2){
|
||||
this.$message({
|
||||
type:"warning",
|
||||
message:"请选择至少两条线索",
|
||||
})
|
||||
}else{
|
||||
this.$emit('merge')
|
||||
}
|
||||
},
|
||||
jiankong(e){
|
||||
this.$emit("jiankong",e);
|
||||
},
|
||||
|
|
@ -120,7 +127,7 @@ import { parse } from '../lib/handleGeojson';
|
|||
axios({
|
||||
method:"get",
|
||||
url:"http://123.132.248.154:9224/api/FireManagement/LoadFireClueInfoByState",
|
||||
params:this.listQuery,
|
||||
params:this.listParams,
|
||||
headers:{
|
||||
'X-Token':localStorage.getItem("X-Token")
|
||||
}
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@
|
|||
import axios from 'axios'
|
||||
import { parse } from '../lib/handleGeojson.js';
|
||||
import * as turf from '@turf/turf'
|
||||
|
||||
import AppConfig from '../../../../public/config/app.json'
|
||||
export default {
|
||||
name: 'routebox',
|
||||
props:['globalmap','routeInfo'],
|
||||
|
|
@ -97,7 +97,7 @@ import * as turf from '@turf/turf'
|
|||
let endCoor = this.endPoint.split(",");
|
||||
axios({
|
||||
method: 'get',
|
||||
url: 'http://123.132.248.154:9210/api/FirePrevention/LoadRoad',
|
||||
url: AppConfig[localStorage.getItem('areaName')].baseUrl+'/api/FirePrevention/LoadRoad',
|
||||
params: {
|
||||
startlng: parseFloat(startCoor[0]),
|
||||
startlat: parseFloat(startCoor[1]),
|
||||
|
|
|
|||
|
|
@ -0,0 +1,122 @@
|
|||
<template>
|
||||
<div class="box">
|
||||
<div class="box-title">视频通话</div>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import axios from "axios";
|
||||
export default {
|
||||
name: 'monitorbox',
|
||||
data(){
|
||||
return{
|
||||
list:[]
|
||||
}
|
||||
},
|
||||
created(){
|
||||
|
||||
},
|
||||
methods:{
|
||||
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.box{
|
||||
width: 340px;
|
||||
height: 200px;
|
||||
overflow: hidden;
|
||||
background-image: url(/img/uav-bg.png);
|
||||
background-size: 100% 100%;
|
||||
text-align:left;
|
||||
z-index: 99;
|
||||
}
|
||||
.box-title{
|
||||
width:100%;
|
||||
height:40px;
|
||||
line-height:50px;
|
||||
text-indent:20px;
|
||||
color: #00FFF0;
|
||||
}
|
||||
.box-container{
|
||||
width: calc( 100% - 0px);
|
||||
padding:0px 12px;
|
||||
height: calc( 100% - 60px);
|
||||
}
|
||||
.table-header{
|
||||
width: calc( 100% - 10px);
|
||||
height:25px;
|
||||
color:#fff;
|
||||
text-align: center;
|
||||
}
|
||||
.table-header div{
|
||||
float:left;
|
||||
width:25%;
|
||||
border-bottom:1px dashed #00FFF0;
|
||||
padding-bottom:8px;
|
||||
}
|
||||
.table-body{
|
||||
width:100%;
|
||||
height: calc( 100% - 40px);
|
||||
overflow-y: auto;
|
||||
}
|
||||
|
||||
.table-body .item{
|
||||
width:100%;
|
||||
height:36px;
|
||||
background: #00ffee2f;
|
||||
font-size:12px;
|
||||
text-align: center;
|
||||
line-height:36px;
|
||||
cursor:pointer;
|
||||
}
|
||||
|
||||
.table-body .item:nth-child(2n){
|
||||
background:#00ffee50;
|
||||
}
|
||||
|
||||
.table-body .item div{
|
||||
float:left;
|
||||
width:25%;
|
||||
color:#eee;
|
||||
overflow: hidden;
|
||||
height:36px;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar-track, ::-webkit-scrollbar-thumb {
|
||||
border: 0
|
||||
}
|
||||
|
||||
::-webkit-scrollbar {
|
||||
height: 10px;
|
||||
width: 10px;
|
||||
background: transparent;
|
||||
border-radius: 5px
|
||||
}
|
||||
|
||||
::-webkit-scrollbar-thumb {
|
||||
padding-top: 100px;
|
||||
-webkit-box-shadow: inset 1px 1px 0 rgba(0, 0, 0, .1), inset -1px -1px 0 rgba(0, 0, 0, .07);
|
||||
background-color: #797979;
|
||||
min-height: 28px;
|
||||
border-radius: 4px;
|
||||
background-clip: padding-box
|
||||
}
|
||||
|
||||
::-webkit-scrollbar-track, ::-webkit-scrollbar-thumb {
|
||||
border: 0
|
||||
}
|
||||
|
||||
::-webkit-scrollbar-thumb:hover {
|
||||
-webkit-box-shadow: inset 1px 1px 1px rgba(0, 0, 0, .25);
|
||||
background-color: rgba(0, 0, 0, .4)
|
||||
}
|
||||
|
||||
::-webkit-scrollbar-thumb:active {
|
||||
-webkit-box-shadow: inset 1px 1px 3px rgba(0, 0, 0, .35);
|
||||
background-color: rgba(0, 0, 0, .5)
|
||||
}
|
||||
|
||||
</style>
|
||||
|
|
@ -24,7 +24,7 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div style="top: 40%;left: 8%;position:absolute;">
|
||||
<div style="top: 35%;left: 8%;position:absolute;">
|
||||
<div class="input-wrapper login-container">
|
||||
<label class="label">
|
||||
<img src="~@/assets/login/密码.png">
|
||||
|
|
@ -36,13 +36,13 @@
|
|||
</div>
|
||||
</div>
|
||||
|
||||
<div style="top: 65%;left: 8%;position:absolute;">
|
||||
<div style="top: 55%;left: 8%;position:absolute;">
|
||||
<el-button class="login-btn" v-waves type="primary" style="width:448px;background:#0088FF;border-radius: 10px;font-size: 24px;height: 50px;" :loading="loading" @click.native.prevent="handleLogin">
|
||||
登 录
|
||||
</el-button>
|
||||
</div>
|
||||
|
||||
<div style="top: 86%;left: 10%;position:absolute;">
|
||||
<div style="top: 76%;left: 10%;position:absolute;">
|
||||
<div class="left-txt">
|
||||
<span>忘记密码?</span>
|
||||
</div>
|
||||
|
|
@ -127,6 +127,7 @@
|
|||
'tenantid'
|
||||
])
|
||||
},
|
||||
|
||||
methods: {
|
||||
...mapActions([
|
||||
'setTenantId', //
|
||||
|
|
@ -149,7 +150,7 @@
|
|||
this.$store.dispatch('Login', this.loginForm).then(() => {
|
||||
this.loading = false
|
||||
this.$router.push({
|
||||
path: '/dashboard'
|
||||
path: '/home'
|
||||
})
|
||||
}).catch(() => {
|
||||
this.loading = false
|
||||
|
|
@ -300,21 +301,21 @@
|
|||
|
||||
<style scoped>
|
||||
.left-panel {
|
||||
/* background-image: url('~@/assets/login/bg1.jpg'); */
|
||||
background-image: url('/img/login-bg.jpg');
|
||||
width: 100%;
|
||||
height: 100vh;
|
||||
background-repeat: no-repeat;
|
||||
background-size: 100%;
|
||||
}
|
||||
.right-panel {
|
||||
background-image: url('../../assets/login/矩形.png');
|
||||
/* background-image: url('../../assets/login/矩形.png'); */
|
||||
background-repeat: no-repeat;
|
||||
background-size: 100%;
|
||||
padding-top:20%;
|
||||
position:absolute;
|
||||
/* right:130px; */
|
||||
right: 8%;
|
||||
top:390px;
|
||||
left:50%;
|
||||
top:50%;
|
||||
transform: translate(-50%,-50%);
|
||||
width:536px;
|
||||
height: 561px;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue