diff --git a/request/api/api.js b/request/api/api.js index 1c0c626..989bc38 100644 --- a/request/api/api.js +++ b/request/api/api.js @@ -1,5 +1,14 @@ import http from './request' import { get } from './http' +import { + getPatientListApi, + savePatientApi, + deletePatientApi, + getPatientGuardianInfoApi, + getPatientRelationApi, + changePatientDefaultApi, + getPatientHealthInfoApi, +} from './patient.js' /** 将 xk-api 的 code/result 格式转为旧版 errcode/data,兼容现有页面 */ function normalizeXkApiResponse(res) { @@ -10,6 +19,21 @@ function normalizeXkApiResponse(res) { return res; } +/** + * 就诊人列表专用:xk-api result 为 { list, latest_register_user_patient_id } + * 旧页面仍读 res.data.data 数组,这里把 list 摊平到 data + */ +function normalizePatientListResponse(res) { + if (res && res.data && (res.data.code === 0 || res.data.code === '0')) { + const result = res.data.result + const list = Array.isArray(result) ? result : ((result && result.list) || []) + res.data.errcode = 0 + res.data.data = list + res.data.result = result + } + return res +} + // 登录 授权 其他手机号授权 export async function getsLogin(params) { let data = await http('/oldApi/v1/user/login', params) @@ -96,59 +120,58 @@ export async function registerList(params) { } -// 就诊人列表 +/** 就诊人列表(xk-api POST /patient/list) */ export async function userList(params) { - let data = await http('/oldApi/v1/patient/list', params) - return data + const data = (params && params.data) || params || {} + return normalizePatientListResponse(await getPatientListApi(data)) } -// 就诊人关系 +/** 就诊人关系(xk-api GET /patient/relation) */ export async function userRelation(params) { - let data = await http('/oldApi/v1/patient/relation', params) - return data + const data = (params && params.data) || params || {} + return normalizeXkApiResponse(await getPatientRelationApi(data)) } -// 编辑就诊人信息 +/** 编辑就诊人头像等(仍走旧接口,业务极少用) */ export async function userInfo(params) { let data = await http('/oldApi/v1/patient/edit-patient', params) return data } -// 就诊人保存 +/** 就诊人保存(xk-api POST /patient/save) */ export async function userAdd(params) { - let data = await http('/xkApi/patient/save', params) - return data + const data = (params && params.data) || params || {} + return normalizeXkApiResponse(await savePatientApi(data)) } -// 就诊人监护人信息(编辑回显) +/** 就诊人监护人信息(xk-api GET /patient/guardian-info) */ export async function userGuardianInfo(params) { - const query = params.data || params - return await get('/patient/guardian-info', query, 3) + const query = (params && params.data) || params || {} + return normalizeXkApiResponse(await getPatientGuardianInfoApi(query)) } -// 删除就诊人 +/** 删除就诊人(xk-api POST /patient/delete) */ export async function userPatientDel(params) { - let data = await http('/xkApi/patient/delete', params) - return data + const data = (params && params.data) || params || {} + return normalizeXkApiResponse(await deletePatientApi(data)) } -// 就诊人详情 +/** 就诊人详情(列表已含字段;无独立详情时仍兼容旧 Yii) */ export async function userDetail(params) { let data = await http('/oldApi/v1/patient/info', params) return data } -// 就诊人 切换默认接诊人 +/** 切换默认就诊人(xk-api POST /patient/change-default) */ export async function userPatientChoose(params) { - let data = await http('/oldApi/v1/patient/change-patient', params) - return data + const data = (params && params.data) || params || {} + return normalizeXkApiResponse(await changePatientDefaultApi(data)) } - -// 就诊人 - 健康信息 +/** 健康问诊详情(xk-api POST /patient/health-info) */ export async function userEidtPatient(params) { - let data = await http('/oldApi/v1/patient/health-info', params) - return data + const data = (params && params.data) || params || {} + return normalizeXkApiResponse(await getPatientHealthInfoApi(data)) } // 挂号 diff --git a/subPackages/my/myinfo-edit.vue b/subPackages/my/myinfo-edit.vue index 8ad913f..0f26529 100644 --- a/subPackages/my/myinfo-edit.vue +++ b/subPackages/my/myinfo-edit.vue @@ -853,6 +853,8 @@ that.form.age = that.infoList[0].age that.form.identityCardNo = that.infoList[0].id_card that.addid = that.infoList[0].id + // 编辑页无「设为默认」开关,保存时原样回传,避免后端缺省写成 0 + that.checked = Number(that.infoList[0].is_default) === 1 that.actionSheetCallback(that.infoList[0].relation) that.getHeath() @@ -1073,6 +1075,8 @@ age: this.form.age, mobile: this.phone, relation: this.relation, + // 编辑页回传原默认态,防止保存后默认被取消 + is_default: this.checked ? '1' : '0', is_visit: this.isVisit == '是' ? '1' : '0', liver_function: this.liver == '正常' ? '0' : '1', renal_function: this.renal == '正常' ? '0' : '1',