From 13fcf5880bd38bafe92f0b4a3ede7fd7d5e2448b Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期三, 03 四月 2024 17:54:16 +0800
Subject: [PATCH] 2024-04-03

---
 src/utils/utils-custom.js |   60 +++++++++++++++++++++++++++++++++++++-----------------------
 1 files changed, 37 insertions(+), 23 deletions(-)

diff --git a/src/utils/utils-custom.js b/src/utils/utils-custom.js
index b426415..209bc75 100644
--- a/src/utils/utils-custom.js
+++ b/src/utils/utils-custom.js
@@ -1009,7 +1009,7 @@
       } 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.initval || `${item.minValue || '-999999'},${item.maxValue || '999999'}`
+        value = item.initval || `${item.minValue || '-999999999'},${item.maxValue || '999999999'}`
       } else if (item.type === 'multiselect' || (item.type === 'checkcard' && item.multiple === 'true')) {
         type = 'multi'
       }
@@ -1058,7 +1058,7 @@
       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) + ')')
+      searchText.push('(' + item.key + ' >= ' + (val[0] || -999999999) + ' AND ' + item.key + ' <= ' + (val[1] || 999999999) + ')')
     } else if (item.type === 'datemonth') {
       if (item.match === '=') {
         searchText.push('(' + item.key + ' = \'' + item.value + '\')')
@@ -1122,10 +1122,10 @@
       let val = item.value.split(',')
       options.push({
         reg: new RegExp('@' + item.key + '@', 'ig'),
-        value: `${val[0] || -999999}`
+        value: `${val[0] || -999999999}`
       }, {
         reg: new RegExp('@' + item.key + '1@', 'ig'),
-        value: `${val[1] || 999999}`
+        value: `${val[1] || 999999999}`
       })
     } else if (item.type === 'datemonth') {
       if (item.match === '=') {
@@ -1186,39 +1186,43 @@
 
   let _usefulFields = []
   searches.forEach(item => {
-    if (!item.field) return
+    let key = item.key || item.field
+    
+    if (!key) return
 
     if (item.type === 'group') {
-      _usefulFields.push(item.field)
-      _usefulFields.push(item.datefield)
-      _usefulFields.push(item.datefield + '1')
+      _usefulFields.push(key)
+      if (item.datefield) {
+        _usefulFields.push(item.datefield)
+        _usefulFields.push(item.datefield + '1')
+      }
     } else if (item.type === 'dateweek') {
-      _usefulFields.push(item.field)
-      _usefulFields.push(item.field + '1')
+      _usefulFields.push(key)
+      _usefulFields.push(key + '1')
     } else if (item.type === 'datemonth') {
       if (item.match === '=') {
-        _usefulFields.push(item.field)
+        _usefulFields.push(key)
       } else {
-        _usefulFields.push(item.field)
-        _usefulFields.push(item.field + '1')
+        _usefulFields.push(key)
+        _usefulFields.push(key + '1')
       }
     } else if (item.type === 'range') {
-      _usefulFields.push(item.field)
-      _usefulFields.push(item.field + '1')
+      _usefulFields.push(key)
+      _usefulFields.push(key + '1')
     } else if (item.type === 'daterange') {
-      let _skey = item.field
-      let _ekey = item.field + '1'
+      let _skey = key
+      let _ekey = key + '1'
 
-      if (/,/.test(item.field)) {
-        _skey = item.field.split(',')[0]
-        _ekey = item.field.split(',')[1]
+      if (/,/.test(key)) {
+        _skey = key.split(',')[0]
+        _ekey = key.split(',')[1]
       }
       _usefulFields.push(_skey)
       _usefulFields.push(_ekey)
-    } else if (item.type === 'date' && _usefulFields.includes(item.field)) {
-      _usefulFields.push(item.field + '1')
+    } else if (item.type === 'date' && _usefulFields.includes(key)) {
+      _usefulFields.push(key + '1')
     } else {
-      _usefulFields.push(item.field)
+      _usefulFields.push(key)
     }
   })
 
@@ -1645,6 +1649,16 @@
 
   if (card.$c_ds) {
     columns = card.columns.map(c => c.field)
+
+    if (card.setting.primaryKey && !columns.includes(card.setting.primaryKey)) {
+      let key = card.setting.primaryKey.toLowerCase()
+      columns.forEach(f => {
+        if (f.toLowerCase() === key) {
+          card.setting.primaryKey = f
+        }
+      })
+    }
+
     if (card.setting.interType === 'system' && card.setting.execute !== 'false' && !card.setting.dataresource) {
       errors.push({ level: 0, detail: '鏈缃暟鎹簮锛�'})
     } else if (card.setting.interType === 'system' && card.setting.execute === 'false' && card.scripts.filter(script => script.status !== 'false').length === 0) {

--
Gitblit v1.8.0