From a1e9b18a4dbfd21e1bf4d5cb60974ac2f0115efd Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期五, 30 五月 2025 15:18:44 +0800
Subject: [PATCH] 2025-05-30

---
 src/tabviews/zshare/actionList/normalbutton/index.jsx |  226 ++++++++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 171 insertions(+), 55 deletions(-)

diff --git a/src/tabviews/zshare/actionList/normalbutton/index.jsx b/src/tabviews/zshare/actionList/normalbutton/index.jsx
index 4873a40..427f649 100644
--- a/src/tabviews/zshare/actionList/normalbutton/index.jsx
+++ b/src/tabviews/zshare/actionList/normalbutton/index.jsx
@@ -413,7 +413,7 @@
     if (setting.supModule && !BID) {
       notification.warning({
         top: 92,
-        message: dict['sup_key_req'] || '闇�瑕佷笂绾т富閿�硷紒',
+        message: setting.supModTip || dict['sup_key_req'] || '闇�瑕佷笂绾т富閿�硷紒',
         duration: 5
       })
       return false
@@ -422,6 +422,13 @@
       notification.warning({
         top: 92,
         message: dict['select_row'] || '璇烽�夋嫨琛岋紒',
+        duration: 5
+      })
+      return false
+    } else if (btn.Ot !== 'notRequired' && data[0] && !data[0].$$uuid) {
+      notification.warning({
+        top: 92,
+        message: dict['id_required'] || '鏈幏鍙栧埌ID鍊硷紒',
         duration: 5
       })
       return false
@@ -1123,20 +1130,22 @@
         let works_flow_sign_field = 'statuscharone'
         let works_flow_sign_label = ''
         let works_begin_branch = ''
-        if (line.approvalMethod === 'countersign' && node.checkIds.length > 1) {
-          works_flow_countersign = 'Y'
-          let mark = line.mark || '宸插鏍�'
-          let fields = ['statuscharone', 'statuschartwo', 'statuscharthree', 'statuscharfour', 'statuscharfive']
-          node.checkUsers.forEach((user, index) => {
-            if (user.worker_id === userid) {
-              works_flow_sign_field = fields[index]
-              works_flow_sign_label = `${user.parentNames[2] || ''}${user.workername || ''}${mark}`
-            } else {
-              works_flow_sign_values += `${user.parentNames[2] || ''}${user.workername || ''}${mark}`
-            }
-          })
-        } else {
-          works_begin_branch = line.mknode === 'startEdge' ? 'Y' : ''
+        if (line) {
+          if (line.approvalMethod === 'countersign' && node.checkIds.length > 1) {
+            works_flow_countersign = 'Y'
+            let mark = line.mark || '宸插鏍�'
+            let fields = ['statuscharone', 'statuschartwo', 'statuscharthree', 'statuscharfour', 'statuscharfive']
+            node.checkUsers.forEach((user, index) => {
+              if (user.worker_id === userid) {
+                works_flow_sign_field = fields[index]
+                works_flow_sign_label = `${user.parentNames[2] || ''}${user.workername || ''}${mark}`
+              } else {
+                works_flow_sign_values += `${user.parentNames[2] || ''}${user.workername || ''}${mark}`
+              }
+            })
+          } else {
+            works_begin_branch = line.mknode === 'startEdge' ? 'Y' : ''
+          }
         }
 
         exps.push(
@@ -1524,7 +1533,7 @@
     if (setting.supModule && !BID) {
       notification.warning({
         top: 92,
-        message: window.GLOB.dict['sup_key_req'] || '闇�瑕佷笂绾т富閿�硷紒',
+        message: setting.supModTip || window.GLOB.dict['sup_key_req'] || '闇�瑕佷笂绾т富閿�硷紒',
         duration: 5
       })
       _resolve()
@@ -1739,11 +1748,23 @@
       record.mk_api_key = res.mk_api_key || ''
 
       if (res.status) {
-        if (res.mk_ex_invoke + '' === 'false' && params.length === 0) {
-          this.execSuccess(res)
-          _resolve()
-        } else if (res.mk_ex_invoke + '' === 'false' && params.length > 0) {
-          this.customLoopRequest(params, _resolve)
+        res.mk_ex_invoke = res.mk_ex_invoke + ''
+
+        if (res.mk_ex_invoke === 'false') {
+          if (params.length === 0) {
+            this.execSuccess(res)
+            _resolve()
+          } else {
+            this.customLoopRequest(params, _resolve)
+          }
+        } else if (res.mk_ex_invoke === 'true_inside') {
+          let data = res.mk_in_api && typeof(res.mk_in_api) === 'object' ? res.mk_in_api : {}
+
+          if (!data.hasOwnProperty('mk_api_key')) {
+            data.mk_api_key = record.mk_api_key
+          }
+
+          this.customCallbackRequest(params, data, record, _resolve)
         } else {
           if (res.mk_ex_data) { // 鏁版嵁鍒嗘壒鎵ц
             if (Array.isArray(res.mk_ex_data) && res.mk_ex_data.length > 0) {
@@ -1800,6 +1821,7 @@
       url = btn.interface
     }
 
+    url = url.replace(/@mydomain@/ig, window.GLOB.location)
     
     let param = {}
 
@@ -2454,7 +2476,7 @@
    * @description 澶栭儴璇锋眰寰幆鎵ц
    */
   outerLoopRequest = (params, _resolve) => {
-    const { setting, btn } = this.props
+    const { setting, btn, BID } = this.props
 
     let param = params.shift()
 
@@ -2483,11 +2505,29 @@
 
     Api.genericInterface(param, btn.$innerScript, 'inner').then(res => {
       if (res.status) {
-        if ((res.mk_ex_invoke === 'false' || res.mk_ex_invoke === false) && params.length === 0) {
-          this.execSuccess(res)
-          _resolve()
-        } else if ((res.mk_ex_invoke === 'false' || res.mk_ex_invoke === false) && params.length > 0) {
-          this.outerLoopRequest(params, _resolve)
+        res.mk_ex_invoke = res.mk_ex_invoke + ''
+
+        if (res.mk_ex_invoke === 'false') {
+          if (params.length === 0) {
+            this.execSuccess(res)
+            _resolve()
+          } else {
+            this.outerLoopRequest(params, _resolve)
+          }
+        } else if (res.mk_ex_invoke === 'true_inside') {
+          let data = res.mk_in_api && typeof(res.mk_in_api) === 'object' ? res.mk_in_api : {}
+
+          if (!data.hasOwnProperty('mk_api_key')) {
+            data.mk_api_key = res.mk_api_key || ''
+          }
+
+          // 浣跨敤澶勭悊鍚庣殑鏁版嵁璋冪敤澶栭儴鎺ュ彛
+          let keys = Object.keys(data) // 鎻愪氦澶栭儴鎺ュ彛鍓嶏紝娣诲姞BID
+          if (BID && keys.filter(key => key.toLowerCase() === 'bid').length === 0) {
+            data.BID = BID
+          }
+
+          this.outerCallbackRequest(params, data, record, {}, _resolve)
         } else {
           delete res.mk_ex_invoke
           delete res.ErrCode
@@ -2497,8 +2537,8 @@
 
           // 浣跨敤澶勭悊鍚庣殑鏁版嵁璋冪敤澶栭儴鎺ュ彛
           let keys = Object.keys(res) // 鎻愪氦澶栭儴鎺ュ彛鍓嶏紝娣诲姞BID
-          if (this.props.BID && keys.filter(key => key.toLowerCase() === 'bid').length === 0) {
-            res.BID = this.props.BID
+          if (BID && keys.filter(key => key.toLowerCase() === 'bid').length === 0) {
+            res.BID = BID
           }
 
           if (res.mk_api_key) {
@@ -2909,7 +2949,7 @@
       res.message = res.message.replace(/\s*<<.*>>\s*/g, '')
       val = val ? val[0].replace(/<<|>>/g, '') : ''
 
-      if (/^http/.test(val)) {
+      if (/^(http|\/\/)/.test(val)) {
         let audio = document.createElement('audio')
         audio.src = val
         audio.play()
@@ -2990,8 +3030,10 @@
       tabId = btn.refreshTab[btn.refreshTab.length - 1]
     }
 
-    if (window.backend && btn.outerFunc && ['bd_workers_create_user_sso', 's_susers_del', 's_susers_add', 's_susers_update', 's_susers_start', 's_susers_admin'].includes(btn.outerFunc)) {
-      this.clearBackSqlCache()
+    if (window.backend && btn.outerFunc && ['bd_workers_create_user_sso', 's_susers_del', 's_susers_add', 's_susers_update', 's_susers_start', 's_susers_admin'].includes(btn.outerFunc.toLowerCase())) {
+      setTimeout(() => {
+        this.clearBackSqlCache()
+      }, 300)
     }
 
     if (btn.openmenu && Array.isArray(btn.openmenu) && btn.openmenu.length > 0 && sign !== '@no_target_menu@') {
@@ -3031,15 +3073,30 @@
     
     if (btn.syncComponentId) {
       if (btn.syncComponentId === 'multiComponent') {
-        btn.syncComponentIds.forEach((id, i) => {
-          setTimeout(() => {
-            if (/\$focus/.test(id)) {
-              MKEmitter.emit('reloadData', id.split('$')[0], id.split('$')[1])
-            } else {
-              MKEmitter.emit('reloadData', id)
-            }
-          }, 20 * i)
-        })
+        if (btn.syncDelay) {
+          this.delayTimer && clearTimeout(this.delayTimer)
+          this.delayTimer = setTimeout(() => {
+            btn.syncComponentIds.forEach((id, i) => {
+              setTimeout(() => {
+                if (/\$focus/.test(id)) {
+                  MKEmitter.emit('reloadData', id.split('$')[0], id.split('$')[1])
+                } else {
+                  MKEmitter.emit('reloadData', id)
+                }
+              }, 20 * i)
+            })
+          }, btn.syncDelay)
+        } else {
+          btn.syncComponentIds.forEach((id, i) => {
+            setTimeout(() => {
+              if (/\$focus/.test(id)) {
+                MKEmitter.emit('reloadData', id.split('$')[0], id.split('$')[1])
+              } else {
+                MKEmitter.emit('reloadData', id)
+              }
+            }, 20 * i)
+          })
+        }
       } else if (/\$focus/.test(btn.syncComponentId)) {
         MKEmitter.emit('reloadData', btn.syncComponentId.split('$')[0], btn.syncComponentId.split('$')[1])
       } else {
@@ -3122,7 +3179,7 @@
     const { btn } = this.props
 
     if (!btn.verify) return
-    if (btn.verify.noteEnable !== 'true' && btn.verify.wxNote !== 'true' && btn.verify.printEnable !== 'true' && btn.verify.emailEnable !== 'true') return
+    if (btn.verify.noteEnable !== 'true' && btn.verify.wxNote !== 'true' && btn.verify.printEnable !== 'true' && btn.verify.emailEnable !== 'true' && btn.verify.DeepSeekable !== 'true') return
 
     let id = ''
     if (btn.output) {
@@ -3149,6 +3206,9 @@
     }
     if (btn.verify.emailEnable === 'true') {
       this.sendEmail(btn.verify, id)
+    }
+    if (btn.verify.DeepSeekable === 'true') {
+      this.openDeepSeek(id)
     }
     if (btn.verify.wxNote === 'true') {
       if (btn.verify.wxTemplateId === 'mk_category_temp') {
@@ -3630,6 +3690,38 @@
     })
   }
 
+  openDeepSeek = (id) => {
+    let param = {
+      func: 's_get_deepseek_local',
+      upid: id
+    }
+
+    param.LText = 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
+      }
+
+      if (res.deepseek_text) {
+        sessionStorage.setItem('deepseek_sql', res.deepseek_text)
+
+        window.open('#/ai')
+
+        setTimeout(() => {
+          sessionStorage.removeItem('deepseek_sql')
+        }, 0)
+      }
+    })
+  }
+
   /**
    * @description 鎿嶄綔澶辫触鍚庡鐞�
    * 1銆佺姸鎬佺爜涓� E銆丯銆丗銆丯M 鏃讹紝鏄剧ず鐩稿簲鎻愮ず淇℃伅
@@ -3675,7 +3767,7 @@
       res.message = res.message.replace(/\s*<<.*>>\s*/g, '')
       val = val ? val[0].replace(/<<|>>/g, '') : ''
 
-      if (/^http/.test(val)) {
+      if (/^(http|\/\/)/.test(val)) {
         let audio = document.createElement('audio')
         audio.src = val
         audio.play()
@@ -3745,7 +3837,11 @@
       loadingTotal: '',
     })
 
-    if (btnconfig && btnconfig.setting && btnconfig.setting.errFocus) {
+    if (window.CACHE.errFocusId && (btnconfig || btn.OpenType === 'formSubmit')) {
+      MKEmitter.emit('mkFC', 'focus', window.CACHE.errFocusId)
+
+      window.CACHE.errFocusId = ''
+    } else if (btnconfig && btnconfig.setting && btnconfig.setting.errFocus) {
       MKEmitter.emit('mkFC', 'focus', btnconfig.setting.errFocus)
     }
 
@@ -3767,15 +3863,30 @@
 
       if (btn.syncComponentId) {
         if (btn.syncComponentId === 'multiComponent') {
-          btn.syncComponentIds.forEach((id, i) => {
-            setTimeout(() => {
-              if (/\$focus/.test(id)) {
-                MKEmitter.emit('reloadData', id.split('$')[0], id.split('$')[1])
-              } else {
-                MKEmitter.emit('reloadData', id)
-              }
-            }, 20 * i)
-          })
+          if (btn.syncDelay) {
+            this.delayTimer && clearTimeout(this.delayTimer)
+            this.delayTimer = setTimeout(() => {
+              btn.syncComponentIds.forEach((id, i) => {
+                setTimeout(() => {
+                  if (/\$focus/.test(id)) {
+                    MKEmitter.emit('reloadData', id.split('$')[0], id.split('$')[1])
+                  } else {
+                    MKEmitter.emit('reloadData', id)
+                  }
+                }, 20 * i)
+              })
+            }, btn.syncDelay)
+          } else {
+            btn.syncComponentIds.forEach((id, i) => {
+              setTimeout(() => {
+                if (/\$focus/.test(id)) {
+                  MKEmitter.emit('reloadData', id.split('$')[0], id.split('$')[1])
+                } else {
+                  MKEmitter.emit('reloadData', id)
+                }
+              }, 20 * i)
+            })
+          }
         } else if (/\$focus/.test(btn.syncComponentId)) {
           MKEmitter.emit('reloadData', btn.syncComponentId.split('$')[0], btn.syncComponentId.split('$')[1])
         } else {
@@ -4086,8 +4197,13 @@
             _item.value = _item.value.replace(/(^\s*|\s*$)/g, '')
           }
         }
-        if (_item.type === 'text' && /@appkey@|@SessionUid@|@bid@/ig.test(_item.value)) { // 鐗规畩瀛楁鏇挎崲
-          _item.value = _item.value.replace(/^(\s*)@appkey@(\s*)$/ig, window.GLOB.appkey).replace(/^(\s*)@SessionUid@(\s*)$/ig, (localStorage.getItem('SessionUid') || '')).replace(/^(\s*)@bid@(\s*)$/ig, (BID || ''))
+        if (_item.type === 'text') {
+          if (/@appkey@|@SessionUid@|@bid@/ig.test(_item.value)) { // 鐗规畩瀛楁鏇挎崲
+            _item.value = _item.value.replace(/^(\s*)@appkey@(\s*)$/ig, window.GLOB.appkey).replace(/^(\s*)@SessionUid@(\s*)$/ig, (localStorage.getItem('SessionUid') || '')).replace(/^(\s*)@bid@(\s*)$/ig, (BID || ''))
+          }
+          if (/@currentYear@/ig.test(_item.value)) { // 绯荤粺鍙橀噺鏇挎崲
+            _item.value = _item.value.replace(/@currentYear@/ig, moment().format('YYYY'))
+          }
         }
         if (_item.type === 'text' && item.lenControl && item.lenControl !== 'limit') {
           if (item.lenControl === 'left') {

--
Gitblit v1.8.0