From 9348217f72a36dc66d86934acbf439096a7ec503 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期二, 14 一月 2025 12:02:47 +0800
Subject: [PATCH] 2025-01-14

---
 src/utils/utils.js |   39 ++++++++++++++++++++++-----------------
 1 files changed, 22 insertions(+), 17 deletions(-)

diff --git a/src/utils/utils.js b/src/utils/utils.js
index a93c540..dde2cfb 100644
--- a/src/utils/utils.js
+++ b/src/utils/utils.js
@@ -1771,11 +1771,10 @@
  * @return {Array}   columns   鏄剧ず鍒�
  * @return {Boolean} retmsg    鏄惁闇�瑕佹暟鎹繑鍥�
  */
-export function getSysDefaultSql (btn, setting, formdata, param, data, columns, retmsg = false) {
+export function getSysDefaultSql (btn, setting, formdata, param, data, columns, retmsg = false, submitType = '') {
   let primaryId = param.ID
   let BID = param.BID || ''
   let verify = btn.verify || {}
-  let datavars = {}                 // 澹版槑鐨勫彉閲忥紝琛ㄥ崟鍙婃樉绀哄垪
   let _actionType = null
   let _callbacksql = ''
 
@@ -1809,7 +1808,7 @@
   })
 
   // 闇�瑕佸0鏄庣殑鍙橀噺闆�
-  let _vars = ['tbid', 'errorcode', 'retmsg', 'billcode', 'bvoucher', 'fibvoucherdate', 'fiyear', 'username', 'fullname', 'modulardetailcode', 'roleid', 'mk_departmentcode', 'mk_organization', 'mk_user_type', 'mk_nation', 'mk_province', 'mk_city', 'mk_district', 'mk_address', 'mk_deleted', 'bid']
+  let _vars = ['tbid', 'errorcode', 'retmsg', 'billcode', 'bvoucher', 'fibvoucherdate', 'fiyear', 'username', 'fullname', 'modulardetailcode', 'roleid', 'mk_departmentcode', 'mk_organization', 'mk_user_type', 'mk_nation', 'mk_province', 'mk_city', 'mk_district', 'mk_address', 'mk_deleted', 'bid', 'mk_submit_type']
 
   // 涓婚敭瀛楁
   let primaryKey = setting.primaryKey || 'id'
