监测对象列表详情
This commit is contained in:
@@ -28,55 +28,55 @@
|
||||
<div class="more-info" v-if="viewAll">
|
||||
<div class="item-info">
|
||||
<label>民族</label>
|
||||
<span>{{ info.address }}</span>
|
||||
<span>{{ $dict.getLabel('fpNation', info.nation) }}</span>
|
||||
</div>
|
||||
<div class="item-info">
|
||||
<label>政治面貌</label>
|
||||
<span>{{ info.address }}</span>
|
||||
<span>{{ info.politicsStatus }}</span>
|
||||
</div>
|
||||
<div class="item-info">
|
||||
<label>文化程度</label>
|
||||
<span>{{ info.address }}</span>
|
||||
<span>{{ $dict.getLabel('fpEducation', info.education) }}</span>
|
||||
</div>
|
||||
<div class="item-info">
|
||||
<label>在校生情况</label>
|
||||
<span>{{ info.address }}</span>
|
||||
<span>{{ $dict.getLabel('fpStudentsInSchool', info.schoolStatus) }}</span>
|
||||
</div>
|
||||
<div class="item-info">
|
||||
<label>健康状况</label>
|
||||
<span>{{ info.address }}</span>
|
||||
<span>{{ $dict.getLabel('fpHealth', info.healthyStatus) }}</span>
|
||||
</div>
|
||||
<div class="item-info">
|
||||
<label>大病保险</label>
|
||||
<span>{{ info.address }}</span>
|
||||
<span>{{ $dict.getLabel('fpYesOrNo', info.seriousIllnessInsurance) }}</span>
|
||||
</div>
|
||||
<div class="item-info">
|
||||
<label>医疗参保</label>
|
||||
<span>{{ info.address }}</span>
|
||||
<span>{{ $dict.getLabel('fpYesOrNo', info.seriousIllnessInsurance) }}</span>
|
||||
</div>
|
||||
<div class="item-info">
|
||||
<label>享受最低生活保障</label>
|
||||
<span>{{ info.address }}</span>
|
||||
<span>{{ $dict.getLabel('fpYesOrNo', info.subsistenceAllowance) }}</span>
|
||||
</div>
|
||||
<div class="item-info">
|
||||
<label>养老保险</label>
|
||||
<span>{{ info.address }}</span>
|
||||
<span>{{ $dict.getLabel('fpYesOrNo', info.endowmentInsurance) }}</span>
|
||||
</div>
|
||||
<div class="item-info">
|
||||
<label>特困供养</label>
|
||||
<span>{{ info.address }}</span>
|
||||
<span>{{ $dict.getLabel('fpYesOrNo', info.specialPovertySupport) }}</span>
|
||||
</div>
|
||||
<div class="item-info">
|
||||
<label>劳动技能</label>
|
||||
<span>{{ info.address }}</span>
|
||||
<span>{{ $dict.getLabel('fpLaborSkills', info.labourStatus) }}</span>
|
||||
</div>
|
||||
<div class="item-info">
|
||||
<label>务工时间/月</label>
|
||||
<span>{{ info.address }}</span>
|
||||
<span>{{ info.workeMonths }}</span>
|
||||
</div>
|
||||
<div class="item-info">
|
||||
<label>务工区域</label>
|
||||
<span>{{ info.address }}</span>
|
||||
<span>{{ info.workArea }}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="view-all" @click="viewAll = !viewAll">{{viewAll ? '收起详情 ' : '展开详情 '}}<img :class="viewAll ? 'img-active' : ''" src="./components/img/top-icon-blue.png" /></div>
|
||||
@@ -110,8 +110,8 @@
|
||||
<div class="item-header">
|
||||
<div class="left">
|
||||
<h2>家庭成员</h2>
|
||||
<i :style="{color: info.familyList.length ? '#2EA222' : '#FF4466'}">({{
|
||||
info.familyList.length ? '已填写' : '未填写'
|
||||
<i :style="{color: info.family && info.family.length ? '#2EA222' : '#FF4466'}">({{
|
||||
info.family && info.family.length ? '已填写' : '未填写'
|
||||
}})</i>
|
||||
</div>
|
||||
<span @click="linkTo('./MonitorFamilyMember?id=' + info.id)">编辑</span>
|
||||
@@ -207,19 +207,18 @@
|
||||
<AiFixedBtn v-if="currIndex === 1">
|
||||
<div class="addBtn iconfont iconfont-iconfangda" @tap="toAddLog"></div>
|
||||
</AiFixedBtn>
|
||||
<AiFixedBtn v-if="currIndex != 1">
|
||||
<div class="footer-btn">
|
||||
<div @click="cancel">驳回申请</div>
|
||||
<div class="confirm-btn" @click="confirm">纳入监测</div>
|
||||
</div>
|
||||
<!-- <div class="footer-btn">
|
||||
<div @click="del">删除人员</div>
|
||||
<div class="confirm-btn" @click="remove">消除风险</div>
|
||||
</div>
|
||||
<div class="footer-btn">
|
||||
<div class="confirm-btn" @click="submitRemove">申请解除风险</div>
|
||||
</div> -->
|
||||
</AiFixedBtn>
|
||||
<!-- 0:待纳入、1:监测中、2:待解除、3:已解除、4:已驳回 -->
|
||||
<div class="footer-btn" v-if="currIndex != 1 && checkType == 2 && info.status == 2">
|
||||
<div @click="examine('您确认要驳回此居民的监测对象申请吗?', 0)">驳回申请</div>
|
||||
<div class="confirm-btn" @click="examine('您确认要将此居民纳入监测对象吗?', 1)">纳入监测</div>
|
||||
</div>
|
||||
<div class="footer-btn" v-if="currIndex != 1 && info.status == 3">
|
||||
<div @click="del">删除人员</div>
|
||||
<div class="confirm-btn" @click="remove('您确认要解除此监测对象的风险吗?', 1)" v-if="checkType == 2">消除风险</div>
|
||||
</div>
|
||||
<div class="footer-btn" v-if="currIndex != 1 && checkType == 1 && info.status == 1">
|
||||
<div class="confirm-btn" @click="remove('您确认要申请解除此监测对象的风险吗?', '')">申请解除风险</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -235,7 +234,8 @@ export default {
|
||||
currIndex: 0,
|
||||
list: [],
|
||||
isFrom: false,
|
||||
viewAll: false
|
||||
viewAll: false,
|
||||
checkType: ''
|
||||
}
|
||||
},
|
||||
|
||||
@@ -276,20 +276,30 @@ export default {
|
||||
if (query.isFrom) {
|
||||
this.isFrom = true
|
||||
}
|
||||
this.$dict.load(['fpType', 'riskEliminationMethod', 'fpRiskType', 'fpYesOrNo']).then(() => {
|
||||
this.getInfo(query.id)
|
||||
this.$dict.load(['fpType', 'riskEliminationMethod', 'fpRiskType', 'fpYesOrNo', 'fpNation', 'fpEducation', 'fpStudentsInSchool', 'fpHealth',
|
||||
'fpLaborSkills', ]).then(() => {
|
||||
this.isGirdUser()
|
||||
this.getInfo()
|
||||
})
|
||||
|
||||
this.id = query.id
|
||||
uni.$on('reload', () => {
|
||||
this.getInfo(query.id)
|
||||
this.getInfo()
|
||||
})
|
||||
},
|
||||
onShow() {
|
||||
document.title = '风险预警详情'
|
||||
document.title = '居民详情'
|
||||
},
|
||||
|
||||
methods: {
|
||||
isGirdUser() {
|
||||
this.$http.post('/app/appgirdmemberinfo/checkLogOnUser').then((res) => {
|
||||
if (res.code == 0) {
|
||||
this.checkType = res.data.checkType
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
linkTo(url) {
|
||||
uni.navigateTo({url})
|
||||
},
|
||||
@@ -345,21 +355,35 @@ export default {
|
||||
this.currIndex = index
|
||||
},
|
||||
|
||||
getInfo(id) {
|
||||
this.$http.post(`/app/apppreventionreturntopoverty/queryDetailById?id=${id}`).then(res => {
|
||||
getInfo() {
|
||||
this.$http.post(`/app/apppreventionreturntopoverty/queryDetailById?id=${this.id}`).then(res => {
|
||||
if (res.code === 0) {
|
||||
this.info = res.data
|
||||
|
||||
let ylbxCount = 0
|
||||
let ylCount = 0
|
||||
res.data.familyList.forEach(item => {
|
||||
if (item.medicalInsurance === '02') {
|
||||
ylbxCount = ylbxCount + 1
|
||||
}
|
||||
if (item.endowmentInsurance === '02') {
|
||||
ylCount = ylCount + 1
|
||||
}
|
||||
})
|
||||
// if(res.data.familyList && res.data.familyList.length) {
|
||||
// res.data.familyList.forEach(item => {
|
||||
// if (item.medicalInsurance === '02') {
|
||||
// ylbxCount = ylbxCount + 1
|
||||
// }
|
||||
// if (item.endowmentInsurance === '02') {
|
||||
// ylCount = ylCount + 1
|
||||
// }
|
||||
// })
|
||||
// }
|
||||
|
||||
if(res.data.family && res.data.family.length) {
|
||||
res.data.family.forEach(item => {
|
||||
if (item.medicalInsurance === '02') {
|
||||
ylbxCount = ylbxCount + 1
|
||||
}
|
||||
if (item.endowmentInsurance === '02') {
|
||||
ylCount = ylCount + 1
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
this.info.ylbxCount = ylbxCount
|
||||
this.info.ylCount = ylCount
|
||||
this.pageShow = true
|
||||
@@ -367,45 +391,53 @@ export default {
|
||||
|
||||
uni.hideLoading()
|
||||
})
|
||||
this.$http.post(`/app/apppreventionreturntopovertylog/list?pid=${id}&size=1000¤t=1`).then(res => {
|
||||
if (res.code === 0) {
|
||||
this.list = res.data.records.map(item => {
|
||||
return {
|
||||
...item,
|
||||
imgs: JSON.parse(item.picture)
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
// this.$http.post(`/app/apppreventionreturntopovertylog/list?pid=${this.id}&size=1000¤t=1`).then(res => {
|
||||
// if (res.code === 0) {
|
||||
// this.list = res.data.records.map(item => {
|
||||
// return {
|
||||
// ...item,
|
||||
// imgs: JSON.parse(item.picture)
|
||||
// }
|
||||
// })
|
||||
// }
|
||||
// })
|
||||
},
|
||||
|
||||
cancel() {
|
||||
this.$confirm('', '您确认要驳回此居民的监测对象申请吗?').then(() => {
|
||||
|
||||
})
|
||||
},
|
||||
|
||||
confirm() {
|
||||
this.$confirm('', '您确认要将此居民纳入监测对象吗?').then(() => {
|
||||
|
||||
examine(text, pass) {
|
||||
this.$confirm('', text).then(() => {
|
||||
this.$http.post(`/app/apppreventionreturntopoverty/examine?id=${this.id}&pass=${pass}`).then(res => {
|
||||
if (res.code === 0) {
|
||||
this.$u.toast('操作成功')
|
||||
uni.$emit('reload')
|
||||
this.getInfo()
|
||||
}
|
||||
})
|
||||
})
|
||||
},
|
||||
|
||||
del() {
|
||||
this.$confirm('', '您确认要要删除此监测对象的信息吗?').then(() => {
|
||||
|
||||
this.$http.post(`/app/apppreventionreturntopoverty/delete?ids=${this.id}`).then(res => {
|
||||
if (res.code === 0) {
|
||||
this.$u.toast('删除成功')
|
||||
uni.$emit('reload')
|
||||
setTimeout(() => {
|
||||
uni.navigateBack()
|
||||
})
|
||||
}
|
||||
})
|
||||
})
|
||||
},
|
||||
|
||||
remove() {
|
||||
this.$confirm('', '您确认要解除此监测对象的风险吗?').then(() => {
|
||||
|
||||
})
|
||||
},
|
||||
|
||||
submitRemove() {
|
||||
this.$confirm('', '您确认要申请解除此监测对象的风险吗?').then(() => {
|
||||
|
||||
remove(text, pass) {
|
||||
this.$confirm('', text).then(() => {
|
||||
this.$http.post(`/app/apppreventionreturntopoverty/relieve?id=${this.id}&pass=${pass}`).then(res => {
|
||||
if (res.code === 0) {
|
||||
this.$u.toast('操作成功')
|
||||
uni.$emit('reload')
|
||||
this.getInfo()
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
}
|
||||
@@ -415,7 +447,7 @@ export default {
|
||||
<style lang="scss">
|
||||
.detail {
|
||||
padding-top: 96px;
|
||||
padding-bottom: 60px;
|
||||
padding-bottom: 130px;
|
||||
|
||||
&.active {
|
||||
padding-top: 0;
|
||||
@@ -661,6 +693,9 @@ export default {
|
||||
background: #FFF;
|
||||
display: flex;
|
||||
box-shadow: inset 0px 1px 0px 0px #DDDDDD;
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
div{
|
||||
flex: 1;
|
||||
text-align: center;
|
||||
|
||||
@@ -1,49 +1,52 @@
|
||||
<template>
|
||||
<div class="List">
|
||||
<AiTopFixed>
|
||||
<div class="area">
|
||||
<i>可选范围</i>
|
||||
<span class="separat">/</span>
|
||||
<AiAreaPicker ref="area" class="aiArea" :value="areaId" :areaId="user.areaId" :name.sync="areaName" mode="custom"
|
||||
@select="seachObj">
|
||||
<span class="label" v-if="areaName">{{ areaName }}</span>
|
||||
<i v-else>请选择</i>
|
||||
</AiAreaPicker>
|
||||
</div>
|
||||
<div class="line"></div>
|
||||
<u-tabs :list="tabList" :is-scroll="false" :current="currentTabs" height="96" bar-width="150" @change="change"></u-tabs>
|
||||
<div class="seach-obj">
|
||||
<u-search v-model="keyword" :clearabled="true" placeholder="请输入姓名/身份证号" :show-action="false" bg-color="#F5F5F5"
|
||||
search-icon-color="#E2E8F1" color="#666" height="58" @search="handerSearch" @clear="handerClear">
|
||||
</u-search>
|
||||
</div>
|
||||
</AiTopFixed>
|
||||
<div class="list-data" v-if="list.length > 0">
|
||||
<div class="item" v-for="(item, iindex) in list" :key="iindex" @click="toDetail(item)">
|
||||
<div class="left">
|
||||
<img :src="item.photo" alt="" v-if="item.photo"/>
|
||||
<img src="./components/img/user-img.png" alt="" v-else/>
|
||||
<div v-if="isAdmin">
|
||||
<AiTopFixed>
|
||||
<div class="area">
|
||||
<i>可选范围</i>
|
||||
<span class="separat">/</span>
|
||||
<AiAreaPicker ref="area" class="aiArea" :value="areaId" :areaId="user.areaId" :name.sync="areaName" mode="custom"
|
||||
@select="seachObj">
|
||||
<span class="label" v-if="areaName">{{ areaName }}</span>
|
||||
<i v-else>请选择</i>
|
||||
</AiAreaPicker>
|
||||
</div>
|
||||
<div class="right">
|
||||
<div class="right-top">
|
||||
<span class="name">{{ item.name }}</span>
|
||||
<span class="status status0">待纳入</span>
|
||||
<div class="line"></div>
|
||||
<u-tabs :list="tabList" :is-scroll="false" :current="currentTabs" height="96" bar-width="150" @change="change"></u-tabs>
|
||||
<div class="seach-obj">
|
||||
<u-search v-model="keyword" :clearabled="true" placeholder="请输入姓名/身份证号" :show-action="false" bg-color="#F5F5F5"
|
||||
search-icon-color="#E2E8F1" color="#666" height="58" @search="handerSearch" @clear="handerClear">
|
||||
</u-search>
|
||||
</div>
|
||||
</AiTopFixed>
|
||||
<div class="list-data" v-if="list.length > 0">
|
||||
<div class="item" v-for="(item, iindex) in list" :key="iindex" @click="toDetail(item)">
|
||||
<div class="left">
|
||||
<img :src="item.photo" alt="" v-if="item.photo"/>
|
||||
<img src="./components/img/user-img.png" alt="" v-else/>
|
||||
</div>
|
||||
<div class="right-bottom">
|
||||
<p>{{ item.idNumber || '' }}</p>
|
||||
<p>{{ item.addressArea }}</p>
|
||||
<div class="right">
|
||||
<div class="right-top">
|
||||
<span class="name">{{ item.name }}</span>
|
||||
<span class="status" :class="`status${item.status}`">{{ $dict.getLabel('fpPrtpStatus', item.status) }}</span>
|
||||
</div>
|
||||
<div class="right-bottom">
|
||||
<p>{{ item.idNumber || '' }}</p>
|
||||
<p>{{ item.currentAddress || '' }} {{ item.address || '' }}</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<AiEmpty class="emptyWrap" v-else></AiEmpty>
|
||||
<AiFixedBtn>
|
||||
<div class="addBtn iconfont iconfont-iconfangda" @tap="toAdd"></div>
|
||||
</AiFixedBtn>
|
||||
</div>
|
||||
<div v-else class="empty">
|
||||
<img src="https://cdn.cunwuyun.cn/dvcp/h5/no-admin.png" alt="">
|
||||
<p>没有网格员权限<br />无法查看监测信息哦~</p>
|
||||
<!-- <div class="add-btn" @click="linkTo('./AddUser')">网格员信息申报</div> -->
|
||||
</div>
|
||||
<!-- <div class="empty" v-else>
|
||||
<img src="https://cdn.cunwuyun.cn/dvcp/h5/no-data.png" alt="">
|
||||
<p>暂无居民信息<br/>点击<span @click="edit('')">新增按钮</span>新增居民信息,也可在管理系统批量导入</p>
|
||||
</div> -->
|
||||
<AiEmpty class="emptyWrap" v-else></AiEmpty>
|
||||
<AiFixedBtn>
|
||||
<div class="addBtn iconfont iconfont-iconfangda" @tap="toAdd"></div>
|
||||
</AiFixedBtn>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -69,6 +72,7 @@ export default {
|
||||
currentTabs: 0,
|
||||
areaId: '',
|
||||
areaName: '',
|
||||
isAdmin: false
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
@@ -77,19 +81,43 @@ export default {
|
||||
created() {
|
||||
this.areaId = this.user.areaId
|
||||
this.areaName = this.user.areaName
|
||||
this.getList()
|
||||
this.$dict.load('fpPrtpStatus').then(() => {
|
||||
this.isGirdUser()
|
||||
})
|
||||
|
||||
},
|
||||
onShow() {
|
||||
document.title = '监测对象'
|
||||
uni.$on('reload', () => {
|
||||
this.getListInit()
|
||||
})
|
||||
},
|
||||
methods: {
|
||||
isGirdUser() {
|
||||
this.isAdmin = false
|
||||
this.$http.post('/app/appgirdmemberinfo/checkLogOnUser').then((res) => {
|
||||
if (res.code == 0) {
|
||||
if (res.data.checkType != '0') {
|
||||
this.isAdmin = true
|
||||
this.getList()
|
||||
}
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
getListInit() {
|
||||
this.current = 1
|
||||
this.list = []
|
||||
this.getList()
|
||||
},
|
||||
|
||||
getList() {
|
||||
this.$http.post('/app/apppreventionreturntopoverty/list', null, {
|
||||
this.$http.post('/app/appgirdmemberpoverty/listByGirdMember', null, {
|
||||
params: {
|
||||
current: this.current,
|
||||
size: 15,
|
||||
status: this.currIndex === 1 ? '1' : '',
|
||||
addressAreaId: this.areaId,
|
||||
status: this.currIndex == 1 ? '3' : '1',
|
||||
// addressAreaId: this.areaId,
|
||||
name: this.keyword
|
||||
},
|
||||
})
|
||||
@@ -109,9 +137,7 @@ export default {
|
||||
|
||||
change(index) {
|
||||
this.currentTabs = index
|
||||
this.current = 1
|
||||
this.list = []
|
||||
this.getList()
|
||||
this.getListInit()
|
||||
},
|
||||
|
||||
toDetail(item) {
|
||||
@@ -120,20 +146,17 @@ export default {
|
||||
|
||||
seachObj(e) {
|
||||
this.areaId = e
|
||||
this.current = 1
|
||||
this.getList()
|
||||
this.getListInit()
|
||||
},
|
||||
|
||||
handerSearch(e) {
|
||||
this.keyword = e
|
||||
this.current = 1
|
||||
this.getList()
|
||||
this.getListInit()
|
||||
},
|
||||
|
||||
handerClear() {
|
||||
this.keyword = ''
|
||||
this.current = 1
|
||||
this.getList()
|
||||
this.getListInit()
|
||||
},
|
||||
toAdd() {
|
||||
uni.navigateTo({url: './Add'})
|
||||
@@ -294,31 +317,9 @@ export default {
|
||||
}
|
||||
|
||||
.emptyWrap {
|
||||
background: #f5f5f5;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.empty {
|
||||
height: 100%;
|
||||
|
||||
img {
|
||||
width: 282px;
|
||||
height: 306px;
|
||||
margin: 168px 0 0 234px;
|
||||
}
|
||||
|
||||
p {
|
||||
text-align: center;
|
||||
font-size: 28px;
|
||||
font-family: PingFangSC-Regular, PingFang SC;
|
||||
color: #999;
|
||||
line-height: 44px;
|
||||
|
||||
span {
|
||||
color: #467DFE;
|
||||
}
|
||||
}
|
||||
}
|
||||
::v-deep .AiTopFixed .content{
|
||||
padding: 0;
|
||||
}
|
||||
@@ -338,5 +339,30 @@ export default {
|
||||
align-items: center;
|
||||
display: flex;
|
||||
}
|
||||
.empty{
|
||||
text-align: center;
|
||||
img{
|
||||
width: 282px;
|
||||
height: 306px;
|
||||
margin: 136px auto 0;
|
||||
}
|
||||
p{
|
||||
font-size: 28px;
|
||||
font-family: PingFangSC-Regular, PingFang SC;
|
||||
color: #999;
|
||||
line-height: 40px;
|
||||
}
|
||||
.add-btn{
|
||||
width: 400px;
|
||||
height: 88px;
|
||||
line-height: 88px;
|
||||
text-align: center;
|
||||
border-radius: 8px;
|
||||
background-color: #3267f0;
|
||||
color: #fff;
|
||||
font-size: 30px;
|
||||
margin: 200px auto 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
Reference in New Issue
Block a user