优化更新患者信息接口,简化文件上传逻辑;修正身份证号码解析函数的区域代码提取
This commit is contained in:
@@ -184,33 +184,18 @@ export async function updatePatientInfo(
|
|||||||
address?: string,
|
address?: string,
|
||||||
id_no_pic?: File | Blob
|
id_no_pic?: File | Blob
|
||||||
): Promise<ApiResponse<null>> {
|
): Promise<ApiResponse<null>> {
|
||||||
// 如果包含图片文件,使用 multipart/form-data 上传
|
const formData = new FormData();
|
||||||
if (id_no_pic) {
|
formData.append("id_no", id_no);
|
||||||
const formData = new FormData();
|
formData.append("id_no_pic", id_no_pic || "");
|
||||||
formData.append("id_no", id_no);
|
formData.append("marital_status", marital_status.toString());
|
||||||
formData.append("marital_status", marital_status.toString());
|
formData.append("province", province || "");
|
||||||
formData.append("province", province || "");
|
formData.append("city", city || "");
|
||||||
formData.append("city", city || "");
|
formData.append("county", county || "");
|
||||||
formData.append("county", county || "");
|
formData.append("address", address || "");
|
||||||
formData.append("address", address || "");
|
const response = await axiosInstance.post<ApiResponse<null>>(
|
||||||
formData.append("id_no_pic", id_no_pic);
|
"patient-edit",
|
||||||
|
formData
|
||||||
const response = await axiosInstance.post<ApiResponse<null>>(
|
);
|
||||||
"patient-edit",
|
|
||||||
formData
|
|
||||||
);
|
|
||||||
return response.data;
|
|
||||||
}
|
|
||||||
|
|
||||||
// 否则以 JSON 方式提交
|
|
||||||
const response = await axiosInstance.post<ApiResponse<null>>("patient-edit", {
|
|
||||||
id_no,
|
|
||||||
marital_status,
|
|
||||||
province: province || "",
|
|
||||||
city: city || "",
|
|
||||||
county: county || "",
|
|
||||||
address: address || "",
|
|
||||||
});
|
|
||||||
return response.data;
|
return response.data;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -4,11 +4,11 @@ export function parseRegionCodesFromId(idNo: string | null | undefined) {
|
|||||||
const s = String(idNo).trim();
|
const s = String(idNo).trim();
|
||||||
// 身份证号码前6位为行政区划代码
|
// 身份证号码前6位为行政区划代码
|
||||||
if (!/^[0-9]{6,}/.test(s)) return result;
|
if (!/^[0-9]{6,}/.test(s)) return result;
|
||||||
const first6 = s.slice(4, 6);
|
const first6 = s.slice(0, 6);
|
||||||
const first4 = s.slice(2, 4);
|
const first4 = s.slice(0, 4);
|
||||||
const first2 = s.slice(0, 2);
|
const first2 = s.slice(0, 2);
|
||||||
result.county = first6;
|
result.county = first6; // 6位县级代码
|
||||||
result.city = `${first4}`;
|
result.city = `${first4}`; // 市级代码:前4位+00
|
||||||
result.province = `${first2}`;
|
result.province = `${first2}`; // 省级代码:前2位+0000
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user