| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120 |
- import { cacheFor } from '@/request/api/index';
- import { useVisitor } from '@/stores';
- import HTTP from '../alova';
- import { fromAnalysisModel, fromReportData, fromSchemeRequest } from '../model';
- export function getAnalysisResultsMethod() {
- const Visitor = useVisitor();
- return HTTP.Post(
- `/fdhb-tablet/dialogueManage/dialog/${ Visitor.patientId }/${ Visitor.resultId }`,
- { questions: [], asyncTongueResult: false, patientId: Visitor.patientId },
- {
- meta: { ignoreException: true },
- async transform(data: Record<string, any>, headers) {
- const id = data?.tonguefaceAnalysisReportId;
- const date = data?.tonguefaceAnalysisReportDate;
- const miniProgramURL = data?.tonguefaceAnalysisReportAppletImg;
- data = data.nextQuestions?.find((item: any) => item.classify === 'tongue_result');
- let message = '';
- if ( data ) {
- const tongue = fromAnalysisModel('tongue', data);
- const face = fromAnalysisModel('face', data);
- if (!tongue.result && !face.result) {
- message = data.content;
- } else {
- const { show, force } = await miniProgramMethod('report');
- return {
- id, date, miniProgramURL: show ? miniProgramURL : void 0,
- tongue, face,
- payLock: show && force,
- };
- }
- }
- throw { message: message || `[分析结果] 照片不符合检测要求,图片不是舌头(请拍摄带有舌头的、清晰的彩色照!)` };
- },
- },
- );
- }
- export function getReportMethod(id: string) {
- const Visitor = useVisitor();
- const params = { healthAnalysisReportId: id, patientId: Visitor.patientId?.toString() };
- return HTTP.Get(`/fdhb-tablet/analysisManage/getHealRepDetailById`, {
- params,
- async transform(data, headers) {
- const patientId = (<any>data)?.patientId?.toString()
- if (params.patientId !== patientId ) Visitor.$reset()
- const report = fromReportData(<any> data);
- Visitor.updatePulseReport(report.pulse, patientId);
- const { show, force } = await miniProgramMethod('report');
- if ( !show ) { report.miniProgramURL = void 0; }
- report.payLock = show && force;
- return report;
- },
- });
- }
- export function getAlcoholReportMethod() {
- const Visitor = useVisitor();
- const params = { healthAnalysisReportId: Visitor.reportId, patientId: Visitor.patientId };
- return HTTP.Get(`/fdhb-tablet/analysisManage/getHealRepDetailById`, {
- params,
- transform(data: Record<string, any>) {
- return {
- date: data?.alcoholAnalysisReportDate /*?? data?.reportTime*/,
- alcohol: fromAnalysisModel('alcohol', data),
- }
- }
- });
- }
- export function updateReportMethod(id: string, data: Record<string, any>) {
- const Visitor = useVisitor();
- const params = {
- healthAnalysisReportId: id,
- constitutionGroupImg: data?.constitutionGroupImg,
- factorItemRadarImg: data?.factorItemRadarImg,
- patientId: Visitor.patientId
- };
- return HTTP.Post(`/fdhb-tablet/analysisManage/upConFacImgById`, params, {});
- }
- export function getReportSchemeMethod(id: string, standalone?: boolean) {
- const Visitor = useVisitor();
- const params = { healthAnalysisReportId: id, patientId: Visitor.patientId, standalone };
- return HTTP.Get(`/fdhb-tablet/analysisManage/getCondProgDetailById`, {
- params,
- async transform(data: any, headers) {
- const scheme = fromSchemeRequest(data);
- const { show, force } = await miniProgramMethod('scheme');
- if ( !show ) { scheme.miniProgramURL = void 0; }
- scheme.payLock = show && force;
- return scheme;
- },
- });
- }
- export function miniProgramMethod(type: 'report' | 'scheme' = 'report') {
- return HTTP.Post<{ show: boolean; force: boolean; }, { tabletRequiredPageOperationElements: string[] }>(
- `/fdhb-tablet/warrantManage/getPageSets`, void 0, {
- cacheFor, name: `variate:mini_program`,
- params: { k: `mini_program_${type}` },
- transform(data, headers) {
- const cfg = Array.isArray(data.tabletRequiredPageOperationElements) ? data.tabletRequiredPageOperationElements : [];
- /**
- * - health_analysis_report_page_appletbutton
- * - health_analysis_report_page_appletscan
- *
- * - health_analysis_scheme_page_appletbutton
- * - health_analysis_scheme_page_appletscan
- */
- return {
- show: cfg.includes(`health_analysis_${type}_page_appletbutton`),
- force: cfg.includes(`health_analysis_${type}_page_appletscan`),
- };
- },
- });
- }
|