|
|
|
@ -9,54 +9,110 @@ |
|
|
|
<div class="g-left"> |
|
|
|
<div class="m-box"> |
|
|
|
<title-box |
|
|
|
:text="`${currentLevel === 'district' ? '区' : currentLevel === 'street' ? '街道' : currentLevel === 'community' ? '社区' : currentLevel === 'grid' ? '网格' : ''}介绍`"/> |
|
|
|
<jdjs :currentLevelData="currentLevelData"/> |
|
|
|
: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"/> |
|
|
|
: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"> |
|
|
|
<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"> |
|
|
|
<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> |
|
|
|
|
|
|
|
<!-- 社区&网格--> |
|
|
|
@ -86,37 +142,75 @@ |
|
|
|
<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> |
|
|
|
|
|
|
|
@ -141,8 +235,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", |
|
|
|
@ -171,11 +265,11 @@ export default { |
|
|
|
data() { |
|
|
|
return { |
|
|
|
loading: false, |
|
|
|
rfphDate: this.$moment().format("YYYY-MM"), |
|
|
|
sq12345Date: this.$moment().format("YYYY-MM"), |
|
|
|
sqzcDate: this.$moment().format("YYYY-MM"), |
|
|
|
sjhfDate: this.$moment().format("YYYY-MM"), |
|
|
|
sqwggxDate: this.$moment().format("YYYY-MM"), |
|
|
|
rfphDate: this.$moment().subtract(1, "month").format("YYYY-MM"), |
|
|
|
sq12345Date: this.$moment().subtract(1, "month").format("YYYY-MM"), |
|
|
|
sqzcDate: this.$moment().subtract(1, "month").format("YYYY-MM"), |
|
|
|
sjhfDate: this.$moment().subtract(1, "month").format("YYYY-MM"), |
|
|
|
sqwggxDate: this.$moment().subtract(1, "month").format("YYYY-MM"), |
|
|
|
orgData: { |
|
|
|
children: [], |
|
|
|
}, //当前组织对象 |
|
|
|
@ -185,7 +279,7 @@ export default { |
|
|
|
currentLevelData: { |
|
|
|
orgId: this.$store.state.chooseArea.chooseName.orgId, |
|
|
|
orgLevel: this.$store.state.chooseArea.chooseName.level, |
|
|
|
meta: {title: "人房总览"}, |
|
|
|
meta: { title: "人房总览" }, |
|
|
|
}, |
|
|
|
breadList: [ |
|
|
|
{ |
|
|
|
@ -193,7 +287,7 @@ export default { |
|
|
|
orgLevel: "", |
|
|
|
id: "", |
|
|
|
level: "", |
|
|
|
meta: {title: "人房总览"}, |
|
|
|
meta: { title: "人房总览" }, |
|
|
|
}, |
|
|
|
], |
|
|
|
peopleList: { |
|
|
|
@ -257,10 +351,10 @@ export default { |
|
|
|
}, |
|
|
|
}, |
|
|
|
|
|
|
|
|
|
|
|
methods: { |
|
|
|
changeCustomerName() { |
|
|
|
this.customerName = localStorage.getItem("customerNameDataBoard") || "数据分析可视化平台"; |
|
|
|
this.customerName = |
|
|
|
localStorage.getItem("customerNameDataBoard") || "数据分析可视化平台"; |
|
|
|
}, |
|
|
|
changeType(e) { |
|
|
|
this.peopleType = e; |
|
|
|
@ -298,7 +392,7 @@ export default { |
|
|
|
} |
|
|
|
}, |
|
|
|
|
|
|
|
clickBreadItem({item}) { |
|
|
|
clickBreadItem({ item }) { |
|
|
|
this.toBread(item); |
|
|
|
}, |
|
|
|
|
|
|
|
@ -311,7 +405,8 @@ 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, |
|
|
|
@ -320,7 +415,7 @@ export default { |
|
|
|
this.toBread({ |
|
|
|
orgId: item.id, |
|
|
|
orgLevel: item.level, |
|
|
|
meta: {title: item.name}, |
|
|
|
meta: { title: item.name }, |
|
|
|
}); |
|
|
|
}, |
|
|
|
goBackMap() { |
|
|
|
@ -328,13 +423,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); |
|
|
|
@ -365,59 +460,60 @@ export default { |
|
|
|
longitude: item.longitude, |
|
|
|
}); |
|
|
|
} |
|
|
|
}) |
|
|
|
}) |
|
|
|
}); |
|
|
|
}); |
|
|
|
// if (params.length) { |
|
|
|
this.$refs.map.setNum(params) |
|
|
|
this.$refs.map.setNum(params); |
|
|
|
// } |
|
|
|
|
|
|
|
}, |
|
|
|
upDownShow() { |
|
|
|
this.listShow = !this.listShow; |
|
|
|
}, |
|
|
|
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.orgData = data; |
|
|
|
this.orgId = this.orgData.id; |
|
|
|
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.$http |
|
|
|
.post(`/gov/org/agency/maporg`, { orgId, level }) |
|
|
|
.then(({ data: { data } }) => { |
|
|
|
this.orgData = data; |
|
|
|
this.orgId = this.orgData.id; |
|
|
|
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'; |
|
|
|
}); |
|
|
|
}, |
|
|
|
|
|
|
|
//获取地图上显示的组织数据 |
|
|
|
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, |
|
|
|
@ -428,7 +524,7 @@ export default { |
|
|
|
coordinates: item.coordinates || "", |
|
|
|
}; |
|
|
|
}); |
|
|
|
this.orgData = {...orgData}; |
|
|
|
this.orgData = { ...orgData }; |
|
|
|
} else { |
|
|
|
this.$message.error(msg); |
|
|
|
} |
|
|
|
@ -442,7 +538,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; |
|
|
|
@ -492,9 +588,9 @@ export default { |
|
|
|
} |
|
|
|
</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> |
|
|
|
|