From 4190affb665438b1067af88f09e8557abbbfea2b Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期四, 04 十一月 2021 00:03:46 +0800
Subject: [PATCH] 2021-11-04

---
 src/tabviews/zshare/mutilform/mkDatePicker/index.jsx |   22 ++++++++++++++++++++--
 1 files changed, 20 insertions(+), 2 deletions(-)

diff --git a/src/tabviews/zshare/mutilform/mkDatePicker/index.jsx b/src/tabviews/zshare/mutilform/mkDatePicker/index.jsx
index 3d4377b..b2acd83 100644
--- a/src/tabviews/zshare/mutilform/mkDatePicker/index.jsx
+++ b/src/tabviews/zshare/mutilform/mkDatePicker/index.jsx
@@ -31,6 +31,8 @@
 
     this.state = {
       value,
+      minDate: config.minDate ? moment().add(config.minDate, 'days').endOf('day') : '',
+      maxDate: config.maxDate ? moment().add(config.maxDate, 'days').endOf('day') : '',
       mode,
       format
     }
@@ -52,16 +54,32 @@
     this.props.onChange(val ? moment(val).format(format) : '')
   }
 
+  disabledDate = (current) => {
+    const { minDate, maxDate } = this.state
+
+    if (!current || (!maxDate && !minDate)) {
+      return false
+    }
+    
+    if (!maxDate) {
+      return current < minDate
+    } else if (!minDate) {
+      return current > maxDate
+    } else {
+      return current < minDate || current > maxDate
+    }
+  }
+
   render() {
     const { config } = this.props
     const { value, mode } = this.state
 
     if (mode === 'date') {
-      return <DatePicker defaultValue={value} disabled={config.readonly} onChange={this.onChange}/>
+      return <DatePicker defaultValue={value} disabledDate={this.disabledDate} disabled={config.readonly} onChange={this.onChange}/>
     } else if (mode === 'month') {
       return <MonthPicker defaultValue={value} disabled={config.readonly} onChange={this.onChange}/>
     } else if (mode === 'datetime') {
-      return <DatePicker defaultValue={value} showTime disabled={config.readonly} onChange={this.onChange}/>
+      return <DatePicker defaultValue={value} disabledDate={this.disabledDate} showTime disabled={config.readonly} onChange={this.onChange}/>
     }
   }
 }

--
Gitblit v1.8.0