From aaaf56d7ca060f7c681d6b8a67aac46aa89a4dbc Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期六, 09 五月 2020 14:50:39 +0800 Subject: [PATCH] 2020-05-09 --- src/tabviews/managetable/index.jsx | 46 +++++++++++++++++++++++++++++++++++++++------- 1 files changed, 39 insertions(+), 7 deletions(-) diff --git a/src/tabviews/managetable/index.jsx b/src/tabviews/managetable/index.jsx index 9016520..a36a849 100644 --- a/src/tabviews/managetable/index.jsx +++ b/src/tabviews/managetable/index.jsx @@ -410,7 +410,9 @@ let param = { func: 'sPC_Get_TableData', obj_name: 'data', - arr_field: arr_field + arr_field: arr_field, + custom_script: setting.customScript || '', + default_sql: setting.default || 'true' } let _orderBy = orderBy || setting.order @@ -420,25 +422,55 @@ _dataresource = '(' + _dataresource + ') tb' } - if (setting.queryType === 'statistics') { // 缁熻鏁版嵁婧愶紝鍐呭鏇挎崲 + let regoptions = null + if (setting.queryType === 'statistics' || param.custom_script) { let allSearch = Utils.getAllSearchOptions(search) - let options = allSearch.map(item => { + + regoptions = allSearch.map(item => { return { reg: new RegExp('@' + item.key + '@', 'ig'), - value: item.value + value: `'${item.value}'` } }) + } - options.forEach(item => { - _dataresource = _dataresource.replace(item.reg, `'${item.value}'`) + if (setting.queryType === 'statistics') { // 缁熻鏁版嵁婧愶紝鍐呭鏇挎崲 + regoptions.forEach(item => { + _dataresource = _dataresource.replace(item.reg, item.value) }) - _search = '' } let LText = `select top ${pageSize} ${arr_field} from (select ${arr_field} ,ROW_NUMBER() over(order by ${_orderBy}) as rows from ${_dataresource} ${_search}) tmptable where rows > ${pageSize * (pageIndex - 1)} order by tmptable.rows` let DateCount = `select count(1) as total from ${_dataresource} ${_search}` + if (setting.laypage === 'false') { + LText = `select ${arr_field} from (select ${arr_field} ,ROW_NUMBER() over(order by ${_orderBy}) as rows from ${_dataresource} ${_search}) tmptable order by tmptable.rows` + DateCount = '' + } + + if (param.custom_script) { + regoptions.push({ + reg: new RegExp('@orderBy@', 'ig'), + value: _orderBy + }) + if (setting.laypage !== 'false') { + regoptions.push({ + reg: new RegExp('@pageSize@', 'ig'), + value: pageSize + }, { + reg: new RegExp('@pageIndex@', 'ig'), + value: pageIndex + }) + } + + regoptions.forEach(item => { + param.custom_script = param.custom_script.replace(item.reg, item.value) + }) + + param.custom_script = Utils.formatOptions(param.custom_script) + } + param.LText = Utils.formatOptions(LText) param.timestamp = moment().format('YYYY-MM-DD HH:mm:ss') + '.000' param.secretkey = Utils.encrypt(param.LText, param.timestamp) -- Gitblit v1.8.0