Files
vueapp/dist/assets/pages-config-config.yawjV9i-.js
T

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 u,w as n,i as o,n as d,j as r,t as v,l as p,m as f,F as m,k as _,g as b,C as g,s as k,q as h,u as x,y as j,x as y,z as C,S as T}from"./index-DW9fDEMX.js";import{_ as w}from"./scenario.CL4-paFA.js";import{_ as I}from"./config-doctor.TgARj_nM.js";import S from"./pages-home-home.nWBzzQak.js";import{_ as O}from"./_plugin-vue_export-helper.BCo6x5W8.js";import"./pages-chat-chat.C6x0yrXE.js";import"./pages-diagnosis-diagnosis.CYLO22Hl.js";import"./pages-treatment-treatment.d2FGaPvO.js";import"./pages-assessment-assessment.BrVJ3T4X.js";import"./pages-matching-matching.Bx-_S4DK.js";import"./pages-cases-cases.yvnXXfly.js";import"./pages-teaching-teaching.88nrvDTI.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=O(e({__name:"config",emits:["open-profile"],setup(e,{emit:O}){const N=a({department:"im",title:"resident",experience:"1-3"}),P=l(F),A=l("欢迎回来!请配置执业信息,开始精准带教模拟。"),D=l(""),M=l(!1),q=l(""),z=l(!1),B=l(!1),$=l("idle"),E=l(""),G=l(!1),H=l(!1),J=O;let K=null,L=null;const Q=s((()=>Y("departments",N.department))),R=s((()=>Y("titles",N.title))),U=s((()=>Y("experiences",N.experience))),V=s((()=>{const e={department:P.value.departments,title:P.value.titles,experience:P.value.experiences},a=q.value;return a?e[a]:[]})),W=s((()=>{const e=q.value;return e?{department:"选择执业科室",title:"选择专业职称",experience:"选择执业年限"}[e]:"请选择"})),X=s((()=>B.value?"正在保存...":"saved"===$.value?"已就绪":"确认并继续"));function Y(e,a){const l=P.value[e]||[];return l.find((e=>e.value===a))||l[0]||{label:"请选择",value:""}}function Z(e){q.value=e,z.value=!0}function ee(){z.value=!1,q.value=""}function ae(){const e=g("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:Q.value.label,titleName:R.value.label,experienceName:U.value.label};B.value=!0,$.value="idle",function(e){return Promise.resolve({id:`mock-config-${Date.now()}`,...e,updatedAt:(new Date).toISOString()})}(a).then((e=>{k("clinical-thinking-config",e),B.value=!1,$.value="saved",se("配置已保存"),setTimeout((()=>{H.value=!0}),500)})).catch((()=>{B.value=!1,se("保存失败,请稍后重试")}))}function le(){H.value=!1,$.value="idle"}function se(e){L&&clearTimeout(L),E.value=e,G.value=!0,h({title:e,icon:"none"}),L=setTimeout((()=>{G.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})=>{P.value=e,Object.assign(N,a),A.value=l.message,function(){K&&clearTimeout(K);D.value="",M.value=!0;let e=0;const a=()=>{e<A.value.length?(D.value+=A.value.charAt(e),e+=1,K=setTimeout(a,48+Math.floor(42*Math.random()))):M.value=!1};a()}()}))})),c((()=>{K&&clearTimeout(K),L&&clearTimeout(L)})),(e,a)=>{const l=x,s=j,t=y,c=C,g=T;return H.value?(i(),u(S,{key:0,onOpenSettings:le,onOpenProfile:a[0]||(a[0]=e=>J("open-profile"))})):(i(),u(s,{key:1,class:"config-page"},{default:n((()=>[o(s,{class:"phone-frame"},{default:n((()=>[o(s,{class:"hero-section"},{default:n((()=>[o(l,{class:"hospital-image",src:w,mode:"aspectFill"}),o(s,{class:"hero-overlay"})])),_:1}),o(s,{class:"profile-section"},{default:n((()=>[o(s,{class:"section-glow"}),o(s,{class:"profile-content"},{default:n((()=>[o(s,{class:"intro-row"},{default:n((()=>[o(s,{class:"doctor-card"},{default:n((()=>[o(l,{class:"doctor-image",src:I,mode:"aspectFit"})])),_:1}),o(s,{class:"bubble"},{default:n((()=>[o(t,{class:d(["bubble-text",{typing:M.value}])},{default:n((()=>[r(v(D.value),1)])),_:1},8,["class"]),o(s,{class:"bubble-arrow"})])),_:1})])),_:1}),o(s,{class:"form-area"},{default:n((()=>[o(s,{class:"field-block"},{default:n((()=>[o(t,{class:"field-label"},{default:n((()=>[r("执业科室")])),_:1}),o(s,{class:"glass-select",onClick:a[1]||(a[1]=e=>Z("department"))},{default:n((()=>[o(t,{class:"select-value"},{default:n((()=>[r(v(Q.value.label),1)])),_:1}),o(s,{class:"chevron"})])),_:1})])),_:1}),o(s,{class:"field-grid"},{default:n((()=>[o(s,{class:"field-block"},{default:n((()=>[o(t,{class:"field-label"},{default:n((()=>[r("专业职称")])),_:1}),o(s,{class:"glass-select",onClick:a[2]||(a[2]=e=>Z("title"))},{default:n((()=>[o(t,{class:"select-value"},{default:n((()=>[r(v(R.value.label),1)])),_:1}),o(s,{class:"chevron"})])),_:1})])),_:1}),o(s,{class:"field-block"},{default:n((()=>[o(t,{class:"field-label"},{default:n((()=>[r("执业年限")])),_:1}),o(s,{class:"glass-select",onClick:a[3]||(a[3]=e=>Z("experience"))},{default:n((()=>[o(t,{class:"select-value"},{default:n((()=>[r(v(U.value.label),1)])),_:1}),o(s,{class:"chevron"})])),_:1})])),_:1})])),_:1})])),_:1})])),_:1})])),_:1}),o(s,{class:"action-section"},{default:n((()=>[o(c,{class:d(["submit-button",{saved:"saved"===$.value}]),disabled:B.value,onClick:ae},{default:n((()=>[B.value?(i(),u(s,{key:0,class:"spinner"})):"saved"===$.value?(i(),u(s,{key:1,class:"check-icon"})):(i(),u(s,{key:2,class:"check-icon"})),o(t,null,{default:n((()=>[r(v(X.value),1)])),_:1})])),_:1},8,["class","disabled"]),o(s,{class:"secure-tip"},{default:n((()=>[o(s,{class:"lock-icon"}),o(t,null,{default:n((()=>[r("数据已进行安全加密处理")])),_:1})])),_:1})])),_:1}),o(s,{class:"home-indicator"})])),_:1}),o(s,{class:d(["toast",{visible:G.value}])},{default:n((()=>[r(v(E.value),1)])),_:1},8,["class"]),z.value?(i(),u(s,{key:0,class:"picker-mask",onClick:ee},{default:n((()=>[o(s,{class:"picker-panel",onClick:a[4]||(a[4]=_((()=>{}),["stop"]))},{default:n((()=>[o(s,{class:"picker-header"},{default:n((()=>[o(t,{class:"picker-title"},{default:n((()=>[r(v(W.value),1)])),_:1}),o(t,{class:"picker-close",onClick:ee},{default:n((()=>[r("关闭")])),_:1})])),_:1}),o(g,{class:"option-list","scroll-y":""},{default:n((()=>[(i(!0),p(m,null,f(V.value,(e=>(i(),u(s,{key:e.value,class:d(["option-item",{active:e.value===N[q.value]}]),onClick:a=>function(e){const a=q.value;a&&(N[a]=e.value,ee())}(e)},{default:n((()=>[o(s,{class:"option-copy"},{default:n((()=>[o(t,{class:"option-label"},{default:n((()=>[r(v(e.label),1)])),_:2},1024),e.desc?(i(),u(t,{key:0,class:"option-desc"},{default:n((()=>[r(v(e.desc),1)])),_:2},1024)):b("",!0)])),_:2},1024),e.value===N[q.value]?(i(),u(s,{key:0,class:"selected-mark"})):b("",!0)])),_:2},1032,["class","onClick"])))),128))])),_:1})])),_:1})])),_:1})):b("",!0)])),_:1}))}}}),[["__scopeId","data-v-4a534b23"]]);export{N as default};