| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115 |
- import { Get, Post } from "../../lib/request/method";
- import dayjs from "dayjs";
- const ref = ['province', 'city', 'area'] as const;
- const ref2 = ['womenSpecialPeriod', 'foodAllergy', 'hobbyFlavor', 'job'] as const;
- function to(params: App.Patient.Model) {
- const { address, ..._data } = params;
- const data: Record<string, any> = {}
- if (Array.isArray(address)) {
- address.forEach(({ name, code }, index) => {
- const key = ref[index];
- data[`${key}Name`] = name
- data[`${key}Code`] = code
- })
- }
- for (const key of ref2) {
- if (Array.isArray(_data[key])) _data[key] = _data[key]?.map(item => item?.value || item).join(',') as any;
- }
- return { ..._data, ...data, }
- }
- function from(params: Record<string, any>) {
- const address = [];
- for (const key of ref) {
- const name = params[`${key}Name`];
- const code = params[`${key}Code`];
- if (name && code) {
- address[address.length] = { name, code };
- delete params[`${key}Name`];
- delete params[`${key}Code`];
- } else {
- break;
- }
- }
- for (const key of ref2) {
- if (typeof params[key] === 'string' && params[key]) params[key] = params[key].split(',')
- }
- return { ...params, address } as App.Patient.Model
- }
- export function getUserInfoMethod() {
- return Post(`/patientInfoManage/getPatientInfoDetail`, {}, {
- transform({ data }) {
- return from(<any>data)
- }
- })
- }
- export function createUserInfoMethod(data: App.Patient.Model) {
- return Post(`/patientInfoManage/savePatientInfo`, { ...to(data), mobileAccountId: 0, }, {
- transform({ data }) { return { patientId: data } }
- });
- }
- // 手机号注册
- export function createPhoneRegister(data: App.Patient.Model) {
- return Get(`/mobileAccountManage/phoneRegister`, { params: { ...to(data) } })
- .then(res => ({ patientId: res.data }));
- }
- export async function updateUserInfoMethod(data: App.Patient.Model) {
- const result = await Post(`/patientInfoManage/updatePatientInfo`, to(data));
- }
- export function verifyCardnoMethod(value: string) {
- return Get(`/patientInfoManage/isExistCardno`, { params: { cardno: value }, transform({ data }) { return data } })
- }
- export async function getUserRecordMethod() {
- const { data: $dictionaries } = await Get(`/dict/getDicts`);
- const $is: AnyArray = $dictionaries.find((item: AnyObject) => item.dictType === 'sys_yes_no')?.items ?? [];
- const $w: AnyArray = $dictionaries.find((item: AnyObject) => item.dictType === 'women_special_period')?.items ?? [];
- const $f: AnyArray = $dictionaries.find((item: AnyObject) => item.dictType === 'food_allergy')?.items ?? [];
- const $h: AnyArray = $dictionaries.find((item: AnyObject) => item.dictType === 'hobby_flavor')?.items ?? [];
- const $j: AnyArray = $dictionaries.find((item: AnyObject) => item.dictType === 'job')?.items ?? [];
- const get = (value: string, $dictionaries: AnyArray) => {
- return value?.split(',')
- .map(value => {
- const [v, l] = value.split(':');
- return l ? l.trim() : $dictionaries.find(item => item.dictValue === v)?.dictLabel
- })
- .filter(Boolean)
- .join(', ')
- }
- return Post(`/patientInfoManage/pageChangeRecord`, {}, {
- transform({ data }: AnyObject) {
- return {
- total: data.total,
- data: data.data?.map((item: AnyObject) => {
- return {
- reportTime: dayjs(item.createTime).format('YY/MM/DD'),
- height: item.height ? `${item.height}cm` : '',
- weight: item.weight ? `${item.weight}kg` : '',
- smokeState: get(item.smokeState, $is),
- drinkState: get(item.drinkState, $is),
- foodAllergy: get(item.foodAllergy, $f),
- hobbyFlavor: get(item.hobbyFlavor, $h),
- job: get(item.job, $j),
- womenSpecialPeriod: get(item.womenSpecialPeriod, $w),
- }
- })
- };
- }
- })
- }
|