import React, { useEffect } from 'react'; import { ProForm, ProFormDigit, ProFormText, ProFormTextArea, ProFormRadio, ProFormSelect, ProFormCaptcha, } from '@ant-design/pro-components'; import { Form, Modal } from 'antd'; import { useIntl, FormattedMessage } from '@umijs/max'; import { DictOptionType, DictValueEnumObj } from '@/components/DictTag'; /** * 定时任务调度 Edit Form * * @author whiteshader * @date 2023-02-07 */ export type JobFormData = Record & Partial; export type JobFormProps = { onCancel: (flag?: boolean, formVals?: JobFormData) => void; onSubmit: (values: JobFormData) => Promise; open: boolean; values: Partial; jobGroupOptions: DictOptionType[]; statusOptions: DictValueEnumObj; }; const JobForm: React.FC = (props) => { const [form] = Form.useForm(); const { jobGroupOptions, statusOptions } = props; console.log(jobGroupOptions) useEffect(() => { form.resetFields(); form.setFieldsValue({ jobId: props.values.jobId, jobName: props.values.jobName, jobGroup: props.values.jobGroup, invokeTarget: props.values.invokeTarget, cronExpression: props.values.cronExpression, misfirePolicy: props.values.misfirePolicy, concurrent: props.values.concurrent, status: props.values.status, createBy: props.values.createBy, createTime: props.values.createTime, updateBy: props.values.updateBy, updateTime: props.values.updateTime, remark: props.values.remark, }); }, [form, props]); const intl = useIntl(); const handleOk = () => { form.submit(); }; const handleCancel = () => { props.onCancel(); form.resetFields(); }; const handleFinish = async (values: Record) => { props.onSubmit(values as JobFormData); }; return ( ); }; export default JobForm;