PageSourceSearch

https://xynergy.ai/_next/static/chunks/9192.b00e4df8adc3ac54.js

js xynergy.ai collected 2026-10-05 16:02:47 UTC 6,543 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9192],{89192:(e,i,t)=>{t.r(i),t.d(i,{clinicalConditions:()=>v,default:()=>p,medicalOptions:()=>f});var s=t(85047),a=t(31615),l=t(21410),n=t(99185),d=t(96968),c=t(15203),r=t(866),o=t(13144),m=t(95513),u=t(13130),x=t(89088),h=t(18654);let v=[{id:1,title:"末期病人",description:"指罹患嚴重傷病,經醫師診斷認為不可治癒,且有醫學上之證據,近期內病程進行至死亡已不可避免者。"},{id:2,title:"處於不可逆轉之昏迷狀況",description:"指因意外傷害或疾病,導致大腦功能嚴重受損,對外界刺激無反應,且無法自行呼吸,需依賴人工呼吸器維持生命徵象者。"},{id:3,title:"永久植物人狀態",description:"指因意外傷害或疾病,導致大腦皮質功能完全喪失,僅能維持基本生命功能,且無法恢復意識者。"},{id:4,title:"極重度失智症",description:"指因疾病導致認知功能嚴重退化,無法理解或表達意願,且日常生活完全依賴他人照護者。"},{id:5,title:"其他經中央主管機關公告之疾病",description:"指其他經中央主管機關公告之疾病,且符合前四款之條件者。"}],f=[{id:"maintain_life",title:"維持生命治療",description:"指心肺復甦術、機械式維生系統、血液製品、為特定疾病而設之專門治療、重度感染時所給予之抗生素等任何有可能延長病人生命之必要醫療措施。",questions:[{id:"maintain_life_1",question:"我不希望接受維持生命治療",value:"reject"},{id:"maintain_life_2",question:"我希望在一段時間內接å
1—維持生命治療的嘗試,之後請停止",value:"conditional"},{id:"maintain_life_3",question:"如果我已經意識昏迷或無法清楚表達意願,由我的醫療委任代理人代為決定",value:"delegate"},{id:"maintain_life_4",question:"我希望接受維持生命治療",value:"accept"}]},{id:"artificial_nutrition",title:"人工營養及流體餵養",description:"指透過導管或其他侵入性措施餵養食物與水分。",questions:[{id:"artificial_nutrition_1",question:"我不希望接受人工營養及流體餵養",value:"reject"},{id:"artificial_nutrition_2",question:"我希望在一段時間內接受人工營養及流體餵養的嘗試,之後請停止",value:"conditional"},{id:"artificial_nutrition_3",question:"如果我已經意識昏迷或無法清楚表達意願,由我的醫療委任代理人代為決定",value:"delegate"},{id:"artificial_nutrition_4",question:"我希望接受人工營養及流體餵養",value:"accept"}]}];function p({onComplete:e,userId:i}){let[t,j]=(0,a.useState)(1),[_,N]=(0,a.useState)({}),[b,g]=(0,a.useState)(!1);(0,a.useEffect)(()=>{(async()=>{if(i)try{g(!0);let e=await u.m.getAdvanceDirective(i);e&&N(e.answers)}catch(e){(0,h.vV)("載入預立醫療決定書時發生錯誤:",e)}finally{g(!1)}})()},[i]);let $=t/v.length*100,y=(e,i)=>{N(t=>({...t,[e]:i}))},w=()=>{let e=v[t-1];return f.map(i=>`${e.id}_${i.id}`).every(e=>{let i=_[e];return"object"==typeof i?i.value:i})},q=async()=>{if(t<v.length)j(t+1);else if(i)try{(0,h.fH)("=== 完成並儲存到 Firestore ==="),(0,h.fH)("answers:",_);let t=await u.m.saveAdvanceDirective(i,_);(0,h.fH)("儲存成功,文檔 ID:",t),await (0,x.BS)(i),e?.(_)}catch(i){(0,h.vV)("儲存失敗:",i),(0,h.vV)("錯誤詳情:",i),e?.(_)}else(0,h.fH)("沒有 userId,直接調用 onComplete"),e?.(_)},k=v[t-1];return(0,s.jsxs)("div",{className:"space-y-6",children:[(0,s.jsxs)("div",{className:"flex items-center justify-between",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("h2",{className:"text-lg font-semibold",children:"預立醫療決定書"}),(0,s.jsx)("p",{className:"text-sm text-muted-foreground",children:"請針對每種臨床條件,選擇您的醫療照護意願"})]}),(0,s.jsxs)("div",{className:"text-sm text-muted-foreground",children:[t," / ",v.length]})]}),(0,s.jsx)(c.k,{value:$,className:"w-full"}),(0,s.jsxs)("div",{className:"space-y-6",children:[(0,s.jsxs)("div",{className:"border rounded-lg p-4 bg-muted/50",children:[(0,s.jsx)("h3",{className:"text-lg font-semibold mb-2",children:k.title}),(0,s.jsx)("p",{className:"text-sm text-muted-foreground",children:k.description})]}),f.map(e=>{let i;return(0,s.jsxs)("div",{className:"space-y-4",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("h4",{className:"text-lg font-medium mb-2",children:e.title}),(0,s.jsx)("p",{className:"text-sm text-muted-foreground mb-4",children:e.description})]}),(0,s.jsx)("div",{className:"space-y-4",children:(0,s.jsxs)("div",{className:"border rounded-lg p-4",children:[(0,s.jsx)(d.J,{className:"text-base font-medium mb-3 block",children:"請選擇您的醫療照護意願:"}),(0,s.jsx)(n.z,{value:"object"==typeof(i=_[`${k.id}_${e.id}`])?i.value:i||"",onValueChange:i=>{let t=`${k.id}_${e.id}`;if("conditional"===i){let e=_[t];y(t,{value:"conditional",years:e?.years||0,months:e?.months||0})}else y(t,i)},className:"space-y-2",children:e.questions.map(i=>(0,s.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,s.jsx)(n.C,{value:i.value,id:`${k.id}_${e.id}_${i.id}`}),(0,s.jsx)(d.J,{htmlFor:`${k.id}_${e.id}_${i.id}`,className:"text-sm",children:"conditional"===i.value?(0,s.jsxs)("span",{children:["我希望在",(0,s.jsx)(r.p,{type:"number",min:"0",max:"99",className:"w-16 mx-1 inline-block",value:_[`${k.id}_${e.id}`]?.years||0,onChange:i=>{let t=parseInt(i.target.value)||0,s=_[`${k.id}_${e.id}`];y(`${k.id}_${e.id}`,{...s,years:t})}}),"å¹´",(0,s.jsx)(r.p,{type:"number",min:"0",max:"11",className:"w-16 mx-1 inline-block",value:_[`${k.id}_${e.id}`]?.months||0,onChange:i=>{let t=parseInt(i.target.value)||0,s=_[`${k.id}_${e.id}`];y(`${k.id}_${e.id}`,{...s,months:t})}}),"月內,接受",e.title,"的嘗試,之後請停止;但本人或醫療委任代理人得於該期間內,隨時表達停止的意願"]}):i.question})]},i.id))})]})})]},e.id)}),(0,s.jsxs)("div",{className:"flex justify-between pt-6",children:[t>1&&(0,s.jsxs)(l.$,{variant:"outline",onClick:()=>{t>1&&j(t-1)},className:"flex items-center gap-2",children:[(0,s.jsx)(o.A,{className:"h-4 w-4"}),"上一頁"]}),(0,s.jsxs)(l.$,{onClick:q,disabled:!w(),className:`flex items-center gap-2 ${1===t?"ml-auto":""}`,children:[t===v.length?"完成":"下一頁",t<v.length&&(0,s.jsx)(m.A,{className:"h-4 w-4"})]})]}),!w()&&(0,s.jsx)("div",{className:"text-sm text-amber-600 bg-amber-50 border border-amber-200 rounded-lg p-3",children:"請完成當前頁面的所有問題後才能繼續"})]})]})}}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.