import React from 'react';
import {Grid, Form, Segment, Input} from 'semantic-ui-react';
const ops = [
{
"code": "0",
"name": "等於"
}, {
"code": "1",
"name": "大於"
}, {
"code": "2",
"name": "小於"
}, {
"code": "3",
"name": "大於等於"
}, {
"code": "4",
"name": "小於等於"
}, {
"code": "5",
"name": "不等於"
}, {
"code": "8",
"name": "AND"
}, {
"code": "9",
"name": "OR"
}
]
const stype = {
di: {
prefix: 'di',
dev: '',
op: '',
value: '',
mode: 'di_status'
},
leone: {
prefix: 'le',
dev: '',
op: '',
value: '',
mode: ''
},
unit: {
dev: ''
},
time: {
op: '',
dev: 'dt0',
mode: 'mode0',
year: '-',
week: '-',
month: '-',
day: '-',
hour: '-',
min: '-'
}
}
class UnitItem extends React.Component {
state = {
st: '',
data:{}
}
handleDataChange = (tag, value) => {
let {data} = this.state;
let {updateData} = this.props;
if(tag in data) {
data[tag] = value;
}
this.setState({
data
}, () => {
let {data} = this.state
let d = {...this.props.data.data}
let {st} = this.props.data;
if(st == 'di' || st == 'leone'){
d.id = `${data.prefix}${data.dev},${data.mode}`;
d.op = data.op;
d.value = data.value;
}
if(st == 'unit') {
d.dev = data.dev;
}
if(st == 'time') {
d.id = `${data.dev},${data.mode}`;
d.op = data.op;
d.value = `${data.min}|${data.hour}|${data.day}|${data.month}|${data.week}|${data.year}`;
}
updateData(this.props.unit, d);
});
}
componentWillReceiveProps(np) {
let data = {...this.state.data};
if(np.data.st != this.state.st){
if(np.data.st in stype) {
data = {...stype[np.data.st]};
}else {
data = {}
}
}
this.setState({
data,
st: np.data.st
})
}
render() {
let {unit, data, getList} = this.props;
return (