From 04dc8530bf6241573fe788e0e74a5cf4d9a8e0b3 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期四, 25 八月 2022 18:29:56 +0800
Subject: [PATCH] 2022-08-25

---
 src/components/header/index.jsx |  200 +++++++------------------------------------------
 1 files changed, 30 insertions(+), 170 deletions(-)

diff --git a/src/components/header/index.jsx b/src/components/header/index.jsx
index afbac7f..0b74be7 100644
--- a/src/components/header/index.jsx
+++ b/src/components/header/index.jsx
@@ -222,12 +222,6 @@
           let ThirdMenuId = sessionStorage.getItem('ThirdMenu')
           _menu = thdMenuList.filter(item => item.MenuID === ThirdMenuId)[0] // 閫氳繃url涓璵enuid绛涢�夊嚭閫変腑鐨勪富鑿滃崟
 
-          if (_menu) {
-            mainMenu = menulist.filter(item => item.MenuID === _menu.FstId)[0]
-            mainMenu = fromJS(mainMenu).toJS()
-            mainMenu.openId = _menu.ParentId
-          }
-
           sessionStorage.removeItem('ThirdMenu')
         }
 
@@ -253,7 +247,6 @@
 
   getMenulist = (result) => {
     let thdMenuList = []
-    let iframes = ['Main/Index', 'bda/rdt', 'Home/rdt']
     let menulist = []
     result.fst_menu && result.fst_menu.forEach(fst => {
       let fstItem = {
@@ -264,14 +257,13 @@
       }
       if (fst.PageParam) {
         try {
-          fstItem.PageParam = JSON.parse(fst.PageParam)
-        } catch (e) {
-          fstItem.PageParam = null
-        }
-        if (fstItem.PageParam && fstItem.PageParam.OpenType === 'outpage' && fstItem.PageParam.linkUrl) {
-          fstItem.OpenType = 'outpage'
-          fstItem.linkUrl = fstItem.PageParam.linkUrl
-        }
+          let PageParam = JSON.parse(fst.PageParam)
+
+          if (PageParam.OpenType === 'outpage' && PageParam.linkUrl) {
+            fstItem.OpenType = 'outpage'
+            fstItem.linkUrl = PageParam.linkUrl
+          }
+        } catch (e) {}
       }
 
       if (fst.snd_menu) {
@@ -280,31 +272,16 @@
             ParentId: fst.MenuID,
             MenuID: snd.MenuID,
             MenuName: snd.MenuName,
-            PageParam: {Icon: 'folder'},
+            Icon: 'folder',
             children: []
           }
 
           if (snd.PageParam) {
             try {
-              sndItem.PageParam = JSON.parse(snd.PageParam)
-            } catch (e) {
-              sndItem.PageParam = {Icon: 'folder'}
-            }
-          }
+              let PageParam = JSON.parse(snd.PageParam)
 
-          let msg = {
-            UserID: sessionStorage.getItem('UserID'),
-            LoginUID: sessionStorage.getItem('LoginUID'),
-            User_Name: sessionStorage.getItem('User_Name'),
-            Full_Name: sessionStorage.getItem('Full_Name'),
-            Member_Level: sessionStorage.getItem('Member_Level'),
-            dataM: sessionStorage.getItem('dataM'),
-            avatar: sessionStorage.getItem('avatar'),
-            debug: sessionStorage.getItem('debug'),
-            role_id: sessionStorage.getItem('role_id'),
-            mainlogo: window.GLOB.mainlogo,
-            navBar: window.GLOB.navBar || '',
-            mstyle: window.GLOB.style
+              sndItem.Icon = PageParam.Icon || 'folder'
+            } catch (e) {}
           }
 
           if (snd.trd_menu) {
@@ -321,46 +298,23 @@
                 OpenType: 'newtab',
                 hidden: 'false'
               }
-  
-              if (trd.LinkUrl && iframes.includes(trd.LinkUrl.split('?')[0])) {
-                trdItem.type = 'iframe'
-                trdItem.LinkUrl = trd.LinkUrl.replace('&amp;', '&')
-              } else {
+
+              if (trd.PageParam) {
                 try {
-                  trdItem.PageParam = trd.PageParam ? JSON.parse(trd.PageParam) : {OpenType: 'newtab'}
-                } catch (e) {
-                  trdItem.PageParam = {OpenType: 'newtab'}
-                }
+                  let PageParam = JSON.parse(trd.PageParam)
 
-                trdItem.type = trdItem.PageParam.Template || trdItem.type
-                trdItem.OpenType = trdItem.PageParam.OpenType || trdItem.OpenType
-                trdItem.hidden = trdItem.PageParam.hidden || trdItem.hidden
+                  trdItem.type = PageParam.Template || trdItem.type
+                  trdItem.OpenType = PageParam.OpenType || trdItem.OpenType
+                  trdItem.hidden = PageParam.hidden || trdItem.hidden
 
-                if (trdItem.type === 'NewPage') {
-                  trdItem.src = trdItem.PageParam.url || ''
-                  
-                  if (trdItem.src.indexOf('paramsmain/') > -1) {
-                    try {
-                      let _url = trdItem.src.split('paramsmain/')[0] + 'paramsmain/'
-                      let _param = JSON.parse(window.decodeURIComponent(window.atob(trdItem.src.split('paramsmain/')[1])))
-                      _param.UserID = sessionStorage.getItem('UserID')
-                      _param.LoginUID = sessionStorage.getItem('LoginUID')
-                      _param.User_Name = sessionStorage.getItem('User_Name')
-                      _param.Full_Name = sessionStorage.getItem('Full_Name')
-
-                      trdItem.src = _url + window.btoa(window.encodeURIComponent(JSON.stringify(_param)))
-                    } catch (e) {
-                      console.warn('鑿滃崟鍙傛暟瑙f瀽閿欒锛�')
-                    }
+                  if (trdItem.type === 'NewPage') {
+                    trdItem.src = PageParam.url || ''
                   }
-                } else {
-                  // 鎵撳紑鏂伴〉闈㈤摼鎺�
-                  trdItem.src = '#/paramsmain/' + window.btoa(window.encodeURIComponent(JSON.stringify({
-                    ...msg,
-                    ThirdMenu: trd.MenuID
-                  })))
-                }
+                } catch (e) {}
               }
+
+              // 鎵撳紑鏂伴〉闈㈤摼鎺�
+              trdItem.src = '#/mainparams/' + trd.MenuID
 
               thdMenuList.push(trdItem)
 
@@ -444,7 +398,6 @@
             localStorage.setItem(_url, window.btoa(window.encodeURIComponent(JSON.stringify({time: new Date().getTime(), username: param.username, password: param.password}))))
           }
 
-          this.setSystemFuncs()
           this.props.modifyMainMenu(null)
           this.props.history.replace('/design')
         } else {
@@ -462,106 +415,6 @@
           })
         }
       })
