zhuth пре 6 година
родитељ
комит
69c6d7b652

+ 12 - 18
src/components/common/navigator.jsx

@@ -14,7 +14,9 @@ class Navigator extends React.Component {
 
     render() {
         const { main, dispatch } = this.props;
-        const { currentUser, currentPage } = main;
+        const { currentUser, currentPage, lastWorkshopPage, lastSettingPage } = main;
+
+        let page = currentPage.match(/\/(\w+)/g)[0].replace('/', '');
 
         const userMenu = currentUser.code ? (
             <Menu>
@@ -23,11 +25,11 @@ class Navigator extends React.Component {
                 }}>
                     <Icon type="info-circle-o" /><span>账号信息</span>
                 </Menu.Item>
-                {currentUser.role === 'admin' && <Menu.Item key="1" onClick={() => {
+                {/* {currentUser.role === 'admin' && <Menu.Item key="1" onClick={() => {
                     dispatch({ type: 'main/redirect', path: '/admin' });
                 }}>
                     <Icon type="setting" />用户管理
-                </Menu.Item>}
+                </Menu.Item>} */}
                 <Menu.Divider />
                 <Menu.Item key="3" onClick={() => {
                     dispatch({ type: 'main/logout' });
@@ -46,30 +48,22 @@ class Navigator extends React.Component {
 
         return <div className='navigator'>
             <div className='navigator-left'>
+                LOGO
             </div>
             <div className='navigator-content'>
                 <Menu
                     className='navigator-menu'
-                    selectedKeys={[currentPage]}
+                    selectedKeys={[page]}
                     mode="horizontal"
                 >     
                     <Menu.Item className='nav-page' key="home">
-                        <Link to='/home'><Icon type="home" />我的</Link>
-                    </Menu.Item>
-                    <Menu.Item className='nav-page' key="dataconnect">
-                        <Link to='/dataconnect'><Icon type="link" />数据连接</Link>
-                    </Menu.Item>
-                    <Menu.Item className='nav-page' key="datasource">
-                        <Link to='/datasource'><Icon type="database" />数据源</Link>
-                    </Menu.Item>
-                    <Menu.Item className='nav-page' key="chart">
-                        <Link to='/chart'><Icon type="area-chart" />图表</Link>
+                        <Link to='/home'><Icon type="home" />首页</Link>
                     </Menu.Item>
-                    <Menu.Item className='nav-page' key="dashboard">
-                        <Link to='/dashboard'><Icon type="desktop" />报告与看板</Link>
+                    <Menu.Item className='nav-page' key="workshop">
+                        <Link to={lastWorkshopPage}><Icon type="fund" />报表制作</Link>
                     </Menu.Item>
-                    <Menu.Item disabled className='nav-page' key="modeling">
-                        <Link to='#'><Icon type="tool" />建模分析</Link>
+                    <Menu.Item className='nav-page' key="setting">
+                        <Link to={lastSettingPage}><Icon type="setting" />系统管理</Link>
                     </Menu.Item>
                 </Menu>
             </div>

+ 0 - 89
src/components/common/navigator1.jsx

@@ -1,89 +0,0 @@
-import React from 'react'
-import { Layout, Menu, Icon, Avatar, Dropdown } from 'antd'
-import { Link } from 'react-router-dom'
-import { connect } from 'dva'
-import './navigator.less'
-const { Header, Sider, Content } = Layout
-
-class Navigator extends React.Component {
-    constructor(props) {
-        super(props)
-        this.state = {
-        }
-    };
-    
-
-    render() {
-        const { main, dispatch } = this.props;
-        const { currentUser, currentPage, lastWorkshopPage, lastSettingPage } = main;
-
-        let page = currentPage.match(/\/(\w+)/g)[0].replace('/', '');
-
-        const userMenu = currentUser.code ? (
-            <Menu>
-                <Menu.Item key="0" onClick={() => {
-                    dispatch({ type: 'main/redirect', path: '/userinfo' });
-                }}>
-                    <Icon type="info-circle-o" /><span>账号信息</span>
-                </Menu.Item>
-                {/* {currentUser.role === 'admin' && <Menu.Item key="1" onClick={() => {
-                    dispatch({ type: 'main/redirect', path: '/admin' });
-                }}>
-                    <Icon type="setting" />用户管理
-                </Menu.Item>} */}
-                <Menu.Divider />
-                <Menu.Item key="3" onClick={() => {
-                    dispatch({ type: 'main/logout' });
-                    dispatch({ type: 'main/redirect', path: '/login' });
-                }}><Icon type="logout" />退出系统</Menu.Item>
-            </Menu>
-        ) : (
-            <Menu>
-                <Menu.Item key="0" onClick={() => {
-                    dispatch({ type: 'main/redirect', path: '/login' });
-                }}>
-                    <span>登录</span>
-                </Menu.Item>
-            </Menu>
-        );
-
-        return <div className='navigator'>
-            <div className='navigator-left'>
-                LOGO
-            </div>
-            <div className='navigator-content'>
-                <Menu
-                    className='navigator-menu'
-                    selectedKeys={[page]}
-                    mode="horizontal"
-                >     
-                    <Menu.Item className='nav-page' key="home">
-                        <Link to='/home'><Icon type="home" />首页</Link>
-                    </Menu.Item>
-                    <Menu.Item className='nav-page' key="workshop">
-                        <Link to={lastWorkshopPage}><Icon type="fund" />报表制作</Link>
-                    </Menu.Item>
-                    <Menu.Item className='nav-page' key="setting">
-                        <Link to={lastSettingPage}><Icon type="setting" />系统管理</Link>
-                    </Menu.Item>
-                </Menu>
-            </div>
-            <div className='navigator-right'>
-                <Dropdown overlay={userMenu} trigger={['click']}>
-                    <div>
-                        <Avatar className='user-icon' size="small" icon="user" />
-                        <span className='user-name'>{currentUser.code ? currentUser.name : '未登录'}</span>
-                    </div>
-                </Dropdown>
-            </div>
-        </div>
-    }
-}
-
-function mapStateToProps({ present: { main } }) {
-    return { main };
-}
-
-export default connect(mapStateToProps)(Navigator)
-
-

+ 1 - 1
src/index.js

@@ -1,6 +1,6 @@
 import dva from 'dva'
 import undoable, { includeAction } from 'redux-undo'
-import indexRouter from './routes/router1'
+import indexRouter from './routes/router'
 import mainModel from './models/main'
 import dataSource from './models/dataSource'
 import dataSourceDetail from './models/dataSourceDetail'

+ 6 - 12
src/routes/mainLayout.jsx

@@ -1,15 +1,12 @@
 import React from 'react'
 import { Layout } from 'antd'
-import { Route, Switch } from 'dva/router'
+import { Route, Switch, Redirect } from 'dva/router'
 import Navigator from '../components/common/navigator'
 import HomePage from '../components/homePage/homePage'
 import Loading from '../components/common/loading/loading'
-import DataConnect from '../components/dataConnect/list'
-import DataSource from '../components/dataSource/list'
-import Dashboard from '../components/dashboard/list'
-import Chart from '../components/chart/list'
+import Workshop from '../components/workshop/index'
+import Setting from '../components/setting/index'
 import './mainLayout.less'
-import Admin from '../components/admin/admin'
 import UserInfo from '../components/user/layout'
 const { Header, Content } = Layout
 
@@ -23,13 +20,10 @@ const MainLayout = ({ isAuthenticated }) => {
             <Content className='main-content'>
                 <Switch>
                     <Route sensitive path='/home' component={HomePage}/>
-                    <Route sensitive path='/dataconnect' component={DataConnect}/>
-                    <Route sensitive path='/datasource' component={DataSource}/>
-                    <Route sensitive path='/dashboard' component={Dashboard} />
-                    <Route sensitive path='/chart' component={Chart} />
-                    <Route sensitive path='/admin' component={Admin} />
+                    <Route sensitive path='/workshop' component={Workshop}/>
+                    <Route sensitive path='/setting' component={Setting} />
                     <Route sensitive path='/userinfo' component={UserInfo} />
-                    <Route path='/' component={HomePage}/>
+                    <Route path='/' component={() => (<Redirect to={{ pathname: '/home' }} ></Redirect>)}/>
                 </Switch>
             </Content>
         </Layout>

+ 0 - 36
src/routes/mainLayout1.jsx

@@ -1,36 +0,0 @@
-import React from 'react'
-import { Layout } from 'antd'
-import { Route, Switch, Redirect } from 'dva/router'
-import Navigator from '../components/common/navigator1'
-import HomePage from '../components/homePage/homePage'
-import Loading from '../components/common/loading/loading'
-import DataConnect from '../components/dataConnect/list'
-import DataSource from '../components/dataSource/list'
-import Dashboard from '../components/dashboard/list'
-import Chart from '../components/chart/list'
-import Workshop from '../components/workshop/index'
-import Setting from '../components/setting/index'
-import './mainLayout.less'
-import UserInfo from '../components/user/layout'
-const { Header, Content, Sider } = Layout
-
-const MainLayout = ({ isAuthenticated }) => {
-    return(
-        <Layout className='main-layout'>
-            <Loading />
-            <Header className='main-header'>
-                <Navigator />
-            </Header>
-            <Content className='main-content'>
-                <Switch>
-                    <Route sensitive path='/home' component={HomePage}/>
-                    <Route sensitive path='/workshop' component={Workshop}/>
-                    <Route sensitive path='/setting' component={Setting} />
-                    <Route sensitive path='/userinfo' component={UserInfo} />
-                    <Route path='/' component={() => (<Redirect to={{ pathname: '/home' }} ></Redirect>)}/>
-                </Switch>
-            </Content>
-        </Layout>
-    )
-}
-export default MainLayout;

+ 0 - 37
src/routes/router1.js

@@ -1,37 +0,0 @@
-import React from 'react'
-import { LocaleProvider } from 'antd'
-import { Router, Route, Switch } from 'dva/router'
-import PrivateRoute from './privateRoute'
-import Login from '../components/common/login/login'
-import Register from '../components/common/login/register'
-import MainLayout from './mainLayout1'
-import DataSourceDetail from '../components/dataSourceDetail/layout'
-import ChartDesigner from '../components/chartDesigner/layout'
-import DashboardDesigner from '../components/dashboardDesigner/layout'
-import DashboardShareView from '../components/dashboard/shareView'
-import DashboardShareKeyView from '../components/dashboard/shareKeyView'
-// 由于 antd 组件的默认文案是英文,所以需要修改为中文
-import zhCN from 'antd/lib/locale-provider/zh_CN'
-
-function RouterConfig({ history }) {
-    return (
-        <LocaleProvider locale={zhCN}>
-            <Router history={history}>
-                <Switch>
-                    <Route sensitive path='/login' component={Login} />
-                    <Route sensitive path='/register' component={Register} />
-                    <Route sensitive path='/dashboard/share/:code' component={DashboardShareView} />
-                    <Route sensitive path='/dashboard/share_key/:code' component={DashboardShareKeyView} />
-                    <PrivateRoute sensitive path='/datasource/:type/:code/:tab' component={DataSourceDetail}/>
-                    <PrivateRoute sensitive path='/chart/:code' component={ChartDesigner} />
-                    <PrivateRoute sensitive path='/dashboard/:code/' component={DashboardDesigner} />
-                    <PrivateRoute path='/' component={MainLayout} />
-                </Switch>
-            </Router>
-        </LocaleProvider>
-    );
-}
-
-export default RouterConfig;
-
-