import React from 'react'; import { Modal } from 'antd'; import { ProFormSelect, ProFormText, ProFormTextArea, StepsForm, ProFormRadio, ProFormDateTimePicker, } from '@ant-design/pro-form'; import { useIntl, FormattedMessage } from 'umi'; const UpdateForm = (props) => { const intl = useIntl(); return ( <StepsForm stepsProps={{ size: 'small', }} stepsFormRender={(dom, submitter) => { return ( <Modal width={640} bodyStyle={{ padding: '32px 40px 48px', }} destroyOnClose title={intl.formatMessage({ id: 'pages.searchTable.updateForm.ruleConfig', defaultMessage: '规则配置', })} visible={props.updateModalVisible} footer={submitter} onCancel={() => { props.onCancel(); }} > {dom} </Modal> ); }} onFinish={props.onSubmit} > <StepsForm.StepForm initialValues={{ name: props.values.name, desc: props.values.desc, }} title={intl.formatMessage({ id: 'pages.searchTable.updateForm.basicConfig', defaultMessage: '基本信息', })} > <ProFormText name="name" label={intl.formatMessage({ id: 'pages.searchTable.updateForm.ruleName.nameLabel', defaultMessage: '规则名称', })} width="md" rules={[ { required: true, message: ( <FormattedMessage id="pages.searchTable.updateForm.ruleName.nameRules" defaultMessage="请输入规则名称!" /> ), }, ]} /> <ProFormTextArea name="desc" width="md" label={intl.formatMessage({ id: 'pages.searchTable.updateForm.ruleDesc.descLabel', defaultMessage: '规则描述', })} placeholder={intl.formatMessage({ id: 'pages.searchTable.updateForm.ruleDesc.descPlaceholder', defaultMessage: '请输入至少五个字符', })} rules={[ { required: true, message: ( <FormattedMessage id="pages.searchTable.updateForm.ruleDesc.descRules" defaultMessage="请输入至少五个字符的规则描述!" /> ), min: 5, }, ]} /> </StepsForm.StepForm> <StepsForm.StepForm initialValues={{ target: '0', template: '0', }} title={intl.formatMessage({ id: 'pages.searchTable.updateForm.ruleProps.title', defaultMessage: '配置规则属性', })} > <ProFormSelect name="target" width="md" label={intl.formatMessage({ id: 'pages.searchTable.updateForm.object', defaultMessage: '监控对象', })} valueEnum={{ 0: '表一', 1: '表二', }} /> <ProFormSelect name="template" width="md" label={intl.formatMessage({ id: 'pages.searchTable.updateForm.ruleProps.templateLabel', defaultMessage: '规则模板', })} valueEnum={{ 0: '规则模板一', 1: '规则模板二', }} /> <ProFormRadio.Group name="type" label={intl.formatMessage({ id: 'pages.searchTable.updateForm.ruleProps.typeLabel', defaultMessage: '规则类型', })} options={[ { value: '0', label: '强', }, { value: '1', label: '弱', }, ]} /> </StepsForm.StepForm> <StepsForm.StepForm initialValues={{ type: '1', frequency: 'month', }} title={intl.formatMessage({ id: 'pages.searchTable.updateForm.schedulingPeriod.title', defaultMessage: '设定调度周期', })} > <ProFormDateTimePicker name="time" width="md" label={intl.formatMessage({ id: 'pages.searchTable.updateForm.schedulingPeriod.timeLabel', defaultMessage: '开始时间', })} rules={[ { required: true, message: ( <FormattedMessage id="pages.searchTable.updateForm.schedulingPeriod.timeRules" defaultMessage="请选择开始时间!" /> ), }, ]} /> <ProFormSelect name="frequency" label={intl.formatMessage({ id: 'pages.searchTable.updateForm.object', defaultMessage: '监控对象', })} width="md" valueEnum={{ month: '月', week: '周', }} /> </StepsForm.StepForm> </StepsForm> ); }; export default UpdateForm;