From 072227ec43346c50c93cda3bf21c346f463eb551 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期四, 19 十月 2023 22:28:56 +0800
Subject: [PATCH] 2023-10-19

---
 src/tabviews/custom/components/share/normalTable/index.jsx |   87 ++++++++++++++++++++++++++++++++++---------
 1 files changed, 69 insertions(+), 18 deletions(-)

diff --git a/src/tabviews/custom/components/share/normalTable/index.jsx b/src/tabviews/custom/components/share/normalTable/index.jsx
index b16b14a..01f6363 100644
--- a/src/tabviews/custom/components/share/normalTable/index.jsx
+++ b/src/tabviews/custom/components/share/normalTable/index.jsx
@@ -144,6 +144,14 @@
           }
         } else if (mark.innerStyle) {
           content = <span style={mark.innerStyle}>{content}</span>
+        } else if (mark.space) {
+          content = <><span dangerouslySetInnerHTML={{__html: mark.space}}></span>{content}</>
+        } else if (mark.point) {
+          if (mark.position === 'front') {
+            content = <>{mark.point}{content}</>
+          } else {
+            content = <>{content}{mark.point}</>
+          }
         }
       }
       if (col.blur) {
@@ -208,6 +216,14 @@
           }
         } else if (mark.innerStyle) {
           content = <span style={mark.innerStyle}>{content}</span>
+        } else if (mark.space) {
+          content = <><span dangerouslySetInnerHTML={{__html: mark.space}}></span>{content}</>
+        } else if (mark.point) {
+          if (mark.position === 'front') {
+            content = <>{mark.point}{content}</>
+          } else {
+            content = <>{content}{mark.point}</>
+          }
         }
       }
 
@@ -337,9 +353,7 @@
           let func = new Function('data', col.formula)
           content = func([record])
         } catch (e) {
-          if (window.debugger) {
-            console.warn(e)
-          }
+          console.warn(e)
           content = ''
         }
       } else {
@@ -352,10 +366,8 @@
             // eslint-disable-next-line
             content = eval(content)
           } catch (e) {
-            if (window.debugger) {
-              console.info(content)
-              console.warn(e)
-            }
+            console.info(content)
+            console.warn(e)
             content = ''
           }
   
@@ -389,6 +401,14 @@
           }
         } else if (mark.innerStyle) {
           content = <span style={mark.innerStyle}>{content}</span>
+        } else if (mark.space) {
+          content = <><span dangerouslySetInnerHTML={{__html: mark.space}}></span>{content}</>
+        } else if (mark.point) {
+          if (mark.position === 'front') {
+            content = <>{mark.point}{content}</>
+          } else {
+            content = <>{content}{mark.point}</>
+          }
         }
       }
 
@@ -445,7 +465,7 @@
     let rowspans = []
     let orderfields = {}
 
-    if (window.GLOB.dataFormat && !window.GLOB.mkHS) {
+    if (window.GLOB.dataFormat) {
       _format = true
 
       if (window.GLOB.memberLevel >= 30) {
@@ -482,13 +502,15 @@
   
             if (item.field) {
               orderfields[item.uuid] = item.field
+            } else if (item.sortField) {
+              orderfields[item.uuid] = item.sortField
             }
   
             cell = {
               align: item.Align,
               dataIndex: item.uuid,
               title: item.label,
-              sorter: item.field && item.IsSort === 'true',
+              sorter: (item.field || item.sortField) && item.IsSort === 'true',
               width: item.Width || 120,
               onCell: record => ({
                 record,
@@ -750,9 +772,6 @@
     }
   }
 
-  /**
-   * 
-   */
   onSelectChange = (selectedRowKeys, e) => {
     const { setting, MenuID, data } = this.props
 
@@ -812,7 +831,7 @@
     }
 
     let selects = this.props.data.filter((item, _index) => newkeys.includes(_index) && !item.$disabled)
-    
+
     this.props.chgSelectData(selects)
 
     if (setting.$hasSyncModule) {
@@ -854,20 +873,52 @@
     MKEmitter.emit('resetSelectLine', MenuID, _id, _data)
   }
 
-  resetTable = (id, repage, pageIndex) => {
-    const { MenuID } = this.props
+  resetTable = (id, type, Index) => {
+    const { MenuID, setting, data } = this.props
 
     if (id !== MenuID) return
 
-    if (repage === 'false') {
+    if (type === 'delete') {
+      let selectKeys = fromJS(this.state.selectedRowKeys).toJS()
+      let activeKey = this.state.activeIndex
+
+      let trans = activeKey === Index
+      let _item = null
+      let selects = []
+      
+      if (setting.tableType) {
+        selectKeys = selectKeys.filter(key => key !== Index)
+        selectKeys = selectKeys.map(key => key > Index ? key - 1 : key)
+
+        selects = selectKeys.map(key => data[key]).filter(Boolean)
+
+        activeKey = selectKeys.length ? selectKeys[selectKeys.length - 1] : null
+
+        if (trans && selects.length) {
+          _item = selects[selects.length - 1]
+        }
+      }
+
+      this.setState({ selectedRowKeys: selectKeys, activeIndex: activeKey })
+
+      this.props.chgSelectData(selects)
+
+      if (trans) {
+        MKEmitter.emit('resetSelectLine', MenuID, (_item ? _item.$$uuid : ''), _item)
+      }
+
+      if (setting.$hasSyncModule) {
+        MKEmitter.emit('syncBalconyData', MenuID, selects, data.length === selects.length)
+      }
+    } else if (type === 'false') {
       this.setState({
         selectedRowKeys: [],
         activeIndex: null,
         pickup: false
       })
-    } else if (repage === 'repage') {
+    } else if (type === 'repage') {
       this.setState({
-        pageIndex: pageIndex,
+        pageIndex: Index,
         selectedRowKeys: [],
         activeIndex: null,
         pickup: false

--
Gitblit v1.8.0