#
Junjie
2025-02-14 ac4341ea6b66ae02427d39d35f41d42d78b2eb2e
zy-asrs-flow/src/pages/system/role/components/scope.jsx
@@ -3,11 +3,14 @@
    ProForm,
    ProFormDigit,
} from '@ant-design/pro-components';
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);
@@ -51,14 +54,13 @@
    }
    const handleFinish = async (values) => {
        console.log({ ...values, menuIds }); return
        props.onSubmit({ ...values, menuIds });
    }
    return (
        <>
            <Drawer
                title={`分配权限 - ${name?name:'-'}`}
                title={`${intl.formatMessage({ id: 'page.assign.permission', defaultMessage: '分配权限' })} - ${name ? name : '-'}`}
                width={640}
                forceRender
                destroyOnClose
@@ -94,16 +96,15 @@
                        <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) => {
@@ -113,9 +114,9 @@
                                                setMenuExpandedKeys([]);
                                            }
                                            if (values.includes('checkAll')) {
                                                setMenuIds(menuTreeAllKeys)
                                            } else {
                                                setMenuIds([]);
                                            }
                                        }} />
                                </Col>
@@ -124,7 +125,10 @@
                                        <Skeleton active />
                                    ) : (
                                        <Tree
                                            showLine
                                            blockNode
                                            checkable
                                            switcherIcon={<DownOutlined />}
                                            treeData={menuTreeData}
                                            expandedKeys={menuExpandedKeys}
                                            onExpand={(expandedKeys) => {
@@ -137,12 +141,10 @@
                                                    halfChecked: checkInfo.halfCheckedKeys  // 父节点
                                                });
                                            }}
                                        // defaultCheckedKeys={onSelect}
                                        />
                                    )}
                                </Col>
                            </Row>
                        </ProForm.Item>
                    </ProForm>
                </Card>