From 880a41a2135d944169d94028f19344ca66b673a0 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期一, 02 十一月 2020 18:23:45 +0800
Subject: [PATCH] 2020-11-02

---
 src/tabviews/zshare/normalTable/index.jsx |  117 ++++++++++++++++++++++++++++++++++++----------------------
 1 files changed, 72 insertions(+), 45 deletions(-)

diff --git a/src/tabviews/zshare/normalTable/index.jsx b/src/tabviews/zshare/normalTable/index.jsx
index 6ef7187..25ffd9d 100644
--- a/src/tabviews/zshare/normalTable/index.jsx
+++ b/src/tabviews/zshare/normalTable/index.jsx
@@ -203,55 +203,82 @@
 
   // 瀛楁閫忚
   triggerLink = (item, record) => {
-    const { tabviews, MenuID } = this.props
-    let tabmenu = item.linkThdMenu
-    let iframes = ['Main/Index', 'bda/rdt', 'Home/rdt']
+    const { tabviews, MenuID, setting } = this.props
 
-    if (tabmenu.LinkUrl === 'CommonTable') {
-      tabmenu.type = 'CommonTable'
-    } else if (tabmenu.LinkUrl === 'DataManage') {
-      tabmenu.type = 'DataManage'
-    } else if (tabmenu.LinkUrl && iframes.includes(tabmenu.LinkUrl.split('?')[0])) {
-      tabmenu.type = 'iframe'
-    }
-
-    if (tabmenu.type !== 'iframe') {
-      try {
-        tabmenu.PageParam = JSON.parse(tabmenu.PageParam)
-      } catch (e) {
-        tabmenu.PageParam = {}
+    if (item.linkThdMenu) {
+      let tabmenu = item.linkThdMenu
+      let iframes = ['Main/Index', 'bda/rdt', 'Home/rdt']
+  
+      if (tabmenu.LinkUrl === 'CommonTable') {
+        tabmenu.type = 'CommonTable'
+      } else if (tabmenu.LinkUrl === 'DataManage') {
+        tabmenu.type = 'DataManage'
+      } else if (tabmenu.LinkUrl && iframes.includes(tabmenu.LinkUrl.split('?')[0])) {
+        tabmenu.type = 'iframe'
       }
-      tabmenu.type = tabmenu.PageParam.Template || tabmenu.type
-    }
+  
+      if (tabmenu.type !== 'iframe') {
+        try {
+          tabmenu.PageParam = JSON.parse(tabmenu.PageParam)
+        } catch (e) {
+          tabmenu.PageParam = {}
+        }
+        tabmenu.type = tabmenu.PageParam.Template || tabmenu.type
+      }
+  
+      tabmenu.param = {
+        searchkey: item.field,
+        searchval: record[item.field] || '',
+        BID: record[setting.primaryKey]
+      }
+  
+      tabmenu.selected = true
+  
+      let index = 0
+      let isexit = false
+      let tabs = tabviews.map((tab, i) => {
+        tab.selected = false
+  
+        if (tab.MenuID === MenuID) {
+          index = i
+        } else if (tab.MenuID === tabmenu.MenuID) {
+          tab.param = tabmenu.param
+          tab.selected = true
+          isexit = true
+        }
+  
+        return tab
+      })
+  
+      if (!isexit) {
+        tabs.splice(index + 1, 0, tabmenu)
+      }
+  
+      this.props.modifyTabview(tabs)
+    } else {
+      let src = item.linkurl
 
-    tabmenu.param = {
-      searchkey: item.field,
-      searchval: record[item.field] || ''
-    }
-
-    tabmenu.selected = true
-
-    let index = 0
-    let isexit = false
-    let tabs = tabviews.map((tab, i) => {
-      tab.selected = false
-
-      if (tab.MenuID === MenuID) {
-        index = i
-      } else if (tab.MenuID === tabmenu.MenuID) {
-        tab.param = tabmenu.param
-        tab.selected = true
-        isexit = true
+      if (item.linkurl.indexOf('paramsmain/') > -1) {
+        try {
+          let _url = item.linkurl.split('paramsmain/')[0] + 'paramsmain/'
+          let _param = JSON.parse(window.decodeURIComponent(window.atob(item.linkurl.split('paramsmain/')[1])))
+          let dataparam = {
+            searchkey: item.field,
+            searchval: record[item.field] || '',
+            BID: record[setting.primaryKey]
+          }
+          _param.UserID = sessionStorage.getItem('UserID')
+          _param.LoginUID = sessionStorage.getItem('LoginUID')
+          _param.User_Name = sessionStorage.getItem('User_Name')
+          _param.param = dataparam
+          src = _url + window.btoa(window.encodeURIComponent(JSON.stringify(_param)))
+        } catch {
+          console.warn('鑿滃崟鍙傛暟瑙f瀽閿欒锛�')
+        }
       }
 
-      return tab
-    })
-
-    if (!isexit) {
-      tabs.splice(index + 1, 0, tabmenu)
+      window.open(src)
     }
-
-    this.props.modifyTabview(tabs)
   }
 
   getMark = (record, marks) => {
@@ -368,7 +395,7 @@
         content = md5(content)
       }
 
-      if (item.linkThdMenu) {
+      if (item.linkThdMenu || item.linkurl) {
         if (item.rowspan === 'true') {
           return {
             children: (
@@ -465,7 +492,7 @@
         content = md5(content)
       }
 
-      if (item.linkThdMenu) {
+      if (item.linkThdMenu || item.linkurl) {
         return (
           <div className={className}>
             <div className="baseboard link-menu" onDoubleClick={() => this.triggerLink(item, record)}></div>

--
Gitblit v1.8.0