BUG 28230

This commit is contained in:
aixianling
2022-03-15 16:18:00 +08:00
parent 90c7e0e07d
commit fb6d76188d

View File

@@ -1,84 +1,85 @@
<template> <template>
<div class="detail"> <div class="detail">
<div class="tab-select"> <template v-if="hasGridPermit">
<div class="item" :class="tabIndex == index ? 'active' : ''" v-for="(item, index) in tabs" :key="index" <div class="tab-select">
@click="tabClick(index)">{{ item }}<span></span></div> <div class="item" :class="tabIndex == index ? 'active' : ''" v-for="(item, index) in tabs" :key="index"
</div> @click="tabClick(index)">{{ item }}<span></span></div>
<div class="area-select">
<div class="select-content">
<div class="area-content">
<AiPagePicker type="gird" isMyGird @select="handleGridSelect">
<AiMore v-model="gridName" placeholder="选择网格"/>
</AiPagePicker>
<!-- <AiAreaPicker :areaId="user.areaId" v-model="areaId" @select="areaSelect" :name.sync="areaName">-->
<!-- <img src="../img/local-icon.png" alt=""/>-->
<!-- <span class="label" v-if="areaName">{{ areaName }}</span>-->
<!-- <span v-else>请选择</span>-->
<!-- <u-icon name="arrow-down" color="#666" size="24"/>-->
<!-- </AiAreaPicker>-->
</div>
<div class="search-input" v-if="tabIndex">
<img src="../img/search-icon.png" alt=""/>
<u-input type="text" placeholder="请输入姓名" placeholder-style="color:#999;font-size:13px;" height="18"
v-model="search.name" @confirm="getUserList" :clearable="false" maxlength="6"/>
</div>
</div> </div>
</div> <div class="area-select">
<div class="select-content">
<div v-if="!tabIndex"> <div class="area-content">
<div class="info-content"> <AiPagePicker type="gird" isMyGird @select="handleGridSelect">
<div class="title">特殊人群</div> <AiMore v-model="gridName" placeholder="选择网格"/>
<div class="num-content"> </AiPagePicker>
<div class="num-item" v-for="(item, index) in statisticsList" :key="index"> <!-- <AiAreaPicker :areaId="user.areaId" v-model="areaId" @select="areaSelect" :name.sync="areaName">-->
<h3 v-text="item.value"/> <!-- <img src="../img/local-icon.png" alt=""/>-->
<p v-text="item.label"/> <!-- <span class="label" v-if="areaName">{{ areaName }}</span>-->
<!-- <span v-else>请选择</span>-->
<!-- <u-icon name="arrow-down" color="#666" size="24"/>-->
<!-- </AiAreaPicker>-->
</div> </div>
<AiEmpty v-if="!statisticsList.length"/> <div class="search-input" v-if="tabIndex">
</div> <img src="../img/search-icon.png" alt=""/>
</div> <u-input type="text" placeholder="请输入姓名" placeholder-style="color:#999;font-size:13px;" height="18"
<div class="info-content"> v-model="search.name" @confirm="getUserList" :clearable="false" maxlength="6"/>
<div class="title">本月新增</div>
<div class="num-content color-org">
<div class="num-item" v-for="(item, index) in statisticsListMon" :key="index">
<h3>{{ item.value }}</h3>
<p>{{ item.label }}</p>
</div> </div>
<AiEmpty v-if="!statisticsListMon.length"/>
</div> </div>
</div> </div>
</div> <div v-if="!tabIndex">
<div v-else> <div class="info-content">
<div class="item-content" v-for="(item, index) in userList" :key="index"> <div class="title">特殊人群</div>
<div class="title" @click="showUserType(index)"> <div class="num-content">
<h2>{{ item.label }}</h2> <div class="num-item" v-for="(item, index) in statisticsList" :key="index">
<img src="../img/down-icon.png" alt="" :class="item.check ? 'img-active' : ''"/> <h3 v-text="item.value"/>
</div> <p v-text="item.label"/>
<div class="user-list" v-if="item.check">
<div class="user-item" v-for="(e, indexs) in item.value" :key="indexs" @click="showDetail(e)">
<div class="user-img">
<img src="../img/user-img.png" alt=""/>
</div> </div>
<div class="user-info"> <AiEmpty v-if="!statisticsList.length"/>
<p class="name">{{ e.name }} </div>
<span class="btn-icon" v-if="gridType != 0 && user.wxUserId == e.createUserId"> </div>
<div class="info-content">
<div class="title">本月新增</div>
<div class="num-content color-org">
<div class="num-item" v-for="(item, index) in statisticsListMon" :key="index">
<h3>{{ item.value }}</h3>
<p>{{ item.label }}</p>
</div>
<AiEmpty v-if="!statisticsListMon.length"/>
</div>
</div>
</div>
<div v-else>
<div class="item-content" v-for="(item, index) in userList" :key="index">
<div class="title" @click="showUserType(index)">
<h2>{{ item.label }}</h2>
<img src="../img/down-icon.png" alt="" :class="item.check ? 'img-active' : ''"/>
</div>
<div class="user-list" v-if="item.check">
<div class="user-item" v-for="(e, indexs) in item.value" :key="indexs" @click="showDetail(e)">
<div class="user-img">
<img src="../img/user-img.png" alt=""/>
</div>
<div class="user-info">
<p class="name">{{ e.name }}
<span class="btn-icon" v-if="hasGridPermit && user.wxUserId == e.createUserId">
<img src="../img/edit-icon.png" alt="" @click.stop="toEdit(e,item.dictValue)"> <img src="../img/edit-icon.png" alt="" @click.stop="toEdit(e,item.dictValue)">
<img src="../img/del-icon.png" alt="" @click.stop="del(e,item.dictValue)"> <img src="../img/del-icon.png" alt="" @click.stop="del(e,item.dictValue)">
</span> </span>
</p> </p>
<div class="phone"> <div class="phone">
<span>{{ idNumberInit(e.idNumber) }}</span> <span>{{ idNumberInit(e.idNumber) }}</span>
<span>{{ e.phone }}</span> <span>{{ e.phone }}</span>
</div>
</div> </div>
</div> </div>
<p class="text" v-if="!item.value.length">{{ '暂无' + item.label + '信息' }}</p>
</div> </div>
<p class="text" v-if="!item.value.length">{{ '暂无' + item.label + '信息' }}</p> </div>
<div class="footer" @click="toAdd">
<div class="btn">新增特殊人群信息</div>
</div> </div>
</div> </div>
<div class="footer" @click="toAdd"> </template>
<div class="btn">新增特殊人群信息</div> <AiEmpty description="没有网格员权限<br>无法查看网格信息哦" v-else/>
</div>
</div>
</div> </div>
</template> </template>
@@ -100,14 +101,20 @@ export default {
search: {name: ''} search: {name: ''}
} }
}, },
computed: {...mapState(['user'])}, computed: {
...mapState(['user']),
hasGridPermit() {
return this.gridType != 0
}
},
created() { created() {
this.$dict.load('appSpecialTypeFive') this.$dict.load('appSpecialTypeFive')
}, },
onShow() { onShow() {
document.title = '特殊人群管理' document.title = '特殊人群管理'
this.isGirdUser() this.isGirdUser().then(() => {
this.getDatas() this.hasGridPermit && this.getDatas()
})
}, },
methods: { methods: {
getDatas() { getDatas() {
@@ -219,9 +226,10 @@ export default {
}) })
}, },
isGirdUser() { isGirdUser() {
this.$http.post('/app/appgirdmemberinfo/checkLogOnUser').then((res) => { return this.$http.post('/app/appgirdmemberinfo/checkLogOnUser').then((res) => {
if (res?.data) { if (res?.data) {
this.gridType = res.data.checkType this.search.girdId = res.data.girdId
return this.gridType = res.data.checkType
} }
}) })
}, },