From d057c8fdb1ed9db6cfcebacb146cd0ffbc1ad7fe Mon Sep 17 00:00:00 2001
From: guanqb <18720758508@163.com>
Date: Tue, 20 Sep 2022 09:29:02 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.0.105:10010/r/srs-police-affairs
---
src/views/home/index copy.vue | 635 ++++++++++++++++++++++++++++++++++++++++++
src/views/home/index.vue | 61 +++
.gitignore | 1
src/components/map/index.vue | 165 ++++++++--
src/views/activity/index.vue | 2
5 files changed, 826 insertions(+), 38 deletions(-)
diff --git a/.gitignore b/.gitignore
index 403adbc..1393384 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,6 +1,7 @@
.DS_Store
node_modules
/dist
+/public/sd
# local env files
diff --git a/src/components/map/index.vue b/src/components/map/index.vue
index 1e66b6e..8a43f82 100644
--- a/src/components/map/index.vue
+++ b/src/components/map/index.vue
@@ -2,7 +2,7 @@
* @Author: shuishen 1109946754@qq.com
* @Date: 2022-08-18 17:00:30
* @LastEditors: shuishen 1109946754@qq.com
- * @LastEditTime: 2022-09-17 16:21:14
+ * @LastEditTime: 2022-09-19 18:19:53
* @FilePath: \srs-police-affairs\src\components\map\index.vue
* @Description: 公用地图组件
*
@@ -34,12 +34,18 @@
var siteEntitylayers = null
-let layersObjce = {
+let layersObjcect = {
housingEstateLayer: null,
patrolWagonLayer: null,
handMachineLayer: null,
monitoringLayer: null,
panoramaLayer: null
+}
+
+let tilesetLayer = null
+
+let tilesetObject = {
+ sdTilesetLayer: null
}
export default {
@@ -187,17 +193,36 @@
// 图层加入地图
- layersObjce.housingEstateLayer = new global.DC.VectorLayer('housingEstateLayer')
- global.viewer.addLayer(layersObjce.housingEstateLayer)
- layersObjce.patrolWagonLayer = new global.DC.VectorLayer('patrolWagonLayer')
- global.viewer.addLayer(layersObjce.patrolWagonLayer)
- layersObjce.handMachineLayer = new global.DC.VectorLayer('handMachineLayer')
- global.viewer.addLayer(layersObjce.handMachineLayer)
- layersObjce.monitoringLayer = new global.DC.VectorLayer('monitoringLayer')
- global.viewer.addLayer(layersObjce.monitoringLayer)
- layersObjce.panoramaLayer = new global.DC.VectorLayer('panoramaLayer')
- global.viewer.addLayer(layersObjce.panoramaLayer)
+ layersObjcect.housingEstateLayer = new global.DC.VectorLayer('housingEstateLayer')
+ global.viewer.addLayer(layersObjcect.housingEstateLayer)
+ layersObjcect.patrolWagonLayer = new global.DC.VectorLayer('patrolWagonLayer')
+ global.viewer.addLayer(layersObjcect.patrolWagonLayer)
+ layersObjcect.handMachineLayer = new global.DC.VectorLayer('handMachineLayer')
+ global.viewer.addLayer(layersObjcect.handMachineLayer)
+ layersObjcect.monitoringLayer = new global.DC.VectorLayer('monitoringLayer')
+ global.viewer.addLayer(layersObjcect.monitoringLayer)
+ layersObjcect.panoramaLayer = new global.DC.VectorLayer('panoramaLayer')
+ global.viewer.addLayer(layersObjcect.panoramaLayer)
+ // 模型图层添加
+ tilesetLayer = new global.DC.TilesetLayer('tilesetLayer')
+ global.viewer.addLayer(tilesetLayer)
+
+ // 加载围栏
+ let layer = new global.DC.VectorLayer('layer')
+ global.viewer.addLayer(layer)
+
+ let wall = new global.DC.Wall(
+ '116.018142,28.688089,100.0; 116.017756,28.684648,100.0; 116.019507,28.677570,100.0; 116.033653,28.675634,100.0; 116.034223,28.681389,100.0; 116.033483,28.687265,100.0; 116.018142,28.688089,100.0'
+ )
+
+ wall.setStyle({
+ material: new global.DC.WallTrailMaterialProperty({
+ color: global.DC.Color.BLUE,
+ speed: 8
+ })
+ })
+ layer.addOverlay(wall)
@@ -219,14 +244,7 @@
})
)
- let tilesLayer = new global.DC.TilesetLayer('tilesLayer')
- global.viewer.addLayer(tilesLayer)
- let tileset = new global.DC.Tileset(
- '/qx/tileset.json'
- )
- tilesLayer.addOverlay(tileset)
- global.viewer.flyTo(tileset)
// 加载顺丰底图
@@ -242,7 +260,7 @@
// Cesium的坐标是以地心为原点,一向指向南美洲,一向指向亚洲,一向指向北极州
// fromDegrees()方法,将经纬度和高程转换为世界坐标
destination: global.DC.Namespace.Cesium.Cartesian3.fromDegrees(
- 117.971, 28.44444, 8000.0
+ 116.027429, 28.681978, 8000.0
),
orientation: {
// 指向
@@ -257,7 +275,7 @@
global.viewer.use(new global.DC.Measure())
- // global.viewer.locationBar.enable = true
+ global.viewer.locationBar.enable = true
// 缩放
global.viewer.zoomController.enable = true
// 比例尺
@@ -300,29 +318,44 @@
// })
- this.$EventBus.on('mapAddLayer', (params) => {
+ this.$EventBus.$on('mapAddLayer', (params) => {
that.mapAddLayer(params.layerName, params.type)
})
- this.$EventBus.on('mapRemoveLayer', (params) => {
+ this.$EventBus.$on('mapRemoveLayer', (params) => {
that.mapRemoveLayer(params.layerName, params.type)
})
- this.$EventBus.on('mapClearLayer', (params) => {
+ this.$EventBus.$on('mapClearLayer', (params) => {
that.mapClearLayer(params.layerName, params.type)
})
- this.$EventBus.on('layerPointAdd', (params) => {
+ this.$EventBus.$on('layerPointAdd', (params) => {
// eslint-disable-next-line no-unused-vars
that.layerPointAdd(params.layerName, params.type, params.params, params.incident = (e) => { })
})
- this.$EventBus.on('layerShow', (params) => {
+ this.$EventBus.$on('layerPolygonAdd', (params) => {
+ that.layerPolygonAdd(params.layerName, params.positions, params.material)
+ })
+
+ this.$EventBus.$on('layerShow', (params) => {
that.layerShow(params.layerName, params.flag)
})
- this.$EventBus.on('flyToPosition', (params) => {
+ this.$EventBus.$on('flyToPosition', (params) => {
that.flyToPosition(params.siteJd, params.siteWd, params.siteGd = 0, params.siteHeading = 0, params.sitePitch = -90, params.siteRoll = 0, params.time = 3)
+ })
+
+
+ this.$EventBus.$on('addMxTileset', (params) => {
+ // eslint-disable-next-line no-unused-vars
+ that.addMxTileset(params.titlesetName, params.titlesetUrl, params.incident = (e) => { })
+ })
+
+ this.$EventBus.$on('removeMxTileset', (params) => {
+ // eslint-disable-next-line no-unused-vars
+ that.removeMxTileset(params.titlesetName, params.incident = (e) => { })
})
},
@@ -385,8 +418,9 @@
*/
mapAddLayer (layerName, type) {
if (type == 'VectorLayer') {
- layersObjce[layerName] = new global.DC.VectorLayer('layerName')
- global.viewer.addLayer(layersObjce[layerName])
+ if (!layersObjcect[layerName]) layersObjcect[layerName] = null
+ layersObjcect[layerName] = new global.DC.VectorLayer('layerName')
+ global.viewer.addLayer(layersObjcect[layerName])
}
},
@@ -397,9 +431,9 @@
*/
mapRemoveLayer (layerName, type) {
if (type == 'VectorLayer') {
- layersObjce[layerName].remove()
+ layersObjcect[layerName].remove()
- layersObjce[layerName] = null
+ layersObjcect[layerName] = null
}
},
@@ -410,7 +444,7 @@
*/
mapClearLayer (layerName, type) {
if (type == 'VectorLayer') {
- layersObjce[layerName].clear()
+ layersObjcect[layerName].clear()
}
},
@@ -442,8 +476,30 @@
})
}
pointElement.attrParams = params
- layersObjce[layerName].addOverlay(pointElement)
+ layersObjcect[layerName].addOverlay(pointElement)
pointElement.on(global.DC.MouseEventType.CLICK, incident)
+ },
+
+ /**
+ * 图层面添加
+ * @param {*} layerName 图层名称
+ * @param {*} positions 图层位置数据
+ * @param {*} material 颜色
+ */
+ layerPolygonAdd (layerName, positions, material) {
+ if (!layersObjcect[layerName] || layersObjcect[layerName] == null) {
+ this.mapAddLayer(layerName, 'VectorLayer')
+ }
+
+ let polygon = new global.DC.Polygon(positions)
+
+ polygon.setStyle({
+ material: material,
+ extrudedHeight: 0,
+ perPositionHeight: true
+ })
+
+ layersObjcect[layerName].addOverlay(polygon)
},
/**
@@ -452,7 +508,7 @@
* @param {*} flag 显示隐藏
*/
layerShow (layerName, flag) {
- layersObjce[layerName].show = flag
+ layersObjcect[layerName].show = flag
},
/**
@@ -478,7 +534,46 @@
function () { },
time
)
- }
+ },
+ // sdTilesetLayer
+
+ /**
+ * 添加模型
+ * @param {*} titlesetName 图层名称
+ * @param {*} titlesetUrl 模型地址
+ * @param {*} incident 模型点击事件
+ */
+ addMxTileset (titlesetName, titlesetUrl, incident) {
+ if (!tilesetObject[titlesetName]) tilesetObject[titlesetName] = null
+
+ tilesetObject[titlesetName] = new global.DC.Tileset(titlesetUrl, {
+ luminanceAtZenith: 0.4,
+ // cullWithChildrenBounds: false,
+ // cullRequestsWhileMoving: false,
+ // skipLevelOfDetail: false,
+ shadows: global.DC.Namespace.Cesium.ShadowMode.DISABLED
+ })
+
+ tilesetObject[titlesetName].setHeight(5)
+
+
+ tilesetLayer.addOverlay(tilesetObject[titlesetName])
+
+ global.viewer.flyTo(tilesetObject[titlesetName])
+
+ tilesetObject[titlesetName].on(global.DC.MouseEventType.CLICK, incident)
+ },
+
+ /**
+ * 删除模型
+ * @param {*} titlesetName 图层名称
+ * @param {*} incident 模型点击事件
+ */
+ removeMxTileset (titlesetName, incident) {
+ tilesetObject[titlesetName].off(global.DC.MouseEventType.CLICK, incident)
+ tilesetLayer.removeOverlay(tilesetObject[titlesetName])
+ tilesetObject[titlesetName] = null
+ },
},
}
diff --git a/src/views/activity/index.vue b/src/views/activity/index.vue
index bb69f29..9e60493 100644
--- a/src/views/activity/index.vue
+++ b/src/views/activity/index.vue
@@ -2,7 +2,7 @@
* @Author: shuishen 1109946754@qq.com
* @Date: 2022-08-18 16:18:17
* @LastEditors: shuishen 1109946754@qq.com
- * @LastEditTime: 2022-09-19 14:59:44
+ * @LastEditTime: 2022-09-19 17:42:50
* @FilePath: \srs-police-affairs\src\views\activity\index.vue
* @Description: 安保活动
*
diff --git a/src/views/home/index copy.vue b/src/views/home/index copy.vue
new file mode 100644
index 0000000..bc1f428
--- /dev/null
+++ b/src/views/home/index copy.vue
@@ -0,0 +1,635 @@
+<!--
+ * @Author: shuishen 1109946754@qq.com
+ * @Date: 2022-08-18 16:18:17
+ * @LastEditors: shuishen 1109946754@qq.com
+ * @LastEditTime: 2022-09-19 18:27:39
+ * @FilePath: \srs-police-affairs\src\views\home\index.vue
+ * @Description: 小区-栋-层-房屋
+ *
+ * Copyright (c) 2022 by shuishen 1109946754@qq.com, All Rights Reserved.
+-->
+
+<template>
+ <div class="container">
+ <div class="left-container">
+ <div class="person-box">
+ <div class="title">
+ <div class="one-level">现有人员</div>
+ <!-- <div class="two-level">现有人员</div> -->
+ </div>
+
+ <div class="sub-title">
+ <div class="one-level">实有人口总数</div>
+ <div class="two-level">183.16万人</div>
+ </div>
+
+ <div class="sub-tab">
+ <div class="tab">
+ <div class="num">164.57万人</div>
+ <div class="type">户籍人口</div>
+ </div>
+ <div class="tab">
+ <div class="num">17.52万人</div>
+ <div class="type">流动人口</div>
+ </div>
+ <div class="tab">
+ <div class="num">91995人</div>
+ <div class="type">境外人口</div>
+ </div>
+ </div>
+
+ <div id="PersonEcharts" class="echarts-box"></div>
+ </div>
+ <div class="land-box">
+ <div class="title">
+ <div class="one-level">现有房屋</div>
+ <!-- <div class="two-level">现有房屋</div> -->
+ </div>
+
+ <div class="sub-tab">
+ <div class="tab">
+ <div class="num">1822603户</div>
+ <div class="num">实有房屋</div>
+ </div>
+ <div class="tab">
+ <div class="num">634个</div>
+ <div class="num">关注场所</div>
+ </div>
+ </div>
+
+ <div id="LandEcharts" class="echarts-box"></div>
+ </div>
+ <div class="equipment-box">
+ <div class="title">
+ <div class="one-level">现有设备</div>
+ <!-- <div class="two-level">现有设备</div> -->
+ </div>
+
+ <div id="EquipmentEcharts" class="echarts-box"></div>
+ </div>
+ </div>
+ <div class="right-container">
+ <div class="case-box">
+ <div class="title">
+ <div class="one-level">警情动态</div>
+ <div class="two-level">当前16</div>
+ </div>
+
+ <div id="EventChangeEcharts" class="echarts-box"></div>
+ </div>
+ <div class="alert-box">
+ <div class="title">
+ <div class="one-level">警情近一年</div>
+ <div class="two-level">历史累计</div>
+ </div>
+
+ <div class="sub-title">
+ <div class="one-level">警情、案事件总量</div>
+ <div class="two-level">555578起</div>
+ </div>
+
+ <div id="EventCountEcharts" class="echarts-box"></div>
+ </div>
+ <div class="crowd-box">
+ <div class="title">
+ <div class="one-level">重点稳控/服务人群</div>
+ <div class="two-level">当前38</div>
+ </div>
+
+ <div id="peopleList" class="echarts-box">
+ <el-table
+ :data="arr"
+ style="width: 100%"
+ :header-cell-style="{'text-align':'center','background-color':'#00204f','borderColor':'#073365'}"
+ :cell-style="{'text-align':'center','borderColor':'#073365'}"
+ :row-class-name="tableRowClassName"
+ >
+ <el-table-column prop="type" label="人员类型" width="80"></el-table-column>
+ <el-table-column prop="num" label="人数" width="180"></el-table-column>
+ <el-table-column prop="radio" label="占比" width="120"></el-table-column>
+ </el-table>
+ </div>
+ </div>
+ </div>
+
+ <div class="center-container">
+ <div class="layers-control-btn">
+ <el-checkbox v-model="houseLayerShow" @change="houseChange">小区</el-checkbox>
+ </div>
+ <div class="layers-control-btn">
+ <el-checkbox v-model="carLayerShow">警车</el-checkbox>
+ </div>
+ <div class="layers-control-btn">
+ <el-checkbox v-model="phoneLayerShow">手台</el-checkbox>
+ </div>
+ <div class="layers-control-btn">
+ <el-checkbox v-model="videoLayerShow">监控</el-checkbox>
+ </div>
+ <div class="layers-control-btn">
+ <el-checkbox v-model="panoramaLayerShow">全景</el-checkbox>
+ </div>
+ </div>
+ </div>
+</template>
+
+<script>
+export default {
+ data () {
+ return {
+ navType: 0,
+ houseLayerShow: false,
+ carLayerShow: false,
+ phoneLayerShow: false,
+ videoLayerShow: false,
+ panoramaLayerShow: false,
+ arr: [{ 'type': '孤寡老人', 'num': '0', 'radio': '0.00%' }, { 'type': '邪教人员', 'num': '1', 'radio': '2.00%' }, { 'type': '上访人员', 'num': '8', 'radio': '14.00%' }, { 'type': '涉毒', 'num': '15', 'radio': '27.00%' }, { 'type': '留守儿童', 'num': '6', 'radio': '11.00%' }, { 'type': '重点青少年', 'num': '5', 'radio': '9.00%' }]
+ }
+ },
+ created () {
+
+
+
+
+
+ },
+ mounted () {
+ this.initPersonEcharts()
+ this.initLandEcharts()
+ this.initEquipmentEcharts()
+ this.initEventChangeEcharts()
+ this.initEventCountEcharts()
+
+ this.$nextTick(() => {
+ let position = [
+ [
+ [115.935114, 28.627012, 100],
+ [115.930150, 28.733535, 100],
+ [115.986738, 28.683523, 100],
+ [116.015526, 28.647454, 100],
+ ]
+ ]
+
+ position.forEach((item) => {
+ let str = ''
+ item.forEach(it => {
+ str = str + `${it[0]},${it[1]},${it[2]};`
+ })
+
+ this.$EventBus.$emit('layerPolygonAdd', {
+ layerName: 'polygonLayer',
+ positions: str,
+ material: global.DC.Namespace.Cesium.Color.fromBytes(
+ 3,
+ 255,
+ 13,
+ 10
+ ),
+ })
+ })
+ })
+ },
+ updated () {
+ },
+ methods: {
+ navClick (e) {
+ this.navType = e.target.dataset.type
+ },
+ initPersonEcharts () {
+ var chartDom = document.getElementById('PersonEcharts')
+ var myChart = this.$echarts.init(chartDom)
+ var option
+
+ option = {
+ xAxis: {
+ type: 'category',
+ data: ['湖北', '上海', '北京', '广东', '浙江'],
+ },
+ yAxis: {
+ type: 'value',
+ splitLine: {
+ show: true,
+ lineStyle: {
+ color: "rgba(0,0,255,0.1)"
+ }
+ }
+ },
+ series: [
+ {
+ data: [6414, 4231, 2211, 1231, 881],
+ type: 'bar',
+ itemStyle: {
+ normal: {
+ label: {
+ show: true,
+ position: 'top',
+ textStyle: {
+ color: '#1a94a8',
+ fontSize: 16
+ }
+ }
+ }
+ }
+ }
+ ],
+ grid: {
+ x: 40,
+ y: 10,
+ x2: 20,
+ y2: 20
+ },
+ }
+
+ option && myChart.setOption(option)
+ window.addEventListener("resize", function () {
+ myChart.resize()
+ })
+ },
+ initLandEcharts () {
+ var chartDom = document.getElementById('LandEcharts')
+ var myChart = this.$echarts.init(chartDom)
+ var option
+
+ option = {
+ color: ['#2967c4', '#112d54'],
+ xAxis: {
+ type: 'value',
+ splitLine: {
+ show: true,
+ lineStyle: {
+ color: "rgba(0,0,255,0.1)"
+ }
+ },
+ axisLine: {
+ show: false
+ },
+ axisLabel: {
+ show: false
+ },
+ axisTick: {
+ show: false
+ },
+
+ },
+ yAxis: {
+ type: 'category',
+ data: ['公共场所', '学校教培', '机动车维修', '娱乐场所', '寄递业'],
+ axisLine: {
+ show: false
+ },
+ axisTick: {
+ show: false
+ },
+
+ },
+ series: [
+ {
+ data: [54, 77, 97, 141, 191],
+ type: 'bar',
+ zlevel: 2,
+ },
+ {
+ data: [{ 'value': 191, 'realValue': 54 }, { 'value': 191, 'realValue': 77 }, { 'value': 191, 'realValue': 97 }, { 'value': 191, 'realValue': 141 }, { 'value': 191, 'realValue': 191 }],
+ type: 'bar',
+ barGap: '-100%',
+ label: {
+ show: true,
+ color: '#fff',
+ position: 'right', // 标签右对齐
+ distance: 5,// 标签距离柱条的距离
+ formatter: params => {
+ return params.data.realValue + '个'
+ }
+ }
+ }
+ ],
+ grid: {
+ x: 70,
+ y: 10,
+ x2: 10,
+ y2: 20
+ },
+ }
+
+ option && myChart.setOption(option)
+ },
+ initEquipmentEcharts () {
+ var chartDom = document.getElementById('EquipmentEcharts')
+ var myChart = this.$echarts.init(chartDom)
+ var option
+ var regionTotal = 0
+ let dataArr = [
+ { value: 21438, name: '未知' },
+ { value: 4664, name: '固定枪机' },
+ { value: 310, name: '固定球机' },
+ { value: 279, name: '可控球机' },
+ { value: 241, name: '卡口枪击' },
+ { value: 5, name: '云台枪击' }
+ ]
+ for (let i = 0; i < dataArr.length; i++) {
+ regionTotal += dataArr[i].value
+ }
+ console.log(regionTotal)
+ option = {
+ title: {
+ show: true,
+ text: ['{a|摄像头总数}', `{b|${regionTotal}个}`].join(' '), // 主副标题
+ left: 'left',
+ textStyle: {
+ rich: {
+ a: {
+ fontWeight: 'normal',
+ fontSize: 16,
+ color: '#fff'
+ },
+ b: {
+ fontSize: 22,
+ fontWeight: 'bolder',
+ color: '#fff'
+ }
+ }
+ }
+ },
+ tooltip: {
+ trigger: 'item'
+ },
+ legend: {
+ left: '55%',
+ y: '20%',
+ itemGap: 10,
+ textStyle: {
+ color: '#fff'
+ },
+ formatter: function (name) {
+ let data = option.series[0].data
+ let tarValue
+ for (let i = 0; i < data.length; i++) {
+ if (data[i].name == name) {
+ tarValue = data[i].value
+ }
+ }
+ let v = tarValue
+ return `${name} ${v} 个 `
+ },
+ },
+ series: [
+ {
+ name: 'Access From',
+ type: 'pie',
+ radius: ['40%', '70%'],
+ center: ['27%', '57%'],
+ avoidLabelOverlap: false,
+ label: {
+ show: false,
+ position: 'center'
+ },
+ emphasis: {
+ label: {
+ show: true,
+ fontSize: '40',
+ fontWeight: 'bold'
+ }
+ },
+ labelLine: {
+ show: false
+ },
+ data: dataArr
+ }
+ ],
+ grid: {
+ x: 10,
+ y: 10,
+ x2: 10,
+ y2: 20
+ },
+ }
+
+ option && myChart.setOption(option)
+ },
+ initEventChangeEcharts () {
+ var chartDom = document.getElementById('EventChangeEcharts')
+ var myChart = this.$echarts.init(chartDom)
+ var option
+
+ option = {
+ xAxis: {
+ type: 'category',
+ data: ['3-26', '3-27', '3-28', '3-29', '3-30', '3-31', '4-1']
+ },
+ yAxis: {
+ type: 'value',
+ splitLine: {
+ show: true,
+ lineStyle: {
+ color: "rgba(0,0,255,0.1)"
+ }
+ },
+ },
+ series: [
+ {
+ data: [0, 1, 0, 2, 0, 1, 0],
+ type: 'line'
+ }
+ ],
+ grid: {
+ x: 30,
+ y: 40,
+ x2: 10,
+ y2: 20
+ },
+ }
+
+ option && myChart.setOption(option)
+
+ },
+ initEventCountEcharts () {
+ var chartDom = document.getElementById('EventCountEcharts')
+ var myChart = this.$echarts.init(chartDom)
+ var option
+
+ option = {
+ tooltip: {
+ trigger: 'item'
+ },
+ legend: {
+ left: '75%',
+ y: '10%',
+ itemGap: 25,
+ textStyle: {
+ color: '#fff' // 图例文字颜色
+ }
+ },
+ series: [
+ {
+ name: 'Access From',
+ type: 'pie',
+ radius: ['40%', '70%'],
+ center: ['40%', '60%'],
+ avoidLabelOverlap: false,
+ label: {
+ show: false,
+ position: 'center'
+ },
+ emphasis: {
+ label: {
+ show: true,
+ fontSize: '40',
+ fontWeight: 'bold'
+ }
+ },
+ labelLine: {
+ show: false
+ },
+ data: [
+ { value: 4659154, name: '入室盗窃' },
+ { value: 916685, name: '抢劫抢夺' },
+ { value: 916685, name: '汽车被盗' },
+ { value: 916685, name: '交通事故' },
+ { value: 916685, name: '打架斗殴' },
+ { value: 916685, name: '走失人口' }
+ ]
+ }
+ ],
+ grid: {
+ x: 10,
+ y: 10,
+ x2: 10,
+ y2: 20
+ },
+ }
+
+ option && myChart.setOption(option)
+ },
+ tableRowClassName () {
+ // if ((rowIndex + 1) % 2 === 0) {
+ return "aa"
+ // } else {
+ // return "background:rgba(0,8,1,0.1)"
+ // }
+ },
+ }
+}
+</script>
+
+<style scoped lang="scss">
+.container {
+ color: #fff;
+
+ .left-container {
+ position: fixed;
+ top: 80px;
+ left: 0;
+ width: 400px;
+ height: calc(100% - 80px);
+ background: rgba(7, 22, 37, 0.8);
+
+ .person-box {
+ height: 40%;
+ }
+
+ .land-box,
+ .equipment-box {
+ height: 30%;
+ }
+ }
+
+ .right-container {
+ position: fixed;
+ top: 80px;
+ right: 0;
+ width: 400px;
+ height: calc(100% - 80px);
+ background: rgba(7, 22, 37, 0.8);
+
+ .case-box {
+ height: 30%;
+ }
+
+ .alert-box,
+ .crowd-box {
+ height: 35%;
+ .el-table__row.statistics-warning-row {
+ background: #ff0000;
+ }
+ }
+ ::v-deep .el-table tr:nth-child(2n) {
+ background: #03254c;
+ color: #fff;
+ }
+ ::v-deep .el-table tr:nth-child(2n-1) {
+ background: #26426a;
+ color: #fff;
+ }
+ ::v-deep .el-table tr:hover td {
+ color: #000;
+ }
+ }
+
+ .left-container,
+ .right-container {
+ .person-box,
+ .land-box,
+ .equipment-box,
+ .case-box,
+ .alert-box,
+ .crowd-box {
+ display: flex;
+ flex-direction: column;
+ padding: 10px;
+
+ .title {
+ display: flex;
+ justify-content: space-between;
+ height: 40px;
+ }
+
+ .sub-title {
+ display: flex;
+ justify-content: space-between;
+ height: 36px;
+ }
+
+ .sub-tab {
+ display: flex;
+
+ .tab {
+ margin: 0 10px;
+ flex: 1;
+ background: rgba(5, 21, 38, 0.8);
+ border: 1px solid #fff;
+
+ & > div {
+ height: 26px;
+ line-height: 26px;
+ }
+ }
+ }
+
+ .echarts-box {
+ flex: 1;
+ }
+
+ .sub-tab + .echarts-box {
+ margin-top: 10px;
+ }
+ }
+ }
+
+ .center-container {
+ display: flex;
+ position: fixed;
+ left: 50%;
+ bottom: 80px;
+ transform: translate(-50%, 0);
+
+ .layers-control-btn {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ margin: 0 10px;
+ width: 160px;
+ height: 60px;
+ background: rgba(7, 22, 37, 0.8);
+ }
+ }
+}
+</style>
diff --git a/src/views/home/index.vue b/src/views/home/index.vue
index 0e99c7f..aaeaa8a 100644
--- a/src/views/home/index.vue
+++ b/src/views/home/index.vue
@@ -2,7 +2,7 @@
* @Author: shuishen 1109946754@qq.com
* @Date: 2022-08-18 16:18:17
* @LastEditors: shuishen 1109946754@qq.com
- * @LastEditTime: 2022-09-17 10:40:49
+ * @LastEditTime: 2022-09-19 18:29:26
* @FilePath: \srs-police-affairs\src\views\home\index.vue
* @Description: 小区-栋-层-房屋
*
@@ -114,7 +114,7 @@
<div class="center-container">
<div class="layers-control-btn">
- <el-checkbox v-model="houseLayerShow">小区</el-checkbox>
+ <el-checkbox v-model="houseLayerShow" @change="houseChange">小区</el-checkbox>
</div>
<div class="layers-control-btn">
<el-checkbox v-model="carLayerShow">警车</el-checkbox>
@@ -146,6 +146,11 @@
}
},
created () {
+
+
+
+
+
},
mounted () {
this.initPersonEcharts()
@@ -153,6 +158,35 @@
this.initEquipmentEcharts()
this.initEventChangeEcharts()
this.initEventCountEcharts()
+
+ this.$nextTick(() => {
+ let position = [
+ [
+ [115.935114, 28.627012, 100],
+ [115.930150, 28.733535, 100],
+ [115.986738, 28.683523, 100],
+ [116.015526, 28.647454, 100],
+ ]
+ ]
+
+ position.forEach((item) => {
+ let str = ''
+ item.forEach(it => {
+ str = str + `${it[0]},${it[1]},${it[2]};`
+ })
+
+ this.$EventBus.$emit('layerPolygonAdd', {
+ layerName: 'polygonLayer',
+ positions: str,
+ material: global.DC.Namespace.Cesium.Color.fromBytes(
+ 3,
+ 255,
+ 13,
+ 10
+ ),
+ })
+ })
+ })
},
updated () {
},
@@ -465,6 +499,29 @@
option && myChart.setOption(option)
},
+<<<<<<< HEAD
+ tableRowClassName () {
+ // if ((rowIndex + 1) % 2 === 0) {
+ return "aa"
+ // } else {
+ // return "background:rgba(0,8,1,0.1)"
+ // }
+ },
+
+ houseChange (e) {
+ if (e == true) {
+ this.$EventBus.$emit('addMxTileset', {
+ titlesetName: 'sdTilesetLayer',
+ titlesetUrl: "/sd/tileset.json"
+ })
+ } else {
+ this.$EventBus.$emit('removeMxTileset', {
+ titlesetName: 'sdTilesetLayer'
+ })
+ }
+ }
+=======
+>>>>>>> 0296d220b566f61bbedd8f422bbf3f03b5641a47
}
}
</script>
--
Gitblit v1.9.3