You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
|
<template>
|
|
|
|
|
<div class="m-subbox m-sqrfph">
|
|
|
|
|
<div class="rank">
|
|
|
|
|
<div class="tit">{{ self.orgName }}</div>
|
|
|
|
|
<div class="num">
|
|
|
|
|
第<span>{{ self.rank }}</span
|
|
|
|
|
>名
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="table">
|
|
|
|
|
<div class="tr">
|
|
|
|
|
<div class="th">排名</div>
|
|
|
|
|
<div class="th">网格</div>
|
|
|
|
|
<div class="th">房屋更新数</div>
|
|
|
|
|
<div class="th">人口更新数</div>
|
|
|
|
|
<div class="th">人房更新总数</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="tr" v-for="item in pmList" :key="item.rank">
|
|
|
|
|
<div :class="item.rank < 4 ? `td tdbg${item.rank}` : 'td'">
|
|
|
|
|
{{ item.rank }}
|
|
|
|
|
</div>
|
|
|
|
|
<div class="td">{{ item.orgName }}</div>
|
|
|
|
|
<div class="td">{{ item.houseNum }}</div>
|
|
|
|
|
<div class="td">{{ item.residentNum }}</div>
|
|
|
|
|
<div class="td">{{ item.sumNum }}</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</template>
|
|
|
|
|
<script>
|
|
|
|
|
export default {
|
|
|
|
|
name: "RankingGridData",
|
|
|
|
|
props: {
|
|
|
|
|
currentLevelData: {
|
|
|
|
|
type: Object,
|
|
|
|
|
default: {},
|
|
|
|
|
},
|
|
|
|
|
date: {
|
|
|
|
|
type: String,
|
|
|
|
|
default: "",
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
data() {
|
|
|
|
|
return {
|
|
|
|
|
org: this.$store.state.chooseArea.chooseName,
|
|
|
|
|
pmList: [],
|
|
|
|
|
self: {},
|
|
|
|
|
};
|
|
|
|
|
},
|
|
|
|
|
watch: {
|
|
|
|
|
currentLevelData(val) {
|
|
|
|
|
if (val.orgId) {
|
|
|
|
|
this.getList(val);
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
date() {
|
|
|
|
|
this.getList(this.currentLevelData);
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
mounted() {
|
|
|
|
|
if (this.currentLevelData.orgId) {
|
|
|
|
|
this.getList(this.currentLevelData);
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
methods: {
|
|
|
|
|
getList(item) {
|
|
|
|
|
this.$http
|
|
|
|
|
.get(
|
|
|
|
|
"/actual/base/streetOverview/residentHouseUpdateGroupByGrid?month=" +
|
|
|
|
|
this.date +
|
|
|
|
|
"&level=" +
|
|
|
|
|
item.orgLevel +
|
|
|
|
|
"&orgId=" +
|
|
|
|
|
item.orgId
|
|
|
|
|
)
|
|
|
|
|
.then(({ data: { data } }) => {
|
|
|
|
|
if (data) {
|
|
|
|
|
this.pmList = data.filter((item) => !item.self);
|
|
|
|
|
const self = data.filter((item) => item.self)[0];
|
|
|
|
|
if (self) {
|
|
|
|
|
this.self = self;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
};
|
|
|
|
|
</script>
|
|
|
|
|
|
|
|
|
|
<style lang="scss" src="@/assets/scss/dataBoard/overview/index.scss" scoped />
|
|
|
|
|
<style scoped lang="scss">
|
|
|
|
|
.rank {
|
|
|
|
|
font-size: 16px;
|
|
|
|
|
font-weight: 400;
|
|
|
|
|
color: #ffffff;
|
|
|
|
|
padding: 0 15px 20px;
|
|
|
|
|
|
|
|
|
|
.num {
|
|
|
|
|
font-size: 14px;
|
|
|
|
|
font-weight: 500;
|
|
|
|
|
color: #a3b9da;
|
|
|
|
|
margin-top: 20px;
|
|
|
|
|
|
|
|
|
|
span {
|
|
|
|
|
font-size: 36px;
|
|
|
|
|
font-weight: bold;
|
|
|
|
|
font-style: italic;
|
|
|
|
|
color: #ffb73c;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
</style>
|