update
This commit is contained in:
@@ -4,18 +4,90 @@ import {getRequest} from '../../../../../actions';
|
||||
|
||||
class UnitTime extends React.Component {
|
||||
state = {
|
||||
list: []
|
||||
list: [],
|
||||
data: {
|
||||
op: '',
|
||||
id: 'dt0,mode0',
|
||||
year: '-',
|
||||
week: '-',
|
||||
month: '-',
|
||||
day: '-',
|
||||
hour: '-',
|
||||
min: '-'
|
||||
}
|
||||
}
|
||||
|
||||
componentDidMount(){
|
||||
|
||||
componentWillReceiveProps(np) {
|
||||
let data = {...this.state.data};
|
||||
if(np.data.op != data.op) data.op = np.data.op;
|
||||
|
||||
let year = np.data.split('|')[5] || '-';
|
||||
let week = np.data.split('|')[4] || '-';
|
||||
let month = np.data.split('|')[3] || '-';
|
||||
let day = np.data.split('|')[2] || '-';
|
||||
let hour = np.data.split('|')[1] || '-';
|
||||
let min = np.data.split('|')[0] || '-';
|
||||
|
||||
if(year != data.year) data.year = year;
|
||||
if(week != data.week) data.week = week;
|
||||
if(month != data.month) data.month = month;
|
||||
if(day != data.day) data.day = day;
|
||||
if(hour != data.hour) data.hour = hour;
|
||||
if(min != data.min) data.min = min;
|
||||
|
||||
this.setState({
|
||||
data: {...data}
|
||||
})
|
||||
}
|
||||
|
||||
changeState = (key, value) => {
|
||||
let data = {
|
||||
...this.state.data
|
||||
}
|
||||
if(key == 'op'){
|
||||
data.op = value;
|
||||
}
|
||||
if(key == 'year') {
|
||||
data.year = value == '' ? '-' : value;
|
||||
}
|
||||
if(key == 'week') {
|
||||
data.week = value == '' ? '-' : value;
|
||||
}
|
||||
if(key == 'month') {
|
||||
data.month = value == '' ? '-' : value;
|
||||
}
|
||||
if(key == 'day') {
|
||||
data.day = value == '' ? '-' : value;
|
||||
}
|
||||
if(key == 'hour') {
|
||||
data.hour = value == '' ? '-' : value;
|
||||
}
|
||||
if(key == 'min') {
|
||||
data.min = value == '' ? '-' : value;
|
||||
}
|
||||
|
||||
this.setState({
|
||||
data: {...data}
|
||||
}, ()=>{ this.sendUpdate() });
|
||||
}
|
||||
|
||||
sendUpdate = () => {
|
||||
let data = {...this.state.data};
|
||||
data.value = `${data.min}|${data.hour}|${data.day}|${data.month}|${data.week}|${data.year}`;
|
||||
delete data.year;
|
||||
delete data.week;
|
||||
delete data.month;
|
||||
delete data.day;
|
||||
delete data.hour;
|
||||
delete data.min;
|
||||
this.props.updateData({...this.props.data, ...data});
|
||||
}
|
||||
|
||||
render() {
|
||||
let {ops} = this.props;
|
||||
return (
|
||||
<div>
|
||||
<select>
|
||||
<select value={this.state.data.op} onChange={e=>{this.changeState('op', e.target.value)}}>
|
||||
<option value="">選擇條件</option>
|
||||
{
|
||||
ops.map((t,idx) => {
|
||||
|
||||
Reference in New Issue
Block a user