#
luxiaotao1123
2024-02-22 074513acdfed38c8537a046801ee5dbc8f01e2eb
zy-asrs-flow/src/pages/system/menu/index.jsx
@@ -11,18 +11,9 @@
import Http from '@/utils/http';
import Edit from './components/edit'
import { TextFilter, SelectFilter, DatetimeRangeFilter, LinkFilter } from '@/components/TableSearch'
import { buildTreeData } from '@/utils/tree-util'
const statusMap = {
    1: {
        color: 'green',
        text: '正常',
    },
    0: {
        color: 'red',
        text: '禁用',
    },
};
import { transformTreeData } from '@/utils/tree-util'
import { createIcon } from '@/utils/icon-util'
import { statusMap } from '@/utils/enum-util'
const typeMap = {
    0: {
@@ -131,12 +122,12 @@
            valueType: 'text',
            hidden: false,
            width: 240,
            filterDropdown: (props) => <TextFilter
                name='name'
                {...props}
                actionRef={actionRef}
                setSearchParam={setSearchParam}
            />,
            // filterDropdown: (props) => <TextFilter
            //     name='name'
            //     {...props}
            //     actionRef={actionRef}
            //     setSearchParam={setSearchParam}
            // />,
        },
        {
            title: '上级菜单',
@@ -196,12 +187,12 @@
            valueType: 'text',
            hidden: false,
            width: 200,
            filterDropdown: (props) => <TextFilter
                name='route'
                {...props}
                actionRef={actionRef}
                setSearchParam={setSearchParam}
            />,
            // filterDropdown: (props) => <TextFilter
            //     name='route'
            //     {...props}
            //     actionRef={actionRef}
            //     setSearchParam={setSearchParam}
            // />,
        },
        {
            title: '页面组件',
@@ -252,16 +243,16 @@
                const type = typeMap[record.type]
                return <Tag color={type.color}>{type.text}</Tag>
            },
            filterDropdown: (props) => <SelectFilter
                name='type'
                {...props}
                actionRef={actionRef}
                setSearchParam={setSearchParam}
                data={[
                    { label: '菜单', value: 0 },
                    { label: '按钮', value: 1 },
                ]}
            />,
            // filterDropdown: (props) => <SelectFilter
            //     name='type'
            //     {...props}
            //     actionRef={actionRef}
            //     setSearchParam={setSearchParam}
            //     data={[
            //         { label: '菜单', value: 0 },
            //         { label: '按钮', value: 1 },
            //     ]}
            // />,
        },
        {
            title: '权限标识',
@@ -269,12 +260,12 @@
            valueType: 'text',
            hidden: false,
            width: 140,
            filterDropdown: (props) => <TextFilter
                name='authority'
                {...props}
                actionRef={actionRef}
                setSearchParam={setSearchParam}
            />,
            // filterDropdown: (props) => <TextFilter
            //     name='authority'
            //     {...props}
            //     actionRef={actionRef}
            //     setSearchParam={setSearchParam}
            // />,
        },
        {
            title: '菜单图标',
@@ -282,6 +273,9 @@
            valueType: 'text',
            hidden: false,
            width: 140,
            render: (_, record) => {
                return createIcon(_);
            }
        },
        {
            title: '排序',
@@ -290,7 +284,6 @@
            hidden: false,
            width: 100,
            render: (_, record) => {
                console.log(_);
                return <span style={{ fontWeight: "bold" }}>{_}</span>
            }
        },
@@ -317,16 +310,16 @@
                const status = statusMap[record.status]
                return <Tag color={status.color}>{status.text}</Tag>
            },
            filterDropdown: (props) => <SelectFilter
                name='status'
                {...props}
                actionRef={actionRef}
                setSearchParam={setSearchParam}
                data={[
                    { label: '正常', value: 1 },
                    { label: '禁用', value: 0 },
                ]}
            />,
            // filterDropdown: (props) => <SelectFilter
            //     name='status'
            //     {...props}
            //     actionRef={actionRef}
            //     setSearchParam={setSearchParam}
            //     data={[
            //         { label: '正常', value: 1 },
            //         { label: '禁用', value: 0 },
            //     ]}
            // />,
        },
        {
            title: '添加时间',
@@ -361,12 +354,12 @@
            valueType: 'text',
            hidden: false,
            width: 140,
            filterDropdown: (props) => <DatetimeRangeFilter
                name='updateTime'
                {...props}
                actionRef={actionRef}
                setSearchParam={setSearchParam}
            />,
            // filterDropdown: (props) => <DatetimeRangeFilter
            //     name='updateTime'
            //     {...props}
            //     actionRef={actionRef}
            //     setSearchParam={setSearchParam}
            // />,
        },
        {
            title: '修改人员',
@@ -374,13 +367,13 @@
            valueType: 'text',
            hidden: false,
            width: 140,
            filterDropdown: (props) => <LinkFilter
                name='updateBy'
                major='user'
                {...props}
                actionRef={actionRef}
                setSearchParam={setSearchParam}
            />,
            // filterDropdown: (props) => <LinkFilter
            //     name='updateBy'
            //     major='user'
            //     {...props}
            //     actionRef={actionRef}
            //     setSearchParam={setSearchParam}
            // />,
        },
        {
            title: '备注',
@@ -492,18 +485,10 @@
                    }}
                    request={(params, sorter, filter) =>
                        Http.doPostPromise('/api/menu/tree', { ...params, ...searchParam }, (res) => {
                            console.log(res.data);
                            // console.log(res); return;
                            // const records = res.data.records;
                            // console.log(records);
                            // const rootMenu = { id: 0, label: '主类目', children: [], value: 0 };
                            // const memuData = buildTreeData(records, 'menuId', 'menuName', '', '', '');
                            // rootMenu.children = memuData;
                            // const treeData = [];
                            // treeData.push(rootMenu);
                            // setTreeData(treeData);
                            const rootMenu = { id: 0, name: '根目录', value: 0, children: [] };
                            rootMenu.children = res.data;
                            const treeData = transformTreeData([rootMenu]);
                            setTreeData(treeData);
                            return {
                                data: res.data,
                                success: true,
@@ -562,6 +547,7 @@
            <Edit
                open={modalVisible}
                values={currentRow || {}}
                treeData={treeData}
                onCancel={
                    () => {
                        setModalVisible(false);
@@ -582,8 +568,7 @@
                            actionRef.current.reload();
                        }
                    }
                }
                }
                }}
            />
        </PageContainer>
    );