From f36141f3075edf9d41928d64f759ad6bd1b1ac60 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期二, 14 七月 2020 17:43:34 +0800
Subject: [PATCH] 2020-07-14

---
 src/tabviews/subtabtable/index.jsx |  195 ++++++++++++------------------------------------
 1 files changed, 51 insertions(+), 144 deletions(-)

diff --git a/src/tabviews/subtabtable/index.jsx b/src/tabviews/subtabtable/index.jsx
index a8280ed..35b8d5a 100644
--- a/src/tabviews/subtabtable/index.jsx
+++ b/src/tabviews/subtabtable/index.jsx
@@ -140,55 +140,53 @@
       // 鏉冮檺杩囨护
       if (this.props.menuType !== 'HS') {
         config.action = config.action.filter(item => permAction[item.uuid])
-
-        // 瀛楁鏉冮檺榛戝悕鍗�
-        config.search = config.search.filter(item => {
-          if (!item.blacklist || item.blacklist.length === 0) return true
-  
-          let _black = item.blacklist.filter(v => {
-            return this.props.permRoles.indexOf(v) !== -1
-          })
-  
-          if (_black.length > 0) {
-            return false
-          } else {
-            return true
-          }
-        })
-  
-        config.columns = config.columns.filter(col => {
-          if (!col.field || !col.blacklist || col.blacklist.length === 0 || config.setting.primaryKey === col.field) return true
-  
-          let _black = col.blacklist.filter(v => {
-            return this.props.permRoles.indexOf(v) !== -1
-          })
-  
-          if (_black.length > 0) {
-            return false
-          } else {
-            return true
-          }
-        })
-
-        // 瑙嗗浘鏉冮檺
-        config.charts = config.charts.filter(item => {
-          if (item.Hide === 'true') return false
-          if (!item.blacklist || item.blacklist.length === 0) return true
-
-          let _black = item.blacklist.filter(v => {
-            return this.props.permRoles.indexOf(v) !== -1
-          })
-
-          if (_black.length > 0 || item.Hide === 'true') {
-            return false
-          } else {
-            return true
-          }
-        })
-      } else {
-        // 闅愯棌瑙嗗浘
-        config.charts = config.charts.filter(item => item.Hide !== 'true')
       }
+
+      // 瀛楁鏉冮檺榛戝悕鍗�
+      config.search = config.search.filter(item => {
+        item.oriInitval = item.initval
+        if (!item.blacklist || item.blacklist.length === 0) return item
+
+        let _black = item.blacklist.filter(v => {
+          return this.props.permRoles.indexOf(v) !== -1
+        })
+
+        if (_black.length > 0) {
+          item.Hide = 'true'
+        }
+
+        return item
+      })
+
+      config.columns = config.columns.filter(col => {
+        if (!col.field || !col.blacklist || col.blacklist.length === 0 || config.setting.primaryKey === col.field) return col
+
+        let _black = col.blacklist.filter(v => {
+          return this.props.permRoles.indexOf(v) !== -1
+        })
+
+        if (_black.length > 0) {
+          col.Hide = 'true'
+        }
+
+        return col
+      })
+
+      // 瑙嗗浘鏉冮檺
+      config.charts = config.charts.filter(item => {
+        if (item.Hide === 'true') return false
+        if (!item.blacklist || item.blacklist.length === 0) return true
+
+        let _black = item.blacklist.filter(v => {
+          return this.props.permRoles.indexOf(v) !== -1
+        })
+
+        if (_black.length > 0 || item.Hide === 'true') {
+          return false
+        } else {
+          return true
+        }
+      })
 
       if (config.charts.length <= 1) {
         config.expand = true
@@ -276,8 +274,6 @@
         arr_field: _arrField.join(','),
         search: Utils.initMainSearch(config.search) // 鎼滅储鏉′欢鍒濆鍖栵紙鍚湁鏃堕棿鏍煎紡锛岄渶瑕佽浆鍖栵級
       }, () => {
-        this.improveSearch()
-
         if (config.setting.onload !== 'false' && valid) { // 鍒濆鍖栧彲鍔犺浇
           this.loadmaindata()
         }
@@ -293,98 +289,6 @@
         duration: 5
       })
     }
