From e9640ccdc9fe57f91919e3f51462c780e44fadb0 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期三, 23 十二月 2020 13:14:20 +0800
Subject: [PATCH] 2020-12-23

---
 src/tabviews/custom/components/share/normalTable/index.jsx |   86 +++++++++++++++----------------------------
 1 files changed, 30 insertions(+), 56 deletions(-)

diff --git a/src/tabviews/custom/components/share/normalTable/index.jsx b/src/tabviews/custom/components/share/normalTable/index.jsx
index b227d1d..e377073 100644
--- a/src/tabviews/custom/components/share/normalTable/index.jsx
+++ b/src/tabviews/custom/components/share/normalTable/index.jsx
@@ -391,9 +391,7 @@
   }
 
   UNSAFE_componentWillMount () {
-    const { menuType, memberLevel, setting, fields } = this.props
-    let columns = fromJS(this.props.columns).toJS()
-    let _columns = []
+    const { menuType, memberLevel, setting, fields, columns } = this.props
     let radio = 5          // 铏氬寲姣斾緥
     let _format = false    // 鏄惁铏氬寲澶勭悊
     let rowspans = []
@@ -408,70 +406,46 @@
       }
     }
 
-    columns.forEach(item => {
-      if (item.hidden === true || item.Hide === 'true') return
-      let cell = null
-
-      if (item.type === 'colspan') {
-        cell = {title: item.label, children: []}
-
-        item.subcols.forEach(col => {
-          if (col.rowspan === 'true') {
-            rowspans.push(col.field)
+    let getColumns = (cols) => {
+      return cols.map(item => {
+        let cell = null
+  
+        if (item.type === 'colspan') {
+          cell = { title: item.label, align: item.Align }
+          cell.children = getColumns(item.subcols)
+        } else {
+          if (item.rowspan === 'true') {
+            rowspans.push(item.field)
           }
           if (_format && !Math.floor(Math.random() * radio)) {
-            col.blur = true
+            item.blur = true
           }
-
-          if (col.marks && col.marks.length === 0) {
-            col.marks = ''
+  
+          if (item.marks && item.marks.length === 0) {
+            item.marks = ''
           }
-
-          cell.children.push({
-            align: col.Align,
-            title: col.label,
-            dataIndex: col.field || col.uuid,
-            key: col.uuid,
-            width: col.Width || 120,
+  
+          cell = {
+            align: item.Align,
+            dataIndex: item.uuid,
+            title: item.label,
+            sorter: item.field && item.IsSort === 'true',
+            width: item.Width || 120,
             onCell: record => ({
               record,
-              col,
-              config: col.type === 'custom' ? {setting, columns: fields} : null,
+              col: item,
+              config: item.type === 'custom' || item.type === 'action' ? {setting, columns: fields} : null,
               triggerLink: this.triggerLink,
               updateStatus: this.updateStatus
             })
-          })
-        })
-      } else {
-        if (item.rowspan === 'true') {
-          rowspans.push(item.field)
+          }
         }
-        if (_format && !Math.floor(Math.random() * radio)) {
-          item.blur = true
-        }
+  
+        return cell
+      })
+    }
 
-        if (item.marks && item.marks.length === 0) {
-          item.marks = ''
-        }
-
-        cell = {
-          align: item.Align,
-          dataIndex: item.field || item.uuid,
-          title: item.label,
-          sorter: item.field && item.IsSort === 'true',
-          width: item.Width || 120,
-          onCell: record => ({
-            record,
-            col: item,
-            config: item.type === 'custom' || item.type === 'action' ? {setting, columns: fields} : null,
-            triggerLink: this.triggerLink,
-            updateStatus: this.updateStatus
-          })
-        }
-      }
-
-      _columns.push(cell)
-    })
+    let _columns = getColumns(columns)
 
     if (rowspans.length === 0) {
       rowspans = null

--
Gitblit v1.8.0