From 9a1416e0b5cdb40f49b3c2061b04b35551d77e99 Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期二, 19 九月 2023 18:14:21 +0800 Subject: [PATCH] 2023-09-19 --- src/menu/datasource/verifycard/utils.jsx | 79 ++++++--------------------------------- 1 files changed, 12 insertions(+), 67 deletions(-) diff --git a/src/menu/datasource/verifycard/utils.jsx b/src/menu/datasource/verifycard/utils.jsx index ad11e06..cea7779 100644 --- a/src/menu/datasource/verifycard/utils.jsx +++ b/src/menu/datasource/verifycard/utils.jsx @@ -1,4 +1,6 @@ +import { getSearchRegs, joinMainSearchkey } from '@/utils/utils-custom.js' + export default class SettingUtils { /** * @description 鐢熸垚椤甸潰鏌ヨ璇彞 @@ -7,7 +9,7 @@ * @return {Object} setting 椤甸潰璁剧疆 * @return {Array} columns 鏄剧ず瀛楁 */ - static getDebugSql (setting, scripts, columns, searches = [], defSearch, type) { + static getDebugSql (setting, scripts, columns, searches = [], type) { let sql = '' let error = '' let _dataresource = '' @@ -95,85 +97,28 @@ } // 姝e垯鏇挎崲 - let _regoptions = [] - let _fields = [] let custompage = /@pageSize@|@orderBy@/i.test(_dataresource + _customScript) + let _regoptions = getSearchRegs(searches) - searches.forEach(item => { - if (!item.field) return - if (item.datefield) { - _regoptions.push({ - reg: new RegExp('@' + item.datefield + '@', 'ig') - }) - _regoptions.push({ - reg: new RegExp('@' + item.datefield + '1@', 'ig') - }) - } - if (['dateweek', 'datemonth', 'range'].includes(item.type)) { - _regoptions.push({ - reg: new RegExp('@' + item.field + '@', 'ig') - }) - _regoptions.push({ - reg: new RegExp('@' + item.field + '1@', 'ig') - }) - } else if (item.type === 'daterange') { - let _skey = item.field - let _ekey = item.field + '1' - - if (/,/.test(item.field)) { - _skey = item.field.split(',')[0] - _ekey = item.field.split(',')[1] - } - - _regoptions.push({ - reg: new RegExp('@' + _skey + '@', 'ig') - }) - _regoptions.push({ - reg: new RegExp('@' + _ekey + '@', 'ig') - }) - } else if (item.type === 'date') { - if (_fields.includes(item.field)) { - _regoptions.push({ - reg: new RegExp('@' + item.field + '1@', 'ig') - }) - } else { - _fields.push(item.field) - _regoptions.push({ - reg: new RegExp('@' + item.field + '@', 'ig') - }) - } - } else if (item.type === 'text' || item.type === 'select') { - item.field.split(',').forEach(field => { - _regoptions.push({ - reg: new RegExp('@' + field + '@', 'ig') - }) - }) - } else { - _regoptions.push({ - reg: new RegExp('@' + item.field + '@', 'ig') - }) - } - }) + let _search = joinMainSearchkey(searches) + _search = _search ? 'where ' + _search : '' _regoptions.push({ reg: new RegExp('@orderBy@', 'ig'), - }, { - reg: new RegExp('@UserName@', 'ig'), - }, { - reg: new RegExp('@FullName@', 'ig'), + value: setting.order || '' }, { reg: new RegExp('@pageSize@', 'ig'), + value: 9999 }, { reg: new RegExp('@pageIndex@', 'ig'), + value: 1 }) _regoptions.forEach(item => { - _dataresource = _dataresource.replace(item.reg, '0') - _customScript = _customScript.replace(item.reg, '0') - _tailScript = _tailScript.replace(item.reg, '0') + _dataresource = _dataresource.replace(item.reg, item.value || '0') + _customScript = _customScript.replace(item.reg, item.value || '0') + _tailScript = _tailScript.replace(item.reg, item.value || '0') }) - - let _search = defSearch if (setting.queryType === 'statistics') { _search = '' -- Gitblit v1.8.0