|
@@ -178,7 +178,7 @@ export default {
|
|
|
"东南": 'dongnan',
|
|
|
"其他": 'Other'
|
|
|
},
|
|
|
- provinceCities: { // 各个区域的的省会城市 坐标 缩放级别
|
|
|
+ provinceCities: { // 各个区域的的省会城市 坐标 缩放级别
|
|
|
"青岛": { province: 'shandong', center: [36.06667, 120.33333], zoom: 8 },
|
|
|
"北京": { province: 'beijing', center: [39.604882122321174, 116.43660987308282], zoom: 8 },
|
|
|
"天津": { province: 'tianjin', center: [39.130593, 117.260892], zoom: 7 },
|
|
@@ -263,12 +263,12 @@ export default {
|
|
|
this.currentTime()
|
|
|
},
|
|
|
mounted() {
|
|
|
-
|
|
|
+
|
|
|
window.vm = this
|
|
|
this.getFrameworkTreeData()
|
|
|
window.addEventListener('resize', this.reinitalMap, false)
|
|
|
},
|
|
|
- methods: {
|
|
|
+ methods: {
|
|
|
showToolTip (index) {
|
|
|
this.maintainList.forEach(item => {item.showToolTip = false})
|
|
|
this.maintainList[index].showToolTip = true
|
|
@@ -321,7 +321,7 @@ export default {
|
|
|
this.currentZoneData = data
|
|
|
},
|
|
|
/**
|
|
|
- * @Description 通过导航进行导航
|
|
|
+ * @Description 通过导航进行导航
|
|
|
* @Param id 所选区域的id
|
|
|
* @Param index 点击项的序号
|
|
|
*/
|
|
@@ -332,8 +332,8 @@ export default {
|
|
|
this.currentZoneData = data
|
|
|
this.currentLevel = level
|
|
|
this.getEventStatusData(level, data.ccode)
|
|
|
- this.queryPlazaInfoCount(data.ccode, data.level, data.cid)
|
|
|
- this.getSystemList(data.ccode, data.level)
|
|
|
+ this.queryPlazaInfoCount(data.ccode, data.level, data.cid)
|
|
|
+ this.getSystemList(data.ccode, data.level)
|
|
|
if (level === 1) {
|
|
|
this.pantGroupMap(data, this.currentSysId)
|
|
|
} else if (level === 2) {
|
|
@@ -356,12 +356,12 @@ export default {
|
|
|
} else {
|
|
|
this.queryPlazaInfoCount(data.ccode, data.level)
|
|
|
}
|
|
|
-
|
|
|
- this.getSystemList(data.ccode, data.level)
|
|
|
+
|
|
|
+ this.getSystemList(data.ccode, data.level)
|
|
|
this.getEventStatusData(this.currentLevel, data.ccode)
|
|
|
this.createNavpathByData(data)
|
|
|
this.currentZoneData = data
|
|
|
-
|
|
|
+
|
|
|
let level = data.level // //1集团 2中心 3区域 0广场
|
|
|
if (level === 1) {
|
|
|
this.pantGroupMap(data, this.currentSysId)
|
|
@@ -371,22 +371,22 @@ export default {
|
|
|
this.pantProjectsMap(data, this.currentSysId)
|
|
|
} else { // 点击项为广场时 直接跳转到详情页 地图不用响应
|
|
|
let pathData = {fromGroup: 'true'}
|
|
|
- let routeData = this.$router.resolve({
|
|
|
- name:'/home/homePage',
|
|
|
- })
|
|
|
+ let routeData = this.$router.resolve({
|
|
|
+ path:'/home/overview',query:{plazaId:data.ccode}
|
|
|
+ });
|
|
|
window.open(routeData.href, true);
|
|
|
window.__fromGroupPage = {
|
|
|
level: 0,
|
|
|
plazaName: data.cname,
|
|
|
plazaId: data.ccode
|
|
|
}
|
|
|
- this.$store.commit('SETPLAZENAME', data.cname)
|
|
|
+ this.$store.commit('SETPLAZENAME', data.cname)
|
|
|
localStorage.setItem('PLAZAID', data.ccode)
|
|
|
- this.$store.commit('STOREPLAZAID', data.ccode)
|
|
|
- this.$store.commit('SETISGETMAP',true)
|
|
|
+ this.$store.commit('STOREPLAZAID', data.ccode)
|
|
|
+ this.$store.commit('SETISGETMAP',true)
|
|
|
}
|
|
|
},
|
|
|
-
|
|
|
+
|
|
|
/**
|
|
|
* @Description 查询项目信息统计数量
|
|
|
* @Param ccode 管理分区编码 必填
|
|
@@ -471,7 +471,7 @@ export default {
|
|
|
})
|
|
|
},
|
|
|
/**
|
|
|
- * @Description 展开 维保 第三方检测 专维
|
|
|
+ * @Description 展开 维保 第三方检测 专维
|
|
|
* @Param item 展开的某一项
|
|
|
*/
|
|
|
toggerPanel(item) {
|
|
@@ -506,7 +506,7 @@ export default {
|
|
|
/**
|
|
|
*@Description 根据数据计算维保/第三方检测/专维各自颜色条的长度 维保、第三方检测是用即将逾期数据判断;专维是如果有逾期未完成直接标红,如果没有,按照即将逾期的数量显示颜色
|
|
|
*@Param item 某一项的数据
|
|
|
- *@Param title 标题
|
|
|
+ *@Param title 标题
|
|
|
*/
|
|
|
barStyle(item, title) {
|
|
|
let bg = ''
|
|
@@ -514,7 +514,7 @@ export default {
|
|
|
let ratio = 0
|
|
|
if (title === '专维') {
|
|
|
if (item.unfinished>0) {
|
|
|
- bg = 'linear-gradient(to right, #F54E45 , #F54E45)'
|
|
|
+ bg = 'linear-gradient(to right, #F54E45 , #F54E45)'
|
|
|
} else {
|
|
|
bg = this.barColors[type]
|
|
|
}
|
|
@@ -529,11 +529,11 @@ export default {
|
|
|
}
|
|
|
},
|
|
|
/**
|
|
|
- * @Description 根据数据来返 维保/第三方检测/专维 三个模块中显示条的颜色
|
|
|
+ * @Description 根据数据来返 维保/第三方检测/专维 三个模块中显示条的颜色
|
|
|
* @Param num 即将逾期数 / 逾期未完成数
|
|
|
* @Param total 总数
|
|
|
*/
|
|
|
- selectColorByNum (num, total) {
|
|
|
+ selectColorByNum (num, total) {
|
|
|
let devide = num / total
|
|
|
if ( (num > 1 && num <=24 ) || ( devide > 0.1 && devide <=0.2 ) ) {
|
|
|
return 0
|
|
@@ -543,7 +543,7 @@ export default {
|
|
|
return 2
|
|
|
}
|
|
|
},
|
|
|
-
|
|
|
+
|
|
|
/**
|
|
|
* @Description 根据数据 判定地图上图标的显示显示颜色
|
|
|
* @Param data 作为判断的数据
|
|
@@ -581,7 +581,7 @@ export default {
|
|
|
this.times = moment().format('YYYY.MM.DD HH:mm')
|
|
|
setTimeout(this.currentTime, 1000)
|
|
|
},
|
|
|
-
|
|
|
+
|
|
|
/**
|
|
|
* @Description 格式化时间
|
|
|
* @method param empty
|
|
@@ -601,7 +601,7 @@ export default {
|
|
|
* @method param plazaId 广场id 如果是广场则此参数必填 其他情况下非必填
|
|
|
*/
|
|
|
getSystemList(ccode, level) {
|
|
|
- let params = null
|
|
|
+ let params = null
|
|
|
if (level === 0) {
|
|
|
params = {getParams:{plazaId: ccode, level}}
|
|
|
} else {
|
|
@@ -633,7 +633,7 @@ export default {
|
|
|
* @Param ccode 管理分区编码 必填
|
|
|
* @Param level 1集团 2中心 3区域 0广场 必填
|
|
|
*/
|
|
|
- getEventStatusData(level, ccode) {
|
|
|
+ getEventStatusData(level, ccode) {
|
|
|
let params = {
|
|
|
getParams: {
|
|
|
level,
|
|
@@ -643,7 +643,7 @@ export default {
|
|
|
queryEventStatus(params).then(res => {
|
|
|
if (res.result === 'success') {
|
|
|
let data = res.data
|
|
|
- let orginalObj = {
|
|
|
+ let orginalObj = {
|
|
|
1:{title:'维保',data:[], expand: 0, showToolTip:false},
|
|
|
2:{title:'第三方检测',data:[], expand: 0, showToolTip:false},
|
|
|
0:{title:'专维',data:[], expand: 0, showToolTip:false},
|
|
@@ -704,13 +704,13 @@ export default {
|
|
|
}
|
|
|
}
|
|
|
}).addTo(myMaps)
|
|
|
- if (this.currentLevel === 1) {//1集团
|
|
|
+ if (this.currentLevel === 1) {//1集团
|
|
|
this.pantGroupMap(this.currentZoneData, this.currentSysId)
|
|
|
} else if (this.currentLevel === 2) { // 2中心
|
|
|
this.pantZonesMap(this.currentZoneData, this.currentSysId)
|
|
|
- } else if (this.currentLevel === 3) { // 3区域
|
|
|
+ } else if (this.currentLevel === 3) { // 3区域
|
|
|
this.pantProjectsMap(this.currentZoneData, this.currentSysId)
|
|
|
- }
|
|
|
+ }
|
|
|
},
|
|
|
/**
|
|
|
* @Description 清空地图 并添加全国底图
|
|
@@ -772,7 +772,7 @@ export default {
|
|
|
let promise = new Promise((resolve, reject) => {
|
|
|
let params = {
|
|
|
getParams: {
|
|
|
- smsxt: this.currentSysId,
|
|
|
+ smsxt: this.currentSysId,
|
|
|
level: 2, // 中心
|
|
|
ccode: item.ccode
|
|
|
}
|
|
@@ -836,7 +836,7 @@ export default {
|
|
|
data.children.forEach(item => {
|
|
|
let params = {
|
|
|
getParams: {
|
|
|
- smsxt: this.currentSysId,
|
|
|
+ smsxt: this.currentSysId,
|
|
|
level: 3, // 区域
|
|
|
ccode: item.ccode
|
|
|
}
|
|
@@ -864,7 +864,7 @@ export default {
|
|
|
})
|
|
|
groupLayer.addTo(myMaps)
|
|
|
},
|
|
|
-
|
|
|
+
|
|
|
/**
|
|
|
* @Description 用于绘制项目的点
|
|
|
* @Param data 数据
|
|
@@ -888,7 +888,7 @@ export default {
|
|
|
let params = {
|
|
|
getParams: {
|
|
|
plazaId: item.cid, // 所查对象是广场的时候plazaId必传
|
|
|
- smsxt: this.currentSysId,
|
|
|
+ smsxt: this.currentSysId,
|
|
|
level: 0, // 广场
|
|
|
ccode: item.ccode
|
|
|
}
|
|
@@ -936,9 +936,9 @@ export default {
|
|
|
html: name,
|
|
|
className: 'my-leaflet-div-icon',
|
|
|
iconSize: 30
|
|
|
- })
|
|
|
+ })
|
|
|
let sizes = this.circleSize[zoom]
|
|
|
- if (color && center) {
|
|
|
+ if (color && center) {
|
|
|
popup = L.popup({closeOnClick:true}).setLatLng(center).setContent(contentHtml)
|
|
|
marker = L.marker([center[0] - sizes.offset, center[1]], { icon: myIcon }).addTo(groupLayer)
|
|
|
outCircle = L.circle(center, sizes.outer, { color: 'transparent', fillColor: color.border, fillOpacity: 1 }).bindPopup(contentHtml).addTo(groupLayer)
|
|
@@ -951,7 +951,7 @@ export default {
|
|
|
this.currentZoneData = data
|
|
|
this.currentLevel = data.level
|
|
|
this.getEventStatusData(data.level, data.ccode)
|
|
|
- this.queryPlazaInfoCount(data.ccode, data.level)
|
|
|
+ this.queryPlazaInfoCount(data.ccode, data.level)
|
|
|
if (type !== 'project') {
|
|
|
groupLayer.clearLayers()
|
|
|
}
|
|
@@ -959,28 +959,29 @@ export default {
|
|
|
this.getSystemList(data.ccode, data.level)
|
|
|
if (type === 'group') {
|
|
|
this.pantZonesMap(data, this.currentSysId)
|
|
|
- }
|
|
|
+ }
|
|
|
if (type === 'zone') {
|
|
|
this.pantProjectsMap(data, this.currentSysId)
|
|
|
- }
|
|
|
+ }
|
|
|
if (type === 'project') {
|
|
|
- let routeData = this.$router.resolve({
|
|
|
- name:'/home/homePage',
|
|
|
- })
|
|
|
+
|
|
|
+ let routeData = this.$router.resolve({
|
|
|
+ path:'/home/overview',query:{plazaId:data.ccode}
|
|
|
+ });
|
|
|
window.open(routeData.href, '_blank');
|
|
|
window.__fromGroupPage = {
|
|
|
level: 0,
|
|
|
plazaName: data.cname,
|
|
|
plazaId: data.ccode
|
|
|
}
|
|
|
- this.$store.commit('SETPLAZENAME', data.cname)
|
|
|
+ this.$store.commit('SETPLAZENAME', data.cname)
|
|
|
localStorage.setItem('PLAZAID', data.ccode)
|
|
|
- this.$store.commit('STOREPLAZAID', data.ccode)
|
|
|
- this.$store.commit('SETISGETMAP',true)
|
|
|
- }
|
|
|
+ this.$store.commit('STOREPLAZAID', data.ccode)
|
|
|
+ this.$store.commit('SETISGETMAP',true)
|
|
|
+ }
|
|
|
})
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
},
|
|
|
/**
|
|
|
*@Description 生成弹出框HTML
|
|
@@ -994,7 +995,7 @@ export default {
|
|
|
let item = data[i]
|
|
|
if (item.is_exception_num) {
|
|
|
html += `<div class="line">
|
|
|
- <span>${item.category_name}</span>
|
|
|
+ <span>${item.category_name}</span>
|
|
|
<span>${item.asset_num || '--'}台</span>
|
|
|
<span><span style="display: inline-block;width: 16px;height: 16px;line-height: 16px;border-radius: 8px; color: white; background : #F54E45;text-align: center;cursor: default;">!</span><em>${
|
|
|
item.is_exception_num
|
|
@@ -1002,7 +1003,7 @@ export default {
|
|
|
</div>`
|
|
|
} else {
|
|
|
html += `<div class="line">
|
|
|
- <span>${item.category_name}</span>
|
|
|
+ <span>${item.category_name}</span>
|
|
|
<span>${item.asset_num || '--'}台</span>
|
|
|
</div>`
|
|
|
}
|
|
@@ -1012,7 +1013,7 @@ export default {
|
|
|
return ''
|
|
|
}
|
|
|
},
|
|
|
-
|
|
|
+
|
|
|
},
|
|
|
beforeDestroy() {
|
|
|
window.removeEventListener('resize', this.reinitalMap)
|
|
@@ -1203,7 +1204,7 @@ export default {
|
|
|
margin-left: 1.2rem;
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
.system-general {
|
|
|
width: 25.4%;
|
|
|
box-sizing: border-box;
|
|
@@ -1232,7 +1233,7 @@ export default {
|
|
|
display: flex;
|
|
|
align-items: center;
|
|
|
width: 28%;
|
|
|
- padding: 1.2rem 0 1.2rem 1rem ;
|
|
|
+ padding: 1.2rem 0 1.2rem 1rem ;
|
|
|
border-right: 1px solid #EFF0F1;
|
|
|
.img {
|
|
|
height: 2.8rem;
|
|
@@ -1474,5 +1475,4 @@ export default {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
-</style>
|
|
|
-
|
|
|
+</style>
|