From 763a67d39dcb0e5ae49816abcdb9cb7cbc2bd9e0 Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期一, 18 五月 2020 10:12:31 +0800 Subject: [PATCH] 2020-05-18 --- src/templates/sharecomponent/settingcomponent/settingform/index.jsx | 44 +++++++++++++++++++++++++++++++------------- 1 files changed, 31 insertions(+), 13 deletions(-) diff --git a/src/templates/sharecomponent/settingcomponent/settingform/index.jsx b/src/templates/sharecomponent/settingcomponent/settingform/index.jsx index 76f9893..2f565dc 100644 --- a/src/templates/sharecomponent/settingcomponent/settingform/index.jsx +++ b/src/templates/sharecomponent/settingcomponent/settingform/index.jsx @@ -316,15 +316,46 @@ let _dataresource = _setting.dataresource let _customScript = _setting.customScript + // 鎼滅储鏉′欢 let allSearch = Utils.initMainSearch(config.search) allSearch = Utils.getAllSearchOptions(allSearch) + // 鏄剧ず鍒楀瓧娈碉紝鐢ㄤ簬鏌ヨ + let arr_field = [] + config.columns.forEach(col => { + if (col.field) { + arr_field.push(col.field) + } + }) + arr_field = arr_field.join(',') + + // 姝e垯鏇挎崲 let regoptions = allSearch.map(item => { return { reg: new RegExp('@' + item.key + '@', 'ig'), value: `'${item.value}'` } }) + regoptions.push({ + reg: new RegExp('@orderBy@', 'ig'), + value: _setting.order + }) + if (_setting.laypage !== 'false') { + regoptions.push({ + reg: new RegExp('@pageSize@', 'ig'), + value: 10 + }, { + reg: new RegExp('@pageIndex@', 'ig'), + value: 1 + }) + } + + // 鏁版嵁婧愬鐞� + if (/\s/.test(_dataresource)) { + _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}) tmptable ${_setting.laypage !== 'false' ? 'where rows > 0' : ''} order by tmptable.rows` if (_setting.queryType === 'statistics') { regoptions.forEach(item => { @@ -333,19 +364,6 @@ } if (_customScript) { - regoptions.push({ - reg: new RegExp('@orderBy@', 'ig'), - value: _setting.order - }) - if (_setting.laypage !== 'false') { - regoptions.push({ - reg: new RegExp('@pageSize@', 'ig'), - value: 10 - }, { - reg: new RegExp('@pageIndex@', 'ig'), - value: 1 - }) - } regoptions.forEach(item => { _customScript = _customScript.replace(item.reg, item.value) }) -- Gitblit v1.8.0