import React from 'react';
import {
Form,
Input,
DatePicker,
InputNumber,
Select,
Radio,
FormInstance,
} from 'antd';
import { useIntl, FormattedMessage } from 'react-intl';
import { registerFormFields } from '@/validation/patient/registerSchema';
import NumberWithUnit from '@/components/NumberWithUnit';
const genderOptions = [
{
value: 'male',
label: (
),
},
{
value: 'female',
label: (
),
},
];
const pregnancyStatusOptions = [
{
value: 'yes',
label: (
),
},
{
value: 'no',
label: (
),
},
{
value: 'na',
label: (
),
},
];
interface BasicInfoFormProps {
style?: React.CSSProperties;
form?: FormInstance;
}
const BasicInfoForm: React.FC = ({ style, form }) => {
const patient_age = Form.useWatch('patient_age', form);
React.useEffect(() => {
console.log('patient_age 变化了:', patient_age); // 每次 NumberWithUnit onChange 都会触发
}, [patient_age]);
const intl = useIntl();
return (
}
name="accession_number"
required={registerFormFields.accession_number.required}
validateTrigger={registerFormFields.accession_number.trigger}
rules={registerFormFields.accession_number.validation}
>
}
name="patient_id"
required={registerFormFields.patient_id.required}
validateTrigger={registerFormFields.patient_id.trigger}
rules={registerFormFields.patient_id.validation}
>
}
name="patient_name"
required={registerFormFields.patient_name.required}
validateTrigger={registerFormFields.patient_name.trigger}
rules={registerFormFields.patient_name.validation}
>
}
name="patient_size"
required={registerFormFields.patient_size.required}
validateTrigger={registerFormFields.patient_size.trigger}
rules={registerFormFields.patient_size.validation}
initialValue="Medium"
>
}
name="patient_age"
required={registerFormFields.patient_age.required}
validateTrigger={registerFormFields.patient_age.trigger}
rules={registerFormFields.patient_age.validation}
initialValue={{ number: 0, unit: 'Y' }}
>
}
name="patient_dob"
required={registerFormFields.patient_dob.required}
validateTrigger={registerFormFields.patient_dob.trigger}
rules={registerFormFields.patient_dob.validation}
>
}
name="patient_sex"
required={registerFormFields.patient_sex.required}
validateTrigger={registerFormFields.patient_sex.trigger}
rules={registerFormFields.patient_sex.validation}
>
}
name="sex_neutered"
required={registerFormFields.sex_neutered.required}
validateTrigger={registerFormFields.sex_neutered.trigger}
rules={registerFormFields.sex_neutered.validation}
>
}
name="pregnancy_status"
required={registerFormFields.pregnancy_status.required}
validateTrigger={registerFormFields.pregnancy_status.trigger}
rules={registerFormFields.pregnancy_status.validation}
>
}
name="chip_number"
required={registerFormFields.chip_number.required}
validateTrigger={registerFormFields.chip_number.trigger}
rules={registerFormFields.chip_number.validation}
>
}
name="variety"
required={registerFormFields.variety.required}
validateTrigger={registerFormFields.variety.trigger}
rules={registerFormFields.variety.validation}
>
}
name="patient_type"
required={registerFormFields.patient_type.required}
validateTrigger={registerFormFields.patient_type.trigger}
rules={registerFormFields.patient_type.validation}
>
}
name="ref_physician"
required={registerFormFields.ref_physician.required}
validateTrigger={registerFormFields.ref_physician.trigger}
rules={registerFormFields.ref_physician.validation}
>
}
name="operator_id"
required={registerFormFields.operator_id.required}
validateTrigger={registerFormFields.operator_id.trigger}
rules={registerFormFields.operator_id.validation}
>
}
name="weight"
required={registerFormFields.weight.required}
validateTrigger={registerFormFields.weight.trigger}
rules={registerFormFields.weight.validation}
>
}
name="thickness"
required={registerFormFields.thickness.required}
validateTrigger={registerFormFields.thickness.trigger}
rules={registerFormFields.thickness.validation}
>
}
name="length"
required={registerFormFields.length.required}
validateTrigger={registerFormFields.length.trigger}
rules={registerFormFields.length.validation}
>
}
name="comment"
required={registerFormFields.comment.required}
validateTrigger={registerFormFields.comment.trigger}
rules={registerFormFields.comment.validation}
>
);
};
export default BasicInfoForm;