2 lines
7.6 KiB
JavaScript
2 lines
7.6 KiB
JavaScript
|
|
import{d as e,a,b as l,c as s,B as t,o as c,e as i,f as n,C as u,w as o,i as d,n as r,j as v,t as p,l as f,m,F as _,k as b,g,D as k,s as h,q as x,u as j,y,x as C,z as T,S as w}from"./index-CO9MSRh5.js";import{_ as I}from"./scenario.BukjTHcC.js";import{c as O,_ as S}from"./navigation.CR32hNeX.js";import P from"./pages-home-home.CT-k3IgO.js";import{_ as D}from"./_plugin-vue_export-helper.BCo6x5W8.js";import"./chat.8vobffxZ.js";import"./pages-diagnosis-diagnosis.66q0uZui.js";import"./pages-treatment-treatment.D0F-ACWL.js";import"./pages-assessment-assessment.C4j7M_zU.js";import"./pages-matching-matching.Ct5sJvnH.js";import"./pages-cases-cases.BoP2qVQz.js";import"./pages-teaching-teaching.B-cSP3tJ.js";const F={departments:[{value:"im",label:"内科",desc:"心内、呼吸、消化、肾内等临床场景"},{value:"sur",label:"外科",desc:"普外、骨科、神外、胸外等临床场景"},{value:"ped",label:"儿科",desc:"儿童常见病、急重症与沟通训练"},{value:"obg",label:"妇产科",desc:"围产、妇科、产科急症训练"},{value:"er",label:"急诊科",desc:"分诊、抢救、危急值处置训练"},{value:"icu",label:"重症医学科",desc:"危重症评估与多学科决策训练"}],titles:[{value:"resident",label:"住院医师",desc:"强化基础诊疗路径与病历思维"},{value:"attending",label:"主治医师",desc:"提升独立诊疗和带教表达"},{value:"associate_chief",label:"副主任医师",desc:"复杂病例决策与团队协作"},{value:"chief",label:"主任医师",desc:"疑难病例、质控和教学管理"}],experiences:[{value:"1-3",label:"1-3年",desc:"基础病例训练优先"},{value:"3-5",label:"3-5年",desc:"进阶诊疗路径优先"},{value:"5-10",label:"5-10年",desc:"复杂病例推演优先"},{value:"10+",label:"10年以上",desc:"疑难病例与带教模拟优先"}]};const N=D(e({__name:"config",emits:["open-profile"],setup(e,{emit:D}){const N=a({department:"im",title:"resident",experience:"1-3"}),A=l(F),M=l("欢迎回来!请配置执业信息,开始精准带教模拟。"),q=l(""),z=l(!1),B=l(""),$=l(!1),E=l(!1),G=l("idle"),H=l(""),J=l(!1),K=l(!1),L=O(D);let Q=null,R=null;const U=s((()=>ee("departments",N.department))),V=s((()=>ee("titles",N.title))),W=s((()=>ee("experiences",N.experience))),X=s((()=>{const e={department:A.value.departments,title:A.value.titles,experience:A.value.experiences},a=B.value;return a?e[a]:[]})),Y=s((()=>{const e=B.value;return e?{department:"选择执业科室",title:"选择专业职称",experience:"选择执业年限"}[e]:"请选择"})),Z=s((()=>E.value?"正在保存...":"saved"===G.value?"已就绪":"确认并继续"));function ee(e,a){const l=A.value[e]||[];return l.find((e=>e.value===a))||l[0]||{label:"请选择",value:""}}function ae(e){B.value=e,$.value=!0}function le(){$.value=!1,B.value=""}function se(){const e=k("clinical-thinking-user")||{},a={userId:e.id?String(e.id):"mock-user-guest",phone:e.phone||"",institutionId:e.institutionId||e.institution||"",department:N.department,title:N.title,experience:N.experience,departmentName:U.value.label,titleName:V.value.label,experienceName:W.value.label};E.value=!0,G.value="idle",function(e){return Promise.resolve({id:`mock-config-${Date.now()}`,...e,updatedAt:(new Date).toISOString()})}(a).then((e=>{h("clinical-thinking-config",e),E.value=!1,G.value="saved",ce("配置已保存"),setTimeout((()=>{K.value=!0}),500)})).catch((()=>{E.value=!1,ce("保存失败,请稍后重试")}))}function te(){K.value=!1,G.value="idle"}function ce(e){R&&clearTimeout(R),H.value=e,J.value=!0,x({title:e,icon:"none"}),R=setTimeout((()=>{J.value=!1}),2200)}return t((function(){Promise.resolve({options:F,defaults:{department:"im",title:"resident",experience:"1-3"},mentor:{name:"王主任",message:"欢迎回来!请配置执业信息,开始精准带教模拟。"}}).then((({options:e,defaults:a,mentor:l})=>{A.value=e,Object.assign(N,a),M.value=l.message,function(){Q&&clearTimeout(Q);q.value="",z.value=!0;let e=0;const a=()=>{e<M.value.length?(q.value+=M.value.charAt(e),e+=1,Q=setTimeout(a,48+Math.floor(42*Math.random()
|