From ecbe0dc46ce2b8f607b9afd063104adeb7f10fe8 Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期二, 30 三月 2021 15:19:31 +0800 Subject: [PATCH] 2021-03-30 --- src/menu/datasource/verifycard/utils.jsx | 54 +++++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 43 insertions(+), 11 deletions(-) diff --git a/src/menu/datasource/verifycard/utils.jsx b/src/menu/datasource/verifycard/utils.jsx index bb94a8f..3497b15 100644 --- a/src/menu/datasource/verifycard/utils.jsx +++ b/src/menu/datasource/verifycard/utils.jsx @@ -23,27 +23,39 @@ } if (setting.interType === 'system' && setting.execute !== 'false') { - _dataresource = setting.dataresource + _dataresource = setting.dataresource || '' } - if (_dataresource) { - _dataresource = _dataresource.replace(/@\$|\$@/ig, '') - } - if (_customScript) { - _customScript = _customScript.replace(/@\$|\$@/ig, '') - } + _dataresource = _dataresource.replace(/@\$|\$@/ig, '') + _customScript = _customScript.replace(/@\$|\$@/ig, '') if (_customScript) { - _customScript = `declare @ErrorCode nvarchar(50),@retmsg nvarchar(4000) select @ErrorCode='',@retmsg ='' + _customScript = `declare @ErrorCode nvarchar(50),@retmsg nvarchar(4000),@UserName nvarchar(50),@FullName nvarchar(50) select @ErrorCode='',@retmsg ='' ${_customScript} ` } + + // 澶栬仈鏁版嵁搴撴浛鎹� + if (window.GLOB.externalDatabase !== null) { + _dataresource = _dataresource.replace(/@db@/ig, window.GLOB.externalDatabase) + _customScript = _customScript.replace(/@db@/ig, window.GLOB.externalDatabase) + } + + if (window.GLOB.urlFields) { + window.GLOB.urlFields.forEach(field => { + let reg = new RegExp('@' + field + '@', 'ig') + _dataresource = _dataresource.replace(reg, '0') + _customScript = _customScript.replace(reg, '0') + }) + } + // 姝e垯鏇挎崲 let _regoptions = [] let _fields = [] searches.forEach(item => { + if (!item.field) return if (item.datefield) { _regoptions.push({ var: new RegExp('@' + item.datefield, 'ig'), @@ -76,6 +88,13 @@ reg: new RegExp('@' + item.field + '@', 'ig') }) } + } else if (item.type === 'text' || item.type === 'select') { + item.field.split(',').forEach(field => { + _regoptions.push({ + var: new RegExp('@' + field, 'ig'), + reg: new RegExp('@' + field + '@', 'ig') + }) + }) } else { _regoptions.push({ var: new RegExp('@' + item.field, 'ig'), @@ -100,6 +119,14 @@ _regoptions.push({ var: new RegExp('@orderBy', 'ig'), reg: new RegExp('@orderBy@', 'ig'), + }) + _regoptions.push({ + var: new RegExp('@UserName', 'ig'), + reg: new RegExp('@UserName@', 'ig'), + }) + _regoptions.push({ + var: new RegExp('@FullName', 'ig'), + reg: new RegExp('@FullName@', 'ig'), }) if (setting.laypage !== 'false') { _regoptions.push({ @@ -141,19 +168,24 @@ _dataresource = '(' + _dataresource + ') tb' } - _dataresource = `select ${setting.laypage !== 'false' ? 'top 10' : ''} ${arr_field} from (select ${arr_field} ,ROW_NUMBER() over(order by ${setting.order}) as rows from ${_dataresource} ${_search}) tmptable ${setting.laypage !== 'false' ? 'where rows > 0' : ''} order by tmptable.rows` + _dataresource = `select${setting.laypage !== 'false' ? ' top 10' : ''} ${arr_field} from (select ${arr_field} ,ROW_NUMBER() over(order by ${setting.order}) as rows from ${_dataresource} ${_search}) tmptable ${setting.laypage !== 'false' ? 'where rows > 0' : ''} order by tmptable.rows` } if (_customScript) { - sql = `${_customScript} + sql = `/* sql 楠岃瘉 */ + ${_customScript} ${_dataresource} aaa: if @ErrorCode!='' insert into tmp_err_retmsg (ID, ErrorCode, retmsg, CreateUserID) select @time_id@,@ErrorCode, @retmsg,@UserID@ ` } else { - sql = _dataresource + sql = `/* sql 楠岃瘉 */ + ${_dataresource}` } + sql = sql.replace(/\n\s{8}/ig, '\n') + + console.info(sql) return { error, sql } } -- Gitblit v1.8.0