-  }
-
-  /**
-   * @description 鎼滅储鏉′欢涓嬫媺閫夐」棰勫姞杞�
-   */
-  improveSearch = () => {
-    let searchlist = JSON.parse(JSON.stringify(this.state.searchlist))
-    let deffers = []
-    searchlist.forEach(item => {
-      if (item.type !== 'multiselect' && item.type !== 'select' && item.type !== 'link') return
-      if (item.setAll === 'true') {
-        item.options.unshift({
-          key: Utils.getuuid(),
-          Value: '',
-          Text: this.state.dict['main.all']
-        })
-      }
-
-      if (item.resourceType === '1' && item.dataSource) {
-        let _option = Utils.getSelectQueryOptions(item)
-        let _sql = Utils.formatOptions(_option.sql)
-        let isSSO = item.database === 'sso'
-
-        let param = {
-          func: 'sPC_Get_SelectedList',
-          LText: _sql,
-          obj_name: 'data',
-          arr_field: _option.field
-        }
-
-        if (this.props.BID) {
-          param.BID = this.props.BID
-        }
-        if (this.props.dataManager) { // 鏁版嵁鏉冮檺
-          param.LText = param.LText.replace(/\$@/ig, '/*')
-          param.LText = param.LText.replace(/@\$/ig, '*/')
-        } else {
-          param.LText = param.LText.replace(/@\$|\$@/ig, '')
-        }
-
-        param.timestamp = moment().format('YYYY-MM-DD HH:mm:ss') + '.000'
-        param.secretkey = Utils.encrypt(param.LText, param.timestamp)
-
-        if (this.props.menuType === 'HS') { // 浜戠鏁版嵁楠岃瘉
-          param.open_key = Utils.encrypt(param.secretkey, param.timestamp, true)
-        }
-
-        let defer = new Promise(resolve => {
-          Api.getSystemCacheConfig(param, isSSO).then(res => {
-            res.search = item
-            resolve(res)
-          })
-        })
-        deffers.push(defer)
-      } else if (item.resourceType === '1' && !item.dataSource) {
-        notification.warning({
-          top: 92,
-          message: item.label + ': ' + this.state.dict['main.datasource.settingerror'],
-          duration: 5
-        })
-      }
-    })
-
-    this.setState({searchlist: JSON.parse(JSON.stringify(searchlist))})
-
-    if (deffers.length === 0) return
-
-    Promise.all(deffers).then(result => {
-      result.forEach(res => {
-        if (res.status) {
-          searchlist = searchlist.map(item => {
-            if (item.uuid === res.search.uuid) {
-              res.data.forEach(cell => {
-                item.options.push({
-                  key: Utils.getuuid(),
-                  Value: cell[res.search.valueField],
-                  Text: cell[res.search.valueText]
-                })
-              })
-            }
-            return item
-          })
-        } else {
-          notification.warning({
-            top: 92,
-            message: res.search.label + ':' + res.message,
-            duration: 5
-          })
-        }
-      })
-      this.setState({searchlist})
-    })
   }
 
   /**
@@ -730,9 +634,12 @@
         {loadingview && <Spin />}
         {searchlist && searchlist.length > 0 ?
           <SubSearch
-            refreshdata={this.refreshbysearch}
-            searchlist={searchlist}
+            BID={this.props.BID}
             dict={this.state.dict}
+            searchlist={searchlist}
+            menuType={this.props.menuType}
+            dataManager={this.props.dataManager}
+            refreshdata={this.refreshbysearch}
           /> : null
         }
         {config ? <div className="chart-view">

--
Gitblit v1.8.0