2026-06-24 11:11:11 +08:00
|
|
|
import{d as a,r as s,c as l,o as e,b as t,e as n,f as r,w as u,i as c,K as i,j as o,n as d,t as f,g as v,l as _,m,F as g,L as p,M as h,q as b,z as y,A as x,y as M,x as k,S as $,H as w}from"./index-B3xhAghV.js";import{_ as j}from"./config-doctor.TgARj_nM.js";import{f as F}from"./profile.BbbxJHQS.js";import{_ as N}from"./_plugin-vue_export-helper.BCo6x5W8.js";import"./auth.CVVsF-MZ.js";import"./session.DPiOuS8W.js";const T=N(a({__name:"profile-analysis",setup(a){const N=s(!1),T=s(""),I=s(!1),S=s(null),C=s(!1),L=s(!1),X=s(!1);let Y=null,P=null;const q=l((()=>{var a;const s=null==(a=S.value)?void 0:a.current_score;return"number"==typeof s&&Number.isFinite(s)?Number.isInteger(s)?String(s):s.toFixed(1):"--"})),z=l((()=>{var a;const s=null==(a=S.value)?void 0:a.score_delta_pct;if("number"!=typeof s||!Number.isFinite(s))return"";return`${s>0?"+":""}${s}%`})),A=l((()=>{var a;const s=null==(a=S.value)?void 0:a.score_delta_pct;return"number"==typeof s&&s<0})),B=l((()=>{var a;if(X.value)return"智能分析加载失败,请稍后重试";if(!L.value)return"正在加载您的临床能力分析";const s=null==(a=S.value)?void 0:a.score_delta_pct;if("number"==typeof s&&Number.isFinite(s)){if(s>0)return"相较于近期表现,您的临床能力评分有所提升";if(s<0)return"相较于近期表现,当前评分略有回落,建议继续专项练习"}return"当前已生成您的临床能力评分"})),D=l((()=>{var a;const s=(null==(a=S.value)?void 0:a.recent_trend)||[],l=s.length-1;return s.map(((a,s)=>({label:a.label,score:a.score,height:`${V(a.score)}%`,highlight:s===l})))})),E=l((()=>{var a;const s=((null==(a=S.value)?void 0:a.radar)||[]).slice(0,6),l=s.length;return l<3?[]:s.map(((a,s)=>{const e=-Math.PI/2+2*Math.PI*s/l,t=V(a.score)/100*35,n=50+47*Math.cos(e),r=50+47*Math.sin(e),u=aa(n,14,86),c=aa(r,6,94);return{dimension:a.dimension,displayScore:W(a.score),pointX:Z(50+Math.cos(e)*t),pointY:Z(50+Math.sin(e)*t),labelLeft:`${u}%`,labelTop:`${c}%`}}))})),H=l((()=>E.value.map((a=>`${a.pointX},${a.pointY}`)).join(" "))),K=l((()=>C.value?"分析数据加载中...":X.value?"分析数据加载失败":"暂无趋势数据")),G=l((()=>{var a;return(null==(a=S.value)?void 0:a.comment)||K.value})),J=l((()=>{var a,s;return(null==(s=null==(a=S.value)?void 0:a.weak_dimensions)?void 0:s[0])||"病史采集"})),O=l((()=>{var a;const s=(null==(a=S.value)?void 0:a.current_score)||0;return s>=85?"高级":s>=70?"中级":"基础"})),Q=l((()=>{var a;return(null==(a=S.value)?void 0:a.comment)?`“${S.value.comment}”`:X.value?"“分析数据暂时未能加载,请稍后再试。”":"“正在读取你的训练表现,稍后给出更具体的强化建议。”"}));function R(){"function"==typeof p&&p().length>1?h():b({url:"/pages/profile/profile"})}function U(a){P&&clearTimeout(P),T.value=a,I.value=!0,P=setTimeout((()=>{I.value=!1}),2200)}function V(a){return Number.isFinite(a)?Math.max(0,Math.min(100,Math.round(a))):0}function W(a){return Number.isFinite(a)?Number.isInteger(a)?String(a):a.toFixed(1):"--"}function Z(a){return Math.round(100*a)/100}function aa(a,s,l){return Math.max(s,Math.min(l,Math.round(100*a)/100))}return e((()=>{Y=setTimeout((()=>{N.value=!0}),60),async function(){C.value=!0,X.value=!1;try{S.value=await F(),L.value=!0}catch(a){X.value=!0,U(a instanceof Error?a.message:"智能分析加载失败")}finally{C.value=!1}}()})),t((()=>{Y&&clearTimeout(Y),P&&clearTimeout(P)})),(a,s)=>{const l=y,e=x,t=M,p=k,h=$;return n(),r(l,{class:"analysis-page"},{default:u((()=>[c(l,{class:"analysis-shell"},{default:u((()=>[i("header",{class:"top-bar"},[c(e,{class:"icon-button","aria-label":"返回",onClick:R},{default:u((()=>[c(l,{class:"back-icon"})])),_:1}),c(t,{class:"page-title"},{default:u((()=>[o("智能分析")])),_:1})]),c(h,{class:"analysis-scroll","scroll-y":""},{default:u((()=>[c(l,{class:"analysis-main"},{default:u((()=>[c(l,{class:d(["fade-section",{visible:N.value}])},{default:u((()=>[c(l,{class:"summary-card"},{default:u((()=>[c(l,{class:"summary-copy"},{default:u((()=>[c(l,{class:"summary-head"},{default:u((()=>[c(t,{class:"summary-lab
|