From d5ed6bd23455c63b5de88f8740c7325658f5241e Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期四, 16 一月 2025 18:11:47 +0800
Subject: [PATCH] 2025-01-16

---
 src/utils/utils-custom.js |   78 ++++++++++++++++++--------------------
 1 files changed, 37 insertions(+), 41 deletions(-)

diff --git a/src/utils/utils-custom.js b/src/utils/utils-custom.js
index 12e86d5..61f660e 100644
--- a/src/utils/utils-custom.js
+++ b/src/utils/utils-custom.js
@@ -451,11 +451,7 @@
             card.elements = card.elements.map(cell => {
               if (cell.eleType === 'button') {
                 cell.uuid = md5(commonId + cell.uuid)
-                if (clear && cell.pageTemplate === 'linkpage' && cell.linkmenu) {
-                  cell.pageTemplate = ''
-                  cell.linkmenu = ''
-                }
-                this.resetBtn(cell, commonId)
+                this.resetBtn(cell, commonId, clear)
               } else {
                 cell.uuid = this.getuuid()
               }
@@ -467,11 +463,7 @@
             card.backElements = card.backElements.map(cell => {
               if (cell.eleType === 'button') {
                 cell.uuid = md5(commonId + cell.uuid)
-                if (clear && cell.pageTemplate === 'linkpage' && cell.linkmenu) {
-                  cell.pageTemplate = ''
-                  cell.linkmenu = ''
-                }
-                this.resetBtn(cell, commonId)
+                this.resetBtn(cell, commonId, clear)
               } else {
                 cell.uuid = this.getuuid()
               }
@@ -491,11 +483,7 @@
           item.elements = item.elements.map(cell => {
             if (cell.eleType === 'button') {
               cell.uuid = md5(commonId + cell.uuid)
-              if (clear && cell.pageTemplate === 'linkpage' && cell.linkmenu) {
-                cell.pageTemplate = ''
-                cell.linkmenu = ''
-              }
-              this.resetBtn(cell, commonId)
+              this.resetBtn(cell, commonId, clear)
             } else {
               cell.uuid = this.getuuid()
             }
@@ -528,12 +516,7 @@
                 cell.uuid = md5(commonId + cell.uuid)
 
                 if (cell.eleType === 'button') {
-                  if (clear && cell.pageTemplate === 'linkpage' && cell.linkmenu) {
-                    cell.pageTemplate = ''
-                    cell.linkmenu = ''
-                  }
-
-                  this.resetBtn(cell, commonId)
+                  this.resetBtn(cell, commonId, clear)
                 }
 
                 return cell
@@ -572,11 +555,15 @@
           })
 
           if (cell.subButton) {
-            this.resetBtn(cell.subButton, commonId)
+            this.resetBtn(cell.subButton, commonId, clear)
           }
 
           return cell
         })
+      } else if (item.type === 'login') {
+        if (clear) {
+          item.wrap.linkmenu = ''
+        }
       }
   
       if (item.btnlog) {
@@ -587,12 +574,7 @@
         item.action = item.action.map(cell => {
           cell.uuid = md5(commonId + cell.uuid)
 
-          if (clear && cell.pageTemplate === 'linkpage' && cell.linkmenu) {
-            cell.pageTemplate = ''
-            cell.linkmenu = ''
-          }
-
-          this.resetBtn(cell, commonId)
+          this.resetBtn(cell, commonId, clear)
 
           return cell
         })
@@ -650,7 +632,7 @@
   /**
    * @description 鎸夐挳閲嶇疆
    */
-  static resetBtn (btn, commonId) {
+  static resetBtn (btn, commonId, clear = false) {
     if (btn.OpenType === 'pop' || (btn.OpenType === 'funcbutton' && btn.execMode === 'pop')) {
       if (btn.modal && btn.modal.fields && btn.modal.fields.length > 0) {
         btn.modal.fields = btn.modal.fields.map(m => {
@@ -659,6 +641,16 @@
         })
       }
     }
+
+    if (clear) {
+      if (btn.pageTemplate === 'linkpage') {
+        btn.pageTemplate = ''
+      }
+      delete btn.linkmenu
+      delete btn.openmenu
+      delete btn.refreshTab
+    }
+    
     if (btn.switchTab && btn.switchTab.length > 0) {
       btn.switchTab = btn.switchTab.map(m => md5(commonId + m))
     }
@@ -1969,14 +1961,14 @@
       if (cell.OpenType === 'form' && cell.formType === 'count_line') return
      
       if (cell.intertype === 'system') {
-        if (cell.Ot === 'notRequired' && cell.verify && cell.verify.voucher && cell.verify.voucher.enabled) {
-          errors.push({ level: 0, detail: `鎸夐挳鈥�${cell.label}鈥濅娇鐢ㄤ簡鍒涘缓鍑瘉鍑芥暟锛岄渶瑕侀�夋嫨琛岋紒`})
-        }
+        // if (cell.Ot === 'notRequired' && cell.verify && cell.verify.voucher && cell.verify.voucher.enabled) {
+        //   errors.push({ level: 0, detail: `鎸夐挳鈥�${cell.label}鈥濅娇鐢ㄤ簡鍒涘缓鍑瘉鍑芥暟锛岄渶瑕侀�夋嫨琛岋紒`})
+        // }
       } else if (cell.intertype === 'custom' || cell.intertype === 'outer') {
         if (cell.callbackType === 'script' && (!cell.verify || !cell.verify.cbScripts || cell.verify.cbScripts.filter(item => item.status !== 'false').length === 0)) {
           errors.push({ level: 0, detail: `鎸夐挳鈥�${cell.label}鈥濅娇鐢ㄤ簡鑷畾涔夎剼鏈洖璋冿紝鍥炶皟鑴氭湰涓嶅彲涓虹┖锛乣})
-        } else if (cell.procMode === 'system' && cell.Ot === 'notRequired' && cell.verify && cell.verify.voucher && cell.verify.voucher.enabled) {
-          errors.push({ level: 0, detail: `鎸夐挳鈥�${cell.label}鈥濅娇鐢ㄤ簡鍒涘缓鍑瘉鍑芥暟锛岄渶瑕侀�夋嫨琛岋紒`})
+        // } else if (cell.procMode === 'system' && cell.Ot === 'notRequired' && cell.verify && cell.verify.voucher && cell.verify.voucher.enabled) {
+        //   errors.push({ level: 0, detail: `鎸夐挳鈥�${cell.label}鈥濅娇鐢ㄤ簡鍒涘缓鍑瘉鍑芥暟锛岄渶瑕侀�夋嫨琛岋紒`})
         }
       }
     } else if (cell.OpenType === 'funcbutton') {
@@ -3755,22 +3747,21 @@
     if (formdata && verify.billcodes && verify.billcodes.length > 0) {
       verify.billcodes.forEach(item => {
         let _key = item.field.toLowerCase()
-        let _linkKey = item.linkField ? item.linkField.toLowerCase() : ''
   
         if (!formkeys.includes(_key)) return // 琛ㄥ崟涓笉鍚崟鍙风敓鎴愬瓧娈�
   
         let _lpline = ''
         if (item.TypeCharOne === 'Lp') {
-          if (_linkKey === 'bid' && BID) { // 鏇挎崲bid
+          if (/^BID$/ig.test(item.linkField)) {
             _lpline = `set @ModularDetailCode= 'Lp'+ right('${item.mark || btn.uuid}'+@BID@,48)`
           } else {
-            _lpline = `set @ModularDetailCode= 'Lp'+ right('${item.mark || btn.uuid}'+@${_linkKey},48)`
+            _lpline = `set @ModularDetailCode= 'Lp'+ right('${item.mark || btn.uuid}'+@${item.linkField},48)`
           }
         } else if (item.TypeCharOne === 'BN') {
-          if (_linkKey === 'bid' && BID) { // 鏇挎崲bid
+          if (/^BID$/ig.test(item.linkField)) {
             _lpline = `set @ModularDetailCode= 'BN'+ right(@BID@,48)`
           } else {
-            _lpline = `set @ModularDetailCode= 'BN'+ right(@${_linkKey},48)`
+            _lpline = `set @ModularDetailCode= 'BN'+ right(@${item.linkField},48)`
           }
         } else {
           _lpline = `set @ModularDetailCode= right('${item.ModularDetailCode}',50)`
@@ -3883,15 +3874,20 @@
     let hasvoucher = false
   
     // 鍑瘉-鏄剧ず鍒椾腑閫夊彇,蹇呴』閫夎
-    if (verify.voucher && verify.voucher.enabled && btn.Ot !== 'requiredOnce') {
+    if (verify.voucher && verify.voucher.enabled) {
       let _voucher = verify.voucher
+      let linkField = `@${_voucher.linkField}`
+  
+      if (/^BID$/ig.test(_voucher.linkField)) {
+        linkField = BID
+      }
   
       hasvoucher = true
   
       _sql += `
         /* 鍒涘缓鍑瘉 */
         exec s_BVoucher_Create
-          @Bill ='0',
+          @Bill = ${linkField},
           @BVoucherType ='${_voucher.BVoucherType}',
           @VoucherTypeOne ='${_voucher.VoucherTypeOne}',
           @VoucherTypeTwo ='${_voucher.VoucherTypeTwo}',

--
Gitblit v1.8.0