From 5c8860f3cd8921e7eb0da7749628e9dc669b3203 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期二, 17 三月 2020 10:19:16 +0800
Subject: [PATCH] 2020-03-17

---
 src/tabviews/formtab/index.jsx |   37 +++++++++++++++++++++++++------------
 1 files changed, 25 insertions(+), 12 deletions(-)

diff --git a/src/tabviews/formtab/index.jsx b/src/tabviews/formtab/index.jsx
index ad702d5..cf03b8e 100644
--- a/src/tabviews/formtab/index.jsx
+++ b/src/tabviews/formtab/index.jsx
@@ -90,17 +90,6 @@
         return
       }
 
-      let _arrField = [config.setting.primaryKey]     // 瀛楁闆� , 榛樿娣诲姞涓婚敭
-
-      config.groups.forEach(group => {
-        group.sublist.forEach(item => {
-          if (!item.field) return
-
-          _arrField.push(item.field)
-        })
-      })
-      _arrField = _arrField.join(',')
-
       // 鏉冮檺杩囨护
       if (this.props.param.menuType !== 'HS') {
         config.action = config.action.filter(item => permAction[item.uuid])
@@ -110,6 +99,29 @@
           config[group] = config[group].filter(tab => permAction[tab.linkTab])
         })
       }
+
+      let _arrField = [config.setting.primaryKey]     // 瀛楁闆� , 榛樿娣诲姞涓婚敭
+
+      config.groups.forEach(group => {
+        group.sublist = group.sublist.filter(item => {
+          if (!item.blacklist || item.blacklist.length === 0) {
+            _arrField.push(item.field)
+            return true
+          }
+
+          let _black = item.blacklist.filter(v => {
+            return this.props.permRoles.indexOf(v) !== -1
+          })
+
+          if (_black.length > 0) {
+            return false
+          } else {
+            _arrField.push(item.field)
+            return true
+          }
+        })
+      })
+      _arrField = _arrField.join(',')
 
       this.setState({
         config: config,
@@ -694,7 +706,8 @@
   return {
     tabviews: state.tabviews,
     refreshTab: state.refreshTab,
-    permAction: state.permAction
+    permAction: state.permAction,
+    permRoles: state.permRoles
   }
 }
 

--
Gitblit v1.8.0