10 changed files with 414 additions and 61 deletions
@ -0,0 +1,316 @@ |
|||
<template> |
|||
<el-card shadow="never" |
|||
class="aui-card--fill"> |
|||
<div class="mod-epdc__user}"> |
|||
<el-form :inline="true" |
|||
:model="dataForm" |
|||
@keyup.enter.native="getDataList()"> |
|||
<el-form-item label="昵称"> |
|||
<el-input v-model="dataForm.nickname" |
|||
placeholder="请输入" |
|||
clearable></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="姓名"> |
|||
<el-input v-model="dataForm.realName" |
|||
placeholder="请输入" |
|||
clearable></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="手机号"> |
|||
<el-input v-model="dataForm.mobile" |
|||
placeholder="请输入" |
|||
clearable></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="身份证号"> |
|||
<el-input v-model="dataForm.identityNo" |
|||
placeholder="请输入" |
|||
clearable></el-input> |
|||
</el-form-item> |
|||
<div class="block"> |
|||
<span class="demonstration">注册时间</span> |
|||
<el-date-picker @change='setRegistTime' |
|||
v-model="time" |
|||
value-format="yyyy-MM-dd" |
|||
type="daterange" |
|||
range-separator="至" |
|||
start-placeholder="开始日期" |
|||
end-placeholder="结束日期"></el-date-picker> |
|||
<el-form-item> |
|||
<el-button @click="getDataList()">{{ $t('query') }}</el-button> |
|||
</el-form-item> |
|||
</div> |
|||
</el-form> |
|||
<el-table v-loading="dataListLoading" |
|||
:data="dataList" |
|||
border |
|||
@selection-change="dataListSelectionChangeHandle" |
|||
style="width: 100%;"> |
|||
<el-table-column type="selection" |
|||
header-align="center" |
|||
align="center" |
|||
width="50"></el-table-column> |
|||
<el-table-column prop="nickname" |
|||
label="昵称" |
|||
header-align="center" |
|||
align="center"></el-table-column> |
|||
<el-table-column prop="faceImg" |
|||
label="微信头像" |
|||
header-align="center" |
|||
align="center"> |
|||
<template slot-scope="scope"> |
|||
<img :src="scope.row.faceImg" |
|||
width="40" |
|||
height="40" /> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column prop="realName" |
|||
label="真实姓名" |
|||
header-align="center" |
|||
align="center"></el-table-column> |
|||
<el-table-column prop="mobile" |
|||
label="手机号" |
|||
header-align="center" |
|||
align="center"></el-table-column> |
|||
<el-table-column prop="identityNo" |
|||
label="身份证号" |
|||
header-align="center" |
|||
align="center"></el-table-column> |
|||
<el-table-column prop="state" |
|||
label="用户认证状态" |
|||
header-align="center" |
|||
:formatter="formatState" |
|||
align="center"></el-table-column> |
|||
<el-table-column prop="partyFlag" |
|||
label="用户党员状态" |
|||
header-align="center" |
|||
:formatter="formatPartyFlag" |
|||
align="center"></el-table-column> |
|||
<el-table-column prop="registerTime" |
|||
label="用户认证时间" |
|||
header-align="center" |
|||
align="center"></el-table-column> |
|||
<el-table-column prop="createdTime" |
|||
label="用户注册时间" |
|||
header-align="center" |
|||
align="center"></el-table-column> |
|||
<el-table-column prop="address" |
|||
label="居住地址" |
|||
header-align="center" |
|||
align="center"></el-table-column> |
|||
<el-table-column prop="allDeptNames" |
|||
label="居住网格" |
|||
header-align="center" |
|||
align="center"></el-table-column> |
|||
</el-table> |
|||
<el-pagination :current-page="page" |
|||
:page-sizes="[10, 20, 50, 100]" |
|||
:page-size="limit" |
|||
:total="total" |
|||
layout="total, sizes, prev, pager, next, jumper" |
|||
@size-change="pageSizeChangeHandle" |
|||
@current-change="pageCurrentChangeHandle"></el-pagination> |
|||
<!-- 弹窗, 新增 / 修改 --> |
|||
<add-or-update v-if="addOrUpdateVisible" |
|||
ref="addOrUpdate" |
|||
@refreshDataList="getDataList"></add-or-update> |
|||
<user-detail v-if="userDetailVisible" |
|||
ref="userDetail" |
|||
@refreshDataList="getDataList"></user-detail> |
|||
<user-grid v-if="userGridVisible" |
|||
ref="userGrid" |
|||
@refreshDataList="getDataList"></user-grid> |
|||
</div> |
|||
</el-card> |
|||
</template> |
|||
|
|||
<script> |
|||
import mixinViewModule from '@/mixins/view-module' |
|||
import AddOrUpdate from './user-add-or-update' |
|||
import UserDetail from './user-detail' |
|||
import UserGrid from './user-grid' |
|||
export default { |
|||
mixins: [mixinViewModule], |
|||
data () { |
|||
return { |
|||
mixinViewModuleOptions: { |
|||
getDataListURL: 'app-user/user/alluserpage', |
|||
getDataListIsPage: true, |
|||
deleteURL: '/app-use/user', |
|||
deleteIsBatch: true, |
|||
exportURL: '/app-user/user/export' |
|||
}, |
|||
dataForm: { |
|||
id: '', |
|||
nickname: '', |
|||
identityNo: '', |
|||
gridId: '', |
|||
realName: '', |
|||
mobile: '', |
|||
startTime: '', |
|||
endTime: '', |
|||
}, |
|||
deptIdList: [], |
|||
options: [], |
|||
userDetailVisible: false, |
|||
userGridVisible: false, |
|||
streetOptions: [], |
|||
communityOptions: [], |
|||
gridOptions: [], |
|||
time: '', |
|||
tabFlag: '3', |
|||
state: '未认证用户', |
|||
partyFlagOptions: [{ id: '1', name: '是' }, { id: '0', name: '否' }] |
|||
} |
|||
}, |
|||
created () { |
|||
// this.getStreetList() |
|||
// this.$http |
|||
// .get(`/sys/user/deptOptions/getByLoginUser`) |
|||
// .then(({ data: res }) => { |
|||
// if (res.code !== 0) { |
|||
// return this.$message.error(res.msg) |
|||
// } |
|||
// this.options = res.data.options |
|||
// }) |
|||
// .catch(() => { }) |
|||
}, |
|||
watch: { |
|||
'deptIdList': function (val) { |
|||
if (val.length === 0) { |
|||
this.dataForm.streetId = '' |
|||
this.dataForm.communityId = '' |
|||
this.dataForm.gridId = '' |
|||
} |
|||
if (val.length === 1) { |
|||
this.dataForm.streetId = this.deptIdList[0] |
|||
this.dataForm.communityId = '' |
|||
this.dataForm.gridId = '' |
|||
} |
|||
if (val.length === 2) { |
|||
this.dataForm.streetId = this.deptIdList[0] |
|||
this.dataForm.communityId = this.deptIdList[1] |
|||
this.dataForm.gridId = '' |
|||
} |
|||
if (val.length === 3) { |
|||
this.dataForm.streetId = this.deptIdList[0] |
|||
this.dataForm.communityId = this.deptIdList[1] |
|||
this.dataForm.gridId = this.deptIdList[2] |
|||
} |
|||
} |
|||
}, |
|||
methods: { |
|||
getStreetList () { |
|||
this.$http.get(`/sys/dept/sublist/` + (localStorage.getItem('street') === null ? '1169154711480528897' : localStorage.getItem('street'))).then(({ data: res }) => { |
|||
if (res.code !== 0) { |
|||
return this.$message.error(res.msg) |
|||
} |
|||
this.streetOptions = res.data |
|||
}).catch(() => { }) |
|||
}, |
|||
getCommunityList () { |
|||
this.communityOptions = this.gridOptions = [] |
|||
this.dataForm.communityId = this.dataForm.gridId = null |
|||
if (this.dataForm.streetId) { |
|||
this.$http.get(`/sys/dept/sublist/` + this.dataForm.streetId).then(({ data: res }) => { |
|||
if (res.code !== 0) { |
|||
return this.$message.error(res.msg) |
|||
} |
|||
this.communityOptions = res.data |
|||
}).catch(() => { }) |
|||
} |
|||
}, |
|||
getGridList () { |
|||
this.gridOptions = [] |
|||
this.dataForm.gridId = null |
|||
if (this.dataForm.communityId) { |
|||
this.$http.get(`/sys/dept/sublist/` + this.dataForm.communityId).then(({ data: res }) => { |
|||
if (res.code !== 0) { |
|||
return this.$message.error(res.msg) |
|||
} |
|||
this.gridOptions = res.data |
|||
}).catch(() => { }) |
|||
} |
|||
}, |
|||
setRegistTime () { |
|||
this.dataForm.startTime = this.time[0] |
|||
this.dataForm.endTime = this.time[1] |
|||
}, |
|||
formatState: function (row, column) { |
|||
let state = row.state |
|||
if (state === '1') { |
|||
return '待审核' |
|||
} else if (state === '2') { |
|||
return '审核不通过' |
|||
} else if (state === '3') { |
|||
return '审核通过' |
|||
} else if (state === '0') { |
|||
return '已注册' |
|||
} |
|||
}, |
|||
formatPartyFlag: function (row, column) { |
|||
return row.partyFlag === '1' ? '是' : row.state === '0' ? '未知' : '否' |
|||
}, |
|||
formatState: function (row, column) { |
|||
if (row.state == 0) { |
|||
return '已注册' |
|||
} else if (row.state == 1) { |
|||
return '已完善信息待审核' |
|||
} else if (row.state == 2) { |
|||
return '信息审核不通过' |
|||
} else if (row.state == 3) { |
|||
return '信息审核通过' |
|||
} |
|||
}, |
|||
// 获取数据列表 |
|||
getDataList () { |
|||
if (this.time === null) { |
|||
this.dataForm.startTime = '' |
|||
this.dataForm.endTime = '' |
|||
} |
|||
this.dataListLoading = true |
|||
this.$http.get( |
|||
this.mixinViewModuleOptions.getDataListURL, |
|||
{ |
|||
params: { |
|||
order: this.order, |
|||
orderField: this.orderField, |
|||
page: this.mixinViewModuleOptions.getDataListIsPage ? this.page : null, |
|||
limit: this.mixinViewModuleOptions.getDataListIsPage ? this.limit : null, |
|||
...this.dataForm |
|||
} |
|||
} |
|||
).then(({ data: res }) => { |
|||
this.dataListLoading = false |
|||
if (res.code !== 0) { |
|||
this.dataList = [] |
|||
this.total = 0 |
|||
return this.$message.error(res.msg) |
|||
} |
|||
this.dataList = this.mixinViewModuleOptions.getDataListIsPage ? res.data.list : res.data |
|||
this.total = this.mixinViewModuleOptions.getDataListIsPage ? res.data.total : 0 |
|||
}).catch(() => { |
|||
this.dataListLoading = false |
|||
}) |
|||
}, |
|||
userDetailHandle (userId) { |
|||
this.userDetailVisible = true |
|||
this.$nextTick(() => { |
|||
this.$refs.userDetail.dataForm.id = userId |
|||
this.$refs.userDetail.init() |
|||
}) |
|||
}, |
|||
// 管理网格 |
|||
userGridHandle (userId) { |
|||
this.userGridVisible = true |
|||
this.$nextTick(() => { |
|||
this.$refs.userGrid.dataForm.id = userId |
|||
this.$refs.userGrid.init() |
|||
}) |
|||
} |
|||
}, |
|||
components: { |
|||
AddOrUpdate, |
|||
UserDetail, |
|||
UserGrid |
|||
} |
|||
} |
|||
</script> |
|||
Loading…
Reference in new issue