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/index.jsx |   89 +++++---------------------------------------
 1 files changed, 11 insertions(+), 78 deletions(-)

diff --git a/src/menu/datasource/verifycard/index.jsx b/src/menu/datasource/verifycard/index.jsx
index 266395c..97016ce 100644
--- a/src/menu/datasource/verifycard/index.jsx
+++ b/src/menu/datasource/verifycard/index.jsx
@@ -8,7 +8,7 @@
 
 import Api from '@/api'
 import Utils from '@/utils/utils.js'
-
+import { formatSearch, joinMainSearchkey } from '@/utils/utils-custom.js'
 import asyncComponent from '@/utils/asyncComponent'
 import ColForm from './columnform'
 import CustomScriptsForm from './customscript'
@@ -44,7 +44,6 @@
     initsql: '',          // sql楠岃瘉鏃跺彉閲忓0鏄庡強璧嬪��
     usefulfields: '',
     defaultsql: '',       // 榛樿Sql
-    defaultSearch: '',
     systemScripts: [],
     median: {},
     visible: false,
@@ -210,11 +209,6 @@
       })
     }
 
-    let _search = this.formatSearch(search)
-    _search = Utils.joinMainSearchkey(_search)
-
-    _search = _search.replace(/@\$@/ig, '')
-    _search = _search ? 'where ' + _search : ''
     let columns = config.columns ? fromJS(config.columns).toJS() : []
     let subColumns = config.subColumns ? fromJS(config.subColumns).toJS() : []
 
@@ -227,8 +221,7 @@
       subColumns: subColumns,
       setting: _setting,
       median: _setting,
-      searches: search,
-      defaultSearch: _search,
+      searches: formatSearch(search),
       searchKey: '',
       debugId: _setting.debugId || ''
     })
@@ -426,15 +419,8 @@
           search = [...search, ...mainSearch]
         }
 
-        let _search = this.formatSearch(search)
-        _search = Utils.joinMainSearchkey(_search)
-
-        _search = _search.replace(/@\$@/ig, '')
-        _search = _search ? 'where ' + _search : ''
-
         this.setState({
-          searches: search,
-          defaultSearch: _search,
+          searches: formatSearch(search),
           setting: res
         }, () => {
           this.sqlverify(() => { // 楠岃瘉鎴愬姛
@@ -513,9 +499,12 @@
   }
 
   getdefaultSql = () => {
-    const { columns, setting, defaultSearch } = this.state
+    const { columns, setting, searches } = this.state
     let defaultsql = ''
     let arr_field = columns.map(col => col.field).join(',')
+
+    let _search = joinMainSearchkey(searches)
+    _search = _search ? 'where ' + _search : ''
 
     if (setting.dataresource) {
       let _dataresource = setting.dataresource
@@ -524,59 +513,10 @@
         _dataresource = '(' + _dataresource + ') tb'
       }
 
-      defaultsql = `select top @pageSize@ ${arr_field} from (select ${arr_field} ,ROW_NUMBER() over(order by @orderBy@) as rows from ${_dataresource} ${defaultSearch}) tmptable where rows > (@pageSize@ * (@pageIndex@ - 1)) order by tmptable.rows`
+      defaultsql = `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`
     }
 
     this.setState({defaultsql})
-  }
-
-  /**
-   * @description 鑾峰彇鍏ㄩ儴鎼滅储鏉′欢
-   * @param {Array} searches 鎼滅储鏉′欢鏁扮粍
-   */
-  formatSearch (searches) {
-    if (!searches) return []
-
-    let newsearches = []
-    searches.forEach(search => {
-      if (!search.field) return
-      
-      let item = {
-        key: search.field,
-        match: search.match,
-        type: search.type,
-        label: search.label,
-        value: search.initval,
-        required: search.required === 'true'
-      }
-      if (item.type === 'group') {
-        item.key = search.datefield
-        item.type = 'daterange'
-        item.match = 'between'
-        item.value = [moment().format('YYYY-MM-DD'), moment().format('YYYY-MM-DD')].join(',')
-
-        newsearches.push(item)
-        return
-      } else if (item.type === 'date') {
-        item.value = moment().format('YYYY-MM-DD')
-      } else if (item.type === 'datemonth') {
-        item.value = moment().format('YYYY-MM')
-      } else if (item.type === 'dateweek') {
-        item.value = moment().format('YYYY-MM-DD')
-      } else if (item.type === 'daterange') {
-        item.value = [moment().format('YYYY-MM-DD'), moment().format('YYYY-MM-DD')].join(',')
-      } else if (item.type === 'range') {
-
-      } else if (item.type === 'multiselect' || (item.type === 'checkcard' && search.multiple === 'true')) {
-        item.type = 'multi'
-        item.value = '@$@'
-      } else {
-        item.value = '@$@'
-      }
-      newsearches.push(item)
-    })
-
-    return newsearches
   }
 
   submitDataSource = () => {
@@ -611,15 +551,8 @@
             search = [...search, ...mainSearch]
           }
 
-          let _search = this.formatSearch(search)
-          _search = Utils.joinMainSearchkey(_search)
-
-          _search = _search.replace(/@\$@/ig, '')
-          _search = _search ? 'where ' + _search : ''
-
           this.setState({
-            searches: search,
-            defaultSearch: _search,
+            searches: formatSearch(search),
             setting: res
           }, () => {
             this.sqlverify(() => { resolve({setting: res, columns, subColumns, scripts, cols }) }, reject, 'submit')
@@ -674,7 +607,7 @@
 
   sqlverify = (resolve, reject, type, testScripts) => {
     const { config } = this.props
-    const { columns, setting, scripts, searches, defaultSearch, debugId } = this.state
+    const { columns, setting, scripts, searches, debugId } = this.state
 
     let _scripts = scripts.filter(item => item.status !== 'false')
 
@@ -697,7 +630,7 @@
     }
 
     if ((setting.interType === 'system' && setting.execute !== 'false') || _scripts.length > 0) {
-      let r = SettingUtils.getDebugSql(setting, _scripts, columns, searches, defaultSearch, config.type)
+      let r = SettingUtils.getDebugSql(setting, _scripts, columns, searches, config.type)
 
       let _debugId = md5(r.sql)
 

--
Gitblit v1.8.0