5 changed files with 292 additions and 12 deletions
@ -0,0 +1,166 @@ |
|||
<template> |
|||
<div class="follow-up"> |
|||
<div class="content"> |
|||
<div class="left"> |
|||
<div class="total"> |
|||
<div class="tit">回访总数</div> |
|||
<div class="num"><span>{{ sumNum ? sumNum : 0 }}</span>个</div> |
|||
</div> |
|||
<div class="left-item"> |
|||
<div class="tit">电话回访</div> |
|||
<div class="num"><span>{{ mobileNum ? mobileNum : 0 }}</span>个</div> |
|||
</div> |
|||
<div class="left-item"> |
|||
<div class="tit">上门回访</div> |
|||
<div class="num"><span>{{ visitNum ? visitNum : 0 }}</span>个</div> |
|||
</div> |
|||
</div> |
|||
<div class="xc"> |
|||
<div class="tit">回访消除 <br/> 风险人数</div> |
|||
<div class="num blue">{{ notRiskyNum ? notRiskyNum : 0 }}</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
export default { |
|||
name: "FollowUp", |
|||
props: { |
|||
date: { |
|||
type: String, |
|||
default: '' |
|||
} |
|||
}, |
|||
data() { |
|||
return { |
|||
org: this.$store.state.chooseArea.chooseName, |
|||
typeList: [{ |
|||
label: '12345事件', |
|||
value: '12345' |
|||
}, { |
|||
label: '事件回访', |
|||
value: 'follow' |
|||
}], |
|||
type: 'follow', |
|||
sumNum: 0, |
|||
mobileNum: 0, |
|||
visitNum: 0, |
|||
notRiskyNum: 0, |
|||
} |
|||
}, |
|||
watch: { |
|||
"$store.state.chooseArea.chooseName"(val) { |
|||
if (val.orgId) { |
|||
this.getData() |
|||
} |
|||
}, |
|||
date() { |
|||
this.getData() |
|||
} |
|||
}, |
|||
mounted() { |
|||
if (this.org.orgId) { |
|||
this.getData() |
|||
} |
|||
}, |
|||
methods: { |
|||
getData() { |
|||
this.$http.get('/actual/base/streetOverview/eventAndFollowGroup?month=' + this.date + '&level=' + this.$store.state.chooseArea.chooseName.level + '&orgId=' + this.$store.state.chooseArea.chooseName.orgId + '&queryType=' + this.type).then(({data: {data}}) => { |
|||
this.sumNum = data.sumNum |
|||
this.mobileNum = data.mobileNum |
|||
this.visitNum = data.visitNum |
|||
this.notRiskyNum = data.notRiskyNum |
|||
}) |
|||
}, |
|||
typeChange(val) { |
|||
console.log(val,'val') |
|||
this.type = val |
|||
this.getData() |
|||
} |
|||
} |
|||
} |
|||
</script> |
|||
|
|||
<style scoped lang="scss"> |
|||
.follow-up { |
|||
padding: 10px 16px; |
|||
} |
|||
.content { |
|||
background: linear-gradient(90deg, rgba(1, 94, 234, 0.1) 0%, rgba(16, 50, 103, 0) 50%, rgba(1, 94, 234, 0.1) 100%); |
|||
padding: 40px 19px; |
|||
display: flex; |
|||
justify-content: space-between; |
|||
align-items: center; |
|||
} |
|||
|
|||
.left { |
|||
border-right: 1px solid #96B1CE; |
|||
padding-right: 35px; |
|||
display: flex; |
|||
align-items: center; |
|||
justify-content: space-between; |
|||
|
|||
.total { |
|||
.tit { |
|||
font-size: 16px; |
|||
font-weight: 400; |
|||
color: #FFFFFF; |
|||
margin-bottom: 20px; |
|||
} |
|||
|
|||
.num { |
|||
font-size: 14px; |
|||
font-weight: 500; |
|||
color: #A3B9DA; |
|||
|
|||
span { |
|||
font-size: 36px; |
|||
font-weight: bold; |
|||
font-style: italic; |
|||
color: #08EBAE; |
|||
} |
|||
} |
|||
} |
|||
|
|||
.left-item { |
|||
margin-left: 24px; |
|||
.tit { |
|||
font-size: 14px; |
|||
font-weight: 400; |
|||
color: #A3B9DA; |
|||
line-height: 24px; |
|||
margin-bottom: 24px; |
|||
} |
|||
|
|||
.num { |
|||
font-size: 14px; |
|||
font-weight: 500; |
|||
color: #A3B9DA; |
|||
span { |
|||
font-size: 30px; |
|||
font-weight: bold; |
|||
font-style: italic; |
|||
color: #78C4F3; |
|||
} |
|||
} |
|||
} |
|||
} |
|||
|
|||
.xc { |
|||
.tit { |
|||
font-size: 16px; |
|||
font-weight: 400; |
|||
color: #FFFFFF; |
|||
line-height: 24px; |
|||
margin-bottom: 10px; |
|||
} |
|||
|
|||
.num { |
|||
font-size: 32px; |
|||
font-weight: bold; |
|||
font-style: italic; |
|||
color: #FFB73C; |
|||
} |
|||
} |
|||
</style> |
|||
@ -0,0 +1,70 @@ |
|||
<template> |
|||
<div class="m-subbox m-sqrfph"> |
|||
<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,index) in pmList" :key="index"> |
|||
<div :class="index - 0 + 1 < 4 ? `td tdbg${index-0+1}` : 'td'"> |
|||
{{ index - 0 + 1 }} |
|||
</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: "GridUpdateRanking", |
|||
props: { |
|||
date: { |
|||
type: String, |
|||
default: '' |
|||
} |
|||
}, |
|||
data() { |
|||
return { |
|||
org: this.$store.state.chooseArea.chooseName, |
|||
pmList: [], |
|||
}; |
|||
}, |
|||
watch: { |
|||
"$store.state.chooseArea.chooseName"(val) { |
|||
if (val.orgId) { |
|||
this.getList() |
|||
} |
|||
}, |
|||
date() { |
|||
this.getList() |
|||
} |
|||
}, |
|||
mounted() { |
|||
if (this.org.orgId) { |
|||
this.getList() |
|||
} |
|||
}, |
|||
methods: { |
|||
getList() { |
|||
this.$http.get('/actual/base/streetOverview/residentHouseUpdateGroup?level=' + this.$store.state.chooseArea.chooseName.level + '&orgId=' + this.$store.state.chooseArea.chooseName.orgId).then(({data: {data}}) => { |
|||
this.pmList = data |
|||
}) |
|||
} |
|||
} |
|||
}; |
|||
</script> |
|||
|
|||
<style lang="scss" src="@/assets/scss/dataBoard/overview/index.scss" scoped/> |
|||
<style lang="scss" scoped> |
|||
.m-sqrfph { |
|||
padding-top: 0 !important; |
|||
height: 160px !important; |
|||
} |
|||
|
|||
</style> |
|||
Loading…
Reference in new issue