From b6c698c8833836971184a0a9c2645a15f8174d37 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期四, 08 五月 2025 16:31:18 +0800
Subject: [PATCH] Merge branch 'master' into positec

---
 src/components/header/index.jsx |   58 ++++++++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 46 insertions(+), 12 deletions(-)

diff --git a/src/components/header/index.jsx b/src/components/header/index.jsx
index 4ea94db..187b7fa 100644
--- a/src/components/header/index.jsx
+++ b/src/components/header/index.jsx
@@ -11,6 +11,7 @@
 import Utils from '@/utils/utils.js'
 import avatar from '@/assets/img/avatar.jpg'
 import wxicon from '@/assets/img/wx-icon.png'
+import mkpublic from '@/assets/img/mkpublic.jpg'
 import './index.scss'
 
 const { confirm } = Modal
@@ -18,6 +19,7 @@
 const Resetpwd = asyncComponent(() => import('@/components/resetPassword'))
 const QrCode = asyncComponent(() => import('@/components/qrcode'))
 const LoginForm = asyncSpinComponent(() => import('./loginform'))
+const SysIcon = asyncComponent(() => import('./sysmessage/icon'))
 
 class Header extends Component {
   state = {
@@ -26,6 +28,7 @@
     fullName: '',
     logourl: window.GLOB.mainlogo,
     wxVisible: false,
+    wxStep: 1,
     loginVisible: false,
     loginLoading: false,
     avatar: Utils.getrealurl(sessionStorage.getItem('avatar')),
@@ -80,6 +83,24 @@
         }
       }
     })
+
+    if (sessionStorage.getItem('local_error')) {
+      try {
+        let param = JSON.parse(sessionStorage.getItem('local_error'))
+        setTimeout(() => {
+          Api.genericInterface({
+            func: 's_special_error_note_log',
+            ...param
+          }).then(res => {
+            if (res.status) {
+              sessionStorage.removeItem('local_error')
+            }
+          })
+        }, 3000)
+      } catch (e) {
+        sessionStorage.removeItem('local_error')
+      }
+    }
   }
 
   shouldComponentUpdate (nextProps, nextState) {
@@ -127,8 +148,10 @@
       cancelText: dict['cancel'] || '鍙栨秷',
       onOk() {
         sessionStorage.clear()
-        that.props.history.replace('/login')
-        window.location.reload()
+        setTimeout(() => {
+          that.props.history.replace('/login')
+          window.location.reload()
+        }, 100)
       },
       onCancel() {}
     })
@@ -292,9 +315,10 @@
 
           if (PageParam.OpenType === 'outpage' && PageParam.linkUrl) {
             fstItem.OpenType = 'newpage'
-            fstItem.src = PageParam.linkUrl
+            fstItem.src = window.GLOB.systemType === 'production' && PageParam.linkProUrl ? PageParam.linkProUrl : PageParam.linkUrl
+            fstItem.src = fstItem.src.replace(/@loginuid@/ig, sessionStorage.getItem('LoginUID'))
+            fstItem.src = fstItem.src.replace(/@userid@/ig, sessionStorage.getItem('UserID'))
             if (/#\/iframe\//.test(fstItem.src)) {
-              fstItem.src = fstItem.src.replace(/@loginuid@/ig, sessionStorage.getItem('LoginUID'))
               fstItem.type = 'iframe'
               fstItem.OpenType = 'newtab'
             }
@@ -331,7 +355,7 @@
                 ParentNames: [fst.MenuName, snd.MenuName],
                 MenuNo: trd.MenuNo,
                 EasyCode: trd.EasyCode,
-                type: 'CommonTable',
+                type: 'CustomPage',
                 OpenType: 'newtab',
                 hidden: 'false'
               }
@@ -340,7 +364,7 @@
                 try {
                   let PageParam = JSON.parse(trd.PageParam)
 
-                  trdItem.type = PageParam.Template || 'CommonTable'
+                  trdItem.type = PageParam.Template || 'CustomPage'
                   trdItem.OpenType = PageParam.OpenType || 'newtab'
                   trdItem.hidden = PageParam.hidden || 'false'
                   trdItem.menuColor = PageParam.menuColor || ''
@@ -348,9 +372,10 @@
 
                   if (trdItem.type === 'NewPage') {
                     trdItem.OpenType = 'newpage'
-                    trdItem.src = PageParam.url || ''
+                    trdItem.src = window.GLOB.systemType === 'production' && PageParam.proUrl ? PageParam.proUrl : PageParam.url || ''
+                    trdItem.src = trdItem.src.replace(/@loginuid@/ig, sessionStorage.getItem('LoginUID'))
+                    trdItem.src = trdItem.src.replace(/@userid@/ig, sessionStorage.getItem('UserID'))
                     if (/#\/iframe\//.test(trdItem.src)) {
-                      trdItem.src = trdItem.src.replace(/@loginuid@/ig, sessionStorage.getItem('LoginUID'))
                       trdItem.type = 'iframe'
                       trdItem.OpenType = 'newtab'
                     }
@@ -637,7 +662,7 @@
         <Menu.Item key="verup" onClick={this.verup}>
           {dict['page_upd'] || '椤甸潰鏇存柊'}
         </Menu.Item>
-        {window.GLOB.WXNotice ? <Menu.Item key="wxnotice" onClick={() => this.setState({wxVisible: true})}>
+        {window.GLOB.WXNotice ? <Menu.Item key="wxnotice" onClick={() => this.setState({wxVisible: true, wxStep: 1})}>
           寰俊娑堟伅
         </Menu.Item> : null}
         {window.GLOB.appVersion ? <Menu.Item key="version" onClick={this.about}>
@@ -787,6 +812,7 @@
             <SearchOutlined className="search-menu" />
           </Dropdown> : null
         }
+        {window.GLOB.SysNotice ? <SysIcon /> : null}
         {/* 澶村儚銆佺敤鎴峰悕 */}
         <Dropdown className="header-setting" overlay={menu}>
           <div>
@@ -821,14 +847,22 @@
           footer={null}
           destroyOnClose
         >
-          <div className="wx-sms-wrap">
+          {this.state.wxStep !== 2 ? <div className="wx-sms-wrap">
+            <img className="mk-img" src={mkpublic} alt=""/>
+            <div className="mk-tip">
+              <span>寰俊鎵爜</span>
+              <span>鍏虫敞鍏紬鍙�</span>
+              <span>鍏虫敞鍏紬鍙蜂笖鎺堟潈鍚庢柟鍙帴鏀舵秷鎭��</span>
+              <span onClick={() => this.setState({wxStep: 2})}>涓嬩竴姝�</span>
+            </div>
+          </div> : <div className="wx-sms-wrap">
             <QrCode card={{qrWidth: 200, color: '#000000'}} value={window.GLOB.baseurl + 'mob/wxnotice.html?userid=' + sessionStorage.getItem('UserID') + '&loginuid=' + sessionStorage.getItem('LoginUID')}/>
             <div className="tip">
               <img src={wxicon} alt=""/>
               <span>寰俊鎵爜</span>
-              <span>鍏虫敞鍏紬鍙�</span>
+              <span>鑾峰彇鐢ㄦ埛鎺堟潈</span>
             </div>
-          </div>
+          </div>}
         </Modal>
       </header>
     )

--
Gitblit v1.8.0