From cb4c8706eb48183ac8875d92d4a950ad6b6675a2 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期三, 18 三月 2020 11:01:11 +0800
Subject: [PATCH] 2020-03-18

---
 src/components/tabview/index.jsx |   69 +++++++++++++---------------------
 1 files changed, 26 insertions(+), 43 deletions(-)

diff --git a/src/components/tabview/index.jsx b/src/components/tabview/index.jsx
index a15b7b9..bd3e1f4 100644
--- a/src/components/tabview/index.jsx
+++ b/src/components/tabview/index.jsx
@@ -3,20 +3,29 @@
 import {connect} from 'react-redux'
 import { is, fromJS } from 'immutable'
 import {Tabs, Icon, Button, ConfigProvider, message, BackTop} from 'antd'
-import {modifyTabview, toggleIsiframe, refreshTabView} from '@/store/action'
-// import asyncComponent from '@/utils/asyncComponent'
-import asyncComponent from '@/utils/asyncLoadComponent'
-import NotFount from '@/components/404'
 import enUS from 'antd/es/locale/en_US'
 import zhCN from 'antd/es/locale/zh_CN'
-import mzhCN from '@/locales/zh-CN/main.js'
-import menUS from '@/locales/en-US/main.js'
 import moment from 'moment'
 import 'moment/locale/zh-cn'
+
+import {modifyTabview, toggleIsiframe, refreshTabView} from '@/store/action'
+import asyncComponent from '@/utils/asyncLoadComponent'
+import NotFount from '@/components/404'
+import mzhCN from '@/locales/zh-CN/main.js'
+import menUS from '@/locales/en-US/main.js'
+
 import './index.scss'
 
+const Home = asyncComponent(() => import('@/tabviews/home'))
+const CommonTable = asyncComponent(() => import('@/tabviews/commontable'))
+const VerupTable = asyncComponent(() => import('@/tabviews/verup'))
+const ManageTable = asyncComponent(() => import('@/tabviews/managetable'))
+const Iframe = asyncComponent(() => import('@/tabviews/iframe'))
+const DataManage = asyncComponent(() => import('@/tabviews/datamanage'))
+const RoleManage = asyncComponent(() => import('@/tabviews/rolemanage'))
+const TabForm = asyncComponent(() => import('@/tabviews/tabform'))
+const FormTab = asyncComponent(() => import('@/tabviews/formtab'))
 
