import React from 'react';
import {Container, Segment, Input, Form, Button} from 'semantic-ui-react';
import {getRequest} from '../../../actions';
import CalModal from './CalModal';
class ModbusCmdPage extends React.Component {
state = {
res: '',
value: '',
modal: false
}
handleSubmit = (data) => {
let {i18n} = this.props;
if(data.ip == '' || data.node == '' || data.func == '' || data.addr == '' || data.value == '') return this.props.showDialog(i18n&&i18n.t?i18n.t('tip.input_empty'):'');
this.props.toggleLoading(1);
this.setState({res:''})
fetch('/api/modbus/modbuscmd', getRequest(data))
.then(response=>response.json())
.then(json=>{
this.props.toggleLoading(0);
if(json.status != 1) return this.props.showDialog(json.message);
this.setState({
res: json.data.record[0].msg || ''
})
});
}
renderModal = () => {
let {i18n} = this.props;
return (
this.state.modal ?
(
): null
)
}
closeModal = () => {
this.setState({
modal: false
})
}
submitModal = (data) => {
if(!data) return ;
let {showDialog} = this.props;
let {r1, r2, s1, s2, val} = data;
if(!isFinite(r1) || !isFinite(r2) || !isFinite(s1) || !isFinite(s2) || !isFinite(val)) return showDialog('請勿輸入數字以外的內容');
let value = Math.round(((val - r1) * (s2 - s1)) / (r2 - r1));
this.setState({
value
}, ()=>{this.closeModal()})
}
render() {
return (
{
this.setState({
modal: true
})
}
}}
value={this.state.value}
onChange={(e,d) => {this.setState({value: d.value})}} />
{
this.state.res.split(/\n/).map((t,idx) => (
{t}
))
}
{this.renderModal()}
)
}
}
export default ModbusCmdPage;