import { ModalForm, ProForm, ProFormDigit, ProFormText } from '@ant-design/pro-components'; import React, { useEffect, useState } from 'react'; import { Button, Form } from 'antd'; import { DictOptionType, DictValueEnumObj } from '@/components/DictTag'; import ProFromMap from '@/components/ProFromMap'; export type ListFormProps = { onCancel: (flag?: boolean, formVals?: unknown) => void; onSubmit: (values: API.AreaBusiness.CircleEditParams) => Promise; open: boolean; values?: Partial; jobGroupOptions?: DictOptionType[]; statusOptions?: DictValueEnumObj; }; const waitTime = (time: number = 100) => { return new Promise((resolve) => { setTimeout(() => { resolve(true); }, time); }); }; const SubWayEdit: React.FC = (props) => { const [form] = Form.useForm(); const [open, setOpen] = useState(false); const [viewInfo, setViewInfo] = useState({}); useEffect(() => { form.resetFields(); if (props.values) { const obj = { commercialAreaId: props.values.commercialAreaId, commercialAreaName: props.values.commercialAreaName, latitude: props.values.latitude, longitude: props.values.longitude, address: props.values.address, }; form.setFieldsValue(obj); setViewInfo(obj); } else { setViewInfo({}); } }, [form, props]); const handleCancel = () => { props.onCancel(); form.resetFields(); }; const handleFinish = async (values: Record) => { props.onSubmit(values as API.AreaBusiness.CircleEditParams); }; const select = (result) => { if (result.location) { const { lat, lng } = result.location; form.setFieldValue('latitude', lat); form.setFieldValue('longitude', lng); form.setFieldValue('address', result.address); const obj = { latitude: lat, longitude: lng, address: result.address, }; setViewInfo(obj); setOpen(false); } }; const cancel = () => { setOpen(false); }; return ( title={`${props.values ? '编辑' : '新增'}商圈`} form={form} // layout="inline" autoFocusFirstInput open={props.open} modalProps={{ destroyOnClose: true, onCancel: () => handleCancel(), }} submitTimeout={2000} onFinish={handleFinish} >