From b69b5f6329ca5f87932436b7a6c1ddfc3377e10f Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期四, 16 五月 2024 10:56:41 +0800
Subject: [PATCH] 2024-05-16

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

diff --git a/src/tabviews/custom/components/share/normalTable/index.jsx b/src/tabviews/custom/components/share/normalTable/index.jsx
index f2f8eb5..a468ec1 100644
--- a/src/tabviews/custom/components/share/normalTable/index.jsx
+++ b/src/tabviews/custom/components/share/normalTable/index.jsx
@@ -34,21 +34,11 @@
       __param.$searchkey = item.field.toLowerCase()
       __param.$searchval = record[item.field] || ''
     }
-  
-    if (item.linkThdMenu.urlFields) {
-      let lower = {}
-      Object.keys(record).forEach(key => {
-        lower[key.toLowerCase()] = record[key]
-      })
 
-      item.linkThdMenu.urlFields.split(',').forEach(field => {
-        __param[field] = lower[field.toLowerCase()] || ''
-      })
-    } else if (item.linkfields && item.linkfields.length > 0) {
-      item.linkfields.forEach(field => {
-        __param[field] = record[field] || ''
-      })
-    }
+    Object.keys(record).forEach(key => {
+      if (/^\$/.test(key)) return
+      __param[key] = record[key]
+    })
 
     let tabmenu = item.linkThdMenu
 
@@ -58,20 +48,18 @@
   } else if (item.linkurl) {
     let src = item.linkurl
 
-    let con = '?'
+    if (/@/.test(src)) {
+      src = src.replace(/@id@/ig, record.$$uuid)
+      src = src.replace(/@appkey@/ig, window.GLOB.appkey)
+      src = src.replace(/@userid@/ig, sessionStorage.getItem('UserID'))
+      src = src.replace(/@LoginUID@/ig, sessionStorage.getItem('LoginUID'))
 
-    if (/\?/ig.test(src)) {
-      con = '&'
-    }
-
-    if (item.linkfields && item.linkfields.length > 0) {
-      item.linkfields.forEach(field => {
-        if (field.toLowerCase() === 'id') return
-        con += `${field}=${record[field] || ''}&`
+      Object.keys(record).forEach(key => {
+        if (/^\$/.test(key)) return
+        let reg = new RegExp('@' + key + '@', 'ig')
+        src = src.replace(reg, record[key])
       })
     }
-    
-    src = src + `${con}id=${record.$$uuid}&appkey=${window.GLOB.appkey}&userid=${sessionStorage.getItem('UserID')}&LoginUID=${sessionStorage.getItem('LoginUID') || ''}`
 
     window.open(src)
   }
@@ -384,6 +372,17 @@
         } else {
           _href += '?' + _param
         }
+      } else if (/@/.test(_href)) {
+        _href = _href.replace(/@id@/ig, record.$$uuid || '')
+        _href = _href.replace(/@appkey@/ig, window.GLOB.appkey)
+        _href = _href.replace(/@userid@/ig, sessionStorage.getItem('UserID'))
+        _href = _href.replace(/@LoginUID@/ig, sessionStorage.getItem('LoginUID'))
+
+        Object.keys(record).forEach(key => {
+          if (/^\$/.test(key)) return
+          let reg = new RegExp('@' + key + '@', 'ig')
+          _href = _href.replace(reg, record[key])
+        })
       }
 
       if (col.blur) {
@@ -1113,7 +1112,7 @@
     if (!setting.doubleClick) return
     if (record.$disabled) return
 
-    MKEmitter.emit('triggerBtnId', setting.doubleClick, [record], 'linkbtn')
+    MKEmitter.emit('triggerBtnId', setting.doubleClick, [record], 'linkbtn', (record.$$uuid || '') + (record.$Index || ''))
   }
 
   render() {

--
Gitblit v1.8.0