-let Comps = {}
 let service = window.GLOB.service ? (/\/$/.test(window.GLOB.service) ? window.GLOB.service : window.GLOB.service + '/') : ''
 
 if (process.env.NODE_ENV === 'production') {
@@ -88,21 +97,23 @@
   selectcomponent = (view) => {
     // 鏍规嵁tab椤典腑鑿滃崟淇℃伅锛岄�夋嫨鎵�闇�鐨勭粍浠�
     if (view.type === 'Home') {
-      return (<Comps.Home MenuNo={view.MenuNo} MenuID={view.MenuID} MenuName={view.MenuName} key={view.MenuID}/>)
+      return (<Home MenuNo={view.MenuNo} MenuID={view.MenuID} MenuName={view.MenuName} key={view.MenuID}/>)
     } else if (view.type === 'CommonTable') {
-      return (<Comps.CommonTable MenuNo={view.MenuNo} MenuID={view.MenuID} MenuName={view.MenuName} key={view.MenuID}/>)
+      return (<CommonTable MenuNo={view.MenuNo} MenuID={view.MenuID} MenuName={view.MenuName} key={view.MenuID}/>)
+    } else if (view.type === 'VerupTable') {
+      return (<VerupTable MenuNo={view.MenuNo} MenuID={view.MenuID} MenuName={view.MenuName} key={view.MenuID}/>)
     } else if (view.type === 'ManageTable') {
-      return (<Comps.CommonTable MenuNo={view.MenuNo} MenuID={view.MenuID} MenuName={view.MenuName} key={view.MenuID}/>)
+      return (<ManageTable MenuNo={view.MenuNo} MenuID={view.MenuID} MenuName={view.MenuName} key={view.MenuID}/>)
     } else if (view.type === 'DataManage') {
-      return (<Comps.DataManage MenuNo={view.MenuNo} MenuID={view.MenuID} MenuName={view.MenuName} key={view.MenuID}/>)
+      return (<DataManage MenuNo={view.MenuNo} MenuID={view.MenuID} MenuName={view.MenuName} key={view.MenuID}/>)
     } else if (view.type === 'RolePermission') {
-      return (<Comps.RoleManage MenuNo={view.MenuNo} MenuID={view.MenuID} MenuName={view.MenuName} key={view.MenuID}/>)
+      return (<RoleManage MenuNo={view.MenuNo} MenuID={view.MenuID} MenuName={view.MenuName} key={view.MenuID}/>)
     } else if (view.type === 'TabForm') {
-      return (<Comps.TabForm MenuNo={view.MenuNo} MenuID={view.MenuID} MenuName={view.MenuName} key={view.MenuID} param={view.param}/>)
+      return (<TabForm MenuNo={view.MenuNo} MenuID={view.MenuID} MenuName={view.MenuName} key={view.MenuID} param={view.param}/>)
     } else if (view.type === 'FormTab') {
-      return (<Comps.FormTab MenuNo={view.MenuNo} MenuID={view.MenuID} MenuName={view.MenuName} key={view.MenuID} param={view.param}/>)
+      return (<FormTab MenuNo={view.MenuNo} MenuID={view.MenuID} MenuName={view.MenuName} key={view.MenuID} param={view.param}/>)
     } else if (view.type === 'iframe') {
-      return (<Comps.Iframe key={view.MenuID} title={view.MenuName} MenuName={view.MenuName} url={service + view.LinkUrl}/>)
+      return (<Iframe key={view.MenuID} title={view.MenuName} MenuName={view.MenuName} url={service + view.LinkUrl}/>)
     } else {
       return (<NotFount key={view.MenuID} />)
     }
@@ -163,30 +174,6 @@
 
   UNSAFE_componentWillReceiveProps (nextProps) {
     if (nextProps.tabviews && !is(fromJS(this.state.tabviews), fromJS(nextProps.tabviews))) {
-      // tab绐楀彛椤靛鍔犳垨鍒犻櫎
-      if (nextProps.tabviews.length > this.state.tabviews.length) {
-        // 鏌ョ湅鏂皌ab椤甸渶瑕佺粍浠舵槸鍚﹀姞杞�
-        let MenuIDs = this.state.tabviews.map(tab => {return tab.MenuID})
-        let newtab = nextProps.tabviews.filter(tab => !MenuIDs.includes(tab.MenuID))[0]
-        if (!Comps.Home && newtab.type === 'Home') {
-          Comps.Home = asyncComponent(() => import('@/tabviews/home'))
-        } else if (!Comps.CommonTable && newtab.type === 'CommonTable') {
-          Comps.CommonTable = asyncComponent(() => import('@/tabviews/commontable'))
-        } else if (!Comps.CommonTable && newtab.type === 'ManageTable') {
-          Comps.CommonTable = asyncComponent(() => import('@/tabviews/managetable'))
-        } else if (!Comps.Iframe && newtab.type === 'iframe') {
-          Comps.Iframe = asyncComponent(() => import('@/tabviews/iframe'))
-        } else if (!Comps.DataManage && newtab.type === 'DataManage') {
-          Comps.DataManage = asyncComponent(() => import('@/tabviews/datamanage'))
-        } else if (!Comps.RoleManage && newtab.type === 'RolePermission') {
-          Comps.RoleManage = asyncComponent(() => import('@/tabviews/rolemanage'))
-        } else if (!Comps.TabForm && newtab.type === 'TabForm') {
-          Comps.TabForm = asyncComponent(() => import('@/tabviews/tabform'))
-        } else if (!Comps.FormTab && newtab.type === 'FormTab') {
-          Comps.FormTab = asyncComponent(() => import('@/tabviews/formtab'))
-        }
-      }
-
       // 淇濆瓨淇敼鏍囩闆�
       this.setState({
         tabviews: nextProps.tabviews
@@ -198,10 +185,6 @@
       }
     }
   }
-
-  // shouldComponentUpdate(nextProps, nextState) {
-  //   return !is(fromJS(this.props), fromJS(nextProps)) || !is(fromJS(this.state), fromJS(nextState))
-  // }
 
   render () {
     const { tabviews } = this.state

--
Gitblit v1.8.0