From d1cd5af5adb53e91efdd278328e1b6f8ad834fb5 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期四, 06 二月 2025 21:11:56 +0800
Subject: [PATCH] Merge branch 'positec' into dms

---
 src/tabviews/zshare/actionList/normalbutton/index.jsx |   57 +++++++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 45 insertions(+), 12 deletions(-)

diff --git a/src/tabviews/zshare/actionList/normalbutton/index.jsx b/src/tabviews/zshare/actionList/normalbutton/index.jsx
index 9ddcf4e..279985e 100644
--- a/src/tabviews/zshare/actionList/normalbutton/index.jsx
+++ b/src/tabviews/zshare/actionList/normalbutton/index.jsx
@@ -846,7 +846,7 @@
 
       let val = form.value
       if (form.type === 'number' || form.type === 'rate') {
-        if (isNaN(val)) {
+        if (isNaN(val) || val === '') {
           val = 0
         }
       } else if (['date', 'datemonth'].includes(form.type)) {
@@ -1322,7 +1322,7 @@
         let val = form.value
   
         if (form.type === 'number' || form.type === 'rate') {
-          if (isNaN(val)) {
+          if (isNaN(val) || val === '') {
             val = 0
           }
           _initFormfields.push(`@${_key}=${val}`)
@@ -1943,6 +1943,10 @@
         if (params.length === 0) {
           this.execSuccess(result)
           _resolve()
+        } else if (btn.execInterval) {
+          setTimeout(() => {
+            this.customLoopRequest(params, _resolve)
+          }, btn.execInterval)
         } else {
           this.customLoopRequest(params, _resolve)
         }
@@ -1980,6 +1984,10 @@
         if (params.length === 0) {
           this.execSuccess(result)
           _resolve()
+        } else if (btn.execInterval) {
+          setTimeout(() => {
+            this.customLoopRequest(params, _resolve)
+          }, btn.execInterval)
         } else {
           this.customLoopRequest(params, _resolve)
         }
@@ -2002,6 +2010,10 @@
         if (params.length === 0) {
           this.execSuccess(res)
           _resolve()
+        } else if (btn.execInterval) {
+          setTimeout(() => {
+            this.customLoopRequest(params, _resolve)
+          }, btn.execInterval)
         } else {
           this.customLoopRequest(params, _resolve)
         }
@@ -2349,6 +2361,10 @@
         if (params.length === 0) {
           this.execSuccess(res)
           _resolve()
+        } else if (btn.execInterval) {
+          setTimeout(() => {
+            this.innerLoopRequest(params, btn, _resolve)
+          }, btn.execInterval)
         } else {
           this.innerLoopRequest(params, btn, _resolve)
         }
@@ -2598,6 +2614,10 @@
         if (params.length === 0) {
           this.execSuccess(result)
           _resolve()
+        } else if (btn.execInterval) {
+          setTimeout(() => {
+            this.outerLoopRequest(params, _resolve)
+          }, btn.execInterval)
         } else {
           this.outerLoopRequest(params, _resolve)
         }
@@ -2642,6 +2662,10 @@
         if (params.length === 0) {
           this.execSuccess(result)
           _resolve()
+        } else if (btn.execInterval) {
+          setTimeout(() => {
+            this.outerLoopRequest(params, _resolve)
+          }, btn.execInterval)
         } else {
           this.outerLoopRequest(params, _resolve)
         }
@@ -2665,6 +2689,10 @@
         if (params.length === 0) {
           this.execSuccess(res)
           _resolve()
+        } else if (btn.execInterval) {
+          setTimeout(() => {
+            this.outerLoopRequest(params, _resolve)
+          }, btn.execInterval)
         } else {
           this.outerLoopRequest(params, _resolve)
         }
@@ -2881,7 +2909,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()
@@ -2981,7 +3009,7 @@
     }
 
     if (tabId && btn.$MenuID === tabId) { // 鍒锋柊褰撳墠鑿滃崟鏃讹紝鍋滄鍏朵粬鎿嶄綔
-      MKEmitter.emit('reloadMenuView', tabId)
+      MKEmitter.emit('reloadMenuView', tabId, btn.urlPar === 'true')
 
       if (menu) {
         MKEmitter.emit('modifyTabs', menu, true)
@@ -3027,7 +3055,7 @@
     }
 
     if (tabId) {
-      MKEmitter.emit('reloadMenuView', tabId)
+      MKEmitter.emit('reloadMenuView', tabId, btn.urlPar === 'true')
     }
     
     if (btn.switchTab && btn.switchTab.length > 0) {
@@ -3647,7 +3675,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()
@@ -3731,7 +3759,7 @@
         tabId = btn.refreshTab[btn.refreshTab.length - 1]
       }
       if (tabId && btn.$MenuID === tabId) { // 鍒锋柊褰撳墠鑿滃崟鏃讹紝鍋滄鍏朵粬鎿嶄綔
-        MKEmitter.emit('reloadMenuView', tabId)
+        MKEmitter.emit('reloadMenuView', tabId, btn.urlPar === 'true')
         return
       }
 
@@ -3763,7 +3791,7 @@
       }
 
       if (tabId) {
-        MKEmitter.emit('reloadMenuView', tabId)
+        MKEmitter.emit('reloadMenuView', tabId, btn.urlPar === 'true')
       }
     }
 
@@ -3986,6 +4014,10 @@
       let key = item.field.toLowerCase()
       let _readin = item.readin !== 'false'
 
+      if (item.type === 'linkMain' && item.verifyVal === 'true') {
+        _item.$verify = true
+        _item.label = item.label
+      }
       if (_item.type === 'date') { // 鏃堕棿鍏煎
         _item.precision = item.precision || 'day'
       } else if (_item.type === 'datetime') {
@@ -4117,13 +4149,14 @@
    */
   getModels = () => {
     const { BID, btn, BData } = this.props
-    const { btnconfig, visible, dict, confirmLoading, submitType } = this.state
+    const { btnconfig, visible, dict, confirmLoading, submitType, loadingNumber, loadingTotal } = this.state
 
     if (!btnconfig || !btnconfig.setting) return null
 
     let title = btn.label
     let width = btnconfig.setting.width > 100 ? btnconfig.setting.width : btnconfig.setting.width + 'vw'
     let clickouter = btnconfig.setting.clickouter === 'close'
+    let num = loadingNumber && !loadingTotal ? `(${loadingNumber}) ` : ''
 
     if (btnconfig.setting.display === 'drawer') {
       let height = '100vh'
@@ -4192,9 +4225,9 @@
           onCancel={this.handleCancel}
           footer={[
             <Button key="cancel" onClick={this.handleCancel}>{dict['cancel'] || '鍙栨秷'}</Button>,
-            btn.extBtn === 'true' ? <Button key="extend" className={'extend-btn ' + (btn.extStyle || '')} disabled={confirmLoading && submitType !== btn.extValue} loading={confirmLoading && submitType === btn.extValue} onClick={() => this.handleOk(btn.extValue)}>{btn.extLabel}</Button> : null,
-            btn.extBtn === 'true' ? <Button key="confirm" className={'confirm-btn ' + (btn.confStyle || '')} disabled={confirmLoading && submitType !== ''} loading={confirmLoading && submitType === ''} onClick={() => this.handleOk()}>{btn.confLabel || dict['ok'] || '纭畾'}</Button> : null,
-            btn.extBtn !== 'true' ? <Button key="confirm" type="primary" loading={confirmLoading} onClick={() => this.handleOk()}>{dict['ok'] || '纭畾'}</Button> : null
+            btn.extBtn === 'true' ? <Button key="extend" className={'extend-btn ' + (btn.extStyle || '')} disabled={confirmLoading && submitType !== btn.extValue} loading={confirmLoading && submitType === btn.extValue} onClick={() => this.handleOk(btn.extValue)}>{submitType === btn.extValue ? num : ''}{btn.extLabel}</Button> : null,
+            btn.extBtn === 'true' ? <Button key="confirm" className={'confirm-btn ' + (btn.confStyle || '')} disabled={confirmLoading && submitType !== ''} loading={confirmLoading && submitType === ''} onClick={() => this.handleOk()}>{submitType === '' ? num : ''}{btn.confLabel || dict['ok'] || '纭畾'}</Button> : null,
+            btn.extBtn !== 'true' ? <Button key="confirm" type="primary" loading={confirmLoading} onClick={() => this.handleOk()}>{num}{dict['ok'] || '纭畾'}</Button> : null
           ]}
           destroyOnClose
         >

--
Gitblit v1.8.0