-    })
-  }
-
-  setSystemFuncs = () => {
-    if (!window.GLOB.WebSql && !window.GLOB.IndexDB) {
-      return
-    }
-    this.getfuncTime().then(res => {
-      Api.getSystemFuncs(res.createDate).then(result => {
-        if (!result.status) {
-          notification.error({
-            top: 92,
-            message: result.message,
-            duration: 10
-          })
-        } else if (result.func_detail && result.func_detail.length > 0) {
-          this.writeFuncs(result.func_detail)
-        }
-      })
-    })
-  }
-
-  writeFuncs = (funcs) => {
-    let timestamp = moment().format('YYYY-MM-DD HH:mm:ss')
-
-    let sys_datetime = sessionStorage.getItem('sys_datetime')
-    let app_datetime = sessionStorage.getItem('app_datetime')
-    if (sys_datetime && app_datetime) {
-      let seconds = Math.floor((new Date().getTime() - app_datetime) / 1000)
-      timestamp = moment(sys_datetime, 'YYYY-MM-DD HH:mm:ss').add(seconds, 'seconds').format('YYYY-MM-DD HH:mm:ss')
-    }
-
-    if (window.GLOB.WebSql) {
-      window.GLOB.WebSql.transaction(tx => {
-        tx.executeSql('DELETE FROM FUNCS')
-
-        funcs.forEach(item => {
-          if (!item.key_sql) return
-          tx.executeSql('INSERT INTO FUNCS (func_code, key_sql) VALUES (?, ?)', [item.func_code, item.key_sql])
-        })
-        tx.executeSql(`UPDATE VERSIONS SET createDate='${timestamp}' where CDefine1='funcs'`)
-      })
-    } else {
-      let objectStore = window.GLOB.IndexDB.transaction(['funcs'], 'readwrite').objectStore('funcs')
-
-      objectStore.clear()
-
-      funcs.forEach(item => {
-        if (!item.key_sql) return
-        item.id = item.func_code
-        objectStore.add(item)
-      })
-
-      let funcStore = window.GLOB.IndexDB.transaction(['version'], 'readwrite').objectStore('version')
-      funcStore.put({id: 'funcs', version: '1.0', createDate: timestamp})
-    }
-  }
-
-  getfuncTime = () => {
-    return new Promise((resolve, reject) => {
-      if (window.GLOB.WebSql) {
-        window.GLOB.WebSql.transaction(tx => {
-          tx.executeSql("SELECT * FROM VERSIONS where CDefine1='funcs'", [], (tx, results) => {
-            let rows = results.rows
-            if (rows.length === 0) {
-              tx.executeSql('DELETE FROM FUNCS')
-              tx.executeSql('INSERT INTO VERSIONS (version, createDate, CDefine1) VALUES (?, ?, ?)', ['1.0', '1970-01-01 14:59:09.000', 'funcs'])
-              resolve({createDate: '1970-01-01 14:59:09.000'})
-            } else {
-              resolve(rows[0])
-            }
-          }, (tx, results) => {
-            reject()
-            console.warn(results)
-          })
-        })
-      } else {
-        let objectStore = window.GLOB.IndexDB.transaction(['version'], 'readwrite').objectStore('version')
-        let request = objectStore.get('funcs')
-
-        request.onerror = (event) => {
-          console.warn(event)
-          reject()
-        }
-
-        request.onsuccess = () => {
-          if (request.result) {
-            resolve(request.result)
-          } else {
-            let add = objectStore.add({id: 'funcs', version: '1.0', createDate: '1970-01-01 14:59:09.000'})
-    
-            add.onerror = () => {
-              reject()
-            }
-            add.onsuccess = () => {
-              resolve({id: 'funcs', version: '1.0', createDate: '1970-01-01 14:59:09.000'})
-            }
-          }
-        }
-      }
     })
   }
 
@@ -653,6 +506,13 @@
     //   search_type: ''
     // }).then(res => {
     // })
+
+    // sessionStorage 璺ㄩ〉闈㈠叡浜�
+    window.addEventListener('storage', (e) => {
+      if (e.key === 'getSessionStorage' && e.newValue) {
+        localStorage.setItem('sessionStorage', JSON.stringify(sessionStorage))
+      }
+    })
   }
 
   shouldComponentUpdate (nextProps, nextState) {

--
Gitblit v1.8.0