From 74b579ec300b2316c6ec0a744ea3c0ad9f8b54d3 Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期一, 20 一月 2025 15:30:54 +0800 Subject: [PATCH] 2025-01-20 --- src/utils/utils.js | 35 ++++++++++++++++++++++++++++++++--- 1 files changed, 32 insertions(+), 3 deletions(-) diff --git a/src/utils/utils.js b/src/utils/utils.js index bc7e3d2..8f21c6f 100644 --- a/src/utils/utils.js +++ b/src/utils/utils.js @@ -1522,7 +1522,7 @@ * @return {Object} item 鎸夐挳淇℃伅 * @return {Array} data excel鏁版嵁 */ -export function getEditTableSql (verify, data, columns) { +export function getEditTableSql (verify, data, columns, setting) { let btn = verify let userName = sessionStorage.getItem('User_Name') || '' let fullName = sessionStorage.getItem('Full_Name') || '' @@ -1641,6 +1641,7 @@ let _fields = unique.field.split(',') let _fields_ = _fields.map(_field => `a.${_field}=b.${_field}`) _fields_ = _fields_.join(' and ') + _fields_ += ` and a.jskey != b.${setting.primaryKey || 'id'}` let _where = [] _fields.forEach(f => { @@ -1697,6 +1698,7 @@ let declarefields = [] let fields = [] + let upFields = [] columns.forEach(col => { let key = col.field.toLowerCase() @@ -1704,15 +1706,27 @@ declarefields.push(`${col.field} ${col.datatype}`) fields.push(col.field) + upFields.push(`${col.field}=t.${col.field}`) }) fields = fields.join(',') + upFields = upFields.join(',') let _insert = '' if (btn.default !== 'false') { _insert = ` /* 榛樿sql */ - Insert into ${database}${sheet} (${fields},createuserid,createuser,createstaff,bid) + update a set ${upFields},modifydate=getdate(),modifyuserid='${sessionStorage.getItem('UserID') || ''}',modifyuser=@username,modifystaff=@fullname,deleted=0 + from (select * from #${sheet} where data_type='upt') t + inner join ${database}${sheet} a on t.jskey=a.${setting.primaryKey || 'id'} + + update a set deleted=1,modifydate=getdate(),modifyuserid='${sessionStorage.getItem('UserID') || ''}',modifyuser=@username,modifystaff=@fullname + from (select * from #${sheet} where data_type='del') t + inner join ${database}${sheet} a on t.jskey=a.${setting.primaryKey || 'id'} + + delete t from #${sheet} t inner join ${database}${sheet} a on t.jskey=a.${setting.primaryKey || 'id'} + + Insert into ${database}${sheet} (${fields},createuserid,createuser,createstaff,bid) Select ${fields},'${sessionStorage.getItem('UserID') || ''}',@username,@fullname,'${BID}' From #${sheet} ` } @@ -1820,9 +1834,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 +1855,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}`) @@ -2879,6 +2904,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