lilei 2 jaren geleden
bovenliggende
commit
527af4903b
2 gewijzigde bestanden met toevoegingen van 32 en 8 verwijderingen
  1. 1 1
      public/version.json
  2. 31 7
      src/views/common/rangeDate.vue

+ 1 - 1
public/version.json

@@ -1,5 +1,5 @@
 {
   "message": "发现有新版本发布,确定更新系统?",
   "vendorJsVersion": "",
-  "version": 1673847665516
+  "version": 1673859469542
 }

+ 31 - 7
src/views/common/rangeDate.vue

@@ -88,7 +88,9 @@ export default {
         'date3': [moment().startOf('month'), moment()],
         'date4': [moment().subtract(1, 'months').startOf('month'), moment().subtract(1, 'months').endOf('month')],
         'date5': [moment().subtract(1, 'years'), moment()]
-      }
+      },
+      startMode:'',
+      endMode: ''
     }
   },
   watch: {
@@ -99,12 +101,14 @@ export default {
       if(val && !this.endValue){
         this.endOpen = true
       }
+      this.startValue = val
       this.changeInput()
     },
     endValue (val,old) {
       if(old&&!val){
         this.startValue = undefined
       }
+      this.endValue = val
       this.changeInput()
     }
   },
@@ -122,7 +126,11 @@ export default {
         if (!this.startValue) {
           return startValue.valueOf() > moment(endValue, 'YYYY-MM-DD').add(1, 'days').valueOf() || startValue.valueOf() > maxYearVs.valueOf()
         }
-        return startValue.valueOf() > endValue.valueOf() || startValue.valueOf() > maxYearVs.valueOf()
+        if(this.startMode == 'year'){
+          console.log(moment(endValue).valueOf(),maxYearVs.valueOf())
+          return startValue.valueOf() > moment().endOf('year').valueOf()
+        }
+        return startValue.valueOf() > moment(endValue).valueOf() || startValue.valueOf() > maxYearVs.valueOf()
       }
       return startValue.valueOf() > maxYearVs.valueOf()
     },
@@ -130,7 +138,15 @@ export default {
       const startValue = this.startValue
       const maxYearVs = moment().endOf('day') //  今天,包含今天
       if (startValue) {
-        return startValue.valueOf() > endValue.valueOf() || endValue.valueOf() > maxYearVs.valueOf()
+        if(this.endMode == 'year'){
+          const sv = moment(startValue).startOf('year')
+          return endValue.valueOf() < sv.valueOf() || endValue.valueOf() > maxYearVs.valueOf()
+        }
+        if(this.endMode == 'month'){
+          const sv = moment(startValue).startOf('month')
+          return endValue.valueOf() < sv.valueOf() || endValue.valueOf() > maxYearVs.valueOf()
+        }
+        return moment(startValue).valueOf() > endValue.valueOf() || endValue.valueOf() > maxYearVs.valueOf()
       }
       return endValue.valueOf() > maxYearVs.valueOf()
     },
@@ -138,16 +154,24 @@ export default {
       if(!open && !this.endValue){
         this.endOpen = !!this.startValue
       }
+      if(!open){
+        this.startMode = ''
+      }
       this.startOpen = open
     },
     handleEndOpenChange (open) {
+      if(!open){
+        this.endMode = ''
+      }
       this.endOpen = open
     },
-    handleStartPanelChange (v) {
-      console.log(v)
+    handleStartPanelChange (v, mode) {
+      console.log(v, mode)
+      this.startMode = mode
     },
-    handleEndPanelChange (v) {
-      console.log(v)
+    handleEndPanelChange (v, mode) {
+      console.log(v, mode)
+      this.endMode = mode
     },
     changeInput () {
       const startValue = this.startValue