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