|
@@ -6,14 +6,16 @@
|
|
|
<div class="home-head-left">
|
|
|
<div class="head-left-top">
|
|
|
<div class="head-left-top-title">渔安街道党组织</div>
|
|
|
- <div class="head-left-top-subtitle">上次登录时间:2021-11-04 10:23</div>
|
|
|
+ <div
|
|
|
+ class="head-left-top-subtitle"
|
|
|
+ >上次登录时间:{{ parseTime($store.getters.loginDate, '{y}年{m}月{d}日 {h}:{i}:{s}') || '—' }}</div>
|
|
|
</div>
|
|
|
<div class="head-left-middle">
|
|
|
<div class="head-left-middle-avatar">
|
|
|
<img :src="$store.getters.avatar" @error="imgViewerOnerror" />
|
|
|
</div>
|
|
|
- <div class="head-left-middle-name">{{ $store.getters.nickName }}</div>
|
|
|
- <div class="head-left-middle-role">{{ $store.getters.roleName }}</div>
|
|
|
+ <div class="head-left-middle-name">{{ $store.getters.nickName || '—' }}</div>
|
|
|
+ <div class="head-left-middle-role">{{ $store.getters.roleName || '—' }}</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</el-col>
|
|
@@ -24,14 +26,15 @@
|
|
|
<div class="home-head-right_item">
|
|
|
<div class="home-head-right_item-title">正式党员数</div>
|
|
|
<div class="home-head-right_item-content">
|
|
|
- <div class="formal">
|
|
|
- <countTo
|
|
|
- :startVal="0"
|
|
|
- :endVal="countsObj.formalCounts || 258"
|
|
|
- :duration="3000"
|
|
|
- ></countTo>
|
|
|
+ <div
|
|
|
+ v-if="countsObj.formalCounts !== null && countsObj.formalCounts !== undefined"
|
|
|
+ >
|
|
|
+ <div class="formal">
|
|
|
+ <countTo :startVal="0" :endVal="countsObj.formalCounts" :duration="3000"></countTo>
|
|
|
+ </div>
|
|
|
+ <div>人</div>
|
|
|
</div>
|
|
|
- <div>人</div>
|
|
|
+ <div v-else>—</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</el-col>
|
|
@@ -39,14 +42,15 @@
|
|
|
<div class="home-head-right_item">
|
|
|
<div class="home-head-right_item-title">预备党员数</div>
|
|
|
<div class="home-head-right_item-content">
|
|
|
- <div class="prep">
|
|
|
- <countTo
|
|
|
- :startVal="0"
|
|
|
- :endVal="countsObj.readyCounts || 258"
|
|
|
- :duration="3000"
|
|
|
- ></countTo>
|
|
|
+ <div
|
|
|
+ v-if="countsObj.readyCounts !== null && countsObj.readyCounts !== undefined"
|
|
|
+ >
|
|
|
+ <div class="prep">
|
|
|
+ <countTo :startVal="0" :endVal="countsObj.readyCounts" :duration="3000"></countTo>
|
|
|
+ </div>
|
|
|
+ <div>人</div>
|
|
|
</div>
|
|
|
- <div>人</div>
|
|
|
+ <div v-else>—</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</el-col>
|
|
@@ -54,14 +58,15 @@
|
|
|
<div class="home-head-right_item">
|
|
|
<div class="home-head-right_item-title">发展党员数</div>
|
|
|
<div class="home-head-right_item-content">
|
|
|
- <div class="develop">
|
|
|
- <countTo
|
|
|
- :startVal="0"
|
|
|
- :endVal="countsObj.progressCounts || 591"
|
|
|
- :duration="3000"
|
|
|
- ></countTo>
|
|
|
+ <div
|
|
|
+ v-if="countsObj.progressCounts !== null && countsObj.progressCounts !== undefined"
|
|
|
+ >
|
|
|
+ <div class="develop">
|
|
|
+ <countTo :startVal="0" :endVal="countsObj.progressCounts" :duration="3000"></countTo>
|
|
|
+ </div>
|
|
|
+ <div>人</div>
|
|
|
</div>
|
|
|
- <div>人</div>
|
|
|
+ <div v-else>—</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</el-col>
|
|
@@ -69,14 +74,15 @@
|
|
|
<div class="home-head-right_item">
|
|
|
<div class="home-head-right_item-title">积极分子数</div>
|
|
|
<div class="home-head-right_item-content">
|
|
|
- <div class="positive">
|
|
|
- <countTo
|
|
|
- :startVal="0"
|
|
|
- :endVal="countsObj.activeCounts || 591"
|
|
|
- :duration="3000"
|
|
|
- ></countTo>
|
|
|
+ <div
|
|
|
+ v-if="countsObj.activeCounts !== null && countsObj.activeCounts !== undefined"
|
|
|
+ >
|
|
|
+ <div class="positive">
|
|
|
+ <countTo :startVal="0" :endVal="countsObj.activeCounts" :duration="3000"></countTo>
|
|
|
+ </div>
|
|
|
+ <div>人</div>
|
|
|
</div>
|
|
|
- <div>人</div>
|
|
|
+ <div v-else>—</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</el-col>
|
|
@@ -101,31 +107,41 @@
|
|
|
</el-col>
|
|
|
<el-col :span="24">
|
|
|
<div class="home-main-list">
|
|
|
- <el-row :gutter="10" type="flex" class="row-bg" justify="space-between">
|
|
|
+ <el-row :gutter="5">
|
|
|
<template v-if="list.length > 0">
|
|
|
- <el-col v-for="item in list" :key="'HOMEURGENCYLIST_' + item.id" :span="5">
|
|
|
+ <el-col
|
|
|
+ v-for="(item, index) in list"
|
|
|
+ :key="'HOMEURGENCYLIST_' + item.id + index"
|
|
|
+ :xs="16"
|
|
|
+ :sm="12"
|
|
|
+ :md="8"
|
|
|
+ :lg="6"
|
|
|
+ :xl="4"
|
|
|
+ class="mb10"
|
|
|
+ >
|
|
|
<div class="home-main-list_card">
|
|
|
<div class="home-main-list_card-basic">
|
|
|
<img
|
|
|
- :src="require('@/assets/images/home-main-list-card-img.png')"
|
|
|
+ :src="item.personPhoto || require('@/assets/images/empty_img.png')"
|
|
|
@error="imgViewerOnerror"
|
|
|
/>
|
|
|
|
|
|
<div class="list_card-basic-info">
|
|
|
- <div class="list_card-basic-info-name">{{ item.name || '郝爱党' }}</div>
|
|
|
- <div class="list_card-basic-info-idcard">{{ item.cardNo || '520103199512123412' }}</div>
|
|
|
- <div class="list_card-basic-info-sex">{{ item.sex || '男' }}</div>
|
|
|
+ <div class="list_card-basic-info-name">{{ item.name || '—' }}</div>
|
|
|
+ <div class="list_card-basic-info-idcard">{{ item.cardNo || '—' }}</div>
|
|
|
+ <div class="list_card-basic-info-sex">{{ item.sex || '—' }}</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
+ <div style="clear: both;"></div>
|
|
|
<div class="home-main-list_card-stage">
|
|
|
<div>所处阶段:</div>
|
|
|
- <div>{{ item.atPoint || '发展对象的确认和考察' }}</div>
|
|
|
+ <div>{{ atStageNodeDataObj[item.atPoint] || '—' }}</div>
|
|
|
</div>
|
|
|
<div class="home-main-list_card-node">
|
|
|
<div>待更新节点:</div>
|
|
|
- <div>{{ item.nextPoint || '确认为发展对象的支委会会议记录' }}</div>
|
|
|
+ <div>{{ nodeDataObj[item.nextPoint] || '—' }}</div>
|
|
|
</div>
|
|
|
- <div class="home-main-list_card-status">{{ item.descrption || '已逾期2天' }}</div>
|
|
|
+ <div class="home-main-list_card-status">{{ item.descrption || '—' }}</div>
|
|
|
<div class="home-main-list_card-btn">
|
|
|
<el-button type="rocpartyprimarybtn">立即处理</el-button>
|
|
|
</div>
|
|
@@ -144,6 +160,7 @@
|
|
|
<pagination
|
|
|
v-show="total>0"
|
|
|
:total="total"
|
|
|
+ :pageSizes="[12, 24, 36, 48, 60]"
|
|
|
:page.sync="queryParams.pageNum"
|
|
|
:limit.sync="queryParams.pageSize"
|
|
|
@pagination="initData"
|
|
@@ -155,6 +172,8 @@
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
+import NodeDataObj from '@/views/PartyBuildingMgr/PartyMemberDevelop/JsonData/NodeDataObj';
|
|
|
+import AtStageNodeDataObj from '@/views/PartyBuildingMgr/PartyMemberDevelop/JsonData/AtStageNodeDataObj';
|
|
|
import countTo from 'vue-count-to';
|
|
|
import { getCountsHome, getUrgencyListHome } from "@/api/home";
|
|
|
|
|
@@ -165,13 +184,15 @@ export default {
|
|
|
},
|
|
|
data() {
|
|
|
return {
|
|
|
- total: 10,
|
|
|
+ total: 0,
|
|
|
queryParams: {
|
|
|
- pageNum: 0,
|
|
|
- pageSize: 10
|
|
|
+ pageNum: 1,
|
|
|
+ pageSize: 12
|
|
|
},
|
|
|
list: [],
|
|
|
- countsObj: {}
|
|
|
+ countsObj: {},
|
|
|
+ nodeDataObj: { ...NodeDataObj },
|
|
|
+ atStageNodeDataObj: { ...AtStageNodeDataObj }
|
|
|
};
|
|
|
},
|
|
|
created() {
|
|
@@ -199,7 +220,7 @@ export default {
|
|
|
getUrgencyListHomeData() {
|
|
|
getUrgencyListHome(this.queryParams).then(response => {
|
|
|
this.list = response?.rows || [];
|
|
|
- this.total = response?.total ?? 20;
|
|
|
+ this.total = response?.total ?? 0;
|
|
|
});
|
|
|
},
|
|
|
}
|
|
@@ -417,22 +438,22 @@ export default {
|
|
|
margin-top: 20px;
|
|
|
|
|
|
&_card {
|
|
|
- padding: 20px 10px;
|
|
|
+ padding: 15px 8px;
|
|
|
+ overflow: hidden;
|
|
|
width: 100%;
|
|
|
border: 1px solid #b5b5b5;
|
|
|
border-radius: 5px;
|
|
|
|
|
|
&-basic {
|
|
|
- display: flex;
|
|
|
- align-items: center;
|
|
|
-
|
|
|
img {
|
|
|
+ float: left;
|
|
|
+ margin-right: 6px;
|
|
|
width: 73px;
|
|
|
height: 91px;
|
|
|
}
|
|
|
|
|
|
.list_card-basic-info {
|
|
|
- margin-left: 16px;
|
|
|
+ float: left;
|
|
|
|
|
|
&-name {
|
|
|
height: 25px;
|