@@ -1825,7 +1824,6 @@
   // 鑾峰彇瀛楁閿�煎
   formdata && formdata.forEach(form => {
     let _key = form.key.toLowerCase()
-    datavars[_key] = form.value
 
     if (!_initvars.includes(_key)) {
       _initvars.push(_key)
@@ -1880,14 +1878,12 @@
 
   // 娣诲姞鏁版嵁涓瓧娈碉紝琛ㄥ崟鍊间紭鍏�(鎸夐挳涓嶉�夎鎴栧琛屾嫾鎺ユ椂璺宠繃)
   if (data && btn.Ot !== 'notRequired' && columns && columns.length > 0) {
-    datavars = {..._data, ...datavars}
-
     const setField = (col) => {
       if (!col.field) return
       let _key = col.field.toLowerCase()
 
       if (!_initvars.includes(_key)) {
-        let _val = datavars.hasOwnProperty(_key) ? datavars[_key] : ''
+        let _val = _data.hasOwnProperty(_key) ? _data[_key] : ''
 
         if (col.datatype && /^date/ig.test(col.datatype) && !_val) {
           _val = '1949-10-01'
@@ -1942,7 +1938,7 @@
     _declarefields = ',' + _declarefields
   }
   _sql = `/* 绯荤粺鐢熸垚 */
-      Declare @tbid nvarchar(50),@ErrorCode nvarchar(50),@retmsg nvarchar(4000),@BillCode nvarchar(50),@BVoucher nvarchar(50),@FIBVoucherDate nvarchar(50), @FiYear nvarchar(50),@ModularDetailCode nvarchar(50), @UserName nvarchar(50),@FullName nvarchar(50),@RoleID nvarchar(512),@mk_departmentcode nvarchar(512),@mk_organization nvarchar(512),@mk_user_type nvarchar(20),@mk_nation nvarchar(50),@mk_province nvarchar(50),@mk_city nvarchar(50),@mk_district nvarchar(50),@mk_address nvarchar(100),@mk_deleted int,@bid nvarchar(50)${_declarefields}
+      Declare @tbid nvarchar(50),@ErrorCode nvarchar(50),@retmsg nvarchar(4000),@BillCode nvarchar(50),@BVoucher nvarchar(50),@FIBVoucherDate nvarchar(50), @FiYear nvarchar(50),@ModularDetailCode nvarchar(50), @UserName nvarchar(50),@FullName nvarchar(50),@RoleID nvarchar(512),@mk_departmentcode nvarchar(512),@mk_organization nvarchar(512),@mk_user_type nvarchar(20),@mk_nation nvarchar(50),@mk_province nvarchar(50),@mk_city nvarchar(50),@mk_district nvarchar(50),@mk_address nvarchar(100),@mk_deleted int,@bid nvarchar(50),@mk_submit_type nvarchar(50)${_declarefields}
     `
 
   let userName = sessionStorage.getItem('User_Name') || '' 
@@ -1960,7 +1956,7 @@
   // 鍒濆鍖栧嚟璇佸強鐢ㄦ埛淇℃伅瀛楁
   _sql += `
       /* 鍑瘉鍙婄敤鎴蜂俊鎭垵濮嬪寲璧嬪�� */
-      select @BVoucher='',@FIBVoucherDate='',@FiYear='',@ErrorCode='',@retmsg='',@UserName='${userName}', @FullName='${fullName}', @RoleID='${RoleID}', @mk_departmentcode='${departmentcode}', @mk_organization='${organization}', @mk_user_type='${mk_user_type}', @mk_nation='${nation}', @mk_province='${province}', @mk_city='${city}', @mk_district='${district}', @mk_address='${address}', @mk_deleted=1, @bid='${BID}', @BillCode='', @ModularDetailCode=''
+      select @BVoucher='',@FIBVoucherDate='',@FiYear='',@ErrorCode='',@retmsg='',@UserName='${userName}', @FullName='${fullName}', @RoleID='${RoleID}', @mk_departmentcode='${departmentcode}', @mk_organization='${organization}', @mk_user_type='${mk_user_type}', @mk_nation='${nation}', @mk_province='${province}', @mk_city='${city}', @mk_district='${district}', @mk_address='${address}', @mk_deleted=1, @bid='${BID}', @mk_submit_type='${submitType}', @BillCode='', @ModularDetailCode=''
       `
 
   // 琛ㄥ崟鍙橀噺璧嬪��
@@ -2176,18 +2172,27 @@
 
       item.field.split(',').forEach((_field, index) => {
         let _key = _field.toLowerCase()
-        let _val = datavars[_key] !== undefined ? datavars[_key] : ''
+        let _val = ''
+        let _val2 = ''
 
         arr.push(_key)
-        if (_key === 'bid' && !_val) { // 琛ㄥ崟涓病鏈塨id鍒欎娇鐢ㄧ郴缁焍id鍙橀噺
-          _val = BID
+        if (_key === 'bid') {
+          _val = `'${BID}'`
+        } else {
+          _val = `@${_field}`
         }
-
-        _fieldValue.push(`${_key}='${_val}'`)
-        _value.push(`${_labels[index] || ''}锛�${_val || ''}`)
+        
+        if (_key === 'bid') {
+          _val2 = BID
+        } else {
+          _val2 = `' + @${_field} + '`
+        }
+        
+        _fieldValue.push(`${_key}=${_val}`)
+        _value.push(`${_labels[index] || ''}锛�${_val2}`)
       })
 
-      if (!arr.includes(primaryKey.toLowerCase())) {
+      if (!arr.includes(primaryKey.toLowerCase()) && btn.Ot !== 'notRequired') {
         _fieldValue.push(`${primaryKey} !='${primaryId}'`)
       }
 
@@ -2246,7 +2251,7 @@
     _sql += `
       /* 鍒涘缓鍑瘉 */
       exec s_BVoucher_Create
-        @Bill ='${_data[_voucher.linkField.toLowerCase()] || ''}',
+        @Bill = @${_voucher.linkField},
         @BVoucherType ='${_voucher.BVoucherType}',
         @VoucherTypeOne ='${_voucher.VoucherTypeOne}',
         @VoucherTypeTwo ='${_voucher.VoucherTypeTwo}',

--
Gitblit v1.8.0