From 2d1ecb2628680c31ed075261b40d6f16ca6363dd Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期三, 11 三月 2020 13:39:29 +0800
Subject: [PATCH] 2020-03-11

---
 src/components/tabview/index.jsx |   29 +++++++++++++++++++++++------
 1 files changed, 23 insertions(+), 6 deletions(-)

diff --git a/src/components/tabview/index.jsx b/src/components/tabview/index.jsx
index 8dbe85e..a15b7b9 100644
--- a/src/components/tabview/index.jsx
+++ b/src/components/tabview/index.jsx
@@ -3,7 +3,7 @@
 import {connect} from 'react-redux'
 import { is, fromJS } from 'immutable'
 import {Tabs, Icon, Button, ConfigProvider, message, BackTop} from 'antd'
-import {modifyTabview, toggleIsiframe} from '@/store/action'
+import {modifyTabview, toggleIsiframe, refreshTabView} from '@/store/action'
 // import asyncComponent from '@/utils/asyncComponent'
 import asyncComponent from '@/utils/asyncLoadComponent'
 import NotFount from '@/components/404'
@@ -38,7 +38,7 @@
     locale: (!sessionStorage.getItem('lang') || sessionStorage.getItem('lang') === 'zh-CN') ? zhCN : enUS
   }
 
-  handleTabview (e, menu) {
+  handleTabview = (e, menu) => {
     e.stopPropagation()
     // 鍏抽棴tab椤碉紝閲嶆柊閫夋嫨鏄剧ず椤�
     let tabs = JSON.parse(JSON.stringify(this.state.tabviews))
@@ -53,7 +53,18 @@
     this.props.modifyTabview(tabs)
   }
 
-  changeTab (e, menu) {
+  refreshTabview = (e, menu) => {
+    e.stopPropagation()
+    window.GLOB.CacheMap = new Map()
+
+    let _menu = {
+      MenuID: menu.MenuID,
+      position: 'view'
+    }
+    this.props.refreshTabView(_menu)
+  }
+
+  changeTab = (e, menu) => {
     e.stopPropagation()
     // 绐楀彛鍒囨崲
     let tabs = JSON.parse(JSON.stringify(this.state.tabviews))
@@ -74,7 +85,7 @@
     this.props.modifyTabview(tabs)
   }
 
-  selectcomponent (view) {
+  selectcomponent = (view) => {
     // 鏍规嵁tab椤典腑鑿滃崟淇℃伅锛岄�夋嫨鎵�闇�鐨勭粍浠�
     if (view.type === 'Home') {
       return (<Comps.Home MenuNo={view.MenuNo} MenuID={view.MenuID} MenuName={view.MenuName} key={view.MenuID}/>)
@@ -97,7 +108,7 @@
     }
   }
 
-  resetWindow (view) {
+  resetWindow = (view) => {
     // 绐楀彛鍦╥frame涓庢櫘閫氶〉闈㈠垏鎹㈡椂锛屼慨鏀瑰乏渚ц彍鍗曟爮鏍峰紡
     if (!view) return
     let _isiframe = this.props.isiframe
@@ -210,10 +221,15 @@
                       className="test"
                       tab={
                         <span className="tab-control">
+                          {['CommonTable', 'FormTab'].includes(view.type) ?
+                            <Icon type="redo" onClick={(e) => {this.refreshTabview(e, view)}}/> : null
+                          }
                           <span className="tab-name" onClick={(e) => {this.changeTab(e, view)}}>
                             {view.MenuName}
                           </span>
-                          {view.type !== 'Home' ? <Icon type="close" onClick={(e) => {this.handleTabview(e, view)}}/> : null}
+                          {view.type !== 'Home' ?
+                            <Icon type="close" onClick={(e) => {this.handleTabview(e, view)}}/> : null
+                          }
                         </span>
                       }
                       key={view.MenuID}
@@ -258,6 +274,7 @@
 const mapDispatchToProps = (dispatch) => {
   return {
     modifyTabview: (tabviews) => dispatch(modifyTabview(tabviews)),
+    refreshTabView: (refreshTab) => dispatch(refreshTabView(refreshTab)),
     toggleIsiframe: (isiframe) => dispatch(toggleIsiframe(isiframe))
   }
 }

--
Gitblit v1.8.0