From 131d76f81a4757e6553815b634a529fb81b5a1bc Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期一, 08 一月 2024 16:38:31 +0800
Subject: [PATCH] 2024-01-08

---
 src/tabviews/zshare/topSearch/index.jsx                           |   60 +++++++++++++++++-------------
 src/utils/utils.js                                                |   40 ++++++++++++++++++--
 src/templates/sharecomponent/searchcomponent/searchform/index.jsx |    2 
 3 files changed, 71 insertions(+), 31 deletions(-)

diff --git a/src/tabviews/zshare/topSearch/index.jsx b/src/tabviews/zshare/topSearch/index.jsx
index 02d9067..c3cfc0b 100644
--- a/src/tabviews/zshare/topSearch/index.jsx
+++ b/src/tabviews/zshare/topSearch/index.jsx
@@ -133,20 +133,24 @@
         }
 
         if (d) {
-          if (item.$initval === 'week') {
-            item.initval = [moment(d).startOf('week').format(item.format), moment(d).endOf('week').format(item.format)].join(',')
-          } else if (item.$initval === 'month') {
-            item.initval = [moment(d).startOf('month').format(item.format), moment(d).endOf('month').format(item.format)].join(',')
-          } else if (item.$initval === 'lastMonth') {
-            item.initval = [moment(d).subtract(1, 'months').startOf('month').format(item.format), moment(d).subtract(1, 'months').endOf('month').format(item.format)].join(',')
-          } else {
-            try {
-              let _initval = JSON.parse(item.$initval)
-              let _vals = [moment(d).subtract(_initval[0], 'days').format(item.format), moment(d).subtract(_initval[1], 'days').format(item.format)]
-              item.initval = _vals.join(',')
-            } catch (e) {
-              item.initval = ''
+          if (item.type === 'daterange') {
+            if (item.$initval === 'week') {
+              item.initval = [moment(d).startOf('week').format(item.format), moment(d).endOf('week').format(item.format)].join(',')
+            } else if (item.$initval === 'month') {
+              item.initval = [moment(d).startOf('month').format(item.format), moment(d).endOf('month').format(item.format)].join(',')
+            } else if (item.$initval === 'lastMonth') {
+              item.initval = [moment(d).subtract(1, 'months').startOf('month').format(item.format), moment(d).subtract(1, 'months').endOf('month').format(item.format)].join(',')
+            } else {
+              try {
+                let _initval = JSON.parse(item.$initval)
+                let _vals = [moment(d).subtract(_initval[0], 'days').format(item.format), moment(d).subtract(_initval[1], 'days').format(item.format)]
+                item.initval = _vals.join(',')
+              } catch (e) {
+                item.initval = ''
+              }
             }
+          } else {
+            item.initval = moment(d).subtract(item.$initval, 'month').format('YYYY-MM')
           }
         }
       }
@@ -315,20 +319,24 @@
         }
 
         if (d) {
-          if (item.$initval === 'week') {
-            item.initval = [moment(d).startOf('week').format(item.format), moment(d).endOf('week').format(item.format)].join(',')
-          } else if (item.$initval === 'month') {
-            item.initval = [moment(d).startOf('month').format(item.format), moment(d).endOf('month').format(item.format)].join(',')
-          } else if (item.$initval === 'lastMonth') {
-            item.initval = [moment(d).subtract(1, 'months').startOf('month').format(item.format), moment(d).subtract(1, 'months').endOf('month').format(item.format)].join(',')
-          } else {
-            try {
-              let _initval = JSON.parse(item.$initval)
-              let _vals = [moment(d).subtract(_initval[0], 'days').format(item.format), moment(d).subtract(_initval[1], 'days').format(item.format)]
-              item.initval = _vals.join(',')
-            } catch (e) {
-              item.initval = ''
+          if (item.type === 'daterange') {
+            if (item.$initval === 'week') {
+              item.initval = [moment(d).startOf('week').format(item.format), moment(d).endOf('week').format(item.format)].join(',')
+            } else if (item.$initval === 'month') {
+              item.initval = [moment(d).startOf('month').format(item.format), moment(d).endOf('month').format(item.format)].join(',')
+            } else if (item.$initval === 'lastMonth') {
+              item.initval = [moment(d).subtract(1, 'months').startOf('month').format(item.format), moment(d).subtract(1, 'months').endOf('month').format(item.format)].join(',')
+            } else {
+              try {
+                let _initval = JSON.parse(item.$initval)
+                let _vals = [moment(d).subtract(_initval[0], 'days').format(item.format), moment(d).subtract(_initval[1], 'days').format(item.format)]
+                item.initval = _vals.join(',')
+              } catch (e) {
+                item.initval = ''
+              }
             }
+          } else {
+            item.initval = moment(d).subtract(item.$initval, 'month').format('YYYY-MM')
           }
         }
       }
diff --git a/src/templates/sharecomponent/searchcomponent/searchform/index.jsx b/src/templates/sharecomponent/searchcomponent/searchform/index.jsx
index 21a7065..cd13077 100644
--- a/src/templates/sharecomponent/searchcomponent/searchform/index.jsx
+++ b/src/templates/sharecomponent/searchcomponent/searchform/index.jsx
@@ -240,7 +240,7 @@
       }
       shows.push('linkField')
       reRequired.linkField = false
-    } else if (type === 'daterange') {
+    } else if (type === 'daterange' || type === 'datemonth') {
       if (this.record.initval) {
         shows.push('dateShift')
       }
diff --git a/src/utils/utils.js b/src/utils/utils.js
index f4dc5e3..52c602b 100644
--- a/src/utils/utils.js
+++ b/src/utils/utils.js
@@ -264,7 +264,38 @@
         item.initval = item.initval ? moment().subtract(item.initval, 'days').format(format) : ''
       } else if (item.type === 'datemonth') {
         item.format = 'YYYY-MM'
-        item.initval = item.initval ? moment().subtract(item.initval, 'month').format('YYYY-MM') : ''
+
+        if (item.initval) {
+          if (!item.dateShift) {
+            item.initval = moment().subtract(item.initval, 'month').format('YYYY-MM')
+          } else {
+            item.$initval = item.initval
+            item.$supId = config.$pageId
+            if (config.setting && config.setting.supModule) {
+              item.$supId = config.setting.supModule
+
+              config.checkBid = true
+              config.setting.checkBid = true
+              item.checkShift = true
+            }
+
+            item.initval = ''
+
+            let d = ''
+            if (window.GLOB.CacheData.has(item.$supId)) {
+              d = window.GLOB.CacheData.get(item.$supId)
+              d = d[item.dateShift] || ''
+              if (d) {
+                d = moment(d).format('YYYY-MM-DD')
+                d = d === 'Invalid date' ? '' : d
+              }
+            }
+
+            if (d) {
+              item.initval = moment(d).subtract(item.initval, 'month').format('YYYY-MM')
+            }
+          }
+        }
       } else if (item.type === 'dateweek') {
         item.format = 'YYYY-MM-DD'
         item.initval = item.initval ? moment().subtract(item.initval * 7, 'days').format('YYYY-MM-DD') : ''
@@ -304,11 +335,12 @@
             item.$supId = config.$pageId
             if (config.setting && config.setting.supModule) {
               item.$supId = config.setting.supModule
+
+              config.checkBid = true
+              config.setting.checkBid = true
+              item.checkShift = true
             }
 
-            config.checkBid = true
-            config.setting.checkBid = true
-            item.checkShift = true
             item.initval = ''
 
             let d = ''

--
Gitblit v1.8.0