From 67036fb0ed31d77ca33b660ce5f9f47c29ae65c0 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期日, 03 三月 2024 11:47:46 +0800
Subject: [PATCH] 2024-03-03

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

diff --git a/src/tabviews/custom/components/share/normalTable/index.jsx b/src/tabviews/custom/components/share/normalTable/index.jsx
index 905d316..66f8c96 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) {
@@ -124,6 +124,10 @@
           content = `${content.substr(0, 4)}-${content.substr(5, 2)}-${content.substr(8, 2)} ${content.substr(11, 2)}:${content.substr(14, 2)}:${content.substr(17, 2)}`
         } else if (col.textFormat === 'encryption') {
           content = <span>{col.prefix || ''}<Encrypts value={content} />{col.postfix || ''}</span>
+        }
+
+        if (col.noValue === 'hide' && content < '1949-10-02') {
+          content = ''
         }
 
         if (col.textFormat !== 'encryption') {
@@ -162,21 +166,22 @@
         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 {
         content = parseFloat(record[col.field])
         if (isNaN(content)) {
+          content = ''
+        }
+        if (col.noValue === 'hide' && content === 0) {
           content = ''
         }
       } catch (e) {
@@ -235,16 +240,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 +271,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>
@@ -352,6 +355,10 @@
           // eslint-disable-next-line
           let func = new Function('data', col.formula)
           content = func([record])
+
+          if (col.noValue === 'hide' && content === 0) {
+            content = ''
+          }
         } catch (e) {
           console.warn(e)
           content = ''
@@ -365,6 +372,10 @@
           try {
             // eslint-disable-next-line
             content = eval(content)
+
+            if (col.noValue === 'hide' && content === 0) {
+              content = ''
+            }
           } catch (e) {
             console.info(content)
             console.warn(e)
@@ -499,10 +510,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
@@ -568,6 +575,10 @@
     if (!pageOptions.includes(size)) {
       pageOptions.push(size)
       pageOptions = pageOptions.sort((a, b) => a - b)
+    }
+
+    if (setting.maxPageSize) {
+      pageOptions = pageOptions.filter(item => item <= setting.maxPageSize)
     }
 
     let allColumns = null
@@ -651,6 +662,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
@@ -792,9 +806,7 @@
   }
 
   // 瀛楁閫忚
-  triggerLink = (e, item, record) => {
-    e.stopPropagation()
-
+  triggerLink = (item, record) => {
     let __param = {
       $searchkey: item.field,
       $searchval: record[item.field] || '',

--
Gitblit v1.8.0