From 9d3c77a83bc4e7febbfb8fd05de2f90100c5af6c Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期一, 15 一月 2024 17:52:42 +0800
Subject: [PATCH] 2024-01-15

---
 src/tabviews/zshare/actionList/normalbutton/index.jsx |  279 +++++++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 246 insertions(+), 33 deletions(-)

diff --git a/src/tabviews/zshare/actionList/normalbutton/index.jsx b/src/tabviews/zshare/actionList/normalbutton/index.jsx
index a274d27..f7b4abe 100644
--- a/src/tabviews/zshare/actionList/normalbutton/index.jsx
+++ b/src/tabviews/zshare/actionList/normalbutton/index.jsx
@@ -2053,11 +2053,14 @@
         func: btn.callbackFunc
       }
 
-      // special 鍑芥暟 s_sDataDictb_TBBack 浜戠楠岃瘉
-      if (window.GLOB.mkHS && param.func === 's_sDataDictb_TBBack' && param.LTextOut) {
-        param.timestamp = moment().format('YYYY-MM-DD HH:mm:ss')
-        param.secretkey = Utils.encrypt(param.LTextOut, param.timestamp)
-        param.open_key = Utils.encryptOpenKey(param.secretkey, param.timestamp)
+      if (window.GLOB.mkHS) {
+        if (btn.callbackFunc === 's_sVersion_Local_add' && window.GLOB.forcedUpdate) { // special 浼犺緭鍙锋坊鍔犲洖璋冨鐞�
+          param.local_userid = sessionStorage.getItem('LocalUserID') || ''
+        } else if (btn.callbackFunc === 's_sDataDictb_TBBack' && param.LTextOut) { // special 鍑芥暟 s_sDataDictb_TBBack 浜戠楠岃瘉
+          param.timestamp = moment().format('YYYY-MM-DD HH:mm:ss')
+          param.secretkey = Utils.encrypt(param.LTextOut, param.timestamp)
+          param.open_key = Utils.encryptOpenKey(param.secretkey, param.timestamp)
+        }
       }
     } else {
       if (result.status) {
@@ -2103,30 +2106,76 @@
     delete result.message
     delete result.status
 
-    result.func = btn.callbackFunc
-
     let ssoParam = null
+    let sinParam = null
     let callParam = {...outParam, ...result}
 
-    if (callParam.LTextOut) {
-      callParam.timestamp = moment().format('YYYY-MM-DD HH:mm:ss')
-      callParam.secretkey = Utils.encrypt(callParam.LTextOut, callParam.timestamp)
-      callParam.open_key = Utils.encryptOpenKey(callParam.secretkey, callParam.timestamp)
-    }
-
+    callParam.func = btn.callbackFunc
     callParam.userid = sessionStorage.getItem('LocalUserID') || ''
     callParam.LoginUID = sessionStorage.getItem('LocalLoginUID') || ''
 
-    if (callParam.UpType === 'SSO' && window.GLOB.localSystemApi) {
+    if (result.LTextOut) {
+      callParam.timestamp = moment().format('YYYY-MM-DD HH:mm:ss')
+      callParam.secretkey = Utils.encrypt(callParam.LTextOut, callParam.timestamp)
+      callParam.open_key = Utils.encryptOpenKey(callParam.secretkey, callParam.timestamp)
+    } else {
+      callParam = {...outParam}
+      callParam.func = btn.callbackFunc
+      callParam.MenuNO = 'sVersionDetail_LocalM'
+      callParam.UpType = 'SSO'
+      callParam.LTextOut = 'minke'
+      callParam.timestamp = moment().format('YYYY-MM-DD HH:mm:ss')
+      callParam.secretkey = Utils.encrypt(callParam.LTextOut, callParam.timestamp)
+      callParam.open_key = Utils.encryptOpenKey(callParam.secretkey, callParam.timestamp)
+      callParam.userid = sessionStorage.getItem('LocalUserID') || ''
+      callParam.LoginUID = sessionStorage.getItem('LocalLoginUID') || ''
+
+      delete result.ErrCode
+      delete result.ErrMesg
+
+      sinParam = {...result}
+      sinParam.func = 'sPC_TrdMenu_AddUpt_sso'
+
+      if (window.GLOB.sysType === 'local') {
+        if (!window.GLOB.systemType && window.GLOB.cloudServiceApi) {
+          sinParam.rduri = window.GLOB.cloudServiceApi
+        } else if (window.GLOB.localSystemApi) {
+          sinParam.rduri = window.GLOB.localSystemApi
+          sinParam.userid = sessionStorage.getItem('LocalUserID') || ''
+          sinParam.LoginUID = sessionStorage.getItem('LocalLoginUID') || ''
+        }
+      }
+    }
+    
+    if (result.UpType === 'SSO' && window.GLOB.localSystemApi) {
       ssoParam = fromJS(callParam).toJS()
       ssoParam.rduri = window.GLOB.localSystemApi
 
       delete ssoParam.UpType
-    } else {
-      delete callParam.UpType
     }
 
-    if (ssoParam) {
+    if (sinParam) {
+      Api.genericInterface(sinParam).then(res => {
+        if (!res.status) {
+          this.execError(res)
+          _resolve()
+        } else {
+          Api.genericInterface(callParam).then(re => {
+            if (!re.status) {
+              this.execError(re)
+              _resolve()
+            } else {
+              if (params.length === 0) {
+                this.execSuccess(res)
+                _resolve()
+              } else {
+                this.outerLoopRequest(params, _resolve)
+              }
+            }
+          })
+        }
+      })
+    } else if (ssoParam) {
       Api.genericInterface(ssoParam).then(res => {
         if (!res.status) {
           this.execError(res)
@@ -2176,8 +2225,20 @@
     const { btn } = this.props
     const { autoMatic } = this.state
 
-    if (btn.resetForm) {
-      MKEmitter.emit('mkFC', 'reset', btn.resetForm)
+    if (btn.resetForms) {
+      let data = {}
+
+      Object.keys(res).forEach(key => {
+        data[key.toLowerCase()] = res[key]
+      })
+
+      delete data.errcode
+      delete data.errmesg
+      delete data.message
+      delete data.status
+
+      MKEmitter.emit('resetForms', btn.uuid, data)
+      MKEmitter.emit('refreshByButtonResult', btn.$menuId, 'resetData', btn, null, null, data)
     }
 
     if (this.preCallback) {
@@ -2277,6 +2338,10 @@
       tabId = btn.refreshTab[btn.refreshTab.length - 1]
     }
 
+    if (btn.formCache === 'clear') { // 娓呴櫎琛ㄥ崟缂撳瓨
+      window.GLOB.CacheMap = new Map()
+    }
+
     if (tabId && btn.$MenuID === tabId) { // 鍒锋柊褰撳墠鑿滃崟鏃讹紝鍋滄鍏朵粬鎿嶄綔
       MKEmitter.emit('reloadMenuView', tabId, 'table')
       return
@@ -2308,7 +2373,14 @@
       } else if (/\$focus/.test(btn.syncComponentId)) {
         MKEmitter.emit('reloadData', btn.syncComponentId.split('$')[0], btn.syncComponentId.split('$')[1])
       } else {
-        MKEmitter.emit('reloadData', btn.syncComponentId)
+        if (btn.syncDelay) {
+          this.delayTimer && clearTimeout(this.delayTimer)
+          this.delayTimer = setTimeout(() => {
+            MKEmitter.emit('reloadData', btn.syncComponentId)
+          }, btn.syncDelay)
+        } else {
+          MKEmitter.emit('reloadData', btn.syncComponentId)
+        }
       }
     }
 
@@ -2356,7 +2428,7 @@
     const { btn } = this.props
 
     if (!btn.verify) return
-    if (btn.verify.noteEnable !== 'true' && btn.verify.wxNote !== 'true' && btn.verify.printEnable !== 'true') return
+    if (btn.verify.noteEnable !== 'true' && btn.verify.wxNote !== 'true' && btn.verify.printEnable !== 'true' && btn.verify.emailEnable !== 'true') return
 
     let id = ''
     if (btn.output) {
@@ -2371,6 +2443,9 @@
 
     if (btn.verify.noteEnable === 'true') {
       this.sendMessage(btn.verify, id)
+    }
+    if (btn.verify.emailEnable === 'true') {
+      this.sendEmail(btn.verify, id)
     }
     if (btn.verify.wxNote === 'true') {
       if (btn.verify.wxTemplateId === 'mk_category_temp') {
@@ -2550,8 +2625,8 @@
   sendMessage = (verify, id) => {
     let param = {
       func: 's_get_sms_local',
-      TypeCharOne: verify.noteTemp, // N涓嶅悓鍐呭锛孻鐩稿悓鍐呭
-      TypeCharTwo: verify.noteType, // N瀹氭椂锛孻瀹炴椂
+      TypeCharOne: verify.noteTemp || 'Y', // N涓嶅悓鍐呭锛孻鐩稿悓鍐呭
+      TypeCharTwo: verify.noteType || 'N', // N瀹氭椂锛孻瀹炴椂
       upid: id
     }
 
@@ -2570,9 +2645,9 @@
       }
 
       let _param = {
-        templatecode: verify.noteCode, // 妯℃澘缂栫爜
-        TypeCharOne: verify.noteTemp,  // N涓嶅悓鍐呭锛孻鐩稿悓鍐呭
-        ID: verify.noteId || ''        // 妯℃澘Id锛屾殏鏃舵湭浣跨敤
+        templatecode: verify.noteCode,        // 妯℃澘缂栫爜
+        TypeCharOne: verify.noteTemp || 'Y',  // N涓嶅悓鍐呭锛孻鐩稿悓鍐呭
+        ID: verify.noteId || ''               // 妯℃澘Id锛屾殏鏃舵湭浣跨敤
       }
 
       _param.submitdate = res.submitdate
@@ -2580,17 +2655,17 @@
       let limit = 5 // 瀹炴椂鏈�澶т负5鏉★紝瀹氭椂鏈�澶т负100鏉�
       let mobMap = new Map()
 
-      if (verify.noteType === 'N') {
+      if (verify.noteType === 'Y') {
+        _param.func = 's_get_sms_sso_realtime'
+      } else {
         _param.func = 's_get_sms_sso_timer'
         limit = 100
-      } else if (verify.noteType === 'Y') {
-        _param.func = 's_get_sms_sso_realtime'
       }
 
       let Ltext = []
       let error = false
 
-      if (verify.noteTemp === 'Y') {
+      if (verify.noteTemp !== 'N') {
         _param.p1 = res.p1 || ''
         _param.p2 = res.p2 || ''
         _param.p3 = res.p3 || ''
@@ -2599,25 +2674,156 @@
 
         let _p = _param.p1 + _param.p2 + _param.p3 + _param.p4 + _param.p5
 
-        if (/\/|\.|.*鍏�.*浜.*涔�.*杩憒闈㈣瘯|閭�璇穦涓嬭浇|绾㈠寘|鎷涜仒|濂借瘎|璇勪环|鏀垮姟閫氱煡|缂磋垂|淇濋櫓|鑲$エ|閲戣瀺|鎴垮湴浜鏁欒偛|娓告垙|寰俊|Q/.test(_p)) {
+        if (/\/|.*鍏�.*浜.*涔�.*杩憒闈㈣瘯|閭�璇穦涓嬭浇|绾㈠寘|鎷涜仒|濂借瘎|璇勪环|鏀垮姟閫氱煡|缂磋垂|淇濋櫓|鑲$エ|閲戣瀺|鎴垮湴浜鏁欒偛|娓告垙|寰俊/.test(_p)) {
           error = true
         }
       }
 
       res.send_data && res.send_data.forEach(item => {
         if (item.mob && !mobMap.has(item.mob) && Ltext.length < limit) {
-          if (verify.noteTemp === 'Y') {
+          if (verify.noteTemp !== 'N') {
             Ltext.push(`'${item.mob}'`)
           } else {
             let _p = `'${item.p1 || ''}','${item.p2 || ''}','${item.p3 || ''}','${item.p4 || ''}','${item.p5 || ''}','${item.mob}'`
 
-            if (/\/|\.|.*鍏�.*浜.*涔�.*杩憒闈㈣瘯|閭�璇穦涓嬭浇|绾㈠寘|鎷涜仒|濂借瘎|璇勪环|鏀垮姟閫氱煡|缂磋垂|淇濋櫓|鑲$エ|閲戣瀺|鎴垮湴浜鏁欒偛|娓告垙|寰俊|Q/.test(_p)) {
+            if (/\/|.*鍏�.*浜.*涔�.*杩憒闈㈣瘯|閭�璇穦涓嬭浇|绾㈠寘|鎷涜仒|濂借瘎|璇勪环|鏀垮姟閫氱煡|缂磋垂|淇濋櫓|鑲$エ|閲戣瀺|鎴垮湴浜鏁欒偛|娓告垙|寰俊/.test(_p)) {
               error = true
             }
 
             Ltext.push(_p)
           }
           mobMap.set(item.mob, true)
+        }
+      })
+
+      if (error) {
+        notification.warning({
+          top: 92,
+          message: '娑堟伅涓惈鏈夐潪娉曞瓧绗�',
+          duration: 5
+        })
+        return
+      }
+
+      if (Ltext.length === 0) return
+
+      Ltext = Ltext.join(';')
+
+      _param.LText = window.btoa(window.encodeURIComponent(Ltext))
+      _param.timestamp = moment().format('YYYY-MM-DD HH:mm:ss')
+      _param.secretkey = Utils.encrypt(_param.LText, _param.timestamp)
+
+      _param.rduri = 'https://sso.mk9h.cn/webapi/dostars'
+
+      _param.userid = 'bh0bapabtd45epsgra79segbch6c1ibk'
+      _param.LoginUID = 'bh0bapabtd45epsgra79segbch6c1ibk'
+
+      Api.genericInterface(_param).then(result => {
+        if (!result.status) {
+          notification.warning({
+            top: 92,
+            message: result.message,
+            duration: 5
+          })
+        }
+      }, (error) => {
+        if (error && error.ErrCode === 'LoginError') {
+          let param = {
+            func: 's_visitor_login',
+            timestamp: moment().format('YYYY-MM-DD HH:mm:ss'), 
+            SessionUid: 'bh0bapabtd45epsgra79segbch6c1ibk',
+            TypeCharOne: 'pc',
+            appkey: '202004041613277377A6A2456D34A4948AE84'
+          }
+
+          param.LText = md5(window.btoa('bh0bapabtd45epsgra79segbch6c1ibk' + param.timestamp))
+          param.secretkey = md5(param.LText + 'mingke' + param.timestamp)
+
+          let params = {
+            url: 'https://sso.mk9h.cn/webapi/dologon',
+            method: 'post',
+            data: JSON.stringify(param)
+          }
+
+          Api.directRequest(params)
+
+          return
+        }
+      })
+    })
+  }
+
+  sendEmail = (verify, id) => {
+    let param = {
+      func: 's_get_email_local',
+      TypeCharOne: verify.emailTemp || 'Y', // N涓嶅悓鍐呭锛孻鐩稿悓鍐呭
+      TypeCharTwo: verify.emailType || 'N', // N瀹氭椂锛孻瀹炴椂
+      upid: id
+    }
+
+    param.LText = Utils.formatOptions(Utils.getuuid())
+    param.timestamp = moment().format('YYYY-MM-DD HH:mm:ss')
+    param.secretkey = Utils.encrypt(param.LText, param.timestamp)
+
+    Api.genericInterface(param).then(res => {
+      if (!res.status) {
+        notification.warning({
+          top: 92,
+          message: res.message,
+          duration: 5
+        })
+        return
+      }
+
+      let _param = {
+        msn_email_temp_no: verify.emailCode,   // 妯℃澘缂栫爜
+        TypeCharOne: verify.emailTemp || 'Y',  // N涓嶅悓鍐呭锛孻鐩稿悓鍐呭
+        ID: verify.emailId || ''               // 妯℃澘Id锛屾殏鏃舵湭浣跨敤
+      }
+
+      _param.submitdate = res.submitdate
+
+      let limit = 5 // 瀹炴椂鏈�澶т负5鏉★紝瀹氭椂鏈�澶т负100鏉�
+      let mobMap = new Map()
+
+      if (verify.emailType === 'Y') {
+        _param.func = 's_get_email_sso_realtime'
+      } else {
+        _param.func = 's_get_email_sso_timer'
+        limit = 100
+      }
+
+      let Ltext = []
+      let error = false
+
+      if (verify.emailTemp !== 'N') {
+        _param.p1 = res.p1 || ''
+        _param.p2 = res.p2 || ''
+        _param.p3 = res.p3 || ''
+        _param.p4 = res.p4 || ''
+        _param.p5 = res.p5 || ''
+
+        let _p = _param.p1 + _param.p2 + _param.p3 + _param.p4 + _param.p5
+
+        if (/\/|.*鍏�.*浜.*涔�.*杩憒闈㈣瘯|閭�璇穦涓嬭浇|绾㈠寘|鎷涜仒|濂借瘎|璇勪环|鏀垮姟閫氱煡|缂磋垂|淇濋櫓|鑲$エ|閲戣瀺|鎴垮湴浜鏁欒偛|娓告垙|寰俊/.test(_p)) {
+          error = true
+        }
+      }
+
+      res.send_data && res.send_data.forEach(item => {
+        if (item.email && !mobMap.has(item.email) && Ltext.length < limit) {
+          if (verify.emailTemp !== 'N') {
+            Ltext.push(`'${item.email}'`)
+          } else {
+            let _p = `'${item.p1 || ''}','${item.p2 || ''}','${item.p3 || ''}','${item.p4 || ''}','${item.p5 || ''}','${item.email}'`
+
+            if (/\/|.*鍏�.*浜.*涔�.*杩憒闈㈣瘯|閭�璇穦涓嬭浇|绾㈠寘|鎷涜仒|濂借瘎|璇勪环|鏀垮姟閫氱煡|缂磋垂|淇濋櫓|鑲$エ|閲戣瀺|鎴垮湴浜鏁欒偛|娓告垙|寰俊/.test(_p)) {
+              error = true
+            }
+
+            Ltext.push(_p)
+          }
+          mobMap.set(item.email, true)
         }
       })
 
@@ -2765,6 +2971,13 @@
       })
     } else if (res.ErrCode === 'NM') {
       message.error(res.message || '鎵ц澶辫触锛�')
+    } else if (res.ErrCode === '-2') {
+      this.setState({
+        loadingNumber: '',
+        loadingTotal: '',
+        loading: false
+      })
+      return
     }
 
     this.errorContinue(sign)

--
Gitblit v1.8.0