From 80deba0c2dcffd9e6b6f07815c7c52199309ce42 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期一, 23 六月 2025 17:36:03 +0800
Subject: [PATCH] 2025-06-23

---
 src/tabviews/custom/components/table/edit-table/normalTable/index.jsx |   50 +++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 39 insertions(+), 11 deletions(-)

diff --git a/src/tabviews/custom/components/table/edit-table/normalTable/index.jsx b/src/tabviews/custom/components/table/edit-table/normalTable/index.jsx
index 8415ed3..c65b69c 100644
--- a/src/tabviews/custom/components/table/edit-table/normalTable/index.jsx
+++ b/src/tabviews/custom/components/table/edit-table/normalTable/index.jsx
@@ -623,6 +623,10 @@
     let style = {}
     let className = ''
 
+    if (data && data.$disabled) {
+      className = className + ' mk-disabled '
+    }
+
     lineMarks && lineMarks.some(mark => {
       let originVal = data[mark.field[0]] + ''
       let contrastVal = ''
@@ -2770,24 +2774,48 @@
   /**
    * @description 閫変腑琛�
    */
-  onSelectChange = selectedRowKeys => {
-    this.setState({ selectedRowKeys })
+  onSelectChange = (selectedRowKeys, keys) => {
+    const { setting } = this.props
 
-    let activeId = ''
-    if (selectedRowKeys.length > 0) {
-      activeId = selectedRowKeys.slice(-1)[0]
+    if (setting.controlField && selectedRowKeys.length > 0) {
+      let newkeys = keys.filter(item => !item.$disabled).map(item => item.$$uuid)
+
+      this.setState({ selectedRowKeys: newkeys })
+      let activeId = ''
+      if (newkeys.length > 0) {
+        activeId = newkeys.slice(-1)[0]
+      }
+      this.changedata(activeId)
+      this.selectdata(newkeys)
+    } else {
+      this.setState({ selectedRowKeys })
+      let activeId = ''
+      if (selectedRowKeys.length > 0) {
+        activeId = selectedRowKeys.slice(-1)[0]
+      }
+      this.changedata(activeId)
+      this.selectdata(selectedRowKeys)
     }
-    this.changedata(activeId)
-    this.selectdata(selectedRowKeys)
+
+    // this.setState({ selectedRowKeys })
+
+    // let activeId = ''
+    // if (selectedRowKeys.length > 0) {
+    //   activeId = selectedRowKeys.slice(-1)[0]
+    // }
+    // this.changedata(activeId)
+    // this.selectdata(selectedRowKeys)
   }
 
   /**
    * @description 鐐瑰嚮鏁磋锛岃Е鍙戝垏鎹紝 鍒ゆ柇鏄惁鍙�夛紝鍗曢�夋垨澶氶�夛紝杩涜瀵瑰簲鎿嶄綔
    */
-  changeRow = (id) => {
+  changeRow = (record) => {
     const { setting } = this.props
 
-    if (!setting.tableType) return
+    if (!setting.tableType || record.$disabled) return
+    
+    let id = record.$$uuid
     
     let newkeys = fromJS(this.state.selectedRowKeys).toJS()
 
@@ -2938,12 +2966,12 @@
             dataSource={_data}
             loading={this.props.loading}
             scroll={{ x: '100%', y: height }}
-            onRow={(record, index) => {
+            onRow={(record, _) => {
               return {
                 lineMarks,
                 title: setting.tipField ? record[setting.tipField] : '',
                 data: record,
-                onClick: () => {this.changeRow(record.$$uuid)},
+                onClick: () => {this.changeRow(record)},
               }
             }}
             onChange={this.changeTable}

--
Gitblit v1.8.0