From 1e4a7720c748bc0206b02b30f4a2e0b3dafb54f3 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期一, 19 二月 2024 13:31:13 +0800
Subject: [PATCH] 2024-02-19

---
 src/utils/utils-custom.js |   71 ++++++++++++++++++++++++++++++++---
 1 files changed, 64 insertions(+), 7 deletions(-)

diff --git a/src/utils/utils-custom.js b/src/utils/utils-custom.js
index b95c0eb..b426415 100644
--- a/src/utils/utils-custom.js
+++ b/src/utils/utils-custom.js
@@ -993,7 +993,7 @@
         forbid: item.query === 'false'
       })
     } else {
-      let value = item.initval
+      let value = '0'
       let type = item.type
 
       if (item.type === 'date') {
@@ -1009,13 +1009,11 @@
       } else if (item.type === 'daterange') {
         value = '1949-10-01 00:00:00.000,1949-10-02 00:00:00.000'
       } else if (item.type === 'range') {
-        value = `${item.minValue},${item.maxValue}`
+        value = item.initval || `${item.minValue || '-999999'},${item.maxValue || '999999'}`
       } else if (item.type === 'multiselect' || (item.type === 'checkcard' && item.multiple === 'true')) {
         type = 'multi'
-        value = '0'
-      } else {
-        value = '0'
       }
+
       newsearches.push({
         key: item.field,
         match: item.match,
@@ -1055,9 +1053,12 @@
       searchText.push(`('${item.value}' ${item.match} '%'+${item.key}+'%')`)
     } else if (item.type === 'date') {
       searchText.push('(' + item.key + ' ' + item.match + ' \'' + item.value + '\')')
-    } else if (item.type === 'dateweek' || item.type === 'range') {
+    } else if (item.type === 'dateweek') {
       let val = item.value.split(',')
       searchText.push('(' + item.key + ' >= \'' + val[0] + '\' AND ' + item.key + ' < \'' + val[1] + '\')')
+    } else if (item.type === 'range') {
+      let val = item.value.split(',')
+      searchText.push('(' + item.key + ' >= ' + (val[0] || -999999) + ' AND ' + item.key + ' <= ' + (val[1] || 999999) + ')')
     } else if (item.type === 'datemonth') {
       if (item.match === '=') {
         searchText.push('(' + item.key + ' = \'' + item.value + '\')')
@@ -1108,7 +1109,7 @@
         })
       }
       
-    } else if (['dateweek', 'range'].includes(item.type)) {
+    } else if (item.type === 'dateweek') {
       let val = item.value.split(',')
       options.push({
         reg: new RegExp('@' + item.key + '@', 'ig'),
@@ -1116,6 +1117,15 @@
       }, {
         reg: new RegExp('@' + item.key + '1@', 'ig'),
         value: `'${val[1]}'`
+      })
+    } else if (item.type === 'range') {
+      let val = item.value.split(',')
+      options.push({
+        reg: new RegExp('@' + item.key + '@', 'ig'),
+        value: `${val[0] || -999999}`
+      }, {
+        reg: new RegExp('@' + item.key + '1@', 'ig'),
+        value: `${val[1] || 999999}`
       })
     } else if (item.type === 'datemonth') {
       if (item.match === '=') {
@@ -1169,6 +1179,53 @@
 }
 
 /**
+ * @description 鑾峰彇鎼滅储瀛楁
+ */
+export function getSearchFields (searches) {
+  if (!searches) return ''
+
+  let _usefulFields = []
+  searches.forEach(item => {
+    if (!item.field) return
+
+    if (item.type === 'group') {
+      _usefulFields.push(item.field)
+      _usefulFields.push(item.datefield)
+      _usefulFields.push(item.datefield + '1')
+    } else if (item.type === 'dateweek') {
+      _usefulFields.push(item.field)
+      _usefulFields.push(item.field + '1')
+    } else if (item.type === 'datemonth') {
+      if (item.match === '=') {
+        _usefulFields.push(item.field)
+      } else {
+        _usefulFields.push(item.field)
+        _usefulFields.push(item.field + '1')
+      }
+    } else if (item.type === 'range') {
+      _usefulFields.push(item.field)
+      _usefulFields.push(item.field + '1')
+    } 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]
+      }
+      _usefulFields.push(_skey)
+      _usefulFields.push(_ekey)
+    } else if (item.type === 'date' && _usefulFields.includes(item.field)) {
+      _usefulFields.push(item.field + '1')
+    } else {
+      _usefulFields.push(item.field)
+    }
+  })
+
+  return _usefulFields.join(', ')
+}
+
+/**
  * @description 閲嶇疆绉诲姩绔痵tyle
  * @return {Object}  style
  */

--
Gitblit v1.8.0