|
|
@ -8,91 +8,100 @@ |
|
|
|
<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" /> |
|
|
|
<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> |
|
|
|
|
|
|
@ -117,8 +126,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", |
|
|
@ -161,7 +170,7 @@ export default { |
|
|
|
currentLevelData: { |
|
|
|
orgId: this.$store.state.chooseArea.chooseName.orgId, |
|
|
|
orgLevel: this.$store.state.chooseArea.chooseName.level, |
|
|
|
meta: { title: "人房总览" }, |
|
|
|
meta: {title: "人房总览"}, |
|
|
|
}, |
|
|
|
breadList: [ |
|
|
|
{ |
|
|
@ -169,7 +178,7 @@ export default { |
|
|
|
orgLevel: "", |
|
|
|
id: "", |
|
|
|
level: "", |
|
|
|
meta: { title: "人房总览" }, |
|
|
|
meta: {title: "人房总览"}, |
|
|
|
}, |
|
|
|
], |
|
|
|
peopleList: { |
|
|
@ -217,9 +226,7 @@ export default { |
|
|
|
// const queryOrgLevel = getQueryPara("orgLevel"); |
|
|
|
// this.init(queryOrgId, queryOrgLevel); |
|
|
|
this.changeCustomerName(); |
|
|
|
if (this.$store.state.chooseArea.chooseName.orgId) { |
|
|
|
this.getMapData(); |
|
|
|
} |
|
|
|
this.getMapData(); |
|
|
|
}, |
|
|
|
|
|
|
|
watch: { |
|
|
@ -235,9 +242,6 @@ export default { |
|
|
|
}, |
|
|
|
}, |
|
|
|
|
|
|
|
mounted() { |
|
|
|
this.getMapData(); |
|
|
|
}, |
|
|
|
|
|
|
|
methods: { |
|
|
|
changeCustomerName() { |
|
|
@ -279,7 +283,7 @@ export default { |
|
|
|
} |
|
|
|
}, |
|
|
|
|
|
|
|
clickBreadItem({ item }) { |
|
|
|
clickBreadItem({item}) { |
|
|
|
this.toBread(item); |
|
|
|
}, |
|
|
|
|
|
|
@ -301,7 +305,7 @@ export default { |
|
|
|
this.toBread({ |
|
|
|
orgId: item.id, |
|
|
|
orgLevel: item.level, |
|
|
|
meta: { title: item.name }, |
|
|
|
meta: {title: item.name}, |
|
|
|
}); |
|
|
|
}, |
|
|
|
goBackMap() { |
|
|
@ -309,13 +313,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); |
|
|
@ -349,7 +353,7 @@ export default { |
|
|
|
}) |
|
|
|
}) |
|
|
|
// if (params.length) { |
|
|
|
this.$refs.map.setNum(params) |
|
|
|
this.$refs.map.setNum(params) |
|
|
|
// } |
|
|
|
|
|
|
|
}, |
|
|
@ -358,16 +362,16 @@ export default { |
|
|
|
}, |
|
|
|
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 |
|
|
|
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); |
|
|
@ -385,20 +389,20 @@ export default { |
|
|
|
async getSubMapData() { |
|
|
|
const url = "sub_org_map"; |
|
|
|
|
|
|
|
const { data, code, msg } = await requestPostBi( |
|
|
|
url, |
|
|
|
{ |
|
|
|
queryParam: { |
|
|
|
org_id: this.orgId, |
|
|
|
const {data, code, msg} = await requestPostBi( |
|
|
|
url, |
|
|
|
{ |
|
|
|
queryParam: { |
|
|
|
org_id: this.orgId, |
|
|
|
}, |
|
|
|
}, |
|
|
|
}, |
|
|
|
{ |
|
|
|
// mockId: 61831860, |
|
|
|
} |
|
|
|
{ |
|
|
|
// mockId: 61831860, |
|
|
|
} |
|
|
|
); |
|
|
|
|
|
|
|
if (code === 0) { |
|
|
|
const { orgData } = this; |
|
|
|
const {orgData} = this; |
|
|
|
orgData.children = data.map((item) => { |
|
|
|
return { |
|
|
|
...item, |
|
|
@ -409,7 +413,7 @@ export default { |
|
|
|
coordinates: item.coordinates || "", |
|
|
|
}; |
|
|
|
}); |
|
|
|
this.orgData = { ...orgData }; |
|
|
|
this.orgData = {...orgData}; |
|
|
|
} else { |
|
|
|
this.$message.error(msg); |
|
|
|
} |
|
|
@ -423,7 +427,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; |
|
|
@ -441,14 +445,17 @@ export default { |
|
|
|
<style lang="scss" scoped> |
|
|
|
.up-style { |
|
|
|
width: 51%; |
|
|
|
|
|
|
|
img { |
|
|
|
height: 12px; |
|
|
|
width: 12px; |
|
|
|
} |
|
|
|
|
|
|
|
img:hover { |
|
|
|
cursor: pointer; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
.go-back { |
|
|
|
position: absolute; |
|
|
|
z-index: 100; |
|
|
@ -465,14 +472,15 @@ export default { |
|
|
|
cursor: pointer; |
|
|
|
} |
|
|
|
} |
|
|
|
.date-current-weiyi{ |
|
|
|
|
|
|
|
.date-current-weiyi { |
|
|
|
background: #000; |
|
|
|
} |
|
|
|
</style> |
|
|
|
<style |
|
|
|
lang="scss" |
|
|
|
src="@/assets/scss/dataBoard/overview/index.scss" |
|
|
|
scoped |
|
|
|
lang="scss" |
|
|
|
src="@/assets/scss/dataBoard/overview/index.scss" |
|
|
|
scoped |
|
|
|
></style> |
|
|
|
|
|
|
|
<style lang="scss" scoped> |
|
|
|