| | |
| | | return <div className="clinic-edit-page"><div className="clinic-edit-panel"><h2>编辑诊所</h2> |
| | | <Form form={form} layout="vertical" className="clinic-edit-form"> |
| | | <Form.Item label="头像" className="clinic-edit-upload-item"> |
| | | <Form.Item name="avatar" rules={[{ required: true, message: "请上传头像" }]} hidden><Input /></Form.Item> |
| | | <Form.Item name="avatar" hidden><Input /></Form.Item> |
| | | <Upload accept="image/*" showUploadList={false} customRequest={async (options) => { |
| | | setUploadingAvatar(true); |
| | | try { const response = await uploadClinicImage(options.file as File); const url = response.data?.url || response.data; if (!url) throw new Error("upload failed"); setAvatar(url); form.setFieldsValue({ avatar: url }); options.onSuccess?.(response); } catch (error) { message.error("头像上传失败"); options.onError?.(error as Error); } finally { setUploadingAvatar(false); } |
| | |
| | | </Form.Item> |
| | | |
| | | <div className="clinic-edit-form__grid"> |
| | | <Form.Item name="name" label="诊所名称"><Input maxLength={100} placeholder="请输入诊所名称" /></Form.Item> |
| | | <Form.Item name="loginAccount" label="登录账号"><Input maxLength={50} placeholder="请输入登录账号" /></Form.Item> |
| | | <Form.Item name="regionCodes" label="诊所地址"><RegionCascader placeholder="请选择省/市/区" /></Form.Item> |
| | | <Form.Item name="address" label="详细地址"><Input maxLength={255} placeholder="请输入详细地址" /></Form.Item> |
| | | <Form.Item name="name" label="诊所名称" rules={[{ required: true, message: "请输入诊所名称" }]}><Input maxLength={100} placeholder="请输入诊所名称" /></Form.Item> |
| | | <Form.Item name="loginAccount" label="登录账号" rules={[{ required: true, message: "请输入登录账号" }]}><Input maxLength={50} placeholder="请输入登录账号" /></Form.Item> |
| | | <Form.Item name="regionCodes" label="诊所地址" rules={[{ required: true, message: "请选择诊所地址" }]}><RegionCascader placeholder="请选择省/市/区" /></Form.Item> |
| | | <Form.Item name="address" label="详细地址" rules={[{ required: true, message: "请输入详细地址" }]}><Input maxLength={255} placeholder="请输入详细地址" /></Form.Item> |
| | | <Form.Item label="营业执照" className="clinic-edit-upload-item"> |
| | | <Form.Item name="businessLicenseUrl" rules={[{ required: true, message: "请上传营业执照" }]} hidden><Input /></Form.Item> |
| | | <Form.Item name="businessLicenseUrl" hidden><Input /></Form.Item> |
| | | <Upload accept="image/*" showUploadList={false} customRequest={async (options) => { |
| | | setUploadingLicense(true); |
| | | try { const response = await uploadClinicImage(options.file as File); const url = response.data?.url || response.data; if (!url) throw new Error("upload failed"); setBusinessLicenseUrl(url); form.setFieldsValue({ businessLicenseUrl: url }); options.onSuccess?.(response); } catch (error) { message.error("营业执照上传失败"); options.onError?.(error as Error); } finally { setUploadingLicense(false); } |