| | |
| | | import { DownOutlined } from '@ant-design/icons'; |
| | | import { Col, Form, Modal, Row, Checkbox, Skeleton, Tree, Drawer, Space, Button, Card } from 'antd'; |
| | | import Http from '@/utils/http'; |
| | | import { FormattedMessage, useIntl } from '@umijs/max'; |
| | | import { transformTreeData, getTreeAllKeys } from '@/utils/tree-util' |
| | | |
| | | const Scope = (props) => { |
| | | const intl = useIntl(); |
| | | const [form] = Form.useForm(); |
| | | const { originMenuIds, values: { name } } = props; |
| | | const [menuTreeLoading, setMenuTreeLoading] = useState(false); |
| | |
| | | return ( |
| | | <> |
| | | <Drawer |
| | | title={`分配权限 - ${name ? name : '-'}`} |
| | | title={`${intl.formatMessage({ id: 'page.assign.permission', defaultMessage: '分配权限' })} - ${name ? name : '-'}`} |
| | | width={640} |
| | | forceRender |
| | | destroyOnClose |
| | |
| | | |
| | | <ProForm.Item |
| | | name="deptIds" |
| | | label="权限菜单" |
| | | label={intl.formatMessage({ id: 'page.permission.menu', defaultMessage: '权限菜单' })} |
| | | colProps={{ md: 24, xl: 24 }} |
| | | > |
| | | <Row gutter={[16, 16]}> |
| | | <Col md={24}> |
| | | <Checkbox.Group |
| | | options={[ |
| | | { label: '展开/折叠', value: 'expandAll' }, |
| | | { label: '全选/全不选', value: 'checkAll' }, |
| | | { label: intl.formatMessage({ id: 'page.role.assign.ec', defaultMessage: '展开/折叠' }), value: 'expandAll' }, |
| | | { label: intl.formatMessage({ id: 'page.role.assign.sd', defaultMessage: '全选/全不选' }), value: 'checkAll' }, |
| | | ]} |
| | | defaultValue={['expandAll']} |
| | | onChange={(values) => { |
| | |
| | | setMenuExpandedKeys([]); |
| | | } |
| | | if (values.includes('checkAll')) { |
| | | |
| | | setMenuIds(menuTreeAllKeys) |
| | | } else { |
| | | |
| | | setMenuIds([]); |
| | | } |
| | | }} /> |
| | | </Col> |
| | |
| | | halfChecked: checkInfo.halfCheckedKeys // 父节点 |
| | | }); |
| | | }} |
| | | // defaultCheckedKeys={onSelect} |
| | | /> |
| | | )} |
| | | </Col> |