king
2020-05-18 763a67d39dcb0e5ae49816abcdb9cb7cbc2bd9e0
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(',')
      // 正则替换
      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)
        })