From a975aa770d1f5d0ae133f0e87a28b5d6b94734ef Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期四, 09 五月 2024 11:16:42 +0800
Subject: [PATCH] 2024-05-09

---
 src/tabviews/custom/components/share/normalTable/index.jsx |   50 +++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 41 insertions(+), 9 deletions(-)

diff --git a/src/tabviews/custom/components/share/normalTable/index.jsx b/src/tabviews/custom/components/share/normalTable/index.jsx
index 3ab8096..f2f8eb5 100644
--- a/src/tabviews/custom/components/share/normalTable/index.jsx
+++ b/src/tabviews/custom/components/share/normalTable/index.jsx
@@ -27,9 +27,12 @@
 
   if (item.linkThdMenu) {
     let __param = {
-      $searchkey: item.field,
-      $searchval: record[item.field] || '',
       $BID: record.$$uuid
+    }
+
+    if (item.field) {
+      __param.$searchkey = item.field.toLowerCase()
+      __param.$searchval = record[item.field] || ''
     }
   
     if (item.linkThdMenu.urlFields) {
@@ -253,6 +256,7 @@
         }
   
         if (col.format === 'thdSeparator') {
+          content = content + ''
           content = content.replace(/\d{1,3}(?=(\d{3})+(\.\d*)?$)/g, '$&,')
         }
   
@@ -503,7 +507,8 @@
     chgSelectData: PropTypes.func,   // 鏁版嵁鍒囨崲
     autoMatic: PropTypes.any,
     allSearch: PropTypes.any,
-    colsCtrls: PropTypes.any
+    colsCtrls: PropTypes.any,
+    parCtrl: PropTypes.any
   }
 
   state = {
@@ -552,10 +557,7 @@
             if (item.rowspan === 'true') {
               rowspans.push(item.field)
             }
-            if (item.type === 'index') {
-              item.field = '$Index'
-              item.type = 'text'
-            } else if (_format && !Math.floor(Math.random() * radio)) {
+            if (_format && !Math.floor(Math.random() * radio)) {
               item.blur = true
             }
   
@@ -651,7 +653,7 @@
   }
 
   UNSAFE_componentWillReceiveProps(nextProps) {
-    const { allSearch } = this.props
+    const { allSearch, parCtrl } = this.props
     const { allColumns } = this.state
 
     if (allSearch && !is(fromJS(allSearch), fromJS(nextProps.allSearch))) {
@@ -660,6 +662,36 @@
         columns: this.getCurColumns(allColumns, nextProps.allSearch)
       }, () => {
         this.setState({reseting: false})
+      })
+    } else if (parCtrl && !is(fromJS(this.props.columns), fromJS(nextProps.columns))) {
+      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 {
+            cell = {
+              align: item.Align,
+              dataIndex: item.uuid,
+              title: item.label,
+              sorter: (item.field || item.sortField) && item.IsSort === 'true',
+              width: item.Width || 120,
+              onCell: record => ({
+                record,
+                col: item,
+                config: item.type === 'custom' ? {setting: this.props.setting, columns: this.props.fields} : null,
+              })
+            }
+          }
+    
+          return cell
+        })
+      }
+
+      this.setState({
+        columns: getColumns(nextProps.columns)
       })
     }
   }
@@ -1164,7 +1196,7 @@
     }
 
     return (
-      <div className={`normal-custom-table ${setting.tableHeader || ''} ${height ? 'fixed-height' : ''} ${setting.mode || ''} table-vertical-${setting.vertical || 'middle'} table-col-${columns.length} ${fixed}`} style={style}>
+      <div className={`normal-custom-table ${setting.tableHeader || ''} ${setting.parity === 'true' ? 'mk-parity' : ''} ${height ? 'fixed-height' : ''} ${setting.mode || ''} table-vertical-${setting.vertical || 'middle'} table-col-${columns.length} ${fixed}`} style={style}>
         {(setting.tableType === 'radio' || setting.tableType === 'checkbox') && data && data.length > 0 ?
           <Switch title="鏀惰捣" className="main-pickup" checkedChildren="寮�" unCheckedChildren="鍏�" checked={pickup} onChange={this.pickupChange} /> : null
         }

--
Gitblit v1.8.0