import React from 'react';
|
import { Link } from 'react-router-dom';
|
import { Row, Col, Button, message, Modal, Divider } from 'antd';
|
import TableView from '../../components/common/TableView';
|
import SearchFormView from '../../components/common/SearchFormView';
|
import moment from 'moment';
|
import fetch from '../../api/request';
|
|
const confirm = Modal.confirm;
|
|
export default class RoleManage extends React.Component {
|
constructor(props) {
|
super(props);
|
this.state = {
|
formData: {
|
__key: Date.now(),
|
page: 1,
|
size: 10,
|
},
|
|
};
|
}
|
|
componentDidMount() { }
|
|
setFormData = data => {
|
console.log('form', data);
|
this.setState({
|
formData: data,
|
});
|
}
|
|
// 增加角色
|
add = () => {
|
this.props.history.push('/organizationMgt/role/Detail/new/Add')
|
}
|
|
//删除角色
|
delete = (id) => {
|
let _this = this;
|
let { formData } = _this.state;
|
confirm({
|
title: <span style={{ fontSize: 19 }}>确定要删除该角色吗?</span>,
|
content: <span style={{ fontSize: 18 }}>删除该角色的同时,会删除与该角色的所有关系。</span>,
|
onOk() {
|
fetch({
|
url: `api/role/delete`,
|
params: { ids: id }
|
}).then(res => {
|
if (res) {
|
message.success("删除成功");
|
_this.setState({
|
formData: {
|
...formData,
|
__key: Date.now()//刷新表格数据
|
}
|
})
|
}
|
})
|
},
|
onCancel() { },
|
});
|
}
|
|
//表格列显示
|
renderColumns = () => {
|
return [
|
{ title: '标识符', className: "txt-c", dataIndex: 'symbol' },
|
{ title: '角色名称', className: "txt-c", dataIndex: 'name' },
|
{ title: '描述', className: "txt-c", dataIndex: 'description', ellipsis: true, width: '35%' },
|
{ title: '创建时间', className: "txt-c", dataIndex: 'updateTime', render: (text, record) => text ? moment(text).format("YYYY-MM-DD HH:mm") : "" },
|
{
|
title: '操作', className: "txt-c", key: 'operation', render: (text, record) => {
|
return <div>
|
<Link to={{ pathname: "/organizationMgt/role/Detail/" + record.id + '/Modify', query: { id: record.id } }}>修改</Link>
|
<Divider type="vertical" />
|
<a onClick={() => this.delete(record.id)}>删除</a>
|
</div>
|
}
|
}
|
]
|
}
|
|
|
|
render() {
|
const { formData } = this.state;
|
let tableParams = {
|
url: `api/role/query`,
|
formData,
|
key: formData.__key,
|
columns: this.renderColumns(),
|
extraFromData: {},
|
setFormData: this.setFormData
|
}
|
return (
|
<div className="rolemanage-main h-100 margin padding bg-white">
|
<SearchFormView
|
formData={formData}
|
setFormData={this.setFormData}
|
data={[
|
{ type: 'input', name: '标识符', label: '标识符', key: 'symbol' },
|
{ type: 'input', name: '角色名称', label: '角色名称', key: 'name' }
|
]} />
|
<Row type="flex" gutter={20} className="margin-bottom">
|
<Col>
|
<Button type="primary" onClick={this.add}>新增角色</Button>
|
</Col>
|
</Row>
|
<TableView {...tableParams} />
|
</div>
|
)
|
}
|
}
|