|
|
@ -123,17 +123,28 @@ |
|
|
<el-radio :label="0">禁用</el-radio> |
|
|
<el-radio :label="0">禁用</el-radio> |
|
|
</el-radio-group> |
|
|
</el-radio-group> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
|
|
|
|
|
|
<el-form-item style="width: 100%;" label="角色" prop="roles" class="is-required selecct-dropdown"> |
|
|
<el-form-item style="width: 100%;" label="角色" prop="roles" class="is-required selecct-dropdown"> |
|
|
<el-select v-model="roleDatas" style="width: 584px" multiple placeholder="请选择" :popper-append-to-body="false" @remove-tag="deleteTag" @change="changeRole"> |
|
|
<el-select v-model="roleDatas" style="width: 584px" multiple placeholder="请选择" :popper-append-to-body="false" @remove-tag="deleteTag" @change="changeRole"> |
|
|
<!-- :disabled="level !== 1 && item.level <= level" --> |
|
|
<!-- :disabled="level !== 1 && item.level <= level" --> |
|
|
<el-option v-for="item in roles" :key="item.name" :label="item.name" :value="item.id" /> |
|
|
<el-option v-for="item in roles" :key="item.name" :label="item.name" :value="item.id" /> |
|
|
</el-select> |
|
|
</el-select> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
<el-form-item style="margin-bottom: 0;" label="岗位" prop="posts" class="is-required"> |
|
|
|
|
|
|
|
|
<el-form-item label="岗位" prop="posts" class="is-required"> |
|
|
<el-select ref="paramsSelect" v-model="postDatas" style="width: 584px" multiple placeholder="请选择" @remove-tag="deleteTag" @change="changePost"> |
|
|
<el-select ref="paramsSelect" v-model="postDatas" style="width: 584px" multiple placeholder="请选择" @remove-tag="deleteTag" @change="changePost"> |
|
|
<el-option v-for="item in posts" :key="item.postName" :label="item.postName" :value="item.id" /> |
|
|
<el-option v-for="item in posts" :key="item.postName" :label="item.postName" :value="item.id" /> |
|
|
</el-select> |
|
|
</el-select> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
|
|
|
<el-row> |
|
|
|
|
|
<el-form-item label="业务账号" prop="internalId"> |
|
|
|
|
|
<el-input v-model="form.internalId" /> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
<el-form-item label="业务系统" prop="systemCode"> |
|
|
|
|
|
<el-select v-model="form.systemCode" placeholder="请选择"> |
|
|
|
|
|
<el-option v-for="item in systemOptions" :key="item.dictionaryCode" :label="item.dictionaryName" :value="item.dictionaryCode" /> |
|
|
|
|
|
</el-select> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
</el-row> |
|
|
</el-form> |
|
|
</el-form> |
|
|
<div slot="footer" class="dialog-footer"> |
|
|
<div slot="footer" class="dialog-footer"> |
|
|
<el-button type="text" @click="crud.cancelCU">取消</el-button> |
|
|
<el-button type="text" @click="crud.cancelCU">取消</el-button> |
|
|
@ -166,6 +177,12 @@ |
|
|
<el-table-column prop="deptsName" label="部门" /> |
|
|
<el-table-column prop="deptsName" label="部门" /> |
|
|
<el-table-column prop="job" label="岗位" /> |
|
|
<el-table-column prop="job" label="岗位" /> |
|
|
<el-table-column prop="roleIds" label="角色" /> |
|
|
<el-table-column prop="roleIds" label="角色" /> |
|
|
|
|
|
<el-table-column prop="internalId" label="业务账号" /> |
|
|
|
|
|
<el-table-column prop="systemCode" label="业务系统"> |
|
|
|
|
|
<template slot-scope="scope"> |
|
|
|
|
|
{{ getSystemName(scope.row.systemCode) }} |
|
|
|
|
|
</template> |
|
|
|
|
|
</el-table-column> |
|
|
<el-table-column label="状态" align="center" prop="enabled" width="60"> |
|
|
<el-table-column label="状态" align="center" prop="enabled" width="60"> |
|
|
<template slot-scope="scope"> |
|
|
<template slot-scope="scope"> |
|
|
<el-switch v-model="scope.row.enabled" :disabled="user.id === scope.row.userId" active-color="#409EFF" inactive-color="#F56C6C" :active-value="1" :inactive-value="0" @change="changeEnabled(scope.row, scope.row.enabled)" /> |
|
|
<el-switch v-model="scope.row.enabled" :disabled="user.id === scope.row.userId" active-color="#409EFF" inactive-color="#F56C6C" :active-value="1" :inactive-value="0" @change="changeEnabled(scope.row, scope.row.enabled)" /> |
|
|
@ -187,6 +204,7 @@ |
|
|
</template> |
|
|
</template> |
|
|
|
|
|
|
|
|
<script> |
|
|
<script> |
|
|
|
|
|
import { FetchDictionaryTree } from '@/api/system/dict' |
|
|
import { getToken } from '@/utils/auth' |
|
|
import { getToken } from '@/utils/auth' |
|
|
import crudUser, { resetpassword } from '@/api/system/user' |
|
|
import crudUser, { resetpassword } from '@/api/system/user' |
|
|
// import { isvalidPhone } from '@/utils/validate' |
|
|
// import { isvalidPhone } from '@/utils/validate' |
|
|
@ -209,7 +227,7 @@ import { exportFile } from '@/utils/index' |
|
|
import qs from 'qs' |
|
|
import qs from 'qs' |
|
|
let userRoles = [] |
|
|
let userRoles = [] |
|
|
let userPosts = [] |
|
|
let userPosts = [] |
|
|
const defaultForm = { id: null, username: null, nickName: null, gender: '男', email: null, enabled: 1, fonds: { id: null }, roles: [], posts: [], dept: { id: null }, phone: null, isAdmin: false } |
|
|
|
|
|
|
|
|
const defaultForm = { id: null, username: null, nickName: null, gender: '男', email: null, enabled: 1, fonds: { id: null }, roles: [], posts: [], dept: { id: null }, phone: null, isAdmin: false, systemCode: null, internalId: null } |
|
|
export default { |
|
|
export default { |
|
|
name: 'User', |
|
|
name: 'User', |
|
|
components: { Treeselect, crudOperation, pagination, DateRangePicker }, |
|
|
components: { Treeselect, crudOperation, pagination, DateRangePicker }, |
|
|
@ -275,6 +293,7 @@ export default { |
|
|
{ key: '0', display_name: '锁定' } |
|
|
{ key: '0', display_name: '锁定' } |
|
|
], |
|
|
], |
|
|
deleteData: [], |
|
|
deleteData: [], |
|
|
|
|
|
systemOptions: [], |
|
|
rules: { |
|
|
rules: { |
|
|
username: [ |
|
|
username: [ |
|
|
{ required: true, message: '请输入用户名', trigger: 'blur' }, |
|
|
{ required: true, message: '请输入用户名', trigger: 'blur' }, |
|
|
@ -330,8 +349,23 @@ export default { |
|
|
this.getFondsDatas() |
|
|
this.getFondsDatas() |
|
|
this.getRoles() |
|
|
this.getRoles() |
|
|
this.getPosts() |
|
|
this.getPosts() |
|
|
|
|
|
this.getDictsList() |
|
|
}, |
|
|
}, |
|
|
methods: { |
|
|
methods: { |
|
|
|
|
|
getDictsList() { |
|
|
|
|
|
FetchDictionaryTree().then((res) => { |
|
|
|
|
|
const filterCodes = ['system_code'] |
|
|
|
|
|
const filteredItems = JSON.parse(JSON.stringify(res)).filter(item => filterCodes.includes(item.dictionaryCode)) |
|
|
|
|
|
this.systemOptions = filteredItems[0].childDictionarys |
|
|
|
|
|
}).catch(err => { |
|
|
|
|
|
console.log(err) |
|
|
|
|
|
}) |
|
|
|
|
|
}, |
|
|
|
|
|
getSystemName(code) { |
|
|
|
|
|
if (!code) return '' |
|
|
|
|
|
const item = this.systemOptions.find(opt => opt.dictionaryCode === code) |
|
|
|
|
|
return item ? item.dictionaryName : code |
|
|
|
|
|
}, |
|
|
getAutoNameUnknown(name) { |
|
|
getAutoNameUnknown(name) { |
|
|
if (name.lastIndexOf('unknown') > -1) { |
|
|
if (name.lastIndexOf('unknown') > -1) { |
|
|
return name.split('(')[0] |
|
|
return name.split('(')[0] |
|
|
|