king
2021-11-04 4190affb665438b1067af88f09e8557abbbfea2b
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}/>
    }
  }
}