UNPKG

8.29 kBSource Map (JSON)View Raw
1{"version":3,"sources":["../../src/components/JcRangePicker/JcRangePicker.js"],"names":["JcRangePicker","props","context","disabledStartDate","startValue","endValue","state","endTime","valueOf","disabledEndDate","startTime","onStartChange","value","setState","StateTime","format","onChange","onEndChange","handleStartOpenChange","open","endOpen","handleEndOpenChange","initValue","JSON","parse","nexProps","className","space","Component"],"mappings":"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","file":"JcRangePicker.js","sourcesContent":[" /**********引入系统组件***********/\r\n import React, { Component } from 'react';\r\n import {DatePicker} from \"jdcloudui\";\r\n import moment from 'moment';\r\n\r\n /**\r\n * @author RongXiaowei\r\n * @param value 传入的value值 type:[object Object] ({startTime,endTime}) 默认为null\r\n * @param space 间隔符 type:[object String] 默认 \"至\"\r\n * @param className className type:[object String] 默认为不加\r\n * @param format 格式化时间 type:[object String] 默认 \"YYYY-MM-DD\"\r\n * @date 2017-12-13\r\n * @description RangePicker 开始结束时间组件\r\n */\r\n\r\n export default class JcRangePicker extends Component{\r\n constructor(props,context){\r\n super(props,context)\r\n this.state={\r\n startTime:(this.props.value&&this.props.value.startTime)||null,\r\n endTime:(this.props.value&&this.props.value.endTime)||null,\r\n endOpen:false\r\n }\r\n //初始值\r\n this.initValue=JSON.parse(JSON.stringify(this.props.value));\r\n this.StateTime=JSON.parse(JSON.stringify(this.props.value))||{};\r\n }\r\n componentWillReceiveProps(nexProps){\r\n if(!nexProps.value&&(this.state.startTime||this.state.endTime)||nexProps.value&&JSON.stringify(nexProps.value)===JSON.stringify(this.initValue)){\r\n //传入的值为空时清空数据\r\n if(!nexProps.value){\r\n this.setState({\"startTime\":null,\"endTime\":null});\r\n }\r\n else{\r\n this.setState({\"startTime\":this.initValue.startTime,\"endTime\":this.initValue.endTime});\r\n }\r\n }\r\n }\r\n /**\r\n * @description 判断起始时间是否大于结束时间\r\n */\r\n disabledStartDate = (startValue) => {\r\n const endValue = this.state.endTime?moment(this.state.endTime):null;\r\n if (!startValue || !endValue) {\r\n return false;\r\n }\r\n return startValue.valueOf() > endValue.valueOf();\r\n }\r\n /**\r\n * @description 判断结束时间是否大于起始时间\r\n */\r\n disabledEndDate = (endValue) => {\r\n const startValue = this.state.startTime?moment(this.state.startTime):null;\r\n if (!endValue || !startValue) {\r\n return false;\r\n }\r\n return endValue.valueOf() <= startValue.valueOf();\r\n }\r\n /**\r\n * @description 起始时间赋值\r\n */\r\n onStartChange = (value) => {\r\n this.setState({\"startTime\":value});\r\n this.StateTime['startTime']=value?moment(value).format(this.props.format||\"YYYY-MM-DD\"):null;\r\n this.props.onChange(this.StateTime);\r\n }\r\n /**\r\n * @description 结束时间赋值\r\n */\r\n onEndChange = (value) => {\r\n this.setState({\"endTime\":value});\r\n this.StateTime['endTime']=value?moment(value).format(this.props.format||\"YYYY-MM-DD\"):null;\r\n this.props.onChange(this.StateTime);\r\n }\r\n /**\r\n * @description 开启禁止标志\r\n */\r\n handleStartOpenChange = (open) => {\r\n if (!open) {\r\n this.setState({endOpen: true});\r\n }\r\n }\r\n /**\r\n * @description 关闭禁止标志\r\n */\r\n handleEndOpenChange = (open) => {\r\n this.setState({endOpen: open});\r\n }\r\n\r\n render(){\r\n return (\r\n <div className={this.props.className||\"\"}>\r\n <DatePicker\r\n size=\"large\"\r\n disabledDate={this.disabledStartDate}\r\n format={this.props.format||\"YYYY-MM-DD\"}\r\n placeholder=\"开始时间\"\r\n onChange={this.onStartChange}\r\n onOpenChange={this.handleStartOpenChange}\r\n value={this.state.startTime?moment(this.state.startTime, this.props.format||\"YYYY-MM-DD\"):null}\r\n />\r\n &nbsp;&nbsp;<span className=\"date-picker-space\">{this.props.space||\"至\"}</span>&nbsp;&nbsp;\r\n <DatePicker\r\n size=\"large\"\r\n disabledDate={this.disabledEndDate}\r\n format={this.props.format||\"YYYY-MM-DD\"}\r\n placeholder=\"结束时间\"\r\n onChange={this.onEndChange}\r\n open={this.state.endOpen}\r\n onOpenChange={this.handleEndOpenChange}\r\n value={this.state.endTime?moment(this.state.endTime, this.props.format||\"YYYY-MM-DD\"):null}\r\n />\r\n </div>\r\n )\r\n }\r\n}"]}
\No newline at end of file