app-base-web
Version:
web development common base package.
190 lines (187 loc) • 5.08 kB
JavaScript
import React from 'react';
import { Form, Row, Col, Button, Input, InputNumber, message } from 'antd';
import api from '../../../library/util-axios';
import Dic from '../../../library/dic';
import Tree from '../../../library/tree';
// 任务调度管理-任务管理
const title = "任务管理";
const url = "TsTask/";
export default class FormEdit extends React.Component {
constructor(props) {
super(props);
this.state = {
...props.values
};
this.formRef = React.createRef();
}
onSave = (values) => {
let me = this;
values.id = this.state.id;
api.post(url + "save", values).then(function (rs) {
if (rs.success) {
message.info(rs.msg);
me.props.onSave(values);
} else { message.error(rs.msg); }
});
}
render() {
return (
<Form ref={this.formRef} className="form-edit" onFinish={this.onSave} labelCol={{ span: 4 }} wrapperCol={{ span: 20 }}>
<div className="form-title">
<i> {title} - {this.state.id ? "编辑" : "录入"}</i>
{this.state.id ? <span><Button className="btn-return" onClick={this.props.onEditReturn}><i className="iconfont icon-return"></i>返回</Button></span> : ""}
</div>
<div className="form-content" style={{ height: this.props.height }}>
<Row>
<Col xs={12}>
<Form.Item
name="name"
label="任务名称"
initialValue={this.state.name}
rules={[{
required: true,
message: '请输入任务名称'
}]}
>
<Input />
</Form.Item>
</Col>
{/* <Col xs={12}>
<Form.Item
name="type"
label="任务类型"
initialValue={String(this.state.type || "")}
>
<Dic params={{ app: "ts", type: "任务类型" }} />
</Form.Item>
</Col> */}
</Row>
<Row>
<Col xs={12}>
<Form.Item
name="logType"
label="日志类型"
initialValue={String(this.state.logType || "")}
>
<Dic params={{ app: "ts", type: "日志类型" }} />
</Form.Item>
</Col>
<Col xs={12}>
<Form.Item
name="monitoringRole"
label="监控角色"
initialValue={this.state.monitoringRole}
>
<Tree onChange={(value, label) => { this.setState({ monitoringRole: value }); }} url="SysUser/listTreeUser" />
</Form.Item>
</Col>
</Row>
<Row>
<Col xs={12}>
<Form.Item
name="alarmType"
label="报警类型"
initialValue={String(this.state.alarmType || "")}
>
<Dic params={{ app: "ts", type: "报警类型" }} />
</Form.Item>
</Col>
<Col xs={12}>
<Form.Item
name="alarmInterval"
label="报警间隔时间"
initialValue={this.state.alarmInterval}
>
<InputNumber />
</Form.Item>
</Col>
</Row>
<Row>
<Col xs={12}>
<Form.Item
name="timeout"
label="超时阀值"
initialValue={this.state.timeout}
>
<InputNumber />
</Form.Item>
</Col>
</Row>
<Row>
<Col xs={24}>
<Form.Item
labelCol={{ span: 2 }}
wrapperCol={{ span: 22 }}
name="path"
label="任务包路径"
initialValue={this.state.path}
rules={[{
required: true,
message: '请输入任务包路径'
}]}
>
<Input />
</Form.Item>
</Col>
</Row>
<Row>
<Col xs={12}>
<Form.Item
name="method"
label="任务方法"
initialValue={this.state.method}
rules={[{
required: true,
message: '请输入任务方法'
}]}
>
<Input />
</Form.Item>
</Col>
</Row>
<Row>
<Col xs={24}>
<Form.Item
labelCol={{ span: 2 }}
wrapperCol={{ span: 22 }}
name="params"
label="任务参数"
initialValue={this.state.params}
>
<Input.TextArea />
</Form.Item>
</Col>
</Row>
<Row>
<Col xs={12}>
<Form.Item
name="ord"
label="排序号"
initialValue={this.state.ord}
>
<Input />
</Form.Item>
</Col>
</Row>
<Row>
<Col xs={24}>
<Form.Item
labelCol={{ span: 2 }}
wrapperCol={{ span: 22 }}
name="memo"
label="任务说明"
initialValue={this.state.memo}
>
<Input.TextArea />
</Form.Item>
</Col>
</Row>
</div>
<div className="form-toolbar">
<Button className="btn-cancel" onClick={this.props.onCancel}><i className="iconfont icon-cancel"></i>取消</Button>
<Button className="btn-submit" htmlType="submit"><i className="iconfont icon-sumit"></i>提交</Button>
</div>
</Form>
);
}
}