From f9f60bb0dd17a764ba03faa8041f5b6e9e071553 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期六, 18 一月 2025 23:37:44 +0800
Subject: [PATCH] 2025-01-18

---
 src/utils/utils.js |   35 +++++++++++++++++++++++++++--------
 1 files changed, 27 insertions(+), 8 deletions(-)

diff --git a/src/utils/utils.js b/src/utils/utils.js
index 9b4248f..f19e5a3 100644
--- a/src/utils/utils.js
+++ b/src/utils/utils.js
@@ -1820,9 +1820,20 @@
   let _initFormfields = []
   let _initColfields = []
   let _declarefields = []
+  let verifyValSql = ''
 
   // 鑾峰彇瀛楁閿�煎
   formdata && formdata.forEach(form => {
+    if (form.$verify) {
+      verifyValSql += `
+      if @${form.key}=${form.type === 'number' ? 0 : `''`}
+      begin
+        select @errorcode='E',@retmsg='${form.label}锛屽叧鑱斾富琛ㄥけ鏁�'
+        goto aaa
+      end
+      `
+    }
+
     let _key = form.key.toLowerCase()
 
     if (!_initvars.includes(_key)) {
@@ -1830,7 +1841,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}`)
@@ -2111,22 +2122,21 @@
 
     verify.billcodes.forEach(item => {
       let _key = item.field.toLowerCase()
-      let _linkKey = item.linkField ? item.linkField.toLowerCase() : ''
 
       if (!keys.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)`
@@ -2243,15 +2253,20 @@
   let hasvoucher = false
 
   // 鍑瘉-鏄剧ず鍒椾腑閫夊彇,蹇呴』閫夎
-  if (verify.voucher && verify.voucher.enabled && btn.Ot !== 'notRequired') {
+  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 = @${_voucher.linkField},
+        @Bill = ${linkField},
         @BVoucherType ='${_voucher.BVoucherType}',
         @VoucherTypeOne ='${_voucher.VoucherTypeOne}',
         @VoucherTypeTwo ='${_voucher.VoucherTypeTwo}',
@@ -2875,6 +2890,10 @@
     _sql += _backCustomScript
   }
 
+  if (verifyValSql) {
+    _sql += verifyValSql
+  }
+
   if (window.GLOB.breakpoint) {
     let start = new RegExp('\\/\\*\\$breakpoint_begin_' + window.GLOB.breakpoint + '@', 'ig')
     let end = new RegExp('@breakpoint_end_' + window.GLOB.breakpoint + '\\$\\*\\/', 'ig')

--
Gitblit v1.8.0