import moment from 'moment';
import { DatePicker } from 'antd';
const { RangePicker } = DatePicker;
import React, { useEffect, useState } from 'react';

export  function getMomentArr({
                                begin,
                                end,
                                initValue,
                                init,
                                 obj,
                              }){
  let ivs = [];
  if (initValue != null && init != null) {
    ivs.push(moment(parseInt(initValue)));
    if (init && init[end.base52]) {
      ivs.push(moment(parseInt(init[end.base52])));
    } else if (obj && obj[end.base52]) {
      ivs.push(moment(parseInt(obj[end.base52])));
      // 钟是志 2021年9月28日13:59:48
      // 禅道bug http://scjoyedu.eicp.net:88/zentao/bug-view-21843.html
      // 不知道怎么改 init 为空对象 暂时处理为从obj里面拿
    } else {
      ivs.push(moment());
    }
  }

  if(!ivs || !Array.isArray(ivs) || ivs.length !==2){
    ivs = [undefined, undefined];
  }else{
    for(let i = 0; i < ivs.length; i++){
      if(!moment.isMoment(ivs[i])){
        ivs[i] = moment();
      }
    }
  }
  return ivs;
}

export default function RangePickerDiy(props){
  const {
    onChange,
    value,
    json,
    disabled,
  } = props;
  const [bindValue, setBindValue] = useState([undefined, undefined]);

  useEffect(() => {
    // console.log('RangePickerDiy组件Value', value);
    if(!value || !Array.isArray(value) || value.length !==2){
      setBindValue([undefined, undefined]);

    }else{
      for(let i = 0; i < value.length; i++){
        if(typeof value[i] === 'number' && value[i] > 10000){
          bindValue[i] = moment(value[i]);
        }else if(!moment.isMoment(value[i])){
          bindValue[i] = undefined;
          // console.log('RangePickerDiy组件没有获取到正确的值', value);
        }else{
          bindValue[i] = value[i];
        }
      }
      setBindValue(value);
    }
  }, [value]);
  return (
    <RangePicker
      value={bindValue}
      onChange={onChange}
      showTime={json.showTime != null ? json.showTime : true}
      format={json.format ? json.format : 'YYYY-MM-DD HH:mm:ss'}
      disabled={disabled}
      getCalendarContainer={() => {
        return document.body;
      }}
    />
  )

}
