Files
vueapp/dist/assets/pages-treatment-treatment.ynd4_hPb.js
T
2026-06-09 17:00:23 +08:00

2 lines
6.5 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import{d as e,a,r as l,c as s,o as t,b as n,e as u,f as c,w as o,i as r,E as i,j as d,t as m,l as p,m as f,F as _,n as v,g as h,s as b,p as k,y as g,z as w,x as y,u as j,I as V,M as x}from"./index-CpNRQgjE.js";import{_ as C}from"./config-doctor.TgARj_nM.js";import{r as U}from"./cases.BlouN7SM.js";import{c as P,a as E,b as I}from"./navigation.CsipbD6y.js";import{F as T,a as F,r as M,f as O}from"./session.Cc2HEzjU.js";import{_ as $}from"./_plugin-vue_export-helper.BCo6x5W8.js";const N=$(e({__name:"treatment",props:{caseItem:{}},emits:["open-settings","open-profile","go-home"],setup(e,{emit:$}){const N=e,S=$,z=P(S),B=E(S),J=I(S),K=a({principle:"",measures:["",""],orders:""}),q=l(!1),A=l(!1),D=l(""),G=l(!1),H=l(null);let L=null;const Q=s((()=>N.caseItem||H.value)),R=s((()=>{var e;return(null==(e=Q.value)?void 0:e.patientName)||"陈先生"})),W=s((()=>{var e;return(null==(e=Q.value)?void 0:e.gender)||"男"})),X=s((()=>{var e;return(null==(e=Q.value)?void 0:e.age)||60})),Y=s((()=>{var e;return(null==(e=Q.value)?void 0:e.department)||"心血管内科"})),Z=s((()=>{var e;const a=(null==(e=Q.value)?void 0:e.title)||"持续胸痛3小时";return a.includes("胸痛")?"胸痛":a.slice(0,6)})),ee=s((()=>q.value?"提交中...":A.value?"已提交":"下一步"));async function ae(){if(!q.value){q.value=!0;try{const e=O(),a=K.orders.trim(),l={treatmentPrinciple:K.principle,treatmentMeasures:K.measures.map((e=>e.trim())).filter(Boolean).join(""),riskPlan:a,communication:a,followUp:a},s=await async function(e,a){const l={treatment_principle:a.treatmentPrinciple.trim(),treatment_measures:a.treatmentMeasures.trim(),risk_plan:a.riskPlan.trim(),communication:a.communication.trim(),follow_up:a.followUp.trim()},s=await fetch(`${T}/sessions/${e}/treatment`,{method:"POST",headers:F(),body:JSON.stringify(l)});if(!s.ok)throw new Error(await M(s));const t=await s.json();if("OK"!==t.code)throw new Error(t.message||"治疗方案提交失败");return t.data||l}(e,l);b("clinical-thinking-treatment",s),A.value=!0,k({url:"/pages/assessment/assessment",fail(){A.value=!1,le("进入评价页失败,请重试")}})}catch(e){le(e instanceof Error?e.message:"治疗方案提交失败")}finally{q.value=!1}}}function le(e){L&&clearTimeout(L),D.value=e,G.value=!0,L=setTimeout((()=>{G.value=!1}),2200)}return t((()=>{H.value=U()})),n((()=>{L&&clearTimeout(L)})),(e,a)=>{const l=g,s=w,t=y,n=j,b=V,k=x;return u(),c(l,{class:"treatment-page"},{default:o((()=>[r(l,{class:"treatment-shell"},{default:o((()=>[r(l,{class:"top-nav"},{default:o((()=>[r(s,{class:"icon-button","aria-label":"设置",onClick:i(B)},{default:o((()=>[r(l,{class:"settings-icon"})])),_:1},8,["onClick"]),r(s,{class:"icon-button home-button","aria-label":"首页",onClick:i(J)},{default:o((()=>[r(l,{class:"home-icon"})])),_:1},8,["onClick"]),r(l,{class:"nav-spacer"}),r(s,{class:"icon-button","aria-label":"个人中心",onClick:i(z)},{default:o((()=>[r(l,{class:"account-icon"})])),_:1},8,["onClick"])])),_:1}),r(l,{class:"case-header"},{default:o((()=>[r(t,{class:"case-heading"},{default:o((()=>[d("患者:"+m(R.value)+" ("+m(Z.value)+")",1)])),_:1}),r(l,{class:"patient-meta"},{default:o((()=>[r(t,null,{default:o((()=>[d("姓名:"+m(R.value),1)])),_:1}),r(t,null,{default:o((()=>[d("性别:"+m(W.value),1)])),_:1}),r(t,null,{default:o((()=>[d("年龄:"+m(X.value)+"岁",1)])),_:1}),r(t,null,{default:o((()=>[d("科室:"+m(Y.value),1)])),_:1})])),_:1})])),_:1}),r(l,{class:"treatment-content"},{default:o((()=>[r(l,{class:"stepper"},{default:o((()=>[r(l,{class:"step-line"},{default:o((()=>[r(l,{class:"step-line-active"})])),_:1}),r(l,{class:"step done"},{default:o((()=>[r(l,{class:"step-dot"},{default:o((()=>[r(l,{class:"check-icon"})])),_:1}),r(t,null,{default:o((()=>[d("问诊")])),_:1})])),_:1}),r(l,{class:"step done"},{default:o((()=>[r(l,{class:"step-dot"},{default:o((()=>[r(l,{class:"check-icon"})])),_:1}),r(t,null,{default:o((()=>[d("临床诊断")])),_:1})])),_:1}),r(l,{class:"step active"},{default:o((()=>[r(l,{class:"step-dot"},{default:o((()=>[r(l,{class:"pill-icon"})])),_:1}),r(t,null,{default:o((()=>[d("治疗计划")])),_:1})])),_:1})])),_:1}),r(l,{class:"mentor-card"},{default:o((()=>[r(l,{class:"mentor-avatar"},{default:o((()=>[r(n,{src:C,mode:"aspectFill"})])),_:1}),r(l,{class:"mentor-bubble"},{default:o((()=>[r(t,null,{default:o((()=>[d("王主任建议:请结合患者既往高血压史及突发性胸痛的性质,进行准确诊断。注意鉴别心梗与主动脉夹层。")])),_:1})])),_:1})])),_:1}),r(l,{class:"form-area"},{default:o((()=>[r(l,{class:"field-block"},{default:o((()=>[r(l,{class:"field-label primary"},{default:o((()=>[r(l,{class:"priority-icon"}),r(t,null,{default:o((()=>[d("治疗原则")])),_:1})])),_:1}),r(l,{class:"input-wrap"},{default:o((()=>[r(b,{class:"treatment-input",modelValue:K.principle,"onUpdate:modelValue":a[0]||(a[0]=e=>K.principle=e),type:"text",placeholder:"请输入治疗原则...","placeholder-class":"input-placeholder"},null,8,["modelValue"])])),_:1})])),_:1}),r(l,{class:"field-block"},{default:o((()=>[r(l,{class:"field-label"},{default:o((()=>[r(l,{class:"checklist-icon"}),r(t,null,{default:o((()=>[d("具体治疗措施")])),_:1})])),_:1}),r(l,{class:"measure-list"},{default:o((()=>[(u(!0),p(_,null,f(K.measures,((e,a)=>(u(),c(l,{key:a,class:"measure-row"},{default:o((()=>[r(t,{class:"measure-index"},{default:o((()=>[d(m(a+1),1)])),_:2},1024),r(b,{class:"measure-input",modelValue:K.measures[a],"onUpdate:modelValue":e=>K.measures[a]=e,type:"text",placeholder:`措施 ${a+1}`,"placeholder-class":"input-placeholder"},null,8,["modelValue","onUpdate:modelValue","placeholder"])])),_:2},1024)))),128))])),_:1})])),_:1}),r(l,{class:"field-block"},{default:o((()=>[r(l,{class:"field-label"},{default:o((()=>[r(l,{class:"description-icon"}),r(t,null,{default:o((()=>[d("医嘱")])),_:1})])),_:1}),r(k,{class:"order-input",modelValue:K.orders,"onUpdate:modelValue":a[1]||(a[1]=e=>K.orders=e),placeholder:"请输入医嘱建议...","placeholder-class":"input-placeholder"},null,8,["modelValue"])])),_:1})])),_:1}),r(s,{class:v(["next-button",{submitted:A.value}]),disabled:q.value,onClick:ae},{default:o((()=>[q.value?(u(),c(l,{key:0,class:"spinner"})):h("",!0),r(t,null,{default:o((()=>[d(m(ee.value),1)])),_:1}),q.value||A.value?h("",!0):(u(),c(l,{key:1,class:"arrow-icon"})),A.value?(u(),c(l,{key:2,class:"check-small-icon"})):h("",!0)])),_:1},8,["class","disabled"])])),_:1})])),_:1}),r(l,{class:v(["toast",{visible:G.value}])},{default:o((()=>[d(m(D.value),1)])),_:1},8,["class"])])),_:1})}}}),[["__scopeId","data-v-e1486ff5"]]);export{N as default};