From f0616c0783c54043be7da18fc185527c93b95696 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期六, 02 三月 2024 12:51:46 +0800
Subject: [PATCH] 2024-03-02

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

diff --git a/src/tabviews/custom/components/share/normalTable/index.jsx b/src/tabviews/custom/components/share/normalTable/index.jsx
index b090fc7..69244ec 100644
--- a/src/tabviews/custom/components/share/normalTable/index.jsx
+++ b/src/tabviews/custom/components/share/normalTable/index.jsx
@@ -110,7 +110,7 @@
     let { col, config, record, className, style, triggerLink, ...resProps } = this.props
 
     if (!col) return (<td {...resProps} className={className} style={style}/>)
-    
+
     if (col.type === 'text') {
       let content = ''
       if (record[col.field] !== undefined) {
@@ -162,16 +162,14 @@
         resProps.rowSpan = record['$$' + col.field]
       }
       
-      if (!record.$disabled && (col.linkThdMenu || col.linkurl)) {
-        content = (
-          <div>
-            <div className="link-menu" onDoubleClick={(e) => triggerLink(e, col, record)}></div>
-            {content}
-          </div>
-        )
-      }
-
       resProps.children = content
+
+      if (!record.$disabled && (col.linkThdMenu || col.linkurl)) {
+        style = style || {}
+        style.cursor = 'pointer'
+
+        return (<td {...resProps} className={className} onDoubleClick={() => triggerLink(col, record)} style={style}/>)
+      }
     } else if (col.type === 'number') {
       let content = ''
       try {
@@ -235,16 +233,14 @@
         resProps.rowSpan = record['$$' + col.field]
       }
 
-      if (!record.$disabled && (col.linkThdMenu || col.linkurl)) {
-        content = (
-          <div>
-            <div className="link-menu" onDoubleClick={(e) => triggerLink(e, col, record)}></div>
-            {content}
-          </div>
-        )
-      }
-
       resProps.children = content
+
+      if (!record.$disabled && (col.linkThdMenu || col.linkurl)) {
+        style = style || {}
+        style.cursor = 'pointer'
+
+        return (<td {...resProps} className={className} onDoubleClick={() => triggerLink(col, record)} style={style}/>)
+      }
     } else if (col.type === 'picture') {
       let photos = ''
       if (record[col.field]) {
@@ -268,7 +264,7 @@
         <div>
           {photos.map((url, i) => (
             <Col key={i} span={col.span || 24}>
-              <MkPicture style={{paddingTop, backgroundSize: col.backgroundSize || 'cover'}} scale={scale} url={url} urls={photos}/>
+              <MkPicture lostTip={col.lostTip !== 'false'} style={{paddingTop, backgroundSize: col.backgroundSize || 'cover'}} scale={scale} url={url} urls={photos}/>
             </Col>
           ))}
         </div>
@@ -499,10 +495,6 @@
             } else if (_format && !Math.floor(Math.random() * radio)) {
               item.blur = true
             }
-    
-            if (item.marks && item.marks.length === 0) {
-              item.marks = ''
-            }
   
             if (item.field) {
               orderfields[item.uuid] = item.field
@@ -570,6 +562,10 @@
       pageOptions = pageOptions.sort((a, b) => a - b)
     }
 
+    if (setting.maxPageSize) {
+      pageOptions = pageOptions.filter(item => item <= setting.maxPageSize)
+    }
+
     let allColumns = null
     if (colsCtrls) {
       rowspans = null
@@ -585,12 +581,6 @@
       rowspans,
       tableId,
       orderfields
-    }, () => {
-      const element = document.getElementById(tableId)
-      element && element.style.setProperty('--mk-table-border-color', setting.borderColor || '#e8e8e8')
-      element && element.style.setProperty('--mk-table-color', setting.color || 'rgba(0, 0, 0, 0.65)')
-      element && element.style.setProperty('--mk-table-font-size', setting.fontSize || '14px')
-      element && element.style.setProperty('--mk-table-font-weight', setting.fontWeight || 'normal')
     })
   }
 
@@ -657,6 +647,9 @@
         result = originVal === contrastVal
       } else if (item.match === '!=') {
         result = originVal !== contrastVal
+      } else if (item.match === 'regexp') {
+        let reg = new RegExp(item.contrastValue, 'ig')
+        result = reg.test(originVal)
       } else {
         originVal = isNaN(originVal) ? originVal : +originVal
         contrastVal = isNaN(contrastVal) ? contrastVal : +contrastVal
@@ -798,9 +791,7 @@
   }
 
   // 瀛楁閫忚
-  triggerLink = (e, item, record) => {
-    e.stopPropagation()
-
+  triggerLink = (item, record) => {
     let __param = {
       $searchkey: item.field,
       $searchval: record[item.field] || '',
@@ -843,6 +834,8 @@
 
   onSelectChange = (selectedRowKeys, e) => {
     const { setting, MenuID, data } = this.props
+
+    if (this.state.pickup) return
 
     let index = ''
     let _activeIndex = null
@@ -1073,7 +1066,7 @@
 
   render() {
     const { setting, statFValue, lineMarks, data } = this.props
-    const { selectedRowKeys, activeIndex, pickup, tableId, pageOptions, columns, reseting } = this.state
+    const { selectedRowKeys, activeIndex, pickup, pageOptions, columns, reseting } = this.state
 
     if (reseting) return null
 
@@ -1143,8 +1136,15 @@
       }
     }
 
+    let style = {
+      '--mk-table-border-color': setting.borderColor || '#e8e8e8',
+      '--mk-table-color': setting.color || 'rgba(0, 0, 0, 0.65)',
+      '--mk-table-font-size': setting.fontSize || '14px',
+      '--mk-table-font-weight': setting.fontWeight || 'normal'
+    }
+
     return (
-      <div className={`normal-custom-table ${setting.tableHeader || ''} ${height ? 'fixed-height' : ''} ${setting.mode || ''} table-vertical-${setting.vertical || 'middle'} table-col-${columns.length} ${fixed}`} id={tableId}>
+      <div className={`normal-custom-table ${setting.tableHeader || ''} ${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