Commit 947a6457 authored by 张烨's avatar 张烨
parents 47754fe1 e4bf4808
...@@ -5,27 +5,20 @@ import { ...@@ -5,27 +5,20 @@ import {
Row, Row,
Col, Col,
Button, Button,
Select,
Menu,
notification, notification,
message, message,
Spin, Spin,
} from 'antd'; } from 'antd';
import { SwapRightOutlined } from '@ant-design/icons'; import { SwapRightOutlined, DownOutlined } from '@ant-design/icons';
import { Chart, Interval, Tooltip, Axis } from 'bizcharts'; import { Chart, Interval, Tooltip, Axis } from 'bizcharts';
import { DataSet } from '@antv/data-set'; import { DataSet } from '@antv/data-set';
import moment from 'moment'; import moment from 'moment';
import { post, PUBLISH_SERVICE } from '@/services/index'; import { post, PUBLISH_SERVICE } from '@/services/index';
const { Option } = Select;
// const data = [ const ServiceLog = () => {
// { value: 251, name: '接口名称一', subName: '子事例一' },
// { value: 1041, name: '接口名称三', subName: '子事例二' },
// { value: 610, name: '接口名称二', subName: '子事例二' },
// { value: 434, name: '接口名称二', subName: '子事例四' },
// { value: 335, name: '接口名称二', subName: '子事例五' },
// { value: 250, name: '接口名称三', subName: '子事例二' },
// ];
// const data = [];
const Demo = () => {
const [loading, setLoading] = useState(false); // 源数据 const [loading, setLoading] = useState(false); // 源数据
const [data0, setData0] = useState([]); // 源数据 const [data0, setData0] = useState([]); // 源数据
const [pathCount, setPathCount] = useState([]); // 接口调用次数,统计数据 const [pathCount, setPathCount] = useState([]); // 接口调用次数,统计数据
...@@ -35,6 +28,7 @@ const Demo = () => { ...@@ -35,6 +28,7 @@ const Demo = () => {
const [endTime, setEndTime] = useState( const [endTime, setEndTime] = useState(
moment(new Date(), 'YYYY-MM-DD HH:mm:ss'), // 默认值当前时间 moment(new Date(), 'YYYY-MM-DD HH:mm:ss'), // 默认值当前时间
); );
const [logType, setLogType] = useState(0); // 请求参数,日志类型,默认是正常,0:成功 -1:错误 9999:全部
const [tableColumns, setTableColumns] = useState([]); // 源数据 const [tableColumns, setTableColumns] = useState([]); // 源数据
console.log(startTime.format('HH:mm:ss')); console.log(startTime.format('HH:mm:ss'));
...@@ -46,7 +40,7 @@ const Demo = () => { ...@@ -46,7 +40,7 @@ const Demo = () => {
setLoading(true); setLoading(true);
getData(); getData();
} }
}, [startTime, endTime]); }, [startTime, endTime, logType]);
const getData = () => { const getData = () => {
post(`${PUBLISH_SERVICE}/LogCenter/GetOMSLog`, { post(`${PUBLISH_SERVICE}/LogCenter/GetOMSLog`, {
PageIndex: 0, PageIndex: 0,
...@@ -57,7 +51,7 @@ const Demo = () => { ...@@ -57,7 +51,7 @@ const Demo = () => {
HourTo: endTime.format('HH:mm:ss'), HourTo: endTime.format('HH:mm:ss'),
IP: '', IP: '',
Module: '', Module: '',
LogType: 0, LogType: +logType,
Description: '', Description: '',
LoginName: '', LoginName: '',
UserName: '', UserName: '',
...@@ -154,43 +148,51 @@ const Demo = () => { ...@@ -154,43 +148,51 @@ const Demo = () => {
), ),
); );
}; };
const selectChange = value => {
setLogType(value);
};
return ( return (
<> <>
<Row> <Row style={{ padding: '10px', background: 'white' }}>
<div style={{ lineHeight: 2 }}>时间:</div> <Col span={24}>
<DatePicker <span style={{ lineHeight: 2 }}>时间:</span>
showTime <DatePicker
format="YYYY-MM-DD HH:mm:ss" showTime
placeholder="起始时间" format="YYYY-MM-DD HH:mm:ss"
value={startTime} placeholder="起始时间"
onChange={changeStartTime} value={startTime}
allowClear={false} onChange={changeStartTime}
/> allowClear={false}
<SwapRightOutlined style={{ lineHeight: 2 }} /> />
<DatePicker <SwapRightOutlined style={{ lineHeight: 2 }} />
showTime <DatePicker
format="YYYY-MM-DD HH:mm:ss" showTime
placeholder="结束时间" format="YYYY-MM-DD HH:mm:ss"
value={endTime} placeholder="结束时间"
onChange={changeEndTime} value={endTime}
style={{ marginRight: '10px' }} onChange={changeEndTime}
allowClear={false} style={{ marginRight: '10px' }}
/> allowClear={false}
<Col span={12}> />
<Button onClick={() => setTime(1)}>1小时</Button> <Button onClick={() => setTime(1)}>1小时</Button>
<Button onClick={() => setTime(6)}>6小时</Button> <Button onClick={() => setTime(6)}>6小时</Button>
<Button onClick={() => setTime(12)}>12小时</Button> <Button onClick={() => setTime(12)}>12小时</Button>
<Button onClick={() => setTime(24)}>1</Button> <Button onClick={() => setTime(24)}>1</Button>
<Button onClick={() => setTime(24 * 7)}>1</Button> <Button onClick={() => setTime(24 * 7)}>1</Button>
<span style={{ lineHeight: 2, marginLeft: '20px' }}>日志类型:</span>
<Select defaultValue="正常" onChange={selectChange}>
<Option value="9999">全部</Option>
<Option value="0">正常</Option>
<Option value="-1">错误</Option>
</Select>
</Col> </Col>
{/* <div style={{ lineHeight: 2 }}>类型:</div> */}
</Row> </Row>
<Spin spinning={loading} tip="loading"> <Spin spinning={loading} tip="loading">
<Row style={{ padding: '10px' }}> <Row style={{ padding: '10px', background: 'white' }}>
<Col span={12}> <Col span={12}>
<Chart <Chart
height={340} height={316}
width={400} width={400}
autoFit autoFit
data={pathCount} data={pathCount}
...@@ -200,6 +202,7 @@ const Demo = () => { ...@@ -200,6 +202,7 @@ const Demo = () => {
> >
<Axis <Axis
name="Path" name="Path"
// label={{ autoEllipsis: 'true', autoHide: 'true' }}
label="null" label="null"
title={{ offset: 20, position: 'end' }} title={{ offset: 20, position: 'end' }}
/> />
...@@ -210,7 +213,7 @@ const Demo = () => { ...@@ -210,7 +213,7 @@ const Demo = () => {
</Col> </Col>
<Col span={12}> <Col span={12}>
<Chart <Chart
height={340} height={316}
width={400} width={400}
autoFit autoFit
data={reponseTime} data={reponseTime}
...@@ -234,7 +237,6 @@ const Demo = () => { ...@@ -234,7 +237,6 @@ const Demo = () => {
bordered bordered
columns={tableColumns || []} columns={tableColumns || []}
dataSource={data0} dataSource={data0}
// loading={tableLoading}
scroll={{ x: 'max-content' }} scroll={{ x: 'max-content' }}
pagination={{ pagination={{
showTotal: (total, range) => showTotal: (total, range) =>
...@@ -249,98 +251,4 @@ const Demo = () => { ...@@ -249,98 +251,4 @@ const Demo = () => {
</> </>
); );
}; };
export default Demo; export default ServiceLog;
// dv.transform({
// type: 'aggregate', // 别名summary
// fields: ['name', 'value'], // 统计字段集
// operations: ['count', 'mean'], // 统计操作集
// as: ['计数', '平均值'], // 存储字段集
// groupBy: ['name'], // 分组字段集
// }).transform({
// type: 'sort-by',
// fields: ['计数'], // 根据指定的字段集进行排序,与lodash的sortBy行为一致
// order: 'DESC', // 默认为 ASC,DESC 则为逆序
// });
// const data = [
// {
// ID: '215341',
// loginName: 'gcwqgps',
// userName: 'gcwqgps',
// systemType: 'solution',
// terminal: 'Browser',
// IP: '192.168.10.150',
// logTime: '2020/11/23 18:56:27',
// },
// {
// ID: '215342',
// loginName: 'luojian',
// userName: 'gwcj',
// systemType: 'city',
// terminal: 'Browser',
// IP: '127.0.0.1',
// logTime: '2020/11/23 19:17:51',
// },
// {
// ID: '215343',
// loginName: 'luojian',
// userName: 'gwcj',
// systemType: 'city',
// terminal: 'Browser',
// IP: '127.0.0.1',
// logTime: '2020/11/23 19:41:12',
// },
// {
// ID: '215344',
// loginName: 'luojian',
// userName: 'gwcj',
// systemType: 'city',
// terminal: 'Browser',
// IP: '127.0.0.1',
// logTime: '2020/11/23 19:42:04',
// },
// {
// ID: '215345',
// loginName: 'luojian',
// userName: 'gwcj',
// systemType: 'city',
// terminal: 'Browser',
// IP: '127.0.0.1',
// logTime: '2020/11/23 19:45:56',
// },
// {
// ID: '215346',
// loginName: 'panda',
// userName: '熊猫智慧水务',
// systemType: 'city',
// terminal: 'Browser',
// IP: '192.168.10.150',
// logTime: '2020/11/23 19:55:20',
// },
// {
// ID: '215347',
// loginName: 'luojian',
// userName: 'gwcj',
// systemType: 'city',
// terminal: 'Browser',
// IP: '127.0.0.1',
// logTime: '2020/11/23 19:55:39',
// },
// {
// ID: '215348',
// loginName: '17671748304',
// userName: '邹小仙',
// systemType: 'city',
// terminal: 'Browser',
// IP: '192.168.10.150',
// logTime: '2020/11/23 20:01:34',
// },
// {
// ID: '215349',
// loginName: 'luojian',
// userName: 'gwcj',
// systemType: 'city',
// terminal: 'Browser',
// IP: '127.0.0.1',
// logTime: '2020/11/23 20:16:51',
// },
// ];
...@@ -103,7 +103,7 @@ const SiteConfig = props => { ...@@ -103,7 +103,7 @@ const SiteConfig = props => {
> >
<Input placeholder="请输入应用名称" allowClear /> <Input placeholder="请输入应用名称" allowClear />
</Item> </Item>
<Item {/* <Item
label="系统图标:" label="系统图标:"
name="shortcutIcon" name="shortcutIcon"
rules={[ rules={[
...@@ -114,7 +114,7 @@ const SiteConfig = props => { ...@@ -114,7 +114,7 @@ const SiteConfig = props => {
]} ]}
> >
<Input placeholder="请输入系统图标名称" allowClear /> <Input placeholder="请输入系统图标名称" allowClear />
</Item> </Item> */}
<Item label="系统图标预览:" name="shortcutIcon"> <Item label="系统图标预览:" name="shortcutIcon">
<PicturesWall /> <PicturesWall />
</Item> </Item>
......
...@@ -9,7 +9,7 @@ const AddForm = props => { ...@@ -9,7 +9,7 @@ const AddForm = props => {
// const [type, setType] = useState(2); // const [type, setType] = useState(2);
const [form] = Form.useForm(); const [form] = Form.useForm();
const [otherForm] = Form.useForm(); const [otherForm] = Form.useForm();
console.log(nodeObj, 'nodeObj');
const layout = { const layout = {
layout: 'horizontal', layout: 'horizontal',
labelCol: { span: 4, offset: 1 }, labelCol: { span: 4, offset: 1 },
...@@ -25,29 +25,74 @@ const AddForm = props => { ...@@ -25,29 +25,74 @@ const AddForm = props => {
submitCallback(obj, nodeObj); submitCallback(obj, nodeObj);
} }
}; };
const finish = () => {
submit();
};
return ( return (
<div> <div>
{(addType === 1 || addType === 2) && ( {(addType === 1 || addType === 2) && (
<Form form={form} {...layout} className={styles.formStyle}> <Form
<Item label="分组名称" name="menuName"> form={form}
name="groupform"
{...layout}
className={styles.formStyle}
onFinish={finish}
>
<Item
label="分组名称"
name="menuName"
rules={[
{
required: true,
message: '请输入分组名称',
},
]}
>
<Input /> <Input />
</Item> </Item>
<Item label="分组别名" name="shortName"> <Item label="分组别名" name="shortName">
<Input /> <Input />
</Item> </Item>
{addType === 1 && ( {addType === 1 && (
<Item label="在线图标" name="imageUrl"> <Item
label="在线图标"
name="imageUrl"
rules={[
{
required: true,
message: '请选择在线图标',
},
]}
>
<PicturesWall /> <PicturesWall />
</Item> </Item>
)} )}
{addType === 1 && ( {addType === 1 && (
<Item label="离线图标" name="offlineImgUrl"> <Item
label="离线图标"
name="offlineImgUrl"
rules={[
{
required: true,
message: '请选择离线图标',
},
]}
>
<PicturesWall /> <PicturesWall />
</Item> </Item>
)} )}
{addType === 2 && ( {addType === 2 && (
<Item label="分组图标" name="imageUrl"> <Item
label="分组图标"
name="imageUrl"
rules={[
{
required: true,
message: '请选择分组图标',
},
]}
>
<PicturesWall /> <PicturesWall />
</Item> </Item>
)} )}
...@@ -55,7 +100,7 @@ const AddForm = props => { ...@@ -55,7 +100,7 @@ const AddForm = props => {
<Input /> <Input />
</Item> </Item>
<Item wrapperCol={{ offset: 5 }} style={{ marginTop: '40px' }}> <Item wrapperCol={{ offset: 5 }} style={{ marginTop: '40px' }}>
<Button type="primary" onClick={() => submit()}> <Button type="primary" htmlType="submit">
提交 提交
</Button> </Button>
</Item> </Item>
...@@ -63,37 +108,87 @@ const AddForm = props => { ...@@ -63,37 +108,87 @@ const AddForm = props => {
)} )}
{(addType === 3 || addType === 4) && ( {(addType === 3 || addType === 4) && (
<Form form={otherForm} {...layout} className={styles.formStyle}> <Form
<Item label="菜单名称" name="menuName"> form={otherForm}
name="menuform"
{...layout}
onFinish={finish}
className={styles.formStyle}
>
<Item
label="菜单名称"
name="menuName"
rules={[
{
required: true,
message: '请输入菜单名称',
},
]}
>
<Input /> <Input />
</Item> </Item>
<Item label="菜单别名" name="shortName"> <Item label="菜单别名" name="shortName">
<Input /> <Input />
</Item> </Item>
{addType === 3 && ( {addType === 3 && (
<Item label="在线图标" name="imageUrl"> <Item
label="在线图标"
name="imageUrl"
rules={[
{
required: true,
message: '请选择在线图标',
},
]}
>
<PicturesWall /> <PicturesWall />
</Item> </Item>
)} )}
{addType === 3 && ( {addType === 3 && (
<Item label="离线图标" name="offlineImgUrl"> <Item
{/* {otherForm.getFieldsValue().offlineImgUrl && <PicturesWall />} */} label="离线图标"
name="offlineImgUrl"
rules={[
{
required: true,
message: '请选择离线图标',
},
]}
>
<PicturesWall /> <PicturesWall />
</Item> </Item>
)} )}
{addType === 4 && ( {addType === 4 && (
<Item label="菜单图标" name="imageUrl"> <Item
label="菜单图标"
name="imageUrl"
rules={[
{
required: true,
message: '请选择菜单图标',
},
]}
>
<PicturesWall /> <PicturesWall />
</Item> </Item>
)} )}
<Item label="功能路径" name="pageUrl"> <Item
label="功能路径"
name="pageUrl"
rules={[
{
required: true,
message: '请输入功能路径',
},
]}
>
<Input /> <Input />
</Item> </Item>
<Item label="功能参数" name="funParam"> <Item label="功能参数" name="funParam">
<Input /> <Input />
</Item> </Item>
<Item wrapperCol={{ offset: 5 }} style={{ marginTop: '40px' }}> <Item wrapperCol={{ offset: 5 }} style={{ marginTop: '40px' }}>
<Button type="primary" onClick={() => submit()}> <Button type="primary" htmlType="submit">
提交 提交
</Button> </Button>
</Item> </Item>
......
...@@ -50,29 +50,74 @@ const EditForm = props => { ...@@ -50,29 +50,74 @@ const EditForm = props => {
submitCallback(obj); submitCallback(obj);
} }
}; };
const onFinish = () => {
submit();
};
return ( return (
<div> <div>
{(nodeType === 1 || nodeType === 2) && ( {(nodeType === 1 || nodeType === 2) && (
<Form form={form} {...layout} className={styles.formStyle}> <Form
<Item label="分组名称" name="menuName"> form={form}
name="editGroup"
{...layout}
className={styles.formStyle}
onFinish={onFinish}
>
<Item
label="分组名称"
name="menuName"
rules={[
{
required: true,
message: '请输入分组名称',
},
]}
>
<Input /> <Input />
</Item> </Item>
<Item label="分组别名" name="shortName"> <Item label="分组别名" name="shortName">
<Input /> <Input />
</Item> </Item>
{nodeType === 1 && ( {nodeType === 1 && (
<Item label="在线图标" name="imageUrl"> <Item
label="在线图标"
name="imageUrl"
rules={[
{
required: true,
message: '请选择在线图标',
},
]}
>
<PicturesWall /> <PicturesWall />
</Item> </Item>
)} )}
{nodeType === 1 && ( {nodeType === 1 && (
<Item label="离线图标" name="offlineImgUrl"> <Item
label="离线图标"
name="offlineImgUrl"
rules={[
{
required: true,
message: '请选择离线图标',
},
]}
>
<PicturesWall /> <PicturesWall />
</Item> </Item>
)} )}
{nodeType === 2 && ( {nodeType === 2 && (
<Item label="分组图标" name="imageUrl"> <Item
label="分组图标"
name="imageUrl"
rules={[
{
required: true,
message: '请选择分组图标',
},
]}
>
<PicturesWall /> <PicturesWall />
</Item> </Item>
)} )}
...@@ -80,7 +125,7 @@ const EditForm = props => { ...@@ -80,7 +125,7 @@ const EditForm = props => {
<Input /> <Input />
</Item> </Item>
<Item wrapperCol={{ offset: 5 }} style={{ marginTop: '40px' }}> <Item wrapperCol={{ offset: 5 }} style={{ marginTop: '40px' }}>
<Button type="primary" onClick={() => submit()}> <Button type="primary" htmlType="submit">
提交 提交
</Button> </Button>
</Item> </Item>
...@@ -88,37 +133,88 @@ const EditForm = props => { ...@@ -88,37 +133,88 @@ const EditForm = props => {
)} )}
{(nodeType === 3 || nodeType === 4) && ( {(nodeType === 3 || nodeType === 4) && (
<Form form={otherForm} {...layout} className={styles.formStyle}> <Form
<Item label="菜单名称" name="menuName"> form={otherForm}
name="editMenu"
{...layout}
onFinish={onFinish}
className={styles.formStyle}
>
<Item
label="菜单名称"
name="menuName"
rules={[
{
required: true,
message: '请输入菜单名称',
},
]}
>
<Input /> <Input />
</Item> </Item>
<Item label="菜单别名" name="shortName"> <Item label="菜单别名" name="shortName">
<Input /> <Input />
</Item> </Item>
{nodeType === 3 && ( {nodeType === 3 && (
<Item label="在线图标" name="imageUrl"> <Item
label="在线图标"
name="imageUrl"
rules={[
{
required: true,
message: '请选择在线图标',
},
]}
>
<PicturesWall /> <PicturesWall />
</Item> </Item>
)} )}
{nodeType === 3 && ( {nodeType === 3 && (
<Item label="离线图标" name="offlineImgUrl"> <Item
label="离线图标"
name="offlineImgUrl"
rules={[
{
required: true,
message: '请选择离线图标',
},
]}
>
{/* {otherForm.getFieldsValue().offlineImgUrl && <PicturesWall />} */} {/* {otherForm.getFieldsValue().offlineImgUrl && <PicturesWall />} */}
<PicturesWall /> <PicturesWall />
</Item> </Item>
)} )}
{nodeType === 4 && ( {nodeType === 4 && (
<Item label="菜单图标" name="imageUrl"> <Item
label="菜单图标"
name="imageUrl"
rules={[
{
required: true,
message: '请选择菜单图标',
},
]}
>
<PicturesWall /> <PicturesWall />
</Item> </Item>
)} )}
<Item label="功能路径" name="pageUrl"> <Item
label="功能路径"
name="pageUrl"
rules={[
{
required: true,
message: '请输入功能路径',
},
]}
>
<Input /> <Input />
</Item> </Item>
<Item label="功能参数" name="funParam"> <Item label="功能参数" name="funParam">
<Input /> <Input />
</Item> </Item>
<Item wrapperCol={{ offset: 5 }} style={{ marginTop: '40px' }}> <Item wrapperCol={{ offset: 5 }} style={{ marginTop: '40px' }}>
<Button type="primary" onClick={() => submit()}> <Button type="primary" htmlType="submit">
提交 提交
</Button> </Button>
</Item> </Item>
......
...@@ -46,6 +46,7 @@ const MiniMenu = props => { ...@@ -46,6 +46,7 @@ const MiniMenu = props => {
const [addFlag, setAddFlag] = useState('root'); // 设置新增标志 const [addFlag, setAddFlag] = useState('root'); // 设置新增标志
const [nodeObj, setNodeObj] = useState({}); const [nodeObj, setNodeObj] = useState({});
const [addType, setAddType] = useState(''); // 添加下级类型 const [addType, setAddType] = useState(''); // 添加下级类型
const [modalTitle, setModalTitle] = useState('');
// 获取菜单树 // 获取菜单树
useEffect(() => { useEffect(() => {
updateTrees(); updateTrees();
...@@ -121,10 +122,10 @@ const MiniMenu = props => { ...@@ -121,10 +122,10 @@ const MiniMenu = props => {
icon: icon:
obj.menuType !== 'MiniAppMenuThree' && obj.menuType !== 'MiniAppMenuThree' &&
obj.menuType !== 'MiniAppMenu' ? ( obj.menuType !== 'MiniAppMenu' ? (
<FolderFilled /> <FolderFilled />
) : ( ) : (
<FileOutlined /> <FileOutlined />
), ),
menuType: obj.menuType, menuType: obj.menuType,
children: hasChild ? obj.children.map(i => mapTree(i)) : [], children: hasChild ? obj.children.map(i => mapTree(i)) : [],
}; };
...@@ -222,12 +223,14 @@ const MiniMenu = props => { ...@@ -222,12 +223,14 @@ const MiniMenu = props => {
// 新增菜单组 // 新增菜单组
const addMenuGroupTip = val => { const addMenuGroupTip = val => {
console.log(val, 'addgroup'); console.log(val, 'addgroup');
setModalTitle(val.text);
setNodeObj(val); setNodeObj(val);
setAddVisible(true); setAddVisible(true);
}; };
const rootAddGroup = () => { const rootAddGroup = () => {
setNodeObj(''); setNodeObj('');
setNodeType(1); setNodeType(1);
setModalTitle('根目录');
setAddType(1); setAddType(1);
setAddVisible(true); setAddVisible(true);
}; };
...@@ -235,15 +238,17 @@ const MiniMenu = props => { ...@@ -235,15 +238,17 @@ const MiniMenu = props => {
const addMenuTip = val => { const addMenuTip = val => {
console.log(val, 'add'); console.log(val, 'add');
setNodeObj(val); setNodeObj(val);
setModalTitle(val.text);
setAddTwoVisible(true); setAddTwoVisible(true);
}; };
const rootAdd = () => { const rootAdd = () => {
setModalTitle('根目录');
setNodeObj(''); setNodeObj('');
setNodeType(3); setNodeType(3);
setAddType(3); setAddType(3);
setAddTwoVisible(true); setAddTwoVisible(true);
}; };
// 提交的回调 // 新增提交的回调
const submitCallback = (prop, item) => { const submitCallback = (prop, item) => {
console.log(prop, item); console.log(prop, item);
let obj = { ...prop }; let obj = { ...prop };
...@@ -365,7 +370,7 @@ const MiniMenu = props => { ...@@ -365,7 +370,7 @@ const MiniMenu = props => {
</div> </div>
<Modal <Modal
visible={addVisible} visible={addVisible}
title="新增菜单组" title={`在${modalTitle}下新增菜单组`}
bodyStyle={{ width: '100%', minHeight: '100px' }} bodyStyle={{ width: '100%', minHeight: '100px' }}
style={{ top: 20 }} style={{ top: 20 }}
width="600px" width="600px"
...@@ -387,7 +392,7 @@ const MiniMenu = props => { ...@@ -387,7 +392,7 @@ const MiniMenu = props => {
</Modal> </Modal>
<Modal <Modal
visible={addTwoVisible} visible={addTwoVisible}
title="新增功能菜单" title={`在${modalTitle}下新增功能菜单`}
bodyStyle={{ width: '100%', minHeight: '100px' }} bodyStyle={{ width: '100%', minHeight: '100px' }}
style={{ top: 20 }} style={{ top: 20 }}
width="600px" width="600px"
...@@ -417,6 +422,13 @@ const MiniMenu = props => { ...@@ -417,6 +422,13 @@ const MiniMenu = props => {
/> />
)} )}
</div> </div>
<div
className={classnames({
[styles.rightBox]: true,
})}
>
关联角色
</div>
</div> </div>
</Spin> </Spin>
); );
......
.box{ .box{
min-height: calc( 100vh - 172px); min-height: calc( 100vh - 172px);
display: flex; display: flex;
} }
.left{ .left{
...@@ -69,4 +68,11 @@ ...@@ -69,4 +68,11 @@
.fs{ .fs{
font-size: 18px; font-size: 18px;
margin-left: 10px; margin-left: 10px;
}
.rightBox{
min-width: 600px;
// width: 600px;
min-height: 100%;
border: 1px solid #eee;
padding: 10px;
} }
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment