From 84804b405cb88f659d055b16eb3bd00b813ccb4a Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期四, 10 十二月 2020 10:58:38 +0800
Subject: [PATCH] 2020-12-10

---
 src/utils/utils.js |   78 +++++++++++++++++++++++---------------
 1 files changed, 47 insertions(+), 31 deletions(-)

diff --git a/src/utils/utils.js b/src/utils/utils.js
index 333dccb..cca9ea7 100644
--- a/src/utils/utils.js
+++ b/src/utils/utils.js
@@ -1055,7 +1055,7 @@
     let primaryId = param.ID
     let BID = param.BID
     let verify = btn.verify || {}
-    let _formFieldValue = {}
+    let datavars = {}                 // 澹版槑鐨勫彉閲忥紝琛ㄥ崟鍙婃樉绀哄垪
     let _actionType = null
     let appkey = window.GLOB.appkey || ''
     let sessionUid = localStorage.getItem('SessionUid') || ''
@@ -1111,8 +1111,8 @@
         form.value = form.value.replace(/^(\s*)@bid@(\s*)$/ig, BID)
       }
 
-      _formFieldValue[form.key] = form.value
       let _key = form.key.toLowerCase()
+      datavars[_key] = form.value
 
       if (!_initvars.includes(_key)) {
         _initvars.push(_key)
@@ -1150,15 +1150,22 @@
       }
     })
 
+    if (data) {
+      Object.keys(data).forEach(key => {
+        data[key.toLowerCase()] = data[key]
+      })
+    }
+
     // 娣诲姞鏁版嵁涓瓧娈碉紝琛ㄥ崟鍊间紭鍏�(鎸夐挳涓嶉�夎鎴栧琛屾嫾鎺ユ椂璺宠繃)
     if (data && btn.Ot !== 'notRequired' && btn.Ot !== 'requiredOnce') {
-      _formFieldValue = {...data, ..._formFieldValue}
+      datavars = {...data, ...datavars}
+
       const setField = (col) => {
         if (!col.field) return
         let _key = col.field.toLowerCase()
 
         if (!_initvars.includes(_key)) {
-          let _val = data.hasOwnProperty(col.field) ? data[col.field] : ''
+          let _val = datavars.hasOwnProperty(_key) ? datavars[_key] : ''
 
           _initvars.push(_key)
           _initColfields.push(`@${_key}='${_val}'`)
@@ -1259,9 +1266,18 @@
 
     // 鍚敤璐︽湡楠岃瘉
     if (verify.accountdate === 'true') {
+      let orgcode = `''`
+      let date = `''`
+      if (verify.accountfield && _initvars.includes(verify.accountfield.toLowerCase())) {
+        orgcode = '@' + verify.accountfield
+      }
+      if (verify.voucherdate && _initvars.includes(verify.voucherdate.toLowerCase())) {
+        date = '@' + verify.voucherdate
+      }
+
       _sql += `
         /* 璐︽湡楠岃瘉 */
-        exec s_FIBVoucherDateCheck @OrgCode=${verify.accountfield ? '@' + verify.accountfield : '\'\''}, @ErrorCode=@ErrorCode OUTPUT,@retmsg=@retmsg OUTPUT
+        exec s_FIBVoucherDateCheck @OrgCode=${orgcode},@FIBVoucherDate=${date},@ErrorCode=@ErrorCode OUTPUT,@retmsg=@retmsg OUTPUT
         if @ErrorCode!=''
           GOTO aaa
         `
@@ -1342,23 +1358,26 @@
       let keys = formdata.map(item => item.key.toLowerCase()) // 琛ㄥ崟瀛楁
 
       verify.billcodes.forEach(item => {
-        if (!keys.includes(item.field.toLowerCase())) return // 琛ㄥ崟涓笉鍚崟鍙风敓鎴愬瓧娈�
+        let _key = item.field.toLowerCase()
+        let _linkKey = item.linkField ? item.linkField.toLowerCase() : ''
+
+        if (!keys.includes(_key)) return // 琛ㄥ崟涓笉鍚崟鍙风敓鎴愬瓧娈�
 
         let _ModularDetailCode = ''
         let _lpline = ''
         if (item.TypeCharOne === 'Lp') {
-          if (item.linkField === 'BID' && BID) { // 鏇挎崲bid
+          if (_linkKey === 'bid' && BID) { // 鏇挎崲bid
             _lpline = `set @ModularDetailCode= 'Lp'+ right('${item.mark || btn.uuid}'+@BID@,48)`
           } else {
-            _lpline = `set @ModularDetailCode= 'Lp'+ right('${item.mark || btn.uuid}'+@${item.linkField},48)`
+            _lpline = `set @ModularDetailCode= 'Lp'+ right('${item.mark || btn.uuid}'+@${_linkKey},48)`
           }
           _ModularDetailCode = '@ModularDetailCode'
         } else if (item.TypeCharOne === 'BN') {
           let _val = ''
-          if (item.linkField === 'BID' && BID) { // 鏇挎崲bid
+          if (_linkKey === 'bid' && BID) { // 鏇挎崲bid
             _val = BID
-          } else if (data && data.hasOwnProperty(item.linkField)) {
-            _val = data[item.linkField]
+          } else if (data && data.hasOwnProperty(_linkKey)) {
+            _val = data[_linkKey]
           }
           _ModularDetailCode = `'${item.TypeCharOne + _val}'`
         } else {
@@ -1366,7 +1385,6 @@
         }
 
         let _declare = ''
-        let _key = item.field.toLowerCase()
 
         if (!_vars.includes(_key)) {
           _declare = `Declare @${_key} nvarchar(50)`
@@ -1399,12 +1417,6 @@
 
     // 鍞竴鎬ч獙璇侊紝蹇呴』瀛樺湪琛ㄥ崟锛堣〃鍗曞瓨鍦ㄦ椂锛屼富閿潎涓哄崟鍊硷級,蹇呴』濉啓鏁版嵁婧愶紝澶氳鎷兼帴鏃朵笉鍙敤
     if (formdata && verify.uniques && verify.uniques.length > 0 && btn.Ot !== 'requiredOnce') {
-      let hasBid = false // 妫�楠岃〃鍗曞強鍒楀瓧娈典腑鏄惁鏈塨id
-      let _keys_ = Object.keys(_formFieldValue).map(key => key.toLowerCase())
-      if (_keys_.includes('bid')) {
-        hasBid = true
-      }
-
       verify.uniques.forEach(item => {
         let _fieldValue = []                     // 琛ㄥ崟閿�煎field=value
         let _value = []                          // 琛ㄥ崟鍊硷紝鐢ㄤ簬閿欒鎻愮ず
@@ -1412,20 +1424,22 @@
         let arr = [] // 楠岃瘉涓婚敭
 
         item.field.split(',').forEach((_field, index) => {
-          let _fval = `'${_formFieldValue[_field]}'`
+          let _key = _field.toLowerCase()
+          let _val = datavars[_key] !== undefined ? datavars[_key] : ''
+          let _fval = `'${_val}'`
 
-          if (_field.toLowerCase() === 'bid' && !hasBid) { // 琛ㄥ崟涓病鏈塨id鍒欎娇鐢ㄧ郴缁焍id鍙橀噺
+          if (_key === 'bid' && !datavars.bid) { // 琛ㄥ崟涓病鏈塨id鍒欎娇鐢ㄧ郴缁焍id鍙橀噺
             _fval = '@BID@'
           }
-          if (_field.toLowerCase() === 'bid' && tab && tab.foreignKey) {
+          if (_key === 'bid' && tab && tab.foreignKey) {
             arr.push(tab.foreignKey.toLowerCase())
             _fieldValue.push(`${tab.foreignKey}=${_fval}`)
           } else {
-            arr.push(_field.toLowerCase())
-            _fieldValue.push(`${_field}=${_fval}`)
+            arr.push(_key)
+            _fieldValue.push(`${_key}=${_fval}`)
           }
           
-          _value.push(`${_labels[index] || ''}锛�${_formFieldValue[_field] || ''}`)
+          _value.push(`${_labels[index] || ''}锛�${_val || ''}`)
         })
 
         let _verifyType = ''
@@ -1492,7 +1506,7 @@
       _sql += `
         /* 鍒涘缓鍑瘉 */
         exec s_BVoucher_Create
-          @Bill ='${data[_voucher.linkField]}',
+          @Bill ='${data[_voucher.linkField.toLowerCase()]}',
           @BVoucherType ='${_voucher.BVoucherType}',
           @VoucherTypeOne ='${_voucher.VoucherTypeOne}',
           @VoucherTypeTwo ='${_voucher.VoucherTypeTwo}',
@@ -1517,9 +1531,10 @@
 
       formdata.forEach(item => {
         if (item.writein === false) return
+        let _key = item.key.toLowerCase()
 
-        keys.push(item.key.toLowerCase())
-        values.push('@' + item.key)
+        keys.push(_key)
+        values.push('@' + _key)
       })
 
       if (!keys.includes(primaryKey.toLowerCase())) {
@@ -1540,13 +1555,13 @@
       }
       if (!keys.includes('bid')) {
         if (tab && tab.foreignKey && !keys.includes(tab.foreignKey.toLowerCase())) {
-          keys.push(tab.foreignKey)
+          keys.push(tab.foreignKey.toLowerCase())
         } else {
           keys.push('bid')
         }
         values.push('@BID@')
       } else if (tab && tab.foreignKey && !keys.includes(tab.foreignKey.toLowerCase())) {
-        keys.push(tab.foreignKey)
+        keys.push(tab.foreignKey.toLowerCase())
         values.push('@BID@')
       }
 
@@ -1562,9 +1577,10 @@
 
       formdata.forEach(item => {
         if (item.writein === false) return
+        let _key = item.key.toLowerCase()
         
-        _arr.push(item.key.toLowerCase())
-        _form.push(item.key + '=@' + item.key)
+        _arr.push(_key)
+        _form.push(_key + '=@' + _key)
       })
 
       if (_actionType === 'audit') {

--
Gitblit v1.8.0