import PageHeaderWrapper from '@/components/PageHeaderWrapper'; import StandardTable from '@/components/StandardTable'; import { Badge, Button, Card, Col, DatePicker, Divider, Dropdown, Form, Icon, Input, InputNumber, Menu, message, Modal, Radio, Row, Select, Steps, } from 'antd'; import { FormComponentProps } from 'antd/es/form'; import { PaginationConfig } from 'antd/es/pagination'; import { SorterResult, TableCurrentDataSource } from 'antd/es/table'; import { connect } from 'dva'; import moment from 'moment'; import React, { Fragment, Component } from 'react'; import router from 'umi/router'; import { IRuleModelState } from './models/rule'; import styles from './TableList.less'; const FormItem = Form.Item; const { Step } = Steps; const { TextArea } = Input; const { Option } = Select; const RadioGroup = Radio.Group; const getValue = obj => Object.keys(obj) .map(key => obj[key]) .join(','); const statusMap: any = ['default', 'processing', 'success', 'error']; const status = ['关闭', '运行中', '已上线', '异常']; interface ICreateFormProps extends FormComponentProps { modalVisible: boolean; handleAdd: (fields: any) => void; handleModalVisible: (flag?: boolean) => void; } const CreateFormFunc: React.FC = props => { const { modalVisible, form, handleAdd, handleModalVisible } = props; const okHandle = () => { form.validateFields((err, fieldsValue) => { if (err) { return; } form.resetFields(); handleAdd(fieldsValue); }); }; return ( handleModalVisible()} > {form.getFieldDecorator('desc', { rules: [{ required: true, message: '请输入至少五个字符的规则描述!', min: 5 }], })()} ); }; const CreateForm = Form.create()(CreateFormFunc); interface IUpdateFormProps extends FormComponentProps { handleUpdate: (e?: any) => void; handleUpdateModalVisible: (flag?: boolean, record?: any) => void; updateModalVisible: boolean; values: {}; } interface IUpdateFormState { formVals: {}; currentStep: number; } class UpdateFormClass extends Component { formLayout: object; constructor(props) { super(props); this.state = { formVals: { name: props.values.name, desc: props.values.desc, key: props.values.key, target: '0', template: '0', type: '1', time: '', frequency: 'month', }, currentStep: 0, }; this.formLayout = { labelCol: { span: 7 }, wrapperCol: { span: 13 }, }; } handleNext = currentStep => { const { form, handleUpdate } = this.props; const { formVals: oldValue } = this.state; form.validateFields((err, fieldsValue) => { if (err) { return; } const formVals = { ...oldValue, ...fieldsValue }; this.setState( { formVals, }, () => { if (currentStep < 2) { this.forward(); } else { handleUpdate(formVals); } }, ); }); }; backward = () => { const { currentStep } = this.state; this.setState({ currentStep: currentStep - 1, }); }; forward = () => { const { currentStep } = this.state; this.setState({ currentStep: currentStep + 1, }); }; renderContent = (currentStep, formVals) => { const { form } = this.props; if (currentStep === 1) { return [ {form.getFieldDecorator('target', { initialValue: formVals.target, })( , )} , {form.getFieldDecorator('template', { initialValue: formVals.template, })( , )} , {form.getFieldDecorator('type', { initialValue: formVals.type, })( 强 弱 , )} , ]; } if (currentStep === 2) { return [ {form.getFieldDecorator('time', { rules: [{ required: true, message: '请选择开始时间!' }], })( , )} , {form.getFieldDecorator('frequency', { initialValue: formVals.frequency, })( , )} , ]; } return [ {form.getFieldDecorator('name', { rules: [{ required: true, message: '请输入规则名称!' }], initialValue: formVals.name, })()} , {form.getFieldDecorator('desc', { rules: [{ required: true, message: '请输入至少五个字符的规则描述!', min: 5 }], initialValue: formVals.desc, })(