flat: 暂存

This commit is contained in:
史典卓
2025-01-20 17:42:05 +08:00
parent 15b4a87988
commit 2bf8cf55ac
41 changed files with 1390 additions and 183 deletions

View File

@@ -0,0 +1,121 @@
import {useEffect} from 'react'
import {
ModalForm,
ProForm,
ProFormTextArea,
ProFormText,
ProFormDigit,
ProFormRadio,
ProFormDateRangePicker
} from '@ant-design/pro-components';
import { Button, Form, message } from 'antd';
import {DictOptionType, DictValueEnumObj} from "@/components/DictTag";
import { useIntl, FormattedMessage } from '@umijs/max';
export type ListFormProps = {
onCancel: (flag?: boolean, formVals?: unknown) => void;
onSubmit: (values: API.JobFairList.JobFairListRows) => Promise<void>;
open: boolean;
values?: Partial<API.JobFairList.JobFairListRows>;
jobFairType?: DictValueEnumObj;
};
const waitTime = (time: number = 100) => {
return new Promise((resolve) => {
setTimeout(() => {
resolve(true);
}, time);
});
};
const listEdit: React.FC<ListFormProps> = (props) => {
const [form] = Form.useForm();
const intl = useIntl();
const { jobFairType } = props;
useEffect(() => {
form.resetFields();
if(props.values) {
form.setFieldsValue({
...props.values,
createTimeRanger: [props.values.startTime, props.values.endTime],
});
}
}, [form, props]);
const handleCancel = () => {
props.onCancel();
form.resetFields();
};
const handleFinish = async (values: Record<string, any>) => {
props.onSubmit(values as API.JobFairList.JobFairListRows);
};
return (
<ModalForm<{
name: string;
company: string;
}>
title={`${props.values ? '编辑' : '新增'}招聘会`}
form={form}
autoFocusFirstInput
open={props.open}
modalProps={{
destroyOnClose: true,
onCancel: () => handleCancel(),
}}
submitTimeout={2000}
onFinish={handleFinish}
>
<ProFormDigit
label="InputNumber"
name="jobFairId"
disabled
hidden={true}
/>
<ProForm.Group>
<ProFormText
width="md"
name="name"
label="招聘会名称"
placeholder="请输入招聘会名称"
/>
<ProFormRadio.Group
valueEnum={jobFairType}
name="jobFairType"
label="招聘会类型"
colProps={{ md: 24 }}
placeholder="请选择招聘会类型"
rules={[
{
required: false,
message: <FormattedMessage id="请选择招聘会类型!" defaultMessage="请选择招聘会类型!" />,
},
]}
/>
<ProFormDateRangePicker
transform={(values) => {
return {
startTime: values ? values[0] : undefined,
endTime: values ? values[1] : undefined,
};
}}
width="md"
name="createTimeRanger"
label="招聘会时间"
/>
</ProForm.Group>
<ProForm.Group>
<ProFormTextArea
width="xl"
name="location"
label="招聘会地点"
placeholder="请输入招聘会地点"
/>
</ProForm.Group>
</ModalForm>
);
};
export default listEdit