用户管理 角色管理修改

This commit is contained in:
fengachen
2021-08-25 11:32:17 +08:00
parent 858b8c12e7
commit c292e4e3ac
7 changed files with 241 additions and 68 deletions
+1 -1
View File
@@ -119,7 +119,7 @@ export default {
}
],
url: {
// list: "/sys/role/page",
list: "/sys/role/page",
delete: "/sys/role/delete",
deleteBatch: "/sys/role/deleteBatch",
list2: "/sys/user/userRoleList",
+87
View File
@@ -11,6 +11,37 @@
</a-form-item>
</a-col>
<a-col :md="6" :sm="12">
<a-form-item
label="角色类型"
:labelCol="labelCol"
:wrapperCol="wrapperCol">
<a-tree-select
style="width:100%"
:dropdownStyle="{ maxHeight: '200px', overflow: 'auto' }"
:treeData="treeRoleData"
v-model="queryParam.roleId"
placeholder="请选择角色类型"
>
</a-tree-select>
</a-form-item>
</a-col>
<a-col :md="6" :sm="12">
<a-form-item
label="组织机构"
:labelCol="labelCol"
:wrapperCol="wrapperCol">
<a-tree-select
style="width:100%"
:dropdownStyle="{ maxHeight: '200px',maxWidth:'100px','overflow-x':'hidden',' overflo-y': 'auto' }"
:treeData="treeDepartData"
v-model="queryParam.departId"
placeholder="请选择组织机构">
</a-tree-select>
</a-form-item>
</a-col>
<a-col :md="6" :sm="8">
<span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
<a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
@@ -24,6 +55,10 @@
<!-- 操作按钮区域 -->
<div class="table-operator" style="border-top: 5px">
<a-button @click="handleAdd" type="primary" icon="plus" v-has="'user:add'">添加用户</a-button>
<a-button @click="downTemplate('用户导入模板')" type="primary" icon="download">下载模板</a-button>
<a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel">
<a-button type="primary" icon="import">导入</a-button>
</a-upload>
<a-button @click="batchDel" type="danger" icon="delete">批量删除</a-button>
</div>
@@ -44,6 +79,7 @@
<span slot="action" class="action-span-cell" slot-scope="text, record">
<a @click="handleEdit(record)" v-has="'user:edit'">编辑</a>
<a @click="resetPassword(record.id)" >重置密码</a>
<a @click="handleDelete(record.id)" v-has="'sys:user:del'">删除</a>
</span>
<template slot="text" slot-scope="text">
@@ -66,6 +102,8 @@ import { getFileAccessHttpUrl } from "@/api/manage";
import { JeroListMixin } from "@/mixins/JeroListMixin";
import JInput from "@/components/jero/JInput";
import JEllipsis from "@comp/jero/JEllipsis";
import {queryDepartTreeList, resetUserPassword} from "@api/api";
export default {
name: "UserList",
@@ -151,6 +189,18 @@ export default {
width: 170
}
],
// 组织机构 下拉数据
treeDepartData:[],
// 角色类型下拉数据
treeRoleData:[],
labelCol: {
xs: { span: 24 },
sm: { span: 5 },
},
wrapperCol: {
xs: { span: 20 },
sm: { span: 16 },
},
superQueryFieldList: [
{ type: "input", value: "username", text: "用户账号" }
],
@@ -163,12 +213,49 @@ export default {
}
};
},
created() {
this.loadDepartTreeData()
},
computed:{
importExcelUrl(){
return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`;
}
},
methods: {
getAvatarView: function(avatar) {
return getFileAccessHttpUrl(avatar);
},
passwordModalOk() {
//TODO 密码修改完成 不需要刷新页面,可以把datasource中的数据更新一下
},
/*
* 组织机构下拉数据
* */
loadDepartTreeData(){
const that = this
queryDepartTreeList().then((res) => {
if(res.success){
that.treeDepartData = [];
let treeList = res.result
for(let a=0;a<treeList.length;a++){
let temp = treeList[a];
temp.isLeaf = temp.leaf;
that.treeDepartData.push(temp);
}
}
})
},
/*
* 重置密码
* */
resetPassword(id){
resetUserPassword({id:id}).then( res => {
if(res.success){
this.$message.success(res.message)
}else {
this.$message.warning(res.message)
}
})
}
}
+3 -1
View File
@@ -75,7 +75,8 @@
:labelCol="labelCol"
:wrapperCol="wrapperCol"
label="授权标识">
<a-input placeholder="请输入授权标识, 如: user:list" @change="event => event.target.value = event.target.value.trim()" :maxLength="50" v-decorator="[ 'perms', {rules:[{ required: false, message: '请输入授权标识!' },{validator: this.validatePerms }]}]" :readOnly="disableSubmit"/>
<!-- {validator: this.validatePerms }-->
<a-input placeholder="请输入授权标识, 如: user:list" @change="event => event.target.value = event.target.value.trim()" :maxLength="50" v-decorator="[ 'perms', {rules:[{ required: false, message: '请输入授权标识!' }]}]" :readOnly="disableSubmit"/>
</a-form-item>
<a-form-item
@@ -243,6 +244,7 @@
temp.isLeaf = temp.leaf;
that.treeData.push(temp);
}
console.log(this.treeData)
}
});
},
-1
View File
@@ -102,7 +102,6 @@
this.edit({});
},
edit (record) {
debugger
this.form.resetFields();
this.model = Object.assign({}, record);
this.visible = true;
+54 -1
View File
@@ -100,6 +100,36 @@
</a-select>
</a-form-item>
<a-form-item
label="角色类型"
:labelCol="labelCol"
:wrapperCol="wrapperCol">
<a-tree-select
style="width:100%"
:dropdownStyle="{ maxHeight: '200px', overflow: 'auto' }"
:treeData="treeRoleData"
v-decorator="[ 'roleParentId', validatorRules.name]"
placeholder="请选择角色类型"
>
</a-tree-select>
</a-form-item>
<a-form-item
label="组织机构"
:labelCol="labelCol"
:wrapperCol="wrapperCol">
<a-tree-select
style="width:100%"
:dropdownStyle="{ maxHeight: '200px',maxWidth:'100px','overflow-x':'hidden',' overflo-y': 'auto' }"
:treeData="treeDepartData"
v-decorator="[ 'departId', validatorRules.name]"
placeholder="请选择组织机构">
</a-tree-select>
</a-form-item>
<a-form-item label="邮箱" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-input placeholder="请输入邮箱" :disabled="disableSubmit" @change="event => event.target.value = event.target.value.trim()" v-decorator="[ 'email', validatorRules.email]" :maxLength="50"/>
</a-form-item>
@@ -137,7 +167,7 @@ import moment from 'moment'
import Vue from 'vue'
import {ACCESS_TOKEN} from "@/store/mutation-types"
import {getAction} from '@/api/manage'
import {addUser, editUser, queryUserRole, queryall} from '@/api/api'
import {addUser, editUser, queryUserRole, queryall, queryDepartTreeList} from '@/api/api'
import {disabledAuthFilter} from "@/utils/authFilter"
import {duplicateCheck} from '@/api/api'
import { isEmail, passwordReg} from "@/utils/validate";
@@ -156,6 +186,12 @@ export default {
drawerWidth: 700,
modaltoggleFlag: true,
confirmDirty: false,
// 组织机构 下拉数据
treeDepartData:[],
// 角色类型下拉数据
treeRoleData:[],
selectedDepartKeys: [], //保存用户选择部门id
checkedDepartKeys: [],
checkedDepartNames: [], // 保存部门的名称 =>title
@@ -303,6 +339,8 @@ export default {
},
edit(record) {
this.resetScreenSize(); // 调用此方法,根据屏幕宽度自适应调整抽屉的宽度
// 加载组织机构数据
this.loadDepartTreeData()
// 获取公钥
this.getPublicKey()
let that = this;
@@ -341,6 +379,21 @@ export default {
}
//update-end-author:taoyan date:2020710 for:多租户配置
},
// 组织机构下拉数据
loadDepartTreeData(){
const that = this
queryDepartTreeList().then((res) => {
if(res.success){
that.treeDepartData = [];
let treeList = res.result
for(let a=0;a<treeList.length;a++){
let temp = treeList[a];
temp.isLeaf = temp.leaf;
that.treeDepartData.push(temp);
}
}
})
},
//
getPublicKey() {
// 获取公钥