Files
dvcp_v2_wxcp_app/library/apps/AppGridManagement/Statistics.vue
2024-10-31 14:34:57 +08:00

168 lines
3.9 KiB
Vue

<template>
<div class="Statistics">
<div class="middle">
<div class="girdPeople">网格内人员情况</div>
<div class="card">
<div class="box">
<span class="count" v-if="peopleList && peopleList['网格长']">{{ peopleList['网格长'] }}</span>
<span class="count" v-else>0</span>
<span class="girdCount">网格长</span>
</div>
<div class="box">
<span class="count" v-if="peopleList && peopleList['网格员']">{{ peopleList['网格员'] }}</span>
<span class="count" v-else>0</span>
<span class="girdCount">网格员</span>
</div>
<div class="box">
<span class="count" v-if="peopleList && peopleList['责任家庭数']">{{ peopleList['责任家庭数'] }}</span>
<span class="count" v-else>0</span>
<span class="girdCount">责任家庭数</span>
</div>
</div>
</div>
<div class="bottom">
<div class="girdMsg">网格信息</div>
<div class="girdCont">
<div class="boxes">
<span class="boxesLeft">网格名称</span>
<span class="boxesRight">{{ gridInfo.girdName || '' }}</span>
</div>
<div class="boxes">
<span class="boxesLeft">标绘状态</span>
<span class="boxesRight">{{ gridInfo.plottingStatus == 1 ? '已标绘' : '未标绘' }}</span>
</div>
</div>
</div>
</div>
</template>
<script>
export default {
name: 'Statistics',
components: {},
props: {
dict: Object,
instance: Function,
params: Object,
},
data() {
return {
peopleList: {},
gridInfo: {},
checkType: '',
}
},
created() {
this.gridInfo = this.params
this.getList()
uni.$on('goback', (res) => {
this.gridInfo = res
this.getList()
})
},
methods: {
getList() {
this.$http.post(`/app/appgirdmemberinfo/girdMemberAndResidentStatistic?girdId=${this.gridInfo.id}`).then((res) => {
if (res?.data) {
this.peopleList = res.data
}
})
},
linkTo(url) {
uni.navigateTo({url})
},
},
}
</script>
<style scoped lang="scss">
.Statistics {
padding: 0 30px;
box-sizing: border-box;
.middle {
background: #ffffff;
border-radius: 16px;
margin-top: 32px;
padding: 32px 0 60px 0;
.girdPeople {
padding: 0 0 56px 24px;
font-size: 32px;
font-family: PingFangSC-Regular, PingFang SC;
color: #333333;
}
.card {
display: flex;
justify-content: space-around;
.box {
display: flex;
flex-direction: column;
align-items: center;
.count {
font-size: 64px;
font-family: DINAlternate-Bold, DINAlternate;
font-weight: bold;
color: #3b424a;
}
.girdCount {
margin-top: 8px;
font-size: 28px;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #999999;
}
}
}
}
.bottom {
background: #ffffff;
border-radius: 16px;
margin-top: 32px;
padding: 0 24px 64px 24px;
.girdMsg {
padding: 32px 0;
font-size: 32px;
font-family: PingFangSC-Regular, PingFang SC;
color: #333333;
}
.girdCont {
.boxes {
padding: 24px 0 30px 0;
box-shadow: inset 0px -1px 0px 0px #d8dde6;
.boxesLeft {
font-size: 30px;
font-family: PingFang-SC-Heavy, PingFang-SC;
font-weight: 800;
color: #333333;
display: inline-block;
width: 140px;
vertical-align: top;
}
.boxesRight {
margin-left: 40px;
font-size: 28px;
font-family: PingFangSC-Regular, PingFang SC;
color: #666666;
display: inline-block;
width: calc(100% - 200px);
}
}
}
}
}
</style>