2 lines
7.1 KiB
JavaScript
2 lines
7.1 KiB
JavaScript
|
|
import{d as e,a as l,b as a,c as s,B as t,o,e as c,f as i,w as n,i as u,j as d,t as r,l as m,m as f,F as p,n as v,s as _,q as g,u as b,y,x as h,z as k,S as C}from"./index-DW9fDEMX.js";import{_ as I}from"./config-doctor.TgARj_nM.js";import G from"./pages-chat-chat.C6x0yrXE.js";import{_ as j}from"./_plugin-vue_export-helper.BCo6x5W8.js";const w=""+new URL("config-hospital-BKoUC35q.png",import.meta.url).href;const S=j(e({__name:"scenario",props:{caseItem:{}},emits:["open-settings","open-profile","go-home"],setup(e,{emit:j}){const S=e,O=j,T=l({environment:"outpatient",ageGroup:"young",education:"higher",personality:"calm"}),x=a([]),P=a({environments:[],ageGroups:[],educations:[],personalities:[]}),F=a(""),N=a(!1),$=a(""),q=a(!1),z=a(!1);let B=null;const D=s((()=>S.caseItem?`${S.caseItem.title}(${S.caseItem.caseNo})`:"未选择病例"));function U(e,l){T[e]=l,F.value=""}function A(){var e;S.caseItem?(N.value=!0,(e={...T,caseId:S.caseItem.id,caseNo:S.caseItem.caseNo,recommendationId:F.value||void 0},Promise.resolve({id:`mock-scenario-${Date.now()}`,...e,createdAt:(new Date).toISOString()})).then((e=>{_("clinical-thinking-scenario",e),H("模拟场景已生成"),setTimeout((()=>{z.value=!0}),450)})).finally((()=>{setTimeout((()=>{N.value=!1}),600)}))):H("请先选择病例")}function H(e){B&&clearTimeout(B),$.value=e,q.value=!0,g({title:e,icon:"none"}),B=setTimeout((()=>{q.value=!1}),2200)}return t((function(){Promise.resolve({recommendations:[{id:"typical-outpatient",title:"典型门诊病例",desc:"门诊常规病例:针对初学者设计的标准化沟通流程。",tags:["中年","配合"],defaults:{environment:"outpatient",ageGroup:"middle",education:"higher",personality:"calm"}},{id:"emergency-crisis",title:"急诊重症危机",desc:"急诊危重:急性心梗紧急入院。",tags:["老年","急躁"],defaults:{environment:"emergency",ageGroup:"elderly",education:"secondary",personality:"irritable"}}],options:{environments:[{value:"outpatient",label:"门诊"},{value:"emergency",label:"急诊"},{value:"ward",label:"病房"}],ageGroups:[{value:"child",label:"儿童"},{value:"young",label:"青年"},{value:"middle",label:"中年"},{value:"elderly",label:"老年"}],educations:[{value:"primary",label:"小学及以下"},{value:"secondary",label:"中等教育"},{value:"higher",label:"高等教育"}],personalities:[{value:"calm",label:"平和"},{value:"anxious",label:"焦虑"},{value:"irritable",label:"急躁"},{value:"cooperative",label:"配合"},{value:"suspicious",label:"多疑"}]}}).then((e=>{x.value=e.recommendations,P.value=e.options}))})),o((()=>{B&&clearTimeout(B)})),(e,l)=>{const a=b,s=y,t=h,o=k,_=C;return z.value?(c(),i(G,{key:0,"case-item":e.caseItem,onOpenSettings:l[0]||(l[0]=e=>O("open-settings")),onOpenProfile:l[1]||(l[1]=e=>O("open-profile")),onGoHome:l[2]||(l[2]=e=>O("go-home"))},null,8,["case-item"])):(c(),i(s,{key:1,class:"scenario-page"},{default:n((()=>[u(s,{class:"scenario-shell"},{default:n((()=>[u(s,{class:"hero"},{default:n((()=>[u(a,{class:"hero-image",src:w,mode:"aspectFill"}),u(s,{class:"hero-fade"})])),_:1}),u(s,{class:"director-row"},{default:n((()=>[u(s,{class:"director-avatar"},{default:n((()=>[u(a,{class:"director-image",src:I,mode:"aspectFit"})])),_:1}),u(s,{class:"speech-bubble"},{default:n((()=>[u(t,null,{default:n((()=>[d("欢迎回来!请根据您的教学目标配置临床场景。")])),_:1})])),_:1})])),_:1}),u(_,{class:"config-scroll","scroll-y":""},{default:n((()=>[u(s,{class:"selected-case"},{default:n((()=>[u(t,{class:"case-label"},{default:n((()=>[d("当前病例")])),_:1}),u(t,{class:"case-title"},{default:n((()=>[d(r(D.value),1)])),_:1})])),_:1}),u(s,{class:"section"},{default:n((()=>[u(s,{class:"section-title"},{default:n((()=>[u(s,{class:"star-icon"}),u(t,null,{default:n((()=>[d("王主任推荐")])),_:1})])),_:1}),u(s,{class:"recommend-list"},{default:n((()=>[(c(!0),m(p,null,f(x.value,(e=>(c(),i(o,{key:e.id,class:v(["recommend-card",{active:F.value===e.id}]),onClick:l=>function(e){F.value=e.id,Object.assign(T,e.defaults)}(e)},{default:n((()=>[u(s,{class:"recommend-head"},{def
|