|
|
|
@ -8,167 +8,91 @@ |
|
|
|
<div class="g-row"> |
|
|
|
<div class="g-left"> |
|
|
|
<div class="m-box"> |
|
|
|
<title-box |
|
|
|
:text="`${ |
|
|
|
currentLevel === 'district' |
|
|
|
? '区' |
|
|
|
: currentLevel === 'street' |
|
|
|
? '街道' |
|
|
|
: currentLevel === 'community' |
|
|
|
? '社区' |
|
|
|
: currentLevel === 'grid' |
|
|
|
? '网格' |
|
|
|
: '' |
|
|
|
}介绍`" |
|
|
|
/> |
|
|
|
<jdjs :currentLevelData="currentLevelData"/> |
|
|
|
<title-box :text="`${currentLevel === 'district' ? '区' : currentLevel === 'street' ? '街道' : currentLevel === 'community' ? '社区' : currentLevel === 'grid' ? '网格' : ''}介绍`" /> |
|
|
|
<jdjs :currentLevelData="currentLevelData" /> |
|
|
|
</div> |
|
|
|
|
|
|
|
<div class="m-box"> |
|
|
|
<title-box |
|
|
|
:text="`${ |
|
|
|
currentLevel === 'district' |
|
|
|
? '区' |
|
|
|
: currentLevel === 'street' |
|
|
|
? '街道' |
|
|
|
: currentLevel === 'community' |
|
|
|
? '社区' |
|
|
|
: currentLevel === 'grid' |
|
|
|
? '网格' |
|
|
|
: '' |
|
|
|
}图谱画像`" |
|
|
|
/> |
|
|
|
<jdtphx :currentLevelData="currentLevelData" :id="orgId"/> |
|
|
|
<title-box :text="`${currentLevel === 'district' ? '区' : currentLevel === 'street' ? '街道' : currentLevel === 'community' ? '社区' : currentLevel === 'grid' ? '网格' : ''}图谱画像`" /> |
|
|
|
<jdtphx :currentLevelData="currentLevelData" :id="orgId" /> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<div class="g-center"> |
|
|
|
<div class="m-map" style="overflow: hidden"> |
|
|
|
<map-top |
|
|
|
:currentLevelData="currentLevelData" |
|
|
|
@changeType="changeType" |
|
|
|
:level="currentLevel" |
|
|
|
/> |
|
|
|
<map-top :currentLevelData="currentLevelData" @changeType="changeType" :level="currentLevel" /> |
|
|
|
<div v-if="breadList.length > 1" class="go-back" @click="goBackMap"> |
|
|
|
<img src="~@/assets/images/shuju/overview/go-back.png"/> |
|
|
|
<img src="~@/assets/images/shuju/overview/go-back.png" /> |
|
|
|
</div> |
|
|
|
<grid-map |
|
|
|
ref="map" |
|
|
|
@clickAgency="clickAgencyItem" |
|
|
|
:srcGridData="orgData" |
|
|
|
@clickDotBtn="handleClickDotBtn" |
|
|
|
:level="currentLevel" |
|
|
|
/> |
|
|
|
<grid-map ref="map" @clickAgency="clickAgencyItem" :srcGridData="orgData" @clickDotBtn="handleClickDotBtn" :level="currentLevel" /> |
|
|
|
</div> |
|
|
|
<div class="m-box m-rybox"> |
|
|
|
<title-box :text="`${customerName}${peopleList[peopleType]}`"/> |
|
|
|
<jdwgy |
|
|
|
:peopleType="peopleType" |
|
|
|
:currentLevelData="currentLevelData" |
|
|
|
@setNum="setNum" |
|
|
|
@setPoint="setPoint" |
|
|
|
/> |
|
|
|
<title-box :text="`${customerName}${peopleList[peopleType]}`" /> |
|
|
|
<jdwgy :peopleType="peopleType" :currentLevelData="currentLevelData" @setNum="setNum" @setPoint="setPoint" /> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
|
|
|
|
<div class="g-right"> |
|
|
|
<div class="m-box"> |
|
|
|
<title-box text="人房数据统计"/> |
|
|
|
<rfsjtj :currentLevelData="currentLevelData"/> |
|
|
|
<title-box text="人房数据统计" /> |
|
|
|
<rfsjtj :currentLevelData="currentLevelData" /> |
|
|
|
</div> |
|
|
|
<!-- 街道概览 --> |
|
|
|
<div v-if="currentLevel === 'street' || currentLevel === 'district'" class="m-box"> |
|
|
|
<title-box text="各社区人房数据更新排行"> |
|
|
|
<span class="date-span"> |
|
|
|
<el-date-picker v-model="rfphDate" format="yyyy-MM" value-format="yyyy-MM" @change="changeDate" |
|
|
|
type="month" :clearable="false" placeholder="选择月"> </el-date-picker> |
|
|
|
<el-date-picker v-model="rfphDate" format="yyyy-MM" value-format="yyyy-MM" @change="changeDate" type="month" :clearable="false" placeholder="选择月"> </el-date-picker> |
|
|
|
</span> |
|
|
|
</title-box> |
|
|
|
<sqrfph :currentLevelData="currentLevelData" :date="rfphDate"/> |
|
|
|
<sqrfph :currentLevelData="currentLevelData" :date="rfphDate" /> |
|
|
|
</div> |
|
|
|
<div v-if="currentLevel === 'street' || currentLevel === 'district'" class="m-box"> |
|
|
|
<title-box text="各社区12345投诉事件统计"> |
|
|
|
<span class="date-span"> |
|
|
|
<el-date-picker v-model="sq12345Date" format="yyyy-MM" value-format="yyyy-MM" type="month" |
|
|
|
:clearable="false" placeholder="选择月"/> |
|
|
|
<el-date-picker v-model="sq12345Date" format="yyyy-MM" value-format="yyyy-MM" type="month" :clearable="false" placeholder="选择月" /> |
|
|
|
</span> |
|
|
|
</title-box> |
|
|
|
<sq12345 :currentLevelData="currentLevelData" :date="sq12345Date"/> |
|
|
|
<sq12345 :currentLevelData="currentLevelData" :date="sq12345Date" /> |
|
|
|
</div> |
|
|
|
|
|
|
|
<!-- 社区&网格--> |
|
|
|
<div |
|
|
|
v-if="currentLevel === 'community' || currentLevel === 'grid'" |
|
|
|
class="m-box" |
|
|
|
> |
|
|
|
<title-box text="人房数据动态更新"/> |
|
|
|
<Tabs |
|
|
|
v-model="dynamicType" |
|
|
|
:list="dynamicTypeList" |
|
|
|
v-if="currentLevel === 'community'" |
|
|
|
@changeVal="dynamicTypeChange" |
|
|
|
/> |
|
|
|
<DynamicHumanRoomData |
|
|
|
:currentLevelData="currentLevelData" |
|
|
|
v-if="dynamicType === 1" |
|
|
|
/> |
|
|
|
<GridUpdateRanking |
|
|
|
:currentLevelData="currentLevelData" |
|
|
|
v-if="dynamicType === 2" |
|
|
|
/> |
|
|
|
<div v-if="currentLevel === 'community' || currentLevel === 'grid'" class="m-box"> |
|
|
|
<title-box text="人房数据动态更新" /> |
|
|
|
<Tabs v-model="dynamicType" :list="dynamicTypeList" v-if="currentLevel === 'community'" @changeVal="dynamicTypeChange" /> |
|
|
|
<DynamicHumanRoomData :currentLevelData="currentLevelData" v-if="dynamicType === 1" /> |
|
|
|
<GridUpdateRanking :currentLevelData="currentLevelData" v-if="dynamicType === 2" /> |
|
|
|
</div> |
|
|
|
<!-- 社区概览--> |
|
|
|
<div v-if="currentLevel === 'community'" class="m-box"> |
|
|
|
<title-box text="社区满意度自查结果"> |
|
|
|
<span class="date-span"> |
|
|
|
<el-date-picker v-model="sqzcDate" format="yyyy-MM" value-format="yyyy-MM" type="month" :clearable="false" |
|
|
|
placeholder="选择月"/> |
|
|
|
<el-date-picker v-model="sqzcDate" format="yyyy-MM" value-format="yyyy-MM" type="month" :clearable="false" placeholder="选择月" /> |
|
|
|
</span> |
|
|
|
</title-box> |
|
|
|
<CommunityResult |
|
|
|
:currentLevelData="currentLevelData" |
|
|
|
:date="sqzcDate" |
|
|
|
/> |
|
|
|
<CommunityResult :currentLevelData="currentLevelData" :date="sqzcDate" /> |
|
|
|
</div> |
|
|
|
<div v-if="currentLevel === 'community'" class="m-box"> |
|
|
|
<title-box text="事件&回访"> |
|
|
|
<span class="date-span"> |
|
|
|
<el-date-picker v-model="sjhfDate" format="yyyy-MM" value-format="yyyy-MM" @change="changeDate" |
|
|
|
type="month" :clearable="false" placeholder="选择月"/> |
|
|
|
<el-date-picker v-model="sjhfDate" format="yyyy-MM" value-format="yyyy-MM" @change="changeDate" type="month" :clearable="false" placeholder="选择月" /> |
|
|
|
</span> |
|
|
|
</title-box> |
|
|
|
<Tabs |
|
|
|
v-model="eventType" |
|
|
|
:list="eventTypeList" |
|
|
|
@changeVal="eventTypeChange" |
|
|
|
/> |
|
|
|
<EventAndFollowUp |
|
|
|
:currentLevelData="currentLevelData" |
|
|
|
:date="sjhfDate" |
|
|
|
v-if="eventType === 1" |
|
|
|
/> |
|
|
|
<FollowUp |
|
|
|
:currentLevelData="currentLevelData" |
|
|
|
:date="sjhfDate" |
|
|
|
v-if="eventType === 2" |
|
|
|
/> |
|
|
|
<Tabs v-model="eventType" :list="eventTypeList" @changeVal="eventTypeChange" /> |
|
|
|
<EventAndFollowUp :currentLevelData="currentLevelData" :date="sjhfDate" v-if="eventType === 1" /> |
|
|
|
<FollowUp :currentLevelData="currentLevelData" :date="sjhfDate" v-if="eventType === 2" /> |
|
|
|
</div> |
|
|
|
<!-- 网格 --> |
|
|
|
<div v-if="currentLevel === 'grid'" class="m-box"> |
|
|
|
<title-box text="社区网格数据更新情况排行"> |
|
|
|
<span class="date-span"> |
|
|
|
<el-date-picker v-model="sqwggxDate" format="yyyy-MM" value-format="yyyy-MM" @change="changeDate" |
|
|
|
type="month" :clearable="false" placeholder="选择月"/> |
|
|
|
<el-date-picker v-model="sqwggxDate" format="yyyy-MM" value-format="yyyy-MM" @change="changeDate" type="month" :clearable="false" placeholder="选择月" /> |
|
|
|
</span> |
|
|
|
</title-box> |
|
|
|
<RankingGridData |
|
|
|
:currentLevelData="currentLevelData" |
|
|
|
:date="sqwggxDate" |
|
|
|
/> |
|
|
|
<RankingGridData :currentLevelData="currentLevelData" :date="sqwggxDate" /> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
|
|
|
|
<cpt-loading v-show="false"/> |
|
|
|
<cpt-loading v-show="false" /> |
|
|
|
</div> |
|
|
|
</template> |
|
|
|
|
|
|
|
@ -193,8 +117,8 @@ import RankingGridData from "@/views/dataBoard/overview/components/RankingGridDa |
|
|
|
import FollowUp from "@/views/dataBoard/overview/components/FollowUp.vue"; |
|
|
|
import Tabs from "@/views/dataBoard/satisfactionEval/components/Tabs/index.vue"; |
|
|
|
|
|
|
|
import {requestPostBi} from "@/js/dai/request-bipass"; |
|
|
|
import {requestPost} from "@/js/dai/request"; |
|
|
|
import { requestPostBi } from "@/js/dai/request-bipass"; |
|
|
|
import { requestPost } from "@/js/dai/request"; |
|
|
|
|
|
|
|
export default { |
|
|
|
name: "renfang", |
|
|
|
@ -237,7 +161,7 @@ export default { |
|
|
|
currentLevelData: { |
|
|
|
orgId: this.$store.state.chooseArea.chooseName.orgId, |
|
|
|
orgLevel: this.$store.state.chooseArea.chooseName.level, |
|
|
|
meta: {title: "人房总览"}, |
|
|
|
meta: { title: "人房总览" }, |
|
|
|
}, |
|
|
|
breadList: [ |
|
|
|
{ |
|
|
|
@ -245,7 +169,7 @@ export default { |
|
|
|
orgLevel: "", |
|
|
|
id: "", |
|
|
|
level: "", |
|
|
|
meta: {title: "人房总览"}, |
|
|
|
meta: { title: "人房总览" }, |
|
|
|
}, |
|
|
|
], |
|
|
|
peopleList: { |
|
|
|
@ -310,10 +234,13 @@ export default { |
|
|
|
}, |
|
|
|
}, |
|
|
|
|
|
|
|
mounted() { |
|
|
|
this.getMapData(); |
|
|
|
}, |
|
|
|
|
|
|
|
methods: { |
|
|
|
changeCustomerName() { |
|
|
|
this.customerName = |
|
|
|
localStorage.getItem("customerNameDataBoard") || "数据分析可视化平台"; |
|
|
|
this.customerName = localStorage.getItem("customerNameDataBoard") || "数据分析可视化平台"; |
|
|
|
}, |
|
|
|
changeType(e) { |
|
|
|
this.peopleType = e; |
|
|
|
@ -351,12 +278,12 @@ export default { |
|
|
|
} |
|
|
|
}, |
|
|
|
|
|
|
|
clickBreadItem({item}) { |
|
|
|
clickBreadItem({ item }) { |
|
|
|
this.toBread(item); |
|
|
|
}, |
|
|
|
|
|
|
|
clickAgencyItem(item) { |
|
|
|
this.$refs.map.clearMarkert() |
|
|
|
this.$refs.map.clearMarkert(); |
|
|
|
if (item.id) { |
|
|
|
this.customerName = item.name || item.meta.title; |
|
|
|
this.currentLevelData = { |
|
|
|
@ -364,8 +291,7 @@ export default { |
|
|
|
orgLevel: item.level, |
|
|
|
}; |
|
|
|
} else { |
|
|
|
this.customerName = |
|
|
|
localStorage.getItem("customerNameDataBoard") || "数据分析可视化平台"; |
|
|
|
this.customerName = localStorage.getItem("customerNameDataBoard") || "数据分析可视化平台"; |
|
|
|
this.currentLevelData = { |
|
|
|
...this.$store.state.chooseArea.chooseName, |
|
|
|
orgLevel: this.$store.state.chooseArea.chooseName.level, |
|
|
|
@ -374,7 +300,7 @@ export default { |
|
|
|
this.toBread({ |
|
|
|
orgId: item.id, |
|
|
|
orgLevel: item.level, |
|
|
|
meta: {title: item.name}, |
|
|
|
meta: { title: item.name }, |
|
|
|
}); |
|
|
|
}, |
|
|
|
goBackMap() { |
|
|
|
@ -382,13 +308,13 @@ export default { |
|
|
|
this.clickAgencyItem(item); |
|
|
|
}, |
|
|
|
toBread(item) { |
|
|
|
const {orgId} = item; |
|
|
|
const {breadList} = this; |
|
|
|
const { orgId } = item; |
|
|
|
const { breadList } = this; |
|
|
|
let index = breadList.findIndex((val) => val.orgId === orgId); |
|
|
|
if (index >= 0) { |
|
|
|
this.breadList = breadList.slice(0, index + 1); |
|
|
|
} else { |
|
|
|
breadList.push({...item, id: item.orgId, level: item.orgLevel}); |
|
|
|
breadList.push({ ...item, id: item.orgId, level: item.orgLevel }); |
|
|
|
this.breadList = breadList; |
|
|
|
} |
|
|
|
this.getMapData(item.orgId, item.orgLevel); |
|
|
|
@ -402,48 +328,45 @@ export default { |
|
|
|
this.$refs.map.setDotMarker(item, [parseFloat(item.longitude), parseFloat(item.latitude)]); |
|
|
|
}, |
|
|
|
setNum(data) { |
|
|
|
console.log(this.orgData,data,'111') |
|
|
|
console.log(this.orgData, data, "111"); |
|
|
|
// data |
|
|
|
let params = [] |
|
|
|
let org = this.orgData.children |
|
|
|
org.forEach(item => { |
|
|
|
data.forEach(item2 => { |
|
|
|
let params = []; |
|
|
|
let org = this.orgData.children; |
|
|
|
org.forEach((item) => { |
|
|
|
data.forEach((item2) => { |
|
|
|
if (item2.orgId === item.id && item.coordinates) { |
|
|
|
params.push({ |
|
|
|
...item2, |
|
|
|
peopleType: this.peopleList[this.peopleType], |
|
|
|
latitude: item.latitude, |
|
|
|
longitude: item.longitude |
|
|
|
}) |
|
|
|
longitude: item.longitude, |
|
|
|
}); |
|
|
|
} |
|
|
|
}) |
|
|
|
}) |
|
|
|
}); |
|
|
|
}); |
|
|
|
if (params.length) { |
|
|
|
this.$refs.map.setNum(params) |
|
|
|
this.$refs.map.setNum(params); |
|
|
|
} |
|
|
|
}, |
|
|
|
setPoint(data) { |
|
|
|
if (data) { |
|
|
|
this.$refs.map.setPoint(data) |
|
|
|
this.$refs.map.setPoint(data); |
|
|
|
} |
|
|
|
}, |
|
|
|
//获取地图上显示的组织数据 |
|
|
|
async getMapData( |
|
|
|
orgId = this.$store.state.chooseArea.chooseName.orgId, |
|
|
|
level = this.$store.state.chooseArea.chooseName.level |
|
|
|
) { |
|
|
|
async getMapData(orgId = this.$store.state.chooseArea.chooseName.orgId, level = this.$store.state.chooseArea.chooseName.level) { |
|
|
|
const url = "org_map"; |
|
|
|
this.$http.post(`/gov/org/agency/maporg`, {orgId, level}).then(({data: {data}}) => { |
|
|
|
this.$http.post(`/gov/org/agency/maporg`, { orgId, level }).then(({ data: { data } }) => { |
|
|
|
this.orgData = data; |
|
|
|
this.orgId = this.orgData.id; |
|
|
|
console.log(this.orgId) |
|
|
|
console.log(this.orgId); |
|
|
|
this.orgLevel = this.orgData.level; |
|
|
|
this.currentLevel = this.orgData.agencyLevel; |
|
|
|
this.currentLevelData = { |
|
|
|
orgId: this.orgId, |
|
|
|
orgLevel: this.currentLevel, |
|
|
|
}; |
|
|
|
this.peopleType = this.currentLevel === 'grid'?'unit':'staffAgency'; |
|
|
|
this.peopleType = this.currentLevel === "grid" ? "unit" : "staffAgency"; |
|
|
|
}); |
|
|
|
}, |
|
|
|
|
|
|
|
@ -451,7 +374,7 @@ export default { |
|
|
|
async getSubMapData() { |
|
|
|
const url = "sub_org_map"; |
|
|
|
|
|
|
|
const {data, code, msg} = await requestPostBi( |
|
|
|
const { data, code, msg } = await requestPostBi( |
|
|
|
url, |
|
|
|
{ |
|
|
|
queryParam: { |
|
|
|
@ -464,7 +387,7 @@ export default { |
|
|
|
); |
|
|
|
|
|
|
|
if (code === 0) { |
|
|
|
const {orgData} = this; |
|
|
|
const { orgData } = this; |
|
|
|
orgData.children = data.map((item) => { |
|
|
|
return { |
|
|
|
...item, |
|
|
|
@ -475,7 +398,7 @@ export default { |
|
|
|
coordinates: item.coordinates || "", |
|
|
|
}; |
|
|
|
}); |
|
|
|
this.orgData = {...orgData}; |
|
|
|
this.orgData = { ...orgData }; |
|
|
|
} else { |
|
|
|
this.$message.error(msg); |
|
|
|
} |
|
|
|
@ -489,7 +412,7 @@ export default { |
|
|
|
level: this.orgLevel, |
|
|
|
}; |
|
|
|
|
|
|
|
const {data, code, msg} = await requestPost(url, params); |
|
|
|
const { data, code, msg } = await requestPost(url, params); |
|
|
|
if (code === 0) { |
|
|
|
this.orgData = data; |
|
|
|
this.orgId = this.orgId; |
|
|
|
|