Files
zyt/server/public/admin/assets/index-BTjxmc_f.js
T
2026-06-01 10:01:59 +08:00

3 lines
48 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.
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/edit-D_55i6Yb.js","assets/element-plus-lurTijPg.js","assets/@vue/runtime-dom-DDAG46FW.js","assets/lodash-D3kF6u-c.js","assets/@vue/runtime-core-C6bnekPw.js","assets/@vue/reactivity-DiY1c2vO.js","assets/@vue/shared-mAAVTE9n.js","assets/@element-plus/icons-vue-HOEUG8sr.js","assets/lodash-es-C2A-Pj28.js","assets/@popperjs/core-C5az9QE8.js","assets/dayjs-DG77mNTn.js","assets/@ctrl/tinycolor-BuyEbX8F.js","assets/async-validator-CFA_igpM.js","assets/normalize-wheel-es-BQoi3Ox2.js","assets/element-plus-C_YxM8bk.css","assets/tcm-Dvr9iZ3T.js","assets/index-DU3c9-Jb.js","assets/jspdf-BsthCvR5.js","assets/@babel/runtime-BanGtE2-.js","assets/fflate-_ayOYiT1.js","assets/vue-router-QlpZ4wdW.js","assets/pinia-B8cvXbiZ.js","assets/axios-C80V62Fs.js","assets/@vueuse/core-1S4fJlii.js","assets/@vueuse/shared-Cl3lVqjz.js","assets/css-color-function-DI01JAaZ.js","assets/balanced-match-BdS7OldZ.js","assets/color-B2zxaWkI.js","assets/clone-DBZ6_OiU.js","assets/color-convert-OrFsTA_V.js","assets/color-name-Dju3oUBS.js","assets/color-string-pUQDDJII.js","assets/ms-CzQ2E3wO.js","assets/vue-clipboard3-DByT_rEQ.js","assets/clipboard-CHgxszqY.js","assets/echarts-CNLwa9wG.js","assets/tslib-BDyQ-Jie.js","assets/zrender-DRNXw7y3.js","assets/highlight.js-Bxt7hFFy.js","assets/highlight-BfC0goYb.css","assets/@highlightjs/vue-plugin-C4onkBvW.js","assets/index-cWYbZtDX.css","assets/perm-DTVdKuSV.js","assets/DailyMatrix-B98gd5rC.js","assets/picker-CLKZn5eT.js","assets/index-D5h1pDU3.js","assets/index-B3imPWFk.css","assets/index-DBZ1__6G.js","assets/index.vue_vue_type_script_setup_true_lang-CB1JgtXC.js","assets/index-D24jU6I5.js","assets/index-D0f1Mn00.css","assets/index-CLXazkLW.js","assets/cos-js-sdk-v5-DSMN0LUT.js","assets/file-eX29SeTv.js","assets/index.vue_vue_type_script_setup_true_lang-SfFZFG0h.js","assets/usePaging-VsbTxSU0.js","assets/index-BYOmK9R5.css","assets/vuedraggable-5bKFmC7X.js","assets/vue-BVs68q8v.js","assets/@vue/compiler-dom-CqayqxS7.js","assets/@vue/compiler-core-CvbQOXIO.js","assets/sortablejs-dsEAUXlE.js","assets/picker-XZbUgFct.css","assets/vue-echarts-BNtg2q_G.js","assets/resize-detector-G6vbKCU7.js","assets/DiagnosisTodoList-BoWI7nsN.js","assets/DiagnosisTodoList-D0SBmTHG.css","assets/blood-thresholds-CJ1fqMjh.js","assets/DailyMatrix-AmWwwWJ0.css","assets/CaseRecordList-BNuy0jzA.js","assets/CaseRecordList-Cl-c3q7S.css","assets/CallRecordPanel-xjU19TCy.js","assets/RecordingPlaybackBlock-CYjk5x3p.js","assets/RecordingVideoPlayer-Bp2lb_6O.js","assets/RecordingVideoPlayer-4DegHAwm.css","assets/RecordingPlaybackBlock-B3KYFgvg.css","assets/CallRecordPanel-TsjZtTO8.css","assets/ImChatRecordPanel-BrlUqfsB.js","assets/im-business-message-parse-QKjFLn3X.js","assets/ImChatRecordPanel-aX8zpWRQ.css","assets/AssignLogPanel-BE7Zs_up.js","assets/AssignLogPanel-DkQMoEkX.css","assets/AppointmentRecordPanel-C2JuBTZ_.js","assets/doctor-do1i0Aq_.js","assets/AppointmentRecordPanel-DC22GDgn.css","assets/NoteTimeline-DCUOCfuq.js","assets/patient-CfBxxmVd.js","assets/NoteTimeline-CCWIpEBQ.css","assets/PatientOrderList-xmOG8JTa.js","assets/PatientOrderList-Dx28GIXs.css","assets/index-CHCMHFUG.js","assets/index-C233xKUI.js","assets/medicine-CkD1Gr84.js","assets/index-tfEElgYq.css","assets/diabetes-discovery-display-B_wmGXQJ.js","assets/html2canvas-QH1iLAAe.js","assets/index-BYQsY2Yg.css","assets/edit-B0YJchTk.css","assets/TrackingNoteTimeline-B9T8pFso.css","assets/detail-Cqv5yb1y.js","assets/appointment-DS9Weq1X.js","assets/appointment-B5q1nzzB.css","assets/AssistantWatchCallDialog-BEJb-gHM.js","assets/trtc-sdk-v5-D4DbeRqz.js","assets/AssistantWatchCallDialog-BIPZRgaH.css"])))=>i.map(i=>d[i]);
import{_ as _e}from"./jspdf-BsthCvR5.js";import{R as ga,C as fa,i as va,d as ya,P as ha,Q as ka,J as ba,M as Ca,N as xa,T as Va,r as Da,p as Aa,n as Ea,o as wa,L as Ra,W as Ia,ac as $a,ad as Sa,e as La,V as Na,D as za,B as Pa,H as Ta,h as Wa,aa as Fa,ab as Ma,Y as Ya,v as Oa}from"./element-plus-lurTijPg.js";import{_ as Ua}from"./index.vue_vue_type_script_setup_true_lang-CB1JgtXC.js";import{w as yt,q as qa,s as Ze}from"./@vue/runtime-dom-DDAG46FW.js";import{aj as M,a as Qa,K as Ba,ak as Se,al as Ha,am as Ga,Y as ht,an as kt,ao as Ka,ap as ja,aq as Ja,ar as Xa}from"./tcm-Dvr9iZ3T.js";import{i as Za}from"./order-DeEr5MWM.js";import{m as bt}from"./doctor-do1i0Aq_.js";import{u as es}from"./usePaging-VsbTxSU0.js";import{u as ts,m as Ct,i as g,_ as ns}from"./index-DU3c9-Jb.js";import{g as xt}from"./weapp-rRnwKLdE.js";import{h as Y}from"./perm-DTVdKuSV.js";import{e as Vt,X as as,ab as ss,O as Dt,b as is,a7 as ls,G as os,H as ds,l as rs}from"./@element-plus/icons-vue-HOEUG8sr.js";import{u as us,a as ms}from"./vue-router-QlpZ4wdW.js";import{d as Le}from"./dayjs-DG77mNTn.js";import{f as At,w as ps,b as cs,d as _s,as as gs,ak as o,I as u,a as i,aN as s,J as d,F as E,ap as S,O as m,H as C,aP as R,G as f,P as ge,A as X}from"./@vue/runtime-core-C6bnekPw.js";import{o as O,Q as p}from"./@vue/shared-mAAVTE9n.js";import{y as a,a as B,r as et,n as c}from"./@vue/reactivity-DiY1c2vO.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./lodash-D3kF6u-c.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const fs={class:"tcm-diagnosis"},vs={class:"filter-main"},ys={class:"date-chips"},hs=["onClick"],ks={key:0},bs={key:0},Cs={key:0},xs={class:"pending-assign-wrap"},Vs={key:0},Ds={class:"search-row"},As={class:"filter-chips"},Es=["onClick"],ws=["onClick"],Rs={class:"filter-more"},Is={class:"list-header"},$s={class:"list-actions"},Ss={key:0,class:"list-selected"},Ls={class:"table-wrap px-4"},Ns={class:"patient-cell"},zs={class:"patient-info"},Ps={class:"patient-name"},Ts={class:"patient-cell"},Ws={class:"patient-info"},Fs={class:"patient-name"},Ms={class:"apt-badge"},Ys={class:"apt-doctor"},Os={class:"apt-time"},Us={key:0,class:"apt-actions"},qs={class:"apt-badge"},Qs={class:"apt-doctor"},Bs={class:"apt-time"},Hs={key:1,class:"apt-none"},Gs={key:0,class:"status-confirmed"},Ks={key:1,class:"status-unconfirmed"},js={key:0,class:"followup-cell"},Js={class:"followup-time"},Xs={class:"followup-doctor"},Zs={key:1,class:"followup-none"},ei={class:"assistant-cell"},ti={key:0,class:"status-prescribed"},ni={key:1,class:"status-unprescribed"},ai={key:1,class:"unserved-days unserved-muted"},si={class:"video-watch-col"},ii={class:"video-watch-trigger"},li={key:1,class:"video-watch-muted"},oi={key:1,class:"video-watch-muted"},di={class:"pagination-wrap"},ri={class:"min-h-[100px]"},ui={key:0,class:"text-sm text-gray-600 mb-4 pb-3 border-b border-gray-100"},mi={class:"font-medium text-gray-800"},pi={class:"flex flex-wrap items-center gap-2"},ci={class:"text-sm font-medium text-gray-800"},_i={class:"text-xs text-gray-600 mt-1.5 leading-relaxed"},gi={class:"flex flex-col items-center justify-center py-4"},fi={key:0,class:"text-center"},vi={key:1,class:"text-center"},yi=["src"],hi={class:"mt-4 text-sm text-gray-600"},ki={class:"mt-2"},bi={key:2,class:"text-center text-gray-500"},Ci={class:"text-gray-500"},xi={class:"text-gray-500"},Vi={class:"font-medium"},Di={class:"font-medium"},Ai={key:0,class:"mb-4"},Ei={key:0},wi={key:0,class:"mt-2"},Ri={key:1,class:"mt-2"},Ii={class:"mb-4"},$i={class:"flex gap-2"},Si={key:0,class:"text-center text-gray-400 py-10"},Li={key:1,class:"record-list"},Ni={class:"record-header"},zi={class:"flex items-center gap-2"},Pi={class:"font-medium text-sm"},Ti={class:"flex items-center gap-2"},Wi={class:"text-xs text-gray-400"},Fi={class:"record-content"},Mi={key:0,class:"mt-1"},Yi={key:2,class:"text-center mt-4"},Oi=At({name:"tcmDiagnosis"}),Ui=At({...Oi,setup(qi){const Et=ge(()=>_e(()=>import("./edit-D_55i6Yb.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98]))),wt=ge(()=>_e(()=>import("./detail-Cqv5yb1y.js"),__vite__mapDeps([99,45,1,2,3,4,5,6,7,8,9,10,11,12,13,14,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,46,15]))),Rt=ge(()=>_e(()=>import("./index-CHCMHFUG.js"),__vite__mapDeps([90,1,2,3,4,5,6,7,8,9,10,11,12,13,14,91,92,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,93,94,15,95,96]))),It=ge(()=>_e(()=>import("./appointment-DS9Weq1X.js"),__vite__mapDeps([100,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,83,101]))),$t=ge(()=>_e(()=>import("./AssistantWatchCallDialog-BEJb-gHM.js"),__vite__mapDeps([102,1,2,3,4,5,6,7,8,9,10,11,12,13,14,103,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,104]))),St=t=>{if(!t)return"-";const e=String(t).length===10?Number(t)*1e3:Number(t);return Le(e).format("YYYY-MM-DD HH:mm:ss")},tt=t=>!t||t.length<11?t:t.replace(/(\d{3})\d{4}(\d{4})/,"$1****$2"),l=et({keyword:"",diagnosis_type:"",syndrome_type:"",assistant_id:"",start_time:"",end_time:"",diagnosis_confirmed:"",appointment_date:"",has_appointment:"",pending_assign:"",pending_booking:"",completed_appointment:"",pending_assign_order_month:"",pending_assign_keyword:""}),nt=c("all"),re=c(!1),Lt=[{label:"全部",value:""},{label:"已挂号",value:"1"},{label:"未挂号",value:"0"}],Nt=[{label:"全部",value:""},{label:"已确认",value:"1"},{label:"未确认",value:"0"}],zt=t=>{l.has_appointment=t,l.pending_booking="",l.completed_appointment="",V.page=1,x(),w()},Pt=t=>{l.diagnosis_confirmed=t,l.pending_booking="",l.completed_appointment="",V.page=1,x(),w()};function Tt(t){if(!(t.pending_assign==="1"||t.pending_assign===1))return!1;const r=String(t.pending_assign_keyword??"").trim(),_=String(t.keyword??"").trim();return r!==""||_!==""}function at(t){if(!Tt(t))return t;const e=String(t.pending_assign_keyword??"").trim(),r=String(t.keyword??"").trim(),_=e!==""?e:r;return{page_no:t.page_no,page_size:t.page_size,pending_assign:1,pending_assign_keyword:_}}function Wt(){const t=String(l.pending_assign_order_month??"").trim();return t!==""?t:l.pending_assign==="1"?"":Le().format("YYYY-MM")}function Ft(){return at({...l,page_no:1,page_size:1,pending_assign:1,appointment_date:"",has_appointment:"",pending_booking:"",completed_appointment:"",pending_assign_order_month:Wt()})}const Mt=t=>M(at(t));function Yt(){if(l.pending_assign!=="1")return;const t=(l.pending_assign_keyword??"").trim(),e=(l.keyword??"").trim();t===""&&e===""||(l.appointment_date="",l.pending_booking="",l.completed_appointment="",l.diagnosis_confirmed="",l.has_appointment="",l.diagnosis_type="",l.syndrome_type="",l.assistant_id="",l.start_time="",l.end_time="",l.pending_assign_order_month="",nt.value="all",t!==""&&(l.keyword=""))}const Z=()=>{Yt(),V.page=1,x(),w()},Ot=X(()=>[{label:"昨天挂号",value:Me.value},{label:"前天挂号",value:Ye.value},{label:"当天挂号",value:ve.value},{label:"明天挂号",value:We.value},{label:"后天挂号",value:Fe.value},{label:"全部",value:""}]),Ne=c({}),ze=c(void 0),Pe=c(void 0),Te=c(void 0),Ut=async t=>{l.pending_assign="",l.pending_assign_order_month="",l.pending_assign_keyword="",l.pending_booking="",l.completed_appointment="",l.has_appointment="",l.appointment_date=t,V.page=1,await x(),w()},qt=async()=>{l.pending_assign="",l.pending_assign_order_month="",l.pending_assign_keyword="",l.pending_booking="1",l.completed_appointment="",l.appointment_date="",l.has_appointment="0",V.page=1,await x(),w()},Qt=async()=>{l.pending_assign="",l.pending_assign_order_month="",l.pending_assign_keyword="",l.pending_booking="",l.completed_appointment="1",l.has_appointment="",l.appointment_date="",V.page=1,await x(),w()},Bt=async()=>{l.pending_assign="1",l.pending_booking="",l.completed_appointment="",l.has_appointment="",l.appointment_date="",l.pending_assign_order_month||(l.pending_assign_order_month=Le().format("YYYY-MM")),V.page=1,await x(),w()},Ht=async t=>{l.pending_assign_order_month=t||"",l.pending_assign==="1"&&(V.page=1,await x(),w())},w=async()=>{try{const[t,e,r,_,v,h,A,Q,de]=await Promise.all([M({appointment_date:Me.value,page_no:1,page_size:1}),M({appointment_date:Ye.value,page_no:1,page_size:1}),M({appointment_date:ve.value,page_no:1,page_size:1}),M({appointment_date:We.value,page_no:1,page_size:1}),M({appointment_date:Fe.value,page_no:1,page_size:1}),M({page_no:1,page_size:1}),M({has_appointment:0,page_no:1,page_size:1}),M({completed_appointment:1,page_no:1,page_size:1}),M(Ft())]);Ne.value={[Me.value]:(t==null?void 0:t.count)??0,[Ye.value]:(e==null?void 0:e.count)??0,[ve.value]:(r==null?void 0:r.count)??0,[We.value]:(_==null?void 0:_.count)??0,[Fe.value]:(v==null?void 0:v.count)??0,"":(h==null?void 0:h.count)??0},ze.value=(A==null?void 0:A.count)??0,Pe.value=(Q==null?void 0:Q.count)??0,Te.value=(de==null?void 0:de.count)??0}catch(t){console.error("获取日期数量失败",t)}};function Gt(){const t=()=>w();typeof requestIdleCallback=="function"?requestIdleCallback(t,{timeout:2500}):setTimeout(t,120)}const Kt=2e4;let fe=null;function jt(){typeof document<"u"&&document.hidden||(x({silent:!0}).catch(()=>{}),w())}const z=t=>String(t).padStart(2,"0"),ve=X(()=>{const t=new Date;return`${t.getFullYear()}-${z(t.getMonth()+1)}-${z(t.getDate())}`}),We=X(()=>{const t=new Date;return t.setDate(t.getDate()+1),`${t.getFullYear()}-${z(t.getMonth()+1)}-${z(t.getDate())}`}),Fe=X(()=>{const t=new Date;return t.setDate(t.getDate()+2),`${t.getFullYear()}-${z(t.getMonth()+1)}-${z(t.getDate())}`}),Me=X(()=>{const t=new Date;return t.setDate(t.getDate()-1),`${t.getFullYear()}-${z(t.getMonth()+1)}-${z(t.getDate())}`}),Ye=X(()=>{const t=new Date;return t.setDate(t.getDate()-2),`${t.getFullYear()}-${z(t.getMonth()+1)}-${z(t.getDate())}`}),st=c([]),it=c([]),ue=c([]),Jt=async()=>{try{const[t,e,r]=await Promise.all([Ct({type:"diagnosis_type"}),Ct({type:"syndrome_type"}),Qa()]);st.value=(t==null?void 0:t.diagnosis_type)||[],it.value=(e==null?void 0:e.syndrome_type)||[],ue.value=r||[]}catch(t){console.error("获取字典数据失败:",t)}},Xt=t=>{if(!t&&t!==0)return"-";const e=typeof t=="string"?parseInt(t):t;if(ue.value.length===0)return"...";const r=ue.value.find(_=>(typeof _.id=="string"?parseInt(_.id):_.id)===e);return r?r.name:"-"},{pager:V,getLists:x}=es({fetchFun:Mt,params:l}),Zt=()=>x({silent:!0}),en=()=>{nt.value="all",l.keyword="",l.diagnosis_type="",l.syndrome_type="",l.assistant_id="",l.diagnosis_confirmed="",l.appointment_date="",l.has_appointment="",l.pending_assign="",l.pending_assign_order_month="",l.pending_assign_keyword="",l.pending_booking="",l.completed_appointment="",V.page=1,x(),w()},lt=t=>{const e=t.DiagnosisViewRecord||[];return e.length>0&&e.some(r=>r.is_confirmed==1)},tn=t=>{if(t==null)return"unserved-muted";const e=Number(t);return Number.isFinite(e)?e>=7?"unserved-red":e>=3?"unserved-orange":"unserved-green":"unserved-muted"},nn=({row:t})=>lt(t)?t.has_appointment?"":"row-no-appointment":"row-unconfirmed",ae=c(),an=c(),ot=c(),dt=c(),ye=c(null),he=ts();ps([ae,ye],()=>{const t=ye.value,e=ae.value;t==null||!(e!=null&&e.open)||(e.open("edit",t),ye.value=null)},{flush:"post"});const ke=c(!1),rt=c(0),sn=t=>{var r;const e=t.assistant_id??t.assistant;return e==null||e===""?!1:Number(e)===Number((r=he.userInfo)==null?void 0:r.id)},ln=t=>{rt.value=Number(t.id)||0,ke.value=!0},on=t=>sn(t)&&Y(["tcm.diagnosis/watchCall"]),be=t=>{var e;return((e=t.video_call_hint)==null?void 0:e.state)||"none"},dn=t=>{const e=t.video_call_hint,r="点击进入实时房间(仅观看,不推流、不上麦)";return e!=null&&e.start_time?`${r}。开始时间:${St(e.start_time)}`:r},rn=t=>{const e=be(t);return e==="live"||e==="pending_room"},un=t=>be(t)==="pending_room"?"医生尚未接通或未同步房间号,接通后再点此进入":dn(t),mn=t=>{if(be(t)!=="live"){g.msgWarning("医生尚未接通或未同步房间号,请稍后再试");return}ln(t)},pn=t=>{const e=t.video_call_hint;return e!=null&&e.label?e.label:"暂无可旁观通话"},cn=t=>{const e=be(t);if(e==="none")return"—";if(e==="live")return"通话中";if(e==="pending_room")return"接通中";const r=t.video_call_hint;return(r==null?void 0:r.label)||"—"},se=c(!1),Ce=c(),Oe=c(!1),y=et({patient_id:"",patient_name:"",phone:"",order_type:"",amount:0,remark:"",has_appointment:!1,appointment_time_text:""}),_n={order_type:[{required:!0,message:"请选择订单类型",trigger:"change"}],amount:[{required:!0,message:"请输入订单金额",trigger:"blur"}]},gn=t=>{var e;y.patient_id=t.patient_id||t.id,y.patient_name=t.patient_name,y.phone=t.phone||"",y.order_type="",y.amount=0,y.remark="",y.has_appointment=!!t.has_appointment,y.appointment_time_text=t.appointment_time_text||"",(e=Ce.value)==null||e.clearValidate(),se.value=!0},fn=()=>{var t;y.patient_id="",y.patient_name="",y.phone="",y.order_type="",y.amount=0,y.remark="",y.has_appointment=!1,y.appointment_time_text="",(t=Ce.value)==null||t.clearValidate()},vn=async()=>{var t;try{await((t=Ce.value)==null?void 0:t.validate()),Oe.value=!0;const e=await Za({patient_id:y.patient_id,order_type:y.order_type,amount:y.amount,remark:y.remark});se.value=!1,x();const r=e==null?void 0:e.order_no;if(r){U.value=!0,H.value=!0,G.value="",K.value={patient_name:y.patient_name,has_appointment:y.has_appointment,appointment_time_text:y.appointment_time_text};try{const _=await Ba({order_no:r});_!=null&&_.qrcode_url?G.value=_.qrcode_url:g.msgError("二维码生成失败")}catch(_){g.msgError((_==null?void 0:_.msg)||"生成二维码失败")}finally{H.value=!1}}}catch(e){console.error("创建订单失败:",e)}finally{Oe.value=!1}},U=c(!1),H=c(!1),G=c(""),K=c(null),yn=X(()=>{const t=K.value;return t?t.has_appointment?t.appointment_time_text||"—":"未挂号":"—"}),Ue=c("小程序二维码"),qe=c("confirm"),I=c([]),ie=c([]),ee=c(!1),Qe=c(!1),me=c("batch"),pe=c(null),D=c({assistant_id:null,is_inherit:!1});function hn(){ie.value=[],D.value.assistant_id=null,D.value.is_inherit=!1}const kn=t=>{I.value=t.map(e=>e.id)},xe=t=>Number((t==null?void 0:t.assistant_id)??(t==null?void 0:t.assistant)??0)>0,bn=X(()=>{if(!I.value.length)return!1;const t=new Set(I.value);return V.lists.some(e=>t.has(e.id)&&xe(e))}),Cn=t=>{me.value="single",pe.value=t,ie.value=[],D.value.assistant_id=Number(t.assistant_id)>0?Number(t.assistant_id):null,D.value.is_inherit=!1,ee.value=!0},xn=()=>{if(I.value.length===0){g.msgWarning("请先选择要指派的诊单");return}me.value="batch",pe.value=null,D.value.assistant_id=null,D.value.is_inherit=!1,ie.value=[...I.value],ee.value=!0},Vn=async()=>{if(!D.value.assistant_id){g.msgWarning("请选择医助");return}Qe.value=!0;try{if(me.value==="single")await Se({id:pe.value.id,assistant_id:D.value.assistant_id,is_inherit:D.value.is_inherit?1:0});else{const t=ie.value;if(!t.length){g.msgWarning("没有可指派的诊单,请关闭后重新勾选");return}for(const e of t)await Se({id:e,assistant_id:D.value.assistant_id,is_inherit:D.value.is_inherit?1:0});I.value=[],ie.value=[]}ee.value=!1,x()}catch(t){console.error("指派失败:",t)}finally{Qe.value=!1}},Dn=async t=>{if(!(t!=null&&t.id)||!xe(t)){g.msgWarning("该诊单未指派医助");return}await g.confirm("确定取消该诊单的医助指派吗?"),await Se({id:t.id,assistant_id:0}),x()},An=async()=>{if(!I.value.length){g.msgWarning("请先选择诊单");return}const t=new Set(I.value),e=V.lists.filter(r=>t.has(r.id)&&xe(r));if(!e.length){g.msgWarning("所选诊单中没有已指派医助的记录");return}await g.confirm(`确定取消 ${e.length} 条诊单的医助指派吗?`),await Promise.all(e.map(r=>Se({id:r.id,assistant_id:0}))),I.value=[],x()},En=()=>{ae.value.open("add")},wn=t=>{ae.value.open("edit",t)};function Rn(t){return l.pending_assign==="1"?"开方":Number(t==null?void 0:t.prescription_audit_status)===1&&Number(t==null?void 0:t.prescription_void_status)!==1?"查看":"开方"}const In=t=>{var e;if(!(t!=null&&t.id)){g.msgWarning("诊单信息不完整");return}(e=ot.value)==null||e.open({...t,diagnosis_id:t.id,id:t.appointment_id||0})},$n=()=>{var t,e;x(),(e=(t=ae.value)==null?void 0:t.refreshCaseList)==null||e.call(t)},Sn=async t=>{await g.confirm("确定要删除该诊单吗?"),await Ja({id:t}),x()},Ln=(t,e)=>{switch(t){case"assign":Cn(e);break;case"cancelAssign":Dn(e);break;case"videoQr":if(!ce(e)){g.msgWarning("仅「已预约」状态可生成视频二维码");return}pt(e);break;case"confirmQr":ct(e);break;case"cancelApt":Fn(e);break;case"guahaoLogs":Un(e);break;case"order":gn(e);break;case"delete":Sn(e.id);break}},Nn=t=>{const e=Number(t.appointment_status);return e===3?"已完成":e===4?"已过号":"已挂号"},zn=t=>{const e=Number(t);return e===3?"已完成":e===4?"已过号":"已挂号"},Ve=t=>{const e=Array.isArray(t.appointments)?t.appointments:[];return e.length>0?e:t.has_appointment?[{id:t.appointment_id,status:t.appointment_status,doctor_id:t.appointment_doctor_id,doctor_name:t.appointment_doctor_name,time_text:t.appointment_time_text}]:[]},Pn=t=>{const e=Number(t==null?void 0:t.status);return{"apt-item-done":e===3,"apt-item-missed":e===4,"apt-item-active":e===1}},Tn=t=>{const e=Number(t.appointment_status);return{"has-apt":t.has_appointment,"apt-row-done":t.has_appointment&&e===3,"apt-row-missed":t.has_appointment&&e===4}},ce=t=>t.has_appointment&&Number(t.appointment_status)===1,ut=t=>{const e=Number(t.appointment_status);return!!(t.has_appointment&&t.appointment_id&&(e===1||e===4))},Be=t=>{const e=Number(t==null?void 0:t.status);return!!(t!=null&&t.id&&(e===1||e===4))},Wn=t=>ut(t)?Ve(t).length<=1:!1,Fn=async t=>{var v;if(!ut(t)){const h=Number(t.appointment_status);t.has_appointment&&h===3?g.msgWarning("已完成就诊,无法取消挂号"):g.msgWarning("该诊单未挂号或挂号信息异常");return}const e=Ve(t),r=e.length===1?e[0]:null,_=r!=null&&r.id&&Be(r)?r.id:t.appointment_id;try{await g.confirm(`确定要取消患者「${t.patient_name}」的挂号吗?`),await bt({id:_}),g.msgSuccess("取消挂号成功"),x(),w(),te.value&&((v=q.value)==null?void 0:v.id)===t.id&&await Ae(t.id)}catch(h){h!=="cancel"&&g.msgError((h==null?void 0:h.msg)||"取消挂号失败")}},Mn=async(t,e)=>{var v;if(!Be(e)){Number(e==null?void 0:e.status)===3?g.msgWarning("已完成就诊,无法取消挂号"):g.msgWarning("该挂号无法取消");return}const r=e.doctor_name||"—",_=e.time_text||"—";try{await g.confirm(`确定取消「${r}${_} 的挂号吗?(患者:${t.patient_name||"—"}`),await bt({id:e.id}),g.msgSuccess("取消挂号成功"),x(),w(),te.value&&((v=q.value)==null?void 0:v.id)===t.id&&await Ae(t.id)}catch(h){h!=="cancel"&&g.msgError((h==null?void 0:h.msg)||"取消挂号失败")}},te=c(!1),De=c(!1),le=c([]),q=c(null);function Yn(){le.value=[],q.value=null}function On(t){const e=String((t==null?void 0:t.admin_name)||"").trim(),r=Number(t==null?void 0:t.admin_id);return e||(r>0?`管理员 #${r}`:"—")}async function Ae(t){De.value=!0;try{const e=await Ha({id:t});le.value=Array.isArray(e==null?void 0:e.data)?e.data:Array.isArray(e)?e:[]}catch{le.value=[]}finally{De.value=!1}}async function Un(t){if(!(t!=null&&t.id)){g.msgWarning("诊单信息不完整");return}q.value=t,te.value=!0,await Ae(Number(t.id))}async function qn(){var t;await x({silent:!0}),w(),te.value&&((t=q.value)!=null&&t.id)&&await Ae(Number(q.value.id))}const Qn=t=>{var e;if(!t.patient_id){g.msgWarning("患者信息不完整");return}(e=dt.value)==null||e.open(t)},oe=c(!1),He=c(!1),mt=c(),P=et({id:0,patient_name:"",id_card:""}),Bn={id_card:[{required:!0,validator:(t,e,r)=>{if(!e){r(new Error("请输入身份证号"));return}const _=/^[1-9]\d{5}(18|19|20)\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}[\dXx]$/.test(e),v=/^[1-9]\d{5}\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}$/.test(e);_||v?r():r(new Error("请输入15或18位有效身份证号"))},trigger:"blur"}]},Hn=t=>{P.id=t.id,P.patient_name=t.patient_name||"-",P.id_card=t.id_card||"",oe.value=!0},Gn=async()=>{var t;await((t=mt.value)==null?void 0:t.validate()),He.value=!0;try{await Ga({id:P.id,id_card:P.id_card}),g.msgSuccess("补全成功,年龄已自动更新"),oe.value=!1,x()}catch(e){g.msgError((e==null?void 0:e.msg)||"补全失败")}finally{He.value=!1}},pt=async t=>{var e;if(!ce(t)){g.msgWarning("仅「已预约」状态可生成视频二维码");return}if(!t.patient_id){g.msgWarning("患者信息不完整");return}qe.value="video",K.value=t,U.value=!0,H.value=!0,G.value="",Ue.value="视频二维码";try{const r=await xt();if(!(r!=null&&r.app_id)){g.msgError("小程序未配置,请先配置小程序信息"),U.value=!1;return}const _=await ht({doctor_id:t.appointment_doctor_id,diagnosis_id:t.appointment_doctor_id,patient_id:t.patient_id,share_user_id:((e=he.userInfo)==null?void 0:e.id)||"",mini_program_path:"pages/login/login"});_!=null&&_.qrcode_url?G.value=_.qrcode_url:g.msgError("二维码生成失败")}catch(r){g.msgError((r==null?void 0:r.msg)||"生成二维码失败,请重试")}finally{H.value=!1}},ct=async t=>{if(!ce(t)){g.msgWarning("仅「已预约」状态可使用诊单二维码");return}if(!t.patient_id){g.msgWarning("患者信息不完整");return}qe.value="confirm",K.value=t,U.value=!0,H.value=!0,G.value="",Ue.value="诊单二维码";try{const e=await xt();if(!(e!=null&&e.app_id)){g.msgError("小程序未配置,请先配置小程序信息"),U.value=!1;return}const r=he.userInfo,_=await ht({diagnosis_id:t.id,doctor_id:t.appointment_doctor_id,patient_id:t.patient_id,share_user_id:(r==null?void 0:r.id)||""});_!=null&&_.qrcode_url?G.value=_.qrcode_url:g.msgError("二维码生成失败")}catch(e){console.error("生成小程序二维码失败:",e),g.msgError((e==null?void 0:e.msg)||"生成二维码失败,请重试")}finally{H.value=!1}},Kn=()=>{K.value&&(qe.value==="video"?pt(K.value):ct(K.value))},Ee=c(!1),L=c(null),j=c([]),we=c(0),Ge=c(!1),N=c(null),ne=c(""),Ke=c(!1),je=c(1),jn=t=>{if(!t)return"-";const e=String(t).length===10?t*1e3:t;return Le(e).format("YYYY-MM-DD HH:mm")},Jn=async t=>{L.value=t,Ee.value=!0,j.value=[],we.value=0,N.value=null,ne.value="",je.value=1,Ge.value=!0;try{const[e,r]=await Promise.all([kt({diagnosis_id:t.id,patient_id:t.patient_id,page_no:1,page_size:20}),Xa({patient_id:t.patient_id||t.id}).catch(()=>null)]);j.value=(e==null?void 0:e.lists)||[],we.value=(e==null?void 0:e.count)||0,N.value=r}catch(e){console.error("加载企业微信记录失败:",e)}finally{Ge.value=!1}},Xn=async()=>{if(L.value){je.value++;try{const t=await kt({diagnosis_id:L.value.id,patient_id:L.value.patient_id,page_no:je.value,page_size:20});j.value.push(...(t==null?void 0:t.lists)||[])}catch(t){console.error("加载更多记录失败:",t)}}},Zn=async()=>{var t;if(!ne.value.trim()){g.msgWarning("请输入内容");return}Ke.value=!0;try{await Ka({diagnosis_id:L.value.id,patient_id:L.value.patient_id,content:ne.value.trim(),msg_type:"note",staff_name:((t=he.userInfo)==null?void 0:t.name)||"",external_name:L.value.patient_name||""}),ne.value="",Jn(L.value)}catch(e){g.msgError((e==null?void 0:e.msg)||"添加失败")}finally{Ke.value=!1}},ea=async t=>{await g.confirm("确定删除该记录吗?");try{await ja({id:t}),j.value=j.value.filter(e=>e.id!==t),we.value--}catch(e){g.msgError((e==null?void 0:e.msg)||"删除失败")}},ta=us(),na=ms(),_t=t=>{if(!Y(["tcm.diagnosis/readonlyDetail"]))return;const e=Number(t==null?void 0:t.id);!e||e<=0||na.push({path:"/tcm/diagnosis-readonly",query:{id:String(e)}})};return cs(()=>{l.appointment_date=ve.value,Jt(),x(),Gt(),fe=setInterval(jt,Kt);const t=ta.query.id;if(t!=null&&t!==""){const e=Number(t);Number.isNaN(e)||(ye.value=e)}}),_s(()=>{fe!=null&&(clearInterval(fe),fe=null)}),(t,e)=>{var vt;const r=ga,_=fa,v=va,h=ya,A=ka,Q=ha,de=ba,$=xa,T=Va,gt=Da,J=wa,aa=Ea,sa=Aa,ia=Ca,la=Ua,oa=Ia,da=Sa,ra=$a,ft=La,Re=Na,W=Pa,ua=Ta,Je=za,ma=Wa,Ie=Ma,pa=Fa,ca=Ya,_a=Oa,F=gs("perms"),Xe=Ra;return o(),u("div",fs,[i(de,{class:"filter-card !border-none",shadow:"never"},{default:s(()=>[d("div",vs,[d("div",ys,[(o(!0),u(E,null,S(Ot.value,n=>(o(),u("span",{key:n.value,class:O(["chip",{active:a(l).pending_assign!=="1"&&a(l).pending_booking!=="1"&&a(l).completed_appointment!=="1"&&a(l).appointment_date===n.value}]),onClick:k=>Ut(n.value)},[m(p(n.label)+" ",1),a(Ne)[n.value]!==void 0?(o(),u("em",ks,p(a(Ne)[n.value]),1)):C("",!0)],10,hs))),128)),d("span",{class:O(["chip","chip-pending-booking",{active:a(l).pending_booking==="1"}]),onClick:qt},[e[29]||(e[29]=m(" 待预约 ",-1)),a(ze)!==void 0?(o(),u("em",bs,p(a(ze)),1)):C("",!0)],2),d("span",{class:O(["chip","chip-completed-visit",{active:a(l).completed_appointment==="1"}]),onClick:Qt},[e[30]||(e[30]=m(" 已完成 ",-1)),a(Pe)!==void 0?(o(),u("em",Cs,p(a(Pe)),1)):C("",!0)],2),R((o(),u("span",xs,[d("span",{class:O(["chip","chip-pending",{active:a(l).pending_assign==="1"}]),onClick:Bt},[e[31]||(e[31]=m(" 待分配医助 ",-1)),a(Te)!==void 0?(o(),u("em",Vs,p(a(Te)),1)):C("",!0)],2),a(l).pending_assign==="1"?(o(),f(r,{key:0,modelValue:a(l).pending_assign_order_month,"onUpdate:modelValue":e[0]||(e[0]=n=>a(l).pending_assign_order_month=n),type:"month",placeholder:"订单月份","value-format":"YYYY-MM",clearable:"",class:"pending-assign-month",onChange:Ht},null,8,["modelValue"])):C("",!0),a(l).pending_assign==="1"?(o(),f(_,{key:1,modelValue:a(l).pending_assign_keyword,"onUpdate:modelValue":e[1]||(e[1]=n=>a(l).pending_assign_keyword=n),placeholder:"搜身份证/诊单ID/患者号/备注…",clearable:"",class:"pending-assign-search",onKeyup:yt(Z,["enter"]),onClear:Z},null,8,["modelValue"])):C("",!0)])),[[F,["tcm.diagnosis/assign"]]])]),d("div",Ds,[i(_,{modelValue:a(l).keyword,"onUpdate:modelValue":e[2]||(e[2]=n=>a(l).keyword=n),placeholder:"患者姓名 / 手机号",clearable:"",class:"search-input",onKeyup:yt(Z,["enter"])},null,8,["modelValue"]),i(v,{type:"primary",onClick:Z},{default:s(()=>[...e[32]||(e[32]=[m("查询",-1)])]),_:1})])]),d("div",As,[e[33]||(e[33]=d("span",{class:"chip-label"},"挂号:",-1)),(o(),u(E,null,S(Lt,n=>d("span",{key:n.value,class:O(["chip","chip-sm",{active:a(l).has_appointment===n.value}]),onClick:k=>zt(n.value)},p(n.label),11,Es)),64)),e[34]||(e[34]=d("span",{class:"chip-divider"},null,-1)),e[35]||(e[35]=d("span",{class:"chip-label"},"确认:",-1)),(o(),u(E,null,S(Nt,n=>d("span",{key:n.value,class:O(["chip","chip-sm",{active:a(l).diagnosis_confirmed===n.value}]),onClick:k=>Pt(n.value)},p(n.label),11,ws)),64)),i(v,{link:"",type:"primary",size:"small",class:"more-btn",onClick:e[3]||(e[3]=n=>re.value=!a(re))},{default:s(()=>[m(p(a(re)?"收起":"更多筛选")+" ",1),i(h,{class:O({"rotate-180":a(re)})},{default:s(()=>[i(a(Vt))]),_:1},8,["class"])]),_:1})]),R(d("div",Rs,[i(Q,{modelValue:a(l).diagnosis_type,"onUpdate:modelValue":e[4]||(e[4]=n=>a(l).diagnosis_type=n),placeholder:"诊断类型",clearable:"",size:"small",onChange:Z},{default:s(()=>[(o(!0),u(E,null,S(a(st),n=>(o(),f(A,{key:n.value,label:n.name,value:n.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),i(Q,{modelValue:a(l).syndrome_type,"onUpdate:modelValue":e[5]||(e[5]=n=>a(l).syndrome_type=n),placeholder:"证型",clearable:"",size:"small",onChange:Z},{default:s(()=>[(o(!0),u(E,null,S(a(it),n=>(o(),f(A,{key:n.value,label:n.name,value:n.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),i(Q,{modelValue:a(l).assistant_id,"onUpdate:modelValue":e[6]||(e[6]=n=>a(l).assistant_id=n),placeholder:"医助",clearable:"",filterable:"",size:"small",onChange:Z},{default:s(()=>[(o(!0),u(E,null,S(a(ue),n=>(o(),f(A,{key:n.id,label:n.name,value:Number(n.id)},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),i(v,{size:"small",onClick:en},{default:s(()=>[...e[36]||(e[36]=[m("重置",-1)])]),_:1})],512),[[qa,a(re)]])]),_:1}),i(de,{class:"!border-none mt-3 list-card",shadow:"never"},{default:s(()=>[d("div",Is,[d("div",$s,[R((o(),f(v,{type:"primary",onClick:En},{default:s(()=>[...e[37]||(e[37]=[m("新增诊单",-1)])]),_:1})),[[F,["tcm.diagnosis/add"]]]),R((o(),f(v,{type:"success",onClick:xn,disabled:a(I).length===0},{default:s(()=>[...e[38]||(e[38]=[m(" 批量指派医助 ",-1)])]),_:1},8,["disabled"])),[[F,["tcm.diagnosis/assign"]]]),R((o(),f(v,{type:"warning",plain:"",onClick:An,disabled:!bn.value},{default:s(()=>[...e[39]||(e[39]=[m(" 批量取消指派 ",-1)])]),_:1},8,["disabled"])),[[F,["tcm.diagnosis/assign"]]])]),a(I).length>0?(o(),u("div",Ss,"已选 "+p(a(I).length)+" 条",1)):C("",!0)]),d("div",Ls,[R((o(),f(ia,{data:a(V).lists,"row-key":"id",size:"default",onSelectionChange:kn,onRowDblclick:_t,"row-class-name":nn,class:"diagnosis-table",stripe:""},{default:s(()=>[i($,{type:"selection",width:"48",align:"center"}),i($,{label:"ID","min-width":"70"},{default:s(({row:n})=>[d("div",Ns,[d("div",zs,[d("div",Ps,[m(p(n.id)+" ",1),n.assign_read_at===null&&n.assistant_id>0?(o(),f(T,{key:0,type:"danger",size:"small",effect:"dark",class:"ml-1"},{default:s(()=>[...e[40]||(e[40]=[m("NEW",-1)])]),_:1})):C("",!0)])])])]),_:1}),i($,{label:"患者","min-width":"60"},{default:s(({row:n})=>[d("div",Ts,[d("div",Ws,[d("div",Fs,p(n.patient_name),1)])])]),_:1}),i($,{label:" 性别 / 年龄",width:"100",align:"left"},{default:s(({row:n})=>[d("div",null,p(n.gender_desc||"-")+" · "+p(n.age??"-")+"岁",1)]),_:1}),i($,{label:"挂号","min-width":"175"},{default:s(({row:n})=>[d("div",{class:O(["appointment-cell",Tn(n)])},[n.has_appointment?(o(),u(E,{key:0},[Ve(n).length?(o(!0),u(E,{key:0},S(Ve(n),k=>(o(),u("div",{key:k.id||`${k.doctor_id}-${k.time_text}`,class:O(["apt-item",Pn(k)])},[d("div",Ms,p(zn(k.status)),1),d("div",Ys,p(k.doctor_name||"-"),1),d("div",Os,p(k.time_text||"-"),1),Be(k)?(o(),u("div",Us,[R((o(),f(v,{type:"danger",link:"",size:"small",onClick:Ze(b=>Mn(n,k),["stop"])},{default:s(()=>[...e[41]||(e[41]=[m(" 取消挂号 ",-1)])]),_:1},8,["onClick"])),[[F,["tcm.diagnosis/guahao"]]])])):C("",!0)],2))),128)):(o(),u(E,{key:1},[d("div",qs,p(Nn(n)),1),d("div",Qs,p(n.appointment_doctor_name||"-"),1),d("div",Bs,p(n.appointment_time_text||"-"),1)],64))],64)):(o(),u("span",Hs,"未挂号"))],2)]),_:1}),i($,{label:"确认",width:"88",align:"center"},{default:s(({row:n})=>[lt(n)?(o(),u("span",Gs,"已确认")):(o(),u("span",Ks,"未确认"))]),_:1}),i($,{label:"复诊","min-width":"120"},{default:s(({row:n})=>[n.has_prescription?(o(),u("div",js,[d("div",Js,p(n.followup_time_text||"—"),1),d("div",Xs,p(n.followup_doctor_name||"—"),1),n.followup_rx_voided?(o(),f(T,{key:0,type:"info",size:"small",effect:"plain",class:"followup-void-tag"},{default:s(()=>[...e[42]||(e[42]=[m(" 处方已作废 ",-1)])]),_:1})):C("",!0)])):(o(),u("span",Zs,"无"))]),_:1}),i($,{label:"助理",width:"100","show-overflow-tooltip":""},{default:s(({row:n})=>[d("span",ei,p(Xt(n.assistant_id||n.assistant)),1)]),_:1}),i($,{label:"开方",width:"72",align:"center"},{default:s(({row:n})=>[n.has_prescription?(o(),u("span",ti,"已开方")):(o(),u("span",ni,"未开方"))]),_:1}),i($,{label:"未服务天数",width:"110",align:"center"},{default:s(({row:n})=>[n.last_blood_record_at?(o(),f(gt,{key:0,content:`最近一次健康打卡:${n.last_blood_record_at}`,placement:"top"},{default:s(()=>[d("span",{class:O(["unserved-days",tn(n.unserved_days)])},p(n.unserved_days??"—"),3)]),_:2},1032,["content"])):(o(),u("span",ai,"—"))]),_:1}),i($,{label:"视频旁观",width:"120",fixed:"right",align:"center"},{default:s(({row:n})=>[d("div",si,[on(n)?(o(),u(E,{key:0},[rn(n)?(o(),f(gt,{key:0,content:un(n),placement:"top"},{default:s(()=>[d("span",ii,[i(v,{type:"primary",link:"",size:"small",onClick:k=>mn(n)},{default:s(()=>[...e[43]||(e[43]=[m(" 进入旁观 ",-1)])]),_:1},8,["onClick"])])]),_:2},1032,["content"])):(o(),u("span",li,p(pn(n)),1))],64)):(o(),u("span",oi,p(cn(n)),1))])]),_:1}),i($,{label:"操作",width:"340",fixed:"right",align:"left"},{default:s(({row:n})=>[d("div",{class:"action-cell",onClick:e[7]||(e[7]=Ze(()=>{},["stop"])),onDblclick:e[8]||(e[8]=Ze(()=>{},["stop"]))},[R((o(),f(v,{type:"primary",link:"",size:"small",onClick:k=>_t(n)},{default:s(()=>[...e[44]||(e[44]=[m(" 查看 ",-1)])]),_:1},8,["onClick"])),[[F,["tcm.diagnosis/readonlyDetail"]]]),R((o(),f(v,{type:"primary",link:"",size:"small",onClick:k=>wn(n.id)},{default:s(()=>[...e[45]||(e[45]=[m("诊单",-1)])]),_:1},8,["onClick"])),[[F,["tcm.diagnosis/edit"]]]),R((o(),f(v,{type:"primary",link:"",size:"small",onClick:k=>In(n)},{default:s(()=>[m(p(Rn(n)),1)]),_:2},1032,["onClick"])),[[F,["tcm.diagnosis/kaifang"]]]),R((o(),f(v,{type:"success",link:"",size:"small",onClick:k=>Qn(n)},{default:s(()=>[...e[46]||(e[46]=[m("预约",-1)])]),_:1},8,["onClick"])),[[F,["tcm.diagnosis/guahao"]]]),R((o(),f(v,{type:"warning",link:"",size:"small",onClick:k=>Hn(n)},{default:s(()=>[...e[47]||(e[47]=[m("补全身份证",-1)])]),_:1},8,["onClick"])),[[F,["tcm.diagnosis/edit"]]]),i(sa,{trigger:"click",onCommand:k=>Ln(k,n),placement:"bottom-end"},{dropdown:s(()=>[i(aa,null,{default:s(()=>[a(Y)(["tcm.diagnosis/assign"])?(o(),f(J,{key:0,command:"assign"},{default:s(()=>[i(h,null,{default:s(()=>[i(a(as))]),_:1}),e[49]||(e[49]=m("指派",-1))]),_:1})):C("",!0),a(Y)(["tcm.diagnosis/assign"])&&xe(n)?(o(),f(J,{key:1,command:"cancelAssign"},{default:s(()=>[i(h,null,{default:s(()=>[i(a(ss))]),_:1}),e[50]||(e[50]=m("取消指派 ",-1))]),_:1})):C("",!0),ce(n)&&a(Y)(["tcm.diagnosis/videoQr"])?(o(),f(J,{key:2,command:"videoQr"},{default:s(()=>[i(h,null,{default:s(()=>[i(a(Dt))]),_:1}),e[51]||(e[51]=m("视频二维码",-1))]),_:1})):C("",!0),a(Y)(["tcm.diagnosis/guahao"])&&ce(n)?(o(),f(J,{key:3,command:"confirmQr"},{default:s(()=>[i(h,null,{default:s(()=>[i(a(Dt))]),_:1}),e[52]||(e[52]=m("二维码",-1))]),_:1})):C("",!0),Wn(n)&&a(Y)(["tcm.diagnosis/guahao"])?(o(),f(J,{key:4,command:"cancelApt"},{default:s(()=>[i(h,null,{default:s(()=>[i(a(is))]),_:1}),e[53]||(e[53]=m("取消挂号 ",-1))]),_:1})):C("",!0),a(Y)(["tcm.diagnosis/guahaoLogList"])?(o(),f(J,{key:5,command:"guahaoLogs"},{default:s(()=>[i(h,null,{default:s(()=>[i(a(ls))]),_:1}),e[54]||(e[54]=m("挂号日志",-1))]),_:1})):C("",!0),a(Y)(["tcm.diagnosis/order"])?(o(),f(J,{key:6,command:"order"},{default:s(()=>[i(h,null,{default:s(()=>[i(a(os))]),_:1}),e[55]||(e[55]=m("创建订单",-1))]),_:1})):C("",!0),a(Y)(["tcm.diagnosis/delete"])?(o(),f(J,{key:7,command:"delete",divided:""},{default:s(()=>[i(h,null,{default:s(()=>[i(a(ds))]),_:1}),e[56]||(e[56]=d("span",{class:"text-danger"},"删除",-1))]),_:1})):C("",!0)]),_:2},1024)]),default:s(()=>[i(v,{type:"info",link:"",size:"small"},{default:s(()=>[e[48]||(e[48]=m("更多",-1)),i(h,{class:"el-icon--right"},{default:s(()=>[i(a(Vt))]),_:1})]),_:1})]),_:2},1032,["onCommand"])],32)]),_:1})]),_:1},8,["data"])),[[Xe,a(V).loading]]),d("div",di,[i(la,{modelValue:a(V),"onUpdate:modelValue":e[9]||(e[9]=n=>B(V)?V.value=n:null),onChange:a(x)},null,8,["modelValue","onChange"])])])]),_:1}),i(a(Et),{ref_key:"editRef",ref:ae,onSuccess:Zt},null,512),i(a(wt),{ref_key:"detailRef",ref:an},null,512),i(a(Rt),{ref_key:"prescriptionRef",ref:ot,onSuccess:$n},null,512),i(a(It),{ref_key:"appointmentRef",ref:dt,onSuccess:qn},null,512),i(a($t),{modelValue:a(ke),"onUpdate:modelValue":e[10]||(e[10]=n=>B(ke)?ke.value=n:null),"diagnosis-id":a(rt),onClosed:a(x)},null,8,["modelValue","diagnosis-id","onClosed"]),i(ft,{modelValue:a(te),"onUpdate:modelValue":e[11]||(e[11]=n=>B(te)?te.value=n:null),title:"挂号操作日志",size:"460px","destroy-on-close":"",onClosed:Yn},{default:s(()=>[R((o(),u("div",ri,[a(q)?(o(),u("div",ui,[d("span",mi,p(a(q).patient_name),1),e[57]||(e[57]=d("span",{class:"mx-2 text-gray-300"},"|",-1)),d("span",null,"诊单 #"+p(a(q).id),1)])):C("",!0),!a(De)&&a(le).length===0?(o(),f(oa,{key:1,description:"暂无挂号/取消挂号操作记录"})):a(le).length>0?(o(),f(ra,{key:2},{default:s(()=>[(o(!0),u(E,null,S(a(le),(n,k)=>(o(),f(da,{key:n.id??k,timestamp:n.create_time_text||"—",placement:"top"},{default:s(()=>[d("div",pi,[i(T,{size:"small",type:"info"},{default:s(()=>[m(p(n.action_desc),1)]),_:2},1024),d("span",ci,p(On(n)),1)]),d("div",_i,p(n.summary),1)]),_:2},1032,["timestamp"]))),128))]),_:1})):C("",!0)])),[[Xe,a(De)]])]),_:1},8,["modelValue"]),i(Re,{modelValue:a(U),"onUpdate:modelValue":e[13]||(e[13]=n=>B(U)?U.value=n:null),title:a(Ue),width:"400px","close-on-click-modal":!1},{footer:s(()=>[i(v,{onClick:e[12]||(e[12]=n=>U.value=!1)},{default:s(()=>[...e[60]||(e[60]=[m("关闭",-1)])]),_:1}),a(H)?C("",!0):(o(),f(v,{key:0,type:"primary",onClick:Kn},{default:s(()=>[...e[61]||(e[61]=[m(" 重新生成 ",-1)])]),_:1}))]),default:s(()=>{var n;return[d("div",gi,[a(H)?(o(),u("div",fi,[i(h,{class:"is-loading",size:40},{default:s(()=>[i(a(rs))]),_:1}),e[58]||(e[58]=d("div",{class:"mt-4 text-gray-500"},"生成中...",-1))])):a(G)?(o(),u("div",vi,[d("img",{src:a(G),alt:"小程序二维码",class:"w-64 h-64 border border-gray-200 rounded"},null,8,yi),d("div",hi,[d("div",null,"患者:"+p((n=a(K))==null?void 0:n.patient_name),1),d("div",ki,"挂号时间:"+p(yn.value),1),e[59]||(e[59]=d("div",{class:"mt-2"},"请使用企业微信扫描二维码,然后转发给患者",-1))])])):(o(),u("div",bi," 生成失败,请重试 "))])]}),_:1},8,["modelValue","title"]),i(Re,{modelValue:a(ee),"onUpdate:modelValue":e[17]||(e[17]=n=>B(ee)?ee.value=n:null),title:a(me)==="batch"?"批量指派医助":"指派医助",width:"500px",onClosed:hn},{footer:s(()=>[i(v,{onClick:e[16]||(e[16]=n=>ee.value=!1)},{default:s(()=>[...e[64]||(e[64]=[m("取消",-1)])]),_:1}),i(v,{type:"primary",onClick:Vn,loading:a(Qe)},{default:s(()=>[...e[65]||(e[65]=[m(" 确定指派 ",-1)])]),_:1},8,["loading"])]),default:s(()=>[i(Je,{model:a(D),"label-width":"100px"},{default:s(()=>[i(W,{label:"选择医助",required:""},{default:s(()=>[i(Q,{modelValue:a(D).assistant_id,"onUpdate:modelValue":e[14]||(e[14]=n=>a(D).assistant_id=n),placeholder:"请选择医助",class:"w-full",filterable:"",clearable:""},{default:s(()=>[(o(!0),u(E,null,S(a(ue),n=>(o(),f(A,{key:n.id,label:n.name,value:Number(n.id)},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),i(W,{label:"继承"},{default:s(()=>[i(ua,{modelValue:a(D).is_inherit,"onUpdate:modelValue":e[15]||(e[15]=n=>a(D).is_inherit=n)},{default:s(()=>[...e[62]||(e[62]=[m("继承",-1)])]),_:1},8,["modelValue"]),e[63]||(e[63]=d("span",{class:"text-gray-400 text-xs ml-2"},"勾选后写入指派记录",-1))]),_:1}),a(me)==="batch"?(o(),f(W,{key:0,label:"已选择"},{default:s(()=>[d("div",Ci,p(a(ie).length)+" 条诊单记录",1)]),_:1})):(o(),f(W,{key:1,label:"诊单信息"},{default:s(()=>{var n,k;return[d("div",xi,[d("div",null,"患者:"+p((n=a(pe))==null?void 0:n.patient_name),1),d("div",null,"诊断日期:"+p((k=a(pe))==null?void 0:k.diagnosis_date_text),1)])]}),_:1}))]),_:1},8,["model"])]),_:1},8,["modelValue","title"]),i(Re,{modelValue:a(se),"onUpdate:modelValue":e[22]||(e[22]=n=>B(se)?se.value=n:null),title:"创建订单",width:"600px",onClose:fn},{footer:s(()=>[i(v,{onClick:e[21]||(e[21]=n=>se.value=!1)},{default:s(()=>[...e[66]||(e[66]=[m("取消",-1)])]),_:1}),i(v,{type:"primary",onClick:vn,loading:a(Oe)},{default:s(()=>[...e[67]||(e[67]=[m("创建订单",-1)])]),_:1},8,["loading"])]),default:s(()=>[i(Je,{ref_key:"orderFormRef",ref:Ce,model:a(y),rules:_n,"label-width":"100px"},{default:s(()=>[i(W,{label:"患者"},{default:s(()=>[d("span",Vi,p(a(y).patient_name)+" ("+p(tt(a(y).phone))+")",1)]),_:1}),i(W,{label:"订单类型",prop:"order_type"},{default:s(()=>[i(Q,{modelValue:a(y).order_type,"onUpdate:modelValue":e[18]||(e[18]=n=>a(y).order_type=n),placeholder:"请选择",class:"w-full"},{default:s(()=>[i(A,{label:"挂号费",value:1}),i(A,{label:"问诊费",value:2}),i(A,{label:"药品费用",value:3}),i(A,{label:"首付费用",value:4}),i(A,{label:"尾款费用",value:5}),i(A,{label:"其他费用",value:6}),i(A,{label:"全部费用",value:7}),i(A,{label:"驼奶费用",value:8})]),_:1},8,["modelValue"])]),_:1}),i(W,{label:"订单金额",prop:"amount"},{default:s(()=>[i(ma,{modelValue:a(y).amount,"onUpdate:modelValue":e[19]||(e[19]=n=>a(y).amount=n),min:0,step:.01,precision:2,placeholder:"请输入金额",class:"w-full"},null,8,["modelValue"])]),_:1}),i(W,{label:"备注",prop:"remark"},{default:s(()=>[i(_,{modelValue:a(y).remark,"onUpdate:modelValue":e[20]||(e[20]=n=>a(y).remark=n),type:"textarea",rows:3,placeholder:"请输入备注(可选)"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"]),i(Re,{modelValue:a(oe),"onUpdate:modelValue":e[25]||(e[25]=n=>B(oe)?oe.value=n:null),title:"补全身份证号",width:"400px","close-on-click-modal":!1,onClose:e[26]||(e[26]=n=>a(P).id_card="")},{footer:s(()=>[i(v,{onClick:e[24]||(e[24]=n=>oe.value=!1)},{default:s(()=>[...e[68]||(e[68]=[m("取消",-1)])]),_:1}),i(v,{type:"primary",onClick:Gn,loading:a(He)},{default:s(()=>[...e[69]||(e[69]=[m("提交(自动更新年龄)",-1)])]),_:1},8,["loading"])]),default:s(()=>[i(Je,{ref_key:"fillIdCardFormRef",ref:mt,model:a(P),rules:Bn,"label-width":"80px"},{default:s(()=>[i(W,{label:"患者"},{default:s(()=>[d("span",Di,p(a(P).patient_name),1)]),_:1}),i(W,{label:"身份证号",prop:"id_card"},{default:s(()=>[i(_,{modelValue:a(P).id_card,"onUpdate:modelValue":e[23]||(e[23]=n=>a(P).id_card=n),placeholder:"请输入15或18位身份证号",maxlength:"18","show-word-limit":"",clearable:""},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"]),i(ft,{modelValue:a(Ee),"onUpdate:modelValue":e[28]||(e[28]=n=>B(Ee)?Ee.value=n:null),title:`企业微信记录 - ${((vt=a(L))==null?void 0:vt.patient_name)||""}`,size:"600px","destroy-on-close":!0},{default:s(()=>{var n,k;return[a(N)?(o(),u("div",Ai,[i(pa,{column:2,border:"",size:"small"},{default:s(()=>[i(Ie,{label:"患者姓名"},{default:s(()=>{var b;return[m(p((b=a(L))==null?void 0:b.patient_name),1)]}),_:1}),i(Ie,{label:"手机号"},{default:s(()=>[m(p(tt(a(N).phone)||"-"),1)]),_:1}),i(Ie,{label:"企微联系人ID"},{default:s(()=>[a(N).external_userid?(o(),u("span",Ei,p(a(N).external_userid),1)):(o(),f(T,{key:1,type:"info",size:"small"},{default:s(()=>[...e[70]||(e[70]=[m("未关联",-1)])]),_:1}))]),_:1}),i(Ie,{label:"会话存档"},{default:s(()=>[a(N).msgaudit_enabled?(o(),f(T,{key:0,type:"success",size:"small"},{default:s(()=>[...e[71]||(e[71]=[m("已开通",-1)])]),_:1})):(o(),f(T,{key:1,type:"info",size:"small"},{default:s(()=>[...e[72]||(e[72]=[m("未配置",-1)])]),_:1}))]),_:1})]),_:1}),(n=a(N).permit_users)!=null&&n.length?(o(),u("div",wi,[e[73]||(e[73]=d("span",{class:"text-sm text-gray-500 mr-2"},"存档成员:",-1)),(o(!0),u(E,null,S(a(N).permit_users,b=>(o(),f(T,{key:b,size:"small",class:"mr-1"},{default:s(()=>[m(p(b),1)]),_:2},1024))),128))])):C("",!0),(k=a(N).msgaudit_agree)!=null&&k.length?(o(),u("div",Ri,[e[74]||(e[74]=d("span",{class:"text-sm text-gray-500 mr-2"},"存档同意:",-1)),(o(!0),u(E,null,S(a(N).msgaudit_agree,(b,$e)=>(o(),f(T,{key:$e,type:b.agree_status==="Agree"?"success":"warning",size:"small",class:"mr-1"},{default:s(()=>[m(p(b.userid)+": "+p(b.agree_status==="Agree"?"已同意":b.agree_status),1)]),_:2},1032,["type"]))),128))])):C("",!0)])):C("",!0),i(ca),d("div",Ii,[d("div",$i,[i(_,{modelValue:a(ne),"onUpdate:modelValue":e[27]||(e[27]=b=>B(ne)?ne.value=b:null),type:"textarea",rows:2,placeholder:"添加沟通记录...",class:"flex-1"},null,8,["modelValue"]),i(v,{type:"primary",onClick:Zn,loading:a(Ke),class:"self-end"},{default:s(()=>[...e[75]||(e[75]=[m(" 添加 ",-1)])]),_:1},8,["loading"])])]),R((o(),u("div",null,[a(j).length===0?(o(),u("div",Si," 暂无聊天记录 ")):(o(),u("div",Li,[(o(!0),u(E,null,S(a(j),b=>{var $e;return o(),u("div",{key:b.id,class:"record-item"},[d("div",Ni,[d("div",zi,[i(T,{type:b.direction===0?"primary":"success",size:"small"},{default:s(()=>[m(p(b.direction===0?"员工":"客户"),1)]),_:2},1032,["type"]),d("span",Pi,p(b.direction===0?b.staff_name:b.external_name||(($e=a(L))==null?void 0:$e.patient_name)),1),b.msg_type==="note"?(o(),f(T,{key:0,type:"warning",size:"small"},{default:s(()=>[...e[76]||(e[76]=[m("备注",-1)])]),_:1})):C("",!0)]),d("div",Ti,[d("span",Wi,p(jn(b.chat_time)),1),i(v,{type:"danger",link:"",size:"small",onClick:Bi=>ea(b.id)},{default:s(()=>[...e[77]||(e[77]=[m(" 删除 ",-1)])]),_:1},8,["onClick"])])]),d("div",Fi,p(b.content),1),b.media_url?(o(),u("div",Mi,[i(_a,{src:b.media_url,style:{"max-width":"200px"},fit:"contain","preview-src-list":[b.media_url]},null,8,["src","preview-src-list"])])):C("",!0)])}),128))])),a(we)>a(j).length?(o(),u("div",Yi,[i(v,{link:"",type:"primary",onClick:Xn},{default:s(()=>[...e[78]||(e[78]=[m("加载更多",-1)])]),_:1})])):C("",!0)])),[[Xe,a(Ge)]])]}),_:1},8,["modelValue","title"])])}}}),Tl=ns(Ui,[["__scopeId","data-v-df3ce361"]]);export{Tl as default};