From 5e82b0ad1b94b8d2d9603fb9384346e6be60d5ab Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期二, 08 八月 2023 14:03:34 +0800
Subject: [PATCH] 2023-08-08

---
 src/tabviews/zshare/actionList/normalbutton/index.jsx |  145 +++++++++++++++++++++++++++++++----------------
 1 files changed, 95 insertions(+), 50 deletions(-)

diff --git a/src/tabviews/zshare/actionList/normalbutton/index.jsx b/src/tabviews/zshare/actionList/normalbutton/index.jsx
index 63c9d84..c07350f 100644
--- a/src/tabviews/zshare/actionList/normalbutton/index.jsx
+++ b/src/tabviews/zshare/actionList/normalbutton/index.jsx
@@ -2053,7 +2053,16 @@
    */
   execSuccess = (res = {}) => {
     const { btn } = this.props
-    const { btnconfig, autoMatic } = this.state
+    const { autoMatic } = this.state
+
+    if (autoMatic) {
+      this.setState({
+        loading: false,
+        visible: false
+      })
+      MKEmitter.emit('autoExecOver', btn.uuid, 'success')
+      return
+    }
 
     let sign = ''
     if (/^@speak@/i.test(res.message)) {
@@ -2076,41 +2085,6 @@
       res.message = res.message.replace(/@close_tab@|@close_popup@|@goback@|@no_target_menu@/i, '')
     }
 
-    if ((res.ErrCode === 'S' || !res.ErrCode) || autoMatic) { // 鎵ц鎴愬姛
-      if (btn.formType !== 'counter' || res.message) {
-        notification.success({
-          top: 92,
-          message: res.message || '鎵ц鎴愬姛锛�',
-          duration: btn.verify && btn.verify.stime ? btn.verify.stime : 2
-        })
-      }
-    } else if (res.ErrCode === 'Y') { // 鎵ц鎴愬姛
-      Modal.success({
-        title: res.message || '鎵ц鎴愬姛锛�'
-      })
-    } else if (res.ErrCode === '-1') { // 瀹屾垚鍚庝笉鎻愮ず
-
-    }
-
-    this.setState({
-      loadingNumber: '',
-      loadingTotal: '',
-    })
-    
-    if (autoMatic) {
-      this.setState({
-        loading: false,
-        visible: false
-      })
-      MKEmitter.emit('autoExecOver', btn.uuid, 'success')
-      return
-    } else if (btn.OpenType !== 'pop' || !btnconfig || btnconfig.setting.finish !== 'unclose') {
-      this.setState({
-        loading: false,
-        visible: false
-      })
-    }
-
     let id = ''
     if (btn.output) {
       id = res.mk_b_id || res[btn.output] || ''
@@ -2119,6 +2093,53 @@
     if (res.mk_icon) {
       sessionStorage.setItem('avatar', res.mk_icon)
     }
+
+    res.ErrCode = res.ErrCode || 'S'
+
+    if (res.ErrCode === 'S') { // 鎵ц鎴愬姛
+      if (btn.formType !== 'counter' || res.message) {
+        notification.success({
+          top: 92,
+          message: res.message || '鎵ц鎴愬姛锛�',
+          duration: btn.verify && btn.verify.stime ? btn.verify.stime : 2
+        })
+      }
+    } else if (res.ErrCode === 'Y') { // 鎵ц鎴愬姛
+      let msg = res.message || '鎵ц鎴愬姛锛�'
+      if (/\n/.test(msg)) {
+        msg = msg.replace(/\n/ig, '<br/>')
+        msg = <span dangerouslySetInnerHTML={{__html: msg}}></span>
+      }
+      Modal.success({
+        title: msg,
+        onOk: () => {
+          this.successContinue(sign, id)
+        }
+      })
+      return
+    } else if (res.ErrCode === '-1') { // 瀹屾垚鍚庝笉鎻愮ず
+
+    }
+
+    this.successContinue(sign, id)
+  }
+
+  successContinue = (sign, id) => {
+    const { btn } = this.props
+    const { btnconfig } = this.state
+
+    this.setState({
+      loadingNumber: '',
+      loadingTotal: '',
+    })
+    
+    if (btn.OpenType !== 'pop' || !btnconfig || btnconfig.setting.finish !== 'unclose') {
+      this.setState({
+        loading: false,
+        visible: false
+      })
+    }
+
     let tabId = ''
     if (btn.refreshTab && btn.refreshTab.length > 0) {
       tabId = btn.refreshTab[btn.refreshTab.length - 1]
@@ -2513,7 +2534,24 @@
    */
   execError = (res = {}) => {
     const { btn } = this.props
-    const { btnconfig, autoMatic } = this.state
+    const { autoMatic } = this.state
+
+    if (autoMatic) {
+      notification.error({
+        top: 92,
+        message: res.message || '鎵ц澶辫触锛�',
+        duration: 10
+      })
+
+      this.setState({
+        loading: false,
+        loadingNumber: '',
+        loadingTotal: '',
+        visible: false
+      })
+      MKEmitter.emit('autoExecOver', btn.uuid, 'error')
+      return
+    }
 
     if (!['LoginError', 'C', '-2', 'E', 'N', 'F', 'NM'].includes(res.ErrCode)) {
       res.ErrCode = 'E'
@@ -2540,11 +2578,20 @@
       res.message = res.message.replace(/@close_tab@|@close_popup@|@goback@/i, '')
     }
 
-    if (res.ErrCode === 'E' && !autoMatic) {
+    if (res.ErrCode === 'E') {
+      let msg = res.message || '鎵ц澶辫触锛�'
+      if (/\n/.test(msg)) {
+        msg = msg.replace(/\n/ig, '<br/>')
+        msg = <span dangerouslySetInnerHTML={{__html: msg}}></span>
+      }
       Modal.error({
-        title: res.message || '鎵ц澶辫触锛�',
+        title: msg,
+        onOk: () => {
+          this.errorContinue(sign)
+        }
       })
-    } else if (res.ErrCode === 'N' || autoMatic) {
+      return
+    } else if (res.ErrCode === 'N') {
       notification.error({
         top: 92,
         message: res.message || '鎵ц澶辫触锛�',
@@ -2561,16 +2608,14 @@
       message.error(res.message || '鎵ц澶辫触锛�')
     }
 
-    if (autoMatic) {
-      this.setState({
-        loading: false,
-        loadingNumber: '',
-        loadingTotal: '',
-        visible: false
-      })
-      MKEmitter.emit('autoExecOver', btn.uuid, 'error')
-      return
-    } else if (btn.OpenType !== 'pop' || !btnconfig || btnconfig.setting.finish !== 'unclose') {
+    this.errorContinue(sign)
+  }
+
+  errorContinue = (sign) => {
+    const { btn } = this.props
+    const { btnconfig } = this.state
+
+    if (btn.OpenType !== 'pop' || !btnconfig || btnconfig.setting.finish !== 'unclose') {
       this.setState({
         loading: false
       })

--
Gitblit v1.8.0