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