From 471988e97c28ba5458c8a34ccdbf092b4a1c287c Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期四, 18 十二月 2025 12:04:46 +0800
Subject: [PATCH] 2025-12-18

---
 src/tabviews/custom/components/table/edit-table/normalTable/index.jsx |   74 +++++++++++++++++++++++++++++-------
 1 files changed, 59 insertions(+), 15 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 42d57c8..8ded773 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 = ''
@@ -1731,6 +1735,12 @@
             err = `${dict['input_tip'] || '璇峰~鍐� '}${col.label} ${dict['or'] || '鎴�'} ${col.clearName}`
           }
           val = 0
+
+          if (typeof(col.max) === 'number' && val > col.max) {
+            err = `${col.label}${dict['max_limit'] || ' 涓嶅彲澶т簬 '}${col.max}`
+          } else if (typeof(col.min) === 'number' && val < col.min) {
+            err = `${col.label}${dict['less_limit'] || ' 涓嶅彲灏忎簬 '}${col.min}`
+          }
         } else if (!val && val !== 0) {
           err = `${col.label}${dict['not_empty'] || '涓嶅彲涓虹┖'}`
         } else {
@@ -2453,6 +2463,12 @@
               }
             }
             val = 0
+
+            if (typeof(col.max) === 'number' && val > col.max) {
+              line.push(`${col.label}${dict['max_limit'] || ' 涓嶅彲澶т簬 '}${col.max}`)
+            } else if (typeof(col.min) === 'number' && val < col.min) {
+              line.push(`${col.label}${dict['less_limit'] || ' 涓嶅彲灏忎簬 '}${col.min}`)
+            }
           } else if (!val && val !== 0) {
             line.push(`${col.label}${dict['not_empty'] || '涓嶅彲涓虹┖'}`)
             return
@@ -2508,7 +2524,7 @@
     if (setting.supModule && !BID) {
       notification.warning({
         top: 92,
-        message: dict['sup_key_req'] || '闇�瑕佷笂绾т富閿�硷紒',
+        message: setting.supModTip || dict['sup_key_req'] || '闇�瑕佷笂绾т富閿�硷紒',
         duration: 5
       })
 
@@ -2544,7 +2560,7 @@
         this.execError({})
       })
     } else if (submit.intertype === 'system') { // 绯荤粺瀛樺偍杩囩▼
-      let result = getEditTableSql(submit, data, forms)
+      let result = getEditTableSql(submit, data, forms, setting)
       let param = {}
 
       param.func = 'sPC_TableData_InUpDe'
@@ -2573,7 +2589,7 @@
         this.execError({})
       })
     } else if (submit.intertype === 'inner' && submit.innerFunc) { // 鑷畾涔夊瓨鍌ㄨ繃绋�
-      let result = getEditTableSql(submit, data, forms)
+      let result = getEditTableSql(submit, data, forms, setting)
       let param = {}
 
       param.func = submit.innerFunc
@@ -2628,7 +2644,11 @@
     let lines = data.map(item => {
       let vals = []
       forms.forEach(col => {
-        vals.push(item[col.field])
+        if (typeof(item[col.field]) === 'number') {
+          vals.push(item[col.field] + '')
+        } else {
+          vals.push(item[col.field])
+        }
       })
   
       vals.push(item.$$uuid)
@@ -2766,24 +2786,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()
 
@@ -2934,12 +2978,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