app-base-web
Version:
web development common base package.
209 lines (206 loc) • 5.76 kB
JavaScript
import React from 'react';
import { Modal, Form, Row, Col, Button, Input, DatePicker, message } from 'antd';
import api from '../../../library/util-axios';
import Dic from '../../../library/dic';
import Moment from '../../../library/moment';
// 任务调度管理-调度管理
const title = "调度管理";
const url = "TsScheduler/";
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;
values.taskId = this.state.taskId;
values.taskGroupId = this.state.taskGroupId
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 (
<Modal className=""
title={<i> {title} - {this.state.id ? "编辑" : "录入"}</i>}
width="80%"
visible={true}
footer={null}
style={{ overflow: "auto" }}
onCancel={this.props.onCancel}
>
<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>
{this.state.taskGroupId ? <Col xs={12}>
<Form.Item
name="taskGroupName"
label="任务组名称"
>
<span>{this.state.taskGroupName}</span>
</Form.Item>
</Col> : ""}
{this.state.taskId ? <Col xs={12}>
<Form.Item
name="taskName"
label="任务名称"
>
<span>{this.state.taskName}</span>
</Form.Item>
</Col> : ""}
</Row>
<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="state"
label="调度状态"
initialValue={String(this.state.state || "")}
>
<Dic params={{ app: "ts", type: "调度状态" }} />
</Form.Item>
</Col> */}
</Row>
{/* <Row>
<Col xs={12}>
<Form.Item
name="lastTime"
label="上次完成时间"
initialValue={this.state.lastTime}
>
<Input />
</Form.Item>
</Col>
<Col xs={12}>
<Form.Item
name="nextTime"
label="下次执行时间"
initialValue={this.state.nextTime}
>
<Input />
</Form.Item>
</Col>
</Row> */}
<Row>
<Col xs={12}>
<Form.Item
name="type"
label="调度类型"
initialValue={String(this.state.type || "")}
rules={[{
required: true,
message: '请选择调度类型'
}]}
>
<Dic params={{ app: "ts", type: "调度类型" }} />
</Form.Item>
</Col>
<Col xs={12}>
<Form.Item
name="errorDeal"
label="异常处理"
initialValue={String(this.state.errorDeal || "")}
>
<Dic params={{ app: "ts", type: "异常处理" }} />
</Form.Item>
</Col>
</Row>
<Row>
<Col xs={12}>
<Form.Item
name="begTime"
label="调度开始时间"
initialValue={this.state.begTime ? Moment(this.state.begTime) : ""}
>
<DatePicker showTime format="YYYY-MM-DD HH:mm:ss" />
</Form.Item>
</Col>
<Col xs={12}>
<Form.Item
name="endTime"
label="调度结束时间"
initialValue={this.state.endTime ? Moment(this.state.endTime) : ""}
>
<DatePicker showTime format="YYYY-MM-DD HH:mm:ss" />
</Form.Item>
</Col>
</Row>
<Row>
<Col xs={12}>
<Form.Item
name="cron"
label="调度表达式"
initialValue={this.state.cron}
rules={[{
required: true,
message: '请输入调度表达式'
}]}
>
<Input />
</Form.Item>
</Col>
</Row>
<Row>
<Col xs={12}>
<Form.Item
name="dateType"
label="日期类型"
initialValue={String(this.state.dateType || "")}
>
<Dic params={{ app: "ts", type: "日期类型" }} />
</Form.Item>
</Col>
<Col xs={12}>
<Form.Item
name="specialDate"
label="特殊日期"
initialValue={String(this.state.specialDate || "")}
>
<Dic params={{ app: "ts", type: "特殊日期" }} />
</Form.Item>
</Col>
</Row>
<Row>
<Col xs={12}>
<Form.Item
name="period"
label="执行时段"
initialValue={this.state.period}
>
<Dic params={{ app: "ts", type: "执行时段" }} />
</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>
</Modal>
);
}
}