import React, { useEffect, useState } from 'react'; import { connect } from 'react-redux'; import { Spin, Row, Col, Card, Button, Tree, Empty, Divider } from 'antd'; import { getDepMessage, getDepUser } from '../actions/user'; import { getResource, getUserResource, postUserRes } from '../actions/authority'; import Resource from '../components/resource'; import './authority.less'; const Authority = (props) => { const { dispatch, loading, depMessage, depUser, resource, userResource, clientHeight } = props const [depSelectedKeys, setDepSelectedKeys] = useState([]) const [userSelectedKeys, setUserSelectedKeys] = useState([]) const [depSelected, setDepSelected] = useState() const [userSelected, setUserSelected] = useState() const [resCode, setResCode] = useState({}) const [useName, setUseName] = useState()// 选中名字 const [userType, setUserType] = useState() useEffect(() => { dispatch(getResource()) if (!(depMessage && depMessage.length)) { dispatch(getDepMessage()) } }, []) useEffect(() => { if (depMessage.length) { setDepSelectedKeys([depMessage[0].id]) setDepSelected([depMessage[0].name]) dispatch(getDepUser(depMessage[0].id)) } }, [depMessage]) useEffect(() => { if (depUser.length) { setUserSelectedKeys([depUser[0].id]) setUserSelected(depUser[0].username) dispatch(getUserResource(depUser[0].id)) setUseName(depUser[0].name) } }, [depUser]) const handleSave = () => { dispatch(postUserRes({ userId: userSelectedKeys[0], resCode: resCode })).then(res => { if (res.success) { dispatch(getUserResource(userSelectedKeys[0])) } }) } return (
权限功能  PERMISSION FUNCTION
{ depMessage.length ? { setUserType(selectedNodes[0].type) if (selected) { setDepSelectedKeys(selectedKeys) setDepSelected(selectedNodes[0].name || "") dispatch(getDepUser(selectedKeys[0])) } }} treeData={depMessage} fieldNames={{ title: 'name', key: 'id', children: 'subordinate' }} /> : '' }
{(depSelected ? `【${depSelected}】` : "") + '用户列表'}
{ depUser.length ? { const name = node.name setUseName(name) if (selected) { setUserSelectedKeys(selectedKeys) setUserSelected(selectedNodes[0].username || '') dispatch(getUserResource(selectedKeys[0])) } }} treeData={depUser} fieldNames={{ title: 'name', key: 'id' }} /> : }
{`【${useName ? useName : '管理员'}】 功能范围`}
{depUser.length ? : }
) } function mapStateToProps(state) { const { userResource, resource, depMessage, depUser, global } = state; return { clientHeight: global.clientHeight, loading: depMessage.isRequesting || depUser.isRequesting || resource.isRequesting, userResource: userResource.data || [], resource: resource.data || [], depMessage: depMessage.data || [], depUser: depUser.data || [] }; } export default connect(mapStateToProps)(Authority);