4 changed files with 939 additions and 0 deletions
@ -0,0 +1,152 @@ |
|||
<template> |
|||
<el-dialog :visible="visible" |
|||
append-to-body |
|||
@close="visible = false" |
|||
title="提示-身份证号重复"> |
|||
<el-form :model="dataForm" |
|||
:rules="dataRule" |
|||
ref="dataForm" |
|||
@keyup.enter.native="dataFormSubmitHandle()" |
|||
:label-width="$i18n.locale === 'en-US' ? '120px' : '80px'"> |
|||
<p> |
|||
党员库中存在与该用户相同身份证号的用户,用户信息如下: |
|||
</p> |
|||
<el-table v-loading="dataListLoading" |
|||
:data="partyMembers" |
|||
border |
|||
@row-click.native="detail" |
|||
style="width: 100%;"> |
|||
<el-table-column label="选择" |
|||
align="center" |
|||
width="50px"> |
|||
<template slot-scope="scope"> |
|||
<el-checkbox v-model="scope.row.checked" |
|||
@change="changeCurrentRow($event, scope.$index, scope.row.id)" > |
|||
</el-checkbox> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="序号" |
|||
align="center" |
|||
width="50px"><template slot-scope="scope">{{scope.$index+1}}</template></el-table-column> |
|||
<el-table-column prop="realName" |
|||
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="mobile" |
|||
label="手机号" |
|||
header-align="center" |
|||
align="center"></el-table-column> |
|||
</el-table> |
|||
<p style="font-size: 13px;color: red;"> |
|||
注意:“通过并更新党员库信息”会将党员库中的原始数据更新,并将用户认证通过为党员,请谨慎操作。 |
|||
</p> |
|||
</el-form> |
|||
<template slot="footer"> |
|||
<el-button type="primary" |
|||
:disabled="isAble" |
|||
@click="passAndUpdatePartyMemberInfo()">{{ '通过并更新党员库信息' }}</el-button> |
|||
<el-button @click="visible = false">{{ $t('cancel') }}</el-button> |
|||
</template> |
|||
</el-dialog> |
|||
</template> |
|||
|
|||
<script> |
|||
import mixinViewModule from '@/mixins/view-module' |
|||
|
|||
export default { |
|||
mixins: [mixinViewModule], |
|||
data () { |
|||
return { |
|||
visible: false, |
|||
isAble: false, |
|||
dataForm: { |
|||
id: '', |
|||
partyFlag: '', |
|||
state: '', |
|||
remark: '', |
|||
realName: '', |
|||
mobile: '', |
|||
identityNo: '', |
|||
partyMemberId: '' |
|||
}, |
|||
partyMembers: [] |
|||
} |
|||
}, |
|||
computed: { |
|||
dataRule () { |
|||
return { |
|||
} |
|||
} |
|||
}, |
|||
methods: { |
|||
init () { |
|||
this.visible = true |
|||
this.$nextTick(() => { |
|||
this.$refs['dataForm'].resetFields() |
|||
this.dataForm.partyMemberId = '' |
|||
for (let index in this.partyMembers) { |
|||
this.partyMembers[index].checked = false |
|||
} |
|||
}) |
|||
}, |
|||
changeCurrentRow (val, rowIndex, id) { |
|||
const data = this.partyMembers |
|||
for (let index in data) { |
|||
let index1 = parseInt(index) |
|||
if (index1 === rowIndex) { |
|||
data[index1].checked = val |
|||
if (val) { |
|||
this.dataForm.partyMemberId = id |
|||
} else { |
|||
this.dataForm.partyMemberId = '' |
|||
} |
|||
} else { |
|||
data[index1].checked = false |
|||
} |
|||
} |
|||
this.partyMembers = data |
|||
}, |
|||
detail (row, column) { |
|||
if (column.property === 'checked') { |
|||
} |
|||
}, |
|||
passAndUpdatePartyMemberInfo () { |
|||
if (this.dataForm.partyMemberId === '') { |
|||
return this.$message.error('请选择一条更新记录') |
|||
} |
|||
this.isAble = true |
|||
let postData = { |
|||
userId: this.dataForm.id, |
|||
state: this.dataForm.state, |
|||
partyFlag: this.dataForm.partyFlag, |
|||
remark: this.dataForm.remark, |
|||
realName: this.dataForm.realName, |
|||
mobile: this.dataForm.mobile, |
|||
identityNo: this.dataForm.identityNo, |
|||
partyMemberId: this.dataForm.partyMemberId |
|||
} |
|||
this.$http[!this.dataForm.id ? 'post' : 'post']('/app-user/user/updatePartyInfo/', postData).then(({ data: res }) => { |
|||
this.isAble = false |
|||
if (res.code !== 0) { |
|||
return this.$message.error(res.msg) |
|||
} |
|||
this.$message({ |
|||
message: this.$t('prompt.success'), |
|||
type: 'success', |
|||
duration: 500, |
|||
onClose: () => { |
|||
this.visible = false |
|||
this.$emit('secondDialogCallBack', true) |
|||
} |
|||
}) |
|||
}).catch(() => { }) |
|||
} |
|||
}, |
|||
components: { |
|||
} |
|||
} |
|||
</script> |
@ -0,0 +1,290 @@ |
|||
<template> |
|||
<el-dialog :visible.sync="visible" |
|||
title="审核" |
|||
:modal-append-to-body="false" |
|||
:close-on-click-modal="false" |
|||
:close-on-press-escape="false"> |
|||
<el-form :model="dataForm" |
|||
:rules="dataRule" |
|||
ref="dataForm" |
|||
@keyup.enter.native="dataFormSubmitHandle()" |
|||
:label-width="$i18n.locale === 'en-US' ? '120px' : '80px'"> |
|||
<el-form-item label="姓名" |
|||
prop="realName"> |
|||
<el-input v-model="dataForm.realName" |
|||
placeholder="请输入" |
|||
clearable></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="手机号" |
|||
prop="mobile"> |
|||
<el-input v-model="dataForm.mobile" |
|||
placeholder="请输入" |
|||
clearable></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="身份证号" |
|||
prop="identityNo"> |
|||
<el-input v-model="dataForm.identityNo" |
|||
placeholder="请输入" |
|||
clearable></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="认证网格" |
|||
prop="allDeptNames"> |
|||
<span>{{dataForm.allDeptNames}}</span> |
|||
</el-form-item> |
|||
<el-form-item label="居民住址" |
|||
prop="address"> |
|||
<span>{{dataForm.address}}</span> |
|||
</el-form-item> |
|||
<el-form-item label="认证历史" |
|||
prop="realName" |
|||
v-if="true"> |
|||
<span>累计提交认证{{dataForm.totalSubmitNum}}次 通过{{dataForm.totalPassSubmitNum}}次, 不通过{{dataForm.totalFailNum}}次</span> |
|||
|
|||
<el-button type="text" size="small" @click="userAuthenticateHistoryListHandle(dataForm.id)">查看详情</el-button> |
|||
</el-form-item> |
|||
<el-form-item label="是否党员" |
|||
prop="partyFlag"> |
|||
<template> |
|||
<el-radio v-model="dataForm.partyFlag" |
|||
label="1">是</el-radio> |
|||
<el-radio v-model="dataForm.partyFlag" |
|||
label="0">否</el-radio> |
|||
</template> |
|||
<p style="font-size: 13px;color: red;line-height: 30px"> |
|||
选“是”该用户会认证为党员,并加入到已认证党列表<br> |
|||
选“否”该用户会认证为居民,并加入已认证居民列表 |
|||
</p> |
|||
</el-form-item> |
|||
<el-form-item label="扫码网格"> |
|||
<el-table :data="userGridList" |
|||
style="width: 100%"> |
|||
<el-table-column prop="allDeptNames" |
|||
label="街道-社区-网格"> |
|||
</el-table-column> |
|||
<el-table-column prop="grid" |
|||
label="网格名称" v-if="false"> |
|||
</el-table-column> |
|||
<el-table-column prop="leaderFlag" |
|||
label="是否为网格长" |
|||
:formatter="showLeaderFlagFormatter"> |
|||
</el-table-column> |
|||
</el-table> |
|||
</el-form-item> |
|||
<el-form-item label="认证备注" |
|||
prop="remark"> |
|||
<el-input v-model="dataForm.remark" |
|||
maxlength="50" |
|||
show-word-limit |
|||
placeholder="审核备注"></el-input> |
|||
</el-form-item> |
|||
</el-form> |
|||
<template slot="footer"> |
|||
<el-button @click="visible = false">{{ $t('cancel') }}</el-button> |
|||
<el-button type="primary" |
|||
:disabled="isAble" |
|||
@click="dataFormSubmitHandle()">{{ $t('confirm') }}</el-button> |
|||
</template> |
|||
<!-- 身份证号重复 --> |
|||
<identityno-repeat v-if="identityNoRepeatVisible" |
|||
@secondDialogCallBack="secondDialogCallBack" |
|||
ref="identitynoRepeat"></identityno-repeat> |
|||
<!-- 姓名重复 --> |
|||
<real-name-repeat v-if="realNameRepeatVisible" |
|||
@secondDialogCallBack="secondDialogCallBack" |
|||
ref="realNameRepeat"></real-name-repeat> |
|||
<authenticate-history v-if="authenticateHistoryVisible" |
|||
ref="authenticateHistory"></authenticate-history> |
|||
</el-dialog> |
|||
</template> |
|||
|
|||
<script> |
|||
import debounce from 'lodash/debounce' |
|||
import IdentitynoRepeat from './identityno-repeat' |
|||
import RealNameRepeat from './real-name-repeat' |
|||
import AuthenticateHistory from './authenticate-history' |
|||
|
|||
export default { |
|||
data () { |
|||
return { |
|||
visible: false, |
|||
identityNoRepeatVisible: false, |
|||
realNameRepeatVisible: false, |
|||
isAble: false, |
|||
dataForm: { |
|||
id: '', |
|||
partyFlag: '', |
|||
cadreFlag: '', |
|||
state: '', |
|||
tagIds: [], |
|||
remark: '', |
|||
totalSubmitNum: '', |
|||
totalPassSubmitNum: '', |
|||
totalFailNum: '', |
|||
realName: '', |
|||
mobile: '', |
|||
identityNo: '' |
|||
}, |
|||
authenticateHistoryVisible: false, |
|||
cadreOptions: [{ cadreFlag: '1', cadreTitle: '是' }, { cadreFlag: '0', cadreTitle: '否' }], |
|||
tagOptions: [], |
|||
userGridList: [] |
|||
} |
|||
}, |
|||
computed: { |
|||
dataRule () { |
|||
return { |
|||
realName: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
mobile: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
identityNo: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
], |
|||
partyFlag: [ |
|||
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } |
|||
] |
|||
} |
|||
} |
|||
}, |
|||
methods: { |
|||
init () { |
|||
this.visible = true |
|||
this.$nextTick(() => { |
|||
this.$refs['dataForm'].resetFields() |
|||
if (this.dataForm.id) { |
|||
this.getInfo() |
|||
} |
|||
}) |
|||
this.getTagOptions() |
|||
}, |
|||
getTagOptions () { |
|||
this.$http.get(`/app-user/usertag/list`).then(({ data: res }) => { |
|||
if (res.code !== 0) { |
|||
return this.$message.error(res.msg) |
|||
} |
|||
this.tagOptions = res.data |
|||
}).catch(() => { }) |
|||
}, |
|||
// 获取信息 |
|||
getInfo () { |
|||
this.$http.get(`/app-user/user/${this.dataForm.id}`).then(({ data: res }) => { |
|||
if (res.code !== 0) { |
|||
return this.$message.error(res.msg) |
|||
} |
|||
this.dataForm = { |
|||
...this.dataForm, |
|||
...res.data |
|||
} |
|||
this.dataForm.partyFlag = '' |
|||
this.dataForm.tagIds = [] |
|||
}).catch(() => { }) |
|||
this.$http.get(`/app-user/usergrid/listUserGrid/${this.dataForm.id}`).then(({ data: res }) => { |
|||
if (res.code !== 0) { |
|||
return this.$message.error(res.msg) |
|||
} |
|||
this.userGridList = res.data |
|||
}).catch(() => { }) |
|||
}, |
|||
// 审核 |
|||
dataFormSubmitHandle: debounce(function () { |
|||
this.$refs['dataForm'].validate((valid) => { |
|||
if (!valid) { |
|||
return false |
|||
} |
|||
this.isAble = true |
|||
let postData = { |
|||
tagIds: this.dataForm.tagIds, |
|||
id: this.dataForm.id, |
|||
state: this.dataForm.state, |
|||
partyFlag: this.dataForm.partyFlag, |
|||
cadreFlag: this.dataForm.cadreFlag, |
|||
remark: this.dataForm.remark, |
|||
realName: this.dataForm.realName, |
|||
mobile: this.dataForm.mobile, |
|||
identityNo: this.dataForm.identityNo |
|||
} |
|||
this.$http[!this.dataForm.id ? 'post' : 'post']('/app-user/user/partyReview/', postData).then(({ data: res }) => { |
|||
this.isAble = false |
|||
if (res.code === 1) { |
|||
// 身份证号有重复记录 |
|||
this.identityNoRepeatVisible = true |
|||
this.$nextTick(() => { |
|||
this.$refs.identitynoRepeat.dataForm.id = this.dataForm.id |
|||
this.$refs.identitynoRepeat.dataForm.partyFlag = this.dataForm.partyFlag |
|||
this.$refs.identitynoRepeat.dataForm.remark = this.dataForm.remark |
|||
this.$refs.identitynoRepeat.dataForm.realName = this.dataForm.realName |
|||
this.$refs.identitynoRepeat.dataForm.mobile = this.dataForm.mobile |
|||
this.$refs.identitynoRepeat.dataForm.identityNo = this.dataForm.identityNo |
|||
this.$refs.identitynoRepeat.partyMembers = res.data |
|||
this.$refs.identitynoRepeat.init() |
|||
}) |
|||
} else if (res.code === 2) { |
|||
// 姓名有重复记录 |
|||
this.realNameRepeatVisible = true |
|||
this.$nextTick(() => { |
|||
this.$refs.realNameRepeat.dataForm.id = this.dataForm.id |
|||
this.$refs.realNameRepeat.dataForm.partyFlag = this.dataForm.partyFlag |
|||
this.$refs.realNameRepeat.dataForm.remark = this.dataForm.remark |
|||
this.$refs.realNameRepeat.dataForm.realName = this.dataForm.realName |
|||
this.$refs.realNameRepeat.dataForm.mobile = this.dataForm.mobile |
|||
this.$refs.realNameRepeat.dataForm.identityNo = this.dataForm.identityNo |
|||
this.$refs.realNameRepeat.partyMembers = res.data |
|||
this.$refs.realNameRepeat.init() |
|||
}) |
|||
} else if (res.code !== 0) { |
|||
return this.$message.error(res.msg) |
|||
} else { |
|||
this.$message({ |
|||
message: this.$t('prompt.success'), |
|||
type: 'success', |
|||
duration: 500, |
|||
onClose: () => { |
|||
this.visible = false |
|||
this.$emit('refreshDataList') |
|||
} |
|||
}) |
|||
} |
|||
}).catch(() => { }) |
|||
}) |
|||
}, 1000, { 'leading': true, 'trailing': false }), |
|||
registerResult (userId) { |
|||
this.$http.get(`api/message/sms/registerResult?userId=` + userId).then(({ data: res }) => { |
|||
if (res.code !== 0) { |
|||
return this.$message.error(res.msg) |
|||
} |
|||
}).catch(() => { }) |
|||
}, |
|||
// 查看详情 |
|||
userAuthenticateHistoryListHandle (userId) { |
|||
if (!this.dataForm.totalSubmitNum > 0) { |
|||
return this.$message.error('累计提交' + this.dataForm.totalSubmitNum + '次,没有认证历史记录') |
|||
} |
|||
this.authenticateHistoryVisible = true |
|||
this.$nextTick(() => { |
|||
this.$refs.authenticateHistory.dataForm.userId = userId |
|||
this.$refs.authenticateHistory.init() |
|||
}) |
|||
}, |
|||
showLeaderFlagFormatter (row, column, cellValue, index) { |
|||
if (cellValue === '1') { |
|||
return '是' |
|||
} else { |
|||
return '否' |
|||
} |
|||
}, |
|||
secondDialogCallBack (value) { |
|||
if (value) { |
|||
this.visible = false |
|||
this.$emit('firstDialogCallBack', true) |
|||
} |
|||
} |
|||
}, |
|||
components: { |
|||
IdentitynoRepeat, |
|||
RealNameRepeat, |
|||
AuthenticateHistory |
|||
} |
|||
} |
|||
</script> |
@ -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-cascader v-model="deptIdList" |
|||
:options="options" |
|||
:props="{ checkStrictly: true }" |
|||
clearable> |
|||
</el-cascader> |
|||
</el-form-item> |
|||
<el-form-item label="街道" |
|||
v-if="false"> |
|||
<el-select v-model="dataForm.streetId" |
|||
clearable |
|||
placeholder="请选择" |
|||
@change="getCommunityList"> |
|||
<el-option v-for="(item,index) in streetOptions" |
|||
:key="index" |
|||
:label="item.name" |
|||
:value="item.id"></el-option> |
|||
</el-select> |
|||
</el-form-item> |
|||
<el-form-item label="社区" |
|||
v-if="false"> |
|||
<el-select v-model="dataForm.communityId" |
|||
clearable |
|||
placeholder="请选择" |
|||
@change="getGridList"> |
|||
<el-option v-for="(item,index) in communityOptions" |
|||
:key="index" |
|||
:label="item.name" |
|||
:value="item.id"></el-option> |
|||
</el-select> |
|||
</el-form-item> |
|||
<el-form-item label="网格" |
|||
v-if="false"> |
|||
<el-select v-model="dataForm.gridId" |
|||
clearable |
|||
placeholder="请选择"> |
|||
<el-option v-for="(item,index) in gridOptions" |
|||
:key="index" |
|||
:label="item.name" |
|||
:value="item.id"></el-option> |
|||
</el-select> |
|||
</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> |
|||
<!-- <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> |
|||
<el-form-item> |
|||
<el-button v-if="$hasPermission('epdc:user:export')" |
|||
type="primary" |
|||
@click="exportHandle()">{{ $t('export') }}</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 label="序号" |
|||
width="70px"><template slot-scope="scope">{{scope.$index+1}}</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="allDeptNames" |
|||
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="updatedTime" |
|||
label="提交时间" |
|||
header-align="center" |
|||
align="center"></el-table-column> |
|||
<el-table-column :label="$t('handle')" |
|||
fixed="right" |
|||
header-align="center" |
|||
align="center" |
|||
width="150"> |
|||
<template slot-scope="scope"> |
|||
<el-button type="text" |
|||
size="small" |
|||
@click="partyReview(scope.row.id)">手动审核</el-button> |
|||
</template> |
|||
</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> |
|||
<!-- 党员认证 --> |
|||
<party-review v-if="partyReviewVisible" |
|||
@firstDialogCallBack="firstDialogCallBack" |
|||
ref="partyReview" |
|||
@refreshDataList="getDataList"></party-review> |
|||
</div> |
|||
</el-card> |
|||
</template> |
|||
|
|||
<script> |
|||
import mixinViewModule from '@/mixins/view-module' |
|||
import PartyReview from './party-review' |
|||
export default { |
|||
mixins: [mixinViewModule], |
|||
data () { |
|||
return { |
|||
mixinViewModuleOptions: { |
|||
getDataListURL: 'app-user/user/waitPartyPage', |
|||
getDataListIsPage: true, |
|||
deleteURL: '/app-use/user', |
|||
deleteIsBatch: true, |
|||
exportURL: '/app-user/user/exportWaitParty' |
|||
}, |
|||
dataForm: { |
|||
id: '', |
|||
streetId: '', |
|||
communityId: '', |
|||
gridId: '', |
|||
realName: '', |
|||
mobile: '', |
|||
identityNo: '', |
|||
startTime: '', |
|||
endTime: '', |
|||
partyFlag: '0', // 是否是党员(0-否,1-是) |
|||
state: '1' |
|||
}, |
|||
deptIdList: [], |
|||
options: [], |
|||
partyReviewVisible: false, |
|||
streetOptions: [], |
|||
communityOptions: [], |
|||
gridOptions: [], |
|||
time: '', |
|||
tabFlag: '1', // 对应原来的待审核用户 |
|||
state: '未认证用户', |
|||
partyFlagOptions: [{ id: '1', name: '是' }, { id: '0', name: '否' }] |
|||
} |
|||
}, |
|||
created () { |
|||
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' ? '未知' : '否' |
|||
}, |
|||
// 获取数据列表 |
|||
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 |
|||
}) |
|||
}, |
|||
partyReview (userId) { |
|||
this.partyReviewVisible = true |
|||
this.$nextTick(() => { |
|||
this.$refs.partyReview.dataForm.id = userId |
|||
this.$refs.partyReview.init() |
|||
}) |
|||
}, |
|||
firstDialogCallBack (value) { |
|||
if (value) { |
|||
this.getDataList() |
|||
} |
|||
} |
|||
}, |
|||
components: { |
|||
PartyReview |
|||
} |
|||
} |
|||
</script> |
@ -0,0 +1,181 @@ |
|||
<template> |
|||
<el-dialog :visible="visible" |
|||
append-to-body |
|||
@close="visible = false" |
|||
title="提示-姓名重复"> |
|||
<el-form :model="dataForm" |
|||
:rules="dataRule" |
|||
ref="dataForm" |
|||
@keyup.enter.native="dataFormSubmitHandle()" |
|||
:label-width="$i18n.locale === 'en-US' ? '120px' : '80px'"> |
|||
<p> |
|||
党员库中存在与该用户相同姓名的用户,用户信息如下: |
|||
</p> |
|||
<el-table v-loading="dataListLoading" |
|||
:data="partyMembers" |
|||
border |
|||
@row-click.native="detail" |
|||
style="width: 100%;"> |
|||
<el-table-column label="选择" |
|||
align="center" |
|||
width="50px"> |
|||
<template slot-scope="scope"> |
|||
<el-checkbox v-model="scope.row.checked" |
|||
@change="changeCurrentRow($event, scope.$index, scope.row.id)" > |
|||
</el-checkbox> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="序号" |
|||
width="70px"><template slot-scope="scope">{{scope.$index+1}}</template></el-table-column> |
|||
<el-table-column prop="realName" |
|||
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="mobile" |
|||
label="手机号" |
|||
header-align="center" |
|||
align="center"></el-table-column> |
|||
</el-table> |
|||
<p style="font-size: 13px;color: red;"> |
|||
注意:“通过”则将该用户作为新党员认证通过,并加入到已认证党员列表;“通过并更新党员库”会将党员库中的原始数据更新,并将用户认证通过为党员同时加入已认证党员列表;请确认用户信息后谨慎操作。 |
|||
</p> |
|||
</el-form> |
|||
<template slot="footer"> |
|||
<el-button type="primary" |
|||
:disabled="isAble" |
|||
@click="passPartyReview()">{{ '通过' }}</el-button> |
|||
<el-button type="primary" |
|||
:disabled="isAble" |
|||
@click="passAndUpdatePartyMemberInfo()">{{ '通过并更新党员库信息' }}</el-button> |
|||
<el-button @click="visible = false">{{ $t('cancel') }}</el-button> |
|||
</template> |
|||
</el-dialog> |
|||
</template> |
|||
|
|||
<script> |
|||
import mixinViewModule from '@/mixins/view-module' |
|||
|
|||
export default { |
|||
mixins: [mixinViewModule], |
|||
data () { |
|||
return { |
|||
visible: false, |
|||
isAble: false, |
|||
dataForm: { |
|||
id: '', |
|||
partyFlag: '', |
|||
state: '', |
|||
remark: '', |
|||
realName: '', |
|||
mobile: '', |
|||
identityNo: '', |
|||
partyMemberId: '' |
|||
}, |
|||
partyMembers: [] |
|||
} |
|||
}, |
|||
computed: { |
|||
dataRule () { |
|||
return { |
|||
} |
|||
} |
|||
}, |
|||
methods: { |
|||
init () { |
|||
this.visible = true |
|||
this.$nextTick(() => { |
|||
this.$refs['dataForm'].resetFields() |
|||
this.dataForm.partyMemberId = '' |
|||
for (let index in this.partyMembers) { |
|||
this.partyMembers[index].checked = false |
|||
} |
|||
}) |
|||
}, |
|||
changeCurrentRow (val, rowIndex, id) { |
|||
const data = this.partyMembers |
|||
for (let index in data) { |
|||
let index1 = parseInt(index) |
|||
if (index1 === rowIndex) { |
|||
data[index1].checked = val |
|||
if (val) { |
|||
this.dataForm.partyMemberId = id |
|||
} else { |
|||
this.dataForm.partyMemberId = '' |
|||
} |
|||
} else { |
|||
data[index1].checked = false |
|||
} |
|||
} |
|||
this.partyMembers = data |
|||
}, |
|||
detail (row, column) { |
|||
if (column.property === 'checked') { |
|||
} |
|||
}, |
|||
passPartyReview () { |
|||
this.isAble = true |
|||
let postData = { |
|||
userId: this.dataForm.id, |
|||
state: this.dataForm.state, |
|||
partyFlag: this.dataForm.partyFlag, |
|||
remark: this.dataForm.remark, |
|||
realName: this.dataForm.realName, |
|||
mobile: this.dataForm.mobile, |
|||
identityNo: this.dataForm.identityNo |
|||
} |
|||
this.$http[!this.dataForm.id ? 'post' : 'post']('/app-user/user/insertPartyInfo/', postData).then(({ data: res }) => { |
|||
this.isAble = false |
|||
if (res.code !== 0) { |
|||
return this.$message.error(res.msg) |
|||
} |
|||
this.$message({ |
|||
message: this.$t('prompt.success'), |
|||
type: 'success', |
|||
duration: 500, |
|||
onClose: () => { |
|||
this.visible = false |
|||
this.$emit('secondDialogCallBack', true) |
|||
} |
|||
}) |
|||
}).catch(() => { }) |
|||
}, |
|||
passAndUpdatePartyMemberInfo () { |
|||
if (this.dataForm.partyMemberId === '') { |
|||
return this.$message.error('请选择一条更新记录') |
|||
} |
|||
this.isAble = true |
|||
let postData = { |
|||
userId: this.dataForm.id, |
|||
state: this.dataForm.state, |
|||
partyFlag: this.dataForm.partyFlag, |
|||
remark: this.dataForm.remark, |
|||
realName: this.dataForm.realName, |
|||
mobile: this.dataForm.mobile, |
|||
identityNo: this.dataForm.identityNo, |
|||
partyMemberId: this.dataForm.partyMemberId |
|||
} |
|||
this.$http[!this.dataForm.id ? 'post' : 'post']('/app-user/user/updatePartyInfo/', postData).then(({ data: res }) => { |
|||
this.isAble = false |
|||
if (res.code !== 0) { |
|||
return this.$message.error(res.msg) |
|||
} |
|||
this.$message({ |
|||
message: this.$t('prompt.success'), |
|||
type: 'success', |
|||
duration: 500, |
|||
onClose: () => { |
|||
this.visible = false |
|||
this.$emit('secondDialogCallBack', true) |
|||
} |
|||
}) |
|||
}).catch(() => { }) |
|||
} |
|||
}, |
|||
components: { |
|||
} |
|||
} |
|||
</script> |
Loading…
Reference in new issue