人员中台对接内容
parent
648b9e1ac5
commit
9a292e4fc0
|
@ -0,0 +1,973 @@
|
|||
<template>
|
||||
<div class="app-container">
|
||||
<el-container>
|
||||
<!-- <el-aside width="300px" style="background-color:#fff">
|
||||
<el-input
|
||||
v-model="filterText"
|
||||
placeholder="输入关键字进行过滤"
|
||||
style="margin:10px 0"/>
|
||||
<el-tree
|
||||
v-loading="treeLoading"
|
||||
ref="tree"
|
||||
:data="treeData"
|
||||
:props="defaultProps"
|
||||
:filter-node-method="filterNode"
|
||||
class="filter-tree"
|
||||
@node-click="handleNodeClick"/>
|
||||
</el-aside>-->
|
||||
<el-main>
|
||||
<div class="filter-container">
|
||||
<div class="filter-lable w80">用户名称:</div>
|
||||
<el-input v-model="keyUserName" clearable placeholder="搜索用户名" class="filter-item" style="width: 200px;"/>
|
||||
<div class="filter-lable w80">人员类型:</div>
|
||||
<el-select ref="refDeptLeven" v-model="keyJobLeven" clearable placeholder="请选择人员类型" class="filter-item"
|
||||
style="width: 200px;">
|
||||
<el-option v-for="item in userType" :key="item.id" :label="item.name"
|
||||
:value="item.id"/>
|
||||
</el-select>
|
||||
<!-- <div class="filter-lable w80">行政区域:</div>-->
|
||||
<!-- <el-cascader ref="shudi" v-model="keyShudi" :props="areaprops" clearable placeholder="请选择行政区域" style="width: 200px" />-->
|
||||
<!-- <div class="filter-lable w80">单位类型:</div>-->
|
||||
<!-- <el-select ref="refDeptType" v-model="keyDeptType" clearable placeholder="请选择单位类型" class="filter-item">-->
|
||||
<!-- <el-option v-for="item in unitTypeList" :key="item.DICTIONARIES_ID" :label="item.NAME" :value="item.DICTIONARIES_ID" />-->
|
||||
<!-- </el-select>-->
|
||||
<div class="filter-lable w80">部门名称:</div>
|
||||
<el-input v-model="keyDepeName" clearable placeholder="搜索部门名称" class="filter-item"
|
||||
style="width: 200px;"/>
|
||||
<!-- <div class="filter-lable w80">职务级别:</div>-->
|
||||
<!-- <el-select ref="refJobLeven" v-model="keyJobLeven" clearable placeholder="请选择" class="filter-item">-->
|
||||
<!-- <el-option v-for="item in jobTypeAllList" :key="item.DICTIONARIES_ID" :label="item.NAME" :value="item.DICTIONARIES_ID" />-->
|
||||
<!-- </el-select>-->
|
||||
<el-button v-waves class="filter-item" type="primary" icon="el-icon-search" @click="getQuery">
|
||||
搜索
|
||||
</el-button>
|
||||
<el-button v-waves class="filter-item" type="success" icon="el-icon-refresh" @click="goKeyReset">
|
||||
重置
|
||||
</el-button>
|
||||
<!-- <el-button v-waves v-if="LOGIN_USER === '1'" class="filter-item" type="warning" icon="el-icon-warning"
|
||||
size="mini" plain @click="resetPassword">
|
||||
一键密码重置
|
||||
</el-button>-->
|
||||
</div>
|
||||
<el-table
|
||||
ref="multipleTable"
|
||||
:data="varList"
|
||||
:header-cell-style="{
|
||||
'font-weight': 'bold',
|
||||
'color': '#000'
|
||||
}"
|
||||
tooltip-effect="dark"
|
||||
border
|
||||
fit
|
||||
highlight-current-row
|
||||
>
|
||||
<el-table-column
|
||||
type="selection"
|
||||
width="55"
|
||||
align="center"/>
|
||||
<el-table-column type="index" label="序号" width="50" align="center"/>
|
||||
<el-table-column prop="USERNAME" label="用户名" align="center"/>
|
||||
<el-table-column prop="NAME" label="姓名" align="center"/>
|
||||
<el-table-column prop="USER_TYPE" label="用户类型" align="center">
|
||||
<template slot-scope="{row}">
|
||||
<span v-if="row.USER_TYPE =='0'">股份</span>
|
||||
<span v-else-if="row.USER_TYPE =='1'">分公司</span>
|
||||
<span v-else>相关方</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<!-- <el-table-column prop="SEX" label="性别"/>-->
|
||||
<el-table-column prop="ORG_PATH" label="部门" align="center"/>
|
||||
<el-table-column prop="CORPINFO_NAME" label="企业" align="center"/>
|
||||
<el-table-column label="操作" align="center" width="120">
|
||||
<template slot-scope="{row}">
|
||||
<el-button type="primary" icon="el-icon-edit" size="mini" @click="handleRecord(row.USER_ID)">查看记录
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div class="page-btn-group">
|
||||
<div/>
|
||||
<pagination :total="total" :page.sync="listQuery.page" :limit.sync="listQuery.limit" @pagination="getList"/>
|
||||
</div>
|
||||
</el-main>
|
||||
</el-container>
|
||||
|
||||
<el-dialog v-loading="editloading" :visible.sync="dialogFormRecord"
|
||||
:title="dialogType === 'record'?'查看记录':'修改'" width="1800px">
|
||||
<el-table
|
||||
ref="multipleTable"
|
||||
:data="recordList"
|
||||
:header-cell-style="{
|
||||
'font-weight': 'bold',
|
||||
'color': '#000'
|
||||
}"
|
||||
tooltip-effect="dark"
|
||||
border
|
||||
fit
|
||||
highlight-current-row
|
||||
>
|
||||
<el-table-column type="index" label="序号" width="50" align="center"/>
|
||||
<el-table-column prop="NAME" label="用户名" align="center"/>
|
||||
<el-table-column prop="CREATTIME" label="新增时间" align="center"/>
|
||||
<el-table-column prop="CREATORNAME" label="新增人" align="center">
|
||||
<template slot-scope="{row}">
|
||||
<span>{{row.CREATORNAME ? row.CREATORNAME : row.NAMEX ? row.NAMEX : row.NAMER}}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="REMARKS" label="记录" align="center"/>
|
||||
</el-table>
|
||||
</el-dialog>
|
||||
|
||||
<el-dialog v-loading="editloading" :visible.sync="dialogFormEdit" :title="dialogType==='editUser'?'修改':'新增'"
|
||||
width="600px">
|
||||
<el-form ref="form" :rules="rules" :model="pd" label-width="110px" style="width: 500px;">
|
||||
<el-form-item label="角色" prop="ROLE_ID">
|
||||
<el-select v-model="pd.ROLE_ID" multiple placeholder="请选择角色">
|
||||
<el-option v-for="item in roleList" :key="item.role_ID" :label="item.role_NAME" :value="item.role_ID"/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="用户名" prop="USERNAME">
|
||||
<el-input v-model="pd.USERNAME" :disabled="dialogType == 'editUser'" placeholder="这里输入用户名..."
|
||||
@blur="goCheck()"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="姓名" prop="NAME">
|
||||
<el-input v-model="pd.NAME" placeholder="这里输入姓名..."/>
|
||||
</el-form-item>
|
||||
<el-form-item v-if="dialogType != 'editUser'" label="密码" prop="PASSWORD">
|
||||
<el-input v-model="pd.userPASSWORD" show-password placeholder="这里输入密码..."/>
|
||||
</el-form-item>
|
||||
<el-form-item label="身份证号" prop="USER_ID_CARD">
|
||||
<el-input v-model="pd.USER_ID_CARD" placeholder="这里输入身份证号..." @blur="goCheck()"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="性别" prop="SEX">
|
||||
<el-radio v-model="pd.SEX" :label="'0'">男</el-radio>
|
||||
<el-radio v-model="pd.SEX" :label="'1'">女</el-radio>
|
||||
</el-form-item>
|
||||
<el-form-item label="手机号" prop="PHONE">
|
||||
<el-input v-model="pd.PHONE" placeholder="这里输入手机号..."/>
|
||||
</el-form-item>
|
||||
<!-- <el-form-item label="部门级别" prop="deptTypeID"> <!–(目的是选择部门到这个级别) –>-->
|
||||
<!-- <el-select v-model="pd.deptTypeID" placeholder="请选择" class="filter-item" >-->
|
||||
<!-- <el-option v-for="item in deptTypeLevenAllList" :key="item.BIANMA" :label="item.NAME" :value="item.DICTIONARIES_ID" />-->
|
||||
<!-- </el-select>-->
|
||||
<!-- </el-form-item>-->
|
||||
<el-form-item label="单位部门" prop="DEPARTMENT_ID">
|
||||
<SelectTree
|
||||
v-if="dialogFormEdit"
|
||||
ref="deptTree"
|
||||
:clearable="false"
|
||||
:options="deptTreeData"
|
||||
:props="deptDefaultProps"
|
||||
v-model="pd.DEPARTMENT_ID"
|
||||
placeholder="请选择部门"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="行政区域" prop="shudi"> <!--河北省的就可以 -->
|
||||
<el-cascader v-if="dialogFormEdit" id="shudi" ref="shudi" v-model="pd.shudi" :props="areaprops"
|
||||
placeholder="请选择省市县" style="width: 100%"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="职务级别" prop="JOB_LEVEL">
|
||||
<el-select ref="refJobLevel" v-model="pd.JOB_LEVEL" placeholder="请选择" class="filter-item">
|
||||
<el-option v-for="item in deptTypeLevenAllList" :key="item.BIANMA" :label="item.NAME"
|
||||
:value="item.DICTIONARIES_ID"/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="民族" prop="NATION">
|
||||
<el-select v-model="pd.NATION" placeholder="请选择" style="width: 100%;">
|
||||
<el-option
|
||||
v-for="item in uesrInfoDic.minzuList"
|
||||
:key="item.DICTIONARIES_ID"
|
||||
:label="item.NAME"
|
||||
:value="item.DICTIONARIES_ID"/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<!-- 相关方的业务需求,是否为审核人员.如果为是的情况,就是可以在入场培训中选择 -->
|
||||
<el-form-item label="是否审核人员" prop="ISASSESS">
|
||||
<el-radio v-model="pd.ISASSESS" :label="'1'">是</el-radio>
|
||||
<el-radio v-model="pd.ISASSESS" :label="'0'">否</el-radio>
|
||||
</el-form-item>
|
||||
<el-form-item label="职务" prop="JOB">
|
||||
<el-input v-model="pd.JOB" placeholder="这里输入职务..."/>
|
||||
</el-form-item>
|
||||
<el-form-item label="邮箱" prop="EMAIL">
|
||||
<el-input v-model="pd.EMAIL" placeholder="这里输入邮箱..."/>
|
||||
</el-form-item>
|
||||
<el-form-item label="排序" prop="SORT">
|
||||
<el-input v-model.number="pd.SORT" placeholder="这里输入排序..."/>
|
||||
</el-form-item>
|
||||
<el-form-item label="备注">
|
||||
<el-input v-model="pd.BZ" type="textarea" placeholder="这里输入备注说明..."/>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button @click="dialogFormEdit = false">取 消</el-button>
|
||||
<el-button v-show="ISCHECK || dialogType === 'editUser'" type="primary" @click="confirm">确 定</el-button>
|
||||
<el-button v-show="!ISCHECK && dialogType !== 'editUser'" type="primary" @click="goCheck">校 验</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import Pagination from '@/components/Pagination' // 通过 el-pagination二次打包
|
||||
import {requestFN} from '@/utils/request'
|
||||
import waves from '@/directive/waves' // waves directive
|
||||
import SelectTree from '@/components/SelectTree'
|
||||
|
||||
export default {
|
||||
components: {Pagination, SelectTree},
|
||||
directives: {waves},
|
||||
data() {
|
||||
var hasUser = (rule, value, callback) => {
|
||||
if (this.dialogType != 'editUser') {
|
||||
requestFN(
|
||||
'/user/hasUser',
|
||||
{
|
||||
USERNAME: value,
|
||||
tm: new Date().getTime()
|
||||
}
|
||||
).then((data) => {
|
||||
if (data.result == 'success') {
|
||||
callback()
|
||||
} else {
|
||||
callback(new Error('用户名重复'))
|
||||
}
|
||||
}).catch((e) => {
|
||||
|
||||
})
|
||||
} else {
|
||||
callback()
|
||||
}
|
||||
}
|
||||
var hasEmail = (rule, value, callback) => {
|
||||
if (value) {
|
||||
requestFN(
|
||||
'/user/hasEmail',
|
||||
{
|
||||
EMAIL: value,
|
||||
USERNAME: this.pd.USERNAME
|
||||
}
|
||||
).then((data) => {
|
||||
if (data.result == 'success') {
|
||||
callback()
|
||||
} else {
|
||||
callback(new Error('邮箱重复'))
|
||||
}
|
||||
}).catch((e) => {
|
||||
|
||||
})
|
||||
} else {
|
||||
callback()
|
||||
}
|
||||
}
|
||||
return {
|
||||
LOGIN_USER: JSON.parse(sessionStorage.getItem('user')).USER_ID,
|
||||
treeLoading: false,
|
||||
treeData: [],
|
||||
userType: [
|
||||
{ id: '0', name: '股份' },
|
||||
{ id: '1', name: '分公司' },
|
||||
{ id: '2', name: '相关方' }
|
||||
],
|
||||
defaultProps: {
|
||||
children: 'nodes',
|
||||
label: 'name'
|
||||
},
|
||||
listQuery: {
|
||||
page: 1,
|
||||
limit: 20
|
||||
},
|
||||
total: 0,
|
||||
varList: [],
|
||||
recordList: [],
|
||||
filterText: '',
|
||||
keyUserName: '',
|
||||
keyDeptLeven: '',
|
||||
keyShudi: '',
|
||||
keyDeptType: '',
|
||||
keyDepeName: '',
|
||||
keyJobLeven: '',
|
||||
ISCHECK: false,
|
||||
dialogFormEdit: false,
|
||||
dialogFormRecord: false,
|
||||
editloading: false,
|
||||
dialogType: 'add',
|
||||
USER_ID: '',
|
||||
TYPE: '',
|
||||
loading: true,
|
||||
rules: {
|
||||
EMAIL: [
|
||||
{required: true, message: '请输入邮箱', trigger: 'blur'},
|
||||
{
|
||||
pattern: /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-])+/,
|
||||
message: '请输入正确的邮箱'
|
||||
},
|
||||
{validator: hasEmail, trigger: 'blur'}
|
||||
],
|
||||
ROLE_ID: [
|
||||
{required: true, message: '角色不能为空', trigger: 'blur'}
|
||||
],
|
||||
USERNAME: [
|
||||
{required: true, message: '用户名不能为空', trigger: 'blur'},
|
||||
{
|
||||
pattern: /^(13[0-9]|14[579]|15[0-3,5-9]|16[6]|17[0135678]|18[0-9]|19[89])\d{8}$/,
|
||||
message: '用户名需使用手机号码格式'
|
||||
},
|
||||
{validator: hasUser, trigger: 'blur'}
|
||||
],
|
||||
NAME: [
|
||||
{required: true, message: '姓名不能为空', trigger: 'blur'},
|
||||
{min: 2, max: 30, message: '长度在 2 到 30 个字符', trigger: 'blur'}
|
||||
],
|
||||
SEX: [
|
||||
{required: true, message: '请选择性别', trigger: 'blur'}
|
||||
],
|
||||
NATION: [
|
||||
{required: true, message: '请选择民族', trigger: 'blur'}
|
||||
],
|
||||
PHONE: [
|
||||
{required: true, message: '手机号不能为空', trigger: 'blur'},
|
||||
{min: 11, max: 11, message: '请输入11位手机号码', trigger: 'blur'},
|
||||
{
|
||||
pattern: /^(13[0-9]|14[579]|15[0-3,5-9]|16[6]|17[0135678]|18[0-9]|19[89])\d{8}$/,
|
||||
message: '请输入正确的手机号码'
|
||||
}
|
||||
],
|
||||
deptTypeID: [
|
||||
{required: true, message: '请选择部门级别', trigger: 'blur'}
|
||||
],
|
||||
shudi: [
|
||||
{required: true, message: '请选择属地', trigger: 'blur'}
|
||||
],
|
||||
JOB_LEVEL: [
|
||||
{required: true, message: '请选择职务级别', trigger: 'blur'}
|
||||
],
|
||||
DEPARTMENT_ID: [
|
||||
{required: true, message: '请选择单位部门', trigger: 'blur'}
|
||||
],
|
||||
ISASSESS: [
|
||||
{required: true, message: '请选择是否审核人员', trigger: 'blur'}
|
||||
],
|
||||
USER_ID_CARD: [{required: true, message: '身份证号不能为空', trigger: 'blur'},
|
||||
{
|
||||
pattern: /^\d{6}(18|19|20)?\d{2}(0[1-9]|1[0-2])(([0-2][1-9])|10|20|30|31)\d{3}(\d|X|x)$/,
|
||||
message: '请输入正确的身份证号'
|
||||
}
|
||||
]
|
||||
},
|
||||
uesrInfoDic: {
|
||||
minzuList: [], // 民族 0a0e406f27f74ee698fe9979d25f62dd
|
||||
xingbieList: [], // 性别情况 21501808bbc344d593fbf9ccfe6c4531
|
||||
},
|
||||
pd: {
|
||||
ROLE_ID: [], // 角色ID
|
||||
USERNAME: '', // 用户名
|
||||
NAME: '', // 姓名
|
||||
userPASSWORD: 'Aa@123456789', // 密码
|
||||
SEX: '', // 性别(0男,1女)
|
||||
PHONE: '', // 电话
|
||||
deptTypeID: '', // 需要选择的部门级别,只有相等的时候可以
|
||||
DEPARTMENT_ID: '', // 用户部门
|
||||
shudi: '',
|
||||
BZ: '', // 备注
|
||||
EMAIL: '', // 邮箱
|
||||
SORT: '', // 人员在部门中的排序
|
||||
PROVINCE: '', // 所属省
|
||||
CITY: '', // 所属市级
|
||||
COUNTRY: '', // 所属区县
|
||||
VILLAGE: '', // 所属乡镇
|
||||
JOB_LEVEL: '', // 职务级别
|
||||
ISASSESS: '',
|
||||
JOB: '', // 职务
|
||||
USER_ID_CARD: '', //身份证号
|
||||
NATION: '' //民族
|
||||
},
|
||||
roleList: [],
|
||||
multipleSelectionAll: [], // 所有选中的数据包含跨页数据
|
||||
multipleSelection: [], // 当前页选中的数据
|
||||
fromExcel: false, // 从excel导入权限
|
||||
toExcel: false, // 导出到excel权限
|
||||
add: false, // 新增按钮
|
||||
del: false, // 删除按钮
|
||||
edit: false, // 修改按钮
|
||||
record: false, // 查看记录按钮
|
||||
hasUserRet: false,
|
||||
deptTypeLevenAllList: [], // 单位类型
|
||||
jobTypeAllList: [], // 职务级别
|
||||
deptTreeData: [], // 部门树数据,
|
||||
userRecordInfo: {},
|
||||
recordInfo: {},
|
||||
deptDefaultProps: {
|
||||
value: 'id',
|
||||
children: 'nodes',
|
||||
label: 'name'
|
||||
},
|
||||
unitTypeList: [],
|
||||
areaprops: {
|
||||
lazy: true,
|
||||
lazyLoad(node, resolve) {
|
||||
setTimeout(() => {
|
||||
const areaLeven = node.level
|
||||
var areaParID = ''
|
||||
if (areaLeven == '0') {
|
||||
areaParID = 'e725d2a91b8248f4b8f49889038df7de'
|
||||
} else {
|
||||
areaParID = node.data.id
|
||||
}
|
||||
requestFN(
|
||||
'dictionaries/getLevels',
|
||||
{DICTIONARIES_ID: areaParID}
|
||||
).then((data) => {
|
||||
const nodes = data.list.map(item => ({
|
||||
value: item.DICTIONARIES_ID,
|
||||
label: item.NAME.toString(),
|
||||
id: item.DICTIONARIES_ID.toString(),
|
||||
leaf: areaLeven > 2
|
||||
}))
|
||||
resolve(nodes) // 通过调用resolve将子节点数据返回,通知组件数据加载完成
|
||||
}).catch((e) => {
|
||||
this.editloading = false
|
||||
this.listLoading = false
|
||||
})
|
||||
}, 500)
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
filterText(val) {
|
||||
this.$refs.tree.filter(val)
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getList(this.USER_ID)
|
||||
this.hasButton()
|
||||
this.getDict2('0a0e406f27f74ee698fe9979d25f62dd', 'minzuList')
|
||||
this.getDict2('21501808bbc344d593fbf9ccfe6c4531', 'xingbieList')
|
||||
this.getDict('3e057d284c294a48af32948d58e92e3d', 'deptTypeLevenAllList')
|
||||
this.getDict('3f3a6ac41247438e91df2830765068ba', 'unitTypeList')
|
||||
this.getDepartTreeList()
|
||||
this.getDict('f1fbdf9a286342ae98e6a56bf823f221', 'jobTypeAllList')
|
||||
this.goAddUser()
|
||||
this.getTreeList()
|
||||
},
|
||||
methods: {
|
||||
goPush(row) {
|
||||
requestFN(
|
||||
'user/goPush',
|
||||
{
|
||||
STATUS: row.STATUS,
|
||||
BZ: row.BZ,
|
||||
SKIN: row.SKIN,
|
||||
PHONE: row.PHONE,
|
||||
NUMBER: row.NUMBER,
|
||||
ISMAIN: row.ISMAIN,
|
||||
OPENID: row.APPID,
|
||||
SORT: row.SORT,
|
||||
LEARNERCATEGORY: row.LEARNERCATEGORY,
|
||||
USERAVATARPREFIX: row.USERAVATARPREFIX,
|
||||
USERAVATARURL: row.USERAVATARURL,
|
||||
SHIFTDUTYONE: row.SHIFTDUTYONE,
|
||||
SHIFTDUTYTWO: row.SHIFTDUTYTWO,
|
||||
DURATION: row.DURATION,
|
||||
WORKSTATUS: row.WORKSTATUS,
|
||||
WORKPERIOD: row.WORKPERIOD,
|
||||
PERSONNEL_TYPE: row.PERSONNEL_TYPE,
|
||||
TITLE: row.TITLE,
|
||||
ISSTATE: row.ISSTATE,
|
||||
INCUMBENCY: row.INCUMBENCY,
|
||||
WORKING_DATE: row.WORKING_DATE,
|
||||
ENTRY_DATE: row.ENTRY_DATE,
|
||||
TYPE_OF_WORK: row.TYPE_OF_WORK,
|
||||
DUTIES: row.DUTIES,
|
||||
DEGREE_OF_EDUCATION: row.DEGREE_OF_EDUCATION,
|
||||
DATE_OF_BIRTH: row.DATE_OF_BIRTH,
|
||||
POLITICAL_OUTLOOK: row.POLITICAL_OUTLOOK,
|
||||
PROVINCE: row.PROVINCE,
|
||||
CITY: row.CITY,
|
||||
COUNTRY: row.COUNTRY,
|
||||
VILLAGE: row.VILLAGE,
|
||||
USER_ID: row.USER_ID,
|
||||
CARD_NO: row.USER_ID_CARD,
|
||||
USERNAME: row.USERNAME,
|
||||
NAME: row.NAME,
|
||||
CORPINFO_ID: row.CORPINFO_ID,
|
||||
CORPINFO_NAME: row.CORPINFO_NAME || '',
|
||||
DEPARTMENT_ID: row.DEPARTMENT_ID,
|
||||
DEPARTMENT_NAME: row.DEPARTMENT_NAME,
|
||||
EMAIL: row.EMAIL || '',
|
||||
CARD_TYPE: '111',
|
||||
CARD_TYPE_NAME: '身份证',
|
||||
NATION: row.NATION_NAME || '',
|
||||
SEX: row.SEX === '0' ? '男' : '女',
|
||||
USER_TYPE: '1',
|
||||
ISDELETE: row.ISDELETE
|
||||
}
|
||||
).then((data) => {
|
||||
if (data.result === 'success') {
|
||||
this.$message.success('推送成功')
|
||||
this.getList()
|
||||
} else {
|
||||
this.$message.error('推送失败,' + data.msg)
|
||||
}
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
},
|
||||
goCheck() {
|
||||
if (this.pd.USER_ID_CARD && this.pd.USERNAME) {
|
||||
const phoneJudge = /^(13[0-9]|14[579]|15[0-3,5-9]|16[6]|17[0135678]|18[0-9]|19[0-9])\d{8}$/
|
||||
const phoneResult = phoneJudge.test(this.pd.USERNAME)
|
||||
const cardJudge = /^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/
|
||||
const cardResult = cardJudge.test(this.pd.USER_ID_CARD)
|
||||
if (phoneResult && cardResult) {
|
||||
console.log('格式校验通过')
|
||||
requestFN(
|
||||
'user/goCheck',
|
||||
{
|
||||
CARD_NO: this.pd.USER_ID_CARD,
|
||||
USERNAME: this.pd.USERNAME
|
||||
}
|
||||
).then((data) => {
|
||||
if (data.result === 'success') {
|
||||
this.$message.success('验证通过')
|
||||
this.ISCHECK = true
|
||||
} else {
|
||||
this.$message.error('验证失败,请确认身份证号与手机号是否正确')
|
||||
this.ISCHECK = false
|
||||
}
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
this.ISCHECK = false
|
||||
})
|
||||
} else {
|
||||
this.ISCHECK = false
|
||||
}
|
||||
} else {
|
||||
this.ISCHECK = false
|
||||
}
|
||||
},
|
||||
getList() {
|
||||
this.listLoading = true
|
||||
requestFN(
|
||||
'/user/centerUserList?showCount=' + this.listQuery.limit + '¤tPage=' + this.listQuery.page,
|
||||
{
|
||||
keyUserName: this.keyUserName,
|
||||
keyDeptLeven: this.keyDeptLeven,
|
||||
keyShudi: this.keyShudi,
|
||||
keyDeptType: this.keyDeptType,
|
||||
keyDepeName: this.keyDepeName,
|
||||
keyJobLeven: this.keyJobLeven,
|
||||
DEPARTMENT_ID: this.DEPARTMENT_ID,
|
||||
PROVINCE: this.keyShudi[0] || '',
|
||||
CITY: this.keyShudi[1] || '',
|
||||
COUNTRY: this.keyShudi[2] || '',
|
||||
VILLAGE: this.keyShudi[3] || '',
|
||||
ISPUSH: '0'
|
||||
}
|
||||
).then((data) => {
|
||||
this.listLoading = false
|
||||
this.varList = data.userList
|
||||
this.total = data.page.totalResult
|
||||
})
|
||||
.catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
},
|
||||
|
||||
goKeyReset() {
|
||||
this.keyUserName = ''
|
||||
this.keyDeptLeven = ''
|
||||
this.keyShudi = ''
|
||||
this.keyDeptType = ''
|
||||
this.keyDepeName = ''
|
||||
this.keyJobLeven = ''
|
||||
this.getList()
|
||||
if (this.$refs.refDeptLeven) {
|
||||
this.$refs.refDeptLeven.clearHandle()
|
||||
}
|
||||
if (this.$refs.shudi) {
|
||||
this.$refs.shudi.clearHandle()
|
||||
}
|
||||
if (this.$refs.refDeptType) {
|
||||
this.$refs.refDeptType.clearHandle()
|
||||
}
|
||||
if (this.$refs.refJobLeven) {
|
||||
this.$refs.refJobLeven.clearHandle()
|
||||
}
|
||||
},
|
||||
goAddUser() { // 点击添加用户的时候,获取角色
|
||||
requestFN(
|
||||
'/user/goAddUser',
|
||||
{}
|
||||
).then((data) => {
|
||||
this.roleList = data.roleList
|
||||
})
|
||||
.catch((e) => {
|
||||
})
|
||||
},
|
||||
|
||||
unLockUser(id, name) {
|
||||
this.$confirm('确定要解锁 [ 帐号:' + name + ' ] 吗?', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
this.listLoading = true
|
||||
requestFN(
|
||||
'/user/unLockUser',
|
||||
{
|
||||
USER_ID: id
|
||||
}
|
||||
).then(() => {
|
||||
this.$message({
|
||||
message: '解锁成功',
|
||||
type: 'success'
|
||||
})
|
||||
this.listLoading = false
|
||||
this.varList = []
|
||||
this.listQuery.page = 1
|
||||
this.getList()
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
}).catch(() => {
|
||||
})
|
||||
},
|
||||
handleAdd() {
|
||||
this.dialogFormEdit = true
|
||||
this.ISCHECK = false
|
||||
this.pd = {}
|
||||
this.dialogType = 'saveUser'
|
||||
this.pd.PASSWORD = 'Aa@123456789'
|
||||
},
|
||||
confirm() {
|
||||
this.$refs.form.validate(valid => {
|
||||
if (valid) {
|
||||
this.listLoading = true
|
||||
if (this.pd.ROLE_ID) {
|
||||
var roleIDs = ''
|
||||
this.pd.ROLE_ID.forEach((item) => {
|
||||
roleIDs += item + ';'
|
||||
})
|
||||
this.pd.roleIDs = roleIDs
|
||||
}
|
||||
if (this.pd.shudi) {
|
||||
this.pd.PROVINCE = this.pd.shudi[0]
|
||||
this.pd.CITY = this.pd.shudi[1]
|
||||
this.pd.COUNTRY = this.pd.shudi[2] || ''
|
||||
this.pd.VILLAGE = this.pd.shudi[3] || ''
|
||||
}
|
||||
requestFN(
|
||||
'/user/' + this.dialogType,
|
||||
this.pd
|
||||
).then((data) => {
|
||||
this.listLoading = false
|
||||
this.dialogFormEdit = false
|
||||
this.varList = []
|
||||
this.$refs.deptTree.clearHandle()
|
||||
this.listQuery.page = 1
|
||||
this.goPush(data.pd)
|
||||
this.getList()
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
} else {
|
||||
return false
|
||||
}
|
||||
})
|
||||
},
|
||||
handleDelete(row) {
|
||||
this.$confirm('确定要删除[' + row.USERNAME + ']吗?', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
this.listLoading = true
|
||||
requestFN(
|
||||
'/user/deleteUser',
|
||||
{
|
||||
USER_ID: row.USER_ID,
|
||||
ISPUSH: row.ISPUSH
|
||||
}
|
||||
).then((data) => {
|
||||
if (data.result == 'success') {
|
||||
this.listLoading = false
|
||||
this.getList()
|
||||
}
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
}).catch(() => {
|
||||
})
|
||||
},
|
||||
makeAll(msg) {
|
||||
const _selectData = this.$refs.multipleTable.selection
|
||||
if (_selectData == null || _selectData.length == 0) {
|
||||
this.$message({
|
||||
message: '请选中要删除的项...',
|
||||
type: 'error'
|
||||
})
|
||||
return false
|
||||
}
|
||||
const ids = _selectData.map((item, index) => {
|
||||
return item.USER_ID
|
||||
}).join(',')
|
||||
var tishi = ''
|
||||
if (msg == '0') {
|
||||
tishi = '确定要删除选中的数据吗?'
|
||||
} else if (msg == '1') {
|
||||
tishi = '确定要给选中的用户发送站内信吗?'
|
||||
} else {
|
||||
this.$message({
|
||||
message: '请选择操作类型...',
|
||||
type: 'error'
|
||||
})
|
||||
return false
|
||||
}
|
||||
this.$confirm(tishi, {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
if (msg == '0') {
|
||||
this.listLoading = true
|
||||
requestFN(
|
||||
'/user/deleteAllUser',
|
||||
{
|
||||
USER_IDS: ids
|
||||
}
|
||||
).then(() => {
|
||||
this.listLoading = false
|
||||
this.varList = []
|
||||
this.listQuery.page = 1
|
||||
this.$refs.multipleTable.clearSelection()
|
||||
this.getList()
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
}
|
||||
}).catch(() => {
|
||||
})
|
||||
},
|
||||
getQuery() {
|
||||
this.$refs.multipleTable.clearSelection()
|
||||
this.getList()
|
||||
},
|
||||
handleRecord(USER_ID) {
|
||||
this.dialogType = 'record'
|
||||
this.dialogFormRecord = true
|
||||
requestFN(
|
||||
'/user/getUserRecord',
|
||||
{
|
||||
USER_ID: USER_ID
|
||||
}
|
||||
).then((data) => {
|
||||
if (data.result == 'success') {
|
||||
this.recordList = data.varList
|
||||
}
|
||||
})
|
||||
.catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
},
|
||||
async handleEdit(row) {
|
||||
this.dialogType = 'editUser'
|
||||
this.pd = JSON.parse(JSON.stringify(row))
|
||||
const areaRefID = []
|
||||
if (this.pd.PROVINCE) {
|
||||
areaRefID.push(this.pd.PROVINCE)
|
||||
}
|
||||
if (this.pd.CITY) {
|
||||
areaRefID.push(this.pd.CITY)
|
||||
}
|
||||
if (this.pd.COUNTRY) {
|
||||
areaRefID.push(this.pd.COUNTRY)
|
||||
}
|
||||
if (this.pd.VILLAGE) {
|
||||
areaRefID.push(this.pd.VILLAGE)
|
||||
}
|
||||
this.$set(this.pd, 'shudi', areaRefID)
|
||||
|
||||
const refDeptLevelVal = {}
|
||||
refDeptLevelVal.id = this.pd.deptLevenlID
|
||||
const deptRefsValue = {}
|
||||
deptRefsValue.id = this.pd.DEPARTMENT_ID
|
||||
var arrString = []
|
||||
if (this.pd.ROLE_ID != null && this.pd.ROLE_ID != '') {
|
||||
arrString.push(this.pd.ROLE_ID)
|
||||
}
|
||||
if (this.pd.ROLE_IDS != null && this.pd.ROLE_IDS != '' && this.pd.ROLE_IDS != undefined && this.pd.ROLE_IDS != 'undefined') {
|
||||
// 将字符串转换成数组,此时是字符串数组
|
||||
this.pd.ROLE_IDS = this.pd.ROLE_IDS.substring(0, this.pd.ROLE_IDS.length - 1)
|
||||
var arrList = this.pd.ROLE_IDS && this.pd.ROLE_IDS != '' ? this.pd.ROLE_IDS.split(';') : ''
|
||||
// eslint-disable-next-line no-unused-vars
|
||||
for (const item1 of arrList) { // 循环取出多个角色的ID
|
||||
arrString.push(item1)
|
||||
}
|
||||
}
|
||||
this.pd.ROLE_ID = arrString
|
||||
this.dialogFormEdit = true
|
||||
await this.$nextTick()
|
||||
},
|
||||
handleEditStatus(row, type) {
|
||||
const typeName = type == '1' ? '禁用' : '启用'
|
||||
this.$confirm('确定要' + typeName + '[' + row.USERNAME + ']吗?', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
this.listLoading = true
|
||||
requestFN(
|
||||
'/user/updateUserStatus',
|
||||
{
|
||||
USER_ID: row.USER_ID,
|
||||
status: type
|
||||
}
|
||||
).then((data) => {
|
||||
if (data.result == 'success') {
|
||||
this.listLoading = false
|
||||
this.goPush(row)
|
||||
this.getList()
|
||||
}
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
}).catch(() => {
|
||||
})
|
||||
},
|
||||
hasButton: function () {
|
||||
var keys = 'user:add,user:del,user:edit,fhSms,email,fromExcel,toExcel'
|
||||
requestFN(
|
||||
'/head/hasButton',
|
||||
{
|
||||
keys: keys, tm: new Date().getTime()
|
||||
}
|
||||
).then((data) => {
|
||||
if (data.result == 'success') {
|
||||
this.add = data.userfhadminadd // 增
|
||||
this.del = data.userfhadmindel // 删
|
||||
this.edit = data.userfhadminedit // 改
|
||||
this.fromExcel = data.fromExcel // 从excel导入权限
|
||||
this.toExcel = data.toExcel // 导出到excel权限
|
||||
} else if (data.result == 'exception') {
|
||||
// showException('按钮权限', data.exception)// 显示异常
|
||||
}
|
||||
})
|
||||
.catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
},
|
||||
// 获取数据字典数据
|
||||
getDict(dicID, listName) {
|
||||
requestFN(
|
||||
'dictionaries/getLevels',
|
||||
{DICTIONARIES_ID: dicID}
|
||||
).then((data) => {
|
||||
this[listName] = data.list
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
},
|
||||
// 获取数据字典数据
|
||||
getDict2(dicID, listName) {
|
||||
requestFN(
|
||||
'dictionaries/getLevels',
|
||||
{DICTIONARIES_ID: dicID}
|
||||
).then((data) => {
|
||||
this.uesrInfoDic[listName] = data.list
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
},
|
||||
getDepartTreeList() {
|
||||
this.pd.DEPARTMENT_ID = ''
|
||||
if (this.$refs.deptTree) {
|
||||
this.$refs.deptTree.clearHandle()
|
||||
}
|
||||
return new Promise((resolve) => {
|
||||
requestFN(
|
||||
'/department/listTreeByType'
|
||||
).then((data) => {
|
||||
this.deptTreeData = JSON.parse(data.zTreeNodes)
|
||||
resolve()
|
||||
}).catch((e) => {
|
||||
})
|
||||
})
|
||||
},
|
||||
resetPwd(id, name) {
|
||||
this.$confirm('是否重置密码为Aa@123456789?', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
this.listLoading = true
|
||||
requestFN(
|
||||
'/user/resetPwd',
|
||||
{
|
||||
USER_ID: id
|
||||
}
|
||||
).then(() => {
|
||||
this.$message({
|
||||
message: '重置成功',
|
||||
type: 'success'
|
||||
})
|
||||
this.listLoading = false
|
||||
this.varList = []
|
||||
this.listQuery.page = 1
|
||||
this.getList()
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
}).catch(() => {
|
||||
})
|
||||
},
|
||||
filterNode(value, data) {
|
||||
if (!value) return true
|
||||
return data.name.indexOf(value) !== -1
|
||||
},
|
||||
handleNodeClick(node, data, value) {
|
||||
this.DEPARTMENT_ID = node.id
|
||||
this.getList()
|
||||
},
|
||||
/*resetPassword() {
|
||||
this.$confirm('一键重置密码,会将所有未修改过密码的用户进行密码重置重置,是否继续?', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
this.listLoading = true
|
||||
requestFN(
|
||||
'/user/resetPwdAll',
|
||||
{}
|
||||
).then(() => {
|
||||
this.$message({
|
||||
message: '重置成功',
|
||||
type: 'success'
|
||||
})
|
||||
this.listLoading = false
|
||||
this.varList = []
|
||||
this.listQuery.page = 1
|
||||
this.getList()
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
}).catch(() => {
|
||||
})
|
||||
},*/
|
||||
getTreeList() {
|
||||
this.treeLoading = true
|
||||
requestFN(
|
||||
'/department/listTree',
|
||||
{}
|
||||
).then((data) => {
|
||||
this.treeLoading = false
|
||||
this.treeData = JSON.parse(data.zTreeNodes)
|
||||
}).catch((e) => {
|
||||
this.treeLoading = false
|
||||
})
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
|
@ -78,7 +78,7 @@
|
|||
<span v-if="row.STATUS =='1'">禁用</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" align="center" width="400">
|
||||
<el-table-column label="操作" align="center" width="500">
|
||||
<template slot-scope="{row}">
|
||||
<el-button v-show="edit" type="primary" icon="el-icon-edit" size="mini" @click="handleEdit(row)">编辑</el-button>
|
||||
<el-button v-show="edit" type="success" icon="el-icon-view" size="mini" @click="resetPwd(row.USER_ID)">重置密码</el-button>
|
||||
|
@ -86,6 +86,7 @@
|
|||
<el-button v-show="row.STATUS== 0" type="primary" icon="el-icon-edit" size="mini" @click="handleEditStatus(row,'1', row.USER_ID)">禁用</el-button>
|
||||
<el-button v-show="row.STATUS== 1" type="primary" icon="el-icon-edit" size="mini" @click="handleEditStatus(row,'0', row.USER_ID)">启用</el-button>
|
||||
<el-button v-show="del" type="danger" icon="el-icon-delete" size="mini" @click="handleDelete(row.USER_ID,row.USERNAME)">删除</el-button>
|
||||
<el-button v-if="row.ISPUSH == '0'" type="primary" icon="el-icon-position" size="mini" @click="goPush(row)">推送</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
@ -108,13 +109,16 @@
|
|||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="用户名" prop="USERNAME">
|
||||
<el-input v-model="pd.USERNAME" :disabled="dialogType == 'editUser'" placeholder="这里输入用户名..." />
|
||||
<el-input v-model="pd.USERNAME" :disabled="dialogType == 'editUser'" placeholder="这里输入用户名..." @blur="goCheck()"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="姓名" prop="NAME">
|
||||
<el-input v-model="pd.NAME" placeholder="这里输入姓名..." />
|
||||
</el-form-item>
|
||||
<el-form-item v-if="dialogType != 'editUser'" label="密码" prop="PASSWORD">
|
||||
<el-input v-model="pd.userPASSWORD" show-password placeholder="这里输入密码..." />
|
||||
<!-- <el-form-item v-if="dialogType != 'editUser'" label="密码" prop="PASSWORD">-->
|
||||
<!-- <el-input v-model="pd.userPASSWORD" show-password placeholder="这里输入密码..." />-->
|
||||
<!-- </el-form-item>-->
|
||||
<el-form-item label="身份证号" prop="USER_ID_CARD">
|
||||
<el-input v-model="pd.USER_ID_CARD" placeholder="这里输入身份证号..." @blur="goCheck()"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="性别" prop="SEX">
|
||||
<el-radio v-model="pd.SEX" :label="'0'">男</el-radio>
|
||||
|
@ -147,6 +151,15 @@
|
|||
<el-option v-for="item in deptTypeLevenAllList" :key="item.BIANMA" :label="item.NAME" :value="item.DICTIONARIES_ID" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="民族" prop="NATION">
|
||||
<el-select v-model="pd.NATION" placeholder="请选择" style="width: 100%;">
|
||||
<el-option
|
||||
v-for="item in uesrInfoDic.minzuList"
|
||||
:key="item.DICTIONARIES_ID"
|
||||
:label="item.NAME"
|
||||
:value="item.DICTIONARIES_ID"/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<!-- 相关方的业务需求,是否为审核人员.如果为是的情况,就是可以在入场培训中选择 -->
|
||||
<el-form-item label="是否审核人员" prop="ISASSESS">
|
||||
<el-radio v-model="pd.ISASSESS" :label="'1'">是</el-radio>
|
||||
|
@ -167,7 +180,8 @@
|
|||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button @click="dialogFormEdit = false">取 消</el-button>
|
||||
<el-button type="primary" @click="confirm">确 定</el-button>
|
||||
<el-button v-show="ISCHECK" type="primary" @click="confirm">确 定</el-button>
|
||||
<el-button v-show="!ISCHECK" type="primary" @click="goCheck">校 验</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
|
@ -245,12 +259,13 @@ export default {
|
|||
keyDeptType: '',
|
||||
keyDepeName: '',
|
||||
keyJobLeven: '',
|
||||
ISCHECK: false,
|
||||
dialogFormEdit: false,
|
||||
editloading: false,
|
||||
dialogType: 'add',
|
||||
rules: {
|
||||
EMAIL: [
|
||||
{ required: false, message: '请输入邮箱', trigger: 'blur' },
|
||||
{ required: true, message: '请输入邮箱', trigger: 'blur' },
|
||||
{
|
||||
pattern: /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-])+/,
|
||||
message: '请输入正确的邮箱'
|
||||
|
@ -262,7 +277,10 @@ export default {
|
|||
],
|
||||
USERNAME: [
|
||||
{ required: true, message: '用户名不能为空', trigger: 'blur' },
|
||||
{ min: 2, max: 30, message: '长度在 2 到 30 个字符', trigger: 'blur' },
|
||||
{
|
||||
pattern: /^(13[0-9]|14[579]|15[0-3,5-9]|16[6]|17[0135678]|18[0-9]|19[89])\d{8}$/,
|
||||
message: '用户名需使用手机号码格式'
|
||||
},
|
||||
{ validator: hasUser, trigger: 'blur' }
|
||||
],
|
||||
NAME: [
|
||||
|
@ -272,6 +290,9 @@ export default {
|
|||
SEX: [
|
||||
{ required: true, message: '请选择性别', trigger: 'blur' }
|
||||
],
|
||||
NATION: [
|
||||
{ required: true, message: '请选择民族', trigger: 'blur' }
|
||||
],
|
||||
PHONE: [
|
||||
{ required: true, message: '手机号不能为空', trigger: 'blur' },
|
||||
{ min: 11, max: 11, message: '请输入11位手机号码', trigger: 'blur' },
|
||||
|
@ -294,9 +315,20 @@ export default {
|
|||
],
|
||||
ISASSESS: [
|
||||
{ required: true, message: '请选择是否审核人员', trigger: 'blur' }
|
||||
],
|
||||
USER_ID_CARD: [{ required: true, message: '身份证号不能为空', trigger: 'blur' },
|
||||
{
|
||||
pattern: /^\d{6}(18|19|20)?\d{2}(0[1-9]|1[0-2])(([0-2][1-9])|10|20|30|31)\d{3}(\d|X|x)$/,
|
||||
message: '请输入正确的身份证号'
|
||||
}
|
||||
]
|
||||
},
|
||||
uesrInfoDic: {
|
||||
minzuList: [], // 民族 0a0e406f27f74ee698fe9979d25f62dd
|
||||
xingbieList: [], // 性别情况 21501808bbc344d593fbf9ccfe6c4531
|
||||
},
|
||||
pd: {
|
||||
USER_ID: '',
|
||||
ROLE_ID: [], // 角色ID
|
||||
USERNAME: '', // 用户名
|
||||
NAME: '', // 姓名
|
||||
|
@ -315,7 +347,9 @@ export default {
|
|||
VILLAGE: '', // 所属乡镇
|
||||
JOB_LEVEL: '', // 职务级别
|
||||
ISASSESS: '',
|
||||
JOB: ''// 职务
|
||||
JOB: '', // 职务
|
||||
USER_ID_CARD: '', //身份证号
|
||||
NATION: '' //民族
|
||||
},
|
||||
roleList: [],
|
||||
multipleSelectionAll: [], // 所有选中的数据包含跨页数据
|
||||
|
@ -374,6 +408,8 @@ export default {
|
|||
created() {
|
||||
this.getList()
|
||||
this.hasButton()
|
||||
this.getDict2('0a0e406f27f74ee698fe9979d25f62dd', 'minzuList')
|
||||
this.getDict2('21501808bbc344d593fbf9ccfe6c4531', 'xingbieList')
|
||||
this.getDict('3e057d284c294a48af32948d58e92e3d', 'deptTypeLevenAllList')
|
||||
this.getDict('3f3a6ac41247438e91df2830765068ba', 'unitTypeList')
|
||||
this.getDepartTreeList()
|
||||
|
@ -382,6 +418,103 @@ export default {
|
|||
this.getTreeList()
|
||||
},
|
||||
methods: {
|
||||
goPush(row) {
|
||||
requestFN(
|
||||
'user/goPush',
|
||||
{
|
||||
STATUS: row.STATUS,
|
||||
BZ: row.BZ,
|
||||
SKIN: row.SKIN,
|
||||
PHONE: row.PHONE,
|
||||
NUMBER: row.NUMBER,
|
||||
ISMAIN: row.ISMAIN,
|
||||
OPENID: row.APPID,
|
||||
SORT: row.SORT,
|
||||
LEARNERCATEGORY: row.LEARNERCATEGORY,
|
||||
USERAVATARPREFIX: row.USERAVATARPREFIX,
|
||||
USERAVATARURL: row.USERAVATARURL,
|
||||
SHIFTDUTYONE: row.SHIFTDUTYONE,
|
||||
SHIFTDUTYTWO: row.SHIFTDUTYTWO,
|
||||
DURATION: row.DURATION,
|
||||
WORKSTATUS: row.WORKSTATUS,
|
||||
WORKPERIOD: row.WORKPERIOD,
|
||||
PERSONNEL_TYPE: row.PERSONNEL_TYPE,
|
||||
TITLE: row.TITLE,
|
||||
ISSTATE: row.ISSTATE,
|
||||
INCUMBENCY: row.INCUMBENCY,
|
||||
WORKING_DATE: row.WORKING_DATE,
|
||||
ENTRY_DATE: row.ENTRY_DATE,
|
||||
TYPE_OF_WORK: row.TYPE_OF_WORK,
|
||||
DUTIES: row.DUTIES,
|
||||
DEGREE_OF_EDUCATION: row.DEGREE_OF_EDUCATION,
|
||||
DATE_OF_BIRTH: row.DATE_OF_BIRTH,
|
||||
POLITICAL_OUTLOOK: row.POLITICAL_OUTLOOK,
|
||||
PROVINCE: row.PROVINCE,
|
||||
CITY: row.CITY,
|
||||
COUNTRY: row.COUNTRY,
|
||||
VILLAGE: row.VILLAGE,
|
||||
USER_ID: row.USER_ID,
|
||||
CARD_NO: row.USER_ID_CARD,
|
||||
USERNAME: row.USERNAME,
|
||||
NAME: row.NAME,
|
||||
CORPINFO_ID: row.CORPINFO_ID,
|
||||
CORPINFO_NAME: row.CORPINFO_NAME || '',
|
||||
DEPARTMENT_ID: row.DEPARTMENT_ID,
|
||||
DEPARTMENT_NAME: row.DEPARTMENT_NAME,
|
||||
EMAIL: row.EMAIL || '',
|
||||
CARD_TYPE: '111',
|
||||
CARD_TYPE_NAME: '身份证',
|
||||
NATION: row.NATION_NAME || '',
|
||||
SEX: row.SEX === '0' ? '男' : '女',
|
||||
USER_TYPE: '1',
|
||||
ISDELETE: row.ISDELETE
|
||||
}
|
||||
).then((data) => {
|
||||
if (data.result === 'success') {
|
||||
this.$message.success('推送成功')
|
||||
this.getList()
|
||||
} else {
|
||||
this.$message.error('推送失败,' + data.msg)
|
||||
this.getList()
|
||||
}
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
},
|
||||
goCheck() {
|
||||
if (this.pd.USER_ID_CARD && this.pd.USERNAME) {
|
||||
const phoneJudge = /^(13[0-9]|14[579]|15[0-3,5-9]|16[6]|17[0135678]|18[0-9]|19[0-9])\d{8}$/
|
||||
const phoneResult = phoneJudge.test(this.pd.USERNAME)
|
||||
const cardJudge = /^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/
|
||||
const cardResult = cardJudge.test(this.pd.USER_ID_CARD)
|
||||
if (phoneResult && cardResult) {
|
||||
console.log('格式校验通过')
|
||||
requestFN(
|
||||
'user/goCheck',
|
||||
{
|
||||
CARD_NO: this.pd.USER_ID_CARD,
|
||||
USERNAME: this.pd.USERNAME,
|
||||
USER_ID: this.pd.USER_ID || ''
|
||||
}
|
||||
).then((data) => {
|
||||
if (data.result === 'success') {
|
||||
this.$message.success('验证通过')
|
||||
this.ISCHECK = true
|
||||
} else {
|
||||
this.$message.error('验证失败,请确认身份证号与手机号是否正确')
|
||||
this.ISCHECK = false
|
||||
}
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
this.ISCHECK = false
|
||||
})
|
||||
} else {
|
||||
this.ISCHECK = false
|
||||
}
|
||||
} else {
|
||||
this.ISCHECK = false
|
||||
}
|
||||
},
|
||||
getList() {
|
||||
this.listLoading = true
|
||||
requestFN(
|
||||
|
@ -397,7 +530,8 @@ export default {
|
|||
PROVINCE: this.keyShudi[0] || '',
|
||||
CITY: this.keyShudi[1] || '',
|
||||
COUNTRY: this.keyShudi[2] || '',
|
||||
VILLAGE: this.keyShudi[3] || ''
|
||||
VILLAGE: this.keyShudi[3] || '',
|
||||
ISPUSH: '1'
|
||||
}
|
||||
).then((data) => {
|
||||
this.listLoading = false
|
||||
|
@ -471,6 +605,7 @@ export default {
|
|||
},
|
||||
handleAdd() {
|
||||
this.dialogFormEdit = true
|
||||
this.ISCHECK = false
|
||||
this.pd = {}
|
||||
this.dialogType = 'saveUser'
|
||||
this.pd.PASSWORD = 'Aa@123456789'
|
||||
|
@ -501,7 +636,7 @@ export default {
|
|||
this.varList = []
|
||||
this.$refs.deptTree.clearHandle()
|
||||
this.listQuery.page = 1
|
||||
this.getList()
|
||||
this.goPush(data.pd)
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
|
@ -643,6 +778,7 @@ export default {
|
|||
).then((data) => {
|
||||
if (data.result == 'success') {
|
||||
this.listLoading = false
|
||||
this.goPush(row)
|
||||
this.getList()
|
||||
}
|
||||
}).catch((e) => {
|
||||
|
@ -684,6 +820,17 @@ export default {
|
|||
this.listLoading = false
|
||||
})
|
||||
},
|
||||
// 获取数据字典数据
|
||||
getDict2(dicID, listName) {
|
||||
requestFN(
|
||||
'dictionaries/getLevels',
|
||||
{ DICTIONARIES_ID: dicID }
|
||||
).then((data) => {
|
||||
this.uesrInfoDic[listName] = data.list
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
},
|
||||
getDepartTreeList() {
|
||||
this.pd.DEPARTMENT_ID = ''
|
||||
if (this.$refs.deptTree) {
|
||||
|
|
|
@ -0,0 +1,924 @@
|
|||
<template>
|
||||
<div class="app-container">
|
||||
<el-container>
|
||||
<el-aside width="300px" style="background-color:#fff">
|
||||
<el-input
|
||||
v-model="filterText"
|
||||
placeholder="输入关键字进行过滤"
|
||||
style="margin:10px 0"/>
|
||||
<el-tree
|
||||
v-loading="treeLoading"
|
||||
ref="tree"
|
||||
:data="treeData"
|
||||
:props="defaultProps"
|
||||
:filter-node-method="filterNode"
|
||||
class="filter-tree"
|
||||
@node-click="handleNodeClick"/>
|
||||
</el-aside>
|
||||
<el-main>
|
||||
<div class="filter-container">
|
||||
<div class="filter-lable w80">用户名称:</div>
|
||||
<el-input v-model="keyUserName" clearable placeholder="搜索用户名" class="filter-item" style="width: 200px;"/>
|
||||
<div class="filter-lable w80">职务级别:</div>
|
||||
<el-select ref="refDeptLeven" v-model="keyJobLeven" clearable placeholder="请选择部门级别" class="filter-item" style="width: 200px;" >
|
||||
<el-option v-for="item in deptTypeLevenAllList" :key="item.BIANMA" :label="item.NAME" :value="item.DICTIONARIES_ID" />
|
||||
</el-select>
|
||||
<!-- <div class="filter-lable w80">行政区域:</div>-->
|
||||
<!-- <el-cascader ref="shudi" v-model="keyShudi" :props="areaprops" clearable placeholder="请选择行政区域" style="width: 200px" />-->
|
||||
<!-- <div class="filter-lable w80">单位类型:</div>-->
|
||||
<!-- <el-select ref="refDeptType" v-model="keyDeptType" clearable placeholder="请选择单位类型" class="filter-item">-->
|
||||
<!-- <el-option v-for="item in unitTypeList" :key="item.DICTIONARIES_ID" :label="item.NAME" :value="item.DICTIONARIES_ID" />-->
|
||||
<!-- </el-select>-->
|
||||
<div class="filter-lable w80">部门名称:</div>
|
||||
<el-input v-model="keyDepeName" clearable placeholder="搜索部门名称" class="filter-item" style="width: 200px;"/>
|
||||
<!-- <div class="filter-lable w80">职务级别:</div>-->
|
||||
<!-- <el-select ref="refJobLeven" v-model="keyJobLeven" clearable placeholder="请选择" class="filter-item">-->
|
||||
<!-- <el-option v-for="item in jobTypeAllList" :key="item.DICTIONARIES_ID" :label="item.NAME" :value="item.DICTIONARIES_ID" />-->
|
||||
<!-- </el-select>-->
|
||||
<el-button v-waves class="filter-item" type="primary" icon="el-icon-search" @click="getQuery">
|
||||
搜索
|
||||
</el-button>
|
||||
<el-button v-waves class="filter-item" type="success" icon="el-icon-refresh" @click="goKeyReset">
|
||||
重置
|
||||
</el-button>
|
||||
<el-button v-waves v-if="LOGIN_USER === '1'" class="filter-item" type="warning" icon="el-icon-warning" size="mini" plain @click="resetPassword">
|
||||
一键密码重置
|
||||
</el-button>
|
||||
</div>
|
||||
<el-table
|
||||
ref="multipleTable"
|
||||
:data="varList"
|
||||
:header-cell-style="{
|
||||
'font-weight': 'bold',
|
||||
'color': '#000'
|
||||
}"
|
||||
tooltip-effect="dark"
|
||||
border
|
||||
fit
|
||||
highlight-current-row
|
||||
>
|
||||
<el-table-column
|
||||
type="selection"
|
||||
width="55"
|
||||
align="center"/>
|
||||
<el-table-column type="index" label="序号" width="50" align="center" />
|
||||
<el-table-column prop="USERNAME" label="用户名" />
|
||||
<el-table-column prop="NAME" label="姓名" />
|
||||
<el-table-column prop="SEX" label="性别">
|
||||
<template slot-scope="{row}">
|
||||
<span v-if="row.SEX =='0'">男</span>
|
||||
<span v-if="row.SEX =='1'">女</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="DEPARTMENT_NAME" label="部门" />
|
||||
<el-table-column prop="jobLevenName" label="职务级别" />
|
||||
<el-table-column prop="STATUS" label="状态" >
|
||||
<template slot-scope="{row}">
|
||||
<span v-if="row.STATUS =='0'">启用</span>
|
||||
<span v-if="row.STATUS =='1'">禁用</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" align="center" width="500">
|
||||
<template slot-scope="{row}">
|
||||
<el-button v-show="edit" type="primary" icon="el-icon-edit" size="mini" @click="handleEdit(row)">编辑</el-button>
|
||||
<el-button v-show="edit" type="success" icon="el-icon-view" size="mini" @click="resetPwd(row.USER_ID)">重置密码</el-button>
|
||||
<el-button v-show="edit && row.STATUS === '99'" type="warning" icon="el-icon-unlock" size="mini" @click="unLockUser(row.USER_ID, row.NAME)">帐号解锁</el-button>
|
||||
<el-button v-show="row.STATUS== 0" type="primary" icon="el-icon-edit" size="mini" @click="handleEditStatus(row,'1', row.USER_ID)">禁用</el-button>
|
||||
<el-button v-show="row.STATUS== 1" type="primary" icon="el-icon-edit" size="mini" @click="handleEditStatus(row,'0', row.USER_ID)">启用</el-button>
|
||||
<el-button v-show="del" type="danger" icon="el-icon-delete" size="mini" @click="handleDelete(row)">删除</el-button>
|
||||
<el-button v-if="row.ISPUSH != '1'" type="primary" icon="el-icon-position" size="mini" @click="goPush(row)">推送</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div class="page-btn-group">
|
||||
<div>
|
||||
<template >
|
||||
<el-button v-show="add" type="primary" icon="el-icon-plus" @click="handleAdd">新增</el-button>
|
||||
<el-button v-show="del" type="danger" icon="el-icon-delete" plain @click="makeAll('0')">删除</el-button>
|
||||
</template>
|
||||
</div>
|
||||
<pagination :total="total" :page.sync="listQuery.page" :limit.sync="listQuery.limit" @pagination="getList" />
|
||||
</div>
|
||||
</el-main>
|
||||
</el-container>
|
||||
<el-dialog v-loading="editloading" :visible.sync="dialogFormEdit" :title="dialogType==='editUser'?'修改':'新增'" width="600px">
|
||||
<el-form ref="form" :rules="rules" :model="pd" label-width="110px" style="width: 500px;">
|
||||
<el-form-item label="角色" prop="ROLE_ID">
|
||||
<el-select v-model="pd.ROLE_ID" multiple placeholder="请选择角色">
|
||||
<el-option v-for="item in roleList" :key="item.role_ID" :label="item.role_NAME" :value="item.role_ID" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="用户名" prop="USERNAME">
|
||||
<el-input v-model="pd.USERNAME" :disabled="dialogType == 'editUser'" placeholder="这里输入用户名..." @blur="goCheck()"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="姓名" prop="NAME">
|
||||
<el-input v-model="pd.NAME" placeholder="这里输入姓名..." />
|
||||
</el-form-item>
|
||||
<el-form-item v-if="dialogType != 'editUser'" label="密码" prop="PASSWORD">
|
||||
<el-input v-model="pd.userPASSWORD" show-password placeholder="这里输入密码..." />
|
||||
</el-form-item>
|
||||
<el-form-item label="身份证号" prop="USER_ID_CARD">
|
||||
<el-input v-model="pd.USER_ID_CARD" placeholder="这里输入身份证号..." @blur="goCheck()"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="性别" prop="SEX">
|
||||
<el-radio v-model="pd.SEX" :label="'0'">男</el-radio>
|
||||
<el-radio v-model="pd.SEX" :label="'1'">女</el-radio>
|
||||
</el-form-item>
|
||||
<el-form-item label="手机号" prop="PHONE">
|
||||
<el-input v-model="pd.PHONE" placeholder="这里输入手机号..." />
|
||||
</el-form-item>
|
||||
<!-- <el-form-item label="部门级别" prop="deptTypeID"> <!–(目的是选择部门到这个级别) –>-->
|
||||
<!-- <el-select v-model="pd.deptTypeID" placeholder="请选择" class="filter-item" >-->
|
||||
<!-- <el-option v-for="item in deptTypeLevenAllList" :key="item.BIANMA" :label="item.NAME" :value="item.DICTIONARIES_ID" />-->
|
||||
<!-- </el-select>-->
|
||||
<!-- </el-form-item>-->
|
||||
<el-form-item label="单位部门" prop="DEPARTMENT_ID">
|
||||
<SelectTree
|
||||
v-if="dialogFormEdit"
|
||||
ref="deptTree"
|
||||
:clearable="false"
|
||||
:options="deptTreeData"
|
||||
:props="deptDefaultProps"
|
||||
v-model="pd.DEPARTMENT_ID"
|
||||
placeholder="请选择部门"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="行政区域" prop="shudi"> <!--河北省的就可以 -->
|
||||
<el-cascader v-if="dialogFormEdit" id="shudi" ref="shudi" v-model="pd.shudi" :props="areaprops" placeholder="请选择省市县" style="width: 100%" />
|
||||
</el-form-item>
|
||||
<el-form-item label="职务级别" prop="JOB_LEVEL">
|
||||
<el-select ref="refJobLevel" v-model="pd.JOB_LEVEL" placeholder="请选择" class="filter-item">
|
||||
<el-option v-for="item in deptTypeLevenAllList" :key="item.BIANMA" :label="item.NAME" :value="item.DICTIONARIES_ID" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="民族" prop="NATION">
|
||||
<el-select v-model="pd.NATION" placeholder="请选择" style="width: 100%;">
|
||||
<el-option
|
||||
v-for="item in uesrInfoDic.minzuList"
|
||||
:key="item.DICTIONARIES_ID"
|
||||
:label="item.NAME"
|
||||
:value="item.DICTIONARIES_ID"/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<!-- 相关方的业务需求,是否为审核人员.如果为是的情况,就是可以在入场培训中选择 -->
|
||||
<el-form-item label="是否审核人员" prop="ISASSESS">
|
||||
<el-radio v-model="pd.ISASSESS" :label="'1'">是</el-radio>
|
||||
<el-radio v-model="pd.ISASSESS" :label="'0'">否</el-radio>
|
||||
</el-form-item>
|
||||
<el-form-item label="职务" prop="JOB">
|
||||
<el-input v-model="pd.JOB" placeholder="这里输入职务..." />
|
||||
</el-form-item>
|
||||
<el-form-item label="邮箱" prop="EMAIL">
|
||||
<el-input v-model="pd.EMAIL" placeholder="这里输入邮箱..." />
|
||||
</el-form-item>
|
||||
<el-form-item label="排序" prop="SORT">
|
||||
<el-input v-model.number="pd.SORT" placeholder="这里输入排序..." />
|
||||
</el-form-item>
|
||||
<el-form-item label="备注">
|
||||
<el-input v-model="pd.BZ" type="textarea" placeholder="这里输入备注说明..." />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button @click="dialogFormEdit = false">取 消</el-button>
|
||||
<el-button v-show="ISCHECK" type="primary" @click="confirm">确 定</el-button>
|
||||
<el-button v-show="!ISCHECK" type="primary" @click="goCheck">校 验</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import Pagination from '@/components/Pagination' // 通过 el-pagination二次打包
|
||||
import { requestFN } from '@/utils/request'
|
||||
import waves from '@/directive/waves' // waves directive
|
||||
import SelectTree from '@/components/SelectTree'
|
||||
export default {
|
||||
components: { Pagination, SelectTree },
|
||||
directives: { waves },
|
||||
data() {
|
||||
var hasUser = (rule, value, callback) => {
|
||||
if (this.dialogType != 'editUser') {
|
||||
requestFN(
|
||||
'/user/hasUser',
|
||||
{
|
||||
USERNAME: value,
|
||||
tm: new Date().getTime()
|
||||
}
|
||||
).then((data) => {
|
||||
if (data.result == 'success') {
|
||||
callback()
|
||||
} else {
|
||||
callback(new Error('用户名重复'))
|
||||
}
|
||||
}).catch((e) => {
|
||||
|
||||
})
|
||||
} else {
|
||||
callback()
|
||||
}
|
||||
}
|
||||
var hasEmail = (rule, value, callback) => {
|
||||
if (value) {
|
||||
requestFN(
|
||||
'/user/hasEmail',
|
||||
{
|
||||
EMAIL: value,
|
||||
USERNAME: this.pd.USERNAME
|
||||
}
|
||||
).then((data) => {
|
||||
if (data.result == 'success') {
|
||||
callback()
|
||||
} else {
|
||||
callback(new Error('邮箱重复'))
|
||||
}
|
||||
}).catch((e) => {
|
||||
|
||||
})
|
||||
} else {
|
||||
callback()
|
||||
}
|
||||
}
|
||||
return {
|
||||
LOGIN_USER: JSON.parse(sessionStorage.getItem('user')).USER_ID,
|
||||
treeLoading: false,
|
||||
treeData: [],
|
||||
defaultProps: {
|
||||
children: 'nodes',
|
||||
label: 'name'
|
||||
},
|
||||
listQuery: {
|
||||
page: 1,
|
||||
limit: 20
|
||||
},
|
||||
total: 0,
|
||||
varList: [],
|
||||
filterText: '',
|
||||
keyUserName: '',
|
||||
keyDeptLeven: '',
|
||||
keyShudi: '',
|
||||
keyDeptType: '',
|
||||
keyDepeName: '',
|
||||
keyJobLeven: '',
|
||||
ISCHECK: false,
|
||||
dialogFormEdit: false,
|
||||
editloading: false,
|
||||
dialogType: 'add',
|
||||
rules: {
|
||||
EMAIL: [
|
||||
{ required: true, message: '请输入邮箱', trigger: 'blur' },
|
||||
{
|
||||
pattern: /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-])+/,
|
||||
message: '请输入正确的邮箱'
|
||||
},
|
||||
{ validator: hasEmail, trigger: 'blur' }
|
||||
],
|
||||
ROLE_ID: [
|
||||
{ required: true, message: '角色不能为空', trigger: 'blur' }
|
||||
],
|
||||
USERNAME: [
|
||||
{ required: true, message: '用户名不能为空', trigger: 'blur' },
|
||||
{
|
||||
pattern: /^(13[0-9]|14[579]|15[0-3,5-9]|16[6]|17[0135678]|18[0-9]|19[89])\d{8}$/,
|
||||
message: '用户名需使用手机号码格式'
|
||||
},
|
||||
{ validator: hasUser, trigger: 'blur' }
|
||||
],
|
||||
NAME: [
|
||||
{ required: true, message: '姓名不能为空', trigger: 'blur' },
|
||||
{ min: 2, max: 30, message: '长度在 2 到 30 个字符', trigger: 'blur' }
|
||||
],
|
||||
SEX: [
|
||||
{ required: true, message: '请选择性别', trigger: 'blur' }
|
||||
],
|
||||
NATION: [
|
||||
{ required: true, message: '请选择民族', trigger: 'blur' }
|
||||
],
|
||||
PHONE: [
|
||||
{ required: true, message: '手机号不能为空', trigger: 'blur' },
|
||||
{ min: 11, max: 11, message: '请输入11位手机号码', trigger: 'blur' },
|
||||
{
|
||||
pattern: /^(13[0-9]|14[579]|15[0-3,5-9]|16[6]|17[0135678]|18[0-9]|19[89])\d{8}$/,
|
||||
message: '请输入正确的手机号码'
|
||||
}
|
||||
],
|
||||
deptTypeID: [
|
||||
{ required: true, message: '请选择部门级别', trigger: 'blur' }
|
||||
],
|
||||
shudi: [
|
||||
{ required: true, message: '请选择属地', trigger: 'blur' }
|
||||
],
|
||||
JOB_LEVEL: [
|
||||
{ required: true, message: '请选择职务级别', trigger: 'blur' }
|
||||
],
|
||||
DEPARTMENT_ID: [
|
||||
{ required: true, message: '请选择单位部门', trigger: 'blur' }
|
||||
],
|
||||
ISASSESS: [
|
||||
{ required: true, message: '请选择是否审核人员', trigger: 'blur' }
|
||||
],
|
||||
USER_ID_CARD: [{ required: true, message: '身份证号不能为空', trigger: 'blur' },
|
||||
{
|
||||
pattern: /^\d{6}(18|19|20)?\d{2}(0[1-9]|1[0-2])(([0-2][1-9])|10|20|30|31)\d{3}(\d|X|x)$/,
|
||||
message: '请输入正确的身份证号'
|
||||
}
|
||||
]
|
||||
},
|
||||
uesrInfoDic: {
|
||||
minzuList: [], // 民族 0a0e406f27f74ee698fe9979d25f62dd
|
||||
xingbieList: [], // 性别情况 21501808bbc344d593fbf9ccfe6c4531
|
||||
},
|
||||
pd: {
|
||||
ROLE_ID: [], // 角色ID
|
||||
USERNAME: '', // 用户名
|
||||
NAME: '', // 姓名
|
||||
userPASSWORD: 'Aa@123456789', // 密码
|
||||
SEX: '', // 性别(0男,1女)
|
||||
PHONE: '', // 电话
|
||||
deptTypeID: '', // 需要选择的部门级别,只有相等的时候可以
|
||||
DEPARTMENT_ID: '', // 用户部门
|
||||
shudi: '',
|
||||
BZ: '', // 备注
|
||||
EMAIL: '', // 邮箱
|
||||
SORT: '', // 人员在部门中的排序
|
||||
PROVINCE: '', // 所属省
|
||||
CITY: '', // 所属市级
|
||||
COUNTRY: '', // 所属区县
|
||||
VILLAGE: '', // 所属乡镇
|
||||
JOB_LEVEL: '', // 职务级别
|
||||
ISASSESS: '',
|
||||
JOB: '', // 职务
|
||||
USER_ID_CARD: '', //身份证号
|
||||
NATION: '' //民族
|
||||
},
|
||||
roleList: [],
|
||||
multipleSelectionAll: [], // 所有选中的数据包含跨页数据
|
||||
multipleSelection: [], // 当前页选中的数据
|
||||
fromExcel: false, // 从excel导入权限
|
||||
toExcel: false, // 导出到excel权限
|
||||
add: false, // 新增按钮
|
||||
del: false, // 删除按钮
|
||||
edit: false, // 修改按钮
|
||||
hasUserRet: false,
|
||||
deptTypeLevenAllList: [], // 单位类型
|
||||
jobTypeAllList: [], // 职务级别
|
||||
deptTreeData: [], // 部门树数据,
|
||||
deptDefaultProps: {
|
||||
value: 'id',
|
||||
children: 'nodes',
|
||||
label: 'name'
|
||||
},
|
||||
unitTypeList: [],
|
||||
areaprops: {
|
||||
lazy: true,
|
||||
lazyLoad(node, resolve) {
|
||||
setTimeout(() => {
|
||||
const areaLeven = node.level
|
||||
var areaParID = ''
|
||||
if (areaLeven == '0') {
|
||||
areaParID = 'e725d2a91b8248f4b8f49889038df7de'
|
||||
} else {
|
||||
areaParID = node.data.id
|
||||
}
|
||||
requestFN(
|
||||
'dictionaries/getLevels',
|
||||
{ DICTIONARIES_ID: areaParID }
|
||||
).then((data) => {
|
||||
const nodes = data.list.map(item => ({
|
||||
value: item.DICTIONARIES_ID,
|
||||
label: item.NAME.toString(),
|
||||
id: item.DICTIONARIES_ID.toString(),
|
||||
leaf: areaLeven > 2
|
||||
}))
|
||||
resolve(nodes) // 通过调用resolve将子节点数据返回,通知组件数据加载完成
|
||||
}).catch((e) => {
|
||||
this.editloading = false
|
||||
this.listLoading = false
|
||||
})
|
||||
}, 500)
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
filterText(val) {
|
||||
this.$refs.tree.filter(val)
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getList()
|
||||
this.hasButton()
|
||||
this.getDict2('0a0e406f27f74ee698fe9979d25f62dd', 'minzuList')
|
||||
this.getDict2('21501808bbc344d593fbf9ccfe6c4531', 'xingbieList')
|
||||
this.getDict('3e057d284c294a48af32948d58e92e3d', 'deptTypeLevenAllList')
|
||||
this.getDict('3f3a6ac41247438e91df2830765068ba', 'unitTypeList')
|
||||
this.getDepartTreeList()
|
||||
this.getDict('f1fbdf9a286342ae98e6a56bf823f221', 'jobTypeAllList')
|
||||
this.goAddUser()
|
||||
this.getTreeList()
|
||||
},
|
||||
methods: {
|
||||
goPush(row) {
|
||||
requestFN(
|
||||
'user/goPush',
|
||||
{
|
||||
STATUS: row.STATUS,
|
||||
BZ: row.BZ,
|
||||
SKIN: row.SKIN,
|
||||
PHONE: row.PHONE,
|
||||
NUMBER: row.NUMBER,
|
||||
ISMAIN: row.ISMAIN,
|
||||
OPENID: row.APPID,
|
||||
SORT: row.SORT,
|
||||
LEARNERCATEGORY: row.LEARNERCATEGORY,
|
||||
USERAVATARPREFIX: row.USERAVATARPREFIX,
|
||||
USERAVATARURL: row.USERAVATARURL,
|
||||
SHIFTDUTYONE: row.SHIFTDUTYONE,
|
||||
SHIFTDUTYTWO: row.SHIFTDUTYTWO,
|
||||
DURATION: row.DURATION,
|
||||
WORKSTATUS: row.WORKSTATUS,
|
||||
WORKPERIOD: row.WORKPERIOD,
|
||||
PERSONNEL_TYPE: row.PERSONNEL_TYPE,
|
||||
TITLE: row.TITLE,
|
||||
ISSTATE: row.ISSTATE,
|
||||
INCUMBENCY: row.INCUMBENCY,
|
||||
WORKING_DATE: row.WORKING_DATE,
|
||||
ENTRY_DATE: row.ENTRY_DATE,
|
||||
TYPE_OF_WORK: row.TYPE_OF_WORK,
|
||||
DUTIES: row.DUTIES,
|
||||
DEGREE_OF_EDUCATION: row.DEGREE_OF_EDUCATION,
|
||||
DATE_OF_BIRTH: row.DATE_OF_BIRTH,
|
||||
POLITICAL_OUTLOOK: row.POLITICAL_OUTLOOK,
|
||||
PROVINCE: row.PROVINCE,
|
||||
CITY: row.CITY,
|
||||
COUNTRY: row.COUNTRY,
|
||||
VILLAGE: row.VILLAGE,
|
||||
USER_ID: row.USER_ID,
|
||||
CARD_NO: row.USER_ID_CARD,
|
||||
USERNAME: row.USERNAME,
|
||||
NAME: row.NAME,
|
||||
CORPINFO_ID: row.CORPINFO_ID,
|
||||
CORPINFO_NAME: row.CORPINFO_NAME || '',
|
||||
DEPARTMENT_ID: row.DEPARTMENT_ID,
|
||||
DEPARTMENT_NAME: row.DEPARTMENT_NAME,
|
||||
EMAIL: row.EMAIL || '',
|
||||
CARD_TYPE: '111',
|
||||
CARD_TYPE_NAME: '身份证',
|
||||
NATION: row.NATION_NAME || '',
|
||||
SEX: row.SEX === '0' ? '男' : '女',
|
||||
USER_TYPE: '1',
|
||||
ISDELETE: row.ISDELETE != null ? row.ISDELETE : "0"
|
||||
}
|
||||
).then((data) => {
|
||||
if (data.result === 'success') {
|
||||
this.$message.success('推送成功')
|
||||
this.getList()
|
||||
} else {
|
||||
this.$message.error('推送失败,' + data.msg)
|
||||
}
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
},
|
||||
goCheck() {
|
||||
if (this.pd.USER_ID_CARD && this.pd.USERNAME) {
|
||||
const phoneJudge = /^(13[0-9]|14[579]|15[0-3,5-9]|16[6]|17[0135678]|18[0-9]|19[0-9])\d{8}$/
|
||||
const phoneResult = phoneJudge.test(this.pd.USERNAME)
|
||||
const cardJudge = /^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/
|
||||
const cardResult = cardJudge.test(this.pd.USER_ID_CARD)
|
||||
if (phoneResult && cardResult) {
|
||||
console.log('格式校验通过')
|
||||
requestFN(
|
||||
'user/goCheck',
|
||||
{
|
||||
CARD_NO: this.pd.USER_ID_CARD,
|
||||
USERNAME: this.pd.USERNAME
|
||||
}
|
||||
).then((data) => {
|
||||
if (data.result === 'success') {
|
||||
this.$message.success('验证通过')
|
||||
this.ISCHECK = true
|
||||
} else {
|
||||
this.$message.error('验证失败,请确认身份证号与手机号是否正确')
|
||||
this.ISCHECK = false
|
||||
}
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
this.ISCHECK = false
|
||||
})
|
||||
} else {
|
||||
this.ISCHECK = false
|
||||
}
|
||||
} else {
|
||||
this.ISCHECK = false
|
||||
}
|
||||
},
|
||||
getList() {
|
||||
this.listLoading = true
|
||||
requestFN(
|
||||
'/user/list?showCount=' + this.listQuery.limit + '¤tPage=' + this.listQuery.page,
|
||||
{
|
||||
keyUserName: this.keyUserName,
|
||||
keyDeptLeven: this.keyDeptLeven,
|
||||
keyShudi: this.keyShudi,
|
||||
keyDeptType: this.keyDeptType,
|
||||
keyDepeName: this.keyDepeName,
|
||||
keyJobLeven: this.keyJobLeven,
|
||||
DEPARTMENT_ID: this.DEPARTMENT_ID,
|
||||
PROVINCE: this.keyShudi[0] || '',
|
||||
CITY: this.keyShudi[1] || '',
|
||||
COUNTRY: this.keyShudi[2] || '',
|
||||
VILLAGE: this.keyShudi[3] || '',
|
||||
ISPUSH: '0'
|
||||
}
|
||||
).then((data) => {
|
||||
this.listLoading = false
|
||||
this.varList = data.userList
|
||||
this.total = data.page.totalResult
|
||||
})
|
||||
.catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
},
|
||||
|
||||
goKeyReset() {
|
||||
this.keyUserName = ''
|
||||
this.keyDeptLeven = ''
|
||||
this.keyShudi = ''
|
||||
this.keyDeptType = ''
|
||||
this.keyDepeName = ''
|
||||
this.keyJobLeven = ''
|
||||
this.getList()
|
||||
if (this.$refs.refDeptLeven) {
|
||||
this.$refs.refDeptLeven.clearHandle()
|
||||
}
|
||||
if (this.$refs.shudi) {
|
||||
this.$refs.shudi.clearHandle()
|
||||
}
|
||||
if (this.$refs.refDeptType) {
|
||||
this.$refs.refDeptType.clearHandle()
|
||||
}
|
||||
if (this.$refs.refJobLeven) {
|
||||
this.$refs.refJobLeven.clearHandle()
|
||||
}
|
||||
},
|
||||
goAddUser() { // 点击添加用户的时候,获取角色
|
||||
requestFN(
|
||||
'/user/goAddUser',
|
||||
{
|
||||
}
|
||||
).then((data) => {
|
||||
this.roleList = data.roleList
|
||||
})
|
||||
.catch((e) => {
|
||||
})
|
||||
},
|
||||
|
||||
unLockUser(id, name) {
|
||||
this.$confirm('确定要解锁 [ 帐号:' + name + ' ] 吗?', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
this.listLoading = true
|
||||
requestFN(
|
||||
'/user/unLockUser',
|
||||
{
|
||||
USER_ID: id
|
||||
}
|
||||
).then(() => {
|
||||
this.$message({
|
||||
message: '解锁成功',
|
||||
type: 'success'
|
||||
})
|
||||
this.listLoading = false
|
||||
this.varList = []
|
||||
this.listQuery.page = 1
|
||||
this.getList()
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
}).catch(() => {
|
||||
})
|
||||
},
|
||||
handleAdd() {
|
||||
this.dialogFormEdit = true
|
||||
this.ISCHECK = false
|
||||
this.pd = {}
|
||||
this.dialogType = 'saveUser'
|
||||
this.pd.PASSWORD = 'Aa@123456789'
|
||||
},
|
||||
confirm() {
|
||||
this.$refs.form.validate(valid => {
|
||||
if (valid) {
|
||||
this.listLoading = true
|
||||
if (this.pd.ROLE_ID) {
|
||||
var roleIDs = ''
|
||||
this.pd.ROLE_ID.forEach((item) => {
|
||||
roleIDs += item + ';'
|
||||
})
|
||||
this.pd.roleIDs = roleIDs
|
||||
}
|
||||
if (this.pd.shudi) {
|
||||
this.pd.PROVINCE = this.pd.shudi[0]
|
||||
this.pd.CITY = this.pd.shudi[1]
|
||||
this.pd.COUNTRY = this.pd.shudi[2] || ''
|
||||
this.pd.VILLAGE = this.pd.shudi[3] || ''
|
||||
}
|
||||
requestFN(
|
||||
'/user/' + this.dialogType,
|
||||
this.pd
|
||||
).then((data) => {
|
||||
this.listLoading = false
|
||||
this.dialogFormEdit = false
|
||||
this.varList = []
|
||||
this.$refs.deptTree.clearHandle()
|
||||
this.listQuery.page = 1
|
||||
console.log(data.pd)
|
||||
this.goPush(data.pd)
|
||||
this.getList()
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
} else {
|
||||
return false
|
||||
}
|
||||
})
|
||||
},
|
||||
handleDelete(row) {
|
||||
this.$confirm('确定要删除[' + row.USERNAME + ']吗?', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
this.listLoading = true
|
||||
requestFN(
|
||||
'/user/deleteUser',
|
||||
{
|
||||
USER_ID: row.USER_ID,
|
||||
ISPUSH: row.ISPUSH
|
||||
}
|
||||
).then((data) => {
|
||||
if (data.result == 'success') {
|
||||
this.listLoading = false
|
||||
this.getList()
|
||||
}
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
}).catch(() => {
|
||||
})
|
||||
},
|
||||
makeAll(msg) {
|
||||
const _selectData = this.$refs.multipleTable.selection
|
||||
if (_selectData == null || _selectData.length == 0) {
|
||||
this.$message({
|
||||
message: '请选中要删除的项...',
|
||||
type: 'error'
|
||||
})
|
||||
return false
|
||||
}
|
||||
const ids = _selectData.map((item, index) => {
|
||||
return item.USER_ID
|
||||
}).join(',')
|
||||
var tishi = ''
|
||||
if (msg == '0') {
|
||||
tishi = '确定要删除选中的数据吗?'
|
||||
} else if (msg == '1') {
|
||||
tishi = '确定要给选中的用户发送站内信吗?'
|
||||
} else {
|
||||
this.$message({
|
||||
message: '请选择操作类型...',
|
||||
type: 'error'
|
||||
})
|
||||
return false
|
||||
}
|
||||
this.$confirm(tishi, {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
if (msg == '0') {
|
||||
this.listLoading = true
|
||||
requestFN(
|
||||
'/user/deleteAllUser',
|
||||
{
|
||||
USER_IDS: ids
|
||||
}
|
||||
).then(() => {
|
||||
this.listLoading = false
|
||||
this.varList = []
|
||||
this.listQuery.page = 1
|
||||
this.$refs.multipleTable.clearSelection()
|
||||
this.getList()
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
}
|
||||
}).catch(() => {
|
||||
})
|
||||
},
|
||||
getQuery() {
|
||||
this.$refs.multipleTable.clearSelection()
|
||||
this.getList()
|
||||
},
|
||||
async handleEdit(row) {
|
||||
console.log(row)
|
||||
this.dialogType = 'editUser'
|
||||
this.pd = JSON.parse(JSON.stringify(row))
|
||||
const areaRefID = []
|
||||
if (this.pd.PROVINCE) {
|
||||
areaRefID.push(this.pd.PROVINCE)
|
||||
}
|
||||
if (this.pd.CITY) {
|
||||
areaRefID.push(this.pd.CITY)
|
||||
}
|
||||
if (this.pd.COUNTRY) {
|
||||
areaRefID.push(this.pd.COUNTRY)
|
||||
}
|
||||
if (this.pd.VILLAGE) {
|
||||
areaRefID.push(this.pd.VILLAGE)
|
||||
}
|
||||
this.$set(this.pd, 'shudi', areaRefID)
|
||||
|
||||
const refDeptLevelVal = {}
|
||||
refDeptLevelVal.id = this.pd.deptLevenlID
|
||||
const deptRefsValue = {}
|
||||
deptRefsValue.id = this.pd.DEPARTMENT_ID
|
||||
var arrString = []
|
||||
if (this.pd.ROLE_ID != null && this.pd.ROLE_ID != '') {
|
||||
arrString.push(this.pd.ROLE_ID)
|
||||
}
|
||||
if (this.pd.ROLE_IDS != null && this.pd.ROLE_IDS != '' && this.pd.ROLE_IDS != undefined && this.pd.ROLE_IDS != 'undefined') {
|
||||
// 将字符串转换成数组,此时是字符串数组
|
||||
this.pd.ROLE_IDS = this.pd.ROLE_IDS.substring(0, this.pd.ROLE_IDS.length - 1)
|
||||
var arrList = this.pd.ROLE_IDS && this.pd.ROLE_IDS != '' ? this.pd.ROLE_IDS.split(';') : ''
|
||||
// eslint-disable-next-line no-unused-vars
|
||||
for (const item1 of arrList) { // 循环取出多个角色的ID
|
||||
arrString.push(item1)
|
||||
}
|
||||
}
|
||||
this.pd.ROLE_ID = arrString
|
||||
this.dialogFormEdit = true
|
||||
await this.$nextTick()
|
||||
},
|
||||
handleEditStatus(row, type) {
|
||||
const typeName = type == '1' ? '禁用' : '启用'
|
||||
this.$confirm('确定要' + typeName + '[' + row.USERNAME + ']吗?', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
this.listLoading = true
|
||||
requestFN(
|
||||
'/user/updateUserStatus',
|
||||
{
|
||||
USER_ID: row.USER_ID,
|
||||
status: type
|
||||
}
|
||||
).then((data) => {
|
||||
if (data.result == 'success') {
|
||||
this.listLoading = false
|
||||
this.goPush(row)
|
||||
this.getList()
|
||||
}
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
}).catch(() => {
|
||||
})
|
||||
},
|
||||
hasButton: function() {
|
||||
var keys = 'user:add,user:del,user:edit,fhSms,email,fromExcel,toExcel'
|
||||
requestFN(
|
||||
'/head/hasButton',
|
||||
{
|
||||
keys: keys, tm: new Date().getTime()
|
||||
}
|
||||
).then((data) => {
|
||||
if (data.result == 'success') {
|
||||
this.add = data.userfhadminadd // 增
|
||||
this.del = data.userfhadmindel // 删
|
||||
this.edit = data.userfhadminedit // 改
|
||||
this.fromExcel = data.fromExcel // 从excel导入权限
|
||||
this.toExcel = data.toExcel // 导出到excel权限
|
||||
} else if (data.result == 'exception') {
|
||||
// showException('按钮权限', data.exception)// 显示异常
|
||||
}
|
||||
})
|
||||
.catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
},
|
||||
// 获取数据字典数据
|
||||
getDict(dicID, listName) {
|
||||
requestFN(
|
||||
'dictionaries/getLevels',
|
||||
{ DICTIONARIES_ID: dicID }
|
||||
).then((data) => {
|
||||
this[listName] = data.list
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
},
|
||||
// 获取数据字典数据
|
||||
getDict2(dicID, listName) {
|
||||
requestFN(
|
||||
'dictionaries/getLevels',
|
||||
{ DICTIONARIES_ID: dicID }
|
||||
).then((data) => {
|
||||
this.uesrInfoDic[listName] = data.list
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
},
|
||||
getDepartTreeList() {
|
||||
this.pd.DEPARTMENT_ID = ''
|
||||
if (this.$refs.deptTree) {
|
||||
this.$refs.deptTree.clearHandle()
|
||||
}
|
||||
return new Promise((resolve) => {
|
||||
requestFN(
|
||||
'/department/listTreeByType'
|
||||
).then((data) => {
|
||||
this.deptTreeData = JSON.parse(data.zTreeNodes)
|
||||
resolve()
|
||||
}).catch((e) => {
|
||||
})
|
||||
})
|
||||
},
|
||||
resetPwd(id, name) {
|
||||
this.$confirm('是否重置密码为Aa@123456789?', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
this.listLoading = true
|
||||
requestFN(
|
||||
'/user/resetPwd',
|
||||
{
|
||||
USER_ID: id
|
||||
}
|
||||
).then(() => {
|
||||
this.$message({
|
||||
message: '重置成功',
|
||||
type: 'success'
|
||||
})
|
||||
this.listLoading = false
|
||||
this.varList = []
|
||||
this.listQuery.page = 1
|
||||
this.getList()
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
}).catch(() => {
|
||||
})
|
||||
},
|
||||
filterNode(value, data) {
|
||||
if (!value) return true
|
||||
return data.name.indexOf(value) !== -1
|
||||
},
|
||||
handleNodeClick(node, data, value) {
|
||||
this.DEPARTMENT_ID = node.id
|
||||
this.getList()
|
||||
},
|
||||
resetPassword() {
|
||||
this.$confirm('一键重置密码,会将所有未修改过密码的用户进行密码重置重置,是否继续?', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
this.listLoading = true
|
||||
requestFN(
|
||||
'/user/resetPwdAll',
|
||||
{}
|
||||
).then(() => {
|
||||
this.$message({
|
||||
message: '重置成功',
|
||||
type: 'success'
|
||||
})
|
||||
this.listLoading = false
|
||||
this.varList = []
|
||||
this.listQuery.page = 1
|
||||
this.getList()
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
}).catch(() => {
|
||||
})
|
||||
},
|
||||
getTreeList() {
|
||||
this.treeLoading = true
|
||||
requestFN(
|
||||
'/department/listTree',
|
||||
{}
|
||||
).then((data) => {
|
||||
this.treeLoading = false
|
||||
this.treeData = JSON.parse(data.zTreeNodes)
|
||||
}).catch((e) => {
|
||||
this.treeLoading = false
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
Loading…
Reference in New Issue