This commit is contained in:
北海一刀 2021-11-20 10:14:15 +08:00
commit 20fe250ff7
6 changed files with 154 additions and 1411 deletions

View File

@ -251,8 +251,22 @@ export const putAddAcc = (params) => {
export const getRoleList = (params) => {
return req('get', baseurl + "/auth/adminRole", params)
}
//角色获取权限列表
export const getMenuList = (params) => {
return req('get', baseurl + "/auth/menu/tree", params)
}
//角色删除
export const delRole = (id) => {
return req('delete', baseurl + "/auth/adminRole/"+id)
}
//角色添加
export const postRole = (data) => {
return req('post', baseurl + "/auth/adminRole",data)
}
//角色编辑
export const postEditRole = (id,data) => {
return req('post', baseurl + "/auth/adminRole/"+id,data)
}

View File

@ -32,6 +32,7 @@ export default class adduserinfo extends React.Component{
headImg:'',
defaultFileList:[],
disabled:false,
id:''
}
}
@ -61,7 +62,7 @@ export default class adduserinfo extends React.Component{
}
let img={}
img.src=acceptData.head;
this.setState({model:data,disabled:true,defaultFileList:[img]});
this.setState({model:data,disabled:true,defaultFileList:[img],id:acceptData.id,headImg:acceptData.head});
}
}
@ -77,7 +78,7 @@ export default class adduserinfo extends React.Component{
type:'warning',
closeBtn:true,
title:'确认操作',
content: _this.props.enumer==0?(<p>是否新增<b>[{iptVal.user_name}]</b></p>):(<p>{iptVal.user_name}</p>),
content: _this.props.enumer==0?(<p>是否新增<b>[{iptVal.user_name}]</b></p>):(<p><b>[{iptVal.user_name}]</b></p>),
onConfirm:()=>{
//提交接口
let data={
@ -105,7 +106,9 @@ export default class adduserinfo extends React.Component{
}).catch(err=>{
});
}else{//编辑
data.id=_this.state.id;
delete data.password;
data.head=_this.state.headImg;
putAddAcc(data).then(res=>{
handelResponse(res,(response,msg)=>{
Notify.clear();

View File

@ -259,7 +259,6 @@ componentDidUpdate(prevProps,prevState){
console.log( this);
}
render(){
window.time='2021-11-13 14:02:02'
return(
<div id="accountlist">
<TabPage tabs={this.state.tabList}>

View File

@ -7,6 +7,7 @@ import Ipt from "../../../../components/input/main"
import Form from "../../../../components/form/main"
import FormItem from "../../../../components/form-item/main"
import Tree from "../tree/tree.js"
import {postRole,handelResponse,postEditRole} from "../../../../assets/api.js"
export default class addrole extends React.Component{
constructor(props){
super(props)
@ -14,8 +15,10 @@ export default class addrole extends React.Component{
model:{
role:'',
setrole:[],
pagetitle:'新建角色'
}
pagetitle:'新建角色',
},
enumer:0,
menuList:{}
}
}
cancel(){
@ -23,7 +26,7 @@ export default class addrole extends React.Component{
type:'warning',
closeBtn:true,
title:'确认操作',
content: <p>是否取消本次新增</p>,
content: <p>是否取消本次操作</p>,
onConfirm:()=>{
console.log(window);
window.history.go(-1)
@ -36,14 +39,66 @@ export default class addrole extends React.Component{
}
submit(){
this.refs.roleform.validator();
let roleFlag=this.refs.roleform.validator();
let self=this;
if(this.refs.roletree.state.checkedKeys.length<1){
Notify.error('请至少选中一个模块权限')
}else{
if(roleFlag){
Sweetalert.confirm({
type:'warning',
closeBtn:true,
title:'确认操作',
content: self.state.enumer==0?(<p>是否新增<b>[{self.state.model.role}]</b></p>):(<p><b>[{self.state.model.role}]</b></p>),
onConfirm:()=>{
let data={role_name:self.state.model.role,
menu_id:this.refs.roletree.state.checkedKeys
}
if(self.state.enumer==0){
postRole(data).then(res=>{
handelResponse(res,(response,msg)=>{
Notify.clear();
Notify.success(msg);
setTimeout(()=>{
window.history.back();
},1000);
},(err)=>{
})
}).catch(err=>{
});
}else{//编辑
postEditRole(self.state.menuList.id,data).then(res=>{
handelResponse(res,(response,msg)=>{
Notify.clear();
Notify.success(msg);
setTimeout(()=>{
window.history.back();
},1000);
},(err)=>{
})
}).catch(err=>{
});
}
},
onCancel: this.onCancel,
className:'questModal',
parentComponent: this
});
}
}
}
componentWillMount(){
let pagetitle=JSON.parse(sessionStorage.getItem('breaknav'))[0].pagetitle;
this.setState({pagetitle:pagetitle+'角色'});
let enumer=pagetitle.includes('新建')?0:1;
this.setState({pagetitle:pagetitle+'角色',enumer});
let menuList=JSON.parse(sessionStorage.getItem('dataInfo'));
let model={};
model.role=menuList.role_name;
this.setState({menuList,model});
}
render(){
const rules = {
@ -71,7 +126,7 @@ export default class addrole extends React.Component{
value={this.state.model.role} placeholder={"请输入角色"} labelWidth={'0px'} maxLength={12} height={'36px'} width={'520px'} alignment={'left'}/>
</FormItem>
<FormItem labelname="设置权限" prop="setrole" id="setrole">
<Tree ref="roletree"/>
<Tree ref="roletree" rules={this.state.menuList.rule_id}/>
</FormItem>
</Form>
</Card>

View File

@ -6,20 +6,19 @@ import TabPage from "../../../../components/tabPage/main.js"
import "./list.less"
import "../../../../assets/comm.css"
import Grid from "../../../../components/gird/main.js"
import {getRoleList,handelResponse} from "../../../../assets/api.js"
import {getRoleList,handelResponse,delRole} from "../../../../assets/api.js"
const Column = [
{
title: '角色',
name: 'name',
className: 'name',
title: '角色名',
name: 'role_name',
width:'40%',
prop:'role',
prop:'role_name',
type: "normal",
}, {
title: '创建时间',
defaultText: '2021-11-05 122025',
width:'40%',
prop:'time',
prop:'create_time',
name:'create_time',
type: "normal",
},
{
@ -36,26 +35,19 @@ export default class acclist extends React.Component{
constructor(props){
super(props)
this.state={
rolelist:[{role:'管理员',time:'2021-11-05 15:25:23'},{role:'管理员',time:'2021-11-05 15:25:23'},{role:'管理员',time:'2021-11-05 15:25:23'},
{role:'管理员',time:'2021-11-05 15:25:23'},{role:'管理员',time:'2021-11-05 15:25:23'},{role:'管理员',time:'2021-11-05 15:25:23'},{role:'管理员',time:'2021-11-05 15:25:23'},{role:'管理员',time:'2021-11-05 15:25:23'},{role:'管理员',time:'2021-11-05 15:25:23'}
,{role:'管理员',time:'2021-11-05 15:25:23'},{role:'管理员',time:'2021-11-05 15:25:23'},{role:'管理员',time:'2021-11-05 15:25:23'}
,{role:'管理员',time:'2021-11-05 15:25:23'},{role:'管理员',time:'2021-11-05 15:25:23'},{role:'管理员',time:'2021-11-05 15:25:23'}],
tabList:[{title:"角色列表"},{role:'管理员',time:'2021-11-05 15:25:23'},{role:'管理员',time:'2021-11-05 15:25:23'},{role:'管理员',time:'2021-11-05 15:25:23'},
{role:'管理员',time:'2021-11-05 15:25:23'},{role:'管理员',time:'2021-11-05 15:25:23'},{role:'管理员',time:'2021-11-05 15:25:23'},{role:'管理员',time:'2021-11-05 15:25:23'},{role:'管理员',time:'2021-11-05 15:25:23'},{role:'管理员',time:'2021-11-05 15:25:23'}
,{role:'管理员',time:'2021-11-05 15:25:23'},{role:'管理员',time:'2021-11-05 15:25:23'},{role:'管理员',time:'2021-11-05 15:25:23'}
,{role:'管理员',time:'2021-11-05 15:25:23'},{role:'管理员',time:'2021-11-05 15:25:23'},{role:'管理员',time:'2021-11-05 15:25:23'}],
tabList:[{title:"角色列表"}],
roleList:[],
tabList:[{title:'角色管理'}],
tableHeight:600,
page:1,
limit:10,
total:0
}
}
//获取角色列表
getRoleFn(){
let _self=this;
let {page,limit,search}=_self.state;
let {page,limit}=_self.state;
let data={page,limit}
if(search){
data.search=search;
}
getRoleList(data).then(res=>{
handelResponse(res,(response,msg)=>{
const roleList_data=response.data;
@ -65,6 +57,21 @@ export default class acclist extends React.Component{
Notify.success(msg);
})
})
}
//page
pageChange(e){
this.setState({page:e});
setTimeout(() => {
this.getRoleFn();
}, 10);
}
//limit
countChange(e){
this.setState({page:1,limit:e});
setTimeout(() => {
this.getRoleFn();
}, 10);
}
componentWillMount(){
this.setState({tableHeight:window.innerHeight-390});
@ -103,14 +110,27 @@ export default class acclist extends React.Component{
}
]}]
sessionStorage.setItem('breaknav',JSON.stringify(activerou));
sessionStorage.setItem('dataInfo',JSON.stringify(row));
}
delFn(e,row){
let _self=this;
Sweetalert.confirm({
type:'warning',
closeBtn:true,
title:'确认操作',
content: <p>是否删除此条数据</p>,
onConfirm: this.onConfirm,
content: <p>是否删除<b>[{row.role_name}]</b></p>,
onConfirm:()=>{
delRole(row.id).then(res=>{
handelResponse(res,(response,msg)=>{
Notify.clear();
Notify.success(msg);
_self.getRoleFn();
},(err)=>{
})
}).catch(err=>{
});
},
onCancel: this.onCancel,
className:'questModal',
parentComponent: this
@ -125,15 +145,21 @@ export default class acclist extends React.Component{
</p>
<div className="table-container">
<Grid
tableData={this.state.rolelist}
tableData={this.state.roleList}
Column={Column}
dataCount={this.state.total}
isMultiple={false}
countbarVisible={false}
isSwitch={false}
maxheight={this.state.tableHeight}
pageChange={(e)=>{
this.pageChange(e)
}}
pageChange={(e)=>{
this.pageChange(e)
}}
countChange={
(e)=>{
this.countChange(e)
}
}
checkChange ={(selection)=>{
console.log(selection)
}}

File diff suppressed because it is too large Load Diff