|
|
@ -1,13 +1,33 @@ |
|
|
|
<template> |
|
|
|
<div class="m-topnav"> |
|
|
|
<div class="back" style="cursor: pointer" @click="goBack()"> |
|
|
|
<img src="~@/assets/images/shuju/main/back.png" alt="/" /> |
|
|
|
<img |
|
|
|
width="22px" |
|
|
|
height="22px" |
|
|
|
src="~@/assets/images/shuju/main/back1.png" |
|
|
|
alt="/" |
|
|
|
/> |
|
|
|
</div> |
|
|
|
<div class="title">{{ customerName }}数据智能分析平台</div> |
|
|
|
<div class="selectArea" v-if="$route.path == '/dataBoard/satisfactionEval/index'"> |
|
|
|
<el-select @change="setSelectName" v-model="value" popper-class="selectPopClass"> |
|
|
|
<el-option v-for="(item, index) in options" v-if="item.agencyLevel !== 'grid'" :key="item.value" :label="item.label" :value="item.value"/> |
|
|
|
</el-select> |
|
|
|
<div class="title"> |
|
|
|
<div class="title-txt">{{ customerName }}数据智能分析平台</div> |
|
|
|
<div |
|
|
|
class="selectArea" |
|
|
|
v-if="$route.path == '/dataBoard/satisfactionEval/index'" |
|
|
|
> |
|
|
|
<el-select |
|
|
|
@change="setSelectName" |
|
|
|
v-model="value" |
|
|
|
popper-class="selectPopClass" |
|
|
|
> |
|
|
|
<el-option |
|
|
|
v-for="(item, index) in options" |
|
|
|
v-if="item.agencyLevel !== 'grid'" |
|
|
|
:key="item.value" |
|
|
|
:label="item.label" |
|
|
|
:value="item.value" |
|
|
|
/> |
|
|
|
</el-select> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<!-- <div class="btn-back" @click="toPage('/')"> |
|
|
|
<img class="z-default" src="~@/assets/images/shuju/main/back.png" /> |
|
|
@ -26,16 +46,32 @@ |
|
|
|
</div> |
|
|
|
</div>--> |
|
|
|
<div class="nav-list"> |
|
|
|
<div class="nav-item" :class="{ 'z-on': $route.path.indexOf('/dataBoard/overview') != -1 }" @click="toPage('/dataBoard/overview/index')"> |
|
|
|
<div |
|
|
|
class="nav-item" |
|
|
|
:class="{ 'z-on': $route.path.indexOf('/dataBoard/overview') != -1 }" |
|
|
|
@click="toPage('/dataBoard/overview/index')" |
|
|
|
> |
|
|
|
<span>概览</span> |
|
|
|
</div> |
|
|
|
<div class="nav-item" :class="{ 'z-on': $route.path.includes('/organizational') }" @click="toPage('/organizational/dangTree')"> |
|
|
|
<div |
|
|
|
class="nav-item" |
|
|
|
:class="{ 'z-on': $route.path.includes('/organizational') }" |
|
|
|
@click="toPage('/organizational/dangTree')" |
|
|
|
> |
|
|
|
<span>组织架构</span> |
|
|
|
</div> |
|
|
|
<div class="nav-item" :class="{ 'z-on': $route.path.indexOf('/dataBoard/renfang') != -1 }" @click="toPage('/dataBoard/renfang/index')"> |
|
|
|
<div |
|
|
|
class="nav-item" |
|
|
|
:class="{ 'z-on': $route.path.indexOf('/dataBoard/renfang') != -1 }" |
|
|
|
@click="toPage('/dataBoard/renfang/index')" |
|
|
|
> |
|
|
|
<span>人房数据</span> |
|
|
|
</div> |
|
|
|
<div class="nav-item" :class="{ 'z-on': $route.path.includes('/satisfactionEval') }" @click="toPage('/dataBoard/satisfactionEval/index')"> |
|
|
|
<div |
|
|
|
class="nav-item" |
|
|
|
:class="{ 'z-on': $route.path.includes('/satisfactionEval') }" |
|
|
|
@click="toPage('/dataBoard/satisfactionEval/index')" |
|
|
|
> |
|
|
|
<span>满意度评价</span> |
|
|
|
</div> |
|
|
|
</div> |
|
|
@ -184,10 +220,15 @@ export default { |
|
|
|
const customerId = localStorage.getItem("customerId"); |
|
|
|
let siteconfigElement = window.SITE_CONFIG["menuShujuList"]; |
|
|
|
//暂时 亿联街道和 微笑崂山显示 社区治理-》多元化菜单 |
|
|
|
if ("04c0d396e298f13e57aa5904a657eaa6" != customerId && "3fdd0380deff5b30f45376cdf995d1c1" != customerId) { |
|
|
|
if ( |
|
|
|
"04c0d396e298f13e57aa5904a657eaa6" != customerId && |
|
|
|
"3fdd0380deff5b30f45376cdf995d1c1" != customerId |
|
|
|
) { |
|
|
|
for (let index in siteconfigElement) { |
|
|
|
if (siteconfigElement[index].id == "6") { |
|
|
|
let newMenuArr = siteconfigElement[index].children.filter((item) => item.id !== "duoyuanfuwufenxi"); |
|
|
|
let newMenuArr = siteconfigElement[index].children.filter( |
|
|
|
(item) => item.id !== "duoyuanfuwufenxi" |
|
|
|
); |
|
|
|
siteconfigElement[index].children = newMenuArr; |
|
|
|
} |
|
|
|
} |
|
|
@ -217,46 +258,51 @@ export default { |
|
|
|
params = { orgId: this.value, level: this.getChooseLabel(this.value) }; |
|
|
|
} |
|
|
|
console.log(params); |
|
|
|
this.$http.post(`/gov/org/agency/maporg`, params).then(async ({ data: { data } }) => { |
|
|
|
console.log(data); |
|
|
|
this.value = data.id; |
|
|
|
this.$store.dispatch("chooseArea/chooseName", { |
|
|
|
orgId: data.id, |
|
|
|
level: data.level, |
|
|
|
this.$http |
|
|
|
.post(`/gov/org/agency/maporg`, params) |
|
|
|
.then(async ({ data: { data } }) => { |
|
|
|
console.log(data); |
|
|
|
this.value = data.id; |
|
|
|
this.$store.dispatch("chooseArea/chooseName", { |
|
|
|
orgId: data.id, |
|
|
|
level: data.level, |
|
|
|
}); |
|
|
|
let children = await this.dealTreeData(data.children); |
|
|
|
if (data.parentId) { |
|
|
|
this.options = [ |
|
|
|
{ |
|
|
|
...data, |
|
|
|
value: data.parentId, |
|
|
|
label: data.parentName, |
|
|
|
}, |
|
|
|
{ |
|
|
|
...data, |
|
|
|
value: data.id, |
|
|
|
label: data.name, |
|
|
|
}, |
|
|
|
...children, |
|
|
|
]; |
|
|
|
} else { |
|
|
|
this.options = [ |
|
|
|
{ |
|
|
|
...data, |
|
|
|
value: data.id, |
|
|
|
label: data.name, |
|
|
|
}, |
|
|
|
...children, |
|
|
|
]; |
|
|
|
} |
|
|
|
}); |
|
|
|
let children = await this.dealTreeData(data.children); |
|
|
|
if (data.parentId) { |
|
|
|
this.options = [ |
|
|
|
{ |
|
|
|
...data, |
|
|
|
value: data.parentId, |
|
|
|
label: data.parentName, |
|
|
|
}, |
|
|
|
{ |
|
|
|
...data, |
|
|
|
value: data.id, |
|
|
|
label: data.name, |
|
|
|
}, |
|
|
|
...children, |
|
|
|
]; |
|
|
|
} else { |
|
|
|
this.options = [ |
|
|
|
{ |
|
|
|
...data, |
|
|
|
value: data.id, |
|
|
|
label: data.name, |
|
|
|
}, |
|
|
|
...children, |
|
|
|
]; |
|
|
|
} |
|
|
|
}); |
|
|
|
}, |
|
|
|
dealTreeData(treeData, level = 0) { |
|
|
|
const data = treeData.map((item) => ({ |
|
|
|
...item, |
|
|
|
value: item.id, |
|
|
|
label: item.name, |
|
|
|
children: item.children && item.children.length ? this.dealTreeData(item.children, level++) : null, |
|
|
|
children: |
|
|
|
item.children && item.children.length |
|
|
|
? this.dealTreeData(item.children, level++) |
|
|
|
: null, |
|
|
|
})); |
|
|
|
return data; |
|
|
|
}, |
|
|
@ -290,7 +336,9 @@ export default { |
|
|
|
}, |
|
|
|
// 通过menuId与动态(菜单)路由进行匹配跳转至指定路由 |
|
|
|
gotoRouteHandle(menuId, idx) { |
|
|
|
var route = window.SITE_CONFIG["dynamicMenuRoutesShuju"].filter((item) => item.meta.menuId === menuId)[0]; |
|
|
|
var route = window.SITE_CONFIG["dynamicMenuRoutesShuju"].filter( |
|
|
|
(item) => item.meta.menuId === menuId |
|
|
|
)[0]; |
|
|
|
if (route) { |
|
|
|
this.$router.push({ |
|
|
|
name: route.name, |
|
|
@ -299,10 +347,12 @@ export default { |
|
|
|
} |
|
|
|
}, |
|
|
|
changeCustomerName() { |
|
|
|
this.customerName = localStorage.getItem("customerNameDataBoard") || "数据分析可视化平台"; |
|
|
|
this.customerName = |
|
|
|
localStorage.getItem("customerNameDataBoard") || "数据分析可视化平台"; |
|
|
|
}, |
|
|
|
async getWeatherData() { |
|
|
|
const url = "https://restapi.amap.com/v3/weather/weatherInfo?key=8c87678f34ce9e8e23245c5161991c4e"; |
|
|
|
const url = |
|
|
|
"https://restapi.amap.com/v3/weather/weatherInfo?key=8c87678f34ce9e8e23245c5161991c4e"; |
|
|
|
const { data, code, msg } = await requestGet(url, { |
|
|
|
city: this.$store.state.user.areaCode, |
|
|
|
}); |
|
|
|