From 7bd04b1c21a59e8d79325f247bdb1726507b51fb Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期二, 13 八月 2024 18:51:20 +0800
Subject: [PATCH] 2024-08-13

---
 src/tabviews/custom/components/share/normalTable/index.jsx |   71 +++++++++++++++--------------------
 1 files changed, 31 insertions(+), 40 deletions(-)

diff --git a/src/tabviews/custom/components/share/normalTable/index.jsx b/src/tabviews/custom/components/share/normalTable/index.jsx
index 9631dcc..b5b0dbb 100644
--- a/src/tabviews/custom/components/share/normalTable/index.jsx
+++ b/src/tabviews/custom/components/share/normalTable/index.jsx
@@ -811,15 +811,27 @@
     this.props.refreshdata({pageIndex})
   }
 
-  mkCheckTopLine = (menuId, id, type) => {
+  mkCheckTopLine = (menuId, id, selected) => {
     const { MenuID, data, setting } = this.props
 
-    if (MenuID !== menuId || !data || data.length === 0) return
+    if (MenuID !== menuId) return
+    if (!data || data.length === 0) {
+      MKEmitter.emit('resetSelectLine', menuId, '', '')
+      return
+    }
 
-    if (type === 'sign') {
-      let index = ''
-      let keys = []
-      let items = []
+    let index = -1
+    let keys = []
+    let items = []
+
+    if (id) {
+      index = data.findIndex(item => item.$$uuid === id && !item.$disabled)
+    }
+    
+    if (index !== -1) {
+      keys = [index]
+      items = [data[index]]
+    } else if (selected === 'sign') {
       data.forEach((item, i) => {
         if (!item.$disabled && item.selected === 'true') {
           items.push(item)
@@ -827,33 +839,25 @@
           index = i
         }
       })
-  
-      this.changedata(index)
-      this.setState({ selectedRowKeys: keys, activeIndex: index })
-      this.props.chgSelectData(items)
-
-      if (setting.$hasSyncModule) {
-        MKEmitter.emit('syncBalconyData', MenuID, items, data.length === keys.length)
+    } else if (selected !== 'false') {
+      if (!data[0].$disabled) {
+        index = 0
+        keys = [index]
+        items = [data[index]]
       }
+    }
+
+    if (index === -1) {
+      MKEmitter.emit('resetSelectLine', menuId, '', '')
       return
     }
 
-    let index = 0
-    if (id) {
-      index = data.findIndex(item => item.$$uuid === id)
-      if (index === -1) {
-        index = 0
-      }
-    }
-
-    if (data[index].$disabled) return
-
     this.changedata(index)
-    this.setState({ selectedRowKeys: [index], activeIndex: index })
-    this.props.chgSelectData([data[index]])
+    this.setState({ selectedRowKeys: keys, activeIndex: index })
+    this.props.chgSelectData(items)
 
     if (setting.$hasSyncModule) {
-      MKEmitter.emit('syncBalconyData', MenuID, [data[index]], data.length === 1)
+      MKEmitter.emit('syncBalconyData', MenuID, items, data.length === keys.length)
     }
   }
 
@@ -1028,22 +1032,9 @@
       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 (type === 'repage') {
-      this.setState({
-        pageIndex: Index,
-        selectedRowKeys: [],
-        activeIndex: null,
-        pickup: false
-      })
     } else {
       this.setState({
-        pageIndex: 1,
+        pageIndex: type === 'false' ? this.state.pageIndex : 1,
         selectedRowKeys: [],
         activeIndex: null,
         pickup: false

--
Gitblit v1.8.0