Commit ad69cebd authored by 邓超's avatar 邓超

fix: 修改路由为按需加载

parent 28a5aebf
......@@ -7,7 +7,7 @@
}
.ant-layout .ant-layout-content {
margin: 0px !important;
margin: 12px;
}
.ant-pro-page-container {
......
......@@ -12,6 +12,11 @@ body,
.ant-layout {
min-height: 100vh;
overflow: auto;
.ant-layout-content {
margin: 12px;
}
}
canvas {
......@@ -38,12 +43,15 @@ iframe {
.ant-table {
width: 100%;
overflow-x: auto;
&-thead > tr,
&-tbody > tr {
> th,
> td {
&-thead>tr,
&-tbody>tr {
>th,
>td {
white-space: pre;
> span {
>span {
display: block;
}
}
......@@ -52,19 +60,82 @@ iframe {
}
// 兼容IE11
@media screen and(-ms-high-contrast: active), (-ms-high-contrast: none) {
body .ant-design-pro > .ant-layout {
@media screen and(-ms-high-contrast: active),
(-ms-high-contrast: none) {
body .ant-design-pro>.ant-layout {
min-height: 100vh;
}
}
.ant-pro-global-header-layout-side>div:first-child /deep/{
.ant-pro-global-header-layout-side>div:first-child /deep/ {
flex: 0 !important;
}
iframe{
iframe {
border: none !important;
}
:global{
.ant-tree-node-content-wrapper .anticon-folder, .ant-tree-icon__customize, .ant-tree-switcher-icon{
color: #1890ff !important;
:global {
.ant-tree-node-content-wrapper .anticon-folder,
.ant-tree-icon__customize,
.ant-tree-switcher-icon {
color: #1890ff !important;
}
}
:global {
::-webkit-scrollbar {
height: 6px; //x轴滚动条粗细
width: 6px; //y轴滚动条粗细
border-bottom: 2px solid white;
}
//滚动条里面的小方块,能上下左右移动(取决于是垂直滚动条还是水平滚动条)
::-webkit-scrollbar-thumb {
border-radius: 10px;
box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.1);
background: rgba(74, 74, 75, 0.3);
margin-bottom: 10px;
}
//滚动条的轨道(里面装有thumb)滚动槽
::-webkit-scrollbar-track {
box-shadow: 0;
border-radius: 0;
background: white; //滚动槽背景色
border-radius: 10px; //滚动条边框半径设置
}
.ant-table-body {
overflow: auto !important;
border-right: 1px solid rgb(240, 240, 240);
}
.ant-table-cell {
overflow: hidden;
white-space: nowrap;
}
.ant-tree.ant-tree-block-node .ant-tree-list-holder-inner .ant-tree-node-content-wrapper {
line-height: 28px;
width: 0;
}
.ant-tree-drop-indicator {
bottom: 3px;
margin-left: 6px;
}
.ant-tree-draggable-icon {
display: none;
}
.ant-tree-switcher-icon svg {
font-size: 14px;
color: #767777;
}
}
\ No newline at end of file
......@@ -431,72 +431,78 @@ const ManagementDataBase = () => {
return (
<>
<PageContainer>
<Card>
<div className={styles.tableTitle}>
<span style={{ marginRight: '100px' }}>升级详情</span>
{repairTypeList.length > 0 && (
<>
<span>升级类型:</span>
<div style={{ display: 'inline-block' }}>
<Checkbox.Group options={repairTypeList} value={keepValue} onChange={onChange} />
</div>
</>
)}
</div>
<Spin tip="loading..." spinning={checkLoading}>
<div className={styles.pageContent}>
<Card>
<div className={styles.tableTitle}>
<span style={{ marginRight: '100px' }}>升级详情</span>
{repairTypeList.length > 0 && (
<>
<span>升级类型:</span>
<div style={{ display: 'inline-block' }}>
<Checkbox.Group
options={repairTypeList}
value={keepValue}
onChange={onChange}
/>
</div>
</>
)}
</div>
<Spin tip="loading..." spinning={checkLoading}>
<Table
className={styles.mgTop20}
columns={autoCheckColumns}
dataSource={autoCheckList}
bordered
size="small"
/>
<div className={styles.btnBox}>
<Space>
<Button type="primary" onClick={handleCheck}>
检查
</Button>
<Popconfirm
title="
是否根据已选类型,升级当前连接数据库?"
okText="确认"
cancelText="取消"
onConfirm={() => {
handleUpdate();
}}
>
<Button danger type="primary">
升级
</Button>
</Popconfirm>
</Space>
</div>
</Spin>
</Card>
<Card className={styles.mgTop20}>
<div className={styles.tableTitle}>
手动升级 (字段长度不统一,请手动修改差异,数据可能会截断,请谨慎操作)
</div>
<Table
className={styles.mgTop20}
columns={autoCheckColumns}
dataSource={autoCheckList}
columns={checkColumns}
dataSource={checkList}
bordered
loading={checkLoading}
size="small"
/>
<div className={styles.btnBox}>
<Space>
<Button type="primary" onClick={handleCheck}>
检查
</Button>
<Popconfirm
title="
是否根据已选类型,升级当前连接数据库?"
okText="确认"
cancelText="取消"
onConfirm={() => {
handleUpdate();
}}
>
<Button danger type="primary">
升级
</Button>
</Popconfirm>
</Space>
</div>
</Spin>
</Card>
<Card className={styles.mgTop20}>
<div className={styles.tableTitle}>
手动升级 (字段长度不统一,请手动修改差异,数据可能会截断,请谨慎操作)
</div>
<Table
className={styles.mgTop20}
columns={checkColumns}
dataSource={checkList}
bordered
loading={checkLoading}
size="small"
/>
</Card>
<Card className={styles.mgTop20}>
<div className={styles.tableTitle}>数据库版本记录</div>
<Table
className={styles.mgTop20}
columns={logColumns}
dataSource={logList}
bordered
loading={logLoading}
size="small"
/>
</Card>
</Card>
<Card className={styles.mgTop20}>
<div className={styles.tableTitle}>数据库版本记录</div>
<Table
className={styles.mgTop20}
columns={logColumns}
dataSource={logList}
bordered
loading={logLoading}
size="small"
/>
</Card>
</div>
</PageContainer>
<Modal
......
.tableTitle{
.tableTitle {
font-size: 16px;
}
.mgTop20{
.mgTop20 {
margin-top: 20px !important;
}
.tCenter{
.tCenter {
text-align: center;
}
.btnBox{
.btnBox {
text-align: center;
margin-top: 10px;
}
.pageContent {
height: 100%;
width: 100%;
overflow-y: scroll;
}
\ No newline at end of file
......@@ -92,25 +92,30 @@ const DatabaseConnectConfig = props => {
return (
<PageContainer>
<Card>
{/* <Tabs activeKey={active} onChange={e => handleChange(e)}>
<div style={{ width: '100%', height: '100%', overflowY: 'scroll' }}>
<Card>
{/* <Tabs activeKey={active} onChange={e => handleChange(e)}>
{dataArr.map(item => (
<TabPane tab={item.title} key={item.key}>
{active === item.key && item.component}
</TabPane>
))}
</Tabs> */}
<SQLServerTable />
<OracleTable />
<MongDBTable />
<MySQLTable />
<MasterTable />
</Card>
<div style={{ marginBottom: '15px' }}>
<SQLServerTable />
</div>
<div style={{ marginBottom: '15px' }}>
<OracleTable />
</div>
<div style={{ marginBottom: '15px' }}>
<MongDBTable />
</div>
<div style={{ marginBottom: '15px' }}>
<MySQLTable />
</div>
<MasterTable />
</Card>
</div>
</PageContainer>
);
};
......
......@@ -87,17 +87,17 @@
border: 1px solid #eee;
padding: 10px;
}
.ant-tree.ant-tree-block-node .ant-tree-list-holder-inner .ant-tree-node-content-wrapper {
line-height: 28px !important;
width: 0;
}
.ant-tree-drop-indicator {
bottom: 3px !important;
margin-left: 6px;
}
.ant-tree-draggable-icon {
display: none;
}
// .ant-tree.ant-tree-block-node .ant-tree-list-holder-inner .ant-tree-node-content-wrapper {
// line-height: 28px !important;
// width: 0;
// }
// .ant-tree-drop-indicator {
// bottom: 3px !important;
// margin-left: 6px;
// }
// .ant-tree-draggable-icon {
// display: none;
// }
// .modal{
// .ant-modal-body{
// padding: 0 !important;
......
:global {
::-webkit-scrollbar {
height: 6px; //x轴滚动条粗细
width: 6px; //y轴滚动条粗细
border-bottom: 2px solid white;
}
//滚动条里面的小方块,能上下左右移动(取决于是垂直滚动条还是水平滚动条)
::-webkit-scrollbar-thumb {
border-radius: 10px;
box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.1);
background: rgba(74, 74, 75, 0.3);
margin-bottom: 10px;
}
// ::-webkit-scrollbar {
// height: 6px; //x轴滚动条粗细
// width: 6px; //y轴滚动条粗细
// border-bottom: 2px solid white;
// }
//滚动条的轨道(里面装有thumb)滚动槽
::-webkit-scrollbar-track {
box-shadow: 0;
border-radius: 0;
background: white; //滚动槽背景色
border-radius: 10px; //滚动条边框半径设置
}
// //滚动条里面的小方块,能上下左右移动(取决于是垂直滚动条还是水平滚动条)
// ::-webkit-scrollbar-thumb {
// border-radius: 10px;
// box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.1);
// background: rgba(74, 74, 75, 0.3);
// margin-bottom: 10px;
// }
.ant-tree-node-content-wrapper {
width: 100%;
// //滚动条的轨道(里面装有thumb)滚动槽
// ::-webkit-scrollbar-track {
// box-shadow: 0;
// border-radius: 0;
// background: white; //滚动槽背景色
// border-radius: 10px; //滚动条边框半径设置
// }
// overflow: hidden !important;
.ant-tree-title {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
display: flex !important;
justify-content: space-between;
}
}
// .ant-tree-node-content-wrapper {
// width: 100%;
// // overflow: hidden !important;
// .ant-tree-title {
// overflow: hidden;
// text-overflow: ellipsis;
// white-space: nowrap;
// display: flex !important;
// justify-content: space-between;
// }
// }
.ant-pagination-prev,
.ant-pagination-next {
line-height: 8px !important;
}
// .ant-pagination-prev,
// .ant-pagination-next {
// line-height: 8px !important;
// }
.ant-input-search-button {
line-height: 1;
}
// .ant-input-search-button {
// line-height: 1;
// }
.ant-dropdown-menu-item>.anticon:first-child {
vertical-align: 0.15em !important;
}
// .ant-dropdown-menu-item>.anticon:first-child {
// vertical-align: 0.15em !important;
// }
.ant-table-tbody {
.ant-table-row:hover>td {
background: #aed8fa !important;
}
}
// .ant-table-tbody {
// .ant-table-row:hover>td {
// background: #aed8fa !important;
// }
// }
.ant-modal-close-icon {
vertical-align: 0.3em;
}
// .ant-modal-close-icon {
// vertical-align: 0.3em;
// }
.ant-notification-close-icon {
vertical-align: 0.2em;
}
// .ant-notification-close-icon {
// vertical-align: 0.2em;
// }
.ant-tree-switcher-icon svg {
font-size: 14px;
color: #767777 !important;
}
// .ant-tree-switcher-icon svg {
// font-size: 14px;
// color: #767777 !important;
// }
.ant-card-body {
padding: 12px 24px 24px 10px;
}
// .ant-card-body {
// padding: 12px 24px 24px 10px;
// }
}
.redText {
......@@ -76,19 +76,19 @@
cursor: pointer;
}
.ant-layout {
overflow: auto;
// .ant-layout {
// overflow: auto;
.ant-layout-content {
margin: 12px !important;
}
}
// .ant-layout-content {
// margin: 12px !important;
// }
// }
.ant-btn>.anticon+span,
.ant-btn>span+.anticon {
margin-left: 8px;
vertical-align: middle;
}
// .ant-btn>.anticon+span,
// .ant-btn>span+.anticon {
// margin-left: 8px;
// vertical-align: middle;
// }
.siteTitle {
font-size: 16px;
......@@ -100,6 +100,7 @@
.userManageContainer {
height: 100%;
.ant-modal-footer {
border: none;
padding: 28px 40px;
......@@ -181,7 +182,6 @@
}
.orgContainer {
// height: calc(100vh - 74px);
height: 100%;
width: 320px;
padding-right: 10px;
......@@ -193,9 +193,11 @@
transition-property: width;
transition-duration: 0.5s;
white-space: nowrap;
.ant-card-body {
height: 100%;
}
.ant-tree {
padding-top: 6px;
......@@ -274,7 +276,6 @@
}
.userContainer {
// height: calc(100vh - 74px) !important;
height: 100%;
z-index: 999;
background: white;
......@@ -327,9 +328,10 @@
.ant-table-body {
// height: calc(100vh - 210px);
// height: 100%;
height: 100%;
border-right: white;
// overflow: auto !important;
}
.clickRowStyle {
......@@ -377,41 +379,41 @@
}
}
.ant-modal-content {
border-radius: 5px;
}
// .ant-modal-content {
// border-radius: 5px;
// }
.ant-modal-header {
border-radius: 5px 5px 0 0;
padding: 28px 40px;
}
// .ant-modal-header {
// border-radius: 5px 5px 0 0;
// padding: 28px 40px;
// }
.ant-modal-close {
top: 14px;
right: 20px;
}
// .ant-modal-close {
// top: 14px;
// right: 20px;
// }
.ant-modal-footer .ant-btn+.ant-btn:not(.ant-dropdown-trigger) {
margin-bottom: 0;
margin-left: 15px;
}
// .ant-modal-footer .ant-btn+.ant-btn:not(.ant-dropdown-trigger) {
// margin-bottom: 0;
// margin-left: 15px;
// }
// .ant-form-horizontal .ant-form-item-control {
// margin-left: 10px;
// }
.ant-popover-inner {
border-radius: 10px;
background-color: rgba(255, 255, 255, 0.788);
}
// .ant-popover-inner {
// border-radius: 10px;
// background-color: rgba(255, 255, 255, 0.788);
// }
.ant-popover-inner-content {
padding: 10px 10px;
}
// .ant-popover-inner-content {
// padding: 10px 10px;
// }
.ant-popover-message>.anticon {
top: 7.0005px;
}
// .ant-popover-message>.anticon {
// top: 7.0005px;
// }
// .ant-tree {
// overflow-y: scroll;
......
......@@ -12,62 +12,145 @@ import {
FundProjectionScreenOutlined,
ReadOutlined,
} from '@ant-design/icons';
import asyncComponent from './importComponent';
// 菜单
import UserLayout from '@/layouts/UserLayout';
import BasicLayout from '@/layouts/BasicLayout';
import BlankLayout from '@/layouts/BlankLayout';
// import UserLayout from '@/layouts/UserLayout';
// import BasicLayout from '@/layouts/BasicLayout';
// import BlankLayout from '@/layouts/BlankLayout';
// 登录
import Login from '@/pages/user/login';
// import Login from '@/pages/user/login';
// 解决方案管理
import CurrentSolution from '@/pages/currentSolution/CurrentSolution';
// import CurrentSolution from '@/pages/currentSolution/CurrentSolution';
// 数据库管理
import InitDataBase from '@/pages/database/InitDataBase/InitDataBase';
import DatabaseInitialization from '@/pages/database/databaseInitialization/DatabaseInitialization';
import ManagementDataBase from '@/pages/database/ManagementDataBase/ManagementDataBase';
import DatabaseConnectConfig from '@/pages/database/databaseConfig/DatabaseConfig';
// import InitDataBase from '@/pages/database/InitDataBase/InitDataBase';
// import DatabaseInitialization from '@/pages/database/databaseInitialization/DatabaseInitialization';
// import ManagementDataBase from '@/pages/database/ManagementDataBase/ManagementDataBase';
// import DatabaseConnectConfig from '@/pages/database/databaseConfig/DatabaseConfig';
// 用户中心
import UserManage from '@/pages/userCenter/userManage/UserManage';
import RoleManage from '@/pages/userCenter/roleManage/RoleManage';
import SiteManage from '@/pages/userCenter/siteManage/SiteManage';
// import UserManage from '@/pages/userCenter/userManage/UserManage';
// import UserManage from '@/pages/userCenter/userManage/UserManage';
// import RoleManage from '@/pages/userCenter/roleManage/RoleManage';
// import SiteManage from '@/pages/userCenter/siteManage/SiteManage';
// 数据中心
import Dictionary from '@/pages/dataCenter/dictionary';
// import Dictionary from '@/pages/dataCenter/dictionary';
// 组态平台
// 平台中心
import SchemeConfig from '@/pages/platformCenter/gis/schemeConfig/SchemeConfig';
import DimensionsConfig from '@/pages/platformCenter/gis/dimensionsConfig/dimensionsConfig';
import MessageManager from '@/pages/platformCenter/messageManage';
import SchemeDetail from '@/pages/platformCenter/messageManage/schemeDetail/schemeDetail';
import HostManager from '@/pages/platformCenter/hostmanager';
import VideoManager from '@/pages/platformCenter/videoManager';
import BaseFrameContainer from '@/pages/platformCenter/baseFrameContainer';
import IntegratedLogin from '@/pages/platformCenter/integratedLogin/integrate';
// import SchemeConfig from '@/pages/platformCenter/gis/schemeConfig/SchemeConfig';
// import DimensionsConfig from '@/pages/platformCenter/gis/dimensionsConfig/dimensionsConfig';
// import MessageManager from '@/pages/platformCenter/messageManage';
// import SchemeDetail from '@/pages/platformCenter/messageManage/schemeDetail/schemeDetail';
// import HostManager from '@/pages/platformCenter/hostmanager';
// import VideoManager from '@/pages/platformCenter/videoManager';
// import BaseFrameContainer from '@/pages/platformCenter/baseFrameContainer';
// import IntegratedLogin from '@/pages/platformCenter/integratedLogin/integrate';
// 业务中心
import TableManager from '@/pages/bsmanager/base/tablemanager';
import FiledConfig from '@/pages/bsmanager/base/tablemanager/filedConfig/filedConfig';
import StandingBook from '@/pages/bsmanager/base/standingBook/standingBook';
import Incident from '@/pages/bsmanager/workOrder/incident/incident';
import IncidentFlow from '@/pages/bsmanager/workOrder/incident/incidentFlow';
import IncidentView from '@/pages/bsmanager/workOrder/incident/incidentView';
import Flow from '@/pages/bsmanager/workOrder/workFlow/flow';
import FlowNode from '@/pages/bsmanager/workOrder/workFlow/flowNode/flowNode';
import Workflow from '@/pages/bsmanager/workOrder/workflowEdit/Workflow';
import Maintenance from '@/pages/bsmanager/patrolMaintenance/maintenance/maintenance';
import PatrolFeedback from '@/pages/bsmanager/patrolMaintenance/patrolFeedback/patrolFeedback';
// import TableManager from '@/pages/bsmanager/base/tablemanager';
// import FiledConfig from '@/pages/bsmanager/base/tablemanager/filedConfig/filedConfig';
// import StandingBook from '@/pages/bsmanager/base/standingBook/standingBook';
// import Incident from '@/pages/bsmanager/workOrder/incident/incident';
// import IncidentFlow from '@/pages/bsmanager/workOrder/incident/incidentFlow';
// import IncidentView from '@/pages/bsmanager/workOrder/incident/incidentView';
// import Flow from '@/pages/bsmanager/workOrder/workFlow/flow';
// import FlowNode from '@/pages/bsmanager/workOrder/workFlow/flowNode/flowNode';
// import Workflow from '@/pages/bsmanager/workOrder/workflowEdit/Workflow';
// import Maintenance from '@/pages/bsmanager/patrolMaintenance/maintenance/maintenance';
// import PatrolFeedback from '@/pages/bsmanager/patrolMaintenance/patrolFeedback/patrolFeedback';
// 应用中心
import ProductConfig from '@/pages/productCenter/productConfig/productConfig';
import WebConfigPage from '@/pages/productCenter/webConfig';
import MobileConfigPage from '@/pages/productCenter/mobileConfig';
// import ProductConfig from '@/pages/productCenter/productConfig/productConfig';
// import WebConfigPage from '@/pages/productCenter/webConfig';
// import MobileConfigPage from '@/pages/productCenter/mobileConfig';
// 系统日志
import ServiceLog from '@/pages/log/serviceLog';
import LoginLog from '@/pages/log/loginLog';
import OmsLog from '@/pages/log/omsLog';
// import ServiceLog from '@/pages/log/serviceLog';
// import LoginLog from '@/pages/log/loginLog';
// import OmsLog from '@/pages/log/omsLog';
import { USER_MODE } from '@/utils/constants';
// 菜单
const UserLayout = asyncComponent(() => import('@/layouts/UserLayout'));
const BasicLayout = asyncComponent(() => import('@/layouts/BasicLayout'));
const BlankLayout = asyncComponent(() => import('@/layouts/BlankLayout'));
// 登录
const Login = asyncComponent(() => import('@/pages/user/login'));
// 解决方案管理
const CurrentSolution = asyncComponent(() => import('@/pages/currentSolution/CurrentSolution'));
// 数据库管理
const InitDataBase = asyncComponent(() => import('@/pages/database/InitDataBase/InitDataBase'));
const DatabaseInitialization = asyncComponent(() =>
import('@/pages/database/databaseInitialization/DatabaseInitialization'),
);
const ManagementDataBase = asyncComponent(() =>
import('@/pages/database/ManagementDataBase/ManagementDataBase'),
);
const DatabaseConnectConfig = asyncComponent(() =>
import('@/pages/database/databaseConfig/DatabaseConfig'),
);
// 用户中心
const UserManage = asyncComponent(() => import('@/pages/userCenter/userManage/UserManage'));
const Workflow = asyncComponent(() => import('@/pages/bsmanager/workOrder/workflowEdit/Workflow'));
const RoleManage = asyncComponent(() => import('@/pages/userCenter/roleManage/RoleManage'));
const SiteManage = asyncComponent(() => import('@/pages/userCenter/siteManage/SiteManage'));
// 数据中心
const Dictionary = asyncComponent(() => import('@/pages/dataCenter/dictionary'));
// 平台中心
const SchemeConfig = asyncComponent(() =>
import('@/pages/platformCenter/gis/schemeConfig/SchemeConfig'),
);
const DimensionsConfig = asyncComponent(() =>
import('@/pages/platformCenter/gis/dimensionsConfig/dimensionsConfig'),
);
const MessageManager = asyncComponent(() => import('@/pages/platformCenter/messageManage'));
const SchemeDetail = asyncComponent(() =>
import('@/pages/platformCenter/messageManage/schemeDetail/schemeDetail'),
);
const HostManager = asyncComponent(() => import('@/pages/platformCenter/hostmanager'));
const VideoManager = asyncComponent(() => import('@/pages/platformCenter/videoManager'));
const BaseFrameContainer = asyncComponent(() =>
import('@/pages/platformCenter/baseFrameContainer'),
);
const IntegratedLogin = asyncComponent(() =>
import('@/pages/platformCenter/integratedLogin/integrate'),
);
// 业务中心
const TableManager = asyncComponent(() => import('@/pages/bsmanager/base/tablemanager'));
const FiledConfig = asyncComponent(() =>
import('@/pages/bsmanager/base/tablemanager/filedConfig/filedConfig'),
);
const StandingBook = asyncComponent(() =>
import('@/pages/bsmanager/base/standingBook/standingBook'),
);
const Incident = asyncComponent(() => import('@/pages/bsmanager/workOrder/incident/incident'));
const IncidentFlow = asyncComponent(() =>
import('@/pages/bsmanager/workOrder/incident/incidentFlow'),
);
const IncidentView = asyncComponent(() =>
import('@/pages/bsmanager/workOrder/incident/incidentView'),
);
const Flow = asyncComponent(() => import('@/pages/bsmanager/workOrder/workFlow/flow'));
const FlowNode = asyncComponent(() =>
import('@/pages/bsmanager/workOrder/workFlow/flowNode/flowNode'),
);
const Maintenance = asyncComponent(() =>
import('@/pages/bsmanager/patrolMaintenance/maintenance/maintenance'),
);
const PatrolFeedback = asyncComponent(() =>
import('@/pages/bsmanager/patrolMaintenance/patrolFeedback/patrolFeedback'),
);
// 应用中心
const ProductConfig = asyncComponent(() =>
import('@/pages/productCenter/productConfig/productConfig'),
);
const WebConfigPage = asyncComponent(() => import('@/pages/productCenter/webConfig'));
const MobileConfigPage = asyncComponent(() => import('@/pages/productCenter/mobileConfig'));
// 系统日志
const ServiceLog = asyncComponent(() => import('@/pages/log/serviceLog'));
const LoginLog = asyncComponent(() => import('@/pages/log/loginLog'));
const OmsLog = asyncComponent(() => import('@/pages/log/omsLog'));
const superAuthority = [USER_MODE.SUPER];
const adminAuthority = [...superAuthority, USER_MODE.ADMIN];
const iconStyle = { verticalAlign: 'middle' };
......
import React from 'react';
export default function asyncComponent(importComponent) {
class AsyncComponent extends React.Component {
constructor(props) {
super(props);
this.state = { component: null };
}
componentDidMount() {
importComponent().then(mod => {
this.setState({
component: mod.default ? mod.default : mod,
});
});
}
render() {
const C = this.state.component;
return C ? <C {...this.props} /> : null;
}
}
return AsyncComponent;
}
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