diff --git a/src/api/ywts/shms/jy.js b/src/api/ywts/shms/jy.js
index f3ac251..56f48e3 100644
--- a/src/api/ywts/shms/jy.js
+++ b/src/api/ywts/shms/jy.js
@@ -116,7 +116,7 @@
return request({
url: 'zhjy-gktj/zhjy/sbdwlb',
method: 'post',
- data,
+ // data,
params: data
})
}
diff --git a/src/api/ywts/shms/jy.js b/src/api/ywts/shms/jy.js
index f3ac251..56f48e3 100644
--- a/src/api/ywts/shms/jy.js
+++ b/src/api/ywts/shms/jy.js
@@ -116,7 +116,7 @@
return request({
url: 'zhjy-gktj/zhjy/sbdwlb',
method: 'post',
- data,
+ // data,
params: data
})
}
diff --git a/src/api/ywts/shms/sq.js b/src/api/ywts/shms/sq.js
new file mode 100644
index 0000000..04a5447
--- /dev/null
+++ b/src/api/ywts/shms/sq.js
@@ -0,0 +1,123 @@
+/**
+ * 社区接口
+ */
+import request from '@/utils/request'
+
+// 社区点位列表
+export function getCommunityList() {
+ return request({
+ url: 'zhsq-gktj/zhsq/sqdwlb',
+ method: 'post',
+ })
+}
+
+// 人员热力图
+export function getHeat() {
+ return request({
+ url: 'zhsq-gktj/zhsq/sqyyrlt',
+ method: 'post',
+ })
+}
+
+// 设备点位
+export function getDevice() {
+ return request({
+ url: 'zhsq-gktj/zhsq/sbdwlb',
+ method: 'post',
+ params: {
+ type: '',
+ keywords: ''
+ }
+ })
+}
+
+// 社区车辆
+export function getCar() {
+ return request({
+ url: 'zhsq-gktj/zhsq/sqbyl',
+ method: 'post',
+ })
+}
+
+// 事件点位列表
+export function getCase(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/sjdwlb',
+ method: 'post',
+ params:{
+ ...data
+ }
+ })
+}
+
+// 事件详情
+export function getCaseList(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/zjlbfy',
+ method: 'post',
+ params:{
+ ...data
+ }
+ })
+}
+// 获取社区基本信息
+export function getBaseInfo(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/sqdwxq',
+ method: 'post',
+ params:{
+ ...data
+ },
+ // data
+ })
+}
+// 居民年龄统计
+export function getAgeStatistics(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/jmnltj',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
+// 居民流动比例
+export function getCurrentRatio(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/jmldbl',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
+// 近1年人房车占比统计
+export function getPersonCarRatio(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/rfczbtj',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
+// 近1月居民通行量分析
+export function getTransitrRatio(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/jmtxlfx',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
+// 近1月高频事件排行榜
+export function getCaseRank(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/gpsjphb',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
diff --git a/src/api/ywts/shms/jy.js b/src/api/ywts/shms/jy.js
index f3ac251..56f48e3 100644
--- a/src/api/ywts/shms/jy.js
+++ b/src/api/ywts/shms/jy.js
@@ -116,7 +116,7 @@
return request({
url: 'zhjy-gktj/zhjy/sbdwlb',
method: 'post',
- data,
+ // data,
params: data
})
}
diff --git a/src/api/ywts/shms/sq.js b/src/api/ywts/shms/sq.js
new file mode 100644
index 0000000..04a5447
--- /dev/null
+++ b/src/api/ywts/shms/sq.js
@@ -0,0 +1,123 @@
+/**
+ * 社区接口
+ */
+import request from '@/utils/request'
+
+// 社区点位列表
+export function getCommunityList() {
+ return request({
+ url: 'zhsq-gktj/zhsq/sqdwlb',
+ method: 'post',
+ })
+}
+
+// 人员热力图
+export function getHeat() {
+ return request({
+ url: 'zhsq-gktj/zhsq/sqyyrlt',
+ method: 'post',
+ })
+}
+
+// 设备点位
+export function getDevice() {
+ return request({
+ url: 'zhsq-gktj/zhsq/sbdwlb',
+ method: 'post',
+ params: {
+ type: '',
+ keywords: ''
+ }
+ })
+}
+
+// 社区车辆
+export function getCar() {
+ return request({
+ url: 'zhsq-gktj/zhsq/sqbyl',
+ method: 'post',
+ })
+}
+
+// 事件点位列表
+export function getCase(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/sjdwlb',
+ method: 'post',
+ params:{
+ ...data
+ }
+ })
+}
+
+// 事件详情
+export function getCaseList(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/zjlbfy',
+ method: 'post',
+ params:{
+ ...data
+ }
+ })
+}
+// 获取社区基本信息
+export function getBaseInfo(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/sqdwxq',
+ method: 'post',
+ params:{
+ ...data
+ },
+ // data
+ })
+}
+// 居民年龄统计
+export function getAgeStatistics(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/jmnltj',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
+// 居民流动比例
+export function getCurrentRatio(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/jmldbl',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
+// 近1年人房车占比统计
+export function getPersonCarRatio(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/rfczbtj',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
+// 近1月居民通行量分析
+export function getTransitrRatio(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/jmtxlfx',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
+// 近1月高频事件排行榜
+export function getCaseRank(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/gpsjphb',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
diff --git a/src/api/ywts/zyhj/hb.js b/src/api/ywts/zyhj/hb.js
index 5e598d1..07625d1 100644
--- a/src/api/ywts/zyhj/hb.js
+++ b/src/api/ywts/zyhj/hb.js
@@ -8,7 +8,10 @@
return request({
url: 'zhhb-gktj/zhhb/gktj',
method: 'post',
- data
+ data,
+ params: {
+ ...data,
+ }
})
}
// 环保点位列表
@@ -19,3 +22,26 @@
data
})
}
+// 环保告警列表
+export function getAlarmList(data) {
+ return request({
+ url: 'zhhb-gktj/zhhb/hbgjlb',
+ method: 'post',
+ // data
+ params: {
+ ...data
+ }
+ })
+}
+
+// 环保事件列表
+export function getCaseList(data) {
+ return request({
+ url: 'zhhb-gktj/zhhb/hbsjlbfy',
+ method: 'post',
+ // data
+ params: {
+ ...data
+ }
+ })
+}
diff --git a/src/api/ywts/shms/jy.js b/src/api/ywts/shms/jy.js
index f3ac251..56f48e3 100644
--- a/src/api/ywts/shms/jy.js
+++ b/src/api/ywts/shms/jy.js
@@ -116,7 +116,7 @@
return request({
url: 'zhjy-gktj/zhjy/sbdwlb',
method: 'post',
- data,
+ // data,
params: data
})
}
diff --git a/src/api/ywts/shms/sq.js b/src/api/ywts/shms/sq.js
new file mode 100644
index 0000000..04a5447
--- /dev/null
+++ b/src/api/ywts/shms/sq.js
@@ -0,0 +1,123 @@
+/**
+ * 社区接口
+ */
+import request from '@/utils/request'
+
+// 社区点位列表
+export function getCommunityList() {
+ return request({
+ url: 'zhsq-gktj/zhsq/sqdwlb',
+ method: 'post',
+ })
+}
+
+// 人员热力图
+export function getHeat() {
+ return request({
+ url: 'zhsq-gktj/zhsq/sqyyrlt',
+ method: 'post',
+ })
+}
+
+// 设备点位
+export function getDevice() {
+ return request({
+ url: 'zhsq-gktj/zhsq/sbdwlb',
+ method: 'post',
+ params: {
+ type: '',
+ keywords: ''
+ }
+ })
+}
+
+// 社区车辆
+export function getCar() {
+ return request({
+ url: 'zhsq-gktj/zhsq/sqbyl',
+ method: 'post',
+ })
+}
+
+// 事件点位列表
+export function getCase(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/sjdwlb',
+ method: 'post',
+ params:{
+ ...data
+ }
+ })
+}
+
+// 事件详情
+export function getCaseList(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/zjlbfy',
+ method: 'post',
+ params:{
+ ...data
+ }
+ })
+}
+// 获取社区基本信息
+export function getBaseInfo(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/sqdwxq',
+ method: 'post',
+ params:{
+ ...data
+ },
+ // data
+ })
+}
+// 居民年龄统计
+export function getAgeStatistics(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/jmnltj',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
+// 居民流动比例
+export function getCurrentRatio(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/jmldbl',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
+// 近1年人房车占比统计
+export function getPersonCarRatio(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/rfczbtj',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
+// 近1月居民通行量分析
+export function getTransitrRatio(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/jmtxlfx',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
+// 近1月高频事件排行榜
+export function getCaseRank(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/gpsjphb',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
diff --git a/src/api/ywts/zyhj/hb.js b/src/api/ywts/zyhj/hb.js
index 5e598d1..07625d1 100644
--- a/src/api/ywts/zyhj/hb.js
+++ b/src/api/ywts/zyhj/hb.js
@@ -8,7 +8,10 @@
return request({
url: 'zhhb-gktj/zhhb/gktj',
method: 'post',
- data
+ data,
+ params: {
+ ...data,
+ }
})
}
// 环保点位列表
@@ -19,3 +22,26 @@
data
})
}
+// 环保告警列表
+export function getAlarmList(data) {
+ return request({
+ url: 'zhhb-gktj/zhhb/hbgjlb',
+ method: 'post',
+ // data
+ params: {
+ ...data
+ }
+ })
+}
+
+// 环保事件列表
+export function getCaseList(data) {
+ return request({
+ url: 'zhhb-gktj/zhhb/hbsjlbfy',
+ method: 'post',
+ // data
+ params: {
+ ...data
+ }
+ })
+}
diff --git a/src/api/ywts/zyhj/yl.js b/src/api/ywts/zyhj/yl.js
index 63d7ad2..643e3d4 100644
--- a/src/api/ywts/zyhj/yl.js
+++ b/src/api/ywts/zyhj/yl.js
@@ -88,6 +88,9 @@
url: 'zhyl-gktjljk/zhyl/sjxq',
method: 'post',
data,
+ params: {
+ ...data,
+ }
})
}
// 苗木点位列表
diff --git a/src/api/ywts/shms/jy.js b/src/api/ywts/shms/jy.js
index f3ac251..56f48e3 100644
--- a/src/api/ywts/shms/jy.js
+++ b/src/api/ywts/shms/jy.js
@@ -116,7 +116,7 @@
return request({
url: 'zhjy-gktj/zhjy/sbdwlb',
method: 'post',
- data,
+ // data,
params: data
})
}
diff --git a/src/api/ywts/shms/sq.js b/src/api/ywts/shms/sq.js
new file mode 100644
index 0000000..04a5447
--- /dev/null
+++ b/src/api/ywts/shms/sq.js
@@ -0,0 +1,123 @@
+/**
+ * 社区接口
+ */
+import request from '@/utils/request'
+
+// 社区点位列表
+export function getCommunityList() {
+ return request({
+ url: 'zhsq-gktj/zhsq/sqdwlb',
+ method: 'post',
+ })
+}
+
+// 人员热力图
+export function getHeat() {
+ return request({
+ url: 'zhsq-gktj/zhsq/sqyyrlt',
+ method: 'post',
+ })
+}
+
+// 设备点位
+export function getDevice() {
+ return request({
+ url: 'zhsq-gktj/zhsq/sbdwlb',
+ method: 'post',
+ params: {
+ type: '',
+ keywords: ''
+ }
+ })
+}
+
+// 社区车辆
+export function getCar() {
+ return request({
+ url: 'zhsq-gktj/zhsq/sqbyl',
+ method: 'post',
+ })
+}
+
+// 事件点位列表
+export function getCase(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/sjdwlb',
+ method: 'post',
+ params:{
+ ...data
+ }
+ })
+}
+
+// 事件详情
+export function getCaseList(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/zjlbfy',
+ method: 'post',
+ params:{
+ ...data
+ }
+ })
+}
+// 获取社区基本信息
+export function getBaseInfo(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/sqdwxq',
+ method: 'post',
+ params:{
+ ...data
+ },
+ // data
+ })
+}
+// 居民年龄统计
+export function getAgeStatistics(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/jmnltj',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
+// 居民流动比例
+export function getCurrentRatio(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/jmldbl',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
+// 近1年人房车占比统计
+export function getPersonCarRatio(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/rfczbtj',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
+// 近1月居民通行量分析
+export function getTransitrRatio(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/jmtxlfx',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
+// 近1月高频事件排行榜
+export function getCaseRank(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/gpsjphb',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
diff --git a/src/api/ywts/zyhj/hb.js b/src/api/ywts/zyhj/hb.js
index 5e598d1..07625d1 100644
--- a/src/api/ywts/zyhj/hb.js
+++ b/src/api/ywts/zyhj/hb.js
@@ -8,7 +8,10 @@
return request({
url: 'zhhb-gktj/zhhb/gktj',
method: 'post',
- data
+ data,
+ params: {
+ ...data,
+ }
})
}
// 环保点位列表
@@ -19,3 +22,26 @@
data
})
}
+// 环保告警列表
+export function getAlarmList(data) {
+ return request({
+ url: 'zhhb-gktj/zhhb/hbgjlb',
+ method: 'post',
+ // data
+ params: {
+ ...data
+ }
+ })
+}
+
+// 环保事件列表
+export function getCaseList(data) {
+ return request({
+ url: 'zhhb-gktj/zhhb/hbsjlbfy',
+ method: 'post',
+ // data
+ params: {
+ ...data
+ }
+ })
+}
diff --git a/src/api/ywts/zyhj/yl.js b/src/api/ywts/zyhj/yl.js
index 63d7ad2..643e3d4 100644
--- a/src/api/ywts/zyhj/yl.js
+++ b/src/api/ywts/zyhj/yl.js
@@ -88,6 +88,9 @@
url: 'zhyl-gktjljk/zhyl/sjxq',
method: 'post',
data,
+ params: {
+ ...data,
+ }
})
}
// 苗木点位列表
diff --git a/src/components/CommonFunction/index.vue b/src/components/CommonFunction/index.vue
index 1a10acb..c2eba44 100644
--- a/src/components/CommonFunction/index.vue
+++ b/src/components/CommonFunction/index.vue
@@ -5,8 +5,8 @@
@click="btnClick" />
-
+
@@ -21,7 +21,7 @@
import CommonBtn from "../CommonBtn";
import { clearUpMap } from '@/utils/freedo/index'
-import { initPosition, initPage } from "../../utils/freedo";
+import { initPosition, initPage } from "../../utils/freedo";
import mapJson from "@/assets/mapJson/map.json";
import { eventBus } from "../../main";
@@ -59,11 +59,11 @@
disabled: true,
"children": [
{ "id": 41, "label": "智慧教育-手工模型", disabled: true },
- { "id": 42, "label": "智慧停车云-手工模型", disabled: true },
- { "id": 43, "label": "智慧社区-手工模型", disabled: true },
- { "id": 44, "label": "智慧工地-手工模型", disabled: true },
- { "id": 45, "label": "智慧交通-手工模型", disabled: true },
- { "id": 46, "label": "智慧园林-手工模型", disabled: true }
+ { "id": 42, "label": "智慧停车云-手工模型", disabled: true },
+ { "id": 43, "label": "智慧社区-手工模型", disabled: true },
+ { "id": 44, "label": "智慧工地-手工模型", disabled: true },
+ { "id": 45, "label": "智慧交通-手工模型", disabled: true },
+ { "id": 46, "label": "智慧园林-手工模型", disabled: true }
]
}, {
"id": 5,
@@ -95,8 +95,8 @@
setTimeout(() => {
this.tree.forEach((item) => {
item.disabled = false
- if(item.children) {
- item.children = item.children.map((item) => ({ ...item,disabled: false}))
+ if (item.children) {
+ item.children = item.children.map((item) => ({ ...item, disabled: false }))
}
})
}, 5000)
@@ -125,7 +125,7 @@
handler(data, checked, indeterminate)
}
else {
- if(data.id.toString() === '5' && checked) {
+ if (data.id.toString() === '5' && checked) {
window.terrainManager.visible = true
return
}
@@ -143,14 +143,18 @@
},
btnClick(e) {
this.showLayerTree = false
+ this.clearDialog()
if (e.target.id === 'initBtn') {
initPosition()
} else if (e.target.id === 'clearBtn') {
clearUpMap()
} else if (e.target.id === 'layerBtn') {
- // clearUpMap()
this.showLayerTree = true
}
+ },
+ // 清空地图弹窗
+ clearDialog() {
+ this.$bus.$emit('clear')
}
}
}
@@ -178,7 +182,7 @@
right: 20px;
top: 1rem;
display: flex;
- width: 20rem;
+ width: 15rem;
height: 5rem;
z-index: 1111111111;
}
diff --git a/src/api/ywts/shms/jy.js b/src/api/ywts/shms/jy.js
index f3ac251..56f48e3 100644
--- a/src/api/ywts/shms/jy.js
+++ b/src/api/ywts/shms/jy.js
@@ -116,7 +116,7 @@
return request({
url: 'zhjy-gktj/zhjy/sbdwlb',
method: 'post',
- data,
+ // data,
params: data
})
}
diff --git a/src/api/ywts/shms/sq.js b/src/api/ywts/shms/sq.js
new file mode 100644
index 0000000..04a5447
--- /dev/null
+++ b/src/api/ywts/shms/sq.js
@@ -0,0 +1,123 @@
+/**
+ * 社区接口
+ */
+import request from '@/utils/request'
+
+// 社区点位列表
+export function getCommunityList() {
+ return request({
+ url: 'zhsq-gktj/zhsq/sqdwlb',
+ method: 'post',
+ })
+}
+
+// 人员热力图
+export function getHeat() {
+ return request({
+ url: 'zhsq-gktj/zhsq/sqyyrlt',
+ method: 'post',
+ })
+}
+
+// 设备点位
+export function getDevice() {
+ return request({
+ url: 'zhsq-gktj/zhsq/sbdwlb',
+ method: 'post',
+ params: {
+ type: '',
+ keywords: ''
+ }
+ })
+}
+
+// 社区车辆
+export function getCar() {
+ return request({
+ url: 'zhsq-gktj/zhsq/sqbyl',
+ method: 'post',
+ })
+}
+
+// 事件点位列表
+export function getCase(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/sjdwlb',
+ method: 'post',
+ params:{
+ ...data
+ }
+ })
+}
+
+// 事件详情
+export function getCaseList(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/zjlbfy',
+ method: 'post',
+ params:{
+ ...data
+ }
+ })
+}
+// 获取社区基本信息
+export function getBaseInfo(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/sqdwxq',
+ method: 'post',
+ params:{
+ ...data
+ },
+ // data
+ })
+}
+// 居民年龄统计
+export function getAgeStatistics(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/jmnltj',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
+// 居民流动比例
+export function getCurrentRatio(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/jmldbl',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
+// 近1年人房车占比统计
+export function getPersonCarRatio(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/rfczbtj',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
+// 近1月居民通行量分析
+export function getTransitrRatio(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/jmtxlfx',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
+// 近1月高频事件排行榜
+export function getCaseRank(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/gpsjphb',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
diff --git a/src/api/ywts/zyhj/hb.js b/src/api/ywts/zyhj/hb.js
index 5e598d1..07625d1 100644
--- a/src/api/ywts/zyhj/hb.js
+++ b/src/api/ywts/zyhj/hb.js
@@ -8,7 +8,10 @@
return request({
url: 'zhhb-gktj/zhhb/gktj',
method: 'post',
- data
+ data,
+ params: {
+ ...data,
+ }
})
}
// 环保点位列表
@@ -19,3 +22,26 @@
data
})
}
+// 环保告警列表
+export function getAlarmList(data) {
+ return request({
+ url: 'zhhb-gktj/zhhb/hbgjlb',
+ method: 'post',
+ // data
+ params: {
+ ...data
+ }
+ })
+}
+
+// 环保事件列表
+export function getCaseList(data) {
+ return request({
+ url: 'zhhb-gktj/zhhb/hbsjlbfy',
+ method: 'post',
+ // data
+ params: {
+ ...data
+ }
+ })
+}
diff --git a/src/api/ywts/zyhj/yl.js b/src/api/ywts/zyhj/yl.js
index 63d7ad2..643e3d4 100644
--- a/src/api/ywts/zyhj/yl.js
+++ b/src/api/ywts/zyhj/yl.js
@@ -88,6 +88,9 @@
url: 'zhyl-gktjljk/zhyl/sjxq',
method: 'post',
data,
+ params: {
+ ...data,
+ }
})
}
// 苗木点位列表
diff --git a/src/components/CommonFunction/index.vue b/src/components/CommonFunction/index.vue
index 1a10acb..c2eba44 100644
--- a/src/components/CommonFunction/index.vue
+++ b/src/components/CommonFunction/index.vue
@@ -5,8 +5,8 @@
@click="btnClick" />
-
+
@@ -21,7 +21,7 @@
import CommonBtn from "../CommonBtn";
import { clearUpMap } from '@/utils/freedo/index'
-import { initPosition, initPage } from "../../utils/freedo";
+import { initPosition, initPage } from "../../utils/freedo";
import mapJson from "@/assets/mapJson/map.json";
import { eventBus } from "../../main";
@@ -59,11 +59,11 @@
disabled: true,
"children": [
{ "id": 41, "label": "智慧教育-手工模型", disabled: true },
- { "id": 42, "label": "智慧停车云-手工模型", disabled: true },
- { "id": 43, "label": "智慧社区-手工模型", disabled: true },
- { "id": 44, "label": "智慧工地-手工模型", disabled: true },
- { "id": 45, "label": "智慧交通-手工模型", disabled: true },
- { "id": 46, "label": "智慧园林-手工模型", disabled: true }
+ { "id": 42, "label": "智慧停车云-手工模型", disabled: true },
+ { "id": 43, "label": "智慧社区-手工模型", disabled: true },
+ { "id": 44, "label": "智慧工地-手工模型", disabled: true },
+ { "id": 45, "label": "智慧交通-手工模型", disabled: true },
+ { "id": 46, "label": "智慧园林-手工模型", disabled: true }
]
}, {
"id": 5,
@@ -95,8 +95,8 @@
setTimeout(() => {
this.tree.forEach((item) => {
item.disabled = false
- if(item.children) {
- item.children = item.children.map((item) => ({ ...item,disabled: false}))
+ if (item.children) {
+ item.children = item.children.map((item) => ({ ...item, disabled: false }))
}
})
}, 5000)
@@ -125,7 +125,7 @@
handler(data, checked, indeterminate)
}
else {
- if(data.id.toString() === '5' && checked) {
+ if (data.id.toString() === '5' && checked) {
window.terrainManager.visible = true
return
}
@@ -143,14 +143,18 @@
},
btnClick(e) {
this.showLayerTree = false
+ this.clearDialog()
if (e.target.id === 'initBtn') {
initPosition()
} else if (e.target.id === 'clearBtn') {
clearUpMap()
} else if (e.target.id === 'layerBtn') {
- // clearUpMap()
this.showLayerTree = true
}
+ },
+ // 清空地图弹窗
+ clearDialog() {
+ this.$bus.$emit('clear')
}
}
}
@@ -178,7 +182,7 @@
right: 20px;
top: 1rem;
display: flex;
- width: 20rem;
+ width: 15rem;
height: 5rem;
z-index: 1111111111;
}
diff --git a/src/pages/csdz/iot/index.vue b/src/pages/csdz/iot/index.vue
index 63b60ea..8aefaea 100644
--- a/src/pages/csdz/iot/index.vue
+++ b/src/pages/csdz/iot/index.vue
@@ -259,8 +259,8 @@
localPoint(e) {
// this.childrenClick(e)
this.clickIcon({
- _data:{
- data:e
+ _data: {
+ data: e
}
})
},
@@ -280,6 +280,11 @@
},
mounted() {
this.search()
+ this.$bus.$on('clear', () => {
+ this.isShowEvent = false
+ this.isShowEventPop = false
+ this.isShowPop = false
+ })
// getStatistics().then(res => {
// if (res.code === 200 && res.data.value.length) {
// console.log(res.data, '')
diff --git a/src/api/ywts/shms/jy.js b/src/api/ywts/shms/jy.js
index f3ac251..56f48e3 100644
--- a/src/api/ywts/shms/jy.js
+++ b/src/api/ywts/shms/jy.js
@@ -116,7 +116,7 @@
return request({
url: 'zhjy-gktj/zhjy/sbdwlb',
method: 'post',
- data,
+ // data,
params: data
})
}
diff --git a/src/api/ywts/shms/sq.js b/src/api/ywts/shms/sq.js
new file mode 100644
index 0000000..04a5447
--- /dev/null
+++ b/src/api/ywts/shms/sq.js
@@ -0,0 +1,123 @@
+/**
+ * 社区接口
+ */
+import request from '@/utils/request'
+
+// 社区点位列表
+export function getCommunityList() {
+ return request({
+ url: 'zhsq-gktj/zhsq/sqdwlb',
+ method: 'post',
+ })
+}
+
+// 人员热力图
+export function getHeat() {
+ return request({
+ url: 'zhsq-gktj/zhsq/sqyyrlt',
+ method: 'post',
+ })
+}
+
+// 设备点位
+export function getDevice() {
+ return request({
+ url: 'zhsq-gktj/zhsq/sbdwlb',
+ method: 'post',
+ params: {
+ type: '',
+ keywords: ''
+ }
+ })
+}
+
+// 社区车辆
+export function getCar() {
+ return request({
+ url: 'zhsq-gktj/zhsq/sqbyl',
+ method: 'post',
+ })
+}
+
+// 事件点位列表
+export function getCase(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/sjdwlb',
+ method: 'post',
+ params:{
+ ...data
+ }
+ })
+}
+
+// 事件详情
+export function getCaseList(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/zjlbfy',
+ method: 'post',
+ params:{
+ ...data
+ }
+ })
+}
+// 获取社区基本信息
+export function getBaseInfo(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/sqdwxq',
+ method: 'post',
+ params:{
+ ...data
+ },
+ // data
+ })
+}
+// 居民年龄统计
+export function getAgeStatistics(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/jmnltj',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
+// 居民流动比例
+export function getCurrentRatio(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/jmldbl',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
+// 近1年人房车占比统计
+export function getPersonCarRatio(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/rfczbtj',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
+// 近1月居民通行量分析
+export function getTransitrRatio(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/jmtxlfx',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
+// 近1月高频事件排行榜
+export function getCaseRank(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/gpsjphb',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
diff --git a/src/api/ywts/zyhj/hb.js b/src/api/ywts/zyhj/hb.js
index 5e598d1..07625d1 100644
--- a/src/api/ywts/zyhj/hb.js
+++ b/src/api/ywts/zyhj/hb.js
@@ -8,7 +8,10 @@
return request({
url: 'zhhb-gktj/zhhb/gktj',
method: 'post',
- data
+ data,
+ params: {
+ ...data,
+ }
})
}
// 环保点位列表
@@ -19,3 +22,26 @@
data
})
}
+// 环保告警列表
+export function getAlarmList(data) {
+ return request({
+ url: 'zhhb-gktj/zhhb/hbgjlb',
+ method: 'post',
+ // data
+ params: {
+ ...data
+ }
+ })
+}
+
+// 环保事件列表
+export function getCaseList(data) {
+ return request({
+ url: 'zhhb-gktj/zhhb/hbsjlbfy',
+ method: 'post',
+ // data
+ params: {
+ ...data
+ }
+ })
+}
diff --git a/src/api/ywts/zyhj/yl.js b/src/api/ywts/zyhj/yl.js
index 63d7ad2..643e3d4 100644
--- a/src/api/ywts/zyhj/yl.js
+++ b/src/api/ywts/zyhj/yl.js
@@ -88,6 +88,9 @@
url: 'zhyl-gktjljk/zhyl/sjxq',
method: 'post',
data,
+ params: {
+ ...data,
+ }
})
}
// 苗木点位列表
diff --git a/src/components/CommonFunction/index.vue b/src/components/CommonFunction/index.vue
index 1a10acb..c2eba44 100644
--- a/src/components/CommonFunction/index.vue
+++ b/src/components/CommonFunction/index.vue
@@ -5,8 +5,8 @@
@click="btnClick" />
-
+
@@ -21,7 +21,7 @@
import CommonBtn from "../CommonBtn";
import { clearUpMap } from '@/utils/freedo/index'
-import { initPosition, initPage } from "../../utils/freedo";
+import { initPosition, initPage } from "../../utils/freedo";
import mapJson from "@/assets/mapJson/map.json";
import { eventBus } from "../../main";
@@ -59,11 +59,11 @@
disabled: true,
"children": [
{ "id": 41, "label": "智慧教育-手工模型", disabled: true },
- { "id": 42, "label": "智慧停车云-手工模型", disabled: true },
- { "id": 43, "label": "智慧社区-手工模型", disabled: true },
- { "id": 44, "label": "智慧工地-手工模型", disabled: true },
- { "id": 45, "label": "智慧交通-手工模型", disabled: true },
- { "id": 46, "label": "智慧园林-手工模型", disabled: true }
+ { "id": 42, "label": "智慧停车云-手工模型", disabled: true },
+ { "id": 43, "label": "智慧社区-手工模型", disabled: true },
+ { "id": 44, "label": "智慧工地-手工模型", disabled: true },
+ { "id": 45, "label": "智慧交通-手工模型", disabled: true },
+ { "id": 46, "label": "智慧园林-手工模型", disabled: true }
]
}, {
"id": 5,
@@ -95,8 +95,8 @@
setTimeout(() => {
this.tree.forEach((item) => {
item.disabled = false
- if(item.children) {
- item.children = item.children.map((item) => ({ ...item,disabled: false}))
+ if (item.children) {
+ item.children = item.children.map((item) => ({ ...item, disabled: false }))
}
})
}, 5000)
@@ -125,7 +125,7 @@
handler(data, checked, indeterminate)
}
else {
- if(data.id.toString() === '5' && checked) {
+ if (data.id.toString() === '5' && checked) {
window.terrainManager.visible = true
return
}
@@ -143,14 +143,18 @@
},
btnClick(e) {
this.showLayerTree = false
+ this.clearDialog()
if (e.target.id === 'initBtn') {
initPosition()
} else if (e.target.id === 'clearBtn') {
clearUpMap()
} else if (e.target.id === 'layerBtn') {
- // clearUpMap()
this.showLayerTree = true
}
+ },
+ // 清空地图弹窗
+ clearDialog() {
+ this.$bus.$emit('clear')
}
}
}
@@ -178,7 +182,7 @@
right: 20px;
top: 1rem;
display: flex;
- width: 20rem;
+ width: 15rem;
height: 5rem;
z-index: 1111111111;
}
diff --git a/src/pages/csdz/iot/index.vue b/src/pages/csdz/iot/index.vue
index 63b60ea..8aefaea 100644
--- a/src/pages/csdz/iot/index.vue
+++ b/src/pages/csdz/iot/index.vue
@@ -259,8 +259,8 @@
localPoint(e) {
// this.childrenClick(e)
this.clickIcon({
- _data:{
- data:e
+ _data: {
+ data: e
}
})
},
@@ -280,6 +280,11 @@
},
mounted() {
this.search()
+ this.$bus.$on('clear', () => {
+ this.isShowEvent = false
+ this.isShowEventPop = false
+ this.isShowPop = false
+ })
// getStatistics().then(res => {
// if (res.code === 200 && res.data.value.length) {
// console.log(res.data, '')
diff --git a/src/pages/csdz/smartCard/index.vue b/src/pages/csdz/smartCard/index.vue
index 48721f7..32573d2 100644
--- a/src/pages/csdz/smartCard/index.vue
+++ b/src/pages/csdz/smartCard/index.vue
@@ -112,6 +112,7 @@
btnClick(e) {
clearResetMap()
this.selectIndex = e.target.id
+ this.isShowPop = false
if (this.selectIndex === 'publicBtn') {
// 绘制热力图
heat([
@@ -870,6 +871,10 @@
getStatistics({}).then(res => {
console.log(res.data, '一卡通')
})
+ this.$bus.$on('clear', () => {
+ this.isShowPop = false
+ this.isShowEvent = false
+ })
}
}
diff --git a/src/api/ywts/shms/jy.js b/src/api/ywts/shms/jy.js
index f3ac251..56f48e3 100644
--- a/src/api/ywts/shms/jy.js
+++ b/src/api/ywts/shms/jy.js
@@ -116,7 +116,7 @@
return request({
url: 'zhjy-gktj/zhjy/sbdwlb',
method: 'post',
- data,
+ // data,
params: data
})
}
diff --git a/src/api/ywts/shms/sq.js b/src/api/ywts/shms/sq.js
new file mode 100644
index 0000000..04a5447
--- /dev/null
+++ b/src/api/ywts/shms/sq.js
@@ -0,0 +1,123 @@
+/**
+ * 社区接口
+ */
+import request from '@/utils/request'
+
+// 社区点位列表
+export function getCommunityList() {
+ return request({
+ url: 'zhsq-gktj/zhsq/sqdwlb',
+ method: 'post',
+ })
+}
+
+// 人员热力图
+export function getHeat() {
+ return request({
+ url: 'zhsq-gktj/zhsq/sqyyrlt',
+ method: 'post',
+ })
+}
+
+// 设备点位
+export function getDevice() {
+ return request({
+ url: 'zhsq-gktj/zhsq/sbdwlb',
+ method: 'post',
+ params: {
+ type: '',
+ keywords: ''
+ }
+ })
+}
+
+// 社区车辆
+export function getCar() {
+ return request({
+ url: 'zhsq-gktj/zhsq/sqbyl',
+ method: 'post',
+ })
+}
+
+// 事件点位列表
+export function getCase(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/sjdwlb',
+ method: 'post',
+ params:{
+ ...data
+ }
+ })
+}
+
+// 事件详情
+export function getCaseList(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/zjlbfy',
+ method: 'post',
+ params:{
+ ...data
+ }
+ })
+}
+// 获取社区基本信息
+export function getBaseInfo(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/sqdwxq',
+ method: 'post',
+ params:{
+ ...data
+ },
+ // data
+ })
+}
+// 居民年龄统计
+export function getAgeStatistics(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/jmnltj',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
+// 居民流动比例
+export function getCurrentRatio(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/jmldbl',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
+// 近1年人房车占比统计
+export function getPersonCarRatio(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/rfczbtj',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
+// 近1月居民通行量分析
+export function getTransitrRatio(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/jmtxlfx',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
+// 近1月高频事件排行榜
+export function getCaseRank(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/gpsjphb',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
diff --git a/src/api/ywts/zyhj/hb.js b/src/api/ywts/zyhj/hb.js
index 5e598d1..07625d1 100644
--- a/src/api/ywts/zyhj/hb.js
+++ b/src/api/ywts/zyhj/hb.js
@@ -8,7 +8,10 @@
return request({
url: 'zhhb-gktj/zhhb/gktj',
method: 'post',
- data
+ data,
+ params: {
+ ...data,
+ }
})
}
// 环保点位列表
@@ -19,3 +22,26 @@
data
})
}
+// 环保告警列表
+export function getAlarmList(data) {
+ return request({
+ url: 'zhhb-gktj/zhhb/hbgjlb',
+ method: 'post',
+ // data
+ params: {
+ ...data
+ }
+ })
+}
+
+// 环保事件列表
+export function getCaseList(data) {
+ return request({
+ url: 'zhhb-gktj/zhhb/hbsjlbfy',
+ method: 'post',
+ // data
+ params: {
+ ...data
+ }
+ })
+}
diff --git a/src/api/ywts/zyhj/yl.js b/src/api/ywts/zyhj/yl.js
index 63d7ad2..643e3d4 100644
--- a/src/api/ywts/zyhj/yl.js
+++ b/src/api/ywts/zyhj/yl.js
@@ -88,6 +88,9 @@
url: 'zhyl-gktjljk/zhyl/sjxq',
method: 'post',
data,
+ params: {
+ ...data,
+ }
})
}
// 苗木点位列表
diff --git a/src/components/CommonFunction/index.vue b/src/components/CommonFunction/index.vue
index 1a10acb..c2eba44 100644
--- a/src/components/CommonFunction/index.vue
+++ b/src/components/CommonFunction/index.vue
@@ -5,8 +5,8 @@
@click="btnClick" />
-
+
@@ -21,7 +21,7 @@
import CommonBtn from "../CommonBtn";
import { clearUpMap } from '@/utils/freedo/index'
-import { initPosition, initPage } from "../../utils/freedo";
+import { initPosition, initPage } from "../../utils/freedo";
import mapJson from "@/assets/mapJson/map.json";
import { eventBus } from "../../main";
@@ -59,11 +59,11 @@
disabled: true,
"children": [
{ "id": 41, "label": "智慧教育-手工模型", disabled: true },
- { "id": 42, "label": "智慧停车云-手工模型", disabled: true },
- { "id": 43, "label": "智慧社区-手工模型", disabled: true },
- { "id": 44, "label": "智慧工地-手工模型", disabled: true },
- { "id": 45, "label": "智慧交通-手工模型", disabled: true },
- { "id": 46, "label": "智慧园林-手工模型", disabled: true }
+ { "id": 42, "label": "智慧停车云-手工模型", disabled: true },
+ { "id": 43, "label": "智慧社区-手工模型", disabled: true },
+ { "id": 44, "label": "智慧工地-手工模型", disabled: true },
+ { "id": 45, "label": "智慧交通-手工模型", disabled: true },
+ { "id": 46, "label": "智慧园林-手工模型", disabled: true }
]
}, {
"id": 5,
@@ -95,8 +95,8 @@
setTimeout(() => {
this.tree.forEach((item) => {
item.disabled = false
- if(item.children) {
- item.children = item.children.map((item) => ({ ...item,disabled: false}))
+ if (item.children) {
+ item.children = item.children.map((item) => ({ ...item, disabled: false }))
}
})
}, 5000)
@@ -125,7 +125,7 @@
handler(data, checked, indeterminate)
}
else {
- if(data.id.toString() === '5' && checked) {
+ if (data.id.toString() === '5' && checked) {
window.terrainManager.visible = true
return
}
@@ -143,14 +143,18 @@
},
btnClick(e) {
this.showLayerTree = false
+ this.clearDialog()
if (e.target.id === 'initBtn') {
initPosition()
} else if (e.target.id === 'clearBtn') {
clearUpMap()
} else if (e.target.id === 'layerBtn') {
- // clearUpMap()
this.showLayerTree = true
}
+ },
+ // 清空地图弹窗
+ clearDialog() {
+ this.$bus.$emit('clear')
}
}
}
@@ -178,7 +182,7 @@
right: 20px;
top: 1rem;
display: flex;
- width: 20rem;
+ width: 15rem;
height: 5rem;
z-index: 1111111111;
}
diff --git a/src/pages/csdz/iot/index.vue b/src/pages/csdz/iot/index.vue
index 63b60ea..8aefaea 100644
--- a/src/pages/csdz/iot/index.vue
+++ b/src/pages/csdz/iot/index.vue
@@ -259,8 +259,8 @@
localPoint(e) {
// this.childrenClick(e)
this.clickIcon({
- _data:{
- data:e
+ _data: {
+ data: e
}
})
},
@@ -280,6 +280,11 @@
},
mounted() {
this.search()
+ this.$bus.$on('clear', () => {
+ this.isShowEvent = false
+ this.isShowEventPop = false
+ this.isShowPop = false
+ })
// getStatistics().then(res => {
// if (res.code === 200 && res.data.value.length) {
// console.log(res.data, '')
diff --git a/src/pages/csdz/smartCard/index.vue b/src/pages/csdz/smartCard/index.vue
index 48721f7..32573d2 100644
--- a/src/pages/csdz/smartCard/index.vue
+++ b/src/pages/csdz/smartCard/index.vue
@@ -112,6 +112,7 @@
btnClick(e) {
clearResetMap()
this.selectIndex = e.target.id
+ this.isShowPop = false
if (this.selectIndex === 'publicBtn') {
// 绘制热力图
heat([
@@ -870,6 +871,10 @@
getStatistics({}).then(res => {
console.log(res.data, '一卡通')
})
+ this.$bus.$on('clear', () => {
+ this.isShowPop = false
+ this.isShowEvent = false
+ })
}
}
diff --git a/src/pages/csdz/videoCloud/index.vue b/src/pages/csdz/videoCloud/index.vue
index 4b8d110..81530d5 100644
--- a/src/pages/csdz/videoCloud/index.vue
+++ b/src/pages/csdz/videoCloud/index.vue
@@ -695,6 +695,11 @@
},
mounted() {
this.drawSence()
+ this.$bus.$on('clear', () => {
+ this.isShowPop = false
+ this.isShowEvent = false
+ this.isShowEventPop = false
+ })
}
}
diff --git a/src/api/ywts/shms/jy.js b/src/api/ywts/shms/jy.js
index f3ac251..56f48e3 100644
--- a/src/api/ywts/shms/jy.js
+++ b/src/api/ywts/shms/jy.js
@@ -116,7 +116,7 @@
return request({
url: 'zhjy-gktj/zhjy/sbdwlb',
method: 'post',
- data,
+ // data,
params: data
})
}
diff --git a/src/api/ywts/shms/sq.js b/src/api/ywts/shms/sq.js
new file mode 100644
index 0000000..04a5447
--- /dev/null
+++ b/src/api/ywts/shms/sq.js
@@ -0,0 +1,123 @@
+/**
+ * 社区接口
+ */
+import request from '@/utils/request'
+
+// 社区点位列表
+export function getCommunityList() {
+ return request({
+ url: 'zhsq-gktj/zhsq/sqdwlb',
+ method: 'post',
+ })
+}
+
+// 人员热力图
+export function getHeat() {
+ return request({
+ url: 'zhsq-gktj/zhsq/sqyyrlt',
+ method: 'post',
+ })
+}
+
+// 设备点位
+export function getDevice() {
+ return request({
+ url: 'zhsq-gktj/zhsq/sbdwlb',
+ method: 'post',
+ params: {
+ type: '',
+ keywords: ''
+ }
+ })
+}
+
+// 社区车辆
+export function getCar() {
+ return request({
+ url: 'zhsq-gktj/zhsq/sqbyl',
+ method: 'post',
+ })
+}
+
+// 事件点位列表
+export function getCase(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/sjdwlb',
+ method: 'post',
+ params:{
+ ...data
+ }
+ })
+}
+
+// 事件详情
+export function getCaseList(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/zjlbfy',
+ method: 'post',
+ params:{
+ ...data
+ }
+ })
+}
+// 获取社区基本信息
+export function getBaseInfo(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/sqdwxq',
+ method: 'post',
+ params:{
+ ...data
+ },
+ // data
+ })
+}
+// 居民年龄统计
+export function getAgeStatistics(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/jmnltj',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
+// 居民流动比例
+export function getCurrentRatio(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/jmldbl',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
+// 近1年人房车占比统计
+export function getPersonCarRatio(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/rfczbtj',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
+// 近1月居民通行量分析
+export function getTransitrRatio(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/jmtxlfx',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
+// 近1月高频事件排行榜
+export function getCaseRank(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/gpsjphb',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
diff --git a/src/api/ywts/zyhj/hb.js b/src/api/ywts/zyhj/hb.js
index 5e598d1..07625d1 100644
--- a/src/api/ywts/zyhj/hb.js
+++ b/src/api/ywts/zyhj/hb.js
@@ -8,7 +8,10 @@
return request({
url: 'zhhb-gktj/zhhb/gktj',
method: 'post',
- data
+ data,
+ params: {
+ ...data,
+ }
})
}
// 环保点位列表
@@ -19,3 +22,26 @@
data
})
}
+// 环保告警列表
+export function getAlarmList(data) {
+ return request({
+ url: 'zhhb-gktj/zhhb/hbgjlb',
+ method: 'post',
+ // data
+ params: {
+ ...data
+ }
+ })
+}
+
+// 环保事件列表
+export function getCaseList(data) {
+ return request({
+ url: 'zhhb-gktj/zhhb/hbsjlbfy',
+ method: 'post',
+ // data
+ params: {
+ ...data
+ }
+ })
+}
diff --git a/src/api/ywts/zyhj/yl.js b/src/api/ywts/zyhj/yl.js
index 63d7ad2..643e3d4 100644
--- a/src/api/ywts/zyhj/yl.js
+++ b/src/api/ywts/zyhj/yl.js
@@ -88,6 +88,9 @@
url: 'zhyl-gktjljk/zhyl/sjxq',
method: 'post',
data,
+ params: {
+ ...data,
+ }
})
}
// 苗木点位列表
diff --git a/src/components/CommonFunction/index.vue b/src/components/CommonFunction/index.vue
index 1a10acb..c2eba44 100644
--- a/src/components/CommonFunction/index.vue
+++ b/src/components/CommonFunction/index.vue
@@ -5,8 +5,8 @@
@click="btnClick" />
-
+
@@ -21,7 +21,7 @@
import CommonBtn from "../CommonBtn";
import { clearUpMap } from '@/utils/freedo/index'
-import { initPosition, initPage } from "../../utils/freedo";
+import { initPosition, initPage } from "../../utils/freedo";
import mapJson from "@/assets/mapJson/map.json";
import { eventBus } from "../../main";
@@ -59,11 +59,11 @@
disabled: true,
"children": [
{ "id": 41, "label": "智慧教育-手工模型", disabled: true },
- { "id": 42, "label": "智慧停车云-手工模型", disabled: true },
- { "id": 43, "label": "智慧社区-手工模型", disabled: true },
- { "id": 44, "label": "智慧工地-手工模型", disabled: true },
- { "id": 45, "label": "智慧交通-手工模型", disabled: true },
- { "id": 46, "label": "智慧园林-手工模型", disabled: true }
+ { "id": 42, "label": "智慧停车云-手工模型", disabled: true },
+ { "id": 43, "label": "智慧社区-手工模型", disabled: true },
+ { "id": 44, "label": "智慧工地-手工模型", disabled: true },
+ { "id": 45, "label": "智慧交通-手工模型", disabled: true },
+ { "id": 46, "label": "智慧园林-手工模型", disabled: true }
]
}, {
"id": 5,
@@ -95,8 +95,8 @@
setTimeout(() => {
this.tree.forEach((item) => {
item.disabled = false
- if(item.children) {
- item.children = item.children.map((item) => ({ ...item,disabled: false}))
+ if (item.children) {
+ item.children = item.children.map((item) => ({ ...item, disabled: false }))
}
})
}, 5000)
@@ -125,7 +125,7 @@
handler(data, checked, indeterminate)
}
else {
- if(data.id.toString() === '5' && checked) {
+ if (data.id.toString() === '5' && checked) {
window.terrainManager.visible = true
return
}
@@ -143,14 +143,18 @@
},
btnClick(e) {
this.showLayerTree = false
+ this.clearDialog()
if (e.target.id === 'initBtn') {
initPosition()
} else if (e.target.id === 'clearBtn') {
clearUpMap()
} else if (e.target.id === 'layerBtn') {
- // clearUpMap()
this.showLayerTree = true
}
+ },
+ // 清空地图弹窗
+ clearDialog() {
+ this.$bus.$emit('clear')
}
}
}
@@ -178,7 +182,7 @@
right: 20px;
top: 1rem;
display: flex;
- width: 20rem;
+ width: 15rem;
height: 5rem;
z-index: 1111111111;
}
diff --git a/src/pages/csdz/iot/index.vue b/src/pages/csdz/iot/index.vue
index 63b60ea..8aefaea 100644
--- a/src/pages/csdz/iot/index.vue
+++ b/src/pages/csdz/iot/index.vue
@@ -259,8 +259,8 @@
localPoint(e) {
// this.childrenClick(e)
this.clickIcon({
- _data:{
- data:e
+ _data: {
+ data: e
}
})
},
@@ -280,6 +280,11 @@
},
mounted() {
this.search()
+ this.$bus.$on('clear', () => {
+ this.isShowEvent = false
+ this.isShowEventPop = false
+ this.isShowPop = false
+ })
// getStatistics().then(res => {
// if (res.code === 200 && res.data.value.length) {
// console.log(res.data, '')
diff --git a/src/pages/csdz/smartCard/index.vue b/src/pages/csdz/smartCard/index.vue
index 48721f7..32573d2 100644
--- a/src/pages/csdz/smartCard/index.vue
+++ b/src/pages/csdz/smartCard/index.vue
@@ -112,6 +112,7 @@
btnClick(e) {
clearResetMap()
this.selectIndex = e.target.id
+ this.isShowPop = false
if (this.selectIndex === 'publicBtn') {
// 绘制热力图
heat([
@@ -870,6 +871,10 @@
getStatistics({}).then(res => {
console.log(res.data, '一卡通')
})
+ this.$bus.$on('clear', () => {
+ this.isShowPop = false
+ this.isShowEvent = false
+ })
}
}
diff --git a/src/pages/csdz/videoCloud/index.vue b/src/pages/csdz/videoCloud/index.vue
index 4b8d110..81530d5 100644
--- a/src/pages/csdz/videoCloud/index.vue
+++ b/src/pages/csdz/videoCloud/index.vue
@@ -695,6 +695,11 @@
},
mounted() {
this.drawSence()
+ this.$bus.$on('clear', () => {
+ this.isShowPop = false
+ this.isShowEvent = false
+ this.isShowEventPop = false
+ })
}
}
diff --git a/src/pages/ywts/cszl/gd/index.vue b/src/pages/ywts/cszl/gd/index.vue
index e9be7b0..35ee8d7 100644
--- a/src/pages/ywts/cszl/gd/index.vue
+++ b/src/pages/ywts/cszl/gd/index.vue
@@ -1,30 +1,23 @@
-
-
+
+
@@ -34,7 +27,7 @@
import TimeManager from "@/components/TimeManager";
import GdPop from "./gdPop";
import { heat } from '@/utils/freedo/heat'
-import { clearUpMap, clearResetMap ,AddLabelPoint, initPosition } from '@/utils/freedo'
+import { clearUpMap, clearResetMap, AddLabelPoint, initPosition } from '@/utils/freedo'
import {
getHeat,
getArea,
@@ -43,17 +36,17 @@
getStatistics,
getCasePointList, getCaseInfo
} from "../../../../api/ywts/cszl/gd";
-import {AddDivPointCase, AddDivPointHighlight, AddLabel, focusPoint} from "../../../../utils/freedo";
+import { AddDivPointCase, AddDivPointHighlight, AddLabel, focusPoint } from "../../../../utils/freedo";
import ListPage from "@/components/ListPage";
import KeywordManager from "../../../../components/KeywordManager";
import gridJson from "@/assets/mapJson/grid.json";
import mapJson from "@/assets/mapJson/map.json";
-import {eventBus} from "../../../../main";
+import { eventBus } from "../../../../main";
export default {
name: 'Gd',
- components: {KeywordManager, GdPop, TimeManager, LayerManagerMix, ListPage, CommonBtn },
+ components: { KeywordManager, GdPop, TimeManager, LayerManagerMix, ListPage, CommonBtn },
data() {
return {
isListPage: false,
@@ -73,19 +66,19 @@
caseTotal: 0,
layerManager: null,
caseIcon: {
- 1: require('@/assets/images/icon/事件/已撤案.png'),
- 2: require('@/assets/images/icon/事件/指派中.png'),
- 3: require('@/assets/images/icon/事件/处置中.png'),
- 4: require('@/assets/images/icon/事件/已办结.png'),
- 5: require('@/assets/images/icon/事件/已结案.png'),
- },
+ 1: require('@/assets/images/icon/事件/已撤案.png'),
+ 2: require('@/assets/images/icon/事件/指派中.png'),
+ 3: require('@/assets/images/icon/事件/处置中.png'),
+ 4: require('@/assets/images/icon/事件/已办结.png'),
+ 5: require('@/assets/images/icon/事件/已结案.png'),
+ },
caseColor: {
- 1: '#ffffff88',
- 2: '#fdeb5688',
- 3: '#85c8ff88',
- 4: '#ffba7488',
- 5: '#87f6b388',
- },
+ 1: '#ffffff88',
+ 2: '#fdeb5688',
+ 3: '#85c8ff88',
+ 4: '#ffba7488',
+ 5: '#87f6b388',
+ },
time: {
startTime: '',
endTime: '',
@@ -105,10 +98,10 @@
name: '工地设备',
value: 'device'
}
- // , {
- // name: '环监设备',
- // value: 'others'
- // }
+ // , {
+ // name: '环监设备',
+ // value: 'others'
+ // }
],
menus: {
device: [
@@ -122,7 +115,7 @@
},
mounted() {
getStatistics().then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
this.menus.device = response.data.value
}
})
@@ -135,28 +128,24 @@
autoFlyto: true,
})
- eventBus.$emit('change-layer', { id:1, checked: false});
- eventBus.$emit('change-layer', { id:2, checked: false});
- eventBus.$emit('change-layer', { id:3, checked: false});
- eventBus.$emit('change-layer', { id:4, checked: false});
- eventBus.$emit('change-layer', { id:5, checked: true});
- eventBus.$emit('change-layer', { id:44, checked: true});
- eventBus.$emit('change-layer', { id:21, checked: true});
- eventBus.$emit('change-layer', { id:12, checked: true});
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: false }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: true });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: false });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: true }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
-
- // window.pmtsManager.add({
- // id: "智慧工地-手工模型",
- // url: mapJson.CIM4["智慧工地-手工模型"],
- // show: true,
- // maximumScreenSpaceError: 32,
- // maximumMemoryUsage: 64,
- // maximumAbsoluteMemoryUsage: 8192,
- // autoFlyto: true
- // },
- // undefined
- // )
- // window.terrainManager.visible = true
+ // 清除弹窗展示
+ this.$bus.$on('clear', () => {
+ this.isListPage = false
+ this.isShow = false
+ })
},
methods: {
async btnClick(e) {
@@ -179,7 +168,7 @@
break
case "personBtn":
getHeat().then(res => {
- if(res.code === 200) {
+ if (res.code === 200) {
console.log(res.data, '热力')
const arr = res.data.value.filter(item => item.lng !== "" && item.lng !== null)
// arr.splice(0,1) // todo: 测试第一个错误数据
@@ -192,17 +181,17 @@
// 设备图层控制
layer(item) {
// clearUpMap(true)
- const iconOnline = require('@/assets/images/icon/工地地图点位/'+item.typename.replace(/ /g,'')+'在线.png')
- const iconOffline = require('@/assets/images/icon/工地地图点位/'+item.typename.replace(/ /g,'')+'离线.png')
- getDevList({type: item.type}).then(response => {
- if(response.code === 200) {
+ const iconOnline = require('@/assets/images/icon/工地地图点位/' + item.typename.replace(/ /g, '') + '在线.png')
+ const iconOffline = require('@/assets/images/icon/工地地图点位/' + item.typename.replace(/ /g, '') + '离线.png')
+ getDevList({ type: item.type }).then(response => {
+ if (response.code === 200) {
clearUpMap(true)
this.keywordList = response.data.value
response.data.value.forEach(item => {
AddLabelPoint(
item.id,
'',
- item.status === '1'? iconOnline: iconOffline,
+ item.status === '1' ? iconOnline : iconOffline,
[item.lon, item.lat, 0], 'gd-dev', item,
null)
})
@@ -216,23 +205,23 @@
// keywords: this.keyword
}
getCasePointList(param).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
clearUpMap(true)
const data = []
response.data.value.forEach(item => {
- if(!data.map(da => da.id).includes(item.id) && !data.map(da => da.lon).includes(item.lon) && item.id !== null) {
+ if (!data.map(da => da.id).includes(item.id) && !data.map(da => da.lon).includes(item.lon) && item.id !== null) {
data.push(item)
}
})
this.keywordList = data
data.forEach(item => {
// if(item.total === '1') {
- AddLabelPoint(
- item.id,
- '',
- this.caseIcon[item.eventstatus],
- [item.lon, item.lat, 0], 'gd-case', item,
- this.clickCase)
+ AddLabelPoint(
+ item.id,
+ '',
+ this.caseIcon[item.eventstatus],
+ [item.lon, item.lat, 0], 'gd-case', item,
+ this.clickCase)
// } else {
// AddDivPointCase(item, this.caseColor[item.status], item.total, this.clickCase)
// }
@@ -244,8 +233,8 @@
search() {
const iconDone = require('@/assets/images/icon/工地地图点位/工地已完成.png')
const iconDoing = require('@/assets/images/icon/工地地图点位/工地进行中.png')
- getArea({keywords: this.keyword}).then(response => {
- if(response.code === 200) {
+ getArea({ keywords: this.keyword }).then(response => {
+ if (response.code === 200) {
clearUpMap(true)
this.keywordList = response.data.value
response.data.value.forEach(item => {
@@ -254,7 +243,7 @@
AddLabelPoint(
item.id,
item.name,
- item.status === '2' ? iconDoing: iconDone,
+ item.status === '2' ? iconDoing : iconDone,
[item.lon, item.lat, 0], 'gd', item,
this.clickGd)
})
@@ -265,8 +254,8 @@
score() {
const iconDone = require('@/assets/images/icon/工地地图点位/工地已完成.png')
const iconDoing = require('@/assets/images/icon/工地地图点位/工地进行中.png')
- getArea({keywords: this.keyword}).then(response => {
- if(response.code === 200) {
+ getArea({ keywords: this.keyword }).then(response => {
+ if (response.code === 200) {
this.keywordList = response.data.value
response.data.value.forEach(item => {
// console.log(item,'321123')
@@ -280,8 +269,8 @@
})
}
})
- getMonthGdScore({keywords: this.keyword}).then(response => {
- if(response.code === 200) {
+ getMonthGdScore({ keywords: this.keyword }).then(response => {
+ if (response.code === 200) {
response.data.value.filter(item => item.lng !== "" && item.lng !== null).forEach(item => {
AddLabel(
item.id,
@@ -304,7 +293,7 @@
clickCase(eventArg) {
const item = eventArg._data.data
// 恢复上一个marker
- if(this.preCase !== null ) {
+ if (this.preCase !== null) {
window.mmManager.removeById(this.preCase.id)
AddLabelPoint(
this.preCase.id,
@@ -313,7 +302,7 @@
[this.preCase.lon, this.preCase.lat, 0], 'gd-case', this.preCase,
this.clickCase)
}
- if(item.total === '1') {
+ if (item.total === '1') {
// 保存当前marker
this.preCase = item
// 高亮当前marker
@@ -323,7 +312,7 @@
this.preCase = null
}
// 查询事件详情
- this.caseTotal = Number(item.total)
+ this.caseTotal = Number(item.total)
this.isListPage = true
this.$refs.caseListPage.initDialog()
this.caseListQuery = {
@@ -345,16 +334,16 @@
searchCaseMarkerList() {
// getCaseInfo(this.caseListQuery).then(response => {
getCaseInfo(this.caseListQuery).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
console.log(response.data.value)
// 右侧看板
- this.caseList = response.data.value
+ this.caseList = response.data.value
}
})
},
handleTimeRange(time) {
this.isListPage = false
- if(this.time.startTime !== '') {
+ if (this.time.startTime !== '') {
this.time = time
this.casePoint()
} else {
diff --git a/src/api/ywts/shms/jy.js b/src/api/ywts/shms/jy.js
index f3ac251..56f48e3 100644
--- a/src/api/ywts/shms/jy.js
+++ b/src/api/ywts/shms/jy.js
@@ -116,7 +116,7 @@
return request({
url: 'zhjy-gktj/zhjy/sbdwlb',
method: 'post',
- data,
+ // data,
params: data
})
}
diff --git a/src/api/ywts/shms/sq.js b/src/api/ywts/shms/sq.js
new file mode 100644
index 0000000..04a5447
--- /dev/null
+++ b/src/api/ywts/shms/sq.js
@@ -0,0 +1,123 @@
+/**
+ * 社区接口
+ */
+import request from '@/utils/request'
+
+// 社区点位列表
+export function getCommunityList() {
+ return request({
+ url: 'zhsq-gktj/zhsq/sqdwlb',
+ method: 'post',
+ })
+}
+
+// 人员热力图
+export function getHeat() {
+ return request({
+ url: 'zhsq-gktj/zhsq/sqyyrlt',
+ method: 'post',
+ })
+}
+
+// 设备点位
+export function getDevice() {
+ return request({
+ url: 'zhsq-gktj/zhsq/sbdwlb',
+ method: 'post',
+ params: {
+ type: '',
+ keywords: ''
+ }
+ })
+}
+
+// 社区车辆
+export function getCar() {
+ return request({
+ url: 'zhsq-gktj/zhsq/sqbyl',
+ method: 'post',
+ })
+}
+
+// 事件点位列表
+export function getCase(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/sjdwlb',
+ method: 'post',
+ params:{
+ ...data
+ }
+ })
+}
+
+// 事件详情
+export function getCaseList(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/zjlbfy',
+ method: 'post',
+ params:{
+ ...data
+ }
+ })
+}
+// 获取社区基本信息
+export function getBaseInfo(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/sqdwxq',
+ method: 'post',
+ params:{
+ ...data
+ },
+ // data
+ })
+}
+// 居民年龄统计
+export function getAgeStatistics(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/jmnltj',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
+// 居民流动比例
+export function getCurrentRatio(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/jmldbl',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
+// 近1年人房车占比统计
+export function getPersonCarRatio(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/rfczbtj',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
+// 近1月居民通行量分析
+export function getTransitrRatio(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/jmtxlfx',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
+// 近1月高频事件排行榜
+export function getCaseRank(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/gpsjphb',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
diff --git a/src/api/ywts/zyhj/hb.js b/src/api/ywts/zyhj/hb.js
index 5e598d1..07625d1 100644
--- a/src/api/ywts/zyhj/hb.js
+++ b/src/api/ywts/zyhj/hb.js
@@ -8,7 +8,10 @@
return request({
url: 'zhhb-gktj/zhhb/gktj',
method: 'post',
- data
+ data,
+ params: {
+ ...data,
+ }
})
}
// 环保点位列表
@@ -19,3 +22,26 @@
data
})
}
+// 环保告警列表
+export function getAlarmList(data) {
+ return request({
+ url: 'zhhb-gktj/zhhb/hbgjlb',
+ method: 'post',
+ // data
+ params: {
+ ...data
+ }
+ })
+}
+
+// 环保事件列表
+export function getCaseList(data) {
+ return request({
+ url: 'zhhb-gktj/zhhb/hbsjlbfy',
+ method: 'post',
+ // data
+ params: {
+ ...data
+ }
+ })
+}
diff --git a/src/api/ywts/zyhj/yl.js b/src/api/ywts/zyhj/yl.js
index 63d7ad2..643e3d4 100644
--- a/src/api/ywts/zyhj/yl.js
+++ b/src/api/ywts/zyhj/yl.js
@@ -88,6 +88,9 @@
url: 'zhyl-gktjljk/zhyl/sjxq',
method: 'post',
data,
+ params: {
+ ...data,
+ }
})
}
// 苗木点位列表
diff --git a/src/components/CommonFunction/index.vue b/src/components/CommonFunction/index.vue
index 1a10acb..c2eba44 100644
--- a/src/components/CommonFunction/index.vue
+++ b/src/components/CommonFunction/index.vue
@@ -5,8 +5,8 @@
@click="btnClick" />
-
+
@@ -21,7 +21,7 @@
import CommonBtn from "../CommonBtn";
import { clearUpMap } from '@/utils/freedo/index'
-import { initPosition, initPage } from "../../utils/freedo";
+import { initPosition, initPage } from "../../utils/freedo";
import mapJson from "@/assets/mapJson/map.json";
import { eventBus } from "../../main";
@@ -59,11 +59,11 @@
disabled: true,
"children": [
{ "id": 41, "label": "智慧教育-手工模型", disabled: true },
- { "id": 42, "label": "智慧停车云-手工模型", disabled: true },
- { "id": 43, "label": "智慧社区-手工模型", disabled: true },
- { "id": 44, "label": "智慧工地-手工模型", disabled: true },
- { "id": 45, "label": "智慧交通-手工模型", disabled: true },
- { "id": 46, "label": "智慧园林-手工模型", disabled: true }
+ { "id": 42, "label": "智慧停车云-手工模型", disabled: true },
+ { "id": 43, "label": "智慧社区-手工模型", disabled: true },
+ { "id": 44, "label": "智慧工地-手工模型", disabled: true },
+ { "id": 45, "label": "智慧交通-手工模型", disabled: true },
+ { "id": 46, "label": "智慧园林-手工模型", disabled: true }
]
}, {
"id": 5,
@@ -95,8 +95,8 @@
setTimeout(() => {
this.tree.forEach((item) => {
item.disabled = false
- if(item.children) {
- item.children = item.children.map((item) => ({ ...item,disabled: false}))
+ if (item.children) {
+ item.children = item.children.map((item) => ({ ...item, disabled: false }))
}
})
}, 5000)
@@ -125,7 +125,7 @@
handler(data, checked, indeterminate)
}
else {
- if(data.id.toString() === '5' && checked) {
+ if (data.id.toString() === '5' && checked) {
window.terrainManager.visible = true
return
}
@@ -143,14 +143,18 @@
},
btnClick(e) {
this.showLayerTree = false
+ this.clearDialog()
if (e.target.id === 'initBtn') {
initPosition()
} else if (e.target.id === 'clearBtn') {
clearUpMap()
} else if (e.target.id === 'layerBtn') {
- // clearUpMap()
this.showLayerTree = true
}
+ },
+ // 清空地图弹窗
+ clearDialog() {
+ this.$bus.$emit('clear')
}
}
}
@@ -178,7 +182,7 @@
right: 20px;
top: 1rem;
display: flex;
- width: 20rem;
+ width: 15rem;
height: 5rem;
z-index: 1111111111;
}
diff --git a/src/pages/csdz/iot/index.vue b/src/pages/csdz/iot/index.vue
index 63b60ea..8aefaea 100644
--- a/src/pages/csdz/iot/index.vue
+++ b/src/pages/csdz/iot/index.vue
@@ -259,8 +259,8 @@
localPoint(e) {
// this.childrenClick(e)
this.clickIcon({
- _data:{
- data:e
+ _data: {
+ data: e
}
})
},
@@ -280,6 +280,11 @@
},
mounted() {
this.search()
+ this.$bus.$on('clear', () => {
+ this.isShowEvent = false
+ this.isShowEventPop = false
+ this.isShowPop = false
+ })
// getStatistics().then(res => {
// if (res.code === 200 && res.data.value.length) {
// console.log(res.data, '')
diff --git a/src/pages/csdz/smartCard/index.vue b/src/pages/csdz/smartCard/index.vue
index 48721f7..32573d2 100644
--- a/src/pages/csdz/smartCard/index.vue
+++ b/src/pages/csdz/smartCard/index.vue
@@ -112,6 +112,7 @@
btnClick(e) {
clearResetMap()
this.selectIndex = e.target.id
+ this.isShowPop = false
if (this.selectIndex === 'publicBtn') {
// 绘制热力图
heat([
@@ -870,6 +871,10 @@
getStatistics({}).then(res => {
console.log(res.data, '一卡通')
})
+ this.$bus.$on('clear', () => {
+ this.isShowPop = false
+ this.isShowEvent = false
+ })
}
}
diff --git a/src/pages/csdz/videoCloud/index.vue b/src/pages/csdz/videoCloud/index.vue
index 4b8d110..81530d5 100644
--- a/src/pages/csdz/videoCloud/index.vue
+++ b/src/pages/csdz/videoCloud/index.vue
@@ -695,6 +695,11 @@
},
mounted() {
this.drawSence()
+ this.$bus.$on('clear', () => {
+ this.isShowPop = false
+ this.isShowEvent = false
+ this.isShowEventPop = false
+ })
}
}
diff --git a/src/pages/ywts/cszl/gd/index.vue b/src/pages/ywts/cszl/gd/index.vue
index e9be7b0..35ee8d7 100644
--- a/src/pages/ywts/cszl/gd/index.vue
+++ b/src/pages/ywts/cszl/gd/index.vue
@@ -1,30 +1,23 @@
-
-
+
+
@@ -34,7 +27,7 @@
import TimeManager from "@/components/TimeManager";
import GdPop from "./gdPop";
import { heat } from '@/utils/freedo/heat'
-import { clearUpMap, clearResetMap ,AddLabelPoint, initPosition } from '@/utils/freedo'
+import { clearUpMap, clearResetMap, AddLabelPoint, initPosition } from '@/utils/freedo'
import {
getHeat,
getArea,
@@ -43,17 +36,17 @@
getStatistics,
getCasePointList, getCaseInfo
} from "../../../../api/ywts/cszl/gd";
-import {AddDivPointCase, AddDivPointHighlight, AddLabel, focusPoint} from "../../../../utils/freedo";
+import { AddDivPointCase, AddDivPointHighlight, AddLabel, focusPoint } from "../../../../utils/freedo";
import ListPage from "@/components/ListPage";
import KeywordManager from "../../../../components/KeywordManager";
import gridJson from "@/assets/mapJson/grid.json";
import mapJson from "@/assets/mapJson/map.json";
-import {eventBus} from "../../../../main";
+import { eventBus } from "../../../../main";
export default {
name: 'Gd',
- components: {KeywordManager, GdPop, TimeManager, LayerManagerMix, ListPage, CommonBtn },
+ components: { KeywordManager, GdPop, TimeManager, LayerManagerMix, ListPage, CommonBtn },
data() {
return {
isListPage: false,
@@ -73,19 +66,19 @@
caseTotal: 0,
layerManager: null,
caseIcon: {
- 1: require('@/assets/images/icon/事件/已撤案.png'),
- 2: require('@/assets/images/icon/事件/指派中.png'),
- 3: require('@/assets/images/icon/事件/处置中.png'),
- 4: require('@/assets/images/icon/事件/已办结.png'),
- 5: require('@/assets/images/icon/事件/已结案.png'),
- },
+ 1: require('@/assets/images/icon/事件/已撤案.png'),
+ 2: require('@/assets/images/icon/事件/指派中.png'),
+ 3: require('@/assets/images/icon/事件/处置中.png'),
+ 4: require('@/assets/images/icon/事件/已办结.png'),
+ 5: require('@/assets/images/icon/事件/已结案.png'),
+ },
caseColor: {
- 1: '#ffffff88',
- 2: '#fdeb5688',
- 3: '#85c8ff88',
- 4: '#ffba7488',
- 5: '#87f6b388',
- },
+ 1: '#ffffff88',
+ 2: '#fdeb5688',
+ 3: '#85c8ff88',
+ 4: '#ffba7488',
+ 5: '#87f6b388',
+ },
time: {
startTime: '',
endTime: '',
@@ -105,10 +98,10 @@
name: '工地设备',
value: 'device'
}
- // , {
- // name: '环监设备',
- // value: 'others'
- // }
+ // , {
+ // name: '环监设备',
+ // value: 'others'
+ // }
],
menus: {
device: [
@@ -122,7 +115,7 @@
},
mounted() {
getStatistics().then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
this.menus.device = response.data.value
}
})
@@ -135,28 +128,24 @@
autoFlyto: true,
})
- eventBus.$emit('change-layer', { id:1, checked: false});
- eventBus.$emit('change-layer', { id:2, checked: false});
- eventBus.$emit('change-layer', { id:3, checked: false});
- eventBus.$emit('change-layer', { id:4, checked: false});
- eventBus.$emit('change-layer', { id:5, checked: true});
- eventBus.$emit('change-layer', { id:44, checked: true});
- eventBus.$emit('change-layer', { id:21, checked: true});
- eventBus.$emit('change-layer', { id:12, checked: true});
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: false }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: true });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: false });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: true }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
-
- // window.pmtsManager.add({
- // id: "智慧工地-手工模型",
- // url: mapJson.CIM4["智慧工地-手工模型"],
- // show: true,
- // maximumScreenSpaceError: 32,
- // maximumMemoryUsage: 64,
- // maximumAbsoluteMemoryUsage: 8192,
- // autoFlyto: true
- // },
- // undefined
- // )
- // window.terrainManager.visible = true
+ // 清除弹窗展示
+ this.$bus.$on('clear', () => {
+ this.isListPage = false
+ this.isShow = false
+ })
},
methods: {
async btnClick(e) {
@@ -179,7 +168,7 @@
break
case "personBtn":
getHeat().then(res => {
- if(res.code === 200) {
+ if (res.code === 200) {
console.log(res.data, '热力')
const arr = res.data.value.filter(item => item.lng !== "" && item.lng !== null)
// arr.splice(0,1) // todo: 测试第一个错误数据
@@ -192,17 +181,17 @@
// 设备图层控制
layer(item) {
// clearUpMap(true)
- const iconOnline = require('@/assets/images/icon/工地地图点位/'+item.typename.replace(/ /g,'')+'在线.png')
- const iconOffline = require('@/assets/images/icon/工地地图点位/'+item.typename.replace(/ /g,'')+'离线.png')
- getDevList({type: item.type}).then(response => {
- if(response.code === 200) {
+ const iconOnline = require('@/assets/images/icon/工地地图点位/' + item.typename.replace(/ /g, '') + '在线.png')
+ const iconOffline = require('@/assets/images/icon/工地地图点位/' + item.typename.replace(/ /g, '') + '离线.png')
+ getDevList({ type: item.type }).then(response => {
+ if (response.code === 200) {
clearUpMap(true)
this.keywordList = response.data.value
response.data.value.forEach(item => {
AddLabelPoint(
item.id,
'',
- item.status === '1'? iconOnline: iconOffline,
+ item.status === '1' ? iconOnline : iconOffline,
[item.lon, item.lat, 0], 'gd-dev', item,
null)
})
@@ -216,23 +205,23 @@
// keywords: this.keyword
}
getCasePointList(param).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
clearUpMap(true)
const data = []
response.data.value.forEach(item => {
- if(!data.map(da => da.id).includes(item.id) && !data.map(da => da.lon).includes(item.lon) && item.id !== null) {
+ if (!data.map(da => da.id).includes(item.id) && !data.map(da => da.lon).includes(item.lon) && item.id !== null) {
data.push(item)
}
})
this.keywordList = data
data.forEach(item => {
// if(item.total === '1') {
- AddLabelPoint(
- item.id,
- '',
- this.caseIcon[item.eventstatus],
- [item.lon, item.lat, 0], 'gd-case', item,
- this.clickCase)
+ AddLabelPoint(
+ item.id,
+ '',
+ this.caseIcon[item.eventstatus],
+ [item.lon, item.lat, 0], 'gd-case', item,
+ this.clickCase)
// } else {
// AddDivPointCase(item, this.caseColor[item.status], item.total, this.clickCase)
// }
@@ -244,8 +233,8 @@
search() {
const iconDone = require('@/assets/images/icon/工地地图点位/工地已完成.png')
const iconDoing = require('@/assets/images/icon/工地地图点位/工地进行中.png')
- getArea({keywords: this.keyword}).then(response => {
- if(response.code === 200) {
+ getArea({ keywords: this.keyword }).then(response => {
+ if (response.code === 200) {
clearUpMap(true)
this.keywordList = response.data.value
response.data.value.forEach(item => {
@@ -254,7 +243,7 @@
AddLabelPoint(
item.id,
item.name,
- item.status === '2' ? iconDoing: iconDone,
+ item.status === '2' ? iconDoing : iconDone,
[item.lon, item.lat, 0], 'gd', item,
this.clickGd)
})
@@ -265,8 +254,8 @@
score() {
const iconDone = require('@/assets/images/icon/工地地图点位/工地已完成.png')
const iconDoing = require('@/assets/images/icon/工地地图点位/工地进行中.png')
- getArea({keywords: this.keyword}).then(response => {
- if(response.code === 200) {
+ getArea({ keywords: this.keyword }).then(response => {
+ if (response.code === 200) {
this.keywordList = response.data.value
response.data.value.forEach(item => {
// console.log(item,'321123')
@@ -280,8 +269,8 @@
})
}
})
- getMonthGdScore({keywords: this.keyword}).then(response => {
- if(response.code === 200) {
+ getMonthGdScore({ keywords: this.keyword }).then(response => {
+ if (response.code === 200) {
response.data.value.filter(item => item.lng !== "" && item.lng !== null).forEach(item => {
AddLabel(
item.id,
@@ -304,7 +293,7 @@
clickCase(eventArg) {
const item = eventArg._data.data
// 恢复上一个marker
- if(this.preCase !== null ) {
+ if (this.preCase !== null) {
window.mmManager.removeById(this.preCase.id)
AddLabelPoint(
this.preCase.id,
@@ -313,7 +302,7 @@
[this.preCase.lon, this.preCase.lat, 0], 'gd-case', this.preCase,
this.clickCase)
}
- if(item.total === '1') {
+ if (item.total === '1') {
// 保存当前marker
this.preCase = item
// 高亮当前marker
@@ -323,7 +312,7 @@
this.preCase = null
}
// 查询事件详情
- this.caseTotal = Number(item.total)
+ this.caseTotal = Number(item.total)
this.isListPage = true
this.$refs.caseListPage.initDialog()
this.caseListQuery = {
@@ -345,16 +334,16 @@
searchCaseMarkerList() {
// getCaseInfo(this.caseListQuery).then(response => {
getCaseInfo(this.caseListQuery).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
console.log(response.data.value)
// 右侧看板
- this.caseList = response.data.value
+ this.caseList = response.data.value
}
})
},
handleTimeRange(time) {
this.isListPage = false
- if(this.time.startTime !== '') {
+ if (this.time.startTime !== '') {
this.time = time
this.casePoint()
} else {
diff --git a/src/pages/ywts/cszl/hw/index.vue b/src/pages/ywts/cszl/hw/index.vue
index e773b7d..ed28bc6 100644
--- a/src/pages/ywts/cszl/hw/index.vue
+++ b/src/pages/ywts/cszl/hw/index.vue
@@ -31,6 +31,7 @@
import ListPage from "@/components/ListPage";
import { getPlacePointList, getOverviewStatistics, getPersonList, getCarList, getCaseList, getCaseInfo } from '@/api/ywts/cszl/hw'
import { iconFilter, iconPerson, personList, carList, iconCar } from './data'
+import { eventBus } from "../../../../main";
export default {
name: 'Hw',
components: { TimeManager, LayerManagerMix, ListPage, CommonBtn, Pop },
@@ -94,7 +95,25 @@
},
mounted() {
clearResetMap()
+ this.selectInde = 'deviceBtn'
this.fetchPoint()
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: false }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: false });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: false });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: false }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
+ // 清除弹窗展示
+ this.$bus.$on('clear', () => {
+ this.isListPage = false
+ this.showPop = false
+ })
},
methods: {
async btnClick(e) {
@@ -263,17 +282,17 @@
// this.caseList = res.data.value || []
// this.caseTotal = this.caseList.length
res.data.value.forEach(item => {
- AddLabelPoint(
- item.id.replaceAll('.', ''),
- '',
- this.caseIcon[item.status],
- [item.lon, item.lat, 0], 'gd-case', item,
- this.clickCase)
- })
+ AddLabelPoint(
+ item.id.replaceAll('.', ''),
+ '',
+ this.caseIcon[item.status],
+ [item.lon, item.lat, 0], 'gd-case', item,
+ this.clickCase)
+ })
})
},
- // 点击事件icon
- clickCase(eventArg) {
+ // 点击事件icon
+ clickCase(eventArg) {
const item = eventArg._data.data
// 恢复上一个marker
if (this.preCase !== null) {
@@ -306,11 +325,11 @@
getCaseInfo(this.caseListQuery).then(res => {
console.log(res.data, '事件详情')
this.caseList = res.data.value || []
- this.caseTotal = this.caseList.length
+ this.caseTotal = this.caseList.length
})
},
- // 事件换页
- changePage(val) {
+ // 事件换页
+ changePage(val) {
if (val && val.page) {
this.caseListQuery.pageNo = val.page
}
diff --git a/src/api/ywts/shms/jy.js b/src/api/ywts/shms/jy.js
index f3ac251..56f48e3 100644
--- a/src/api/ywts/shms/jy.js
+++ b/src/api/ywts/shms/jy.js
@@ -116,7 +116,7 @@
return request({
url: 'zhjy-gktj/zhjy/sbdwlb',
method: 'post',
- data,
+ // data,
params: data
})
}
diff --git a/src/api/ywts/shms/sq.js b/src/api/ywts/shms/sq.js
new file mode 100644
index 0000000..04a5447
--- /dev/null
+++ b/src/api/ywts/shms/sq.js
@@ -0,0 +1,123 @@
+/**
+ * 社区接口
+ */
+import request from '@/utils/request'
+
+// 社区点位列表
+export function getCommunityList() {
+ return request({
+ url: 'zhsq-gktj/zhsq/sqdwlb',
+ method: 'post',
+ })
+}
+
+// 人员热力图
+export function getHeat() {
+ return request({
+ url: 'zhsq-gktj/zhsq/sqyyrlt',
+ method: 'post',
+ })
+}
+
+// 设备点位
+export function getDevice() {
+ return request({
+ url: 'zhsq-gktj/zhsq/sbdwlb',
+ method: 'post',
+ params: {
+ type: '',
+ keywords: ''
+ }
+ })
+}
+
+// 社区车辆
+export function getCar() {
+ return request({
+ url: 'zhsq-gktj/zhsq/sqbyl',
+ method: 'post',
+ })
+}
+
+// 事件点位列表
+export function getCase(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/sjdwlb',
+ method: 'post',
+ params:{
+ ...data
+ }
+ })
+}
+
+// 事件详情
+export function getCaseList(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/zjlbfy',
+ method: 'post',
+ params:{
+ ...data
+ }
+ })
+}
+// 获取社区基本信息
+export function getBaseInfo(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/sqdwxq',
+ method: 'post',
+ params:{
+ ...data
+ },
+ // data
+ })
+}
+// 居民年龄统计
+export function getAgeStatistics(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/jmnltj',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
+// 居民流动比例
+export function getCurrentRatio(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/jmldbl',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
+// 近1年人房车占比统计
+export function getPersonCarRatio(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/rfczbtj',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
+// 近1月居民通行量分析
+export function getTransitrRatio(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/jmtxlfx',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
+// 近1月高频事件排行榜
+export function getCaseRank(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/gpsjphb',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
diff --git a/src/api/ywts/zyhj/hb.js b/src/api/ywts/zyhj/hb.js
index 5e598d1..07625d1 100644
--- a/src/api/ywts/zyhj/hb.js
+++ b/src/api/ywts/zyhj/hb.js
@@ -8,7 +8,10 @@
return request({
url: 'zhhb-gktj/zhhb/gktj',
method: 'post',
- data
+ data,
+ params: {
+ ...data,
+ }
})
}
// 环保点位列表
@@ -19,3 +22,26 @@
data
})
}
+// 环保告警列表
+export function getAlarmList(data) {
+ return request({
+ url: 'zhhb-gktj/zhhb/hbgjlb',
+ method: 'post',
+ // data
+ params: {
+ ...data
+ }
+ })
+}
+
+// 环保事件列表
+export function getCaseList(data) {
+ return request({
+ url: 'zhhb-gktj/zhhb/hbsjlbfy',
+ method: 'post',
+ // data
+ params: {
+ ...data
+ }
+ })
+}
diff --git a/src/api/ywts/zyhj/yl.js b/src/api/ywts/zyhj/yl.js
index 63d7ad2..643e3d4 100644
--- a/src/api/ywts/zyhj/yl.js
+++ b/src/api/ywts/zyhj/yl.js
@@ -88,6 +88,9 @@
url: 'zhyl-gktjljk/zhyl/sjxq',
method: 'post',
data,
+ params: {
+ ...data,
+ }
})
}
// 苗木点位列表
diff --git a/src/components/CommonFunction/index.vue b/src/components/CommonFunction/index.vue
index 1a10acb..c2eba44 100644
--- a/src/components/CommonFunction/index.vue
+++ b/src/components/CommonFunction/index.vue
@@ -5,8 +5,8 @@
@click="btnClick" />
-
+
@@ -21,7 +21,7 @@
import CommonBtn from "../CommonBtn";
import { clearUpMap } from '@/utils/freedo/index'
-import { initPosition, initPage } from "../../utils/freedo";
+import { initPosition, initPage } from "../../utils/freedo";
import mapJson from "@/assets/mapJson/map.json";
import { eventBus } from "../../main";
@@ -59,11 +59,11 @@
disabled: true,
"children": [
{ "id": 41, "label": "智慧教育-手工模型", disabled: true },
- { "id": 42, "label": "智慧停车云-手工模型", disabled: true },
- { "id": 43, "label": "智慧社区-手工模型", disabled: true },
- { "id": 44, "label": "智慧工地-手工模型", disabled: true },
- { "id": 45, "label": "智慧交通-手工模型", disabled: true },
- { "id": 46, "label": "智慧园林-手工模型", disabled: true }
+ { "id": 42, "label": "智慧停车云-手工模型", disabled: true },
+ { "id": 43, "label": "智慧社区-手工模型", disabled: true },
+ { "id": 44, "label": "智慧工地-手工模型", disabled: true },
+ { "id": 45, "label": "智慧交通-手工模型", disabled: true },
+ { "id": 46, "label": "智慧园林-手工模型", disabled: true }
]
}, {
"id": 5,
@@ -95,8 +95,8 @@
setTimeout(() => {
this.tree.forEach((item) => {
item.disabled = false
- if(item.children) {
- item.children = item.children.map((item) => ({ ...item,disabled: false}))
+ if (item.children) {
+ item.children = item.children.map((item) => ({ ...item, disabled: false }))
}
})
}, 5000)
@@ -125,7 +125,7 @@
handler(data, checked, indeterminate)
}
else {
- if(data.id.toString() === '5' && checked) {
+ if (data.id.toString() === '5' && checked) {
window.terrainManager.visible = true
return
}
@@ -143,14 +143,18 @@
},
btnClick(e) {
this.showLayerTree = false
+ this.clearDialog()
if (e.target.id === 'initBtn') {
initPosition()
} else if (e.target.id === 'clearBtn') {
clearUpMap()
} else if (e.target.id === 'layerBtn') {
- // clearUpMap()
this.showLayerTree = true
}
+ },
+ // 清空地图弹窗
+ clearDialog() {
+ this.$bus.$emit('clear')
}
}
}
@@ -178,7 +182,7 @@
right: 20px;
top: 1rem;
display: flex;
- width: 20rem;
+ width: 15rem;
height: 5rem;
z-index: 1111111111;
}
diff --git a/src/pages/csdz/iot/index.vue b/src/pages/csdz/iot/index.vue
index 63b60ea..8aefaea 100644
--- a/src/pages/csdz/iot/index.vue
+++ b/src/pages/csdz/iot/index.vue
@@ -259,8 +259,8 @@
localPoint(e) {
// this.childrenClick(e)
this.clickIcon({
- _data:{
- data:e
+ _data: {
+ data: e
}
})
},
@@ -280,6 +280,11 @@
},
mounted() {
this.search()
+ this.$bus.$on('clear', () => {
+ this.isShowEvent = false
+ this.isShowEventPop = false
+ this.isShowPop = false
+ })
// getStatistics().then(res => {
// if (res.code === 200 && res.data.value.length) {
// console.log(res.data, '')
diff --git a/src/pages/csdz/smartCard/index.vue b/src/pages/csdz/smartCard/index.vue
index 48721f7..32573d2 100644
--- a/src/pages/csdz/smartCard/index.vue
+++ b/src/pages/csdz/smartCard/index.vue
@@ -112,6 +112,7 @@
btnClick(e) {
clearResetMap()
this.selectIndex = e.target.id
+ this.isShowPop = false
if (this.selectIndex === 'publicBtn') {
// 绘制热力图
heat([
@@ -870,6 +871,10 @@
getStatistics({}).then(res => {
console.log(res.data, '一卡通')
})
+ this.$bus.$on('clear', () => {
+ this.isShowPop = false
+ this.isShowEvent = false
+ })
}
}
diff --git a/src/pages/csdz/videoCloud/index.vue b/src/pages/csdz/videoCloud/index.vue
index 4b8d110..81530d5 100644
--- a/src/pages/csdz/videoCloud/index.vue
+++ b/src/pages/csdz/videoCloud/index.vue
@@ -695,6 +695,11 @@
},
mounted() {
this.drawSence()
+ this.$bus.$on('clear', () => {
+ this.isShowPop = false
+ this.isShowEvent = false
+ this.isShowEventPop = false
+ })
}
}
diff --git a/src/pages/ywts/cszl/gd/index.vue b/src/pages/ywts/cszl/gd/index.vue
index e9be7b0..35ee8d7 100644
--- a/src/pages/ywts/cszl/gd/index.vue
+++ b/src/pages/ywts/cszl/gd/index.vue
@@ -1,30 +1,23 @@
-
-
+
+
@@ -34,7 +27,7 @@
import TimeManager from "@/components/TimeManager";
import GdPop from "./gdPop";
import { heat } from '@/utils/freedo/heat'
-import { clearUpMap, clearResetMap ,AddLabelPoint, initPosition } from '@/utils/freedo'
+import { clearUpMap, clearResetMap, AddLabelPoint, initPosition } from '@/utils/freedo'
import {
getHeat,
getArea,
@@ -43,17 +36,17 @@
getStatistics,
getCasePointList, getCaseInfo
} from "../../../../api/ywts/cszl/gd";
-import {AddDivPointCase, AddDivPointHighlight, AddLabel, focusPoint} from "../../../../utils/freedo";
+import { AddDivPointCase, AddDivPointHighlight, AddLabel, focusPoint } from "../../../../utils/freedo";
import ListPage from "@/components/ListPage";
import KeywordManager from "../../../../components/KeywordManager";
import gridJson from "@/assets/mapJson/grid.json";
import mapJson from "@/assets/mapJson/map.json";
-import {eventBus} from "../../../../main";
+import { eventBus } from "../../../../main";
export default {
name: 'Gd',
- components: {KeywordManager, GdPop, TimeManager, LayerManagerMix, ListPage, CommonBtn },
+ components: { KeywordManager, GdPop, TimeManager, LayerManagerMix, ListPage, CommonBtn },
data() {
return {
isListPage: false,
@@ -73,19 +66,19 @@
caseTotal: 0,
layerManager: null,
caseIcon: {
- 1: require('@/assets/images/icon/事件/已撤案.png'),
- 2: require('@/assets/images/icon/事件/指派中.png'),
- 3: require('@/assets/images/icon/事件/处置中.png'),
- 4: require('@/assets/images/icon/事件/已办结.png'),
- 5: require('@/assets/images/icon/事件/已结案.png'),
- },
+ 1: require('@/assets/images/icon/事件/已撤案.png'),
+ 2: require('@/assets/images/icon/事件/指派中.png'),
+ 3: require('@/assets/images/icon/事件/处置中.png'),
+ 4: require('@/assets/images/icon/事件/已办结.png'),
+ 5: require('@/assets/images/icon/事件/已结案.png'),
+ },
caseColor: {
- 1: '#ffffff88',
- 2: '#fdeb5688',
- 3: '#85c8ff88',
- 4: '#ffba7488',
- 5: '#87f6b388',
- },
+ 1: '#ffffff88',
+ 2: '#fdeb5688',
+ 3: '#85c8ff88',
+ 4: '#ffba7488',
+ 5: '#87f6b388',
+ },
time: {
startTime: '',
endTime: '',
@@ -105,10 +98,10 @@
name: '工地设备',
value: 'device'
}
- // , {
- // name: '环监设备',
- // value: 'others'
- // }
+ // , {
+ // name: '环监设备',
+ // value: 'others'
+ // }
],
menus: {
device: [
@@ -122,7 +115,7 @@
},
mounted() {
getStatistics().then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
this.menus.device = response.data.value
}
})
@@ -135,28 +128,24 @@
autoFlyto: true,
})
- eventBus.$emit('change-layer', { id:1, checked: false});
- eventBus.$emit('change-layer', { id:2, checked: false});
- eventBus.$emit('change-layer', { id:3, checked: false});
- eventBus.$emit('change-layer', { id:4, checked: false});
- eventBus.$emit('change-layer', { id:5, checked: true});
- eventBus.$emit('change-layer', { id:44, checked: true});
- eventBus.$emit('change-layer', { id:21, checked: true});
- eventBus.$emit('change-layer', { id:12, checked: true});
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: false }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: true });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: false });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: true }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
-
- // window.pmtsManager.add({
- // id: "智慧工地-手工模型",
- // url: mapJson.CIM4["智慧工地-手工模型"],
- // show: true,
- // maximumScreenSpaceError: 32,
- // maximumMemoryUsage: 64,
- // maximumAbsoluteMemoryUsage: 8192,
- // autoFlyto: true
- // },
- // undefined
- // )
- // window.terrainManager.visible = true
+ // 清除弹窗展示
+ this.$bus.$on('clear', () => {
+ this.isListPage = false
+ this.isShow = false
+ })
},
methods: {
async btnClick(e) {
@@ -179,7 +168,7 @@
break
case "personBtn":
getHeat().then(res => {
- if(res.code === 200) {
+ if (res.code === 200) {
console.log(res.data, '热力')
const arr = res.data.value.filter(item => item.lng !== "" && item.lng !== null)
// arr.splice(0,1) // todo: 测试第一个错误数据
@@ -192,17 +181,17 @@
// 设备图层控制
layer(item) {
// clearUpMap(true)
- const iconOnline = require('@/assets/images/icon/工地地图点位/'+item.typename.replace(/ /g,'')+'在线.png')
- const iconOffline = require('@/assets/images/icon/工地地图点位/'+item.typename.replace(/ /g,'')+'离线.png')
- getDevList({type: item.type}).then(response => {
- if(response.code === 200) {
+ const iconOnline = require('@/assets/images/icon/工地地图点位/' + item.typename.replace(/ /g, '') + '在线.png')
+ const iconOffline = require('@/assets/images/icon/工地地图点位/' + item.typename.replace(/ /g, '') + '离线.png')
+ getDevList({ type: item.type }).then(response => {
+ if (response.code === 200) {
clearUpMap(true)
this.keywordList = response.data.value
response.data.value.forEach(item => {
AddLabelPoint(
item.id,
'',
- item.status === '1'? iconOnline: iconOffline,
+ item.status === '1' ? iconOnline : iconOffline,
[item.lon, item.lat, 0], 'gd-dev', item,
null)
})
@@ -216,23 +205,23 @@
// keywords: this.keyword
}
getCasePointList(param).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
clearUpMap(true)
const data = []
response.data.value.forEach(item => {
- if(!data.map(da => da.id).includes(item.id) && !data.map(da => da.lon).includes(item.lon) && item.id !== null) {
+ if (!data.map(da => da.id).includes(item.id) && !data.map(da => da.lon).includes(item.lon) && item.id !== null) {
data.push(item)
}
})
this.keywordList = data
data.forEach(item => {
// if(item.total === '1') {
- AddLabelPoint(
- item.id,
- '',
- this.caseIcon[item.eventstatus],
- [item.lon, item.lat, 0], 'gd-case', item,
- this.clickCase)
+ AddLabelPoint(
+ item.id,
+ '',
+ this.caseIcon[item.eventstatus],
+ [item.lon, item.lat, 0], 'gd-case', item,
+ this.clickCase)
// } else {
// AddDivPointCase(item, this.caseColor[item.status], item.total, this.clickCase)
// }
@@ -244,8 +233,8 @@
search() {
const iconDone = require('@/assets/images/icon/工地地图点位/工地已完成.png')
const iconDoing = require('@/assets/images/icon/工地地图点位/工地进行中.png')
- getArea({keywords: this.keyword}).then(response => {
- if(response.code === 200) {
+ getArea({ keywords: this.keyword }).then(response => {
+ if (response.code === 200) {
clearUpMap(true)
this.keywordList = response.data.value
response.data.value.forEach(item => {
@@ -254,7 +243,7 @@
AddLabelPoint(
item.id,
item.name,
- item.status === '2' ? iconDoing: iconDone,
+ item.status === '2' ? iconDoing : iconDone,
[item.lon, item.lat, 0], 'gd', item,
this.clickGd)
})
@@ -265,8 +254,8 @@
score() {
const iconDone = require('@/assets/images/icon/工地地图点位/工地已完成.png')
const iconDoing = require('@/assets/images/icon/工地地图点位/工地进行中.png')
- getArea({keywords: this.keyword}).then(response => {
- if(response.code === 200) {
+ getArea({ keywords: this.keyword }).then(response => {
+ if (response.code === 200) {
this.keywordList = response.data.value
response.data.value.forEach(item => {
// console.log(item,'321123')
@@ -280,8 +269,8 @@
})
}
})
- getMonthGdScore({keywords: this.keyword}).then(response => {
- if(response.code === 200) {
+ getMonthGdScore({ keywords: this.keyword }).then(response => {
+ if (response.code === 200) {
response.data.value.filter(item => item.lng !== "" && item.lng !== null).forEach(item => {
AddLabel(
item.id,
@@ -304,7 +293,7 @@
clickCase(eventArg) {
const item = eventArg._data.data
// 恢复上一个marker
- if(this.preCase !== null ) {
+ if (this.preCase !== null) {
window.mmManager.removeById(this.preCase.id)
AddLabelPoint(
this.preCase.id,
@@ -313,7 +302,7 @@
[this.preCase.lon, this.preCase.lat, 0], 'gd-case', this.preCase,
this.clickCase)
}
- if(item.total === '1') {
+ if (item.total === '1') {
// 保存当前marker
this.preCase = item
// 高亮当前marker
@@ -323,7 +312,7 @@
this.preCase = null
}
// 查询事件详情
- this.caseTotal = Number(item.total)
+ this.caseTotal = Number(item.total)
this.isListPage = true
this.$refs.caseListPage.initDialog()
this.caseListQuery = {
@@ -345,16 +334,16 @@
searchCaseMarkerList() {
// getCaseInfo(this.caseListQuery).then(response => {
getCaseInfo(this.caseListQuery).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
console.log(response.data.value)
// 右侧看板
- this.caseList = response.data.value
+ this.caseList = response.data.value
}
})
},
handleTimeRange(time) {
this.isListPage = false
- if(this.time.startTime !== '') {
+ if (this.time.startTime !== '') {
this.time = time
this.casePoint()
} else {
diff --git a/src/pages/ywts/cszl/hw/index.vue b/src/pages/ywts/cszl/hw/index.vue
index e773b7d..ed28bc6 100644
--- a/src/pages/ywts/cszl/hw/index.vue
+++ b/src/pages/ywts/cszl/hw/index.vue
@@ -31,6 +31,7 @@
import ListPage from "@/components/ListPage";
import { getPlacePointList, getOverviewStatistics, getPersonList, getCarList, getCaseList, getCaseInfo } from '@/api/ywts/cszl/hw'
import { iconFilter, iconPerson, personList, carList, iconCar } from './data'
+import { eventBus } from "../../../../main";
export default {
name: 'Hw',
components: { TimeManager, LayerManagerMix, ListPage, CommonBtn, Pop },
@@ -94,7 +95,25 @@
},
mounted() {
clearResetMap()
+ this.selectInde = 'deviceBtn'
this.fetchPoint()
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: false }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: false });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: false });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: false }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
+ // 清除弹窗展示
+ this.$bus.$on('clear', () => {
+ this.isListPage = false
+ this.showPop = false
+ })
},
methods: {
async btnClick(e) {
@@ -263,17 +282,17 @@
// this.caseList = res.data.value || []
// this.caseTotal = this.caseList.length
res.data.value.forEach(item => {
- AddLabelPoint(
- item.id.replaceAll('.', ''),
- '',
- this.caseIcon[item.status],
- [item.lon, item.lat, 0], 'gd-case', item,
- this.clickCase)
- })
+ AddLabelPoint(
+ item.id.replaceAll('.', ''),
+ '',
+ this.caseIcon[item.status],
+ [item.lon, item.lat, 0], 'gd-case', item,
+ this.clickCase)
+ })
})
},
- // 点击事件icon
- clickCase(eventArg) {
+ // 点击事件icon
+ clickCase(eventArg) {
const item = eventArg._data.data
// 恢复上一个marker
if (this.preCase !== null) {
@@ -306,11 +325,11 @@
getCaseInfo(this.caseListQuery).then(res => {
console.log(res.data, '事件详情')
this.caseList = res.data.value || []
- this.caseTotal = this.caseList.length
+ this.caseTotal = this.caseList.length
})
},
- // 事件换页
- changePage(val) {
+ // 事件换页
+ changePage(val) {
if (val && val.page) {
this.caseListQuery.pageNo = val.page
}
diff --git a/src/pages/ywts/cszl/jt/index.vue b/src/pages/ywts/cszl/jt/index.vue
index fb1ce91..ef5938c 100644
--- a/src/pages/ywts/cszl/jt/index.vue
+++ b/src/pages/ywts/cszl/jt/index.vue
@@ -1,15 +1,21 @@
-
+
@@ -26,8 +32,9 @@
getStatistics,
getCasePointList, getCaseInfo
} from "../../../../api/ywts/cszl/gd";
-import {AddDivPointHighlight, AddLabel} from "../../../../utils/freedo";
+import { AddDivPointHighlight, AddLabel } from "../../../../utils/freedo";
import ListPage from "@/components/ListPage";
+import { eventBus } from "../../../../main";
export default {
name: 'Jt',
@@ -47,19 +54,19 @@
},
caseTotal: 0,
caseIcon: {
- 1: require('@/assets/images/icon/事件/已撤案.png'),
- 2: require('@/assets/images/icon/事件/指派中.png'),
- 3: require('@/assets/images/icon/事件/处置中.png'),
- 4: require('@/assets/images/icon/事件/已办结.png'),
- 5: require('@/assets/images/icon/事件/已结案.png'),
- },
+ 1: require('@/assets/images/icon/事件/已撤案.png'),
+ 2: require('@/assets/images/icon/事件/指派中.png'),
+ 3: require('@/assets/images/icon/事件/处置中.png'),
+ 4: require('@/assets/images/icon/事件/已办结.png'),
+ 5: require('@/assets/images/icon/事件/已结案.png'),
+ },
caseColor: {
- 1: '#ffffff',
- 2: '#fdeb56',
- 3: '#85c8ff',
- 4: '#ffba74',
- 5: '#87f6b3',
- },
+ 1: '#ffffff',
+ 2: '#fdeb56',
+ 3: '#85c8ff',
+ 4: '#ffba74',
+ 5: '#87f6b3',
+ },
time: {
startTime: '',
endTime: '',
@@ -81,10 +88,10 @@
name: '基础设施',
value: 'place'
}
- // , {
- // name: '环监设备',
- // value: 'others'
- // }
+ // , {
+ // name: '环监设备',
+ // value: 'others'
+ // }
],
menus: {
place: [
@@ -98,11 +105,27 @@
},
mounted() {
getStatistics().then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
this.menus.place = response.data.value
}
})
this.search()
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: false }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: false });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: true });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: true }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
+ // 清除弹窗展示
+ this.$bus.$on('clear', () => {
+ this.isListPage = false
+ })
},
methods: {
async btnClick(e) {
@@ -121,16 +144,16 @@
// 设备图层控制
layer(item) {
// clearUpMap()
- const iconOnline = require('@/assets/images/icon/工地地图点位/'+item.typename.replace(/ /g,'')+'在线.png')
- const iconOffline = require('@/assets/images/icon/工地地图点位/'+item.typename.replace(/ /g,'')+'离线.png')
- getDevList({type: item.type}).then(response => {
- if(response.code === 200) {
+ const iconOnline = require('@/assets/images/icon/工地地图点位/' + item.typename.replace(/ /g, '') + '在线.png')
+ const iconOffline = require('@/assets/images/icon/工地地图点位/' + item.typename.replace(/ /g, '') + '离线.png')
+ getDevList({ type: item.type }).then(response => {
+ if (response.code === 200) {
clearUpMap()
response.data.value.forEach(item => {
AddLabelPoint(
item.id,
'',
- item.status === '1'? iconOnline: iconOffline,
+ item.status === '1' ? iconOnline : iconOffline,
[item.lon, item.lat, 0], 'gd-place', item,
null)
})
@@ -141,11 +164,11 @@
casePoint() {
console.log(this.time)
getCasePointList(this.time).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
clearUpMap()
const data = []
response.data.value.forEach(item => {
- if(!data.map(da => da.id).includes(item.id) && !data.map(da => da.lon).includes(item.lon) && item.id !== null) {
+ if (!data.map(da => da.id).includes(item.id) && !data.map(da => da.lon).includes(item.lon) && item.id !== null) {
data.push(item)
}
})
@@ -165,7 +188,7 @@
const iconDone = require('@/assets/images/icon/工地地图点位/工地已完成.png')
const iconDoing = require('@/assets/images/icon/工地地图点位/工地进行中.png')
getArea({}).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
clearUpMap()
response.data.value.forEach(item => {
// console.log(item.areaboundary)
@@ -173,7 +196,7 @@
AddLabelPoint(
item.id,
item.name,
- item.status === '2' ? iconDoing: iconDone,
+ item.status === '2' ? iconDoing : iconDone,
[item.lon, item.lat, 0], 'gd', item,
this.clickHw)
})
@@ -183,7 +206,7 @@
// 智慧工地-工地近1月综合得分
score() {
getArea({}).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
response.data.value.forEach(item => {
console.log(item.areaboundary)
// todo : 画范围
@@ -195,7 +218,7 @@
clickCase(eventArg) {
const item = eventArg._data.data
// 恢复上一个marker
- if(this.preCase !== null ) {
+ if (this.preCase !== null) {
window.mmManager.removeById(this.preCase.id)
AddLabelPoint(
this.preCase.id,
@@ -231,13 +254,13 @@
searchCaseMarkerList() {
// getCaseInfo(this.caseListQuery).then(response => {
getCaseInfo(this.caseListQuery).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
console.log(response.data.value)
// 右侧看板
- this.caseList = response.data.value
+ this.caseList = response.data.value
// todo
// this.caseTotal = response.data.value.length
- this.caseTotal = 12
+ this.caseTotal = 12
}
})
},
@@ -246,7 +269,7 @@
},
handleTimeRange(time) {
this.isListPage = false
- if(this.time.startTime !== '') {
+ if (this.time.startTime !== '') {
this.time = time
this.casePoint()
} else {
diff --git a/src/api/ywts/shms/jy.js b/src/api/ywts/shms/jy.js
index f3ac251..56f48e3 100644
--- a/src/api/ywts/shms/jy.js
+++ b/src/api/ywts/shms/jy.js
@@ -116,7 +116,7 @@
return request({
url: 'zhjy-gktj/zhjy/sbdwlb',
method: 'post',
- data,
+ // data,
params: data
})
}
diff --git a/src/api/ywts/shms/sq.js b/src/api/ywts/shms/sq.js
new file mode 100644
index 0000000..04a5447
--- /dev/null
+++ b/src/api/ywts/shms/sq.js
@@ -0,0 +1,123 @@
+/**
+ * 社区接口
+ */
+import request from '@/utils/request'
+
+// 社区点位列表
+export function getCommunityList() {
+ return request({
+ url: 'zhsq-gktj/zhsq/sqdwlb',
+ method: 'post',
+ })
+}
+
+// 人员热力图
+export function getHeat() {
+ return request({
+ url: 'zhsq-gktj/zhsq/sqyyrlt',
+ method: 'post',
+ })
+}
+
+// 设备点位
+export function getDevice() {
+ return request({
+ url: 'zhsq-gktj/zhsq/sbdwlb',
+ method: 'post',
+ params: {
+ type: '',
+ keywords: ''
+ }
+ })
+}
+
+// 社区车辆
+export function getCar() {
+ return request({
+ url: 'zhsq-gktj/zhsq/sqbyl',
+ method: 'post',
+ })
+}
+
+// 事件点位列表
+export function getCase(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/sjdwlb',
+ method: 'post',
+ params:{
+ ...data
+ }
+ })
+}
+
+// 事件详情
+export function getCaseList(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/zjlbfy',
+ method: 'post',
+ params:{
+ ...data
+ }
+ })
+}
+// 获取社区基本信息
+export function getBaseInfo(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/sqdwxq',
+ method: 'post',
+ params:{
+ ...data
+ },
+ // data
+ })
+}
+// 居民年龄统计
+export function getAgeStatistics(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/jmnltj',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
+// 居民流动比例
+export function getCurrentRatio(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/jmldbl',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
+// 近1年人房车占比统计
+export function getPersonCarRatio(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/rfczbtj',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
+// 近1月居民通行量分析
+export function getTransitrRatio(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/jmtxlfx',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
+// 近1月高频事件排行榜
+export function getCaseRank(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/gpsjphb',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
diff --git a/src/api/ywts/zyhj/hb.js b/src/api/ywts/zyhj/hb.js
index 5e598d1..07625d1 100644
--- a/src/api/ywts/zyhj/hb.js
+++ b/src/api/ywts/zyhj/hb.js
@@ -8,7 +8,10 @@
return request({
url: 'zhhb-gktj/zhhb/gktj',
method: 'post',
- data
+ data,
+ params: {
+ ...data,
+ }
})
}
// 环保点位列表
@@ -19,3 +22,26 @@
data
})
}
+// 环保告警列表
+export function getAlarmList(data) {
+ return request({
+ url: 'zhhb-gktj/zhhb/hbgjlb',
+ method: 'post',
+ // data
+ params: {
+ ...data
+ }
+ })
+}
+
+// 环保事件列表
+export function getCaseList(data) {
+ return request({
+ url: 'zhhb-gktj/zhhb/hbsjlbfy',
+ method: 'post',
+ // data
+ params: {
+ ...data
+ }
+ })
+}
diff --git a/src/api/ywts/zyhj/yl.js b/src/api/ywts/zyhj/yl.js
index 63d7ad2..643e3d4 100644
--- a/src/api/ywts/zyhj/yl.js
+++ b/src/api/ywts/zyhj/yl.js
@@ -88,6 +88,9 @@
url: 'zhyl-gktjljk/zhyl/sjxq',
method: 'post',
data,
+ params: {
+ ...data,
+ }
})
}
// 苗木点位列表
diff --git a/src/components/CommonFunction/index.vue b/src/components/CommonFunction/index.vue
index 1a10acb..c2eba44 100644
--- a/src/components/CommonFunction/index.vue
+++ b/src/components/CommonFunction/index.vue
@@ -5,8 +5,8 @@
@click="btnClick" />
-
+
@@ -21,7 +21,7 @@
import CommonBtn from "../CommonBtn";
import { clearUpMap } from '@/utils/freedo/index'
-import { initPosition, initPage } from "../../utils/freedo";
+import { initPosition, initPage } from "../../utils/freedo";
import mapJson from "@/assets/mapJson/map.json";
import { eventBus } from "../../main";
@@ -59,11 +59,11 @@
disabled: true,
"children": [
{ "id": 41, "label": "智慧教育-手工模型", disabled: true },
- { "id": 42, "label": "智慧停车云-手工模型", disabled: true },
- { "id": 43, "label": "智慧社区-手工模型", disabled: true },
- { "id": 44, "label": "智慧工地-手工模型", disabled: true },
- { "id": 45, "label": "智慧交通-手工模型", disabled: true },
- { "id": 46, "label": "智慧园林-手工模型", disabled: true }
+ { "id": 42, "label": "智慧停车云-手工模型", disabled: true },
+ { "id": 43, "label": "智慧社区-手工模型", disabled: true },
+ { "id": 44, "label": "智慧工地-手工模型", disabled: true },
+ { "id": 45, "label": "智慧交通-手工模型", disabled: true },
+ { "id": 46, "label": "智慧园林-手工模型", disabled: true }
]
}, {
"id": 5,
@@ -95,8 +95,8 @@
setTimeout(() => {
this.tree.forEach((item) => {
item.disabled = false
- if(item.children) {
- item.children = item.children.map((item) => ({ ...item,disabled: false}))
+ if (item.children) {
+ item.children = item.children.map((item) => ({ ...item, disabled: false }))
}
})
}, 5000)
@@ -125,7 +125,7 @@
handler(data, checked, indeterminate)
}
else {
- if(data.id.toString() === '5' && checked) {
+ if (data.id.toString() === '5' && checked) {
window.terrainManager.visible = true
return
}
@@ -143,14 +143,18 @@
},
btnClick(e) {
this.showLayerTree = false
+ this.clearDialog()
if (e.target.id === 'initBtn') {
initPosition()
} else if (e.target.id === 'clearBtn') {
clearUpMap()
} else if (e.target.id === 'layerBtn') {
- // clearUpMap()
this.showLayerTree = true
}
+ },
+ // 清空地图弹窗
+ clearDialog() {
+ this.$bus.$emit('clear')
}
}
}
@@ -178,7 +182,7 @@
right: 20px;
top: 1rem;
display: flex;
- width: 20rem;
+ width: 15rem;
height: 5rem;
z-index: 1111111111;
}
diff --git a/src/pages/csdz/iot/index.vue b/src/pages/csdz/iot/index.vue
index 63b60ea..8aefaea 100644
--- a/src/pages/csdz/iot/index.vue
+++ b/src/pages/csdz/iot/index.vue
@@ -259,8 +259,8 @@
localPoint(e) {
// this.childrenClick(e)
this.clickIcon({
- _data:{
- data:e
+ _data: {
+ data: e
}
})
},
@@ -280,6 +280,11 @@
},
mounted() {
this.search()
+ this.$bus.$on('clear', () => {
+ this.isShowEvent = false
+ this.isShowEventPop = false
+ this.isShowPop = false
+ })
// getStatistics().then(res => {
// if (res.code === 200 && res.data.value.length) {
// console.log(res.data, '')
diff --git a/src/pages/csdz/smartCard/index.vue b/src/pages/csdz/smartCard/index.vue
index 48721f7..32573d2 100644
--- a/src/pages/csdz/smartCard/index.vue
+++ b/src/pages/csdz/smartCard/index.vue
@@ -112,6 +112,7 @@
btnClick(e) {
clearResetMap()
this.selectIndex = e.target.id
+ this.isShowPop = false
if (this.selectIndex === 'publicBtn') {
// 绘制热力图
heat([
@@ -870,6 +871,10 @@
getStatistics({}).then(res => {
console.log(res.data, '一卡通')
})
+ this.$bus.$on('clear', () => {
+ this.isShowPop = false
+ this.isShowEvent = false
+ })
}
}
diff --git a/src/pages/csdz/videoCloud/index.vue b/src/pages/csdz/videoCloud/index.vue
index 4b8d110..81530d5 100644
--- a/src/pages/csdz/videoCloud/index.vue
+++ b/src/pages/csdz/videoCloud/index.vue
@@ -695,6 +695,11 @@
},
mounted() {
this.drawSence()
+ this.$bus.$on('clear', () => {
+ this.isShowPop = false
+ this.isShowEvent = false
+ this.isShowEventPop = false
+ })
}
}
diff --git a/src/pages/ywts/cszl/gd/index.vue b/src/pages/ywts/cszl/gd/index.vue
index e9be7b0..35ee8d7 100644
--- a/src/pages/ywts/cszl/gd/index.vue
+++ b/src/pages/ywts/cszl/gd/index.vue
@@ -1,30 +1,23 @@
-
-
+
+
@@ -34,7 +27,7 @@
import TimeManager from "@/components/TimeManager";
import GdPop from "./gdPop";
import { heat } from '@/utils/freedo/heat'
-import { clearUpMap, clearResetMap ,AddLabelPoint, initPosition } from '@/utils/freedo'
+import { clearUpMap, clearResetMap, AddLabelPoint, initPosition } from '@/utils/freedo'
import {
getHeat,
getArea,
@@ -43,17 +36,17 @@
getStatistics,
getCasePointList, getCaseInfo
} from "../../../../api/ywts/cszl/gd";
-import {AddDivPointCase, AddDivPointHighlight, AddLabel, focusPoint} from "../../../../utils/freedo";
+import { AddDivPointCase, AddDivPointHighlight, AddLabel, focusPoint } from "../../../../utils/freedo";
import ListPage from "@/components/ListPage";
import KeywordManager from "../../../../components/KeywordManager";
import gridJson from "@/assets/mapJson/grid.json";
import mapJson from "@/assets/mapJson/map.json";
-import {eventBus} from "../../../../main";
+import { eventBus } from "../../../../main";
export default {
name: 'Gd',
- components: {KeywordManager, GdPop, TimeManager, LayerManagerMix, ListPage, CommonBtn },
+ components: { KeywordManager, GdPop, TimeManager, LayerManagerMix, ListPage, CommonBtn },
data() {
return {
isListPage: false,
@@ -73,19 +66,19 @@
caseTotal: 0,
layerManager: null,
caseIcon: {
- 1: require('@/assets/images/icon/事件/已撤案.png'),
- 2: require('@/assets/images/icon/事件/指派中.png'),
- 3: require('@/assets/images/icon/事件/处置中.png'),
- 4: require('@/assets/images/icon/事件/已办结.png'),
- 5: require('@/assets/images/icon/事件/已结案.png'),
- },
+ 1: require('@/assets/images/icon/事件/已撤案.png'),
+ 2: require('@/assets/images/icon/事件/指派中.png'),
+ 3: require('@/assets/images/icon/事件/处置中.png'),
+ 4: require('@/assets/images/icon/事件/已办结.png'),
+ 5: require('@/assets/images/icon/事件/已结案.png'),
+ },
caseColor: {
- 1: '#ffffff88',
- 2: '#fdeb5688',
- 3: '#85c8ff88',
- 4: '#ffba7488',
- 5: '#87f6b388',
- },
+ 1: '#ffffff88',
+ 2: '#fdeb5688',
+ 3: '#85c8ff88',
+ 4: '#ffba7488',
+ 5: '#87f6b388',
+ },
time: {
startTime: '',
endTime: '',
@@ -105,10 +98,10 @@
name: '工地设备',
value: 'device'
}
- // , {
- // name: '环监设备',
- // value: 'others'
- // }
+ // , {
+ // name: '环监设备',
+ // value: 'others'
+ // }
],
menus: {
device: [
@@ -122,7 +115,7 @@
},
mounted() {
getStatistics().then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
this.menus.device = response.data.value
}
})
@@ -135,28 +128,24 @@
autoFlyto: true,
})
- eventBus.$emit('change-layer', { id:1, checked: false});
- eventBus.$emit('change-layer', { id:2, checked: false});
- eventBus.$emit('change-layer', { id:3, checked: false});
- eventBus.$emit('change-layer', { id:4, checked: false});
- eventBus.$emit('change-layer', { id:5, checked: true});
- eventBus.$emit('change-layer', { id:44, checked: true});
- eventBus.$emit('change-layer', { id:21, checked: true});
- eventBus.$emit('change-layer', { id:12, checked: true});
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: false }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: true });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: false });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: true }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
-
- // window.pmtsManager.add({
- // id: "智慧工地-手工模型",
- // url: mapJson.CIM4["智慧工地-手工模型"],
- // show: true,
- // maximumScreenSpaceError: 32,
- // maximumMemoryUsage: 64,
- // maximumAbsoluteMemoryUsage: 8192,
- // autoFlyto: true
- // },
- // undefined
- // )
- // window.terrainManager.visible = true
+ // 清除弹窗展示
+ this.$bus.$on('clear', () => {
+ this.isListPage = false
+ this.isShow = false
+ })
},
methods: {
async btnClick(e) {
@@ -179,7 +168,7 @@
break
case "personBtn":
getHeat().then(res => {
- if(res.code === 200) {
+ if (res.code === 200) {
console.log(res.data, '热力')
const arr = res.data.value.filter(item => item.lng !== "" && item.lng !== null)
// arr.splice(0,1) // todo: 测试第一个错误数据
@@ -192,17 +181,17 @@
// 设备图层控制
layer(item) {
// clearUpMap(true)
- const iconOnline = require('@/assets/images/icon/工地地图点位/'+item.typename.replace(/ /g,'')+'在线.png')
- const iconOffline = require('@/assets/images/icon/工地地图点位/'+item.typename.replace(/ /g,'')+'离线.png')
- getDevList({type: item.type}).then(response => {
- if(response.code === 200) {
+ const iconOnline = require('@/assets/images/icon/工地地图点位/' + item.typename.replace(/ /g, '') + '在线.png')
+ const iconOffline = require('@/assets/images/icon/工地地图点位/' + item.typename.replace(/ /g, '') + '离线.png')
+ getDevList({ type: item.type }).then(response => {
+ if (response.code === 200) {
clearUpMap(true)
this.keywordList = response.data.value
response.data.value.forEach(item => {
AddLabelPoint(
item.id,
'',
- item.status === '1'? iconOnline: iconOffline,
+ item.status === '1' ? iconOnline : iconOffline,
[item.lon, item.lat, 0], 'gd-dev', item,
null)
})
@@ -216,23 +205,23 @@
// keywords: this.keyword
}
getCasePointList(param).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
clearUpMap(true)
const data = []
response.data.value.forEach(item => {
- if(!data.map(da => da.id).includes(item.id) && !data.map(da => da.lon).includes(item.lon) && item.id !== null) {
+ if (!data.map(da => da.id).includes(item.id) && !data.map(da => da.lon).includes(item.lon) && item.id !== null) {
data.push(item)
}
})
this.keywordList = data
data.forEach(item => {
// if(item.total === '1') {
- AddLabelPoint(
- item.id,
- '',
- this.caseIcon[item.eventstatus],
- [item.lon, item.lat, 0], 'gd-case', item,
- this.clickCase)
+ AddLabelPoint(
+ item.id,
+ '',
+ this.caseIcon[item.eventstatus],
+ [item.lon, item.lat, 0], 'gd-case', item,
+ this.clickCase)
// } else {
// AddDivPointCase(item, this.caseColor[item.status], item.total, this.clickCase)
// }
@@ -244,8 +233,8 @@
search() {
const iconDone = require('@/assets/images/icon/工地地图点位/工地已完成.png')
const iconDoing = require('@/assets/images/icon/工地地图点位/工地进行中.png')
- getArea({keywords: this.keyword}).then(response => {
- if(response.code === 200) {
+ getArea({ keywords: this.keyword }).then(response => {
+ if (response.code === 200) {
clearUpMap(true)
this.keywordList = response.data.value
response.data.value.forEach(item => {
@@ -254,7 +243,7 @@
AddLabelPoint(
item.id,
item.name,
- item.status === '2' ? iconDoing: iconDone,
+ item.status === '2' ? iconDoing : iconDone,
[item.lon, item.lat, 0], 'gd', item,
this.clickGd)
})
@@ -265,8 +254,8 @@
score() {
const iconDone = require('@/assets/images/icon/工地地图点位/工地已完成.png')
const iconDoing = require('@/assets/images/icon/工地地图点位/工地进行中.png')
- getArea({keywords: this.keyword}).then(response => {
- if(response.code === 200) {
+ getArea({ keywords: this.keyword }).then(response => {
+ if (response.code === 200) {
this.keywordList = response.data.value
response.data.value.forEach(item => {
// console.log(item,'321123')
@@ -280,8 +269,8 @@
})
}
})
- getMonthGdScore({keywords: this.keyword}).then(response => {
- if(response.code === 200) {
+ getMonthGdScore({ keywords: this.keyword }).then(response => {
+ if (response.code === 200) {
response.data.value.filter(item => item.lng !== "" && item.lng !== null).forEach(item => {
AddLabel(
item.id,
@@ -304,7 +293,7 @@
clickCase(eventArg) {
const item = eventArg._data.data
// 恢复上一个marker
- if(this.preCase !== null ) {
+ if (this.preCase !== null) {
window.mmManager.removeById(this.preCase.id)
AddLabelPoint(
this.preCase.id,
@@ -313,7 +302,7 @@
[this.preCase.lon, this.preCase.lat, 0], 'gd-case', this.preCase,
this.clickCase)
}
- if(item.total === '1') {
+ if (item.total === '1') {
// 保存当前marker
this.preCase = item
// 高亮当前marker
@@ -323,7 +312,7 @@
this.preCase = null
}
// 查询事件详情
- this.caseTotal = Number(item.total)
+ this.caseTotal = Number(item.total)
this.isListPage = true
this.$refs.caseListPage.initDialog()
this.caseListQuery = {
@@ -345,16 +334,16 @@
searchCaseMarkerList() {
// getCaseInfo(this.caseListQuery).then(response => {
getCaseInfo(this.caseListQuery).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
console.log(response.data.value)
// 右侧看板
- this.caseList = response.data.value
+ this.caseList = response.data.value
}
})
},
handleTimeRange(time) {
this.isListPage = false
- if(this.time.startTime !== '') {
+ if (this.time.startTime !== '') {
this.time = time
this.casePoint()
} else {
diff --git a/src/pages/ywts/cszl/hw/index.vue b/src/pages/ywts/cszl/hw/index.vue
index e773b7d..ed28bc6 100644
--- a/src/pages/ywts/cszl/hw/index.vue
+++ b/src/pages/ywts/cszl/hw/index.vue
@@ -31,6 +31,7 @@
import ListPage from "@/components/ListPage";
import { getPlacePointList, getOverviewStatistics, getPersonList, getCarList, getCaseList, getCaseInfo } from '@/api/ywts/cszl/hw'
import { iconFilter, iconPerson, personList, carList, iconCar } from './data'
+import { eventBus } from "../../../../main";
export default {
name: 'Hw',
components: { TimeManager, LayerManagerMix, ListPage, CommonBtn, Pop },
@@ -94,7 +95,25 @@
},
mounted() {
clearResetMap()
+ this.selectInde = 'deviceBtn'
this.fetchPoint()
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: false }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: false });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: false });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: false }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
+ // 清除弹窗展示
+ this.$bus.$on('clear', () => {
+ this.isListPage = false
+ this.showPop = false
+ })
},
methods: {
async btnClick(e) {
@@ -263,17 +282,17 @@
// this.caseList = res.data.value || []
// this.caseTotal = this.caseList.length
res.data.value.forEach(item => {
- AddLabelPoint(
- item.id.replaceAll('.', ''),
- '',
- this.caseIcon[item.status],
- [item.lon, item.lat, 0], 'gd-case', item,
- this.clickCase)
- })
+ AddLabelPoint(
+ item.id.replaceAll('.', ''),
+ '',
+ this.caseIcon[item.status],
+ [item.lon, item.lat, 0], 'gd-case', item,
+ this.clickCase)
+ })
})
},
- // 点击事件icon
- clickCase(eventArg) {
+ // 点击事件icon
+ clickCase(eventArg) {
const item = eventArg._data.data
// 恢复上一个marker
if (this.preCase !== null) {
@@ -306,11 +325,11 @@
getCaseInfo(this.caseListQuery).then(res => {
console.log(res.data, '事件详情')
this.caseList = res.data.value || []
- this.caseTotal = this.caseList.length
+ this.caseTotal = this.caseList.length
})
},
- // 事件换页
- changePage(val) {
+ // 事件换页
+ changePage(val) {
if (val && val.page) {
this.caseListQuery.pageNo = val.page
}
diff --git a/src/pages/ywts/cszl/jt/index.vue b/src/pages/ywts/cszl/jt/index.vue
index fb1ce91..ef5938c 100644
--- a/src/pages/ywts/cszl/jt/index.vue
+++ b/src/pages/ywts/cszl/jt/index.vue
@@ -1,15 +1,21 @@
-
+
@@ -26,8 +32,9 @@
getStatistics,
getCasePointList, getCaseInfo
} from "../../../../api/ywts/cszl/gd";
-import {AddDivPointHighlight, AddLabel} from "../../../../utils/freedo";
+import { AddDivPointHighlight, AddLabel } from "../../../../utils/freedo";
import ListPage from "@/components/ListPage";
+import { eventBus } from "../../../../main";
export default {
name: 'Jt',
@@ -47,19 +54,19 @@
},
caseTotal: 0,
caseIcon: {
- 1: require('@/assets/images/icon/事件/已撤案.png'),
- 2: require('@/assets/images/icon/事件/指派中.png'),
- 3: require('@/assets/images/icon/事件/处置中.png'),
- 4: require('@/assets/images/icon/事件/已办结.png'),
- 5: require('@/assets/images/icon/事件/已结案.png'),
- },
+ 1: require('@/assets/images/icon/事件/已撤案.png'),
+ 2: require('@/assets/images/icon/事件/指派中.png'),
+ 3: require('@/assets/images/icon/事件/处置中.png'),
+ 4: require('@/assets/images/icon/事件/已办结.png'),
+ 5: require('@/assets/images/icon/事件/已结案.png'),
+ },
caseColor: {
- 1: '#ffffff',
- 2: '#fdeb56',
- 3: '#85c8ff',
- 4: '#ffba74',
- 5: '#87f6b3',
- },
+ 1: '#ffffff',
+ 2: '#fdeb56',
+ 3: '#85c8ff',
+ 4: '#ffba74',
+ 5: '#87f6b3',
+ },
time: {
startTime: '',
endTime: '',
@@ -81,10 +88,10 @@
name: '基础设施',
value: 'place'
}
- // , {
- // name: '环监设备',
- // value: 'others'
- // }
+ // , {
+ // name: '环监设备',
+ // value: 'others'
+ // }
],
menus: {
place: [
@@ -98,11 +105,27 @@
},
mounted() {
getStatistics().then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
this.menus.place = response.data.value
}
})
this.search()
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: false }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: false });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: true });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: true }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
+ // 清除弹窗展示
+ this.$bus.$on('clear', () => {
+ this.isListPage = false
+ })
},
methods: {
async btnClick(e) {
@@ -121,16 +144,16 @@
// 设备图层控制
layer(item) {
// clearUpMap()
- const iconOnline = require('@/assets/images/icon/工地地图点位/'+item.typename.replace(/ /g,'')+'在线.png')
- const iconOffline = require('@/assets/images/icon/工地地图点位/'+item.typename.replace(/ /g,'')+'离线.png')
- getDevList({type: item.type}).then(response => {
- if(response.code === 200) {
+ const iconOnline = require('@/assets/images/icon/工地地图点位/' + item.typename.replace(/ /g, '') + '在线.png')
+ const iconOffline = require('@/assets/images/icon/工地地图点位/' + item.typename.replace(/ /g, '') + '离线.png')
+ getDevList({ type: item.type }).then(response => {
+ if (response.code === 200) {
clearUpMap()
response.data.value.forEach(item => {
AddLabelPoint(
item.id,
'',
- item.status === '1'? iconOnline: iconOffline,
+ item.status === '1' ? iconOnline : iconOffline,
[item.lon, item.lat, 0], 'gd-place', item,
null)
})
@@ -141,11 +164,11 @@
casePoint() {
console.log(this.time)
getCasePointList(this.time).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
clearUpMap()
const data = []
response.data.value.forEach(item => {
- if(!data.map(da => da.id).includes(item.id) && !data.map(da => da.lon).includes(item.lon) && item.id !== null) {
+ if (!data.map(da => da.id).includes(item.id) && !data.map(da => da.lon).includes(item.lon) && item.id !== null) {
data.push(item)
}
})
@@ -165,7 +188,7 @@
const iconDone = require('@/assets/images/icon/工地地图点位/工地已完成.png')
const iconDoing = require('@/assets/images/icon/工地地图点位/工地进行中.png')
getArea({}).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
clearUpMap()
response.data.value.forEach(item => {
// console.log(item.areaboundary)
@@ -173,7 +196,7 @@
AddLabelPoint(
item.id,
item.name,
- item.status === '2' ? iconDoing: iconDone,
+ item.status === '2' ? iconDoing : iconDone,
[item.lon, item.lat, 0], 'gd', item,
this.clickHw)
})
@@ -183,7 +206,7 @@
// 智慧工地-工地近1月综合得分
score() {
getArea({}).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
response.data.value.forEach(item => {
console.log(item.areaboundary)
// todo : 画范围
@@ -195,7 +218,7 @@
clickCase(eventArg) {
const item = eventArg._data.data
// 恢复上一个marker
- if(this.preCase !== null ) {
+ if (this.preCase !== null) {
window.mmManager.removeById(this.preCase.id)
AddLabelPoint(
this.preCase.id,
@@ -231,13 +254,13 @@
searchCaseMarkerList() {
// getCaseInfo(this.caseListQuery).then(response => {
getCaseInfo(this.caseListQuery).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
console.log(response.data.value)
// 右侧看板
- this.caseList = response.data.value
+ this.caseList = response.data.value
// todo
// this.caseTotal = response.data.value.length
- this.caseTotal = 12
+ this.caseTotal = 12
}
})
},
@@ -246,7 +269,7 @@
},
handleTimeRange(time) {
this.isListPage = false
- if(this.time.startTime !== '') {
+ if (this.time.startTime !== '') {
this.time = time
this.casePoint()
} else {
diff --git a/src/pages/ywts/cszl/jxh/index.vue b/src/pages/ywts/cszl/jxh/index.vue
index a3703db..0f23aaa 100644
--- a/src/pages/ywts/cszl/jxh/index.vue
+++ b/src/pages/ywts/cszl/jxh/index.vue
@@ -1,26 +1,24 @@
-
-
+
+
@@ -44,14 +42,15 @@
getAll,
getCaseInfo, getBoard
} from "../../../../api/ywts/cszl/jxh";
-import {AddDivPointCase, AddDivPointHighlight, AddOnlyLabel, AddPolygon} from "../../../../utils/freedo";
+import { AddDivPointCase, AddDivPointHighlight, AddOnlyLabel, AddPolygon } from "../../../../utils/freedo";
import ListPage from "@/components/ListPage";
-import {getGridInfo, getGridToken} from "../../../../api/common";
+import { getGridInfo, getGridToken } from "../../../../api/common";
import JxhPop from "./jxhPop";
+import { eventBus } from "../../../../main";
export default {
name: 'Jxh',
- components: {JxhPop, LayerManager, TimeManager, KeywordManager, CommonBtn, ListPage },
+ components: { JxhPop, LayerManager, TimeManager, KeywordManager, CommonBtn, ListPage },
data() {
return {
preCase: null,
@@ -128,6 +127,22 @@
}
},
mounted() {
+ this.$bus.$on('clear', () => {
+ this.isListPage = false
+ this.isShow = false
+ })
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: false }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: false });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: false });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: false }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
// 全部事件
getAll({
// urgent: '0',
@@ -135,8 +150,8 @@
// high: '0',
startTime: this.time.startTime,
endTime: this.time.endTime,
- }).then( res => {
- if(res.code === 200) {
+ }).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
@@ -154,7 +169,7 @@
caseMarker(res) {
res.data.value.forEach(item => {
// console.log(item.status)
- if(item.total === '1') {
+ if (item.total === '1') {
AddLabelPoint(
item.id,
'',
@@ -180,24 +195,24 @@
switch (e.bigtype) {
case 'source':
query.sourceId = e.type
- getSourceList(query).then( res => {
- if(res.code === 200) {
+ getSourceList(query).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
break
case 'project':
query.projectId = e.type
- getProjectList(query).then( res => {
- if(res.code === 200) {
+ getProjectList(query).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
break
case 'grid':
query.gridType = e.type
- getGridList(query).then( res => {
- if(res.code === 200) {
+ getGridList(query).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
@@ -208,7 +223,7 @@
clickCase(eventArg) {
const item = eventArg._data.data
// 恢复上一个marker
- if(this.preCase !== null ) {
+ if (this.preCase !== null) {
window.mmManager.removeById(this.preCase.id)
AddLabelPoint(
this.preCase.id,
@@ -218,7 +233,7 @@
this.clickCase)
}
- if(item.total === '1') {
+ if (item.total === '1') {
// 保存当前marker
this.preCase = item
// 高亮当前marker
@@ -229,7 +244,7 @@
}
// 查询事件详情
- this.caseTotal = Number(item.total)
+ this.caseTotal = Number(item.total)
this.caseList = []
this.isListPage = true
this.hasUrge = false
@@ -263,13 +278,13 @@
// high: '0',
startTime: this.time.startTime,
endTime: this.time.endTime,
- }).then( res => {
- if(res.code === 200) {
+ }).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
// 事件看板
- this.caseTotal = 1000 // todo
+ this.caseTotal = 1000 // todo
this.caseList = []
this.isListPage = true
this.hasUrge = true
@@ -292,8 +307,8 @@
high: '1',
startTime: this.time.startTime,
endTime: this.time.endTime,
- }).then( res => {
- if(res.code === 200) {
+ }).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
@@ -306,8 +321,8 @@
// high: '0',
startTime: this.time.startTime,
endTime: this.time.endTime,
- }).then( res => {
- if(res.code === 200) {
+ }).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
@@ -317,7 +332,7 @@
break
case "caseHeatBtn":
getHeat(this.time).then(res => {
- if(res.code === 200) {
+ if (res.code === 200) {
heat(res.data.value) // 热力图
}
})
@@ -326,29 +341,29 @@
},
gridDraw(token, areaCode) {
const colors = [
- [0,234,255,0.47],
- [255,185,0,0.47],
- [255,234,0,0.47],
- [209,0,255,0.47],
- [255,0,38,0.47],
+ [0, 234, 255, 0.47],
+ [255, 185, 0, 0.47],
+ [255, 234, 0, 0.47],
+ [209, 0, 255, 0.47],
+ [255, 0, 38, 0.47],
]
getGridInfo({
paramCodeList: 'KJ5001',
areaCode,
token
- }).then( res => {
+ }).then(res => {
console.log(res)
res.data.chirdAreaInfo.forEach((item, index) => {
item._source.areainfo.coordinates.forEach(area => {
let positions = []
- let arr = item._source.areainfo.type === 'MultiPolygon' ? area[0]: area
+ let arr = item._source.areainfo.type === 'MultiPolygon' ? area[0] : area
arr.forEach(pos => {
- positions.push(Freedo.Cartesian3.fromDegrees( pos[0], pos[1],0))
+ positions.push(Freedo.Cartesian3.fromDegrees(pos[0], pos[1], 0))
})
- AddPolygon(positions,colors[index % 5], this.gridClick,item._id)
+ AddPolygon(positions, colors[index % 5], this.gridClick, item._id)
AddOnlyLabel(
'',
- item._source.areaname , //+ this.menus.grid
+ item._source.areaname, //+ this.menus.grid
[item._source.lon, item._source.lat, 0],
'', null, null)
})
@@ -364,7 +379,7 @@
secret: CryptoJS.MD5(timestamp + 'geostar999').toString()
}
- getGridToken(param).then( res => {
+ getGridToken(param).then(res => {
clearUpMap()
this.gridDraw(res.data.token, '360783001')
this.gridDraw(res.data.token, '360783002')
@@ -374,32 +389,32 @@
},
// 三个概况统计
layerSeach() {
- getSource(this.time).then( res => {
- if(res.code === 200) {
+ getSource(this.time).then(res => {
+ if (res.code === 200) {
this.menus.source = res.data.value.map(item => {
item.bigtype = 'source'
- item.type = item.id.replace(/ /g,'')
- item.typename = item.name.replace(/ /g,'')
+ item.type = item.id.replace(/ /g, '')
+ item.typename = item.name.replace(/ /g, '')
return item
})
}
})
- getProject(this.time).then( res => {
- if(res.code === 200) {
+ getProject(this.time).then(res => {
+ if (res.code === 200) {
this.menus.project = res.data.value.map(item => {
item.bigtype = 'project'
- item.type = item.id.replace(/ /g,'')
- item.typename = item.name.replace(/ /g,'')
+ item.type = item.id.replace(/ /g, '')
+ item.typename = item.name.replace(/ /g, '')
return item
})
}
})
- getGrid(this.time).then( res => {
- if(res.code === 200) {
+ getGrid(this.time).then(res => {
+ if (res.code === 200) {
this.menus.grid = res.data.value.map(item => {
item.bigtype = 'grid'
- item.type = item.id.replace(/ /g,'')
- item.typename = item.name.replace(/ /g,'')
+ item.type = item.id.replace(/ /g, '')
+ item.typename = item.name.replace(/ /g, '')
return item
})
}
@@ -410,7 +425,7 @@
if (val && val.page) {
this.caseListQuery.pageNo = val.page
}
- if(this.hasUrge) {
+ if (this.hasUrge) {
this.searchBoard()
} else {
this.searchCaseMarkerList()
@@ -419,20 +434,20 @@
// 事件看板查询
searchBoard() {
getBoard(this.caseListQuery).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
console.log(response.data.value)
// 右侧看板
- this.caseList = response.data.value
+ this.caseList = response.data.value
}
})
},
// 事件详情分页
searchCaseMarkerList() {
getCaseInfo(this.caseListQuery).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
console.log(response.data.value)
// 右侧看板
- this.caseList = response.data.value
+ this.caseList = response.data.value
}
})
},
diff --git a/src/api/ywts/shms/jy.js b/src/api/ywts/shms/jy.js
index f3ac251..56f48e3 100644
--- a/src/api/ywts/shms/jy.js
+++ b/src/api/ywts/shms/jy.js
@@ -116,7 +116,7 @@
return request({
url: 'zhjy-gktj/zhjy/sbdwlb',
method: 'post',
- data,
+ // data,
params: data
})
}
diff --git a/src/api/ywts/shms/sq.js b/src/api/ywts/shms/sq.js
new file mode 100644
index 0000000..04a5447
--- /dev/null
+++ b/src/api/ywts/shms/sq.js
@@ -0,0 +1,123 @@
+/**
+ * 社区接口
+ */
+import request from '@/utils/request'
+
+// 社区点位列表
+export function getCommunityList() {
+ return request({
+ url: 'zhsq-gktj/zhsq/sqdwlb',
+ method: 'post',
+ })
+}
+
+// 人员热力图
+export function getHeat() {
+ return request({
+ url: 'zhsq-gktj/zhsq/sqyyrlt',
+ method: 'post',
+ })
+}
+
+// 设备点位
+export function getDevice() {
+ return request({
+ url: 'zhsq-gktj/zhsq/sbdwlb',
+ method: 'post',
+ params: {
+ type: '',
+ keywords: ''
+ }
+ })
+}
+
+// 社区车辆
+export function getCar() {
+ return request({
+ url: 'zhsq-gktj/zhsq/sqbyl',
+ method: 'post',
+ })
+}
+
+// 事件点位列表
+export function getCase(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/sjdwlb',
+ method: 'post',
+ params:{
+ ...data
+ }
+ })
+}
+
+// 事件详情
+export function getCaseList(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/zjlbfy',
+ method: 'post',
+ params:{
+ ...data
+ }
+ })
+}
+// 获取社区基本信息
+export function getBaseInfo(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/sqdwxq',
+ method: 'post',
+ params:{
+ ...data
+ },
+ // data
+ })
+}
+// 居民年龄统计
+export function getAgeStatistics(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/jmnltj',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
+// 居民流动比例
+export function getCurrentRatio(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/jmldbl',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
+// 近1年人房车占比统计
+export function getPersonCarRatio(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/rfczbtj',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
+// 近1月居民通行量分析
+export function getTransitrRatio(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/jmtxlfx',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
+// 近1月高频事件排行榜
+export function getCaseRank(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/gpsjphb',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
diff --git a/src/api/ywts/zyhj/hb.js b/src/api/ywts/zyhj/hb.js
index 5e598d1..07625d1 100644
--- a/src/api/ywts/zyhj/hb.js
+++ b/src/api/ywts/zyhj/hb.js
@@ -8,7 +8,10 @@
return request({
url: 'zhhb-gktj/zhhb/gktj',
method: 'post',
- data
+ data,
+ params: {
+ ...data,
+ }
})
}
// 环保点位列表
@@ -19,3 +22,26 @@
data
})
}
+// 环保告警列表
+export function getAlarmList(data) {
+ return request({
+ url: 'zhhb-gktj/zhhb/hbgjlb',
+ method: 'post',
+ // data
+ params: {
+ ...data
+ }
+ })
+}
+
+// 环保事件列表
+export function getCaseList(data) {
+ return request({
+ url: 'zhhb-gktj/zhhb/hbsjlbfy',
+ method: 'post',
+ // data
+ params: {
+ ...data
+ }
+ })
+}
diff --git a/src/api/ywts/zyhj/yl.js b/src/api/ywts/zyhj/yl.js
index 63d7ad2..643e3d4 100644
--- a/src/api/ywts/zyhj/yl.js
+++ b/src/api/ywts/zyhj/yl.js
@@ -88,6 +88,9 @@
url: 'zhyl-gktjljk/zhyl/sjxq',
method: 'post',
data,
+ params: {
+ ...data,
+ }
})
}
// 苗木点位列表
diff --git a/src/components/CommonFunction/index.vue b/src/components/CommonFunction/index.vue
index 1a10acb..c2eba44 100644
--- a/src/components/CommonFunction/index.vue
+++ b/src/components/CommonFunction/index.vue
@@ -5,8 +5,8 @@
@click="btnClick" />
-
+
@@ -21,7 +21,7 @@
import CommonBtn from "../CommonBtn";
import { clearUpMap } from '@/utils/freedo/index'
-import { initPosition, initPage } from "../../utils/freedo";
+import { initPosition, initPage } from "../../utils/freedo";
import mapJson from "@/assets/mapJson/map.json";
import { eventBus } from "../../main";
@@ -59,11 +59,11 @@
disabled: true,
"children": [
{ "id": 41, "label": "智慧教育-手工模型", disabled: true },
- { "id": 42, "label": "智慧停车云-手工模型", disabled: true },
- { "id": 43, "label": "智慧社区-手工模型", disabled: true },
- { "id": 44, "label": "智慧工地-手工模型", disabled: true },
- { "id": 45, "label": "智慧交通-手工模型", disabled: true },
- { "id": 46, "label": "智慧园林-手工模型", disabled: true }
+ { "id": 42, "label": "智慧停车云-手工模型", disabled: true },
+ { "id": 43, "label": "智慧社区-手工模型", disabled: true },
+ { "id": 44, "label": "智慧工地-手工模型", disabled: true },
+ { "id": 45, "label": "智慧交通-手工模型", disabled: true },
+ { "id": 46, "label": "智慧园林-手工模型", disabled: true }
]
}, {
"id": 5,
@@ -95,8 +95,8 @@
setTimeout(() => {
this.tree.forEach((item) => {
item.disabled = false
- if(item.children) {
- item.children = item.children.map((item) => ({ ...item,disabled: false}))
+ if (item.children) {
+ item.children = item.children.map((item) => ({ ...item, disabled: false }))
}
})
}, 5000)
@@ -125,7 +125,7 @@
handler(data, checked, indeterminate)
}
else {
- if(data.id.toString() === '5' && checked) {
+ if (data.id.toString() === '5' && checked) {
window.terrainManager.visible = true
return
}
@@ -143,14 +143,18 @@
},
btnClick(e) {
this.showLayerTree = false
+ this.clearDialog()
if (e.target.id === 'initBtn') {
initPosition()
} else if (e.target.id === 'clearBtn') {
clearUpMap()
} else if (e.target.id === 'layerBtn') {
- // clearUpMap()
this.showLayerTree = true
}
+ },
+ // 清空地图弹窗
+ clearDialog() {
+ this.$bus.$emit('clear')
}
}
}
@@ -178,7 +182,7 @@
right: 20px;
top: 1rem;
display: flex;
- width: 20rem;
+ width: 15rem;
height: 5rem;
z-index: 1111111111;
}
diff --git a/src/pages/csdz/iot/index.vue b/src/pages/csdz/iot/index.vue
index 63b60ea..8aefaea 100644
--- a/src/pages/csdz/iot/index.vue
+++ b/src/pages/csdz/iot/index.vue
@@ -259,8 +259,8 @@
localPoint(e) {
// this.childrenClick(e)
this.clickIcon({
- _data:{
- data:e
+ _data: {
+ data: e
}
})
},
@@ -280,6 +280,11 @@
},
mounted() {
this.search()
+ this.$bus.$on('clear', () => {
+ this.isShowEvent = false
+ this.isShowEventPop = false
+ this.isShowPop = false
+ })
// getStatistics().then(res => {
// if (res.code === 200 && res.data.value.length) {
// console.log(res.data, '')
diff --git a/src/pages/csdz/smartCard/index.vue b/src/pages/csdz/smartCard/index.vue
index 48721f7..32573d2 100644
--- a/src/pages/csdz/smartCard/index.vue
+++ b/src/pages/csdz/smartCard/index.vue
@@ -112,6 +112,7 @@
btnClick(e) {
clearResetMap()
this.selectIndex = e.target.id
+ this.isShowPop = false
if (this.selectIndex === 'publicBtn') {
// 绘制热力图
heat([
@@ -870,6 +871,10 @@
getStatistics({}).then(res => {
console.log(res.data, '一卡通')
})
+ this.$bus.$on('clear', () => {
+ this.isShowPop = false
+ this.isShowEvent = false
+ })
}
}
diff --git a/src/pages/csdz/videoCloud/index.vue b/src/pages/csdz/videoCloud/index.vue
index 4b8d110..81530d5 100644
--- a/src/pages/csdz/videoCloud/index.vue
+++ b/src/pages/csdz/videoCloud/index.vue
@@ -695,6 +695,11 @@
},
mounted() {
this.drawSence()
+ this.$bus.$on('clear', () => {
+ this.isShowPop = false
+ this.isShowEvent = false
+ this.isShowEventPop = false
+ })
}
}
diff --git a/src/pages/ywts/cszl/gd/index.vue b/src/pages/ywts/cszl/gd/index.vue
index e9be7b0..35ee8d7 100644
--- a/src/pages/ywts/cszl/gd/index.vue
+++ b/src/pages/ywts/cszl/gd/index.vue
@@ -1,30 +1,23 @@
-
-
+
+
@@ -34,7 +27,7 @@
import TimeManager from "@/components/TimeManager";
import GdPop from "./gdPop";
import { heat } from '@/utils/freedo/heat'
-import { clearUpMap, clearResetMap ,AddLabelPoint, initPosition } from '@/utils/freedo'
+import { clearUpMap, clearResetMap, AddLabelPoint, initPosition } from '@/utils/freedo'
import {
getHeat,
getArea,
@@ -43,17 +36,17 @@
getStatistics,
getCasePointList, getCaseInfo
} from "../../../../api/ywts/cszl/gd";
-import {AddDivPointCase, AddDivPointHighlight, AddLabel, focusPoint} from "../../../../utils/freedo";
+import { AddDivPointCase, AddDivPointHighlight, AddLabel, focusPoint } from "../../../../utils/freedo";
import ListPage from "@/components/ListPage";
import KeywordManager from "../../../../components/KeywordManager";
import gridJson from "@/assets/mapJson/grid.json";
import mapJson from "@/assets/mapJson/map.json";
-import {eventBus} from "../../../../main";
+import { eventBus } from "../../../../main";
export default {
name: 'Gd',
- components: {KeywordManager, GdPop, TimeManager, LayerManagerMix, ListPage, CommonBtn },
+ components: { KeywordManager, GdPop, TimeManager, LayerManagerMix, ListPage, CommonBtn },
data() {
return {
isListPage: false,
@@ -73,19 +66,19 @@
caseTotal: 0,
layerManager: null,
caseIcon: {
- 1: require('@/assets/images/icon/事件/已撤案.png'),
- 2: require('@/assets/images/icon/事件/指派中.png'),
- 3: require('@/assets/images/icon/事件/处置中.png'),
- 4: require('@/assets/images/icon/事件/已办结.png'),
- 5: require('@/assets/images/icon/事件/已结案.png'),
- },
+ 1: require('@/assets/images/icon/事件/已撤案.png'),
+ 2: require('@/assets/images/icon/事件/指派中.png'),
+ 3: require('@/assets/images/icon/事件/处置中.png'),
+ 4: require('@/assets/images/icon/事件/已办结.png'),
+ 5: require('@/assets/images/icon/事件/已结案.png'),
+ },
caseColor: {
- 1: '#ffffff88',
- 2: '#fdeb5688',
- 3: '#85c8ff88',
- 4: '#ffba7488',
- 5: '#87f6b388',
- },
+ 1: '#ffffff88',
+ 2: '#fdeb5688',
+ 3: '#85c8ff88',
+ 4: '#ffba7488',
+ 5: '#87f6b388',
+ },
time: {
startTime: '',
endTime: '',
@@ -105,10 +98,10 @@
name: '工地设备',
value: 'device'
}
- // , {
- // name: '环监设备',
- // value: 'others'
- // }
+ // , {
+ // name: '环监设备',
+ // value: 'others'
+ // }
],
menus: {
device: [
@@ -122,7 +115,7 @@
},
mounted() {
getStatistics().then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
this.menus.device = response.data.value
}
})
@@ -135,28 +128,24 @@
autoFlyto: true,
})
- eventBus.$emit('change-layer', { id:1, checked: false});
- eventBus.$emit('change-layer', { id:2, checked: false});
- eventBus.$emit('change-layer', { id:3, checked: false});
- eventBus.$emit('change-layer', { id:4, checked: false});
- eventBus.$emit('change-layer', { id:5, checked: true});
- eventBus.$emit('change-layer', { id:44, checked: true});
- eventBus.$emit('change-layer', { id:21, checked: true});
- eventBus.$emit('change-layer', { id:12, checked: true});
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: false }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: true });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: false });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: true }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
-
- // window.pmtsManager.add({
- // id: "智慧工地-手工模型",
- // url: mapJson.CIM4["智慧工地-手工模型"],
- // show: true,
- // maximumScreenSpaceError: 32,
- // maximumMemoryUsage: 64,
- // maximumAbsoluteMemoryUsage: 8192,
- // autoFlyto: true
- // },
- // undefined
- // )
- // window.terrainManager.visible = true
+ // 清除弹窗展示
+ this.$bus.$on('clear', () => {
+ this.isListPage = false
+ this.isShow = false
+ })
},
methods: {
async btnClick(e) {
@@ -179,7 +168,7 @@
break
case "personBtn":
getHeat().then(res => {
- if(res.code === 200) {
+ if (res.code === 200) {
console.log(res.data, '热力')
const arr = res.data.value.filter(item => item.lng !== "" && item.lng !== null)
// arr.splice(0,1) // todo: 测试第一个错误数据
@@ -192,17 +181,17 @@
// 设备图层控制
layer(item) {
// clearUpMap(true)
- const iconOnline = require('@/assets/images/icon/工地地图点位/'+item.typename.replace(/ /g,'')+'在线.png')
- const iconOffline = require('@/assets/images/icon/工地地图点位/'+item.typename.replace(/ /g,'')+'离线.png')
- getDevList({type: item.type}).then(response => {
- if(response.code === 200) {
+ const iconOnline = require('@/assets/images/icon/工地地图点位/' + item.typename.replace(/ /g, '') + '在线.png')
+ const iconOffline = require('@/assets/images/icon/工地地图点位/' + item.typename.replace(/ /g, '') + '离线.png')
+ getDevList({ type: item.type }).then(response => {
+ if (response.code === 200) {
clearUpMap(true)
this.keywordList = response.data.value
response.data.value.forEach(item => {
AddLabelPoint(
item.id,
'',
- item.status === '1'? iconOnline: iconOffline,
+ item.status === '1' ? iconOnline : iconOffline,
[item.lon, item.lat, 0], 'gd-dev', item,
null)
})
@@ -216,23 +205,23 @@
// keywords: this.keyword
}
getCasePointList(param).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
clearUpMap(true)
const data = []
response.data.value.forEach(item => {
- if(!data.map(da => da.id).includes(item.id) && !data.map(da => da.lon).includes(item.lon) && item.id !== null) {
+ if (!data.map(da => da.id).includes(item.id) && !data.map(da => da.lon).includes(item.lon) && item.id !== null) {
data.push(item)
}
})
this.keywordList = data
data.forEach(item => {
// if(item.total === '1') {
- AddLabelPoint(
- item.id,
- '',
- this.caseIcon[item.eventstatus],
- [item.lon, item.lat, 0], 'gd-case', item,
- this.clickCase)
+ AddLabelPoint(
+ item.id,
+ '',
+ this.caseIcon[item.eventstatus],
+ [item.lon, item.lat, 0], 'gd-case', item,
+ this.clickCase)
// } else {
// AddDivPointCase(item, this.caseColor[item.status], item.total, this.clickCase)
// }
@@ -244,8 +233,8 @@
search() {
const iconDone = require('@/assets/images/icon/工地地图点位/工地已完成.png')
const iconDoing = require('@/assets/images/icon/工地地图点位/工地进行中.png')
- getArea({keywords: this.keyword}).then(response => {
- if(response.code === 200) {
+ getArea({ keywords: this.keyword }).then(response => {
+ if (response.code === 200) {
clearUpMap(true)
this.keywordList = response.data.value
response.data.value.forEach(item => {
@@ -254,7 +243,7 @@
AddLabelPoint(
item.id,
item.name,
- item.status === '2' ? iconDoing: iconDone,
+ item.status === '2' ? iconDoing : iconDone,
[item.lon, item.lat, 0], 'gd', item,
this.clickGd)
})
@@ -265,8 +254,8 @@
score() {
const iconDone = require('@/assets/images/icon/工地地图点位/工地已完成.png')
const iconDoing = require('@/assets/images/icon/工地地图点位/工地进行中.png')
- getArea({keywords: this.keyword}).then(response => {
- if(response.code === 200) {
+ getArea({ keywords: this.keyword }).then(response => {
+ if (response.code === 200) {
this.keywordList = response.data.value
response.data.value.forEach(item => {
// console.log(item,'321123')
@@ -280,8 +269,8 @@
})
}
})
- getMonthGdScore({keywords: this.keyword}).then(response => {
- if(response.code === 200) {
+ getMonthGdScore({ keywords: this.keyword }).then(response => {
+ if (response.code === 200) {
response.data.value.filter(item => item.lng !== "" && item.lng !== null).forEach(item => {
AddLabel(
item.id,
@@ -304,7 +293,7 @@
clickCase(eventArg) {
const item = eventArg._data.data
// 恢复上一个marker
- if(this.preCase !== null ) {
+ if (this.preCase !== null) {
window.mmManager.removeById(this.preCase.id)
AddLabelPoint(
this.preCase.id,
@@ -313,7 +302,7 @@
[this.preCase.lon, this.preCase.lat, 0], 'gd-case', this.preCase,
this.clickCase)
}
- if(item.total === '1') {
+ if (item.total === '1') {
// 保存当前marker
this.preCase = item
// 高亮当前marker
@@ -323,7 +312,7 @@
this.preCase = null
}
// 查询事件详情
- this.caseTotal = Number(item.total)
+ this.caseTotal = Number(item.total)
this.isListPage = true
this.$refs.caseListPage.initDialog()
this.caseListQuery = {
@@ -345,16 +334,16 @@
searchCaseMarkerList() {
// getCaseInfo(this.caseListQuery).then(response => {
getCaseInfo(this.caseListQuery).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
console.log(response.data.value)
// 右侧看板
- this.caseList = response.data.value
+ this.caseList = response.data.value
}
})
},
handleTimeRange(time) {
this.isListPage = false
- if(this.time.startTime !== '') {
+ if (this.time.startTime !== '') {
this.time = time
this.casePoint()
} else {
diff --git a/src/pages/ywts/cszl/hw/index.vue b/src/pages/ywts/cszl/hw/index.vue
index e773b7d..ed28bc6 100644
--- a/src/pages/ywts/cszl/hw/index.vue
+++ b/src/pages/ywts/cszl/hw/index.vue
@@ -31,6 +31,7 @@
import ListPage from "@/components/ListPage";
import { getPlacePointList, getOverviewStatistics, getPersonList, getCarList, getCaseList, getCaseInfo } from '@/api/ywts/cszl/hw'
import { iconFilter, iconPerson, personList, carList, iconCar } from './data'
+import { eventBus } from "../../../../main";
export default {
name: 'Hw',
components: { TimeManager, LayerManagerMix, ListPage, CommonBtn, Pop },
@@ -94,7 +95,25 @@
},
mounted() {
clearResetMap()
+ this.selectInde = 'deviceBtn'
this.fetchPoint()
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: false }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: false });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: false });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: false }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
+ // 清除弹窗展示
+ this.$bus.$on('clear', () => {
+ this.isListPage = false
+ this.showPop = false
+ })
},
methods: {
async btnClick(e) {
@@ -263,17 +282,17 @@
// this.caseList = res.data.value || []
// this.caseTotal = this.caseList.length
res.data.value.forEach(item => {
- AddLabelPoint(
- item.id.replaceAll('.', ''),
- '',
- this.caseIcon[item.status],
- [item.lon, item.lat, 0], 'gd-case', item,
- this.clickCase)
- })
+ AddLabelPoint(
+ item.id.replaceAll('.', ''),
+ '',
+ this.caseIcon[item.status],
+ [item.lon, item.lat, 0], 'gd-case', item,
+ this.clickCase)
+ })
})
},
- // 点击事件icon
- clickCase(eventArg) {
+ // 点击事件icon
+ clickCase(eventArg) {
const item = eventArg._data.data
// 恢复上一个marker
if (this.preCase !== null) {
@@ -306,11 +325,11 @@
getCaseInfo(this.caseListQuery).then(res => {
console.log(res.data, '事件详情')
this.caseList = res.data.value || []
- this.caseTotal = this.caseList.length
+ this.caseTotal = this.caseList.length
})
},
- // 事件换页
- changePage(val) {
+ // 事件换页
+ changePage(val) {
if (val && val.page) {
this.caseListQuery.pageNo = val.page
}
diff --git a/src/pages/ywts/cszl/jt/index.vue b/src/pages/ywts/cszl/jt/index.vue
index fb1ce91..ef5938c 100644
--- a/src/pages/ywts/cszl/jt/index.vue
+++ b/src/pages/ywts/cszl/jt/index.vue
@@ -1,15 +1,21 @@
-
+
@@ -26,8 +32,9 @@
getStatistics,
getCasePointList, getCaseInfo
} from "../../../../api/ywts/cszl/gd";
-import {AddDivPointHighlight, AddLabel} from "../../../../utils/freedo";
+import { AddDivPointHighlight, AddLabel } from "../../../../utils/freedo";
import ListPage from "@/components/ListPage";
+import { eventBus } from "../../../../main";
export default {
name: 'Jt',
@@ -47,19 +54,19 @@
},
caseTotal: 0,
caseIcon: {
- 1: require('@/assets/images/icon/事件/已撤案.png'),
- 2: require('@/assets/images/icon/事件/指派中.png'),
- 3: require('@/assets/images/icon/事件/处置中.png'),
- 4: require('@/assets/images/icon/事件/已办结.png'),
- 5: require('@/assets/images/icon/事件/已结案.png'),
- },
+ 1: require('@/assets/images/icon/事件/已撤案.png'),
+ 2: require('@/assets/images/icon/事件/指派中.png'),
+ 3: require('@/assets/images/icon/事件/处置中.png'),
+ 4: require('@/assets/images/icon/事件/已办结.png'),
+ 5: require('@/assets/images/icon/事件/已结案.png'),
+ },
caseColor: {
- 1: '#ffffff',
- 2: '#fdeb56',
- 3: '#85c8ff',
- 4: '#ffba74',
- 5: '#87f6b3',
- },
+ 1: '#ffffff',
+ 2: '#fdeb56',
+ 3: '#85c8ff',
+ 4: '#ffba74',
+ 5: '#87f6b3',
+ },
time: {
startTime: '',
endTime: '',
@@ -81,10 +88,10 @@
name: '基础设施',
value: 'place'
}
- // , {
- // name: '环监设备',
- // value: 'others'
- // }
+ // , {
+ // name: '环监设备',
+ // value: 'others'
+ // }
],
menus: {
place: [
@@ -98,11 +105,27 @@
},
mounted() {
getStatistics().then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
this.menus.place = response.data.value
}
})
this.search()
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: false }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: false });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: true });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: true }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
+ // 清除弹窗展示
+ this.$bus.$on('clear', () => {
+ this.isListPage = false
+ })
},
methods: {
async btnClick(e) {
@@ -121,16 +144,16 @@
// 设备图层控制
layer(item) {
// clearUpMap()
- const iconOnline = require('@/assets/images/icon/工地地图点位/'+item.typename.replace(/ /g,'')+'在线.png')
- const iconOffline = require('@/assets/images/icon/工地地图点位/'+item.typename.replace(/ /g,'')+'离线.png')
- getDevList({type: item.type}).then(response => {
- if(response.code === 200) {
+ const iconOnline = require('@/assets/images/icon/工地地图点位/' + item.typename.replace(/ /g, '') + '在线.png')
+ const iconOffline = require('@/assets/images/icon/工地地图点位/' + item.typename.replace(/ /g, '') + '离线.png')
+ getDevList({ type: item.type }).then(response => {
+ if (response.code === 200) {
clearUpMap()
response.data.value.forEach(item => {
AddLabelPoint(
item.id,
'',
- item.status === '1'? iconOnline: iconOffline,
+ item.status === '1' ? iconOnline : iconOffline,
[item.lon, item.lat, 0], 'gd-place', item,
null)
})
@@ -141,11 +164,11 @@
casePoint() {
console.log(this.time)
getCasePointList(this.time).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
clearUpMap()
const data = []
response.data.value.forEach(item => {
- if(!data.map(da => da.id).includes(item.id) && !data.map(da => da.lon).includes(item.lon) && item.id !== null) {
+ if (!data.map(da => da.id).includes(item.id) && !data.map(da => da.lon).includes(item.lon) && item.id !== null) {
data.push(item)
}
})
@@ -165,7 +188,7 @@
const iconDone = require('@/assets/images/icon/工地地图点位/工地已完成.png')
const iconDoing = require('@/assets/images/icon/工地地图点位/工地进行中.png')
getArea({}).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
clearUpMap()
response.data.value.forEach(item => {
// console.log(item.areaboundary)
@@ -173,7 +196,7 @@
AddLabelPoint(
item.id,
item.name,
- item.status === '2' ? iconDoing: iconDone,
+ item.status === '2' ? iconDoing : iconDone,
[item.lon, item.lat, 0], 'gd', item,
this.clickHw)
})
@@ -183,7 +206,7 @@
// 智慧工地-工地近1月综合得分
score() {
getArea({}).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
response.data.value.forEach(item => {
console.log(item.areaboundary)
// todo : 画范围
@@ -195,7 +218,7 @@
clickCase(eventArg) {
const item = eventArg._data.data
// 恢复上一个marker
- if(this.preCase !== null ) {
+ if (this.preCase !== null) {
window.mmManager.removeById(this.preCase.id)
AddLabelPoint(
this.preCase.id,
@@ -231,13 +254,13 @@
searchCaseMarkerList() {
// getCaseInfo(this.caseListQuery).then(response => {
getCaseInfo(this.caseListQuery).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
console.log(response.data.value)
// 右侧看板
- this.caseList = response.data.value
+ this.caseList = response.data.value
// todo
// this.caseTotal = response.data.value.length
- this.caseTotal = 12
+ this.caseTotal = 12
}
})
},
@@ -246,7 +269,7 @@
},
handleTimeRange(time) {
this.isListPage = false
- if(this.time.startTime !== '') {
+ if (this.time.startTime !== '') {
this.time = time
this.casePoint()
} else {
diff --git a/src/pages/ywts/cszl/jxh/index.vue b/src/pages/ywts/cszl/jxh/index.vue
index a3703db..0f23aaa 100644
--- a/src/pages/ywts/cszl/jxh/index.vue
+++ b/src/pages/ywts/cszl/jxh/index.vue
@@ -1,26 +1,24 @@
-
-
+
+
@@ -44,14 +42,15 @@
getAll,
getCaseInfo, getBoard
} from "../../../../api/ywts/cszl/jxh";
-import {AddDivPointCase, AddDivPointHighlight, AddOnlyLabel, AddPolygon} from "../../../../utils/freedo";
+import { AddDivPointCase, AddDivPointHighlight, AddOnlyLabel, AddPolygon } from "../../../../utils/freedo";
import ListPage from "@/components/ListPage";
-import {getGridInfo, getGridToken} from "../../../../api/common";
+import { getGridInfo, getGridToken } from "../../../../api/common";
import JxhPop from "./jxhPop";
+import { eventBus } from "../../../../main";
export default {
name: 'Jxh',
- components: {JxhPop, LayerManager, TimeManager, KeywordManager, CommonBtn, ListPage },
+ components: { JxhPop, LayerManager, TimeManager, KeywordManager, CommonBtn, ListPage },
data() {
return {
preCase: null,
@@ -128,6 +127,22 @@
}
},
mounted() {
+ this.$bus.$on('clear', () => {
+ this.isListPage = false
+ this.isShow = false
+ })
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: false }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: false });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: false });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: false }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
// 全部事件
getAll({
// urgent: '0',
@@ -135,8 +150,8 @@
// high: '0',
startTime: this.time.startTime,
endTime: this.time.endTime,
- }).then( res => {
- if(res.code === 200) {
+ }).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
@@ -154,7 +169,7 @@
caseMarker(res) {
res.data.value.forEach(item => {
// console.log(item.status)
- if(item.total === '1') {
+ if (item.total === '1') {
AddLabelPoint(
item.id,
'',
@@ -180,24 +195,24 @@
switch (e.bigtype) {
case 'source':
query.sourceId = e.type
- getSourceList(query).then( res => {
- if(res.code === 200) {
+ getSourceList(query).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
break
case 'project':
query.projectId = e.type
- getProjectList(query).then( res => {
- if(res.code === 200) {
+ getProjectList(query).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
break
case 'grid':
query.gridType = e.type
- getGridList(query).then( res => {
- if(res.code === 200) {
+ getGridList(query).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
@@ -208,7 +223,7 @@
clickCase(eventArg) {
const item = eventArg._data.data
// 恢复上一个marker
- if(this.preCase !== null ) {
+ if (this.preCase !== null) {
window.mmManager.removeById(this.preCase.id)
AddLabelPoint(
this.preCase.id,
@@ -218,7 +233,7 @@
this.clickCase)
}
- if(item.total === '1') {
+ if (item.total === '1') {
// 保存当前marker
this.preCase = item
// 高亮当前marker
@@ -229,7 +244,7 @@
}
// 查询事件详情
- this.caseTotal = Number(item.total)
+ this.caseTotal = Number(item.total)
this.caseList = []
this.isListPage = true
this.hasUrge = false
@@ -263,13 +278,13 @@
// high: '0',
startTime: this.time.startTime,
endTime: this.time.endTime,
- }).then( res => {
- if(res.code === 200) {
+ }).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
// 事件看板
- this.caseTotal = 1000 // todo
+ this.caseTotal = 1000 // todo
this.caseList = []
this.isListPage = true
this.hasUrge = true
@@ -292,8 +307,8 @@
high: '1',
startTime: this.time.startTime,
endTime: this.time.endTime,
- }).then( res => {
- if(res.code === 200) {
+ }).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
@@ -306,8 +321,8 @@
// high: '0',
startTime: this.time.startTime,
endTime: this.time.endTime,
- }).then( res => {
- if(res.code === 200) {
+ }).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
@@ -317,7 +332,7 @@
break
case "caseHeatBtn":
getHeat(this.time).then(res => {
- if(res.code === 200) {
+ if (res.code === 200) {
heat(res.data.value) // 热力图
}
})
@@ -326,29 +341,29 @@
},
gridDraw(token, areaCode) {
const colors = [
- [0,234,255,0.47],
- [255,185,0,0.47],
- [255,234,0,0.47],
- [209,0,255,0.47],
- [255,0,38,0.47],
+ [0, 234, 255, 0.47],
+ [255, 185, 0, 0.47],
+ [255, 234, 0, 0.47],
+ [209, 0, 255, 0.47],
+ [255, 0, 38, 0.47],
]
getGridInfo({
paramCodeList: 'KJ5001',
areaCode,
token
- }).then( res => {
+ }).then(res => {
console.log(res)
res.data.chirdAreaInfo.forEach((item, index) => {
item._source.areainfo.coordinates.forEach(area => {
let positions = []
- let arr = item._source.areainfo.type === 'MultiPolygon' ? area[0]: area
+ let arr = item._source.areainfo.type === 'MultiPolygon' ? area[0] : area
arr.forEach(pos => {
- positions.push(Freedo.Cartesian3.fromDegrees( pos[0], pos[1],0))
+ positions.push(Freedo.Cartesian3.fromDegrees(pos[0], pos[1], 0))
})
- AddPolygon(positions,colors[index % 5], this.gridClick,item._id)
+ AddPolygon(positions, colors[index % 5], this.gridClick, item._id)
AddOnlyLabel(
'',
- item._source.areaname , //+ this.menus.grid
+ item._source.areaname, //+ this.menus.grid
[item._source.lon, item._source.lat, 0],
'', null, null)
})
@@ -364,7 +379,7 @@
secret: CryptoJS.MD5(timestamp + 'geostar999').toString()
}
- getGridToken(param).then( res => {
+ getGridToken(param).then(res => {
clearUpMap()
this.gridDraw(res.data.token, '360783001')
this.gridDraw(res.data.token, '360783002')
@@ -374,32 +389,32 @@
},
// 三个概况统计
layerSeach() {
- getSource(this.time).then( res => {
- if(res.code === 200) {
+ getSource(this.time).then(res => {
+ if (res.code === 200) {
this.menus.source = res.data.value.map(item => {
item.bigtype = 'source'
- item.type = item.id.replace(/ /g,'')
- item.typename = item.name.replace(/ /g,'')
+ item.type = item.id.replace(/ /g, '')
+ item.typename = item.name.replace(/ /g, '')
return item
})
}
})
- getProject(this.time).then( res => {
- if(res.code === 200) {
+ getProject(this.time).then(res => {
+ if (res.code === 200) {
this.menus.project = res.data.value.map(item => {
item.bigtype = 'project'
- item.type = item.id.replace(/ /g,'')
- item.typename = item.name.replace(/ /g,'')
+ item.type = item.id.replace(/ /g, '')
+ item.typename = item.name.replace(/ /g, '')
return item
})
}
})
- getGrid(this.time).then( res => {
- if(res.code === 200) {
+ getGrid(this.time).then(res => {
+ if (res.code === 200) {
this.menus.grid = res.data.value.map(item => {
item.bigtype = 'grid'
- item.type = item.id.replace(/ /g,'')
- item.typename = item.name.replace(/ /g,'')
+ item.type = item.id.replace(/ /g, '')
+ item.typename = item.name.replace(/ /g, '')
return item
})
}
@@ -410,7 +425,7 @@
if (val && val.page) {
this.caseListQuery.pageNo = val.page
}
- if(this.hasUrge) {
+ if (this.hasUrge) {
this.searchBoard()
} else {
this.searchCaseMarkerList()
@@ -419,20 +434,20 @@
// 事件看板查询
searchBoard() {
getBoard(this.caseListQuery).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
console.log(response.data.value)
// 右侧看板
- this.caseList = response.data.value
+ this.caseList = response.data.value
}
})
},
// 事件详情分页
searchCaseMarkerList() {
getCaseInfo(this.caseListQuery).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
console.log(response.data.value)
// 右侧看板
- this.caseList = response.data.value
+ this.caseList = response.data.value
}
})
},
diff --git a/src/pages/ywts/cszl/yj/index.vue b/src/pages/ywts/cszl/yj/index.vue
index 7869a73..d74dfe9 100644
--- a/src/pages/ywts/cszl/yj/index.vue
+++ b/src/pages/ywts/cszl/yj/index.vue
@@ -45,7 +45,7 @@
import { AddDivPointHighlight, AddLabel } from "../../../../utils/freedo";
import { iconFilter, deviceList, caseList } from './data'
import ListPage from "@/components/ListPage";
-
+import { eventBus } from "../../../../main";
export default {
name: 'Yj',
components: { TimeManager, LayerManagerMix, ListPage, CommonBtn, Pop },
@@ -118,14 +118,25 @@
}
},
mounted() {
- // getStatistics().then(response => {
- // if(response.code === 200) {
- // this.menus.place = response.data.value
- // }
- // })
- // this.search()
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: false }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: false });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: false });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: false }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
clearResetMap()
this.searchPlace({})
+
+ this.$bus.$on('clear', () => {
+ this.isListPage = false
+ this.showPop = false
+ })
},
methods: {
async btnClick(e) {
diff --git a/src/api/ywts/shms/jy.js b/src/api/ywts/shms/jy.js
index f3ac251..56f48e3 100644
--- a/src/api/ywts/shms/jy.js
+++ b/src/api/ywts/shms/jy.js
@@ -116,7 +116,7 @@
return request({
url: 'zhjy-gktj/zhjy/sbdwlb',
method: 'post',
- data,
+ // data,
params: data
})
}
diff --git a/src/api/ywts/shms/sq.js b/src/api/ywts/shms/sq.js
new file mode 100644
index 0000000..04a5447
--- /dev/null
+++ b/src/api/ywts/shms/sq.js
@@ -0,0 +1,123 @@
+/**
+ * 社区接口
+ */
+import request from '@/utils/request'
+
+// 社区点位列表
+export function getCommunityList() {
+ return request({
+ url: 'zhsq-gktj/zhsq/sqdwlb',
+ method: 'post',
+ })
+}
+
+// 人员热力图
+export function getHeat() {
+ return request({
+ url: 'zhsq-gktj/zhsq/sqyyrlt',
+ method: 'post',
+ })
+}
+
+// 设备点位
+export function getDevice() {
+ return request({
+ url: 'zhsq-gktj/zhsq/sbdwlb',
+ method: 'post',
+ params: {
+ type: '',
+ keywords: ''
+ }
+ })
+}
+
+// 社区车辆
+export function getCar() {
+ return request({
+ url: 'zhsq-gktj/zhsq/sqbyl',
+ method: 'post',
+ })
+}
+
+// 事件点位列表
+export function getCase(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/sjdwlb',
+ method: 'post',
+ params:{
+ ...data
+ }
+ })
+}
+
+// 事件详情
+export function getCaseList(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/zjlbfy',
+ method: 'post',
+ params:{
+ ...data
+ }
+ })
+}
+// 获取社区基本信息
+export function getBaseInfo(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/sqdwxq',
+ method: 'post',
+ params:{
+ ...data
+ },
+ // data
+ })
+}
+// 居民年龄统计
+export function getAgeStatistics(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/jmnltj',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
+// 居民流动比例
+export function getCurrentRatio(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/jmldbl',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
+// 近1年人房车占比统计
+export function getPersonCarRatio(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/rfczbtj',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
+// 近1月居民通行量分析
+export function getTransitrRatio(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/jmtxlfx',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
+// 近1月高频事件排行榜
+export function getCaseRank(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/gpsjphb',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
diff --git a/src/api/ywts/zyhj/hb.js b/src/api/ywts/zyhj/hb.js
index 5e598d1..07625d1 100644
--- a/src/api/ywts/zyhj/hb.js
+++ b/src/api/ywts/zyhj/hb.js
@@ -8,7 +8,10 @@
return request({
url: 'zhhb-gktj/zhhb/gktj',
method: 'post',
- data
+ data,
+ params: {
+ ...data,
+ }
})
}
// 环保点位列表
@@ -19,3 +22,26 @@
data
})
}
+// 环保告警列表
+export function getAlarmList(data) {
+ return request({
+ url: 'zhhb-gktj/zhhb/hbgjlb',
+ method: 'post',
+ // data
+ params: {
+ ...data
+ }
+ })
+}
+
+// 环保事件列表
+export function getCaseList(data) {
+ return request({
+ url: 'zhhb-gktj/zhhb/hbsjlbfy',
+ method: 'post',
+ // data
+ params: {
+ ...data
+ }
+ })
+}
diff --git a/src/api/ywts/zyhj/yl.js b/src/api/ywts/zyhj/yl.js
index 63d7ad2..643e3d4 100644
--- a/src/api/ywts/zyhj/yl.js
+++ b/src/api/ywts/zyhj/yl.js
@@ -88,6 +88,9 @@
url: 'zhyl-gktjljk/zhyl/sjxq',
method: 'post',
data,
+ params: {
+ ...data,
+ }
})
}
// 苗木点位列表
diff --git a/src/components/CommonFunction/index.vue b/src/components/CommonFunction/index.vue
index 1a10acb..c2eba44 100644
--- a/src/components/CommonFunction/index.vue
+++ b/src/components/CommonFunction/index.vue
@@ -5,8 +5,8 @@
@click="btnClick" />
-
+
@@ -21,7 +21,7 @@
import CommonBtn from "../CommonBtn";
import { clearUpMap } from '@/utils/freedo/index'
-import { initPosition, initPage } from "../../utils/freedo";
+import { initPosition, initPage } from "../../utils/freedo";
import mapJson from "@/assets/mapJson/map.json";
import { eventBus } from "../../main";
@@ -59,11 +59,11 @@
disabled: true,
"children": [
{ "id": 41, "label": "智慧教育-手工模型", disabled: true },
- { "id": 42, "label": "智慧停车云-手工模型", disabled: true },
- { "id": 43, "label": "智慧社区-手工模型", disabled: true },
- { "id": 44, "label": "智慧工地-手工模型", disabled: true },
- { "id": 45, "label": "智慧交通-手工模型", disabled: true },
- { "id": 46, "label": "智慧园林-手工模型", disabled: true }
+ { "id": 42, "label": "智慧停车云-手工模型", disabled: true },
+ { "id": 43, "label": "智慧社区-手工模型", disabled: true },
+ { "id": 44, "label": "智慧工地-手工模型", disabled: true },
+ { "id": 45, "label": "智慧交通-手工模型", disabled: true },
+ { "id": 46, "label": "智慧园林-手工模型", disabled: true }
]
}, {
"id": 5,
@@ -95,8 +95,8 @@
setTimeout(() => {
this.tree.forEach((item) => {
item.disabled = false
- if(item.children) {
- item.children = item.children.map((item) => ({ ...item,disabled: false}))
+ if (item.children) {
+ item.children = item.children.map((item) => ({ ...item, disabled: false }))
}
})
}, 5000)
@@ -125,7 +125,7 @@
handler(data, checked, indeterminate)
}
else {
- if(data.id.toString() === '5' && checked) {
+ if (data.id.toString() === '5' && checked) {
window.terrainManager.visible = true
return
}
@@ -143,14 +143,18 @@
},
btnClick(e) {
this.showLayerTree = false
+ this.clearDialog()
if (e.target.id === 'initBtn') {
initPosition()
} else if (e.target.id === 'clearBtn') {
clearUpMap()
} else if (e.target.id === 'layerBtn') {
- // clearUpMap()
this.showLayerTree = true
}
+ },
+ // 清空地图弹窗
+ clearDialog() {
+ this.$bus.$emit('clear')
}
}
}
@@ -178,7 +182,7 @@
right: 20px;
top: 1rem;
display: flex;
- width: 20rem;
+ width: 15rem;
height: 5rem;
z-index: 1111111111;
}
diff --git a/src/pages/csdz/iot/index.vue b/src/pages/csdz/iot/index.vue
index 63b60ea..8aefaea 100644
--- a/src/pages/csdz/iot/index.vue
+++ b/src/pages/csdz/iot/index.vue
@@ -259,8 +259,8 @@
localPoint(e) {
// this.childrenClick(e)
this.clickIcon({
- _data:{
- data:e
+ _data: {
+ data: e
}
})
},
@@ -280,6 +280,11 @@
},
mounted() {
this.search()
+ this.$bus.$on('clear', () => {
+ this.isShowEvent = false
+ this.isShowEventPop = false
+ this.isShowPop = false
+ })
// getStatistics().then(res => {
// if (res.code === 200 && res.data.value.length) {
// console.log(res.data, '')
diff --git a/src/pages/csdz/smartCard/index.vue b/src/pages/csdz/smartCard/index.vue
index 48721f7..32573d2 100644
--- a/src/pages/csdz/smartCard/index.vue
+++ b/src/pages/csdz/smartCard/index.vue
@@ -112,6 +112,7 @@
btnClick(e) {
clearResetMap()
this.selectIndex = e.target.id
+ this.isShowPop = false
if (this.selectIndex === 'publicBtn') {
// 绘制热力图
heat([
@@ -870,6 +871,10 @@
getStatistics({}).then(res => {
console.log(res.data, '一卡通')
})
+ this.$bus.$on('clear', () => {
+ this.isShowPop = false
+ this.isShowEvent = false
+ })
}
}
diff --git a/src/pages/csdz/videoCloud/index.vue b/src/pages/csdz/videoCloud/index.vue
index 4b8d110..81530d5 100644
--- a/src/pages/csdz/videoCloud/index.vue
+++ b/src/pages/csdz/videoCloud/index.vue
@@ -695,6 +695,11 @@
},
mounted() {
this.drawSence()
+ this.$bus.$on('clear', () => {
+ this.isShowPop = false
+ this.isShowEvent = false
+ this.isShowEventPop = false
+ })
}
}
diff --git a/src/pages/ywts/cszl/gd/index.vue b/src/pages/ywts/cszl/gd/index.vue
index e9be7b0..35ee8d7 100644
--- a/src/pages/ywts/cszl/gd/index.vue
+++ b/src/pages/ywts/cszl/gd/index.vue
@@ -1,30 +1,23 @@
-
-
+
+
@@ -34,7 +27,7 @@
import TimeManager from "@/components/TimeManager";
import GdPop from "./gdPop";
import { heat } from '@/utils/freedo/heat'
-import { clearUpMap, clearResetMap ,AddLabelPoint, initPosition } from '@/utils/freedo'
+import { clearUpMap, clearResetMap, AddLabelPoint, initPosition } from '@/utils/freedo'
import {
getHeat,
getArea,
@@ -43,17 +36,17 @@
getStatistics,
getCasePointList, getCaseInfo
} from "../../../../api/ywts/cszl/gd";
-import {AddDivPointCase, AddDivPointHighlight, AddLabel, focusPoint} from "../../../../utils/freedo";
+import { AddDivPointCase, AddDivPointHighlight, AddLabel, focusPoint } from "../../../../utils/freedo";
import ListPage from "@/components/ListPage";
import KeywordManager from "../../../../components/KeywordManager";
import gridJson from "@/assets/mapJson/grid.json";
import mapJson from "@/assets/mapJson/map.json";
-import {eventBus} from "../../../../main";
+import { eventBus } from "../../../../main";
export default {
name: 'Gd',
- components: {KeywordManager, GdPop, TimeManager, LayerManagerMix, ListPage, CommonBtn },
+ components: { KeywordManager, GdPop, TimeManager, LayerManagerMix, ListPage, CommonBtn },
data() {
return {
isListPage: false,
@@ -73,19 +66,19 @@
caseTotal: 0,
layerManager: null,
caseIcon: {
- 1: require('@/assets/images/icon/事件/已撤案.png'),
- 2: require('@/assets/images/icon/事件/指派中.png'),
- 3: require('@/assets/images/icon/事件/处置中.png'),
- 4: require('@/assets/images/icon/事件/已办结.png'),
- 5: require('@/assets/images/icon/事件/已结案.png'),
- },
+ 1: require('@/assets/images/icon/事件/已撤案.png'),
+ 2: require('@/assets/images/icon/事件/指派中.png'),
+ 3: require('@/assets/images/icon/事件/处置中.png'),
+ 4: require('@/assets/images/icon/事件/已办结.png'),
+ 5: require('@/assets/images/icon/事件/已结案.png'),
+ },
caseColor: {
- 1: '#ffffff88',
- 2: '#fdeb5688',
- 3: '#85c8ff88',
- 4: '#ffba7488',
- 5: '#87f6b388',
- },
+ 1: '#ffffff88',
+ 2: '#fdeb5688',
+ 3: '#85c8ff88',
+ 4: '#ffba7488',
+ 5: '#87f6b388',
+ },
time: {
startTime: '',
endTime: '',
@@ -105,10 +98,10 @@
name: '工地设备',
value: 'device'
}
- // , {
- // name: '环监设备',
- // value: 'others'
- // }
+ // , {
+ // name: '环监设备',
+ // value: 'others'
+ // }
],
menus: {
device: [
@@ -122,7 +115,7 @@
},
mounted() {
getStatistics().then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
this.menus.device = response.data.value
}
})
@@ -135,28 +128,24 @@
autoFlyto: true,
})
- eventBus.$emit('change-layer', { id:1, checked: false});
- eventBus.$emit('change-layer', { id:2, checked: false});
- eventBus.$emit('change-layer', { id:3, checked: false});
- eventBus.$emit('change-layer', { id:4, checked: false});
- eventBus.$emit('change-layer', { id:5, checked: true});
- eventBus.$emit('change-layer', { id:44, checked: true});
- eventBus.$emit('change-layer', { id:21, checked: true});
- eventBus.$emit('change-layer', { id:12, checked: true});
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: false }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: true });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: false });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: true }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
-
- // window.pmtsManager.add({
- // id: "智慧工地-手工模型",
- // url: mapJson.CIM4["智慧工地-手工模型"],
- // show: true,
- // maximumScreenSpaceError: 32,
- // maximumMemoryUsage: 64,
- // maximumAbsoluteMemoryUsage: 8192,
- // autoFlyto: true
- // },
- // undefined
- // )
- // window.terrainManager.visible = true
+ // 清除弹窗展示
+ this.$bus.$on('clear', () => {
+ this.isListPage = false
+ this.isShow = false
+ })
},
methods: {
async btnClick(e) {
@@ -179,7 +168,7 @@
break
case "personBtn":
getHeat().then(res => {
- if(res.code === 200) {
+ if (res.code === 200) {
console.log(res.data, '热力')
const arr = res.data.value.filter(item => item.lng !== "" && item.lng !== null)
// arr.splice(0,1) // todo: 测试第一个错误数据
@@ -192,17 +181,17 @@
// 设备图层控制
layer(item) {
// clearUpMap(true)
- const iconOnline = require('@/assets/images/icon/工地地图点位/'+item.typename.replace(/ /g,'')+'在线.png')
- const iconOffline = require('@/assets/images/icon/工地地图点位/'+item.typename.replace(/ /g,'')+'离线.png')
- getDevList({type: item.type}).then(response => {
- if(response.code === 200) {
+ const iconOnline = require('@/assets/images/icon/工地地图点位/' + item.typename.replace(/ /g, '') + '在线.png')
+ const iconOffline = require('@/assets/images/icon/工地地图点位/' + item.typename.replace(/ /g, '') + '离线.png')
+ getDevList({ type: item.type }).then(response => {
+ if (response.code === 200) {
clearUpMap(true)
this.keywordList = response.data.value
response.data.value.forEach(item => {
AddLabelPoint(
item.id,
'',
- item.status === '1'? iconOnline: iconOffline,
+ item.status === '1' ? iconOnline : iconOffline,
[item.lon, item.lat, 0], 'gd-dev', item,
null)
})
@@ -216,23 +205,23 @@
// keywords: this.keyword
}
getCasePointList(param).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
clearUpMap(true)
const data = []
response.data.value.forEach(item => {
- if(!data.map(da => da.id).includes(item.id) && !data.map(da => da.lon).includes(item.lon) && item.id !== null) {
+ if (!data.map(da => da.id).includes(item.id) && !data.map(da => da.lon).includes(item.lon) && item.id !== null) {
data.push(item)
}
})
this.keywordList = data
data.forEach(item => {
// if(item.total === '1') {
- AddLabelPoint(
- item.id,
- '',
- this.caseIcon[item.eventstatus],
- [item.lon, item.lat, 0], 'gd-case', item,
- this.clickCase)
+ AddLabelPoint(
+ item.id,
+ '',
+ this.caseIcon[item.eventstatus],
+ [item.lon, item.lat, 0], 'gd-case', item,
+ this.clickCase)
// } else {
// AddDivPointCase(item, this.caseColor[item.status], item.total, this.clickCase)
// }
@@ -244,8 +233,8 @@
search() {
const iconDone = require('@/assets/images/icon/工地地图点位/工地已完成.png')
const iconDoing = require('@/assets/images/icon/工地地图点位/工地进行中.png')
- getArea({keywords: this.keyword}).then(response => {
- if(response.code === 200) {
+ getArea({ keywords: this.keyword }).then(response => {
+ if (response.code === 200) {
clearUpMap(true)
this.keywordList = response.data.value
response.data.value.forEach(item => {
@@ -254,7 +243,7 @@
AddLabelPoint(
item.id,
item.name,
- item.status === '2' ? iconDoing: iconDone,
+ item.status === '2' ? iconDoing : iconDone,
[item.lon, item.lat, 0], 'gd', item,
this.clickGd)
})
@@ -265,8 +254,8 @@
score() {
const iconDone = require('@/assets/images/icon/工地地图点位/工地已完成.png')
const iconDoing = require('@/assets/images/icon/工地地图点位/工地进行中.png')
- getArea({keywords: this.keyword}).then(response => {
- if(response.code === 200) {
+ getArea({ keywords: this.keyword }).then(response => {
+ if (response.code === 200) {
this.keywordList = response.data.value
response.data.value.forEach(item => {
// console.log(item,'321123')
@@ -280,8 +269,8 @@
})
}
})
- getMonthGdScore({keywords: this.keyword}).then(response => {
- if(response.code === 200) {
+ getMonthGdScore({ keywords: this.keyword }).then(response => {
+ if (response.code === 200) {
response.data.value.filter(item => item.lng !== "" && item.lng !== null).forEach(item => {
AddLabel(
item.id,
@@ -304,7 +293,7 @@
clickCase(eventArg) {
const item = eventArg._data.data
// 恢复上一个marker
- if(this.preCase !== null ) {
+ if (this.preCase !== null) {
window.mmManager.removeById(this.preCase.id)
AddLabelPoint(
this.preCase.id,
@@ -313,7 +302,7 @@
[this.preCase.lon, this.preCase.lat, 0], 'gd-case', this.preCase,
this.clickCase)
}
- if(item.total === '1') {
+ if (item.total === '1') {
// 保存当前marker
this.preCase = item
// 高亮当前marker
@@ -323,7 +312,7 @@
this.preCase = null
}
// 查询事件详情
- this.caseTotal = Number(item.total)
+ this.caseTotal = Number(item.total)
this.isListPage = true
this.$refs.caseListPage.initDialog()
this.caseListQuery = {
@@ -345,16 +334,16 @@
searchCaseMarkerList() {
// getCaseInfo(this.caseListQuery).then(response => {
getCaseInfo(this.caseListQuery).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
console.log(response.data.value)
// 右侧看板
- this.caseList = response.data.value
+ this.caseList = response.data.value
}
})
},
handleTimeRange(time) {
this.isListPage = false
- if(this.time.startTime !== '') {
+ if (this.time.startTime !== '') {
this.time = time
this.casePoint()
} else {
diff --git a/src/pages/ywts/cszl/hw/index.vue b/src/pages/ywts/cszl/hw/index.vue
index e773b7d..ed28bc6 100644
--- a/src/pages/ywts/cszl/hw/index.vue
+++ b/src/pages/ywts/cszl/hw/index.vue
@@ -31,6 +31,7 @@
import ListPage from "@/components/ListPage";
import { getPlacePointList, getOverviewStatistics, getPersonList, getCarList, getCaseList, getCaseInfo } from '@/api/ywts/cszl/hw'
import { iconFilter, iconPerson, personList, carList, iconCar } from './data'
+import { eventBus } from "../../../../main";
export default {
name: 'Hw',
components: { TimeManager, LayerManagerMix, ListPage, CommonBtn, Pop },
@@ -94,7 +95,25 @@
},
mounted() {
clearResetMap()
+ this.selectInde = 'deviceBtn'
this.fetchPoint()
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: false }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: false });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: false });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: false }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
+ // 清除弹窗展示
+ this.$bus.$on('clear', () => {
+ this.isListPage = false
+ this.showPop = false
+ })
},
methods: {
async btnClick(e) {
@@ -263,17 +282,17 @@
// this.caseList = res.data.value || []
// this.caseTotal = this.caseList.length
res.data.value.forEach(item => {
- AddLabelPoint(
- item.id.replaceAll('.', ''),
- '',
- this.caseIcon[item.status],
- [item.lon, item.lat, 0], 'gd-case', item,
- this.clickCase)
- })
+ AddLabelPoint(
+ item.id.replaceAll('.', ''),
+ '',
+ this.caseIcon[item.status],
+ [item.lon, item.lat, 0], 'gd-case', item,
+ this.clickCase)
+ })
})
},
- // 点击事件icon
- clickCase(eventArg) {
+ // 点击事件icon
+ clickCase(eventArg) {
const item = eventArg._data.data
// 恢复上一个marker
if (this.preCase !== null) {
@@ -306,11 +325,11 @@
getCaseInfo(this.caseListQuery).then(res => {
console.log(res.data, '事件详情')
this.caseList = res.data.value || []
- this.caseTotal = this.caseList.length
+ this.caseTotal = this.caseList.length
})
},
- // 事件换页
- changePage(val) {
+ // 事件换页
+ changePage(val) {
if (val && val.page) {
this.caseListQuery.pageNo = val.page
}
diff --git a/src/pages/ywts/cszl/jt/index.vue b/src/pages/ywts/cszl/jt/index.vue
index fb1ce91..ef5938c 100644
--- a/src/pages/ywts/cszl/jt/index.vue
+++ b/src/pages/ywts/cszl/jt/index.vue
@@ -1,15 +1,21 @@
-
+
@@ -26,8 +32,9 @@
getStatistics,
getCasePointList, getCaseInfo
} from "../../../../api/ywts/cszl/gd";
-import {AddDivPointHighlight, AddLabel} from "../../../../utils/freedo";
+import { AddDivPointHighlight, AddLabel } from "../../../../utils/freedo";
import ListPage from "@/components/ListPage";
+import { eventBus } from "../../../../main";
export default {
name: 'Jt',
@@ -47,19 +54,19 @@
},
caseTotal: 0,
caseIcon: {
- 1: require('@/assets/images/icon/事件/已撤案.png'),
- 2: require('@/assets/images/icon/事件/指派中.png'),
- 3: require('@/assets/images/icon/事件/处置中.png'),
- 4: require('@/assets/images/icon/事件/已办结.png'),
- 5: require('@/assets/images/icon/事件/已结案.png'),
- },
+ 1: require('@/assets/images/icon/事件/已撤案.png'),
+ 2: require('@/assets/images/icon/事件/指派中.png'),
+ 3: require('@/assets/images/icon/事件/处置中.png'),
+ 4: require('@/assets/images/icon/事件/已办结.png'),
+ 5: require('@/assets/images/icon/事件/已结案.png'),
+ },
caseColor: {
- 1: '#ffffff',
- 2: '#fdeb56',
- 3: '#85c8ff',
- 4: '#ffba74',
- 5: '#87f6b3',
- },
+ 1: '#ffffff',
+ 2: '#fdeb56',
+ 3: '#85c8ff',
+ 4: '#ffba74',
+ 5: '#87f6b3',
+ },
time: {
startTime: '',
endTime: '',
@@ -81,10 +88,10 @@
name: '基础设施',
value: 'place'
}
- // , {
- // name: '环监设备',
- // value: 'others'
- // }
+ // , {
+ // name: '环监设备',
+ // value: 'others'
+ // }
],
menus: {
place: [
@@ -98,11 +105,27 @@
},
mounted() {
getStatistics().then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
this.menus.place = response.data.value
}
})
this.search()
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: false }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: false });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: true });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: true }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
+ // 清除弹窗展示
+ this.$bus.$on('clear', () => {
+ this.isListPage = false
+ })
},
methods: {
async btnClick(e) {
@@ -121,16 +144,16 @@
// 设备图层控制
layer(item) {
// clearUpMap()
- const iconOnline = require('@/assets/images/icon/工地地图点位/'+item.typename.replace(/ /g,'')+'在线.png')
- const iconOffline = require('@/assets/images/icon/工地地图点位/'+item.typename.replace(/ /g,'')+'离线.png')
- getDevList({type: item.type}).then(response => {
- if(response.code === 200) {
+ const iconOnline = require('@/assets/images/icon/工地地图点位/' + item.typename.replace(/ /g, '') + '在线.png')
+ const iconOffline = require('@/assets/images/icon/工地地图点位/' + item.typename.replace(/ /g, '') + '离线.png')
+ getDevList({ type: item.type }).then(response => {
+ if (response.code === 200) {
clearUpMap()
response.data.value.forEach(item => {
AddLabelPoint(
item.id,
'',
- item.status === '1'? iconOnline: iconOffline,
+ item.status === '1' ? iconOnline : iconOffline,
[item.lon, item.lat, 0], 'gd-place', item,
null)
})
@@ -141,11 +164,11 @@
casePoint() {
console.log(this.time)
getCasePointList(this.time).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
clearUpMap()
const data = []
response.data.value.forEach(item => {
- if(!data.map(da => da.id).includes(item.id) && !data.map(da => da.lon).includes(item.lon) && item.id !== null) {
+ if (!data.map(da => da.id).includes(item.id) && !data.map(da => da.lon).includes(item.lon) && item.id !== null) {
data.push(item)
}
})
@@ -165,7 +188,7 @@
const iconDone = require('@/assets/images/icon/工地地图点位/工地已完成.png')
const iconDoing = require('@/assets/images/icon/工地地图点位/工地进行中.png')
getArea({}).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
clearUpMap()
response.data.value.forEach(item => {
// console.log(item.areaboundary)
@@ -173,7 +196,7 @@
AddLabelPoint(
item.id,
item.name,
- item.status === '2' ? iconDoing: iconDone,
+ item.status === '2' ? iconDoing : iconDone,
[item.lon, item.lat, 0], 'gd', item,
this.clickHw)
})
@@ -183,7 +206,7 @@
// 智慧工地-工地近1月综合得分
score() {
getArea({}).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
response.data.value.forEach(item => {
console.log(item.areaboundary)
// todo : 画范围
@@ -195,7 +218,7 @@
clickCase(eventArg) {
const item = eventArg._data.data
// 恢复上一个marker
- if(this.preCase !== null ) {
+ if (this.preCase !== null) {
window.mmManager.removeById(this.preCase.id)
AddLabelPoint(
this.preCase.id,
@@ -231,13 +254,13 @@
searchCaseMarkerList() {
// getCaseInfo(this.caseListQuery).then(response => {
getCaseInfo(this.caseListQuery).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
console.log(response.data.value)
// 右侧看板
- this.caseList = response.data.value
+ this.caseList = response.data.value
// todo
// this.caseTotal = response.data.value.length
- this.caseTotal = 12
+ this.caseTotal = 12
}
})
},
@@ -246,7 +269,7 @@
},
handleTimeRange(time) {
this.isListPage = false
- if(this.time.startTime !== '') {
+ if (this.time.startTime !== '') {
this.time = time
this.casePoint()
} else {
diff --git a/src/pages/ywts/cszl/jxh/index.vue b/src/pages/ywts/cszl/jxh/index.vue
index a3703db..0f23aaa 100644
--- a/src/pages/ywts/cszl/jxh/index.vue
+++ b/src/pages/ywts/cszl/jxh/index.vue
@@ -1,26 +1,24 @@
-
-
+
+
@@ -44,14 +42,15 @@
getAll,
getCaseInfo, getBoard
} from "../../../../api/ywts/cszl/jxh";
-import {AddDivPointCase, AddDivPointHighlight, AddOnlyLabel, AddPolygon} from "../../../../utils/freedo";
+import { AddDivPointCase, AddDivPointHighlight, AddOnlyLabel, AddPolygon } from "../../../../utils/freedo";
import ListPage from "@/components/ListPage";
-import {getGridInfo, getGridToken} from "../../../../api/common";
+import { getGridInfo, getGridToken } from "../../../../api/common";
import JxhPop from "./jxhPop";
+import { eventBus } from "../../../../main";
export default {
name: 'Jxh',
- components: {JxhPop, LayerManager, TimeManager, KeywordManager, CommonBtn, ListPage },
+ components: { JxhPop, LayerManager, TimeManager, KeywordManager, CommonBtn, ListPage },
data() {
return {
preCase: null,
@@ -128,6 +127,22 @@
}
},
mounted() {
+ this.$bus.$on('clear', () => {
+ this.isListPage = false
+ this.isShow = false
+ })
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: false }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: false });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: false });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: false }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
// 全部事件
getAll({
// urgent: '0',
@@ -135,8 +150,8 @@
// high: '0',
startTime: this.time.startTime,
endTime: this.time.endTime,
- }).then( res => {
- if(res.code === 200) {
+ }).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
@@ -154,7 +169,7 @@
caseMarker(res) {
res.data.value.forEach(item => {
// console.log(item.status)
- if(item.total === '1') {
+ if (item.total === '1') {
AddLabelPoint(
item.id,
'',
@@ -180,24 +195,24 @@
switch (e.bigtype) {
case 'source':
query.sourceId = e.type
- getSourceList(query).then( res => {
- if(res.code === 200) {
+ getSourceList(query).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
break
case 'project':
query.projectId = e.type
- getProjectList(query).then( res => {
- if(res.code === 200) {
+ getProjectList(query).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
break
case 'grid':
query.gridType = e.type
- getGridList(query).then( res => {
- if(res.code === 200) {
+ getGridList(query).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
@@ -208,7 +223,7 @@
clickCase(eventArg) {
const item = eventArg._data.data
// 恢复上一个marker
- if(this.preCase !== null ) {
+ if (this.preCase !== null) {
window.mmManager.removeById(this.preCase.id)
AddLabelPoint(
this.preCase.id,
@@ -218,7 +233,7 @@
this.clickCase)
}
- if(item.total === '1') {
+ if (item.total === '1') {
// 保存当前marker
this.preCase = item
// 高亮当前marker
@@ -229,7 +244,7 @@
}
// 查询事件详情
- this.caseTotal = Number(item.total)
+ this.caseTotal = Number(item.total)
this.caseList = []
this.isListPage = true
this.hasUrge = false
@@ -263,13 +278,13 @@
// high: '0',
startTime: this.time.startTime,
endTime: this.time.endTime,
- }).then( res => {
- if(res.code === 200) {
+ }).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
// 事件看板
- this.caseTotal = 1000 // todo
+ this.caseTotal = 1000 // todo
this.caseList = []
this.isListPage = true
this.hasUrge = true
@@ -292,8 +307,8 @@
high: '1',
startTime: this.time.startTime,
endTime: this.time.endTime,
- }).then( res => {
- if(res.code === 200) {
+ }).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
@@ -306,8 +321,8 @@
// high: '0',
startTime: this.time.startTime,
endTime: this.time.endTime,
- }).then( res => {
- if(res.code === 200) {
+ }).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
@@ -317,7 +332,7 @@
break
case "caseHeatBtn":
getHeat(this.time).then(res => {
- if(res.code === 200) {
+ if (res.code === 200) {
heat(res.data.value) // 热力图
}
})
@@ -326,29 +341,29 @@
},
gridDraw(token, areaCode) {
const colors = [
- [0,234,255,0.47],
- [255,185,0,0.47],
- [255,234,0,0.47],
- [209,0,255,0.47],
- [255,0,38,0.47],
+ [0, 234, 255, 0.47],
+ [255, 185, 0, 0.47],
+ [255, 234, 0, 0.47],
+ [209, 0, 255, 0.47],
+ [255, 0, 38, 0.47],
]
getGridInfo({
paramCodeList: 'KJ5001',
areaCode,
token
- }).then( res => {
+ }).then(res => {
console.log(res)
res.data.chirdAreaInfo.forEach((item, index) => {
item._source.areainfo.coordinates.forEach(area => {
let positions = []
- let arr = item._source.areainfo.type === 'MultiPolygon' ? area[0]: area
+ let arr = item._source.areainfo.type === 'MultiPolygon' ? area[0] : area
arr.forEach(pos => {
- positions.push(Freedo.Cartesian3.fromDegrees( pos[0], pos[1],0))
+ positions.push(Freedo.Cartesian3.fromDegrees(pos[0], pos[1], 0))
})
- AddPolygon(positions,colors[index % 5], this.gridClick,item._id)
+ AddPolygon(positions, colors[index % 5], this.gridClick, item._id)
AddOnlyLabel(
'',
- item._source.areaname , //+ this.menus.grid
+ item._source.areaname, //+ this.menus.grid
[item._source.lon, item._source.lat, 0],
'', null, null)
})
@@ -364,7 +379,7 @@
secret: CryptoJS.MD5(timestamp + 'geostar999').toString()
}
- getGridToken(param).then( res => {
+ getGridToken(param).then(res => {
clearUpMap()
this.gridDraw(res.data.token, '360783001')
this.gridDraw(res.data.token, '360783002')
@@ -374,32 +389,32 @@
},
// 三个概况统计
layerSeach() {
- getSource(this.time).then( res => {
- if(res.code === 200) {
+ getSource(this.time).then(res => {
+ if (res.code === 200) {
this.menus.source = res.data.value.map(item => {
item.bigtype = 'source'
- item.type = item.id.replace(/ /g,'')
- item.typename = item.name.replace(/ /g,'')
+ item.type = item.id.replace(/ /g, '')
+ item.typename = item.name.replace(/ /g, '')
return item
})
}
})
- getProject(this.time).then( res => {
- if(res.code === 200) {
+ getProject(this.time).then(res => {
+ if (res.code === 200) {
this.menus.project = res.data.value.map(item => {
item.bigtype = 'project'
- item.type = item.id.replace(/ /g,'')
- item.typename = item.name.replace(/ /g,'')
+ item.type = item.id.replace(/ /g, '')
+ item.typename = item.name.replace(/ /g, '')
return item
})
}
})
- getGrid(this.time).then( res => {
- if(res.code === 200) {
+ getGrid(this.time).then(res => {
+ if (res.code === 200) {
this.menus.grid = res.data.value.map(item => {
item.bigtype = 'grid'
- item.type = item.id.replace(/ /g,'')
- item.typename = item.name.replace(/ /g,'')
+ item.type = item.id.replace(/ /g, '')
+ item.typename = item.name.replace(/ /g, '')
return item
})
}
@@ -410,7 +425,7 @@
if (val && val.page) {
this.caseListQuery.pageNo = val.page
}
- if(this.hasUrge) {
+ if (this.hasUrge) {
this.searchBoard()
} else {
this.searchCaseMarkerList()
@@ -419,20 +434,20 @@
// 事件看板查询
searchBoard() {
getBoard(this.caseListQuery).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
console.log(response.data.value)
// 右侧看板
- this.caseList = response.data.value
+ this.caseList = response.data.value
}
})
},
// 事件详情分页
searchCaseMarkerList() {
getCaseInfo(this.caseListQuery).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
console.log(response.data.value)
// 右侧看板
- this.caseList = response.data.value
+ this.caseList = response.data.value
}
})
},
diff --git a/src/pages/ywts/cszl/yj/index.vue b/src/pages/ywts/cszl/yj/index.vue
index 7869a73..d74dfe9 100644
--- a/src/pages/ywts/cszl/yj/index.vue
+++ b/src/pages/ywts/cszl/yj/index.vue
@@ -45,7 +45,7 @@
import { AddDivPointHighlight, AddLabel } from "../../../../utils/freedo";
import { iconFilter, deviceList, caseList } from './data'
import ListPage from "@/components/ListPage";
-
+import { eventBus } from "../../../../main";
export default {
name: 'Yj',
components: { TimeManager, LayerManagerMix, ListPage, CommonBtn, Pop },
@@ -118,14 +118,25 @@
}
},
mounted() {
- // getStatistics().then(response => {
- // if(response.code === 200) {
- // this.menus.place = response.data.value
- // }
- // })
- // this.search()
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: false }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: false });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: false });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: false }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
clearResetMap()
this.searchPlace({})
+
+ this.$bus.$on('clear', () => {
+ this.isListPage = false
+ this.showPop = false
+ })
},
methods: {
async btnClick(e) {
diff --git a/src/pages/ywts/shms/jy/devicePop.vue b/src/pages/ywts/shms/jy/devicePop.vue
new file mode 100644
index 0000000..2c44979
--- /dev/null
+++ b/src/pages/ywts/shms/jy/devicePop.vue
@@ -0,0 +1,281 @@
+
+
+
+
+
+
+
+ 设备名称: {{
+ gdInfo.name }}
+ 设备类型: {{
+ gdInfo.typename }}
+ 设备状态: {{
+ gdInfo.statusName }}
+ 设备位置: {{
+ gdInfo.location }}
+ 时间: {{ gdInfo.time
+ }}
+ 进/出人口数: {{ gdInfo.in
+ }}/{{ gdInfo.out }}
+ 是否赋能: 否
+
+
+
+
+
+
+
+
+
+
diff --git a/src/api/ywts/shms/jy.js b/src/api/ywts/shms/jy.js
index f3ac251..56f48e3 100644
--- a/src/api/ywts/shms/jy.js
+++ b/src/api/ywts/shms/jy.js
@@ -116,7 +116,7 @@
return request({
url: 'zhjy-gktj/zhjy/sbdwlb',
method: 'post',
- data,
+ // data,
params: data
})
}
diff --git a/src/api/ywts/shms/sq.js b/src/api/ywts/shms/sq.js
new file mode 100644
index 0000000..04a5447
--- /dev/null
+++ b/src/api/ywts/shms/sq.js
@@ -0,0 +1,123 @@
+/**
+ * 社区接口
+ */
+import request from '@/utils/request'
+
+// 社区点位列表
+export function getCommunityList() {
+ return request({
+ url: 'zhsq-gktj/zhsq/sqdwlb',
+ method: 'post',
+ })
+}
+
+// 人员热力图
+export function getHeat() {
+ return request({
+ url: 'zhsq-gktj/zhsq/sqyyrlt',
+ method: 'post',
+ })
+}
+
+// 设备点位
+export function getDevice() {
+ return request({
+ url: 'zhsq-gktj/zhsq/sbdwlb',
+ method: 'post',
+ params: {
+ type: '',
+ keywords: ''
+ }
+ })
+}
+
+// 社区车辆
+export function getCar() {
+ return request({
+ url: 'zhsq-gktj/zhsq/sqbyl',
+ method: 'post',
+ })
+}
+
+// 事件点位列表
+export function getCase(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/sjdwlb',
+ method: 'post',
+ params:{
+ ...data
+ }
+ })
+}
+
+// 事件详情
+export function getCaseList(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/zjlbfy',
+ method: 'post',
+ params:{
+ ...data
+ }
+ })
+}
+// 获取社区基本信息
+export function getBaseInfo(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/sqdwxq',
+ method: 'post',
+ params:{
+ ...data
+ },
+ // data
+ })
+}
+// 居民年龄统计
+export function getAgeStatistics(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/jmnltj',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
+// 居民流动比例
+export function getCurrentRatio(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/jmldbl',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
+// 近1年人房车占比统计
+export function getPersonCarRatio(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/rfczbtj',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
+// 近1月居民通行量分析
+export function getTransitrRatio(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/jmtxlfx',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
+// 近1月高频事件排行榜
+export function getCaseRank(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/gpsjphb',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
diff --git a/src/api/ywts/zyhj/hb.js b/src/api/ywts/zyhj/hb.js
index 5e598d1..07625d1 100644
--- a/src/api/ywts/zyhj/hb.js
+++ b/src/api/ywts/zyhj/hb.js
@@ -8,7 +8,10 @@
return request({
url: 'zhhb-gktj/zhhb/gktj',
method: 'post',
- data
+ data,
+ params: {
+ ...data,
+ }
})
}
// 环保点位列表
@@ -19,3 +22,26 @@
data
})
}
+// 环保告警列表
+export function getAlarmList(data) {
+ return request({
+ url: 'zhhb-gktj/zhhb/hbgjlb',
+ method: 'post',
+ // data
+ params: {
+ ...data
+ }
+ })
+}
+
+// 环保事件列表
+export function getCaseList(data) {
+ return request({
+ url: 'zhhb-gktj/zhhb/hbsjlbfy',
+ method: 'post',
+ // data
+ params: {
+ ...data
+ }
+ })
+}
diff --git a/src/api/ywts/zyhj/yl.js b/src/api/ywts/zyhj/yl.js
index 63d7ad2..643e3d4 100644
--- a/src/api/ywts/zyhj/yl.js
+++ b/src/api/ywts/zyhj/yl.js
@@ -88,6 +88,9 @@
url: 'zhyl-gktjljk/zhyl/sjxq',
method: 'post',
data,
+ params: {
+ ...data,
+ }
})
}
// 苗木点位列表
diff --git a/src/components/CommonFunction/index.vue b/src/components/CommonFunction/index.vue
index 1a10acb..c2eba44 100644
--- a/src/components/CommonFunction/index.vue
+++ b/src/components/CommonFunction/index.vue
@@ -5,8 +5,8 @@
@click="btnClick" />
-
+
@@ -21,7 +21,7 @@
import CommonBtn from "../CommonBtn";
import { clearUpMap } from '@/utils/freedo/index'
-import { initPosition, initPage } from "../../utils/freedo";
+import { initPosition, initPage } from "../../utils/freedo";
import mapJson from "@/assets/mapJson/map.json";
import { eventBus } from "../../main";
@@ -59,11 +59,11 @@
disabled: true,
"children": [
{ "id": 41, "label": "智慧教育-手工模型", disabled: true },
- { "id": 42, "label": "智慧停车云-手工模型", disabled: true },
- { "id": 43, "label": "智慧社区-手工模型", disabled: true },
- { "id": 44, "label": "智慧工地-手工模型", disabled: true },
- { "id": 45, "label": "智慧交通-手工模型", disabled: true },
- { "id": 46, "label": "智慧园林-手工模型", disabled: true }
+ { "id": 42, "label": "智慧停车云-手工模型", disabled: true },
+ { "id": 43, "label": "智慧社区-手工模型", disabled: true },
+ { "id": 44, "label": "智慧工地-手工模型", disabled: true },
+ { "id": 45, "label": "智慧交通-手工模型", disabled: true },
+ { "id": 46, "label": "智慧园林-手工模型", disabled: true }
]
}, {
"id": 5,
@@ -95,8 +95,8 @@
setTimeout(() => {
this.tree.forEach((item) => {
item.disabled = false
- if(item.children) {
- item.children = item.children.map((item) => ({ ...item,disabled: false}))
+ if (item.children) {
+ item.children = item.children.map((item) => ({ ...item, disabled: false }))
}
})
}, 5000)
@@ -125,7 +125,7 @@
handler(data, checked, indeterminate)
}
else {
- if(data.id.toString() === '5' && checked) {
+ if (data.id.toString() === '5' && checked) {
window.terrainManager.visible = true
return
}
@@ -143,14 +143,18 @@
},
btnClick(e) {
this.showLayerTree = false
+ this.clearDialog()
if (e.target.id === 'initBtn') {
initPosition()
} else if (e.target.id === 'clearBtn') {
clearUpMap()
} else if (e.target.id === 'layerBtn') {
- // clearUpMap()
this.showLayerTree = true
}
+ },
+ // 清空地图弹窗
+ clearDialog() {
+ this.$bus.$emit('clear')
}
}
}
@@ -178,7 +182,7 @@
right: 20px;
top: 1rem;
display: flex;
- width: 20rem;
+ width: 15rem;
height: 5rem;
z-index: 1111111111;
}
diff --git a/src/pages/csdz/iot/index.vue b/src/pages/csdz/iot/index.vue
index 63b60ea..8aefaea 100644
--- a/src/pages/csdz/iot/index.vue
+++ b/src/pages/csdz/iot/index.vue
@@ -259,8 +259,8 @@
localPoint(e) {
// this.childrenClick(e)
this.clickIcon({
- _data:{
- data:e
+ _data: {
+ data: e
}
})
},
@@ -280,6 +280,11 @@
},
mounted() {
this.search()
+ this.$bus.$on('clear', () => {
+ this.isShowEvent = false
+ this.isShowEventPop = false
+ this.isShowPop = false
+ })
// getStatistics().then(res => {
// if (res.code === 200 && res.data.value.length) {
// console.log(res.data, '')
diff --git a/src/pages/csdz/smartCard/index.vue b/src/pages/csdz/smartCard/index.vue
index 48721f7..32573d2 100644
--- a/src/pages/csdz/smartCard/index.vue
+++ b/src/pages/csdz/smartCard/index.vue
@@ -112,6 +112,7 @@
btnClick(e) {
clearResetMap()
this.selectIndex = e.target.id
+ this.isShowPop = false
if (this.selectIndex === 'publicBtn') {
// 绘制热力图
heat([
@@ -870,6 +871,10 @@
getStatistics({}).then(res => {
console.log(res.data, '一卡通')
})
+ this.$bus.$on('clear', () => {
+ this.isShowPop = false
+ this.isShowEvent = false
+ })
}
}
diff --git a/src/pages/csdz/videoCloud/index.vue b/src/pages/csdz/videoCloud/index.vue
index 4b8d110..81530d5 100644
--- a/src/pages/csdz/videoCloud/index.vue
+++ b/src/pages/csdz/videoCloud/index.vue
@@ -695,6 +695,11 @@
},
mounted() {
this.drawSence()
+ this.$bus.$on('clear', () => {
+ this.isShowPop = false
+ this.isShowEvent = false
+ this.isShowEventPop = false
+ })
}
}
diff --git a/src/pages/ywts/cszl/gd/index.vue b/src/pages/ywts/cszl/gd/index.vue
index e9be7b0..35ee8d7 100644
--- a/src/pages/ywts/cszl/gd/index.vue
+++ b/src/pages/ywts/cszl/gd/index.vue
@@ -1,30 +1,23 @@
-
-
+
+
@@ -34,7 +27,7 @@
import TimeManager from "@/components/TimeManager";
import GdPop from "./gdPop";
import { heat } from '@/utils/freedo/heat'
-import { clearUpMap, clearResetMap ,AddLabelPoint, initPosition } from '@/utils/freedo'
+import { clearUpMap, clearResetMap, AddLabelPoint, initPosition } from '@/utils/freedo'
import {
getHeat,
getArea,
@@ -43,17 +36,17 @@
getStatistics,
getCasePointList, getCaseInfo
} from "../../../../api/ywts/cszl/gd";
-import {AddDivPointCase, AddDivPointHighlight, AddLabel, focusPoint} from "../../../../utils/freedo";
+import { AddDivPointCase, AddDivPointHighlight, AddLabel, focusPoint } from "../../../../utils/freedo";
import ListPage from "@/components/ListPage";
import KeywordManager from "../../../../components/KeywordManager";
import gridJson from "@/assets/mapJson/grid.json";
import mapJson from "@/assets/mapJson/map.json";
-import {eventBus} from "../../../../main";
+import { eventBus } from "../../../../main";
export default {
name: 'Gd',
- components: {KeywordManager, GdPop, TimeManager, LayerManagerMix, ListPage, CommonBtn },
+ components: { KeywordManager, GdPop, TimeManager, LayerManagerMix, ListPage, CommonBtn },
data() {
return {
isListPage: false,
@@ -73,19 +66,19 @@
caseTotal: 0,
layerManager: null,
caseIcon: {
- 1: require('@/assets/images/icon/事件/已撤案.png'),
- 2: require('@/assets/images/icon/事件/指派中.png'),
- 3: require('@/assets/images/icon/事件/处置中.png'),
- 4: require('@/assets/images/icon/事件/已办结.png'),
- 5: require('@/assets/images/icon/事件/已结案.png'),
- },
+ 1: require('@/assets/images/icon/事件/已撤案.png'),
+ 2: require('@/assets/images/icon/事件/指派中.png'),
+ 3: require('@/assets/images/icon/事件/处置中.png'),
+ 4: require('@/assets/images/icon/事件/已办结.png'),
+ 5: require('@/assets/images/icon/事件/已结案.png'),
+ },
caseColor: {
- 1: '#ffffff88',
- 2: '#fdeb5688',
- 3: '#85c8ff88',
- 4: '#ffba7488',
- 5: '#87f6b388',
- },
+ 1: '#ffffff88',
+ 2: '#fdeb5688',
+ 3: '#85c8ff88',
+ 4: '#ffba7488',
+ 5: '#87f6b388',
+ },
time: {
startTime: '',
endTime: '',
@@ -105,10 +98,10 @@
name: '工地设备',
value: 'device'
}
- // , {
- // name: '环监设备',
- // value: 'others'
- // }
+ // , {
+ // name: '环监设备',
+ // value: 'others'
+ // }
],
menus: {
device: [
@@ -122,7 +115,7 @@
},
mounted() {
getStatistics().then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
this.menus.device = response.data.value
}
})
@@ -135,28 +128,24 @@
autoFlyto: true,
})
- eventBus.$emit('change-layer', { id:1, checked: false});
- eventBus.$emit('change-layer', { id:2, checked: false});
- eventBus.$emit('change-layer', { id:3, checked: false});
- eventBus.$emit('change-layer', { id:4, checked: false});
- eventBus.$emit('change-layer', { id:5, checked: true});
- eventBus.$emit('change-layer', { id:44, checked: true});
- eventBus.$emit('change-layer', { id:21, checked: true});
- eventBus.$emit('change-layer', { id:12, checked: true});
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: false }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: true });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: false });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: true }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
-
- // window.pmtsManager.add({
- // id: "智慧工地-手工模型",
- // url: mapJson.CIM4["智慧工地-手工模型"],
- // show: true,
- // maximumScreenSpaceError: 32,
- // maximumMemoryUsage: 64,
- // maximumAbsoluteMemoryUsage: 8192,
- // autoFlyto: true
- // },
- // undefined
- // )
- // window.terrainManager.visible = true
+ // 清除弹窗展示
+ this.$bus.$on('clear', () => {
+ this.isListPage = false
+ this.isShow = false
+ })
},
methods: {
async btnClick(e) {
@@ -179,7 +168,7 @@
break
case "personBtn":
getHeat().then(res => {
- if(res.code === 200) {
+ if (res.code === 200) {
console.log(res.data, '热力')
const arr = res.data.value.filter(item => item.lng !== "" && item.lng !== null)
// arr.splice(0,1) // todo: 测试第一个错误数据
@@ -192,17 +181,17 @@
// 设备图层控制
layer(item) {
// clearUpMap(true)
- const iconOnline = require('@/assets/images/icon/工地地图点位/'+item.typename.replace(/ /g,'')+'在线.png')
- const iconOffline = require('@/assets/images/icon/工地地图点位/'+item.typename.replace(/ /g,'')+'离线.png')
- getDevList({type: item.type}).then(response => {
- if(response.code === 200) {
+ const iconOnline = require('@/assets/images/icon/工地地图点位/' + item.typename.replace(/ /g, '') + '在线.png')
+ const iconOffline = require('@/assets/images/icon/工地地图点位/' + item.typename.replace(/ /g, '') + '离线.png')
+ getDevList({ type: item.type }).then(response => {
+ if (response.code === 200) {
clearUpMap(true)
this.keywordList = response.data.value
response.data.value.forEach(item => {
AddLabelPoint(
item.id,
'',
- item.status === '1'? iconOnline: iconOffline,
+ item.status === '1' ? iconOnline : iconOffline,
[item.lon, item.lat, 0], 'gd-dev', item,
null)
})
@@ -216,23 +205,23 @@
// keywords: this.keyword
}
getCasePointList(param).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
clearUpMap(true)
const data = []
response.data.value.forEach(item => {
- if(!data.map(da => da.id).includes(item.id) && !data.map(da => da.lon).includes(item.lon) && item.id !== null) {
+ if (!data.map(da => da.id).includes(item.id) && !data.map(da => da.lon).includes(item.lon) && item.id !== null) {
data.push(item)
}
})
this.keywordList = data
data.forEach(item => {
// if(item.total === '1') {
- AddLabelPoint(
- item.id,
- '',
- this.caseIcon[item.eventstatus],
- [item.lon, item.lat, 0], 'gd-case', item,
- this.clickCase)
+ AddLabelPoint(
+ item.id,
+ '',
+ this.caseIcon[item.eventstatus],
+ [item.lon, item.lat, 0], 'gd-case', item,
+ this.clickCase)
// } else {
// AddDivPointCase(item, this.caseColor[item.status], item.total, this.clickCase)
// }
@@ -244,8 +233,8 @@
search() {
const iconDone = require('@/assets/images/icon/工地地图点位/工地已完成.png')
const iconDoing = require('@/assets/images/icon/工地地图点位/工地进行中.png')
- getArea({keywords: this.keyword}).then(response => {
- if(response.code === 200) {
+ getArea({ keywords: this.keyword }).then(response => {
+ if (response.code === 200) {
clearUpMap(true)
this.keywordList = response.data.value
response.data.value.forEach(item => {
@@ -254,7 +243,7 @@
AddLabelPoint(
item.id,
item.name,
- item.status === '2' ? iconDoing: iconDone,
+ item.status === '2' ? iconDoing : iconDone,
[item.lon, item.lat, 0], 'gd', item,
this.clickGd)
})
@@ -265,8 +254,8 @@
score() {
const iconDone = require('@/assets/images/icon/工地地图点位/工地已完成.png')
const iconDoing = require('@/assets/images/icon/工地地图点位/工地进行中.png')
- getArea({keywords: this.keyword}).then(response => {
- if(response.code === 200) {
+ getArea({ keywords: this.keyword }).then(response => {
+ if (response.code === 200) {
this.keywordList = response.data.value
response.data.value.forEach(item => {
// console.log(item,'321123')
@@ -280,8 +269,8 @@
})
}
})
- getMonthGdScore({keywords: this.keyword}).then(response => {
- if(response.code === 200) {
+ getMonthGdScore({ keywords: this.keyword }).then(response => {
+ if (response.code === 200) {
response.data.value.filter(item => item.lng !== "" && item.lng !== null).forEach(item => {
AddLabel(
item.id,
@@ -304,7 +293,7 @@
clickCase(eventArg) {
const item = eventArg._data.data
// 恢复上一个marker
- if(this.preCase !== null ) {
+ if (this.preCase !== null) {
window.mmManager.removeById(this.preCase.id)
AddLabelPoint(
this.preCase.id,
@@ -313,7 +302,7 @@
[this.preCase.lon, this.preCase.lat, 0], 'gd-case', this.preCase,
this.clickCase)
}
- if(item.total === '1') {
+ if (item.total === '1') {
// 保存当前marker
this.preCase = item
// 高亮当前marker
@@ -323,7 +312,7 @@
this.preCase = null
}
// 查询事件详情
- this.caseTotal = Number(item.total)
+ this.caseTotal = Number(item.total)
this.isListPage = true
this.$refs.caseListPage.initDialog()
this.caseListQuery = {
@@ -345,16 +334,16 @@
searchCaseMarkerList() {
// getCaseInfo(this.caseListQuery).then(response => {
getCaseInfo(this.caseListQuery).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
console.log(response.data.value)
// 右侧看板
- this.caseList = response.data.value
+ this.caseList = response.data.value
}
})
},
handleTimeRange(time) {
this.isListPage = false
- if(this.time.startTime !== '') {
+ if (this.time.startTime !== '') {
this.time = time
this.casePoint()
} else {
diff --git a/src/pages/ywts/cszl/hw/index.vue b/src/pages/ywts/cszl/hw/index.vue
index e773b7d..ed28bc6 100644
--- a/src/pages/ywts/cszl/hw/index.vue
+++ b/src/pages/ywts/cszl/hw/index.vue
@@ -31,6 +31,7 @@
import ListPage from "@/components/ListPage";
import { getPlacePointList, getOverviewStatistics, getPersonList, getCarList, getCaseList, getCaseInfo } from '@/api/ywts/cszl/hw'
import { iconFilter, iconPerson, personList, carList, iconCar } from './data'
+import { eventBus } from "../../../../main";
export default {
name: 'Hw',
components: { TimeManager, LayerManagerMix, ListPage, CommonBtn, Pop },
@@ -94,7 +95,25 @@
},
mounted() {
clearResetMap()
+ this.selectInde = 'deviceBtn'
this.fetchPoint()
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: false }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: false });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: false });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: false }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
+ // 清除弹窗展示
+ this.$bus.$on('clear', () => {
+ this.isListPage = false
+ this.showPop = false
+ })
},
methods: {
async btnClick(e) {
@@ -263,17 +282,17 @@
// this.caseList = res.data.value || []
// this.caseTotal = this.caseList.length
res.data.value.forEach(item => {
- AddLabelPoint(
- item.id.replaceAll('.', ''),
- '',
- this.caseIcon[item.status],
- [item.lon, item.lat, 0], 'gd-case', item,
- this.clickCase)
- })
+ AddLabelPoint(
+ item.id.replaceAll('.', ''),
+ '',
+ this.caseIcon[item.status],
+ [item.lon, item.lat, 0], 'gd-case', item,
+ this.clickCase)
+ })
})
},
- // 点击事件icon
- clickCase(eventArg) {
+ // 点击事件icon
+ clickCase(eventArg) {
const item = eventArg._data.data
// 恢复上一个marker
if (this.preCase !== null) {
@@ -306,11 +325,11 @@
getCaseInfo(this.caseListQuery).then(res => {
console.log(res.data, '事件详情')
this.caseList = res.data.value || []
- this.caseTotal = this.caseList.length
+ this.caseTotal = this.caseList.length
})
},
- // 事件换页
- changePage(val) {
+ // 事件换页
+ changePage(val) {
if (val && val.page) {
this.caseListQuery.pageNo = val.page
}
diff --git a/src/pages/ywts/cszl/jt/index.vue b/src/pages/ywts/cszl/jt/index.vue
index fb1ce91..ef5938c 100644
--- a/src/pages/ywts/cszl/jt/index.vue
+++ b/src/pages/ywts/cszl/jt/index.vue
@@ -1,15 +1,21 @@
-
+
@@ -26,8 +32,9 @@
getStatistics,
getCasePointList, getCaseInfo
} from "../../../../api/ywts/cszl/gd";
-import {AddDivPointHighlight, AddLabel} from "../../../../utils/freedo";
+import { AddDivPointHighlight, AddLabel } from "../../../../utils/freedo";
import ListPage from "@/components/ListPage";
+import { eventBus } from "../../../../main";
export default {
name: 'Jt',
@@ -47,19 +54,19 @@
},
caseTotal: 0,
caseIcon: {
- 1: require('@/assets/images/icon/事件/已撤案.png'),
- 2: require('@/assets/images/icon/事件/指派中.png'),
- 3: require('@/assets/images/icon/事件/处置中.png'),
- 4: require('@/assets/images/icon/事件/已办结.png'),
- 5: require('@/assets/images/icon/事件/已结案.png'),
- },
+ 1: require('@/assets/images/icon/事件/已撤案.png'),
+ 2: require('@/assets/images/icon/事件/指派中.png'),
+ 3: require('@/assets/images/icon/事件/处置中.png'),
+ 4: require('@/assets/images/icon/事件/已办结.png'),
+ 5: require('@/assets/images/icon/事件/已结案.png'),
+ },
caseColor: {
- 1: '#ffffff',
- 2: '#fdeb56',
- 3: '#85c8ff',
- 4: '#ffba74',
- 5: '#87f6b3',
- },
+ 1: '#ffffff',
+ 2: '#fdeb56',
+ 3: '#85c8ff',
+ 4: '#ffba74',
+ 5: '#87f6b3',
+ },
time: {
startTime: '',
endTime: '',
@@ -81,10 +88,10 @@
name: '基础设施',
value: 'place'
}
- // , {
- // name: '环监设备',
- // value: 'others'
- // }
+ // , {
+ // name: '环监设备',
+ // value: 'others'
+ // }
],
menus: {
place: [
@@ -98,11 +105,27 @@
},
mounted() {
getStatistics().then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
this.menus.place = response.data.value
}
})
this.search()
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: false }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: false });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: true });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: true }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
+ // 清除弹窗展示
+ this.$bus.$on('clear', () => {
+ this.isListPage = false
+ })
},
methods: {
async btnClick(e) {
@@ -121,16 +144,16 @@
// 设备图层控制
layer(item) {
// clearUpMap()
- const iconOnline = require('@/assets/images/icon/工地地图点位/'+item.typename.replace(/ /g,'')+'在线.png')
- const iconOffline = require('@/assets/images/icon/工地地图点位/'+item.typename.replace(/ /g,'')+'离线.png')
- getDevList({type: item.type}).then(response => {
- if(response.code === 200) {
+ const iconOnline = require('@/assets/images/icon/工地地图点位/' + item.typename.replace(/ /g, '') + '在线.png')
+ const iconOffline = require('@/assets/images/icon/工地地图点位/' + item.typename.replace(/ /g, '') + '离线.png')
+ getDevList({ type: item.type }).then(response => {
+ if (response.code === 200) {
clearUpMap()
response.data.value.forEach(item => {
AddLabelPoint(
item.id,
'',
- item.status === '1'? iconOnline: iconOffline,
+ item.status === '1' ? iconOnline : iconOffline,
[item.lon, item.lat, 0], 'gd-place', item,
null)
})
@@ -141,11 +164,11 @@
casePoint() {
console.log(this.time)
getCasePointList(this.time).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
clearUpMap()
const data = []
response.data.value.forEach(item => {
- if(!data.map(da => da.id).includes(item.id) && !data.map(da => da.lon).includes(item.lon) && item.id !== null) {
+ if (!data.map(da => da.id).includes(item.id) && !data.map(da => da.lon).includes(item.lon) && item.id !== null) {
data.push(item)
}
})
@@ -165,7 +188,7 @@
const iconDone = require('@/assets/images/icon/工地地图点位/工地已完成.png')
const iconDoing = require('@/assets/images/icon/工地地图点位/工地进行中.png')
getArea({}).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
clearUpMap()
response.data.value.forEach(item => {
// console.log(item.areaboundary)
@@ -173,7 +196,7 @@
AddLabelPoint(
item.id,
item.name,
- item.status === '2' ? iconDoing: iconDone,
+ item.status === '2' ? iconDoing : iconDone,
[item.lon, item.lat, 0], 'gd', item,
this.clickHw)
})
@@ -183,7 +206,7 @@
// 智慧工地-工地近1月综合得分
score() {
getArea({}).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
response.data.value.forEach(item => {
console.log(item.areaboundary)
// todo : 画范围
@@ -195,7 +218,7 @@
clickCase(eventArg) {
const item = eventArg._data.data
// 恢复上一个marker
- if(this.preCase !== null ) {
+ if (this.preCase !== null) {
window.mmManager.removeById(this.preCase.id)
AddLabelPoint(
this.preCase.id,
@@ -231,13 +254,13 @@
searchCaseMarkerList() {
// getCaseInfo(this.caseListQuery).then(response => {
getCaseInfo(this.caseListQuery).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
console.log(response.data.value)
// 右侧看板
- this.caseList = response.data.value
+ this.caseList = response.data.value
// todo
// this.caseTotal = response.data.value.length
- this.caseTotal = 12
+ this.caseTotal = 12
}
})
},
@@ -246,7 +269,7 @@
},
handleTimeRange(time) {
this.isListPage = false
- if(this.time.startTime !== '') {
+ if (this.time.startTime !== '') {
this.time = time
this.casePoint()
} else {
diff --git a/src/pages/ywts/cszl/jxh/index.vue b/src/pages/ywts/cszl/jxh/index.vue
index a3703db..0f23aaa 100644
--- a/src/pages/ywts/cszl/jxh/index.vue
+++ b/src/pages/ywts/cszl/jxh/index.vue
@@ -1,26 +1,24 @@
-
-
+
+
@@ -44,14 +42,15 @@
getAll,
getCaseInfo, getBoard
} from "../../../../api/ywts/cszl/jxh";
-import {AddDivPointCase, AddDivPointHighlight, AddOnlyLabel, AddPolygon} from "../../../../utils/freedo";
+import { AddDivPointCase, AddDivPointHighlight, AddOnlyLabel, AddPolygon } from "../../../../utils/freedo";
import ListPage from "@/components/ListPage";
-import {getGridInfo, getGridToken} from "../../../../api/common";
+import { getGridInfo, getGridToken } from "../../../../api/common";
import JxhPop from "./jxhPop";
+import { eventBus } from "../../../../main";
export default {
name: 'Jxh',
- components: {JxhPop, LayerManager, TimeManager, KeywordManager, CommonBtn, ListPage },
+ components: { JxhPop, LayerManager, TimeManager, KeywordManager, CommonBtn, ListPage },
data() {
return {
preCase: null,
@@ -128,6 +127,22 @@
}
},
mounted() {
+ this.$bus.$on('clear', () => {
+ this.isListPage = false
+ this.isShow = false
+ })
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: false }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: false });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: false });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: false }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
// 全部事件
getAll({
// urgent: '0',
@@ -135,8 +150,8 @@
// high: '0',
startTime: this.time.startTime,
endTime: this.time.endTime,
- }).then( res => {
- if(res.code === 200) {
+ }).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
@@ -154,7 +169,7 @@
caseMarker(res) {
res.data.value.forEach(item => {
// console.log(item.status)
- if(item.total === '1') {
+ if (item.total === '1') {
AddLabelPoint(
item.id,
'',
@@ -180,24 +195,24 @@
switch (e.bigtype) {
case 'source':
query.sourceId = e.type
- getSourceList(query).then( res => {
- if(res.code === 200) {
+ getSourceList(query).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
break
case 'project':
query.projectId = e.type
- getProjectList(query).then( res => {
- if(res.code === 200) {
+ getProjectList(query).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
break
case 'grid':
query.gridType = e.type
- getGridList(query).then( res => {
- if(res.code === 200) {
+ getGridList(query).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
@@ -208,7 +223,7 @@
clickCase(eventArg) {
const item = eventArg._data.data
// 恢复上一个marker
- if(this.preCase !== null ) {
+ if (this.preCase !== null) {
window.mmManager.removeById(this.preCase.id)
AddLabelPoint(
this.preCase.id,
@@ -218,7 +233,7 @@
this.clickCase)
}
- if(item.total === '1') {
+ if (item.total === '1') {
// 保存当前marker
this.preCase = item
// 高亮当前marker
@@ -229,7 +244,7 @@
}
// 查询事件详情
- this.caseTotal = Number(item.total)
+ this.caseTotal = Number(item.total)
this.caseList = []
this.isListPage = true
this.hasUrge = false
@@ -263,13 +278,13 @@
// high: '0',
startTime: this.time.startTime,
endTime: this.time.endTime,
- }).then( res => {
- if(res.code === 200) {
+ }).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
// 事件看板
- this.caseTotal = 1000 // todo
+ this.caseTotal = 1000 // todo
this.caseList = []
this.isListPage = true
this.hasUrge = true
@@ -292,8 +307,8 @@
high: '1',
startTime: this.time.startTime,
endTime: this.time.endTime,
- }).then( res => {
- if(res.code === 200) {
+ }).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
@@ -306,8 +321,8 @@
// high: '0',
startTime: this.time.startTime,
endTime: this.time.endTime,
- }).then( res => {
- if(res.code === 200) {
+ }).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
@@ -317,7 +332,7 @@
break
case "caseHeatBtn":
getHeat(this.time).then(res => {
- if(res.code === 200) {
+ if (res.code === 200) {
heat(res.data.value) // 热力图
}
})
@@ -326,29 +341,29 @@
},
gridDraw(token, areaCode) {
const colors = [
- [0,234,255,0.47],
- [255,185,0,0.47],
- [255,234,0,0.47],
- [209,0,255,0.47],
- [255,0,38,0.47],
+ [0, 234, 255, 0.47],
+ [255, 185, 0, 0.47],
+ [255, 234, 0, 0.47],
+ [209, 0, 255, 0.47],
+ [255, 0, 38, 0.47],
]
getGridInfo({
paramCodeList: 'KJ5001',
areaCode,
token
- }).then( res => {
+ }).then(res => {
console.log(res)
res.data.chirdAreaInfo.forEach((item, index) => {
item._source.areainfo.coordinates.forEach(area => {
let positions = []
- let arr = item._source.areainfo.type === 'MultiPolygon' ? area[0]: area
+ let arr = item._source.areainfo.type === 'MultiPolygon' ? area[0] : area
arr.forEach(pos => {
- positions.push(Freedo.Cartesian3.fromDegrees( pos[0], pos[1],0))
+ positions.push(Freedo.Cartesian3.fromDegrees(pos[0], pos[1], 0))
})
- AddPolygon(positions,colors[index % 5], this.gridClick,item._id)
+ AddPolygon(positions, colors[index % 5], this.gridClick, item._id)
AddOnlyLabel(
'',
- item._source.areaname , //+ this.menus.grid
+ item._source.areaname, //+ this.menus.grid
[item._source.lon, item._source.lat, 0],
'', null, null)
})
@@ -364,7 +379,7 @@
secret: CryptoJS.MD5(timestamp + 'geostar999').toString()
}
- getGridToken(param).then( res => {
+ getGridToken(param).then(res => {
clearUpMap()
this.gridDraw(res.data.token, '360783001')
this.gridDraw(res.data.token, '360783002')
@@ -374,32 +389,32 @@
},
// 三个概况统计
layerSeach() {
- getSource(this.time).then( res => {
- if(res.code === 200) {
+ getSource(this.time).then(res => {
+ if (res.code === 200) {
this.menus.source = res.data.value.map(item => {
item.bigtype = 'source'
- item.type = item.id.replace(/ /g,'')
- item.typename = item.name.replace(/ /g,'')
+ item.type = item.id.replace(/ /g, '')
+ item.typename = item.name.replace(/ /g, '')
return item
})
}
})
- getProject(this.time).then( res => {
- if(res.code === 200) {
+ getProject(this.time).then(res => {
+ if (res.code === 200) {
this.menus.project = res.data.value.map(item => {
item.bigtype = 'project'
- item.type = item.id.replace(/ /g,'')
- item.typename = item.name.replace(/ /g,'')
+ item.type = item.id.replace(/ /g, '')
+ item.typename = item.name.replace(/ /g, '')
return item
})
}
})
- getGrid(this.time).then( res => {
- if(res.code === 200) {
+ getGrid(this.time).then(res => {
+ if (res.code === 200) {
this.menus.grid = res.data.value.map(item => {
item.bigtype = 'grid'
- item.type = item.id.replace(/ /g,'')
- item.typename = item.name.replace(/ /g,'')
+ item.type = item.id.replace(/ /g, '')
+ item.typename = item.name.replace(/ /g, '')
return item
})
}
@@ -410,7 +425,7 @@
if (val && val.page) {
this.caseListQuery.pageNo = val.page
}
- if(this.hasUrge) {
+ if (this.hasUrge) {
this.searchBoard()
} else {
this.searchCaseMarkerList()
@@ -419,20 +434,20 @@
// 事件看板查询
searchBoard() {
getBoard(this.caseListQuery).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
console.log(response.data.value)
// 右侧看板
- this.caseList = response.data.value
+ this.caseList = response.data.value
}
})
},
// 事件详情分页
searchCaseMarkerList() {
getCaseInfo(this.caseListQuery).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
console.log(response.data.value)
// 右侧看板
- this.caseList = response.data.value
+ this.caseList = response.data.value
}
})
},
diff --git a/src/pages/ywts/cszl/yj/index.vue b/src/pages/ywts/cszl/yj/index.vue
index 7869a73..d74dfe9 100644
--- a/src/pages/ywts/cszl/yj/index.vue
+++ b/src/pages/ywts/cszl/yj/index.vue
@@ -45,7 +45,7 @@
import { AddDivPointHighlight, AddLabel } from "../../../../utils/freedo";
import { iconFilter, deviceList, caseList } from './data'
import ListPage from "@/components/ListPage";
-
+import { eventBus } from "../../../../main";
export default {
name: 'Yj',
components: { TimeManager, LayerManagerMix, ListPage, CommonBtn, Pop },
@@ -118,14 +118,25 @@
}
},
mounted() {
- // getStatistics().then(response => {
- // if(response.code === 200) {
- // this.menus.place = response.data.value
- // }
- // })
- // this.search()
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: false }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: false });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: false });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: false }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
clearResetMap()
this.searchPlace({})
+
+ this.$bus.$on('clear', () => {
+ this.isListPage = false
+ this.showPop = false
+ })
},
methods: {
async btnClick(e) {
diff --git a/src/pages/ywts/shms/jy/devicePop.vue b/src/pages/ywts/shms/jy/devicePop.vue
new file mode 100644
index 0000000..2c44979
--- /dev/null
+++ b/src/pages/ywts/shms/jy/devicePop.vue
@@ -0,0 +1,281 @@
+
+
+
+
+
+
+
+ 设备名称: {{
+ gdInfo.name }}
+ 设备类型: {{
+ gdInfo.typename }}
+ 设备状态: {{
+ gdInfo.statusName }}
+ 设备位置: {{
+ gdInfo.location }}
+ 时间: {{ gdInfo.time
+ }}
+ 进/出人口数: {{ gdInfo.in
+ }}/{{ gdInfo.out }}
+ 是否赋能: 否
+
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/ywts/shms/jy/index.vue b/src/pages/ywts/shms/jy/index.vue
index b1eb984..f377985 100644
--- a/src/pages/ywts/shms/jy/index.vue
+++ b/src/pages/ywts/shms/jy/index.vue
@@ -6,11 +6,13 @@
+ :select="selectIndex === 'layerBtn'" @btnClick="btnClick" @menuClick="menuClick" />
+
+
@@ -29,13 +31,15 @@
import mapJson from "@/assets/mapJson/map.json";
import modelJson from "@/assets/mapJson/school.json";
import { eventBus } from "../../../../main";
+import devicePop from './devicePop.vue'
export default {
name: 'Jy',
- components: { SchoolPop, TimeManager, KeywordManager, LayerManagerMix, CommonBtn },
+ components: { SchoolPop, TimeManager, KeywordManager, LayerManagerMix, CommonBtn, devicePop },
data() {
return {
isShow: false,
+ showDevice: false,
ktSelect: '',
keyword: '',
keywordList: [],
@@ -56,10 +60,15 @@
},
menus: {
device: [
- { type: "1", typename: "视频设备", total: "111" },
- { type: "2", typename: "门禁设备", total: "111" }
+ { type: "1", typename: "视频设备", total: "0" },
+ { type: "2", typename: "门禁设备", total: "0" }
]
- }
+ },
+ markerList: [],
+ markerBakList: [],
+ videoIcon: require('@/assets/images/icon/视频云/枪机未赋能在线.png'),
+ controlIcon: require('@/assets/images/icon/一卡通/门禁.png'),
+
}
},
mounted() {
@@ -70,55 +79,25 @@
name: 'jy',
autoFlyto: true,
})
- eventBus.$emit('change-layer', { id: 1, checked: false });
- eventBus.$emit('change-layer', { id: 2, checked: false });
- eventBus.$emit('change-layer', { id: 3, checked: false });
- eventBus.$emit('change-layer', { id: 4, checked: false });
- eventBus.$emit('change-layer', { id: 5, checked: true });
- eventBus.$emit('change-layer', { id: 41, checked: true });
- eventBus.$emit('change-layer', { id: 21, checked: true });
- eventBus.$emit('change-layer', { id: 12, checked: true });
- // // 教育模型
- // window.pmtsManager.add({
- // id: "智慧教育-手工模型",
- // url: mapJson.CIM4["智慧教育-手工模型"],
- // show: true,
- // maximumScreenSpaceError: 32,
- // maximumMemoryUsage: 64,
- // maximumAbsoluteMemoryUsage: 8192,
- // autoFlyto: true
- // },
- // undefined
- // )
- // // CIM2 楼
- // window.pmtsManager.add({
- // url: mapJson['CIM2']['CIM2建筑(带纹理)'],
- // show: true,
- // name: 'CIM2建筑(带纹理)',
- // autoFlyto: false
- // })
- // window.pmtsManager.add({
- // url: mapJson['CIM2']['CIM2建筑(带纹理)'],
- // show: true,
- // name: 'CIM2建筑(带纹理)',
- // autoFlyto: false,
- // alpha: 0.5,
- // color: '#002d7a'
- // })
- // for(let key in modelJson) {
- // window.pmtsManager.add({
- // id: key,
- // // url: mapJson.CIM4["智慧教育-手工模型"],
- // url: modelJson[key],
- // show: true,
- // maximumScreenSpaceError: 32,
- // maximumMemoryUsage: 64,
- // maximumAbsoluteMemoryUsage: 8192,
- // autoFlyto: true
- // },
- // undefined
- // )
- // }
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: true }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: false });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: false });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: true }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
+
+ // 清除弹窗展示
+ this.$bus.$on('clear', () => {
+ this.isShow = false
+ this.showDevice = false
+
+ })
},
methods: {
async btnClick(e) {
@@ -126,6 +105,7 @@
clearUpMap(true)
initPosition()
this.isShow = false
+ this.showDevice = false
this.selectIndex = e.target.id
switch (this.selectIndex) {
case "schoolBtn":
@@ -194,10 +174,121 @@
},
// 搜索学校设备
searchDevice() {
- getDevice({}).then(res => {
- console.log('学校数据')
+ getDevice({ keywords: '' }).then(res => {
+ this.markerList = [
+ {
+ "name": "设备1",
+ "lon": "114.859995",
+ "location": "江西省赣州市南康区三江乡",
+ "id": "1676397864375291905",
+ "lat": "25.802129",
+ "type": "1",
+ "typename": "视频设备",
+ statusName: '正常',
+ time: '2025-06-16 09:05:05',
+ in: '0',
+ out: '0',
+ },
+ {
+ "name": "设备2",
+ "lon": "114.861027",
+ "location": "江西省赣州市章贡区潭六路135号靠近逸夫小学",
+ "id": "1676398916763914241",
+ "lat": "25.757553",
+ "type": "2",
+ "typename": "门禁设备",
+ statusName: '正常',
+ time: '2025-06-16 09:05:05',
+ in: '0',
+ out: '0',
+ },
+ {
+ "name": "设备3",
+ "lon": "114.880246",
+ "location": "江西省赣州市章贡区潭东镇弘腾路毅德城",
+ "id": "1676414593390350337",
+ "lat": "25.753119",
+ "type": "1",
+ "typename": "视频设备",
+ statusName: '正常',
+ time: '2025-06-16 09:05:05',
+ in: '0',
+ out: '0',
+ },
+ {
+ "name": "设备4",
+ "lon": "114.879855",
+ "location": "江西省赣州市章贡区潭东镇弘腾路毅德城",
+ "id": "1676414955455254529",
+ "lat": "25.752771",
+ "type": "1",
+ "typename": "视频设备",
+ statusName: '正常',
+ time: '2025-06-16 09:05:05',
+ in: '0',
+ out: '0',
+ },
+ {
+ "name": "设备5",
+ "lon": "114.875438",
+ "location": "江西省赣州市章贡区潭东镇弘腾路毅德城",
+ "id": "1676418661630349312",
+ "lat": "25.748733",
+ "type": "2",
+ "typename": "门禁设备",
+ statusName: '正常',
+ time: '2025-06-16 09:05:05',
+ in: '0',
+ out: '0',
+ },
+ {
+ "name": "设备6",
+ "lon": "114.867371",
+ "location": "江西省赣州市章贡区105国道135号靠近松岭上",
+ "id": "1676422908220542977",
+ "lat": "25.750388",
+ "typename": "2",
+ "typename": "门禁设备",
+ statusName: '正常',
+ time: '2025-06-16 09:05:05',
+ in: '0',
+ out: '0',
+ },
+ ]
+ this.markerBakList = JSON.parse(JSON.stringify(this.markerList))
+ this.menus.device[0].total = this.markerList.filter((item) => item.type === '1').length
+ this.menus.device[1].total = this.markerList.filter((item) => item.type === '2').length
+ // 绘制点位
+ this.markerList.forEach((item) => {
+ AddLabelPoint(
+ item.id,
+ `${item.name}`,
+ item.type === '1' ? this.videoIcon : this.controlIcon,
+ [item.lon, item.lat, 0], 'yl-dev', item,
+ this.clickDevice)
+ })
})
- }
+ },
+ menuClick(e) {
+ clearResetMap()
+ this.markerList = this.markerBakList.filter(item => item.type === e.type)
+ this.markerList.forEach((item) => {
+ AddLabelPoint(
+ item.id,
+ `${item.name}`,
+ item.type === '1' ? this.videoIcon : this.controlIcon,
+ [item.lon, item.lat, 0], 'yl-dev', item,
+ this.clickDevice)
+ })
+ },
+ // 设备点位点击
+ clickDevice(eventArg) {
+ const item = eventArg._data.data
+ this.showDevice = true
+ this.$nextTick(() => {
+ this.$refs.deviceRef.initData(item)
+ })
+ },
}
}
diff --git a/src/api/ywts/shms/jy.js b/src/api/ywts/shms/jy.js
index f3ac251..56f48e3 100644
--- a/src/api/ywts/shms/jy.js
+++ b/src/api/ywts/shms/jy.js
@@ -116,7 +116,7 @@
return request({
url: 'zhjy-gktj/zhjy/sbdwlb',
method: 'post',
- data,
+ // data,
params: data
})
}
diff --git a/src/api/ywts/shms/sq.js b/src/api/ywts/shms/sq.js
new file mode 100644
index 0000000..04a5447
--- /dev/null
+++ b/src/api/ywts/shms/sq.js
@@ -0,0 +1,123 @@
+/**
+ * 社区接口
+ */
+import request from '@/utils/request'
+
+// 社区点位列表
+export function getCommunityList() {
+ return request({
+ url: 'zhsq-gktj/zhsq/sqdwlb',
+ method: 'post',
+ })
+}
+
+// 人员热力图
+export function getHeat() {
+ return request({
+ url: 'zhsq-gktj/zhsq/sqyyrlt',
+ method: 'post',
+ })
+}
+
+// 设备点位
+export function getDevice() {
+ return request({
+ url: 'zhsq-gktj/zhsq/sbdwlb',
+ method: 'post',
+ params: {
+ type: '',
+ keywords: ''
+ }
+ })
+}
+
+// 社区车辆
+export function getCar() {
+ return request({
+ url: 'zhsq-gktj/zhsq/sqbyl',
+ method: 'post',
+ })
+}
+
+// 事件点位列表
+export function getCase(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/sjdwlb',
+ method: 'post',
+ params:{
+ ...data
+ }
+ })
+}
+
+// 事件详情
+export function getCaseList(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/zjlbfy',
+ method: 'post',
+ params:{
+ ...data
+ }
+ })
+}
+// 获取社区基本信息
+export function getBaseInfo(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/sqdwxq',
+ method: 'post',
+ params:{
+ ...data
+ },
+ // data
+ })
+}
+// 居民年龄统计
+export function getAgeStatistics(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/jmnltj',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
+// 居民流动比例
+export function getCurrentRatio(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/jmldbl',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
+// 近1年人房车占比统计
+export function getPersonCarRatio(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/rfczbtj',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
+// 近1月居民通行量分析
+export function getTransitrRatio(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/jmtxlfx',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
+// 近1月高频事件排行榜
+export function getCaseRank(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/gpsjphb',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
diff --git a/src/api/ywts/zyhj/hb.js b/src/api/ywts/zyhj/hb.js
index 5e598d1..07625d1 100644
--- a/src/api/ywts/zyhj/hb.js
+++ b/src/api/ywts/zyhj/hb.js
@@ -8,7 +8,10 @@
return request({
url: 'zhhb-gktj/zhhb/gktj',
method: 'post',
- data
+ data,
+ params: {
+ ...data,
+ }
})
}
// 环保点位列表
@@ -19,3 +22,26 @@
data
})
}
+// 环保告警列表
+export function getAlarmList(data) {
+ return request({
+ url: 'zhhb-gktj/zhhb/hbgjlb',
+ method: 'post',
+ // data
+ params: {
+ ...data
+ }
+ })
+}
+
+// 环保事件列表
+export function getCaseList(data) {
+ return request({
+ url: 'zhhb-gktj/zhhb/hbsjlbfy',
+ method: 'post',
+ // data
+ params: {
+ ...data
+ }
+ })
+}
diff --git a/src/api/ywts/zyhj/yl.js b/src/api/ywts/zyhj/yl.js
index 63d7ad2..643e3d4 100644
--- a/src/api/ywts/zyhj/yl.js
+++ b/src/api/ywts/zyhj/yl.js
@@ -88,6 +88,9 @@
url: 'zhyl-gktjljk/zhyl/sjxq',
method: 'post',
data,
+ params: {
+ ...data,
+ }
})
}
// 苗木点位列表
diff --git a/src/components/CommonFunction/index.vue b/src/components/CommonFunction/index.vue
index 1a10acb..c2eba44 100644
--- a/src/components/CommonFunction/index.vue
+++ b/src/components/CommonFunction/index.vue
@@ -5,8 +5,8 @@
@click="btnClick" />
-
+
@@ -21,7 +21,7 @@
import CommonBtn from "../CommonBtn";
import { clearUpMap } from '@/utils/freedo/index'
-import { initPosition, initPage } from "../../utils/freedo";
+import { initPosition, initPage } from "../../utils/freedo";
import mapJson from "@/assets/mapJson/map.json";
import { eventBus } from "../../main";
@@ -59,11 +59,11 @@
disabled: true,
"children": [
{ "id": 41, "label": "智慧教育-手工模型", disabled: true },
- { "id": 42, "label": "智慧停车云-手工模型", disabled: true },
- { "id": 43, "label": "智慧社区-手工模型", disabled: true },
- { "id": 44, "label": "智慧工地-手工模型", disabled: true },
- { "id": 45, "label": "智慧交通-手工模型", disabled: true },
- { "id": 46, "label": "智慧园林-手工模型", disabled: true }
+ { "id": 42, "label": "智慧停车云-手工模型", disabled: true },
+ { "id": 43, "label": "智慧社区-手工模型", disabled: true },
+ { "id": 44, "label": "智慧工地-手工模型", disabled: true },
+ { "id": 45, "label": "智慧交通-手工模型", disabled: true },
+ { "id": 46, "label": "智慧园林-手工模型", disabled: true }
]
}, {
"id": 5,
@@ -95,8 +95,8 @@
setTimeout(() => {
this.tree.forEach((item) => {
item.disabled = false
- if(item.children) {
- item.children = item.children.map((item) => ({ ...item,disabled: false}))
+ if (item.children) {
+ item.children = item.children.map((item) => ({ ...item, disabled: false }))
}
})
}, 5000)
@@ -125,7 +125,7 @@
handler(data, checked, indeterminate)
}
else {
- if(data.id.toString() === '5' && checked) {
+ if (data.id.toString() === '5' && checked) {
window.terrainManager.visible = true
return
}
@@ -143,14 +143,18 @@
},
btnClick(e) {
this.showLayerTree = false
+ this.clearDialog()
if (e.target.id === 'initBtn') {
initPosition()
} else if (e.target.id === 'clearBtn') {
clearUpMap()
} else if (e.target.id === 'layerBtn') {
- // clearUpMap()
this.showLayerTree = true
}
+ },
+ // 清空地图弹窗
+ clearDialog() {
+ this.$bus.$emit('clear')
}
}
}
@@ -178,7 +182,7 @@
right: 20px;
top: 1rem;
display: flex;
- width: 20rem;
+ width: 15rem;
height: 5rem;
z-index: 1111111111;
}
diff --git a/src/pages/csdz/iot/index.vue b/src/pages/csdz/iot/index.vue
index 63b60ea..8aefaea 100644
--- a/src/pages/csdz/iot/index.vue
+++ b/src/pages/csdz/iot/index.vue
@@ -259,8 +259,8 @@
localPoint(e) {
// this.childrenClick(e)
this.clickIcon({
- _data:{
- data:e
+ _data: {
+ data: e
}
})
},
@@ -280,6 +280,11 @@
},
mounted() {
this.search()
+ this.$bus.$on('clear', () => {
+ this.isShowEvent = false
+ this.isShowEventPop = false
+ this.isShowPop = false
+ })
// getStatistics().then(res => {
// if (res.code === 200 && res.data.value.length) {
// console.log(res.data, '')
diff --git a/src/pages/csdz/smartCard/index.vue b/src/pages/csdz/smartCard/index.vue
index 48721f7..32573d2 100644
--- a/src/pages/csdz/smartCard/index.vue
+++ b/src/pages/csdz/smartCard/index.vue
@@ -112,6 +112,7 @@
btnClick(e) {
clearResetMap()
this.selectIndex = e.target.id
+ this.isShowPop = false
if (this.selectIndex === 'publicBtn') {
// 绘制热力图
heat([
@@ -870,6 +871,10 @@
getStatistics({}).then(res => {
console.log(res.data, '一卡通')
})
+ this.$bus.$on('clear', () => {
+ this.isShowPop = false
+ this.isShowEvent = false
+ })
}
}
diff --git a/src/pages/csdz/videoCloud/index.vue b/src/pages/csdz/videoCloud/index.vue
index 4b8d110..81530d5 100644
--- a/src/pages/csdz/videoCloud/index.vue
+++ b/src/pages/csdz/videoCloud/index.vue
@@ -695,6 +695,11 @@
},
mounted() {
this.drawSence()
+ this.$bus.$on('clear', () => {
+ this.isShowPop = false
+ this.isShowEvent = false
+ this.isShowEventPop = false
+ })
}
}
diff --git a/src/pages/ywts/cszl/gd/index.vue b/src/pages/ywts/cszl/gd/index.vue
index e9be7b0..35ee8d7 100644
--- a/src/pages/ywts/cszl/gd/index.vue
+++ b/src/pages/ywts/cszl/gd/index.vue
@@ -1,30 +1,23 @@
-
-
+
+
@@ -34,7 +27,7 @@
import TimeManager from "@/components/TimeManager";
import GdPop from "./gdPop";
import { heat } from '@/utils/freedo/heat'
-import { clearUpMap, clearResetMap ,AddLabelPoint, initPosition } from '@/utils/freedo'
+import { clearUpMap, clearResetMap, AddLabelPoint, initPosition } from '@/utils/freedo'
import {
getHeat,
getArea,
@@ -43,17 +36,17 @@
getStatistics,
getCasePointList, getCaseInfo
} from "../../../../api/ywts/cszl/gd";
-import {AddDivPointCase, AddDivPointHighlight, AddLabel, focusPoint} from "../../../../utils/freedo";
+import { AddDivPointCase, AddDivPointHighlight, AddLabel, focusPoint } from "../../../../utils/freedo";
import ListPage from "@/components/ListPage";
import KeywordManager from "../../../../components/KeywordManager";
import gridJson from "@/assets/mapJson/grid.json";
import mapJson from "@/assets/mapJson/map.json";
-import {eventBus} from "../../../../main";
+import { eventBus } from "../../../../main";
export default {
name: 'Gd',
- components: {KeywordManager, GdPop, TimeManager, LayerManagerMix, ListPage, CommonBtn },
+ components: { KeywordManager, GdPop, TimeManager, LayerManagerMix, ListPage, CommonBtn },
data() {
return {
isListPage: false,
@@ -73,19 +66,19 @@
caseTotal: 0,
layerManager: null,
caseIcon: {
- 1: require('@/assets/images/icon/事件/已撤案.png'),
- 2: require('@/assets/images/icon/事件/指派中.png'),
- 3: require('@/assets/images/icon/事件/处置中.png'),
- 4: require('@/assets/images/icon/事件/已办结.png'),
- 5: require('@/assets/images/icon/事件/已结案.png'),
- },
+ 1: require('@/assets/images/icon/事件/已撤案.png'),
+ 2: require('@/assets/images/icon/事件/指派中.png'),
+ 3: require('@/assets/images/icon/事件/处置中.png'),
+ 4: require('@/assets/images/icon/事件/已办结.png'),
+ 5: require('@/assets/images/icon/事件/已结案.png'),
+ },
caseColor: {
- 1: '#ffffff88',
- 2: '#fdeb5688',
- 3: '#85c8ff88',
- 4: '#ffba7488',
- 5: '#87f6b388',
- },
+ 1: '#ffffff88',
+ 2: '#fdeb5688',
+ 3: '#85c8ff88',
+ 4: '#ffba7488',
+ 5: '#87f6b388',
+ },
time: {
startTime: '',
endTime: '',
@@ -105,10 +98,10 @@
name: '工地设备',
value: 'device'
}
- // , {
- // name: '环监设备',
- // value: 'others'
- // }
+ // , {
+ // name: '环监设备',
+ // value: 'others'
+ // }
],
menus: {
device: [
@@ -122,7 +115,7 @@
},
mounted() {
getStatistics().then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
this.menus.device = response.data.value
}
})
@@ -135,28 +128,24 @@
autoFlyto: true,
})
- eventBus.$emit('change-layer', { id:1, checked: false});
- eventBus.$emit('change-layer', { id:2, checked: false});
- eventBus.$emit('change-layer', { id:3, checked: false});
- eventBus.$emit('change-layer', { id:4, checked: false});
- eventBus.$emit('change-layer', { id:5, checked: true});
- eventBus.$emit('change-layer', { id:44, checked: true});
- eventBus.$emit('change-layer', { id:21, checked: true});
- eventBus.$emit('change-layer', { id:12, checked: true});
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: false }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: true });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: false });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: true }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
-
- // window.pmtsManager.add({
- // id: "智慧工地-手工模型",
- // url: mapJson.CIM4["智慧工地-手工模型"],
- // show: true,
- // maximumScreenSpaceError: 32,
- // maximumMemoryUsage: 64,
- // maximumAbsoluteMemoryUsage: 8192,
- // autoFlyto: true
- // },
- // undefined
- // )
- // window.terrainManager.visible = true
+ // 清除弹窗展示
+ this.$bus.$on('clear', () => {
+ this.isListPage = false
+ this.isShow = false
+ })
},
methods: {
async btnClick(e) {
@@ -179,7 +168,7 @@
break
case "personBtn":
getHeat().then(res => {
- if(res.code === 200) {
+ if (res.code === 200) {
console.log(res.data, '热力')
const arr = res.data.value.filter(item => item.lng !== "" && item.lng !== null)
// arr.splice(0,1) // todo: 测试第一个错误数据
@@ -192,17 +181,17 @@
// 设备图层控制
layer(item) {
// clearUpMap(true)
- const iconOnline = require('@/assets/images/icon/工地地图点位/'+item.typename.replace(/ /g,'')+'在线.png')
- const iconOffline = require('@/assets/images/icon/工地地图点位/'+item.typename.replace(/ /g,'')+'离线.png')
- getDevList({type: item.type}).then(response => {
- if(response.code === 200) {
+ const iconOnline = require('@/assets/images/icon/工地地图点位/' + item.typename.replace(/ /g, '') + '在线.png')
+ const iconOffline = require('@/assets/images/icon/工地地图点位/' + item.typename.replace(/ /g, '') + '离线.png')
+ getDevList({ type: item.type }).then(response => {
+ if (response.code === 200) {
clearUpMap(true)
this.keywordList = response.data.value
response.data.value.forEach(item => {
AddLabelPoint(
item.id,
'',
- item.status === '1'? iconOnline: iconOffline,
+ item.status === '1' ? iconOnline : iconOffline,
[item.lon, item.lat, 0], 'gd-dev', item,
null)
})
@@ -216,23 +205,23 @@
// keywords: this.keyword
}
getCasePointList(param).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
clearUpMap(true)
const data = []
response.data.value.forEach(item => {
- if(!data.map(da => da.id).includes(item.id) && !data.map(da => da.lon).includes(item.lon) && item.id !== null) {
+ if (!data.map(da => da.id).includes(item.id) && !data.map(da => da.lon).includes(item.lon) && item.id !== null) {
data.push(item)
}
})
this.keywordList = data
data.forEach(item => {
// if(item.total === '1') {
- AddLabelPoint(
- item.id,
- '',
- this.caseIcon[item.eventstatus],
- [item.lon, item.lat, 0], 'gd-case', item,
- this.clickCase)
+ AddLabelPoint(
+ item.id,
+ '',
+ this.caseIcon[item.eventstatus],
+ [item.lon, item.lat, 0], 'gd-case', item,
+ this.clickCase)
// } else {
// AddDivPointCase(item, this.caseColor[item.status], item.total, this.clickCase)
// }
@@ -244,8 +233,8 @@
search() {
const iconDone = require('@/assets/images/icon/工地地图点位/工地已完成.png')
const iconDoing = require('@/assets/images/icon/工地地图点位/工地进行中.png')
- getArea({keywords: this.keyword}).then(response => {
- if(response.code === 200) {
+ getArea({ keywords: this.keyword }).then(response => {
+ if (response.code === 200) {
clearUpMap(true)
this.keywordList = response.data.value
response.data.value.forEach(item => {
@@ -254,7 +243,7 @@
AddLabelPoint(
item.id,
item.name,
- item.status === '2' ? iconDoing: iconDone,
+ item.status === '2' ? iconDoing : iconDone,
[item.lon, item.lat, 0], 'gd', item,
this.clickGd)
})
@@ -265,8 +254,8 @@
score() {
const iconDone = require('@/assets/images/icon/工地地图点位/工地已完成.png')
const iconDoing = require('@/assets/images/icon/工地地图点位/工地进行中.png')
- getArea({keywords: this.keyword}).then(response => {
- if(response.code === 200) {
+ getArea({ keywords: this.keyword }).then(response => {
+ if (response.code === 200) {
this.keywordList = response.data.value
response.data.value.forEach(item => {
// console.log(item,'321123')
@@ -280,8 +269,8 @@
})
}
})
- getMonthGdScore({keywords: this.keyword}).then(response => {
- if(response.code === 200) {
+ getMonthGdScore({ keywords: this.keyword }).then(response => {
+ if (response.code === 200) {
response.data.value.filter(item => item.lng !== "" && item.lng !== null).forEach(item => {
AddLabel(
item.id,
@@ -304,7 +293,7 @@
clickCase(eventArg) {
const item = eventArg._data.data
// 恢复上一个marker
- if(this.preCase !== null ) {
+ if (this.preCase !== null) {
window.mmManager.removeById(this.preCase.id)
AddLabelPoint(
this.preCase.id,
@@ -313,7 +302,7 @@
[this.preCase.lon, this.preCase.lat, 0], 'gd-case', this.preCase,
this.clickCase)
}
- if(item.total === '1') {
+ if (item.total === '1') {
// 保存当前marker
this.preCase = item
// 高亮当前marker
@@ -323,7 +312,7 @@
this.preCase = null
}
// 查询事件详情
- this.caseTotal = Number(item.total)
+ this.caseTotal = Number(item.total)
this.isListPage = true
this.$refs.caseListPage.initDialog()
this.caseListQuery = {
@@ -345,16 +334,16 @@
searchCaseMarkerList() {
// getCaseInfo(this.caseListQuery).then(response => {
getCaseInfo(this.caseListQuery).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
console.log(response.data.value)
// 右侧看板
- this.caseList = response.data.value
+ this.caseList = response.data.value
}
})
},
handleTimeRange(time) {
this.isListPage = false
- if(this.time.startTime !== '') {
+ if (this.time.startTime !== '') {
this.time = time
this.casePoint()
} else {
diff --git a/src/pages/ywts/cszl/hw/index.vue b/src/pages/ywts/cszl/hw/index.vue
index e773b7d..ed28bc6 100644
--- a/src/pages/ywts/cszl/hw/index.vue
+++ b/src/pages/ywts/cszl/hw/index.vue
@@ -31,6 +31,7 @@
import ListPage from "@/components/ListPage";
import { getPlacePointList, getOverviewStatistics, getPersonList, getCarList, getCaseList, getCaseInfo } from '@/api/ywts/cszl/hw'
import { iconFilter, iconPerson, personList, carList, iconCar } from './data'
+import { eventBus } from "../../../../main";
export default {
name: 'Hw',
components: { TimeManager, LayerManagerMix, ListPage, CommonBtn, Pop },
@@ -94,7 +95,25 @@
},
mounted() {
clearResetMap()
+ this.selectInde = 'deviceBtn'
this.fetchPoint()
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: false }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: false });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: false });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: false }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
+ // 清除弹窗展示
+ this.$bus.$on('clear', () => {
+ this.isListPage = false
+ this.showPop = false
+ })
},
methods: {
async btnClick(e) {
@@ -263,17 +282,17 @@
// this.caseList = res.data.value || []
// this.caseTotal = this.caseList.length
res.data.value.forEach(item => {
- AddLabelPoint(
- item.id.replaceAll('.', ''),
- '',
- this.caseIcon[item.status],
- [item.lon, item.lat, 0], 'gd-case', item,
- this.clickCase)
- })
+ AddLabelPoint(
+ item.id.replaceAll('.', ''),
+ '',
+ this.caseIcon[item.status],
+ [item.lon, item.lat, 0], 'gd-case', item,
+ this.clickCase)
+ })
})
},
- // 点击事件icon
- clickCase(eventArg) {
+ // 点击事件icon
+ clickCase(eventArg) {
const item = eventArg._data.data
// 恢复上一个marker
if (this.preCase !== null) {
@@ -306,11 +325,11 @@
getCaseInfo(this.caseListQuery).then(res => {
console.log(res.data, '事件详情')
this.caseList = res.data.value || []
- this.caseTotal = this.caseList.length
+ this.caseTotal = this.caseList.length
})
},
- // 事件换页
- changePage(val) {
+ // 事件换页
+ changePage(val) {
if (val && val.page) {
this.caseListQuery.pageNo = val.page
}
diff --git a/src/pages/ywts/cszl/jt/index.vue b/src/pages/ywts/cszl/jt/index.vue
index fb1ce91..ef5938c 100644
--- a/src/pages/ywts/cszl/jt/index.vue
+++ b/src/pages/ywts/cszl/jt/index.vue
@@ -1,15 +1,21 @@
-
+
@@ -26,8 +32,9 @@
getStatistics,
getCasePointList, getCaseInfo
} from "../../../../api/ywts/cszl/gd";
-import {AddDivPointHighlight, AddLabel} from "../../../../utils/freedo";
+import { AddDivPointHighlight, AddLabel } from "../../../../utils/freedo";
import ListPage from "@/components/ListPage";
+import { eventBus } from "../../../../main";
export default {
name: 'Jt',
@@ -47,19 +54,19 @@
},
caseTotal: 0,
caseIcon: {
- 1: require('@/assets/images/icon/事件/已撤案.png'),
- 2: require('@/assets/images/icon/事件/指派中.png'),
- 3: require('@/assets/images/icon/事件/处置中.png'),
- 4: require('@/assets/images/icon/事件/已办结.png'),
- 5: require('@/assets/images/icon/事件/已结案.png'),
- },
+ 1: require('@/assets/images/icon/事件/已撤案.png'),
+ 2: require('@/assets/images/icon/事件/指派中.png'),
+ 3: require('@/assets/images/icon/事件/处置中.png'),
+ 4: require('@/assets/images/icon/事件/已办结.png'),
+ 5: require('@/assets/images/icon/事件/已结案.png'),
+ },
caseColor: {
- 1: '#ffffff',
- 2: '#fdeb56',
- 3: '#85c8ff',
- 4: '#ffba74',
- 5: '#87f6b3',
- },
+ 1: '#ffffff',
+ 2: '#fdeb56',
+ 3: '#85c8ff',
+ 4: '#ffba74',
+ 5: '#87f6b3',
+ },
time: {
startTime: '',
endTime: '',
@@ -81,10 +88,10 @@
name: '基础设施',
value: 'place'
}
- // , {
- // name: '环监设备',
- // value: 'others'
- // }
+ // , {
+ // name: '环监设备',
+ // value: 'others'
+ // }
],
menus: {
place: [
@@ -98,11 +105,27 @@
},
mounted() {
getStatistics().then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
this.menus.place = response.data.value
}
})
this.search()
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: false }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: false });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: true });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: true }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
+ // 清除弹窗展示
+ this.$bus.$on('clear', () => {
+ this.isListPage = false
+ })
},
methods: {
async btnClick(e) {
@@ -121,16 +144,16 @@
// 设备图层控制
layer(item) {
// clearUpMap()
- const iconOnline = require('@/assets/images/icon/工地地图点位/'+item.typename.replace(/ /g,'')+'在线.png')
- const iconOffline = require('@/assets/images/icon/工地地图点位/'+item.typename.replace(/ /g,'')+'离线.png')
- getDevList({type: item.type}).then(response => {
- if(response.code === 200) {
+ const iconOnline = require('@/assets/images/icon/工地地图点位/' + item.typename.replace(/ /g, '') + '在线.png')
+ const iconOffline = require('@/assets/images/icon/工地地图点位/' + item.typename.replace(/ /g, '') + '离线.png')
+ getDevList({ type: item.type }).then(response => {
+ if (response.code === 200) {
clearUpMap()
response.data.value.forEach(item => {
AddLabelPoint(
item.id,
'',
- item.status === '1'? iconOnline: iconOffline,
+ item.status === '1' ? iconOnline : iconOffline,
[item.lon, item.lat, 0], 'gd-place', item,
null)
})
@@ -141,11 +164,11 @@
casePoint() {
console.log(this.time)
getCasePointList(this.time).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
clearUpMap()
const data = []
response.data.value.forEach(item => {
- if(!data.map(da => da.id).includes(item.id) && !data.map(da => da.lon).includes(item.lon) && item.id !== null) {
+ if (!data.map(da => da.id).includes(item.id) && !data.map(da => da.lon).includes(item.lon) && item.id !== null) {
data.push(item)
}
})
@@ -165,7 +188,7 @@
const iconDone = require('@/assets/images/icon/工地地图点位/工地已完成.png')
const iconDoing = require('@/assets/images/icon/工地地图点位/工地进行中.png')
getArea({}).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
clearUpMap()
response.data.value.forEach(item => {
// console.log(item.areaboundary)
@@ -173,7 +196,7 @@
AddLabelPoint(
item.id,
item.name,
- item.status === '2' ? iconDoing: iconDone,
+ item.status === '2' ? iconDoing : iconDone,
[item.lon, item.lat, 0], 'gd', item,
this.clickHw)
})
@@ -183,7 +206,7 @@
// 智慧工地-工地近1月综合得分
score() {
getArea({}).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
response.data.value.forEach(item => {
console.log(item.areaboundary)
// todo : 画范围
@@ -195,7 +218,7 @@
clickCase(eventArg) {
const item = eventArg._data.data
// 恢复上一个marker
- if(this.preCase !== null ) {
+ if (this.preCase !== null) {
window.mmManager.removeById(this.preCase.id)
AddLabelPoint(
this.preCase.id,
@@ -231,13 +254,13 @@
searchCaseMarkerList() {
// getCaseInfo(this.caseListQuery).then(response => {
getCaseInfo(this.caseListQuery).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
console.log(response.data.value)
// 右侧看板
- this.caseList = response.data.value
+ this.caseList = response.data.value
// todo
// this.caseTotal = response.data.value.length
- this.caseTotal = 12
+ this.caseTotal = 12
}
})
},
@@ -246,7 +269,7 @@
},
handleTimeRange(time) {
this.isListPage = false
- if(this.time.startTime !== '') {
+ if (this.time.startTime !== '') {
this.time = time
this.casePoint()
} else {
diff --git a/src/pages/ywts/cszl/jxh/index.vue b/src/pages/ywts/cszl/jxh/index.vue
index a3703db..0f23aaa 100644
--- a/src/pages/ywts/cszl/jxh/index.vue
+++ b/src/pages/ywts/cszl/jxh/index.vue
@@ -1,26 +1,24 @@
-
-
+
+
@@ -44,14 +42,15 @@
getAll,
getCaseInfo, getBoard
} from "../../../../api/ywts/cszl/jxh";
-import {AddDivPointCase, AddDivPointHighlight, AddOnlyLabel, AddPolygon} from "../../../../utils/freedo";
+import { AddDivPointCase, AddDivPointHighlight, AddOnlyLabel, AddPolygon } from "../../../../utils/freedo";
import ListPage from "@/components/ListPage";
-import {getGridInfo, getGridToken} from "../../../../api/common";
+import { getGridInfo, getGridToken } from "../../../../api/common";
import JxhPop from "./jxhPop";
+import { eventBus } from "../../../../main";
export default {
name: 'Jxh',
- components: {JxhPop, LayerManager, TimeManager, KeywordManager, CommonBtn, ListPage },
+ components: { JxhPop, LayerManager, TimeManager, KeywordManager, CommonBtn, ListPage },
data() {
return {
preCase: null,
@@ -128,6 +127,22 @@
}
},
mounted() {
+ this.$bus.$on('clear', () => {
+ this.isListPage = false
+ this.isShow = false
+ })
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: false }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: false });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: false });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: false }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
// 全部事件
getAll({
// urgent: '0',
@@ -135,8 +150,8 @@
// high: '0',
startTime: this.time.startTime,
endTime: this.time.endTime,
- }).then( res => {
- if(res.code === 200) {
+ }).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
@@ -154,7 +169,7 @@
caseMarker(res) {
res.data.value.forEach(item => {
// console.log(item.status)
- if(item.total === '1') {
+ if (item.total === '1') {
AddLabelPoint(
item.id,
'',
@@ -180,24 +195,24 @@
switch (e.bigtype) {
case 'source':
query.sourceId = e.type
- getSourceList(query).then( res => {
- if(res.code === 200) {
+ getSourceList(query).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
break
case 'project':
query.projectId = e.type
- getProjectList(query).then( res => {
- if(res.code === 200) {
+ getProjectList(query).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
break
case 'grid':
query.gridType = e.type
- getGridList(query).then( res => {
- if(res.code === 200) {
+ getGridList(query).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
@@ -208,7 +223,7 @@
clickCase(eventArg) {
const item = eventArg._data.data
// 恢复上一个marker
- if(this.preCase !== null ) {
+ if (this.preCase !== null) {
window.mmManager.removeById(this.preCase.id)
AddLabelPoint(
this.preCase.id,
@@ -218,7 +233,7 @@
this.clickCase)
}
- if(item.total === '1') {
+ if (item.total === '1') {
// 保存当前marker
this.preCase = item
// 高亮当前marker
@@ -229,7 +244,7 @@
}
// 查询事件详情
- this.caseTotal = Number(item.total)
+ this.caseTotal = Number(item.total)
this.caseList = []
this.isListPage = true
this.hasUrge = false
@@ -263,13 +278,13 @@
// high: '0',
startTime: this.time.startTime,
endTime: this.time.endTime,
- }).then( res => {
- if(res.code === 200) {
+ }).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
// 事件看板
- this.caseTotal = 1000 // todo
+ this.caseTotal = 1000 // todo
this.caseList = []
this.isListPage = true
this.hasUrge = true
@@ -292,8 +307,8 @@
high: '1',
startTime: this.time.startTime,
endTime: this.time.endTime,
- }).then( res => {
- if(res.code === 200) {
+ }).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
@@ -306,8 +321,8 @@
// high: '0',
startTime: this.time.startTime,
endTime: this.time.endTime,
- }).then( res => {
- if(res.code === 200) {
+ }).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
@@ -317,7 +332,7 @@
break
case "caseHeatBtn":
getHeat(this.time).then(res => {
- if(res.code === 200) {
+ if (res.code === 200) {
heat(res.data.value) // 热力图
}
})
@@ -326,29 +341,29 @@
},
gridDraw(token, areaCode) {
const colors = [
- [0,234,255,0.47],
- [255,185,0,0.47],
- [255,234,0,0.47],
- [209,0,255,0.47],
- [255,0,38,0.47],
+ [0, 234, 255, 0.47],
+ [255, 185, 0, 0.47],
+ [255, 234, 0, 0.47],
+ [209, 0, 255, 0.47],
+ [255, 0, 38, 0.47],
]
getGridInfo({
paramCodeList: 'KJ5001',
areaCode,
token
- }).then( res => {
+ }).then(res => {
console.log(res)
res.data.chirdAreaInfo.forEach((item, index) => {
item._source.areainfo.coordinates.forEach(area => {
let positions = []
- let arr = item._source.areainfo.type === 'MultiPolygon' ? area[0]: area
+ let arr = item._source.areainfo.type === 'MultiPolygon' ? area[0] : area
arr.forEach(pos => {
- positions.push(Freedo.Cartesian3.fromDegrees( pos[0], pos[1],0))
+ positions.push(Freedo.Cartesian3.fromDegrees(pos[0], pos[1], 0))
})
- AddPolygon(positions,colors[index % 5], this.gridClick,item._id)
+ AddPolygon(positions, colors[index % 5], this.gridClick, item._id)
AddOnlyLabel(
'',
- item._source.areaname , //+ this.menus.grid
+ item._source.areaname, //+ this.menus.grid
[item._source.lon, item._source.lat, 0],
'', null, null)
})
@@ -364,7 +379,7 @@
secret: CryptoJS.MD5(timestamp + 'geostar999').toString()
}
- getGridToken(param).then( res => {
+ getGridToken(param).then(res => {
clearUpMap()
this.gridDraw(res.data.token, '360783001')
this.gridDraw(res.data.token, '360783002')
@@ -374,32 +389,32 @@
},
// 三个概况统计
layerSeach() {
- getSource(this.time).then( res => {
- if(res.code === 200) {
+ getSource(this.time).then(res => {
+ if (res.code === 200) {
this.menus.source = res.data.value.map(item => {
item.bigtype = 'source'
- item.type = item.id.replace(/ /g,'')
- item.typename = item.name.replace(/ /g,'')
+ item.type = item.id.replace(/ /g, '')
+ item.typename = item.name.replace(/ /g, '')
return item
})
}
})
- getProject(this.time).then( res => {
- if(res.code === 200) {
+ getProject(this.time).then(res => {
+ if (res.code === 200) {
this.menus.project = res.data.value.map(item => {
item.bigtype = 'project'
- item.type = item.id.replace(/ /g,'')
- item.typename = item.name.replace(/ /g,'')
+ item.type = item.id.replace(/ /g, '')
+ item.typename = item.name.replace(/ /g, '')
return item
})
}
})
- getGrid(this.time).then( res => {
- if(res.code === 200) {
+ getGrid(this.time).then(res => {
+ if (res.code === 200) {
this.menus.grid = res.data.value.map(item => {
item.bigtype = 'grid'
- item.type = item.id.replace(/ /g,'')
- item.typename = item.name.replace(/ /g,'')
+ item.type = item.id.replace(/ /g, '')
+ item.typename = item.name.replace(/ /g, '')
return item
})
}
@@ -410,7 +425,7 @@
if (val && val.page) {
this.caseListQuery.pageNo = val.page
}
- if(this.hasUrge) {
+ if (this.hasUrge) {
this.searchBoard()
} else {
this.searchCaseMarkerList()
@@ -419,20 +434,20 @@
// 事件看板查询
searchBoard() {
getBoard(this.caseListQuery).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
console.log(response.data.value)
// 右侧看板
- this.caseList = response.data.value
+ this.caseList = response.data.value
}
})
},
// 事件详情分页
searchCaseMarkerList() {
getCaseInfo(this.caseListQuery).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
console.log(response.data.value)
// 右侧看板
- this.caseList = response.data.value
+ this.caseList = response.data.value
}
})
},
diff --git a/src/pages/ywts/cszl/yj/index.vue b/src/pages/ywts/cszl/yj/index.vue
index 7869a73..d74dfe9 100644
--- a/src/pages/ywts/cszl/yj/index.vue
+++ b/src/pages/ywts/cszl/yj/index.vue
@@ -45,7 +45,7 @@
import { AddDivPointHighlight, AddLabel } from "../../../../utils/freedo";
import { iconFilter, deviceList, caseList } from './data'
import ListPage from "@/components/ListPage";
-
+import { eventBus } from "../../../../main";
export default {
name: 'Yj',
components: { TimeManager, LayerManagerMix, ListPage, CommonBtn, Pop },
@@ -118,14 +118,25 @@
}
},
mounted() {
- // getStatistics().then(response => {
- // if(response.code === 200) {
- // this.menus.place = response.data.value
- // }
- // })
- // this.search()
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: false }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: false });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: false });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: false }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
clearResetMap()
this.searchPlace({})
+
+ this.$bus.$on('clear', () => {
+ this.isListPage = false
+ this.showPop = false
+ })
},
methods: {
async btnClick(e) {
diff --git a/src/pages/ywts/shms/jy/devicePop.vue b/src/pages/ywts/shms/jy/devicePop.vue
new file mode 100644
index 0000000..2c44979
--- /dev/null
+++ b/src/pages/ywts/shms/jy/devicePop.vue
@@ -0,0 +1,281 @@
+
+
+
+
+
+
+
+ 设备名称: {{
+ gdInfo.name }}
+ 设备类型: {{
+ gdInfo.typename }}
+ 设备状态: {{
+ gdInfo.statusName }}
+ 设备位置: {{
+ gdInfo.location }}
+ 时间: {{ gdInfo.time
+ }}
+ 进/出人口数: {{ gdInfo.in
+ }}/{{ gdInfo.out }}
+ 是否赋能: 否
+
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/ywts/shms/jy/index.vue b/src/pages/ywts/shms/jy/index.vue
index b1eb984..f377985 100644
--- a/src/pages/ywts/shms/jy/index.vue
+++ b/src/pages/ywts/shms/jy/index.vue
@@ -6,11 +6,13 @@
+ :select="selectIndex === 'layerBtn'" @btnClick="btnClick" @menuClick="menuClick" />
+
+
@@ -29,13 +31,15 @@
import mapJson from "@/assets/mapJson/map.json";
import modelJson from "@/assets/mapJson/school.json";
import { eventBus } from "../../../../main";
+import devicePop from './devicePop.vue'
export default {
name: 'Jy',
- components: { SchoolPop, TimeManager, KeywordManager, LayerManagerMix, CommonBtn },
+ components: { SchoolPop, TimeManager, KeywordManager, LayerManagerMix, CommonBtn, devicePop },
data() {
return {
isShow: false,
+ showDevice: false,
ktSelect: '',
keyword: '',
keywordList: [],
@@ -56,10 +60,15 @@
},
menus: {
device: [
- { type: "1", typename: "视频设备", total: "111" },
- { type: "2", typename: "门禁设备", total: "111" }
+ { type: "1", typename: "视频设备", total: "0" },
+ { type: "2", typename: "门禁设备", total: "0" }
]
- }
+ },
+ markerList: [],
+ markerBakList: [],
+ videoIcon: require('@/assets/images/icon/视频云/枪机未赋能在线.png'),
+ controlIcon: require('@/assets/images/icon/一卡通/门禁.png'),
+
}
},
mounted() {
@@ -70,55 +79,25 @@
name: 'jy',
autoFlyto: true,
})
- eventBus.$emit('change-layer', { id: 1, checked: false });
- eventBus.$emit('change-layer', { id: 2, checked: false });
- eventBus.$emit('change-layer', { id: 3, checked: false });
- eventBus.$emit('change-layer', { id: 4, checked: false });
- eventBus.$emit('change-layer', { id: 5, checked: true });
- eventBus.$emit('change-layer', { id: 41, checked: true });
- eventBus.$emit('change-layer', { id: 21, checked: true });
- eventBus.$emit('change-layer', { id: 12, checked: true });
- // // 教育模型
- // window.pmtsManager.add({
- // id: "智慧教育-手工模型",
- // url: mapJson.CIM4["智慧教育-手工模型"],
- // show: true,
- // maximumScreenSpaceError: 32,
- // maximumMemoryUsage: 64,
- // maximumAbsoluteMemoryUsage: 8192,
- // autoFlyto: true
- // },
- // undefined
- // )
- // // CIM2 楼
- // window.pmtsManager.add({
- // url: mapJson['CIM2']['CIM2建筑(带纹理)'],
- // show: true,
- // name: 'CIM2建筑(带纹理)',
- // autoFlyto: false
- // })
- // window.pmtsManager.add({
- // url: mapJson['CIM2']['CIM2建筑(带纹理)'],
- // show: true,
- // name: 'CIM2建筑(带纹理)',
- // autoFlyto: false,
- // alpha: 0.5,
- // color: '#002d7a'
- // })
- // for(let key in modelJson) {
- // window.pmtsManager.add({
- // id: key,
- // // url: mapJson.CIM4["智慧教育-手工模型"],
- // url: modelJson[key],
- // show: true,
- // maximumScreenSpaceError: 32,
- // maximumMemoryUsage: 64,
- // maximumAbsoluteMemoryUsage: 8192,
- // autoFlyto: true
- // },
- // undefined
- // )
- // }
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: true }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: false });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: false });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: true }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
+
+ // 清除弹窗展示
+ this.$bus.$on('clear', () => {
+ this.isShow = false
+ this.showDevice = false
+
+ })
},
methods: {
async btnClick(e) {
@@ -126,6 +105,7 @@
clearUpMap(true)
initPosition()
this.isShow = false
+ this.showDevice = false
this.selectIndex = e.target.id
switch (this.selectIndex) {
case "schoolBtn":
@@ -194,10 +174,121 @@
},
// 搜索学校设备
searchDevice() {
- getDevice({}).then(res => {
- console.log('学校数据')
+ getDevice({ keywords: '' }).then(res => {
+ this.markerList = [
+ {
+ "name": "设备1",
+ "lon": "114.859995",
+ "location": "江西省赣州市南康区三江乡",
+ "id": "1676397864375291905",
+ "lat": "25.802129",
+ "type": "1",
+ "typename": "视频设备",
+ statusName: '正常',
+ time: '2025-06-16 09:05:05',
+ in: '0',
+ out: '0',
+ },
+ {
+ "name": "设备2",
+ "lon": "114.861027",
+ "location": "江西省赣州市章贡区潭六路135号靠近逸夫小学",
+ "id": "1676398916763914241",
+ "lat": "25.757553",
+ "type": "2",
+ "typename": "门禁设备",
+ statusName: '正常',
+ time: '2025-06-16 09:05:05',
+ in: '0',
+ out: '0',
+ },
+ {
+ "name": "设备3",
+ "lon": "114.880246",
+ "location": "江西省赣州市章贡区潭东镇弘腾路毅德城",
+ "id": "1676414593390350337",
+ "lat": "25.753119",
+ "type": "1",
+ "typename": "视频设备",
+ statusName: '正常',
+ time: '2025-06-16 09:05:05',
+ in: '0',
+ out: '0',
+ },
+ {
+ "name": "设备4",
+ "lon": "114.879855",
+ "location": "江西省赣州市章贡区潭东镇弘腾路毅德城",
+ "id": "1676414955455254529",
+ "lat": "25.752771",
+ "type": "1",
+ "typename": "视频设备",
+ statusName: '正常',
+ time: '2025-06-16 09:05:05',
+ in: '0',
+ out: '0',
+ },
+ {
+ "name": "设备5",
+ "lon": "114.875438",
+ "location": "江西省赣州市章贡区潭东镇弘腾路毅德城",
+ "id": "1676418661630349312",
+ "lat": "25.748733",
+ "type": "2",
+ "typename": "门禁设备",
+ statusName: '正常',
+ time: '2025-06-16 09:05:05',
+ in: '0',
+ out: '0',
+ },
+ {
+ "name": "设备6",
+ "lon": "114.867371",
+ "location": "江西省赣州市章贡区105国道135号靠近松岭上",
+ "id": "1676422908220542977",
+ "lat": "25.750388",
+ "typename": "2",
+ "typename": "门禁设备",
+ statusName: '正常',
+ time: '2025-06-16 09:05:05',
+ in: '0',
+ out: '0',
+ },
+ ]
+ this.markerBakList = JSON.parse(JSON.stringify(this.markerList))
+ this.menus.device[0].total = this.markerList.filter((item) => item.type === '1').length
+ this.menus.device[1].total = this.markerList.filter((item) => item.type === '2').length
+ // 绘制点位
+ this.markerList.forEach((item) => {
+ AddLabelPoint(
+ item.id,
+ `${item.name}`,
+ item.type === '1' ? this.videoIcon : this.controlIcon,
+ [item.lon, item.lat, 0], 'yl-dev', item,
+ this.clickDevice)
+ })
})
- }
+ },
+ menuClick(e) {
+ clearResetMap()
+ this.markerList = this.markerBakList.filter(item => item.type === e.type)
+ this.markerList.forEach((item) => {
+ AddLabelPoint(
+ item.id,
+ `${item.name}`,
+ item.type === '1' ? this.videoIcon : this.controlIcon,
+ [item.lon, item.lat, 0], 'yl-dev', item,
+ this.clickDevice)
+ })
+ },
+ // 设备点位点击
+ clickDevice(eventArg) {
+ const item = eventArg._data.data
+ this.showDevice = true
+ this.$nextTick(() => {
+ this.$refs.deviceRef.initData(item)
+ })
+ },
}
}
diff --git a/src/pages/ywts/shms/sq/carPop.vue b/src/pages/ywts/shms/sq/carPop.vue
new file mode 100644
index 0000000..b1fe4c3
--- /dev/null
+++ b/src/pages/ywts/shms/sq/carPop.vue
@@ -0,0 +1,275 @@
+
+
+
+
+
+
+
+ 名称: {{
+ gdInfo.name }}
+ 位置: {{
+ gdInfo.location }}
+ 车辆数量: {{ gdInfo.carNum
+ }}
+ 停车位: {{ gdInfo.parkSpaceNum }}
+
+
+
+
+
+
+
+
+
+
diff --git a/src/api/ywts/shms/jy.js b/src/api/ywts/shms/jy.js
index f3ac251..56f48e3 100644
--- a/src/api/ywts/shms/jy.js
+++ b/src/api/ywts/shms/jy.js
@@ -116,7 +116,7 @@
return request({
url: 'zhjy-gktj/zhjy/sbdwlb',
method: 'post',
- data,
+ // data,
params: data
})
}
diff --git a/src/api/ywts/shms/sq.js b/src/api/ywts/shms/sq.js
new file mode 100644
index 0000000..04a5447
--- /dev/null
+++ b/src/api/ywts/shms/sq.js
@@ -0,0 +1,123 @@
+/**
+ * 社区接口
+ */
+import request from '@/utils/request'
+
+// 社区点位列表
+export function getCommunityList() {
+ return request({
+ url: 'zhsq-gktj/zhsq/sqdwlb',
+ method: 'post',
+ })
+}
+
+// 人员热力图
+export function getHeat() {
+ return request({
+ url: 'zhsq-gktj/zhsq/sqyyrlt',
+ method: 'post',
+ })
+}
+
+// 设备点位
+export function getDevice() {
+ return request({
+ url: 'zhsq-gktj/zhsq/sbdwlb',
+ method: 'post',
+ params: {
+ type: '',
+ keywords: ''
+ }
+ })
+}
+
+// 社区车辆
+export function getCar() {
+ return request({
+ url: 'zhsq-gktj/zhsq/sqbyl',
+ method: 'post',
+ })
+}
+
+// 事件点位列表
+export function getCase(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/sjdwlb',
+ method: 'post',
+ params:{
+ ...data
+ }
+ })
+}
+
+// 事件详情
+export function getCaseList(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/zjlbfy',
+ method: 'post',
+ params:{
+ ...data
+ }
+ })
+}
+// 获取社区基本信息
+export function getBaseInfo(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/sqdwxq',
+ method: 'post',
+ params:{
+ ...data
+ },
+ // data
+ })
+}
+// 居民年龄统计
+export function getAgeStatistics(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/jmnltj',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
+// 居民流动比例
+export function getCurrentRatio(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/jmldbl',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
+// 近1年人房车占比统计
+export function getPersonCarRatio(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/rfczbtj',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
+// 近1月居民通行量分析
+export function getTransitrRatio(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/jmtxlfx',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
+// 近1月高频事件排行榜
+export function getCaseRank(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/gpsjphb',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
diff --git a/src/api/ywts/zyhj/hb.js b/src/api/ywts/zyhj/hb.js
index 5e598d1..07625d1 100644
--- a/src/api/ywts/zyhj/hb.js
+++ b/src/api/ywts/zyhj/hb.js
@@ -8,7 +8,10 @@
return request({
url: 'zhhb-gktj/zhhb/gktj',
method: 'post',
- data
+ data,
+ params: {
+ ...data,
+ }
})
}
// 环保点位列表
@@ -19,3 +22,26 @@
data
})
}
+// 环保告警列表
+export function getAlarmList(data) {
+ return request({
+ url: 'zhhb-gktj/zhhb/hbgjlb',
+ method: 'post',
+ // data
+ params: {
+ ...data
+ }
+ })
+}
+
+// 环保事件列表
+export function getCaseList(data) {
+ return request({
+ url: 'zhhb-gktj/zhhb/hbsjlbfy',
+ method: 'post',
+ // data
+ params: {
+ ...data
+ }
+ })
+}
diff --git a/src/api/ywts/zyhj/yl.js b/src/api/ywts/zyhj/yl.js
index 63d7ad2..643e3d4 100644
--- a/src/api/ywts/zyhj/yl.js
+++ b/src/api/ywts/zyhj/yl.js
@@ -88,6 +88,9 @@
url: 'zhyl-gktjljk/zhyl/sjxq',
method: 'post',
data,
+ params: {
+ ...data,
+ }
})
}
// 苗木点位列表
diff --git a/src/components/CommonFunction/index.vue b/src/components/CommonFunction/index.vue
index 1a10acb..c2eba44 100644
--- a/src/components/CommonFunction/index.vue
+++ b/src/components/CommonFunction/index.vue
@@ -5,8 +5,8 @@
@click="btnClick" />
-
+
@@ -21,7 +21,7 @@
import CommonBtn from "../CommonBtn";
import { clearUpMap } from '@/utils/freedo/index'
-import { initPosition, initPage } from "../../utils/freedo";
+import { initPosition, initPage } from "../../utils/freedo";
import mapJson from "@/assets/mapJson/map.json";
import { eventBus } from "../../main";
@@ -59,11 +59,11 @@
disabled: true,
"children": [
{ "id": 41, "label": "智慧教育-手工模型", disabled: true },
- { "id": 42, "label": "智慧停车云-手工模型", disabled: true },
- { "id": 43, "label": "智慧社区-手工模型", disabled: true },
- { "id": 44, "label": "智慧工地-手工模型", disabled: true },
- { "id": 45, "label": "智慧交通-手工模型", disabled: true },
- { "id": 46, "label": "智慧园林-手工模型", disabled: true }
+ { "id": 42, "label": "智慧停车云-手工模型", disabled: true },
+ { "id": 43, "label": "智慧社区-手工模型", disabled: true },
+ { "id": 44, "label": "智慧工地-手工模型", disabled: true },
+ { "id": 45, "label": "智慧交通-手工模型", disabled: true },
+ { "id": 46, "label": "智慧园林-手工模型", disabled: true }
]
}, {
"id": 5,
@@ -95,8 +95,8 @@
setTimeout(() => {
this.tree.forEach((item) => {
item.disabled = false
- if(item.children) {
- item.children = item.children.map((item) => ({ ...item,disabled: false}))
+ if (item.children) {
+ item.children = item.children.map((item) => ({ ...item, disabled: false }))
}
})
}, 5000)
@@ -125,7 +125,7 @@
handler(data, checked, indeterminate)
}
else {
- if(data.id.toString() === '5' && checked) {
+ if (data.id.toString() === '5' && checked) {
window.terrainManager.visible = true
return
}
@@ -143,14 +143,18 @@
},
btnClick(e) {
this.showLayerTree = false
+ this.clearDialog()
if (e.target.id === 'initBtn') {
initPosition()
} else if (e.target.id === 'clearBtn') {
clearUpMap()
} else if (e.target.id === 'layerBtn') {
- // clearUpMap()
this.showLayerTree = true
}
+ },
+ // 清空地图弹窗
+ clearDialog() {
+ this.$bus.$emit('clear')
}
}
}
@@ -178,7 +182,7 @@
right: 20px;
top: 1rem;
display: flex;
- width: 20rem;
+ width: 15rem;
height: 5rem;
z-index: 1111111111;
}
diff --git a/src/pages/csdz/iot/index.vue b/src/pages/csdz/iot/index.vue
index 63b60ea..8aefaea 100644
--- a/src/pages/csdz/iot/index.vue
+++ b/src/pages/csdz/iot/index.vue
@@ -259,8 +259,8 @@
localPoint(e) {
// this.childrenClick(e)
this.clickIcon({
- _data:{
- data:e
+ _data: {
+ data: e
}
})
},
@@ -280,6 +280,11 @@
},
mounted() {
this.search()
+ this.$bus.$on('clear', () => {
+ this.isShowEvent = false
+ this.isShowEventPop = false
+ this.isShowPop = false
+ })
// getStatistics().then(res => {
// if (res.code === 200 && res.data.value.length) {
// console.log(res.data, '')
diff --git a/src/pages/csdz/smartCard/index.vue b/src/pages/csdz/smartCard/index.vue
index 48721f7..32573d2 100644
--- a/src/pages/csdz/smartCard/index.vue
+++ b/src/pages/csdz/smartCard/index.vue
@@ -112,6 +112,7 @@
btnClick(e) {
clearResetMap()
this.selectIndex = e.target.id
+ this.isShowPop = false
if (this.selectIndex === 'publicBtn') {
// 绘制热力图
heat([
@@ -870,6 +871,10 @@
getStatistics({}).then(res => {
console.log(res.data, '一卡通')
})
+ this.$bus.$on('clear', () => {
+ this.isShowPop = false
+ this.isShowEvent = false
+ })
}
}
diff --git a/src/pages/csdz/videoCloud/index.vue b/src/pages/csdz/videoCloud/index.vue
index 4b8d110..81530d5 100644
--- a/src/pages/csdz/videoCloud/index.vue
+++ b/src/pages/csdz/videoCloud/index.vue
@@ -695,6 +695,11 @@
},
mounted() {
this.drawSence()
+ this.$bus.$on('clear', () => {
+ this.isShowPop = false
+ this.isShowEvent = false
+ this.isShowEventPop = false
+ })
}
}
diff --git a/src/pages/ywts/cszl/gd/index.vue b/src/pages/ywts/cszl/gd/index.vue
index e9be7b0..35ee8d7 100644
--- a/src/pages/ywts/cszl/gd/index.vue
+++ b/src/pages/ywts/cszl/gd/index.vue
@@ -1,30 +1,23 @@
-
-
+
+
@@ -34,7 +27,7 @@
import TimeManager from "@/components/TimeManager";
import GdPop from "./gdPop";
import { heat } from '@/utils/freedo/heat'
-import { clearUpMap, clearResetMap ,AddLabelPoint, initPosition } from '@/utils/freedo'
+import { clearUpMap, clearResetMap, AddLabelPoint, initPosition } from '@/utils/freedo'
import {
getHeat,
getArea,
@@ -43,17 +36,17 @@
getStatistics,
getCasePointList, getCaseInfo
} from "../../../../api/ywts/cszl/gd";
-import {AddDivPointCase, AddDivPointHighlight, AddLabel, focusPoint} from "../../../../utils/freedo";
+import { AddDivPointCase, AddDivPointHighlight, AddLabel, focusPoint } from "../../../../utils/freedo";
import ListPage from "@/components/ListPage";
import KeywordManager from "../../../../components/KeywordManager";
import gridJson from "@/assets/mapJson/grid.json";
import mapJson from "@/assets/mapJson/map.json";
-import {eventBus} from "../../../../main";
+import { eventBus } from "../../../../main";
export default {
name: 'Gd',
- components: {KeywordManager, GdPop, TimeManager, LayerManagerMix, ListPage, CommonBtn },
+ components: { KeywordManager, GdPop, TimeManager, LayerManagerMix, ListPage, CommonBtn },
data() {
return {
isListPage: false,
@@ -73,19 +66,19 @@
caseTotal: 0,
layerManager: null,
caseIcon: {
- 1: require('@/assets/images/icon/事件/已撤案.png'),
- 2: require('@/assets/images/icon/事件/指派中.png'),
- 3: require('@/assets/images/icon/事件/处置中.png'),
- 4: require('@/assets/images/icon/事件/已办结.png'),
- 5: require('@/assets/images/icon/事件/已结案.png'),
- },
+ 1: require('@/assets/images/icon/事件/已撤案.png'),
+ 2: require('@/assets/images/icon/事件/指派中.png'),
+ 3: require('@/assets/images/icon/事件/处置中.png'),
+ 4: require('@/assets/images/icon/事件/已办结.png'),
+ 5: require('@/assets/images/icon/事件/已结案.png'),
+ },
caseColor: {
- 1: '#ffffff88',
- 2: '#fdeb5688',
- 3: '#85c8ff88',
- 4: '#ffba7488',
- 5: '#87f6b388',
- },
+ 1: '#ffffff88',
+ 2: '#fdeb5688',
+ 3: '#85c8ff88',
+ 4: '#ffba7488',
+ 5: '#87f6b388',
+ },
time: {
startTime: '',
endTime: '',
@@ -105,10 +98,10 @@
name: '工地设备',
value: 'device'
}
- // , {
- // name: '环监设备',
- // value: 'others'
- // }
+ // , {
+ // name: '环监设备',
+ // value: 'others'
+ // }
],
menus: {
device: [
@@ -122,7 +115,7 @@
},
mounted() {
getStatistics().then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
this.menus.device = response.data.value
}
})
@@ -135,28 +128,24 @@
autoFlyto: true,
})
- eventBus.$emit('change-layer', { id:1, checked: false});
- eventBus.$emit('change-layer', { id:2, checked: false});
- eventBus.$emit('change-layer', { id:3, checked: false});
- eventBus.$emit('change-layer', { id:4, checked: false});
- eventBus.$emit('change-layer', { id:5, checked: true});
- eventBus.$emit('change-layer', { id:44, checked: true});
- eventBus.$emit('change-layer', { id:21, checked: true});
- eventBus.$emit('change-layer', { id:12, checked: true});
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: false }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: true });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: false });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: true }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
-
- // window.pmtsManager.add({
- // id: "智慧工地-手工模型",
- // url: mapJson.CIM4["智慧工地-手工模型"],
- // show: true,
- // maximumScreenSpaceError: 32,
- // maximumMemoryUsage: 64,
- // maximumAbsoluteMemoryUsage: 8192,
- // autoFlyto: true
- // },
- // undefined
- // )
- // window.terrainManager.visible = true
+ // 清除弹窗展示
+ this.$bus.$on('clear', () => {
+ this.isListPage = false
+ this.isShow = false
+ })
},
methods: {
async btnClick(e) {
@@ -179,7 +168,7 @@
break
case "personBtn":
getHeat().then(res => {
- if(res.code === 200) {
+ if (res.code === 200) {
console.log(res.data, '热力')
const arr = res.data.value.filter(item => item.lng !== "" && item.lng !== null)
// arr.splice(0,1) // todo: 测试第一个错误数据
@@ -192,17 +181,17 @@
// 设备图层控制
layer(item) {
// clearUpMap(true)
- const iconOnline = require('@/assets/images/icon/工地地图点位/'+item.typename.replace(/ /g,'')+'在线.png')
- const iconOffline = require('@/assets/images/icon/工地地图点位/'+item.typename.replace(/ /g,'')+'离线.png')
- getDevList({type: item.type}).then(response => {
- if(response.code === 200) {
+ const iconOnline = require('@/assets/images/icon/工地地图点位/' + item.typename.replace(/ /g, '') + '在线.png')
+ const iconOffline = require('@/assets/images/icon/工地地图点位/' + item.typename.replace(/ /g, '') + '离线.png')
+ getDevList({ type: item.type }).then(response => {
+ if (response.code === 200) {
clearUpMap(true)
this.keywordList = response.data.value
response.data.value.forEach(item => {
AddLabelPoint(
item.id,
'',
- item.status === '1'? iconOnline: iconOffline,
+ item.status === '1' ? iconOnline : iconOffline,
[item.lon, item.lat, 0], 'gd-dev', item,
null)
})
@@ -216,23 +205,23 @@
// keywords: this.keyword
}
getCasePointList(param).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
clearUpMap(true)
const data = []
response.data.value.forEach(item => {
- if(!data.map(da => da.id).includes(item.id) && !data.map(da => da.lon).includes(item.lon) && item.id !== null) {
+ if (!data.map(da => da.id).includes(item.id) && !data.map(da => da.lon).includes(item.lon) && item.id !== null) {
data.push(item)
}
})
this.keywordList = data
data.forEach(item => {
// if(item.total === '1') {
- AddLabelPoint(
- item.id,
- '',
- this.caseIcon[item.eventstatus],
- [item.lon, item.lat, 0], 'gd-case', item,
- this.clickCase)
+ AddLabelPoint(
+ item.id,
+ '',
+ this.caseIcon[item.eventstatus],
+ [item.lon, item.lat, 0], 'gd-case', item,
+ this.clickCase)
// } else {
// AddDivPointCase(item, this.caseColor[item.status], item.total, this.clickCase)
// }
@@ -244,8 +233,8 @@
search() {
const iconDone = require('@/assets/images/icon/工地地图点位/工地已完成.png')
const iconDoing = require('@/assets/images/icon/工地地图点位/工地进行中.png')
- getArea({keywords: this.keyword}).then(response => {
- if(response.code === 200) {
+ getArea({ keywords: this.keyword }).then(response => {
+ if (response.code === 200) {
clearUpMap(true)
this.keywordList = response.data.value
response.data.value.forEach(item => {
@@ -254,7 +243,7 @@
AddLabelPoint(
item.id,
item.name,
- item.status === '2' ? iconDoing: iconDone,
+ item.status === '2' ? iconDoing : iconDone,
[item.lon, item.lat, 0], 'gd', item,
this.clickGd)
})
@@ -265,8 +254,8 @@
score() {
const iconDone = require('@/assets/images/icon/工地地图点位/工地已完成.png')
const iconDoing = require('@/assets/images/icon/工地地图点位/工地进行中.png')
- getArea({keywords: this.keyword}).then(response => {
- if(response.code === 200) {
+ getArea({ keywords: this.keyword }).then(response => {
+ if (response.code === 200) {
this.keywordList = response.data.value
response.data.value.forEach(item => {
// console.log(item,'321123')
@@ -280,8 +269,8 @@
})
}
})
- getMonthGdScore({keywords: this.keyword}).then(response => {
- if(response.code === 200) {
+ getMonthGdScore({ keywords: this.keyword }).then(response => {
+ if (response.code === 200) {
response.data.value.filter(item => item.lng !== "" && item.lng !== null).forEach(item => {
AddLabel(
item.id,
@@ -304,7 +293,7 @@
clickCase(eventArg) {
const item = eventArg._data.data
// 恢复上一个marker
- if(this.preCase !== null ) {
+ if (this.preCase !== null) {
window.mmManager.removeById(this.preCase.id)
AddLabelPoint(
this.preCase.id,
@@ -313,7 +302,7 @@
[this.preCase.lon, this.preCase.lat, 0], 'gd-case', this.preCase,
this.clickCase)
}
- if(item.total === '1') {
+ if (item.total === '1') {
// 保存当前marker
this.preCase = item
// 高亮当前marker
@@ -323,7 +312,7 @@
this.preCase = null
}
// 查询事件详情
- this.caseTotal = Number(item.total)
+ this.caseTotal = Number(item.total)
this.isListPage = true
this.$refs.caseListPage.initDialog()
this.caseListQuery = {
@@ -345,16 +334,16 @@
searchCaseMarkerList() {
// getCaseInfo(this.caseListQuery).then(response => {
getCaseInfo(this.caseListQuery).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
console.log(response.data.value)
// 右侧看板
- this.caseList = response.data.value
+ this.caseList = response.data.value
}
})
},
handleTimeRange(time) {
this.isListPage = false
- if(this.time.startTime !== '') {
+ if (this.time.startTime !== '') {
this.time = time
this.casePoint()
} else {
diff --git a/src/pages/ywts/cszl/hw/index.vue b/src/pages/ywts/cszl/hw/index.vue
index e773b7d..ed28bc6 100644
--- a/src/pages/ywts/cszl/hw/index.vue
+++ b/src/pages/ywts/cszl/hw/index.vue
@@ -31,6 +31,7 @@
import ListPage from "@/components/ListPage";
import { getPlacePointList, getOverviewStatistics, getPersonList, getCarList, getCaseList, getCaseInfo } from '@/api/ywts/cszl/hw'
import { iconFilter, iconPerson, personList, carList, iconCar } from './data'
+import { eventBus } from "../../../../main";
export default {
name: 'Hw',
components: { TimeManager, LayerManagerMix, ListPage, CommonBtn, Pop },
@@ -94,7 +95,25 @@
},
mounted() {
clearResetMap()
+ this.selectInde = 'deviceBtn'
this.fetchPoint()
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: false }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: false });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: false });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: false }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
+ // 清除弹窗展示
+ this.$bus.$on('clear', () => {
+ this.isListPage = false
+ this.showPop = false
+ })
},
methods: {
async btnClick(e) {
@@ -263,17 +282,17 @@
// this.caseList = res.data.value || []
// this.caseTotal = this.caseList.length
res.data.value.forEach(item => {
- AddLabelPoint(
- item.id.replaceAll('.', ''),
- '',
- this.caseIcon[item.status],
- [item.lon, item.lat, 0], 'gd-case', item,
- this.clickCase)
- })
+ AddLabelPoint(
+ item.id.replaceAll('.', ''),
+ '',
+ this.caseIcon[item.status],
+ [item.lon, item.lat, 0], 'gd-case', item,
+ this.clickCase)
+ })
})
},
- // 点击事件icon
- clickCase(eventArg) {
+ // 点击事件icon
+ clickCase(eventArg) {
const item = eventArg._data.data
// 恢复上一个marker
if (this.preCase !== null) {
@@ -306,11 +325,11 @@
getCaseInfo(this.caseListQuery).then(res => {
console.log(res.data, '事件详情')
this.caseList = res.data.value || []
- this.caseTotal = this.caseList.length
+ this.caseTotal = this.caseList.length
})
},
- // 事件换页
- changePage(val) {
+ // 事件换页
+ changePage(val) {
if (val && val.page) {
this.caseListQuery.pageNo = val.page
}
diff --git a/src/pages/ywts/cszl/jt/index.vue b/src/pages/ywts/cszl/jt/index.vue
index fb1ce91..ef5938c 100644
--- a/src/pages/ywts/cszl/jt/index.vue
+++ b/src/pages/ywts/cszl/jt/index.vue
@@ -1,15 +1,21 @@
-
+
@@ -26,8 +32,9 @@
getStatistics,
getCasePointList, getCaseInfo
} from "../../../../api/ywts/cszl/gd";
-import {AddDivPointHighlight, AddLabel} from "../../../../utils/freedo";
+import { AddDivPointHighlight, AddLabel } from "../../../../utils/freedo";
import ListPage from "@/components/ListPage";
+import { eventBus } from "../../../../main";
export default {
name: 'Jt',
@@ -47,19 +54,19 @@
},
caseTotal: 0,
caseIcon: {
- 1: require('@/assets/images/icon/事件/已撤案.png'),
- 2: require('@/assets/images/icon/事件/指派中.png'),
- 3: require('@/assets/images/icon/事件/处置中.png'),
- 4: require('@/assets/images/icon/事件/已办结.png'),
- 5: require('@/assets/images/icon/事件/已结案.png'),
- },
+ 1: require('@/assets/images/icon/事件/已撤案.png'),
+ 2: require('@/assets/images/icon/事件/指派中.png'),
+ 3: require('@/assets/images/icon/事件/处置中.png'),
+ 4: require('@/assets/images/icon/事件/已办结.png'),
+ 5: require('@/assets/images/icon/事件/已结案.png'),
+ },
caseColor: {
- 1: '#ffffff',
- 2: '#fdeb56',
- 3: '#85c8ff',
- 4: '#ffba74',
- 5: '#87f6b3',
- },
+ 1: '#ffffff',
+ 2: '#fdeb56',
+ 3: '#85c8ff',
+ 4: '#ffba74',
+ 5: '#87f6b3',
+ },
time: {
startTime: '',
endTime: '',
@@ -81,10 +88,10 @@
name: '基础设施',
value: 'place'
}
- // , {
- // name: '环监设备',
- // value: 'others'
- // }
+ // , {
+ // name: '环监设备',
+ // value: 'others'
+ // }
],
menus: {
place: [
@@ -98,11 +105,27 @@
},
mounted() {
getStatistics().then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
this.menus.place = response.data.value
}
})
this.search()
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: false }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: false });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: true });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: true }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
+ // 清除弹窗展示
+ this.$bus.$on('clear', () => {
+ this.isListPage = false
+ })
},
methods: {
async btnClick(e) {
@@ -121,16 +144,16 @@
// 设备图层控制
layer(item) {
// clearUpMap()
- const iconOnline = require('@/assets/images/icon/工地地图点位/'+item.typename.replace(/ /g,'')+'在线.png')
- const iconOffline = require('@/assets/images/icon/工地地图点位/'+item.typename.replace(/ /g,'')+'离线.png')
- getDevList({type: item.type}).then(response => {
- if(response.code === 200) {
+ const iconOnline = require('@/assets/images/icon/工地地图点位/' + item.typename.replace(/ /g, '') + '在线.png')
+ const iconOffline = require('@/assets/images/icon/工地地图点位/' + item.typename.replace(/ /g, '') + '离线.png')
+ getDevList({ type: item.type }).then(response => {
+ if (response.code === 200) {
clearUpMap()
response.data.value.forEach(item => {
AddLabelPoint(
item.id,
'',
- item.status === '1'? iconOnline: iconOffline,
+ item.status === '1' ? iconOnline : iconOffline,
[item.lon, item.lat, 0], 'gd-place', item,
null)
})
@@ -141,11 +164,11 @@
casePoint() {
console.log(this.time)
getCasePointList(this.time).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
clearUpMap()
const data = []
response.data.value.forEach(item => {
- if(!data.map(da => da.id).includes(item.id) && !data.map(da => da.lon).includes(item.lon) && item.id !== null) {
+ if (!data.map(da => da.id).includes(item.id) && !data.map(da => da.lon).includes(item.lon) && item.id !== null) {
data.push(item)
}
})
@@ -165,7 +188,7 @@
const iconDone = require('@/assets/images/icon/工地地图点位/工地已完成.png')
const iconDoing = require('@/assets/images/icon/工地地图点位/工地进行中.png')
getArea({}).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
clearUpMap()
response.data.value.forEach(item => {
// console.log(item.areaboundary)
@@ -173,7 +196,7 @@
AddLabelPoint(
item.id,
item.name,
- item.status === '2' ? iconDoing: iconDone,
+ item.status === '2' ? iconDoing : iconDone,
[item.lon, item.lat, 0], 'gd', item,
this.clickHw)
})
@@ -183,7 +206,7 @@
// 智慧工地-工地近1月综合得分
score() {
getArea({}).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
response.data.value.forEach(item => {
console.log(item.areaboundary)
// todo : 画范围
@@ -195,7 +218,7 @@
clickCase(eventArg) {
const item = eventArg._data.data
// 恢复上一个marker
- if(this.preCase !== null ) {
+ if (this.preCase !== null) {
window.mmManager.removeById(this.preCase.id)
AddLabelPoint(
this.preCase.id,
@@ -231,13 +254,13 @@
searchCaseMarkerList() {
// getCaseInfo(this.caseListQuery).then(response => {
getCaseInfo(this.caseListQuery).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
console.log(response.data.value)
// 右侧看板
- this.caseList = response.data.value
+ this.caseList = response.data.value
// todo
// this.caseTotal = response.data.value.length
- this.caseTotal = 12
+ this.caseTotal = 12
}
})
},
@@ -246,7 +269,7 @@
},
handleTimeRange(time) {
this.isListPage = false
- if(this.time.startTime !== '') {
+ if (this.time.startTime !== '') {
this.time = time
this.casePoint()
} else {
diff --git a/src/pages/ywts/cszl/jxh/index.vue b/src/pages/ywts/cszl/jxh/index.vue
index a3703db..0f23aaa 100644
--- a/src/pages/ywts/cszl/jxh/index.vue
+++ b/src/pages/ywts/cszl/jxh/index.vue
@@ -1,26 +1,24 @@
-
-
+
+
@@ -44,14 +42,15 @@
getAll,
getCaseInfo, getBoard
} from "../../../../api/ywts/cszl/jxh";
-import {AddDivPointCase, AddDivPointHighlight, AddOnlyLabel, AddPolygon} from "../../../../utils/freedo";
+import { AddDivPointCase, AddDivPointHighlight, AddOnlyLabel, AddPolygon } from "../../../../utils/freedo";
import ListPage from "@/components/ListPage";
-import {getGridInfo, getGridToken} from "../../../../api/common";
+import { getGridInfo, getGridToken } from "../../../../api/common";
import JxhPop from "./jxhPop";
+import { eventBus } from "../../../../main";
export default {
name: 'Jxh',
- components: {JxhPop, LayerManager, TimeManager, KeywordManager, CommonBtn, ListPage },
+ components: { JxhPop, LayerManager, TimeManager, KeywordManager, CommonBtn, ListPage },
data() {
return {
preCase: null,
@@ -128,6 +127,22 @@
}
},
mounted() {
+ this.$bus.$on('clear', () => {
+ this.isListPage = false
+ this.isShow = false
+ })
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: false }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: false });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: false });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: false }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
// 全部事件
getAll({
// urgent: '0',
@@ -135,8 +150,8 @@
// high: '0',
startTime: this.time.startTime,
endTime: this.time.endTime,
- }).then( res => {
- if(res.code === 200) {
+ }).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
@@ -154,7 +169,7 @@
caseMarker(res) {
res.data.value.forEach(item => {
// console.log(item.status)
- if(item.total === '1') {
+ if (item.total === '1') {
AddLabelPoint(
item.id,
'',
@@ -180,24 +195,24 @@
switch (e.bigtype) {
case 'source':
query.sourceId = e.type
- getSourceList(query).then( res => {
- if(res.code === 200) {
+ getSourceList(query).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
break
case 'project':
query.projectId = e.type
- getProjectList(query).then( res => {
- if(res.code === 200) {
+ getProjectList(query).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
break
case 'grid':
query.gridType = e.type
- getGridList(query).then( res => {
- if(res.code === 200) {
+ getGridList(query).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
@@ -208,7 +223,7 @@
clickCase(eventArg) {
const item = eventArg._data.data
// 恢复上一个marker
- if(this.preCase !== null ) {
+ if (this.preCase !== null) {
window.mmManager.removeById(this.preCase.id)
AddLabelPoint(
this.preCase.id,
@@ -218,7 +233,7 @@
this.clickCase)
}
- if(item.total === '1') {
+ if (item.total === '1') {
// 保存当前marker
this.preCase = item
// 高亮当前marker
@@ -229,7 +244,7 @@
}
// 查询事件详情
- this.caseTotal = Number(item.total)
+ this.caseTotal = Number(item.total)
this.caseList = []
this.isListPage = true
this.hasUrge = false
@@ -263,13 +278,13 @@
// high: '0',
startTime: this.time.startTime,
endTime: this.time.endTime,
- }).then( res => {
- if(res.code === 200) {
+ }).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
// 事件看板
- this.caseTotal = 1000 // todo
+ this.caseTotal = 1000 // todo
this.caseList = []
this.isListPage = true
this.hasUrge = true
@@ -292,8 +307,8 @@
high: '1',
startTime: this.time.startTime,
endTime: this.time.endTime,
- }).then( res => {
- if(res.code === 200) {
+ }).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
@@ -306,8 +321,8 @@
// high: '0',
startTime: this.time.startTime,
endTime: this.time.endTime,
- }).then( res => {
- if(res.code === 200) {
+ }).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
@@ -317,7 +332,7 @@
break
case "caseHeatBtn":
getHeat(this.time).then(res => {
- if(res.code === 200) {
+ if (res.code === 200) {
heat(res.data.value) // 热力图
}
})
@@ -326,29 +341,29 @@
},
gridDraw(token, areaCode) {
const colors = [
- [0,234,255,0.47],
- [255,185,0,0.47],
- [255,234,0,0.47],
- [209,0,255,0.47],
- [255,0,38,0.47],
+ [0, 234, 255, 0.47],
+ [255, 185, 0, 0.47],
+ [255, 234, 0, 0.47],
+ [209, 0, 255, 0.47],
+ [255, 0, 38, 0.47],
]
getGridInfo({
paramCodeList: 'KJ5001',
areaCode,
token
- }).then( res => {
+ }).then(res => {
console.log(res)
res.data.chirdAreaInfo.forEach((item, index) => {
item._source.areainfo.coordinates.forEach(area => {
let positions = []
- let arr = item._source.areainfo.type === 'MultiPolygon' ? area[0]: area
+ let arr = item._source.areainfo.type === 'MultiPolygon' ? area[0] : area
arr.forEach(pos => {
- positions.push(Freedo.Cartesian3.fromDegrees( pos[0], pos[1],0))
+ positions.push(Freedo.Cartesian3.fromDegrees(pos[0], pos[1], 0))
})
- AddPolygon(positions,colors[index % 5], this.gridClick,item._id)
+ AddPolygon(positions, colors[index % 5], this.gridClick, item._id)
AddOnlyLabel(
'',
- item._source.areaname , //+ this.menus.grid
+ item._source.areaname, //+ this.menus.grid
[item._source.lon, item._source.lat, 0],
'', null, null)
})
@@ -364,7 +379,7 @@
secret: CryptoJS.MD5(timestamp + 'geostar999').toString()
}
- getGridToken(param).then( res => {
+ getGridToken(param).then(res => {
clearUpMap()
this.gridDraw(res.data.token, '360783001')
this.gridDraw(res.data.token, '360783002')
@@ -374,32 +389,32 @@
},
// 三个概况统计
layerSeach() {
- getSource(this.time).then( res => {
- if(res.code === 200) {
+ getSource(this.time).then(res => {
+ if (res.code === 200) {
this.menus.source = res.data.value.map(item => {
item.bigtype = 'source'
- item.type = item.id.replace(/ /g,'')
- item.typename = item.name.replace(/ /g,'')
+ item.type = item.id.replace(/ /g, '')
+ item.typename = item.name.replace(/ /g, '')
return item
})
}
})
- getProject(this.time).then( res => {
- if(res.code === 200) {
+ getProject(this.time).then(res => {
+ if (res.code === 200) {
this.menus.project = res.data.value.map(item => {
item.bigtype = 'project'
- item.type = item.id.replace(/ /g,'')
- item.typename = item.name.replace(/ /g,'')
+ item.type = item.id.replace(/ /g, '')
+ item.typename = item.name.replace(/ /g, '')
return item
})
}
})
- getGrid(this.time).then( res => {
- if(res.code === 200) {
+ getGrid(this.time).then(res => {
+ if (res.code === 200) {
this.menus.grid = res.data.value.map(item => {
item.bigtype = 'grid'
- item.type = item.id.replace(/ /g,'')
- item.typename = item.name.replace(/ /g,'')
+ item.type = item.id.replace(/ /g, '')
+ item.typename = item.name.replace(/ /g, '')
return item
})
}
@@ -410,7 +425,7 @@
if (val && val.page) {
this.caseListQuery.pageNo = val.page
}
- if(this.hasUrge) {
+ if (this.hasUrge) {
this.searchBoard()
} else {
this.searchCaseMarkerList()
@@ -419,20 +434,20 @@
// 事件看板查询
searchBoard() {
getBoard(this.caseListQuery).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
console.log(response.data.value)
// 右侧看板
- this.caseList = response.data.value
+ this.caseList = response.data.value
}
})
},
// 事件详情分页
searchCaseMarkerList() {
getCaseInfo(this.caseListQuery).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
console.log(response.data.value)
// 右侧看板
- this.caseList = response.data.value
+ this.caseList = response.data.value
}
})
},
diff --git a/src/pages/ywts/cszl/yj/index.vue b/src/pages/ywts/cszl/yj/index.vue
index 7869a73..d74dfe9 100644
--- a/src/pages/ywts/cszl/yj/index.vue
+++ b/src/pages/ywts/cszl/yj/index.vue
@@ -45,7 +45,7 @@
import { AddDivPointHighlight, AddLabel } from "../../../../utils/freedo";
import { iconFilter, deviceList, caseList } from './data'
import ListPage from "@/components/ListPage";
-
+import { eventBus } from "../../../../main";
export default {
name: 'Yj',
components: { TimeManager, LayerManagerMix, ListPage, CommonBtn, Pop },
@@ -118,14 +118,25 @@
}
},
mounted() {
- // getStatistics().then(response => {
- // if(response.code === 200) {
- // this.menus.place = response.data.value
- // }
- // })
- // this.search()
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: false }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: false });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: false });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: false }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
clearResetMap()
this.searchPlace({})
+
+ this.$bus.$on('clear', () => {
+ this.isListPage = false
+ this.showPop = false
+ })
},
methods: {
async btnClick(e) {
diff --git a/src/pages/ywts/shms/jy/devicePop.vue b/src/pages/ywts/shms/jy/devicePop.vue
new file mode 100644
index 0000000..2c44979
--- /dev/null
+++ b/src/pages/ywts/shms/jy/devicePop.vue
@@ -0,0 +1,281 @@
+
+
+
+
+
+
+
+ 设备名称: {{
+ gdInfo.name }}
+ 设备类型: {{
+ gdInfo.typename }}
+ 设备状态: {{
+ gdInfo.statusName }}
+ 设备位置: {{
+ gdInfo.location }}
+ 时间: {{ gdInfo.time
+ }}
+ 进/出人口数: {{ gdInfo.in
+ }}/{{ gdInfo.out }}
+ 是否赋能: 否
+
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/ywts/shms/jy/index.vue b/src/pages/ywts/shms/jy/index.vue
index b1eb984..f377985 100644
--- a/src/pages/ywts/shms/jy/index.vue
+++ b/src/pages/ywts/shms/jy/index.vue
@@ -6,11 +6,13 @@
+ :select="selectIndex === 'layerBtn'" @btnClick="btnClick" @menuClick="menuClick" />
+
+
@@ -29,13 +31,15 @@
import mapJson from "@/assets/mapJson/map.json";
import modelJson from "@/assets/mapJson/school.json";
import { eventBus } from "../../../../main";
+import devicePop from './devicePop.vue'
export default {
name: 'Jy',
- components: { SchoolPop, TimeManager, KeywordManager, LayerManagerMix, CommonBtn },
+ components: { SchoolPop, TimeManager, KeywordManager, LayerManagerMix, CommonBtn, devicePop },
data() {
return {
isShow: false,
+ showDevice: false,
ktSelect: '',
keyword: '',
keywordList: [],
@@ -56,10 +60,15 @@
},
menus: {
device: [
- { type: "1", typename: "视频设备", total: "111" },
- { type: "2", typename: "门禁设备", total: "111" }
+ { type: "1", typename: "视频设备", total: "0" },
+ { type: "2", typename: "门禁设备", total: "0" }
]
- }
+ },
+ markerList: [],
+ markerBakList: [],
+ videoIcon: require('@/assets/images/icon/视频云/枪机未赋能在线.png'),
+ controlIcon: require('@/assets/images/icon/一卡通/门禁.png'),
+
}
},
mounted() {
@@ -70,55 +79,25 @@
name: 'jy',
autoFlyto: true,
})
- eventBus.$emit('change-layer', { id: 1, checked: false });
- eventBus.$emit('change-layer', { id: 2, checked: false });
- eventBus.$emit('change-layer', { id: 3, checked: false });
- eventBus.$emit('change-layer', { id: 4, checked: false });
- eventBus.$emit('change-layer', { id: 5, checked: true });
- eventBus.$emit('change-layer', { id: 41, checked: true });
- eventBus.$emit('change-layer', { id: 21, checked: true });
- eventBus.$emit('change-layer', { id: 12, checked: true });
- // // 教育模型
- // window.pmtsManager.add({
- // id: "智慧教育-手工模型",
- // url: mapJson.CIM4["智慧教育-手工模型"],
- // show: true,
- // maximumScreenSpaceError: 32,
- // maximumMemoryUsage: 64,
- // maximumAbsoluteMemoryUsage: 8192,
- // autoFlyto: true
- // },
- // undefined
- // )
- // // CIM2 楼
- // window.pmtsManager.add({
- // url: mapJson['CIM2']['CIM2建筑(带纹理)'],
- // show: true,
- // name: 'CIM2建筑(带纹理)',
- // autoFlyto: false
- // })
- // window.pmtsManager.add({
- // url: mapJson['CIM2']['CIM2建筑(带纹理)'],
- // show: true,
- // name: 'CIM2建筑(带纹理)',
- // autoFlyto: false,
- // alpha: 0.5,
- // color: '#002d7a'
- // })
- // for(let key in modelJson) {
- // window.pmtsManager.add({
- // id: key,
- // // url: mapJson.CIM4["智慧教育-手工模型"],
- // url: modelJson[key],
- // show: true,
- // maximumScreenSpaceError: 32,
- // maximumMemoryUsage: 64,
- // maximumAbsoluteMemoryUsage: 8192,
- // autoFlyto: true
- // },
- // undefined
- // )
- // }
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: true }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: false });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: false });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: true }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
+
+ // 清除弹窗展示
+ this.$bus.$on('clear', () => {
+ this.isShow = false
+ this.showDevice = false
+
+ })
},
methods: {
async btnClick(e) {
@@ -126,6 +105,7 @@
clearUpMap(true)
initPosition()
this.isShow = false
+ this.showDevice = false
this.selectIndex = e.target.id
switch (this.selectIndex) {
case "schoolBtn":
@@ -194,10 +174,121 @@
},
// 搜索学校设备
searchDevice() {
- getDevice({}).then(res => {
- console.log('学校数据')
+ getDevice({ keywords: '' }).then(res => {
+ this.markerList = [
+ {
+ "name": "设备1",
+ "lon": "114.859995",
+ "location": "江西省赣州市南康区三江乡",
+ "id": "1676397864375291905",
+ "lat": "25.802129",
+ "type": "1",
+ "typename": "视频设备",
+ statusName: '正常',
+ time: '2025-06-16 09:05:05',
+ in: '0',
+ out: '0',
+ },
+ {
+ "name": "设备2",
+ "lon": "114.861027",
+ "location": "江西省赣州市章贡区潭六路135号靠近逸夫小学",
+ "id": "1676398916763914241",
+ "lat": "25.757553",
+ "type": "2",
+ "typename": "门禁设备",
+ statusName: '正常',
+ time: '2025-06-16 09:05:05',
+ in: '0',
+ out: '0',
+ },
+ {
+ "name": "设备3",
+ "lon": "114.880246",
+ "location": "江西省赣州市章贡区潭东镇弘腾路毅德城",
+ "id": "1676414593390350337",
+ "lat": "25.753119",
+ "type": "1",
+ "typename": "视频设备",
+ statusName: '正常',
+ time: '2025-06-16 09:05:05',
+ in: '0',
+ out: '0',
+ },
+ {
+ "name": "设备4",
+ "lon": "114.879855",
+ "location": "江西省赣州市章贡区潭东镇弘腾路毅德城",
+ "id": "1676414955455254529",
+ "lat": "25.752771",
+ "type": "1",
+ "typename": "视频设备",
+ statusName: '正常',
+ time: '2025-06-16 09:05:05',
+ in: '0',
+ out: '0',
+ },
+ {
+ "name": "设备5",
+ "lon": "114.875438",
+ "location": "江西省赣州市章贡区潭东镇弘腾路毅德城",
+ "id": "1676418661630349312",
+ "lat": "25.748733",
+ "type": "2",
+ "typename": "门禁设备",
+ statusName: '正常',
+ time: '2025-06-16 09:05:05',
+ in: '0',
+ out: '0',
+ },
+ {
+ "name": "设备6",
+ "lon": "114.867371",
+ "location": "江西省赣州市章贡区105国道135号靠近松岭上",
+ "id": "1676422908220542977",
+ "lat": "25.750388",
+ "typename": "2",
+ "typename": "门禁设备",
+ statusName: '正常',
+ time: '2025-06-16 09:05:05',
+ in: '0',
+ out: '0',
+ },
+ ]
+ this.markerBakList = JSON.parse(JSON.stringify(this.markerList))
+ this.menus.device[0].total = this.markerList.filter((item) => item.type === '1').length
+ this.menus.device[1].total = this.markerList.filter((item) => item.type === '2').length
+ // 绘制点位
+ this.markerList.forEach((item) => {
+ AddLabelPoint(
+ item.id,
+ `${item.name}`,
+ item.type === '1' ? this.videoIcon : this.controlIcon,
+ [item.lon, item.lat, 0], 'yl-dev', item,
+ this.clickDevice)
+ })
})
- }
+ },
+ menuClick(e) {
+ clearResetMap()
+ this.markerList = this.markerBakList.filter(item => item.type === e.type)
+ this.markerList.forEach((item) => {
+ AddLabelPoint(
+ item.id,
+ `${item.name}`,
+ item.type === '1' ? this.videoIcon : this.controlIcon,
+ [item.lon, item.lat, 0], 'yl-dev', item,
+ this.clickDevice)
+ })
+ },
+ // 设备点位点击
+ clickDevice(eventArg) {
+ const item = eventArg._data.data
+ this.showDevice = true
+ this.$nextTick(() => {
+ this.$refs.deviceRef.initData(item)
+ })
+ },
}
}
diff --git a/src/pages/ywts/shms/sq/carPop.vue b/src/pages/ywts/shms/sq/carPop.vue
new file mode 100644
index 0000000..b1fe4c3
--- /dev/null
+++ b/src/pages/ywts/shms/sq/carPop.vue
@@ -0,0 +1,275 @@
+
+
+
+
+
+
+
+ 名称: {{
+ gdInfo.name }}
+ 位置: {{
+ gdInfo.location }}
+ 车辆数量: {{ gdInfo.carNum
+ }}
+ 停车位: {{ gdInfo.parkSpaceNum }}
+
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/ywts/shms/sq/communityPop.vue b/src/pages/ywts/shms/sq/communityPop.vue
new file mode 100644
index 0000000..eb6bf07
--- /dev/null
+++ b/src/pages/ywts/shms/sq/communityPop.vue
@@ -0,0 +1,212 @@
+
+
+
+
+
+
{{ name }}
+
位置:{{ position
+ }}
+
+
+
+
+
+
{{ item.total }}
+
{{ item.name }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/api/ywts/shms/jy.js b/src/api/ywts/shms/jy.js
index f3ac251..56f48e3 100644
--- a/src/api/ywts/shms/jy.js
+++ b/src/api/ywts/shms/jy.js
@@ -116,7 +116,7 @@
return request({
url: 'zhjy-gktj/zhjy/sbdwlb',
method: 'post',
- data,
+ // data,
params: data
})
}
diff --git a/src/api/ywts/shms/sq.js b/src/api/ywts/shms/sq.js
new file mode 100644
index 0000000..04a5447
--- /dev/null
+++ b/src/api/ywts/shms/sq.js
@@ -0,0 +1,123 @@
+/**
+ * 社区接口
+ */
+import request from '@/utils/request'
+
+// 社区点位列表
+export function getCommunityList() {
+ return request({
+ url: 'zhsq-gktj/zhsq/sqdwlb',
+ method: 'post',
+ })
+}
+
+// 人员热力图
+export function getHeat() {
+ return request({
+ url: 'zhsq-gktj/zhsq/sqyyrlt',
+ method: 'post',
+ })
+}
+
+// 设备点位
+export function getDevice() {
+ return request({
+ url: 'zhsq-gktj/zhsq/sbdwlb',
+ method: 'post',
+ params: {
+ type: '',
+ keywords: ''
+ }
+ })
+}
+
+// 社区车辆
+export function getCar() {
+ return request({
+ url: 'zhsq-gktj/zhsq/sqbyl',
+ method: 'post',
+ })
+}
+
+// 事件点位列表
+export function getCase(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/sjdwlb',
+ method: 'post',
+ params:{
+ ...data
+ }
+ })
+}
+
+// 事件详情
+export function getCaseList(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/zjlbfy',
+ method: 'post',
+ params:{
+ ...data
+ }
+ })
+}
+// 获取社区基本信息
+export function getBaseInfo(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/sqdwxq',
+ method: 'post',
+ params:{
+ ...data
+ },
+ // data
+ })
+}
+// 居民年龄统计
+export function getAgeStatistics(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/jmnltj',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
+// 居民流动比例
+export function getCurrentRatio(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/jmldbl',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
+// 近1年人房车占比统计
+export function getPersonCarRatio(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/rfczbtj',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
+// 近1月居民通行量分析
+export function getTransitrRatio(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/jmtxlfx',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
+// 近1月高频事件排行榜
+export function getCaseRank(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/gpsjphb',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
diff --git a/src/api/ywts/zyhj/hb.js b/src/api/ywts/zyhj/hb.js
index 5e598d1..07625d1 100644
--- a/src/api/ywts/zyhj/hb.js
+++ b/src/api/ywts/zyhj/hb.js
@@ -8,7 +8,10 @@
return request({
url: 'zhhb-gktj/zhhb/gktj',
method: 'post',
- data
+ data,
+ params: {
+ ...data,
+ }
})
}
// 环保点位列表
@@ -19,3 +22,26 @@
data
})
}
+// 环保告警列表
+export function getAlarmList(data) {
+ return request({
+ url: 'zhhb-gktj/zhhb/hbgjlb',
+ method: 'post',
+ // data
+ params: {
+ ...data
+ }
+ })
+}
+
+// 环保事件列表
+export function getCaseList(data) {
+ return request({
+ url: 'zhhb-gktj/zhhb/hbsjlbfy',
+ method: 'post',
+ // data
+ params: {
+ ...data
+ }
+ })
+}
diff --git a/src/api/ywts/zyhj/yl.js b/src/api/ywts/zyhj/yl.js
index 63d7ad2..643e3d4 100644
--- a/src/api/ywts/zyhj/yl.js
+++ b/src/api/ywts/zyhj/yl.js
@@ -88,6 +88,9 @@
url: 'zhyl-gktjljk/zhyl/sjxq',
method: 'post',
data,
+ params: {
+ ...data,
+ }
})
}
// 苗木点位列表
diff --git a/src/components/CommonFunction/index.vue b/src/components/CommonFunction/index.vue
index 1a10acb..c2eba44 100644
--- a/src/components/CommonFunction/index.vue
+++ b/src/components/CommonFunction/index.vue
@@ -5,8 +5,8 @@
@click="btnClick" />
-
+
@@ -21,7 +21,7 @@
import CommonBtn from "../CommonBtn";
import { clearUpMap } from '@/utils/freedo/index'
-import { initPosition, initPage } from "../../utils/freedo";
+import { initPosition, initPage } from "../../utils/freedo";
import mapJson from "@/assets/mapJson/map.json";
import { eventBus } from "../../main";
@@ -59,11 +59,11 @@
disabled: true,
"children": [
{ "id": 41, "label": "智慧教育-手工模型", disabled: true },
- { "id": 42, "label": "智慧停车云-手工模型", disabled: true },
- { "id": 43, "label": "智慧社区-手工模型", disabled: true },
- { "id": 44, "label": "智慧工地-手工模型", disabled: true },
- { "id": 45, "label": "智慧交通-手工模型", disabled: true },
- { "id": 46, "label": "智慧园林-手工模型", disabled: true }
+ { "id": 42, "label": "智慧停车云-手工模型", disabled: true },
+ { "id": 43, "label": "智慧社区-手工模型", disabled: true },
+ { "id": 44, "label": "智慧工地-手工模型", disabled: true },
+ { "id": 45, "label": "智慧交通-手工模型", disabled: true },
+ { "id": 46, "label": "智慧园林-手工模型", disabled: true }
]
}, {
"id": 5,
@@ -95,8 +95,8 @@
setTimeout(() => {
this.tree.forEach((item) => {
item.disabled = false
- if(item.children) {
- item.children = item.children.map((item) => ({ ...item,disabled: false}))
+ if (item.children) {
+ item.children = item.children.map((item) => ({ ...item, disabled: false }))
}
})
}, 5000)
@@ -125,7 +125,7 @@
handler(data, checked, indeterminate)
}
else {
- if(data.id.toString() === '5' && checked) {
+ if (data.id.toString() === '5' && checked) {
window.terrainManager.visible = true
return
}
@@ -143,14 +143,18 @@
},
btnClick(e) {
this.showLayerTree = false
+ this.clearDialog()
if (e.target.id === 'initBtn') {
initPosition()
} else if (e.target.id === 'clearBtn') {
clearUpMap()
} else if (e.target.id === 'layerBtn') {
- // clearUpMap()
this.showLayerTree = true
}
+ },
+ // 清空地图弹窗
+ clearDialog() {
+ this.$bus.$emit('clear')
}
}
}
@@ -178,7 +182,7 @@
right: 20px;
top: 1rem;
display: flex;
- width: 20rem;
+ width: 15rem;
height: 5rem;
z-index: 1111111111;
}
diff --git a/src/pages/csdz/iot/index.vue b/src/pages/csdz/iot/index.vue
index 63b60ea..8aefaea 100644
--- a/src/pages/csdz/iot/index.vue
+++ b/src/pages/csdz/iot/index.vue
@@ -259,8 +259,8 @@
localPoint(e) {
// this.childrenClick(e)
this.clickIcon({
- _data:{
- data:e
+ _data: {
+ data: e
}
})
},
@@ -280,6 +280,11 @@
},
mounted() {
this.search()
+ this.$bus.$on('clear', () => {
+ this.isShowEvent = false
+ this.isShowEventPop = false
+ this.isShowPop = false
+ })
// getStatistics().then(res => {
// if (res.code === 200 && res.data.value.length) {
// console.log(res.data, '')
diff --git a/src/pages/csdz/smartCard/index.vue b/src/pages/csdz/smartCard/index.vue
index 48721f7..32573d2 100644
--- a/src/pages/csdz/smartCard/index.vue
+++ b/src/pages/csdz/smartCard/index.vue
@@ -112,6 +112,7 @@
btnClick(e) {
clearResetMap()
this.selectIndex = e.target.id
+ this.isShowPop = false
if (this.selectIndex === 'publicBtn') {
// 绘制热力图
heat([
@@ -870,6 +871,10 @@
getStatistics({}).then(res => {
console.log(res.data, '一卡通')
})
+ this.$bus.$on('clear', () => {
+ this.isShowPop = false
+ this.isShowEvent = false
+ })
}
}
diff --git a/src/pages/csdz/videoCloud/index.vue b/src/pages/csdz/videoCloud/index.vue
index 4b8d110..81530d5 100644
--- a/src/pages/csdz/videoCloud/index.vue
+++ b/src/pages/csdz/videoCloud/index.vue
@@ -695,6 +695,11 @@
},
mounted() {
this.drawSence()
+ this.$bus.$on('clear', () => {
+ this.isShowPop = false
+ this.isShowEvent = false
+ this.isShowEventPop = false
+ })
}
}
diff --git a/src/pages/ywts/cszl/gd/index.vue b/src/pages/ywts/cszl/gd/index.vue
index e9be7b0..35ee8d7 100644
--- a/src/pages/ywts/cszl/gd/index.vue
+++ b/src/pages/ywts/cszl/gd/index.vue
@@ -1,30 +1,23 @@
-
-
+
+
@@ -34,7 +27,7 @@
import TimeManager from "@/components/TimeManager";
import GdPop from "./gdPop";
import { heat } from '@/utils/freedo/heat'
-import { clearUpMap, clearResetMap ,AddLabelPoint, initPosition } from '@/utils/freedo'
+import { clearUpMap, clearResetMap, AddLabelPoint, initPosition } from '@/utils/freedo'
import {
getHeat,
getArea,
@@ -43,17 +36,17 @@
getStatistics,
getCasePointList, getCaseInfo
} from "../../../../api/ywts/cszl/gd";
-import {AddDivPointCase, AddDivPointHighlight, AddLabel, focusPoint} from "../../../../utils/freedo";
+import { AddDivPointCase, AddDivPointHighlight, AddLabel, focusPoint } from "../../../../utils/freedo";
import ListPage from "@/components/ListPage";
import KeywordManager from "../../../../components/KeywordManager";
import gridJson from "@/assets/mapJson/grid.json";
import mapJson from "@/assets/mapJson/map.json";
-import {eventBus} from "../../../../main";
+import { eventBus } from "../../../../main";
export default {
name: 'Gd',
- components: {KeywordManager, GdPop, TimeManager, LayerManagerMix, ListPage, CommonBtn },
+ components: { KeywordManager, GdPop, TimeManager, LayerManagerMix, ListPage, CommonBtn },
data() {
return {
isListPage: false,
@@ -73,19 +66,19 @@
caseTotal: 0,
layerManager: null,
caseIcon: {
- 1: require('@/assets/images/icon/事件/已撤案.png'),
- 2: require('@/assets/images/icon/事件/指派中.png'),
- 3: require('@/assets/images/icon/事件/处置中.png'),
- 4: require('@/assets/images/icon/事件/已办结.png'),
- 5: require('@/assets/images/icon/事件/已结案.png'),
- },
+ 1: require('@/assets/images/icon/事件/已撤案.png'),
+ 2: require('@/assets/images/icon/事件/指派中.png'),
+ 3: require('@/assets/images/icon/事件/处置中.png'),
+ 4: require('@/assets/images/icon/事件/已办结.png'),
+ 5: require('@/assets/images/icon/事件/已结案.png'),
+ },
caseColor: {
- 1: '#ffffff88',
- 2: '#fdeb5688',
- 3: '#85c8ff88',
- 4: '#ffba7488',
- 5: '#87f6b388',
- },
+ 1: '#ffffff88',
+ 2: '#fdeb5688',
+ 3: '#85c8ff88',
+ 4: '#ffba7488',
+ 5: '#87f6b388',
+ },
time: {
startTime: '',
endTime: '',
@@ -105,10 +98,10 @@
name: '工地设备',
value: 'device'
}
- // , {
- // name: '环监设备',
- // value: 'others'
- // }
+ // , {
+ // name: '环监设备',
+ // value: 'others'
+ // }
],
menus: {
device: [
@@ -122,7 +115,7 @@
},
mounted() {
getStatistics().then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
this.menus.device = response.data.value
}
})
@@ -135,28 +128,24 @@
autoFlyto: true,
})
- eventBus.$emit('change-layer', { id:1, checked: false});
- eventBus.$emit('change-layer', { id:2, checked: false});
- eventBus.$emit('change-layer', { id:3, checked: false});
- eventBus.$emit('change-layer', { id:4, checked: false});
- eventBus.$emit('change-layer', { id:5, checked: true});
- eventBus.$emit('change-layer', { id:44, checked: true});
- eventBus.$emit('change-layer', { id:21, checked: true});
- eventBus.$emit('change-layer', { id:12, checked: true});
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: false }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: true });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: false });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: true }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
-
- // window.pmtsManager.add({
- // id: "智慧工地-手工模型",
- // url: mapJson.CIM4["智慧工地-手工模型"],
- // show: true,
- // maximumScreenSpaceError: 32,
- // maximumMemoryUsage: 64,
- // maximumAbsoluteMemoryUsage: 8192,
- // autoFlyto: true
- // },
- // undefined
- // )
- // window.terrainManager.visible = true
+ // 清除弹窗展示
+ this.$bus.$on('clear', () => {
+ this.isListPage = false
+ this.isShow = false
+ })
},
methods: {
async btnClick(e) {
@@ -179,7 +168,7 @@
break
case "personBtn":
getHeat().then(res => {
- if(res.code === 200) {
+ if (res.code === 200) {
console.log(res.data, '热力')
const arr = res.data.value.filter(item => item.lng !== "" && item.lng !== null)
// arr.splice(0,1) // todo: 测试第一个错误数据
@@ -192,17 +181,17 @@
// 设备图层控制
layer(item) {
// clearUpMap(true)
- const iconOnline = require('@/assets/images/icon/工地地图点位/'+item.typename.replace(/ /g,'')+'在线.png')
- const iconOffline = require('@/assets/images/icon/工地地图点位/'+item.typename.replace(/ /g,'')+'离线.png')
- getDevList({type: item.type}).then(response => {
- if(response.code === 200) {
+ const iconOnline = require('@/assets/images/icon/工地地图点位/' + item.typename.replace(/ /g, '') + '在线.png')
+ const iconOffline = require('@/assets/images/icon/工地地图点位/' + item.typename.replace(/ /g, '') + '离线.png')
+ getDevList({ type: item.type }).then(response => {
+ if (response.code === 200) {
clearUpMap(true)
this.keywordList = response.data.value
response.data.value.forEach(item => {
AddLabelPoint(
item.id,
'',
- item.status === '1'? iconOnline: iconOffline,
+ item.status === '1' ? iconOnline : iconOffline,
[item.lon, item.lat, 0], 'gd-dev', item,
null)
})
@@ -216,23 +205,23 @@
// keywords: this.keyword
}
getCasePointList(param).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
clearUpMap(true)
const data = []
response.data.value.forEach(item => {
- if(!data.map(da => da.id).includes(item.id) && !data.map(da => da.lon).includes(item.lon) && item.id !== null) {
+ if (!data.map(da => da.id).includes(item.id) && !data.map(da => da.lon).includes(item.lon) && item.id !== null) {
data.push(item)
}
})
this.keywordList = data
data.forEach(item => {
// if(item.total === '1') {
- AddLabelPoint(
- item.id,
- '',
- this.caseIcon[item.eventstatus],
- [item.lon, item.lat, 0], 'gd-case', item,
- this.clickCase)
+ AddLabelPoint(
+ item.id,
+ '',
+ this.caseIcon[item.eventstatus],
+ [item.lon, item.lat, 0], 'gd-case', item,
+ this.clickCase)
// } else {
// AddDivPointCase(item, this.caseColor[item.status], item.total, this.clickCase)
// }
@@ -244,8 +233,8 @@
search() {
const iconDone = require('@/assets/images/icon/工地地图点位/工地已完成.png')
const iconDoing = require('@/assets/images/icon/工地地图点位/工地进行中.png')
- getArea({keywords: this.keyword}).then(response => {
- if(response.code === 200) {
+ getArea({ keywords: this.keyword }).then(response => {
+ if (response.code === 200) {
clearUpMap(true)
this.keywordList = response.data.value
response.data.value.forEach(item => {
@@ -254,7 +243,7 @@
AddLabelPoint(
item.id,
item.name,
- item.status === '2' ? iconDoing: iconDone,
+ item.status === '2' ? iconDoing : iconDone,
[item.lon, item.lat, 0], 'gd', item,
this.clickGd)
})
@@ -265,8 +254,8 @@
score() {
const iconDone = require('@/assets/images/icon/工地地图点位/工地已完成.png')
const iconDoing = require('@/assets/images/icon/工地地图点位/工地进行中.png')
- getArea({keywords: this.keyword}).then(response => {
- if(response.code === 200) {
+ getArea({ keywords: this.keyword }).then(response => {
+ if (response.code === 200) {
this.keywordList = response.data.value
response.data.value.forEach(item => {
// console.log(item,'321123')
@@ -280,8 +269,8 @@
})
}
})
- getMonthGdScore({keywords: this.keyword}).then(response => {
- if(response.code === 200) {
+ getMonthGdScore({ keywords: this.keyword }).then(response => {
+ if (response.code === 200) {
response.data.value.filter(item => item.lng !== "" && item.lng !== null).forEach(item => {
AddLabel(
item.id,
@@ -304,7 +293,7 @@
clickCase(eventArg) {
const item = eventArg._data.data
// 恢复上一个marker
- if(this.preCase !== null ) {
+ if (this.preCase !== null) {
window.mmManager.removeById(this.preCase.id)
AddLabelPoint(
this.preCase.id,
@@ -313,7 +302,7 @@
[this.preCase.lon, this.preCase.lat, 0], 'gd-case', this.preCase,
this.clickCase)
}
- if(item.total === '1') {
+ if (item.total === '1') {
// 保存当前marker
this.preCase = item
// 高亮当前marker
@@ -323,7 +312,7 @@
this.preCase = null
}
// 查询事件详情
- this.caseTotal = Number(item.total)
+ this.caseTotal = Number(item.total)
this.isListPage = true
this.$refs.caseListPage.initDialog()
this.caseListQuery = {
@@ -345,16 +334,16 @@
searchCaseMarkerList() {
// getCaseInfo(this.caseListQuery).then(response => {
getCaseInfo(this.caseListQuery).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
console.log(response.data.value)
// 右侧看板
- this.caseList = response.data.value
+ this.caseList = response.data.value
}
})
},
handleTimeRange(time) {
this.isListPage = false
- if(this.time.startTime !== '') {
+ if (this.time.startTime !== '') {
this.time = time
this.casePoint()
} else {
diff --git a/src/pages/ywts/cszl/hw/index.vue b/src/pages/ywts/cszl/hw/index.vue
index e773b7d..ed28bc6 100644
--- a/src/pages/ywts/cszl/hw/index.vue
+++ b/src/pages/ywts/cszl/hw/index.vue
@@ -31,6 +31,7 @@
import ListPage from "@/components/ListPage";
import { getPlacePointList, getOverviewStatistics, getPersonList, getCarList, getCaseList, getCaseInfo } from '@/api/ywts/cszl/hw'
import { iconFilter, iconPerson, personList, carList, iconCar } from './data'
+import { eventBus } from "../../../../main";
export default {
name: 'Hw',
components: { TimeManager, LayerManagerMix, ListPage, CommonBtn, Pop },
@@ -94,7 +95,25 @@
},
mounted() {
clearResetMap()
+ this.selectInde = 'deviceBtn'
this.fetchPoint()
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: false }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: false });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: false });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: false }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
+ // 清除弹窗展示
+ this.$bus.$on('clear', () => {
+ this.isListPage = false
+ this.showPop = false
+ })
},
methods: {
async btnClick(e) {
@@ -263,17 +282,17 @@
// this.caseList = res.data.value || []
// this.caseTotal = this.caseList.length
res.data.value.forEach(item => {
- AddLabelPoint(
- item.id.replaceAll('.', ''),
- '',
- this.caseIcon[item.status],
- [item.lon, item.lat, 0], 'gd-case', item,
- this.clickCase)
- })
+ AddLabelPoint(
+ item.id.replaceAll('.', ''),
+ '',
+ this.caseIcon[item.status],
+ [item.lon, item.lat, 0], 'gd-case', item,
+ this.clickCase)
+ })
})
},
- // 点击事件icon
- clickCase(eventArg) {
+ // 点击事件icon
+ clickCase(eventArg) {
const item = eventArg._data.data
// 恢复上一个marker
if (this.preCase !== null) {
@@ -306,11 +325,11 @@
getCaseInfo(this.caseListQuery).then(res => {
console.log(res.data, '事件详情')
this.caseList = res.data.value || []
- this.caseTotal = this.caseList.length
+ this.caseTotal = this.caseList.length
})
},
- // 事件换页
- changePage(val) {
+ // 事件换页
+ changePage(val) {
if (val && val.page) {
this.caseListQuery.pageNo = val.page
}
diff --git a/src/pages/ywts/cszl/jt/index.vue b/src/pages/ywts/cszl/jt/index.vue
index fb1ce91..ef5938c 100644
--- a/src/pages/ywts/cszl/jt/index.vue
+++ b/src/pages/ywts/cszl/jt/index.vue
@@ -1,15 +1,21 @@
-
+
@@ -26,8 +32,9 @@
getStatistics,
getCasePointList, getCaseInfo
} from "../../../../api/ywts/cszl/gd";
-import {AddDivPointHighlight, AddLabel} from "../../../../utils/freedo";
+import { AddDivPointHighlight, AddLabel } from "../../../../utils/freedo";
import ListPage from "@/components/ListPage";
+import { eventBus } from "../../../../main";
export default {
name: 'Jt',
@@ -47,19 +54,19 @@
},
caseTotal: 0,
caseIcon: {
- 1: require('@/assets/images/icon/事件/已撤案.png'),
- 2: require('@/assets/images/icon/事件/指派中.png'),
- 3: require('@/assets/images/icon/事件/处置中.png'),
- 4: require('@/assets/images/icon/事件/已办结.png'),
- 5: require('@/assets/images/icon/事件/已结案.png'),
- },
+ 1: require('@/assets/images/icon/事件/已撤案.png'),
+ 2: require('@/assets/images/icon/事件/指派中.png'),
+ 3: require('@/assets/images/icon/事件/处置中.png'),
+ 4: require('@/assets/images/icon/事件/已办结.png'),
+ 5: require('@/assets/images/icon/事件/已结案.png'),
+ },
caseColor: {
- 1: '#ffffff',
- 2: '#fdeb56',
- 3: '#85c8ff',
- 4: '#ffba74',
- 5: '#87f6b3',
- },
+ 1: '#ffffff',
+ 2: '#fdeb56',
+ 3: '#85c8ff',
+ 4: '#ffba74',
+ 5: '#87f6b3',
+ },
time: {
startTime: '',
endTime: '',
@@ -81,10 +88,10 @@
name: '基础设施',
value: 'place'
}
- // , {
- // name: '环监设备',
- // value: 'others'
- // }
+ // , {
+ // name: '环监设备',
+ // value: 'others'
+ // }
],
menus: {
place: [
@@ -98,11 +105,27 @@
},
mounted() {
getStatistics().then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
this.menus.place = response.data.value
}
})
this.search()
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: false }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: false });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: true });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: true }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
+ // 清除弹窗展示
+ this.$bus.$on('clear', () => {
+ this.isListPage = false
+ })
},
methods: {
async btnClick(e) {
@@ -121,16 +144,16 @@
// 设备图层控制
layer(item) {
// clearUpMap()
- const iconOnline = require('@/assets/images/icon/工地地图点位/'+item.typename.replace(/ /g,'')+'在线.png')
- const iconOffline = require('@/assets/images/icon/工地地图点位/'+item.typename.replace(/ /g,'')+'离线.png')
- getDevList({type: item.type}).then(response => {
- if(response.code === 200) {
+ const iconOnline = require('@/assets/images/icon/工地地图点位/' + item.typename.replace(/ /g, '') + '在线.png')
+ const iconOffline = require('@/assets/images/icon/工地地图点位/' + item.typename.replace(/ /g, '') + '离线.png')
+ getDevList({ type: item.type }).then(response => {
+ if (response.code === 200) {
clearUpMap()
response.data.value.forEach(item => {
AddLabelPoint(
item.id,
'',
- item.status === '1'? iconOnline: iconOffline,
+ item.status === '1' ? iconOnline : iconOffline,
[item.lon, item.lat, 0], 'gd-place', item,
null)
})
@@ -141,11 +164,11 @@
casePoint() {
console.log(this.time)
getCasePointList(this.time).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
clearUpMap()
const data = []
response.data.value.forEach(item => {
- if(!data.map(da => da.id).includes(item.id) && !data.map(da => da.lon).includes(item.lon) && item.id !== null) {
+ if (!data.map(da => da.id).includes(item.id) && !data.map(da => da.lon).includes(item.lon) && item.id !== null) {
data.push(item)
}
})
@@ -165,7 +188,7 @@
const iconDone = require('@/assets/images/icon/工地地图点位/工地已完成.png')
const iconDoing = require('@/assets/images/icon/工地地图点位/工地进行中.png')
getArea({}).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
clearUpMap()
response.data.value.forEach(item => {
// console.log(item.areaboundary)
@@ -173,7 +196,7 @@
AddLabelPoint(
item.id,
item.name,
- item.status === '2' ? iconDoing: iconDone,
+ item.status === '2' ? iconDoing : iconDone,
[item.lon, item.lat, 0], 'gd', item,
this.clickHw)
})
@@ -183,7 +206,7 @@
// 智慧工地-工地近1月综合得分
score() {
getArea({}).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
response.data.value.forEach(item => {
console.log(item.areaboundary)
// todo : 画范围
@@ -195,7 +218,7 @@
clickCase(eventArg) {
const item = eventArg._data.data
// 恢复上一个marker
- if(this.preCase !== null ) {
+ if (this.preCase !== null) {
window.mmManager.removeById(this.preCase.id)
AddLabelPoint(
this.preCase.id,
@@ -231,13 +254,13 @@
searchCaseMarkerList() {
// getCaseInfo(this.caseListQuery).then(response => {
getCaseInfo(this.caseListQuery).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
console.log(response.data.value)
// 右侧看板
- this.caseList = response.data.value
+ this.caseList = response.data.value
// todo
// this.caseTotal = response.data.value.length
- this.caseTotal = 12
+ this.caseTotal = 12
}
})
},
@@ -246,7 +269,7 @@
},
handleTimeRange(time) {
this.isListPage = false
- if(this.time.startTime !== '') {
+ if (this.time.startTime !== '') {
this.time = time
this.casePoint()
} else {
diff --git a/src/pages/ywts/cszl/jxh/index.vue b/src/pages/ywts/cszl/jxh/index.vue
index a3703db..0f23aaa 100644
--- a/src/pages/ywts/cszl/jxh/index.vue
+++ b/src/pages/ywts/cszl/jxh/index.vue
@@ -1,26 +1,24 @@
-
-
+
+
@@ -44,14 +42,15 @@
getAll,
getCaseInfo, getBoard
} from "../../../../api/ywts/cszl/jxh";
-import {AddDivPointCase, AddDivPointHighlight, AddOnlyLabel, AddPolygon} from "../../../../utils/freedo";
+import { AddDivPointCase, AddDivPointHighlight, AddOnlyLabel, AddPolygon } from "../../../../utils/freedo";
import ListPage from "@/components/ListPage";
-import {getGridInfo, getGridToken} from "../../../../api/common";
+import { getGridInfo, getGridToken } from "../../../../api/common";
import JxhPop from "./jxhPop";
+import { eventBus } from "../../../../main";
export default {
name: 'Jxh',
- components: {JxhPop, LayerManager, TimeManager, KeywordManager, CommonBtn, ListPage },
+ components: { JxhPop, LayerManager, TimeManager, KeywordManager, CommonBtn, ListPage },
data() {
return {
preCase: null,
@@ -128,6 +127,22 @@
}
},
mounted() {
+ this.$bus.$on('clear', () => {
+ this.isListPage = false
+ this.isShow = false
+ })
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: false }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: false });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: false });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: false }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
// 全部事件
getAll({
// urgent: '0',
@@ -135,8 +150,8 @@
// high: '0',
startTime: this.time.startTime,
endTime: this.time.endTime,
- }).then( res => {
- if(res.code === 200) {
+ }).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
@@ -154,7 +169,7 @@
caseMarker(res) {
res.data.value.forEach(item => {
// console.log(item.status)
- if(item.total === '1') {
+ if (item.total === '1') {
AddLabelPoint(
item.id,
'',
@@ -180,24 +195,24 @@
switch (e.bigtype) {
case 'source':
query.sourceId = e.type
- getSourceList(query).then( res => {
- if(res.code === 200) {
+ getSourceList(query).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
break
case 'project':
query.projectId = e.type
- getProjectList(query).then( res => {
- if(res.code === 200) {
+ getProjectList(query).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
break
case 'grid':
query.gridType = e.type
- getGridList(query).then( res => {
- if(res.code === 200) {
+ getGridList(query).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
@@ -208,7 +223,7 @@
clickCase(eventArg) {
const item = eventArg._data.data
// 恢复上一个marker
- if(this.preCase !== null ) {
+ if (this.preCase !== null) {
window.mmManager.removeById(this.preCase.id)
AddLabelPoint(
this.preCase.id,
@@ -218,7 +233,7 @@
this.clickCase)
}
- if(item.total === '1') {
+ if (item.total === '1') {
// 保存当前marker
this.preCase = item
// 高亮当前marker
@@ -229,7 +244,7 @@
}
// 查询事件详情
- this.caseTotal = Number(item.total)
+ this.caseTotal = Number(item.total)
this.caseList = []
this.isListPage = true
this.hasUrge = false
@@ -263,13 +278,13 @@
// high: '0',
startTime: this.time.startTime,
endTime: this.time.endTime,
- }).then( res => {
- if(res.code === 200) {
+ }).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
// 事件看板
- this.caseTotal = 1000 // todo
+ this.caseTotal = 1000 // todo
this.caseList = []
this.isListPage = true
this.hasUrge = true
@@ -292,8 +307,8 @@
high: '1',
startTime: this.time.startTime,
endTime: this.time.endTime,
- }).then( res => {
- if(res.code === 200) {
+ }).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
@@ -306,8 +321,8 @@
// high: '0',
startTime: this.time.startTime,
endTime: this.time.endTime,
- }).then( res => {
- if(res.code === 200) {
+ }).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
@@ -317,7 +332,7 @@
break
case "caseHeatBtn":
getHeat(this.time).then(res => {
- if(res.code === 200) {
+ if (res.code === 200) {
heat(res.data.value) // 热力图
}
})
@@ -326,29 +341,29 @@
},
gridDraw(token, areaCode) {
const colors = [
- [0,234,255,0.47],
- [255,185,0,0.47],
- [255,234,0,0.47],
- [209,0,255,0.47],
- [255,0,38,0.47],
+ [0, 234, 255, 0.47],
+ [255, 185, 0, 0.47],
+ [255, 234, 0, 0.47],
+ [209, 0, 255, 0.47],
+ [255, 0, 38, 0.47],
]
getGridInfo({
paramCodeList: 'KJ5001',
areaCode,
token
- }).then( res => {
+ }).then(res => {
console.log(res)
res.data.chirdAreaInfo.forEach((item, index) => {
item._source.areainfo.coordinates.forEach(area => {
let positions = []
- let arr = item._source.areainfo.type === 'MultiPolygon' ? area[0]: area
+ let arr = item._source.areainfo.type === 'MultiPolygon' ? area[0] : area
arr.forEach(pos => {
- positions.push(Freedo.Cartesian3.fromDegrees( pos[0], pos[1],0))
+ positions.push(Freedo.Cartesian3.fromDegrees(pos[0], pos[1], 0))
})
- AddPolygon(positions,colors[index % 5], this.gridClick,item._id)
+ AddPolygon(positions, colors[index % 5], this.gridClick, item._id)
AddOnlyLabel(
'',
- item._source.areaname , //+ this.menus.grid
+ item._source.areaname, //+ this.menus.grid
[item._source.lon, item._source.lat, 0],
'', null, null)
})
@@ -364,7 +379,7 @@
secret: CryptoJS.MD5(timestamp + 'geostar999').toString()
}
- getGridToken(param).then( res => {
+ getGridToken(param).then(res => {
clearUpMap()
this.gridDraw(res.data.token, '360783001')
this.gridDraw(res.data.token, '360783002')
@@ -374,32 +389,32 @@
},
// 三个概况统计
layerSeach() {
- getSource(this.time).then( res => {
- if(res.code === 200) {
+ getSource(this.time).then(res => {
+ if (res.code === 200) {
this.menus.source = res.data.value.map(item => {
item.bigtype = 'source'
- item.type = item.id.replace(/ /g,'')
- item.typename = item.name.replace(/ /g,'')
+ item.type = item.id.replace(/ /g, '')
+ item.typename = item.name.replace(/ /g, '')
return item
})
}
})
- getProject(this.time).then( res => {
- if(res.code === 200) {
+ getProject(this.time).then(res => {
+ if (res.code === 200) {
this.menus.project = res.data.value.map(item => {
item.bigtype = 'project'
- item.type = item.id.replace(/ /g,'')
- item.typename = item.name.replace(/ /g,'')
+ item.type = item.id.replace(/ /g, '')
+ item.typename = item.name.replace(/ /g, '')
return item
})
}
})
- getGrid(this.time).then( res => {
- if(res.code === 200) {
+ getGrid(this.time).then(res => {
+ if (res.code === 200) {
this.menus.grid = res.data.value.map(item => {
item.bigtype = 'grid'
- item.type = item.id.replace(/ /g,'')
- item.typename = item.name.replace(/ /g,'')
+ item.type = item.id.replace(/ /g, '')
+ item.typename = item.name.replace(/ /g, '')
return item
})
}
@@ -410,7 +425,7 @@
if (val && val.page) {
this.caseListQuery.pageNo = val.page
}
- if(this.hasUrge) {
+ if (this.hasUrge) {
this.searchBoard()
} else {
this.searchCaseMarkerList()
@@ -419,20 +434,20 @@
// 事件看板查询
searchBoard() {
getBoard(this.caseListQuery).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
console.log(response.data.value)
// 右侧看板
- this.caseList = response.data.value
+ this.caseList = response.data.value
}
})
},
// 事件详情分页
searchCaseMarkerList() {
getCaseInfo(this.caseListQuery).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
console.log(response.data.value)
// 右侧看板
- this.caseList = response.data.value
+ this.caseList = response.data.value
}
})
},
diff --git a/src/pages/ywts/cszl/yj/index.vue b/src/pages/ywts/cszl/yj/index.vue
index 7869a73..d74dfe9 100644
--- a/src/pages/ywts/cszl/yj/index.vue
+++ b/src/pages/ywts/cszl/yj/index.vue
@@ -45,7 +45,7 @@
import { AddDivPointHighlight, AddLabel } from "../../../../utils/freedo";
import { iconFilter, deviceList, caseList } from './data'
import ListPage from "@/components/ListPage";
-
+import { eventBus } from "../../../../main";
export default {
name: 'Yj',
components: { TimeManager, LayerManagerMix, ListPage, CommonBtn, Pop },
@@ -118,14 +118,25 @@
}
},
mounted() {
- // getStatistics().then(response => {
- // if(response.code === 200) {
- // this.menus.place = response.data.value
- // }
- // })
- // this.search()
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: false }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: false });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: false });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: false }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
clearResetMap()
this.searchPlace({})
+
+ this.$bus.$on('clear', () => {
+ this.isListPage = false
+ this.showPop = false
+ })
},
methods: {
async btnClick(e) {
diff --git a/src/pages/ywts/shms/jy/devicePop.vue b/src/pages/ywts/shms/jy/devicePop.vue
new file mode 100644
index 0000000..2c44979
--- /dev/null
+++ b/src/pages/ywts/shms/jy/devicePop.vue
@@ -0,0 +1,281 @@
+
+
+
+
+
+
+
+ 设备名称: {{
+ gdInfo.name }}
+ 设备类型: {{
+ gdInfo.typename }}
+ 设备状态: {{
+ gdInfo.statusName }}
+ 设备位置: {{
+ gdInfo.location }}
+ 时间: {{ gdInfo.time
+ }}
+ 进/出人口数: {{ gdInfo.in
+ }}/{{ gdInfo.out }}
+ 是否赋能: 否
+
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/ywts/shms/jy/index.vue b/src/pages/ywts/shms/jy/index.vue
index b1eb984..f377985 100644
--- a/src/pages/ywts/shms/jy/index.vue
+++ b/src/pages/ywts/shms/jy/index.vue
@@ -6,11 +6,13 @@
+ :select="selectIndex === 'layerBtn'" @btnClick="btnClick" @menuClick="menuClick" />
+
+
@@ -29,13 +31,15 @@
import mapJson from "@/assets/mapJson/map.json";
import modelJson from "@/assets/mapJson/school.json";
import { eventBus } from "../../../../main";
+import devicePop from './devicePop.vue'
export default {
name: 'Jy',
- components: { SchoolPop, TimeManager, KeywordManager, LayerManagerMix, CommonBtn },
+ components: { SchoolPop, TimeManager, KeywordManager, LayerManagerMix, CommonBtn, devicePop },
data() {
return {
isShow: false,
+ showDevice: false,
ktSelect: '',
keyword: '',
keywordList: [],
@@ -56,10 +60,15 @@
},
menus: {
device: [
- { type: "1", typename: "视频设备", total: "111" },
- { type: "2", typename: "门禁设备", total: "111" }
+ { type: "1", typename: "视频设备", total: "0" },
+ { type: "2", typename: "门禁设备", total: "0" }
]
- }
+ },
+ markerList: [],
+ markerBakList: [],
+ videoIcon: require('@/assets/images/icon/视频云/枪机未赋能在线.png'),
+ controlIcon: require('@/assets/images/icon/一卡通/门禁.png'),
+
}
},
mounted() {
@@ -70,55 +79,25 @@
name: 'jy',
autoFlyto: true,
})
- eventBus.$emit('change-layer', { id: 1, checked: false });
- eventBus.$emit('change-layer', { id: 2, checked: false });
- eventBus.$emit('change-layer', { id: 3, checked: false });
- eventBus.$emit('change-layer', { id: 4, checked: false });
- eventBus.$emit('change-layer', { id: 5, checked: true });
- eventBus.$emit('change-layer', { id: 41, checked: true });
- eventBus.$emit('change-layer', { id: 21, checked: true });
- eventBus.$emit('change-layer', { id: 12, checked: true });
- // // 教育模型
- // window.pmtsManager.add({
- // id: "智慧教育-手工模型",
- // url: mapJson.CIM4["智慧教育-手工模型"],
- // show: true,
- // maximumScreenSpaceError: 32,
- // maximumMemoryUsage: 64,
- // maximumAbsoluteMemoryUsage: 8192,
- // autoFlyto: true
- // },
- // undefined
- // )
- // // CIM2 楼
- // window.pmtsManager.add({
- // url: mapJson['CIM2']['CIM2建筑(带纹理)'],
- // show: true,
- // name: 'CIM2建筑(带纹理)',
- // autoFlyto: false
- // })
- // window.pmtsManager.add({
- // url: mapJson['CIM2']['CIM2建筑(带纹理)'],
- // show: true,
- // name: 'CIM2建筑(带纹理)',
- // autoFlyto: false,
- // alpha: 0.5,
- // color: '#002d7a'
- // })
- // for(let key in modelJson) {
- // window.pmtsManager.add({
- // id: key,
- // // url: mapJson.CIM4["智慧教育-手工模型"],
- // url: modelJson[key],
- // show: true,
- // maximumScreenSpaceError: 32,
- // maximumMemoryUsage: 64,
- // maximumAbsoluteMemoryUsage: 8192,
- // autoFlyto: true
- // },
- // undefined
- // )
- // }
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: true }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: false });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: false });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: true }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
+
+ // 清除弹窗展示
+ this.$bus.$on('clear', () => {
+ this.isShow = false
+ this.showDevice = false
+
+ })
},
methods: {
async btnClick(e) {
@@ -126,6 +105,7 @@
clearUpMap(true)
initPosition()
this.isShow = false
+ this.showDevice = false
this.selectIndex = e.target.id
switch (this.selectIndex) {
case "schoolBtn":
@@ -194,10 +174,121 @@
},
// 搜索学校设备
searchDevice() {
- getDevice({}).then(res => {
- console.log('学校数据')
+ getDevice({ keywords: '' }).then(res => {
+ this.markerList = [
+ {
+ "name": "设备1",
+ "lon": "114.859995",
+ "location": "江西省赣州市南康区三江乡",
+ "id": "1676397864375291905",
+ "lat": "25.802129",
+ "type": "1",
+ "typename": "视频设备",
+ statusName: '正常',
+ time: '2025-06-16 09:05:05',
+ in: '0',
+ out: '0',
+ },
+ {
+ "name": "设备2",
+ "lon": "114.861027",
+ "location": "江西省赣州市章贡区潭六路135号靠近逸夫小学",
+ "id": "1676398916763914241",
+ "lat": "25.757553",
+ "type": "2",
+ "typename": "门禁设备",
+ statusName: '正常',
+ time: '2025-06-16 09:05:05',
+ in: '0',
+ out: '0',
+ },
+ {
+ "name": "设备3",
+ "lon": "114.880246",
+ "location": "江西省赣州市章贡区潭东镇弘腾路毅德城",
+ "id": "1676414593390350337",
+ "lat": "25.753119",
+ "type": "1",
+ "typename": "视频设备",
+ statusName: '正常',
+ time: '2025-06-16 09:05:05',
+ in: '0',
+ out: '0',
+ },
+ {
+ "name": "设备4",
+ "lon": "114.879855",
+ "location": "江西省赣州市章贡区潭东镇弘腾路毅德城",
+ "id": "1676414955455254529",
+ "lat": "25.752771",
+ "type": "1",
+ "typename": "视频设备",
+ statusName: '正常',
+ time: '2025-06-16 09:05:05',
+ in: '0',
+ out: '0',
+ },
+ {
+ "name": "设备5",
+ "lon": "114.875438",
+ "location": "江西省赣州市章贡区潭东镇弘腾路毅德城",
+ "id": "1676418661630349312",
+ "lat": "25.748733",
+ "type": "2",
+ "typename": "门禁设备",
+ statusName: '正常',
+ time: '2025-06-16 09:05:05',
+ in: '0',
+ out: '0',
+ },
+ {
+ "name": "设备6",
+ "lon": "114.867371",
+ "location": "江西省赣州市章贡区105国道135号靠近松岭上",
+ "id": "1676422908220542977",
+ "lat": "25.750388",
+ "typename": "2",
+ "typename": "门禁设备",
+ statusName: '正常',
+ time: '2025-06-16 09:05:05',
+ in: '0',
+ out: '0',
+ },
+ ]
+ this.markerBakList = JSON.parse(JSON.stringify(this.markerList))
+ this.menus.device[0].total = this.markerList.filter((item) => item.type === '1').length
+ this.menus.device[1].total = this.markerList.filter((item) => item.type === '2').length
+ // 绘制点位
+ this.markerList.forEach((item) => {
+ AddLabelPoint(
+ item.id,
+ `${item.name}`,
+ item.type === '1' ? this.videoIcon : this.controlIcon,
+ [item.lon, item.lat, 0], 'yl-dev', item,
+ this.clickDevice)
+ })
})
- }
+ },
+ menuClick(e) {
+ clearResetMap()
+ this.markerList = this.markerBakList.filter(item => item.type === e.type)
+ this.markerList.forEach((item) => {
+ AddLabelPoint(
+ item.id,
+ `${item.name}`,
+ item.type === '1' ? this.videoIcon : this.controlIcon,
+ [item.lon, item.lat, 0], 'yl-dev', item,
+ this.clickDevice)
+ })
+ },
+ // 设备点位点击
+ clickDevice(eventArg) {
+ const item = eventArg._data.data
+ this.showDevice = true
+ this.$nextTick(() => {
+ this.$refs.deviceRef.initData(item)
+ })
+ },
}
}
diff --git a/src/pages/ywts/shms/sq/carPop.vue b/src/pages/ywts/shms/sq/carPop.vue
new file mode 100644
index 0000000..b1fe4c3
--- /dev/null
+++ b/src/pages/ywts/shms/sq/carPop.vue
@@ -0,0 +1,275 @@
+
+
+
+
+
+
+
+ 名称: {{
+ gdInfo.name }}
+ 位置: {{
+ gdInfo.location }}
+ 车辆数量: {{ gdInfo.carNum
+ }}
+ 停车位: {{ gdInfo.parkSpaceNum }}
+
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/ywts/shms/sq/communityPop.vue b/src/pages/ywts/shms/sq/communityPop.vue
new file mode 100644
index 0000000..eb6bf07
--- /dev/null
+++ b/src/pages/ywts/shms/sq/communityPop.vue
@@ -0,0 +1,212 @@
+
+
+
+
+
+
{{ name }}
+
位置:{{ position
+ }}
+
+
+
+
+
+
{{ item.total }}
+
{{ item.name }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/ywts/shms/sq/components/agePie.vue b/src/pages/ywts/shms/sq/components/agePie.vue
new file mode 100644
index 0000000..9e41da8
--- /dev/null
+++ b/src/pages/ywts/shms/sq/components/agePie.vue
@@ -0,0 +1,185 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/api/ywts/shms/jy.js b/src/api/ywts/shms/jy.js
index f3ac251..56f48e3 100644
--- a/src/api/ywts/shms/jy.js
+++ b/src/api/ywts/shms/jy.js
@@ -116,7 +116,7 @@
return request({
url: 'zhjy-gktj/zhjy/sbdwlb',
method: 'post',
- data,
+ // data,
params: data
})
}
diff --git a/src/api/ywts/shms/sq.js b/src/api/ywts/shms/sq.js
new file mode 100644
index 0000000..04a5447
--- /dev/null
+++ b/src/api/ywts/shms/sq.js
@@ -0,0 +1,123 @@
+/**
+ * 社区接口
+ */
+import request from '@/utils/request'
+
+// 社区点位列表
+export function getCommunityList() {
+ return request({
+ url: 'zhsq-gktj/zhsq/sqdwlb',
+ method: 'post',
+ })
+}
+
+// 人员热力图
+export function getHeat() {
+ return request({
+ url: 'zhsq-gktj/zhsq/sqyyrlt',
+ method: 'post',
+ })
+}
+
+// 设备点位
+export function getDevice() {
+ return request({
+ url: 'zhsq-gktj/zhsq/sbdwlb',
+ method: 'post',
+ params: {
+ type: '',
+ keywords: ''
+ }
+ })
+}
+
+// 社区车辆
+export function getCar() {
+ return request({
+ url: 'zhsq-gktj/zhsq/sqbyl',
+ method: 'post',
+ })
+}
+
+// 事件点位列表
+export function getCase(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/sjdwlb',
+ method: 'post',
+ params:{
+ ...data
+ }
+ })
+}
+
+// 事件详情
+export function getCaseList(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/zjlbfy',
+ method: 'post',
+ params:{
+ ...data
+ }
+ })
+}
+// 获取社区基本信息
+export function getBaseInfo(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/sqdwxq',
+ method: 'post',
+ params:{
+ ...data
+ },
+ // data
+ })
+}
+// 居民年龄统计
+export function getAgeStatistics(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/jmnltj',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
+// 居民流动比例
+export function getCurrentRatio(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/jmldbl',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
+// 近1年人房车占比统计
+export function getPersonCarRatio(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/rfczbtj',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
+// 近1月居民通行量分析
+export function getTransitrRatio(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/jmtxlfx',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
+// 近1月高频事件排行榜
+export function getCaseRank(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/gpsjphb',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
diff --git a/src/api/ywts/zyhj/hb.js b/src/api/ywts/zyhj/hb.js
index 5e598d1..07625d1 100644
--- a/src/api/ywts/zyhj/hb.js
+++ b/src/api/ywts/zyhj/hb.js
@@ -8,7 +8,10 @@
return request({
url: 'zhhb-gktj/zhhb/gktj',
method: 'post',
- data
+ data,
+ params: {
+ ...data,
+ }
})
}
// 环保点位列表
@@ -19,3 +22,26 @@
data
})
}
+// 环保告警列表
+export function getAlarmList(data) {
+ return request({
+ url: 'zhhb-gktj/zhhb/hbgjlb',
+ method: 'post',
+ // data
+ params: {
+ ...data
+ }
+ })
+}
+
+// 环保事件列表
+export function getCaseList(data) {
+ return request({
+ url: 'zhhb-gktj/zhhb/hbsjlbfy',
+ method: 'post',
+ // data
+ params: {
+ ...data
+ }
+ })
+}
diff --git a/src/api/ywts/zyhj/yl.js b/src/api/ywts/zyhj/yl.js
index 63d7ad2..643e3d4 100644
--- a/src/api/ywts/zyhj/yl.js
+++ b/src/api/ywts/zyhj/yl.js
@@ -88,6 +88,9 @@
url: 'zhyl-gktjljk/zhyl/sjxq',
method: 'post',
data,
+ params: {
+ ...data,
+ }
})
}
// 苗木点位列表
diff --git a/src/components/CommonFunction/index.vue b/src/components/CommonFunction/index.vue
index 1a10acb..c2eba44 100644
--- a/src/components/CommonFunction/index.vue
+++ b/src/components/CommonFunction/index.vue
@@ -5,8 +5,8 @@
@click="btnClick" />
-
+
@@ -21,7 +21,7 @@
import CommonBtn from "../CommonBtn";
import { clearUpMap } from '@/utils/freedo/index'
-import { initPosition, initPage } from "../../utils/freedo";
+import { initPosition, initPage } from "../../utils/freedo";
import mapJson from "@/assets/mapJson/map.json";
import { eventBus } from "../../main";
@@ -59,11 +59,11 @@
disabled: true,
"children": [
{ "id": 41, "label": "智慧教育-手工模型", disabled: true },
- { "id": 42, "label": "智慧停车云-手工模型", disabled: true },
- { "id": 43, "label": "智慧社区-手工模型", disabled: true },
- { "id": 44, "label": "智慧工地-手工模型", disabled: true },
- { "id": 45, "label": "智慧交通-手工模型", disabled: true },
- { "id": 46, "label": "智慧园林-手工模型", disabled: true }
+ { "id": 42, "label": "智慧停车云-手工模型", disabled: true },
+ { "id": 43, "label": "智慧社区-手工模型", disabled: true },
+ { "id": 44, "label": "智慧工地-手工模型", disabled: true },
+ { "id": 45, "label": "智慧交通-手工模型", disabled: true },
+ { "id": 46, "label": "智慧园林-手工模型", disabled: true }
]
}, {
"id": 5,
@@ -95,8 +95,8 @@
setTimeout(() => {
this.tree.forEach((item) => {
item.disabled = false
- if(item.children) {
- item.children = item.children.map((item) => ({ ...item,disabled: false}))
+ if (item.children) {
+ item.children = item.children.map((item) => ({ ...item, disabled: false }))
}
})
}, 5000)
@@ -125,7 +125,7 @@
handler(data, checked, indeterminate)
}
else {
- if(data.id.toString() === '5' && checked) {
+ if (data.id.toString() === '5' && checked) {
window.terrainManager.visible = true
return
}
@@ -143,14 +143,18 @@
},
btnClick(e) {
this.showLayerTree = false
+ this.clearDialog()
if (e.target.id === 'initBtn') {
initPosition()
} else if (e.target.id === 'clearBtn') {
clearUpMap()
} else if (e.target.id === 'layerBtn') {
- // clearUpMap()
this.showLayerTree = true
}
+ },
+ // 清空地图弹窗
+ clearDialog() {
+ this.$bus.$emit('clear')
}
}
}
@@ -178,7 +182,7 @@
right: 20px;
top: 1rem;
display: flex;
- width: 20rem;
+ width: 15rem;
height: 5rem;
z-index: 1111111111;
}
diff --git a/src/pages/csdz/iot/index.vue b/src/pages/csdz/iot/index.vue
index 63b60ea..8aefaea 100644
--- a/src/pages/csdz/iot/index.vue
+++ b/src/pages/csdz/iot/index.vue
@@ -259,8 +259,8 @@
localPoint(e) {
// this.childrenClick(e)
this.clickIcon({
- _data:{
- data:e
+ _data: {
+ data: e
}
})
},
@@ -280,6 +280,11 @@
},
mounted() {
this.search()
+ this.$bus.$on('clear', () => {
+ this.isShowEvent = false
+ this.isShowEventPop = false
+ this.isShowPop = false
+ })
// getStatistics().then(res => {
// if (res.code === 200 && res.data.value.length) {
// console.log(res.data, '')
diff --git a/src/pages/csdz/smartCard/index.vue b/src/pages/csdz/smartCard/index.vue
index 48721f7..32573d2 100644
--- a/src/pages/csdz/smartCard/index.vue
+++ b/src/pages/csdz/smartCard/index.vue
@@ -112,6 +112,7 @@
btnClick(e) {
clearResetMap()
this.selectIndex = e.target.id
+ this.isShowPop = false
if (this.selectIndex === 'publicBtn') {
// 绘制热力图
heat([
@@ -870,6 +871,10 @@
getStatistics({}).then(res => {
console.log(res.data, '一卡通')
})
+ this.$bus.$on('clear', () => {
+ this.isShowPop = false
+ this.isShowEvent = false
+ })
}
}
diff --git a/src/pages/csdz/videoCloud/index.vue b/src/pages/csdz/videoCloud/index.vue
index 4b8d110..81530d5 100644
--- a/src/pages/csdz/videoCloud/index.vue
+++ b/src/pages/csdz/videoCloud/index.vue
@@ -695,6 +695,11 @@
},
mounted() {
this.drawSence()
+ this.$bus.$on('clear', () => {
+ this.isShowPop = false
+ this.isShowEvent = false
+ this.isShowEventPop = false
+ })
}
}
diff --git a/src/pages/ywts/cszl/gd/index.vue b/src/pages/ywts/cszl/gd/index.vue
index e9be7b0..35ee8d7 100644
--- a/src/pages/ywts/cszl/gd/index.vue
+++ b/src/pages/ywts/cszl/gd/index.vue
@@ -1,30 +1,23 @@
-
-
+
+
@@ -34,7 +27,7 @@
import TimeManager from "@/components/TimeManager";
import GdPop from "./gdPop";
import { heat } from '@/utils/freedo/heat'
-import { clearUpMap, clearResetMap ,AddLabelPoint, initPosition } from '@/utils/freedo'
+import { clearUpMap, clearResetMap, AddLabelPoint, initPosition } from '@/utils/freedo'
import {
getHeat,
getArea,
@@ -43,17 +36,17 @@
getStatistics,
getCasePointList, getCaseInfo
} from "../../../../api/ywts/cszl/gd";
-import {AddDivPointCase, AddDivPointHighlight, AddLabel, focusPoint} from "../../../../utils/freedo";
+import { AddDivPointCase, AddDivPointHighlight, AddLabel, focusPoint } from "../../../../utils/freedo";
import ListPage from "@/components/ListPage";
import KeywordManager from "../../../../components/KeywordManager";
import gridJson from "@/assets/mapJson/grid.json";
import mapJson from "@/assets/mapJson/map.json";
-import {eventBus} from "../../../../main";
+import { eventBus } from "../../../../main";
export default {
name: 'Gd',
- components: {KeywordManager, GdPop, TimeManager, LayerManagerMix, ListPage, CommonBtn },
+ components: { KeywordManager, GdPop, TimeManager, LayerManagerMix, ListPage, CommonBtn },
data() {
return {
isListPage: false,
@@ -73,19 +66,19 @@
caseTotal: 0,
layerManager: null,
caseIcon: {
- 1: require('@/assets/images/icon/事件/已撤案.png'),
- 2: require('@/assets/images/icon/事件/指派中.png'),
- 3: require('@/assets/images/icon/事件/处置中.png'),
- 4: require('@/assets/images/icon/事件/已办结.png'),
- 5: require('@/assets/images/icon/事件/已结案.png'),
- },
+ 1: require('@/assets/images/icon/事件/已撤案.png'),
+ 2: require('@/assets/images/icon/事件/指派中.png'),
+ 3: require('@/assets/images/icon/事件/处置中.png'),
+ 4: require('@/assets/images/icon/事件/已办结.png'),
+ 5: require('@/assets/images/icon/事件/已结案.png'),
+ },
caseColor: {
- 1: '#ffffff88',
- 2: '#fdeb5688',
- 3: '#85c8ff88',
- 4: '#ffba7488',
- 5: '#87f6b388',
- },
+ 1: '#ffffff88',
+ 2: '#fdeb5688',
+ 3: '#85c8ff88',
+ 4: '#ffba7488',
+ 5: '#87f6b388',
+ },
time: {
startTime: '',
endTime: '',
@@ -105,10 +98,10 @@
name: '工地设备',
value: 'device'
}
- // , {
- // name: '环监设备',
- // value: 'others'
- // }
+ // , {
+ // name: '环监设备',
+ // value: 'others'
+ // }
],
menus: {
device: [
@@ -122,7 +115,7 @@
},
mounted() {
getStatistics().then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
this.menus.device = response.data.value
}
})
@@ -135,28 +128,24 @@
autoFlyto: true,
})
- eventBus.$emit('change-layer', { id:1, checked: false});
- eventBus.$emit('change-layer', { id:2, checked: false});
- eventBus.$emit('change-layer', { id:3, checked: false});
- eventBus.$emit('change-layer', { id:4, checked: false});
- eventBus.$emit('change-layer', { id:5, checked: true});
- eventBus.$emit('change-layer', { id:44, checked: true});
- eventBus.$emit('change-layer', { id:21, checked: true});
- eventBus.$emit('change-layer', { id:12, checked: true});
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: false }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: true });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: false });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: true }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
-
- // window.pmtsManager.add({
- // id: "智慧工地-手工模型",
- // url: mapJson.CIM4["智慧工地-手工模型"],
- // show: true,
- // maximumScreenSpaceError: 32,
- // maximumMemoryUsage: 64,
- // maximumAbsoluteMemoryUsage: 8192,
- // autoFlyto: true
- // },
- // undefined
- // )
- // window.terrainManager.visible = true
+ // 清除弹窗展示
+ this.$bus.$on('clear', () => {
+ this.isListPage = false
+ this.isShow = false
+ })
},
methods: {
async btnClick(e) {
@@ -179,7 +168,7 @@
break
case "personBtn":
getHeat().then(res => {
- if(res.code === 200) {
+ if (res.code === 200) {
console.log(res.data, '热力')
const arr = res.data.value.filter(item => item.lng !== "" && item.lng !== null)
// arr.splice(0,1) // todo: 测试第一个错误数据
@@ -192,17 +181,17 @@
// 设备图层控制
layer(item) {
// clearUpMap(true)
- const iconOnline = require('@/assets/images/icon/工地地图点位/'+item.typename.replace(/ /g,'')+'在线.png')
- const iconOffline = require('@/assets/images/icon/工地地图点位/'+item.typename.replace(/ /g,'')+'离线.png')
- getDevList({type: item.type}).then(response => {
- if(response.code === 200) {
+ const iconOnline = require('@/assets/images/icon/工地地图点位/' + item.typename.replace(/ /g, '') + '在线.png')
+ const iconOffline = require('@/assets/images/icon/工地地图点位/' + item.typename.replace(/ /g, '') + '离线.png')
+ getDevList({ type: item.type }).then(response => {
+ if (response.code === 200) {
clearUpMap(true)
this.keywordList = response.data.value
response.data.value.forEach(item => {
AddLabelPoint(
item.id,
'',
- item.status === '1'? iconOnline: iconOffline,
+ item.status === '1' ? iconOnline : iconOffline,
[item.lon, item.lat, 0], 'gd-dev', item,
null)
})
@@ -216,23 +205,23 @@
// keywords: this.keyword
}
getCasePointList(param).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
clearUpMap(true)
const data = []
response.data.value.forEach(item => {
- if(!data.map(da => da.id).includes(item.id) && !data.map(da => da.lon).includes(item.lon) && item.id !== null) {
+ if (!data.map(da => da.id).includes(item.id) && !data.map(da => da.lon).includes(item.lon) && item.id !== null) {
data.push(item)
}
})
this.keywordList = data
data.forEach(item => {
// if(item.total === '1') {
- AddLabelPoint(
- item.id,
- '',
- this.caseIcon[item.eventstatus],
- [item.lon, item.lat, 0], 'gd-case', item,
- this.clickCase)
+ AddLabelPoint(
+ item.id,
+ '',
+ this.caseIcon[item.eventstatus],
+ [item.lon, item.lat, 0], 'gd-case', item,
+ this.clickCase)
// } else {
// AddDivPointCase(item, this.caseColor[item.status], item.total, this.clickCase)
// }
@@ -244,8 +233,8 @@
search() {
const iconDone = require('@/assets/images/icon/工地地图点位/工地已完成.png')
const iconDoing = require('@/assets/images/icon/工地地图点位/工地进行中.png')
- getArea({keywords: this.keyword}).then(response => {
- if(response.code === 200) {
+ getArea({ keywords: this.keyword }).then(response => {
+ if (response.code === 200) {
clearUpMap(true)
this.keywordList = response.data.value
response.data.value.forEach(item => {
@@ -254,7 +243,7 @@
AddLabelPoint(
item.id,
item.name,
- item.status === '2' ? iconDoing: iconDone,
+ item.status === '2' ? iconDoing : iconDone,
[item.lon, item.lat, 0], 'gd', item,
this.clickGd)
})
@@ -265,8 +254,8 @@
score() {
const iconDone = require('@/assets/images/icon/工地地图点位/工地已完成.png')
const iconDoing = require('@/assets/images/icon/工地地图点位/工地进行中.png')
- getArea({keywords: this.keyword}).then(response => {
- if(response.code === 200) {
+ getArea({ keywords: this.keyword }).then(response => {
+ if (response.code === 200) {
this.keywordList = response.data.value
response.data.value.forEach(item => {
// console.log(item,'321123')
@@ -280,8 +269,8 @@
})
}
})
- getMonthGdScore({keywords: this.keyword}).then(response => {
- if(response.code === 200) {
+ getMonthGdScore({ keywords: this.keyword }).then(response => {
+ if (response.code === 200) {
response.data.value.filter(item => item.lng !== "" && item.lng !== null).forEach(item => {
AddLabel(
item.id,
@@ -304,7 +293,7 @@
clickCase(eventArg) {
const item = eventArg._data.data
// 恢复上一个marker
- if(this.preCase !== null ) {
+ if (this.preCase !== null) {
window.mmManager.removeById(this.preCase.id)
AddLabelPoint(
this.preCase.id,
@@ -313,7 +302,7 @@
[this.preCase.lon, this.preCase.lat, 0], 'gd-case', this.preCase,
this.clickCase)
}
- if(item.total === '1') {
+ if (item.total === '1') {
// 保存当前marker
this.preCase = item
// 高亮当前marker
@@ -323,7 +312,7 @@
this.preCase = null
}
// 查询事件详情
- this.caseTotal = Number(item.total)
+ this.caseTotal = Number(item.total)
this.isListPage = true
this.$refs.caseListPage.initDialog()
this.caseListQuery = {
@@ -345,16 +334,16 @@
searchCaseMarkerList() {
// getCaseInfo(this.caseListQuery).then(response => {
getCaseInfo(this.caseListQuery).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
console.log(response.data.value)
// 右侧看板
- this.caseList = response.data.value
+ this.caseList = response.data.value
}
})
},
handleTimeRange(time) {
this.isListPage = false
- if(this.time.startTime !== '') {
+ if (this.time.startTime !== '') {
this.time = time
this.casePoint()
} else {
diff --git a/src/pages/ywts/cszl/hw/index.vue b/src/pages/ywts/cszl/hw/index.vue
index e773b7d..ed28bc6 100644
--- a/src/pages/ywts/cszl/hw/index.vue
+++ b/src/pages/ywts/cszl/hw/index.vue
@@ -31,6 +31,7 @@
import ListPage from "@/components/ListPage";
import { getPlacePointList, getOverviewStatistics, getPersonList, getCarList, getCaseList, getCaseInfo } from '@/api/ywts/cszl/hw'
import { iconFilter, iconPerson, personList, carList, iconCar } from './data'
+import { eventBus } from "../../../../main";
export default {
name: 'Hw',
components: { TimeManager, LayerManagerMix, ListPage, CommonBtn, Pop },
@@ -94,7 +95,25 @@
},
mounted() {
clearResetMap()
+ this.selectInde = 'deviceBtn'
this.fetchPoint()
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: false }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: false });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: false });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: false }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
+ // 清除弹窗展示
+ this.$bus.$on('clear', () => {
+ this.isListPage = false
+ this.showPop = false
+ })
},
methods: {
async btnClick(e) {
@@ -263,17 +282,17 @@
// this.caseList = res.data.value || []
// this.caseTotal = this.caseList.length
res.data.value.forEach(item => {
- AddLabelPoint(
- item.id.replaceAll('.', ''),
- '',
- this.caseIcon[item.status],
- [item.lon, item.lat, 0], 'gd-case', item,
- this.clickCase)
- })
+ AddLabelPoint(
+ item.id.replaceAll('.', ''),
+ '',
+ this.caseIcon[item.status],
+ [item.lon, item.lat, 0], 'gd-case', item,
+ this.clickCase)
+ })
})
},
- // 点击事件icon
- clickCase(eventArg) {
+ // 点击事件icon
+ clickCase(eventArg) {
const item = eventArg._data.data
// 恢复上一个marker
if (this.preCase !== null) {
@@ -306,11 +325,11 @@
getCaseInfo(this.caseListQuery).then(res => {
console.log(res.data, '事件详情')
this.caseList = res.data.value || []
- this.caseTotal = this.caseList.length
+ this.caseTotal = this.caseList.length
})
},
- // 事件换页
- changePage(val) {
+ // 事件换页
+ changePage(val) {
if (val && val.page) {
this.caseListQuery.pageNo = val.page
}
diff --git a/src/pages/ywts/cszl/jt/index.vue b/src/pages/ywts/cszl/jt/index.vue
index fb1ce91..ef5938c 100644
--- a/src/pages/ywts/cszl/jt/index.vue
+++ b/src/pages/ywts/cszl/jt/index.vue
@@ -1,15 +1,21 @@
-
+
@@ -26,8 +32,9 @@
getStatistics,
getCasePointList, getCaseInfo
} from "../../../../api/ywts/cszl/gd";
-import {AddDivPointHighlight, AddLabel} from "../../../../utils/freedo";
+import { AddDivPointHighlight, AddLabel } from "../../../../utils/freedo";
import ListPage from "@/components/ListPage";
+import { eventBus } from "../../../../main";
export default {
name: 'Jt',
@@ -47,19 +54,19 @@
},
caseTotal: 0,
caseIcon: {
- 1: require('@/assets/images/icon/事件/已撤案.png'),
- 2: require('@/assets/images/icon/事件/指派中.png'),
- 3: require('@/assets/images/icon/事件/处置中.png'),
- 4: require('@/assets/images/icon/事件/已办结.png'),
- 5: require('@/assets/images/icon/事件/已结案.png'),
- },
+ 1: require('@/assets/images/icon/事件/已撤案.png'),
+ 2: require('@/assets/images/icon/事件/指派中.png'),
+ 3: require('@/assets/images/icon/事件/处置中.png'),
+ 4: require('@/assets/images/icon/事件/已办结.png'),
+ 5: require('@/assets/images/icon/事件/已结案.png'),
+ },
caseColor: {
- 1: '#ffffff',
- 2: '#fdeb56',
- 3: '#85c8ff',
- 4: '#ffba74',
- 5: '#87f6b3',
- },
+ 1: '#ffffff',
+ 2: '#fdeb56',
+ 3: '#85c8ff',
+ 4: '#ffba74',
+ 5: '#87f6b3',
+ },
time: {
startTime: '',
endTime: '',
@@ -81,10 +88,10 @@
name: '基础设施',
value: 'place'
}
- // , {
- // name: '环监设备',
- // value: 'others'
- // }
+ // , {
+ // name: '环监设备',
+ // value: 'others'
+ // }
],
menus: {
place: [
@@ -98,11 +105,27 @@
},
mounted() {
getStatistics().then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
this.menus.place = response.data.value
}
})
this.search()
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: false }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: false });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: true });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: true }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
+ // 清除弹窗展示
+ this.$bus.$on('clear', () => {
+ this.isListPage = false
+ })
},
methods: {
async btnClick(e) {
@@ -121,16 +144,16 @@
// 设备图层控制
layer(item) {
// clearUpMap()
- const iconOnline = require('@/assets/images/icon/工地地图点位/'+item.typename.replace(/ /g,'')+'在线.png')
- const iconOffline = require('@/assets/images/icon/工地地图点位/'+item.typename.replace(/ /g,'')+'离线.png')
- getDevList({type: item.type}).then(response => {
- if(response.code === 200) {
+ const iconOnline = require('@/assets/images/icon/工地地图点位/' + item.typename.replace(/ /g, '') + '在线.png')
+ const iconOffline = require('@/assets/images/icon/工地地图点位/' + item.typename.replace(/ /g, '') + '离线.png')
+ getDevList({ type: item.type }).then(response => {
+ if (response.code === 200) {
clearUpMap()
response.data.value.forEach(item => {
AddLabelPoint(
item.id,
'',
- item.status === '1'? iconOnline: iconOffline,
+ item.status === '1' ? iconOnline : iconOffline,
[item.lon, item.lat, 0], 'gd-place', item,
null)
})
@@ -141,11 +164,11 @@
casePoint() {
console.log(this.time)
getCasePointList(this.time).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
clearUpMap()
const data = []
response.data.value.forEach(item => {
- if(!data.map(da => da.id).includes(item.id) && !data.map(da => da.lon).includes(item.lon) && item.id !== null) {
+ if (!data.map(da => da.id).includes(item.id) && !data.map(da => da.lon).includes(item.lon) && item.id !== null) {
data.push(item)
}
})
@@ -165,7 +188,7 @@
const iconDone = require('@/assets/images/icon/工地地图点位/工地已完成.png')
const iconDoing = require('@/assets/images/icon/工地地图点位/工地进行中.png')
getArea({}).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
clearUpMap()
response.data.value.forEach(item => {
// console.log(item.areaboundary)
@@ -173,7 +196,7 @@
AddLabelPoint(
item.id,
item.name,
- item.status === '2' ? iconDoing: iconDone,
+ item.status === '2' ? iconDoing : iconDone,
[item.lon, item.lat, 0], 'gd', item,
this.clickHw)
})
@@ -183,7 +206,7 @@
// 智慧工地-工地近1月综合得分
score() {
getArea({}).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
response.data.value.forEach(item => {
console.log(item.areaboundary)
// todo : 画范围
@@ -195,7 +218,7 @@
clickCase(eventArg) {
const item = eventArg._data.data
// 恢复上一个marker
- if(this.preCase !== null ) {
+ if (this.preCase !== null) {
window.mmManager.removeById(this.preCase.id)
AddLabelPoint(
this.preCase.id,
@@ -231,13 +254,13 @@
searchCaseMarkerList() {
// getCaseInfo(this.caseListQuery).then(response => {
getCaseInfo(this.caseListQuery).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
console.log(response.data.value)
// 右侧看板
- this.caseList = response.data.value
+ this.caseList = response.data.value
// todo
// this.caseTotal = response.data.value.length
- this.caseTotal = 12
+ this.caseTotal = 12
}
})
},
@@ -246,7 +269,7 @@
},
handleTimeRange(time) {
this.isListPage = false
- if(this.time.startTime !== '') {
+ if (this.time.startTime !== '') {
this.time = time
this.casePoint()
} else {
diff --git a/src/pages/ywts/cszl/jxh/index.vue b/src/pages/ywts/cszl/jxh/index.vue
index a3703db..0f23aaa 100644
--- a/src/pages/ywts/cszl/jxh/index.vue
+++ b/src/pages/ywts/cszl/jxh/index.vue
@@ -1,26 +1,24 @@
-
-
+
+
@@ -44,14 +42,15 @@
getAll,
getCaseInfo, getBoard
} from "../../../../api/ywts/cszl/jxh";
-import {AddDivPointCase, AddDivPointHighlight, AddOnlyLabel, AddPolygon} from "../../../../utils/freedo";
+import { AddDivPointCase, AddDivPointHighlight, AddOnlyLabel, AddPolygon } from "../../../../utils/freedo";
import ListPage from "@/components/ListPage";
-import {getGridInfo, getGridToken} from "../../../../api/common";
+import { getGridInfo, getGridToken } from "../../../../api/common";
import JxhPop from "./jxhPop";
+import { eventBus } from "../../../../main";
export default {
name: 'Jxh',
- components: {JxhPop, LayerManager, TimeManager, KeywordManager, CommonBtn, ListPage },
+ components: { JxhPop, LayerManager, TimeManager, KeywordManager, CommonBtn, ListPage },
data() {
return {
preCase: null,
@@ -128,6 +127,22 @@
}
},
mounted() {
+ this.$bus.$on('clear', () => {
+ this.isListPage = false
+ this.isShow = false
+ })
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: false }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: false });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: false });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: false }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
// 全部事件
getAll({
// urgent: '0',
@@ -135,8 +150,8 @@
// high: '0',
startTime: this.time.startTime,
endTime: this.time.endTime,
- }).then( res => {
- if(res.code === 200) {
+ }).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
@@ -154,7 +169,7 @@
caseMarker(res) {
res.data.value.forEach(item => {
// console.log(item.status)
- if(item.total === '1') {
+ if (item.total === '1') {
AddLabelPoint(
item.id,
'',
@@ -180,24 +195,24 @@
switch (e.bigtype) {
case 'source':
query.sourceId = e.type
- getSourceList(query).then( res => {
- if(res.code === 200) {
+ getSourceList(query).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
break
case 'project':
query.projectId = e.type
- getProjectList(query).then( res => {
- if(res.code === 200) {
+ getProjectList(query).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
break
case 'grid':
query.gridType = e.type
- getGridList(query).then( res => {
- if(res.code === 200) {
+ getGridList(query).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
@@ -208,7 +223,7 @@
clickCase(eventArg) {
const item = eventArg._data.data
// 恢复上一个marker
- if(this.preCase !== null ) {
+ if (this.preCase !== null) {
window.mmManager.removeById(this.preCase.id)
AddLabelPoint(
this.preCase.id,
@@ -218,7 +233,7 @@
this.clickCase)
}
- if(item.total === '1') {
+ if (item.total === '1') {
// 保存当前marker
this.preCase = item
// 高亮当前marker
@@ -229,7 +244,7 @@
}
// 查询事件详情
- this.caseTotal = Number(item.total)
+ this.caseTotal = Number(item.total)
this.caseList = []
this.isListPage = true
this.hasUrge = false
@@ -263,13 +278,13 @@
// high: '0',
startTime: this.time.startTime,
endTime: this.time.endTime,
- }).then( res => {
- if(res.code === 200) {
+ }).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
// 事件看板
- this.caseTotal = 1000 // todo
+ this.caseTotal = 1000 // todo
this.caseList = []
this.isListPage = true
this.hasUrge = true
@@ -292,8 +307,8 @@
high: '1',
startTime: this.time.startTime,
endTime: this.time.endTime,
- }).then( res => {
- if(res.code === 200) {
+ }).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
@@ -306,8 +321,8 @@
// high: '0',
startTime: this.time.startTime,
endTime: this.time.endTime,
- }).then( res => {
- if(res.code === 200) {
+ }).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
@@ -317,7 +332,7 @@
break
case "caseHeatBtn":
getHeat(this.time).then(res => {
- if(res.code === 200) {
+ if (res.code === 200) {
heat(res.data.value) // 热力图
}
})
@@ -326,29 +341,29 @@
},
gridDraw(token, areaCode) {
const colors = [
- [0,234,255,0.47],
- [255,185,0,0.47],
- [255,234,0,0.47],
- [209,0,255,0.47],
- [255,0,38,0.47],
+ [0, 234, 255, 0.47],
+ [255, 185, 0, 0.47],
+ [255, 234, 0, 0.47],
+ [209, 0, 255, 0.47],
+ [255, 0, 38, 0.47],
]
getGridInfo({
paramCodeList: 'KJ5001',
areaCode,
token
- }).then( res => {
+ }).then(res => {
console.log(res)
res.data.chirdAreaInfo.forEach((item, index) => {
item._source.areainfo.coordinates.forEach(area => {
let positions = []
- let arr = item._source.areainfo.type === 'MultiPolygon' ? area[0]: area
+ let arr = item._source.areainfo.type === 'MultiPolygon' ? area[0] : area
arr.forEach(pos => {
- positions.push(Freedo.Cartesian3.fromDegrees( pos[0], pos[1],0))
+ positions.push(Freedo.Cartesian3.fromDegrees(pos[0], pos[1], 0))
})
- AddPolygon(positions,colors[index % 5], this.gridClick,item._id)
+ AddPolygon(positions, colors[index % 5], this.gridClick, item._id)
AddOnlyLabel(
'',
- item._source.areaname , //+ this.menus.grid
+ item._source.areaname, //+ this.menus.grid
[item._source.lon, item._source.lat, 0],
'', null, null)
})
@@ -364,7 +379,7 @@
secret: CryptoJS.MD5(timestamp + 'geostar999').toString()
}
- getGridToken(param).then( res => {
+ getGridToken(param).then(res => {
clearUpMap()
this.gridDraw(res.data.token, '360783001')
this.gridDraw(res.data.token, '360783002')
@@ -374,32 +389,32 @@
},
// 三个概况统计
layerSeach() {
- getSource(this.time).then( res => {
- if(res.code === 200) {
+ getSource(this.time).then(res => {
+ if (res.code === 200) {
this.menus.source = res.data.value.map(item => {
item.bigtype = 'source'
- item.type = item.id.replace(/ /g,'')
- item.typename = item.name.replace(/ /g,'')
+ item.type = item.id.replace(/ /g, '')
+ item.typename = item.name.replace(/ /g, '')
return item
})
}
})
- getProject(this.time).then( res => {
- if(res.code === 200) {
+ getProject(this.time).then(res => {
+ if (res.code === 200) {
this.menus.project = res.data.value.map(item => {
item.bigtype = 'project'
- item.type = item.id.replace(/ /g,'')
- item.typename = item.name.replace(/ /g,'')
+ item.type = item.id.replace(/ /g, '')
+ item.typename = item.name.replace(/ /g, '')
return item
})
}
})
- getGrid(this.time).then( res => {
- if(res.code === 200) {
+ getGrid(this.time).then(res => {
+ if (res.code === 200) {
this.menus.grid = res.data.value.map(item => {
item.bigtype = 'grid'
- item.type = item.id.replace(/ /g,'')
- item.typename = item.name.replace(/ /g,'')
+ item.type = item.id.replace(/ /g, '')
+ item.typename = item.name.replace(/ /g, '')
return item
})
}
@@ -410,7 +425,7 @@
if (val && val.page) {
this.caseListQuery.pageNo = val.page
}
- if(this.hasUrge) {
+ if (this.hasUrge) {
this.searchBoard()
} else {
this.searchCaseMarkerList()
@@ -419,20 +434,20 @@
// 事件看板查询
searchBoard() {
getBoard(this.caseListQuery).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
console.log(response.data.value)
// 右侧看板
- this.caseList = response.data.value
+ this.caseList = response.data.value
}
})
},
// 事件详情分页
searchCaseMarkerList() {
getCaseInfo(this.caseListQuery).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
console.log(response.data.value)
// 右侧看板
- this.caseList = response.data.value
+ this.caseList = response.data.value
}
})
},
diff --git a/src/pages/ywts/cszl/yj/index.vue b/src/pages/ywts/cszl/yj/index.vue
index 7869a73..d74dfe9 100644
--- a/src/pages/ywts/cszl/yj/index.vue
+++ b/src/pages/ywts/cszl/yj/index.vue
@@ -45,7 +45,7 @@
import { AddDivPointHighlight, AddLabel } from "../../../../utils/freedo";
import { iconFilter, deviceList, caseList } from './data'
import ListPage from "@/components/ListPage";
-
+import { eventBus } from "../../../../main";
export default {
name: 'Yj',
components: { TimeManager, LayerManagerMix, ListPage, CommonBtn, Pop },
@@ -118,14 +118,25 @@
}
},
mounted() {
- // getStatistics().then(response => {
- // if(response.code === 200) {
- // this.menus.place = response.data.value
- // }
- // })
- // this.search()
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: false }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: false });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: false });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: false }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
clearResetMap()
this.searchPlace({})
+
+ this.$bus.$on('clear', () => {
+ this.isListPage = false
+ this.showPop = false
+ })
},
methods: {
async btnClick(e) {
diff --git a/src/pages/ywts/shms/jy/devicePop.vue b/src/pages/ywts/shms/jy/devicePop.vue
new file mode 100644
index 0000000..2c44979
--- /dev/null
+++ b/src/pages/ywts/shms/jy/devicePop.vue
@@ -0,0 +1,281 @@
+
+
+
+
+
+
+
+ 设备名称: {{
+ gdInfo.name }}
+ 设备类型: {{
+ gdInfo.typename }}
+ 设备状态: {{
+ gdInfo.statusName }}
+ 设备位置: {{
+ gdInfo.location }}
+ 时间: {{ gdInfo.time
+ }}
+ 进/出人口数: {{ gdInfo.in
+ }}/{{ gdInfo.out }}
+ 是否赋能: 否
+
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/ywts/shms/jy/index.vue b/src/pages/ywts/shms/jy/index.vue
index b1eb984..f377985 100644
--- a/src/pages/ywts/shms/jy/index.vue
+++ b/src/pages/ywts/shms/jy/index.vue
@@ -6,11 +6,13 @@
+ :select="selectIndex === 'layerBtn'" @btnClick="btnClick" @menuClick="menuClick" />
+
+
@@ -29,13 +31,15 @@
import mapJson from "@/assets/mapJson/map.json";
import modelJson from "@/assets/mapJson/school.json";
import { eventBus } from "../../../../main";
+import devicePop from './devicePop.vue'
export default {
name: 'Jy',
- components: { SchoolPop, TimeManager, KeywordManager, LayerManagerMix, CommonBtn },
+ components: { SchoolPop, TimeManager, KeywordManager, LayerManagerMix, CommonBtn, devicePop },
data() {
return {
isShow: false,
+ showDevice: false,
ktSelect: '',
keyword: '',
keywordList: [],
@@ -56,10 +60,15 @@
},
menus: {
device: [
- { type: "1", typename: "视频设备", total: "111" },
- { type: "2", typename: "门禁设备", total: "111" }
+ { type: "1", typename: "视频设备", total: "0" },
+ { type: "2", typename: "门禁设备", total: "0" }
]
- }
+ },
+ markerList: [],
+ markerBakList: [],
+ videoIcon: require('@/assets/images/icon/视频云/枪机未赋能在线.png'),
+ controlIcon: require('@/assets/images/icon/一卡通/门禁.png'),
+
}
},
mounted() {
@@ -70,55 +79,25 @@
name: 'jy',
autoFlyto: true,
})
- eventBus.$emit('change-layer', { id: 1, checked: false });
- eventBus.$emit('change-layer', { id: 2, checked: false });
- eventBus.$emit('change-layer', { id: 3, checked: false });
- eventBus.$emit('change-layer', { id: 4, checked: false });
- eventBus.$emit('change-layer', { id: 5, checked: true });
- eventBus.$emit('change-layer', { id: 41, checked: true });
- eventBus.$emit('change-layer', { id: 21, checked: true });
- eventBus.$emit('change-layer', { id: 12, checked: true });
- // // 教育模型
- // window.pmtsManager.add({
- // id: "智慧教育-手工模型",
- // url: mapJson.CIM4["智慧教育-手工模型"],
- // show: true,
- // maximumScreenSpaceError: 32,
- // maximumMemoryUsage: 64,
- // maximumAbsoluteMemoryUsage: 8192,
- // autoFlyto: true
- // },
- // undefined
- // )
- // // CIM2 楼
- // window.pmtsManager.add({
- // url: mapJson['CIM2']['CIM2建筑(带纹理)'],
- // show: true,
- // name: 'CIM2建筑(带纹理)',
- // autoFlyto: false
- // })
- // window.pmtsManager.add({
- // url: mapJson['CIM2']['CIM2建筑(带纹理)'],
- // show: true,
- // name: 'CIM2建筑(带纹理)',
- // autoFlyto: false,
- // alpha: 0.5,
- // color: '#002d7a'
- // })
- // for(let key in modelJson) {
- // window.pmtsManager.add({
- // id: key,
- // // url: mapJson.CIM4["智慧教育-手工模型"],
- // url: modelJson[key],
- // show: true,
- // maximumScreenSpaceError: 32,
- // maximumMemoryUsage: 64,
- // maximumAbsoluteMemoryUsage: 8192,
- // autoFlyto: true
- // },
- // undefined
- // )
- // }
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: true }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: false });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: false });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: true }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
+
+ // 清除弹窗展示
+ this.$bus.$on('clear', () => {
+ this.isShow = false
+ this.showDevice = false
+
+ })
},
methods: {
async btnClick(e) {
@@ -126,6 +105,7 @@
clearUpMap(true)
initPosition()
this.isShow = false
+ this.showDevice = false
this.selectIndex = e.target.id
switch (this.selectIndex) {
case "schoolBtn":
@@ -194,10 +174,121 @@
},
// 搜索学校设备
searchDevice() {
- getDevice({}).then(res => {
- console.log('学校数据')
+ getDevice({ keywords: '' }).then(res => {
+ this.markerList = [
+ {
+ "name": "设备1",
+ "lon": "114.859995",
+ "location": "江西省赣州市南康区三江乡",
+ "id": "1676397864375291905",
+ "lat": "25.802129",
+ "type": "1",
+ "typename": "视频设备",
+ statusName: '正常',
+ time: '2025-06-16 09:05:05',
+ in: '0',
+ out: '0',
+ },
+ {
+ "name": "设备2",
+ "lon": "114.861027",
+ "location": "江西省赣州市章贡区潭六路135号靠近逸夫小学",
+ "id": "1676398916763914241",
+ "lat": "25.757553",
+ "type": "2",
+ "typename": "门禁设备",
+ statusName: '正常',
+ time: '2025-06-16 09:05:05',
+ in: '0',
+ out: '0',
+ },
+ {
+ "name": "设备3",
+ "lon": "114.880246",
+ "location": "江西省赣州市章贡区潭东镇弘腾路毅德城",
+ "id": "1676414593390350337",
+ "lat": "25.753119",
+ "type": "1",
+ "typename": "视频设备",
+ statusName: '正常',
+ time: '2025-06-16 09:05:05',
+ in: '0',
+ out: '0',
+ },
+ {
+ "name": "设备4",
+ "lon": "114.879855",
+ "location": "江西省赣州市章贡区潭东镇弘腾路毅德城",
+ "id": "1676414955455254529",
+ "lat": "25.752771",
+ "type": "1",
+ "typename": "视频设备",
+ statusName: '正常',
+ time: '2025-06-16 09:05:05',
+ in: '0',
+ out: '0',
+ },
+ {
+ "name": "设备5",
+ "lon": "114.875438",
+ "location": "江西省赣州市章贡区潭东镇弘腾路毅德城",
+ "id": "1676418661630349312",
+ "lat": "25.748733",
+ "type": "2",
+ "typename": "门禁设备",
+ statusName: '正常',
+ time: '2025-06-16 09:05:05',
+ in: '0',
+ out: '0',
+ },
+ {
+ "name": "设备6",
+ "lon": "114.867371",
+ "location": "江西省赣州市章贡区105国道135号靠近松岭上",
+ "id": "1676422908220542977",
+ "lat": "25.750388",
+ "typename": "2",
+ "typename": "门禁设备",
+ statusName: '正常',
+ time: '2025-06-16 09:05:05',
+ in: '0',
+ out: '0',
+ },
+ ]
+ this.markerBakList = JSON.parse(JSON.stringify(this.markerList))
+ this.menus.device[0].total = this.markerList.filter((item) => item.type === '1').length
+ this.menus.device[1].total = this.markerList.filter((item) => item.type === '2').length
+ // 绘制点位
+ this.markerList.forEach((item) => {
+ AddLabelPoint(
+ item.id,
+ `${item.name}`,
+ item.type === '1' ? this.videoIcon : this.controlIcon,
+ [item.lon, item.lat, 0], 'yl-dev', item,
+ this.clickDevice)
+ })
})
- }
+ },
+ menuClick(e) {
+ clearResetMap()
+ this.markerList = this.markerBakList.filter(item => item.type === e.type)
+ this.markerList.forEach((item) => {
+ AddLabelPoint(
+ item.id,
+ `${item.name}`,
+ item.type === '1' ? this.videoIcon : this.controlIcon,
+ [item.lon, item.lat, 0], 'yl-dev', item,
+ this.clickDevice)
+ })
+ },
+ // 设备点位点击
+ clickDevice(eventArg) {
+ const item = eventArg._data.data
+ this.showDevice = true
+ this.$nextTick(() => {
+ this.$refs.deviceRef.initData(item)
+ })
+ },
}
}
diff --git a/src/pages/ywts/shms/sq/carPop.vue b/src/pages/ywts/shms/sq/carPop.vue
new file mode 100644
index 0000000..b1fe4c3
--- /dev/null
+++ b/src/pages/ywts/shms/sq/carPop.vue
@@ -0,0 +1,275 @@
+
+
+
+
+
+
+
+ 名称: {{
+ gdInfo.name }}
+ 位置: {{
+ gdInfo.location }}
+ 车辆数量: {{ gdInfo.carNum
+ }}
+ 停车位: {{ gdInfo.parkSpaceNum }}
+
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/ywts/shms/sq/communityPop.vue b/src/pages/ywts/shms/sq/communityPop.vue
new file mode 100644
index 0000000..eb6bf07
--- /dev/null
+++ b/src/pages/ywts/shms/sq/communityPop.vue
@@ -0,0 +1,212 @@
+
+
+
+
+
+
{{ name }}
+
位置:{{ position
+ }}
+
+
+
+
+
+
{{ item.total }}
+
{{ item.name }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/ywts/shms/sq/components/agePie.vue b/src/pages/ywts/shms/sq/components/agePie.vue
new file mode 100644
index 0000000..9e41da8
--- /dev/null
+++ b/src/pages/ywts/shms/sq/components/agePie.vue
@@ -0,0 +1,185 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/ywts/shms/sq/components/currentPie.vue b/src/pages/ywts/shms/sq/components/currentPie.vue
new file mode 100644
index 0000000..c7dfe20
--- /dev/null
+++ b/src/pages/ywts/shms/sq/components/currentPie.vue
@@ -0,0 +1,178 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/api/ywts/shms/jy.js b/src/api/ywts/shms/jy.js
index f3ac251..56f48e3 100644
--- a/src/api/ywts/shms/jy.js
+++ b/src/api/ywts/shms/jy.js
@@ -116,7 +116,7 @@
return request({
url: 'zhjy-gktj/zhjy/sbdwlb',
method: 'post',
- data,
+ // data,
params: data
})
}
diff --git a/src/api/ywts/shms/sq.js b/src/api/ywts/shms/sq.js
new file mode 100644
index 0000000..04a5447
--- /dev/null
+++ b/src/api/ywts/shms/sq.js
@@ -0,0 +1,123 @@
+/**
+ * 社区接口
+ */
+import request from '@/utils/request'
+
+// 社区点位列表
+export function getCommunityList() {
+ return request({
+ url: 'zhsq-gktj/zhsq/sqdwlb',
+ method: 'post',
+ })
+}
+
+// 人员热力图
+export function getHeat() {
+ return request({
+ url: 'zhsq-gktj/zhsq/sqyyrlt',
+ method: 'post',
+ })
+}
+
+// 设备点位
+export function getDevice() {
+ return request({
+ url: 'zhsq-gktj/zhsq/sbdwlb',
+ method: 'post',
+ params: {
+ type: '',
+ keywords: ''
+ }
+ })
+}
+
+// 社区车辆
+export function getCar() {
+ return request({
+ url: 'zhsq-gktj/zhsq/sqbyl',
+ method: 'post',
+ })
+}
+
+// 事件点位列表
+export function getCase(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/sjdwlb',
+ method: 'post',
+ params:{
+ ...data
+ }
+ })
+}
+
+// 事件详情
+export function getCaseList(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/zjlbfy',
+ method: 'post',
+ params:{
+ ...data
+ }
+ })
+}
+// 获取社区基本信息
+export function getBaseInfo(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/sqdwxq',
+ method: 'post',
+ params:{
+ ...data
+ },
+ // data
+ })
+}
+// 居民年龄统计
+export function getAgeStatistics(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/jmnltj',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
+// 居民流动比例
+export function getCurrentRatio(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/jmldbl',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
+// 近1年人房车占比统计
+export function getPersonCarRatio(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/rfczbtj',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
+// 近1月居民通行量分析
+export function getTransitrRatio(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/jmtxlfx',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
+// 近1月高频事件排行榜
+export function getCaseRank(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/gpsjphb',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
diff --git a/src/api/ywts/zyhj/hb.js b/src/api/ywts/zyhj/hb.js
index 5e598d1..07625d1 100644
--- a/src/api/ywts/zyhj/hb.js
+++ b/src/api/ywts/zyhj/hb.js
@@ -8,7 +8,10 @@
return request({
url: 'zhhb-gktj/zhhb/gktj',
method: 'post',
- data
+ data,
+ params: {
+ ...data,
+ }
})
}
// 环保点位列表
@@ -19,3 +22,26 @@
data
})
}
+// 环保告警列表
+export function getAlarmList(data) {
+ return request({
+ url: 'zhhb-gktj/zhhb/hbgjlb',
+ method: 'post',
+ // data
+ params: {
+ ...data
+ }
+ })
+}
+
+// 环保事件列表
+export function getCaseList(data) {
+ return request({
+ url: 'zhhb-gktj/zhhb/hbsjlbfy',
+ method: 'post',
+ // data
+ params: {
+ ...data
+ }
+ })
+}
diff --git a/src/api/ywts/zyhj/yl.js b/src/api/ywts/zyhj/yl.js
index 63d7ad2..643e3d4 100644
--- a/src/api/ywts/zyhj/yl.js
+++ b/src/api/ywts/zyhj/yl.js
@@ -88,6 +88,9 @@
url: 'zhyl-gktjljk/zhyl/sjxq',
method: 'post',
data,
+ params: {
+ ...data,
+ }
})
}
// 苗木点位列表
diff --git a/src/components/CommonFunction/index.vue b/src/components/CommonFunction/index.vue
index 1a10acb..c2eba44 100644
--- a/src/components/CommonFunction/index.vue
+++ b/src/components/CommonFunction/index.vue
@@ -5,8 +5,8 @@
@click="btnClick" />
-
+
@@ -21,7 +21,7 @@
import CommonBtn from "../CommonBtn";
import { clearUpMap } from '@/utils/freedo/index'
-import { initPosition, initPage } from "../../utils/freedo";
+import { initPosition, initPage } from "../../utils/freedo";
import mapJson from "@/assets/mapJson/map.json";
import { eventBus } from "../../main";
@@ -59,11 +59,11 @@
disabled: true,
"children": [
{ "id": 41, "label": "智慧教育-手工模型", disabled: true },
- { "id": 42, "label": "智慧停车云-手工模型", disabled: true },
- { "id": 43, "label": "智慧社区-手工模型", disabled: true },
- { "id": 44, "label": "智慧工地-手工模型", disabled: true },
- { "id": 45, "label": "智慧交通-手工模型", disabled: true },
- { "id": 46, "label": "智慧园林-手工模型", disabled: true }
+ { "id": 42, "label": "智慧停车云-手工模型", disabled: true },
+ { "id": 43, "label": "智慧社区-手工模型", disabled: true },
+ { "id": 44, "label": "智慧工地-手工模型", disabled: true },
+ { "id": 45, "label": "智慧交通-手工模型", disabled: true },
+ { "id": 46, "label": "智慧园林-手工模型", disabled: true }
]
}, {
"id": 5,
@@ -95,8 +95,8 @@
setTimeout(() => {
this.tree.forEach((item) => {
item.disabled = false
- if(item.children) {
- item.children = item.children.map((item) => ({ ...item,disabled: false}))
+ if (item.children) {
+ item.children = item.children.map((item) => ({ ...item, disabled: false }))
}
})
}, 5000)
@@ -125,7 +125,7 @@
handler(data, checked, indeterminate)
}
else {
- if(data.id.toString() === '5' && checked) {
+ if (data.id.toString() === '5' && checked) {
window.terrainManager.visible = true
return
}
@@ -143,14 +143,18 @@
},
btnClick(e) {
this.showLayerTree = false
+ this.clearDialog()
if (e.target.id === 'initBtn') {
initPosition()
} else if (e.target.id === 'clearBtn') {
clearUpMap()
} else if (e.target.id === 'layerBtn') {
- // clearUpMap()
this.showLayerTree = true
}
+ },
+ // 清空地图弹窗
+ clearDialog() {
+ this.$bus.$emit('clear')
}
}
}
@@ -178,7 +182,7 @@
right: 20px;
top: 1rem;
display: flex;
- width: 20rem;
+ width: 15rem;
height: 5rem;
z-index: 1111111111;
}
diff --git a/src/pages/csdz/iot/index.vue b/src/pages/csdz/iot/index.vue
index 63b60ea..8aefaea 100644
--- a/src/pages/csdz/iot/index.vue
+++ b/src/pages/csdz/iot/index.vue
@@ -259,8 +259,8 @@
localPoint(e) {
// this.childrenClick(e)
this.clickIcon({
- _data:{
- data:e
+ _data: {
+ data: e
}
})
},
@@ -280,6 +280,11 @@
},
mounted() {
this.search()
+ this.$bus.$on('clear', () => {
+ this.isShowEvent = false
+ this.isShowEventPop = false
+ this.isShowPop = false
+ })
// getStatistics().then(res => {
// if (res.code === 200 && res.data.value.length) {
// console.log(res.data, '')
diff --git a/src/pages/csdz/smartCard/index.vue b/src/pages/csdz/smartCard/index.vue
index 48721f7..32573d2 100644
--- a/src/pages/csdz/smartCard/index.vue
+++ b/src/pages/csdz/smartCard/index.vue
@@ -112,6 +112,7 @@
btnClick(e) {
clearResetMap()
this.selectIndex = e.target.id
+ this.isShowPop = false
if (this.selectIndex === 'publicBtn') {
// 绘制热力图
heat([
@@ -870,6 +871,10 @@
getStatistics({}).then(res => {
console.log(res.data, '一卡通')
})
+ this.$bus.$on('clear', () => {
+ this.isShowPop = false
+ this.isShowEvent = false
+ })
}
}
diff --git a/src/pages/csdz/videoCloud/index.vue b/src/pages/csdz/videoCloud/index.vue
index 4b8d110..81530d5 100644
--- a/src/pages/csdz/videoCloud/index.vue
+++ b/src/pages/csdz/videoCloud/index.vue
@@ -695,6 +695,11 @@
},
mounted() {
this.drawSence()
+ this.$bus.$on('clear', () => {
+ this.isShowPop = false
+ this.isShowEvent = false
+ this.isShowEventPop = false
+ })
}
}
diff --git a/src/pages/ywts/cszl/gd/index.vue b/src/pages/ywts/cszl/gd/index.vue
index e9be7b0..35ee8d7 100644
--- a/src/pages/ywts/cszl/gd/index.vue
+++ b/src/pages/ywts/cszl/gd/index.vue
@@ -1,30 +1,23 @@
-
-
+
+
@@ -34,7 +27,7 @@
import TimeManager from "@/components/TimeManager";
import GdPop from "./gdPop";
import { heat } from '@/utils/freedo/heat'
-import { clearUpMap, clearResetMap ,AddLabelPoint, initPosition } from '@/utils/freedo'
+import { clearUpMap, clearResetMap, AddLabelPoint, initPosition } from '@/utils/freedo'
import {
getHeat,
getArea,
@@ -43,17 +36,17 @@
getStatistics,
getCasePointList, getCaseInfo
} from "../../../../api/ywts/cszl/gd";
-import {AddDivPointCase, AddDivPointHighlight, AddLabel, focusPoint} from "../../../../utils/freedo";
+import { AddDivPointCase, AddDivPointHighlight, AddLabel, focusPoint } from "../../../../utils/freedo";
import ListPage from "@/components/ListPage";
import KeywordManager from "../../../../components/KeywordManager";
import gridJson from "@/assets/mapJson/grid.json";
import mapJson from "@/assets/mapJson/map.json";
-import {eventBus} from "../../../../main";
+import { eventBus } from "../../../../main";
export default {
name: 'Gd',
- components: {KeywordManager, GdPop, TimeManager, LayerManagerMix, ListPage, CommonBtn },
+ components: { KeywordManager, GdPop, TimeManager, LayerManagerMix, ListPage, CommonBtn },
data() {
return {
isListPage: false,
@@ -73,19 +66,19 @@
caseTotal: 0,
layerManager: null,
caseIcon: {
- 1: require('@/assets/images/icon/事件/已撤案.png'),
- 2: require('@/assets/images/icon/事件/指派中.png'),
- 3: require('@/assets/images/icon/事件/处置中.png'),
- 4: require('@/assets/images/icon/事件/已办结.png'),
- 5: require('@/assets/images/icon/事件/已结案.png'),
- },
+ 1: require('@/assets/images/icon/事件/已撤案.png'),
+ 2: require('@/assets/images/icon/事件/指派中.png'),
+ 3: require('@/assets/images/icon/事件/处置中.png'),
+ 4: require('@/assets/images/icon/事件/已办结.png'),
+ 5: require('@/assets/images/icon/事件/已结案.png'),
+ },
caseColor: {
- 1: '#ffffff88',
- 2: '#fdeb5688',
- 3: '#85c8ff88',
- 4: '#ffba7488',
- 5: '#87f6b388',
- },
+ 1: '#ffffff88',
+ 2: '#fdeb5688',
+ 3: '#85c8ff88',
+ 4: '#ffba7488',
+ 5: '#87f6b388',
+ },
time: {
startTime: '',
endTime: '',
@@ -105,10 +98,10 @@
name: '工地设备',
value: 'device'
}
- // , {
- // name: '环监设备',
- // value: 'others'
- // }
+ // , {
+ // name: '环监设备',
+ // value: 'others'
+ // }
],
menus: {
device: [
@@ -122,7 +115,7 @@
},
mounted() {
getStatistics().then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
this.menus.device = response.data.value
}
})
@@ -135,28 +128,24 @@
autoFlyto: true,
})
- eventBus.$emit('change-layer', { id:1, checked: false});
- eventBus.$emit('change-layer', { id:2, checked: false});
- eventBus.$emit('change-layer', { id:3, checked: false});
- eventBus.$emit('change-layer', { id:4, checked: false});
- eventBus.$emit('change-layer', { id:5, checked: true});
- eventBus.$emit('change-layer', { id:44, checked: true});
- eventBus.$emit('change-layer', { id:21, checked: true});
- eventBus.$emit('change-layer', { id:12, checked: true});
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: false }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: true });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: false });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: true }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
-
- // window.pmtsManager.add({
- // id: "智慧工地-手工模型",
- // url: mapJson.CIM4["智慧工地-手工模型"],
- // show: true,
- // maximumScreenSpaceError: 32,
- // maximumMemoryUsage: 64,
- // maximumAbsoluteMemoryUsage: 8192,
- // autoFlyto: true
- // },
- // undefined
- // )
- // window.terrainManager.visible = true
+ // 清除弹窗展示
+ this.$bus.$on('clear', () => {
+ this.isListPage = false
+ this.isShow = false
+ })
},
methods: {
async btnClick(e) {
@@ -179,7 +168,7 @@
break
case "personBtn":
getHeat().then(res => {
- if(res.code === 200) {
+ if (res.code === 200) {
console.log(res.data, '热力')
const arr = res.data.value.filter(item => item.lng !== "" && item.lng !== null)
// arr.splice(0,1) // todo: 测试第一个错误数据
@@ -192,17 +181,17 @@
// 设备图层控制
layer(item) {
// clearUpMap(true)
- const iconOnline = require('@/assets/images/icon/工地地图点位/'+item.typename.replace(/ /g,'')+'在线.png')
- const iconOffline = require('@/assets/images/icon/工地地图点位/'+item.typename.replace(/ /g,'')+'离线.png')
- getDevList({type: item.type}).then(response => {
- if(response.code === 200) {
+ const iconOnline = require('@/assets/images/icon/工地地图点位/' + item.typename.replace(/ /g, '') + '在线.png')
+ const iconOffline = require('@/assets/images/icon/工地地图点位/' + item.typename.replace(/ /g, '') + '离线.png')
+ getDevList({ type: item.type }).then(response => {
+ if (response.code === 200) {
clearUpMap(true)
this.keywordList = response.data.value
response.data.value.forEach(item => {
AddLabelPoint(
item.id,
'',
- item.status === '1'? iconOnline: iconOffline,
+ item.status === '1' ? iconOnline : iconOffline,
[item.lon, item.lat, 0], 'gd-dev', item,
null)
})
@@ -216,23 +205,23 @@
// keywords: this.keyword
}
getCasePointList(param).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
clearUpMap(true)
const data = []
response.data.value.forEach(item => {
- if(!data.map(da => da.id).includes(item.id) && !data.map(da => da.lon).includes(item.lon) && item.id !== null) {
+ if (!data.map(da => da.id).includes(item.id) && !data.map(da => da.lon).includes(item.lon) && item.id !== null) {
data.push(item)
}
})
this.keywordList = data
data.forEach(item => {
// if(item.total === '1') {
- AddLabelPoint(
- item.id,
- '',
- this.caseIcon[item.eventstatus],
- [item.lon, item.lat, 0], 'gd-case', item,
- this.clickCase)
+ AddLabelPoint(
+ item.id,
+ '',
+ this.caseIcon[item.eventstatus],
+ [item.lon, item.lat, 0], 'gd-case', item,
+ this.clickCase)
// } else {
// AddDivPointCase(item, this.caseColor[item.status], item.total, this.clickCase)
// }
@@ -244,8 +233,8 @@
search() {
const iconDone = require('@/assets/images/icon/工地地图点位/工地已完成.png')
const iconDoing = require('@/assets/images/icon/工地地图点位/工地进行中.png')
- getArea({keywords: this.keyword}).then(response => {
- if(response.code === 200) {
+ getArea({ keywords: this.keyword }).then(response => {
+ if (response.code === 200) {
clearUpMap(true)
this.keywordList = response.data.value
response.data.value.forEach(item => {
@@ -254,7 +243,7 @@
AddLabelPoint(
item.id,
item.name,
- item.status === '2' ? iconDoing: iconDone,
+ item.status === '2' ? iconDoing : iconDone,
[item.lon, item.lat, 0], 'gd', item,
this.clickGd)
})
@@ -265,8 +254,8 @@
score() {
const iconDone = require('@/assets/images/icon/工地地图点位/工地已完成.png')
const iconDoing = require('@/assets/images/icon/工地地图点位/工地进行中.png')
- getArea({keywords: this.keyword}).then(response => {
- if(response.code === 200) {
+ getArea({ keywords: this.keyword }).then(response => {
+ if (response.code === 200) {
this.keywordList = response.data.value
response.data.value.forEach(item => {
// console.log(item,'321123')
@@ -280,8 +269,8 @@
})
}
})
- getMonthGdScore({keywords: this.keyword}).then(response => {
- if(response.code === 200) {
+ getMonthGdScore({ keywords: this.keyword }).then(response => {
+ if (response.code === 200) {
response.data.value.filter(item => item.lng !== "" && item.lng !== null).forEach(item => {
AddLabel(
item.id,
@@ -304,7 +293,7 @@
clickCase(eventArg) {
const item = eventArg._data.data
// 恢复上一个marker
- if(this.preCase !== null ) {
+ if (this.preCase !== null) {
window.mmManager.removeById(this.preCase.id)
AddLabelPoint(
this.preCase.id,
@@ -313,7 +302,7 @@
[this.preCase.lon, this.preCase.lat, 0], 'gd-case', this.preCase,
this.clickCase)
}
- if(item.total === '1') {
+ if (item.total === '1') {
// 保存当前marker
this.preCase = item
// 高亮当前marker
@@ -323,7 +312,7 @@
this.preCase = null
}
// 查询事件详情
- this.caseTotal = Number(item.total)
+ this.caseTotal = Number(item.total)
this.isListPage = true
this.$refs.caseListPage.initDialog()
this.caseListQuery = {
@@ -345,16 +334,16 @@
searchCaseMarkerList() {
// getCaseInfo(this.caseListQuery).then(response => {
getCaseInfo(this.caseListQuery).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
console.log(response.data.value)
// 右侧看板
- this.caseList = response.data.value
+ this.caseList = response.data.value
}
})
},
handleTimeRange(time) {
this.isListPage = false
- if(this.time.startTime !== '') {
+ if (this.time.startTime !== '') {
this.time = time
this.casePoint()
} else {
diff --git a/src/pages/ywts/cszl/hw/index.vue b/src/pages/ywts/cszl/hw/index.vue
index e773b7d..ed28bc6 100644
--- a/src/pages/ywts/cszl/hw/index.vue
+++ b/src/pages/ywts/cszl/hw/index.vue
@@ -31,6 +31,7 @@
import ListPage from "@/components/ListPage";
import { getPlacePointList, getOverviewStatistics, getPersonList, getCarList, getCaseList, getCaseInfo } from '@/api/ywts/cszl/hw'
import { iconFilter, iconPerson, personList, carList, iconCar } from './data'
+import { eventBus } from "../../../../main";
export default {
name: 'Hw',
components: { TimeManager, LayerManagerMix, ListPage, CommonBtn, Pop },
@@ -94,7 +95,25 @@
},
mounted() {
clearResetMap()
+ this.selectInde = 'deviceBtn'
this.fetchPoint()
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: false }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: false });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: false });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: false }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
+ // 清除弹窗展示
+ this.$bus.$on('clear', () => {
+ this.isListPage = false
+ this.showPop = false
+ })
},
methods: {
async btnClick(e) {
@@ -263,17 +282,17 @@
// this.caseList = res.data.value || []
// this.caseTotal = this.caseList.length
res.data.value.forEach(item => {
- AddLabelPoint(
- item.id.replaceAll('.', ''),
- '',
- this.caseIcon[item.status],
- [item.lon, item.lat, 0], 'gd-case', item,
- this.clickCase)
- })
+ AddLabelPoint(
+ item.id.replaceAll('.', ''),
+ '',
+ this.caseIcon[item.status],
+ [item.lon, item.lat, 0], 'gd-case', item,
+ this.clickCase)
+ })
})
},
- // 点击事件icon
- clickCase(eventArg) {
+ // 点击事件icon
+ clickCase(eventArg) {
const item = eventArg._data.data
// 恢复上一个marker
if (this.preCase !== null) {
@@ -306,11 +325,11 @@
getCaseInfo(this.caseListQuery).then(res => {
console.log(res.data, '事件详情')
this.caseList = res.data.value || []
- this.caseTotal = this.caseList.length
+ this.caseTotal = this.caseList.length
})
},
- // 事件换页
- changePage(val) {
+ // 事件换页
+ changePage(val) {
if (val && val.page) {
this.caseListQuery.pageNo = val.page
}
diff --git a/src/pages/ywts/cszl/jt/index.vue b/src/pages/ywts/cszl/jt/index.vue
index fb1ce91..ef5938c 100644
--- a/src/pages/ywts/cszl/jt/index.vue
+++ b/src/pages/ywts/cszl/jt/index.vue
@@ -1,15 +1,21 @@
-
+
@@ -26,8 +32,9 @@
getStatistics,
getCasePointList, getCaseInfo
} from "../../../../api/ywts/cszl/gd";
-import {AddDivPointHighlight, AddLabel} from "../../../../utils/freedo";
+import { AddDivPointHighlight, AddLabel } from "../../../../utils/freedo";
import ListPage from "@/components/ListPage";
+import { eventBus } from "../../../../main";
export default {
name: 'Jt',
@@ -47,19 +54,19 @@
},
caseTotal: 0,
caseIcon: {
- 1: require('@/assets/images/icon/事件/已撤案.png'),
- 2: require('@/assets/images/icon/事件/指派中.png'),
- 3: require('@/assets/images/icon/事件/处置中.png'),
- 4: require('@/assets/images/icon/事件/已办结.png'),
- 5: require('@/assets/images/icon/事件/已结案.png'),
- },
+ 1: require('@/assets/images/icon/事件/已撤案.png'),
+ 2: require('@/assets/images/icon/事件/指派中.png'),
+ 3: require('@/assets/images/icon/事件/处置中.png'),
+ 4: require('@/assets/images/icon/事件/已办结.png'),
+ 5: require('@/assets/images/icon/事件/已结案.png'),
+ },
caseColor: {
- 1: '#ffffff',
- 2: '#fdeb56',
- 3: '#85c8ff',
- 4: '#ffba74',
- 5: '#87f6b3',
- },
+ 1: '#ffffff',
+ 2: '#fdeb56',
+ 3: '#85c8ff',
+ 4: '#ffba74',
+ 5: '#87f6b3',
+ },
time: {
startTime: '',
endTime: '',
@@ -81,10 +88,10 @@
name: '基础设施',
value: 'place'
}
- // , {
- // name: '环监设备',
- // value: 'others'
- // }
+ // , {
+ // name: '环监设备',
+ // value: 'others'
+ // }
],
menus: {
place: [
@@ -98,11 +105,27 @@
},
mounted() {
getStatistics().then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
this.menus.place = response.data.value
}
})
this.search()
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: false }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: false });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: true });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: true }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
+ // 清除弹窗展示
+ this.$bus.$on('clear', () => {
+ this.isListPage = false
+ })
},
methods: {
async btnClick(e) {
@@ -121,16 +144,16 @@
// 设备图层控制
layer(item) {
// clearUpMap()
- const iconOnline = require('@/assets/images/icon/工地地图点位/'+item.typename.replace(/ /g,'')+'在线.png')
- const iconOffline = require('@/assets/images/icon/工地地图点位/'+item.typename.replace(/ /g,'')+'离线.png')
- getDevList({type: item.type}).then(response => {
- if(response.code === 200) {
+ const iconOnline = require('@/assets/images/icon/工地地图点位/' + item.typename.replace(/ /g, '') + '在线.png')
+ const iconOffline = require('@/assets/images/icon/工地地图点位/' + item.typename.replace(/ /g, '') + '离线.png')
+ getDevList({ type: item.type }).then(response => {
+ if (response.code === 200) {
clearUpMap()
response.data.value.forEach(item => {
AddLabelPoint(
item.id,
'',
- item.status === '1'? iconOnline: iconOffline,
+ item.status === '1' ? iconOnline : iconOffline,
[item.lon, item.lat, 0], 'gd-place', item,
null)
})
@@ -141,11 +164,11 @@
casePoint() {
console.log(this.time)
getCasePointList(this.time).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
clearUpMap()
const data = []
response.data.value.forEach(item => {
- if(!data.map(da => da.id).includes(item.id) && !data.map(da => da.lon).includes(item.lon) && item.id !== null) {
+ if (!data.map(da => da.id).includes(item.id) && !data.map(da => da.lon).includes(item.lon) && item.id !== null) {
data.push(item)
}
})
@@ -165,7 +188,7 @@
const iconDone = require('@/assets/images/icon/工地地图点位/工地已完成.png')
const iconDoing = require('@/assets/images/icon/工地地图点位/工地进行中.png')
getArea({}).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
clearUpMap()
response.data.value.forEach(item => {
// console.log(item.areaboundary)
@@ -173,7 +196,7 @@
AddLabelPoint(
item.id,
item.name,
- item.status === '2' ? iconDoing: iconDone,
+ item.status === '2' ? iconDoing : iconDone,
[item.lon, item.lat, 0], 'gd', item,
this.clickHw)
})
@@ -183,7 +206,7 @@
// 智慧工地-工地近1月综合得分
score() {
getArea({}).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
response.data.value.forEach(item => {
console.log(item.areaboundary)
// todo : 画范围
@@ -195,7 +218,7 @@
clickCase(eventArg) {
const item = eventArg._data.data
// 恢复上一个marker
- if(this.preCase !== null ) {
+ if (this.preCase !== null) {
window.mmManager.removeById(this.preCase.id)
AddLabelPoint(
this.preCase.id,
@@ -231,13 +254,13 @@
searchCaseMarkerList() {
// getCaseInfo(this.caseListQuery).then(response => {
getCaseInfo(this.caseListQuery).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
console.log(response.data.value)
// 右侧看板
- this.caseList = response.data.value
+ this.caseList = response.data.value
// todo
// this.caseTotal = response.data.value.length
- this.caseTotal = 12
+ this.caseTotal = 12
}
})
},
@@ -246,7 +269,7 @@
},
handleTimeRange(time) {
this.isListPage = false
- if(this.time.startTime !== '') {
+ if (this.time.startTime !== '') {
this.time = time
this.casePoint()
} else {
diff --git a/src/pages/ywts/cszl/jxh/index.vue b/src/pages/ywts/cszl/jxh/index.vue
index a3703db..0f23aaa 100644
--- a/src/pages/ywts/cszl/jxh/index.vue
+++ b/src/pages/ywts/cszl/jxh/index.vue
@@ -1,26 +1,24 @@
-
-
+
+
@@ -44,14 +42,15 @@
getAll,
getCaseInfo, getBoard
} from "../../../../api/ywts/cszl/jxh";
-import {AddDivPointCase, AddDivPointHighlight, AddOnlyLabel, AddPolygon} from "../../../../utils/freedo";
+import { AddDivPointCase, AddDivPointHighlight, AddOnlyLabel, AddPolygon } from "../../../../utils/freedo";
import ListPage from "@/components/ListPage";
-import {getGridInfo, getGridToken} from "../../../../api/common";
+import { getGridInfo, getGridToken } from "../../../../api/common";
import JxhPop from "./jxhPop";
+import { eventBus } from "../../../../main";
export default {
name: 'Jxh',
- components: {JxhPop, LayerManager, TimeManager, KeywordManager, CommonBtn, ListPage },
+ components: { JxhPop, LayerManager, TimeManager, KeywordManager, CommonBtn, ListPage },
data() {
return {
preCase: null,
@@ -128,6 +127,22 @@
}
},
mounted() {
+ this.$bus.$on('clear', () => {
+ this.isListPage = false
+ this.isShow = false
+ })
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: false }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: false });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: false });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: false }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
// 全部事件
getAll({
// urgent: '0',
@@ -135,8 +150,8 @@
// high: '0',
startTime: this.time.startTime,
endTime: this.time.endTime,
- }).then( res => {
- if(res.code === 200) {
+ }).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
@@ -154,7 +169,7 @@
caseMarker(res) {
res.data.value.forEach(item => {
// console.log(item.status)
- if(item.total === '1') {
+ if (item.total === '1') {
AddLabelPoint(
item.id,
'',
@@ -180,24 +195,24 @@
switch (e.bigtype) {
case 'source':
query.sourceId = e.type
- getSourceList(query).then( res => {
- if(res.code === 200) {
+ getSourceList(query).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
break
case 'project':
query.projectId = e.type
- getProjectList(query).then( res => {
- if(res.code === 200) {
+ getProjectList(query).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
break
case 'grid':
query.gridType = e.type
- getGridList(query).then( res => {
- if(res.code === 200) {
+ getGridList(query).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
@@ -208,7 +223,7 @@
clickCase(eventArg) {
const item = eventArg._data.data
// 恢复上一个marker
- if(this.preCase !== null ) {
+ if (this.preCase !== null) {
window.mmManager.removeById(this.preCase.id)
AddLabelPoint(
this.preCase.id,
@@ -218,7 +233,7 @@
this.clickCase)
}
- if(item.total === '1') {
+ if (item.total === '1') {
// 保存当前marker
this.preCase = item
// 高亮当前marker
@@ -229,7 +244,7 @@
}
// 查询事件详情
- this.caseTotal = Number(item.total)
+ this.caseTotal = Number(item.total)
this.caseList = []
this.isListPage = true
this.hasUrge = false
@@ -263,13 +278,13 @@
// high: '0',
startTime: this.time.startTime,
endTime: this.time.endTime,
- }).then( res => {
- if(res.code === 200) {
+ }).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
// 事件看板
- this.caseTotal = 1000 // todo
+ this.caseTotal = 1000 // todo
this.caseList = []
this.isListPage = true
this.hasUrge = true
@@ -292,8 +307,8 @@
high: '1',
startTime: this.time.startTime,
endTime: this.time.endTime,
- }).then( res => {
- if(res.code === 200) {
+ }).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
@@ -306,8 +321,8 @@
// high: '0',
startTime: this.time.startTime,
endTime: this.time.endTime,
- }).then( res => {
- if(res.code === 200) {
+ }).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
@@ -317,7 +332,7 @@
break
case "caseHeatBtn":
getHeat(this.time).then(res => {
- if(res.code === 200) {
+ if (res.code === 200) {
heat(res.data.value) // 热力图
}
})
@@ -326,29 +341,29 @@
},
gridDraw(token, areaCode) {
const colors = [
- [0,234,255,0.47],
- [255,185,0,0.47],
- [255,234,0,0.47],
- [209,0,255,0.47],
- [255,0,38,0.47],
+ [0, 234, 255, 0.47],
+ [255, 185, 0, 0.47],
+ [255, 234, 0, 0.47],
+ [209, 0, 255, 0.47],
+ [255, 0, 38, 0.47],
]
getGridInfo({
paramCodeList: 'KJ5001',
areaCode,
token
- }).then( res => {
+ }).then(res => {
console.log(res)
res.data.chirdAreaInfo.forEach((item, index) => {
item._source.areainfo.coordinates.forEach(area => {
let positions = []
- let arr = item._source.areainfo.type === 'MultiPolygon' ? area[0]: area
+ let arr = item._source.areainfo.type === 'MultiPolygon' ? area[0] : area
arr.forEach(pos => {
- positions.push(Freedo.Cartesian3.fromDegrees( pos[0], pos[1],0))
+ positions.push(Freedo.Cartesian3.fromDegrees(pos[0], pos[1], 0))
})
- AddPolygon(positions,colors[index % 5], this.gridClick,item._id)
+ AddPolygon(positions, colors[index % 5], this.gridClick, item._id)
AddOnlyLabel(
'',
- item._source.areaname , //+ this.menus.grid
+ item._source.areaname, //+ this.menus.grid
[item._source.lon, item._source.lat, 0],
'', null, null)
})
@@ -364,7 +379,7 @@
secret: CryptoJS.MD5(timestamp + 'geostar999').toString()
}
- getGridToken(param).then( res => {
+ getGridToken(param).then(res => {
clearUpMap()
this.gridDraw(res.data.token, '360783001')
this.gridDraw(res.data.token, '360783002')
@@ -374,32 +389,32 @@
},
// 三个概况统计
layerSeach() {
- getSource(this.time).then( res => {
- if(res.code === 200) {
+ getSource(this.time).then(res => {
+ if (res.code === 200) {
this.menus.source = res.data.value.map(item => {
item.bigtype = 'source'
- item.type = item.id.replace(/ /g,'')
- item.typename = item.name.replace(/ /g,'')
+ item.type = item.id.replace(/ /g, '')
+ item.typename = item.name.replace(/ /g, '')
return item
})
}
})
- getProject(this.time).then( res => {
- if(res.code === 200) {
+ getProject(this.time).then(res => {
+ if (res.code === 200) {
this.menus.project = res.data.value.map(item => {
item.bigtype = 'project'
- item.type = item.id.replace(/ /g,'')
- item.typename = item.name.replace(/ /g,'')
+ item.type = item.id.replace(/ /g, '')
+ item.typename = item.name.replace(/ /g, '')
return item
})
}
})
- getGrid(this.time).then( res => {
- if(res.code === 200) {
+ getGrid(this.time).then(res => {
+ if (res.code === 200) {
this.menus.grid = res.data.value.map(item => {
item.bigtype = 'grid'
- item.type = item.id.replace(/ /g,'')
- item.typename = item.name.replace(/ /g,'')
+ item.type = item.id.replace(/ /g, '')
+ item.typename = item.name.replace(/ /g, '')
return item
})
}
@@ -410,7 +425,7 @@
if (val && val.page) {
this.caseListQuery.pageNo = val.page
}
- if(this.hasUrge) {
+ if (this.hasUrge) {
this.searchBoard()
} else {
this.searchCaseMarkerList()
@@ -419,20 +434,20 @@
// 事件看板查询
searchBoard() {
getBoard(this.caseListQuery).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
console.log(response.data.value)
// 右侧看板
- this.caseList = response.data.value
+ this.caseList = response.data.value
}
})
},
// 事件详情分页
searchCaseMarkerList() {
getCaseInfo(this.caseListQuery).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
console.log(response.data.value)
// 右侧看板
- this.caseList = response.data.value
+ this.caseList = response.data.value
}
})
},
diff --git a/src/pages/ywts/cszl/yj/index.vue b/src/pages/ywts/cszl/yj/index.vue
index 7869a73..d74dfe9 100644
--- a/src/pages/ywts/cszl/yj/index.vue
+++ b/src/pages/ywts/cszl/yj/index.vue
@@ -45,7 +45,7 @@
import { AddDivPointHighlight, AddLabel } from "../../../../utils/freedo";
import { iconFilter, deviceList, caseList } from './data'
import ListPage from "@/components/ListPage";
-
+import { eventBus } from "../../../../main";
export default {
name: 'Yj',
components: { TimeManager, LayerManagerMix, ListPage, CommonBtn, Pop },
@@ -118,14 +118,25 @@
}
},
mounted() {
- // getStatistics().then(response => {
- // if(response.code === 200) {
- // this.menus.place = response.data.value
- // }
- // })
- // this.search()
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: false }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: false });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: false });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: false }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
clearResetMap()
this.searchPlace({})
+
+ this.$bus.$on('clear', () => {
+ this.isListPage = false
+ this.showPop = false
+ })
},
methods: {
async btnClick(e) {
diff --git a/src/pages/ywts/shms/jy/devicePop.vue b/src/pages/ywts/shms/jy/devicePop.vue
new file mode 100644
index 0000000..2c44979
--- /dev/null
+++ b/src/pages/ywts/shms/jy/devicePop.vue
@@ -0,0 +1,281 @@
+
+
+
+
+
+
+
+ 设备名称: {{
+ gdInfo.name }}
+ 设备类型: {{
+ gdInfo.typename }}
+ 设备状态: {{
+ gdInfo.statusName }}
+ 设备位置: {{
+ gdInfo.location }}
+ 时间: {{ gdInfo.time
+ }}
+ 进/出人口数: {{ gdInfo.in
+ }}/{{ gdInfo.out }}
+ 是否赋能: 否
+
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/ywts/shms/jy/index.vue b/src/pages/ywts/shms/jy/index.vue
index b1eb984..f377985 100644
--- a/src/pages/ywts/shms/jy/index.vue
+++ b/src/pages/ywts/shms/jy/index.vue
@@ -6,11 +6,13 @@
+ :select="selectIndex === 'layerBtn'" @btnClick="btnClick" @menuClick="menuClick" />
+
+
@@ -29,13 +31,15 @@
import mapJson from "@/assets/mapJson/map.json";
import modelJson from "@/assets/mapJson/school.json";
import { eventBus } from "../../../../main";
+import devicePop from './devicePop.vue'
export default {
name: 'Jy',
- components: { SchoolPop, TimeManager, KeywordManager, LayerManagerMix, CommonBtn },
+ components: { SchoolPop, TimeManager, KeywordManager, LayerManagerMix, CommonBtn, devicePop },
data() {
return {
isShow: false,
+ showDevice: false,
ktSelect: '',
keyword: '',
keywordList: [],
@@ -56,10 +60,15 @@
},
menus: {
device: [
- { type: "1", typename: "视频设备", total: "111" },
- { type: "2", typename: "门禁设备", total: "111" }
+ { type: "1", typename: "视频设备", total: "0" },
+ { type: "2", typename: "门禁设备", total: "0" }
]
- }
+ },
+ markerList: [],
+ markerBakList: [],
+ videoIcon: require('@/assets/images/icon/视频云/枪机未赋能在线.png'),
+ controlIcon: require('@/assets/images/icon/一卡通/门禁.png'),
+
}
},
mounted() {
@@ -70,55 +79,25 @@
name: 'jy',
autoFlyto: true,
})
- eventBus.$emit('change-layer', { id: 1, checked: false });
- eventBus.$emit('change-layer', { id: 2, checked: false });
- eventBus.$emit('change-layer', { id: 3, checked: false });
- eventBus.$emit('change-layer', { id: 4, checked: false });
- eventBus.$emit('change-layer', { id: 5, checked: true });
- eventBus.$emit('change-layer', { id: 41, checked: true });
- eventBus.$emit('change-layer', { id: 21, checked: true });
- eventBus.$emit('change-layer', { id: 12, checked: true });
- // // 教育模型
- // window.pmtsManager.add({
- // id: "智慧教育-手工模型",
- // url: mapJson.CIM4["智慧教育-手工模型"],
- // show: true,
- // maximumScreenSpaceError: 32,
- // maximumMemoryUsage: 64,
- // maximumAbsoluteMemoryUsage: 8192,
- // autoFlyto: true
- // },
- // undefined
- // )
- // // CIM2 楼
- // window.pmtsManager.add({
- // url: mapJson['CIM2']['CIM2建筑(带纹理)'],
- // show: true,
- // name: 'CIM2建筑(带纹理)',
- // autoFlyto: false
- // })
- // window.pmtsManager.add({
- // url: mapJson['CIM2']['CIM2建筑(带纹理)'],
- // show: true,
- // name: 'CIM2建筑(带纹理)',
- // autoFlyto: false,
- // alpha: 0.5,
- // color: '#002d7a'
- // })
- // for(let key in modelJson) {
- // window.pmtsManager.add({
- // id: key,
- // // url: mapJson.CIM4["智慧教育-手工模型"],
- // url: modelJson[key],
- // show: true,
- // maximumScreenSpaceError: 32,
- // maximumMemoryUsage: 64,
- // maximumAbsoluteMemoryUsage: 8192,
- // autoFlyto: true
- // },
- // undefined
- // )
- // }
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: true }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: false });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: false });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: true }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
+
+ // 清除弹窗展示
+ this.$bus.$on('clear', () => {
+ this.isShow = false
+ this.showDevice = false
+
+ })
},
methods: {
async btnClick(e) {
@@ -126,6 +105,7 @@
clearUpMap(true)
initPosition()
this.isShow = false
+ this.showDevice = false
this.selectIndex = e.target.id
switch (this.selectIndex) {
case "schoolBtn":
@@ -194,10 +174,121 @@
},
// 搜索学校设备
searchDevice() {
- getDevice({}).then(res => {
- console.log('学校数据')
+ getDevice({ keywords: '' }).then(res => {
+ this.markerList = [
+ {
+ "name": "设备1",
+ "lon": "114.859995",
+ "location": "江西省赣州市南康区三江乡",
+ "id": "1676397864375291905",
+ "lat": "25.802129",
+ "type": "1",
+ "typename": "视频设备",
+ statusName: '正常',
+ time: '2025-06-16 09:05:05',
+ in: '0',
+ out: '0',
+ },
+ {
+ "name": "设备2",
+ "lon": "114.861027",
+ "location": "江西省赣州市章贡区潭六路135号靠近逸夫小学",
+ "id": "1676398916763914241",
+ "lat": "25.757553",
+ "type": "2",
+ "typename": "门禁设备",
+ statusName: '正常',
+ time: '2025-06-16 09:05:05',
+ in: '0',
+ out: '0',
+ },
+ {
+ "name": "设备3",
+ "lon": "114.880246",
+ "location": "江西省赣州市章贡区潭东镇弘腾路毅德城",
+ "id": "1676414593390350337",
+ "lat": "25.753119",
+ "type": "1",
+ "typename": "视频设备",
+ statusName: '正常',
+ time: '2025-06-16 09:05:05',
+ in: '0',
+ out: '0',
+ },
+ {
+ "name": "设备4",
+ "lon": "114.879855",
+ "location": "江西省赣州市章贡区潭东镇弘腾路毅德城",
+ "id": "1676414955455254529",
+ "lat": "25.752771",
+ "type": "1",
+ "typename": "视频设备",
+ statusName: '正常',
+ time: '2025-06-16 09:05:05',
+ in: '0',
+ out: '0',
+ },
+ {
+ "name": "设备5",
+ "lon": "114.875438",
+ "location": "江西省赣州市章贡区潭东镇弘腾路毅德城",
+ "id": "1676418661630349312",
+ "lat": "25.748733",
+ "type": "2",
+ "typename": "门禁设备",
+ statusName: '正常',
+ time: '2025-06-16 09:05:05',
+ in: '0',
+ out: '0',
+ },
+ {
+ "name": "设备6",
+ "lon": "114.867371",
+ "location": "江西省赣州市章贡区105国道135号靠近松岭上",
+ "id": "1676422908220542977",
+ "lat": "25.750388",
+ "typename": "2",
+ "typename": "门禁设备",
+ statusName: '正常',
+ time: '2025-06-16 09:05:05',
+ in: '0',
+ out: '0',
+ },
+ ]
+ this.markerBakList = JSON.parse(JSON.stringify(this.markerList))
+ this.menus.device[0].total = this.markerList.filter((item) => item.type === '1').length
+ this.menus.device[1].total = this.markerList.filter((item) => item.type === '2').length
+ // 绘制点位
+ this.markerList.forEach((item) => {
+ AddLabelPoint(
+ item.id,
+ `${item.name}`,
+ item.type === '1' ? this.videoIcon : this.controlIcon,
+ [item.lon, item.lat, 0], 'yl-dev', item,
+ this.clickDevice)
+ })
})
- }
+ },
+ menuClick(e) {
+ clearResetMap()
+ this.markerList = this.markerBakList.filter(item => item.type === e.type)
+ this.markerList.forEach((item) => {
+ AddLabelPoint(
+ item.id,
+ `${item.name}`,
+ item.type === '1' ? this.videoIcon : this.controlIcon,
+ [item.lon, item.lat, 0], 'yl-dev', item,
+ this.clickDevice)
+ })
+ },
+ // 设备点位点击
+ clickDevice(eventArg) {
+ const item = eventArg._data.data
+ this.showDevice = true
+ this.$nextTick(() => {
+ this.$refs.deviceRef.initData(item)
+ })
+ },
}
}
diff --git a/src/pages/ywts/shms/sq/carPop.vue b/src/pages/ywts/shms/sq/carPop.vue
new file mode 100644
index 0000000..b1fe4c3
--- /dev/null
+++ b/src/pages/ywts/shms/sq/carPop.vue
@@ -0,0 +1,275 @@
+
+
+
+
+
+
+
+ 名称: {{
+ gdInfo.name }}
+ 位置: {{
+ gdInfo.location }}
+ 车辆数量: {{ gdInfo.carNum
+ }}
+ 停车位: {{ gdInfo.parkSpaceNum }}
+
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/ywts/shms/sq/communityPop.vue b/src/pages/ywts/shms/sq/communityPop.vue
new file mode 100644
index 0000000..eb6bf07
--- /dev/null
+++ b/src/pages/ywts/shms/sq/communityPop.vue
@@ -0,0 +1,212 @@
+
+
+
+
+
+
{{ name }}
+
位置:{{ position
+ }}
+
+
+
+
+
+
{{ item.total }}
+
{{ item.name }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/ywts/shms/sq/components/agePie.vue b/src/pages/ywts/shms/sq/components/agePie.vue
new file mode 100644
index 0000000..9e41da8
--- /dev/null
+++ b/src/pages/ywts/shms/sq/components/agePie.vue
@@ -0,0 +1,185 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/ywts/shms/sq/components/currentPie.vue b/src/pages/ywts/shms/sq/components/currentPie.vue
new file mode 100644
index 0000000..c7dfe20
--- /dev/null
+++ b/src/pages/ywts/shms/sq/components/currentPie.vue
@@ -0,0 +1,178 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/ywts/shms/sq/components/personBar.vue b/src/pages/ywts/shms/sq/components/personBar.vue
new file mode 100644
index 0000000..b065487
--- /dev/null
+++ b/src/pages/ywts/shms/sq/components/personBar.vue
@@ -0,0 +1,193 @@
+
+
+
+
+
+
+
diff --git a/src/api/ywts/shms/jy.js b/src/api/ywts/shms/jy.js
index f3ac251..56f48e3 100644
--- a/src/api/ywts/shms/jy.js
+++ b/src/api/ywts/shms/jy.js
@@ -116,7 +116,7 @@
return request({
url: 'zhjy-gktj/zhjy/sbdwlb',
method: 'post',
- data,
+ // data,
params: data
})
}
diff --git a/src/api/ywts/shms/sq.js b/src/api/ywts/shms/sq.js
new file mode 100644
index 0000000..04a5447
--- /dev/null
+++ b/src/api/ywts/shms/sq.js
@@ -0,0 +1,123 @@
+/**
+ * 社区接口
+ */
+import request from '@/utils/request'
+
+// 社区点位列表
+export function getCommunityList() {
+ return request({
+ url: 'zhsq-gktj/zhsq/sqdwlb',
+ method: 'post',
+ })
+}
+
+// 人员热力图
+export function getHeat() {
+ return request({
+ url: 'zhsq-gktj/zhsq/sqyyrlt',
+ method: 'post',
+ })
+}
+
+// 设备点位
+export function getDevice() {
+ return request({
+ url: 'zhsq-gktj/zhsq/sbdwlb',
+ method: 'post',
+ params: {
+ type: '',
+ keywords: ''
+ }
+ })
+}
+
+// 社区车辆
+export function getCar() {
+ return request({
+ url: 'zhsq-gktj/zhsq/sqbyl',
+ method: 'post',
+ })
+}
+
+// 事件点位列表
+export function getCase(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/sjdwlb',
+ method: 'post',
+ params:{
+ ...data
+ }
+ })
+}
+
+// 事件详情
+export function getCaseList(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/zjlbfy',
+ method: 'post',
+ params:{
+ ...data
+ }
+ })
+}
+// 获取社区基本信息
+export function getBaseInfo(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/sqdwxq',
+ method: 'post',
+ params:{
+ ...data
+ },
+ // data
+ })
+}
+// 居民年龄统计
+export function getAgeStatistics(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/jmnltj',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
+// 居民流动比例
+export function getCurrentRatio(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/jmldbl',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
+// 近1年人房车占比统计
+export function getPersonCarRatio(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/rfczbtj',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
+// 近1月居民通行量分析
+export function getTransitrRatio(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/jmtxlfx',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
+// 近1月高频事件排行榜
+export function getCaseRank(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/gpsjphb',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
diff --git a/src/api/ywts/zyhj/hb.js b/src/api/ywts/zyhj/hb.js
index 5e598d1..07625d1 100644
--- a/src/api/ywts/zyhj/hb.js
+++ b/src/api/ywts/zyhj/hb.js
@@ -8,7 +8,10 @@
return request({
url: 'zhhb-gktj/zhhb/gktj',
method: 'post',
- data
+ data,
+ params: {
+ ...data,
+ }
})
}
// 环保点位列表
@@ -19,3 +22,26 @@
data
})
}
+// 环保告警列表
+export function getAlarmList(data) {
+ return request({
+ url: 'zhhb-gktj/zhhb/hbgjlb',
+ method: 'post',
+ // data
+ params: {
+ ...data
+ }
+ })
+}
+
+// 环保事件列表
+export function getCaseList(data) {
+ return request({
+ url: 'zhhb-gktj/zhhb/hbsjlbfy',
+ method: 'post',
+ // data
+ params: {
+ ...data
+ }
+ })
+}
diff --git a/src/api/ywts/zyhj/yl.js b/src/api/ywts/zyhj/yl.js
index 63d7ad2..643e3d4 100644
--- a/src/api/ywts/zyhj/yl.js
+++ b/src/api/ywts/zyhj/yl.js
@@ -88,6 +88,9 @@
url: 'zhyl-gktjljk/zhyl/sjxq',
method: 'post',
data,
+ params: {
+ ...data,
+ }
})
}
// 苗木点位列表
diff --git a/src/components/CommonFunction/index.vue b/src/components/CommonFunction/index.vue
index 1a10acb..c2eba44 100644
--- a/src/components/CommonFunction/index.vue
+++ b/src/components/CommonFunction/index.vue
@@ -5,8 +5,8 @@
@click="btnClick" />
-
+
@@ -21,7 +21,7 @@
import CommonBtn from "../CommonBtn";
import { clearUpMap } from '@/utils/freedo/index'
-import { initPosition, initPage } from "../../utils/freedo";
+import { initPosition, initPage } from "../../utils/freedo";
import mapJson from "@/assets/mapJson/map.json";
import { eventBus } from "../../main";
@@ -59,11 +59,11 @@
disabled: true,
"children": [
{ "id": 41, "label": "智慧教育-手工模型", disabled: true },
- { "id": 42, "label": "智慧停车云-手工模型", disabled: true },
- { "id": 43, "label": "智慧社区-手工模型", disabled: true },
- { "id": 44, "label": "智慧工地-手工模型", disabled: true },
- { "id": 45, "label": "智慧交通-手工模型", disabled: true },
- { "id": 46, "label": "智慧园林-手工模型", disabled: true }
+ { "id": 42, "label": "智慧停车云-手工模型", disabled: true },
+ { "id": 43, "label": "智慧社区-手工模型", disabled: true },
+ { "id": 44, "label": "智慧工地-手工模型", disabled: true },
+ { "id": 45, "label": "智慧交通-手工模型", disabled: true },
+ { "id": 46, "label": "智慧园林-手工模型", disabled: true }
]
}, {
"id": 5,
@@ -95,8 +95,8 @@
setTimeout(() => {
this.tree.forEach((item) => {
item.disabled = false
- if(item.children) {
- item.children = item.children.map((item) => ({ ...item,disabled: false}))
+ if (item.children) {
+ item.children = item.children.map((item) => ({ ...item, disabled: false }))
}
})
}, 5000)
@@ -125,7 +125,7 @@
handler(data, checked, indeterminate)
}
else {
- if(data.id.toString() === '5' && checked) {
+ if (data.id.toString() === '5' && checked) {
window.terrainManager.visible = true
return
}
@@ -143,14 +143,18 @@
},
btnClick(e) {
this.showLayerTree = false
+ this.clearDialog()
if (e.target.id === 'initBtn') {
initPosition()
} else if (e.target.id === 'clearBtn') {
clearUpMap()
} else if (e.target.id === 'layerBtn') {
- // clearUpMap()
this.showLayerTree = true
}
+ },
+ // 清空地图弹窗
+ clearDialog() {
+ this.$bus.$emit('clear')
}
}
}
@@ -178,7 +182,7 @@
right: 20px;
top: 1rem;
display: flex;
- width: 20rem;
+ width: 15rem;
height: 5rem;
z-index: 1111111111;
}
diff --git a/src/pages/csdz/iot/index.vue b/src/pages/csdz/iot/index.vue
index 63b60ea..8aefaea 100644
--- a/src/pages/csdz/iot/index.vue
+++ b/src/pages/csdz/iot/index.vue
@@ -259,8 +259,8 @@
localPoint(e) {
// this.childrenClick(e)
this.clickIcon({
- _data:{
- data:e
+ _data: {
+ data: e
}
})
},
@@ -280,6 +280,11 @@
},
mounted() {
this.search()
+ this.$bus.$on('clear', () => {
+ this.isShowEvent = false
+ this.isShowEventPop = false
+ this.isShowPop = false
+ })
// getStatistics().then(res => {
// if (res.code === 200 && res.data.value.length) {
// console.log(res.data, '')
diff --git a/src/pages/csdz/smartCard/index.vue b/src/pages/csdz/smartCard/index.vue
index 48721f7..32573d2 100644
--- a/src/pages/csdz/smartCard/index.vue
+++ b/src/pages/csdz/smartCard/index.vue
@@ -112,6 +112,7 @@
btnClick(e) {
clearResetMap()
this.selectIndex = e.target.id
+ this.isShowPop = false
if (this.selectIndex === 'publicBtn') {
// 绘制热力图
heat([
@@ -870,6 +871,10 @@
getStatistics({}).then(res => {
console.log(res.data, '一卡通')
})
+ this.$bus.$on('clear', () => {
+ this.isShowPop = false
+ this.isShowEvent = false
+ })
}
}
diff --git a/src/pages/csdz/videoCloud/index.vue b/src/pages/csdz/videoCloud/index.vue
index 4b8d110..81530d5 100644
--- a/src/pages/csdz/videoCloud/index.vue
+++ b/src/pages/csdz/videoCloud/index.vue
@@ -695,6 +695,11 @@
},
mounted() {
this.drawSence()
+ this.$bus.$on('clear', () => {
+ this.isShowPop = false
+ this.isShowEvent = false
+ this.isShowEventPop = false
+ })
}
}
diff --git a/src/pages/ywts/cszl/gd/index.vue b/src/pages/ywts/cszl/gd/index.vue
index e9be7b0..35ee8d7 100644
--- a/src/pages/ywts/cszl/gd/index.vue
+++ b/src/pages/ywts/cszl/gd/index.vue
@@ -1,30 +1,23 @@
-
-
+
+
@@ -34,7 +27,7 @@
import TimeManager from "@/components/TimeManager";
import GdPop from "./gdPop";
import { heat } from '@/utils/freedo/heat'
-import { clearUpMap, clearResetMap ,AddLabelPoint, initPosition } from '@/utils/freedo'
+import { clearUpMap, clearResetMap, AddLabelPoint, initPosition } from '@/utils/freedo'
import {
getHeat,
getArea,
@@ -43,17 +36,17 @@
getStatistics,
getCasePointList, getCaseInfo
} from "../../../../api/ywts/cszl/gd";
-import {AddDivPointCase, AddDivPointHighlight, AddLabel, focusPoint} from "../../../../utils/freedo";
+import { AddDivPointCase, AddDivPointHighlight, AddLabel, focusPoint } from "../../../../utils/freedo";
import ListPage from "@/components/ListPage";
import KeywordManager from "../../../../components/KeywordManager";
import gridJson from "@/assets/mapJson/grid.json";
import mapJson from "@/assets/mapJson/map.json";
-import {eventBus} from "../../../../main";
+import { eventBus } from "../../../../main";
export default {
name: 'Gd',
- components: {KeywordManager, GdPop, TimeManager, LayerManagerMix, ListPage, CommonBtn },
+ components: { KeywordManager, GdPop, TimeManager, LayerManagerMix, ListPage, CommonBtn },
data() {
return {
isListPage: false,
@@ -73,19 +66,19 @@
caseTotal: 0,
layerManager: null,
caseIcon: {
- 1: require('@/assets/images/icon/事件/已撤案.png'),
- 2: require('@/assets/images/icon/事件/指派中.png'),
- 3: require('@/assets/images/icon/事件/处置中.png'),
- 4: require('@/assets/images/icon/事件/已办结.png'),
- 5: require('@/assets/images/icon/事件/已结案.png'),
- },
+ 1: require('@/assets/images/icon/事件/已撤案.png'),
+ 2: require('@/assets/images/icon/事件/指派中.png'),
+ 3: require('@/assets/images/icon/事件/处置中.png'),
+ 4: require('@/assets/images/icon/事件/已办结.png'),
+ 5: require('@/assets/images/icon/事件/已结案.png'),
+ },
caseColor: {
- 1: '#ffffff88',
- 2: '#fdeb5688',
- 3: '#85c8ff88',
- 4: '#ffba7488',
- 5: '#87f6b388',
- },
+ 1: '#ffffff88',
+ 2: '#fdeb5688',
+ 3: '#85c8ff88',
+ 4: '#ffba7488',
+ 5: '#87f6b388',
+ },
time: {
startTime: '',
endTime: '',
@@ -105,10 +98,10 @@
name: '工地设备',
value: 'device'
}
- // , {
- // name: '环监设备',
- // value: 'others'
- // }
+ // , {
+ // name: '环监设备',
+ // value: 'others'
+ // }
],
menus: {
device: [
@@ -122,7 +115,7 @@
},
mounted() {
getStatistics().then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
this.menus.device = response.data.value
}
})
@@ -135,28 +128,24 @@
autoFlyto: true,
})
- eventBus.$emit('change-layer', { id:1, checked: false});
- eventBus.$emit('change-layer', { id:2, checked: false});
- eventBus.$emit('change-layer', { id:3, checked: false});
- eventBus.$emit('change-layer', { id:4, checked: false});
- eventBus.$emit('change-layer', { id:5, checked: true});
- eventBus.$emit('change-layer', { id:44, checked: true});
- eventBus.$emit('change-layer', { id:21, checked: true});
- eventBus.$emit('change-layer', { id:12, checked: true});
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: false }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: true });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: false });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: true }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
-
- // window.pmtsManager.add({
- // id: "智慧工地-手工模型",
- // url: mapJson.CIM4["智慧工地-手工模型"],
- // show: true,
- // maximumScreenSpaceError: 32,
- // maximumMemoryUsage: 64,
- // maximumAbsoluteMemoryUsage: 8192,
- // autoFlyto: true
- // },
- // undefined
- // )
- // window.terrainManager.visible = true
+ // 清除弹窗展示
+ this.$bus.$on('clear', () => {
+ this.isListPage = false
+ this.isShow = false
+ })
},
methods: {
async btnClick(e) {
@@ -179,7 +168,7 @@
break
case "personBtn":
getHeat().then(res => {
- if(res.code === 200) {
+ if (res.code === 200) {
console.log(res.data, '热力')
const arr = res.data.value.filter(item => item.lng !== "" && item.lng !== null)
// arr.splice(0,1) // todo: 测试第一个错误数据
@@ -192,17 +181,17 @@
// 设备图层控制
layer(item) {
// clearUpMap(true)
- const iconOnline = require('@/assets/images/icon/工地地图点位/'+item.typename.replace(/ /g,'')+'在线.png')
- const iconOffline = require('@/assets/images/icon/工地地图点位/'+item.typename.replace(/ /g,'')+'离线.png')
- getDevList({type: item.type}).then(response => {
- if(response.code === 200) {
+ const iconOnline = require('@/assets/images/icon/工地地图点位/' + item.typename.replace(/ /g, '') + '在线.png')
+ const iconOffline = require('@/assets/images/icon/工地地图点位/' + item.typename.replace(/ /g, '') + '离线.png')
+ getDevList({ type: item.type }).then(response => {
+ if (response.code === 200) {
clearUpMap(true)
this.keywordList = response.data.value
response.data.value.forEach(item => {
AddLabelPoint(
item.id,
'',
- item.status === '1'? iconOnline: iconOffline,
+ item.status === '1' ? iconOnline : iconOffline,
[item.lon, item.lat, 0], 'gd-dev', item,
null)
})
@@ -216,23 +205,23 @@
// keywords: this.keyword
}
getCasePointList(param).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
clearUpMap(true)
const data = []
response.data.value.forEach(item => {
- if(!data.map(da => da.id).includes(item.id) && !data.map(da => da.lon).includes(item.lon) && item.id !== null) {
+ if (!data.map(da => da.id).includes(item.id) && !data.map(da => da.lon).includes(item.lon) && item.id !== null) {
data.push(item)
}
})
this.keywordList = data
data.forEach(item => {
// if(item.total === '1') {
- AddLabelPoint(
- item.id,
- '',
- this.caseIcon[item.eventstatus],
- [item.lon, item.lat, 0], 'gd-case', item,
- this.clickCase)
+ AddLabelPoint(
+ item.id,
+ '',
+ this.caseIcon[item.eventstatus],
+ [item.lon, item.lat, 0], 'gd-case', item,
+ this.clickCase)
// } else {
// AddDivPointCase(item, this.caseColor[item.status], item.total, this.clickCase)
// }
@@ -244,8 +233,8 @@
search() {
const iconDone = require('@/assets/images/icon/工地地图点位/工地已完成.png')
const iconDoing = require('@/assets/images/icon/工地地图点位/工地进行中.png')
- getArea({keywords: this.keyword}).then(response => {
- if(response.code === 200) {
+ getArea({ keywords: this.keyword }).then(response => {
+ if (response.code === 200) {
clearUpMap(true)
this.keywordList = response.data.value
response.data.value.forEach(item => {
@@ -254,7 +243,7 @@
AddLabelPoint(
item.id,
item.name,
- item.status === '2' ? iconDoing: iconDone,
+ item.status === '2' ? iconDoing : iconDone,
[item.lon, item.lat, 0], 'gd', item,
this.clickGd)
})
@@ -265,8 +254,8 @@
score() {
const iconDone = require('@/assets/images/icon/工地地图点位/工地已完成.png')
const iconDoing = require('@/assets/images/icon/工地地图点位/工地进行中.png')
- getArea({keywords: this.keyword}).then(response => {
- if(response.code === 200) {
+ getArea({ keywords: this.keyword }).then(response => {
+ if (response.code === 200) {
this.keywordList = response.data.value
response.data.value.forEach(item => {
// console.log(item,'321123')
@@ -280,8 +269,8 @@
})
}
})
- getMonthGdScore({keywords: this.keyword}).then(response => {
- if(response.code === 200) {
+ getMonthGdScore({ keywords: this.keyword }).then(response => {
+ if (response.code === 200) {
response.data.value.filter(item => item.lng !== "" && item.lng !== null).forEach(item => {
AddLabel(
item.id,
@@ -304,7 +293,7 @@
clickCase(eventArg) {
const item = eventArg._data.data
// 恢复上一个marker
- if(this.preCase !== null ) {
+ if (this.preCase !== null) {
window.mmManager.removeById(this.preCase.id)
AddLabelPoint(
this.preCase.id,
@@ -313,7 +302,7 @@
[this.preCase.lon, this.preCase.lat, 0], 'gd-case', this.preCase,
this.clickCase)
}
- if(item.total === '1') {
+ if (item.total === '1') {
// 保存当前marker
this.preCase = item
// 高亮当前marker
@@ -323,7 +312,7 @@
this.preCase = null
}
// 查询事件详情
- this.caseTotal = Number(item.total)
+ this.caseTotal = Number(item.total)
this.isListPage = true
this.$refs.caseListPage.initDialog()
this.caseListQuery = {
@@ -345,16 +334,16 @@
searchCaseMarkerList() {
// getCaseInfo(this.caseListQuery).then(response => {
getCaseInfo(this.caseListQuery).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
console.log(response.data.value)
// 右侧看板
- this.caseList = response.data.value
+ this.caseList = response.data.value
}
})
},
handleTimeRange(time) {
this.isListPage = false
- if(this.time.startTime !== '') {
+ if (this.time.startTime !== '') {
this.time = time
this.casePoint()
} else {
diff --git a/src/pages/ywts/cszl/hw/index.vue b/src/pages/ywts/cszl/hw/index.vue
index e773b7d..ed28bc6 100644
--- a/src/pages/ywts/cszl/hw/index.vue
+++ b/src/pages/ywts/cszl/hw/index.vue
@@ -31,6 +31,7 @@
import ListPage from "@/components/ListPage";
import { getPlacePointList, getOverviewStatistics, getPersonList, getCarList, getCaseList, getCaseInfo } from '@/api/ywts/cszl/hw'
import { iconFilter, iconPerson, personList, carList, iconCar } from './data'
+import { eventBus } from "../../../../main";
export default {
name: 'Hw',
components: { TimeManager, LayerManagerMix, ListPage, CommonBtn, Pop },
@@ -94,7 +95,25 @@
},
mounted() {
clearResetMap()
+ this.selectInde = 'deviceBtn'
this.fetchPoint()
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: false }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: false });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: false });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: false }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
+ // 清除弹窗展示
+ this.$bus.$on('clear', () => {
+ this.isListPage = false
+ this.showPop = false
+ })
},
methods: {
async btnClick(e) {
@@ -263,17 +282,17 @@
// this.caseList = res.data.value || []
// this.caseTotal = this.caseList.length
res.data.value.forEach(item => {
- AddLabelPoint(
- item.id.replaceAll('.', ''),
- '',
- this.caseIcon[item.status],
- [item.lon, item.lat, 0], 'gd-case', item,
- this.clickCase)
- })
+ AddLabelPoint(
+ item.id.replaceAll('.', ''),
+ '',
+ this.caseIcon[item.status],
+ [item.lon, item.lat, 0], 'gd-case', item,
+ this.clickCase)
+ })
})
},
- // 点击事件icon
- clickCase(eventArg) {
+ // 点击事件icon
+ clickCase(eventArg) {
const item = eventArg._data.data
// 恢复上一个marker
if (this.preCase !== null) {
@@ -306,11 +325,11 @@
getCaseInfo(this.caseListQuery).then(res => {
console.log(res.data, '事件详情')
this.caseList = res.data.value || []
- this.caseTotal = this.caseList.length
+ this.caseTotal = this.caseList.length
})
},
- // 事件换页
- changePage(val) {
+ // 事件换页
+ changePage(val) {
if (val && val.page) {
this.caseListQuery.pageNo = val.page
}
diff --git a/src/pages/ywts/cszl/jt/index.vue b/src/pages/ywts/cszl/jt/index.vue
index fb1ce91..ef5938c 100644
--- a/src/pages/ywts/cszl/jt/index.vue
+++ b/src/pages/ywts/cszl/jt/index.vue
@@ -1,15 +1,21 @@
-
+
@@ -26,8 +32,9 @@
getStatistics,
getCasePointList, getCaseInfo
} from "../../../../api/ywts/cszl/gd";
-import {AddDivPointHighlight, AddLabel} from "../../../../utils/freedo";
+import { AddDivPointHighlight, AddLabel } from "../../../../utils/freedo";
import ListPage from "@/components/ListPage";
+import { eventBus } from "../../../../main";
export default {
name: 'Jt',
@@ -47,19 +54,19 @@
},
caseTotal: 0,
caseIcon: {
- 1: require('@/assets/images/icon/事件/已撤案.png'),
- 2: require('@/assets/images/icon/事件/指派中.png'),
- 3: require('@/assets/images/icon/事件/处置中.png'),
- 4: require('@/assets/images/icon/事件/已办结.png'),
- 5: require('@/assets/images/icon/事件/已结案.png'),
- },
+ 1: require('@/assets/images/icon/事件/已撤案.png'),
+ 2: require('@/assets/images/icon/事件/指派中.png'),
+ 3: require('@/assets/images/icon/事件/处置中.png'),
+ 4: require('@/assets/images/icon/事件/已办结.png'),
+ 5: require('@/assets/images/icon/事件/已结案.png'),
+ },
caseColor: {
- 1: '#ffffff',
- 2: '#fdeb56',
- 3: '#85c8ff',
- 4: '#ffba74',
- 5: '#87f6b3',
- },
+ 1: '#ffffff',
+ 2: '#fdeb56',
+ 3: '#85c8ff',
+ 4: '#ffba74',
+ 5: '#87f6b3',
+ },
time: {
startTime: '',
endTime: '',
@@ -81,10 +88,10 @@
name: '基础设施',
value: 'place'
}
- // , {
- // name: '环监设备',
- // value: 'others'
- // }
+ // , {
+ // name: '环监设备',
+ // value: 'others'
+ // }
],
menus: {
place: [
@@ -98,11 +105,27 @@
},
mounted() {
getStatistics().then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
this.menus.place = response.data.value
}
})
this.search()
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: false }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: false });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: true });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: true }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
+ // 清除弹窗展示
+ this.$bus.$on('clear', () => {
+ this.isListPage = false
+ })
},
methods: {
async btnClick(e) {
@@ -121,16 +144,16 @@
// 设备图层控制
layer(item) {
// clearUpMap()
- const iconOnline = require('@/assets/images/icon/工地地图点位/'+item.typename.replace(/ /g,'')+'在线.png')
- const iconOffline = require('@/assets/images/icon/工地地图点位/'+item.typename.replace(/ /g,'')+'离线.png')
- getDevList({type: item.type}).then(response => {
- if(response.code === 200) {
+ const iconOnline = require('@/assets/images/icon/工地地图点位/' + item.typename.replace(/ /g, '') + '在线.png')
+ const iconOffline = require('@/assets/images/icon/工地地图点位/' + item.typename.replace(/ /g, '') + '离线.png')
+ getDevList({ type: item.type }).then(response => {
+ if (response.code === 200) {
clearUpMap()
response.data.value.forEach(item => {
AddLabelPoint(
item.id,
'',
- item.status === '1'? iconOnline: iconOffline,
+ item.status === '1' ? iconOnline : iconOffline,
[item.lon, item.lat, 0], 'gd-place', item,
null)
})
@@ -141,11 +164,11 @@
casePoint() {
console.log(this.time)
getCasePointList(this.time).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
clearUpMap()
const data = []
response.data.value.forEach(item => {
- if(!data.map(da => da.id).includes(item.id) && !data.map(da => da.lon).includes(item.lon) && item.id !== null) {
+ if (!data.map(da => da.id).includes(item.id) && !data.map(da => da.lon).includes(item.lon) && item.id !== null) {
data.push(item)
}
})
@@ -165,7 +188,7 @@
const iconDone = require('@/assets/images/icon/工地地图点位/工地已完成.png')
const iconDoing = require('@/assets/images/icon/工地地图点位/工地进行中.png')
getArea({}).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
clearUpMap()
response.data.value.forEach(item => {
// console.log(item.areaboundary)
@@ -173,7 +196,7 @@
AddLabelPoint(
item.id,
item.name,
- item.status === '2' ? iconDoing: iconDone,
+ item.status === '2' ? iconDoing : iconDone,
[item.lon, item.lat, 0], 'gd', item,
this.clickHw)
})
@@ -183,7 +206,7 @@
// 智慧工地-工地近1月综合得分
score() {
getArea({}).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
response.data.value.forEach(item => {
console.log(item.areaboundary)
// todo : 画范围
@@ -195,7 +218,7 @@
clickCase(eventArg) {
const item = eventArg._data.data
// 恢复上一个marker
- if(this.preCase !== null ) {
+ if (this.preCase !== null) {
window.mmManager.removeById(this.preCase.id)
AddLabelPoint(
this.preCase.id,
@@ -231,13 +254,13 @@
searchCaseMarkerList() {
// getCaseInfo(this.caseListQuery).then(response => {
getCaseInfo(this.caseListQuery).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
console.log(response.data.value)
// 右侧看板
- this.caseList = response.data.value
+ this.caseList = response.data.value
// todo
// this.caseTotal = response.data.value.length
- this.caseTotal = 12
+ this.caseTotal = 12
}
})
},
@@ -246,7 +269,7 @@
},
handleTimeRange(time) {
this.isListPage = false
- if(this.time.startTime !== '') {
+ if (this.time.startTime !== '') {
this.time = time
this.casePoint()
} else {
diff --git a/src/pages/ywts/cszl/jxh/index.vue b/src/pages/ywts/cszl/jxh/index.vue
index a3703db..0f23aaa 100644
--- a/src/pages/ywts/cszl/jxh/index.vue
+++ b/src/pages/ywts/cszl/jxh/index.vue
@@ -1,26 +1,24 @@
-
-
+
+
@@ -44,14 +42,15 @@
getAll,
getCaseInfo, getBoard
} from "../../../../api/ywts/cszl/jxh";
-import {AddDivPointCase, AddDivPointHighlight, AddOnlyLabel, AddPolygon} from "../../../../utils/freedo";
+import { AddDivPointCase, AddDivPointHighlight, AddOnlyLabel, AddPolygon } from "../../../../utils/freedo";
import ListPage from "@/components/ListPage";
-import {getGridInfo, getGridToken} from "../../../../api/common";
+import { getGridInfo, getGridToken } from "../../../../api/common";
import JxhPop from "./jxhPop";
+import { eventBus } from "../../../../main";
export default {
name: 'Jxh',
- components: {JxhPop, LayerManager, TimeManager, KeywordManager, CommonBtn, ListPage },
+ components: { JxhPop, LayerManager, TimeManager, KeywordManager, CommonBtn, ListPage },
data() {
return {
preCase: null,
@@ -128,6 +127,22 @@
}
},
mounted() {
+ this.$bus.$on('clear', () => {
+ this.isListPage = false
+ this.isShow = false
+ })
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: false }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: false });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: false });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: false }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
// 全部事件
getAll({
// urgent: '0',
@@ -135,8 +150,8 @@
// high: '0',
startTime: this.time.startTime,
endTime: this.time.endTime,
- }).then( res => {
- if(res.code === 200) {
+ }).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
@@ -154,7 +169,7 @@
caseMarker(res) {
res.data.value.forEach(item => {
// console.log(item.status)
- if(item.total === '1') {
+ if (item.total === '1') {
AddLabelPoint(
item.id,
'',
@@ -180,24 +195,24 @@
switch (e.bigtype) {
case 'source':
query.sourceId = e.type
- getSourceList(query).then( res => {
- if(res.code === 200) {
+ getSourceList(query).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
break
case 'project':
query.projectId = e.type
- getProjectList(query).then( res => {
- if(res.code === 200) {
+ getProjectList(query).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
break
case 'grid':
query.gridType = e.type
- getGridList(query).then( res => {
- if(res.code === 200) {
+ getGridList(query).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
@@ -208,7 +223,7 @@
clickCase(eventArg) {
const item = eventArg._data.data
// 恢复上一个marker
- if(this.preCase !== null ) {
+ if (this.preCase !== null) {
window.mmManager.removeById(this.preCase.id)
AddLabelPoint(
this.preCase.id,
@@ -218,7 +233,7 @@
this.clickCase)
}
- if(item.total === '1') {
+ if (item.total === '1') {
// 保存当前marker
this.preCase = item
// 高亮当前marker
@@ -229,7 +244,7 @@
}
// 查询事件详情
- this.caseTotal = Number(item.total)
+ this.caseTotal = Number(item.total)
this.caseList = []
this.isListPage = true
this.hasUrge = false
@@ -263,13 +278,13 @@
// high: '0',
startTime: this.time.startTime,
endTime: this.time.endTime,
- }).then( res => {
- if(res.code === 200) {
+ }).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
// 事件看板
- this.caseTotal = 1000 // todo
+ this.caseTotal = 1000 // todo
this.caseList = []
this.isListPage = true
this.hasUrge = true
@@ -292,8 +307,8 @@
high: '1',
startTime: this.time.startTime,
endTime: this.time.endTime,
- }).then( res => {
- if(res.code === 200) {
+ }).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
@@ -306,8 +321,8 @@
// high: '0',
startTime: this.time.startTime,
endTime: this.time.endTime,
- }).then( res => {
- if(res.code === 200) {
+ }).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
@@ -317,7 +332,7 @@
break
case "caseHeatBtn":
getHeat(this.time).then(res => {
- if(res.code === 200) {
+ if (res.code === 200) {
heat(res.data.value) // 热力图
}
})
@@ -326,29 +341,29 @@
},
gridDraw(token, areaCode) {
const colors = [
- [0,234,255,0.47],
- [255,185,0,0.47],
- [255,234,0,0.47],
- [209,0,255,0.47],
- [255,0,38,0.47],
+ [0, 234, 255, 0.47],
+ [255, 185, 0, 0.47],
+ [255, 234, 0, 0.47],
+ [209, 0, 255, 0.47],
+ [255, 0, 38, 0.47],
]
getGridInfo({
paramCodeList: 'KJ5001',
areaCode,
token
- }).then( res => {
+ }).then(res => {
console.log(res)
res.data.chirdAreaInfo.forEach((item, index) => {
item._source.areainfo.coordinates.forEach(area => {
let positions = []
- let arr = item._source.areainfo.type === 'MultiPolygon' ? area[0]: area
+ let arr = item._source.areainfo.type === 'MultiPolygon' ? area[0] : area
arr.forEach(pos => {
- positions.push(Freedo.Cartesian3.fromDegrees( pos[0], pos[1],0))
+ positions.push(Freedo.Cartesian3.fromDegrees(pos[0], pos[1], 0))
})
- AddPolygon(positions,colors[index % 5], this.gridClick,item._id)
+ AddPolygon(positions, colors[index % 5], this.gridClick, item._id)
AddOnlyLabel(
'',
- item._source.areaname , //+ this.menus.grid
+ item._source.areaname, //+ this.menus.grid
[item._source.lon, item._source.lat, 0],
'', null, null)
})
@@ -364,7 +379,7 @@
secret: CryptoJS.MD5(timestamp + 'geostar999').toString()
}
- getGridToken(param).then( res => {
+ getGridToken(param).then(res => {
clearUpMap()
this.gridDraw(res.data.token, '360783001')
this.gridDraw(res.data.token, '360783002')
@@ -374,32 +389,32 @@
},
// 三个概况统计
layerSeach() {
- getSource(this.time).then( res => {
- if(res.code === 200) {
+ getSource(this.time).then(res => {
+ if (res.code === 200) {
this.menus.source = res.data.value.map(item => {
item.bigtype = 'source'
- item.type = item.id.replace(/ /g,'')
- item.typename = item.name.replace(/ /g,'')
+ item.type = item.id.replace(/ /g, '')
+ item.typename = item.name.replace(/ /g, '')
return item
})
}
})
- getProject(this.time).then( res => {
- if(res.code === 200) {
+ getProject(this.time).then(res => {
+ if (res.code === 200) {
this.menus.project = res.data.value.map(item => {
item.bigtype = 'project'
- item.type = item.id.replace(/ /g,'')
- item.typename = item.name.replace(/ /g,'')
+ item.type = item.id.replace(/ /g, '')
+ item.typename = item.name.replace(/ /g, '')
return item
})
}
})
- getGrid(this.time).then( res => {
- if(res.code === 200) {
+ getGrid(this.time).then(res => {
+ if (res.code === 200) {
this.menus.grid = res.data.value.map(item => {
item.bigtype = 'grid'
- item.type = item.id.replace(/ /g,'')
- item.typename = item.name.replace(/ /g,'')
+ item.type = item.id.replace(/ /g, '')
+ item.typename = item.name.replace(/ /g, '')
return item
})
}
@@ -410,7 +425,7 @@
if (val && val.page) {
this.caseListQuery.pageNo = val.page
}
- if(this.hasUrge) {
+ if (this.hasUrge) {
this.searchBoard()
} else {
this.searchCaseMarkerList()
@@ -419,20 +434,20 @@
// 事件看板查询
searchBoard() {
getBoard(this.caseListQuery).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
console.log(response.data.value)
// 右侧看板
- this.caseList = response.data.value
+ this.caseList = response.data.value
}
})
},
// 事件详情分页
searchCaseMarkerList() {
getCaseInfo(this.caseListQuery).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
console.log(response.data.value)
// 右侧看板
- this.caseList = response.data.value
+ this.caseList = response.data.value
}
})
},
diff --git a/src/pages/ywts/cszl/yj/index.vue b/src/pages/ywts/cszl/yj/index.vue
index 7869a73..d74dfe9 100644
--- a/src/pages/ywts/cszl/yj/index.vue
+++ b/src/pages/ywts/cszl/yj/index.vue
@@ -45,7 +45,7 @@
import { AddDivPointHighlight, AddLabel } from "../../../../utils/freedo";
import { iconFilter, deviceList, caseList } from './data'
import ListPage from "@/components/ListPage";
-
+import { eventBus } from "../../../../main";
export default {
name: 'Yj',
components: { TimeManager, LayerManagerMix, ListPage, CommonBtn, Pop },
@@ -118,14 +118,25 @@
}
},
mounted() {
- // getStatistics().then(response => {
- // if(response.code === 200) {
- // this.menus.place = response.data.value
- // }
- // })
- // this.search()
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: false }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: false });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: false });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: false }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
clearResetMap()
this.searchPlace({})
+
+ this.$bus.$on('clear', () => {
+ this.isListPage = false
+ this.showPop = false
+ })
},
methods: {
async btnClick(e) {
diff --git a/src/pages/ywts/shms/jy/devicePop.vue b/src/pages/ywts/shms/jy/devicePop.vue
new file mode 100644
index 0000000..2c44979
--- /dev/null
+++ b/src/pages/ywts/shms/jy/devicePop.vue
@@ -0,0 +1,281 @@
+
+
+
+
+
+
+
+ 设备名称: {{
+ gdInfo.name }}
+ 设备类型: {{
+ gdInfo.typename }}
+ 设备状态: {{
+ gdInfo.statusName }}
+ 设备位置: {{
+ gdInfo.location }}
+ 时间: {{ gdInfo.time
+ }}
+ 进/出人口数: {{ gdInfo.in
+ }}/{{ gdInfo.out }}
+ 是否赋能: 否
+
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/ywts/shms/jy/index.vue b/src/pages/ywts/shms/jy/index.vue
index b1eb984..f377985 100644
--- a/src/pages/ywts/shms/jy/index.vue
+++ b/src/pages/ywts/shms/jy/index.vue
@@ -6,11 +6,13 @@
+ :select="selectIndex === 'layerBtn'" @btnClick="btnClick" @menuClick="menuClick" />
+
+
@@ -29,13 +31,15 @@
import mapJson from "@/assets/mapJson/map.json";
import modelJson from "@/assets/mapJson/school.json";
import { eventBus } from "../../../../main";
+import devicePop from './devicePop.vue'
export default {
name: 'Jy',
- components: { SchoolPop, TimeManager, KeywordManager, LayerManagerMix, CommonBtn },
+ components: { SchoolPop, TimeManager, KeywordManager, LayerManagerMix, CommonBtn, devicePop },
data() {
return {
isShow: false,
+ showDevice: false,
ktSelect: '',
keyword: '',
keywordList: [],
@@ -56,10 +60,15 @@
},
menus: {
device: [
- { type: "1", typename: "视频设备", total: "111" },
- { type: "2", typename: "门禁设备", total: "111" }
+ { type: "1", typename: "视频设备", total: "0" },
+ { type: "2", typename: "门禁设备", total: "0" }
]
- }
+ },
+ markerList: [],
+ markerBakList: [],
+ videoIcon: require('@/assets/images/icon/视频云/枪机未赋能在线.png'),
+ controlIcon: require('@/assets/images/icon/一卡通/门禁.png'),
+
}
},
mounted() {
@@ -70,55 +79,25 @@
name: 'jy',
autoFlyto: true,
})
- eventBus.$emit('change-layer', { id: 1, checked: false });
- eventBus.$emit('change-layer', { id: 2, checked: false });
- eventBus.$emit('change-layer', { id: 3, checked: false });
- eventBus.$emit('change-layer', { id: 4, checked: false });
- eventBus.$emit('change-layer', { id: 5, checked: true });
- eventBus.$emit('change-layer', { id: 41, checked: true });
- eventBus.$emit('change-layer', { id: 21, checked: true });
- eventBus.$emit('change-layer', { id: 12, checked: true });
- // // 教育模型
- // window.pmtsManager.add({
- // id: "智慧教育-手工模型",
- // url: mapJson.CIM4["智慧教育-手工模型"],
- // show: true,
- // maximumScreenSpaceError: 32,
- // maximumMemoryUsage: 64,
- // maximumAbsoluteMemoryUsage: 8192,
- // autoFlyto: true
- // },
- // undefined
- // )
- // // CIM2 楼
- // window.pmtsManager.add({
- // url: mapJson['CIM2']['CIM2建筑(带纹理)'],
- // show: true,
- // name: 'CIM2建筑(带纹理)',
- // autoFlyto: false
- // })
- // window.pmtsManager.add({
- // url: mapJson['CIM2']['CIM2建筑(带纹理)'],
- // show: true,
- // name: 'CIM2建筑(带纹理)',
- // autoFlyto: false,
- // alpha: 0.5,
- // color: '#002d7a'
- // })
- // for(let key in modelJson) {
- // window.pmtsManager.add({
- // id: key,
- // // url: mapJson.CIM4["智慧教育-手工模型"],
- // url: modelJson[key],
- // show: true,
- // maximumScreenSpaceError: 32,
- // maximumMemoryUsage: 64,
- // maximumAbsoluteMemoryUsage: 8192,
- // autoFlyto: true
- // },
- // undefined
- // )
- // }
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: true }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: false });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: false });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: true }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
+
+ // 清除弹窗展示
+ this.$bus.$on('clear', () => {
+ this.isShow = false
+ this.showDevice = false
+
+ })
},
methods: {
async btnClick(e) {
@@ -126,6 +105,7 @@
clearUpMap(true)
initPosition()
this.isShow = false
+ this.showDevice = false
this.selectIndex = e.target.id
switch (this.selectIndex) {
case "schoolBtn":
@@ -194,10 +174,121 @@
},
// 搜索学校设备
searchDevice() {
- getDevice({}).then(res => {
- console.log('学校数据')
+ getDevice({ keywords: '' }).then(res => {
+ this.markerList = [
+ {
+ "name": "设备1",
+ "lon": "114.859995",
+ "location": "江西省赣州市南康区三江乡",
+ "id": "1676397864375291905",
+ "lat": "25.802129",
+ "type": "1",
+ "typename": "视频设备",
+ statusName: '正常',
+ time: '2025-06-16 09:05:05',
+ in: '0',
+ out: '0',
+ },
+ {
+ "name": "设备2",
+ "lon": "114.861027",
+ "location": "江西省赣州市章贡区潭六路135号靠近逸夫小学",
+ "id": "1676398916763914241",
+ "lat": "25.757553",
+ "type": "2",
+ "typename": "门禁设备",
+ statusName: '正常',
+ time: '2025-06-16 09:05:05',
+ in: '0',
+ out: '0',
+ },
+ {
+ "name": "设备3",
+ "lon": "114.880246",
+ "location": "江西省赣州市章贡区潭东镇弘腾路毅德城",
+ "id": "1676414593390350337",
+ "lat": "25.753119",
+ "type": "1",
+ "typename": "视频设备",
+ statusName: '正常',
+ time: '2025-06-16 09:05:05',
+ in: '0',
+ out: '0',
+ },
+ {
+ "name": "设备4",
+ "lon": "114.879855",
+ "location": "江西省赣州市章贡区潭东镇弘腾路毅德城",
+ "id": "1676414955455254529",
+ "lat": "25.752771",
+ "type": "1",
+ "typename": "视频设备",
+ statusName: '正常',
+ time: '2025-06-16 09:05:05',
+ in: '0',
+ out: '0',
+ },
+ {
+ "name": "设备5",
+ "lon": "114.875438",
+ "location": "江西省赣州市章贡区潭东镇弘腾路毅德城",
+ "id": "1676418661630349312",
+ "lat": "25.748733",
+ "type": "2",
+ "typename": "门禁设备",
+ statusName: '正常',
+ time: '2025-06-16 09:05:05',
+ in: '0',
+ out: '0',
+ },
+ {
+ "name": "设备6",
+ "lon": "114.867371",
+ "location": "江西省赣州市章贡区105国道135号靠近松岭上",
+ "id": "1676422908220542977",
+ "lat": "25.750388",
+ "typename": "2",
+ "typename": "门禁设备",
+ statusName: '正常',
+ time: '2025-06-16 09:05:05',
+ in: '0',
+ out: '0',
+ },
+ ]
+ this.markerBakList = JSON.parse(JSON.stringify(this.markerList))
+ this.menus.device[0].total = this.markerList.filter((item) => item.type === '1').length
+ this.menus.device[1].total = this.markerList.filter((item) => item.type === '2').length
+ // 绘制点位
+ this.markerList.forEach((item) => {
+ AddLabelPoint(
+ item.id,
+ `${item.name}`,
+ item.type === '1' ? this.videoIcon : this.controlIcon,
+ [item.lon, item.lat, 0], 'yl-dev', item,
+ this.clickDevice)
+ })
})
- }
+ },
+ menuClick(e) {
+ clearResetMap()
+ this.markerList = this.markerBakList.filter(item => item.type === e.type)
+ this.markerList.forEach((item) => {
+ AddLabelPoint(
+ item.id,
+ `${item.name}`,
+ item.type === '1' ? this.videoIcon : this.controlIcon,
+ [item.lon, item.lat, 0], 'yl-dev', item,
+ this.clickDevice)
+ })
+ },
+ // 设备点位点击
+ clickDevice(eventArg) {
+ const item = eventArg._data.data
+ this.showDevice = true
+ this.$nextTick(() => {
+ this.$refs.deviceRef.initData(item)
+ })
+ },
}
}
diff --git a/src/pages/ywts/shms/sq/carPop.vue b/src/pages/ywts/shms/sq/carPop.vue
new file mode 100644
index 0000000..b1fe4c3
--- /dev/null
+++ b/src/pages/ywts/shms/sq/carPop.vue
@@ -0,0 +1,275 @@
+
+
+
+
+
+
+
+ 名称: {{
+ gdInfo.name }}
+ 位置: {{
+ gdInfo.location }}
+ 车辆数量: {{ gdInfo.carNum
+ }}
+ 停车位: {{ gdInfo.parkSpaceNum }}
+
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/ywts/shms/sq/communityPop.vue b/src/pages/ywts/shms/sq/communityPop.vue
new file mode 100644
index 0000000..eb6bf07
--- /dev/null
+++ b/src/pages/ywts/shms/sq/communityPop.vue
@@ -0,0 +1,212 @@
+
+
+
+
+
+
{{ name }}
+
位置:{{ position
+ }}
+
+
+
+
+
+
{{ item.total }}
+
{{ item.name }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/ywts/shms/sq/components/agePie.vue b/src/pages/ywts/shms/sq/components/agePie.vue
new file mode 100644
index 0000000..9e41da8
--- /dev/null
+++ b/src/pages/ywts/shms/sq/components/agePie.vue
@@ -0,0 +1,185 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/ywts/shms/sq/components/currentPie.vue b/src/pages/ywts/shms/sq/components/currentPie.vue
new file mode 100644
index 0000000..c7dfe20
--- /dev/null
+++ b/src/pages/ywts/shms/sq/components/currentPie.vue
@@ -0,0 +1,178 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/ywts/shms/sq/components/personBar.vue b/src/pages/ywts/shms/sq/components/personBar.vue
new file mode 100644
index 0000000..b065487
--- /dev/null
+++ b/src/pages/ywts/shms/sq/components/personBar.vue
@@ -0,0 +1,193 @@
+
+
+
+
+
+
+
diff --git a/src/pages/ywts/shms/sq/components/scoreLineBar.vue b/src/pages/ywts/shms/sq/components/scoreLineBar.vue
new file mode 100644
index 0000000..1551e69
--- /dev/null
+++ b/src/pages/ywts/shms/sq/components/scoreLineBar.vue
@@ -0,0 +1,189 @@
+
+
+
+
+
+
+
diff --git a/src/api/ywts/shms/jy.js b/src/api/ywts/shms/jy.js
index f3ac251..56f48e3 100644
--- a/src/api/ywts/shms/jy.js
+++ b/src/api/ywts/shms/jy.js
@@ -116,7 +116,7 @@
return request({
url: 'zhjy-gktj/zhjy/sbdwlb',
method: 'post',
- data,
+ // data,
params: data
})
}
diff --git a/src/api/ywts/shms/sq.js b/src/api/ywts/shms/sq.js
new file mode 100644
index 0000000..04a5447
--- /dev/null
+++ b/src/api/ywts/shms/sq.js
@@ -0,0 +1,123 @@
+/**
+ * 社区接口
+ */
+import request from '@/utils/request'
+
+// 社区点位列表
+export function getCommunityList() {
+ return request({
+ url: 'zhsq-gktj/zhsq/sqdwlb',
+ method: 'post',
+ })
+}
+
+// 人员热力图
+export function getHeat() {
+ return request({
+ url: 'zhsq-gktj/zhsq/sqyyrlt',
+ method: 'post',
+ })
+}
+
+// 设备点位
+export function getDevice() {
+ return request({
+ url: 'zhsq-gktj/zhsq/sbdwlb',
+ method: 'post',
+ params: {
+ type: '',
+ keywords: ''
+ }
+ })
+}
+
+// 社区车辆
+export function getCar() {
+ return request({
+ url: 'zhsq-gktj/zhsq/sqbyl',
+ method: 'post',
+ })
+}
+
+// 事件点位列表
+export function getCase(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/sjdwlb',
+ method: 'post',
+ params:{
+ ...data
+ }
+ })
+}
+
+// 事件详情
+export function getCaseList(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/zjlbfy',
+ method: 'post',
+ params:{
+ ...data
+ }
+ })
+}
+// 获取社区基本信息
+export function getBaseInfo(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/sqdwxq',
+ method: 'post',
+ params:{
+ ...data
+ },
+ // data
+ })
+}
+// 居民年龄统计
+export function getAgeStatistics(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/jmnltj',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
+// 居民流动比例
+export function getCurrentRatio(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/jmldbl',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
+// 近1年人房车占比统计
+export function getPersonCarRatio(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/rfczbtj',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
+// 近1月居民通行量分析
+export function getTransitrRatio(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/jmtxlfx',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
+// 近1月高频事件排行榜
+export function getCaseRank(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/gpsjphb',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
diff --git a/src/api/ywts/zyhj/hb.js b/src/api/ywts/zyhj/hb.js
index 5e598d1..07625d1 100644
--- a/src/api/ywts/zyhj/hb.js
+++ b/src/api/ywts/zyhj/hb.js
@@ -8,7 +8,10 @@
return request({
url: 'zhhb-gktj/zhhb/gktj',
method: 'post',
- data
+ data,
+ params: {
+ ...data,
+ }
})
}
// 环保点位列表
@@ -19,3 +22,26 @@
data
})
}
+// 环保告警列表
+export function getAlarmList(data) {
+ return request({
+ url: 'zhhb-gktj/zhhb/hbgjlb',
+ method: 'post',
+ // data
+ params: {
+ ...data
+ }
+ })
+}
+
+// 环保事件列表
+export function getCaseList(data) {
+ return request({
+ url: 'zhhb-gktj/zhhb/hbsjlbfy',
+ method: 'post',
+ // data
+ params: {
+ ...data
+ }
+ })
+}
diff --git a/src/api/ywts/zyhj/yl.js b/src/api/ywts/zyhj/yl.js
index 63d7ad2..643e3d4 100644
--- a/src/api/ywts/zyhj/yl.js
+++ b/src/api/ywts/zyhj/yl.js
@@ -88,6 +88,9 @@
url: 'zhyl-gktjljk/zhyl/sjxq',
method: 'post',
data,
+ params: {
+ ...data,
+ }
})
}
// 苗木点位列表
diff --git a/src/components/CommonFunction/index.vue b/src/components/CommonFunction/index.vue
index 1a10acb..c2eba44 100644
--- a/src/components/CommonFunction/index.vue
+++ b/src/components/CommonFunction/index.vue
@@ -5,8 +5,8 @@
@click="btnClick" />
-
+
@@ -21,7 +21,7 @@
import CommonBtn from "../CommonBtn";
import { clearUpMap } from '@/utils/freedo/index'
-import { initPosition, initPage } from "../../utils/freedo";
+import { initPosition, initPage } from "../../utils/freedo";
import mapJson from "@/assets/mapJson/map.json";
import { eventBus } from "../../main";
@@ -59,11 +59,11 @@
disabled: true,
"children": [
{ "id": 41, "label": "智慧教育-手工模型", disabled: true },
- { "id": 42, "label": "智慧停车云-手工模型", disabled: true },
- { "id": 43, "label": "智慧社区-手工模型", disabled: true },
- { "id": 44, "label": "智慧工地-手工模型", disabled: true },
- { "id": 45, "label": "智慧交通-手工模型", disabled: true },
- { "id": 46, "label": "智慧园林-手工模型", disabled: true }
+ { "id": 42, "label": "智慧停车云-手工模型", disabled: true },
+ { "id": 43, "label": "智慧社区-手工模型", disabled: true },
+ { "id": 44, "label": "智慧工地-手工模型", disabled: true },
+ { "id": 45, "label": "智慧交通-手工模型", disabled: true },
+ { "id": 46, "label": "智慧园林-手工模型", disabled: true }
]
}, {
"id": 5,
@@ -95,8 +95,8 @@
setTimeout(() => {
this.tree.forEach((item) => {
item.disabled = false
- if(item.children) {
- item.children = item.children.map((item) => ({ ...item,disabled: false}))
+ if (item.children) {
+ item.children = item.children.map((item) => ({ ...item, disabled: false }))
}
})
}, 5000)
@@ -125,7 +125,7 @@
handler(data, checked, indeterminate)
}
else {
- if(data.id.toString() === '5' && checked) {
+ if (data.id.toString() === '5' && checked) {
window.terrainManager.visible = true
return
}
@@ -143,14 +143,18 @@
},
btnClick(e) {
this.showLayerTree = false
+ this.clearDialog()
if (e.target.id === 'initBtn') {
initPosition()
} else if (e.target.id === 'clearBtn') {
clearUpMap()
} else if (e.target.id === 'layerBtn') {
- // clearUpMap()
this.showLayerTree = true
}
+ },
+ // 清空地图弹窗
+ clearDialog() {
+ this.$bus.$emit('clear')
}
}
}
@@ -178,7 +182,7 @@
right: 20px;
top: 1rem;
display: flex;
- width: 20rem;
+ width: 15rem;
height: 5rem;
z-index: 1111111111;
}
diff --git a/src/pages/csdz/iot/index.vue b/src/pages/csdz/iot/index.vue
index 63b60ea..8aefaea 100644
--- a/src/pages/csdz/iot/index.vue
+++ b/src/pages/csdz/iot/index.vue
@@ -259,8 +259,8 @@
localPoint(e) {
// this.childrenClick(e)
this.clickIcon({
- _data:{
- data:e
+ _data: {
+ data: e
}
})
},
@@ -280,6 +280,11 @@
},
mounted() {
this.search()
+ this.$bus.$on('clear', () => {
+ this.isShowEvent = false
+ this.isShowEventPop = false
+ this.isShowPop = false
+ })
// getStatistics().then(res => {
// if (res.code === 200 && res.data.value.length) {
// console.log(res.data, '')
diff --git a/src/pages/csdz/smartCard/index.vue b/src/pages/csdz/smartCard/index.vue
index 48721f7..32573d2 100644
--- a/src/pages/csdz/smartCard/index.vue
+++ b/src/pages/csdz/smartCard/index.vue
@@ -112,6 +112,7 @@
btnClick(e) {
clearResetMap()
this.selectIndex = e.target.id
+ this.isShowPop = false
if (this.selectIndex === 'publicBtn') {
// 绘制热力图
heat([
@@ -870,6 +871,10 @@
getStatistics({}).then(res => {
console.log(res.data, '一卡通')
})
+ this.$bus.$on('clear', () => {
+ this.isShowPop = false
+ this.isShowEvent = false
+ })
}
}
diff --git a/src/pages/csdz/videoCloud/index.vue b/src/pages/csdz/videoCloud/index.vue
index 4b8d110..81530d5 100644
--- a/src/pages/csdz/videoCloud/index.vue
+++ b/src/pages/csdz/videoCloud/index.vue
@@ -695,6 +695,11 @@
},
mounted() {
this.drawSence()
+ this.$bus.$on('clear', () => {
+ this.isShowPop = false
+ this.isShowEvent = false
+ this.isShowEventPop = false
+ })
}
}
diff --git a/src/pages/ywts/cszl/gd/index.vue b/src/pages/ywts/cszl/gd/index.vue
index e9be7b0..35ee8d7 100644
--- a/src/pages/ywts/cszl/gd/index.vue
+++ b/src/pages/ywts/cszl/gd/index.vue
@@ -1,30 +1,23 @@
-
-
+
+
@@ -34,7 +27,7 @@
import TimeManager from "@/components/TimeManager";
import GdPop from "./gdPop";
import { heat } from '@/utils/freedo/heat'
-import { clearUpMap, clearResetMap ,AddLabelPoint, initPosition } from '@/utils/freedo'
+import { clearUpMap, clearResetMap, AddLabelPoint, initPosition } from '@/utils/freedo'
import {
getHeat,
getArea,
@@ -43,17 +36,17 @@
getStatistics,
getCasePointList, getCaseInfo
} from "../../../../api/ywts/cszl/gd";
-import {AddDivPointCase, AddDivPointHighlight, AddLabel, focusPoint} from "../../../../utils/freedo";
+import { AddDivPointCase, AddDivPointHighlight, AddLabel, focusPoint } from "../../../../utils/freedo";
import ListPage from "@/components/ListPage";
import KeywordManager from "../../../../components/KeywordManager";
import gridJson from "@/assets/mapJson/grid.json";
import mapJson from "@/assets/mapJson/map.json";
-import {eventBus} from "../../../../main";
+import { eventBus } from "../../../../main";
export default {
name: 'Gd',
- components: {KeywordManager, GdPop, TimeManager, LayerManagerMix, ListPage, CommonBtn },
+ components: { KeywordManager, GdPop, TimeManager, LayerManagerMix, ListPage, CommonBtn },
data() {
return {
isListPage: false,
@@ -73,19 +66,19 @@
caseTotal: 0,
layerManager: null,
caseIcon: {
- 1: require('@/assets/images/icon/事件/已撤案.png'),
- 2: require('@/assets/images/icon/事件/指派中.png'),
- 3: require('@/assets/images/icon/事件/处置中.png'),
- 4: require('@/assets/images/icon/事件/已办结.png'),
- 5: require('@/assets/images/icon/事件/已结案.png'),
- },
+ 1: require('@/assets/images/icon/事件/已撤案.png'),
+ 2: require('@/assets/images/icon/事件/指派中.png'),
+ 3: require('@/assets/images/icon/事件/处置中.png'),
+ 4: require('@/assets/images/icon/事件/已办结.png'),
+ 5: require('@/assets/images/icon/事件/已结案.png'),
+ },
caseColor: {
- 1: '#ffffff88',
- 2: '#fdeb5688',
- 3: '#85c8ff88',
- 4: '#ffba7488',
- 5: '#87f6b388',
- },
+ 1: '#ffffff88',
+ 2: '#fdeb5688',
+ 3: '#85c8ff88',
+ 4: '#ffba7488',
+ 5: '#87f6b388',
+ },
time: {
startTime: '',
endTime: '',
@@ -105,10 +98,10 @@
name: '工地设备',
value: 'device'
}
- // , {
- // name: '环监设备',
- // value: 'others'
- // }
+ // , {
+ // name: '环监设备',
+ // value: 'others'
+ // }
],
menus: {
device: [
@@ -122,7 +115,7 @@
},
mounted() {
getStatistics().then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
this.menus.device = response.data.value
}
})
@@ -135,28 +128,24 @@
autoFlyto: true,
})
- eventBus.$emit('change-layer', { id:1, checked: false});
- eventBus.$emit('change-layer', { id:2, checked: false});
- eventBus.$emit('change-layer', { id:3, checked: false});
- eventBus.$emit('change-layer', { id:4, checked: false});
- eventBus.$emit('change-layer', { id:5, checked: true});
- eventBus.$emit('change-layer', { id:44, checked: true});
- eventBus.$emit('change-layer', { id:21, checked: true});
- eventBus.$emit('change-layer', { id:12, checked: true});
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: false }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: true });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: false });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: true }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
-
- // window.pmtsManager.add({
- // id: "智慧工地-手工模型",
- // url: mapJson.CIM4["智慧工地-手工模型"],
- // show: true,
- // maximumScreenSpaceError: 32,
- // maximumMemoryUsage: 64,
- // maximumAbsoluteMemoryUsage: 8192,
- // autoFlyto: true
- // },
- // undefined
- // )
- // window.terrainManager.visible = true
+ // 清除弹窗展示
+ this.$bus.$on('clear', () => {
+ this.isListPage = false
+ this.isShow = false
+ })
},
methods: {
async btnClick(e) {
@@ -179,7 +168,7 @@
break
case "personBtn":
getHeat().then(res => {
- if(res.code === 200) {
+ if (res.code === 200) {
console.log(res.data, '热力')
const arr = res.data.value.filter(item => item.lng !== "" && item.lng !== null)
// arr.splice(0,1) // todo: 测试第一个错误数据
@@ -192,17 +181,17 @@
// 设备图层控制
layer(item) {
// clearUpMap(true)
- const iconOnline = require('@/assets/images/icon/工地地图点位/'+item.typename.replace(/ /g,'')+'在线.png')
- const iconOffline = require('@/assets/images/icon/工地地图点位/'+item.typename.replace(/ /g,'')+'离线.png')
- getDevList({type: item.type}).then(response => {
- if(response.code === 200) {
+ const iconOnline = require('@/assets/images/icon/工地地图点位/' + item.typename.replace(/ /g, '') + '在线.png')
+ const iconOffline = require('@/assets/images/icon/工地地图点位/' + item.typename.replace(/ /g, '') + '离线.png')
+ getDevList({ type: item.type }).then(response => {
+ if (response.code === 200) {
clearUpMap(true)
this.keywordList = response.data.value
response.data.value.forEach(item => {
AddLabelPoint(
item.id,
'',
- item.status === '1'? iconOnline: iconOffline,
+ item.status === '1' ? iconOnline : iconOffline,
[item.lon, item.lat, 0], 'gd-dev', item,
null)
})
@@ -216,23 +205,23 @@
// keywords: this.keyword
}
getCasePointList(param).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
clearUpMap(true)
const data = []
response.data.value.forEach(item => {
- if(!data.map(da => da.id).includes(item.id) && !data.map(da => da.lon).includes(item.lon) && item.id !== null) {
+ if (!data.map(da => da.id).includes(item.id) && !data.map(da => da.lon).includes(item.lon) && item.id !== null) {
data.push(item)
}
})
this.keywordList = data
data.forEach(item => {
// if(item.total === '1') {
- AddLabelPoint(
- item.id,
- '',
- this.caseIcon[item.eventstatus],
- [item.lon, item.lat, 0], 'gd-case', item,
- this.clickCase)
+ AddLabelPoint(
+ item.id,
+ '',
+ this.caseIcon[item.eventstatus],
+ [item.lon, item.lat, 0], 'gd-case', item,
+ this.clickCase)
// } else {
// AddDivPointCase(item, this.caseColor[item.status], item.total, this.clickCase)
// }
@@ -244,8 +233,8 @@
search() {
const iconDone = require('@/assets/images/icon/工地地图点位/工地已完成.png')
const iconDoing = require('@/assets/images/icon/工地地图点位/工地进行中.png')
- getArea({keywords: this.keyword}).then(response => {
- if(response.code === 200) {
+ getArea({ keywords: this.keyword }).then(response => {
+ if (response.code === 200) {
clearUpMap(true)
this.keywordList = response.data.value
response.data.value.forEach(item => {
@@ -254,7 +243,7 @@
AddLabelPoint(
item.id,
item.name,
- item.status === '2' ? iconDoing: iconDone,
+ item.status === '2' ? iconDoing : iconDone,
[item.lon, item.lat, 0], 'gd', item,
this.clickGd)
})
@@ -265,8 +254,8 @@
score() {
const iconDone = require('@/assets/images/icon/工地地图点位/工地已完成.png')
const iconDoing = require('@/assets/images/icon/工地地图点位/工地进行中.png')
- getArea({keywords: this.keyword}).then(response => {
- if(response.code === 200) {
+ getArea({ keywords: this.keyword }).then(response => {
+ if (response.code === 200) {
this.keywordList = response.data.value
response.data.value.forEach(item => {
// console.log(item,'321123')
@@ -280,8 +269,8 @@
})
}
})
- getMonthGdScore({keywords: this.keyword}).then(response => {
- if(response.code === 200) {
+ getMonthGdScore({ keywords: this.keyword }).then(response => {
+ if (response.code === 200) {
response.data.value.filter(item => item.lng !== "" && item.lng !== null).forEach(item => {
AddLabel(
item.id,
@@ -304,7 +293,7 @@
clickCase(eventArg) {
const item = eventArg._data.data
// 恢复上一个marker
- if(this.preCase !== null ) {
+ if (this.preCase !== null) {
window.mmManager.removeById(this.preCase.id)
AddLabelPoint(
this.preCase.id,
@@ -313,7 +302,7 @@
[this.preCase.lon, this.preCase.lat, 0], 'gd-case', this.preCase,
this.clickCase)
}
- if(item.total === '1') {
+ if (item.total === '1') {
// 保存当前marker
this.preCase = item
// 高亮当前marker
@@ -323,7 +312,7 @@
this.preCase = null
}
// 查询事件详情
- this.caseTotal = Number(item.total)
+ this.caseTotal = Number(item.total)
this.isListPage = true
this.$refs.caseListPage.initDialog()
this.caseListQuery = {
@@ -345,16 +334,16 @@
searchCaseMarkerList() {
// getCaseInfo(this.caseListQuery).then(response => {
getCaseInfo(this.caseListQuery).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
console.log(response.data.value)
// 右侧看板
- this.caseList = response.data.value
+ this.caseList = response.data.value
}
})
},
handleTimeRange(time) {
this.isListPage = false
- if(this.time.startTime !== '') {
+ if (this.time.startTime !== '') {
this.time = time
this.casePoint()
} else {
diff --git a/src/pages/ywts/cszl/hw/index.vue b/src/pages/ywts/cszl/hw/index.vue
index e773b7d..ed28bc6 100644
--- a/src/pages/ywts/cszl/hw/index.vue
+++ b/src/pages/ywts/cszl/hw/index.vue
@@ -31,6 +31,7 @@
import ListPage from "@/components/ListPage";
import { getPlacePointList, getOverviewStatistics, getPersonList, getCarList, getCaseList, getCaseInfo } from '@/api/ywts/cszl/hw'
import { iconFilter, iconPerson, personList, carList, iconCar } from './data'
+import { eventBus } from "../../../../main";
export default {
name: 'Hw',
components: { TimeManager, LayerManagerMix, ListPage, CommonBtn, Pop },
@@ -94,7 +95,25 @@
},
mounted() {
clearResetMap()
+ this.selectInde = 'deviceBtn'
this.fetchPoint()
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: false }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: false });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: false });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: false }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
+ // 清除弹窗展示
+ this.$bus.$on('clear', () => {
+ this.isListPage = false
+ this.showPop = false
+ })
},
methods: {
async btnClick(e) {
@@ -263,17 +282,17 @@
// this.caseList = res.data.value || []
// this.caseTotal = this.caseList.length
res.data.value.forEach(item => {
- AddLabelPoint(
- item.id.replaceAll('.', ''),
- '',
- this.caseIcon[item.status],
- [item.lon, item.lat, 0], 'gd-case', item,
- this.clickCase)
- })
+ AddLabelPoint(
+ item.id.replaceAll('.', ''),
+ '',
+ this.caseIcon[item.status],
+ [item.lon, item.lat, 0], 'gd-case', item,
+ this.clickCase)
+ })
})
},
- // 点击事件icon
- clickCase(eventArg) {
+ // 点击事件icon
+ clickCase(eventArg) {
const item = eventArg._data.data
// 恢复上一个marker
if (this.preCase !== null) {
@@ -306,11 +325,11 @@
getCaseInfo(this.caseListQuery).then(res => {
console.log(res.data, '事件详情')
this.caseList = res.data.value || []
- this.caseTotal = this.caseList.length
+ this.caseTotal = this.caseList.length
})
},
- // 事件换页
- changePage(val) {
+ // 事件换页
+ changePage(val) {
if (val && val.page) {
this.caseListQuery.pageNo = val.page
}
diff --git a/src/pages/ywts/cszl/jt/index.vue b/src/pages/ywts/cszl/jt/index.vue
index fb1ce91..ef5938c 100644
--- a/src/pages/ywts/cszl/jt/index.vue
+++ b/src/pages/ywts/cszl/jt/index.vue
@@ -1,15 +1,21 @@
-
+
@@ -26,8 +32,9 @@
getStatistics,
getCasePointList, getCaseInfo
} from "../../../../api/ywts/cszl/gd";
-import {AddDivPointHighlight, AddLabel} from "../../../../utils/freedo";
+import { AddDivPointHighlight, AddLabel } from "../../../../utils/freedo";
import ListPage from "@/components/ListPage";
+import { eventBus } from "../../../../main";
export default {
name: 'Jt',
@@ -47,19 +54,19 @@
},
caseTotal: 0,
caseIcon: {
- 1: require('@/assets/images/icon/事件/已撤案.png'),
- 2: require('@/assets/images/icon/事件/指派中.png'),
- 3: require('@/assets/images/icon/事件/处置中.png'),
- 4: require('@/assets/images/icon/事件/已办结.png'),
- 5: require('@/assets/images/icon/事件/已结案.png'),
- },
+ 1: require('@/assets/images/icon/事件/已撤案.png'),
+ 2: require('@/assets/images/icon/事件/指派中.png'),
+ 3: require('@/assets/images/icon/事件/处置中.png'),
+ 4: require('@/assets/images/icon/事件/已办结.png'),
+ 5: require('@/assets/images/icon/事件/已结案.png'),
+ },
caseColor: {
- 1: '#ffffff',
- 2: '#fdeb56',
- 3: '#85c8ff',
- 4: '#ffba74',
- 5: '#87f6b3',
- },
+ 1: '#ffffff',
+ 2: '#fdeb56',
+ 3: '#85c8ff',
+ 4: '#ffba74',
+ 5: '#87f6b3',
+ },
time: {
startTime: '',
endTime: '',
@@ -81,10 +88,10 @@
name: '基础设施',
value: 'place'
}
- // , {
- // name: '环监设备',
- // value: 'others'
- // }
+ // , {
+ // name: '环监设备',
+ // value: 'others'
+ // }
],
menus: {
place: [
@@ -98,11 +105,27 @@
},
mounted() {
getStatistics().then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
this.menus.place = response.data.value
}
})
this.search()
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: false }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: false });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: true });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: true }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
+ // 清除弹窗展示
+ this.$bus.$on('clear', () => {
+ this.isListPage = false
+ })
},
methods: {
async btnClick(e) {
@@ -121,16 +144,16 @@
// 设备图层控制
layer(item) {
// clearUpMap()
- const iconOnline = require('@/assets/images/icon/工地地图点位/'+item.typename.replace(/ /g,'')+'在线.png')
- const iconOffline = require('@/assets/images/icon/工地地图点位/'+item.typename.replace(/ /g,'')+'离线.png')
- getDevList({type: item.type}).then(response => {
- if(response.code === 200) {
+ const iconOnline = require('@/assets/images/icon/工地地图点位/' + item.typename.replace(/ /g, '') + '在线.png')
+ const iconOffline = require('@/assets/images/icon/工地地图点位/' + item.typename.replace(/ /g, '') + '离线.png')
+ getDevList({ type: item.type }).then(response => {
+ if (response.code === 200) {
clearUpMap()
response.data.value.forEach(item => {
AddLabelPoint(
item.id,
'',
- item.status === '1'? iconOnline: iconOffline,
+ item.status === '1' ? iconOnline : iconOffline,
[item.lon, item.lat, 0], 'gd-place', item,
null)
})
@@ -141,11 +164,11 @@
casePoint() {
console.log(this.time)
getCasePointList(this.time).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
clearUpMap()
const data = []
response.data.value.forEach(item => {
- if(!data.map(da => da.id).includes(item.id) && !data.map(da => da.lon).includes(item.lon) && item.id !== null) {
+ if (!data.map(da => da.id).includes(item.id) && !data.map(da => da.lon).includes(item.lon) && item.id !== null) {
data.push(item)
}
})
@@ -165,7 +188,7 @@
const iconDone = require('@/assets/images/icon/工地地图点位/工地已完成.png')
const iconDoing = require('@/assets/images/icon/工地地图点位/工地进行中.png')
getArea({}).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
clearUpMap()
response.data.value.forEach(item => {
// console.log(item.areaboundary)
@@ -173,7 +196,7 @@
AddLabelPoint(
item.id,
item.name,
- item.status === '2' ? iconDoing: iconDone,
+ item.status === '2' ? iconDoing : iconDone,
[item.lon, item.lat, 0], 'gd', item,
this.clickHw)
})
@@ -183,7 +206,7 @@
// 智慧工地-工地近1月综合得分
score() {
getArea({}).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
response.data.value.forEach(item => {
console.log(item.areaboundary)
// todo : 画范围
@@ -195,7 +218,7 @@
clickCase(eventArg) {
const item = eventArg._data.data
// 恢复上一个marker
- if(this.preCase !== null ) {
+ if (this.preCase !== null) {
window.mmManager.removeById(this.preCase.id)
AddLabelPoint(
this.preCase.id,
@@ -231,13 +254,13 @@
searchCaseMarkerList() {
// getCaseInfo(this.caseListQuery).then(response => {
getCaseInfo(this.caseListQuery).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
console.log(response.data.value)
// 右侧看板
- this.caseList = response.data.value
+ this.caseList = response.data.value
// todo
// this.caseTotal = response.data.value.length
- this.caseTotal = 12
+ this.caseTotal = 12
}
})
},
@@ -246,7 +269,7 @@
},
handleTimeRange(time) {
this.isListPage = false
- if(this.time.startTime !== '') {
+ if (this.time.startTime !== '') {
this.time = time
this.casePoint()
} else {
diff --git a/src/pages/ywts/cszl/jxh/index.vue b/src/pages/ywts/cszl/jxh/index.vue
index a3703db..0f23aaa 100644
--- a/src/pages/ywts/cszl/jxh/index.vue
+++ b/src/pages/ywts/cszl/jxh/index.vue
@@ -1,26 +1,24 @@
-
-
+
+
@@ -44,14 +42,15 @@
getAll,
getCaseInfo, getBoard
} from "../../../../api/ywts/cszl/jxh";
-import {AddDivPointCase, AddDivPointHighlight, AddOnlyLabel, AddPolygon} from "../../../../utils/freedo";
+import { AddDivPointCase, AddDivPointHighlight, AddOnlyLabel, AddPolygon } from "../../../../utils/freedo";
import ListPage from "@/components/ListPage";
-import {getGridInfo, getGridToken} from "../../../../api/common";
+import { getGridInfo, getGridToken } from "../../../../api/common";
import JxhPop from "./jxhPop";
+import { eventBus } from "../../../../main";
export default {
name: 'Jxh',
- components: {JxhPop, LayerManager, TimeManager, KeywordManager, CommonBtn, ListPage },
+ components: { JxhPop, LayerManager, TimeManager, KeywordManager, CommonBtn, ListPage },
data() {
return {
preCase: null,
@@ -128,6 +127,22 @@
}
},
mounted() {
+ this.$bus.$on('clear', () => {
+ this.isListPage = false
+ this.isShow = false
+ })
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: false }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: false });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: false });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: false }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
// 全部事件
getAll({
// urgent: '0',
@@ -135,8 +150,8 @@
// high: '0',
startTime: this.time.startTime,
endTime: this.time.endTime,
- }).then( res => {
- if(res.code === 200) {
+ }).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
@@ -154,7 +169,7 @@
caseMarker(res) {
res.data.value.forEach(item => {
// console.log(item.status)
- if(item.total === '1') {
+ if (item.total === '1') {
AddLabelPoint(
item.id,
'',
@@ -180,24 +195,24 @@
switch (e.bigtype) {
case 'source':
query.sourceId = e.type
- getSourceList(query).then( res => {
- if(res.code === 200) {
+ getSourceList(query).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
break
case 'project':
query.projectId = e.type
- getProjectList(query).then( res => {
- if(res.code === 200) {
+ getProjectList(query).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
break
case 'grid':
query.gridType = e.type
- getGridList(query).then( res => {
- if(res.code === 200) {
+ getGridList(query).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
@@ -208,7 +223,7 @@
clickCase(eventArg) {
const item = eventArg._data.data
// 恢复上一个marker
- if(this.preCase !== null ) {
+ if (this.preCase !== null) {
window.mmManager.removeById(this.preCase.id)
AddLabelPoint(
this.preCase.id,
@@ -218,7 +233,7 @@
this.clickCase)
}
- if(item.total === '1') {
+ if (item.total === '1') {
// 保存当前marker
this.preCase = item
// 高亮当前marker
@@ -229,7 +244,7 @@
}
// 查询事件详情
- this.caseTotal = Number(item.total)
+ this.caseTotal = Number(item.total)
this.caseList = []
this.isListPage = true
this.hasUrge = false
@@ -263,13 +278,13 @@
// high: '0',
startTime: this.time.startTime,
endTime: this.time.endTime,
- }).then( res => {
- if(res.code === 200) {
+ }).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
// 事件看板
- this.caseTotal = 1000 // todo
+ this.caseTotal = 1000 // todo
this.caseList = []
this.isListPage = true
this.hasUrge = true
@@ -292,8 +307,8 @@
high: '1',
startTime: this.time.startTime,
endTime: this.time.endTime,
- }).then( res => {
- if(res.code === 200) {
+ }).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
@@ -306,8 +321,8 @@
// high: '0',
startTime: this.time.startTime,
endTime: this.time.endTime,
- }).then( res => {
- if(res.code === 200) {
+ }).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
@@ -317,7 +332,7 @@
break
case "caseHeatBtn":
getHeat(this.time).then(res => {
- if(res.code === 200) {
+ if (res.code === 200) {
heat(res.data.value) // 热力图
}
})
@@ -326,29 +341,29 @@
},
gridDraw(token, areaCode) {
const colors = [
- [0,234,255,0.47],
- [255,185,0,0.47],
- [255,234,0,0.47],
- [209,0,255,0.47],
- [255,0,38,0.47],
+ [0, 234, 255, 0.47],
+ [255, 185, 0, 0.47],
+ [255, 234, 0, 0.47],
+ [209, 0, 255, 0.47],
+ [255, 0, 38, 0.47],
]
getGridInfo({
paramCodeList: 'KJ5001',
areaCode,
token
- }).then( res => {
+ }).then(res => {
console.log(res)
res.data.chirdAreaInfo.forEach((item, index) => {
item._source.areainfo.coordinates.forEach(area => {
let positions = []
- let arr = item._source.areainfo.type === 'MultiPolygon' ? area[0]: area
+ let arr = item._source.areainfo.type === 'MultiPolygon' ? area[0] : area
arr.forEach(pos => {
- positions.push(Freedo.Cartesian3.fromDegrees( pos[0], pos[1],0))
+ positions.push(Freedo.Cartesian3.fromDegrees(pos[0], pos[1], 0))
})
- AddPolygon(positions,colors[index % 5], this.gridClick,item._id)
+ AddPolygon(positions, colors[index % 5], this.gridClick, item._id)
AddOnlyLabel(
'',
- item._source.areaname , //+ this.menus.grid
+ item._source.areaname, //+ this.menus.grid
[item._source.lon, item._source.lat, 0],
'', null, null)
})
@@ -364,7 +379,7 @@
secret: CryptoJS.MD5(timestamp + 'geostar999').toString()
}
- getGridToken(param).then( res => {
+ getGridToken(param).then(res => {
clearUpMap()
this.gridDraw(res.data.token, '360783001')
this.gridDraw(res.data.token, '360783002')
@@ -374,32 +389,32 @@
},
// 三个概况统计
layerSeach() {
- getSource(this.time).then( res => {
- if(res.code === 200) {
+ getSource(this.time).then(res => {
+ if (res.code === 200) {
this.menus.source = res.data.value.map(item => {
item.bigtype = 'source'
- item.type = item.id.replace(/ /g,'')
- item.typename = item.name.replace(/ /g,'')
+ item.type = item.id.replace(/ /g, '')
+ item.typename = item.name.replace(/ /g, '')
return item
})
}
})
- getProject(this.time).then( res => {
- if(res.code === 200) {
+ getProject(this.time).then(res => {
+ if (res.code === 200) {
this.menus.project = res.data.value.map(item => {
item.bigtype = 'project'
- item.type = item.id.replace(/ /g,'')
- item.typename = item.name.replace(/ /g,'')
+ item.type = item.id.replace(/ /g, '')
+ item.typename = item.name.replace(/ /g, '')
return item
})
}
})
- getGrid(this.time).then( res => {
- if(res.code === 200) {
+ getGrid(this.time).then(res => {
+ if (res.code === 200) {
this.menus.grid = res.data.value.map(item => {
item.bigtype = 'grid'
- item.type = item.id.replace(/ /g,'')
- item.typename = item.name.replace(/ /g,'')
+ item.type = item.id.replace(/ /g, '')
+ item.typename = item.name.replace(/ /g, '')
return item
})
}
@@ -410,7 +425,7 @@
if (val && val.page) {
this.caseListQuery.pageNo = val.page
}
- if(this.hasUrge) {
+ if (this.hasUrge) {
this.searchBoard()
} else {
this.searchCaseMarkerList()
@@ -419,20 +434,20 @@
// 事件看板查询
searchBoard() {
getBoard(this.caseListQuery).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
console.log(response.data.value)
// 右侧看板
- this.caseList = response.data.value
+ this.caseList = response.data.value
}
})
},
// 事件详情分页
searchCaseMarkerList() {
getCaseInfo(this.caseListQuery).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
console.log(response.data.value)
// 右侧看板
- this.caseList = response.data.value
+ this.caseList = response.data.value
}
})
},
diff --git a/src/pages/ywts/cszl/yj/index.vue b/src/pages/ywts/cszl/yj/index.vue
index 7869a73..d74dfe9 100644
--- a/src/pages/ywts/cszl/yj/index.vue
+++ b/src/pages/ywts/cszl/yj/index.vue
@@ -45,7 +45,7 @@
import { AddDivPointHighlight, AddLabel } from "../../../../utils/freedo";
import { iconFilter, deviceList, caseList } from './data'
import ListPage from "@/components/ListPage";
-
+import { eventBus } from "../../../../main";
export default {
name: 'Yj',
components: { TimeManager, LayerManagerMix, ListPage, CommonBtn, Pop },
@@ -118,14 +118,25 @@
}
},
mounted() {
- // getStatistics().then(response => {
- // if(response.code === 200) {
- // this.menus.place = response.data.value
- // }
- // })
- // this.search()
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: false }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: false });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: false });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: false }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
clearResetMap()
this.searchPlace({})
+
+ this.$bus.$on('clear', () => {
+ this.isListPage = false
+ this.showPop = false
+ })
},
methods: {
async btnClick(e) {
diff --git a/src/pages/ywts/shms/jy/devicePop.vue b/src/pages/ywts/shms/jy/devicePop.vue
new file mode 100644
index 0000000..2c44979
--- /dev/null
+++ b/src/pages/ywts/shms/jy/devicePop.vue
@@ -0,0 +1,281 @@
+
+
+
+
+
+
+
+ 设备名称: {{
+ gdInfo.name }}
+ 设备类型: {{
+ gdInfo.typename }}
+ 设备状态: {{
+ gdInfo.statusName }}
+ 设备位置: {{
+ gdInfo.location }}
+ 时间: {{ gdInfo.time
+ }}
+ 进/出人口数: {{ gdInfo.in
+ }}/{{ gdInfo.out }}
+ 是否赋能: 否
+
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/ywts/shms/jy/index.vue b/src/pages/ywts/shms/jy/index.vue
index b1eb984..f377985 100644
--- a/src/pages/ywts/shms/jy/index.vue
+++ b/src/pages/ywts/shms/jy/index.vue
@@ -6,11 +6,13 @@
+ :select="selectIndex === 'layerBtn'" @btnClick="btnClick" @menuClick="menuClick" />
+
+
@@ -29,13 +31,15 @@
import mapJson from "@/assets/mapJson/map.json";
import modelJson from "@/assets/mapJson/school.json";
import { eventBus } from "../../../../main";
+import devicePop from './devicePop.vue'
export default {
name: 'Jy',
- components: { SchoolPop, TimeManager, KeywordManager, LayerManagerMix, CommonBtn },
+ components: { SchoolPop, TimeManager, KeywordManager, LayerManagerMix, CommonBtn, devicePop },
data() {
return {
isShow: false,
+ showDevice: false,
ktSelect: '',
keyword: '',
keywordList: [],
@@ -56,10 +60,15 @@
},
menus: {
device: [
- { type: "1", typename: "视频设备", total: "111" },
- { type: "2", typename: "门禁设备", total: "111" }
+ { type: "1", typename: "视频设备", total: "0" },
+ { type: "2", typename: "门禁设备", total: "0" }
]
- }
+ },
+ markerList: [],
+ markerBakList: [],
+ videoIcon: require('@/assets/images/icon/视频云/枪机未赋能在线.png'),
+ controlIcon: require('@/assets/images/icon/一卡通/门禁.png'),
+
}
},
mounted() {
@@ -70,55 +79,25 @@
name: 'jy',
autoFlyto: true,
})
- eventBus.$emit('change-layer', { id: 1, checked: false });
- eventBus.$emit('change-layer', { id: 2, checked: false });
- eventBus.$emit('change-layer', { id: 3, checked: false });
- eventBus.$emit('change-layer', { id: 4, checked: false });
- eventBus.$emit('change-layer', { id: 5, checked: true });
- eventBus.$emit('change-layer', { id: 41, checked: true });
- eventBus.$emit('change-layer', { id: 21, checked: true });
- eventBus.$emit('change-layer', { id: 12, checked: true });
- // // 教育模型
- // window.pmtsManager.add({
- // id: "智慧教育-手工模型",
- // url: mapJson.CIM4["智慧教育-手工模型"],
- // show: true,
- // maximumScreenSpaceError: 32,
- // maximumMemoryUsage: 64,
- // maximumAbsoluteMemoryUsage: 8192,
- // autoFlyto: true
- // },
- // undefined
- // )
- // // CIM2 楼
- // window.pmtsManager.add({
- // url: mapJson['CIM2']['CIM2建筑(带纹理)'],
- // show: true,
- // name: 'CIM2建筑(带纹理)',
- // autoFlyto: false
- // })
- // window.pmtsManager.add({
- // url: mapJson['CIM2']['CIM2建筑(带纹理)'],
- // show: true,
- // name: 'CIM2建筑(带纹理)',
- // autoFlyto: false,
- // alpha: 0.5,
- // color: '#002d7a'
- // })
- // for(let key in modelJson) {
- // window.pmtsManager.add({
- // id: key,
- // // url: mapJson.CIM4["智慧教育-手工模型"],
- // url: modelJson[key],
- // show: true,
- // maximumScreenSpaceError: 32,
- // maximumMemoryUsage: 64,
- // maximumAbsoluteMemoryUsage: 8192,
- // autoFlyto: true
- // },
- // undefined
- // )
- // }
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: true }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: false });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: false });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: true }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
+
+ // 清除弹窗展示
+ this.$bus.$on('clear', () => {
+ this.isShow = false
+ this.showDevice = false
+
+ })
},
methods: {
async btnClick(e) {
@@ -126,6 +105,7 @@
clearUpMap(true)
initPosition()
this.isShow = false
+ this.showDevice = false
this.selectIndex = e.target.id
switch (this.selectIndex) {
case "schoolBtn":
@@ -194,10 +174,121 @@
},
// 搜索学校设备
searchDevice() {
- getDevice({}).then(res => {
- console.log('学校数据')
+ getDevice({ keywords: '' }).then(res => {
+ this.markerList = [
+ {
+ "name": "设备1",
+ "lon": "114.859995",
+ "location": "江西省赣州市南康区三江乡",
+ "id": "1676397864375291905",
+ "lat": "25.802129",
+ "type": "1",
+ "typename": "视频设备",
+ statusName: '正常',
+ time: '2025-06-16 09:05:05',
+ in: '0',
+ out: '0',
+ },
+ {
+ "name": "设备2",
+ "lon": "114.861027",
+ "location": "江西省赣州市章贡区潭六路135号靠近逸夫小学",
+ "id": "1676398916763914241",
+ "lat": "25.757553",
+ "type": "2",
+ "typename": "门禁设备",
+ statusName: '正常',
+ time: '2025-06-16 09:05:05',
+ in: '0',
+ out: '0',
+ },
+ {
+ "name": "设备3",
+ "lon": "114.880246",
+ "location": "江西省赣州市章贡区潭东镇弘腾路毅德城",
+ "id": "1676414593390350337",
+ "lat": "25.753119",
+ "type": "1",
+ "typename": "视频设备",
+ statusName: '正常',
+ time: '2025-06-16 09:05:05',
+ in: '0',
+ out: '0',
+ },
+ {
+ "name": "设备4",
+ "lon": "114.879855",
+ "location": "江西省赣州市章贡区潭东镇弘腾路毅德城",
+ "id": "1676414955455254529",
+ "lat": "25.752771",
+ "type": "1",
+ "typename": "视频设备",
+ statusName: '正常',
+ time: '2025-06-16 09:05:05',
+ in: '0',
+ out: '0',
+ },
+ {
+ "name": "设备5",
+ "lon": "114.875438",
+ "location": "江西省赣州市章贡区潭东镇弘腾路毅德城",
+ "id": "1676418661630349312",
+ "lat": "25.748733",
+ "type": "2",
+ "typename": "门禁设备",
+ statusName: '正常',
+ time: '2025-06-16 09:05:05',
+ in: '0',
+ out: '0',
+ },
+ {
+ "name": "设备6",
+ "lon": "114.867371",
+ "location": "江西省赣州市章贡区105国道135号靠近松岭上",
+ "id": "1676422908220542977",
+ "lat": "25.750388",
+ "typename": "2",
+ "typename": "门禁设备",
+ statusName: '正常',
+ time: '2025-06-16 09:05:05',
+ in: '0',
+ out: '0',
+ },
+ ]
+ this.markerBakList = JSON.parse(JSON.stringify(this.markerList))
+ this.menus.device[0].total = this.markerList.filter((item) => item.type === '1').length
+ this.menus.device[1].total = this.markerList.filter((item) => item.type === '2').length
+ // 绘制点位
+ this.markerList.forEach((item) => {
+ AddLabelPoint(
+ item.id,
+ `${item.name}`,
+ item.type === '1' ? this.videoIcon : this.controlIcon,
+ [item.lon, item.lat, 0], 'yl-dev', item,
+ this.clickDevice)
+ })
})
- }
+ },
+ menuClick(e) {
+ clearResetMap()
+ this.markerList = this.markerBakList.filter(item => item.type === e.type)
+ this.markerList.forEach((item) => {
+ AddLabelPoint(
+ item.id,
+ `${item.name}`,
+ item.type === '1' ? this.videoIcon : this.controlIcon,
+ [item.lon, item.lat, 0], 'yl-dev', item,
+ this.clickDevice)
+ })
+ },
+ // 设备点位点击
+ clickDevice(eventArg) {
+ const item = eventArg._data.data
+ this.showDevice = true
+ this.$nextTick(() => {
+ this.$refs.deviceRef.initData(item)
+ })
+ },
}
}
diff --git a/src/pages/ywts/shms/sq/carPop.vue b/src/pages/ywts/shms/sq/carPop.vue
new file mode 100644
index 0000000..b1fe4c3
--- /dev/null
+++ b/src/pages/ywts/shms/sq/carPop.vue
@@ -0,0 +1,275 @@
+
+
+
+
+
+
+
+ 名称: {{
+ gdInfo.name }}
+ 位置: {{
+ gdInfo.location }}
+ 车辆数量: {{ gdInfo.carNum
+ }}
+ 停车位: {{ gdInfo.parkSpaceNum }}
+
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/ywts/shms/sq/communityPop.vue b/src/pages/ywts/shms/sq/communityPop.vue
new file mode 100644
index 0000000..eb6bf07
--- /dev/null
+++ b/src/pages/ywts/shms/sq/communityPop.vue
@@ -0,0 +1,212 @@
+
+
+
+
+
+
{{ name }}
+
位置:{{ position
+ }}
+
+
+
+
+
+
{{ item.total }}
+
{{ item.name }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/ywts/shms/sq/components/agePie.vue b/src/pages/ywts/shms/sq/components/agePie.vue
new file mode 100644
index 0000000..9e41da8
--- /dev/null
+++ b/src/pages/ywts/shms/sq/components/agePie.vue
@@ -0,0 +1,185 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/ywts/shms/sq/components/currentPie.vue b/src/pages/ywts/shms/sq/components/currentPie.vue
new file mode 100644
index 0000000..c7dfe20
--- /dev/null
+++ b/src/pages/ywts/shms/sq/components/currentPie.vue
@@ -0,0 +1,178 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/ywts/shms/sq/components/personBar.vue b/src/pages/ywts/shms/sq/components/personBar.vue
new file mode 100644
index 0000000..b065487
--- /dev/null
+++ b/src/pages/ywts/shms/sq/components/personBar.vue
@@ -0,0 +1,193 @@
+
+
+
+
+
+
+
diff --git a/src/pages/ywts/shms/sq/components/scoreLineBar.vue b/src/pages/ywts/shms/sq/components/scoreLineBar.vue
new file mode 100644
index 0000000..1551e69
--- /dev/null
+++ b/src/pages/ywts/shms/sq/components/scoreLineBar.vue
@@ -0,0 +1,189 @@
+
+
+
+
+
+
+
diff --git a/src/pages/ywts/shms/sq/components/transitBar.vue b/src/pages/ywts/shms/sq/components/transitBar.vue
new file mode 100644
index 0000000..c23b4ba
--- /dev/null
+++ b/src/pages/ywts/shms/sq/components/transitBar.vue
@@ -0,0 +1,173 @@
+
+
+
+
+
+
+
diff --git a/src/api/ywts/shms/jy.js b/src/api/ywts/shms/jy.js
index f3ac251..56f48e3 100644
--- a/src/api/ywts/shms/jy.js
+++ b/src/api/ywts/shms/jy.js
@@ -116,7 +116,7 @@
return request({
url: 'zhjy-gktj/zhjy/sbdwlb',
method: 'post',
- data,
+ // data,
params: data
})
}
diff --git a/src/api/ywts/shms/sq.js b/src/api/ywts/shms/sq.js
new file mode 100644
index 0000000..04a5447
--- /dev/null
+++ b/src/api/ywts/shms/sq.js
@@ -0,0 +1,123 @@
+/**
+ * 社区接口
+ */
+import request from '@/utils/request'
+
+// 社区点位列表
+export function getCommunityList() {
+ return request({
+ url: 'zhsq-gktj/zhsq/sqdwlb',
+ method: 'post',
+ })
+}
+
+// 人员热力图
+export function getHeat() {
+ return request({
+ url: 'zhsq-gktj/zhsq/sqyyrlt',
+ method: 'post',
+ })
+}
+
+// 设备点位
+export function getDevice() {
+ return request({
+ url: 'zhsq-gktj/zhsq/sbdwlb',
+ method: 'post',
+ params: {
+ type: '',
+ keywords: ''
+ }
+ })
+}
+
+// 社区车辆
+export function getCar() {
+ return request({
+ url: 'zhsq-gktj/zhsq/sqbyl',
+ method: 'post',
+ })
+}
+
+// 事件点位列表
+export function getCase(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/sjdwlb',
+ method: 'post',
+ params:{
+ ...data
+ }
+ })
+}
+
+// 事件详情
+export function getCaseList(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/zjlbfy',
+ method: 'post',
+ params:{
+ ...data
+ }
+ })
+}
+// 获取社区基本信息
+export function getBaseInfo(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/sqdwxq',
+ method: 'post',
+ params:{
+ ...data
+ },
+ // data
+ })
+}
+// 居民年龄统计
+export function getAgeStatistics(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/jmnltj',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
+// 居民流动比例
+export function getCurrentRatio(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/jmldbl',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
+// 近1年人房车占比统计
+export function getPersonCarRatio(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/rfczbtj',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
+// 近1月居民通行量分析
+export function getTransitrRatio(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/jmtxlfx',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
+// 近1月高频事件排行榜
+export function getCaseRank(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/gpsjphb',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
diff --git a/src/api/ywts/zyhj/hb.js b/src/api/ywts/zyhj/hb.js
index 5e598d1..07625d1 100644
--- a/src/api/ywts/zyhj/hb.js
+++ b/src/api/ywts/zyhj/hb.js
@@ -8,7 +8,10 @@
return request({
url: 'zhhb-gktj/zhhb/gktj',
method: 'post',
- data
+ data,
+ params: {
+ ...data,
+ }
})
}
// 环保点位列表
@@ -19,3 +22,26 @@
data
})
}
+// 环保告警列表
+export function getAlarmList(data) {
+ return request({
+ url: 'zhhb-gktj/zhhb/hbgjlb',
+ method: 'post',
+ // data
+ params: {
+ ...data
+ }
+ })
+}
+
+// 环保事件列表
+export function getCaseList(data) {
+ return request({
+ url: 'zhhb-gktj/zhhb/hbsjlbfy',
+ method: 'post',
+ // data
+ params: {
+ ...data
+ }
+ })
+}
diff --git a/src/api/ywts/zyhj/yl.js b/src/api/ywts/zyhj/yl.js
index 63d7ad2..643e3d4 100644
--- a/src/api/ywts/zyhj/yl.js
+++ b/src/api/ywts/zyhj/yl.js
@@ -88,6 +88,9 @@
url: 'zhyl-gktjljk/zhyl/sjxq',
method: 'post',
data,
+ params: {
+ ...data,
+ }
})
}
// 苗木点位列表
diff --git a/src/components/CommonFunction/index.vue b/src/components/CommonFunction/index.vue
index 1a10acb..c2eba44 100644
--- a/src/components/CommonFunction/index.vue
+++ b/src/components/CommonFunction/index.vue
@@ -5,8 +5,8 @@
@click="btnClick" />
-
+
@@ -21,7 +21,7 @@
import CommonBtn from "../CommonBtn";
import { clearUpMap } from '@/utils/freedo/index'
-import { initPosition, initPage } from "../../utils/freedo";
+import { initPosition, initPage } from "../../utils/freedo";
import mapJson from "@/assets/mapJson/map.json";
import { eventBus } from "../../main";
@@ -59,11 +59,11 @@
disabled: true,
"children": [
{ "id": 41, "label": "智慧教育-手工模型", disabled: true },
- { "id": 42, "label": "智慧停车云-手工模型", disabled: true },
- { "id": 43, "label": "智慧社区-手工模型", disabled: true },
- { "id": 44, "label": "智慧工地-手工模型", disabled: true },
- { "id": 45, "label": "智慧交通-手工模型", disabled: true },
- { "id": 46, "label": "智慧园林-手工模型", disabled: true }
+ { "id": 42, "label": "智慧停车云-手工模型", disabled: true },
+ { "id": 43, "label": "智慧社区-手工模型", disabled: true },
+ { "id": 44, "label": "智慧工地-手工模型", disabled: true },
+ { "id": 45, "label": "智慧交通-手工模型", disabled: true },
+ { "id": 46, "label": "智慧园林-手工模型", disabled: true }
]
}, {
"id": 5,
@@ -95,8 +95,8 @@
setTimeout(() => {
this.tree.forEach((item) => {
item.disabled = false
- if(item.children) {
- item.children = item.children.map((item) => ({ ...item,disabled: false}))
+ if (item.children) {
+ item.children = item.children.map((item) => ({ ...item, disabled: false }))
}
})
}, 5000)
@@ -125,7 +125,7 @@
handler(data, checked, indeterminate)
}
else {
- if(data.id.toString() === '5' && checked) {
+ if (data.id.toString() === '5' && checked) {
window.terrainManager.visible = true
return
}
@@ -143,14 +143,18 @@
},
btnClick(e) {
this.showLayerTree = false
+ this.clearDialog()
if (e.target.id === 'initBtn') {
initPosition()
} else if (e.target.id === 'clearBtn') {
clearUpMap()
} else if (e.target.id === 'layerBtn') {
- // clearUpMap()
this.showLayerTree = true
}
+ },
+ // 清空地图弹窗
+ clearDialog() {
+ this.$bus.$emit('clear')
}
}
}
@@ -178,7 +182,7 @@
right: 20px;
top: 1rem;
display: flex;
- width: 20rem;
+ width: 15rem;
height: 5rem;
z-index: 1111111111;
}
diff --git a/src/pages/csdz/iot/index.vue b/src/pages/csdz/iot/index.vue
index 63b60ea..8aefaea 100644
--- a/src/pages/csdz/iot/index.vue
+++ b/src/pages/csdz/iot/index.vue
@@ -259,8 +259,8 @@
localPoint(e) {
// this.childrenClick(e)
this.clickIcon({
- _data:{
- data:e
+ _data: {
+ data: e
}
})
},
@@ -280,6 +280,11 @@
},
mounted() {
this.search()
+ this.$bus.$on('clear', () => {
+ this.isShowEvent = false
+ this.isShowEventPop = false
+ this.isShowPop = false
+ })
// getStatistics().then(res => {
// if (res.code === 200 && res.data.value.length) {
// console.log(res.data, '')
diff --git a/src/pages/csdz/smartCard/index.vue b/src/pages/csdz/smartCard/index.vue
index 48721f7..32573d2 100644
--- a/src/pages/csdz/smartCard/index.vue
+++ b/src/pages/csdz/smartCard/index.vue
@@ -112,6 +112,7 @@
btnClick(e) {
clearResetMap()
this.selectIndex = e.target.id
+ this.isShowPop = false
if (this.selectIndex === 'publicBtn') {
// 绘制热力图
heat([
@@ -870,6 +871,10 @@
getStatistics({}).then(res => {
console.log(res.data, '一卡通')
})
+ this.$bus.$on('clear', () => {
+ this.isShowPop = false
+ this.isShowEvent = false
+ })
}
}
diff --git a/src/pages/csdz/videoCloud/index.vue b/src/pages/csdz/videoCloud/index.vue
index 4b8d110..81530d5 100644
--- a/src/pages/csdz/videoCloud/index.vue
+++ b/src/pages/csdz/videoCloud/index.vue
@@ -695,6 +695,11 @@
},
mounted() {
this.drawSence()
+ this.$bus.$on('clear', () => {
+ this.isShowPop = false
+ this.isShowEvent = false
+ this.isShowEventPop = false
+ })
}
}
diff --git a/src/pages/ywts/cszl/gd/index.vue b/src/pages/ywts/cszl/gd/index.vue
index e9be7b0..35ee8d7 100644
--- a/src/pages/ywts/cszl/gd/index.vue
+++ b/src/pages/ywts/cszl/gd/index.vue
@@ -1,30 +1,23 @@
-
-
+
+
@@ -34,7 +27,7 @@
import TimeManager from "@/components/TimeManager";
import GdPop from "./gdPop";
import { heat } from '@/utils/freedo/heat'
-import { clearUpMap, clearResetMap ,AddLabelPoint, initPosition } from '@/utils/freedo'
+import { clearUpMap, clearResetMap, AddLabelPoint, initPosition } from '@/utils/freedo'
import {
getHeat,
getArea,
@@ -43,17 +36,17 @@
getStatistics,
getCasePointList, getCaseInfo
} from "../../../../api/ywts/cszl/gd";
-import {AddDivPointCase, AddDivPointHighlight, AddLabel, focusPoint} from "../../../../utils/freedo";
+import { AddDivPointCase, AddDivPointHighlight, AddLabel, focusPoint } from "../../../../utils/freedo";
import ListPage from "@/components/ListPage";
import KeywordManager from "../../../../components/KeywordManager";
import gridJson from "@/assets/mapJson/grid.json";
import mapJson from "@/assets/mapJson/map.json";
-import {eventBus} from "../../../../main";
+import { eventBus } from "../../../../main";
export default {
name: 'Gd',
- components: {KeywordManager, GdPop, TimeManager, LayerManagerMix, ListPage, CommonBtn },
+ components: { KeywordManager, GdPop, TimeManager, LayerManagerMix, ListPage, CommonBtn },
data() {
return {
isListPage: false,
@@ -73,19 +66,19 @@
caseTotal: 0,
layerManager: null,
caseIcon: {
- 1: require('@/assets/images/icon/事件/已撤案.png'),
- 2: require('@/assets/images/icon/事件/指派中.png'),
- 3: require('@/assets/images/icon/事件/处置中.png'),
- 4: require('@/assets/images/icon/事件/已办结.png'),
- 5: require('@/assets/images/icon/事件/已结案.png'),
- },
+ 1: require('@/assets/images/icon/事件/已撤案.png'),
+ 2: require('@/assets/images/icon/事件/指派中.png'),
+ 3: require('@/assets/images/icon/事件/处置中.png'),
+ 4: require('@/assets/images/icon/事件/已办结.png'),
+ 5: require('@/assets/images/icon/事件/已结案.png'),
+ },
caseColor: {
- 1: '#ffffff88',
- 2: '#fdeb5688',
- 3: '#85c8ff88',
- 4: '#ffba7488',
- 5: '#87f6b388',
- },
+ 1: '#ffffff88',
+ 2: '#fdeb5688',
+ 3: '#85c8ff88',
+ 4: '#ffba7488',
+ 5: '#87f6b388',
+ },
time: {
startTime: '',
endTime: '',
@@ -105,10 +98,10 @@
name: '工地设备',
value: 'device'
}
- // , {
- // name: '环监设备',
- // value: 'others'
- // }
+ // , {
+ // name: '环监设备',
+ // value: 'others'
+ // }
],
menus: {
device: [
@@ -122,7 +115,7 @@
},
mounted() {
getStatistics().then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
this.menus.device = response.data.value
}
})
@@ -135,28 +128,24 @@
autoFlyto: true,
})
- eventBus.$emit('change-layer', { id:1, checked: false});
- eventBus.$emit('change-layer', { id:2, checked: false});
- eventBus.$emit('change-layer', { id:3, checked: false});
- eventBus.$emit('change-layer', { id:4, checked: false});
- eventBus.$emit('change-layer', { id:5, checked: true});
- eventBus.$emit('change-layer', { id:44, checked: true});
- eventBus.$emit('change-layer', { id:21, checked: true});
- eventBus.$emit('change-layer', { id:12, checked: true});
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: false }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: true });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: false });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: true }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
-
- // window.pmtsManager.add({
- // id: "智慧工地-手工模型",
- // url: mapJson.CIM4["智慧工地-手工模型"],
- // show: true,
- // maximumScreenSpaceError: 32,
- // maximumMemoryUsage: 64,
- // maximumAbsoluteMemoryUsage: 8192,
- // autoFlyto: true
- // },
- // undefined
- // )
- // window.terrainManager.visible = true
+ // 清除弹窗展示
+ this.$bus.$on('clear', () => {
+ this.isListPage = false
+ this.isShow = false
+ })
},
methods: {
async btnClick(e) {
@@ -179,7 +168,7 @@
break
case "personBtn":
getHeat().then(res => {
- if(res.code === 200) {
+ if (res.code === 200) {
console.log(res.data, '热力')
const arr = res.data.value.filter(item => item.lng !== "" && item.lng !== null)
// arr.splice(0,1) // todo: 测试第一个错误数据
@@ -192,17 +181,17 @@
// 设备图层控制
layer(item) {
// clearUpMap(true)
- const iconOnline = require('@/assets/images/icon/工地地图点位/'+item.typename.replace(/ /g,'')+'在线.png')
- const iconOffline = require('@/assets/images/icon/工地地图点位/'+item.typename.replace(/ /g,'')+'离线.png')
- getDevList({type: item.type}).then(response => {
- if(response.code === 200) {
+ const iconOnline = require('@/assets/images/icon/工地地图点位/' + item.typename.replace(/ /g, '') + '在线.png')
+ const iconOffline = require('@/assets/images/icon/工地地图点位/' + item.typename.replace(/ /g, '') + '离线.png')
+ getDevList({ type: item.type }).then(response => {
+ if (response.code === 200) {
clearUpMap(true)
this.keywordList = response.data.value
response.data.value.forEach(item => {
AddLabelPoint(
item.id,
'',
- item.status === '1'? iconOnline: iconOffline,
+ item.status === '1' ? iconOnline : iconOffline,
[item.lon, item.lat, 0], 'gd-dev', item,
null)
})
@@ -216,23 +205,23 @@
// keywords: this.keyword
}
getCasePointList(param).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
clearUpMap(true)
const data = []
response.data.value.forEach(item => {
- if(!data.map(da => da.id).includes(item.id) && !data.map(da => da.lon).includes(item.lon) && item.id !== null) {
+ if (!data.map(da => da.id).includes(item.id) && !data.map(da => da.lon).includes(item.lon) && item.id !== null) {
data.push(item)
}
})
this.keywordList = data
data.forEach(item => {
// if(item.total === '1') {
- AddLabelPoint(
- item.id,
- '',
- this.caseIcon[item.eventstatus],
- [item.lon, item.lat, 0], 'gd-case', item,
- this.clickCase)
+ AddLabelPoint(
+ item.id,
+ '',
+ this.caseIcon[item.eventstatus],
+ [item.lon, item.lat, 0], 'gd-case', item,
+ this.clickCase)
// } else {
// AddDivPointCase(item, this.caseColor[item.status], item.total, this.clickCase)
// }
@@ -244,8 +233,8 @@
search() {
const iconDone = require('@/assets/images/icon/工地地图点位/工地已完成.png')
const iconDoing = require('@/assets/images/icon/工地地图点位/工地进行中.png')
- getArea({keywords: this.keyword}).then(response => {
- if(response.code === 200) {
+ getArea({ keywords: this.keyword }).then(response => {
+ if (response.code === 200) {
clearUpMap(true)
this.keywordList = response.data.value
response.data.value.forEach(item => {
@@ -254,7 +243,7 @@
AddLabelPoint(
item.id,
item.name,
- item.status === '2' ? iconDoing: iconDone,
+ item.status === '2' ? iconDoing : iconDone,
[item.lon, item.lat, 0], 'gd', item,
this.clickGd)
})
@@ -265,8 +254,8 @@
score() {
const iconDone = require('@/assets/images/icon/工地地图点位/工地已完成.png')
const iconDoing = require('@/assets/images/icon/工地地图点位/工地进行中.png')
- getArea({keywords: this.keyword}).then(response => {
- if(response.code === 200) {
+ getArea({ keywords: this.keyword }).then(response => {
+ if (response.code === 200) {
this.keywordList = response.data.value
response.data.value.forEach(item => {
// console.log(item,'321123')
@@ -280,8 +269,8 @@
})
}
})
- getMonthGdScore({keywords: this.keyword}).then(response => {
- if(response.code === 200) {
+ getMonthGdScore({ keywords: this.keyword }).then(response => {
+ if (response.code === 200) {
response.data.value.filter(item => item.lng !== "" && item.lng !== null).forEach(item => {
AddLabel(
item.id,
@@ -304,7 +293,7 @@
clickCase(eventArg) {
const item = eventArg._data.data
// 恢复上一个marker
- if(this.preCase !== null ) {
+ if (this.preCase !== null) {
window.mmManager.removeById(this.preCase.id)
AddLabelPoint(
this.preCase.id,
@@ -313,7 +302,7 @@
[this.preCase.lon, this.preCase.lat, 0], 'gd-case', this.preCase,
this.clickCase)
}
- if(item.total === '1') {
+ if (item.total === '1') {
// 保存当前marker
this.preCase = item
// 高亮当前marker
@@ -323,7 +312,7 @@
this.preCase = null
}
// 查询事件详情
- this.caseTotal = Number(item.total)
+ this.caseTotal = Number(item.total)
this.isListPage = true
this.$refs.caseListPage.initDialog()
this.caseListQuery = {
@@ -345,16 +334,16 @@
searchCaseMarkerList() {
// getCaseInfo(this.caseListQuery).then(response => {
getCaseInfo(this.caseListQuery).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
console.log(response.data.value)
// 右侧看板
- this.caseList = response.data.value
+ this.caseList = response.data.value
}
})
},
handleTimeRange(time) {
this.isListPage = false
- if(this.time.startTime !== '') {
+ if (this.time.startTime !== '') {
this.time = time
this.casePoint()
} else {
diff --git a/src/pages/ywts/cszl/hw/index.vue b/src/pages/ywts/cszl/hw/index.vue
index e773b7d..ed28bc6 100644
--- a/src/pages/ywts/cszl/hw/index.vue
+++ b/src/pages/ywts/cszl/hw/index.vue
@@ -31,6 +31,7 @@
import ListPage from "@/components/ListPage";
import { getPlacePointList, getOverviewStatistics, getPersonList, getCarList, getCaseList, getCaseInfo } from '@/api/ywts/cszl/hw'
import { iconFilter, iconPerson, personList, carList, iconCar } from './data'
+import { eventBus } from "../../../../main";
export default {
name: 'Hw',
components: { TimeManager, LayerManagerMix, ListPage, CommonBtn, Pop },
@@ -94,7 +95,25 @@
},
mounted() {
clearResetMap()
+ this.selectInde = 'deviceBtn'
this.fetchPoint()
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: false }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: false });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: false });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: false }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
+ // 清除弹窗展示
+ this.$bus.$on('clear', () => {
+ this.isListPage = false
+ this.showPop = false
+ })
},
methods: {
async btnClick(e) {
@@ -263,17 +282,17 @@
// this.caseList = res.data.value || []
// this.caseTotal = this.caseList.length
res.data.value.forEach(item => {
- AddLabelPoint(
- item.id.replaceAll('.', ''),
- '',
- this.caseIcon[item.status],
- [item.lon, item.lat, 0], 'gd-case', item,
- this.clickCase)
- })
+ AddLabelPoint(
+ item.id.replaceAll('.', ''),
+ '',
+ this.caseIcon[item.status],
+ [item.lon, item.lat, 0], 'gd-case', item,
+ this.clickCase)
+ })
})
},
- // 点击事件icon
- clickCase(eventArg) {
+ // 点击事件icon
+ clickCase(eventArg) {
const item = eventArg._data.data
// 恢复上一个marker
if (this.preCase !== null) {
@@ -306,11 +325,11 @@
getCaseInfo(this.caseListQuery).then(res => {
console.log(res.data, '事件详情')
this.caseList = res.data.value || []
- this.caseTotal = this.caseList.length
+ this.caseTotal = this.caseList.length
})
},
- // 事件换页
- changePage(val) {
+ // 事件换页
+ changePage(val) {
if (val && val.page) {
this.caseListQuery.pageNo = val.page
}
diff --git a/src/pages/ywts/cszl/jt/index.vue b/src/pages/ywts/cszl/jt/index.vue
index fb1ce91..ef5938c 100644
--- a/src/pages/ywts/cszl/jt/index.vue
+++ b/src/pages/ywts/cszl/jt/index.vue
@@ -1,15 +1,21 @@
-
+
@@ -26,8 +32,9 @@
getStatistics,
getCasePointList, getCaseInfo
} from "../../../../api/ywts/cszl/gd";
-import {AddDivPointHighlight, AddLabel} from "../../../../utils/freedo";
+import { AddDivPointHighlight, AddLabel } from "../../../../utils/freedo";
import ListPage from "@/components/ListPage";
+import { eventBus } from "../../../../main";
export default {
name: 'Jt',
@@ -47,19 +54,19 @@
},
caseTotal: 0,
caseIcon: {
- 1: require('@/assets/images/icon/事件/已撤案.png'),
- 2: require('@/assets/images/icon/事件/指派中.png'),
- 3: require('@/assets/images/icon/事件/处置中.png'),
- 4: require('@/assets/images/icon/事件/已办结.png'),
- 5: require('@/assets/images/icon/事件/已结案.png'),
- },
+ 1: require('@/assets/images/icon/事件/已撤案.png'),
+ 2: require('@/assets/images/icon/事件/指派中.png'),
+ 3: require('@/assets/images/icon/事件/处置中.png'),
+ 4: require('@/assets/images/icon/事件/已办结.png'),
+ 5: require('@/assets/images/icon/事件/已结案.png'),
+ },
caseColor: {
- 1: '#ffffff',
- 2: '#fdeb56',
- 3: '#85c8ff',
- 4: '#ffba74',
- 5: '#87f6b3',
- },
+ 1: '#ffffff',
+ 2: '#fdeb56',
+ 3: '#85c8ff',
+ 4: '#ffba74',
+ 5: '#87f6b3',
+ },
time: {
startTime: '',
endTime: '',
@@ -81,10 +88,10 @@
name: '基础设施',
value: 'place'
}
- // , {
- // name: '环监设备',
- // value: 'others'
- // }
+ // , {
+ // name: '环监设备',
+ // value: 'others'
+ // }
],
menus: {
place: [
@@ -98,11 +105,27 @@
},
mounted() {
getStatistics().then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
this.menus.place = response.data.value
}
})
this.search()
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: false }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: false });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: true });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: true }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
+ // 清除弹窗展示
+ this.$bus.$on('clear', () => {
+ this.isListPage = false
+ })
},
methods: {
async btnClick(e) {
@@ -121,16 +144,16 @@
// 设备图层控制
layer(item) {
// clearUpMap()
- const iconOnline = require('@/assets/images/icon/工地地图点位/'+item.typename.replace(/ /g,'')+'在线.png')
- const iconOffline = require('@/assets/images/icon/工地地图点位/'+item.typename.replace(/ /g,'')+'离线.png')
- getDevList({type: item.type}).then(response => {
- if(response.code === 200) {
+ const iconOnline = require('@/assets/images/icon/工地地图点位/' + item.typename.replace(/ /g, '') + '在线.png')
+ const iconOffline = require('@/assets/images/icon/工地地图点位/' + item.typename.replace(/ /g, '') + '离线.png')
+ getDevList({ type: item.type }).then(response => {
+ if (response.code === 200) {
clearUpMap()
response.data.value.forEach(item => {
AddLabelPoint(
item.id,
'',
- item.status === '1'? iconOnline: iconOffline,
+ item.status === '1' ? iconOnline : iconOffline,
[item.lon, item.lat, 0], 'gd-place', item,
null)
})
@@ -141,11 +164,11 @@
casePoint() {
console.log(this.time)
getCasePointList(this.time).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
clearUpMap()
const data = []
response.data.value.forEach(item => {
- if(!data.map(da => da.id).includes(item.id) && !data.map(da => da.lon).includes(item.lon) && item.id !== null) {
+ if (!data.map(da => da.id).includes(item.id) && !data.map(da => da.lon).includes(item.lon) && item.id !== null) {
data.push(item)
}
})
@@ -165,7 +188,7 @@
const iconDone = require('@/assets/images/icon/工地地图点位/工地已完成.png')
const iconDoing = require('@/assets/images/icon/工地地图点位/工地进行中.png')
getArea({}).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
clearUpMap()
response.data.value.forEach(item => {
// console.log(item.areaboundary)
@@ -173,7 +196,7 @@
AddLabelPoint(
item.id,
item.name,
- item.status === '2' ? iconDoing: iconDone,
+ item.status === '2' ? iconDoing : iconDone,
[item.lon, item.lat, 0], 'gd', item,
this.clickHw)
})
@@ -183,7 +206,7 @@
// 智慧工地-工地近1月综合得分
score() {
getArea({}).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
response.data.value.forEach(item => {
console.log(item.areaboundary)
// todo : 画范围
@@ -195,7 +218,7 @@
clickCase(eventArg) {
const item = eventArg._data.data
// 恢复上一个marker
- if(this.preCase !== null ) {
+ if (this.preCase !== null) {
window.mmManager.removeById(this.preCase.id)
AddLabelPoint(
this.preCase.id,
@@ -231,13 +254,13 @@
searchCaseMarkerList() {
// getCaseInfo(this.caseListQuery).then(response => {
getCaseInfo(this.caseListQuery).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
console.log(response.data.value)
// 右侧看板
- this.caseList = response.data.value
+ this.caseList = response.data.value
// todo
// this.caseTotal = response.data.value.length
- this.caseTotal = 12
+ this.caseTotal = 12
}
})
},
@@ -246,7 +269,7 @@
},
handleTimeRange(time) {
this.isListPage = false
- if(this.time.startTime !== '') {
+ if (this.time.startTime !== '') {
this.time = time
this.casePoint()
} else {
diff --git a/src/pages/ywts/cszl/jxh/index.vue b/src/pages/ywts/cszl/jxh/index.vue
index a3703db..0f23aaa 100644
--- a/src/pages/ywts/cszl/jxh/index.vue
+++ b/src/pages/ywts/cszl/jxh/index.vue
@@ -1,26 +1,24 @@
-
-
+
+
@@ -44,14 +42,15 @@
getAll,
getCaseInfo, getBoard
} from "../../../../api/ywts/cszl/jxh";
-import {AddDivPointCase, AddDivPointHighlight, AddOnlyLabel, AddPolygon} from "../../../../utils/freedo";
+import { AddDivPointCase, AddDivPointHighlight, AddOnlyLabel, AddPolygon } from "../../../../utils/freedo";
import ListPage from "@/components/ListPage";
-import {getGridInfo, getGridToken} from "../../../../api/common";
+import { getGridInfo, getGridToken } from "../../../../api/common";
import JxhPop from "./jxhPop";
+import { eventBus } from "../../../../main";
export default {
name: 'Jxh',
- components: {JxhPop, LayerManager, TimeManager, KeywordManager, CommonBtn, ListPage },
+ components: { JxhPop, LayerManager, TimeManager, KeywordManager, CommonBtn, ListPage },
data() {
return {
preCase: null,
@@ -128,6 +127,22 @@
}
},
mounted() {
+ this.$bus.$on('clear', () => {
+ this.isListPage = false
+ this.isShow = false
+ })
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: false }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: false });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: false });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: false }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
// 全部事件
getAll({
// urgent: '0',
@@ -135,8 +150,8 @@
// high: '0',
startTime: this.time.startTime,
endTime: this.time.endTime,
- }).then( res => {
- if(res.code === 200) {
+ }).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
@@ -154,7 +169,7 @@
caseMarker(res) {
res.data.value.forEach(item => {
// console.log(item.status)
- if(item.total === '1') {
+ if (item.total === '1') {
AddLabelPoint(
item.id,
'',
@@ -180,24 +195,24 @@
switch (e.bigtype) {
case 'source':
query.sourceId = e.type
- getSourceList(query).then( res => {
- if(res.code === 200) {
+ getSourceList(query).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
break
case 'project':
query.projectId = e.type
- getProjectList(query).then( res => {
- if(res.code === 200) {
+ getProjectList(query).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
break
case 'grid':
query.gridType = e.type
- getGridList(query).then( res => {
- if(res.code === 200) {
+ getGridList(query).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
@@ -208,7 +223,7 @@
clickCase(eventArg) {
const item = eventArg._data.data
// 恢复上一个marker
- if(this.preCase !== null ) {
+ if (this.preCase !== null) {
window.mmManager.removeById(this.preCase.id)
AddLabelPoint(
this.preCase.id,
@@ -218,7 +233,7 @@
this.clickCase)
}
- if(item.total === '1') {
+ if (item.total === '1') {
// 保存当前marker
this.preCase = item
// 高亮当前marker
@@ -229,7 +244,7 @@
}
// 查询事件详情
- this.caseTotal = Number(item.total)
+ this.caseTotal = Number(item.total)
this.caseList = []
this.isListPage = true
this.hasUrge = false
@@ -263,13 +278,13 @@
// high: '0',
startTime: this.time.startTime,
endTime: this.time.endTime,
- }).then( res => {
- if(res.code === 200) {
+ }).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
// 事件看板
- this.caseTotal = 1000 // todo
+ this.caseTotal = 1000 // todo
this.caseList = []
this.isListPage = true
this.hasUrge = true
@@ -292,8 +307,8 @@
high: '1',
startTime: this.time.startTime,
endTime: this.time.endTime,
- }).then( res => {
- if(res.code === 200) {
+ }).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
@@ -306,8 +321,8 @@
// high: '0',
startTime: this.time.startTime,
endTime: this.time.endTime,
- }).then( res => {
- if(res.code === 200) {
+ }).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
@@ -317,7 +332,7 @@
break
case "caseHeatBtn":
getHeat(this.time).then(res => {
- if(res.code === 200) {
+ if (res.code === 200) {
heat(res.data.value) // 热力图
}
})
@@ -326,29 +341,29 @@
},
gridDraw(token, areaCode) {
const colors = [
- [0,234,255,0.47],
- [255,185,0,0.47],
- [255,234,0,0.47],
- [209,0,255,0.47],
- [255,0,38,0.47],
+ [0, 234, 255, 0.47],
+ [255, 185, 0, 0.47],
+ [255, 234, 0, 0.47],
+ [209, 0, 255, 0.47],
+ [255, 0, 38, 0.47],
]
getGridInfo({
paramCodeList: 'KJ5001',
areaCode,
token
- }).then( res => {
+ }).then(res => {
console.log(res)
res.data.chirdAreaInfo.forEach((item, index) => {
item._source.areainfo.coordinates.forEach(area => {
let positions = []
- let arr = item._source.areainfo.type === 'MultiPolygon' ? area[0]: area
+ let arr = item._source.areainfo.type === 'MultiPolygon' ? area[0] : area
arr.forEach(pos => {
- positions.push(Freedo.Cartesian3.fromDegrees( pos[0], pos[1],0))
+ positions.push(Freedo.Cartesian3.fromDegrees(pos[0], pos[1], 0))
})
- AddPolygon(positions,colors[index % 5], this.gridClick,item._id)
+ AddPolygon(positions, colors[index % 5], this.gridClick, item._id)
AddOnlyLabel(
'',
- item._source.areaname , //+ this.menus.grid
+ item._source.areaname, //+ this.menus.grid
[item._source.lon, item._source.lat, 0],
'', null, null)
})
@@ -364,7 +379,7 @@
secret: CryptoJS.MD5(timestamp + 'geostar999').toString()
}
- getGridToken(param).then( res => {
+ getGridToken(param).then(res => {
clearUpMap()
this.gridDraw(res.data.token, '360783001')
this.gridDraw(res.data.token, '360783002')
@@ -374,32 +389,32 @@
},
// 三个概况统计
layerSeach() {
- getSource(this.time).then( res => {
- if(res.code === 200) {
+ getSource(this.time).then(res => {
+ if (res.code === 200) {
this.menus.source = res.data.value.map(item => {
item.bigtype = 'source'
- item.type = item.id.replace(/ /g,'')
- item.typename = item.name.replace(/ /g,'')
+ item.type = item.id.replace(/ /g, '')
+ item.typename = item.name.replace(/ /g, '')
return item
})
}
})
- getProject(this.time).then( res => {
- if(res.code === 200) {
+ getProject(this.time).then(res => {
+ if (res.code === 200) {
this.menus.project = res.data.value.map(item => {
item.bigtype = 'project'
- item.type = item.id.replace(/ /g,'')
- item.typename = item.name.replace(/ /g,'')
+ item.type = item.id.replace(/ /g, '')
+ item.typename = item.name.replace(/ /g, '')
return item
})
}
})
- getGrid(this.time).then( res => {
- if(res.code === 200) {
+ getGrid(this.time).then(res => {
+ if (res.code === 200) {
this.menus.grid = res.data.value.map(item => {
item.bigtype = 'grid'
- item.type = item.id.replace(/ /g,'')
- item.typename = item.name.replace(/ /g,'')
+ item.type = item.id.replace(/ /g, '')
+ item.typename = item.name.replace(/ /g, '')
return item
})
}
@@ -410,7 +425,7 @@
if (val && val.page) {
this.caseListQuery.pageNo = val.page
}
- if(this.hasUrge) {
+ if (this.hasUrge) {
this.searchBoard()
} else {
this.searchCaseMarkerList()
@@ -419,20 +434,20 @@
// 事件看板查询
searchBoard() {
getBoard(this.caseListQuery).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
console.log(response.data.value)
// 右侧看板
- this.caseList = response.data.value
+ this.caseList = response.data.value
}
})
},
// 事件详情分页
searchCaseMarkerList() {
getCaseInfo(this.caseListQuery).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
console.log(response.data.value)
// 右侧看板
- this.caseList = response.data.value
+ this.caseList = response.data.value
}
})
},
diff --git a/src/pages/ywts/cszl/yj/index.vue b/src/pages/ywts/cszl/yj/index.vue
index 7869a73..d74dfe9 100644
--- a/src/pages/ywts/cszl/yj/index.vue
+++ b/src/pages/ywts/cszl/yj/index.vue
@@ -45,7 +45,7 @@
import { AddDivPointHighlight, AddLabel } from "../../../../utils/freedo";
import { iconFilter, deviceList, caseList } from './data'
import ListPage from "@/components/ListPage";
-
+import { eventBus } from "../../../../main";
export default {
name: 'Yj',
components: { TimeManager, LayerManagerMix, ListPage, CommonBtn, Pop },
@@ -118,14 +118,25 @@
}
},
mounted() {
- // getStatistics().then(response => {
- // if(response.code === 200) {
- // this.menus.place = response.data.value
- // }
- // })
- // this.search()
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: false }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: false });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: false });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: false }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
clearResetMap()
this.searchPlace({})
+
+ this.$bus.$on('clear', () => {
+ this.isListPage = false
+ this.showPop = false
+ })
},
methods: {
async btnClick(e) {
diff --git a/src/pages/ywts/shms/jy/devicePop.vue b/src/pages/ywts/shms/jy/devicePop.vue
new file mode 100644
index 0000000..2c44979
--- /dev/null
+++ b/src/pages/ywts/shms/jy/devicePop.vue
@@ -0,0 +1,281 @@
+
+
+
+
+
+
+
+ 设备名称: {{
+ gdInfo.name }}
+ 设备类型: {{
+ gdInfo.typename }}
+ 设备状态: {{
+ gdInfo.statusName }}
+ 设备位置: {{
+ gdInfo.location }}
+ 时间: {{ gdInfo.time
+ }}
+ 进/出人口数: {{ gdInfo.in
+ }}/{{ gdInfo.out }}
+ 是否赋能: 否
+
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/ywts/shms/jy/index.vue b/src/pages/ywts/shms/jy/index.vue
index b1eb984..f377985 100644
--- a/src/pages/ywts/shms/jy/index.vue
+++ b/src/pages/ywts/shms/jy/index.vue
@@ -6,11 +6,13 @@
+ :select="selectIndex === 'layerBtn'" @btnClick="btnClick" @menuClick="menuClick" />
+
+
@@ -29,13 +31,15 @@
import mapJson from "@/assets/mapJson/map.json";
import modelJson from "@/assets/mapJson/school.json";
import { eventBus } from "../../../../main";
+import devicePop from './devicePop.vue'
export default {
name: 'Jy',
- components: { SchoolPop, TimeManager, KeywordManager, LayerManagerMix, CommonBtn },
+ components: { SchoolPop, TimeManager, KeywordManager, LayerManagerMix, CommonBtn, devicePop },
data() {
return {
isShow: false,
+ showDevice: false,
ktSelect: '',
keyword: '',
keywordList: [],
@@ -56,10 +60,15 @@
},
menus: {
device: [
- { type: "1", typename: "视频设备", total: "111" },
- { type: "2", typename: "门禁设备", total: "111" }
+ { type: "1", typename: "视频设备", total: "0" },
+ { type: "2", typename: "门禁设备", total: "0" }
]
- }
+ },
+ markerList: [],
+ markerBakList: [],
+ videoIcon: require('@/assets/images/icon/视频云/枪机未赋能在线.png'),
+ controlIcon: require('@/assets/images/icon/一卡通/门禁.png'),
+
}
},
mounted() {
@@ -70,55 +79,25 @@
name: 'jy',
autoFlyto: true,
})
- eventBus.$emit('change-layer', { id: 1, checked: false });
- eventBus.$emit('change-layer', { id: 2, checked: false });
- eventBus.$emit('change-layer', { id: 3, checked: false });
- eventBus.$emit('change-layer', { id: 4, checked: false });
- eventBus.$emit('change-layer', { id: 5, checked: true });
- eventBus.$emit('change-layer', { id: 41, checked: true });
- eventBus.$emit('change-layer', { id: 21, checked: true });
- eventBus.$emit('change-layer', { id: 12, checked: true });
- // // 教育模型
- // window.pmtsManager.add({
- // id: "智慧教育-手工模型",
- // url: mapJson.CIM4["智慧教育-手工模型"],
- // show: true,
- // maximumScreenSpaceError: 32,
- // maximumMemoryUsage: 64,
- // maximumAbsoluteMemoryUsage: 8192,
- // autoFlyto: true
- // },
- // undefined
- // )
- // // CIM2 楼
- // window.pmtsManager.add({
- // url: mapJson['CIM2']['CIM2建筑(带纹理)'],
- // show: true,
- // name: 'CIM2建筑(带纹理)',
- // autoFlyto: false
- // })
- // window.pmtsManager.add({
- // url: mapJson['CIM2']['CIM2建筑(带纹理)'],
- // show: true,
- // name: 'CIM2建筑(带纹理)',
- // autoFlyto: false,
- // alpha: 0.5,
- // color: '#002d7a'
- // })
- // for(let key in modelJson) {
- // window.pmtsManager.add({
- // id: key,
- // // url: mapJson.CIM4["智慧教育-手工模型"],
- // url: modelJson[key],
- // show: true,
- // maximumScreenSpaceError: 32,
- // maximumMemoryUsage: 64,
- // maximumAbsoluteMemoryUsage: 8192,
- // autoFlyto: true
- // },
- // undefined
- // )
- // }
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: true }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: false });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: false });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: true }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
+
+ // 清除弹窗展示
+ this.$bus.$on('clear', () => {
+ this.isShow = false
+ this.showDevice = false
+
+ })
},
methods: {
async btnClick(e) {
@@ -126,6 +105,7 @@
clearUpMap(true)
initPosition()
this.isShow = false
+ this.showDevice = false
this.selectIndex = e.target.id
switch (this.selectIndex) {
case "schoolBtn":
@@ -194,10 +174,121 @@
},
// 搜索学校设备
searchDevice() {
- getDevice({}).then(res => {
- console.log('学校数据')
+ getDevice({ keywords: '' }).then(res => {
+ this.markerList = [
+ {
+ "name": "设备1",
+ "lon": "114.859995",
+ "location": "江西省赣州市南康区三江乡",
+ "id": "1676397864375291905",
+ "lat": "25.802129",
+ "type": "1",
+ "typename": "视频设备",
+ statusName: '正常',
+ time: '2025-06-16 09:05:05',
+ in: '0',
+ out: '0',
+ },
+ {
+ "name": "设备2",
+ "lon": "114.861027",
+ "location": "江西省赣州市章贡区潭六路135号靠近逸夫小学",
+ "id": "1676398916763914241",
+ "lat": "25.757553",
+ "type": "2",
+ "typename": "门禁设备",
+ statusName: '正常',
+ time: '2025-06-16 09:05:05',
+ in: '0',
+ out: '0',
+ },
+ {
+ "name": "设备3",
+ "lon": "114.880246",
+ "location": "江西省赣州市章贡区潭东镇弘腾路毅德城",
+ "id": "1676414593390350337",
+ "lat": "25.753119",
+ "type": "1",
+ "typename": "视频设备",
+ statusName: '正常',
+ time: '2025-06-16 09:05:05',
+ in: '0',
+ out: '0',
+ },
+ {
+ "name": "设备4",
+ "lon": "114.879855",
+ "location": "江西省赣州市章贡区潭东镇弘腾路毅德城",
+ "id": "1676414955455254529",
+ "lat": "25.752771",
+ "type": "1",
+ "typename": "视频设备",
+ statusName: '正常',
+ time: '2025-06-16 09:05:05',
+ in: '0',
+ out: '0',
+ },
+ {
+ "name": "设备5",
+ "lon": "114.875438",
+ "location": "江西省赣州市章贡区潭东镇弘腾路毅德城",
+ "id": "1676418661630349312",
+ "lat": "25.748733",
+ "type": "2",
+ "typename": "门禁设备",
+ statusName: '正常',
+ time: '2025-06-16 09:05:05',
+ in: '0',
+ out: '0',
+ },
+ {
+ "name": "设备6",
+ "lon": "114.867371",
+ "location": "江西省赣州市章贡区105国道135号靠近松岭上",
+ "id": "1676422908220542977",
+ "lat": "25.750388",
+ "typename": "2",
+ "typename": "门禁设备",
+ statusName: '正常',
+ time: '2025-06-16 09:05:05',
+ in: '0',
+ out: '0',
+ },
+ ]
+ this.markerBakList = JSON.parse(JSON.stringify(this.markerList))
+ this.menus.device[0].total = this.markerList.filter((item) => item.type === '1').length
+ this.menus.device[1].total = this.markerList.filter((item) => item.type === '2').length
+ // 绘制点位
+ this.markerList.forEach((item) => {
+ AddLabelPoint(
+ item.id,
+ `${item.name}`,
+ item.type === '1' ? this.videoIcon : this.controlIcon,
+ [item.lon, item.lat, 0], 'yl-dev', item,
+ this.clickDevice)
+ })
})
- }
+ },
+ menuClick(e) {
+ clearResetMap()
+ this.markerList = this.markerBakList.filter(item => item.type === e.type)
+ this.markerList.forEach((item) => {
+ AddLabelPoint(
+ item.id,
+ `${item.name}`,
+ item.type === '1' ? this.videoIcon : this.controlIcon,
+ [item.lon, item.lat, 0], 'yl-dev', item,
+ this.clickDevice)
+ })
+ },
+ // 设备点位点击
+ clickDevice(eventArg) {
+ const item = eventArg._data.data
+ this.showDevice = true
+ this.$nextTick(() => {
+ this.$refs.deviceRef.initData(item)
+ })
+ },
}
}
diff --git a/src/pages/ywts/shms/sq/carPop.vue b/src/pages/ywts/shms/sq/carPop.vue
new file mode 100644
index 0000000..b1fe4c3
--- /dev/null
+++ b/src/pages/ywts/shms/sq/carPop.vue
@@ -0,0 +1,275 @@
+
+
+
+
+
+
+
+ 名称: {{
+ gdInfo.name }}
+ 位置: {{
+ gdInfo.location }}
+ 车辆数量: {{ gdInfo.carNum
+ }}
+ 停车位: {{ gdInfo.parkSpaceNum }}
+
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/ywts/shms/sq/communityPop.vue b/src/pages/ywts/shms/sq/communityPop.vue
new file mode 100644
index 0000000..eb6bf07
--- /dev/null
+++ b/src/pages/ywts/shms/sq/communityPop.vue
@@ -0,0 +1,212 @@
+
+
+
+
+
+
{{ name }}
+
位置:{{ position
+ }}
+
+
+
+
+
+
{{ item.total }}
+
{{ item.name }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/ywts/shms/sq/components/agePie.vue b/src/pages/ywts/shms/sq/components/agePie.vue
new file mode 100644
index 0000000..9e41da8
--- /dev/null
+++ b/src/pages/ywts/shms/sq/components/agePie.vue
@@ -0,0 +1,185 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/ywts/shms/sq/components/currentPie.vue b/src/pages/ywts/shms/sq/components/currentPie.vue
new file mode 100644
index 0000000..c7dfe20
--- /dev/null
+++ b/src/pages/ywts/shms/sq/components/currentPie.vue
@@ -0,0 +1,178 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/ywts/shms/sq/components/personBar.vue b/src/pages/ywts/shms/sq/components/personBar.vue
new file mode 100644
index 0000000..b065487
--- /dev/null
+++ b/src/pages/ywts/shms/sq/components/personBar.vue
@@ -0,0 +1,193 @@
+
+
+
+
+
+
+
diff --git a/src/pages/ywts/shms/sq/components/scoreLineBar.vue b/src/pages/ywts/shms/sq/components/scoreLineBar.vue
new file mode 100644
index 0000000..1551e69
--- /dev/null
+++ b/src/pages/ywts/shms/sq/components/scoreLineBar.vue
@@ -0,0 +1,189 @@
+
+
+
+
+
+
+
diff --git a/src/pages/ywts/shms/sq/components/transitBar.vue b/src/pages/ywts/shms/sq/components/transitBar.vue
new file mode 100644
index 0000000..c23b4ba
--- /dev/null
+++ b/src/pages/ywts/shms/sq/components/transitBar.vue
@@ -0,0 +1,173 @@
+
+
+
+
+
+
+
diff --git a/src/pages/ywts/shms/sq/devicePop.vue b/src/pages/ywts/shms/sq/devicePop.vue
new file mode 100644
index 0000000..2c44979
--- /dev/null
+++ b/src/pages/ywts/shms/sq/devicePop.vue
@@ -0,0 +1,281 @@
+
+
+
+
+
+
+
+ 设备名称: {{
+ gdInfo.name }}
+ 设备类型: {{
+ gdInfo.typename }}
+ 设备状态: {{
+ gdInfo.statusName }}
+ 设备位置: {{
+ gdInfo.location }}
+ 时间: {{ gdInfo.time
+ }}
+ 进/出人口数: {{ gdInfo.in
+ }}/{{ gdInfo.out }}
+ 是否赋能: 否
+
+
+
+
+
+
+
+
+
+
diff --git a/src/api/ywts/shms/jy.js b/src/api/ywts/shms/jy.js
index f3ac251..56f48e3 100644
--- a/src/api/ywts/shms/jy.js
+++ b/src/api/ywts/shms/jy.js
@@ -116,7 +116,7 @@
return request({
url: 'zhjy-gktj/zhjy/sbdwlb',
method: 'post',
- data,
+ // data,
params: data
})
}
diff --git a/src/api/ywts/shms/sq.js b/src/api/ywts/shms/sq.js
new file mode 100644
index 0000000..04a5447
--- /dev/null
+++ b/src/api/ywts/shms/sq.js
@@ -0,0 +1,123 @@
+/**
+ * 社区接口
+ */
+import request from '@/utils/request'
+
+// 社区点位列表
+export function getCommunityList() {
+ return request({
+ url: 'zhsq-gktj/zhsq/sqdwlb',
+ method: 'post',
+ })
+}
+
+// 人员热力图
+export function getHeat() {
+ return request({
+ url: 'zhsq-gktj/zhsq/sqyyrlt',
+ method: 'post',
+ })
+}
+
+// 设备点位
+export function getDevice() {
+ return request({
+ url: 'zhsq-gktj/zhsq/sbdwlb',
+ method: 'post',
+ params: {
+ type: '',
+ keywords: ''
+ }
+ })
+}
+
+// 社区车辆
+export function getCar() {
+ return request({
+ url: 'zhsq-gktj/zhsq/sqbyl',
+ method: 'post',
+ })
+}
+
+// 事件点位列表
+export function getCase(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/sjdwlb',
+ method: 'post',
+ params:{
+ ...data
+ }
+ })
+}
+
+// 事件详情
+export function getCaseList(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/zjlbfy',
+ method: 'post',
+ params:{
+ ...data
+ }
+ })
+}
+// 获取社区基本信息
+export function getBaseInfo(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/sqdwxq',
+ method: 'post',
+ params:{
+ ...data
+ },
+ // data
+ })
+}
+// 居民年龄统计
+export function getAgeStatistics(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/jmnltj',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
+// 居民流动比例
+export function getCurrentRatio(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/jmldbl',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
+// 近1年人房车占比统计
+export function getPersonCarRatio(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/rfczbtj',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
+// 近1月居民通行量分析
+export function getTransitrRatio(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/jmtxlfx',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
+// 近1月高频事件排行榜
+export function getCaseRank(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/gpsjphb',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
diff --git a/src/api/ywts/zyhj/hb.js b/src/api/ywts/zyhj/hb.js
index 5e598d1..07625d1 100644
--- a/src/api/ywts/zyhj/hb.js
+++ b/src/api/ywts/zyhj/hb.js
@@ -8,7 +8,10 @@
return request({
url: 'zhhb-gktj/zhhb/gktj',
method: 'post',
- data
+ data,
+ params: {
+ ...data,
+ }
})
}
// 环保点位列表
@@ -19,3 +22,26 @@
data
})
}
+// 环保告警列表
+export function getAlarmList(data) {
+ return request({
+ url: 'zhhb-gktj/zhhb/hbgjlb',
+ method: 'post',
+ // data
+ params: {
+ ...data
+ }
+ })
+}
+
+// 环保事件列表
+export function getCaseList(data) {
+ return request({
+ url: 'zhhb-gktj/zhhb/hbsjlbfy',
+ method: 'post',
+ // data
+ params: {
+ ...data
+ }
+ })
+}
diff --git a/src/api/ywts/zyhj/yl.js b/src/api/ywts/zyhj/yl.js
index 63d7ad2..643e3d4 100644
--- a/src/api/ywts/zyhj/yl.js
+++ b/src/api/ywts/zyhj/yl.js
@@ -88,6 +88,9 @@
url: 'zhyl-gktjljk/zhyl/sjxq',
method: 'post',
data,
+ params: {
+ ...data,
+ }
})
}
// 苗木点位列表
diff --git a/src/components/CommonFunction/index.vue b/src/components/CommonFunction/index.vue
index 1a10acb..c2eba44 100644
--- a/src/components/CommonFunction/index.vue
+++ b/src/components/CommonFunction/index.vue
@@ -5,8 +5,8 @@
@click="btnClick" />
-
+
@@ -21,7 +21,7 @@
import CommonBtn from "../CommonBtn";
import { clearUpMap } from '@/utils/freedo/index'
-import { initPosition, initPage } from "../../utils/freedo";
+import { initPosition, initPage } from "../../utils/freedo";
import mapJson from "@/assets/mapJson/map.json";
import { eventBus } from "../../main";
@@ -59,11 +59,11 @@
disabled: true,
"children": [
{ "id": 41, "label": "智慧教育-手工模型", disabled: true },
- { "id": 42, "label": "智慧停车云-手工模型", disabled: true },
- { "id": 43, "label": "智慧社区-手工模型", disabled: true },
- { "id": 44, "label": "智慧工地-手工模型", disabled: true },
- { "id": 45, "label": "智慧交通-手工模型", disabled: true },
- { "id": 46, "label": "智慧园林-手工模型", disabled: true }
+ { "id": 42, "label": "智慧停车云-手工模型", disabled: true },
+ { "id": 43, "label": "智慧社区-手工模型", disabled: true },
+ { "id": 44, "label": "智慧工地-手工模型", disabled: true },
+ { "id": 45, "label": "智慧交通-手工模型", disabled: true },
+ { "id": 46, "label": "智慧园林-手工模型", disabled: true }
]
}, {
"id": 5,
@@ -95,8 +95,8 @@
setTimeout(() => {
this.tree.forEach((item) => {
item.disabled = false
- if(item.children) {
- item.children = item.children.map((item) => ({ ...item,disabled: false}))
+ if (item.children) {
+ item.children = item.children.map((item) => ({ ...item, disabled: false }))
}
})
}, 5000)
@@ -125,7 +125,7 @@
handler(data, checked, indeterminate)
}
else {
- if(data.id.toString() === '5' && checked) {
+ if (data.id.toString() === '5' && checked) {
window.terrainManager.visible = true
return
}
@@ -143,14 +143,18 @@
},
btnClick(e) {
this.showLayerTree = false
+ this.clearDialog()
if (e.target.id === 'initBtn') {
initPosition()
} else if (e.target.id === 'clearBtn') {
clearUpMap()
} else if (e.target.id === 'layerBtn') {
- // clearUpMap()
this.showLayerTree = true
}
+ },
+ // 清空地图弹窗
+ clearDialog() {
+ this.$bus.$emit('clear')
}
}
}
@@ -178,7 +182,7 @@
right: 20px;
top: 1rem;
display: flex;
- width: 20rem;
+ width: 15rem;
height: 5rem;
z-index: 1111111111;
}
diff --git a/src/pages/csdz/iot/index.vue b/src/pages/csdz/iot/index.vue
index 63b60ea..8aefaea 100644
--- a/src/pages/csdz/iot/index.vue
+++ b/src/pages/csdz/iot/index.vue
@@ -259,8 +259,8 @@
localPoint(e) {
// this.childrenClick(e)
this.clickIcon({
- _data:{
- data:e
+ _data: {
+ data: e
}
})
},
@@ -280,6 +280,11 @@
},
mounted() {
this.search()
+ this.$bus.$on('clear', () => {
+ this.isShowEvent = false
+ this.isShowEventPop = false
+ this.isShowPop = false
+ })
// getStatistics().then(res => {
// if (res.code === 200 && res.data.value.length) {
// console.log(res.data, '')
diff --git a/src/pages/csdz/smartCard/index.vue b/src/pages/csdz/smartCard/index.vue
index 48721f7..32573d2 100644
--- a/src/pages/csdz/smartCard/index.vue
+++ b/src/pages/csdz/smartCard/index.vue
@@ -112,6 +112,7 @@
btnClick(e) {
clearResetMap()
this.selectIndex = e.target.id
+ this.isShowPop = false
if (this.selectIndex === 'publicBtn') {
// 绘制热力图
heat([
@@ -870,6 +871,10 @@
getStatistics({}).then(res => {
console.log(res.data, '一卡通')
})
+ this.$bus.$on('clear', () => {
+ this.isShowPop = false
+ this.isShowEvent = false
+ })
}
}
diff --git a/src/pages/csdz/videoCloud/index.vue b/src/pages/csdz/videoCloud/index.vue
index 4b8d110..81530d5 100644
--- a/src/pages/csdz/videoCloud/index.vue
+++ b/src/pages/csdz/videoCloud/index.vue
@@ -695,6 +695,11 @@
},
mounted() {
this.drawSence()
+ this.$bus.$on('clear', () => {
+ this.isShowPop = false
+ this.isShowEvent = false
+ this.isShowEventPop = false
+ })
}
}
diff --git a/src/pages/ywts/cszl/gd/index.vue b/src/pages/ywts/cszl/gd/index.vue
index e9be7b0..35ee8d7 100644
--- a/src/pages/ywts/cszl/gd/index.vue
+++ b/src/pages/ywts/cszl/gd/index.vue
@@ -1,30 +1,23 @@
-
-
+
+
@@ -34,7 +27,7 @@
import TimeManager from "@/components/TimeManager";
import GdPop from "./gdPop";
import { heat } from '@/utils/freedo/heat'
-import { clearUpMap, clearResetMap ,AddLabelPoint, initPosition } from '@/utils/freedo'
+import { clearUpMap, clearResetMap, AddLabelPoint, initPosition } from '@/utils/freedo'
import {
getHeat,
getArea,
@@ -43,17 +36,17 @@
getStatistics,
getCasePointList, getCaseInfo
} from "../../../../api/ywts/cszl/gd";
-import {AddDivPointCase, AddDivPointHighlight, AddLabel, focusPoint} from "../../../../utils/freedo";
+import { AddDivPointCase, AddDivPointHighlight, AddLabel, focusPoint } from "../../../../utils/freedo";
import ListPage from "@/components/ListPage";
import KeywordManager from "../../../../components/KeywordManager";
import gridJson from "@/assets/mapJson/grid.json";
import mapJson from "@/assets/mapJson/map.json";
-import {eventBus} from "../../../../main";
+import { eventBus } from "../../../../main";
export default {
name: 'Gd',
- components: {KeywordManager, GdPop, TimeManager, LayerManagerMix, ListPage, CommonBtn },
+ components: { KeywordManager, GdPop, TimeManager, LayerManagerMix, ListPage, CommonBtn },
data() {
return {
isListPage: false,
@@ -73,19 +66,19 @@
caseTotal: 0,
layerManager: null,
caseIcon: {
- 1: require('@/assets/images/icon/事件/已撤案.png'),
- 2: require('@/assets/images/icon/事件/指派中.png'),
- 3: require('@/assets/images/icon/事件/处置中.png'),
- 4: require('@/assets/images/icon/事件/已办结.png'),
- 5: require('@/assets/images/icon/事件/已结案.png'),
- },
+ 1: require('@/assets/images/icon/事件/已撤案.png'),
+ 2: require('@/assets/images/icon/事件/指派中.png'),
+ 3: require('@/assets/images/icon/事件/处置中.png'),
+ 4: require('@/assets/images/icon/事件/已办结.png'),
+ 5: require('@/assets/images/icon/事件/已结案.png'),
+ },
caseColor: {
- 1: '#ffffff88',
- 2: '#fdeb5688',
- 3: '#85c8ff88',
- 4: '#ffba7488',
- 5: '#87f6b388',
- },
+ 1: '#ffffff88',
+ 2: '#fdeb5688',
+ 3: '#85c8ff88',
+ 4: '#ffba7488',
+ 5: '#87f6b388',
+ },
time: {
startTime: '',
endTime: '',
@@ -105,10 +98,10 @@
name: '工地设备',
value: 'device'
}
- // , {
- // name: '环监设备',
- // value: 'others'
- // }
+ // , {
+ // name: '环监设备',
+ // value: 'others'
+ // }
],
menus: {
device: [
@@ -122,7 +115,7 @@
},
mounted() {
getStatistics().then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
this.menus.device = response.data.value
}
})
@@ -135,28 +128,24 @@
autoFlyto: true,
})
- eventBus.$emit('change-layer', { id:1, checked: false});
- eventBus.$emit('change-layer', { id:2, checked: false});
- eventBus.$emit('change-layer', { id:3, checked: false});
- eventBus.$emit('change-layer', { id:4, checked: false});
- eventBus.$emit('change-layer', { id:5, checked: true});
- eventBus.$emit('change-layer', { id:44, checked: true});
- eventBus.$emit('change-layer', { id:21, checked: true});
- eventBus.$emit('change-layer', { id:12, checked: true});
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: false }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: true });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: false });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: true }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
-
- // window.pmtsManager.add({
- // id: "智慧工地-手工模型",
- // url: mapJson.CIM4["智慧工地-手工模型"],
- // show: true,
- // maximumScreenSpaceError: 32,
- // maximumMemoryUsage: 64,
- // maximumAbsoluteMemoryUsage: 8192,
- // autoFlyto: true
- // },
- // undefined
- // )
- // window.terrainManager.visible = true
+ // 清除弹窗展示
+ this.$bus.$on('clear', () => {
+ this.isListPage = false
+ this.isShow = false
+ })
},
methods: {
async btnClick(e) {
@@ -179,7 +168,7 @@
break
case "personBtn":
getHeat().then(res => {
- if(res.code === 200) {
+ if (res.code === 200) {
console.log(res.data, '热力')
const arr = res.data.value.filter(item => item.lng !== "" && item.lng !== null)
// arr.splice(0,1) // todo: 测试第一个错误数据
@@ -192,17 +181,17 @@
// 设备图层控制
layer(item) {
// clearUpMap(true)
- const iconOnline = require('@/assets/images/icon/工地地图点位/'+item.typename.replace(/ /g,'')+'在线.png')
- const iconOffline = require('@/assets/images/icon/工地地图点位/'+item.typename.replace(/ /g,'')+'离线.png')
- getDevList({type: item.type}).then(response => {
- if(response.code === 200) {
+ const iconOnline = require('@/assets/images/icon/工地地图点位/' + item.typename.replace(/ /g, '') + '在线.png')
+ const iconOffline = require('@/assets/images/icon/工地地图点位/' + item.typename.replace(/ /g, '') + '离线.png')
+ getDevList({ type: item.type }).then(response => {
+ if (response.code === 200) {
clearUpMap(true)
this.keywordList = response.data.value
response.data.value.forEach(item => {
AddLabelPoint(
item.id,
'',
- item.status === '1'? iconOnline: iconOffline,
+ item.status === '1' ? iconOnline : iconOffline,
[item.lon, item.lat, 0], 'gd-dev', item,
null)
})
@@ -216,23 +205,23 @@
// keywords: this.keyword
}
getCasePointList(param).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
clearUpMap(true)
const data = []
response.data.value.forEach(item => {
- if(!data.map(da => da.id).includes(item.id) && !data.map(da => da.lon).includes(item.lon) && item.id !== null) {
+ if (!data.map(da => da.id).includes(item.id) && !data.map(da => da.lon).includes(item.lon) && item.id !== null) {
data.push(item)
}
})
this.keywordList = data
data.forEach(item => {
// if(item.total === '1') {
- AddLabelPoint(
- item.id,
- '',
- this.caseIcon[item.eventstatus],
- [item.lon, item.lat, 0], 'gd-case', item,
- this.clickCase)
+ AddLabelPoint(
+ item.id,
+ '',
+ this.caseIcon[item.eventstatus],
+ [item.lon, item.lat, 0], 'gd-case', item,
+ this.clickCase)
// } else {
// AddDivPointCase(item, this.caseColor[item.status], item.total, this.clickCase)
// }
@@ -244,8 +233,8 @@
search() {
const iconDone = require('@/assets/images/icon/工地地图点位/工地已完成.png')
const iconDoing = require('@/assets/images/icon/工地地图点位/工地进行中.png')
- getArea({keywords: this.keyword}).then(response => {
- if(response.code === 200) {
+ getArea({ keywords: this.keyword }).then(response => {
+ if (response.code === 200) {
clearUpMap(true)
this.keywordList = response.data.value
response.data.value.forEach(item => {
@@ -254,7 +243,7 @@
AddLabelPoint(
item.id,
item.name,
- item.status === '2' ? iconDoing: iconDone,
+ item.status === '2' ? iconDoing : iconDone,
[item.lon, item.lat, 0], 'gd', item,
this.clickGd)
})
@@ -265,8 +254,8 @@
score() {
const iconDone = require('@/assets/images/icon/工地地图点位/工地已完成.png')
const iconDoing = require('@/assets/images/icon/工地地图点位/工地进行中.png')
- getArea({keywords: this.keyword}).then(response => {
- if(response.code === 200) {
+ getArea({ keywords: this.keyword }).then(response => {
+ if (response.code === 200) {
this.keywordList = response.data.value
response.data.value.forEach(item => {
// console.log(item,'321123')
@@ -280,8 +269,8 @@
})
}
})
- getMonthGdScore({keywords: this.keyword}).then(response => {
- if(response.code === 200) {
+ getMonthGdScore({ keywords: this.keyword }).then(response => {
+ if (response.code === 200) {
response.data.value.filter(item => item.lng !== "" && item.lng !== null).forEach(item => {
AddLabel(
item.id,
@@ -304,7 +293,7 @@
clickCase(eventArg) {
const item = eventArg._data.data
// 恢复上一个marker
- if(this.preCase !== null ) {
+ if (this.preCase !== null) {
window.mmManager.removeById(this.preCase.id)
AddLabelPoint(
this.preCase.id,
@@ -313,7 +302,7 @@
[this.preCase.lon, this.preCase.lat, 0], 'gd-case', this.preCase,
this.clickCase)
}
- if(item.total === '1') {
+ if (item.total === '1') {
// 保存当前marker
this.preCase = item
// 高亮当前marker
@@ -323,7 +312,7 @@
this.preCase = null
}
// 查询事件详情
- this.caseTotal = Number(item.total)
+ this.caseTotal = Number(item.total)
this.isListPage = true
this.$refs.caseListPage.initDialog()
this.caseListQuery = {
@@ -345,16 +334,16 @@
searchCaseMarkerList() {
// getCaseInfo(this.caseListQuery).then(response => {
getCaseInfo(this.caseListQuery).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
console.log(response.data.value)
// 右侧看板
- this.caseList = response.data.value
+ this.caseList = response.data.value
}
})
},
handleTimeRange(time) {
this.isListPage = false
- if(this.time.startTime !== '') {
+ if (this.time.startTime !== '') {
this.time = time
this.casePoint()
} else {
diff --git a/src/pages/ywts/cszl/hw/index.vue b/src/pages/ywts/cszl/hw/index.vue
index e773b7d..ed28bc6 100644
--- a/src/pages/ywts/cszl/hw/index.vue
+++ b/src/pages/ywts/cszl/hw/index.vue
@@ -31,6 +31,7 @@
import ListPage from "@/components/ListPage";
import { getPlacePointList, getOverviewStatistics, getPersonList, getCarList, getCaseList, getCaseInfo } from '@/api/ywts/cszl/hw'
import { iconFilter, iconPerson, personList, carList, iconCar } from './data'
+import { eventBus } from "../../../../main";
export default {
name: 'Hw',
components: { TimeManager, LayerManagerMix, ListPage, CommonBtn, Pop },
@@ -94,7 +95,25 @@
},
mounted() {
clearResetMap()
+ this.selectInde = 'deviceBtn'
this.fetchPoint()
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: false }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: false });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: false });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: false }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
+ // 清除弹窗展示
+ this.$bus.$on('clear', () => {
+ this.isListPage = false
+ this.showPop = false
+ })
},
methods: {
async btnClick(e) {
@@ -263,17 +282,17 @@
// this.caseList = res.data.value || []
// this.caseTotal = this.caseList.length
res.data.value.forEach(item => {
- AddLabelPoint(
- item.id.replaceAll('.', ''),
- '',
- this.caseIcon[item.status],
- [item.lon, item.lat, 0], 'gd-case', item,
- this.clickCase)
- })
+ AddLabelPoint(
+ item.id.replaceAll('.', ''),
+ '',
+ this.caseIcon[item.status],
+ [item.lon, item.lat, 0], 'gd-case', item,
+ this.clickCase)
+ })
})
},
- // 点击事件icon
- clickCase(eventArg) {
+ // 点击事件icon
+ clickCase(eventArg) {
const item = eventArg._data.data
// 恢复上一个marker
if (this.preCase !== null) {
@@ -306,11 +325,11 @@
getCaseInfo(this.caseListQuery).then(res => {
console.log(res.data, '事件详情')
this.caseList = res.data.value || []
- this.caseTotal = this.caseList.length
+ this.caseTotal = this.caseList.length
})
},
- // 事件换页
- changePage(val) {
+ // 事件换页
+ changePage(val) {
if (val && val.page) {
this.caseListQuery.pageNo = val.page
}
diff --git a/src/pages/ywts/cszl/jt/index.vue b/src/pages/ywts/cszl/jt/index.vue
index fb1ce91..ef5938c 100644
--- a/src/pages/ywts/cszl/jt/index.vue
+++ b/src/pages/ywts/cszl/jt/index.vue
@@ -1,15 +1,21 @@
-
+
@@ -26,8 +32,9 @@
getStatistics,
getCasePointList, getCaseInfo
} from "../../../../api/ywts/cszl/gd";
-import {AddDivPointHighlight, AddLabel} from "../../../../utils/freedo";
+import { AddDivPointHighlight, AddLabel } from "../../../../utils/freedo";
import ListPage from "@/components/ListPage";
+import { eventBus } from "../../../../main";
export default {
name: 'Jt',
@@ -47,19 +54,19 @@
},
caseTotal: 0,
caseIcon: {
- 1: require('@/assets/images/icon/事件/已撤案.png'),
- 2: require('@/assets/images/icon/事件/指派中.png'),
- 3: require('@/assets/images/icon/事件/处置中.png'),
- 4: require('@/assets/images/icon/事件/已办结.png'),
- 5: require('@/assets/images/icon/事件/已结案.png'),
- },
+ 1: require('@/assets/images/icon/事件/已撤案.png'),
+ 2: require('@/assets/images/icon/事件/指派中.png'),
+ 3: require('@/assets/images/icon/事件/处置中.png'),
+ 4: require('@/assets/images/icon/事件/已办结.png'),
+ 5: require('@/assets/images/icon/事件/已结案.png'),
+ },
caseColor: {
- 1: '#ffffff',
- 2: '#fdeb56',
- 3: '#85c8ff',
- 4: '#ffba74',
- 5: '#87f6b3',
- },
+ 1: '#ffffff',
+ 2: '#fdeb56',
+ 3: '#85c8ff',
+ 4: '#ffba74',
+ 5: '#87f6b3',
+ },
time: {
startTime: '',
endTime: '',
@@ -81,10 +88,10 @@
name: '基础设施',
value: 'place'
}
- // , {
- // name: '环监设备',
- // value: 'others'
- // }
+ // , {
+ // name: '环监设备',
+ // value: 'others'
+ // }
],
menus: {
place: [
@@ -98,11 +105,27 @@
},
mounted() {
getStatistics().then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
this.menus.place = response.data.value
}
})
this.search()
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: false }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: false });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: true });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: true }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
+ // 清除弹窗展示
+ this.$bus.$on('clear', () => {
+ this.isListPage = false
+ })
},
methods: {
async btnClick(e) {
@@ -121,16 +144,16 @@
// 设备图层控制
layer(item) {
// clearUpMap()
- const iconOnline = require('@/assets/images/icon/工地地图点位/'+item.typename.replace(/ /g,'')+'在线.png')
- const iconOffline = require('@/assets/images/icon/工地地图点位/'+item.typename.replace(/ /g,'')+'离线.png')
- getDevList({type: item.type}).then(response => {
- if(response.code === 200) {
+ const iconOnline = require('@/assets/images/icon/工地地图点位/' + item.typename.replace(/ /g, '') + '在线.png')
+ const iconOffline = require('@/assets/images/icon/工地地图点位/' + item.typename.replace(/ /g, '') + '离线.png')
+ getDevList({ type: item.type }).then(response => {
+ if (response.code === 200) {
clearUpMap()
response.data.value.forEach(item => {
AddLabelPoint(
item.id,
'',
- item.status === '1'? iconOnline: iconOffline,
+ item.status === '1' ? iconOnline : iconOffline,
[item.lon, item.lat, 0], 'gd-place', item,
null)
})
@@ -141,11 +164,11 @@
casePoint() {
console.log(this.time)
getCasePointList(this.time).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
clearUpMap()
const data = []
response.data.value.forEach(item => {
- if(!data.map(da => da.id).includes(item.id) && !data.map(da => da.lon).includes(item.lon) && item.id !== null) {
+ if (!data.map(da => da.id).includes(item.id) && !data.map(da => da.lon).includes(item.lon) && item.id !== null) {
data.push(item)
}
})
@@ -165,7 +188,7 @@
const iconDone = require('@/assets/images/icon/工地地图点位/工地已完成.png')
const iconDoing = require('@/assets/images/icon/工地地图点位/工地进行中.png')
getArea({}).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
clearUpMap()
response.data.value.forEach(item => {
// console.log(item.areaboundary)
@@ -173,7 +196,7 @@
AddLabelPoint(
item.id,
item.name,
- item.status === '2' ? iconDoing: iconDone,
+ item.status === '2' ? iconDoing : iconDone,
[item.lon, item.lat, 0], 'gd', item,
this.clickHw)
})
@@ -183,7 +206,7 @@
// 智慧工地-工地近1月综合得分
score() {
getArea({}).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
response.data.value.forEach(item => {
console.log(item.areaboundary)
// todo : 画范围
@@ -195,7 +218,7 @@
clickCase(eventArg) {
const item = eventArg._data.data
// 恢复上一个marker
- if(this.preCase !== null ) {
+ if (this.preCase !== null) {
window.mmManager.removeById(this.preCase.id)
AddLabelPoint(
this.preCase.id,
@@ -231,13 +254,13 @@
searchCaseMarkerList() {
// getCaseInfo(this.caseListQuery).then(response => {
getCaseInfo(this.caseListQuery).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
console.log(response.data.value)
// 右侧看板
- this.caseList = response.data.value
+ this.caseList = response.data.value
// todo
// this.caseTotal = response.data.value.length
- this.caseTotal = 12
+ this.caseTotal = 12
}
})
},
@@ -246,7 +269,7 @@
},
handleTimeRange(time) {
this.isListPage = false
- if(this.time.startTime !== '') {
+ if (this.time.startTime !== '') {
this.time = time
this.casePoint()
} else {
diff --git a/src/pages/ywts/cszl/jxh/index.vue b/src/pages/ywts/cszl/jxh/index.vue
index a3703db..0f23aaa 100644
--- a/src/pages/ywts/cszl/jxh/index.vue
+++ b/src/pages/ywts/cszl/jxh/index.vue
@@ -1,26 +1,24 @@
-
-
+
+
@@ -44,14 +42,15 @@
getAll,
getCaseInfo, getBoard
} from "../../../../api/ywts/cszl/jxh";
-import {AddDivPointCase, AddDivPointHighlight, AddOnlyLabel, AddPolygon} from "../../../../utils/freedo";
+import { AddDivPointCase, AddDivPointHighlight, AddOnlyLabel, AddPolygon } from "../../../../utils/freedo";
import ListPage from "@/components/ListPage";
-import {getGridInfo, getGridToken} from "../../../../api/common";
+import { getGridInfo, getGridToken } from "../../../../api/common";
import JxhPop from "./jxhPop";
+import { eventBus } from "../../../../main";
export default {
name: 'Jxh',
- components: {JxhPop, LayerManager, TimeManager, KeywordManager, CommonBtn, ListPage },
+ components: { JxhPop, LayerManager, TimeManager, KeywordManager, CommonBtn, ListPage },
data() {
return {
preCase: null,
@@ -128,6 +127,22 @@
}
},
mounted() {
+ this.$bus.$on('clear', () => {
+ this.isListPage = false
+ this.isShow = false
+ })
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: false }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: false });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: false });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: false }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
// 全部事件
getAll({
// urgent: '0',
@@ -135,8 +150,8 @@
// high: '0',
startTime: this.time.startTime,
endTime: this.time.endTime,
- }).then( res => {
- if(res.code === 200) {
+ }).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
@@ -154,7 +169,7 @@
caseMarker(res) {
res.data.value.forEach(item => {
// console.log(item.status)
- if(item.total === '1') {
+ if (item.total === '1') {
AddLabelPoint(
item.id,
'',
@@ -180,24 +195,24 @@
switch (e.bigtype) {
case 'source':
query.sourceId = e.type
- getSourceList(query).then( res => {
- if(res.code === 200) {
+ getSourceList(query).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
break
case 'project':
query.projectId = e.type
- getProjectList(query).then( res => {
- if(res.code === 200) {
+ getProjectList(query).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
break
case 'grid':
query.gridType = e.type
- getGridList(query).then( res => {
- if(res.code === 200) {
+ getGridList(query).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
@@ -208,7 +223,7 @@
clickCase(eventArg) {
const item = eventArg._data.data
// 恢复上一个marker
- if(this.preCase !== null ) {
+ if (this.preCase !== null) {
window.mmManager.removeById(this.preCase.id)
AddLabelPoint(
this.preCase.id,
@@ -218,7 +233,7 @@
this.clickCase)
}
- if(item.total === '1') {
+ if (item.total === '1') {
// 保存当前marker
this.preCase = item
// 高亮当前marker
@@ -229,7 +244,7 @@
}
// 查询事件详情
- this.caseTotal = Number(item.total)
+ this.caseTotal = Number(item.total)
this.caseList = []
this.isListPage = true
this.hasUrge = false
@@ -263,13 +278,13 @@
// high: '0',
startTime: this.time.startTime,
endTime: this.time.endTime,
- }).then( res => {
- if(res.code === 200) {
+ }).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
// 事件看板
- this.caseTotal = 1000 // todo
+ this.caseTotal = 1000 // todo
this.caseList = []
this.isListPage = true
this.hasUrge = true
@@ -292,8 +307,8 @@
high: '1',
startTime: this.time.startTime,
endTime: this.time.endTime,
- }).then( res => {
- if(res.code === 200) {
+ }).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
@@ -306,8 +321,8 @@
// high: '0',
startTime: this.time.startTime,
endTime: this.time.endTime,
- }).then( res => {
- if(res.code === 200) {
+ }).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
@@ -317,7 +332,7 @@
break
case "caseHeatBtn":
getHeat(this.time).then(res => {
- if(res.code === 200) {
+ if (res.code === 200) {
heat(res.data.value) // 热力图
}
})
@@ -326,29 +341,29 @@
},
gridDraw(token, areaCode) {
const colors = [
- [0,234,255,0.47],
- [255,185,0,0.47],
- [255,234,0,0.47],
- [209,0,255,0.47],
- [255,0,38,0.47],
+ [0, 234, 255, 0.47],
+ [255, 185, 0, 0.47],
+ [255, 234, 0, 0.47],
+ [209, 0, 255, 0.47],
+ [255, 0, 38, 0.47],
]
getGridInfo({
paramCodeList: 'KJ5001',
areaCode,
token
- }).then( res => {
+ }).then(res => {
console.log(res)
res.data.chirdAreaInfo.forEach((item, index) => {
item._source.areainfo.coordinates.forEach(area => {
let positions = []
- let arr = item._source.areainfo.type === 'MultiPolygon' ? area[0]: area
+ let arr = item._source.areainfo.type === 'MultiPolygon' ? area[0] : area
arr.forEach(pos => {
- positions.push(Freedo.Cartesian3.fromDegrees( pos[0], pos[1],0))
+ positions.push(Freedo.Cartesian3.fromDegrees(pos[0], pos[1], 0))
})
- AddPolygon(positions,colors[index % 5], this.gridClick,item._id)
+ AddPolygon(positions, colors[index % 5], this.gridClick, item._id)
AddOnlyLabel(
'',
- item._source.areaname , //+ this.menus.grid
+ item._source.areaname, //+ this.menus.grid
[item._source.lon, item._source.lat, 0],
'', null, null)
})
@@ -364,7 +379,7 @@
secret: CryptoJS.MD5(timestamp + 'geostar999').toString()
}
- getGridToken(param).then( res => {
+ getGridToken(param).then(res => {
clearUpMap()
this.gridDraw(res.data.token, '360783001')
this.gridDraw(res.data.token, '360783002')
@@ -374,32 +389,32 @@
},
// 三个概况统计
layerSeach() {
- getSource(this.time).then( res => {
- if(res.code === 200) {
+ getSource(this.time).then(res => {
+ if (res.code === 200) {
this.menus.source = res.data.value.map(item => {
item.bigtype = 'source'
- item.type = item.id.replace(/ /g,'')
- item.typename = item.name.replace(/ /g,'')
+ item.type = item.id.replace(/ /g, '')
+ item.typename = item.name.replace(/ /g, '')
return item
})
}
})
- getProject(this.time).then( res => {
- if(res.code === 200) {
+ getProject(this.time).then(res => {
+ if (res.code === 200) {
this.menus.project = res.data.value.map(item => {
item.bigtype = 'project'
- item.type = item.id.replace(/ /g,'')
- item.typename = item.name.replace(/ /g,'')
+ item.type = item.id.replace(/ /g, '')
+ item.typename = item.name.replace(/ /g, '')
return item
})
}
})
- getGrid(this.time).then( res => {
- if(res.code === 200) {
+ getGrid(this.time).then(res => {
+ if (res.code === 200) {
this.menus.grid = res.data.value.map(item => {
item.bigtype = 'grid'
- item.type = item.id.replace(/ /g,'')
- item.typename = item.name.replace(/ /g,'')
+ item.type = item.id.replace(/ /g, '')
+ item.typename = item.name.replace(/ /g, '')
return item
})
}
@@ -410,7 +425,7 @@
if (val && val.page) {
this.caseListQuery.pageNo = val.page
}
- if(this.hasUrge) {
+ if (this.hasUrge) {
this.searchBoard()
} else {
this.searchCaseMarkerList()
@@ -419,20 +434,20 @@
// 事件看板查询
searchBoard() {
getBoard(this.caseListQuery).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
console.log(response.data.value)
// 右侧看板
- this.caseList = response.data.value
+ this.caseList = response.data.value
}
})
},
// 事件详情分页
searchCaseMarkerList() {
getCaseInfo(this.caseListQuery).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
console.log(response.data.value)
// 右侧看板
- this.caseList = response.data.value
+ this.caseList = response.data.value
}
})
},
diff --git a/src/pages/ywts/cszl/yj/index.vue b/src/pages/ywts/cszl/yj/index.vue
index 7869a73..d74dfe9 100644
--- a/src/pages/ywts/cszl/yj/index.vue
+++ b/src/pages/ywts/cszl/yj/index.vue
@@ -45,7 +45,7 @@
import { AddDivPointHighlight, AddLabel } from "../../../../utils/freedo";
import { iconFilter, deviceList, caseList } from './data'
import ListPage from "@/components/ListPage";
-
+import { eventBus } from "../../../../main";
export default {
name: 'Yj',
components: { TimeManager, LayerManagerMix, ListPage, CommonBtn, Pop },
@@ -118,14 +118,25 @@
}
},
mounted() {
- // getStatistics().then(response => {
- // if(response.code === 200) {
- // this.menus.place = response.data.value
- // }
- // })
- // this.search()
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: false }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: false });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: false });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: false }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
clearResetMap()
this.searchPlace({})
+
+ this.$bus.$on('clear', () => {
+ this.isListPage = false
+ this.showPop = false
+ })
},
methods: {
async btnClick(e) {
diff --git a/src/pages/ywts/shms/jy/devicePop.vue b/src/pages/ywts/shms/jy/devicePop.vue
new file mode 100644
index 0000000..2c44979
--- /dev/null
+++ b/src/pages/ywts/shms/jy/devicePop.vue
@@ -0,0 +1,281 @@
+
+
+
+
+
+
+
+ 设备名称: {{
+ gdInfo.name }}
+ 设备类型: {{
+ gdInfo.typename }}
+ 设备状态: {{
+ gdInfo.statusName }}
+ 设备位置: {{
+ gdInfo.location }}
+ 时间: {{ gdInfo.time
+ }}
+ 进/出人口数: {{ gdInfo.in
+ }}/{{ gdInfo.out }}
+ 是否赋能: 否
+
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/ywts/shms/jy/index.vue b/src/pages/ywts/shms/jy/index.vue
index b1eb984..f377985 100644
--- a/src/pages/ywts/shms/jy/index.vue
+++ b/src/pages/ywts/shms/jy/index.vue
@@ -6,11 +6,13 @@
+ :select="selectIndex === 'layerBtn'" @btnClick="btnClick" @menuClick="menuClick" />
+
+
@@ -29,13 +31,15 @@
import mapJson from "@/assets/mapJson/map.json";
import modelJson from "@/assets/mapJson/school.json";
import { eventBus } from "../../../../main";
+import devicePop from './devicePop.vue'
export default {
name: 'Jy',
- components: { SchoolPop, TimeManager, KeywordManager, LayerManagerMix, CommonBtn },
+ components: { SchoolPop, TimeManager, KeywordManager, LayerManagerMix, CommonBtn, devicePop },
data() {
return {
isShow: false,
+ showDevice: false,
ktSelect: '',
keyword: '',
keywordList: [],
@@ -56,10 +60,15 @@
},
menus: {
device: [
- { type: "1", typename: "视频设备", total: "111" },
- { type: "2", typename: "门禁设备", total: "111" }
+ { type: "1", typename: "视频设备", total: "0" },
+ { type: "2", typename: "门禁设备", total: "0" }
]
- }
+ },
+ markerList: [],
+ markerBakList: [],
+ videoIcon: require('@/assets/images/icon/视频云/枪机未赋能在线.png'),
+ controlIcon: require('@/assets/images/icon/一卡通/门禁.png'),
+
}
},
mounted() {
@@ -70,55 +79,25 @@
name: 'jy',
autoFlyto: true,
})
- eventBus.$emit('change-layer', { id: 1, checked: false });
- eventBus.$emit('change-layer', { id: 2, checked: false });
- eventBus.$emit('change-layer', { id: 3, checked: false });
- eventBus.$emit('change-layer', { id: 4, checked: false });
- eventBus.$emit('change-layer', { id: 5, checked: true });
- eventBus.$emit('change-layer', { id: 41, checked: true });
- eventBus.$emit('change-layer', { id: 21, checked: true });
- eventBus.$emit('change-layer', { id: 12, checked: true });
- // // 教育模型
- // window.pmtsManager.add({
- // id: "智慧教育-手工模型",
- // url: mapJson.CIM4["智慧教育-手工模型"],
- // show: true,
- // maximumScreenSpaceError: 32,
- // maximumMemoryUsage: 64,
- // maximumAbsoluteMemoryUsage: 8192,
- // autoFlyto: true
- // },
- // undefined
- // )
- // // CIM2 楼
- // window.pmtsManager.add({
- // url: mapJson['CIM2']['CIM2建筑(带纹理)'],
- // show: true,
- // name: 'CIM2建筑(带纹理)',
- // autoFlyto: false
- // })
- // window.pmtsManager.add({
- // url: mapJson['CIM2']['CIM2建筑(带纹理)'],
- // show: true,
- // name: 'CIM2建筑(带纹理)',
- // autoFlyto: false,
- // alpha: 0.5,
- // color: '#002d7a'
- // })
- // for(let key in modelJson) {
- // window.pmtsManager.add({
- // id: key,
- // // url: mapJson.CIM4["智慧教育-手工模型"],
- // url: modelJson[key],
- // show: true,
- // maximumScreenSpaceError: 32,
- // maximumMemoryUsage: 64,
- // maximumAbsoluteMemoryUsage: 8192,
- // autoFlyto: true
- // },
- // undefined
- // )
- // }
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: true }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: false });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: false });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: true }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
+
+ // 清除弹窗展示
+ this.$bus.$on('clear', () => {
+ this.isShow = false
+ this.showDevice = false
+
+ })
},
methods: {
async btnClick(e) {
@@ -126,6 +105,7 @@
clearUpMap(true)
initPosition()
this.isShow = false
+ this.showDevice = false
this.selectIndex = e.target.id
switch (this.selectIndex) {
case "schoolBtn":
@@ -194,10 +174,121 @@
},
// 搜索学校设备
searchDevice() {
- getDevice({}).then(res => {
- console.log('学校数据')
+ getDevice({ keywords: '' }).then(res => {
+ this.markerList = [
+ {
+ "name": "设备1",
+ "lon": "114.859995",
+ "location": "江西省赣州市南康区三江乡",
+ "id": "1676397864375291905",
+ "lat": "25.802129",
+ "type": "1",
+ "typename": "视频设备",
+ statusName: '正常',
+ time: '2025-06-16 09:05:05',
+ in: '0',
+ out: '0',
+ },
+ {
+ "name": "设备2",
+ "lon": "114.861027",
+ "location": "江西省赣州市章贡区潭六路135号靠近逸夫小学",
+ "id": "1676398916763914241",
+ "lat": "25.757553",
+ "type": "2",
+ "typename": "门禁设备",
+ statusName: '正常',
+ time: '2025-06-16 09:05:05',
+ in: '0',
+ out: '0',
+ },
+ {
+ "name": "设备3",
+ "lon": "114.880246",
+ "location": "江西省赣州市章贡区潭东镇弘腾路毅德城",
+ "id": "1676414593390350337",
+ "lat": "25.753119",
+ "type": "1",
+ "typename": "视频设备",
+ statusName: '正常',
+ time: '2025-06-16 09:05:05',
+ in: '0',
+ out: '0',
+ },
+ {
+ "name": "设备4",
+ "lon": "114.879855",
+ "location": "江西省赣州市章贡区潭东镇弘腾路毅德城",
+ "id": "1676414955455254529",
+ "lat": "25.752771",
+ "type": "1",
+ "typename": "视频设备",
+ statusName: '正常',
+ time: '2025-06-16 09:05:05',
+ in: '0',
+ out: '0',
+ },
+ {
+ "name": "设备5",
+ "lon": "114.875438",
+ "location": "江西省赣州市章贡区潭东镇弘腾路毅德城",
+ "id": "1676418661630349312",
+ "lat": "25.748733",
+ "type": "2",
+ "typename": "门禁设备",
+ statusName: '正常',
+ time: '2025-06-16 09:05:05',
+ in: '0',
+ out: '0',
+ },
+ {
+ "name": "设备6",
+ "lon": "114.867371",
+ "location": "江西省赣州市章贡区105国道135号靠近松岭上",
+ "id": "1676422908220542977",
+ "lat": "25.750388",
+ "typename": "2",
+ "typename": "门禁设备",
+ statusName: '正常',
+ time: '2025-06-16 09:05:05',
+ in: '0',
+ out: '0',
+ },
+ ]
+ this.markerBakList = JSON.parse(JSON.stringify(this.markerList))
+ this.menus.device[0].total = this.markerList.filter((item) => item.type === '1').length
+ this.menus.device[1].total = this.markerList.filter((item) => item.type === '2').length
+ // 绘制点位
+ this.markerList.forEach((item) => {
+ AddLabelPoint(
+ item.id,
+ `${item.name}`,
+ item.type === '1' ? this.videoIcon : this.controlIcon,
+ [item.lon, item.lat, 0], 'yl-dev', item,
+ this.clickDevice)
+ })
})
- }
+ },
+ menuClick(e) {
+ clearResetMap()
+ this.markerList = this.markerBakList.filter(item => item.type === e.type)
+ this.markerList.forEach((item) => {
+ AddLabelPoint(
+ item.id,
+ `${item.name}`,
+ item.type === '1' ? this.videoIcon : this.controlIcon,
+ [item.lon, item.lat, 0], 'yl-dev', item,
+ this.clickDevice)
+ })
+ },
+ // 设备点位点击
+ clickDevice(eventArg) {
+ const item = eventArg._data.data
+ this.showDevice = true
+ this.$nextTick(() => {
+ this.$refs.deviceRef.initData(item)
+ })
+ },
}
}
diff --git a/src/pages/ywts/shms/sq/carPop.vue b/src/pages/ywts/shms/sq/carPop.vue
new file mode 100644
index 0000000..b1fe4c3
--- /dev/null
+++ b/src/pages/ywts/shms/sq/carPop.vue
@@ -0,0 +1,275 @@
+
+
+
+
+
+
+
+ 名称: {{
+ gdInfo.name }}
+ 位置: {{
+ gdInfo.location }}
+ 车辆数量: {{ gdInfo.carNum
+ }}
+ 停车位: {{ gdInfo.parkSpaceNum }}
+
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/ywts/shms/sq/communityPop.vue b/src/pages/ywts/shms/sq/communityPop.vue
new file mode 100644
index 0000000..eb6bf07
--- /dev/null
+++ b/src/pages/ywts/shms/sq/communityPop.vue
@@ -0,0 +1,212 @@
+
+
+
+
+
+
{{ name }}
+
位置:{{ position
+ }}
+
+
+
+
+
+
{{ item.total }}
+
{{ item.name }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/ywts/shms/sq/components/agePie.vue b/src/pages/ywts/shms/sq/components/agePie.vue
new file mode 100644
index 0000000..9e41da8
--- /dev/null
+++ b/src/pages/ywts/shms/sq/components/agePie.vue
@@ -0,0 +1,185 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/ywts/shms/sq/components/currentPie.vue b/src/pages/ywts/shms/sq/components/currentPie.vue
new file mode 100644
index 0000000..c7dfe20
--- /dev/null
+++ b/src/pages/ywts/shms/sq/components/currentPie.vue
@@ -0,0 +1,178 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/ywts/shms/sq/components/personBar.vue b/src/pages/ywts/shms/sq/components/personBar.vue
new file mode 100644
index 0000000..b065487
--- /dev/null
+++ b/src/pages/ywts/shms/sq/components/personBar.vue
@@ -0,0 +1,193 @@
+
+
+
+
+
+
+
diff --git a/src/pages/ywts/shms/sq/components/scoreLineBar.vue b/src/pages/ywts/shms/sq/components/scoreLineBar.vue
new file mode 100644
index 0000000..1551e69
--- /dev/null
+++ b/src/pages/ywts/shms/sq/components/scoreLineBar.vue
@@ -0,0 +1,189 @@
+
+
+
+
+
+
+
diff --git a/src/pages/ywts/shms/sq/components/transitBar.vue b/src/pages/ywts/shms/sq/components/transitBar.vue
new file mode 100644
index 0000000..c23b4ba
--- /dev/null
+++ b/src/pages/ywts/shms/sq/components/transitBar.vue
@@ -0,0 +1,173 @@
+
+
+
+
+
+
+
diff --git a/src/pages/ywts/shms/sq/devicePop.vue b/src/pages/ywts/shms/sq/devicePop.vue
new file mode 100644
index 0000000..2c44979
--- /dev/null
+++ b/src/pages/ywts/shms/sq/devicePop.vue
@@ -0,0 +1,281 @@
+
+
+
+
+
+
+
+ 设备名称: {{
+ gdInfo.name }}
+ 设备类型: {{
+ gdInfo.typename }}
+ 设备状态: {{
+ gdInfo.statusName }}
+ 设备位置: {{
+ gdInfo.location }}
+ 时间: {{ gdInfo.time
+ }}
+ 进/出人口数: {{ gdInfo.in
+ }}/{{ gdInfo.out }}
+ 是否赋能: 否
+
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/ywts/shms/sq/index.vue b/src/pages/ywts/shms/sq/index.vue
new file mode 100644
index 0000000..6aa8714
--- /dev/null
+++ b/src/pages/ywts/shms/sq/index.vue
@@ -0,0 +1,478 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/api/ywts/shms/jy.js b/src/api/ywts/shms/jy.js
index f3ac251..56f48e3 100644
--- a/src/api/ywts/shms/jy.js
+++ b/src/api/ywts/shms/jy.js
@@ -116,7 +116,7 @@
return request({
url: 'zhjy-gktj/zhjy/sbdwlb',
method: 'post',
- data,
+ // data,
params: data
})
}
diff --git a/src/api/ywts/shms/sq.js b/src/api/ywts/shms/sq.js
new file mode 100644
index 0000000..04a5447
--- /dev/null
+++ b/src/api/ywts/shms/sq.js
@@ -0,0 +1,123 @@
+/**
+ * 社区接口
+ */
+import request from '@/utils/request'
+
+// 社区点位列表
+export function getCommunityList() {
+ return request({
+ url: 'zhsq-gktj/zhsq/sqdwlb',
+ method: 'post',
+ })
+}
+
+// 人员热力图
+export function getHeat() {
+ return request({
+ url: 'zhsq-gktj/zhsq/sqyyrlt',
+ method: 'post',
+ })
+}
+
+// 设备点位
+export function getDevice() {
+ return request({
+ url: 'zhsq-gktj/zhsq/sbdwlb',
+ method: 'post',
+ params: {
+ type: '',
+ keywords: ''
+ }
+ })
+}
+
+// 社区车辆
+export function getCar() {
+ return request({
+ url: 'zhsq-gktj/zhsq/sqbyl',
+ method: 'post',
+ })
+}
+
+// 事件点位列表
+export function getCase(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/sjdwlb',
+ method: 'post',
+ params:{
+ ...data
+ }
+ })
+}
+
+// 事件详情
+export function getCaseList(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/zjlbfy',
+ method: 'post',
+ params:{
+ ...data
+ }
+ })
+}
+// 获取社区基本信息
+export function getBaseInfo(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/sqdwxq',
+ method: 'post',
+ params:{
+ ...data
+ },
+ // data
+ })
+}
+// 居民年龄统计
+export function getAgeStatistics(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/jmnltj',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
+// 居民流动比例
+export function getCurrentRatio(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/jmldbl',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
+// 近1年人房车占比统计
+export function getPersonCarRatio(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/rfczbtj',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
+// 近1月居民通行量分析
+export function getTransitrRatio(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/jmtxlfx',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
+// 近1月高频事件排行榜
+export function getCaseRank(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/gpsjphb',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
diff --git a/src/api/ywts/zyhj/hb.js b/src/api/ywts/zyhj/hb.js
index 5e598d1..07625d1 100644
--- a/src/api/ywts/zyhj/hb.js
+++ b/src/api/ywts/zyhj/hb.js
@@ -8,7 +8,10 @@
return request({
url: 'zhhb-gktj/zhhb/gktj',
method: 'post',
- data
+ data,
+ params: {
+ ...data,
+ }
})
}
// 环保点位列表
@@ -19,3 +22,26 @@
data
})
}
+// 环保告警列表
+export function getAlarmList(data) {
+ return request({
+ url: 'zhhb-gktj/zhhb/hbgjlb',
+ method: 'post',
+ // data
+ params: {
+ ...data
+ }
+ })
+}
+
+// 环保事件列表
+export function getCaseList(data) {
+ return request({
+ url: 'zhhb-gktj/zhhb/hbsjlbfy',
+ method: 'post',
+ // data
+ params: {
+ ...data
+ }
+ })
+}
diff --git a/src/api/ywts/zyhj/yl.js b/src/api/ywts/zyhj/yl.js
index 63d7ad2..643e3d4 100644
--- a/src/api/ywts/zyhj/yl.js
+++ b/src/api/ywts/zyhj/yl.js
@@ -88,6 +88,9 @@
url: 'zhyl-gktjljk/zhyl/sjxq',
method: 'post',
data,
+ params: {
+ ...data,
+ }
})
}
// 苗木点位列表
diff --git a/src/components/CommonFunction/index.vue b/src/components/CommonFunction/index.vue
index 1a10acb..c2eba44 100644
--- a/src/components/CommonFunction/index.vue
+++ b/src/components/CommonFunction/index.vue
@@ -5,8 +5,8 @@
@click="btnClick" />
-
+
@@ -21,7 +21,7 @@
import CommonBtn from "../CommonBtn";
import { clearUpMap } from '@/utils/freedo/index'
-import { initPosition, initPage } from "../../utils/freedo";
+import { initPosition, initPage } from "../../utils/freedo";
import mapJson from "@/assets/mapJson/map.json";
import { eventBus } from "../../main";
@@ -59,11 +59,11 @@
disabled: true,
"children": [
{ "id": 41, "label": "智慧教育-手工模型", disabled: true },
- { "id": 42, "label": "智慧停车云-手工模型", disabled: true },
- { "id": 43, "label": "智慧社区-手工模型", disabled: true },
- { "id": 44, "label": "智慧工地-手工模型", disabled: true },
- { "id": 45, "label": "智慧交通-手工模型", disabled: true },
- { "id": 46, "label": "智慧园林-手工模型", disabled: true }
+ { "id": 42, "label": "智慧停车云-手工模型", disabled: true },
+ { "id": 43, "label": "智慧社区-手工模型", disabled: true },
+ { "id": 44, "label": "智慧工地-手工模型", disabled: true },
+ { "id": 45, "label": "智慧交通-手工模型", disabled: true },
+ { "id": 46, "label": "智慧园林-手工模型", disabled: true }
]
}, {
"id": 5,
@@ -95,8 +95,8 @@
setTimeout(() => {
this.tree.forEach((item) => {
item.disabled = false
- if(item.children) {
- item.children = item.children.map((item) => ({ ...item,disabled: false}))
+ if (item.children) {
+ item.children = item.children.map((item) => ({ ...item, disabled: false }))
}
})
}, 5000)
@@ -125,7 +125,7 @@
handler(data, checked, indeterminate)
}
else {
- if(data.id.toString() === '5' && checked) {
+ if (data.id.toString() === '5' && checked) {
window.terrainManager.visible = true
return
}
@@ -143,14 +143,18 @@
},
btnClick(e) {
this.showLayerTree = false
+ this.clearDialog()
if (e.target.id === 'initBtn') {
initPosition()
} else if (e.target.id === 'clearBtn') {
clearUpMap()
} else if (e.target.id === 'layerBtn') {
- // clearUpMap()
this.showLayerTree = true
}
+ },
+ // 清空地图弹窗
+ clearDialog() {
+ this.$bus.$emit('clear')
}
}
}
@@ -178,7 +182,7 @@
right: 20px;
top: 1rem;
display: flex;
- width: 20rem;
+ width: 15rem;
height: 5rem;
z-index: 1111111111;
}
diff --git a/src/pages/csdz/iot/index.vue b/src/pages/csdz/iot/index.vue
index 63b60ea..8aefaea 100644
--- a/src/pages/csdz/iot/index.vue
+++ b/src/pages/csdz/iot/index.vue
@@ -259,8 +259,8 @@
localPoint(e) {
// this.childrenClick(e)
this.clickIcon({
- _data:{
- data:e
+ _data: {
+ data: e
}
})
},
@@ -280,6 +280,11 @@
},
mounted() {
this.search()
+ this.$bus.$on('clear', () => {
+ this.isShowEvent = false
+ this.isShowEventPop = false
+ this.isShowPop = false
+ })
// getStatistics().then(res => {
// if (res.code === 200 && res.data.value.length) {
// console.log(res.data, '')
diff --git a/src/pages/csdz/smartCard/index.vue b/src/pages/csdz/smartCard/index.vue
index 48721f7..32573d2 100644
--- a/src/pages/csdz/smartCard/index.vue
+++ b/src/pages/csdz/smartCard/index.vue
@@ -112,6 +112,7 @@
btnClick(e) {
clearResetMap()
this.selectIndex = e.target.id
+ this.isShowPop = false
if (this.selectIndex === 'publicBtn') {
// 绘制热力图
heat([
@@ -870,6 +871,10 @@
getStatistics({}).then(res => {
console.log(res.data, '一卡通')
})
+ this.$bus.$on('clear', () => {
+ this.isShowPop = false
+ this.isShowEvent = false
+ })
}
}
diff --git a/src/pages/csdz/videoCloud/index.vue b/src/pages/csdz/videoCloud/index.vue
index 4b8d110..81530d5 100644
--- a/src/pages/csdz/videoCloud/index.vue
+++ b/src/pages/csdz/videoCloud/index.vue
@@ -695,6 +695,11 @@
},
mounted() {
this.drawSence()
+ this.$bus.$on('clear', () => {
+ this.isShowPop = false
+ this.isShowEvent = false
+ this.isShowEventPop = false
+ })
}
}
diff --git a/src/pages/ywts/cszl/gd/index.vue b/src/pages/ywts/cszl/gd/index.vue
index e9be7b0..35ee8d7 100644
--- a/src/pages/ywts/cszl/gd/index.vue
+++ b/src/pages/ywts/cszl/gd/index.vue
@@ -1,30 +1,23 @@
-
-
+
+
@@ -34,7 +27,7 @@
import TimeManager from "@/components/TimeManager";
import GdPop from "./gdPop";
import { heat } from '@/utils/freedo/heat'
-import { clearUpMap, clearResetMap ,AddLabelPoint, initPosition } from '@/utils/freedo'
+import { clearUpMap, clearResetMap, AddLabelPoint, initPosition } from '@/utils/freedo'
import {
getHeat,
getArea,
@@ -43,17 +36,17 @@
getStatistics,
getCasePointList, getCaseInfo
} from "../../../../api/ywts/cszl/gd";
-import {AddDivPointCase, AddDivPointHighlight, AddLabel, focusPoint} from "../../../../utils/freedo";
+import { AddDivPointCase, AddDivPointHighlight, AddLabel, focusPoint } from "../../../../utils/freedo";
import ListPage from "@/components/ListPage";
import KeywordManager from "../../../../components/KeywordManager";
import gridJson from "@/assets/mapJson/grid.json";
import mapJson from "@/assets/mapJson/map.json";
-import {eventBus} from "../../../../main";
+import { eventBus } from "../../../../main";
export default {
name: 'Gd',
- components: {KeywordManager, GdPop, TimeManager, LayerManagerMix, ListPage, CommonBtn },
+ components: { KeywordManager, GdPop, TimeManager, LayerManagerMix, ListPage, CommonBtn },
data() {
return {
isListPage: false,
@@ -73,19 +66,19 @@
caseTotal: 0,
layerManager: null,
caseIcon: {
- 1: require('@/assets/images/icon/事件/已撤案.png'),
- 2: require('@/assets/images/icon/事件/指派中.png'),
- 3: require('@/assets/images/icon/事件/处置中.png'),
- 4: require('@/assets/images/icon/事件/已办结.png'),
- 5: require('@/assets/images/icon/事件/已结案.png'),
- },
+ 1: require('@/assets/images/icon/事件/已撤案.png'),
+ 2: require('@/assets/images/icon/事件/指派中.png'),
+ 3: require('@/assets/images/icon/事件/处置中.png'),
+ 4: require('@/assets/images/icon/事件/已办结.png'),
+ 5: require('@/assets/images/icon/事件/已结案.png'),
+ },
caseColor: {
- 1: '#ffffff88',
- 2: '#fdeb5688',
- 3: '#85c8ff88',
- 4: '#ffba7488',
- 5: '#87f6b388',
- },
+ 1: '#ffffff88',
+ 2: '#fdeb5688',
+ 3: '#85c8ff88',
+ 4: '#ffba7488',
+ 5: '#87f6b388',
+ },
time: {
startTime: '',
endTime: '',
@@ -105,10 +98,10 @@
name: '工地设备',
value: 'device'
}
- // , {
- // name: '环监设备',
- // value: 'others'
- // }
+ // , {
+ // name: '环监设备',
+ // value: 'others'
+ // }
],
menus: {
device: [
@@ -122,7 +115,7 @@
},
mounted() {
getStatistics().then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
this.menus.device = response.data.value
}
})
@@ -135,28 +128,24 @@
autoFlyto: true,
})
- eventBus.$emit('change-layer', { id:1, checked: false});
- eventBus.$emit('change-layer', { id:2, checked: false});
- eventBus.$emit('change-layer', { id:3, checked: false});
- eventBus.$emit('change-layer', { id:4, checked: false});
- eventBus.$emit('change-layer', { id:5, checked: true});
- eventBus.$emit('change-layer', { id:44, checked: true});
- eventBus.$emit('change-layer', { id:21, checked: true});
- eventBus.$emit('change-layer', { id:12, checked: true});
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: false }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: true });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: false });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: true }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
-
- // window.pmtsManager.add({
- // id: "智慧工地-手工模型",
- // url: mapJson.CIM4["智慧工地-手工模型"],
- // show: true,
- // maximumScreenSpaceError: 32,
- // maximumMemoryUsage: 64,
- // maximumAbsoluteMemoryUsage: 8192,
- // autoFlyto: true
- // },
- // undefined
- // )
- // window.terrainManager.visible = true
+ // 清除弹窗展示
+ this.$bus.$on('clear', () => {
+ this.isListPage = false
+ this.isShow = false
+ })
},
methods: {
async btnClick(e) {
@@ -179,7 +168,7 @@
break
case "personBtn":
getHeat().then(res => {
- if(res.code === 200) {
+ if (res.code === 200) {
console.log(res.data, '热力')
const arr = res.data.value.filter(item => item.lng !== "" && item.lng !== null)
// arr.splice(0,1) // todo: 测试第一个错误数据
@@ -192,17 +181,17 @@
// 设备图层控制
layer(item) {
// clearUpMap(true)
- const iconOnline = require('@/assets/images/icon/工地地图点位/'+item.typename.replace(/ /g,'')+'在线.png')
- const iconOffline = require('@/assets/images/icon/工地地图点位/'+item.typename.replace(/ /g,'')+'离线.png')
- getDevList({type: item.type}).then(response => {
- if(response.code === 200) {
+ const iconOnline = require('@/assets/images/icon/工地地图点位/' + item.typename.replace(/ /g, '') + '在线.png')
+ const iconOffline = require('@/assets/images/icon/工地地图点位/' + item.typename.replace(/ /g, '') + '离线.png')
+ getDevList({ type: item.type }).then(response => {
+ if (response.code === 200) {
clearUpMap(true)
this.keywordList = response.data.value
response.data.value.forEach(item => {
AddLabelPoint(
item.id,
'',
- item.status === '1'? iconOnline: iconOffline,
+ item.status === '1' ? iconOnline : iconOffline,
[item.lon, item.lat, 0], 'gd-dev', item,
null)
})
@@ -216,23 +205,23 @@
// keywords: this.keyword
}
getCasePointList(param).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
clearUpMap(true)
const data = []
response.data.value.forEach(item => {
- if(!data.map(da => da.id).includes(item.id) && !data.map(da => da.lon).includes(item.lon) && item.id !== null) {
+ if (!data.map(da => da.id).includes(item.id) && !data.map(da => da.lon).includes(item.lon) && item.id !== null) {
data.push(item)
}
})
this.keywordList = data
data.forEach(item => {
// if(item.total === '1') {
- AddLabelPoint(
- item.id,
- '',
- this.caseIcon[item.eventstatus],
- [item.lon, item.lat, 0], 'gd-case', item,
- this.clickCase)
+ AddLabelPoint(
+ item.id,
+ '',
+ this.caseIcon[item.eventstatus],
+ [item.lon, item.lat, 0], 'gd-case', item,
+ this.clickCase)
// } else {
// AddDivPointCase(item, this.caseColor[item.status], item.total, this.clickCase)
// }
@@ -244,8 +233,8 @@
search() {
const iconDone = require('@/assets/images/icon/工地地图点位/工地已完成.png')
const iconDoing = require('@/assets/images/icon/工地地图点位/工地进行中.png')
- getArea({keywords: this.keyword}).then(response => {
- if(response.code === 200) {
+ getArea({ keywords: this.keyword }).then(response => {
+ if (response.code === 200) {
clearUpMap(true)
this.keywordList = response.data.value
response.data.value.forEach(item => {
@@ -254,7 +243,7 @@
AddLabelPoint(
item.id,
item.name,
- item.status === '2' ? iconDoing: iconDone,
+ item.status === '2' ? iconDoing : iconDone,
[item.lon, item.lat, 0], 'gd', item,
this.clickGd)
})
@@ -265,8 +254,8 @@
score() {
const iconDone = require('@/assets/images/icon/工地地图点位/工地已完成.png')
const iconDoing = require('@/assets/images/icon/工地地图点位/工地进行中.png')
- getArea({keywords: this.keyword}).then(response => {
- if(response.code === 200) {
+ getArea({ keywords: this.keyword }).then(response => {
+ if (response.code === 200) {
this.keywordList = response.data.value
response.data.value.forEach(item => {
// console.log(item,'321123')
@@ -280,8 +269,8 @@
})
}
})
- getMonthGdScore({keywords: this.keyword}).then(response => {
- if(response.code === 200) {
+ getMonthGdScore({ keywords: this.keyword }).then(response => {
+ if (response.code === 200) {
response.data.value.filter(item => item.lng !== "" && item.lng !== null).forEach(item => {
AddLabel(
item.id,
@@ -304,7 +293,7 @@
clickCase(eventArg) {
const item = eventArg._data.data
// 恢复上一个marker
- if(this.preCase !== null ) {
+ if (this.preCase !== null) {
window.mmManager.removeById(this.preCase.id)
AddLabelPoint(
this.preCase.id,
@@ -313,7 +302,7 @@
[this.preCase.lon, this.preCase.lat, 0], 'gd-case', this.preCase,
this.clickCase)
}
- if(item.total === '1') {
+ if (item.total === '1') {
// 保存当前marker
this.preCase = item
// 高亮当前marker
@@ -323,7 +312,7 @@
this.preCase = null
}
// 查询事件详情
- this.caseTotal = Number(item.total)
+ this.caseTotal = Number(item.total)
this.isListPage = true
this.$refs.caseListPage.initDialog()
this.caseListQuery = {
@@ -345,16 +334,16 @@
searchCaseMarkerList() {
// getCaseInfo(this.caseListQuery).then(response => {
getCaseInfo(this.caseListQuery).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
console.log(response.data.value)
// 右侧看板
- this.caseList = response.data.value
+ this.caseList = response.data.value
}
})
},
handleTimeRange(time) {
this.isListPage = false
- if(this.time.startTime !== '') {
+ if (this.time.startTime !== '') {
this.time = time
this.casePoint()
} else {
diff --git a/src/pages/ywts/cszl/hw/index.vue b/src/pages/ywts/cszl/hw/index.vue
index e773b7d..ed28bc6 100644
--- a/src/pages/ywts/cszl/hw/index.vue
+++ b/src/pages/ywts/cszl/hw/index.vue
@@ -31,6 +31,7 @@
import ListPage from "@/components/ListPage";
import { getPlacePointList, getOverviewStatistics, getPersonList, getCarList, getCaseList, getCaseInfo } from '@/api/ywts/cszl/hw'
import { iconFilter, iconPerson, personList, carList, iconCar } from './data'
+import { eventBus } from "../../../../main";
export default {
name: 'Hw',
components: { TimeManager, LayerManagerMix, ListPage, CommonBtn, Pop },
@@ -94,7 +95,25 @@
},
mounted() {
clearResetMap()
+ this.selectInde = 'deviceBtn'
this.fetchPoint()
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: false }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: false });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: false });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: false }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
+ // 清除弹窗展示
+ this.$bus.$on('clear', () => {
+ this.isListPage = false
+ this.showPop = false
+ })
},
methods: {
async btnClick(e) {
@@ -263,17 +282,17 @@
// this.caseList = res.data.value || []
// this.caseTotal = this.caseList.length
res.data.value.forEach(item => {
- AddLabelPoint(
- item.id.replaceAll('.', ''),
- '',
- this.caseIcon[item.status],
- [item.lon, item.lat, 0], 'gd-case', item,
- this.clickCase)
- })
+ AddLabelPoint(
+ item.id.replaceAll('.', ''),
+ '',
+ this.caseIcon[item.status],
+ [item.lon, item.lat, 0], 'gd-case', item,
+ this.clickCase)
+ })
})
},
- // 点击事件icon
- clickCase(eventArg) {
+ // 点击事件icon
+ clickCase(eventArg) {
const item = eventArg._data.data
// 恢复上一个marker
if (this.preCase !== null) {
@@ -306,11 +325,11 @@
getCaseInfo(this.caseListQuery).then(res => {
console.log(res.data, '事件详情')
this.caseList = res.data.value || []
- this.caseTotal = this.caseList.length
+ this.caseTotal = this.caseList.length
})
},
- // 事件换页
- changePage(val) {
+ // 事件换页
+ changePage(val) {
if (val && val.page) {
this.caseListQuery.pageNo = val.page
}
diff --git a/src/pages/ywts/cszl/jt/index.vue b/src/pages/ywts/cszl/jt/index.vue
index fb1ce91..ef5938c 100644
--- a/src/pages/ywts/cszl/jt/index.vue
+++ b/src/pages/ywts/cszl/jt/index.vue
@@ -1,15 +1,21 @@
-
+
@@ -26,8 +32,9 @@
getStatistics,
getCasePointList, getCaseInfo
} from "../../../../api/ywts/cszl/gd";
-import {AddDivPointHighlight, AddLabel} from "../../../../utils/freedo";
+import { AddDivPointHighlight, AddLabel } from "../../../../utils/freedo";
import ListPage from "@/components/ListPage";
+import { eventBus } from "../../../../main";
export default {
name: 'Jt',
@@ -47,19 +54,19 @@
},
caseTotal: 0,
caseIcon: {
- 1: require('@/assets/images/icon/事件/已撤案.png'),
- 2: require('@/assets/images/icon/事件/指派中.png'),
- 3: require('@/assets/images/icon/事件/处置中.png'),
- 4: require('@/assets/images/icon/事件/已办结.png'),
- 5: require('@/assets/images/icon/事件/已结案.png'),
- },
+ 1: require('@/assets/images/icon/事件/已撤案.png'),
+ 2: require('@/assets/images/icon/事件/指派中.png'),
+ 3: require('@/assets/images/icon/事件/处置中.png'),
+ 4: require('@/assets/images/icon/事件/已办结.png'),
+ 5: require('@/assets/images/icon/事件/已结案.png'),
+ },
caseColor: {
- 1: '#ffffff',
- 2: '#fdeb56',
- 3: '#85c8ff',
- 4: '#ffba74',
- 5: '#87f6b3',
- },
+ 1: '#ffffff',
+ 2: '#fdeb56',
+ 3: '#85c8ff',
+ 4: '#ffba74',
+ 5: '#87f6b3',
+ },
time: {
startTime: '',
endTime: '',
@@ -81,10 +88,10 @@
name: '基础设施',
value: 'place'
}
- // , {
- // name: '环监设备',
- // value: 'others'
- // }
+ // , {
+ // name: '环监设备',
+ // value: 'others'
+ // }
],
menus: {
place: [
@@ -98,11 +105,27 @@
},
mounted() {
getStatistics().then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
this.menus.place = response.data.value
}
})
this.search()
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: false }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: false });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: true });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: true }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
+ // 清除弹窗展示
+ this.$bus.$on('clear', () => {
+ this.isListPage = false
+ })
},
methods: {
async btnClick(e) {
@@ -121,16 +144,16 @@
// 设备图层控制
layer(item) {
// clearUpMap()
- const iconOnline = require('@/assets/images/icon/工地地图点位/'+item.typename.replace(/ /g,'')+'在线.png')
- const iconOffline = require('@/assets/images/icon/工地地图点位/'+item.typename.replace(/ /g,'')+'离线.png')
- getDevList({type: item.type}).then(response => {
- if(response.code === 200) {
+ const iconOnline = require('@/assets/images/icon/工地地图点位/' + item.typename.replace(/ /g, '') + '在线.png')
+ const iconOffline = require('@/assets/images/icon/工地地图点位/' + item.typename.replace(/ /g, '') + '离线.png')
+ getDevList({ type: item.type }).then(response => {
+ if (response.code === 200) {
clearUpMap()
response.data.value.forEach(item => {
AddLabelPoint(
item.id,
'',
- item.status === '1'? iconOnline: iconOffline,
+ item.status === '1' ? iconOnline : iconOffline,
[item.lon, item.lat, 0], 'gd-place', item,
null)
})
@@ -141,11 +164,11 @@
casePoint() {
console.log(this.time)
getCasePointList(this.time).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
clearUpMap()
const data = []
response.data.value.forEach(item => {
- if(!data.map(da => da.id).includes(item.id) && !data.map(da => da.lon).includes(item.lon) && item.id !== null) {
+ if (!data.map(da => da.id).includes(item.id) && !data.map(da => da.lon).includes(item.lon) && item.id !== null) {
data.push(item)
}
})
@@ -165,7 +188,7 @@
const iconDone = require('@/assets/images/icon/工地地图点位/工地已完成.png')
const iconDoing = require('@/assets/images/icon/工地地图点位/工地进行中.png')
getArea({}).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
clearUpMap()
response.data.value.forEach(item => {
// console.log(item.areaboundary)
@@ -173,7 +196,7 @@
AddLabelPoint(
item.id,
item.name,
- item.status === '2' ? iconDoing: iconDone,
+ item.status === '2' ? iconDoing : iconDone,
[item.lon, item.lat, 0], 'gd', item,
this.clickHw)
})
@@ -183,7 +206,7 @@
// 智慧工地-工地近1月综合得分
score() {
getArea({}).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
response.data.value.forEach(item => {
console.log(item.areaboundary)
// todo : 画范围
@@ -195,7 +218,7 @@
clickCase(eventArg) {
const item = eventArg._data.data
// 恢复上一个marker
- if(this.preCase !== null ) {
+ if (this.preCase !== null) {
window.mmManager.removeById(this.preCase.id)
AddLabelPoint(
this.preCase.id,
@@ -231,13 +254,13 @@
searchCaseMarkerList() {
// getCaseInfo(this.caseListQuery).then(response => {
getCaseInfo(this.caseListQuery).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
console.log(response.data.value)
// 右侧看板
- this.caseList = response.data.value
+ this.caseList = response.data.value
// todo
// this.caseTotal = response.data.value.length
- this.caseTotal = 12
+ this.caseTotal = 12
}
})
},
@@ -246,7 +269,7 @@
},
handleTimeRange(time) {
this.isListPage = false
- if(this.time.startTime !== '') {
+ if (this.time.startTime !== '') {
this.time = time
this.casePoint()
} else {
diff --git a/src/pages/ywts/cszl/jxh/index.vue b/src/pages/ywts/cszl/jxh/index.vue
index a3703db..0f23aaa 100644
--- a/src/pages/ywts/cszl/jxh/index.vue
+++ b/src/pages/ywts/cszl/jxh/index.vue
@@ -1,26 +1,24 @@
-
-
+
+
@@ -44,14 +42,15 @@
getAll,
getCaseInfo, getBoard
} from "../../../../api/ywts/cszl/jxh";
-import {AddDivPointCase, AddDivPointHighlight, AddOnlyLabel, AddPolygon} from "../../../../utils/freedo";
+import { AddDivPointCase, AddDivPointHighlight, AddOnlyLabel, AddPolygon } from "../../../../utils/freedo";
import ListPage from "@/components/ListPage";
-import {getGridInfo, getGridToken} from "../../../../api/common";
+import { getGridInfo, getGridToken } from "../../../../api/common";
import JxhPop from "./jxhPop";
+import { eventBus } from "../../../../main";
export default {
name: 'Jxh',
- components: {JxhPop, LayerManager, TimeManager, KeywordManager, CommonBtn, ListPage },
+ components: { JxhPop, LayerManager, TimeManager, KeywordManager, CommonBtn, ListPage },
data() {
return {
preCase: null,
@@ -128,6 +127,22 @@
}
},
mounted() {
+ this.$bus.$on('clear', () => {
+ this.isListPage = false
+ this.isShow = false
+ })
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: false }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: false });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: false });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: false }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
// 全部事件
getAll({
// urgent: '0',
@@ -135,8 +150,8 @@
// high: '0',
startTime: this.time.startTime,
endTime: this.time.endTime,
- }).then( res => {
- if(res.code === 200) {
+ }).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
@@ -154,7 +169,7 @@
caseMarker(res) {
res.data.value.forEach(item => {
// console.log(item.status)
- if(item.total === '1') {
+ if (item.total === '1') {
AddLabelPoint(
item.id,
'',
@@ -180,24 +195,24 @@
switch (e.bigtype) {
case 'source':
query.sourceId = e.type
- getSourceList(query).then( res => {
- if(res.code === 200) {
+ getSourceList(query).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
break
case 'project':
query.projectId = e.type
- getProjectList(query).then( res => {
- if(res.code === 200) {
+ getProjectList(query).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
break
case 'grid':
query.gridType = e.type
- getGridList(query).then( res => {
- if(res.code === 200) {
+ getGridList(query).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
@@ -208,7 +223,7 @@
clickCase(eventArg) {
const item = eventArg._data.data
// 恢复上一个marker
- if(this.preCase !== null ) {
+ if (this.preCase !== null) {
window.mmManager.removeById(this.preCase.id)
AddLabelPoint(
this.preCase.id,
@@ -218,7 +233,7 @@
this.clickCase)
}
- if(item.total === '1') {
+ if (item.total === '1') {
// 保存当前marker
this.preCase = item
// 高亮当前marker
@@ -229,7 +244,7 @@
}
// 查询事件详情
- this.caseTotal = Number(item.total)
+ this.caseTotal = Number(item.total)
this.caseList = []
this.isListPage = true
this.hasUrge = false
@@ -263,13 +278,13 @@
// high: '0',
startTime: this.time.startTime,
endTime: this.time.endTime,
- }).then( res => {
- if(res.code === 200) {
+ }).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
// 事件看板
- this.caseTotal = 1000 // todo
+ this.caseTotal = 1000 // todo
this.caseList = []
this.isListPage = true
this.hasUrge = true
@@ -292,8 +307,8 @@
high: '1',
startTime: this.time.startTime,
endTime: this.time.endTime,
- }).then( res => {
- if(res.code === 200) {
+ }).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
@@ -306,8 +321,8 @@
// high: '0',
startTime: this.time.startTime,
endTime: this.time.endTime,
- }).then( res => {
- if(res.code === 200) {
+ }).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
@@ -317,7 +332,7 @@
break
case "caseHeatBtn":
getHeat(this.time).then(res => {
- if(res.code === 200) {
+ if (res.code === 200) {
heat(res.data.value) // 热力图
}
})
@@ -326,29 +341,29 @@
},
gridDraw(token, areaCode) {
const colors = [
- [0,234,255,0.47],
- [255,185,0,0.47],
- [255,234,0,0.47],
- [209,0,255,0.47],
- [255,0,38,0.47],
+ [0, 234, 255, 0.47],
+ [255, 185, 0, 0.47],
+ [255, 234, 0, 0.47],
+ [209, 0, 255, 0.47],
+ [255, 0, 38, 0.47],
]
getGridInfo({
paramCodeList: 'KJ5001',
areaCode,
token
- }).then( res => {
+ }).then(res => {
console.log(res)
res.data.chirdAreaInfo.forEach((item, index) => {
item._source.areainfo.coordinates.forEach(area => {
let positions = []
- let arr = item._source.areainfo.type === 'MultiPolygon' ? area[0]: area
+ let arr = item._source.areainfo.type === 'MultiPolygon' ? area[0] : area
arr.forEach(pos => {
- positions.push(Freedo.Cartesian3.fromDegrees( pos[0], pos[1],0))
+ positions.push(Freedo.Cartesian3.fromDegrees(pos[0], pos[1], 0))
})
- AddPolygon(positions,colors[index % 5], this.gridClick,item._id)
+ AddPolygon(positions, colors[index % 5], this.gridClick, item._id)
AddOnlyLabel(
'',
- item._source.areaname , //+ this.menus.grid
+ item._source.areaname, //+ this.menus.grid
[item._source.lon, item._source.lat, 0],
'', null, null)
})
@@ -364,7 +379,7 @@
secret: CryptoJS.MD5(timestamp + 'geostar999').toString()
}
- getGridToken(param).then( res => {
+ getGridToken(param).then(res => {
clearUpMap()
this.gridDraw(res.data.token, '360783001')
this.gridDraw(res.data.token, '360783002')
@@ -374,32 +389,32 @@
},
// 三个概况统计
layerSeach() {
- getSource(this.time).then( res => {
- if(res.code === 200) {
+ getSource(this.time).then(res => {
+ if (res.code === 200) {
this.menus.source = res.data.value.map(item => {
item.bigtype = 'source'
- item.type = item.id.replace(/ /g,'')
- item.typename = item.name.replace(/ /g,'')
+ item.type = item.id.replace(/ /g, '')
+ item.typename = item.name.replace(/ /g, '')
return item
})
}
})
- getProject(this.time).then( res => {
- if(res.code === 200) {
+ getProject(this.time).then(res => {
+ if (res.code === 200) {
this.menus.project = res.data.value.map(item => {
item.bigtype = 'project'
- item.type = item.id.replace(/ /g,'')
- item.typename = item.name.replace(/ /g,'')
+ item.type = item.id.replace(/ /g, '')
+ item.typename = item.name.replace(/ /g, '')
return item
})
}
})
- getGrid(this.time).then( res => {
- if(res.code === 200) {
+ getGrid(this.time).then(res => {
+ if (res.code === 200) {
this.menus.grid = res.data.value.map(item => {
item.bigtype = 'grid'
- item.type = item.id.replace(/ /g,'')
- item.typename = item.name.replace(/ /g,'')
+ item.type = item.id.replace(/ /g, '')
+ item.typename = item.name.replace(/ /g, '')
return item
})
}
@@ -410,7 +425,7 @@
if (val && val.page) {
this.caseListQuery.pageNo = val.page
}
- if(this.hasUrge) {
+ if (this.hasUrge) {
this.searchBoard()
} else {
this.searchCaseMarkerList()
@@ -419,20 +434,20 @@
// 事件看板查询
searchBoard() {
getBoard(this.caseListQuery).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
console.log(response.data.value)
// 右侧看板
- this.caseList = response.data.value
+ this.caseList = response.data.value
}
})
},
// 事件详情分页
searchCaseMarkerList() {
getCaseInfo(this.caseListQuery).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
console.log(response.data.value)
// 右侧看板
- this.caseList = response.data.value
+ this.caseList = response.data.value
}
})
},
diff --git a/src/pages/ywts/cszl/yj/index.vue b/src/pages/ywts/cszl/yj/index.vue
index 7869a73..d74dfe9 100644
--- a/src/pages/ywts/cszl/yj/index.vue
+++ b/src/pages/ywts/cszl/yj/index.vue
@@ -45,7 +45,7 @@
import { AddDivPointHighlight, AddLabel } from "../../../../utils/freedo";
import { iconFilter, deviceList, caseList } from './data'
import ListPage from "@/components/ListPage";
-
+import { eventBus } from "../../../../main";
export default {
name: 'Yj',
components: { TimeManager, LayerManagerMix, ListPage, CommonBtn, Pop },
@@ -118,14 +118,25 @@
}
},
mounted() {
- // getStatistics().then(response => {
- // if(response.code === 200) {
- // this.menus.place = response.data.value
- // }
- // })
- // this.search()
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: false }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: false });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: false });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: false }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
clearResetMap()
this.searchPlace({})
+
+ this.$bus.$on('clear', () => {
+ this.isListPage = false
+ this.showPop = false
+ })
},
methods: {
async btnClick(e) {
diff --git a/src/pages/ywts/shms/jy/devicePop.vue b/src/pages/ywts/shms/jy/devicePop.vue
new file mode 100644
index 0000000..2c44979
--- /dev/null
+++ b/src/pages/ywts/shms/jy/devicePop.vue
@@ -0,0 +1,281 @@
+
+
+
+
+
+
+
+ 设备名称: {{
+ gdInfo.name }}
+ 设备类型: {{
+ gdInfo.typename }}
+ 设备状态: {{
+ gdInfo.statusName }}
+ 设备位置: {{
+ gdInfo.location }}
+ 时间: {{ gdInfo.time
+ }}
+ 进/出人口数: {{ gdInfo.in
+ }}/{{ gdInfo.out }}
+ 是否赋能: 否
+
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/ywts/shms/jy/index.vue b/src/pages/ywts/shms/jy/index.vue
index b1eb984..f377985 100644
--- a/src/pages/ywts/shms/jy/index.vue
+++ b/src/pages/ywts/shms/jy/index.vue
@@ -6,11 +6,13 @@
+ :select="selectIndex === 'layerBtn'" @btnClick="btnClick" @menuClick="menuClick" />
+
+
@@ -29,13 +31,15 @@
import mapJson from "@/assets/mapJson/map.json";
import modelJson from "@/assets/mapJson/school.json";
import { eventBus } from "../../../../main";
+import devicePop from './devicePop.vue'
export default {
name: 'Jy',
- components: { SchoolPop, TimeManager, KeywordManager, LayerManagerMix, CommonBtn },
+ components: { SchoolPop, TimeManager, KeywordManager, LayerManagerMix, CommonBtn, devicePop },
data() {
return {
isShow: false,
+ showDevice: false,
ktSelect: '',
keyword: '',
keywordList: [],
@@ -56,10 +60,15 @@
},
menus: {
device: [
- { type: "1", typename: "视频设备", total: "111" },
- { type: "2", typename: "门禁设备", total: "111" }
+ { type: "1", typename: "视频设备", total: "0" },
+ { type: "2", typename: "门禁设备", total: "0" }
]
- }
+ },
+ markerList: [],
+ markerBakList: [],
+ videoIcon: require('@/assets/images/icon/视频云/枪机未赋能在线.png'),
+ controlIcon: require('@/assets/images/icon/一卡通/门禁.png'),
+
}
},
mounted() {
@@ -70,55 +79,25 @@
name: 'jy',
autoFlyto: true,
})
- eventBus.$emit('change-layer', { id: 1, checked: false });
- eventBus.$emit('change-layer', { id: 2, checked: false });
- eventBus.$emit('change-layer', { id: 3, checked: false });
- eventBus.$emit('change-layer', { id: 4, checked: false });
- eventBus.$emit('change-layer', { id: 5, checked: true });
- eventBus.$emit('change-layer', { id: 41, checked: true });
- eventBus.$emit('change-layer', { id: 21, checked: true });
- eventBus.$emit('change-layer', { id: 12, checked: true });
- // // 教育模型
- // window.pmtsManager.add({
- // id: "智慧教育-手工模型",
- // url: mapJson.CIM4["智慧教育-手工模型"],
- // show: true,
- // maximumScreenSpaceError: 32,
- // maximumMemoryUsage: 64,
- // maximumAbsoluteMemoryUsage: 8192,
- // autoFlyto: true
- // },
- // undefined
- // )
- // // CIM2 楼
- // window.pmtsManager.add({
- // url: mapJson['CIM2']['CIM2建筑(带纹理)'],
- // show: true,
- // name: 'CIM2建筑(带纹理)',
- // autoFlyto: false
- // })
- // window.pmtsManager.add({
- // url: mapJson['CIM2']['CIM2建筑(带纹理)'],
- // show: true,
- // name: 'CIM2建筑(带纹理)',
- // autoFlyto: false,
- // alpha: 0.5,
- // color: '#002d7a'
- // })
- // for(let key in modelJson) {
- // window.pmtsManager.add({
- // id: key,
- // // url: mapJson.CIM4["智慧教育-手工模型"],
- // url: modelJson[key],
- // show: true,
- // maximumScreenSpaceError: 32,
- // maximumMemoryUsage: 64,
- // maximumAbsoluteMemoryUsage: 8192,
- // autoFlyto: true
- // },
- // undefined
- // )
- // }
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: true }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: false });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: false });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: true }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
+
+ // 清除弹窗展示
+ this.$bus.$on('clear', () => {
+ this.isShow = false
+ this.showDevice = false
+
+ })
},
methods: {
async btnClick(e) {
@@ -126,6 +105,7 @@
clearUpMap(true)
initPosition()
this.isShow = false
+ this.showDevice = false
this.selectIndex = e.target.id
switch (this.selectIndex) {
case "schoolBtn":
@@ -194,10 +174,121 @@
},
// 搜索学校设备
searchDevice() {
- getDevice({}).then(res => {
- console.log('学校数据')
+ getDevice({ keywords: '' }).then(res => {
+ this.markerList = [
+ {
+ "name": "设备1",
+ "lon": "114.859995",
+ "location": "江西省赣州市南康区三江乡",
+ "id": "1676397864375291905",
+ "lat": "25.802129",
+ "type": "1",
+ "typename": "视频设备",
+ statusName: '正常',
+ time: '2025-06-16 09:05:05',
+ in: '0',
+ out: '0',
+ },
+ {
+ "name": "设备2",
+ "lon": "114.861027",
+ "location": "江西省赣州市章贡区潭六路135号靠近逸夫小学",
+ "id": "1676398916763914241",
+ "lat": "25.757553",
+ "type": "2",
+ "typename": "门禁设备",
+ statusName: '正常',
+ time: '2025-06-16 09:05:05',
+ in: '0',
+ out: '0',
+ },
+ {
+ "name": "设备3",
+ "lon": "114.880246",
+ "location": "江西省赣州市章贡区潭东镇弘腾路毅德城",
+ "id": "1676414593390350337",
+ "lat": "25.753119",
+ "type": "1",
+ "typename": "视频设备",
+ statusName: '正常',
+ time: '2025-06-16 09:05:05',
+ in: '0',
+ out: '0',
+ },
+ {
+ "name": "设备4",
+ "lon": "114.879855",
+ "location": "江西省赣州市章贡区潭东镇弘腾路毅德城",
+ "id": "1676414955455254529",
+ "lat": "25.752771",
+ "type": "1",
+ "typename": "视频设备",
+ statusName: '正常',
+ time: '2025-06-16 09:05:05',
+ in: '0',
+ out: '0',
+ },
+ {
+ "name": "设备5",
+ "lon": "114.875438",
+ "location": "江西省赣州市章贡区潭东镇弘腾路毅德城",
+ "id": "1676418661630349312",
+ "lat": "25.748733",
+ "type": "2",
+ "typename": "门禁设备",
+ statusName: '正常',
+ time: '2025-06-16 09:05:05',
+ in: '0',
+ out: '0',
+ },
+ {
+ "name": "设备6",
+ "lon": "114.867371",
+ "location": "江西省赣州市章贡区105国道135号靠近松岭上",
+ "id": "1676422908220542977",
+ "lat": "25.750388",
+ "typename": "2",
+ "typename": "门禁设备",
+ statusName: '正常',
+ time: '2025-06-16 09:05:05',
+ in: '0',
+ out: '0',
+ },
+ ]
+ this.markerBakList = JSON.parse(JSON.stringify(this.markerList))
+ this.menus.device[0].total = this.markerList.filter((item) => item.type === '1').length
+ this.menus.device[1].total = this.markerList.filter((item) => item.type === '2').length
+ // 绘制点位
+ this.markerList.forEach((item) => {
+ AddLabelPoint(
+ item.id,
+ `${item.name}`,
+ item.type === '1' ? this.videoIcon : this.controlIcon,
+ [item.lon, item.lat, 0], 'yl-dev', item,
+ this.clickDevice)
+ })
})
- }
+ },
+ menuClick(e) {
+ clearResetMap()
+ this.markerList = this.markerBakList.filter(item => item.type === e.type)
+ this.markerList.forEach((item) => {
+ AddLabelPoint(
+ item.id,
+ `${item.name}`,
+ item.type === '1' ? this.videoIcon : this.controlIcon,
+ [item.lon, item.lat, 0], 'yl-dev', item,
+ this.clickDevice)
+ })
+ },
+ // 设备点位点击
+ clickDevice(eventArg) {
+ const item = eventArg._data.data
+ this.showDevice = true
+ this.$nextTick(() => {
+ this.$refs.deviceRef.initData(item)
+ })
+ },
}
}
diff --git a/src/pages/ywts/shms/sq/carPop.vue b/src/pages/ywts/shms/sq/carPop.vue
new file mode 100644
index 0000000..b1fe4c3
--- /dev/null
+++ b/src/pages/ywts/shms/sq/carPop.vue
@@ -0,0 +1,275 @@
+
+
+
+
+
+
+
+ 名称: {{
+ gdInfo.name }}
+ 位置: {{
+ gdInfo.location }}
+ 车辆数量: {{ gdInfo.carNum
+ }}
+ 停车位: {{ gdInfo.parkSpaceNum }}
+
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/ywts/shms/sq/communityPop.vue b/src/pages/ywts/shms/sq/communityPop.vue
new file mode 100644
index 0000000..eb6bf07
--- /dev/null
+++ b/src/pages/ywts/shms/sq/communityPop.vue
@@ -0,0 +1,212 @@
+
+
+
+
+
+
{{ name }}
+
位置:{{ position
+ }}
+
+
+
+
+
+
{{ item.total }}
+
{{ item.name }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/ywts/shms/sq/components/agePie.vue b/src/pages/ywts/shms/sq/components/agePie.vue
new file mode 100644
index 0000000..9e41da8
--- /dev/null
+++ b/src/pages/ywts/shms/sq/components/agePie.vue
@@ -0,0 +1,185 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/ywts/shms/sq/components/currentPie.vue b/src/pages/ywts/shms/sq/components/currentPie.vue
new file mode 100644
index 0000000..c7dfe20
--- /dev/null
+++ b/src/pages/ywts/shms/sq/components/currentPie.vue
@@ -0,0 +1,178 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/ywts/shms/sq/components/personBar.vue b/src/pages/ywts/shms/sq/components/personBar.vue
new file mode 100644
index 0000000..b065487
--- /dev/null
+++ b/src/pages/ywts/shms/sq/components/personBar.vue
@@ -0,0 +1,193 @@
+
+
+
+
+
+
+
diff --git a/src/pages/ywts/shms/sq/components/scoreLineBar.vue b/src/pages/ywts/shms/sq/components/scoreLineBar.vue
new file mode 100644
index 0000000..1551e69
--- /dev/null
+++ b/src/pages/ywts/shms/sq/components/scoreLineBar.vue
@@ -0,0 +1,189 @@
+
+
+
+
+
+
+
diff --git a/src/pages/ywts/shms/sq/components/transitBar.vue b/src/pages/ywts/shms/sq/components/transitBar.vue
new file mode 100644
index 0000000..c23b4ba
--- /dev/null
+++ b/src/pages/ywts/shms/sq/components/transitBar.vue
@@ -0,0 +1,173 @@
+
+
+
+
+
+
+
diff --git a/src/pages/ywts/shms/sq/devicePop.vue b/src/pages/ywts/shms/sq/devicePop.vue
new file mode 100644
index 0000000..2c44979
--- /dev/null
+++ b/src/pages/ywts/shms/sq/devicePop.vue
@@ -0,0 +1,281 @@
+
+
+
+
+
+
+
+ 设备名称: {{
+ gdInfo.name }}
+ 设备类型: {{
+ gdInfo.typename }}
+ 设备状态: {{
+ gdInfo.statusName }}
+ 设备位置: {{
+ gdInfo.location }}
+ 时间: {{ gdInfo.time
+ }}
+ 进/出人口数: {{ gdInfo.in
+ }}/{{ gdInfo.out }}
+ 是否赋能: 否
+
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/ywts/shms/sq/index.vue b/src/pages/ywts/shms/sq/index.vue
new file mode 100644
index 0000000..6aa8714
--- /dev/null
+++ b/src/pages/ywts/shms/sq/index.vue
@@ -0,0 +1,478 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/ywts/ywts.vue b/src/pages/ywts/ywts.vue
index 99a5d69..80b53f9 100644
--- a/src/pages/ywts/ywts.vue
+++ b/src/pages/ywts/ywts.vue
@@ -1,23 +1,17 @@
-
-
-
-
diff --git a/src/pages/csdz/videoCloud/index.vue b/src/pages/csdz/videoCloud/index.vue
index 4b8d110..81530d5 100644
--- a/src/pages/csdz/videoCloud/index.vue
+++ b/src/pages/csdz/videoCloud/index.vue
@@ -695,6 +695,11 @@
},
mounted() {
this.drawSence()
+ this.$bus.$on('clear', () => {
+ this.isShowPop = false
+ this.isShowEvent = false
+ this.isShowEventPop = false
+ })
}
}
diff --git a/src/pages/ywts/cszl/gd/index.vue b/src/pages/ywts/cszl/gd/index.vue
index e9be7b0..35ee8d7 100644
--- a/src/pages/ywts/cszl/gd/index.vue
+++ b/src/pages/ywts/cszl/gd/index.vue
@@ -1,30 +1,23 @@
-
-
+
+
@@ -34,7 +27,7 @@
import TimeManager from "@/components/TimeManager";
import GdPop from "./gdPop";
import { heat } from '@/utils/freedo/heat'
-import { clearUpMap, clearResetMap ,AddLabelPoint, initPosition } from '@/utils/freedo'
+import { clearUpMap, clearResetMap, AddLabelPoint, initPosition } from '@/utils/freedo'
import {
getHeat,
getArea,
@@ -43,17 +36,17 @@
getStatistics,
getCasePointList, getCaseInfo
} from "../../../../api/ywts/cszl/gd";
-import {AddDivPointCase, AddDivPointHighlight, AddLabel, focusPoint} from "../../../../utils/freedo";
+import { AddDivPointCase, AddDivPointHighlight, AddLabel, focusPoint } from "../../../../utils/freedo";
import ListPage from "@/components/ListPage";
import KeywordManager from "../../../../components/KeywordManager";
import gridJson from "@/assets/mapJson/grid.json";
import mapJson from "@/assets/mapJson/map.json";
-import {eventBus} from "../../../../main";
+import { eventBus } from "../../../../main";
export default {
name: 'Gd',
- components: {KeywordManager, GdPop, TimeManager, LayerManagerMix, ListPage, CommonBtn },
+ components: { KeywordManager, GdPop, TimeManager, LayerManagerMix, ListPage, CommonBtn },
data() {
return {
isListPage: false,
@@ -73,19 +66,19 @@
caseTotal: 0,
layerManager: null,
caseIcon: {
- 1: require('@/assets/images/icon/事件/已撤案.png'),
- 2: require('@/assets/images/icon/事件/指派中.png'),
- 3: require('@/assets/images/icon/事件/处置中.png'),
- 4: require('@/assets/images/icon/事件/已办结.png'),
- 5: require('@/assets/images/icon/事件/已结案.png'),
- },
+ 1: require('@/assets/images/icon/事件/已撤案.png'),
+ 2: require('@/assets/images/icon/事件/指派中.png'),
+ 3: require('@/assets/images/icon/事件/处置中.png'),
+ 4: require('@/assets/images/icon/事件/已办结.png'),
+ 5: require('@/assets/images/icon/事件/已结案.png'),
+ },
caseColor: {
- 1: '#ffffff88',
- 2: '#fdeb5688',
- 3: '#85c8ff88',
- 4: '#ffba7488',
- 5: '#87f6b388',
- },
+ 1: '#ffffff88',
+ 2: '#fdeb5688',
+ 3: '#85c8ff88',
+ 4: '#ffba7488',
+ 5: '#87f6b388',
+ },
time: {
startTime: '',
endTime: '',
@@ -105,10 +98,10 @@
name: '工地设备',
value: 'device'
}
- // , {
- // name: '环监设备',
- // value: 'others'
- // }
+ // , {
+ // name: '环监设备',
+ // value: 'others'
+ // }
],
menus: {
device: [
@@ -122,7 +115,7 @@
},
mounted() {
getStatistics().then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
this.menus.device = response.data.value
}
})
@@ -135,28 +128,24 @@
autoFlyto: true,
})
- eventBus.$emit('change-layer', { id:1, checked: false});
- eventBus.$emit('change-layer', { id:2, checked: false});
- eventBus.$emit('change-layer', { id:3, checked: false});
- eventBus.$emit('change-layer', { id:4, checked: false});
- eventBus.$emit('change-layer', { id:5, checked: true});
- eventBus.$emit('change-layer', { id:44, checked: true});
- eventBus.$emit('change-layer', { id:21, checked: true});
- eventBus.$emit('change-layer', { id:12, checked: true});
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: false }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: true });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: false });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: true }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
-
- // window.pmtsManager.add({
- // id: "智慧工地-手工模型",
- // url: mapJson.CIM4["智慧工地-手工模型"],
- // show: true,
- // maximumScreenSpaceError: 32,
- // maximumMemoryUsage: 64,
- // maximumAbsoluteMemoryUsage: 8192,
- // autoFlyto: true
- // },
- // undefined
- // )
- // window.terrainManager.visible = true
+ // 清除弹窗展示
+ this.$bus.$on('clear', () => {
+ this.isListPage = false
+ this.isShow = false
+ })
},
methods: {
async btnClick(e) {
@@ -179,7 +168,7 @@
break
case "personBtn":
getHeat().then(res => {
- if(res.code === 200) {
+ if (res.code === 200) {
console.log(res.data, '热力')
const arr = res.data.value.filter(item => item.lng !== "" && item.lng !== null)
// arr.splice(0,1) // todo: 测试第一个错误数据
@@ -192,17 +181,17 @@
// 设备图层控制
layer(item) {
// clearUpMap(true)
- const iconOnline = require('@/assets/images/icon/工地地图点位/'+item.typename.replace(/ /g,'')+'在线.png')
- const iconOffline = require('@/assets/images/icon/工地地图点位/'+item.typename.replace(/ /g,'')+'离线.png')
- getDevList({type: item.type}).then(response => {
- if(response.code === 200) {
+ const iconOnline = require('@/assets/images/icon/工地地图点位/' + item.typename.replace(/ /g, '') + '在线.png')
+ const iconOffline = require('@/assets/images/icon/工地地图点位/' + item.typename.replace(/ /g, '') + '离线.png')
+ getDevList({ type: item.type }).then(response => {
+ if (response.code === 200) {
clearUpMap(true)
this.keywordList = response.data.value
response.data.value.forEach(item => {
AddLabelPoint(
item.id,
'',
- item.status === '1'? iconOnline: iconOffline,
+ item.status === '1' ? iconOnline : iconOffline,
[item.lon, item.lat, 0], 'gd-dev', item,
null)
})
@@ -216,23 +205,23 @@
// keywords: this.keyword
}
getCasePointList(param).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
clearUpMap(true)
const data = []
response.data.value.forEach(item => {
- if(!data.map(da => da.id).includes(item.id) && !data.map(da => da.lon).includes(item.lon) && item.id !== null) {
+ if (!data.map(da => da.id).includes(item.id) && !data.map(da => da.lon).includes(item.lon) && item.id !== null) {
data.push(item)
}
})
this.keywordList = data
data.forEach(item => {
// if(item.total === '1') {
- AddLabelPoint(
- item.id,
- '',
- this.caseIcon[item.eventstatus],
- [item.lon, item.lat, 0], 'gd-case', item,
- this.clickCase)
+ AddLabelPoint(
+ item.id,
+ '',
+ this.caseIcon[item.eventstatus],
+ [item.lon, item.lat, 0], 'gd-case', item,
+ this.clickCase)
// } else {
// AddDivPointCase(item, this.caseColor[item.status], item.total, this.clickCase)
// }
@@ -244,8 +233,8 @@
search() {
const iconDone = require('@/assets/images/icon/工地地图点位/工地已完成.png')
const iconDoing = require('@/assets/images/icon/工地地图点位/工地进行中.png')
- getArea({keywords: this.keyword}).then(response => {
- if(response.code === 200) {
+ getArea({ keywords: this.keyword }).then(response => {
+ if (response.code === 200) {
clearUpMap(true)
this.keywordList = response.data.value
response.data.value.forEach(item => {
@@ -254,7 +243,7 @@
AddLabelPoint(
item.id,
item.name,
- item.status === '2' ? iconDoing: iconDone,
+ item.status === '2' ? iconDoing : iconDone,
[item.lon, item.lat, 0], 'gd', item,
this.clickGd)
})
@@ -265,8 +254,8 @@
score() {
const iconDone = require('@/assets/images/icon/工地地图点位/工地已完成.png')
const iconDoing = require('@/assets/images/icon/工地地图点位/工地进行中.png')
- getArea({keywords: this.keyword}).then(response => {
- if(response.code === 200) {
+ getArea({ keywords: this.keyword }).then(response => {
+ if (response.code === 200) {
this.keywordList = response.data.value
response.data.value.forEach(item => {
// console.log(item,'321123')
@@ -280,8 +269,8 @@
})
}
})
- getMonthGdScore({keywords: this.keyword}).then(response => {
- if(response.code === 200) {
+ getMonthGdScore({ keywords: this.keyword }).then(response => {
+ if (response.code === 200) {
response.data.value.filter(item => item.lng !== "" && item.lng !== null).forEach(item => {
AddLabel(
item.id,
@@ -304,7 +293,7 @@
clickCase(eventArg) {
const item = eventArg._data.data
// 恢复上一个marker
- if(this.preCase !== null ) {
+ if (this.preCase !== null) {
window.mmManager.removeById(this.preCase.id)
AddLabelPoint(
this.preCase.id,
@@ -313,7 +302,7 @@
[this.preCase.lon, this.preCase.lat, 0], 'gd-case', this.preCase,
this.clickCase)
}
- if(item.total === '1') {
+ if (item.total === '1') {
// 保存当前marker
this.preCase = item
// 高亮当前marker
@@ -323,7 +312,7 @@
this.preCase = null
}
// 查询事件详情
- this.caseTotal = Number(item.total)
+ this.caseTotal = Number(item.total)
this.isListPage = true
this.$refs.caseListPage.initDialog()
this.caseListQuery = {
@@ -345,16 +334,16 @@
searchCaseMarkerList() {
// getCaseInfo(this.caseListQuery).then(response => {
getCaseInfo(this.caseListQuery).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
console.log(response.data.value)
// 右侧看板
- this.caseList = response.data.value
+ this.caseList = response.data.value
}
})
},
handleTimeRange(time) {
this.isListPage = false
- if(this.time.startTime !== '') {
+ if (this.time.startTime !== '') {
this.time = time
this.casePoint()
} else {
diff --git a/src/pages/ywts/cszl/hw/index.vue b/src/pages/ywts/cszl/hw/index.vue
index e773b7d..ed28bc6 100644
--- a/src/pages/ywts/cszl/hw/index.vue
+++ b/src/pages/ywts/cszl/hw/index.vue
@@ -31,6 +31,7 @@
import ListPage from "@/components/ListPage";
import { getPlacePointList, getOverviewStatistics, getPersonList, getCarList, getCaseList, getCaseInfo } from '@/api/ywts/cszl/hw'
import { iconFilter, iconPerson, personList, carList, iconCar } from './data'
+import { eventBus } from "../../../../main";
export default {
name: 'Hw',
components: { TimeManager, LayerManagerMix, ListPage, CommonBtn, Pop },
@@ -94,7 +95,25 @@
},
mounted() {
clearResetMap()
+ this.selectInde = 'deviceBtn'
this.fetchPoint()
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: false }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: false });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: false });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: false }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
+ // 清除弹窗展示
+ this.$bus.$on('clear', () => {
+ this.isListPage = false
+ this.showPop = false
+ })
},
methods: {
async btnClick(e) {
@@ -263,17 +282,17 @@
// this.caseList = res.data.value || []
// this.caseTotal = this.caseList.length
res.data.value.forEach(item => {
- AddLabelPoint(
- item.id.replaceAll('.', ''),
- '',
- this.caseIcon[item.status],
- [item.lon, item.lat, 0], 'gd-case', item,
- this.clickCase)
- })
+ AddLabelPoint(
+ item.id.replaceAll('.', ''),
+ '',
+ this.caseIcon[item.status],
+ [item.lon, item.lat, 0], 'gd-case', item,
+ this.clickCase)
+ })
})
},
- // 点击事件icon
- clickCase(eventArg) {
+ // 点击事件icon
+ clickCase(eventArg) {
const item = eventArg._data.data
// 恢复上一个marker
if (this.preCase !== null) {
@@ -306,11 +325,11 @@
getCaseInfo(this.caseListQuery).then(res => {
console.log(res.data, '事件详情')
this.caseList = res.data.value || []
- this.caseTotal = this.caseList.length
+ this.caseTotal = this.caseList.length
})
},
- // 事件换页
- changePage(val) {
+ // 事件换页
+ changePage(val) {
if (val && val.page) {
this.caseListQuery.pageNo = val.page
}
diff --git a/src/pages/ywts/cszl/jt/index.vue b/src/pages/ywts/cszl/jt/index.vue
index fb1ce91..ef5938c 100644
--- a/src/pages/ywts/cszl/jt/index.vue
+++ b/src/pages/ywts/cszl/jt/index.vue
@@ -1,15 +1,21 @@
-
+
@@ -26,8 +32,9 @@
getStatistics,
getCasePointList, getCaseInfo
} from "../../../../api/ywts/cszl/gd";
-import {AddDivPointHighlight, AddLabel} from "../../../../utils/freedo";
+import { AddDivPointHighlight, AddLabel } from "../../../../utils/freedo";
import ListPage from "@/components/ListPage";
+import { eventBus } from "../../../../main";
export default {
name: 'Jt',
@@ -47,19 +54,19 @@
},
caseTotal: 0,
caseIcon: {
- 1: require('@/assets/images/icon/事件/已撤案.png'),
- 2: require('@/assets/images/icon/事件/指派中.png'),
- 3: require('@/assets/images/icon/事件/处置中.png'),
- 4: require('@/assets/images/icon/事件/已办结.png'),
- 5: require('@/assets/images/icon/事件/已结案.png'),
- },
+ 1: require('@/assets/images/icon/事件/已撤案.png'),
+ 2: require('@/assets/images/icon/事件/指派中.png'),
+ 3: require('@/assets/images/icon/事件/处置中.png'),
+ 4: require('@/assets/images/icon/事件/已办结.png'),
+ 5: require('@/assets/images/icon/事件/已结案.png'),
+ },
caseColor: {
- 1: '#ffffff',
- 2: '#fdeb56',
- 3: '#85c8ff',
- 4: '#ffba74',
- 5: '#87f6b3',
- },
+ 1: '#ffffff',
+ 2: '#fdeb56',
+ 3: '#85c8ff',
+ 4: '#ffba74',
+ 5: '#87f6b3',
+ },
time: {
startTime: '',
endTime: '',
@@ -81,10 +88,10 @@
name: '基础设施',
value: 'place'
}
- // , {
- // name: '环监设备',
- // value: 'others'
- // }
+ // , {
+ // name: '环监设备',
+ // value: 'others'
+ // }
],
menus: {
place: [
@@ -98,11 +105,27 @@
},
mounted() {
getStatistics().then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
this.menus.place = response.data.value
}
})
this.search()
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: false }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: false });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: true });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: true }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
+ // 清除弹窗展示
+ this.$bus.$on('clear', () => {
+ this.isListPage = false
+ })
},
methods: {
async btnClick(e) {
@@ -121,16 +144,16 @@
// 设备图层控制
layer(item) {
// clearUpMap()
- const iconOnline = require('@/assets/images/icon/工地地图点位/'+item.typename.replace(/ /g,'')+'在线.png')
- const iconOffline = require('@/assets/images/icon/工地地图点位/'+item.typename.replace(/ /g,'')+'离线.png')
- getDevList({type: item.type}).then(response => {
- if(response.code === 200) {
+ const iconOnline = require('@/assets/images/icon/工地地图点位/' + item.typename.replace(/ /g, '') + '在线.png')
+ const iconOffline = require('@/assets/images/icon/工地地图点位/' + item.typename.replace(/ /g, '') + '离线.png')
+ getDevList({ type: item.type }).then(response => {
+ if (response.code === 200) {
clearUpMap()
response.data.value.forEach(item => {
AddLabelPoint(
item.id,
'',
- item.status === '1'? iconOnline: iconOffline,
+ item.status === '1' ? iconOnline : iconOffline,
[item.lon, item.lat, 0], 'gd-place', item,
null)
})
@@ -141,11 +164,11 @@
casePoint() {
console.log(this.time)
getCasePointList(this.time).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
clearUpMap()
const data = []
response.data.value.forEach(item => {
- if(!data.map(da => da.id).includes(item.id) && !data.map(da => da.lon).includes(item.lon) && item.id !== null) {
+ if (!data.map(da => da.id).includes(item.id) && !data.map(da => da.lon).includes(item.lon) && item.id !== null) {
data.push(item)
}
})
@@ -165,7 +188,7 @@
const iconDone = require('@/assets/images/icon/工地地图点位/工地已完成.png')
const iconDoing = require('@/assets/images/icon/工地地图点位/工地进行中.png')
getArea({}).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
clearUpMap()
response.data.value.forEach(item => {
// console.log(item.areaboundary)
@@ -173,7 +196,7 @@
AddLabelPoint(
item.id,
item.name,
- item.status === '2' ? iconDoing: iconDone,
+ item.status === '2' ? iconDoing : iconDone,
[item.lon, item.lat, 0], 'gd', item,
this.clickHw)
})
@@ -183,7 +206,7 @@
// 智慧工地-工地近1月综合得分
score() {
getArea({}).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
response.data.value.forEach(item => {
console.log(item.areaboundary)
// todo : 画范围
@@ -195,7 +218,7 @@
clickCase(eventArg) {
const item = eventArg._data.data
// 恢复上一个marker
- if(this.preCase !== null ) {
+ if (this.preCase !== null) {
window.mmManager.removeById(this.preCase.id)
AddLabelPoint(
this.preCase.id,
@@ -231,13 +254,13 @@
searchCaseMarkerList() {
// getCaseInfo(this.caseListQuery).then(response => {
getCaseInfo(this.caseListQuery).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
console.log(response.data.value)
// 右侧看板
- this.caseList = response.data.value
+ this.caseList = response.data.value
// todo
// this.caseTotal = response.data.value.length
- this.caseTotal = 12
+ this.caseTotal = 12
}
})
},
@@ -246,7 +269,7 @@
},
handleTimeRange(time) {
this.isListPage = false
- if(this.time.startTime !== '') {
+ if (this.time.startTime !== '') {
this.time = time
this.casePoint()
} else {
diff --git a/src/pages/ywts/cszl/jxh/index.vue b/src/pages/ywts/cszl/jxh/index.vue
index a3703db..0f23aaa 100644
--- a/src/pages/ywts/cszl/jxh/index.vue
+++ b/src/pages/ywts/cszl/jxh/index.vue
@@ -1,26 +1,24 @@
-
-
+
+
@@ -44,14 +42,15 @@
getAll,
getCaseInfo, getBoard
} from "../../../../api/ywts/cszl/jxh";
-import {AddDivPointCase, AddDivPointHighlight, AddOnlyLabel, AddPolygon} from "../../../../utils/freedo";
+import { AddDivPointCase, AddDivPointHighlight, AddOnlyLabel, AddPolygon } from "../../../../utils/freedo";
import ListPage from "@/components/ListPage";
-import {getGridInfo, getGridToken} from "../../../../api/common";
+import { getGridInfo, getGridToken } from "../../../../api/common";
import JxhPop from "./jxhPop";
+import { eventBus } from "../../../../main";
export default {
name: 'Jxh',
- components: {JxhPop, LayerManager, TimeManager, KeywordManager, CommonBtn, ListPage },
+ components: { JxhPop, LayerManager, TimeManager, KeywordManager, CommonBtn, ListPage },
data() {
return {
preCase: null,
@@ -128,6 +127,22 @@
}
},
mounted() {
+ this.$bus.$on('clear', () => {
+ this.isListPage = false
+ this.isShow = false
+ })
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: false }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: false });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: false });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: false }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
// 全部事件
getAll({
// urgent: '0',
@@ -135,8 +150,8 @@
// high: '0',
startTime: this.time.startTime,
endTime: this.time.endTime,
- }).then( res => {
- if(res.code === 200) {
+ }).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
@@ -154,7 +169,7 @@
caseMarker(res) {
res.data.value.forEach(item => {
// console.log(item.status)
- if(item.total === '1') {
+ if (item.total === '1') {
AddLabelPoint(
item.id,
'',
@@ -180,24 +195,24 @@
switch (e.bigtype) {
case 'source':
query.sourceId = e.type
- getSourceList(query).then( res => {
- if(res.code === 200) {
+ getSourceList(query).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
break
case 'project':
query.projectId = e.type
- getProjectList(query).then( res => {
- if(res.code === 200) {
+ getProjectList(query).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
break
case 'grid':
query.gridType = e.type
- getGridList(query).then( res => {
- if(res.code === 200) {
+ getGridList(query).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
@@ -208,7 +223,7 @@
clickCase(eventArg) {
const item = eventArg._data.data
// 恢复上一个marker
- if(this.preCase !== null ) {
+ if (this.preCase !== null) {
window.mmManager.removeById(this.preCase.id)
AddLabelPoint(
this.preCase.id,
@@ -218,7 +233,7 @@
this.clickCase)
}
- if(item.total === '1') {
+ if (item.total === '1') {
// 保存当前marker
this.preCase = item
// 高亮当前marker
@@ -229,7 +244,7 @@
}
// 查询事件详情
- this.caseTotal = Number(item.total)
+ this.caseTotal = Number(item.total)
this.caseList = []
this.isListPage = true
this.hasUrge = false
@@ -263,13 +278,13 @@
// high: '0',
startTime: this.time.startTime,
endTime: this.time.endTime,
- }).then( res => {
- if(res.code === 200) {
+ }).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
// 事件看板
- this.caseTotal = 1000 // todo
+ this.caseTotal = 1000 // todo
this.caseList = []
this.isListPage = true
this.hasUrge = true
@@ -292,8 +307,8 @@
high: '1',
startTime: this.time.startTime,
endTime: this.time.endTime,
- }).then( res => {
- if(res.code === 200) {
+ }).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
@@ -306,8 +321,8 @@
// high: '0',
startTime: this.time.startTime,
endTime: this.time.endTime,
- }).then( res => {
- if(res.code === 200) {
+ }).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
@@ -317,7 +332,7 @@
break
case "caseHeatBtn":
getHeat(this.time).then(res => {
- if(res.code === 200) {
+ if (res.code === 200) {
heat(res.data.value) // 热力图
}
})
@@ -326,29 +341,29 @@
},
gridDraw(token, areaCode) {
const colors = [
- [0,234,255,0.47],
- [255,185,0,0.47],
- [255,234,0,0.47],
- [209,0,255,0.47],
- [255,0,38,0.47],
+ [0, 234, 255, 0.47],
+ [255, 185, 0, 0.47],
+ [255, 234, 0, 0.47],
+ [209, 0, 255, 0.47],
+ [255, 0, 38, 0.47],
]
getGridInfo({
paramCodeList: 'KJ5001',
areaCode,
token
- }).then( res => {
+ }).then(res => {
console.log(res)
res.data.chirdAreaInfo.forEach((item, index) => {
item._source.areainfo.coordinates.forEach(area => {
let positions = []
- let arr = item._source.areainfo.type === 'MultiPolygon' ? area[0]: area
+ let arr = item._source.areainfo.type === 'MultiPolygon' ? area[0] : area
arr.forEach(pos => {
- positions.push(Freedo.Cartesian3.fromDegrees( pos[0], pos[1],0))
+ positions.push(Freedo.Cartesian3.fromDegrees(pos[0], pos[1], 0))
})
- AddPolygon(positions,colors[index % 5], this.gridClick,item._id)
+ AddPolygon(positions, colors[index % 5], this.gridClick, item._id)
AddOnlyLabel(
'',
- item._source.areaname , //+ this.menus.grid
+ item._source.areaname, //+ this.menus.grid
[item._source.lon, item._source.lat, 0],
'', null, null)
})
@@ -364,7 +379,7 @@
secret: CryptoJS.MD5(timestamp + 'geostar999').toString()
}
- getGridToken(param).then( res => {
+ getGridToken(param).then(res => {
clearUpMap()
this.gridDraw(res.data.token, '360783001')
this.gridDraw(res.data.token, '360783002')
@@ -374,32 +389,32 @@
},
// 三个概况统计
layerSeach() {
- getSource(this.time).then( res => {
- if(res.code === 200) {
+ getSource(this.time).then(res => {
+ if (res.code === 200) {
this.menus.source = res.data.value.map(item => {
item.bigtype = 'source'
- item.type = item.id.replace(/ /g,'')
- item.typename = item.name.replace(/ /g,'')
+ item.type = item.id.replace(/ /g, '')
+ item.typename = item.name.replace(/ /g, '')
return item
})
}
})
- getProject(this.time).then( res => {
- if(res.code === 200) {
+ getProject(this.time).then(res => {
+ if (res.code === 200) {
this.menus.project = res.data.value.map(item => {
item.bigtype = 'project'
- item.type = item.id.replace(/ /g,'')
- item.typename = item.name.replace(/ /g,'')
+ item.type = item.id.replace(/ /g, '')
+ item.typename = item.name.replace(/ /g, '')
return item
})
}
})
- getGrid(this.time).then( res => {
- if(res.code === 200) {
+ getGrid(this.time).then(res => {
+ if (res.code === 200) {
this.menus.grid = res.data.value.map(item => {
item.bigtype = 'grid'
- item.type = item.id.replace(/ /g,'')
- item.typename = item.name.replace(/ /g,'')
+ item.type = item.id.replace(/ /g, '')
+ item.typename = item.name.replace(/ /g, '')
return item
})
}
@@ -410,7 +425,7 @@
if (val && val.page) {
this.caseListQuery.pageNo = val.page
}
- if(this.hasUrge) {
+ if (this.hasUrge) {
this.searchBoard()
} else {
this.searchCaseMarkerList()
@@ -419,20 +434,20 @@
// 事件看板查询
searchBoard() {
getBoard(this.caseListQuery).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
console.log(response.data.value)
// 右侧看板
- this.caseList = response.data.value
+ this.caseList = response.data.value
}
})
},
// 事件详情分页
searchCaseMarkerList() {
getCaseInfo(this.caseListQuery).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
console.log(response.data.value)
// 右侧看板
- this.caseList = response.data.value
+ this.caseList = response.data.value
}
})
},
diff --git a/src/pages/ywts/cszl/yj/index.vue b/src/pages/ywts/cszl/yj/index.vue
index 7869a73..d74dfe9 100644
--- a/src/pages/ywts/cszl/yj/index.vue
+++ b/src/pages/ywts/cszl/yj/index.vue
@@ -45,7 +45,7 @@
import { AddDivPointHighlight, AddLabel } from "../../../../utils/freedo";
import { iconFilter, deviceList, caseList } from './data'
import ListPage from "@/components/ListPage";
-
+import { eventBus } from "../../../../main";
export default {
name: 'Yj',
components: { TimeManager, LayerManagerMix, ListPage, CommonBtn, Pop },
@@ -118,14 +118,25 @@
}
},
mounted() {
- // getStatistics().then(response => {
- // if(response.code === 200) {
- // this.menus.place = response.data.value
- // }
- // })
- // this.search()
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: false }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: false });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: false });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: false }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
clearResetMap()
this.searchPlace({})
+
+ this.$bus.$on('clear', () => {
+ this.isListPage = false
+ this.showPop = false
+ })
},
methods: {
async btnClick(e) {
diff --git a/src/pages/ywts/shms/jy/devicePop.vue b/src/pages/ywts/shms/jy/devicePop.vue
new file mode 100644
index 0000000..2c44979
--- /dev/null
+++ b/src/pages/ywts/shms/jy/devicePop.vue
@@ -0,0 +1,281 @@
+
+
+
+
+
+
+
+ 设备名称: {{
+ gdInfo.name }}
+ 设备类型: {{
+ gdInfo.typename }}
+ 设备状态: {{
+ gdInfo.statusName }}
+ 设备位置: {{
+ gdInfo.location }}
+ 时间: {{ gdInfo.time
+ }}
+ 进/出人口数: {{ gdInfo.in
+ }}/{{ gdInfo.out }}
+ 是否赋能: 否
+
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/ywts/shms/jy/index.vue b/src/pages/ywts/shms/jy/index.vue
index b1eb984..f377985 100644
--- a/src/pages/ywts/shms/jy/index.vue
+++ b/src/pages/ywts/shms/jy/index.vue
@@ -6,11 +6,13 @@
+ :select="selectIndex === 'layerBtn'" @btnClick="btnClick" @menuClick="menuClick" />
+
+
@@ -29,13 +31,15 @@
import mapJson from "@/assets/mapJson/map.json";
import modelJson from "@/assets/mapJson/school.json";
import { eventBus } from "../../../../main";
+import devicePop from './devicePop.vue'
export default {
name: 'Jy',
- components: { SchoolPop, TimeManager, KeywordManager, LayerManagerMix, CommonBtn },
+ components: { SchoolPop, TimeManager, KeywordManager, LayerManagerMix, CommonBtn, devicePop },
data() {
return {
isShow: false,
+ showDevice: false,
ktSelect: '',
keyword: '',
keywordList: [],
@@ -56,10 +60,15 @@
},
menus: {
device: [
- { type: "1", typename: "视频设备", total: "111" },
- { type: "2", typename: "门禁设备", total: "111" }
+ { type: "1", typename: "视频设备", total: "0" },
+ { type: "2", typename: "门禁设备", total: "0" }
]
- }
+ },
+ markerList: [],
+ markerBakList: [],
+ videoIcon: require('@/assets/images/icon/视频云/枪机未赋能在线.png'),
+ controlIcon: require('@/assets/images/icon/一卡通/门禁.png'),
+
}
},
mounted() {
@@ -70,55 +79,25 @@
name: 'jy',
autoFlyto: true,
})
- eventBus.$emit('change-layer', { id: 1, checked: false });
- eventBus.$emit('change-layer', { id: 2, checked: false });
- eventBus.$emit('change-layer', { id: 3, checked: false });
- eventBus.$emit('change-layer', { id: 4, checked: false });
- eventBus.$emit('change-layer', { id: 5, checked: true });
- eventBus.$emit('change-layer', { id: 41, checked: true });
- eventBus.$emit('change-layer', { id: 21, checked: true });
- eventBus.$emit('change-layer', { id: 12, checked: true });
- // // 教育模型
- // window.pmtsManager.add({
- // id: "智慧教育-手工模型",
- // url: mapJson.CIM4["智慧教育-手工模型"],
- // show: true,
- // maximumScreenSpaceError: 32,
- // maximumMemoryUsage: 64,
- // maximumAbsoluteMemoryUsage: 8192,
- // autoFlyto: true
- // },
- // undefined
- // )
- // // CIM2 楼
- // window.pmtsManager.add({
- // url: mapJson['CIM2']['CIM2建筑(带纹理)'],
- // show: true,
- // name: 'CIM2建筑(带纹理)',
- // autoFlyto: false
- // })
- // window.pmtsManager.add({
- // url: mapJson['CIM2']['CIM2建筑(带纹理)'],
- // show: true,
- // name: 'CIM2建筑(带纹理)',
- // autoFlyto: false,
- // alpha: 0.5,
- // color: '#002d7a'
- // })
- // for(let key in modelJson) {
- // window.pmtsManager.add({
- // id: key,
- // // url: mapJson.CIM4["智慧教育-手工模型"],
- // url: modelJson[key],
- // show: true,
- // maximumScreenSpaceError: 32,
- // maximumMemoryUsage: 64,
- // maximumAbsoluteMemoryUsage: 8192,
- // autoFlyto: true
- // },
- // undefined
- // )
- // }
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: true }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: false });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: false });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: true }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
+
+ // 清除弹窗展示
+ this.$bus.$on('clear', () => {
+ this.isShow = false
+ this.showDevice = false
+
+ })
},
methods: {
async btnClick(e) {
@@ -126,6 +105,7 @@
clearUpMap(true)
initPosition()
this.isShow = false
+ this.showDevice = false
this.selectIndex = e.target.id
switch (this.selectIndex) {
case "schoolBtn":
@@ -194,10 +174,121 @@
},
// 搜索学校设备
searchDevice() {
- getDevice({}).then(res => {
- console.log('学校数据')
+ getDevice({ keywords: '' }).then(res => {
+ this.markerList = [
+ {
+ "name": "设备1",
+ "lon": "114.859995",
+ "location": "江西省赣州市南康区三江乡",
+ "id": "1676397864375291905",
+ "lat": "25.802129",
+ "type": "1",
+ "typename": "视频设备",
+ statusName: '正常',
+ time: '2025-06-16 09:05:05',
+ in: '0',
+ out: '0',
+ },
+ {
+ "name": "设备2",
+ "lon": "114.861027",
+ "location": "江西省赣州市章贡区潭六路135号靠近逸夫小学",
+ "id": "1676398916763914241",
+ "lat": "25.757553",
+ "type": "2",
+ "typename": "门禁设备",
+ statusName: '正常',
+ time: '2025-06-16 09:05:05',
+ in: '0',
+ out: '0',
+ },
+ {
+ "name": "设备3",
+ "lon": "114.880246",
+ "location": "江西省赣州市章贡区潭东镇弘腾路毅德城",
+ "id": "1676414593390350337",
+ "lat": "25.753119",
+ "type": "1",
+ "typename": "视频设备",
+ statusName: '正常',
+ time: '2025-06-16 09:05:05',
+ in: '0',
+ out: '0',
+ },
+ {
+ "name": "设备4",
+ "lon": "114.879855",
+ "location": "江西省赣州市章贡区潭东镇弘腾路毅德城",
+ "id": "1676414955455254529",
+ "lat": "25.752771",
+ "type": "1",
+ "typename": "视频设备",
+ statusName: '正常',
+ time: '2025-06-16 09:05:05',
+ in: '0',
+ out: '0',
+ },
+ {
+ "name": "设备5",
+ "lon": "114.875438",
+ "location": "江西省赣州市章贡区潭东镇弘腾路毅德城",
+ "id": "1676418661630349312",
+ "lat": "25.748733",
+ "type": "2",
+ "typename": "门禁设备",
+ statusName: '正常',
+ time: '2025-06-16 09:05:05',
+ in: '0',
+ out: '0',
+ },
+ {
+ "name": "设备6",
+ "lon": "114.867371",
+ "location": "江西省赣州市章贡区105国道135号靠近松岭上",
+ "id": "1676422908220542977",
+ "lat": "25.750388",
+ "typename": "2",
+ "typename": "门禁设备",
+ statusName: '正常',
+ time: '2025-06-16 09:05:05',
+ in: '0',
+ out: '0',
+ },
+ ]
+ this.markerBakList = JSON.parse(JSON.stringify(this.markerList))
+ this.menus.device[0].total = this.markerList.filter((item) => item.type === '1').length
+ this.menus.device[1].total = this.markerList.filter((item) => item.type === '2').length
+ // 绘制点位
+ this.markerList.forEach((item) => {
+ AddLabelPoint(
+ item.id,
+ `${item.name}`,
+ item.type === '1' ? this.videoIcon : this.controlIcon,
+ [item.lon, item.lat, 0], 'yl-dev', item,
+ this.clickDevice)
+ })
})
- }
+ },
+ menuClick(e) {
+ clearResetMap()
+ this.markerList = this.markerBakList.filter(item => item.type === e.type)
+ this.markerList.forEach((item) => {
+ AddLabelPoint(
+ item.id,
+ `${item.name}`,
+ item.type === '1' ? this.videoIcon : this.controlIcon,
+ [item.lon, item.lat, 0], 'yl-dev', item,
+ this.clickDevice)
+ })
+ },
+ // 设备点位点击
+ clickDevice(eventArg) {
+ const item = eventArg._data.data
+ this.showDevice = true
+ this.$nextTick(() => {
+ this.$refs.deviceRef.initData(item)
+ })
+ },
}
}
diff --git a/src/pages/ywts/shms/sq/carPop.vue b/src/pages/ywts/shms/sq/carPop.vue
new file mode 100644
index 0000000..b1fe4c3
--- /dev/null
+++ b/src/pages/ywts/shms/sq/carPop.vue
@@ -0,0 +1,275 @@
+
+
+
+
+
+
+
+ 名称: {{
+ gdInfo.name }}
+ 位置: {{
+ gdInfo.location }}
+ 车辆数量: {{ gdInfo.carNum
+ }}
+ 停车位: {{ gdInfo.parkSpaceNum }}
+
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/ywts/shms/sq/communityPop.vue b/src/pages/ywts/shms/sq/communityPop.vue
new file mode 100644
index 0000000..eb6bf07
--- /dev/null
+++ b/src/pages/ywts/shms/sq/communityPop.vue
@@ -0,0 +1,212 @@
+
+
+
+
+
+
{{ name }}
+
位置:{{ position
+ }}
+
+
+
+
+
+
{{ item.total }}
+
{{ item.name }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/ywts/shms/sq/components/agePie.vue b/src/pages/ywts/shms/sq/components/agePie.vue
new file mode 100644
index 0000000..9e41da8
--- /dev/null
+++ b/src/pages/ywts/shms/sq/components/agePie.vue
@@ -0,0 +1,185 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/ywts/shms/sq/components/currentPie.vue b/src/pages/ywts/shms/sq/components/currentPie.vue
new file mode 100644
index 0000000..c7dfe20
--- /dev/null
+++ b/src/pages/ywts/shms/sq/components/currentPie.vue
@@ -0,0 +1,178 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/ywts/shms/sq/components/personBar.vue b/src/pages/ywts/shms/sq/components/personBar.vue
new file mode 100644
index 0000000..b065487
--- /dev/null
+++ b/src/pages/ywts/shms/sq/components/personBar.vue
@@ -0,0 +1,193 @@
+
+
+
+
+
+
+
diff --git a/src/pages/ywts/shms/sq/components/scoreLineBar.vue b/src/pages/ywts/shms/sq/components/scoreLineBar.vue
new file mode 100644
index 0000000..1551e69
--- /dev/null
+++ b/src/pages/ywts/shms/sq/components/scoreLineBar.vue
@@ -0,0 +1,189 @@
+
+
+
+
+
+
+
diff --git a/src/pages/ywts/shms/sq/components/transitBar.vue b/src/pages/ywts/shms/sq/components/transitBar.vue
new file mode 100644
index 0000000..c23b4ba
--- /dev/null
+++ b/src/pages/ywts/shms/sq/components/transitBar.vue
@@ -0,0 +1,173 @@
+
+
+
+
+
+
+
diff --git a/src/pages/ywts/shms/sq/devicePop.vue b/src/pages/ywts/shms/sq/devicePop.vue
new file mode 100644
index 0000000..2c44979
--- /dev/null
+++ b/src/pages/ywts/shms/sq/devicePop.vue
@@ -0,0 +1,281 @@
+
+
+
+
+
+
+
+ 设备名称: {{
+ gdInfo.name }}
+ 设备类型: {{
+ gdInfo.typename }}
+ 设备状态: {{
+ gdInfo.statusName }}
+ 设备位置: {{
+ gdInfo.location }}
+ 时间: {{ gdInfo.time
+ }}
+ 进/出人口数: {{ gdInfo.in
+ }}/{{ gdInfo.out }}
+ 是否赋能: 否
+
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/ywts/shms/sq/index.vue b/src/pages/ywts/shms/sq/index.vue
new file mode 100644
index 0000000..6aa8714
--- /dev/null
+++ b/src/pages/ywts/shms/sq/index.vue
@@ -0,0 +1,478 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/ywts/ywts.vue b/src/pages/ywts/ywts.vue
index 99a5d69..80b53f9 100644
--- a/src/pages/ywts/ywts.vue
+++ b/src/pages/ywts/ywts.vue
@@ -1,23 +1,17 @@
-
-
-
-
+
+
diff --git a/src/api/ywts/shms/jy.js b/src/api/ywts/shms/jy.js
index f3ac251..56f48e3 100644
--- a/src/api/ywts/shms/jy.js
+++ b/src/api/ywts/shms/jy.js
@@ -116,7 +116,7 @@
return request({
url: 'zhjy-gktj/zhjy/sbdwlb',
method: 'post',
- data,
+ // data,
params: data
})
}
diff --git a/src/api/ywts/shms/sq.js b/src/api/ywts/shms/sq.js
new file mode 100644
index 0000000..04a5447
--- /dev/null
+++ b/src/api/ywts/shms/sq.js
@@ -0,0 +1,123 @@
+/**
+ * 社区接口
+ */
+import request from '@/utils/request'
+
+// 社区点位列表
+export function getCommunityList() {
+ return request({
+ url: 'zhsq-gktj/zhsq/sqdwlb',
+ method: 'post',
+ })
+}
+
+// 人员热力图
+export function getHeat() {
+ return request({
+ url: 'zhsq-gktj/zhsq/sqyyrlt',
+ method: 'post',
+ })
+}
+
+// 设备点位
+export function getDevice() {
+ return request({
+ url: 'zhsq-gktj/zhsq/sbdwlb',
+ method: 'post',
+ params: {
+ type: '',
+ keywords: ''
+ }
+ })
+}
+
+// 社区车辆
+export function getCar() {
+ return request({
+ url: 'zhsq-gktj/zhsq/sqbyl',
+ method: 'post',
+ })
+}
+
+// 事件点位列表
+export function getCase(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/sjdwlb',
+ method: 'post',
+ params:{
+ ...data
+ }
+ })
+}
+
+// 事件详情
+export function getCaseList(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/zjlbfy',
+ method: 'post',
+ params:{
+ ...data
+ }
+ })
+}
+// 获取社区基本信息
+export function getBaseInfo(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/sqdwxq',
+ method: 'post',
+ params:{
+ ...data
+ },
+ // data
+ })
+}
+// 居民年龄统计
+export function getAgeStatistics(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/jmnltj',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
+// 居民流动比例
+export function getCurrentRatio(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/jmldbl',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
+// 近1年人房车占比统计
+export function getPersonCarRatio(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/rfczbtj',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
+// 近1月居民通行量分析
+export function getTransitrRatio(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/jmtxlfx',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
+// 近1月高频事件排行榜
+export function getCaseRank(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/gpsjphb',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
diff --git a/src/api/ywts/zyhj/hb.js b/src/api/ywts/zyhj/hb.js
index 5e598d1..07625d1 100644
--- a/src/api/ywts/zyhj/hb.js
+++ b/src/api/ywts/zyhj/hb.js
@@ -8,7 +8,10 @@
return request({
url: 'zhhb-gktj/zhhb/gktj',
method: 'post',
- data
+ data,
+ params: {
+ ...data,
+ }
})
}
// 环保点位列表
@@ -19,3 +22,26 @@
data
})
}
+// 环保告警列表
+export function getAlarmList(data) {
+ return request({
+ url: 'zhhb-gktj/zhhb/hbgjlb',
+ method: 'post',
+ // data
+ params: {
+ ...data
+ }
+ })
+}
+
+// 环保事件列表
+export function getCaseList(data) {
+ return request({
+ url: 'zhhb-gktj/zhhb/hbsjlbfy',
+ method: 'post',
+ // data
+ params: {
+ ...data
+ }
+ })
+}
diff --git a/src/api/ywts/zyhj/yl.js b/src/api/ywts/zyhj/yl.js
index 63d7ad2..643e3d4 100644
--- a/src/api/ywts/zyhj/yl.js
+++ b/src/api/ywts/zyhj/yl.js
@@ -88,6 +88,9 @@
url: 'zhyl-gktjljk/zhyl/sjxq',
method: 'post',
data,
+ params: {
+ ...data,
+ }
})
}
// 苗木点位列表
diff --git a/src/components/CommonFunction/index.vue b/src/components/CommonFunction/index.vue
index 1a10acb..c2eba44 100644
--- a/src/components/CommonFunction/index.vue
+++ b/src/components/CommonFunction/index.vue
@@ -5,8 +5,8 @@
@click="btnClick" />
-
+
@@ -21,7 +21,7 @@
import CommonBtn from "../CommonBtn";
import { clearUpMap } from '@/utils/freedo/index'
-import { initPosition, initPage } from "../../utils/freedo";
+import { initPosition, initPage } from "../../utils/freedo";
import mapJson from "@/assets/mapJson/map.json";
import { eventBus } from "../../main";
@@ -59,11 +59,11 @@
disabled: true,
"children": [
{ "id": 41, "label": "智慧教育-手工模型", disabled: true },
- { "id": 42, "label": "智慧停车云-手工模型", disabled: true },
- { "id": 43, "label": "智慧社区-手工模型", disabled: true },
- { "id": 44, "label": "智慧工地-手工模型", disabled: true },
- { "id": 45, "label": "智慧交通-手工模型", disabled: true },
- { "id": 46, "label": "智慧园林-手工模型", disabled: true }
+ { "id": 42, "label": "智慧停车云-手工模型", disabled: true },
+ { "id": 43, "label": "智慧社区-手工模型", disabled: true },
+ { "id": 44, "label": "智慧工地-手工模型", disabled: true },
+ { "id": 45, "label": "智慧交通-手工模型", disabled: true },
+ { "id": 46, "label": "智慧园林-手工模型", disabled: true }
]
}, {
"id": 5,
@@ -95,8 +95,8 @@
setTimeout(() => {
this.tree.forEach((item) => {
item.disabled = false
- if(item.children) {
- item.children = item.children.map((item) => ({ ...item,disabled: false}))
+ if (item.children) {
+ item.children = item.children.map((item) => ({ ...item, disabled: false }))
}
})
}, 5000)
@@ -125,7 +125,7 @@
handler(data, checked, indeterminate)
}
else {
- if(data.id.toString() === '5' && checked) {
+ if (data.id.toString() === '5' && checked) {
window.terrainManager.visible = true
return
}
@@ -143,14 +143,18 @@
},
btnClick(e) {
this.showLayerTree = false
+ this.clearDialog()
if (e.target.id === 'initBtn') {
initPosition()
} else if (e.target.id === 'clearBtn') {
clearUpMap()
} else if (e.target.id === 'layerBtn') {
- // clearUpMap()
this.showLayerTree = true
}
+ },
+ // 清空地图弹窗
+ clearDialog() {
+ this.$bus.$emit('clear')
}
}
}
@@ -178,7 +182,7 @@
right: 20px;
top: 1rem;
display: flex;
- width: 20rem;
+ width: 15rem;
height: 5rem;
z-index: 1111111111;
}
diff --git a/src/pages/csdz/iot/index.vue b/src/pages/csdz/iot/index.vue
index 63b60ea..8aefaea 100644
--- a/src/pages/csdz/iot/index.vue
+++ b/src/pages/csdz/iot/index.vue
@@ -259,8 +259,8 @@
localPoint(e) {
// this.childrenClick(e)
this.clickIcon({
- _data:{
- data:e
+ _data: {
+ data: e
}
})
},
@@ -280,6 +280,11 @@
},
mounted() {
this.search()
+ this.$bus.$on('clear', () => {
+ this.isShowEvent = false
+ this.isShowEventPop = false
+ this.isShowPop = false
+ })
// getStatistics().then(res => {
// if (res.code === 200 && res.data.value.length) {
// console.log(res.data, '')
diff --git a/src/pages/csdz/smartCard/index.vue b/src/pages/csdz/smartCard/index.vue
index 48721f7..32573d2 100644
--- a/src/pages/csdz/smartCard/index.vue
+++ b/src/pages/csdz/smartCard/index.vue
@@ -112,6 +112,7 @@
btnClick(e) {
clearResetMap()
this.selectIndex = e.target.id
+ this.isShowPop = false
if (this.selectIndex === 'publicBtn') {
// 绘制热力图
heat([
@@ -870,6 +871,10 @@
getStatistics({}).then(res => {
console.log(res.data, '一卡通')
})
+ this.$bus.$on('clear', () => {
+ this.isShowPop = false
+ this.isShowEvent = false
+ })
}
}
diff --git a/src/pages/csdz/videoCloud/index.vue b/src/pages/csdz/videoCloud/index.vue
index 4b8d110..81530d5 100644
--- a/src/pages/csdz/videoCloud/index.vue
+++ b/src/pages/csdz/videoCloud/index.vue
@@ -695,6 +695,11 @@
},
mounted() {
this.drawSence()
+ this.$bus.$on('clear', () => {
+ this.isShowPop = false
+ this.isShowEvent = false
+ this.isShowEventPop = false
+ })
}
}
diff --git a/src/pages/ywts/cszl/gd/index.vue b/src/pages/ywts/cszl/gd/index.vue
index e9be7b0..35ee8d7 100644
--- a/src/pages/ywts/cszl/gd/index.vue
+++ b/src/pages/ywts/cszl/gd/index.vue
@@ -1,30 +1,23 @@
-
-
+
+
@@ -34,7 +27,7 @@
import TimeManager from "@/components/TimeManager";
import GdPop from "./gdPop";
import { heat } from '@/utils/freedo/heat'
-import { clearUpMap, clearResetMap ,AddLabelPoint, initPosition } from '@/utils/freedo'
+import { clearUpMap, clearResetMap, AddLabelPoint, initPosition } from '@/utils/freedo'
import {
getHeat,
getArea,
@@ -43,17 +36,17 @@
getStatistics,
getCasePointList, getCaseInfo
} from "../../../../api/ywts/cszl/gd";
-import {AddDivPointCase, AddDivPointHighlight, AddLabel, focusPoint} from "../../../../utils/freedo";
+import { AddDivPointCase, AddDivPointHighlight, AddLabel, focusPoint } from "../../../../utils/freedo";
import ListPage from "@/components/ListPage";
import KeywordManager from "../../../../components/KeywordManager";
import gridJson from "@/assets/mapJson/grid.json";
import mapJson from "@/assets/mapJson/map.json";
-import {eventBus} from "../../../../main";
+import { eventBus } from "../../../../main";
export default {
name: 'Gd',
- components: {KeywordManager, GdPop, TimeManager, LayerManagerMix, ListPage, CommonBtn },
+ components: { KeywordManager, GdPop, TimeManager, LayerManagerMix, ListPage, CommonBtn },
data() {
return {
isListPage: false,
@@ -73,19 +66,19 @@
caseTotal: 0,
layerManager: null,
caseIcon: {
- 1: require('@/assets/images/icon/事件/已撤案.png'),
- 2: require('@/assets/images/icon/事件/指派中.png'),
- 3: require('@/assets/images/icon/事件/处置中.png'),
- 4: require('@/assets/images/icon/事件/已办结.png'),
- 5: require('@/assets/images/icon/事件/已结案.png'),
- },
+ 1: require('@/assets/images/icon/事件/已撤案.png'),
+ 2: require('@/assets/images/icon/事件/指派中.png'),
+ 3: require('@/assets/images/icon/事件/处置中.png'),
+ 4: require('@/assets/images/icon/事件/已办结.png'),
+ 5: require('@/assets/images/icon/事件/已结案.png'),
+ },
caseColor: {
- 1: '#ffffff88',
- 2: '#fdeb5688',
- 3: '#85c8ff88',
- 4: '#ffba7488',
- 5: '#87f6b388',
- },
+ 1: '#ffffff88',
+ 2: '#fdeb5688',
+ 3: '#85c8ff88',
+ 4: '#ffba7488',
+ 5: '#87f6b388',
+ },
time: {
startTime: '',
endTime: '',
@@ -105,10 +98,10 @@
name: '工地设备',
value: 'device'
}
- // , {
- // name: '环监设备',
- // value: 'others'
- // }
+ // , {
+ // name: '环监设备',
+ // value: 'others'
+ // }
],
menus: {
device: [
@@ -122,7 +115,7 @@
},
mounted() {
getStatistics().then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
this.menus.device = response.data.value
}
})
@@ -135,28 +128,24 @@
autoFlyto: true,
})
- eventBus.$emit('change-layer', { id:1, checked: false});
- eventBus.$emit('change-layer', { id:2, checked: false});
- eventBus.$emit('change-layer', { id:3, checked: false});
- eventBus.$emit('change-layer', { id:4, checked: false});
- eventBus.$emit('change-layer', { id:5, checked: true});
- eventBus.$emit('change-layer', { id:44, checked: true});
- eventBus.$emit('change-layer', { id:21, checked: true});
- eventBus.$emit('change-layer', { id:12, checked: true});
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: false }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: true });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: false });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: true }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
-
- // window.pmtsManager.add({
- // id: "智慧工地-手工模型",
- // url: mapJson.CIM4["智慧工地-手工模型"],
- // show: true,
- // maximumScreenSpaceError: 32,
- // maximumMemoryUsage: 64,
- // maximumAbsoluteMemoryUsage: 8192,
- // autoFlyto: true
- // },
- // undefined
- // )
- // window.terrainManager.visible = true
+ // 清除弹窗展示
+ this.$bus.$on('clear', () => {
+ this.isListPage = false
+ this.isShow = false
+ })
},
methods: {
async btnClick(e) {
@@ -179,7 +168,7 @@
break
case "personBtn":
getHeat().then(res => {
- if(res.code === 200) {
+ if (res.code === 200) {
console.log(res.data, '热力')
const arr = res.data.value.filter(item => item.lng !== "" && item.lng !== null)
// arr.splice(0,1) // todo: 测试第一个错误数据
@@ -192,17 +181,17 @@
// 设备图层控制
layer(item) {
// clearUpMap(true)
- const iconOnline = require('@/assets/images/icon/工地地图点位/'+item.typename.replace(/ /g,'')+'在线.png')
- const iconOffline = require('@/assets/images/icon/工地地图点位/'+item.typename.replace(/ /g,'')+'离线.png')
- getDevList({type: item.type}).then(response => {
- if(response.code === 200) {
+ const iconOnline = require('@/assets/images/icon/工地地图点位/' + item.typename.replace(/ /g, '') + '在线.png')
+ const iconOffline = require('@/assets/images/icon/工地地图点位/' + item.typename.replace(/ /g, '') + '离线.png')
+ getDevList({ type: item.type }).then(response => {
+ if (response.code === 200) {
clearUpMap(true)
this.keywordList = response.data.value
response.data.value.forEach(item => {
AddLabelPoint(
item.id,
'',
- item.status === '1'? iconOnline: iconOffline,
+ item.status === '1' ? iconOnline : iconOffline,
[item.lon, item.lat, 0], 'gd-dev', item,
null)
})
@@ -216,23 +205,23 @@
// keywords: this.keyword
}
getCasePointList(param).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
clearUpMap(true)
const data = []
response.data.value.forEach(item => {
- if(!data.map(da => da.id).includes(item.id) && !data.map(da => da.lon).includes(item.lon) && item.id !== null) {
+ if (!data.map(da => da.id).includes(item.id) && !data.map(da => da.lon).includes(item.lon) && item.id !== null) {
data.push(item)
}
})
this.keywordList = data
data.forEach(item => {
// if(item.total === '1') {
- AddLabelPoint(
- item.id,
- '',
- this.caseIcon[item.eventstatus],
- [item.lon, item.lat, 0], 'gd-case', item,
- this.clickCase)
+ AddLabelPoint(
+ item.id,
+ '',
+ this.caseIcon[item.eventstatus],
+ [item.lon, item.lat, 0], 'gd-case', item,
+ this.clickCase)
// } else {
// AddDivPointCase(item, this.caseColor[item.status], item.total, this.clickCase)
// }
@@ -244,8 +233,8 @@
search() {
const iconDone = require('@/assets/images/icon/工地地图点位/工地已完成.png')
const iconDoing = require('@/assets/images/icon/工地地图点位/工地进行中.png')
- getArea({keywords: this.keyword}).then(response => {
- if(response.code === 200) {
+ getArea({ keywords: this.keyword }).then(response => {
+ if (response.code === 200) {
clearUpMap(true)
this.keywordList = response.data.value
response.data.value.forEach(item => {
@@ -254,7 +243,7 @@
AddLabelPoint(
item.id,
item.name,
- item.status === '2' ? iconDoing: iconDone,
+ item.status === '2' ? iconDoing : iconDone,
[item.lon, item.lat, 0], 'gd', item,
this.clickGd)
})
@@ -265,8 +254,8 @@
score() {
const iconDone = require('@/assets/images/icon/工地地图点位/工地已完成.png')
const iconDoing = require('@/assets/images/icon/工地地图点位/工地进行中.png')
- getArea({keywords: this.keyword}).then(response => {
- if(response.code === 200) {
+ getArea({ keywords: this.keyword }).then(response => {
+ if (response.code === 200) {
this.keywordList = response.data.value
response.data.value.forEach(item => {
// console.log(item,'321123')
@@ -280,8 +269,8 @@
})
}
})
- getMonthGdScore({keywords: this.keyword}).then(response => {
- if(response.code === 200) {
+ getMonthGdScore({ keywords: this.keyword }).then(response => {
+ if (response.code === 200) {
response.data.value.filter(item => item.lng !== "" && item.lng !== null).forEach(item => {
AddLabel(
item.id,
@@ -304,7 +293,7 @@
clickCase(eventArg) {
const item = eventArg._data.data
// 恢复上一个marker
- if(this.preCase !== null ) {
+ if (this.preCase !== null) {
window.mmManager.removeById(this.preCase.id)
AddLabelPoint(
this.preCase.id,
@@ -313,7 +302,7 @@
[this.preCase.lon, this.preCase.lat, 0], 'gd-case', this.preCase,
this.clickCase)
}
- if(item.total === '1') {
+ if (item.total === '1') {
// 保存当前marker
this.preCase = item
// 高亮当前marker
@@ -323,7 +312,7 @@
this.preCase = null
}
// 查询事件详情
- this.caseTotal = Number(item.total)
+ this.caseTotal = Number(item.total)
this.isListPage = true
this.$refs.caseListPage.initDialog()
this.caseListQuery = {
@@ -345,16 +334,16 @@
searchCaseMarkerList() {
// getCaseInfo(this.caseListQuery).then(response => {
getCaseInfo(this.caseListQuery).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
console.log(response.data.value)
// 右侧看板
- this.caseList = response.data.value
+ this.caseList = response.data.value
}
})
},
handleTimeRange(time) {
this.isListPage = false
- if(this.time.startTime !== '') {
+ if (this.time.startTime !== '') {
this.time = time
this.casePoint()
} else {
diff --git a/src/pages/ywts/cszl/hw/index.vue b/src/pages/ywts/cszl/hw/index.vue
index e773b7d..ed28bc6 100644
--- a/src/pages/ywts/cszl/hw/index.vue
+++ b/src/pages/ywts/cszl/hw/index.vue
@@ -31,6 +31,7 @@
import ListPage from "@/components/ListPage";
import { getPlacePointList, getOverviewStatistics, getPersonList, getCarList, getCaseList, getCaseInfo } from '@/api/ywts/cszl/hw'
import { iconFilter, iconPerson, personList, carList, iconCar } from './data'
+import { eventBus } from "../../../../main";
export default {
name: 'Hw',
components: { TimeManager, LayerManagerMix, ListPage, CommonBtn, Pop },
@@ -94,7 +95,25 @@
},
mounted() {
clearResetMap()
+ this.selectInde = 'deviceBtn'
this.fetchPoint()
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: false }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: false });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: false });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: false }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
+ // 清除弹窗展示
+ this.$bus.$on('clear', () => {
+ this.isListPage = false
+ this.showPop = false
+ })
},
methods: {
async btnClick(e) {
@@ -263,17 +282,17 @@
// this.caseList = res.data.value || []
// this.caseTotal = this.caseList.length
res.data.value.forEach(item => {
- AddLabelPoint(
- item.id.replaceAll('.', ''),
- '',
- this.caseIcon[item.status],
- [item.lon, item.lat, 0], 'gd-case', item,
- this.clickCase)
- })
+ AddLabelPoint(
+ item.id.replaceAll('.', ''),
+ '',
+ this.caseIcon[item.status],
+ [item.lon, item.lat, 0], 'gd-case', item,
+ this.clickCase)
+ })
})
},
- // 点击事件icon
- clickCase(eventArg) {
+ // 点击事件icon
+ clickCase(eventArg) {
const item = eventArg._data.data
// 恢复上一个marker
if (this.preCase !== null) {
@@ -306,11 +325,11 @@
getCaseInfo(this.caseListQuery).then(res => {
console.log(res.data, '事件详情')
this.caseList = res.data.value || []
- this.caseTotal = this.caseList.length
+ this.caseTotal = this.caseList.length
})
},
- // 事件换页
- changePage(val) {
+ // 事件换页
+ changePage(val) {
if (val && val.page) {
this.caseListQuery.pageNo = val.page
}
diff --git a/src/pages/ywts/cszl/jt/index.vue b/src/pages/ywts/cszl/jt/index.vue
index fb1ce91..ef5938c 100644
--- a/src/pages/ywts/cszl/jt/index.vue
+++ b/src/pages/ywts/cszl/jt/index.vue
@@ -1,15 +1,21 @@
-
+
@@ -26,8 +32,9 @@
getStatistics,
getCasePointList, getCaseInfo
} from "../../../../api/ywts/cszl/gd";
-import {AddDivPointHighlight, AddLabel} from "../../../../utils/freedo";
+import { AddDivPointHighlight, AddLabel } from "../../../../utils/freedo";
import ListPage from "@/components/ListPage";
+import { eventBus } from "../../../../main";
export default {
name: 'Jt',
@@ -47,19 +54,19 @@
},
caseTotal: 0,
caseIcon: {
- 1: require('@/assets/images/icon/事件/已撤案.png'),
- 2: require('@/assets/images/icon/事件/指派中.png'),
- 3: require('@/assets/images/icon/事件/处置中.png'),
- 4: require('@/assets/images/icon/事件/已办结.png'),
- 5: require('@/assets/images/icon/事件/已结案.png'),
- },
+ 1: require('@/assets/images/icon/事件/已撤案.png'),
+ 2: require('@/assets/images/icon/事件/指派中.png'),
+ 3: require('@/assets/images/icon/事件/处置中.png'),
+ 4: require('@/assets/images/icon/事件/已办结.png'),
+ 5: require('@/assets/images/icon/事件/已结案.png'),
+ },
caseColor: {
- 1: '#ffffff',
- 2: '#fdeb56',
- 3: '#85c8ff',
- 4: '#ffba74',
- 5: '#87f6b3',
- },
+ 1: '#ffffff',
+ 2: '#fdeb56',
+ 3: '#85c8ff',
+ 4: '#ffba74',
+ 5: '#87f6b3',
+ },
time: {
startTime: '',
endTime: '',
@@ -81,10 +88,10 @@
name: '基础设施',
value: 'place'
}
- // , {
- // name: '环监设备',
- // value: 'others'
- // }
+ // , {
+ // name: '环监设备',
+ // value: 'others'
+ // }
],
menus: {
place: [
@@ -98,11 +105,27 @@
},
mounted() {
getStatistics().then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
this.menus.place = response.data.value
}
})
this.search()
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: false }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: false });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: true });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: true }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
+ // 清除弹窗展示
+ this.$bus.$on('clear', () => {
+ this.isListPage = false
+ })
},
methods: {
async btnClick(e) {
@@ -121,16 +144,16 @@
// 设备图层控制
layer(item) {
// clearUpMap()
- const iconOnline = require('@/assets/images/icon/工地地图点位/'+item.typename.replace(/ /g,'')+'在线.png')
- const iconOffline = require('@/assets/images/icon/工地地图点位/'+item.typename.replace(/ /g,'')+'离线.png')
- getDevList({type: item.type}).then(response => {
- if(response.code === 200) {
+ const iconOnline = require('@/assets/images/icon/工地地图点位/' + item.typename.replace(/ /g, '') + '在线.png')
+ const iconOffline = require('@/assets/images/icon/工地地图点位/' + item.typename.replace(/ /g, '') + '离线.png')
+ getDevList({ type: item.type }).then(response => {
+ if (response.code === 200) {
clearUpMap()
response.data.value.forEach(item => {
AddLabelPoint(
item.id,
'',
- item.status === '1'? iconOnline: iconOffline,
+ item.status === '1' ? iconOnline : iconOffline,
[item.lon, item.lat, 0], 'gd-place', item,
null)
})
@@ -141,11 +164,11 @@
casePoint() {
console.log(this.time)
getCasePointList(this.time).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
clearUpMap()
const data = []
response.data.value.forEach(item => {
- if(!data.map(da => da.id).includes(item.id) && !data.map(da => da.lon).includes(item.lon) && item.id !== null) {
+ if (!data.map(da => da.id).includes(item.id) && !data.map(da => da.lon).includes(item.lon) && item.id !== null) {
data.push(item)
}
})
@@ -165,7 +188,7 @@
const iconDone = require('@/assets/images/icon/工地地图点位/工地已完成.png')
const iconDoing = require('@/assets/images/icon/工地地图点位/工地进行中.png')
getArea({}).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
clearUpMap()
response.data.value.forEach(item => {
// console.log(item.areaboundary)
@@ -173,7 +196,7 @@
AddLabelPoint(
item.id,
item.name,
- item.status === '2' ? iconDoing: iconDone,
+ item.status === '2' ? iconDoing : iconDone,
[item.lon, item.lat, 0], 'gd', item,
this.clickHw)
})
@@ -183,7 +206,7 @@
// 智慧工地-工地近1月综合得分
score() {
getArea({}).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
response.data.value.forEach(item => {
console.log(item.areaboundary)
// todo : 画范围
@@ -195,7 +218,7 @@
clickCase(eventArg) {
const item = eventArg._data.data
// 恢复上一个marker
- if(this.preCase !== null ) {
+ if (this.preCase !== null) {
window.mmManager.removeById(this.preCase.id)
AddLabelPoint(
this.preCase.id,
@@ -231,13 +254,13 @@
searchCaseMarkerList() {
// getCaseInfo(this.caseListQuery).then(response => {
getCaseInfo(this.caseListQuery).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
console.log(response.data.value)
// 右侧看板
- this.caseList = response.data.value
+ this.caseList = response.data.value
// todo
// this.caseTotal = response.data.value.length
- this.caseTotal = 12
+ this.caseTotal = 12
}
})
},
@@ -246,7 +269,7 @@
},
handleTimeRange(time) {
this.isListPage = false
- if(this.time.startTime !== '') {
+ if (this.time.startTime !== '') {
this.time = time
this.casePoint()
} else {
diff --git a/src/pages/ywts/cszl/jxh/index.vue b/src/pages/ywts/cszl/jxh/index.vue
index a3703db..0f23aaa 100644
--- a/src/pages/ywts/cszl/jxh/index.vue
+++ b/src/pages/ywts/cszl/jxh/index.vue
@@ -1,26 +1,24 @@
-
-
+
+
@@ -44,14 +42,15 @@
getAll,
getCaseInfo, getBoard
} from "../../../../api/ywts/cszl/jxh";
-import {AddDivPointCase, AddDivPointHighlight, AddOnlyLabel, AddPolygon} from "../../../../utils/freedo";
+import { AddDivPointCase, AddDivPointHighlight, AddOnlyLabel, AddPolygon } from "../../../../utils/freedo";
import ListPage from "@/components/ListPage";
-import {getGridInfo, getGridToken} from "../../../../api/common";
+import { getGridInfo, getGridToken } from "../../../../api/common";
import JxhPop from "./jxhPop";
+import { eventBus } from "../../../../main";
export default {
name: 'Jxh',
- components: {JxhPop, LayerManager, TimeManager, KeywordManager, CommonBtn, ListPage },
+ components: { JxhPop, LayerManager, TimeManager, KeywordManager, CommonBtn, ListPage },
data() {
return {
preCase: null,
@@ -128,6 +127,22 @@
}
},
mounted() {
+ this.$bus.$on('clear', () => {
+ this.isListPage = false
+ this.isShow = false
+ })
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: false }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: false });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: false });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: false }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
// 全部事件
getAll({
// urgent: '0',
@@ -135,8 +150,8 @@
// high: '0',
startTime: this.time.startTime,
endTime: this.time.endTime,
- }).then( res => {
- if(res.code === 200) {
+ }).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
@@ -154,7 +169,7 @@
caseMarker(res) {
res.data.value.forEach(item => {
// console.log(item.status)
- if(item.total === '1') {
+ if (item.total === '1') {
AddLabelPoint(
item.id,
'',
@@ -180,24 +195,24 @@
switch (e.bigtype) {
case 'source':
query.sourceId = e.type
- getSourceList(query).then( res => {
- if(res.code === 200) {
+ getSourceList(query).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
break
case 'project':
query.projectId = e.type
- getProjectList(query).then( res => {
- if(res.code === 200) {
+ getProjectList(query).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
break
case 'grid':
query.gridType = e.type
- getGridList(query).then( res => {
- if(res.code === 200) {
+ getGridList(query).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
@@ -208,7 +223,7 @@
clickCase(eventArg) {
const item = eventArg._data.data
// 恢复上一个marker
- if(this.preCase !== null ) {
+ if (this.preCase !== null) {
window.mmManager.removeById(this.preCase.id)
AddLabelPoint(
this.preCase.id,
@@ -218,7 +233,7 @@
this.clickCase)
}
- if(item.total === '1') {
+ if (item.total === '1') {
// 保存当前marker
this.preCase = item
// 高亮当前marker
@@ -229,7 +244,7 @@
}
// 查询事件详情
- this.caseTotal = Number(item.total)
+ this.caseTotal = Number(item.total)
this.caseList = []
this.isListPage = true
this.hasUrge = false
@@ -263,13 +278,13 @@
// high: '0',
startTime: this.time.startTime,
endTime: this.time.endTime,
- }).then( res => {
- if(res.code === 200) {
+ }).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
// 事件看板
- this.caseTotal = 1000 // todo
+ this.caseTotal = 1000 // todo
this.caseList = []
this.isListPage = true
this.hasUrge = true
@@ -292,8 +307,8 @@
high: '1',
startTime: this.time.startTime,
endTime: this.time.endTime,
- }).then( res => {
- if(res.code === 200) {
+ }).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
@@ -306,8 +321,8 @@
// high: '0',
startTime: this.time.startTime,
endTime: this.time.endTime,
- }).then( res => {
- if(res.code === 200) {
+ }).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
@@ -317,7 +332,7 @@
break
case "caseHeatBtn":
getHeat(this.time).then(res => {
- if(res.code === 200) {
+ if (res.code === 200) {
heat(res.data.value) // 热力图
}
})
@@ -326,29 +341,29 @@
},
gridDraw(token, areaCode) {
const colors = [
- [0,234,255,0.47],
- [255,185,0,0.47],
- [255,234,0,0.47],
- [209,0,255,0.47],
- [255,0,38,0.47],
+ [0, 234, 255, 0.47],
+ [255, 185, 0, 0.47],
+ [255, 234, 0, 0.47],
+ [209, 0, 255, 0.47],
+ [255, 0, 38, 0.47],
]
getGridInfo({
paramCodeList: 'KJ5001',
areaCode,
token
- }).then( res => {
+ }).then(res => {
console.log(res)
res.data.chirdAreaInfo.forEach((item, index) => {
item._source.areainfo.coordinates.forEach(area => {
let positions = []
- let arr = item._source.areainfo.type === 'MultiPolygon' ? area[0]: area
+ let arr = item._source.areainfo.type === 'MultiPolygon' ? area[0] : area
arr.forEach(pos => {
- positions.push(Freedo.Cartesian3.fromDegrees( pos[0], pos[1],0))
+ positions.push(Freedo.Cartesian3.fromDegrees(pos[0], pos[1], 0))
})
- AddPolygon(positions,colors[index % 5], this.gridClick,item._id)
+ AddPolygon(positions, colors[index % 5], this.gridClick, item._id)
AddOnlyLabel(
'',
- item._source.areaname , //+ this.menus.grid
+ item._source.areaname, //+ this.menus.grid
[item._source.lon, item._source.lat, 0],
'', null, null)
})
@@ -364,7 +379,7 @@
secret: CryptoJS.MD5(timestamp + 'geostar999').toString()
}
- getGridToken(param).then( res => {
+ getGridToken(param).then(res => {
clearUpMap()
this.gridDraw(res.data.token, '360783001')
this.gridDraw(res.data.token, '360783002')
@@ -374,32 +389,32 @@
},
// 三个概况统计
layerSeach() {
- getSource(this.time).then( res => {
- if(res.code === 200) {
+ getSource(this.time).then(res => {
+ if (res.code === 200) {
this.menus.source = res.data.value.map(item => {
item.bigtype = 'source'
- item.type = item.id.replace(/ /g,'')
- item.typename = item.name.replace(/ /g,'')
+ item.type = item.id.replace(/ /g, '')
+ item.typename = item.name.replace(/ /g, '')
return item
})
}
})
- getProject(this.time).then( res => {
- if(res.code === 200) {
+ getProject(this.time).then(res => {
+ if (res.code === 200) {
this.menus.project = res.data.value.map(item => {
item.bigtype = 'project'
- item.type = item.id.replace(/ /g,'')
- item.typename = item.name.replace(/ /g,'')
+ item.type = item.id.replace(/ /g, '')
+ item.typename = item.name.replace(/ /g, '')
return item
})
}
})
- getGrid(this.time).then( res => {
- if(res.code === 200) {
+ getGrid(this.time).then(res => {
+ if (res.code === 200) {
this.menus.grid = res.data.value.map(item => {
item.bigtype = 'grid'
- item.type = item.id.replace(/ /g,'')
- item.typename = item.name.replace(/ /g,'')
+ item.type = item.id.replace(/ /g, '')
+ item.typename = item.name.replace(/ /g, '')
return item
})
}
@@ -410,7 +425,7 @@
if (val && val.page) {
this.caseListQuery.pageNo = val.page
}
- if(this.hasUrge) {
+ if (this.hasUrge) {
this.searchBoard()
} else {
this.searchCaseMarkerList()
@@ -419,20 +434,20 @@
// 事件看板查询
searchBoard() {
getBoard(this.caseListQuery).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
console.log(response.data.value)
// 右侧看板
- this.caseList = response.data.value
+ this.caseList = response.data.value
}
})
},
// 事件详情分页
searchCaseMarkerList() {
getCaseInfo(this.caseListQuery).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
console.log(response.data.value)
// 右侧看板
- this.caseList = response.data.value
+ this.caseList = response.data.value
}
})
},
diff --git a/src/pages/ywts/cszl/yj/index.vue b/src/pages/ywts/cszl/yj/index.vue
index 7869a73..d74dfe9 100644
--- a/src/pages/ywts/cszl/yj/index.vue
+++ b/src/pages/ywts/cszl/yj/index.vue
@@ -45,7 +45,7 @@
import { AddDivPointHighlight, AddLabel } from "../../../../utils/freedo";
import { iconFilter, deviceList, caseList } from './data'
import ListPage from "@/components/ListPage";
-
+import { eventBus } from "../../../../main";
export default {
name: 'Yj',
components: { TimeManager, LayerManagerMix, ListPage, CommonBtn, Pop },
@@ -118,14 +118,25 @@
}
},
mounted() {
- // getStatistics().then(response => {
- // if(response.code === 200) {
- // this.menus.place = response.data.value
- // }
- // })
- // this.search()
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: false }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: false });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: false });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: false }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
clearResetMap()
this.searchPlace({})
+
+ this.$bus.$on('clear', () => {
+ this.isListPage = false
+ this.showPop = false
+ })
},
methods: {
async btnClick(e) {
diff --git a/src/pages/ywts/shms/jy/devicePop.vue b/src/pages/ywts/shms/jy/devicePop.vue
new file mode 100644
index 0000000..2c44979
--- /dev/null
+++ b/src/pages/ywts/shms/jy/devicePop.vue
@@ -0,0 +1,281 @@
+
+
+
+
+
+
+
+ 设备名称: {{
+ gdInfo.name }}
+ 设备类型: {{
+ gdInfo.typename }}
+ 设备状态: {{
+ gdInfo.statusName }}
+ 设备位置: {{
+ gdInfo.location }}
+ 时间: {{ gdInfo.time
+ }}
+ 进/出人口数: {{ gdInfo.in
+ }}/{{ gdInfo.out }}
+ 是否赋能: 否
+
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/ywts/shms/jy/index.vue b/src/pages/ywts/shms/jy/index.vue
index b1eb984..f377985 100644
--- a/src/pages/ywts/shms/jy/index.vue
+++ b/src/pages/ywts/shms/jy/index.vue
@@ -6,11 +6,13 @@
+ :select="selectIndex === 'layerBtn'" @btnClick="btnClick" @menuClick="menuClick" />
+
+
@@ -29,13 +31,15 @@
import mapJson from "@/assets/mapJson/map.json";
import modelJson from "@/assets/mapJson/school.json";
import { eventBus } from "../../../../main";
+import devicePop from './devicePop.vue'
export default {
name: 'Jy',
- components: { SchoolPop, TimeManager, KeywordManager, LayerManagerMix, CommonBtn },
+ components: { SchoolPop, TimeManager, KeywordManager, LayerManagerMix, CommonBtn, devicePop },
data() {
return {
isShow: false,
+ showDevice: false,
ktSelect: '',
keyword: '',
keywordList: [],
@@ -56,10 +60,15 @@
},
menus: {
device: [
- { type: "1", typename: "视频设备", total: "111" },
- { type: "2", typename: "门禁设备", total: "111" }
+ { type: "1", typename: "视频设备", total: "0" },
+ { type: "2", typename: "门禁设备", total: "0" }
]
- }
+ },
+ markerList: [],
+ markerBakList: [],
+ videoIcon: require('@/assets/images/icon/视频云/枪机未赋能在线.png'),
+ controlIcon: require('@/assets/images/icon/一卡通/门禁.png'),
+
}
},
mounted() {
@@ -70,55 +79,25 @@
name: 'jy',
autoFlyto: true,
})
- eventBus.$emit('change-layer', { id: 1, checked: false });
- eventBus.$emit('change-layer', { id: 2, checked: false });
- eventBus.$emit('change-layer', { id: 3, checked: false });
- eventBus.$emit('change-layer', { id: 4, checked: false });
- eventBus.$emit('change-layer', { id: 5, checked: true });
- eventBus.$emit('change-layer', { id: 41, checked: true });
- eventBus.$emit('change-layer', { id: 21, checked: true });
- eventBus.$emit('change-layer', { id: 12, checked: true });
- // // 教育模型
- // window.pmtsManager.add({
- // id: "智慧教育-手工模型",
- // url: mapJson.CIM4["智慧教育-手工模型"],
- // show: true,
- // maximumScreenSpaceError: 32,
- // maximumMemoryUsage: 64,
- // maximumAbsoluteMemoryUsage: 8192,
- // autoFlyto: true
- // },
- // undefined
- // )
- // // CIM2 楼
- // window.pmtsManager.add({
- // url: mapJson['CIM2']['CIM2建筑(带纹理)'],
- // show: true,
- // name: 'CIM2建筑(带纹理)',
- // autoFlyto: false
- // })
- // window.pmtsManager.add({
- // url: mapJson['CIM2']['CIM2建筑(带纹理)'],
- // show: true,
- // name: 'CIM2建筑(带纹理)',
- // autoFlyto: false,
- // alpha: 0.5,
- // color: '#002d7a'
- // })
- // for(let key in modelJson) {
- // window.pmtsManager.add({
- // id: key,
- // // url: mapJson.CIM4["智慧教育-手工模型"],
- // url: modelJson[key],
- // show: true,
- // maximumScreenSpaceError: 32,
- // maximumMemoryUsage: 64,
- // maximumAbsoluteMemoryUsage: 8192,
- // autoFlyto: true
- // },
- // undefined
- // )
- // }
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: true }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: false });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: false });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: true }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
+
+ // 清除弹窗展示
+ this.$bus.$on('clear', () => {
+ this.isShow = false
+ this.showDevice = false
+
+ })
},
methods: {
async btnClick(e) {
@@ -126,6 +105,7 @@
clearUpMap(true)
initPosition()
this.isShow = false
+ this.showDevice = false
this.selectIndex = e.target.id
switch (this.selectIndex) {
case "schoolBtn":
@@ -194,10 +174,121 @@
},
// 搜索学校设备
searchDevice() {
- getDevice({}).then(res => {
- console.log('学校数据')
+ getDevice({ keywords: '' }).then(res => {
+ this.markerList = [
+ {
+ "name": "设备1",
+ "lon": "114.859995",
+ "location": "江西省赣州市南康区三江乡",
+ "id": "1676397864375291905",
+ "lat": "25.802129",
+ "type": "1",
+ "typename": "视频设备",
+ statusName: '正常',
+ time: '2025-06-16 09:05:05',
+ in: '0',
+ out: '0',
+ },
+ {
+ "name": "设备2",
+ "lon": "114.861027",
+ "location": "江西省赣州市章贡区潭六路135号靠近逸夫小学",
+ "id": "1676398916763914241",
+ "lat": "25.757553",
+ "type": "2",
+ "typename": "门禁设备",
+ statusName: '正常',
+ time: '2025-06-16 09:05:05',
+ in: '0',
+ out: '0',
+ },
+ {
+ "name": "设备3",
+ "lon": "114.880246",
+ "location": "江西省赣州市章贡区潭东镇弘腾路毅德城",
+ "id": "1676414593390350337",
+ "lat": "25.753119",
+ "type": "1",
+ "typename": "视频设备",
+ statusName: '正常',
+ time: '2025-06-16 09:05:05',
+ in: '0',
+ out: '0',
+ },
+ {
+ "name": "设备4",
+ "lon": "114.879855",
+ "location": "江西省赣州市章贡区潭东镇弘腾路毅德城",
+ "id": "1676414955455254529",
+ "lat": "25.752771",
+ "type": "1",
+ "typename": "视频设备",
+ statusName: '正常',
+ time: '2025-06-16 09:05:05',
+ in: '0',
+ out: '0',
+ },
+ {
+ "name": "设备5",
+ "lon": "114.875438",
+ "location": "江西省赣州市章贡区潭东镇弘腾路毅德城",
+ "id": "1676418661630349312",
+ "lat": "25.748733",
+ "type": "2",
+ "typename": "门禁设备",
+ statusName: '正常',
+ time: '2025-06-16 09:05:05',
+ in: '0',
+ out: '0',
+ },
+ {
+ "name": "设备6",
+ "lon": "114.867371",
+ "location": "江西省赣州市章贡区105国道135号靠近松岭上",
+ "id": "1676422908220542977",
+ "lat": "25.750388",
+ "typename": "2",
+ "typename": "门禁设备",
+ statusName: '正常',
+ time: '2025-06-16 09:05:05',
+ in: '0',
+ out: '0',
+ },
+ ]
+ this.markerBakList = JSON.parse(JSON.stringify(this.markerList))
+ this.menus.device[0].total = this.markerList.filter((item) => item.type === '1').length
+ this.menus.device[1].total = this.markerList.filter((item) => item.type === '2').length
+ // 绘制点位
+ this.markerList.forEach((item) => {
+ AddLabelPoint(
+ item.id,
+ `${item.name}`,
+ item.type === '1' ? this.videoIcon : this.controlIcon,
+ [item.lon, item.lat, 0], 'yl-dev', item,
+ this.clickDevice)
+ })
})
- }
+ },
+ menuClick(e) {
+ clearResetMap()
+ this.markerList = this.markerBakList.filter(item => item.type === e.type)
+ this.markerList.forEach((item) => {
+ AddLabelPoint(
+ item.id,
+ `${item.name}`,
+ item.type === '1' ? this.videoIcon : this.controlIcon,
+ [item.lon, item.lat, 0], 'yl-dev', item,
+ this.clickDevice)
+ })
+ },
+ // 设备点位点击
+ clickDevice(eventArg) {
+ const item = eventArg._data.data
+ this.showDevice = true
+ this.$nextTick(() => {
+ this.$refs.deviceRef.initData(item)
+ })
+ },
}
}
diff --git a/src/pages/ywts/shms/sq/carPop.vue b/src/pages/ywts/shms/sq/carPop.vue
new file mode 100644
index 0000000..b1fe4c3
--- /dev/null
+++ b/src/pages/ywts/shms/sq/carPop.vue
@@ -0,0 +1,275 @@
+
+
+
+
+
+
+
+ 名称: {{
+ gdInfo.name }}
+ 位置: {{
+ gdInfo.location }}
+ 车辆数量: {{ gdInfo.carNum
+ }}
+ 停车位: {{ gdInfo.parkSpaceNum }}
+
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/ywts/shms/sq/communityPop.vue b/src/pages/ywts/shms/sq/communityPop.vue
new file mode 100644
index 0000000..eb6bf07
--- /dev/null
+++ b/src/pages/ywts/shms/sq/communityPop.vue
@@ -0,0 +1,212 @@
+
+
+
+
+
+
{{ name }}
+
位置:{{ position
+ }}
+
+
+
+
+
+
{{ item.total }}
+
{{ item.name }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/ywts/shms/sq/components/agePie.vue b/src/pages/ywts/shms/sq/components/agePie.vue
new file mode 100644
index 0000000..9e41da8
--- /dev/null
+++ b/src/pages/ywts/shms/sq/components/agePie.vue
@@ -0,0 +1,185 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/ywts/shms/sq/components/currentPie.vue b/src/pages/ywts/shms/sq/components/currentPie.vue
new file mode 100644
index 0000000..c7dfe20
--- /dev/null
+++ b/src/pages/ywts/shms/sq/components/currentPie.vue
@@ -0,0 +1,178 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/ywts/shms/sq/components/personBar.vue b/src/pages/ywts/shms/sq/components/personBar.vue
new file mode 100644
index 0000000..b065487
--- /dev/null
+++ b/src/pages/ywts/shms/sq/components/personBar.vue
@@ -0,0 +1,193 @@
+
+
+
+
+
+
+
diff --git a/src/pages/ywts/shms/sq/components/scoreLineBar.vue b/src/pages/ywts/shms/sq/components/scoreLineBar.vue
new file mode 100644
index 0000000..1551e69
--- /dev/null
+++ b/src/pages/ywts/shms/sq/components/scoreLineBar.vue
@@ -0,0 +1,189 @@
+
+
+
+
+
+
+
diff --git a/src/pages/ywts/shms/sq/components/transitBar.vue b/src/pages/ywts/shms/sq/components/transitBar.vue
new file mode 100644
index 0000000..c23b4ba
--- /dev/null
+++ b/src/pages/ywts/shms/sq/components/transitBar.vue
@@ -0,0 +1,173 @@
+
+
+
+
+
+
+
diff --git a/src/pages/ywts/shms/sq/devicePop.vue b/src/pages/ywts/shms/sq/devicePop.vue
new file mode 100644
index 0000000..2c44979
--- /dev/null
+++ b/src/pages/ywts/shms/sq/devicePop.vue
@@ -0,0 +1,281 @@
+
+
+
+
+
+
+
+ 设备名称: {{
+ gdInfo.name }}
+ 设备类型: {{
+ gdInfo.typename }}
+ 设备状态: {{
+ gdInfo.statusName }}
+ 设备位置: {{
+ gdInfo.location }}
+ 时间: {{ gdInfo.time
+ }}
+ 进/出人口数: {{ gdInfo.in
+ }}/{{ gdInfo.out }}
+ 是否赋能: 否
+
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/ywts/shms/sq/index.vue b/src/pages/ywts/shms/sq/index.vue
new file mode 100644
index 0000000..6aa8714
--- /dev/null
+++ b/src/pages/ywts/shms/sq/index.vue
@@ -0,0 +1,478 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/ywts/ywts.vue b/src/pages/ywts/ywts.vue
index 99a5d69..80b53f9 100644
--- a/src/pages/ywts/ywts.vue
+++ b/src/pages/ywts/ywts.vue
@@ -1,23 +1,17 @@
-
-
-
-
+
+
diff --git a/src/pages/ywts/zyhj/hb/casePop.vue b/src/pages/ywts/zyhj/hb/casePop.vue
new file mode 100644
index 0000000..0c07a1a
--- /dev/null
+++ b/src/pages/ywts/zyhj/hb/casePop.vue
@@ -0,0 +1,286 @@
+
+
+
+
+
+
+
+ 统一编码: {{
+ gdInfo.code }}
+ 事件名称: {{
+ gdInfo.eventname }}
+ 事件类型: {{
+ gdInfo.eventypename }}
+ 事件状态: {{
+ gdInfo.eventstatusname }}
+ 上报时间: {{
+ gdInfo.createtime }}
+ 上报人: {{
+ gdInfo.report }}
+ 责任部门: {{
+ gdInfo.dutydeptname }}
+ 紧急程度: {{
+ gdInfo.urgencyname }}
+ 位置: {{
+ gdInfo.location }}
+
+
+
+
+
+
+
+
+
+
diff --git a/src/api/ywts/shms/jy.js b/src/api/ywts/shms/jy.js
index f3ac251..56f48e3 100644
--- a/src/api/ywts/shms/jy.js
+++ b/src/api/ywts/shms/jy.js
@@ -116,7 +116,7 @@
return request({
url: 'zhjy-gktj/zhjy/sbdwlb',
method: 'post',
- data,
+ // data,
params: data
})
}
diff --git a/src/api/ywts/shms/sq.js b/src/api/ywts/shms/sq.js
new file mode 100644
index 0000000..04a5447
--- /dev/null
+++ b/src/api/ywts/shms/sq.js
@@ -0,0 +1,123 @@
+/**
+ * 社区接口
+ */
+import request from '@/utils/request'
+
+// 社区点位列表
+export function getCommunityList() {
+ return request({
+ url: 'zhsq-gktj/zhsq/sqdwlb',
+ method: 'post',
+ })
+}
+
+// 人员热力图
+export function getHeat() {
+ return request({
+ url: 'zhsq-gktj/zhsq/sqyyrlt',
+ method: 'post',
+ })
+}
+
+// 设备点位
+export function getDevice() {
+ return request({
+ url: 'zhsq-gktj/zhsq/sbdwlb',
+ method: 'post',
+ params: {
+ type: '',
+ keywords: ''
+ }
+ })
+}
+
+// 社区车辆
+export function getCar() {
+ return request({
+ url: 'zhsq-gktj/zhsq/sqbyl',
+ method: 'post',
+ })
+}
+
+// 事件点位列表
+export function getCase(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/sjdwlb',
+ method: 'post',
+ params:{
+ ...data
+ }
+ })
+}
+
+// 事件详情
+export function getCaseList(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/zjlbfy',
+ method: 'post',
+ params:{
+ ...data
+ }
+ })
+}
+// 获取社区基本信息
+export function getBaseInfo(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/sqdwxq',
+ method: 'post',
+ params:{
+ ...data
+ },
+ // data
+ })
+}
+// 居民年龄统计
+export function getAgeStatistics(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/jmnltj',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
+// 居民流动比例
+export function getCurrentRatio(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/jmldbl',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
+// 近1年人房车占比统计
+export function getPersonCarRatio(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/rfczbtj',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
+// 近1月居民通行量分析
+export function getTransitrRatio(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/jmtxlfx',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
+// 近1月高频事件排行榜
+export function getCaseRank(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/gpsjphb',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
diff --git a/src/api/ywts/zyhj/hb.js b/src/api/ywts/zyhj/hb.js
index 5e598d1..07625d1 100644
--- a/src/api/ywts/zyhj/hb.js
+++ b/src/api/ywts/zyhj/hb.js
@@ -8,7 +8,10 @@
return request({
url: 'zhhb-gktj/zhhb/gktj',
method: 'post',
- data
+ data,
+ params: {
+ ...data,
+ }
})
}
// 环保点位列表
@@ -19,3 +22,26 @@
data
})
}
+// 环保告警列表
+export function getAlarmList(data) {
+ return request({
+ url: 'zhhb-gktj/zhhb/hbgjlb',
+ method: 'post',
+ // data
+ params: {
+ ...data
+ }
+ })
+}
+
+// 环保事件列表
+export function getCaseList(data) {
+ return request({
+ url: 'zhhb-gktj/zhhb/hbsjlbfy',
+ method: 'post',
+ // data
+ params: {
+ ...data
+ }
+ })
+}
diff --git a/src/api/ywts/zyhj/yl.js b/src/api/ywts/zyhj/yl.js
index 63d7ad2..643e3d4 100644
--- a/src/api/ywts/zyhj/yl.js
+++ b/src/api/ywts/zyhj/yl.js
@@ -88,6 +88,9 @@
url: 'zhyl-gktjljk/zhyl/sjxq',
method: 'post',
data,
+ params: {
+ ...data,
+ }
})
}
// 苗木点位列表
diff --git a/src/components/CommonFunction/index.vue b/src/components/CommonFunction/index.vue
index 1a10acb..c2eba44 100644
--- a/src/components/CommonFunction/index.vue
+++ b/src/components/CommonFunction/index.vue
@@ -5,8 +5,8 @@
@click="btnClick" />
-
+
@@ -21,7 +21,7 @@
import CommonBtn from "../CommonBtn";
import { clearUpMap } from '@/utils/freedo/index'
-import { initPosition, initPage } from "../../utils/freedo";
+import { initPosition, initPage } from "../../utils/freedo";
import mapJson from "@/assets/mapJson/map.json";
import { eventBus } from "../../main";
@@ -59,11 +59,11 @@
disabled: true,
"children": [
{ "id": 41, "label": "智慧教育-手工模型", disabled: true },
- { "id": 42, "label": "智慧停车云-手工模型", disabled: true },
- { "id": 43, "label": "智慧社区-手工模型", disabled: true },
- { "id": 44, "label": "智慧工地-手工模型", disabled: true },
- { "id": 45, "label": "智慧交通-手工模型", disabled: true },
- { "id": 46, "label": "智慧园林-手工模型", disabled: true }
+ { "id": 42, "label": "智慧停车云-手工模型", disabled: true },
+ { "id": 43, "label": "智慧社区-手工模型", disabled: true },
+ { "id": 44, "label": "智慧工地-手工模型", disabled: true },
+ { "id": 45, "label": "智慧交通-手工模型", disabled: true },
+ { "id": 46, "label": "智慧园林-手工模型", disabled: true }
]
}, {
"id": 5,
@@ -95,8 +95,8 @@
setTimeout(() => {
this.tree.forEach((item) => {
item.disabled = false
- if(item.children) {
- item.children = item.children.map((item) => ({ ...item,disabled: false}))
+ if (item.children) {
+ item.children = item.children.map((item) => ({ ...item, disabled: false }))
}
})
}, 5000)
@@ -125,7 +125,7 @@
handler(data, checked, indeterminate)
}
else {
- if(data.id.toString() === '5' && checked) {
+ if (data.id.toString() === '5' && checked) {
window.terrainManager.visible = true
return
}
@@ -143,14 +143,18 @@
},
btnClick(e) {
this.showLayerTree = false
+ this.clearDialog()
if (e.target.id === 'initBtn') {
initPosition()
} else if (e.target.id === 'clearBtn') {
clearUpMap()
} else if (e.target.id === 'layerBtn') {
- // clearUpMap()
this.showLayerTree = true
}
+ },
+ // 清空地图弹窗
+ clearDialog() {
+ this.$bus.$emit('clear')
}
}
}
@@ -178,7 +182,7 @@
right: 20px;
top: 1rem;
display: flex;
- width: 20rem;
+ width: 15rem;
height: 5rem;
z-index: 1111111111;
}
diff --git a/src/pages/csdz/iot/index.vue b/src/pages/csdz/iot/index.vue
index 63b60ea..8aefaea 100644
--- a/src/pages/csdz/iot/index.vue
+++ b/src/pages/csdz/iot/index.vue
@@ -259,8 +259,8 @@
localPoint(e) {
// this.childrenClick(e)
this.clickIcon({
- _data:{
- data:e
+ _data: {
+ data: e
}
})
},
@@ -280,6 +280,11 @@
},
mounted() {
this.search()
+ this.$bus.$on('clear', () => {
+ this.isShowEvent = false
+ this.isShowEventPop = false
+ this.isShowPop = false
+ })
// getStatistics().then(res => {
// if (res.code === 200 && res.data.value.length) {
// console.log(res.data, '')
diff --git a/src/pages/csdz/smartCard/index.vue b/src/pages/csdz/smartCard/index.vue
index 48721f7..32573d2 100644
--- a/src/pages/csdz/smartCard/index.vue
+++ b/src/pages/csdz/smartCard/index.vue
@@ -112,6 +112,7 @@
btnClick(e) {
clearResetMap()
this.selectIndex = e.target.id
+ this.isShowPop = false
if (this.selectIndex === 'publicBtn') {
// 绘制热力图
heat([
@@ -870,6 +871,10 @@
getStatistics({}).then(res => {
console.log(res.data, '一卡通')
})
+ this.$bus.$on('clear', () => {
+ this.isShowPop = false
+ this.isShowEvent = false
+ })
}
}
diff --git a/src/pages/csdz/videoCloud/index.vue b/src/pages/csdz/videoCloud/index.vue
index 4b8d110..81530d5 100644
--- a/src/pages/csdz/videoCloud/index.vue
+++ b/src/pages/csdz/videoCloud/index.vue
@@ -695,6 +695,11 @@
},
mounted() {
this.drawSence()
+ this.$bus.$on('clear', () => {
+ this.isShowPop = false
+ this.isShowEvent = false
+ this.isShowEventPop = false
+ })
}
}
diff --git a/src/pages/ywts/cszl/gd/index.vue b/src/pages/ywts/cszl/gd/index.vue
index e9be7b0..35ee8d7 100644
--- a/src/pages/ywts/cszl/gd/index.vue
+++ b/src/pages/ywts/cszl/gd/index.vue
@@ -1,30 +1,23 @@
-
-
+
+
@@ -34,7 +27,7 @@
import TimeManager from "@/components/TimeManager";
import GdPop from "./gdPop";
import { heat } from '@/utils/freedo/heat'
-import { clearUpMap, clearResetMap ,AddLabelPoint, initPosition } from '@/utils/freedo'
+import { clearUpMap, clearResetMap, AddLabelPoint, initPosition } from '@/utils/freedo'
import {
getHeat,
getArea,
@@ -43,17 +36,17 @@
getStatistics,
getCasePointList, getCaseInfo
} from "../../../../api/ywts/cszl/gd";
-import {AddDivPointCase, AddDivPointHighlight, AddLabel, focusPoint} from "../../../../utils/freedo";
+import { AddDivPointCase, AddDivPointHighlight, AddLabel, focusPoint } from "../../../../utils/freedo";
import ListPage from "@/components/ListPage";
import KeywordManager from "../../../../components/KeywordManager";
import gridJson from "@/assets/mapJson/grid.json";
import mapJson from "@/assets/mapJson/map.json";
-import {eventBus} from "../../../../main";
+import { eventBus } from "../../../../main";
export default {
name: 'Gd',
- components: {KeywordManager, GdPop, TimeManager, LayerManagerMix, ListPage, CommonBtn },
+ components: { KeywordManager, GdPop, TimeManager, LayerManagerMix, ListPage, CommonBtn },
data() {
return {
isListPage: false,
@@ -73,19 +66,19 @@
caseTotal: 0,
layerManager: null,
caseIcon: {
- 1: require('@/assets/images/icon/事件/已撤案.png'),
- 2: require('@/assets/images/icon/事件/指派中.png'),
- 3: require('@/assets/images/icon/事件/处置中.png'),
- 4: require('@/assets/images/icon/事件/已办结.png'),
- 5: require('@/assets/images/icon/事件/已结案.png'),
- },
+ 1: require('@/assets/images/icon/事件/已撤案.png'),
+ 2: require('@/assets/images/icon/事件/指派中.png'),
+ 3: require('@/assets/images/icon/事件/处置中.png'),
+ 4: require('@/assets/images/icon/事件/已办结.png'),
+ 5: require('@/assets/images/icon/事件/已结案.png'),
+ },
caseColor: {
- 1: '#ffffff88',
- 2: '#fdeb5688',
- 3: '#85c8ff88',
- 4: '#ffba7488',
- 5: '#87f6b388',
- },
+ 1: '#ffffff88',
+ 2: '#fdeb5688',
+ 3: '#85c8ff88',
+ 4: '#ffba7488',
+ 5: '#87f6b388',
+ },
time: {
startTime: '',
endTime: '',
@@ -105,10 +98,10 @@
name: '工地设备',
value: 'device'
}
- // , {
- // name: '环监设备',
- // value: 'others'
- // }
+ // , {
+ // name: '环监设备',
+ // value: 'others'
+ // }
],
menus: {
device: [
@@ -122,7 +115,7 @@
},
mounted() {
getStatistics().then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
this.menus.device = response.data.value
}
})
@@ -135,28 +128,24 @@
autoFlyto: true,
})
- eventBus.$emit('change-layer', { id:1, checked: false});
- eventBus.$emit('change-layer', { id:2, checked: false});
- eventBus.$emit('change-layer', { id:3, checked: false});
- eventBus.$emit('change-layer', { id:4, checked: false});
- eventBus.$emit('change-layer', { id:5, checked: true});
- eventBus.$emit('change-layer', { id:44, checked: true});
- eventBus.$emit('change-layer', { id:21, checked: true});
- eventBus.$emit('change-layer', { id:12, checked: true});
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: false }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: true });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: false });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: true }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
-
- // window.pmtsManager.add({
- // id: "智慧工地-手工模型",
- // url: mapJson.CIM4["智慧工地-手工模型"],
- // show: true,
- // maximumScreenSpaceError: 32,
- // maximumMemoryUsage: 64,
- // maximumAbsoluteMemoryUsage: 8192,
- // autoFlyto: true
- // },
- // undefined
- // )
- // window.terrainManager.visible = true
+ // 清除弹窗展示
+ this.$bus.$on('clear', () => {
+ this.isListPage = false
+ this.isShow = false
+ })
},
methods: {
async btnClick(e) {
@@ -179,7 +168,7 @@
break
case "personBtn":
getHeat().then(res => {
- if(res.code === 200) {
+ if (res.code === 200) {
console.log(res.data, '热力')
const arr = res.data.value.filter(item => item.lng !== "" && item.lng !== null)
// arr.splice(0,1) // todo: 测试第一个错误数据
@@ -192,17 +181,17 @@
// 设备图层控制
layer(item) {
// clearUpMap(true)
- const iconOnline = require('@/assets/images/icon/工地地图点位/'+item.typename.replace(/ /g,'')+'在线.png')
- const iconOffline = require('@/assets/images/icon/工地地图点位/'+item.typename.replace(/ /g,'')+'离线.png')
- getDevList({type: item.type}).then(response => {
- if(response.code === 200) {
+ const iconOnline = require('@/assets/images/icon/工地地图点位/' + item.typename.replace(/ /g, '') + '在线.png')
+ const iconOffline = require('@/assets/images/icon/工地地图点位/' + item.typename.replace(/ /g, '') + '离线.png')
+ getDevList({ type: item.type }).then(response => {
+ if (response.code === 200) {
clearUpMap(true)
this.keywordList = response.data.value
response.data.value.forEach(item => {
AddLabelPoint(
item.id,
'',
- item.status === '1'? iconOnline: iconOffline,
+ item.status === '1' ? iconOnline : iconOffline,
[item.lon, item.lat, 0], 'gd-dev', item,
null)
})
@@ -216,23 +205,23 @@
// keywords: this.keyword
}
getCasePointList(param).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
clearUpMap(true)
const data = []
response.data.value.forEach(item => {
- if(!data.map(da => da.id).includes(item.id) && !data.map(da => da.lon).includes(item.lon) && item.id !== null) {
+ if (!data.map(da => da.id).includes(item.id) && !data.map(da => da.lon).includes(item.lon) && item.id !== null) {
data.push(item)
}
})
this.keywordList = data
data.forEach(item => {
// if(item.total === '1') {
- AddLabelPoint(
- item.id,
- '',
- this.caseIcon[item.eventstatus],
- [item.lon, item.lat, 0], 'gd-case', item,
- this.clickCase)
+ AddLabelPoint(
+ item.id,
+ '',
+ this.caseIcon[item.eventstatus],
+ [item.lon, item.lat, 0], 'gd-case', item,
+ this.clickCase)
// } else {
// AddDivPointCase(item, this.caseColor[item.status], item.total, this.clickCase)
// }
@@ -244,8 +233,8 @@
search() {
const iconDone = require('@/assets/images/icon/工地地图点位/工地已完成.png')
const iconDoing = require('@/assets/images/icon/工地地图点位/工地进行中.png')
- getArea({keywords: this.keyword}).then(response => {
- if(response.code === 200) {
+ getArea({ keywords: this.keyword }).then(response => {
+ if (response.code === 200) {
clearUpMap(true)
this.keywordList = response.data.value
response.data.value.forEach(item => {
@@ -254,7 +243,7 @@
AddLabelPoint(
item.id,
item.name,
- item.status === '2' ? iconDoing: iconDone,
+ item.status === '2' ? iconDoing : iconDone,
[item.lon, item.lat, 0], 'gd', item,
this.clickGd)
})
@@ -265,8 +254,8 @@
score() {
const iconDone = require('@/assets/images/icon/工地地图点位/工地已完成.png')
const iconDoing = require('@/assets/images/icon/工地地图点位/工地进行中.png')
- getArea({keywords: this.keyword}).then(response => {
- if(response.code === 200) {
+ getArea({ keywords: this.keyword }).then(response => {
+ if (response.code === 200) {
this.keywordList = response.data.value
response.data.value.forEach(item => {
// console.log(item,'321123')
@@ -280,8 +269,8 @@
})
}
})
- getMonthGdScore({keywords: this.keyword}).then(response => {
- if(response.code === 200) {
+ getMonthGdScore({ keywords: this.keyword }).then(response => {
+ if (response.code === 200) {
response.data.value.filter(item => item.lng !== "" && item.lng !== null).forEach(item => {
AddLabel(
item.id,
@@ -304,7 +293,7 @@
clickCase(eventArg) {
const item = eventArg._data.data
// 恢复上一个marker
- if(this.preCase !== null ) {
+ if (this.preCase !== null) {
window.mmManager.removeById(this.preCase.id)
AddLabelPoint(
this.preCase.id,
@@ -313,7 +302,7 @@
[this.preCase.lon, this.preCase.lat, 0], 'gd-case', this.preCase,
this.clickCase)
}
- if(item.total === '1') {
+ if (item.total === '1') {
// 保存当前marker
this.preCase = item
// 高亮当前marker
@@ -323,7 +312,7 @@
this.preCase = null
}
// 查询事件详情
- this.caseTotal = Number(item.total)
+ this.caseTotal = Number(item.total)
this.isListPage = true
this.$refs.caseListPage.initDialog()
this.caseListQuery = {
@@ -345,16 +334,16 @@
searchCaseMarkerList() {
// getCaseInfo(this.caseListQuery).then(response => {
getCaseInfo(this.caseListQuery).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
console.log(response.data.value)
// 右侧看板
- this.caseList = response.data.value
+ this.caseList = response.data.value
}
})
},
handleTimeRange(time) {
this.isListPage = false
- if(this.time.startTime !== '') {
+ if (this.time.startTime !== '') {
this.time = time
this.casePoint()
} else {
diff --git a/src/pages/ywts/cszl/hw/index.vue b/src/pages/ywts/cszl/hw/index.vue
index e773b7d..ed28bc6 100644
--- a/src/pages/ywts/cszl/hw/index.vue
+++ b/src/pages/ywts/cszl/hw/index.vue
@@ -31,6 +31,7 @@
import ListPage from "@/components/ListPage";
import { getPlacePointList, getOverviewStatistics, getPersonList, getCarList, getCaseList, getCaseInfo } from '@/api/ywts/cszl/hw'
import { iconFilter, iconPerson, personList, carList, iconCar } from './data'
+import { eventBus } from "../../../../main";
export default {
name: 'Hw',
components: { TimeManager, LayerManagerMix, ListPage, CommonBtn, Pop },
@@ -94,7 +95,25 @@
},
mounted() {
clearResetMap()
+ this.selectInde = 'deviceBtn'
this.fetchPoint()
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: false }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: false });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: false });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: false }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
+ // 清除弹窗展示
+ this.$bus.$on('clear', () => {
+ this.isListPage = false
+ this.showPop = false
+ })
},
methods: {
async btnClick(e) {
@@ -263,17 +282,17 @@
// this.caseList = res.data.value || []
// this.caseTotal = this.caseList.length
res.data.value.forEach(item => {
- AddLabelPoint(
- item.id.replaceAll('.', ''),
- '',
- this.caseIcon[item.status],
- [item.lon, item.lat, 0], 'gd-case', item,
- this.clickCase)
- })
+ AddLabelPoint(
+ item.id.replaceAll('.', ''),
+ '',
+ this.caseIcon[item.status],
+ [item.lon, item.lat, 0], 'gd-case', item,
+ this.clickCase)
+ })
})
},
- // 点击事件icon
- clickCase(eventArg) {
+ // 点击事件icon
+ clickCase(eventArg) {
const item = eventArg._data.data
// 恢复上一个marker
if (this.preCase !== null) {
@@ -306,11 +325,11 @@
getCaseInfo(this.caseListQuery).then(res => {
console.log(res.data, '事件详情')
this.caseList = res.data.value || []
- this.caseTotal = this.caseList.length
+ this.caseTotal = this.caseList.length
})
},
- // 事件换页
- changePage(val) {
+ // 事件换页
+ changePage(val) {
if (val && val.page) {
this.caseListQuery.pageNo = val.page
}
diff --git a/src/pages/ywts/cszl/jt/index.vue b/src/pages/ywts/cszl/jt/index.vue
index fb1ce91..ef5938c 100644
--- a/src/pages/ywts/cszl/jt/index.vue
+++ b/src/pages/ywts/cszl/jt/index.vue
@@ -1,15 +1,21 @@
-
+
@@ -26,8 +32,9 @@
getStatistics,
getCasePointList, getCaseInfo
} from "../../../../api/ywts/cszl/gd";
-import {AddDivPointHighlight, AddLabel} from "../../../../utils/freedo";
+import { AddDivPointHighlight, AddLabel } from "../../../../utils/freedo";
import ListPage from "@/components/ListPage";
+import { eventBus } from "../../../../main";
export default {
name: 'Jt',
@@ -47,19 +54,19 @@
},
caseTotal: 0,
caseIcon: {
- 1: require('@/assets/images/icon/事件/已撤案.png'),
- 2: require('@/assets/images/icon/事件/指派中.png'),
- 3: require('@/assets/images/icon/事件/处置中.png'),
- 4: require('@/assets/images/icon/事件/已办结.png'),
- 5: require('@/assets/images/icon/事件/已结案.png'),
- },
+ 1: require('@/assets/images/icon/事件/已撤案.png'),
+ 2: require('@/assets/images/icon/事件/指派中.png'),
+ 3: require('@/assets/images/icon/事件/处置中.png'),
+ 4: require('@/assets/images/icon/事件/已办结.png'),
+ 5: require('@/assets/images/icon/事件/已结案.png'),
+ },
caseColor: {
- 1: '#ffffff',
- 2: '#fdeb56',
- 3: '#85c8ff',
- 4: '#ffba74',
- 5: '#87f6b3',
- },
+ 1: '#ffffff',
+ 2: '#fdeb56',
+ 3: '#85c8ff',
+ 4: '#ffba74',
+ 5: '#87f6b3',
+ },
time: {
startTime: '',
endTime: '',
@@ -81,10 +88,10 @@
name: '基础设施',
value: 'place'
}
- // , {
- // name: '环监设备',
- // value: 'others'
- // }
+ // , {
+ // name: '环监设备',
+ // value: 'others'
+ // }
],
menus: {
place: [
@@ -98,11 +105,27 @@
},
mounted() {
getStatistics().then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
this.menus.place = response.data.value
}
})
this.search()
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: false }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: false });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: true });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: true }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
+ // 清除弹窗展示
+ this.$bus.$on('clear', () => {
+ this.isListPage = false
+ })
},
methods: {
async btnClick(e) {
@@ -121,16 +144,16 @@
// 设备图层控制
layer(item) {
// clearUpMap()
- const iconOnline = require('@/assets/images/icon/工地地图点位/'+item.typename.replace(/ /g,'')+'在线.png')
- const iconOffline = require('@/assets/images/icon/工地地图点位/'+item.typename.replace(/ /g,'')+'离线.png')
- getDevList({type: item.type}).then(response => {
- if(response.code === 200) {
+ const iconOnline = require('@/assets/images/icon/工地地图点位/' + item.typename.replace(/ /g, '') + '在线.png')
+ const iconOffline = require('@/assets/images/icon/工地地图点位/' + item.typename.replace(/ /g, '') + '离线.png')
+ getDevList({ type: item.type }).then(response => {
+ if (response.code === 200) {
clearUpMap()
response.data.value.forEach(item => {
AddLabelPoint(
item.id,
'',
- item.status === '1'? iconOnline: iconOffline,
+ item.status === '1' ? iconOnline : iconOffline,
[item.lon, item.lat, 0], 'gd-place', item,
null)
})
@@ -141,11 +164,11 @@
casePoint() {
console.log(this.time)
getCasePointList(this.time).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
clearUpMap()
const data = []
response.data.value.forEach(item => {
- if(!data.map(da => da.id).includes(item.id) && !data.map(da => da.lon).includes(item.lon) && item.id !== null) {
+ if (!data.map(da => da.id).includes(item.id) && !data.map(da => da.lon).includes(item.lon) && item.id !== null) {
data.push(item)
}
})
@@ -165,7 +188,7 @@
const iconDone = require('@/assets/images/icon/工地地图点位/工地已完成.png')
const iconDoing = require('@/assets/images/icon/工地地图点位/工地进行中.png')
getArea({}).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
clearUpMap()
response.data.value.forEach(item => {
// console.log(item.areaboundary)
@@ -173,7 +196,7 @@
AddLabelPoint(
item.id,
item.name,
- item.status === '2' ? iconDoing: iconDone,
+ item.status === '2' ? iconDoing : iconDone,
[item.lon, item.lat, 0], 'gd', item,
this.clickHw)
})
@@ -183,7 +206,7 @@
// 智慧工地-工地近1月综合得分
score() {
getArea({}).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
response.data.value.forEach(item => {
console.log(item.areaboundary)
// todo : 画范围
@@ -195,7 +218,7 @@
clickCase(eventArg) {
const item = eventArg._data.data
// 恢复上一个marker
- if(this.preCase !== null ) {
+ if (this.preCase !== null) {
window.mmManager.removeById(this.preCase.id)
AddLabelPoint(
this.preCase.id,
@@ -231,13 +254,13 @@
searchCaseMarkerList() {
// getCaseInfo(this.caseListQuery).then(response => {
getCaseInfo(this.caseListQuery).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
console.log(response.data.value)
// 右侧看板
- this.caseList = response.data.value
+ this.caseList = response.data.value
// todo
// this.caseTotal = response.data.value.length
- this.caseTotal = 12
+ this.caseTotal = 12
}
})
},
@@ -246,7 +269,7 @@
},
handleTimeRange(time) {
this.isListPage = false
- if(this.time.startTime !== '') {
+ if (this.time.startTime !== '') {
this.time = time
this.casePoint()
} else {
diff --git a/src/pages/ywts/cszl/jxh/index.vue b/src/pages/ywts/cszl/jxh/index.vue
index a3703db..0f23aaa 100644
--- a/src/pages/ywts/cszl/jxh/index.vue
+++ b/src/pages/ywts/cszl/jxh/index.vue
@@ -1,26 +1,24 @@
-
-
+
+
@@ -44,14 +42,15 @@
getAll,
getCaseInfo, getBoard
} from "../../../../api/ywts/cszl/jxh";
-import {AddDivPointCase, AddDivPointHighlight, AddOnlyLabel, AddPolygon} from "../../../../utils/freedo";
+import { AddDivPointCase, AddDivPointHighlight, AddOnlyLabel, AddPolygon } from "../../../../utils/freedo";
import ListPage from "@/components/ListPage";
-import {getGridInfo, getGridToken} from "../../../../api/common";
+import { getGridInfo, getGridToken } from "../../../../api/common";
import JxhPop from "./jxhPop";
+import { eventBus } from "../../../../main";
export default {
name: 'Jxh',
- components: {JxhPop, LayerManager, TimeManager, KeywordManager, CommonBtn, ListPage },
+ components: { JxhPop, LayerManager, TimeManager, KeywordManager, CommonBtn, ListPage },
data() {
return {
preCase: null,
@@ -128,6 +127,22 @@
}
},
mounted() {
+ this.$bus.$on('clear', () => {
+ this.isListPage = false
+ this.isShow = false
+ })
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: false }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: false });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: false });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: false }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
// 全部事件
getAll({
// urgent: '0',
@@ -135,8 +150,8 @@
// high: '0',
startTime: this.time.startTime,
endTime: this.time.endTime,
- }).then( res => {
- if(res.code === 200) {
+ }).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
@@ -154,7 +169,7 @@
caseMarker(res) {
res.data.value.forEach(item => {
// console.log(item.status)
- if(item.total === '1') {
+ if (item.total === '1') {
AddLabelPoint(
item.id,
'',
@@ -180,24 +195,24 @@
switch (e.bigtype) {
case 'source':
query.sourceId = e.type
- getSourceList(query).then( res => {
- if(res.code === 200) {
+ getSourceList(query).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
break
case 'project':
query.projectId = e.type
- getProjectList(query).then( res => {
- if(res.code === 200) {
+ getProjectList(query).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
break
case 'grid':
query.gridType = e.type
- getGridList(query).then( res => {
- if(res.code === 200) {
+ getGridList(query).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
@@ -208,7 +223,7 @@
clickCase(eventArg) {
const item = eventArg._data.data
// 恢复上一个marker
- if(this.preCase !== null ) {
+ if (this.preCase !== null) {
window.mmManager.removeById(this.preCase.id)
AddLabelPoint(
this.preCase.id,
@@ -218,7 +233,7 @@
this.clickCase)
}
- if(item.total === '1') {
+ if (item.total === '1') {
// 保存当前marker
this.preCase = item
// 高亮当前marker
@@ -229,7 +244,7 @@
}
// 查询事件详情
- this.caseTotal = Number(item.total)
+ this.caseTotal = Number(item.total)
this.caseList = []
this.isListPage = true
this.hasUrge = false
@@ -263,13 +278,13 @@
// high: '0',
startTime: this.time.startTime,
endTime: this.time.endTime,
- }).then( res => {
- if(res.code === 200) {
+ }).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
// 事件看板
- this.caseTotal = 1000 // todo
+ this.caseTotal = 1000 // todo
this.caseList = []
this.isListPage = true
this.hasUrge = true
@@ -292,8 +307,8 @@
high: '1',
startTime: this.time.startTime,
endTime: this.time.endTime,
- }).then( res => {
- if(res.code === 200) {
+ }).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
@@ -306,8 +321,8 @@
// high: '0',
startTime: this.time.startTime,
endTime: this.time.endTime,
- }).then( res => {
- if(res.code === 200) {
+ }).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
@@ -317,7 +332,7 @@
break
case "caseHeatBtn":
getHeat(this.time).then(res => {
- if(res.code === 200) {
+ if (res.code === 200) {
heat(res.data.value) // 热力图
}
})
@@ -326,29 +341,29 @@
},
gridDraw(token, areaCode) {
const colors = [
- [0,234,255,0.47],
- [255,185,0,0.47],
- [255,234,0,0.47],
- [209,0,255,0.47],
- [255,0,38,0.47],
+ [0, 234, 255, 0.47],
+ [255, 185, 0, 0.47],
+ [255, 234, 0, 0.47],
+ [209, 0, 255, 0.47],
+ [255, 0, 38, 0.47],
]
getGridInfo({
paramCodeList: 'KJ5001',
areaCode,
token
- }).then( res => {
+ }).then(res => {
console.log(res)
res.data.chirdAreaInfo.forEach((item, index) => {
item._source.areainfo.coordinates.forEach(area => {
let positions = []
- let arr = item._source.areainfo.type === 'MultiPolygon' ? area[0]: area
+ let arr = item._source.areainfo.type === 'MultiPolygon' ? area[0] : area
arr.forEach(pos => {
- positions.push(Freedo.Cartesian3.fromDegrees( pos[0], pos[1],0))
+ positions.push(Freedo.Cartesian3.fromDegrees(pos[0], pos[1], 0))
})
- AddPolygon(positions,colors[index % 5], this.gridClick,item._id)
+ AddPolygon(positions, colors[index % 5], this.gridClick, item._id)
AddOnlyLabel(
'',
- item._source.areaname , //+ this.menus.grid
+ item._source.areaname, //+ this.menus.grid
[item._source.lon, item._source.lat, 0],
'', null, null)
})
@@ -364,7 +379,7 @@
secret: CryptoJS.MD5(timestamp + 'geostar999').toString()
}
- getGridToken(param).then( res => {
+ getGridToken(param).then(res => {
clearUpMap()
this.gridDraw(res.data.token, '360783001')
this.gridDraw(res.data.token, '360783002')
@@ -374,32 +389,32 @@
},
// 三个概况统计
layerSeach() {
- getSource(this.time).then( res => {
- if(res.code === 200) {
+ getSource(this.time).then(res => {
+ if (res.code === 200) {
this.menus.source = res.data.value.map(item => {
item.bigtype = 'source'
- item.type = item.id.replace(/ /g,'')
- item.typename = item.name.replace(/ /g,'')
+ item.type = item.id.replace(/ /g, '')
+ item.typename = item.name.replace(/ /g, '')
return item
})
}
})
- getProject(this.time).then( res => {
- if(res.code === 200) {
+ getProject(this.time).then(res => {
+ if (res.code === 200) {
this.menus.project = res.data.value.map(item => {
item.bigtype = 'project'
- item.type = item.id.replace(/ /g,'')
- item.typename = item.name.replace(/ /g,'')
+ item.type = item.id.replace(/ /g, '')
+ item.typename = item.name.replace(/ /g, '')
return item
})
}
})
- getGrid(this.time).then( res => {
- if(res.code === 200) {
+ getGrid(this.time).then(res => {
+ if (res.code === 200) {
this.menus.grid = res.data.value.map(item => {
item.bigtype = 'grid'
- item.type = item.id.replace(/ /g,'')
- item.typename = item.name.replace(/ /g,'')
+ item.type = item.id.replace(/ /g, '')
+ item.typename = item.name.replace(/ /g, '')
return item
})
}
@@ -410,7 +425,7 @@
if (val && val.page) {
this.caseListQuery.pageNo = val.page
}
- if(this.hasUrge) {
+ if (this.hasUrge) {
this.searchBoard()
} else {
this.searchCaseMarkerList()
@@ -419,20 +434,20 @@
// 事件看板查询
searchBoard() {
getBoard(this.caseListQuery).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
console.log(response.data.value)
// 右侧看板
- this.caseList = response.data.value
+ this.caseList = response.data.value
}
})
},
// 事件详情分页
searchCaseMarkerList() {
getCaseInfo(this.caseListQuery).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
console.log(response.data.value)
// 右侧看板
- this.caseList = response.data.value
+ this.caseList = response.data.value
}
})
},
diff --git a/src/pages/ywts/cszl/yj/index.vue b/src/pages/ywts/cszl/yj/index.vue
index 7869a73..d74dfe9 100644
--- a/src/pages/ywts/cszl/yj/index.vue
+++ b/src/pages/ywts/cszl/yj/index.vue
@@ -45,7 +45,7 @@
import { AddDivPointHighlight, AddLabel } from "../../../../utils/freedo";
import { iconFilter, deviceList, caseList } from './data'
import ListPage from "@/components/ListPage";
-
+import { eventBus } from "../../../../main";
export default {
name: 'Yj',
components: { TimeManager, LayerManagerMix, ListPage, CommonBtn, Pop },
@@ -118,14 +118,25 @@
}
},
mounted() {
- // getStatistics().then(response => {
- // if(response.code === 200) {
- // this.menus.place = response.data.value
- // }
- // })
- // this.search()
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: false }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: false });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: false });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: false }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
clearResetMap()
this.searchPlace({})
+
+ this.$bus.$on('clear', () => {
+ this.isListPage = false
+ this.showPop = false
+ })
},
methods: {
async btnClick(e) {
diff --git a/src/pages/ywts/shms/jy/devicePop.vue b/src/pages/ywts/shms/jy/devicePop.vue
new file mode 100644
index 0000000..2c44979
--- /dev/null
+++ b/src/pages/ywts/shms/jy/devicePop.vue
@@ -0,0 +1,281 @@
+
+
+
+
+
+
+
+ 设备名称: {{
+ gdInfo.name }}
+ 设备类型: {{
+ gdInfo.typename }}
+ 设备状态: {{
+ gdInfo.statusName }}
+ 设备位置: {{
+ gdInfo.location }}
+ 时间: {{ gdInfo.time
+ }}
+ 进/出人口数: {{ gdInfo.in
+ }}/{{ gdInfo.out }}
+ 是否赋能: 否
+
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/ywts/shms/jy/index.vue b/src/pages/ywts/shms/jy/index.vue
index b1eb984..f377985 100644
--- a/src/pages/ywts/shms/jy/index.vue
+++ b/src/pages/ywts/shms/jy/index.vue
@@ -6,11 +6,13 @@
+ :select="selectIndex === 'layerBtn'" @btnClick="btnClick" @menuClick="menuClick" />
+
+
@@ -29,13 +31,15 @@
import mapJson from "@/assets/mapJson/map.json";
import modelJson from "@/assets/mapJson/school.json";
import { eventBus } from "../../../../main";
+import devicePop from './devicePop.vue'
export default {
name: 'Jy',
- components: { SchoolPop, TimeManager, KeywordManager, LayerManagerMix, CommonBtn },
+ components: { SchoolPop, TimeManager, KeywordManager, LayerManagerMix, CommonBtn, devicePop },
data() {
return {
isShow: false,
+ showDevice: false,
ktSelect: '',
keyword: '',
keywordList: [],
@@ -56,10 +60,15 @@
},
menus: {
device: [
- { type: "1", typename: "视频设备", total: "111" },
- { type: "2", typename: "门禁设备", total: "111" }
+ { type: "1", typename: "视频设备", total: "0" },
+ { type: "2", typename: "门禁设备", total: "0" }
]
- }
+ },
+ markerList: [],
+ markerBakList: [],
+ videoIcon: require('@/assets/images/icon/视频云/枪机未赋能在线.png'),
+ controlIcon: require('@/assets/images/icon/一卡通/门禁.png'),
+
}
},
mounted() {
@@ -70,55 +79,25 @@
name: 'jy',
autoFlyto: true,
})
- eventBus.$emit('change-layer', { id: 1, checked: false });
- eventBus.$emit('change-layer', { id: 2, checked: false });
- eventBus.$emit('change-layer', { id: 3, checked: false });
- eventBus.$emit('change-layer', { id: 4, checked: false });
- eventBus.$emit('change-layer', { id: 5, checked: true });
- eventBus.$emit('change-layer', { id: 41, checked: true });
- eventBus.$emit('change-layer', { id: 21, checked: true });
- eventBus.$emit('change-layer', { id: 12, checked: true });
- // // 教育模型
- // window.pmtsManager.add({
- // id: "智慧教育-手工模型",
- // url: mapJson.CIM4["智慧教育-手工模型"],
- // show: true,
- // maximumScreenSpaceError: 32,
- // maximumMemoryUsage: 64,
- // maximumAbsoluteMemoryUsage: 8192,
- // autoFlyto: true
- // },
- // undefined
- // )
- // // CIM2 楼
- // window.pmtsManager.add({
- // url: mapJson['CIM2']['CIM2建筑(带纹理)'],
- // show: true,
- // name: 'CIM2建筑(带纹理)',
- // autoFlyto: false
- // })
- // window.pmtsManager.add({
- // url: mapJson['CIM2']['CIM2建筑(带纹理)'],
- // show: true,
- // name: 'CIM2建筑(带纹理)',
- // autoFlyto: false,
- // alpha: 0.5,
- // color: '#002d7a'
- // })
- // for(let key in modelJson) {
- // window.pmtsManager.add({
- // id: key,
- // // url: mapJson.CIM4["智慧教育-手工模型"],
- // url: modelJson[key],
- // show: true,
- // maximumScreenSpaceError: 32,
- // maximumMemoryUsage: 64,
- // maximumAbsoluteMemoryUsage: 8192,
- // autoFlyto: true
- // },
- // undefined
- // )
- // }
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: true }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: false });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: false });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: true }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
+
+ // 清除弹窗展示
+ this.$bus.$on('clear', () => {
+ this.isShow = false
+ this.showDevice = false
+
+ })
},
methods: {
async btnClick(e) {
@@ -126,6 +105,7 @@
clearUpMap(true)
initPosition()
this.isShow = false
+ this.showDevice = false
this.selectIndex = e.target.id
switch (this.selectIndex) {
case "schoolBtn":
@@ -194,10 +174,121 @@
},
// 搜索学校设备
searchDevice() {
- getDevice({}).then(res => {
- console.log('学校数据')
+ getDevice({ keywords: '' }).then(res => {
+ this.markerList = [
+ {
+ "name": "设备1",
+ "lon": "114.859995",
+ "location": "江西省赣州市南康区三江乡",
+ "id": "1676397864375291905",
+ "lat": "25.802129",
+ "type": "1",
+ "typename": "视频设备",
+ statusName: '正常',
+ time: '2025-06-16 09:05:05',
+ in: '0',
+ out: '0',
+ },
+ {
+ "name": "设备2",
+ "lon": "114.861027",
+ "location": "江西省赣州市章贡区潭六路135号靠近逸夫小学",
+ "id": "1676398916763914241",
+ "lat": "25.757553",
+ "type": "2",
+ "typename": "门禁设备",
+ statusName: '正常',
+ time: '2025-06-16 09:05:05',
+ in: '0',
+ out: '0',
+ },
+ {
+ "name": "设备3",
+ "lon": "114.880246",
+ "location": "江西省赣州市章贡区潭东镇弘腾路毅德城",
+ "id": "1676414593390350337",
+ "lat": "25.753119",
+ "type": "1",
+ "typename": "视频设备",
+ statusName: '正常',
+ time: '2025-06-16 09:05:05',
+ in: '0',
+ out: '0',
+ },
+ {
+ "name": "设备4",
+ "lon": "114.879855",
+ "location": "江西省赣州市章贡区潭东镇弘腾路毅德城",
+ "id": "1676414955455254529",
+ "lat": "25.752771",
+ "type": "1",
+ "typename": "视频设备",
+ statusName: '正常',
+ time: '2025-06-16 09:05:05',
+ in: '0',
+ out: '0',
+ },
+ {
+ "name": "设备5",
+ "lon": "114.875438",
+ "location": "江西省赣州市章贡区潭东镇弘腾路毅德城",
+ "id": "1676418661630349312",
+ "lat": "25.748733",
+ "type": "2",
+ "typename": "门禁设备",
+ statusName: '正常',
+ time: '2025-06-16 09:05:05',
+ in: '0',
+ out: '0',
+ },
+ {
+ "name": "设备6",
+ "lon": "114.867371",
+ "location": "江西省赣州市章贡区105国道135号靠近松岭上",
+ "id": "1676422908220542977",
+ "lat": "25.750388",
+ "typename": "2",
+ "typename": "门禁设备",
+ statusName: '正常',
+ time: '2025-06-16 09:05:05',
+ in: '0',
+ out: '0',
+ },
+ ]
+ this.markerBakList = JSON.parse(JSON.stringify(this.markerList))
+ this.menus.device[0].total = this.markerList.filter((item) => item.type === '1').length
+ this.menus.device[1].total = this.markerList.filter((item) => item.type === '2').length
+ // 绘制点位
+ this.markerList.forEach((item) => {
+ AddLabelPoint(
+ item.id,
+ `${item.name}`,
+ item.type === '1' ? this.videoIcon : this.controlIcon,
+ [item.lon, item.lat, 0], 'yl-dev', item,
+ this.clickDevice)
+ })
})
- }
+ },
+ menuClick(e) {
+ clearResetMap()
+ this.markerList = this.markerBakList.filter(item => item.type === e.type)
+ this.markerList.forEach((item) => {
+ AddLabelPoint(
+ item.id,
+ `${item.name}`,
+ item.type === '1' ? this.videoIcon : this.controlIcon,
+ [item.lon, item.lat, 0], 'yl-dev', item,
+ this.clickDevice)
+ })
+ },
+ // 设备点位点击
+ clickDevice(eventArg) {
+ const item = eventArg._data.data
+ this.showDevice = true
+ this.$nextTick(() => {
+ this.$refs.deviceRef.initData(item)
+ })
+ },
}
}
diff --git a/src/pages/ywts/shms/sq/carPop.vue b/src/pages/ywts/shms/sq/carPop.vue
new file mode 100644
index 0000000..b1fe4c3
--- /dev/null
+++ b/src/pages/ywts/shms/sq/carPop.vue
@@ -0,0 +1,275 @@
+
+
+
+
+
+
+
+ 名称: {{
+ gdInfo.name }}
+ 位置: {{
+ gdInfo.location }}
+ 车辆数量: {{ gdInfo.carNum
+ }}
+ 停车位: {{ gdInfo.parkSpaceNum }}
+
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/ywts/shms/sq/communityPop.vue b/src/pages/ywts/shms/sq/communityPop.vue
new file mode 100644
index 0000000..eb6bf07
--- /dev/null
+++ b/src/pages/ywts/shms/sq/communityPop.vue
@@ -0,0 +1,212 @@
+
+
+
+
+
+
{{ name }}
+
位置:{{ position
+ }}
+
+
+
+
+
+
{{ item.total }}
+
{{ item.name }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/ywts/shms/sq/components/agePie.vue b/src/pages/ywts/shms/sq/components/agePie.vue
new file mode 100644
index 0000000..9e41da8
--- /dev/null
+++ b/src/pages/ywts/shms/sq/components/agePie.vue
@@ -0,0 +1,185 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/ywts/shms/sq/components/currentPie.vue b/src/pages/ywts/shms/sq/components/currentPie.vue
new file mode 100644
index 0000000..c7dfe20
--- /dev/null
+++ b/src/pages/ywts/shms/sq/components/currentPie.vue
@@ -0,0 +1,178 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/ywts/shms/sq/components/personBar.vue b/src/pages/ywts/shms/sq/components/personBar.vue
new file mode 100644
index 0000000..b065487
--- /dev/null
+++ b/src/pages/ywts/shms/sq/components/personBar.vue
@@ -0,0 +1,193 @@
+
+
+
+
+
+
+
diff --git a/src/pages/ywts/shms/sq/components/scoreLineBar.vue b/src/pages/ywts/shms/sq/components/scoreLineBar.vue
new file mode 100644
index 0000000..1551e69
--- /dev/null
+++ b/src/pages/ywts/shms/sq/components/scoreLineBar.vue
@@ -0,0 +1,189 @@
+
+
+
+
+
+
+
diff --git a/src/pages/ywts/shms/sq/components/transitBar.vue b/src/pages/ywts/shms/sq/components/transitBar.vue
new file mode 100644
index 0000000..c23b4ba
--- /dev/null
+++ b/src/pages/ywts/shms/sq/components/transitBar.vue
@@ -0,0 +1,173 @@
+
+
+
+
+
+
+
diff --git a/src/pages/ywts/shms/sq/devicePop.vue b/src/pages/ywts/shms/sq/devicePop.vue
new file mode 100644
index 0000000..2c44979
--- /dev/null
+++ b/src/pages/ywts/shms/sq/devicePop.vue
@@ -0,0 +1,281 @@
+
+
+
+
+
+
+
+ 设备名称: {{
+ gdInfo.name }}
+ 设备类型: {{
+ gdInfo.typename }}
+ 设备状态: {{
+ gdInfo.statusName }}
+ 设备位置: {{
+ gdInfo.location }}
+ 时间: {{ gdInfo.time
+ }}
+ 进/出人口数: {{ gdInfo.in
+ }}/{{ gdInfo.out }}
+ 是否赋能: 否
+
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/ywts/shms/sq/index.vue b/src/pages/ywts/shms/sq/index.vue
new file mode 100644
index 0000000..6aa8714
--- /dev/null
+++ b/src/pages/ywts/shms/sq/index.vue
@@ -0,0 +1,478 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/ywts/ywts.vue b/src/pages/ywts/ywts.vue
index 99a5d69..80b53f9 100644
--- a/src/pages/ywts/ywts.vue
+++ b/src/pages/ywts/ywts.vue
@@ -1,23 +1,17 @@
-
-
-
-
+
+
diff --git a/src/pages/ywts/zyhj/hb/casePop.vue b/src/pages/ywts/zyhj/hb/casePop.vue
new file mode 100644
index 0000000..0c07a1a
--- /dev/null
+++ b/src/pages/ywts/zyhj/hb/casePop.vue
@@ -0,0 +1,286 @@
+
+
+
+
+
+
+
+ 统一编码: {{
+ gdInfo.code }}
+ 事件名称: {{
+ gdInfo.eventname }}
+ 事件类型: {{
+ gdInfo.eventypename }}
+ 事件状态: {{
+ gdInfo.eventstatusname }}
+ 上报时间: {{
+ gdInfo.createtime }}
+ 上报人: {{
+ gdInfo.report }}
+ 责任部门: {{
+ gdInfo.dutydeptname }}
+ 紧急程度: {{
+ gdInfo.urgencyname }}
+ 位置: {{
+ gdInfo.location }}
+
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/ywts/zyhj/hb/data.js b/src/pages/ywts/zyhj/hb/data.js
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/src/pages/ywts/zyhj/hb/data.js
diff --git a/src/api/ywts/shms/jy.js b/src/api/ywts/shms/jy.js
index f3ac251..56f48e3 100644
--- a/src/api/ywts/shms/jy.js
+++ b/src/api/ywts/shms/jy.js
@@ -116,7 +116,7 @@
return request({
url: 'zhjy-gktj/zhjy/sbdwlb',
method: 'post',
- data,
+ // data,
params: data
})
}
diff --git a/src/api/ywts/shms/sq.js b/src/api/ywts/shms/sq.js
new file mode 100644
index 0000000..04a5447
--- /dev/null
+++ b/src/api/ywts/shms/sq.js
@@ -0,0 +1,123 @@
+/**
+ * 社区接口
+ */
+import request from '@/utils/request'
+
+// 社区点位列表
+export function getCommunityList() {
+ return request({
+ url: 'zhsq-gktj/zhsq/sqdwlb',
+ method: 'post',
+ })
+}
+
+// 人员热力图
+export function getHeat() {
+ return request({
+ url: 'zhsq-gktj/zhsq/sqyyrlt',
+ method: 'post',
+ })
+}
+
+// 设备点位
+export function getDevice() {
+ return request({
+ url: 'zhsq-gktj/zhsq/sbdwlb',
+ method: 'post',
+ params: {
+ type: '',
+ keywords: ''
+ }
+ })
+}
+
+// 社区车辆
+export function getCar() {
+ return request({
+ url: 'zhsq-gktj/zhsq/sqbyl',
+ method: 'post',
+ })
+}
+
+// 事件点位列表
+export function getCase(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/sjdwlb',
+ method: 'post',
+ params:{
+ ...data
+ }
+ })
+}
+
+// 事件详情
+export function getCaseList(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/zjlbfy',
+ method: 'post',
+ params:{
+ ...data
+ }
+ })
+}
+// 获取社区基本信息
+export function getBaseInfo(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/sqdwxq',
+ method: 'post',
+ params:{
+ ...data
+ },
+ // data
+ })
+}
+// 居民年龄统计
+export function getAgeStatistics(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/jmnltj',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
+// 居民流动比例
+export function getCurrentRatio(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/jmldbl',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
+// 近1年人房车占比统计
+export function getPersonCarRatio(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/rfczbtj',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
+// 近1月居民通行量分析
+export function getTransitrRatio(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/jmtxlfx',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
+// 近1月高频事件排行榜
+export function getCaseRank(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/gpsjphb',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
diff --git a/src/api/ywts/zyhj/hb.js b/src/api/ywts/zyhj/hb.js
index 5e598d1..07625d1 100644
--- a/src/api/ywts/zyhj/hb.js
+++ b/src/api/ywts/zyhj/hb.js
@@ -8,7 +8,10 @@
return request({
url: 'zhhb-gktj/zhhb/gktj',
method: 'post',
- data
+ data,
+ params: {
+ ...data,
+ }
})
}
// 环保点位列表
@@ -19,3 +22,26 @@
data
})
}
+// 环保告警列表
+export function getAlarmList(data) {
+ return request({
+ url: 'zhhb-gktj/zhhb/hbgjlb',
+ method: 'post',
+ // data
+ params: {
+ ...data
+ }
+ })
+}
+
+// 环保事件列表
+export function getCaseList(data) {
+ return request({
+ url: 'zhhb-gktj/zhhb/hbsjlbfy',
+ method: 'post',
+ // data
+ params: {
+ ...data
+ }
+ })
+}
diff --git a/src/api/ywts/zyhj/yl.js b/src/api/ywts/zyhj/yl.js
index 63d7ad2..643e3d4 100644
--- a/src/api/ywts/zyhj/yl.js
+++ b/src/api/ywts/zyhj/yl.js
@@ -88,6 +88,9 @@
url: 'zhyl-gktjljk/zhyl/sjxq',
method: 'post',
data,
+ params: {
+ ...data,
+ }
})
}
// 苗木点位列表
diff --git a/src/components/CommonFunction/index.vue b/src/components/CommonFunction/index.vue
index 1a10acb..c2eba44 100644
--- a/src/components/CommonFunction/index.vue
+++ b/src/components/CommonFunction/index.vue
@@ -5,8 +5,8 @@
@click="btnClick" />
-
+
@@ -21,7 +21,7 @@
import CommonBtn from "../CommonBtn";
import { clearUpMap } from '@/utils/freedo/index'
-import { initPosition, initPage } from "../../utils/freedo";
+import { initPosition, initPage } from "../../utils/freedo";
import mapJson from "@/assets/mapJson/map.json";
import { eventBus } from "../../main";
@@ -59,11 +59,11 @@
disabled: true,
"children": [
{ "id": 41, "label": "智慧教育-手工模型", disabled: true },
- { "id": 42, "label": "智慧停车云-手工模型", disabled: true },
- { "id": 43, "label": "智慧社区-手工模型", disabled: true },
- { "id": 44, "label": "智慧工地-手工模型", disabled: true },
- { "id": 45, "label": "智慧交通-手工模型", disabled: true },
- { "id": 46, "label": "智慧园林-手工模型", disabled: true }
+ { "id": 42, "label": "智慧停车云-手工模型", disabled: true },
+ { "id": 43, "label": "智慧社区-手工模型", disabled: true },
+ { "id": 44, "label": "智慧工地-手工模型", disabled: true },
+ { "id": 45, "label": "智慧交通-手工模型", disabled: true },
+ { "id": 46, "label": "智慧园林-手工模型", disabled: true }
]
}, {
"id": 5,
@@ -95,8 +95,8 @@
setTimeout(() => {
this.tree.forEach((item) => {
item.disabled = false
- if(item.children) {
- item.children = item.children.map((item) => ({ ...item,disabled: false}))
+ if (item.children) {
+ item.children = item.children.map((item) => ({ ...item, disabled: false }))
}
})
}, 5000)
@@ -125,7 +125,7 @@
handler(data, checked, indeterminate)
}
else {
- if(data.id.toString() === '5' && checked) {
+ if (data.id.toString() === '5' && checked) {
window.terrainManager.visible = true
return
}
@@ -143,14 +143,18 @@
},
btnClick(e) {
this.showLayerTree = false
+ this.clearDialog()
if (e.target.id === 'initBtn') {
initPosition()
} else if (e.target.id === 'clearBtn') {
clearUpMap()
} else if (e.target.id === 'layerBtn') {
- // clearUpMap()
this.showLayerTree = true
}
+ },
+ // 清空地图弹窗
+ clearDialog() {
+ this.$bus.$emit('clear')
}
}
}
@@ -178,7 +182,7 @@
right: 20px;
top: 1rem;
display: flex;
- width: 20rem;
+ width: 15rem;
height: 5rem;
z-index: 1111111111;
}
diff --git a/src/pages/csdz/iot/index.vue b/src/pages/csdz/iot/index.vue
index 63b60ea..8aefaea 100644
--- a/src/pages/csdz/iot/index.vue
+++ b/src/pages/csdz/iot/index.vue
@@ -259,8 +259,8 @@
localPoint(e) {
// this.childrenClick(e)
this.clickIcon({
- _data:{
- data:e
+ _data: {
+ data: e
}
})
},
@@ -280,6 +280,11 @@
},
mounted() {
this.search()
+ this.$bus.$on('clear', () => {
+ this.isShowEvent = false
+ this.isShowEventPop = false
+ this.isShowPop = false
+ })
// getStatistics().then(res => {
// if (res.code === 200 && res.data.value.length) {
// console.log(res.data, '')
diff --git a/src/pages/csdz/smartCard/index.vue b/src/pages/csdz/smartCard/index.vue
index 48721f7..32573d2 100644
--- a/src/pages/csdz/smartCard/index.vue
+++ b/src/pages/csdz/smartCard/index.vue
@@ -112,6 +112,7 @@
btnClick(e) {
clearResetMap()
this.selectIndex = e.target.id
+ this.isShowPop = false
if (this.selectIndex === 'publicBtn') {
// 绘制热力图
heat([
@@ -870,6 +871,10 @@
getStatistics({}).then(res => {
console.log(res.data, '一卡通')
})
+ this.$bus.$on('clear', () => {
+ this.isShowPop = false
+ this.isShowEvent = false
+ })
}
}
diff --git a/src/pages/csdz/videoCloud/index.vue b/src/pages/csdz/videoCloud/index.vue
index 4b8d110..81530d5 100644
--- a/src/pages/csdz/videoCloud/index.vue
+++ b/src/pages/csdz/videoCloud/index.vue
@@ -695,6 +695,11 @@
},
mounted() {
this.drawSence()
+ this.$bus.$on('clear', () => {
+ this.isShowPop = false
+ this.isShowEvent = false
+ this.isShowEventPop = false
+ })
}
}
diff --git a/src/pages/ywts/cszl/gd/index.vue b/src/pages/ywts/cszl/gd/index.vue
index e9be7b0..35ee8d7 100644
--- a/src/pages/ywts/cszl/gd/index.vue
+++ b/src/pages/ywts/cszl/gd/index.vue
@@ -1,30 +1,23 @@
-
-
+
+
@@ -34,7 +27,7 @@
import TimeManager from "@/components/TimeManager";
import GdPop from "./gdPop";
import { heat } from '@/utils/freedo/heat'
-import { clearUpMap, clearResetMap ,AddLabelPoint, initPosition } from '@/utils/freedo'
+import { clearUpMap, clearResetMap, AddLabelPoint, initPosition } from '@/utils/freedo'
import {
getHeat,
getArea,
@@ -43,17 +36,17 @@
getStatistics,
getCasePointList, getCaseInfo
} from "../../../../api/ywts/cszl/gd";
-import {AddDivPointCase, AddDivPointHighlight, AddLabel, focusPoint} from "../../../../utils/freedo";
+import { AddDivPointCase, AddDivPointHighlight, AddLabel, focusPoint } from "../../../../utils/freedo";
import ListPage from "@/components/ListPage";
import KeywordManager from "../../../../components/KeywordManager";
import gridJson from "@/assets/mapJson/grid.json";
import mapJson from "@/assets/mapJson/map.json";
-import {eventBus} from "../../../../main";
+import { eventBus } from "../../../../main";
export default {
name: 'Gd',
- components: {KeywordManager, GdPop, TimeManager, LayerManagerMix, ListPage, CommonBtn },
+ components: { KeywordManager, GdPop, TimeManager, LayerManagerMix, ListPage, CommonBtn },
data() {
return {
isListPage: false,
@@ -73,19 +66,19 @@
caseTotal: 0,
layerManager: null,
caseIcon: {
- 1: require('@/assets/images/icon/事件/已撤案.png'),
- 2: require('@/assets/images/icon/事件/指派中.png'),
- 3: require('@/assets/images/icon/事件/处置中.png'),
- 4: require('@/assets/images/icon/事件/已办结.png'),
- 5: require('@/assets/images/icon/事件/已结案.png'),
- },
+ 1: require('@/assets/images/icon/事件/已撤案.png'),
+ 2: require('@/assets/images/icon/事件/指派中.png'),
+ 3: require('@/assets/images/icon/事件/处置中.png'),
+ 4: require('@/assets/images/icon/事件/已办结.png'),
+ 5: require('@/assets/images/icon/事件/已结案.png'),
+ },
caseColor: {
- 1: '#ffffff88',
- 2: '#fdeb5688',
- 3: '#85c8ff88',
- 4: '#ffba7488',
- 5: '#87f6b388',
- },
+ 1: '#ffffff88',
+ 2: '#fdeb5688',
+ 3: '#85c8ff88',
+ 4: '#ffba7488',
+ 5: '#87f6b388',
+ },
time: {
startTime: '',
endTime: '',
@@ -105,10 +98,10 @@
name: '工地设备',
value: 'device'
}
- // , {
- // name: '环监设备',
- // value: 'others'
- // }
+ // , {
+ // name: '环监设备',
+ // value: 'others'
+ // }
],
menus: {
device: [
@@ -122,7 +115,7 @@
},
mounted() {
getStatistics().then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
this.menus.device = response.data.value
}
})
@@ -135,28 +128,24 @@
autoFlyto: true,
})
- eventBus.$emit('change-layer', { id:1, checked: false});
- eventBus.$emit('change-layer', { id:2, checked: false});
- eventBus.$emit('change-layer', { id:3, checked: false});
- eventBus.$emit('change-layer', { id:4, checked: false});
- eventBus.$emit('change-layer', { id:5, checked: true});
- eventBus.$emit('change-layer', { id:44, checked: true});
- eventBus.$emit('change-layer', { id:21, checked: true});
- eventBus.$emit('change-layer', { id:12, checked: true});
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: false }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: true });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: false });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: true }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
-
- // window.pmtsManager.add({
- // id: "智慧工地-手工模型",
- // url: mapJson.CIM4["智慧工地-手工模型"],
- // show: true,
- // maximumScreenSpaceError: 32,
- // maximumMemoryUsage: 64,
- // maximumAbsoluteMemoryUsage: 8192,
- // autoFlyto: true
- // },
- // undefined
- // )
- // window.terrainManager.visible = true
+ // 清除弹窗展示
+ this.$bus.$on('clear', () => {
+ this.isListPage = false
+ this.isShow = false
+ })
},
methods: {
async btnClick(e) {
@@ -179,7 +168,7 @@
break
case "personBtn":
getHeat().then(res => {
- if(res.code === 200) {
+ if (res.code === 200) {
console.log(res.data, '热力')
const arr = res.data.value.filter(item => item.lng !== "" && item.lng !== null)
// arr.splice(0,1) // todo: 测试第一个错误数据
@@ -192,17 +181,17 @@
// 设备图层控制
layer(item) {
// clearUpMap(true)
- const iconOnline = require('@/assets/images/icon/工地地图点位/'+item.typename.replace(/ /g,'')+'在线.png')
- const iconOffline = require('@/assets/images/icon/工地地图点位/'+item.typename.replace(/ /g,'')+'离线.png')
- getDevList({type: item.type}).then(response => {
- if(response.code === 200) {
+ const iconOnline = require('@/assets/images/icon/工地地图点位/' + item.typename.replace(/ /g, '') + '在线.png')
+ const iconOffline = require('@/assets/images/icon/工地地图点位/' + item.typename.replace(/ /g, '') + '离线.png')
+ getDevList({ type: item.type }).then(response => {
+ if (response.code === 200) {
clearUpMap(true)
this.keywordList = response.data.value
response.data.value.forEach(item => {
AddLabelPoint(
item.id,
'',
- item.status === '1'? iconOnline: iconOffline,
+ item.status === '1' ? iconOnline : iconOffline,
[item.lon, item.lat, 0], 'gd-dev', item,
null)
})
@@ -216,23 +205,23 @@
// keywords: this.keyword
}
getCasePointList(param).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
clearUpMap(true)
const data = []
response.data.value.forEach(item => {
- if(!data.map(da => da.id).includes(item.id) && !data.map(da => da.lon).includes(item.lon) && item.id !== null) {
+ if (!data.map(da => da.id).includes(item.id) && !data.map(da => da.lon).includes(item.lon) && item.id !== null) {
data.push(item)
}
})
this.keywordList = data
data.forEach(item => {
// if(item.total === '1') {
- AddLabelPoint(
- item.id,
- '',
- this.caseIcon[item.eventstatus],
- [item.lon, item.lat, 0], 'gd-case', item,
- this.clickCase)
+ AddLabelPoint(
+ item.id,
+ '',
+ this.caseIcon[item.eventstatus],
+ [item.lon, item.lat, 0], 'gd-case', item,
+ this.clickCase)
// } else {
// AddDivPointCase(item, this.caseColor[item.status], item.total, this.clickCase)
// }
@@ -244,8 +233,8 @@
search() {
const iconDone = require('@/assets/images/icon/工地地图点位/工地已完成.png')
const iconDoing = require('@/assets/images/icon/工地地图点位/工地进行中.png')
- getArea({keywords: this.keyword}).then(response => {
- if(response.code === 200) {
+ getArea({ keywords: this.keyword }).then(response => {
+ if (response.code === 200) {
clearUpMap(true)
this.keywordList = response.data.value
response.data.value.forEach(item => {
@@ -254,7 +243,7 @@
AddLabelPoint(
item.id,
item.name,
- item.status === '2' ? iconDoing: iconDone,
+ item.status === '2' ? iconDoing : iconDone,
[item.lon, item.lat, 0], 'gd', item,
this.clickGd)
})
@@ -265,8 +254,8 @@
score() {
const iconDone = require('@/assets/images/icon/工地地图点位/工地已完成.png')
const iconDoing = require('@/assets/images/icon/工地地图点位/工地进行中.png')
- getArea({keywords: this.keyword}).then(response => {
- if(response.code === 200) {
+ getArea({ keywords: this.keyword }).then(response => {
+ if (response.code === 200) {
this.keywordList = response.data.value
response.data.value.forEach(item => {
// console.log(item,'321123')
@@ -280,8 +269,8 @@
})
}
})
- getMonthGdScore({keywords: this.keyword}).then(response => {
- if(response.code === 200) {
+ getMonthGdScore({ keywords: this.keyword }).then(response => {
+ if (response.code === 200) {
response.data.value.filter(item => item.lng !== "" && item.lng !== null).forEach(item => {
AddLabel(
item.id,
@@ -304,7 +293,7 @@
clickCase(eventArg) {
const item = eventArg._data.data
// 恢复上一个marker
- if(this.preCase !== null ) {
+ if (this.preCase !== null) {
window.mmManager.removeById(this.preCase.id)
AddLabelPoint(
this.preCase.id,
@@ -313,7 +302,7 @@
[this.preCase.lon, this.preCase.lat, 0], 'gd-case', this.preCase,
this.clickCase)
}
- if(item.total === '1') {
+ if (item.total === '1') {
// 保存当前marker
this.preCase = item
// 高亮当前marker
@@ -323,7 +312,7 @@
this.preCase = null
}
// 查询事件详情
- this.caseTotal = Number(item.total)
+ this.caseTotal = Number(item.total)
this.isListPage = true
this.$refs.caseListPage.initDialog()
this.caseListQuery = {
@@ -345,16 +334,16 @@
searchCaseMarkerList() {
// getCaseInfo(this.caseListQuery).then(response => {
getCaseInfo(this.caseListQuery).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
console.log(response.data.value)
// 右侧看板
- this.caseList = response.data.value
+ this.caseList = response.data.value
}
})
},
handleTimeRange(time) {
this.isListPage = false
- if(this.time.startTime !== '') {
+ if (this.time.startTime !== '') {
this.time = time
this.casePoint()
} else {
diff --git a/src/pages/ywts/cszl/hw/index.vue b/src/pages/ywts/cszl/hw/index.vue
index e773b7d..ed28bc6 100644
--- a/src/pages/ywts/cszl/hw/index.vue
+++ b/src/pages/ywts/cszl/hw/index.vue
@@ -31,6 +31,7 @@
import ListPage from "@/components/ListPage";
import { getPlacePointList, getOverviewStatistics, getPersonList, getCarList, getCaseList, getCaseInfo } from '@/api/ywts/cszl/hw'
import { iconFilter, iconPerson, personList, carList, iconCar } from './data'
+import { eventBus } from "../../../../main";
export default {
name: 'Hw',
components: { TimeManager, LayerManagerMix, ListPage, CommonBtn, Pop },
@@ -94,7 +95,25 @@
},
mounted() {
clearResetMap()
+ this.selectInde = 'deviceBtn'
this.fetchPoint()
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: false }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: false });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: false });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: false }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
+ // 清除弹窗展示
+ this.$bus.$on('clear', () => {
+ this.isListPage = false
+ this.showPop = false
+ })
},
methods: {
async btnClick(e) {
@@ -263,17 +282,17 @@
// this.caseList = res.data.value || []
// this.caseTotal = this.caseList.length
res.data.value.forEach(item => {
- AddLabelPoint(
- item.id.replaceAll('.', ''),
- '',
- this.caseIcon[item.status],
- [item.lon, item.lat, 0], 'gd-case', item,
- this.clickCase)
- })
+ AddLabelPoint(
+ item.id.replaceAll('.', ''),
+ '',
+ this.caseIcon[item.status],
+ [item.lon, item.lat, 0], 'gd-case', item,
+ this.clickCase)
+ })
})
},
- // 点击事件icon
- clickCase(eventArg) {
+ // 点击事件icon
+ clickCase(eventArg) {
const item = eventArg._data.data
// 恢复上一个marker
if (this.preCase !== null) {
@@ -306,11 +325,11 @@
getCaseInfo(this.caseListQuery).then(res => {
console.log(res.data, '事件详情')
this.caseList = res.data.value || []
- this.caseTotal = this.caseList.length
+ this.caseTotal = this.caseList.length
})
},
- // 事件换页
- changePage(val) {
+ // 事件换页
+ changePage(val) {
if (val && val.page) {
this.caseListQuery.pageNo = val.page
}
diff --git a/src/pages/ywts/cszl/jt/index.vue b/src/pages/ywts/cszl/jt/index.vue
index fb1ce91..ef5938c 100644
--- a/src/pages/ywts/cszl/jt/index.vue
+++ b/src/pages/ywts/cszl/jt/index.vue
@@ -1,15 +1,21 @@
-
+
@@ -26,8 +32,9 @@
getStatistics,
getCasePointList, getCaseInfo
} from "../../../../api/ywts/cszl/gd";
-import {AddDivPointHighlight, AddLabel} from "../../../../utils/freedo";
+import { AddDivPointHighlight, AddLabel } from "../../../../utils/freedo";
import ListPage from "@/components/ListPage";
+import { eventBus } from "../../../../main";
export default {
name: 'Jt',
@@ -47,19 +54,19 @@
},
caseTotal: 0,
caseIcon: {
- 1: require('@/assets/images/icon/事件/已撤案.png'),
- 2: require('@/assets/images/icon/事件/指派中.png'),
- 3: require('@/assets/images/icon/事件/处置中.png'),
- 4: require('@/assets/images/icon/事件/已办结.png'),
- 5: require('@/assets/images/icon/事件/已结案.png'),
- },
+ 1: require('@/assets/images/icon/事件/已撤案.png'),
+ 2: require('@/assets/images/icon/事件/指派中.png'),
+ 3: require('@/assets/images/icon/事件/处置中.png'),
+ 4: require('@/assets/images/icon/事件/已办结.png'),
+ 5: require('@/assets/images/icon/事件/已结案.png'),
+ },
caseColor: {
- 1: '#ffffff',
- 2: '#fdeb56',
- 3: '#85c8ff',
- 4: '#ffba74',
- 5: '#87f6b3',
- },
+ 1: '#ffffff',
+ 2: '#fdeb56',
+ 3: '#85c8ff',
+ 4: '#ffba74',
+ 5: '#87f6b3',
+ },
time: {
startTime: '',
endTime: '',
@@ -81,10 +88,10 @@
name: '基础设施',
value: 'place'
}
- // , {
- // name: '环监设备',
- // value: 'others'
- // }
+ // , {
+ // name: '环监设备',
+ // value: 'others'
+ // }
],
menus: {
place: [
@@ -98,11 +105,27 @@
},
mounted() {
getStatistics().then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
this.menus.place = response.data.value
}
})
this.search()
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: false }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: false });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: true });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: true }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
+ // 清除弹窗展示
+ this.$bus.$on('clear', () => {
+ this.isListPage = false
+ })
},
methods: {
async btnClick(e) {
@@ -121,16 +144,16 @@
// 设备图层控制
layer(item) {
// clearUpMap()
- const iconOnline = require('@/assets/images/icon/工地地图点位/'+item.typename.replace(/ /g,'')+'在线.png')
- const iconOffline = require('@/assets/images/icon/工地地图点位/'+item.typename.replace(/ /g,'')+'离线.png')
- getDevList({type: item.type}).then(response => {
- if(response.code === 200) {
+ const iconOnline = require('@/assets/images/icon/工地地图点位/' + item.typename.replace(/ /g, '') + '在线.png')
+ const iconOffline = require('@/assets/images/icon/工地地图点位/' + item.typename.replace(/ /g, '') + '离线.png')
+ getDevList({ type: item.type }).then(response => {
+ if (response.code === 200) {
clearUpMap()
response.data.value.forEach(item => {
AddLabelPoint(
item.id,
'',
- item.status === '1'? iconOnline: iconOffline,
+ item.status === '1' ? iconOnline : iconOffline,
[item.lon, item.lat, 0], 'gd-place', item,
null)
})
@@ -141,11 +164,11 @@
casePoint() {
console.log(this.time)
getCasePointList(this.time).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
clearUpMap()
const data = []
response.data.value.forEach(item => {
- if(!data.map(da => da.id).includes(item.id) && !data.map(da => da.lon).includes(item.lon) && item.id !== null) {
+ if (!data.map(da => da.id).includes(item.id) && !data.map(da => da.lon).includes(item.lon) && item.id !== null) {
data.push(item)
}
})
@@ -165,7 +188,7 @@
const iconDone = require('@/assets/images/icon/工地地图点位/工地已完成.png')
const iconDoing = require('@/assets/images/icon/工地地图点位/工地进行中.png')
getArea({}).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
clearUpMap()
response.data.value.forEach(item => {
// console.log(item.areaboundary)
@@ -173,7 +196,7 @@
AddLabelPoint(
item.id,
item.name,
- item.status === '2' ? iconDoing: iconDone,
+ item.status === '2' ? iconDoing : iconDone,
[item.lon, item.lat, 0], 'gd', item,
this.clickHw)
})
@@ -183,7 +206,7 @@
// 智慧工地-工地近1月综合得分
score() {
getArea({}).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
response.data.value.forEach(item => {
console.log(item.areaboundary)
// todo : 画范围
@@ -195,7 +218,7 @@
clickCase(eventArg) {
const item = eventArg._data.data
// 恢复上一个marker
- if(this.preCase !== null ) {
+ if (this.preCase !== null) {
window.mmManager.removeById(this.preCase.id)
AddLabelPoint(
this.preCase.id,
@@ -231,13 +254,13 @@
searchCaseMarkerList() {
// getCaseInfo(this.caseListQuery).then(response => {
getCaseInfo(this.caseListQuery).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
console.log(response.data.value)
// 右侧看板
- this.caseList = response.data.value
+ this.caseList = response.data.value
// todo
// this.caseTotal = response.data.value.length
- this.caseTotal = 12
+ this.caseTotal = 12
}
})
},
@@ -246,7 +269,7 @@
},
handleTimeRange(time) {
this.isListPage = false
- if(this.time.startTime !== '') {
+ if (this.time.startTime !== '') {
this.time = time
this.casePoint()
} else {
diff --git a/src/pages/ywts/cszl/jxh/index.vue b/src/pages/ywts/cszl/jxh/index.vue
index a3703db..0f23aaa 100644
--- a/src/pages/ywts/cszl/jxh/index.vue
+++ b/src/pages/ywts/cszl/jxh/index.vue
@@ -1,26 +1,24 @@
-
-
+
+
@@ -44,14 +42,15 @@
getAll,
getCaseInfo, getBoard
} from "../../../../api/ywts/cszl/jxh";
-import {AddDivPointCase, AddDivPointHighlight, AddOnlyLabel, AddPolygon} from "../../../../utils/freedo";
+import { AddDivPointCase, AddDivPointHighlight, AddOnlyLabel, AddPolygon } from "../../../../utils/freedo";
import ListPage from "@/components/ListPage";
-import {getGridInfo, getGridToken} from "../../../../api/common";
+import { getGridInfo, getGridToken } from "../../../../api/common";
import JxhPop from "./jxhPop";
+import { eventBus } from "../../../../main";
export default {
name: 'Jxh',
- components: {JxhPop, LayerManager, TimeManager, KeywordManager, CommonBtn, ListPage },
+ components: { JxhPop, LayerManager, TimeManager, KeywordManager, CommonBtn, ListPage },
data() {
return {
preCase: null,
@@ -128,6 +127,22 @@
}
},
mounted() {
+ this.$bus.$on('clear', () => {
+ this.isListPage = false
+ this.isShow = false
+ })
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: false }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: false });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: false });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: false }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
// 全部事件
getAll({
// urgent: '0',
@@ -135,8 +150,8 @@
// high: '0',
startTime: this.time.startTime,
endTime: this.time.endTime,
- }).then( res => {
- if(res.code === 200) {
+ }).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
@@ -154,7 +169,7 @@
caseMarker(res) {
res.data.value.forEach(item => {
// console.log(item.status)
- if(item.total === '1') {
+ if (item.total === '1') {
AddLabelPoint(
item.id,
'',
@@ -180,24 +195,24 @@
switch (e.bigtype) {
case 'source':
query.sourceId = e.type
- getSourceList(query).then( res => {
- if(res.code === 200) {
+ getSourceList(query).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
break
case 'project':
query.projectId = e.type
- getProjectList(query).then( res => {
- if(res.code === 200) {
+ getProjectList(query).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
break
case 'grid':
query.gridType = e.type
- getGridList(query).then( res => {
- if(res.code === 200) {
+ getGridList(query).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
@@ -208,7 +223,7 @@
clickCase(eventArg) {
const item = eventArg._data.data
// 恢复上一个marker
- if(this.preCase !== null ) {
+ if (this.preCase !== null) {
window.mmManager.removeById(this.preCase.id)
AddLabelPoint(
this.preCase.id,
@@ -218,7 +233,7 @@
this.clickCase)
}
- if(item.total === '1') {
+ if (item.total === '1') {
// 保存当前marker
this.preCase = item
// 高亮当前marker
@@ -229,7 +244,7 @@
}
// 查询事件详情
- this.caseTotal = Number(item.total)
+ this.caseTotal = Number(item.total)
this.caseList = []
this.isListPage = true
this.hasUrge = false
@@ -263,13 +278,13 @@
// high: '0',
startTime: this.time.startTime,
endTime: this.time.endTime,
- }).then( res => {
- if(res.code === 200) {
+ }).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
// 事件看板
- this.caseTotal = 1000 // todo
+ this.caseTotal = 1000 // todo
this.caseList = []
this.isListPage = true
this.hasUrge = true
@@ -292,8 +307,8 @@
high: '1',
startTime: this.time.startTime,
endTime: this.time.endTime,
- }).then( res => {
- if(res.code === 200) {
+ }).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
@@ -306,8 +321,8 @@
// high: '0',
startTime: this.time.startTime,
endTime: this.time.endTime,
- }).then( res => {
- if(res.code === 200) {
+ }).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
@@ -317,7 +332,7 @@
break
case "caseHeatBtn":
getHeat(this.time).then(res => {
- if(res.code === 200) {
+ if (res.code === 200) {
heat(res.data.value) // 热力图
}
})
@@ -326,29 +341,29 @@
},
gridDraw(token, areaCode) {
const colors = [
- [0,234,255,0.47],
- [255,185,0,0.47],
- [255,234,0,0.47],
- [209,0,255,0.47],
- [255,0,38,0.47],
+ [0, 234, 255, 0.47],
+ [255, 185, 0, 0.47],
+ [255, 234, 0, 0.47],
+ [209, 0, 255, 0.47],
+ [255, 0, 38, 0.47],
]
getGridInfo({
paramCodeList: 'KJ5001',
areaCode,
token
- }).then( res => {
+ }).then(res => {
console.log(res)
res.data.chirdAreaInfo.forEach((item, index) => {
item._source.areainfo.coordinates.forEach(area => {
let positions = []
- let arr = item._source.areainfo.type === 'MultiPolygon' ? area[0]: area
+ let arr = item._source.areainfo.type === 'MultiPolygon' ? area[0] : area
arr.forEach(pos => {
- positions.push(Freedo.Cartesian3.fromDegrees( pos[0], pos[1],0))
+ positions.push(Freedo.Cartesian3.fromDegrees(pos[0], pos[1], 0))
})
- AddPolygon(positions,colors[index % 5], this.gridClick,item._id)
+ AddPolygon(positions, colors[index % 5], this.gridClick, item._id)
AddOnlyLabel(
'',
- item._source.areaname , //+ this.menus.grid
+ item._source.areaname, //+ this.menus.grid
[item._source.lon, item._source.lat, 0],
'', null, null)
})
@@ -364,7 +379,7 @@
secret: CryptoJS.MD5(timestamp + 'geostar999').toString()
}
- getGridToken(param).then( res => {
+ getGridToken(param).then(res => {
clearUpMap()
this.gridDraw(res.data.token, '360783001')
this.gridDraw(res.data.token, '360783002')
@@ -374,32 +389,32 @@
},
// 三个概况统计
layerSeach() {
- getSource(this.time).then( res => {
- if(res.code === 200) {
+ getSource(this.time).then(res => {
+ if (res.code === 200) {
this.menus.source = res.data.value.map(item => {
item.bigtype = 'source'
- item.type = item.id.replace(/ /g,'')
- item.typename = item.name.replace(/ /g,'')
+ item.type = item.id.replace(/ /g, '')
+ item.typename = item.name.replace(/ /g, '')
return item
})
}
})
- getProject(this.time).then( res => {
- if(res.code === 200) {
+ getProject(this.time).then(res => {
+ if (res.code === 200) {
this.menus.project = res.data.value.map(item => {
item.bigtype = 'project'
- item.type = item.id.replace(/ /g,'')
- item.typename = item.name.replace(/ /g,'')
+ item.type = item.id.replace(/ /g, '')
+ item.typename = item.name.replace(/ /g, '')
return item
})
}
})
- getGrid(this.time).then( res => {
- if(res.code === 200) {
+ getGrid(this.time).then(res => {
+ if (res.code === 200) {
this.menus.grid = res.data.value.map(item => {
item.bigtype = 'grid'
- item.type = item.id.replace(/ /g,'')
- item.typename = item.name.replace(/ /g,'')
+ item.type = item.id.replace(/ /g, '')
+ item.typename = item.name.replace(/ /g, '')
return item
})
}
@@ -410,7 +425,7 @@
if (val && val.page) {
this.caseListQuery.pageNo = val.page
}
- if(this.hasUrge) {
+ if (this.hasUrge) {
this.searchBoard()
} else {
this.searchCaseMarkerList()
@@ -419,20 +434,20 @@
// 事件看板查询
searchBoard() {
getBoard(this.caseListQuery).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
console.log(response.data.value)
// 右侧看板
- this.caseList = response.data.value
+ this.caseList = response.data.value
}
})
},
// 事件详情分页
searchCaseMarkerList() {
getCaseInfo(this.caseListQuery).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
console.log(response.data.value)
// 右侧看板
- this.caseList = response.data.value
+ this.caseList = response.data.value
}
})
},
diff --git a/src/pages/ywts/cszl/yj/index.vue b/src/pages/ywts/cszl/yj/index.vue
index 7869a73..d74dfe9 100644
--- a/src/pages/ywts/cszl/yj/index.vue
+++ b/src/pages/ywts/cszl/yj/index.vue
@@ -45,7 +45,7 @@
import { AddDivPointHighlight, AddLabel } from "../../../../utils/freedo";
import { iconFilter, deviceList, caseList } from './data'
import ListPage from "@/components/ListPage";
-
+import { eventBus } from "../../../../main";
export default {
name: 'Yj',
components: { TimeManager, LayerManagerMix, ListPage, CommonBtn, Pop },
@@ -118,14 +118,25 @@
}
},
mounted() {
- // getStatistics().then(response => {
- // if(response.code === 200) {
- // this.menus.place = response.data.value
- // }
- // })
- // this.search()
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: false }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: false });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: false });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: false }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
clearResetMap()
this.searchPlace({})
+
+ this.$bus.$on('clear', () => {
+ this.isListPage = false
+ this.showPop = false
+ })
},
methods: {
async btnClick(e) {
diff --git a/src/pages/ywts/shms/jy/devicePop.vue b/src/pages/ywts/shms/jy/devicePop.vue
new file mode 100644
index 0000000..2c44979
--- /dev/null
+++ b/src/pages/ywts/shms/jy/devicePop.vue
@@ -0,0 +1,281 @@
+
+
+
+
+
+
+
+ 设备名称: {{
+ gdInfo.name }}
+ 设备类型: {{
+ gdInfo.typename }}
+ 设备状态: {{
+ gdInfo.statusName }}
+ 设备位置: {{
+ gdInfo.location }}
+ 时间: {{ gdInfo.time
+ }}
+ 进/出人口数: {{ gdInfo.in
+ }}/{{ gdInfo.out }}
+ 是否赋能: 否
+
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/ywts/shms/jy/index.vue b/src/pages/ywts/shms/jy/index.vue
index b1eb984..f377985 100644
--- a/src/pages/ywts/shms/jy/index.vue
+++ b/src/pages/ywts/shms/jy/index.vue
@@ -6,11 +6,13 @@
+ :select="selectIndex === 'layerBtn'" @btnClick="btnClick" @menuClick="menuClick" />
+
+
@@ -29,13 +31,15 @@
import mapJson from "@/assets/mapJson/map.json";
import modelJson from "@/assets/mapJson/school.json";
import { eventBus } from "../../../../main";
+import devicePop from './devicePop.vue'
export default {
name: 'Jy',
- components: { SchoolPop, TimeManager, KeywordManager, LayerManagerMix, CommonBtn },
+ components: { SchoolPop, TimeManager, KeywordManager, LayerManagerMix, CommonBtn, devicePop },
data() {
return {
isShow: false,
+ showDevice: false,
ktSelect: '',
keyword: '',
keywordList: [],
@@ -56,10 +60,15 @@
},
menus: {
device: [
- { type: "1", typename: "视频设备", total: "111" },
- { type: "2", typename: "门禁设备", total: "111" }
+ { type: "1", typename: "视频设备", total: "0" },
+ { type: "2", typename: "门禁设备", total: "0" }
]
- }
+ },
+ markerList: [],
+ markerBakList: [],
+ videoIcon: require('@/assets/images/icon/视频云/枪机未赋能在线.png'),
+ controlIcon: require('@/assets/images/icon/一卡通/门禁.png'),
+
}
},
mounted() {
@@ -70,55 +79,25 @@
name: 'jy',
autoFlyto: true,
})
- eventBus.$emit('change-layer', { id: 1, checked: false });
- eventBus.$emit('change-layer', { id: 2, checked: false });
- eventBus.$emit('change-layer', { id: 3, checked: false });
- eventBus.$emit('change-layer', { id: 4, checked: false });
- eventBus.$emit('change-layer', { id: 5, checked: true });
- eventBus.$emit('change-layer', { id: 41, checked: true });
- eventBus.$emit('change-layer', { id: 21, checked: true });
- eventBus.$emit('change-layer', { id: 12, checked: true });
- // // 教育模型
- // window.pmtsManager.add({
- // id: "智慧教育-手工模型",
- // url: mapJson.CIM4["智慧教育-手工模型"],
- // show: true,
- // maximumScreenSpaceError: 32,
- // maximumMemoryUsage: 64,
- // maximumAbsoluteMemoryUsage: 8192,
- // autoFlyto: true
- // },
- // undefined
- // )
- // // CIM2 楼
- // window.pmtsManager.add({
- // url: mapJson['CIM2']['CIM2建筑(带纹理)'],
- // show: true,
- // name: 'CIM2建筑(带纹理)',
- // autoFlyto: false
- // })
- // window.pmtsManager.add({
- // url: mapJson['CIM2']['CIM2建筑(带纹理)'],
- // show: true,
- // name: 'CIM2建筑(带纹理)',
- // autoFlyto: false,
- // alpha: 0.5,
- // color: '#002d7a'
- // })
- // for(let key in modelJson) {
- // window.pmtsManager.add({
- // id: key,
- // // url: mapJson.CIM4["智慧教育-手工模型"],
- // url: modelJson[key],
- // show: true,
- // maximumScreenSpaceError: 32,
- // maximumMemoryUsage: 64,
- // maximumAbsoluteMemoryUsage: 8192,
- // autoFlyto: true
- // },
- // undefined
- // )
- // }
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: true }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: false });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: false });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: true }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
+
+ // 清除弹窗展示
+ this.$bus.$on('clear', () => {
+ this.isShow = false
+ this.showDevice = false
+
+ })
},
methods: {
async btnClick(e) {
@@ -126,6 +105,7 @@
clearUpMap(true)
initPosition()
this.isShow = false
+ this.showDevice = false
this.selectIndex = e.target.id
switch (this.selectIndex) {
case "schoolBtn":
@@ -194,10 +174,121 @@
},
// 搜索学校设备
searchDevice() {
- getDevice({}).then(res => {
- console.log('学校数据')
+ getDevice({ keywords: '' }).then(res => {
+ this.markerList = [
+ {
+ "name": "设备1",
+ "lon": "114.859995",
+ "location": "江西省赣州市南康区三江乡",
+ "id": "1676397864375291905",
+ "lat": "25.802129",
+ "type": "1",
+ "typename": "视频设备",
+ statusName: '正常',
+ time: '2025-06-16 09:05:05',
+ in: '0',
+ out: '0',
+ },
+ {
+ "name": "设备2",
+ "lon": "114.861027",
+ "location": "江西省赣州市章贡区潭六路135号靠近逸夫小学",
+ "id": "1676398916763914241",
+ "lat": "25.757553",
+ "type": "2",
+ "typename": "门禁设备",
+ statusName: '正常',
+ time: '2025-06-16 09:05:05',
+ in: '0',
+ out: '0',
+ },
+ {
+ "name": "设备3",
+ "lon": "114.880246",
+ "location": "江西省赣州市章贡区潭东镇弘腾路毅德城",
+ "id": "1676414593390350337",
+ "lat": "25.753119",
+ "type": "1",
+ "typename": "视频设备",
+ statusName: '正常',
+ time: '2025-06-16 09:05:05',
+ in: '0',
+ out: '0',
+ },
+ {
+ "name": "设备4",
+ "lon": "114.879855",
+ "location": "江西省赣州市章贡区潭东镇弘腾路毅德城",
+ "id": "1676414955455254529",
+ "lat": "25.752771",
+ "type": "1",
+ "typename": "视频设备",
+ statusName: '正常',
+ time: '2025-06-16 09:05:05',
+ in: '0',
+ out: '0',
+ },
+ {
+ "name": "设备5",
+ "lon": "114.875438",
+ "location": "江西省赣州市章贡区潭东镇弘腾路毅德城",
+ "id": "1676418661630349312",
+ "lat": "25.748733",
+ "type": "2",
+ "typename": "门禁设备",
+ statusName: '正常',
+ time: '2025-06-16 09:05:05',
+ in: '0',
+ out: '0',
+ },
+ {
+ "name": "设备6",
+ "lon": "114.867371",
+ "location": "江西省赣州市章贡区105国道135号靠近松岭上",
+ "id": "1676422908220542977",
+ "lat": "25.750388",
+ "typename": "2",
+ "typename": "门禁设备",
+ statusName: '正常',
+ time: '2025-06-16 09:05:05',
+ in: '0',
+ out: '0',
+ },
+ ]
+ this.markerBakList = JSON.parse(JSON.stringify(this.markerList))
+ this.menus.device[0].total = this.markerList.filter((item) => item.type === '1').length
+ this.menus.device[1].total = this.markerList.filter((item) => item.type === '2').length
+ // 绘制点位
+ this.markerList.forEach((item) => {
+ AddLabelPoint(
+ item.id,
+ `${item.name}`,
+ item.type === '1' ? this.videoIcon : this.controlIcon,
+ [item.lon, item.lat, 0], 'yl-dev', item,
+ this.clickDevice)
+ })
})
- }
+ },
+ menuClick(e) {
+ clearResetMap()
+ this.markerList = this.markerBakList.filter(item => item.type === e.type)
+ this.markerList.forEach((item) => {
+ AddLabelPoint(
+ item.id,
+ `${item.name}`,
+ item.type === '1' ? this.videoIcon : this.controlIcon,
+ [item.lon, item.lat, 0], 'yl-dev', item,
+ this.clickDevice)
+ })
+ },
+ // 设备点位点击
+ clickDevice(eventArg) {
+ const item = eventArg._data.data
+ this.showDevice = true
+ this.$nextTick(() => {
+ this.$refs.deviceRef.initData(item)
+ })
+ },
}
}
diff --git a/src/pages/ywts/shms/sq/carPop.vue b/src/pages/ywts/shms/sq/carPop.vue
new file mode 100644
index 0000000..b1fe4c3
--- /dev/null
+++ b/src/pages/ywts/shms/sq/carPop.vue
@@ -0,0 +1,275 @@
+
+
+
+
+
+
+
+ 名称: {{
+ gdInfo.name }}
+ 位置: {{
+ gdInfo.location }}
+ 车辆数量: {{ gdInfo.carNum
+ }}
+ 停车位: {{ gdInfo.parkSpaceNum }}
+
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/ywts/shms/sq/communityPop.vue b/src/pages/ywts/shms/sq/communityPop.vue
new file mode 100644
index 0000000..eb6bf07
--- /dev/null
+++ b/src/pages/ywts/shms/sq/communityPop.vue
@@ -0,0 +1,212 @@
+
+
+
+
+
+
{{ name }}
+
位置:{{ position
+ }}
+
+
+
+
+
+
{{ item.total }}
+
{{ item.name }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/ywts/shms/sq/components/agePie.vue b/src/pages/ywts/shms/sq/components/agePie.vue
new file mode 100644
index 0000000..9e41da8
--- /dev/null
+++ b/src/pages/ywts/shms/sq/components/agePie.vue
@@ -0,0 +1,185 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/ywts/shms/sq/components/currentPie.vue b/src/pages/ywts/shms/sq/components/currentPie.vue
new file mode 100644
index 0000000..c7dfe20
--- /dev/null
+++ b/src/pages/ywts/shms/sq/components/currentPie.vue
@@ -0,0 +1,178 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/ywts/shms/sq/components/personBar.vue b/src/pages/ywts/shms/sq/components/personBar.vue
new file mode 100644
index 0000000..b065487
--- /dev/null
+++ b/src/pages/ywts/shms/sq/components/personBar.vue
@@ -0,0 +1,193 @@
+
+
+
+
+
+
+
diff --git a/src/pages/ywts/shms/sq/components/scoreLineBar.vue b/src/pages/ywts/shms/sq/components/scoreLineBar.vue
new file mode 100644
index 0000000..1551e69
--- /dev/null
+++ b/src/pages/ywts/shms/sq/components/scoreLineBar.vue
@@ -0,0 +1,189 @@
+
+
+
+
+
+
+
diff --git a/src/pages/ywts/shms/sq/components/transitBar.vue b/src/pages/ywts/shms/sq/components/transitBar.vue
new file mode 100644
index 0000000..c23b4ba
--- /dev/null
+++ b/src/pages/ywts/shms/sq/components/transitBar.vue
@@ -0,0 +1,173 @@
+
+
+
+
+
+
+
diff --git a/src/pages/ywts/shms/sq/devicePop.vue b/src/pages/ywts/shms/sq/devicePop.vue
new file mode 100644
index 0000000..2c44979
--- /dev/null
+++ b/src/pages/ywts/shms/sq/devicePop.vue
@@ -0,0 +1,281 @@
+
+
+
+
+
+
+
+ 设备名称: {{
+ gdInfo.name }}
+ 设备类型: {{
+ gdInfo.typename }}
+ 设备状态: {{
+ gdInfo.statusName }}
+ 设备位置: {{
+ gdInfo.location }}
+ 时间: {{ gdInfo.time
+ }}
+ 进/出人口数: {{ gdInfo.in
+ }}/{{ gdInfo.out }}
+ 是否赋能: 否
+
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/ywts/shms/sq/index.vue b/src/pages/ywts/shms/sq/index.vue
new file mode 100644
index 0000000..6aa8714
--- /dev/null
+++ b/src/pages/ywts/shms/sq/index.vue
@@ -0,0 +1,478 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/ywts/ywts.vue b/src/pages/ywts/ywts.vue
index 99a5d69..80b53f9 100644
--- a/src/pages/ywts/ywts.vue
+++ b/src/pages/ywts/ywts.vue
@@ -1,23 +1,17 @@
-
-
-
-
+
+
diff --git a/src/pages/ywts/zyhj/hb/casePop.vue b/src/pages/ywts/zyhj/hb/casePop.vue
new file mode 100644
index 0000000..0c07a1a
--- /dev/null
+++ b/src/pages/ywts/zyhj/hb/casePop.vue
@@ -0,0 +1,286 @@
+
+
+
+
+
+
+
+ 统一编码: {{
+ gdInfo.code }}
+ 事件名称: {{
+ gdInfo.eventname }}
+ 事件类型: {{
+ gdInfo.eventypename }}
+ 事件状态: {{
+ gdInfo.eventstatusname }}
+ 上报时间: {{
+ gdInfo.createtime }}
+ 上报人: {{
+ gdInfo.report }}
+ 责任部门: {{
+ gdInfo.dutydeptname }}
+ 紧急程度: {{
+ gdInfo.urgencyname }}
+ 位置: {{
+ gdInfo.location }}
+
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/ywts/zyhj/hb/data.js b/src/pages/ywts/zyhj/hb/data.js
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/src/pages/ywts/zyhj/hb/data.js
diff --git a/src/pages/ywts/zyhj/hb/index.vue b/src/pages/ywts/zyhj/hb/index.vue
index 84ae2d5..2425eb3 100644
--- a/src/pages/ywts/zyhj/hb/index.vue
+++ b/src/pages/ywts/zyhj/hb/index.vue
@@ -3,16 +3,20 @@
+
+
+
+
@@ -24,13 +28,19 @@
import { clearUpMap, clearResetMap, AddLabelPoint } from '@/utils/freedo'
import { AddDivPointHighlight, AddLabel } from "../../../../utils/freedo";
import ListPage from "@/components/ListPage";
-import { getOverviewStatistics, getPointList } from '@/api/ywts/zyhj/hb'
-
+import { getOverviewStatistics, getPointList, getAlarmList, getCaseList } from '@/api/ywts/zyhj/hb'
+import pointPop from './ponitPop.vue'
+import alarmPop from './alarmPop.vue'
+import casePop from './casePop.vue'
+import { eventBus } from "../../../../main";
export default {
name: 'Hb',
- components: { TimeManager, LayerManagerMix, ListPage, CommonBtn },
+ components: { TimeManager, LayerManagerMix, ListPage, CommonBtn, pointPop, alarmPop, casePop },
data() {
return {
+ showPop: false,
+ showAlarm: false,
+ showCase: false,
isListPage: false,
ktSelect: '',
isShow: false,
@@ -46,7 +56,6 @@
pageSize: 5
},
caseTotal: 0,
- showPop: false,
caseIcon: {
1: require('@/assets/images/icon/事件/已撤案.png'),
2: require('@/assets/images/icon/事件/指派中.png'),
@@ -76,6 +85,7 @@
ylHover: require('@/assets/images/function/园林/园林选中.png'),
caseBg: require('@/assets/images/function/物联网/物联事件未选中.png'),
caseHover: require('@/assets/images/function/物联网/物联事件选中.png'),
+ alarmIcon: require('@/assets/images/icon/视频云/坐标.png'),
menuTab: [{
name: '监测站点',
value: 'device'
@@ -89,19 +99,236 @@
},
mounted() {
clearResetMap()
+ this.selectIndex = 'layerBtn'
this.fetchData()
+
+ // 清除弹窗展示
+ this.$bus.$on('clear', () => {
+ this.showPop = false
+ this.showAlarm = false
+ this.showCase = false
+ })
+
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: false }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: false });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: false });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: false }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
},
methods: {
async btnClick(e) {
+ clearResetMap()
this.selectIndex = e.target.id
- console.log(this.selectIndex, 'this.selectIndex')
+ this.showPop = false
+ this.showAlarm = false
+ this.showCase = false
+ switch (this.selectIndex) {
+ case "layerBtn":
+ this.fetchData()
+ break
+ case "alarmBtn":
+ this.fetchAlarm()
+ break
+ case "caseBtn":
+ this.fetchCase()
+ break
+
+ }
+ },
+ menuClick(e) {
+ console.log(e, 'e')
+ clearResetMap()
+ this.markerList = this.markerListBak.filter(item => item.typename === e.type)
+ console.log(this.markerList)
+ this.markerList.forEach((item) => {
+ AddLabelPoint(
+ item.id,
+ `${item.name}`,
+ undefined,
+ [item.lon, item.lat, 0], 'yl-dev', item,
+ this.clickMarker)
+ })
},
// 获取概括统计
fetchData() {
- getPointList({}).then(res => {
+ this.menuTab = [
+ {
+ name: '基础设施',
+ value: 'device'
+ }
+ ]
+ this.menus = {
+ device: [
+ {
+ type: '1', typename: '大气环境', total: 0,
+ },
+ {
+ type: '2', typename: '噪声环境', total: 0,
+ },
+ {
+ type: '3', typename: '污染源', total: 0,
+ },
+ {
+ type: '4', typename: '工地扬尘', total: 0,
+ },
+ ]
+ }
+ // getPointList({}).then(res => {
+ // console.log(res.data, '概括统计')
+ // })
+ getOverviewStatistics({}).then(res => {
console.log(res.data, '概括统计')
+ this.menus.device = res.data.value.map(item => ({
+ typename: item.typename,
+ type: item.type,
+ total: item.total,
+ }))
+ // 获取点位列表
+ getPointList({ pageNo: 1, pageSize: 5 }).then(res => {
+ this.markerList = [
+ {
+ "name": "大气环境",
+ "lon": "114.859995",
+ "location": "江西省赣州市南康区三江乡",
+ "id": "1676397864375291905",
+ "lat": "25.802129",
+ "typename": "1"
+ },
+ {
+ "name": "噪声环境",
+ "lon": "114.861027",
+ "location": "江西省赣州市章贡区潭六路135号靠近逸夫小学",
+ "id": "1676398916763914241",
+ "lat": "25.757553",
+ "typename": "2"
+ },
+ {
+ "name": "污染源",
+ "lon": "114.880246",
+ "location": "江西省赣州市章贡区潭东镇弘腾路毅德城",
+ "id": "1676414593390350337",
+ "lat": "25.753119",
+ "typename": "3"
+ },
+ {
+ "name": "污染源",
+ "lon": "114.879855",
+ "location": "江西省赣州市章贡区潭东镇弘腾路毅德城",
+ "id": "1676414955455254529",
+ "lat": "25.752771",
+ "typename": "3"
+ },
+ {
+ "name": "污染源",
+ "lon": "114.875438",
+ "location": "江西省赣州市章贡区潭东镇弘腾路毅德城",
+ "id": "1676418661630349312",
+ "lat": "25.748733",
+ "typename": "3"
+ },
+ {
+ "name": "污染源",
+ "lon": "114.867371",
+ "location": "江西省赣州市章贡区105国道135号靠近松岭上",
+ "id": "1676422908220542977",
+ "lat": "25.750388",
+ "typename": "1"
+ },
+ {
+ "name": "工地扬尘",
+ "lon": "114.878448",
+ "location": "江西省赣州市章贡区潭东镇生态大道",
+ "id": "1676434916261236737",
+ "lat": "25.737305",
+ "typename": "4"
+ },
+ ]
+ this.markerListBak = JSON.parse(JSON.stringify(this.markerList))
+ this.markerList.forEach((item) => {
+ AddLabelPoint(
+ item.id,
+ `${item.name}`,
+ undefined,
+ [item.lon, item.lat, 0], 'yl-dev', item,
+ this.clickMarker)
+ })
+ })
})
- }
+ },
+ // 点击点位
+ clickMarker(eventArg) {
+ const item = eventArg._data.data
+ this.showPop = true
+ this.$nextTick(() => {
+ this.$refs.popRef.initData(item)
+ })
+ },
+ // 获取告警
+ fetchAlarm() {
+ console.log('获取告警')
+ getAlarmList({ pageNo: '1', pageSize: '99' }).then(res => {
+ console.log(res.data, '告警列表')
+ res.data.value.forEach((item) => {
+ AddLabelPoint(
+ item.id,
+ `${item.devicetypename}`,
+ this.alarmIcon,
+ [item.lon, item.lat, 0], 'yl-dev', item,
+ this.clickAlarmIcon)
+ })
+ })
+ },
+ // 点击告警点位
+ clickAlarmIcon(eventArg) {
+ const item = eventArg._data.data
+ this.showAlarm = true
+ this.$nextTick(() => {
+ this.$refs.alarmRef.initData(item)
+ })
+ },
+ // 获取事件
+ fetchCase() {
+ console.log('获取事件')
+ getCaseList({ pageNo: '1', pageSize: '99', ...this.time }).then(res => {
+ console.log(res.data, '事件列表')
+ res.data.value.forEach((item) => {
+ console.log(this.caseIcon[item.eventstatus.trim()])
+ const icon = this.caseIcon[item.eventstatus.trim()] || ''
+ AddLabelPoint(
+ item.id,
+ `${item.eventypename}`,
+ icon,
+ [item.lon, item.lat, 0], 'yl-dev', item,
+ this.clickCase)
+ })
+ })
+ },
+ // 事件图标点击
+ clickCase(eventArg) {
+ const item = eventArg._data.data
+ this.showCase = true
+ this.$nextTick(() => {
+ this.$refs.caseRef.initData(item)
+ })
+ },
+ // 事件时间查询条件
+ handleTimeRange(time) {
+ // this.isListPage = false
+ if (this.time.startTime !== '') {
+ this.time = time
+ clearResetMap()
+ this.fetchCase()
+ } else {
+ this.time = time
+ }
+ },
}
}
diff --git a/src/api/ywts/shms/jy.js b/src/api/ywts/shms/jy.js
index f3ac251..56f48e3 100644
--- a/src/api/ywts/shms/jy.js
+++ b/src/api/ywts/shms/jy.js
@@ -116,7 +116,7 @@
return request({
url: 'zhjy-gktj/zhjy/sbdwlb',
method: 'post',
- data,
+ // data,
params: data
})
}
diff --git a/src/api/ywts/shms/sq.js b/src/api/ywts/shms/sq.js
new file mode 100644
index 0000000..04a5447
--- /dev/null
+++ b/src/api/ywts/shms/sq.js
@@ -0,0 +1,123 @@
+/**
+ * 社区接口
+ */
+import request from '@/utils/request'
+
+// 社区点位列表
+export function getCommunityList() {
+ return request({
+ url: 'zhsq-gktj/zhsq/sqdwlb',
+ method: 'post',
+ })
+}
+
+// 人员热力图
+export function getHeat() {
+ return request({
+ url: 'zhsq-gktj/zhsq/sqyyrlt',
+ method: 'post',
+ })
+}
+
+// 设备点位
+export function getDevice() {
+ return request({
+ url: 'zhsq-gktj/zhsq/sbdwlb',
+ method: 'post',
+ params: {
+ type: '',
+ keywords: ''
+ }
+ })
+}
+
+// 社区车辆
+export function getCar() {
+ return request({
+ url: 'zhsq-gktj/zhsq/sqbyl',
+ method: 'post',
+ })
+}
+
+// 事件点位列表
+export function getCase(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/sjdwlb',
+ method: 'post',
+ params:{
+ ...data
+ }
+ })
+}
+
+// 事件详情
+export function getCaseList(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/zjlbfy',
+ method: 'post',
+ params:{
+ ...data
+ }
+ })
+}
+// 获取社区基本信息
+export function getBaseInfo(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/sqdwxq',
+ method: 'post',
+ params:{
+ ...data
+ },
+ // data
+ })
+}
+// 居民年龄统计
+export function getAgeStatistics(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/jmnltj',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
+// 居民流动比例
+export function getCurrentRatio(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/jmldbl',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
+// 近1年人房车占比统计
+export function getPersonCarRatio(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/rfczbtj',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
+// 近1月居民通行量分析
+export function getTransitrRatio(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/jmtxlfx',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
+// 近1月高频事件排行榜
+export function getCaseRank(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/gpsjphb',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
diff --git a/src/api/ywts/zyhj/hb.js b/src/api/ywts/zyhj/hb.js
index 5e598d1..07625d1 100644
--- a/src/api/ywts/zyhj/hb.js
+++ b/src/api/ywts/zyhj/hb.js
@@ -8,7 +8,10 @@
return request({
url: 'zhhb-gktj/zhhb/gktj',
method: 'post',
- data
+ data,
+ params: {
+ ...data,
+ }
})
}
// 环保点位列表
@@ -19,3 +22,26 @@
data
})
}
+// 环保告警列表
+export function getAlarmList(data) {
+ return request({
+ url: 'zhhb-gktj/zhhb/hbgjlb',
+ method: 'post',
+ // data
+ params: {
+ ...data
+ }
+ })
+}
+
+// 环保事件列表
+export function getCaseList(data) {
+ return request({
+ url: 'zhhb-gktj/zhhb/hbsjlbfy',
+ method: 'post',
+ // data
+ params: {
+ ...data
+ }
+ })
+}
diff --git a/src/api/ywts/zyhj/yl.js b/src/api/ywts/zyhj/yl.js
index 63d7ad2..643e3d4 100644
--- a/src/api/ywts/zyhj/yl.js
+++ b/src/api/ywts/zyhj/yl.js
@@ -88,6 +88,9 @@
url: 'zhyl-gktjljk/zhyl/sjxq',
method: 'post',
data,
+ params: {
+ ...data,
+ }
})
}
// 苗木点位列表
diff --git a/src/components/CommonFunction/index.vue b/src/components/CommonFunction/index.vue
index 1a10acb..c2eba44 100644
--- a/src/components/CommonFunction/index.vue
+++ b/src/components/CommonFunction/index.vue
@@ -5,8 +5,8 @@
@click="btnClick" />
-
+
@@ -21,7 +21,7 @@
import CommonBtn from "../CommonBtn";
import { clearUpMap } from '@/utils/freedo/index'
-import { initPosition, initPage } from "../../utils/freedo";
+import { initPosition, initPage } from "../../utils/freedo";
import mapJson from "@/assets/mapJson/map.json";
import { eventBus } from "../../main";
@@ -59,11 +59,11 @@
disabled: true,
"children": [
{ "id": 41, "label": "智慧教育-手工模型", disabled: true },
- { "id": 42, "label": "智慧停车云-手工模型", disabled: true },
- { "id": 43, "label": "智慧社区-手工模型", disabled: true },
- { "id": 44, "label": "智慧工地-手工模型", disabled: true },
- { "id": 45, "label": "智慧交通-手工模型", disabled: true },
- { "id": 46, "label": "智慧园林-手工模型", disabled: true }
+ { "id": 42, "label": "智慧停车云-手工模型", disabled: true },
+ { "id": 43, "label": "智慧社区-手工模型", disabled: true },
+ { "id": 44, "label": "智慧工地-手工模型", disabled: true },
+ { "id": 45, "label": "智慧交通-手工模型", disabled: true },
+ { "id": 46, "label": "智慧园林-手工模型", disabled: true }
]
}, {
"id": 5,
@@ -95,8 +95,8 @@
setTimeout(() => {
this.tree.forEach((item) => {
item.disabled = false
- if(item.children) {
- item.children = item.children.map((item) => ({ ...item,disabled: false}))
+ if (item.children) {
+ item.children = item.children.map((item) => ({ ...item, disabled: false }))
}
})
}, 5000)
@@ -125,7 +125,7 @@
handler(data, checked, indeterminate)
}
else {
- if(data.id.toString() === '5' && checked) {
+ if (data.id.toString() === '5' && checked) {
window.terrainManager.visible = true
return
}
@@ -143,14 +143,18 @@
},
btnClick(e) {
this.showLayerTree = false
+ this.clearDialog()
if (e.target.id === 'initBtn') {
initPosition()
} else if (e.target.id === 'clearBtn') {
clearUpMap()
} else if (e.target.id === 'layerBtn') {
- // clearUpMap()
this.showLayerTree = true
}
+ },
+ // 清空地图弹窗
+ clearDialog() {
+ this.$bus.$emit('clear')
}
}
}
@@ -178,7 +182,7 @@
right: 20px;
top: 1rem;
display: flex;
- width: 20rem;
+ width: 15rem;
height: 5rem;
z-index: 1111111111;
}
diff --git a/src/pages/csdz/iot/index.vue b/src/pages/csdz/iot/index.vue
index 63b60ea..8aefaea 100644
--- a/src/pages/csdz/iot/index.vue
+++ b/src/pages/csdz/iot/index.vue
@@ -259,8 +259,8 @@
localPoint(e) {
// this.childrenClick(e)
this.clickIcon({
- _data:{
- data:e
+ _data: {
+ data: e
}
})
},
@@ -280,6 +280,11 @@
},
mounted() {
this.search()
+ this.$bus.$on('clear', () => {
+ this.isShowEvent = false
+ this.isShowEventPop = false
+ this.isShowPop = false
+ })
// getStatistics().then(res => {
// if (res.code === 200 && res.data.value.length) {
// console.log(res.data, '')
diff --git a/src/pages/csdz/smartCard/index.vue b/src/pages/csdz/smartCard/index.vue
index 48721f7..32573d2 100644
--- a/src/pages/csdz/smartCard/index.vue
+++ b/src/pages/csdz/smartCard/index.vue
@@ -112,6 +112,7 @@
btnClick(e) {
clearResetMap()
this.selectIndex = e.target.id
+ this.isShowPop = false
if (this.selectIndex === 'publicBtn') {
// 绘制热力图
heat([
@@ -870,6 +871,10 @@
getStatistics({}).then(res => {
console.log(res.data, '一卡通')
})
+ this.$bus.$on('clear', () => {
+ this.isShowPop = false
+ this.isShowEvent = false
+ })
}
}
diff --git a/src/pages/csdz/videoCloud/index.vue b/src/pages/csdz/videoCloud/index.vue
index 4b8d110..81530d5 100644
--- a/src/pages/csdz/videoCloud/index.vue
+++ b/src/pages/csdz/videoCloud/index.vue
@@ -695,6 +695,11 @@
},
mounted() {
this.drawSence()
+ this.$bus.$on('clear', () => {
+ this.isShowPop = false
+ this.isShowEvent = false
+ this.isShowEventPop = false
+ })
}
}
diff --git a/src/pages/ywts/cszl/gd/index.vue b/src/pages/ywts/cszl/gd/index.vue
index e9be7b0..35ee8d7 100644
--- a/src/pages/ywts/cszl/gd/index.vue
+++ b/src/pages/ywts/cszl/gd/index.vue
@@ -1,30 +1,23 @@
-
-
+
+
@@ -34,7 +27,7 @@
import TimeManager from "@/components/TimeManager";
import GdPop from "./gdPop";
import { heat } from '@/utils/freedo/heat'
-import { clearUpMap, clearResetMap ,AddLabelPoint, initPosition } from '@/utils/freedo'
+import { clearUpMap, clearResetMap, AddLabelPoint, initPosition } from '@/utils/freedo'
import {
getHeat,
getArea,
@@ -43,17 +36,17 @@
getStatistics,
getCasePointList, getCaseInfo
} from "../../../../api/ywts/cszl/gd";
-import {AddDivPointCase, AddDivPointHighlight, AddLabel, focusPoint} from "../../../../utils/freedo";
+import { AddDivPointCase, AddDivPointHighlight, AddLabel, focusPoint } from "../../../../utils/freedo";
import ListPage from "@/components/ListPage";
import KeywordManager from "../../../../components/KeywordManager";
import gridJson from "@/assets/mapJson/grid.json";
import mapJson from "@/assets/mapJson/map.json";
-import {eventBus} from "../../../../main";
+import { eventBus } from "../../../../main";
export default {
name: 'Gd',
- components: {KeywordManager, GdPop, TimeManager, LayerManagerMix, ListPage, CommonBtn },
+ components: { KeywordManager, GdPop, TimeManager, LayerManagerMix, ListPage, CommonBtn },
data() {
return {
isListPage: false,
@@ -73,19 +66,19 @@
caseTotal: 0,
layerManager: null,
caseIcon: {
- 1: require('@/assets/images/icon/事件/已撤案.png'),
- 2: require('@/assets/images/icon/事件/指派中.png'),
- 3: require('@/assets/images/icon/事件/处置中.png'),
- 4: require('@/assets/images/icon/事件/已办结.png'),
- 5: require('@/assets/images/icon/事件/已结案.png'),
- },
+ 1: require('@/assets/images/icon/事件/已撤案.png'),
+ 2: require('@/assets/images/icon/事件/指派中.png'),
+ 3: require('@/assets/images/icon/事件/处置中.png'),
+ 4: require('@/assets/images/icon/事件/已办结.png'),
+ 5: require('@/assets/images/icon/事件/已结案.png'),
+ },
caseColor: {
- 1: '#ffffff88',
- 2: '#fdeb5688',
- 3: '#85c8ff88',
- 4: '#ffba7488',
- 5: '#87f6b388',
- },
+ 1: '#ffffff88',
+ 2: '#fdeb5688',
+ 3: '#85c8ff88',
+ 4: '#ffba7488',
+ 5: '#87f6b388',
+ },
time: {
startTime: '',
endTime: '',
@@ -105,10 +98,10 @@
name: '工地设备',
value: 'device'
}
- // , {
- // name: '环监设备',
- // value: 'others'
- // }
+ // , {
+ // name: '环监设备',
+ // value: 'others'
+ // }
],
menus: {
device: [
@@ -122,7 +115,7 @@
},
mounted() {
getStatistics().then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
this.menus.device = response.data.value
}
})
@@ -135,28 +128,24 @@
autoFlyto: true,
})
- eventBus.$emit('change-layer', { id:1, checked: false});
- eventBus.$emit('change-layer', { id:2, checked: false});
- eventBus.$emit('change-layer', { id:3, checked: false});
- eventBus.$emit('change-layer', { id:4, checked: false});
- eventBus.$emit('change-layer', { id:5, checked: true});
- eventBus.$emit('change-layer', { id:44, checked: true});
- eventBus.$emit('change-layer', { id:21, checked: true});
- eventBus.$emit('change-layer', { id:12, checked: true});
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: false }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: true });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: false });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: true }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
-
- // window.pmtsManager.add({
- // id: "智慧工地-手工模型",
- // url: mapJson.CIM4["智慧工地-手工模型"],
- // show: true,
- // maximumScreenSpaceError: 32,
- // maximumMemoryUsage: 64,
- // maximumAbsoluteMemoryUsage: 8192,
- // autoFlyto: true
- // },
- // undefined
- // )
- // window.terrainManager.visible = true
+ // 清除弹窗展示
+ this.$bus.$on('clear', () => {
+ this.isListPage = false
+ this.isShow = false
+ })
},
methods: {
async btnClick(e) {
@@ -179,7 +168,7 @@
break
case "personBtn":
getHeat().then(res => {
- if(res.code === 200) {
+ if (res.code === 200) {
console.log(res.data, '热力')
const arr = res.data.value.filter(item => item.lng !== "" && item.lng !== null)
// arr.splice(0,1) // todo: 测试第一个错误数据
@@ -192,17 +181,17 @@
// 设备图层控制
layer(item) {
// clearUpMap(true)
- const iconOnline = require('@/assets/images/icon/工地地图点位/'+item.typename.replace(/ /g,'')+'在线.png')
- const iconOffline = require('@/assets/images/icon/工地地图点位/'+item.typename.replace(/ /g,'')+'离线.png')
- getDevList({type: item.type}).then(response => {
- if(response.code === 200) {
+ const iconOnline = require('@/assets/images/icon/工地地图点位/' + item.typename.replace(/ /g, '') + '在线.png')
+ const iconOffline = require('@/assets/images/icon/工地地图点位/' + item.typename.replace(/ /g, '') + '离线.png')
+ getDevList({ type: item.type }).then(response => {
+ if (response.code === 200) {
clearUpMap(true)
this.keywordList = response.data.value
response.data.value.forEach(item => {
AddLabelPoint(
item.id,
'',
- item.status === '1'? iconOnline: iconOffline,
+ item.status === '1' ? iconOnline : iconOffline,
[item.lon, item.lat, 0], 'gd-dev', item,
null)
})
@@ -216,23 +205,23 @@
// keywords: this.keyword
}
getCasePointList(param).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
clearUpMap(true)
const data = []
response.data.value.forEach(item => {
- if(!data.map(da => da.id).includes(item.id) && !data.map(da => da.lon).includes(item.lon) && item.id !== null) {
+ if (!data.map(da => da.id).includes(item.id) && !data.map(da => da.lon).includes(item.lon) && item.id !== null) {
data.push(item)
}
})
this.keywordList = data
data.forEach(item => {
// if(item.total === '1') {
- AddLabelPoint(
- item.id,
- '',
- this.caseIcon[item.eventstatus],
- [item.lon, item.lat, 0], 'gd-case', item,
- this.clickCase)
+ AddLabelPoint(
+ item.id,
+ '',
+ this.caseIcon[item.eventstatus],
+ [item.lon, item.lat, 0], 'gd-case', item,
+ this.clickCase)
// } else {
// AddDivPointCase(item, this.caseColor[item.status], item.total, this.clickCase)
// }
@@ -244,8 +233,8 @@
search() {
const iconDone = require('@/assets/images/icon/工地地图点位/工地已完成.png')
const iconDoing = require('@/assets/images/icon/工地地图点位/工地进行中.png')
- getArea({keywords: this.keyword}).then(response => {
- if(response.code === 200) {
+ getArea({ keywords: this.keyword }).then(response => {
+ if (response.code === 200) {
clearUpMap(true)
this.keywordList = response.data.value
response.data.value.forEach(item => {
@@ -254,7 +243,7 @@
AddLabelPoint(
item.id,
item.name,
- item.status === '2' ? iconDoing: iconDone,
+ item.status === '2' ? iconDoing : iconDone,
[item.lon, item.lat, 0], 'gd', item,
this.clickGd)
})
@@ -265,8 +254,8 @@
score() {
const iconDone = require('@/assets/images/icon/工地地图点位/工地已完成.png')
const iconDoing = require('@/assets/images/icon/工地地图点位/工地进行中.png')
- getArea({keywords: this.keyword}).then(response => {
- if(response.code === 200) {
+ getArea({ keywords: this.keyword }).then(response => {
+ if (response.code === 200) {
this.keywordList = response.data.value
response.data.value.forEach(item => {
// console.log(item,'321123')
@@ -280,8 +269,8 @@
})
}
})
- getMonthGdScore({keywords: this.keyword}).then(response => {
- if(response.code === 200) {
+ getMonthGdScore({ keywords: this.keyword }).then(response => {
+ if (response.code === 200) {
response.data.value.filter(item => item.lng !== "" && item.lng !== null).forEach(item => {
AddLabel(
item.id,
@@ -304,7 +293,7 @@
clickCase(eventArg) {
const item = eventArg._data.data
// 恢复上一个marker
- if(this.preCase !== null ) {
+ if (this.preCase !== null) {
window.mmManager.removeById(this.preCase.id)
AddLabelPoint(
this.preCase.id,
@@ -313,7 +302,7 @@
[this.preCase.lon, this.preCase.lat, 0], 'gd-case', this.preCase,
this.clickCase)
}
- if(item.total === '1') {
+ if (item.total === '1') {
// 保存当前marker
this.preCase = item
// 高亮当前marker
@@ -323,7 +312,7 @@
this.preCase = null
}
// 查询事件详情
- this.caseTotal = Number(item.total)
+ this.caseTotal = Number(item.total)
this.isListPage = true
this.$refs.caseListPage.initDialog()
this.caseListQuery = {
@@ -345,16 +334,16 @@
searchCaseMarkerList() {
// getCaseInfo(this.caseListQuery).then(response => {
getCaseInfo(this.caseListQuery).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
console.log(response.data.value)
// 右侧看板
- this.caseList = response.data.value
+ this.caseList = response.data.value
}
})
},
handleTimeRange(time) {
this.isListPage = false
- if(this.time.startTime !== '') {
+ if (this.time.startTime !== '') {
this.time = time
this.casePoint()
} else {
diff --git a/src/pages/ywts/cszl/hw/index.vue b/src/pages/ywts/cszl/hw/index.vue
index e773b7d..ed28bc6 100644
--- a/src/pages/ywts/cszl/hw/index.vue
+++ b/src/pages/ywts/cszl/hw/index.vue
@@ -31,6 +31,7 @@
import ListPage from "@/components/ListPage";
import { getPlacePointList, getOverviewStatistics, getPersonList, getCarList, getCaseList, getCaseInfo } from '@/api/ywts/cszl/hw'
import { iconFilter, iconPerson, personList, carList, iconCar } from './data'
+import { eventBus } from "../../../../main";
export default {
name: 'Hw',
components: { TimeManager, LayerManagerMix, ListPage, CommonBtn, Pop },
@@ -94,7 +95,25 @@
},
mounted() {
clearResetMap()
+ this.selectInde = 'deviceBtn'
this.fetchPoint()
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: false }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: false });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: false });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: false }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
+ // 清除弹窗展示
+ this.$bus.$on('clear', () => {
+ this.isListPage = false
+ this.showPop = false
+ })
},
methods: {
async btnClick(e) {
@@ -263,17 +282,17 @@
// this.caseList = res.data.value || []
// this.caseTotal = this.caseList.length
res.data.value.forEach(item => {
- AddLabelPoint(
- item.id.replaceAll('.', ''),
- '',
- this.caseIcon[item.status],
- [item.lon, item.lat, 0], 'gd-case', item,
- this.clickCase)
- })
+ AddLabelPoint(
+ item.id.replaceAll('.', ''),
+ '',
+ this.caseIcon[item.status],
+ [item.lon, item.lat, 0], 'gd-case', item,
+ this.clickCase)
+ })
})
},
- // 点击事件icon
- clickCase(eventArg) {
+ // 点击事件icon
+ clickCase(eventArg) {
const item = eventArg._data.data
// 恢复上一个marker
if (this.preCase !== null) {
@@ -306,11 +325,11 @@
getCaseInfo(this.caseListQuery).then(res => {
console.log(res.data, '事件详情')
this.caseList = res.data.value || []
- this.caseTotal = this.caseList.length
+ this.caseTotal = this.caseList.length
})
},
- // 事件换页
- changePage(val) {
+ // 事件换页
+ changePage(val) {
if (val && val.page) {
this.caseListQuery.pageNo = val.page
}
diff --git a/src/pages/ywts/cszl/jt/index.vue b/src/pages/ywts/cszl/jt/index.vue
index fb1ce91..ef5938c 100644
--- a/src/pages/ywts/cszl/jt/index.vue
+++ b/src/pages/ywts/cszl/jt/index.vue
@@ -1,15 +1,21 @@
-
+
@@ -26,8 +32,9 @@
getStatistics,
getCasePointList, getCaseInfo
} from "../../../../api/ywts/cszl/gd";
-import {AddDivPointHighlight, AddLabel} from "../../../../utils/freedo";
+import { AddDivPointHighlight, AddLabel } from "../../../../utils/freedo";
import ListPage from "@/components/ListPage";
+import { eventBus } from "../../../../main";
export default {
name: 'Jt',
@@ -47,19 +54,19 @@
},
caseTotal: 0,
caseIcon: {
- 1: require('@/assets/images/icon/事件/已撤案.png'),
- 2: require('@/assets/images/icon/事件/指派中.png'),
- 3: require('@/assets/images/icon/事件/处置中.png'),
- 4: require('@/assets/images/icon/事件/已办结.png'),
- 5: require('@/assets/images/icon/事件/已结案.png'),
- },
+ 1: require('@/assets/images/icon/事件/已撤案.png'),
+ 2: require('@/assets/images/icon/事件/指派中.png'),
+ 3: require('@/assets/images/icon/事件/处置中.png'),
+ 4: require('@/assets/images/icon/事件/已办结.png'),
+ 5: require('@/assets/images/icon/事件/已结案.png'),
+ },
caseColor: {
- 1: '#ffffff',
- 2: '#fdeb56',
- 3: '#85c8ff',
- 4: '#ffba74',
- 5: '#87f6b3',
- },
+ 1: '#ffffff',
+ 2: '#fdeb56',
+ 3: '#85c8ff',
+ 4: '#ffba74',
+ 5: '#87f6b3',
+ },
time: {
startTime: '',
endTime: '',
@@ -81,10 +88,10 @@
name: '基础设施',
value: 'place'
}
- // , {
- // name: '环监设备',
- // value: 'others'
- // }
+ // , {
+ // name: '环监设备',
+ // value: 'others'
+ // }
],
menus: {
place: [
@@ -98,11 +105,27 @@
},
mounted() {
getStatistics().then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
this.menus.place = response.data.value
}
})
this.search()
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: false }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: false });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: true });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: true }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
+ // 清除弹窗展示
+ this.$bus.$on('clear', () => {
+ this.isListPage = false
+ })
},
methods: {
async btnClick(e) {
@@ -121,16 +144,16 @@
// 设备图层控制
layer(item) {
// clearUpMap()
- const iconOnline = require('@/assets/images/icon/工地地图点位/'+item.typename.replace(/ /g,'')+'在线.png')
- const iconOffline = require('@/assets/images/icon/工地地图点位/'+item.typename.replace(/ /g,'')+'离线.png')
- getDevList({type: item.type}).then(response => {
- if(response.code === 200) {
+ const iconOnline = require('@/assets/images/icon/工地地图点位/' + item.typename.replace(/ /g, '') + '在线.png')
+ const iconOffline = require('@/assets/images/icon/工地地图点位/' + item.typename.replace(/ /g, '') + '离线.png')
+ getDevList({ type: item.type }).then(response => {
+ if (response.code === 200) {
clearUpMap()
response.data.value.forEach(item => {
AddLabelPoint(
item.id,
'',
- item.status === '1'? iconOnline: iconOffline,
+ item.status === '1' ? iconOnline : iconOffline,
[item.lon, item.lat, 0], 'gd-place', item,
null)
})
@@ -141,11 +164,11 @@
casePoint() {
console.log(this.time)
getCasePointList(this.time).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
clearUpMap()
const data = []
response.data.value.forEach(item => {
- if(!data.map(da => da.id).includes(item.id) && !data.map(da => da.lon).includes(item.lon) && item.id !== null) {
+ if (!data.map(da => da.id).includes(item.id) && !data.map(da => da.lon).includes(item.lon) && item.id !== null) {
data.push(item)
}
})
@@ -165,7 +188,7 @@
const iconDone = require('@/assets/images/icon/工地地图点位/工地已完成.png')
const iconDoing = require('@/assets/images/icon/工地地图点位/工地进行中.png')
getArea({}).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
clearUpMap()
response.data.value.forEach(item => {
// console.log(item.areaboundary)
@@ -173,7 +196,7 @@
AddLabelPoint(
item.id,
item.name,
- item.status === '2' ? iconDoing: iconDone,
+ item.status === '2' ? iconDoing : iconDone,
[item.lon, item.lat, 0], 'gd', item,
this.clickHw)
})
@@ -183,7 +206,7 @@
// 智慧工地-工地近1月综合得分
score() {
getArea({}).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
response.data.value.forEach(item => {
console.log(item.areaboundary)
// todo : 画范围
@@ -195,7 +218,7 @@
clickCase(eventArg) {
const item = eventArg._data.data
// 恢复上一个marker
- if(this.preCase !== null ) {
+ if (this.preCase !== null) {
window.mmManager.removeById(this.preCase.id)
AddLabelPoint(
this.preCase.id,
@@ -231,13 +254,13 @@
searchCaseMarkerList() {
// getCaseInfo(this.caseListQuery).then(response => {
getCaseInfo(this.caseListQuery).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
console.log(response.data.value)
// 右侧看板
- this.caseList = response.data.value
+ this.caseList = response.data.value
// todo
// this.caseTotal = response.data.value.length
- this.caseTotal = 12
+ this.caseTotal = 12
}
})
},
@@ -246,7 +269,7 @@
},
handleTimeRange(time) {
this.isListPage = false
- if(this.time.startTime !== '') {
+ if (this.time.startTime !== '') {
this.time = time
this.casePoint()
} else {
diff --git a/src/pages/ywts/cszl/jxh/index.vue b/src/pages/ywts/cszl/jxh/index.vue
index a3703db..0f23aaa 100644
--- a/src/pages/ywts/cszl/jxh/index.vue
+++ b/src/pages/ywts/cszl/jxh/index.vue
@@ -1,26 +1,24 @@
-
-
+
+
@@ -44,14 +42,15 @@
getAll,
getCaseInfo, getBoard
} from "../../../../api/ywts/cszl/jxh";
-import {AddDivPointCase, AddDivPointHighlight, AddOnlyLabel, AddPolygon} from "../../../../utils/freedo";
+import { AddDivPointCase, AddDivPointHighlight, AddOnlyLabel, AddPolygon } from "../../../../utils/freedo";
import ListPage from "@/components/ListPage";
-import {getGridInfo, getGridToken} from "../../../../api/common";
+import { getGridInfo, getGridToken } from "../../../../api/common";
import JxhPop from "./jxhPop";
+import { eventBus } from "../../../../main";
export default {
name: 'Jxh',
- components: {JxhPop, LayerManager, TimeManager, KeywordManager, CommonBtn, ListPage },
+ components: { JxhPop, LayerManager, TimeManager, KeywordManager, CommonBtn, ListPage },
data() {
return {
preCase: null,
@@ -128,6 +127,22 @@
}
},
mounted() {
+ this.$bus.$on('clear', () => {
+ this.isListPage = false
+ this.isShow = false
+ })
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: false }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: false });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: false });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: false }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
// 全部事件
getAll({
// urgent: '0',
@@ -135,8 +150,8 @@
// high: '0',
startTime: this.time.startTime,
endTime: this.time.endTime,
- }).then( res => {
- if(res.code === 200) {
+ }).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
@@ -154,7 +169,7 @@
caseMarker(res) {
res.data.value.forEach(item => {
// console.log(item.status)
- if(item.total === '1') {
+ if (item.total === '1') {
AddLabelPoint(
item.id,
'',
@@ -180,24 +195,24 @@
switch (e.bigtype) {
case 'source':
query.sourceId = e.type
- getSourceList(query).then( res => {
- if(res.code === 200) {
+ getSourceList(query).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
break
case 'project':
query.projectId = e.type
- getProjectList(query).then( res => {
- if(res.code === 200) {
+ getProjectList(query).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
break
case 'grid':
query.gridType = e.type
- getGridList(query).then( res => {
- if(res.code === 200) {
+ getGridList(query).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
@@ -208,7 +223,7 @@
clickCase(eventArg) {
const item = eventArg._data.data
// 恢复上一个marker
- if(this.preCase !== null ) {
+ if (this.preCase !== null) {
window.mmManager.removeById(this.preCase.id)
AddLabelPoint(
this.preCase.id,
@@ -218,7 +233,7 @@
this.clickCase)
}
- if(item.total === '1') {
+ if (item.total === '1') {
// 保存当前marker
this.preCase = item
// 高亮当前marker
@@ -229,7 +244,7 @@
}
// 查询事件详情
- this.caseTotal = Number(item.total)
+ this.caseTotal = Number(item.total)
this.caseList = []
this.isListPage = true
this.hasUrge = false
@@ -263,13 +278,13 @@
// high: '0',
startTime: this.time.startTime,
endTime: this.time.endTime,
- }).then( res => {
- if(res.code === 200) {
+ }).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
// 事件看板
- this.caseTotal = 1000 // todo
+ this.caseTotal = 1000 // todo
this.caseList = []
this.isListPage = true
this.hasUrge = true
@@ -292,8 +307,8 @@
high: '1',
startTime: this.time.startTime,
endTime: this.time.endTime,
- }).then( res => {
- if(res.code === 200) {
+ }).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
@@ -306,8 +321,8 @@
// high: '0',
startTime: this.time.startTime,
endTime: this.time.endTime,
- }).then( res => {
- if(res.code === 200) {
+ }).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
@@ -317,7 +332,7 @@
break
case "caseHeatBtn":
getHeat(this.time).then(res => {
- if(res.code === 200) {
+ if (res.code === 200) {
heat(res.data.value) // 热力图
}
})
@@ -326,29 +341,29 @@
},
gridDraw(token, areaCode) {
const colors = [
- [0,234,255,0.47],
- [255,185,0,0.47],
- [255,234,0,0.47],
- [209,0,255,0.47],
- [255,0,38,0.47],
+ [0, 234, 255, 0.47],
+ [255, 185, 0, 0.47],
+ [255, 234, 0, 0.47],
+ [209, 0, 255, 0.47],
+ [255, 0, 38, 0.47],
]
getGridInfo({
paramCodeList: 'KJ5001',
areaCode,
token
- }).then( res => {
+ }).then(res => {
console.log(res)
res.data.chirdAreaInfo.forEach((item, index) => {
item._source.areainfo.coordinates.forEach(area => {
let positions = []
- let arr = item._source.areainfo.type === 'MultiPolygon' ? area[0]: area
+ let arr = item._source.areainfo.type === 'MultiPolygon' ? area[0] : area
arr.forEach(pos => {
- positions.push(Freedo.Cartesian3.fromDegrees( pos[0], pos[1],0))
+ positions.push(Freedo.Cartesian3.fromDegrees(pos[0], pos[1], 0))
})
- AddPolygon(positions,colors[index % 5], this.gridClick,item._id)
+ AddPolygon(positions, colors[index % 5], this.gridClick, item._id)
AddOnlyLabel(
'',
- item._source.areaname , //+ this.menus.grid
+ item._source.areaname, //+ this.menus.grid
[item._source.lon, item._source.lat, 0],
'', null, null)
})
@@ -364,7 +379,7 @@
secret: CryptoJS.MD5(timestamp + 'geostar999').toString()
}
- getGridToken(param).then( res => {
+ getGridToken(param).then(res => {
clearUpMap()
this.gridDraw(res.data.token, '360783001')
this.gridDraw(res.data.token, '360783002')
@@ -374,32 +389,32 @@
},
// 三个概况统计
layerSeach() {
- getSource(this.time).then( res => {
- if(res.code === 200) {
+ getSource(this.time).then(res => {
+ if (res.code === 200) {
this.menus.source = res.data.value.map(item => {
item.bigtype = 'source'
- item.type = item.id.replace(/ /g,'')
- item.typename = item.name.replace(/ /g,'')
+ item.type = item.id.replace(/ /g, '')
+ item.typename = item.name.replace(/ /g, '')
return item
})
}
})
- getProject(this.time).then( res => {
- if(res.code === 200) {
+ getProject(this.time).then(res => {
+ if (res.code === 200) {
this.menus.project = res.data.value.map(item => {
item.bigtype = 'project'
- item.type = item.id.replace(/ /g,'')
- item.typename = item.name.replace(/ /g,'')
+ item.type = item.id.replace(/ /g, '')
+ item.typename = item.name.replace(/ /g, '')
return item
})
}
})
- getGrid(this.time).then( res => {
- if(res.code === 200) {
+ getGrid(this.time).then(res => {
+ if (res.code === 200) {
this.menus.grid = res.data.value.map(item => {
item.bigtype = 'grid'
- item.type = item.id.replace(/ /g,'')
- item.typename = item.name.replace(/ /g,'')
+ item.type = item.id.replace(/ /g, '')
+ item.typename = item.name.replace(/ /g, '')
return item
})
}
@@ -410,7 +425,7 @@
if (val && val.page) {
this.caseListQuery.pageNo = val.page
}
- if(this.hasUrge) {
+ if (this.hasUrge) {
this.searchBoard()
} else {
this.searchCaseMarkerList()
@@ -419,20 +434,20 @@
// 事件看板查询
searchBoard() {
getBoard(this.caseListQuery).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
console.log(response.data.value)
// 右侧看板
- this.caseList = response.data.value
+ this.caseList = response.data.value
}
})
},
// 事件详情分页
searchCaseMarkerList() {
getCaseInfo(this.caseListQuery).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
console.log(response.data.value)
// 右侧看板
- this.caseList = response.data.value
+ this.caseList = response.data.value
}
})
},
diff --git a/src/pages/ywts/cszl/yj/index.vue b/src/pages/ywts/cszl/yj/index.vue
index 7869a73..d74dfe9 100644
--- a/src/pages/ywts/cszl/yj/index.vue
+++ b/src/pages/ywts/cszl/yj/index.vue
@@ -45,7 +45,7 @@
import { AddDivPointHighlight, AddLabel } from "../../../../utils/freedo";
import { iconFilter, deviceList, caseList } from './data'
import ListPage from "@/components/ListPage";
-
+import { eventBus } from "../../../../main";
export default {
name: 'Yj',
components: { TimeManager, LayerManagerMix, ListPage, CommonBtn, Pop },
@@ -118,14 +118,25 @@
}
},
mounted() {
- // getStatistics().then(response => {
- // if(response.code === 200) {
- // this.menus.place = response.data.value
- // }
- // })
- // this.search()
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: false }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: false });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: false });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: false }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
clearResetMap()
this.searchPlace({})
+
+ this.$bus.$on('clear', () => {
+ this.isListPage = false
+ this.showPop = false
+ })
},
methods: {
async btnClick(e) {
diff --git a/src/pages/ywts/shms/jy/devicePop.vue b/src/pages/ywts/shms/jy/devicePop.vue
new file mode 100644
index 0000000..2c44979
--- /dev/null
+++ b/src/pages/ywts/shms/jy/devicePop.vue
@@ -0,0 +1,281 @@
+
+
+
+
+
+
+
+ 设备名称: {{
+ gdInfo.name }}
+ 设备类型: {{
+ gdInfo.typename }}
+ 设备状态: {{
+ gdInfo.statusName }}
+ 设备位置: {{
+ gdInfo.location }}
+ 时间: {{ gdInfo.time
+ }}
+ 进/出人口数: {{ gdInfo.in
+ }}/{{ gdInfo.out }}
+ 是否赋能: 否
+
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/ywts/shms/jy/index.vue b/src/pages/ywts/shms/jy/index.vue
index b1eb984..f377985 100644
--- a/src/pages/ywts/shms/jy/index.vue
+++ b/src/pages/ywts/shms/jy/index.vue
@@ -6,11 +6,13 @@
+ :select="selectIndex === 'layerBtn'" @btnClick="btnClick" @menuClick="menuClick" />
+
+
@@ -29,13 +31,15 @@
import mapJson from "@/assets/mapJson/map.json";
import modelJson from "@/assets/mapJson/school.json";
import { eventBus } from "../../../../main";
+import devicePop from './devicePop.vue'
export default {
name: 'Jy',
- components: { SchoolPop, TimeManager, KeywordManager, LayerManagerMix, CommonBtn },
+ components: { SchoolPop, TimeManager, KeywordManager, LayerManagerMix, CommonBtn, devicePop },
data() {
return {
isShow: false,
+ showDevice: false,
ktSelect: '',
keyword: '',
keywordList: [],
@@ -56,10 +60,15 @@
},
menus: {
device: [
- { type: "1", typename: "视频设备", total: "111" },
- { type: "2", typename: "门禁设备", total: "111" }
+ { type: "1", typename: "视频设备", total: "0" },
+ { type: "2", typename: "门禁设备", total: "0" }
]
- }
+ },
+ markerList: [],
+ markerBakList: [],
+ videoIcon: require('@/assets/images/icon/视频云/枪机未赋能在线.png'),
+ controlIcon: require('@/assets/images/icon/一卡通/门禁.png'),
+
}
},
mounted() {
@@ -70,55 +79,25 @@
name: 'jy',
autoFlyto: true,
})
- eventBus.$emit('change-layer', { id: 1, checked: false });
- eventBus.$emit('change-layer', { id: 2, checked: false });
- eventBus.$emit('change-layer', { id: 3, checked: false });
- eventBus.$emit('change-layer', { id: 4, checked: false });
- eventBus.$emit('change-layer', { id: 5, checked: true });
- eventBus.$emit('change-layer', { id: 41, checked: true });
- eventBus.$emit('change-layer', { id: 21, checked: true });
- eventBus.$emit('change-layer', { id: 12, checked: true });
- // // 教育模型
- // window.pmtsManager.add({
- // id: "智慧教育-手工模型",
- // url: mapJson.CIM4["智慧教育-手工模型"],
- // show: true,
- // maximumScreenSpaceError: 32,
- // maximumMemoryUsage: 64,
- // maximumAbsoluteMemoryUsage: 8192,
- // autoFlyto: true
- // },
- // undefined
- // )
- // // CIM2 楼
- // window.pmtsManager.add({
- // url: mapJson['CIM2']['CIM2建筑(带纹理)'],
- // show: true,
- // name: 'CIM2建筑(带纹理)',
- // autoFlyto: false
- // })
- // window.pmtsManager.add({
- // url: mapJson['CIM2']['CIM2建筑(带纹理)'],
- // show: true,
- // name: 'CIM2建筑(带纹理)',
- // autoFlyto: false,
- // alpha: 0.5,
- // color: '#002d7a'
- // })
- // for(let key in modelJson) {
- // window.pmtsManager.add({
- // id: key,
- // // url: mapJson.CIM4["智慧教育-手工模型"],
- // url: modelJson[key],
- // show: true,
- // maximumScreenSpaceError: 32,
- // maximumMemoryUsage: 64,
- // maximumAbsoluteMemoryUsage: 8192,
- // autoFlyto: true
- // },
- // undefined
- // )
- // }
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: true }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: false });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: false });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: true }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
+
+ // 清除弹窗展示
+ this.$bus.$on('clear', () => {
+ this.isShow = false
+ this.showDevice = false
+
+ })
},
methods: {
async btnClick(e) {
@@ -126,6 +105,7 @@
clearUpMap(true)
initPosition()
this.isShow = false
+ this.showDevice = false
this.selectIndex = e.target.id
switch (this.selectIndex) {
case "schoolBtn":
@@ -194,10 +174,121 @@
},
// 搜索学校设备
searchDevice() {
- getDevice({}).then(res => {
- console.log('学校数据')
+ getDevice({ keywords: '' }).then(res => {
+ this.markerList = [
+ {
+ "name": "设备1",
+ "lon": "114.859995",
+ "location": "江西省赣州市南康区三江乡",
+ "id": "1676397864375291905",
+ "lat": "25.802129",
+ "type": "1",
+ "typename": "视频设备",
+ statusName: '正常',
+ time: '2025-06-16 09:05:05',
+ in: '0',
+ out: '0',
+ },
+ {
+ "name": "设备2",
+ "lon": "114.861027",
+ "location": "江西省赣州市章贡区潭六路135号靠近逸夫小学",
+ "id": "1676398916763914241",
+ "lat": "25.757553",
+ "type": "2",
+ "typename": "门禁设备",
+ statusName: '正常',
+ time: '2025-06-16 09:05:05',
+ in: '0',
+ out: '0',
+ },
+ {
+ "name": "设备3",
+ "lon": "114.880246",
+ "location": "江西省赣州市章贡区潭东镇弘腾路毅德城",
+ "id": "1676414593390350337",
+ "lat": "25.753119",
+ "type": "1",
+ "typename": "视频设备",
+ statusName: '正常',
+ time: '2025-06-16 09:05:05',
+ in: '0',
+ out: '0',
+ },
+ {
+ "name": "设备4",
+ "lon": "114.879855",
+ "location": "江西省赣州市章贡区潭东镇弘腾路毅德城",
+ "id": "1676414955455254529",
+ "lat": "25.752771",
+ "type": "1",
+ "typename": "视频设备",
+ statusName: '正常',
+ time: '2025-06-16 09:05:05',
+ in: '0',
+ out: '0',
+ },
+ {
+ "name": "设备5",
+ "lon": "114.875438",
+ "location": "江西省赣州市章贡区潭东镇弘腾路毅德城",
+ "id": "1676418661630349312",
+ "lat": "25.748733",
+ "type": "2",
+ "typename": "门禁设备",
+ statusName: '正常',
+ time: '2025-06-16 09:05:05',
+ in: '0',
+ out: '0',
+ },
+ {
+ "name": "设备6",
+ "lon": "114.867371",
+ "location": "江西省赣州市章贡区105国道135号靠近松岭上",
+ "id": "1676422908220542977",
+ "lat": "25.750388",
+ "typename": "2",
+ "typename": "门禁设备",
+ statusName: '正常',
+ time: '2025-06-16 09:05:05',
+ in: '0',
+ out: '0',
+ },
+ ]
+ this.markerBakList = JSON.parse(JSON.stringify(this.markerList))
+ this.menus.device[0].total = this.markerList.filter((item) => item.type === '1').length
+ this.menus.device[1].total = this.markerList.filter((item) => item.type === '2').length
+ // 绘制点位
+ this.markerList.forEach((item) => {
+ AddLabelPoint(
+ item.id,
+ `${item.name}`,
+ item.type === '1' ? this.videoIcon : this.controlIcon,
+ [item.lon, item.lat, 0], 'yl-dev', item,
+ this.clickDevice)
+ })
})
- }
+ },
+ menuClick(e) {
+ clearResetMap()
+ this.markerList = this.markerBakList.filter(item => item.type === e.type)
+ this.markerList.forEach((item) => {
+ AddLabelPoint(
+ item.id,
+ `${item.name}`,
+ item.type === '1' ? this.videoIcon : this.controlIcon,
+ [item.lon, item.lat, 0], 'yl-dev', item,
+ this.clickDevice)
+ })
+ },
+ // 设备点位点击
+ clickDevice(eventArg) {
+ const item = eventArg._data.data
+ this.showDevice = true
+ this.$nextTick(() => {
+ this.$refs.deviceRef.initData(item)
+ })
+ },
}
}
diff --git a/src/pages/ywts/shms/sq/carPop.vue b/src/pages/ywts/shms/sq/carPop.vue
new file mode 100644
index 0000000..b1fe4c3
--- /dev/null
+++ b/src/pages/ywts/shms/sq/carPop.vue
@@ -0,0 +1,275 @@
+
+
+
+
+
+
+
+ 名称: {{
+ gdInfo.name }}
+ 位置: {{
+ gdInfo.location }}
+ 车辆数量: {{ gdInfo.carNum
+ }}
+ 停车位: {{ gdInfo.parkSpaceNum }}
+
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/ywts/shms/sq/communityPop.vue b/src/pages/ywts/shms/sq/communityPop.vue
new file mode 100644
index 0000000..eb6bf07
--- /dev/null
+++ b/src/pages/ywts/shms/sq/communityPop.vue
@@ -0,0 +1,212 @@
+
+
+
+
+
+
{{ name }}
+
位置:{{ position
+ }}
+
+
+
+
+
+
{{ item.total }}
+
{{ item.name }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/ywts/shms/sq/components/agePie.vue b/src/pages/ywts/shms/sq/components/agePie.vue
new file mode 100644
index 0000000..9e41da8
--- /dev/null
+++ b/src/pages/ywts/shms/sq/components/agePie.vue
@@ -0,0 +1,185 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/ywts/shms/sq/components/currentPie.vue b/src/pages/ywts/shms/sq/components/currentPie.vue
new file mode 100644
index 0000000..c7dfe20
--- /dev/null
+++ b/src/pages/ywts/shms/sq/components/currentPie.vue
@@ -0,0 +1,178 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/ywts/shms/sq/components/personBar.vue b/src/pages/ywts/shms/sq/components/personBar.vue
new file mode 100644
index 0000000..b065487
--- /dev/null
+++ b/src/pages/ywts/shms/sq/components/personBar.vue
@@ -0,0 +1,193 @@
+
+
+
+
+
+
+
diff --git a/src/pages/ywts/shms/sq/components/scoreLineBar.vue b/src/pages/ywts/shms/sq/components/scoreLineBar.vue
new file mode 100644
index 0000000..1551e69
--- /dev/null
+++ b/src/pages/ywts/shms/sq/components/scoreLineBar.vue
@@ -0,0 +1,189 @@
+
+
+
+
+
+
+
diff --git a/src/pages/ywts/shms/sq/components/transitBar.vue b/src/pages/ywts/shms/sq/components/transitBar.vue
new file mode 100644
index 0000000..c23b4ba
--- /dev/null
+++ b/src/pages/ywts/shms/sq/components/transitBar.vue
@@ -0,0 +1,173 @@
+
+
+
+
+
+
+
diff --git a/src/pages/ywts/shms/sq/devicePop.vue b/src/pages/ywts/shms/sq/devicePop.vue
new file mode 100644
index 0000000..2c44979
--- /dev/null
+++ b/src/pages/ywts/shms/sq/devicePop.vue
@@ -0,0 +1,281 @@
+
+
+
+
+
+
+
+ 设备名称: {{
+ gdInfo.name }}
+ 设备类型: {{
+ gdInfo.typename }}
+ 设备状态: {{
+ gdInfo.statusName }}
+ 设备位置: {{
+ gdInfo.location }}
+ 时间: {{ gdInfo.time
+ }}
+ 进/出人口数: {{ gdInfo.in
+ }}/{{ gdInfo.out }}
+ 是否赋能: 否
+
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/ywts/shms/sq/index.vue b/src/pages/ywts/shms/sq/index.vue
new file mode 100644
index 0000000..6aa8714
--- /dev/null
+++ b/src/pages/ywts/shms/sq/index.vue
@@ -0,0 +1,478 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/ywts/ywts.vue b/src/pages/ywts/ywts.vue
index 99a5d69..80b53f9 100644
--- a/src/pages/ywts/ywts.vue
+++ b/src/pages/ywts/ywts.vue
@@ -1,23 +1,17 @@
-
-
-
-
+
+
diff --git a/src/pages/ywts/zyhj/hb/casePop.vue b/src/pages/ywts/zyhj/hb/casePop.vue
new file mode 100644
index 0000000..0c07a1a
--- /dev/null
+++ b/src/pages/ywts/zyhj/hb/casePop.vue
@@ -0,0 +1,286 @@
+
+
+
+
+
+
+
+ 统一编码: {{
+ gdInfo.code }}
+ 事件名称: {{
+ gdInfo.eventname }}
+ 事件类型: {{
+ gdInfo.eventypename }}
+ 事件状态: {{
+ gdInfo.eventstatusname }}
+ 上报时间: {{
+ gdInfo.createtime }}
+ 上报人: {{
+ gdInfo.report }}
+ 责任部门: {{
+ gdInfo.dutydeptname }}
+ 紧急程度: {{
+ gdInfo.urgencyname }}
+ 位置: {{
+ gdInfo.location }}
+
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/ywts/zyhj/hb/data.js b/src/pages/ywts/zyhj/hb/data.js
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/src/pages/ywts/zyhj/hb/data.js
diff --git a/src/pages/ywts/zyhj/hb/index.vue b/src/pages/ywts/zyhj/hb/index.vue
index 84ae2d5..2425eb3 100644
--- a/src/pages/ywts/zyhj/hb/index.vue
+++ b/src/pages/ywts/zyhj/hb/index.vue
@@ -3,16 +3,20 @@
+
+
+
+
@@ -24,13 +28,19 @@
import { clearUpMap, clearResetMap, AddLabelPoint } from '@/utils/freedo'
import { AddDivPointHighlight, AddLabel } from "../../../../utils/freedo";
import ListPage from "@/components/ListPage";
-import { getOverviewStatistics, getPointList } from '@/api/ywts/zyhj/hb'
-
+import { getOverviewStatistics, getPointList, getAlarmList, getCaseList } from '@/api/ywts/zyhj/hb'
+import pointPop from './ponitPop.vue'
+import alarmPop from './alarmPop.vue'
+import casePop from './casePop.vue'
+import { eventBus } from "../../../../main";
export default {
name: 'Hb',
- components: { TimeManager, LayerManagerMix, ListPage, CommonBtn },
+ components: { TimeManager, LayerManagerMix, ListPage, CommonBtn, pointPop, alarmPop, casePop },
data() {
return {
+ showPop: false,
+ showAlarm: false,
+ showCase: false,
isListPage: false,
ktSelect: '',
isShow: false,
@@ -46,7 +56,6 @@
pageSize: 5
},
caseTotal: 0,
- showPop: false,
caseIcon: {
1: require('@/assets/images/icon/事件/已撤案.png'),
2: require('@/assets/images/icon/事件/指派中.png'),
@@ -76,6 +85,7 @@
ylHover: require('@/assets/images/function/园林/园林选中.png'),
caseBg: require('@/assets/images/function/物联网/物联事件未选中.png'),
caseHover: require('@/assets/images/function/物联网/物联事件选中.png'),
+ alarmIcon: require('@/assets/images/icon/视频云/坐标.png'),
menuTab: [{
name: '监测站点',
value: 'device'
@@ -89,19 +99,236 @@
},
mounted() {
clearResetMap()
+ this.selectIndex = 'layerBtn'
this.fetchData()
+
+ // 清除弹窗展示
+ this.$bus.$on('clear', () => {
+ this.showPop = false
+ this.showAlarm = false
+ this.showCase = false
+ })
+
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: false }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: false });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: false });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: false }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
},
methods: {
async btnClick(e) {
+ clearResetMap()
this.selectIndex = e.target.id
- console.log(this.selectIndex, 'this.selectIndex')
+ this.showPop = false
+ this.showAlarm = false
+ this.showCase = false
+ switch (this.selectIndex) {
+ case "layerBtn":
+ this.fetchData()
+ break
+ case "alarmBtn":
+ this.fetchAlarm()
+ break
+ case "caseBtn":
+ this.fetchCase()
+ break
+
+ }
+ },
+ menuClick(e) {
+ console.log(e, 'e')
+ clearResetMap()
+ this.markerList = this.markerListBak.filter(item => item.typename === e.type)
+ console.log(this.markerList)
+ this.markerList.forEach((item) => {
+ AddLabelPoint(
+ item.id,
+ `${item.name}`,
+ undefined,
+ [item.lon, item.lat, 0], 'yl-dev', item,
+ this.clickMarker)
+ })
},
// 获取概括统计
fetchData() {
- getPointList({}).then(res => {
+ this.menuTab = [
+ {
+ name: '基础设施',
+ value: 'device'
+ }
+ ]
+ this.menus = {
+ device: [
+ {
+ type: '1', typename: '大气环境', total: 0,
+ },
+ {
+ type: '2', typename: '噪声环境', total: 0,
+ },
+ {
+ type: '3', typename: '污染源', total: 0,
+ },
+ {
+ type: '4', typename: '工地扬尘', total: 0,
+ },
+ ]
+ }
+ // getPointList({}).then(res => {
+ // console.log(res.data, '概括统计')
+ // })
+ getOverviewStatistics({}).then(res => {
console.log(res.data, '概括统计')
+ this.menus.device = res.data.value.map(item => ({
+ typename: item.typename,
+ type: item.type,
+ total: item.total,
+ }))
+ // 获取点位列表
+ getPointList({ pageNo: 1, pageSize: 5 }).then(res => {
+ this.markerList = [
+ {
+ "name": "大气环境",
+ "lon": "114.859995",
+ "location": "江西省赣州市南康区三江乡",
+ "id": "1676397864375291905",
+ "lat": "25.802129",
+ "typename": "1"
+ },
+ {
+ "name": "噪声环境",
+ "lon": "114.861027",
+ "location": "江西省赣州市章贡区潭六路135号靠近逸夫小学",
+ "id": "1676398916763914241",
+ "lat": "25.757553",
+ "typename": "2"
+ },
+ {
+ "name": "污染源",
+ "lon": "114.880246",
+ "location": "江西省赣州市章贡区潭东镇弘腾路毅德城",
+ "id": "1676414593390350337",
+ "lat": "25.753119",
+ "typename": "3"
+ },
+ {
+ "name": "污染源",
+ "lon": "114.879855",
+ "location": "江西省赣州市章贡区潭东镇弘腾路毅德城",
+ "id": "1676414955455254529",
+ "lat": "25.752771",
+ "typename": "3"
+ },
+ {
+ "name": "污染源",
+ "lon": "114.875438",
+ "location": "江西省赣州市章贡区潭东镇弘腾路毅德城",
+ "id": "1676418661630349312",
+ "lat": "25.748733",
+ "typename": "3"
+ },
+ {
+ "name": "污染源",
+ "lon": "114.867371",
+ "location": "江西省赣州市章贡区105国道135号靠近松岭上",
+ "id": "1676422908220542977",
+ "lat": "25.750388",
+ "typename": "1"
+ },
+ {
+ "name": "工地扬尘",
+ "lon": "114.878448",
+ "location": "江西省赣州市章贡区潭东镇生态大道",
+ "id": "1676434916261236737",
+ "lat": "25.737305",
+ "typename": "4"
+ },
+ ]
+ this.markerListBak = JSON.parse(JSON.stringify(this.markerList))
+ this.markerList.forEach((item) => {
+ AddLabelPoint(
+ item.id,
+ `${item.name}`,
+ undefined,
+ [item.lon, item.lat, 0], 'yl-dev', item,
+ this.clickMarker)
+ })
+ })
})
- }
+ },
+ // 点击点位
+ clickMarker(eventArg) {
+ const item = eventArg._data.data
+ this.showPop = true
+ this.$nextTick(() => {
+ this.$refs.popRef.initData(item)
+ })
+ },
+ // 获取告警
+ fetchAlarm() {
+ console.log('获取告警')
+ getAlarmList({ pageNo: '1', pageSize: '99' }).then(res => {
+ console.log(res.data, '告警列表')
+ res.data.value.forEach((item) => {
+ AddLabelPoint(
+ item.id,
+ `${item.devicetypename}`,
+ this.alarmIcon,
+ [item.lon, item.lat, 0], 'yl-dev', item,
+ this.clickAlarmIcon)
+ })
+ })
+ },
+ // 点击告警点位
+ clickAlarmIcon(eventArg) {
+ const item = eventArg._data.data
+ this.showAlarm = true
+ this.$nextTick(() => {
+ this.$refs.alarmRef.initData(item)
+ })
+ },
+ // 获取事件
+ fetchCase() {
+ console.log('获取事件')
+ getCaseList({ pageNo: '1', pageSize: '99', ...this.time }).then(res => {
+ console.log(res.data, '事件列表')
+ res.data.value.forEach((item) => {
+ console.log(this.caseIcon[item.eventstatus.trim()])
+ const icon = this.caseIcon[item.eventstatus.trim()] || ''
+ AddLabelPoint(
+ item.id,
+ `${item.eventypename}`,
+ icon,
+ [item.lon, item.lat, 0], 'yl-dev', item,
+ this.clickCase)
+ })
+ })
+ },
+ // 事件图标点击
+ clickCase(eventArg) {
+ const item = eventArg._data.data
+ this.showCase = true
+ this.$nextTick(() => {
+ this.$refs.caseRef.initData(item)
+ })
+ },
+ // 事件时间查询条件
+ handleTimeRange(time) {
+ // this.isListPage = false
+ if (this.time.startTime !== '') {
+ this.time = time
+ clearResetMap()
+ this.fetchCase()
+ } else {
+ this.time = time
+ }
+ },
}
}
diff --git a/src/pages/ywts/zyhj/hb/ponitPop.vue b/src/pages/ywts/zyhj/hb/ponitPop.vue
new file mode 100644
index 0000000..a4c64ae
--- /dev/null
+++ b/src/pages/ywts/zyhj/hb/ponitPop.vue
@@ -0,0 +1,277 @@
+
+
+
+
+
+
+
+ 点位类型名称: {{ gdInfo.name
+ }}
+ 点位经纬度: {{ gdInfo.lon
+ }},{{ gdInfo.lat }}
+ 点位ID: {{ gdInfo.lon
+ }},{{ gdInfo.id }}
+ 点位位置: {{ gdInfo.location
+ }}
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/api/ywts/shms/jy.js b/src/api/ywts/shms/jy.js
index f3ac251..56f48e3 100644
--- a/src/api/ywts/shms/jy.js
+++ b/src/api/ywts/shms/jy.js
@@ -116,7 +116,7 @@
return request({
url: 'zhjy-gktj/zhjy/sbdwlb',
method: 'post',
- data,
+ // data,
params: data
})
}
diff --git a/src/api/ywts/shms/sq.js b/src/api/ywts/shms/sq.js
new file mode 100644
index 0000000..04a5447
--- /dev/null
+++ b/src/api/ywts/shms/sq.js
@@ -0,0 +1,123 @@
+/**
+ * 社区接口
+ */
+import request from '@/utils/request'
+
+// 社区点位列表
+export function getCommunityList() {
+ return request({
+ url: 'zhsq-gktj/zhsq/sqdwlb',
+ method: 'post',
+ })
+}
+
+// 人员热力图
+export function getHeat() {
+ return request({
+ url: 'zhsq-gktj/zhsq/sqyyrlt',
+ method: 'post',
+ })
+}
+
+// 设备点位
+export function getDevice() {
+ return request({
+ url: 'zhsq-gktj/zhsq/sbdwlb',
+ method: 'post',
+ params: {
+ type: '',
+ keywords: ''
+ }
+ })
+}
+
+// 社区车辆
+export function getCar() {
+ return request({
+ url: 'zhsq-gktj/zhsq/sqbyl',
+ method: 'post',
+ })
+}
+
+// 事件点位列表
+export function getCase(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/sjdwlb',
+ method: 'post',
+ params:{
+ ...data
+ }
+ })
+}
+
+// 事件详情
+export function getCaseList(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/zjlbfy',
+ method: 'post',
+ params:{
+ ...data
+ }
+ })
+}
+// 获取社区基本信息
+export function getBaseInfo(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/sqdwxq',
+ method: 'post',
+ params:{
+ ...data
+ },
+ // data
+ })
+}
+// 居民年龄统计
+export function getAgeStatistics(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/jmnltj',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
+// 居民流动比例
+export function getCurrentRatio(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/jmldbl',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
+// 近1年人房车占比统计
+export function getPersonCarRatio(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/rfczbtj',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
+// 近1月居民通行量分析
+export function getTransitrRatio(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/jmtxlfx',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
+// 近1月高频事件排行榜
+export function getCaseRank(data) {
+ return request({
+ url: 'zhsq-gktj/zhsq/gpsjphb',
+ method: 'post',
+ params:{
+ ...data
+ },
+ })
+}
diff --git a/src/api/ywts/zyhj/hb.js b/src/api/ywts/zyhj/hb.js
index 5e598d1..07625d1 100644
--- a/src/api/ywts/zyhj/hb.js
+++ b/src/api/ywts/zyhj/hb.js
@@ -8,7 +8,10 @@
return request({
url: 'zhhb-gktj/zhhb/gktj',
method: 'post',
- data
+ data,
+ params: {
+ ...data,
+ }
})
}
// 环保点位列表
@@ -19,3 +22,26 @@
data
})
}
+// 环保告警列表
+export function getAlarmList(data) {
+ return request({
+ url: 'zhhb-gktj/zhhb/hbgjlb',
+ method: 'post',
+ // data
+ params: {
+ ...data
+ }
+ })
+}
+
+// 环保事件列表
+export function getCaseList(data) {
+ return request({
+ url: 'zhhb-gktj/zhhb/hbsjlbfy',
+ method: 'post',
+ // data
+ params: {
+ ...data
+ }
+ })
+}
diff --git a/src/api/ywts/zyhj/yl.js b/src/api/ywts/zyhj/yl.js
index 63d7ad2..643e3d4 100644
--- a/src/api/ywts/zyhj/yl.js
+++ b/src/api/ywts/zyhj/yl.js
@@ -88,6 +88,9 @@
url: 'zhyl-gktjljk/zhyl/sjxq',
method: 'post',
data,
+ params: {
+ ...data,
+ }
})
}
// 苗木点位列表
diff --git a/src/components/CommonFunction/index.vue b/src/components/CommonFunction/index.vue
index 1a10acb..c2eba44 100644
--- a/src/components/CommonFunction/index.vue
+++ b/src/components/CommonFunction/index.vue
@@ -5,8 +5,8 @@
@click="btnClick" />
-
+
@@ -21,7 +21,7 @@
import CommonBtn from "../CommonBtn";
import { clearUpMap } from '@/utils/freedo/index'
-import { initPosition, initPage } from "../../utils/freedo";
+import { initPosition, initPage } from "../../utils/freedo";
import mapJson from "@/assets/mapJson/map.json";
import { eventBus } from "../../main";
@@ -59,11 +59,11 @@
disabled: true,
"children": [
{ "id": 41, "label": "智慧教育-手工模型", disabled: true },
- { "id": 42, "label": "智慧停车云-手工模型", disabled: true },
- { "id": 43, "label": "智慧社区-手工模型", disabled: true },
- { "id": 44, "label": "智慧工地-手工模型", disabled: true },
- { "id": 45, "label": "智慧交通-手工模型", disabled: true },
- { "id": 46, "label": "智慧园林-手工模型", disabled: true }
+ { "id": 42, "label": "智慧停车云-手工模型", disabled: true },
+ { "id": 43, "label": "智慧社区-手工模型", disabled: true },
+ { "id": 44, "label": "智慧工地-手工模型", disabled: true },
+ { "id": 45, "label": "智慧交通-手工模型", disabled: true },
+ { "id": 46, "label": "智慧园林-手工模型", disabled: true }
]
}, {
"id": 5,
@@ -95,8 +95,8 @@
setTimeout(() => {
this.tree.forEach((item) => {
item.disabled = false
- if(item.children) {
- item.children = item.children.map((item) => ({ ...item,disabled: false}))
+ if (item.children) {
+ item.children = item.children.map((item) => ({ ...item, disabled: false }))
}
})
}, 5000)
@@ -125,7 +125,7 @@
handler(data, checked, indeterminate)
}
else {
- if(data.id.toString() === '5' && checked) {
+ if (data.id.toString() === '5' && checked) {
window.terrainManager.visible = true
return
}
@@ -143,14 +143,18 @@
},
btnClick(e) {
this.showLayerTree = false
+ this.clearDialog()
if (e.target.id === 'initBtn') {
initPosition()
} else if (e.target.id === 'clearBtn') {
clearUpMap()
} else if (e.target.id === 'layerBtn') {
- // clearUpMap()
this.showLayerTree = true
}
+ },
+ // 清空地图弹窗
+ clearDialog() {
+ this.$bus.$emit('clear')
}
}
}
@@ -178,7 +182,7 @@
right: 20px;
top: 1rem;
display: flex;
- width: 20rem;
+ width: 15rem;
height: 5rem;
z-index: 1111111111;
}
diff --git a/src/pages/csdz/iot/index.vue b/src/pages/csdz/iot/index.vue
index 63b60ea..8aefaea 100644
--- a/src/pages/csdz/iot/index.vue
+++ b/src/pages/csdz/iot/index.vue
@@ -259,8 +259,8 @@
localPoint(e) {
// this.childrenClick(e)
this.clickIcon({
- _data:{
- data:e
+ _data: {
+ data: e
}
})
},
@@ -280,6 +280,11 @@
},
mounted() {
this.search()
+ this.$bus.$on('clear', () => {
+ this.isShowEvent = false
+ this.isShowEventPop = false
+ this.isShowPop = false
+ })
// getStatistics().then(res => {
// if (res.code === 200 && res.data.value.length) {
// console.log(res.data, '')
diff --git a/src/pages/csdz/smartCard/index.vue b/src/pages/csdz/smartCard/index.vue
index 48721f7..32573d2 100644
--- a/src/pages/csdz/smartCard/index.vue
+++ b/src/pages/csdz/smartCard/index.vue
@@ -112,6 +112,7 @@
btnClick(e) {
clearResetMap()
this.selectIndex = e.target.id
+ this.isShowPop = false
if (this.selectIndex === 'publicBtn') {
// 绘制热力图
heat([
@@ -870,6 +871,10 @@
getStatistics({}).then(res => {
console.log(res.data, '一卡通')
})
+ this.$bus.$on('clear', () => {
+ this.isShowPop = false
+ this.isShowEvent = false
+ })
}
}
diff --git a/src/pages/csdz/videoCloud/index.vue b/src/pages/csdz/videoCloud/index.vue
index 4b8d110..81530d5 100644
--- a/src/pages/csdz/videoCloud/index.vue
+++ b/src/pages/csdz/videoCloud/index.vue
@@ -695,6 +695,11 @@
},
mounted() {
this.drawSence()
+ this.$bus.$on('clear', () => {
+ this.isShowPop = false
+ this.isShowEvent = false
+ this.isShowEventPop = false
+ })
}
}
diff --git a/src/pages/ywts/cszl/gd/index.vue b/src/pages/ywts/cszl/gd/index.vue
index e9be7b0..35ee8d7 100644
--- a/src/pages/ywts/cszl/gd/index.vue
+++ b/src/pages/ywts/cszl/gd/index.vue
@@ -1,30 +1,23 @@
-
-
+
+
@@ -34,7 +27,7 @@
import TimeManager from "@/components/TimeManager";
import GdPop from "./gdPop";
import { heat } from '@/utils/freedo/heat'
-import { clearUpMap, clearResetMap ,AddLabelPoint, initPosition } from '@/utils/freedo'
+import { clearUpMap, clearResetMap, AddLabelPoint, initPosition } from '@/utils/freedo'
import {
getHeat,
getArea,
@@ -43,17 +36,17 @@
getStatistics,
getCasePointList, getCaseInfo
} from "../../../../api/ywts/cszl/gd";
-import {AddDivPointCase, AddDivPointHighlight, AddLabel, focusPoint} from "../../../../utils/freedo";
+import { AddDivPointCase, AddDivPointHighlight, AddLabel, focusPoint } from "../../../../utils/freedo";
import ListPage from "@/components/ListPage";
import KeywordManager from "../../../../components/KeywordManager";
import gridJson from "@/assets/mapJson/grid.json";
import mapJson from "@/assets/mapJson/map.json";
-import {eventBus} from "../../../../main";
+import { eventBus } from "../../../../main";
export default {
name: 'Gd',
- components: {KeywordManager, GdPop, TimeManager, LayerManagerMix, ListPage, CommonBtn },
+ components: { KeywordManager, GdPop, TimeManager, LayerManagerMix, ListPage, CommonBtn },
data() {
return {
isListPage: false,
@@ -73,19 +66,19 @@
caseTotal: 0,
layerManager: null,
caseIcon: {
- 1: require('@/assets/images/icon/事件/已撤案.png'),
- 2: require('@/assets/images/icon/事件/指派中.png'),
- 3: require('@/assets/images/icon/事件/处置中.png'),
- 4: require('@/assets/images/icon/事件/已办结.png'),
- 5: require('@/assets/images/icon/事件/已结案.png'),
- },
+ 1: require('@/assets/images/icon/事件/已撤案.png'),
+ 2: require('@/assets/images/icon/事件/指派中.png'),
+ 3: require('@/assets/images/icon/事件/处置中.png'),
+ 4: require('@/assets/images/icon/事件/已办结.png'),
+ 5: require('@/assets/images/icon/事件/已结案.png'),
+ },
caseColor: {
- 1: '#ffffff88',
- 2: '#fdeb5688',
- 3: '#85c8ff88',
- 4: '#ffba7488',
- 5: '#87f6b388',
- },
+ 1: '#ffffff88',
+ 2: '#fdeb5688',
+ 3: '#85c8ff88',
+ 4: '#ffba7488',
+ 5: '#87f6b388',
+ },
time: {
startTime: '',
endTime: '',
@@ -105,10 +98,10 @@
name: '工地设备',
value: 'device'
}
- // , {
- // name: '环监设备',
- // value: 'others'
- // }
+ // , {
+ // name: '环监设备',
+ // value: 'others'
+ // }
],
menus: {
device: [
@@ -122,7 +115,7 @@
},
mounted() {
getStatistics().then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
this.menus.device = response.data.value
}
})
@@ -135,28 +128,24 @@
autoFlyto: true,
})
- eventBus.$emit('change-layer', { id:1, checked: false});
- eventBus.$emit('change-layer', { id:2, checked: false});
- eventBus.$emit('change-layer', { id:3, checked: false});
- eventBus.$emit('change-layer', { id:4, checked: false});
- eventBus.$emit('change-layer', { id:5, checked: true});
- eventBus.$emit('change-layer', { id:44, checked: true});
- eventBus.$emit('change-layer', { id:21, checked: true});
- eventBus.$emit('change-layer', { id:12, checked: true});
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: false }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: true });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: false });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: true }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
-
- // window.pmtsManager.add({
- // id: "智慧工地-手工模型",
- // url: mapJson.CIM4["智慧工地-手工模型"],
- // show: true,
- // maximumScreenSpaceError: 32,
- // maximumMemoryUsage: 64,
- // maximumAbsoluteMemoryUsage: 8192,
- // autoFlyto: true
- // },
- // undefined
- // )
- // window.terrainManager.visible = true
+ // 清除弹窗展示
+ this.$bus.$on('clear', () => {
+ this.isListPage = false
+ this.isShow = false
+ })
},
methods: {
async btnClick(e) {
@@ -179,7 +168,7 @@
break
case "personBtn":
getHeat().then(res => {
- if(res.code === 200) {
+ if (res.code === 200) {
console.log(res.data, '热力')
const arr = res.data.value.filter(item => item.lng !== "" && item.lng !== null)
// arr.splice(0,1) // todo: 测试第一个错误数据
@@ -192,17 +181,17 @@
// 设备图层控制
layer(item) {
// clearUpMap(true)
- const iconOnline = require('@/assets/images/icon/工地地图点位/'+item.typename.replace(/ /g,'')+'在线.png')
- const iconOffline = require('@/assets/images/icon/工地地图点位/'+item.typename.replace(/ /g,'')+'离线.png')
- getDevList({type: item.type}).then(response => {
- if(response.code === 200) {
+ const iconOnline = require('@/assets/images/icon/工地地图点位/' + item.typename.replace(/ /g, '') + '在线.png')
+ const iconOffline = require('@/assets/images/icon/工地地图点位/' + item.typename.replace(/ /g, '') + '离线.png')
+ getDevList({ type: item.type }).then(response => {
+ if (response.code === 200) {
clearUpMap(true)
this.keywordList = response.data.value
response.data.value.forEach(item => {
AddLabelPoint(
item.id,
'',
- item.status === '1'? iconOnline: iconOffline,
+ item.status === '1' ? iconOnline : iconOffline,
[item.lon, item.lat, 0], 'gd-dev', item,
null)
})
@@ -216,23 +205,23 @@
// keywords: this.keyword
}
getCasePointList(param).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
clearUpMap(true)
const data = []
response.data.value.forEach(item => {
- if(!data.map(da => da.id).includes(item.id) && !data.map(da => da.lon).includes(item.lon) && item.id !== null) {
+ if (!data.map(da => da.id).includes(item.id) && !data.map(da => da.lon).includes(item.lon) && item.id !== null) {
data.push(item)
}
})
this.keywordList = data
data.forEach(item => {
// if(item.total === '1') {
- AddLabelPoint(
- item.id,
- '',
- this.caseIcon[item.eventstatus],
- [item.lon, item.lat, 0], 'gd-case', item,
- this.clickCase)
+ AddLabelPoint(
+ item.id,
+ '',
+ this.caseIcon[item.eventstatus],
+ [item.lon, item.lat, 0], 'gd-case', item,
+ this.clickCase)
// } else {
// AddDivPointCase(item, this.caseColor[item.status], item.total, this.clickCase)
// }
@@ -244,8 +233,8 @@
search() {
const iconDone = require('@/assets/images/icon/工地地图点位/工地已完成.png')
const iconDoing = require('@/assets/images/icon/工地地图点位/工地进行中.png')
- getArea({keywords: this.keyword}).then(response => {
- if(response.code === 200) {
+ getArea({ keywords: this.keyword }).then(response => {
+ if (response.code === 200) {
clearUpMap(true)
this.keywordList = response.data.value
response.data.value.forEach(item => {
@@ -254,7 +243,7 @@
AddLabelPoint(
item.id,
item.name,
- item.status === '2' ? iconDoing: iconDone,
+ item.status === '2' ? iconDoing : iconDone,
[item.lon, item.lat, 0], 'gd', item,
this.clickGd)
})
@@ -265,8 +254,8 @@
score() {
const iconDone = require('@/assets/images/icon/工地地图点位/工地已完成.png')
const iconDoing = require('@/assets/images/icon/工地地图点位/工地进行中.png')
- getArea({keywords: this.keyword}).then(response => {
- if(response.code === 200) {
+ getArea({ keywords: this.keyword }).then(response => {
+ if (response.code === 200) {
this.keywordList = response.data.value
response.data.value.forEach(item => {
// console.log(item,'321123')
@@ -280,8 +269,8 @@
})
}
})
- getMonthGdScore({keywords: this.keyword}).then(response => {
- if(response.code === 200) {
+ getMonthGdScore({ keywords: this.keyword }).then(response => {
+ if (response.code === 200) {
response.data.value.filter(item => item.lng !== "" && item.lng !== null).forEach(item => {
AddLabel(
item.id,
@@ -304,7 +293,7 @@
clickCase(eventArg) {
const item = eventArg._data.data
// 恢复上一个marker
- if(this.preCase !== null ) {
+ if (this.preCase !== null) {
window.mmManager.removeById(this.preCase.id)
AddLabelPoint(
this.preCase.id,
@@ -313,7 +302,7 @@
[this.preCase.lon, this.preCase.lat, 0], 'gd-case', this.preCase,
this.clickCase)
}
- if(item.total === '1') {
+ if (item.total === '1') {
// 保存当前marker
this.preCase = item
// 高亮当前marker
@@ -323,7 +312,7 @@
this.preCase = null
}
// 查询事件详情
- this.caseTotal = Number(item.total)
+ this.caseTotal = Number(item.total)
this.isListPage = true
this.$refs.caseListPage.initDialog()
this.caseListQuery = {
@@ -345,16 +334,16 @@
searchCaseMarkerList() {
// getCaseInfo(this.caseListQuery).then(response => {
getCaseInfo(this.caseListQuery).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
console.log(response.data.value)
// 右侧看板
- this.caseList = response.data.value
+ this.caseList = response.data.value
}
})
},
handleTimeRange(time) {
this.isListPage = false
- if(this.time.startTime !== '') {
+ if (this.time.startTime !== '') {
this.time = time
this.casePoint()
} else {
diff --git a/src/pages/ywts/cszl/hw/index.vue b/src/pages/ywts/cszl/hw/index.vue
index e773b7d..ed28bc6 100644
--- a/src/pages/ywts/cszl/hw/index.vue
+++ b/src/pages/ywts/cszl/hw/index.vue
@@ -31,6 +31,7 @@
import ListPage from "@/components/ListPage";
import { getPlacePointList, getOverviewStatistics, getPersonList, getCarList, getCaseList, getCaseInfo } from '@/api/ywts/cszl/hw'
import { iconFilter, iconPerson, personList, carList, iconCar } from './data'
+import { eventBus } from "../../../../main";
export default {
name: 'Hw',
components: { TimeManager, LayerManagerMix, ListPage, CommonBtn, Pop },
@@ -94,7 +95,25 @@
},
mounted() {
clearResetMap()
+ this.selectInde = 'deviceBtn'
this.fetchPoint()
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: false }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: false });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: false });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: false }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
+ // 清除弹窗展示
+ this.$bus.$on('clear', () => {
+ this.isListPage = false
+ this.showPop = false
+ })
},
methods: {
async btnClick(e) {
@@ -263,17 +282,17 @@
// this.caseList = res.data.value || []
// this.caseTotal = this.caseList.length
res.data.value.forEach(item => {
- AddLabelPoint(
- item.id.replaceAll('.', ''),
- '',
- this.caseIcon[item.status],
- [item.lon, item.lat, 0], 'gd-case', item,
- this.clickCase)
- })
+ AddLabelPoint(
+ item.id.replaceAll('.', ''),
+ '',
+ this.caseIcon[item.status],
+ [item.lon, item.lat, 0], 'gd-case', item,
+ this.clickCase)
+ })
})
},
- // 点击事件icon
- clickCase(eventArg) {
+ // 点击事件icon
+ clickCase(eventArg) {
const item = eventArg._data.data
// 恢复上一个marker
if (this.preCase !== null) {
@@ -306,11 +325,11 @@
getCaseInfo(this.caseListQuery).then(res => {
console.log(res.data, '事件详情')
this.caseList = res.data.value || []
- this.caseTotal = this.caseList.length
+ this.caseTotal = this.caseList.length
})
},
- // 事件换页
- changePage(val) {
+ // 事件换页
+ changePage(val) {
if (val && val.page) {
this.caseListQuery.pageNo = val.page
}
diff --git a/src/pages/ywts/cszl/jt/index.vue b/src/pages/ywts/cszl/jt/index.vue
index fb1ce91..ef5938c 100644
--- a/src/pages/ywts/cszl/jt/index.vue
+++ b/src/pages/ywts/cszl/jt/index.vue
@@ -1,15 +1,21 @@
-
+
@@ -26,8 +32,9 @@
getStatistics,
getCasePointList, getCaseInfo
} from "../../../../api/ywts/cszl/gd";
-import {AddDivPointHighlight, AddLabel} from "../../../../utils/freedo";
+import { AddDivPointHighlight, AddLabel } from "../../../../utils/freedo";
import ListPage from "@/components/ListPage";
+import { eventBus } from "../../../../main";
export default {
name: 'Jt',
@@ -47,19 +54,19 @@
},
caseTotal: 0,
caseIcon: {
- 1: require('@/assets/images/icon/事件/已撤案.png'),
- 2: require('@/assets/images/icon/事件/指派中.png'),
- 3: require('@/assets/images/icon/事件/处置中.png'),
- 4: require('@/assets/images/icon/事件/已办结.png'),
- 5: require('@/assets/images/icon/事件/已结案.png'),
- },
+ 1: require('@/assets/images/icon/事件/已撤案.png'),
+ 2: require('@/assets/images/icon/事件/指派中.png'),
+ 3: require('@/assets/images/icon/事件/处置中.png'),
+ 4: require('@/assets/images/icon/事件/已办结.png'),
+ 5: require('@/assets/images/icon/事件/已结案.png'),
+ },
caseColor: {
- 1: '#ffffff',
- 2: '#fdeb56',
- 3: '#85c8ff',
- 4: '#ffba74',
- 5: '#87f6b3',
- },
+ 1: '#ffffff',
+ 2: '#fdeb56',
+ 3: '#85c8ff',
+ 4: '#ffba74',
+ 5: '#87f6b3',
+ },
time: {
startTime: '',
endTime: '',
@@ -81,10 +88,10 @@
name: '基础设施',
value: 'place'
}
- // , {
- // name: '环监设备',
- // value: 'others'
- // }
+ // , {
+ // name: '环监设备',
+ // value: 'others'
+ // }
],
menus: {
place: [
@@ -98,11 +105,27 @@
},
mounted() {
getStatistics().then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
this.menus.place = response.data.value
}
})
this.search()
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: false }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: false });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: true });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: true }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
+ // 清除弹窗展示
+ this.$bus.$on('clear', () => {
+ this.isListPage = false
+ })
},
methods: {
async btnClick(e) {
@@ -121,16 +144,16 @@
// 设备图层控制
layer(item) {
// clearUpMap()
- const iconOnline = require('@/assets/images/icon/工地地图点位/'+item.typename.replace(/ /g,'')+'在线.png')
- const iconOffline = require('@/assets/images/icon/工地地图点位/'+item.typename.replace(/ /g,'')+'离线.png')
- getDevList({type: item.type}).then(response => {
- if(response.code === 200) {
+ const iconOnline = require('@/assets/images/icon/工地地图点位/' + item.typename.replace(/ /g, '') + '在线.png')
+ const iconOffline = require('@/assets/images/icon/工地地图点位/' + item.typename.replace(/ /g, '') + '离线.png')
+ getDevList({ type: item.type }).then(response => {
+ if (response.code === 200) {
clearUpMap()
response.data.value.forEach(item => {
AddLabelPoint(
item.id,
'',
- item.status === '1'? iconOnline: iconOffline,
+ item.status === '1' ? iconOnline : iconOffline,
[item.lon, item.lat, 0], 'gd-place', item,
null)
})
@@ -141,11 +164,11 @@
casePoint() {
console.log(this.time)
getCasePointList(this.time).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
clearUpMap()
const data = []
response.data.value.forEach(item => {
- if(!data.map(da => da.id).includes(item.id) && !data.map(da => da.lon).includes(item.lon) && item.id !== null) {
+ if (!data.map(da => da.id).includes(item.id) && !data.map(da => da.lon).includes(item.lon) && item.id !== null) {
data.push(item)
}
})
@@ -165,7 +188,7 @@
const iconDone = require('@/assets/images/icon/工地地图点位/工地已完成.png')
const iconDoing = require('@/assets/images/icon/工地地图点位/工地进行中.png')
getArea({}).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
clearUpMap()
response.data.value.forEach(item => {
// console.log(item.areaboundary)
@@ -173,7 +196,7 @@
AddLabelPoint(
item.id,
item.name,
- item.status === '2' ? iconDoing: iconDone,
+ item.status === '2' ? iconDoing : iconDone,
[item.lon, item.lat, 0], 'gd', item,
this.clickHw)
})
@@ -183,7 +206,7 @@
// 智慧工地-工地近1月综合得分
score() {
getArea({}).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
response.data.value.forEach(item => {
console.log(item.areaboundary)
// todo : 画范围
@@ -195,7 +218,7 @@
clickCase(eventArg) {
const item = eventArg._data.data
// 恢复上一个marker
- if(this.preCase !== null ) {
+ if (this.preCase !== null) {
window.mmManager.removeById(this.preCase.id)
AddLabelPoint(
this.preCase.id,
@@ -231,13 +254,13 @@
searchCaseMarkerList() {
// getCaseInfo(this.caseListQuery).then(response => {
getCaseInfo(this.caseListQuery).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
console.log(response.data.value)
// 右侧看板
- this.caseList = response.data.value
+ this.caseList = response.data.value
// todo
// this.caseTotal = response.data.value.length
- this.caseTotal = 12
+ this.caseTotal = 12
}
})
},
@@ -246,7 +269,7 @@
},
handleTimeRange(time) {
this.isListPage = false
- if(this.time.startTime !== '') {
+ if (this.time.startTime !== '') {
this.time = time
this.casePoint()
} else {
diff --git a/src/pages/ywts/cszl/jxh/index.vue b/src/pages/ywts/cszl/jxh/index.vue
index a3703db..0f23aaa 100644
--- a/src/pages/ywts/cszl/jxh/index.vue
+++ b/src/pages/ywts/cszl/jxh/index.vue
@@ -1,26 +1,24 @@
-
-
+
+
@@ -44,14 +42,15 @@
getAll,
getCaseInfo, getBoard
} from "../../../../api/ywts/cszl/jxh";
-import {AddDivPointCase, AddDivPointHighlight, AddOnlyLabel, AddPolygon} from "../../../../utils/freedo";
+import { AddDivPointCase, AddDivPointHighlight, AddOnlyLabel, AddPolygon } from "../../../../utils/freedo";
import ListPage from "@/components/ListPage";
-import {getGridInfo, getGridToken} from "../../../../api/common";
+import { getGridInfo, getGridToken } from "../../../../api/common";
import JxhPop from "./jxhPop";
+import { eventBus } from "../../../../main";
export default {
name: 'Jxh',
- components: {JxhPop, LayerManager, TimeManager, KeywordManager, CommonBtn, ListPage },
+ components: { JxhPop, LayerManager, TimeManager, KeywordManager, CommonBtn, ListPage },
data() {
return {
preCase: null,
@@ -128,6 +127,22 @@
}
},
mounted() {
+ this.$bus.$on('clear', () => {
+ this.isListPage = false
+ this.isShow = false
+ })
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: false }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: false });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: false });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: false }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
// 全部事件
getAll({
// urgent: '0',
@@ -135,8 +150,8 @@
// high: '0',
startTime: this.time.startTime,
endTime: this.time.endTime,
- }).then( res => {
- if(res.code === 200) {
+ }).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
@@ -154,7 +169,7 @@
caseMarker(res) {
res.data.value.forEach(item => {
// console.log(item.status)
- if(item.total === '1') {
+ if (item.total === '1') {
AddLabelPoint(
item.id,
'',
@@ -180,24 +195,24 @@
switch (e.bigtype) {
case 'source':
query.sourceId = e.type
- getSourceList(query).then( res => {
- if(res.code === 200) {
+ getSourceList(query).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
break
case 'project':
query.projectId = e.type
- getProjectList(query).then( res => {
- if(res.code === 200) {
+ getProjectList(query).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
break
case 'grid':
query.gridType = e.type
- getGridList(query).then( res => {
- if(res.code === 200) {
+ getGridList(query).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
@@ -208,7 +223,7 @@
clickCase(eventArg) {
const item = eventArg._data.data
// 恢复上一个marker
- if(this.preCase !== null ) {
+ if (this.preCase !== null) {
window.mmManager.removeById(this.preCase.id)
AddLabelPoint(
this.preCase.id,
@@ -218,7 +233,7 @@
this.clickCase)
}
- if(item.total === '1') {
+ if (item.total === '1') {
// 保存当前marker
this.preCase = item
// 高亮当前marker
@@ -229,7 +244,7 @@
}
// 查询事件详情
- this.caseTotal = Number(item.total)
+ this.caseTotal = Number(item.total)
this.caseList = []
this.isListPage = true
this.hasUrge = false
@@ -263,13 +278,13 @@
// high: '0',
startTime: this.time.startTime,
endTime: this.time.endTime,
- }).then( res => {
- if(res.code === 200) {
+ }).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
// 事件看板
- this.caseTotal = 1000 // todo
+ this.caseTotal = 1000 // todo
this.caseList = []
this.isListPage = true
this.hasUrge = true
@@ -292,8 +307,8 @@
high: '1',
startTime: this.time.startTime,
endTime: this.time.endTime,
- }).then( res => {
- if(res.code === 200) {
+ }).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
@@ -306,8 +321,8 @@
// high: '0',
startTime: this.time.startTime,
endTime: this.time.endTime,
- }).then( res => {
- if(res.code === 200) {
+ }).then(res => {
+ if (res.code === 200) {
this.caseMarker(res)
}
})
@@ -317,7 +332,7 @@
break
case "caseHeatBtn":
getHeat(this.time).then(res => {
- if(res.code === 200) {
+ if (res.code === 200) {
heat(res.data.value) // 热力图
}
})
@@ -326,29 +341,29 @@
},
gridDraw(token, areaCode) {
const colors = [
- [0,234,255,0.47],
- [255,185,0,0.47],
- [255,234,0,0.47],
- [209,0,255,0.47],
- [255,0,38,0.47],
+ [0, 234, 255, 0.47],
+ [255, 185, 0, 0.47],
+ [255, 234, 0, 0.47],
+ [209, 0, 255, 0.47],
+ [255, 0, 38, 0.47],
]
getGridInfo({
paramCodeList: 'KJ5001',
areaCode,
token
- }).then( res => {
+ }).then(res => {
console.log(res)
res.data.chirdAreaInfo.forEach((item, index) => {
item._source.areainfo.coordinates.forEach(area => {
let positions = []
- let arr = item._source.areainfo.type === 'MultiPolygon' ? area[0]: area
+ let arr = item._source.areainfo.type === 'MultiPolygon' ? area[0] : area
arr.forEach(pos => {
- positions.push(Freedo.Cartesian3.fromDegrees( pos[0], pos[1],0))
+ positions.push(Freedo.Cartesian3.fromDegrees(pos[0], pos[1], 0))
})
- AddPolygon(positions,colors[index % 5], this.gridClick,item._id)
+ AddPolygon(positions, colors[index % 5], this.gridClick, item._id)
AddOnlyLabel(
'',
- item._source.areaname , //+ this.menus.grid
+ item._source.areaname, //+ this.menus.grid
[item._source.lon, item._source.lat, 0],
'', null, null)
})
@@ -364,7 +379,7 @@
secret: CryptoJS.MD5(timestamp + 'geostar999').toString()
}
- getGridToken(param).then( res => {
+ getGridToken(param).then(res => {
clearUpMap()
this.gridDraw(res.data.token, '360783001')
this.gridDraw(res.data.token, '360783002')
@@ -374,32 +389,32 @@
},
// 三个概况统计
layerSeach() {
- getSource(this.time).then( res => {
- if(res.code === 200) {
+ getSource(this.time).then(res => {
+ if (res.code === 200) {
this.menus.source = res.data.value.map(item => {
item.bigtype = 'source'
- item.type = item.id.replace(/ /g,'')
- item.typename = item.name.replace(/ /g,'')
+ item.type = item.id.replace(/ /g, '')
+ item.typename = item.name.replace(/ /g, '')
return item
})
}
})
- getProject(this.time).then( res => {
- if(res.code === 200) {
+ getProject(this.time).then(res => {
+ if (res.code === 200) {
this.menus.project = res.data.value.map(item => {
item.bigtype = 'project'
- item.type = item.id.replace(/ /g,'')
- item.typename = item.name.replace(/ /g,'')
+ item.type = item.id.replace(/ /g, '')
+ item.typename = item.name.replace(/ /g, '')
return item
})
}
})
- getGrid(this.time).then( res => {
- if(res.code === 200) {
+ getGrid(this.time).then(res => {
+ if (res.code === 200) {
this.menus.grid = res.data.value.map(item => {
item.bigtype = 'grid'
- item.type = item.id.replace(/ /g,'')
- item.typename = item.name.replace(/ /g,'')
+ item.type = item.id.replace(/ /g, '')
+ item.typename = item.name.replace(/ /g, '')
return item
})
}
@@ -410,7 +425,7 @@
if (val && val.page) {
this.caseListQuery.pageNo = val.page
}
- if(this.hasUrge) {
+ if (this.hasUrge) {
this.searchBoard()
} else {
this.searchCaseMarkerList()
@@ -419,20 +434,20 @@
// 事件看板查询
searchBoard() {
getBoard(this.caseListQuery).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
console.log(response.data.value)
// 右侧看板
- this.caseList = response.data.value
+ this.caseList = response.data.value
}
})
},
// 事件详情分页
searchCaseMarkerList() {
getCaseInfo(this.caseListQuery).then(response => {
- if(response.code === 200) {
+ if (response.code === 200) {
console.log(response.data.value)
// 右侧看板
- this.caseList = response.data.value
+ this.caseList = response.data.value
}
})
},
diff --git a/src/pages/ywts/cszl/yj/index.vue b/src/pages/ywts/cszl/yj/index.vue
index 7869a73..d74dfe9 100644
--- a/src/pages/ywts/cszl/yj/index.vue
+++ b/src/pages/ywts/cszl/yj/index.vue
@@ -45,7 +45,7 @@
import { AddDivPointHighlight, AddLabel } from "../../../../utils/freedo";
import { iconFilter, deviceList, caseList } from './data'
import ListPage from "@/components/ListPage";
-
+import { eventBus } from "../../../../main";
export default {
name: 'Yj',
components: { TimeManager, LayerManagerMix, ListPage, CommonBtn, Pop },
@@ -118,14 +118,25 @@
}
},
mounted() {
- // getStatistics().then(response => {
- // if(response.code === 200) {
- // this.menus.place = response.data.value
- // }
- // })
- // this.search()
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: false }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: false });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: false });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: false }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
clearResetMap()
this.searchPlace({})
+
+ this.$bus.$on('clear', () => {
+ this.isListPage = false
+ this.showPop = false
+ })
},
methods: {
async btnClick(e) {
diff --git a/src/pages/ywts/shms/jy/devicePop.vue b/src/pages/ywts/shms/jy/devicePop.vue
new file mode 100644
index 0000000..2c44979
--- /dev/null
+++ b/src/pages/ywts/shms/jy/devicePop.vue
@@ -0,0 +1,281 @@
+
+
+
+
+
+
+
+ 设备名称: {{
+ gdInfo.name }}
+ 设备类型: {{
+ gdInfo.typename }}
+ 设备状态: {{
+ gdInfo.statusName }}
+ 设备位置: {{
+ gdInfo.location }}
+ 时间: {{ gdInfo.time
+ }}
+ 进/出人口数: {{ gdInfo.in
+ }}/{{ gdInfo.out }}
+ 是否赋能: 否
+
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/ywts/shms/jy/index.vue b/src/pages/ywts/shms/jy/index.vue
index b1eb984..f377985 100644
--- a/src/pages/ywts/shms/jy/index.vue
+++ b/src/pages/ywts/shms/jy/index.vue
@@ -6,11 +6,13 @@
+ :select="selectIndex === 'layerBtn'" @btnClick="btnClick" @menuClick="menuClick" />
+
+
@@ -29,13 +31,15 @@
import mapJson from "@/assets/mapJson/map.json";
import modelJson from "@/assets/mapJson/school.json";
import { eventBus } from "../../../../main";
+import devicePop from './devicePop.vue'
export default {
name: 'Jy',
- components: { SchoolPop, TimeManager, KeywordManager, LayerManagerMix, CommonBtn },
+ components: { SchoolPop, TimeManager, KeywordManager, LayerManagerMix, CommonBtn, devicePop },
data() {
return {
isShow: false,
+ showDevice: false,
ktSelect: '',
keyword: '',
keywordList: [],
@@ -56,10 +60,15 @@
},
menus: {
device: [
- { type: "1", typename: "视频设备", total: "111" },
- { type: "2", typename: "门禁设备", total: "111" }
+ { type: "1", typename: "视频设备", total: "0" },
+ { type: "2", typename: "门禁设备", total: "0" }
]
- }
+ },
+ markerList: [],
+ markerBakList: [],
+ videoIcon: require('@/assets/images/icon/视频云/枪机未赋能在线.png'),
+ controlIcon: require('@/assets/images/icon/一卡通/门禁.png'),
+
}
},
mounted() {
@@ -70,55 +79,25 @@
name: 'jy',
autoFlyto: true,
})
- eventBus.$emit('change-layer', { id: 1, checked: false });
- eventBus.$emit('change-layer', { id: 2, checked: false });
- eventBus.$emit('change-layer', { id: 3, checked: false });
- eventBus.$emit('change-layer', { id: 4, checked: false });
- eventBus.$emit('change-layer', { id: 5, checked: true });
- eventBus.$emit('change-layer', { id: 41, checked: true });
- eventBus.$emit('change-layer', { id: 21, checked: true });
- eventBus.$emit('change-layer', { id: 12, checked: true });
- // // 教育模型
- // window.pmtsManager.add({
- // id: "智慧教育-手工模型",
- // url: mapJson.CIM4["智慧教育-手工模型"],
- // show: true,
- // maximumScreenSpaceError: 32,
- // maximumMemoryUsage: 64,
- // maximumAbsoluteMemoryUsage: 8192,
- // autoFlyto: true
- // },
- // undefined
- // )
- // // CIM2 楼
- // window.pmtsManager.add({
- // url: mapJson['CIM2']['CIM2建筑(带纹理)'],
- // show: true,
- // name: 'CIM2建筑(带纹理)',
- // autoFlyto: false
- // })
- // window.pmtsManager.add({
- // url: mapJson['CIM2']['CIM2建筑(带纹理)'],
- // show: true,
- // name: 'CIM2建筑(带纹理)',
- // autoFlyto: false,
- // alpha: 0.5,
- // color: '#002d7a'
- // })
- // for(let key in modelJson) {
- // window.pmtsManager.add({
- // id: key,
- // // url: mapJson.CIM4["智慧教育-手工模型"],
- // url: modelJson[key],
- // show: true,
- // maximumScreenSpaceError: 32,
- // maximumMemoryUsage: 64,
- // maximumAbsoluteMemoryUsage: 8192,
- // autoFlyto: true
- // },
- // undefined
- // )
- // }
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: true }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: false });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: false });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: true }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
+
+ // 清除弹窗展示
+ this.$bus.$on('clear', () => {
+ this.isShow = false
+ this.showDevice = false
+
+ })
},
methods: {
async btnClick(e) {
@@ -126,6 +105,7 @@
clearUpMap(true)
initPosition()
this.isShow = false
+ this.showDevice = false
this.selectIndex = e.target.id
switch (this.selectIndex) {
case "schoolBtn":
@@ -194,10 +174,121 @@
},
// 搜索学校设备
searchDevice() {
- getDevice({}).then(res => {
- console.log('学校数据')
+ getDevice({ keywords: '' }).then(res => {
+ this.markerList = [
+ {
+ "name": "设备1",
+ "lon": "114.859995",
+ "location": "江西省赣州市南康区三江乡",
+ "id": "1676397864375291905",
+ "lat": "25.802129",
+ "type": "1",
+ "typename": "视频设备",
+ statusName: '正常',
+ time: '2025-06-16 09:05:05',
+ in: '0',
+ out: '0',
+ },
+ {
+ "name": "设备2",
+ "lon": "114.861027",
+ "location": "江西省赣州市章贡区潭六路135号靠近逸夫小学",
+ "id": "1676398916763914241",
+ "lat": "25.757553",
+ "type": "2",
+ "typename": "门禁设备",
+ statusName: '正常',
+ time: '2025-06-16 09:05:05',
+ in: '0',
+ out: '0',
+ },
+ {
+ "name": "设备3",
+ "lon": "114.880246",
+ "location": "江西省赣州市章贡区潭东镇弘腾路毅德城",
+ "id": "1676414593390350337",
+ "lat": "25.753119",
+ "type": "1",
+ "typename": "视频设备",
+ statusName: '正常',
+ time: '2025-06-16 09:05:05',
+ in: '0',
+ out: '0',
+ },
+ {
+ "name": "设备4",
+ "lon": "114.879855",
+ "location": "江西省赣州市章贡区潭东镇弘腾路毅德城",
+ "id": "1676414955455254529",
+ "lat": "25.752771",
+ "type": "1",
+ "typename": "视频设备",
+ statusName: '正常',
+ time: '2025-06-16 09:05:05',
+ in: '0',
+ out: '0',
+ },
+ {
+ "name": "设备5",
+ "lon": "114.875438",
+ "location": "江西省赣州市章贡区潭东镇弘腾路毅德城",
+ "id": "1676418661630349312",
+ "lat": "25.748733",
+ "type": "2",
+ "typename": "门禁设备",
+ statusName: '正常',
+ time: '2025-06-16 09:05:05',
+ in: '0',
+ out: '0',
+ },
+ {
+ "name": "设备6",
+ "lon": "114.867371",
+ "location": "江西省赣州市章贡区105国道135号靠近松岭上",
+ "id": "1676422908220542977",
+ "lat": "25.750388",
+ "typename": "2",
+ "typename": "门禁设备",
+ statusName: '正常',
+ time: '2025-06-16 09:05:05',
+ in: '0',
+ out: '0',
+ },
+ ]
+ this.markerBakList = JSON.parse(JSON.stringify(this.markerList))
+ this.menus.device[0].total = this.markerList.filter((item) => item.type === '1').length
+ this.menus.device[1].total = this.markerList.filter((item) => item.type === '2').length
+ // 绘制点位
+ this.markerList.forEach((item) => {
+ AddLabelPoint(
+ item.id,
+ `${item.name}`,
+ item.type === '1' ? this.videoIcon : this.controlIcon,
+ [item.lon, item.lat, 0], 'yl-dev', item,
+ this.clickDevice)
+ })
})
- }
+ },
+ menuClick(e) {
+ clearResetMap()
+ this.markerList = this.markerBakList.filter(item => item.type === e.type)
+ this.markerList.forEach((item) => {
+ AddLabelPoint(
+ item.id,
+ `${item.name}`,
+ item.type === '1' ? this.videoIcon : this.controlIcon,
+ [item.lon, item.lat, 0], 'yl-dev', item,
+ this.clickDevice)
+ })
+ },
+ // 设备点位点击
+ clickDevice(eventArg) {
+ const item = eventArg._data.data
+ this.showDevice = true
+ this.$nextTick(() => {
+ this.$refs.deviceRef.initData(item)
+ })
+ },
}
}
diff --git a/src/pages/ywts/shms/sq/carPop.vue b/src/pages/ywts/shms/sq/carPop.vue
new file mode 100644
index 0000000..b1fe4c3
--- /dev/null
+++ b/src/pages/ywts/shms/sq/carPop.vue
@@ -0,0 +1,275 @@
+
+
+
+
+
+
+
+ 名称: {{
+ gdInfo.name }}
+ 位置: {{
+ gdInfo.location }}
+ 车辆数量: {{ gdInfo.carNum
+ }}
+ 停车位: {{ gdInfo.parkSpaceNum }}
+
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/ywts/shms/sq/communityPop.vue b/src/pages/ywts/shms/sq/communityPop.vue
new file mode 100644
index 0000000..eb6bf07
--- /dev/null
+++ b/src/pages/ywts/shms/sq/communityPop.vue
@@ -0,0 +1,212 @@
+
+
+
+
+
+
{{ name }}
+
位置:{{ position
+ }}
+
+
+
+
+
+
{{ item.total }}
+
{{ item.name }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/ywts/shms/sq/components/agePie.vue b/src/pages/ywts/shms/sq/components/agePie.vue
new file mode 100644
index 0000000..9e41da8
--- /dev/null
+++ b/src/pages/ywts/shms/sq/components/agePie.vue
@@ -0,0 +1,185 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/ywts/shms/sq/components/currentPie.vue b/src/pages/ywts/shms/sq/components/currentPie.vue
new file mode 100644
index 0000000..c7dfe20
--- /dev/null
+++ b/src/pages/ywts/shms/sq/components/currentPie.vue
@@ -0,0 +1,178 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/ywts/shms/sq/components/personBar.vue b/src/pages/ywts/shms/sq/components/personBar.vue
new file mode 100644
index 0000000..b065487
--- /dev/null
+++ b/src/pages/ywts/shms/sq/components/personBar.vue
@@ -0,0 +1,193 @@
+
+
+
+
+
+
+
diff --git a/src/pages/ywts/shms/sq/components/scoreLineBar.vue b/src/pages/ywts/shms/sq/components/scoreLineBar.vue
new file mode 100644
index 0000000..1551e69
--- /dev/null
+++ b/src/pages/ywts/shms/sq/components/scoreLineBar.vue
@@ -0,0 +1,189 @@
+
+
+
+
+
+
+
diff --git a/src/pages/ywts/shms/sq/components/transitBar.vue b/src/pages/ywts/shms/sq/components/transitBar.vue
new file mode 100644
index 0000000..c23b4ba
--- /dev/null
+++ b/src/pages/ywts/shms/sq/components/transitBar.vue
@@ -0,0 +1,173 @@
+
+
+
+
+
+
+
diff --git a/src/pages/ywts/shms/sq/devicePop.vue b/src/pages/ywts/shms/sq/devicePop.vue
new file mode 100644
index 0000000..2c44979
--- /dev/null
+++ b/src/pages/ywts/shms/sq/devicePop.vue
@@ -0,0 +1,281 @@
+
+
+
+
+
+
+
+ 设备名称: {{
+ gdInfo.name }}
+ 设备类型: {{
+ gdInfo.typename }}
+ 设备状态: {{
+ gdInfo.statusName }}
+ 设备位置: {{
+ gdInfo.location }}
+ 时间: {{ gdInfo.time
+ }}
+ 进/出人口数: {{ gdInfo.in
+ }}/{{ gdInfo.out }}
+ 是否赋能: 否
+
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/ywts/shms/sq/index.vue b/src/pages/ywts/shms/sq/index.vue
new file mode 100644
index 0000000..6aa8714
--- /dev/null
+++ b/src/pages/ywts/shms/sq/index.vue
@@ -0,0 +1,478 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/ywts/ywts.vue b/src/pages/ywts/ywts.vue
index 99a5d69..80b53f9 100644
--- a/src/pages/ywts/ywts.vue
+++ b/src/pages/ywts/ywts.vue
@@ -1,23 +1,17 @@
-
-
-
-
+
+
diff --git a/src/pages/ywts/zyhj/hb/casePop.vue b/src/pages/ywts/zyhj/hb/casePop.vue
new file mode 100644
index 0000000..0c07a1a
--- /dev/null
+++ b/src/pages/ywts/zyhj/hb/casePop.vue
@@ -0,0 +1,286 @@
+
+
+
+
+
+
+
+ 统一编码: {{
+ gdInfo.code }}
+ 事件名称: {{
+ gdInfo.eventname }}
+ 事件类型: {{
+ gdInfo.eventypename }}
+ 事件状态: {{
+ gdInfo.eventstatusname }}
+ 上报时间: {{
+ gdInfo.createtime }}
+ 上报人: {{
+ gdInfo.report }}
+ 责任部门: {{
+ gdInfo.dutydeptname }}
+ 紧急程度: {{
+ gdInfo.urgencyname }}
+ 位置: {{
+ gdInfo.location }}
+
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/ywts/zyhj/hb/data.js b/src/pages/ywts/zyhj/hb/data.js
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/src/pages/ywts/zyhj/hb/data.js
diff --git a/src/pages/ywts/zyhj/hb/index.vue b/src/pages/ywts/zyhj/hb/index.vue
index 84ae2d5..2425eb3 100644
--- a/src/pages/ywts/zyhj/hb/index.vue
+++ b/src/pages/ywts/zyhj/hb/index.vue
@@ -3,16 +3,20 @@
+
+
+
+
@@ -24,13 +28,19 @@
import { clearUpMap, clearResetMap, AddLabelPoint } from '@/utils/freedo'
import { AddDivPointHighlight, AddLabel } from "../../../../utils/freedo";
import ListPage from "@/components/ListPage";
-import { getOverviewStatistics, getPointList } from '@/api/ywts/zyhj/hb'
-
+import { getOverviewStatistics, getPointList, getAlarmList, getCaseList } from '@/api/ywts/zyhj/hb'
+import pointPop from './ponitPop.vue'
+import alarmPop from './alarmPop.vue'
+import casePop from './casePop.vue'
+import { eventBus } from "../../../../main";
export default {
name: 'Hb',
- components: { TimeManager, LayerManagerMix, ListPage, CommonBtn },
+ components: { TimeManager, LayerManagerMix, ListPage, CommonBtn, pointPop, alarmPop, casePop },
data() {
return {
+ showPop: false,
+ showAlarm: false,
+ showCase: false,
isListPage: false,
ktSelect: '',
isShow: false,
@@ -46,7 +56,6 @@
pageSize: 5
},
caseTotal: 0,
- showPop: false,
caseIcon: {
1: require('@/assets/images/icon/事件/已撤案.png'),
2: require('@/assets/images/icon/事件/指派中.png'),
@@ -76,6 +85,7 @@
ylHover: require('@/assets/images/function/园林/园林选中.png'),
caseBg: require('@/assets/images/function/物联网/物联事件未选中.png'),
caseHover: require('@/assets/images/function/物联网/物联事件选中.png'),
+ alarmIcon: require('@/assets/images/icon/视频云/坐标.png'),
menuTab: [{
name: '监测站点',
value: 'device'
@@ -89,19 +99,236 @@
},
mounted() {
clearResetMap()
+ this.selectIndex = 'layerBtn'
this.fetchData()
+
+ // 清除弹窗展示
+ this.$bus.$on('clear', () => {
+ this.showPop = false
+ this.showAlarm = false
+ this.showCase = false
+ })
+
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: false }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: false });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: false });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: false });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: false }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
},
methods: {
async btnClick(e) {
+ clearResetMap()
this.selectIndex = e.target.id
- console.log(this.selectIndex, 'this.selectIndex')
+ this.showPop = false
+ this.showAlarm = false
+ this.showCase = false
+ switch (this.selectIndex) {
+ case "layerBtn":
+ this.fetchData()
+ break
+ case "alarmBtn":
+ this.fetchAlarm()
+ break
+ case "caseBtn":
+ this.fetchCase()
+ break
+
+ }
+ },
+ menuClick(e) {
+ console.log(e, 'e')
+ clearResetMap()
+ this.markerList = this.markerListBak.filter(item => item.typename === e.type)
+ console.log(this.markerList)
+ this.markerList.forEach((item) => {
+ AddLabelPoint(
+ item.id,
+ `${item.name}`,
+ undefined,
+ [item.lon, item.lat, 0], 'yl-dev', item,
+ this.clickMarker)
+ })
},
// 获取概括统计
fetchData() {
- getPointList({}).then(res => {
+ this.menuTab = [
+ {
+ name: '基础设施',
+ value: 'device'
+ }
+ ]
+ this.menus = {
+ device: [
+ {
+ type: '1', typename: '大气环境', total: 0,
+ },
+ {
+ type: '2', typename: '噪声环境', total: 0,
+ },
+ {
+ type: '3', typename: '污染源', total: 0,
+ },
+ {
+ type: '4', typename: '工地扬尘', total: 0,
+ },
+ ]
+ }
+ // getPointList({}).then(res => {
+ // console.log(res.data, '概括统计')
+ // })
+ getOverviewStatistics({}).then(res => {
console.log(res.data, '概括统计')
+ this.menus.device = res.data.value.map(item => ({
+ typename: item.typename,
+ type: item.type,
+ total: item.total,
+ }))
+ // 获取点位列表
+ getPointList({ pageNo: 1, pageSize: 5 }).then(res => {
+ this.markerList = [
+ {
+ "name": "大气环境",
+ "lon": "114.859995",
+ "location": "江西省赣州市南康区三江乡",
+ "id": "1676397864375291905",
+ "lat": "25.802129",
+ "typename": "1"
+ },
+ {
+ "name": "噪声环境",
+ "lon": "114.861027",
+ "location": "江西省赣州市章贡区潭六路135号靠近逸夫小学",
+ "id": "1676398916763914241",
+ "lat": "25.757553",
+ "typename": "2"
+ },
+ {
+ "name": "污染源",
+ "lon": "114.880246",
+ "location": "江西省赣州市章贡区潭东镇弘腾路毅德城",
+ "id": "1676414593390350337",
+ "lat": "25.753119",
+ "typename": "3"
+ },
+ {
+ "name": "污染源",
+ "lon": "114.879855",
+ "location": "江西省赣州市章贡区潭东镇弘腾路毅德城",
+ "id": "1676414955455254529",
+ "lat": "25.752771",
+ "typename": "3"
+ },
+ {
+ "name": "污染源",
+ "lon": "114.875438",
+ "location": "江西省赣州市章贡区潭东镇弘腾路毅德城",
+ "id": "1676418661630349312",
+ "lat": "25.748733",
+ "typename": "3"
+ },
+ {
+ "name": "污染源",
+ "lon": "114.867371",
+ "location": "江西省赣州市章贡区105国道135号靠近松岭上",
+ "id": "1676422908220542977",
+ "lat": "25.750388",
+ "typename": "1"
+ },
+ {
+ "name": "工地扬尘",
+ "lon": "114.878448",
+ "location": "江西省赣州市章贡区潭东镇生态大道",
+ "id": "1676434916261236737",
+ "lat": "25.737305",
+ "typename": "4"
+ },
+ ]
+ this.markerListBak = JSON.parse(JSON.stringify(this.markerList))
+ this.markerList.forEach((item) => {
+ AddLabelPoint(
+ item.id,
+ `${item.name}`,
+ undefined,
+ [item.lon, item.lat, 0], 'yl-dev', item,
+ this.clickMarker)
+ })
+ })
})
- }
+ },
+ // 点击点位
+ clickMarker(eventArg) {
+ const item = eventArg._data.data
+ this.showPop = true
+ this.$nextTick(() => {
+ this.$refs.popRef.initData(item)
+ })
+ },
+ // 获取告警
+ fetchAlarm() {
+ console.log('获取告警')
+ getAlarmList({ pageNo: '1', pageSize: '99' }).then(res => {
+ console.log(res.data, '告警列表')
+ res.data.value.forEach((item) => {
+ AddLabelPoint(
+ item.id,
+ `${item.devicetypename}`,
+ this.alarmIcon,
+ [item.lon, item.lat, 0], 'yl-dev', item,
+ this.clickAlarmIcon)
+ })
+ })
+ },
+ // 点击告警点位
+ clickAlarmIcon(eventArg) {
+ const item = eventArg._data.data
+ this.showAlarm = true
+ this.$nextTick(() => {
+ this.$refs.alarmRef.initData(item)
+ })
+ },
+ // 获取事件
+ fetchCase() {
+ console.log('获取事件')
+ getCaseList({ pageNo: '1', pageSize: '99', ...this.time }).then(res => {
+ console.log(res.data, '事件列表')
+ res.data.value.forEach((item) => {
+ console.log(this.caseIcon[item.eventstatus.trim()])
+ const icon = this.caseIcon[item.eventstatus.trim()] || ''
+ AddLabelPoint(
+ item.id,
+ `${item.eventypename}`,
+ icon,
+ [item.lon, item.lat, 0], 'yl-dev', item,
+ this.clickCase)
+ })
+ })
+ },
+ // 事件图标点击
+ clickCase(eventArg) {
+ const item = eventArg._data.data
+ this.showCase = true
+ this.$nextTick(() => {
+ this.$refs.caseRef.initData(item)
+ })
+ },
+ // 事件时间查询条件
+ handleTimeRange(time) {
+ // this.isListPage = false
+ if (this.time.startTime !== '') {
+ this.time = time
+ clearResetMap()
+ this.fetchCase()
+ } else {
+ this.time = time
+ }
+ },
}
}
diff --git a/src/pages/ywts/zyhj/hb/ponitPop.vue b/src/pages/ywts/zyhj/hb/ponitPop.vue
new file mode 100644
index 0000000..a4c64ae
--- /dev/null
+++ b/src/pages/ywts/zyhj/hb/ponitPop.vue
@@ -0,0 +1,277 @@
+
+
+
+
+
+
+
+ 点位类型名称: {{ gdInfo.name
+ }}
+ 点位经纬度: {{ gdInfo.lon
+ }},{{ gdInfo.lat }}
+ 点位ID: {{ gdInfo.lon
+ }},{{ gdInfo.id }}
+ 点位位置: {{ gdInfo.location
+ }}
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/ywts/zyhj/yl/index.vue b/src/pages/ywts/zyhj/yl/index.vue
index d9d1624..46fee74 100644
--- a/src/pages/ywts/zyhj/yl/index.vue
+++ b/src/pages/ywts/zyhj/yl/index.vue
@@ -3,16 +3,16 @@
-
+
@@ -40,7 +40,7 @@
import { getDevice, getCaseList, getCaseInfo, getseedlingList } from '@/api/ywts/zyhj/yl'
import { iconFilter } from './data'
import ListPage from "@/components/ListPage";
-
+import { eventBus } from "../../../../main";
export default {
name: 'Yl',
components: { YlPop, TimeManager, LayerManagerMix, ListPage, CommonBtn, Pop, mmPop },
@@ -120,6 +120,25 @@
mounted() {
clearResetMap()
this.fetchPoinitList()
+ // 清除弹窗展示
+ this.$bus.$on('clear', () => {
+ this.isShowMM = false
+ this.showPop = false
+ this.isListPage = false
+ this.isShow = false
+ })
+ // 设置默认选中图层
+ eventBus.$emit('change-layer', { id: 41, checked: false }); // 智慧教育-手工模型
+ eventBus.$emit('change-layer', { id: 42, checked: false });// 智慧停车云-手工模型
+ eventBus.$emit('change-layer', { id: 43, checked: false });//智慧社区-手工模型
+ eventBus.$emit('change-layer', { id: 44, checked: false });// 智慧工地-手工模型
+ eventBus.$emit('change-layer', { id: 45, checked: false });// 智慧交通-手工模型
+ eventBus.$emit('change-layer', { id: 46, checked: true });// 智慧园林-手工模型
+ eventBus.$emit('change-layer', { id: 31, checked: false }); // 倾斜
+ eventBus.$emit('change-layer', { id: 21, checked: true }); //CIM2建筑(带纹理)
+ eventBus.$emit('change-layer', { id: 22, checked: false }); //CIM2建筑(纯白色)
+ eventBus.$emit('change-layer', { id: 12, checked: true }); // 蓉江新区正射影像
+ eventBus.$emit('change-layer', { id: 13, checked: true }); // 蓉江新区边界
},
methods: {
async btnClick(e) {
@@ -368,14 +387,14 @@
// 绘制
const iconYL = require('@/assets/images/icon/园林/园林.png')
pointList.forEach(item => {
- AddLabelPoint(
- item.id || new Date().getTime(),
- item.name,
- iconYL,
- [item.lon, item.lat, 0], 'gd', item,
- this.clickYl
- )
- })
+ AddLabelPoint(
+ item.id || new Date().getTime(),
+ item.name,
+ iconYL,
+ [item.lon, item.lat, 0], 'gd', item,
+ this.clickYl
+ )
+ })
})
getseedlingList({}).then(res => {
console.log('苗木', res.data)
@@ -383,12 +402,12 @@
console.log(initData, 'initData')
initData.forEach(item => {
AddLabelPoint(
- item.id || new Date().getTime(),
- item.name,
- undefined,
- [item.lon, item.lat, 0], 'gd', item,
- this.clickMM
- )
+ item.id || new Date().getTime(),
+ item.name,
+ undefined,
+ [item.lon, item.lat, 0], 'gd', item,
+ this.clickMM
+ )
})
})