3 lines
44 KiB
JavaScript
3 lines
44 KiB
JavaScript
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/edit-B3dvaJ4D.js","assets/element-plus-B7Dx6hR2.js","assets/@vue/runtime-dom-CEiKlVMn.js","assets/lodash-D3kF6u-c.js","assets/@vue/runtime-core-tF_2qJHK.js","assets/@vue/reactivity-BmZ-20sQ.js","assets/@vue/shared-mAAVTE9n.js","assets/@element-plus/icons-vue-C25ce6PD.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-CIwPhgpL.css","assets/tcm-D48y6e63.js","assets/index-ujO9M2tm.js","assets/jspdf-BsthCvR5.js","assets/@babel/runtime-BanGtE2-.js","assets/fflate-_ayOYiT1.js","assets/vue-router-BjeWxBI0.js","assets/pinia-CTWOnonq.js","assets/axios-C80V62Fs.js","assets/@vueuse/core-Da2f2eD_.js","assets/@vueuse/shared-Bl-RnC0s.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-yVHyDRAS.js","assets/tslib-BDyQ-Jie.js","assets/zrender-C0YiHEZX.js","assets/highlight.js-Bxt7hFFy.js","assets/highlight-BfC0goYb.css","assets/@highlightjs/vue-plugin-Bm7NQW9r.js","assets/index-BqH5TWcq.css","assets/perm-CVnE8BTC.js","assets/BloodRecordList-5MDEkAtE.js","assets/BloodRecordList-DhVK-Y_e.css","assets/DietRecordList-CrbGjonV.js","assets/picker-CMHTtQpW.js","assets/index-IOePT4IN.js","assets/index-B3imPWFk.css","assets/index-DySGzem2.js","assets/index.vue_vue_type_script_setup_true_lang-Clh1LnRz.js","assets/index-S0v-6Aw9.js","assets/index-D0f1Mn00.css","assets/index-bkXsI6HU.js","assets/index.vue_vue_type_script_setup_true_lang-BmQQfXv-.js","assets/file-CSUgLJrs.js","assets/usePaging-BIG1oWvJ.js","assets/index-BYOmK9R5.css","assets/vuedraggable-Bl4C18MR.js","assets/vue-BEnQNo4t.js","assets/@vue/compiler-dom-CqayqxS7.js","assets/@vue/compiler-core-CvbQOXIO.js","assets/sortablejs-dsEAUXlE.js","assets/picker-CIDrzFI6.css","assets/DietRecordList-Cc-xUr2B.css","assets/ExerciseRecordList-5aGnNEHI.js","assets/ExerciseRecordList-DGtgtzou.css","assets/DiagnosisTodoList-Bwjt3_VN.js","assets/DiagnosisTodoList-BX54SGGW.css","assets/CaseRecordList-CFDa_1Nn.js","assets/CaseRecordList-Cl-c3q7S.css","assets/CallRecordPanel-v628yPMy.js","assets/CallRecordPanel-D1yS2Ki-.css","assets/ImChatRecordPanel-DlpBPHUF.js","assets/im-business-message-parse-ClZDqEhB.js","assets/ImChatRecordPanel-CO1Juvf9.css","assets/AssignLogPanel.vue_vue_type_script_setup_true_lang-DuW-rDh8.js","assets/AppointmentRecordPanel-CZDNa_Km.js","assets/doctor-C0UnV7-g.js","assets/AppointmentRecordPanel-5TL68rh2.css","assets/NoteTimeline-DIEMdNOH.js","assets/patient-V9ckv-WF.js","assets/NoteTimeline-DxaWggN9.css","assets/TrackingNoteTimeline-CyjvrsiV.js","assets/TrackingNoteTimeline-B9T8pFso.css","assets/index-8MZQwO5F.js","assets/index-_T3gKo-j.js","assets/medicine-DdGt-4YK.js","assets/index-tfEElgYq.css","assets/diabetes-discovery-display-B_wmGXQJ.js","assets/html2canvas-QH1iLAAe.js","assets/index-7dVF45mm.css","assets/edit-Bs6wCBo5.css","assets/detail-Di79W-Zq.js","assets/appointment-CVtW5U8M.js","assets/appointment-DaNLu7BE.css","assets/AssistantWatchCallDialog-CHRk0rk4.js","assets/trtc-sdk-v5-D4DbeRqz.js","assets/AssistantWatchCallDialog-BIPZRgaH.css"])))=>i.map(i=>d[i]);
|
|
import{_ as me}from"./jspdf-BsthCvR5.js";import{C as Xa,i as Za,d as en,P as tn,Q as an,J as nn,M as sn,N as ln,T as on,r as dn,p as rn,n as un,o as pn,L as mn,R as cn,ab as _n,ac as gn,e as fn,V as vn,D as yn,B as hn,h as bn,a9 as kn,aa as Cn,U as xn,v as Dn}from"./element-plus-B7Dx6hR2.js";import{_ as Vn}from"./index.vue_vue_type_script_setup_true_lang-Clh1LnRz.js";import{w as En,q as An,s as pt}from"./@vue/runtime-dom-CEiKlVMn.js";import{ab as w,m as Rn,F as In,ac as Re,ad as $n,ae as Ln,I as mt,af as ct,ag as Nn,ah as zn,ai as Sn,aj as wn}from"./tcm-D48y6e63.js";import{i as Pn}from"./order-Bd8PV6Sl.js";import{k as Tn}from"./doctor-C0UnV7-g.js";import{u as Wn}from"./usePaging-BIG1oWvJ.js";import{u as Fn,m as _t,i as g,_ as Un}from"./index-ujO9M2tm.js";import{g as gt}from"./weapp-BmTGDBRY.js";import{h as P}from"./perm-CVnE8BTC.js";import{e as ft,U as On,a5 as qn,N as vt,b as Mn,a3 as Qn,G as Bn,H as Yn,l as Gn}from"./@element-plus/icons-vue-C25ce6PD.js";import{u as Hn,a as jn}from"./vue-router-BjeWxBI0.js";import{d as yt}from"./dayjs-DG77mNTn.js";import{f as ht,w as Jn,b as Kn,d as Xn,as as Zn,ak as i,I as p,a as l,aN as s,J as o,F as E,ap as $,O as _,H as b,aP as R,G as f,P as ce,A as K}from"./@vue/runtime-core-tF_2qJHK.js";import{o as T,Q as m}from"./@vue/shared-mAAVTE9n.js";import{y as n,a as M,r as He,n as c}from"./@vue/reactivity-BmZ-20sQ.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-CTWOnonq.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-Da2f2eD_.js";import"./@vueuse/shared-Bl-RnC0s.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-yVHyDRAS.js";import"./tslib-BDyQ-Jie.js";import"./zrender-C0YiHEZX.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-Bm7NQW9r.js";const es={class:"tcm-diagnosis"},ts={class:"filter-main"},as={class:"date-chips"},ns=["onClick"],ss={key:0},ls={key:0},is={key:0},os={key:0},ds={class:"search-row"},rs={class:"filter-chips"},us=["onClick"],ps=["onClick"],ms={class:"filter-more"},cs={class:"list-header"},_s={class:"list-actions"},gs={key:0,class:"list-selected"},fs={class:"table-wrap px-4"},vs={class:"patient-cell"},ys={class:"patient-info"},hs={class:"patient-name"},bs={class:"patient-cell"},ks={class:"patient-info"},Cs={class:"patient-name"},xs={class:"apt-badge"},Ds={class:"apt-doctor"},Vs={class:"apt-time"},Es={class:"apt-badge"},As={class:"apt-doctor"},Rs={class:"apt-time"},Is={key:1,class:"apt-none"},$s={key:0,class:"status-confirmed"},Ls={key:1,class:"status-unconfirmed"},Ns={key:0,class:"followup-cell"},zs={class:"followup-time"},Ss={class:"followup-doctor"},ws={key:1,class:"followup-none"},Ps={class:"assistant-cell"},Ts={key:0,class:"status-prescribed"},Ws={key:1,class:"status-unprescribed"},Fs={key:1,class:"unserved-days unserved-muted"},Us={class:"video-watch-col"},Os={class:"video-watch-trigger"},qs={key:1,class:"video-watch-muted"},Ms={key:1,class:"video-watch-muted"},Qs={class:"pagination-wrap"},Bs={class:"min-h-[100px]"},Ys={key:0,class:"text-sm text-gray-600 mb-4 pb-3 border-b border-gray-100"},Gs={class:"font-medium text-gray-800"},Hs={class:"flex flex-wrap items-center gap-2"},js={class:"text-sm font-medium text-gray-800"},Js={class:"text-xs text-gray-600 mt-1.5 leading-relaxed"},Ks={class:"flex flex-col items-center justify-center py-4"},Xs={key:0,class:"text-center"},Zs={key:1,class:"text-center"},el=["src"],tl={class:"mt-4 text-sm text-gray-600"},al={class:"mt-2"},nl={key:2,class:"text-center text-gray-500"},sl={class:"text-gray-500"},ll={class:"text-gray-500"},il={class:"font-medium"},ol={class:"font-medium"},dl={key:0,class:"mb-4"},rl={key:0},ul={key:0,class:"mt-2"},pl={key:1,class:"mt-2"},ml={class:"mb-4"},cl={class:"flex gap-2"},_l={key:0,class:"text-center text-gray-400 py-10"},gl={key:1,class:"record-list"},fl={class:"record-header"},vl={class:"flex items-center gap-2"},yl={class:"font-medium text-sm"},hl={class:"flex items-center gap-2"},bl={class:"text-xs text-gray-400"},kl={class:"record-content"},Cl={key:0,class:"mt-1"},xl={key:2,class:"text-center mt-4"},Dl=ht({name:"tcmDiagnosis"}),Vl=ht({...Dl,setup(El){const bt=ce(()=>me(()=>import("./edit-B3dvaJ4D.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]))),kt=ce(()=>me(()=>import("./detail-Di79W-Zq.js"),__vite__mapDeps([93,47,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,48,15]))),Ct=ce(()=>me(()=>import("./index-8MZQwO5F.js"),__vite__mapDeps([85,1,2,3,4,5,6,7,8,9,10,11,12,13,14,86,87,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,88,89,15,90,91]))),xt=ce(()=>me(()=>import("./appointment-CVtW5U8M.js"),__vite__mapDeps([94,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,78,95]))),Dt=ce(()=>me(()=>import("./AssistantWatchCallDialog-CHRk0rk4.js"),__vite__mapDeps([96,1,2,3,4,5,6,7,8,9,10,11,12,13,14,97,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,98]))),Vt=t=>{if(!t)return"-";const e=String(t).length===10?Number(t)*1e3:Number(t);return yt(e).format("YYYY-MM-DD HH:mm:ss")},je=t=>!t||t.length<11?t:t.replace(/(\d{3})\d{4}(\d{4})/,"$1****$2"),r=He({keyword:"",diagnosis_type:"",syndrome_type:"",assistant_id:"",start_time:"",end_time:"",diagnosis_confirmed:"",appointment_date:"",has_appointment:"",pending_assign:"",pending_booking:"",completed_appointment:""}),Et=c("all"),ie=c(!1),At=[{label:"全部",value:""},{label:"已挂号",value:"1"},{label:"未挂号",value:"0"}],Rt=[{label:"全部",value:""},{label:"已确认",value:"1"},{label:"未确认",value:"0"}],It=t=>{r.has_appointment=t,r.pending_booking="",r.completed_appointment="",V.page=1,k(),I()},$t=t=>{r.diagnosis_confirmed=t,r.pending_booking="",r.completed_appointment="",V.page=1,k(),I()},oe=()=>{V.page=1,k(),I()},Lt=K(()=>[{label:"昨天挂号",value:we.value},{label:"前天挂号",value:Pe.value},{label:"当天挂号",value:ge.value},{label:"明天挂号",value:ze.value},{label:"后天挂号",value:Se.value},{label:"全部",value:""}]),Ie=c({}),$e=c(void 0),Le=c(void 0),Ne=c(void 0),Nt=async t=>{r.pending_assign="",r.pending_booking="",r.completed_appointment="",r.has_appointment="",r.appointment_date=t,V.page=1,await k(),I()},zt=async()=>{r.pending_assign="",r.pending_booking="1",r.completed_appointment="",r.appointment_date="",r.has_appointment="0",V.page=1,await k(),I()},St=async()=>{r.pending_assign="",r.pending_booking="",r.completed_appointment="1",r.has_appointment="",r.appointment_date="",V.page=1,await k(),I()},wt=async()=>{r.pending_assign="1",r.pending_booking="",r.completed_appointment="",r.has_appointment="",r.appointment_date="",V.page=1,await k(),I()},I=async()=>{try{const[t,e,d,u,C,x,F,le,D]=await Promise.all([w({appointment_date:we.value,page_no:1,page_size:1}),w({appointment_date:Pe.value,page_no:1,page_size:1}),w({appointment_date:ge.value,page_no:1,page_size:1}),w({appointment_date:ze.value,page_no:1,page_size:1}),w({appointment_date:Se.value,page_no:1,page_size:1}),w({page_no:1,page_size:1}),w({has_appointment:0,page_no:1,page_size:1}),w({completed_appointment:1,page_no:1,page_size:1}),w({pending_assign:1,page_no:1,page_size:1})]);Ie.value={[we.value]:(t==null?void 0:t.count)??0,[Pe.value]:(e==null?void 0:e.count)??0,[ge.value]:(d==null?void 0:d.count)??0,[ze.value]:(u==null?void 0:u.count)??0,[Se.value]:(C==null?void 0:C.count)??0,"":(x==null?void 0:x.count)??0},$e.value=(F==null?void 0:F.count)??0,Le.value=(le==null?void 0:le.count)??0,Ne.value=(D==null?void 0:D.count)??0}catch(t){console.error("获取日期数量失败",t)}};function Pt(){const t=()=>I();typeof requestIdleCallback=="function"?requestIdleCallback(t,{timeout:2500}):setTimeout(t,120)}const Tt=1e4;let _e=null;function Wt(){typeof document<"u"&&document.hidden||(k({silent:!0}).catch(()=>{}),I())}const z=t=>String(t).padStart(2,"0"),ge=K(()=>{const t=new Date;return`${t.getFullYear()}-${z(t.getMonth()+1)}-${z(t.getDate())}`}),ze=K(()=>{const t=new Date;return t.setDate(t.getDate()+1),`${t.getFullYear()}-${z(t.getMonth()+1)}-${z(t.getDate())}`}),Se=K(()=>{const t=new Date;return t.setDate(t.getDate()+2),`${t.getFullYear()}-${z(t.getMonth()+1)}-${z(t.getDate())}`}),we=K(()=>{const t=new Date;return t.setDate(t.getDate()-1),`${t.getFullYear()}-${z(t.getMonth()+1)}-${z(t.getDate())}`}),Pe=K(()=>{const t=new Date;return t.setDate(t.getDate()-2),`${t.getFullYear()}-${z(t.getMonth()+1)}-${z(t.getDate())}`}),Je=c([]),Ke=c([]),de=c([]),Ft=async()=>{try{const[t,e,d]=await Promise.all([_t({type:"diagnosis_type"}),_t({type:"syndrome_type"}),Rn()]);Je.value=(t==null?void 0:t.diagnosis_type)||[],Ke.value=(e==null?void 0:e.syndrome_type)||[],de.value=d||[]}catch(t){console.error("获取字典数据失败:",t)}},Ut=t=>{if(!t&&t!==0)return"-";const e=typeof t=="string"?parseInt(t):t;if(de.value.length===0)return"...";const d=de.value.find(u=>(typeof u.id=="string"?parseInt(u.id):u.id)===e);return d?d.name:"-"},{pager:V,getLists:k}=Wn({fetchFun:w,params:r}),Ot=()=>k({silent:!0}),qt=()=>{Et.value="all",r.keyword="",r.diagnosis_type="",r.syndrome_type="",r.assistant_id="",r.diagnosis_confirmed="",r.appointment_date="",r.has_appointment="",r.pending_assign="",r.pending_booking="",r.completed_appointment="",V.page=1,k(),I()},Xe=t=>{const e=t.DiagnosisViewRecord||[];return e.length>0&&e.some(d=>d.is_confirmed==1)},Mt=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"},Qt=({row:t})=>Xe(t)?t.has_appointment?"":"row-no-appointment":"row-unconfirmed",ee=c(),Bt=c(),Ze=c(),et=c(),fe=c(null),ve=Fn();Jn([ee,fe],()=>{const t=fe.value,e=ee.value;t==null||!(e!=null&&e.open)||(e.open("edit",t),fe.value=null)},{flush:"post"});const ye=c(!1),tt=c(0),Yt=t=>{var d;const e=t.assistant_id??t.assistant;return e==null||e===""?!1:Number(e)===Number((d=ve.userInfo)==null?void 0:d.id)},Gt=t=>{tt.value=Number(t.id)||0,ye.value=!0},Ht=t=>Yt(t)&&P(["tcm.diagnosis/watchCall"]),he=t=>{var e;return((e=t.video_call_hint)==null?void 0:e.state)||"none"},jt=t=>{const e=t.video_call_hint,d="点击进入实时房间(仅观看,不推流、不上麦)";return e!=null&&e.start_time?`${d}。开始时间:${Vt(e.start_time)}`:d},Jt=t=>{const e=he(t);return e==="live"||e==="pending_room"},Kt=t=>he(t)==="pending_room"?"医生尚未接通或未同步房间号,接通后再点此进入":jt(t),Xt=t=>{if(he(t)!=="live"){g.msgWarning("医生尚未接通或未同步房间号,请稍后再试");return}Gt(t)},Zt=t=>{const e=t.video_call_hint;return e!=null&&e.label?e.label:"暂无可旁观通话"},ea=t=>{const e=he(t);if(e==="none")return"—";if(e==="live")return"通话中";if(e==="pending_room")return"接通中";const d=t.video_call_hint;return(d==null?void 0:d.label)||"—"},te=c(!1),be=c(),Te=c(!1),v=He({patient_id:"",patient_name:"",phone:"",order_type:"",amount:0,remark:"",has_appointment:!1,appointment_time_text:""}),ta={order_type:[{required:!0,message:"请选择订单类型",trigger:"change"}],amount:[{required:!0,message:"请输入订单金额",trigger:"blur"}]},aa=t=>{var e;v.patient_id=t.patient_id||t.id,v.patient_name=t.patient_name,v.phone=t.phone||"",v.order_type="",v.amount=0,v.remark="",v.has_appointment=!!t.has_appointment,v.appointment_time_text=t.appointment_time_text||"",(e=be.value)==null||e.clearValidate(),te.value=!0},na=()=>{var t;v.patient_id="",v.patient_name="",v.phone="",v.order_type="",v.amount=0,v.remark="",v.has_appointment=!1,v.appointment_time_text="",(t=be.value)==null||t.clearValidate()},sa=async()=>{var t;try{await((t=be.value)==null?void 0:t.validate()),Te.value=!0;const e=await Pn({patient_id:v.patient_id,order_type:v.order_type,amount:v.amount,remark:v.remark});te.value=!1,k();const d=e==null?void 0:e.order_no;if(d){W.value=!0,Q.value=!0,B.value="",Y.value={patient_name:v.patient_name,has_appointment:v.has_appointment,appointment_time_text:v.appointment_time_text};try{const u=await In({order_no:d});u!=null&&u.qrcode_url?B.value=u.qrcode_url:g.msgError("二维码生成失败")}catch(u){g.msgError((u==null?void 0:u.msg)||"生成二维码失败")}finally{Q.value=!1}}}catch(e){console.error("创建订单失败:",e)}finally{Te.value=!1}},W=c(!1),Q=c(!1),B=c(""),Y=c(null),la=K(()=>{const t=Y.value;return t?t.has_appointment?t.appointment_time_text||"—":"未挂号":"—"}),We=c("小程序二维码"),Fe=c("confirm"),A=c([]),X=c(!1),Ue=c(!1),re=c("batch"),ue=c(null),G=c({assistant_id:null}),ia=t=>{A.value=t.map(e=>e.id)},ke=t=>Number((t==null?void 0:t.assistant_id)??(t==null?void 0:t.assistant)??0)>0,oa=K(()=>{if(!A.value.length)return!1;const t=new Set(A.value);return V.lists.some(e=>t.has(e.id)&&ke(e))}),da=t=>{re.value="single",ue.value=t,G.value.assistant_id=t.assistant_id?Number(t.assistant_id):null,X.value=!0},ra=()=>{if(A.value.length===0){g.msgWarning("请先选择要指派的诊单");return}re.value="batch",ue.value=null,G.value.assistant_id=null,X.value=!0},ua=async()=>{if(!G.value.assistant_id){g.msgWarning("请选择医助");return}Ue.value=!0;try{if(re.value==="single")await Re({id:ue.value.id,assistant_id:G.value.assistant_id});else{const t=A.value.map(e=>Re({id:e,assistant_id:G.value.assistant_id}));await Promise.all(t),A.value=[]}X.value=!1,k()}catch(t){console.error("指派失败:",t)}finally{Ue.value=!1}},pa=async t=>{if(!(t!=null&&t.id)||!ke(t)){g.msgWarning("该诊单未指派医助");return}await g.confirm("确定取消该诊单的医助指派吗?"),await Re({id:t.id,assistant_id:0}),k()},ma=async()=>{if(!A.value.length){g.msgWarning("请先选择诊单");return}const t=new Set(A.value),e=V.lists.filter(d=>t.has(d.id)&&ke(d));if(!e.length){g.msgWarning("所选诊单中没有已指派医助的记录");return}await g.confirm(`确定取消 ${e.length} 条诊单的医助指派吗?`),await Promise.all(e.map(d=>Re({id:d.id,assistant_id:0}))),A.value=[],k()},ca=()=>{ee.value.open("add")},_a=t=>{ee.value.open("edit",t)};function ga(t){return(t==null?void 0:t.prescription_audit_status)===1&&Number(t==null?void 0:t.prescription_void_status)!==1?"查看":"开方"}const fa=t=>{var e;if(!(t!=null&&t.id)){g.msgWarning("诊单信息不完整");return}(e=Ze.value)==null||e.open({...t,diagnosis_id:t.id,id:t.appointment_id||0})},va=()=>{var t,e;k(),(e=(t=ee.value)==null?void 0:t.refreshCaseList)==null||e.call(t)},ya=async t=>{await g.confirm("确定要删除该诊单吗?"),await Sn({id:t}),k()},ha=(t,e)=>{switch(t){case"assign":da(e);break;case"cancelAssign":pa(e);break;case"videoQr":if(!pe(e)){g.msgWarning("仅「已预约」状态可生成视频二维码");return}lt(e);break;case"confirmQr":it(e);break;case"cancelApt":Da(e);break;case"guahaoLogs":Aa(e);break;case"order":aa(e);break;case"delete":ya(e.id);break}},ba=t=>{const e=Number(t.appointment_status);return e===3?"已完成":e===4?"已过号":"已挂号"},ka=t=>{const e=Number(t);return e===3?"已完成":e===4?"已过号":"已挂号"},at=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}]:[]},Ca=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}},xa=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}},pe=t=>t.has_appointment&&Number(t.appointment_status)===1,nt=t=>{const e=Number(t.appointment_status);return!!(t.has_appointment&&t.appointment_id&&(e===1||e===4))},Da=async t=>{var e;if(!nt(t)){const d=Number(t.appointment_status);t.has_appointment&&d===3?g.msgWarning("已完成就诊,无法取消挂号"):g.msgWarning("该诊单未挂号或挂号信息异常");return}try{await g.confirm(`确定要取消患者「${t.patient_name}」的挂号吗?`),await Tn({id:t.appointment_id}),g.msgSuccess("取消挂号成功"),k(),I(),ae.value&&((e=H.value)==null?void 0:e.id)===t.id&&await Oe(t.id)}catch(d){d!=="cancel"&&g.msgError((d==null?void 0:d.msg)||"取消挂号失败")}},ae=c(!1),Ce=c(!1),ne=c([]),H=c(null);function Va(){ne.value=[],H.value=null}function Ea(t){const e=String((t==null?void 0:t.admin_name)||"").trim(),d=Number(t==null?void 0:t.admin_id);return e||(d>0?`管理员 #${d}`:"—")}async function Oe(t){Ce.value=!0;try{const e=await $n({id:t});ne.value=Array.isArray(e==null?void 0:e.data)?e.data:Array.isArray(e)?e:[]}catch{ne.value=[]}finally{Ce.value=!1}}async function Aa(t){if(!(t!=null&&t.id)){g.msgWarning("诊单信息不完整");return}H.value=t,ae.value=!0,await Oe(Number(t.id))}async function Ra(){var t;await k({silent:!0}),I(),ae.value&&((t=H.value)!=null&&t.id)&&await Oe(Number(H.value.id))}const Ia=t=>{var e;if(!t.patient_id){g.msgWarning("患者信息不完整");return}(e=et.value)==null||e.open(t)},se=c(!1),qe=c(!1),st=c(),S=He({id:0,patient_name:"",id_card:""}),$a={id_card:[{required:!0,validator:(t,e,d)=>{if(!e){d(new Error("请输入身份证号"));return}const u=/^[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),C=/^[1-9]\d{5}\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}$/.test(e);u||C?d():d(new Error("请输入15或18位有效身份证号"))},trigger:"blur"}]},La=t=>{S.id=t.id,S.patient_name=t.patient_name||"-",S.id_card=t.id_card||"",se.value=!0},Na=async()=>{var t;await((t=st.value)==null?void 0:t.validate()),qe.value=!0;try{await Ln({id:S.id,id_card:S.id_card}),g.msgSuccess("补全成功,年龄已自动更新"),se.value=!1,k()}catch(e){g.msgError((e==null?void 0:e.msg)||"补全失败")}finally{qe.value=!1}},lt=async t=>{var e;if(!pe(t)){g.msgWarning("仅「已预约」状态可生成视频二维码");return}if(!t.patient_id){g.msgWarning("患者信息不完整");return}Fe.value="video",Y.value=t,W.value=!0,Q.value=!0,B.value="",We.value="视频二维码";try{const d=await gt();if(!(d!=null&&d.app_id)){g.msgError("小程序未配置,请先配置小程序信息"),W.value=!1;return}const u=await mt({doctor_id:t.appointment_doctor_id,diagnosis_id:t.appointment_doctor_id,patient_id:t.patient_id,share_user_id:((e=ve.userInfo)==null?void 0:e.id)||"",mini_program_path:"pages/login/login"});u!=null&&u.qrcode_url?B.value=u.qrcode_url:g.msgError("二维码生成失败")}catch(d){g.msgError((d==null?void 0:d.msg)||"生成二维码失败,请重试")}finally{Q.value=!1}},it=async t=>{if(!pe(t)){g.msgWarning("仅「已预约」状态可使用诊单二维码");return}if(!t.patient_id){g.msgWarning("患者信息不完整");return}Fe.value="confirm",Y.value=t,W.value=!0,Q.value=!0,B.value="",We.value="诊单二维码";try{const e=await gt();if(!(e!=null&&e.app_id)){g.msgError("小程序未配置,请先配置小程序信息"),W.value=!1;return}const d=ve.userInfo,u=await mt({diagnosis_id:t.id,doctor_id:t.appointment_doctor_id,patient_id:t.patient_id,share_user_id:(d==null?void 0:d.id)||""});u!=null&&u.qrcode_url?B.value=u.qrcode_url:g.msgError("二维码生成失败")}catch(e){console.error("生成小程序二维码失败:",e),g.msgError((e==null?void 0:e.msg)||"生成二维码失败,请重试")}finally{Q.value=!1}},za=()=>{Y.value&&(Fe.value==="video"?lt(Y.value):it(Y.value))},xe=c(!1),L=c(null),j=c([]),De=c(0),Me=c(!1),N=c(null),Z=c(""),Qe=c(!1),Be=c(1),Sa=t=>{if(!t)return"-";const e=String(t).length===10?t*1e3:t;return yt(e).format("YYYY-MM-DD HH:mm")},wa=async t=>{L.value=t,xe.value=!0,j.value=[],De.value=0,N.value=null,Z.value="",Be.value=1,Me.value=!0;try{const[e,d]=await Promise.all([ct({diagnosis_id:t.id,patient_id:t.patient_id,page_no:1,page_size:20}),wn({patient_id:t.patient_id||t.id}).catch(()=>null)]);j.value=(e==null?void 0:e.lists)||[],De.value=(e==null?void 0:e.count)||0,N.value=d}catch(e){console.error("加载企业微信记录失败:",e)}finally{Me.value=!1}},Pa=async()=>{if(L.value){Be.value++;try{const t=await ct({diagnosis_id:L.value.id,patient_id:L.value.patient_id,page_no:Be.value,page_size:20});j.value.push(...(t==null?void 0:t.lists)||[])}catch(t){console.error("加载更多记录失败:",t)}}},Ta=async()=>{var t;if(!Z.value.trim()){g.msgWarning("请输入内容");return}Qe.value=!0;try{await Nn({diagnosis_id:L.value.id,patient_id:L.value.patient_id,content:Z.value.trim(),msg_type:"note",staff_name:((t=ve.userInfo)==null?void 0:t.name)||"",external_name:L.value.patient_name||""}),Z.value="",wa(L.value)}catch(e){g.msgError((e==null?void 0:e.msg)||"添加失败")}finally{Qe.value=!1}},Wa=async t=>{await g.confirm("确定删除该记录吗?");try{await zn({id:t}),j.value=j.value.filter(e=>e.id!==t),De.value--}catch(e){g.msgError((e==null?void 0:e.msg)||"删除失败")}},Fa=Hn(),Ua=jn(),ot=t=>{if(!P(["tcm.diagnosis/readonlyDetail"]))return;const e=Number(t==null?void 0:t.id);!e||e<=0||Ua.push({path:"/tcm/diagnosis-readonly",query:{id:String(e)}})};return Kn(()=>{r.appointment_date=ge.value,Ft(),k(),Pt(),_e=setInterval(Wt,Tt);const t=Fa.query.id;if(t!=null&&t!==""){const e=Number(t);Number.isNaN(e)||(fe.value=e)}}),Xn(()=>{_e!=null&&(clearInterval(_e),_e=null)}),(t,e)=>{var ut;const d=Xa,u=Za,C=en,x=an,F=tn,le=nn,D=ln,U=on,dt=dn,J=pn,Oa=un,qa=rn,Ma=sn,Qa=Vn,Ba=cn,Ya=gn,Ga=_n,rt=fn,Ve=vn,O=hn,Ye=yn,Ha=bn,Ee=Cn,ja=kn,Ja=xn,Ka=Dn,q=Zn("perms"),Ge=mn;return i(),p("div",es,[l(le,{class:"filter-card !border-none",shadow:"never"},{default:s(()=>[o("div",ts,[o("div",as,[(i(!0),p(E,null,$(Lt.value,a=>(i(),p("span",{key:a.value,class:T(["chip",{active:n(r).pending_assign!=="1"&&n(r).pending_booking!=="1"&&n(r).completed_appointment!=="1"&&n(r).appointment_date===a.value}]),onClick:y=>Nt(a.value)},[_(m(a.label)+" ",1),n(Ie)[a.value]!==void 0?(i(),p("em",ss,m(n(Ie)[a.value]),1)):b("",!0)],10,ns))),128)),o("span",{class:T(["chip","chip-pending-booking",{active:n(r).pending_booking==="1"}]),onClick:zt},[e[26]||(e[26]=_(" 待预约 ",-1)),n($e)!==void 0?(i(),p("em",ls,m(n($e)),1)):b("",!0)],2),o("span",{class:T(["chip","chip-completed-visit",{active:n(r).completed_appointment==="1"}]),onClick:St},[e[27]||(e[27]=_(" 已完成 ",-1)),n(Le)!==void 0?(i(),p("em",is,m(n(Le)),1)):b("",!0)],2),R((i(),p("span",{class:T(["chip","chip-pending",{active:n(r).pending_assign==="1"}]),onClick:wt},[e[28]||(e[28]=_(" 待分配医助 ",-1)),n(Ne)!==void 0?(i(),p("em",os,m(n(Ne)),1)):b("",!0)],2)),[[q,["tcm.diagnosis/assign"]]])]),o("div",ds,[l(d,{modelValue:n(r).keyword,"onUpdate:modelValue":e[0]||(e[0]=a=>n(r).keyword=a),placeholder:"患者姓名 / 手机号",clearable:"",class:"search-input",onKeyup:En(oe,["enter"])},null,8,["modelValue"]),l(u,{type:"primary",onClick:oe},{default:s(()=>[...e[29]||(e[29]=[_("查询",-1)])]),_:1})])]),o("div",rs,[e[30]||(e[30]=o("span",{class:"chip-label"},"挂号:",-1)),(i(),p(E,null,$(At,a=>o("span",{key:a.value,class:T(["chip","chip-sm",{active:n(r).has_appointment===a.value}]),onClick:y=>It(a.value)},m(a.label),11,us)),64)),e[31]||(e[31]=o("span",{class:"chip-divider"},null,-1)),e[32]||(e[32]=o("span",{class:"chip-label"},"确认:",-1)),(i(),p(E,null,$(Rt,a=>o("span",{key:a.value,class:T(["chip","chip-sm",{active:n(r).diagnosis_confirmed===a.value}]),onClick:y=>$t(a.value)},m(a.label),11,ps)),64)),l(u,{link:"",type:"primary",size:"small",class:"more-btn",onClick:e[1]||(e[1]=a=>ie.value=!n(ie))},{default:s(()=>[_(m(n(ie)?"收起":"更多筛选")+" ",1),l(C,{class:T({"rotate-180":n(ie)})},{default:s(()=>[l(n(ft))]),_:1},8,["class"])]),_:1})]),R(o("div",ms,[l(F,{modelValue:n(r).diagnosis_type,"onUpdate:modelValue":e[2]||(e[2]=a=>n(r).diagnosis_type=a),placeholder:"诊断类型",clearable:"",size:"small",onChange:oe},{default:s(()=>[(i(!0),p(E,null,$(n(Je),a=>(i(),f(x,{key:a.value,label:a.name,value:a.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),l(F,{modelValue:n(r).syndrome_type,"onUpdate:modelValue":e[3]||(e[3]=a=>n(r).syndrome_type=a),placeholder:"证型",clearable:"",size:"small",onChange:oe},{default:s(()=>[(i(!0),p(E,null,$(n(Ke),a=>(i(),f(x,{key:a.value,label:a.name,value:a.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),l(F,{modelValue:n(r).assistant_id,"onUpdate:modelValue":e[4]||(e[4]=a=>n(r).assistant_id=a),placeholder:"医助",clearable:"",filterable:"",size:"small",onChange:oe},{default:s(()=>[(i(!0),p(E,null,$(n(de),a=>(i(),f(x,{key:a.id,label:a.name,value:Number(a.id)},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),l(u,{size:"small",onClick:qt},{default:s(()=>[...e[33]||(e[33]=[_("重置",-1)])]),_:1})],512),[[An,n(ie)]])]),_:1}),l(le,{class:"!border-none mt-3 list-card",shadow:"never"},{default:s(()=>[o("div",cs,[o("div",_s,[R((i(),f(u,{type:"primary",onClick:ca},{default:s(()=>[...e[34]||(e[34]=[_("新增诊单",-1)])]),_:1})),[[q,["tcm.diagnosis/add"]]]),R((i(),f(u,{type:"success",onClick:ra,disabled:n(A).length===0},{default:s(()=>[...e[35]||(e[35]=[_(" 批量指派医助 ",-1)])]),_:1},8,["disabled"])),[[q,["tcm.diagnosis/assign"]]]),R((i(),f(u,{type:"warning",plain:"",onClick:ma,disabled:!oa.value},{default:s(()=>[...e[36]||(e[36]=[_(" 批量取消指派 ",-1)])]),_:1},8,["disabled"])),[[q,["tcm.diagnosis/assign"]]])]),n(A).length>0?(i(),p("div",gs,"已选 "+m(n(A).length)+" 条",1)):b("",!0)]),o("div",fs,[R((i(),f(Ma,{data:n(V).lists,size:"default",onSelectionChange:ia,onRowDblclick:ot,"row-class-name":Qt,class:"diagnosis-table",stripe:""},{default:s(()=>[l(D,{type:"selection",width:"48",align:"center"}),l(D,{label:"ID","min-width":"50"},{default:s(({row:a})=>[o("div",vs,[o("div",ys,[o("div",hs,m(a.id),1)])])]),_:1}),l(D,{label:"患者","min-width":"60"},{default:s(({row:a})=>[o("div",bs,[o("div",ks,[o("div",Cs,m(a.patient_name),1)])])]),_:1}),l(D,{label:" 性别 / 年龄",width:"100",align:"left"},{default:s(({row:a})=>[o("div",null,m(a.gender_desc||"-")+" · "+m(a.age??"-")+"岁",1)]),_:1}),l(D,{label:"挂号","min-width":"150"},{default:s(({row:a})=>[o("div",{class:T(["appointment-cell",xa(a)])},[a.has_appointment?(i(),p(E,{key:0},[at(a).length?(i(!0),p(E,{key:0},$(at(a),y=>(i(),p("div",{key:y.id||`${y.doctor_id}-${y.time_text}`,class:T(["apt-item",Ca(y)])},[o("div",xs,m(ka(y.status)),1),o("div",Ds,m(y.doctor_name||"-"),1),o("div",Vs,m(y.time_text||"-"),1)],2))),128)):(i(),p(E,{key:1},[o("div",Es,m(ba(a)),1),o("div",As,m(a.appointment_doctor_name||"-"),1),o("div",Rs,m(a.appointment_time_text||"-"),1)],64))],64)):(i(),p("span",Is,"未挂号"))],2)]),_:1}),l(D,{label:"确认",width:"88",align:"center"},{default:s(({row:a})=>[Xe(a)?(i(),p("span",$s,"已确认")):(i(),p("span",Ls,"未确认"))]),_:1}),l(D,{label:"复诊","min-width":"120"},{default:s(({row:a})=>[a.has_prescription?(i(),p("div",Ns,[o("div",zs,m(a.followup_time_text||"—"),1),o("div",Ss,m(a.followup_doctor_name||"—"),1),a.followup_rx_voided?(i(),f(U,{key:0,type:"info",size:"small",effect:"plain",class:"followup-void-tag"},{default:s(()=>[...e[37]||(e[37]=[_(" 处方已作废 ",-1)])]),_:1})):b("",!0)])):(i(),p("span",ws,"无"))]),_:1}),l(D,{label:"助理",width:"100","show-overflow-tooltip":""},{default:s(({row:a})=>[o("span",Ps,m(Ut(a.assistant_id||a.assistant)),1)]),_:1}),l(D,{label:"开方",width:"72",align:"center"},{default:s(({row:a})=>[a.has_prescription?(i(),p("span",Ts,"已开方")):(i(),p("span",Ws,"未开方"))]),_:1}),l(D,{label:"未服务天数",width:"110",align:"center"},{default:s(({row:a})=>[a.last_blood_record_at?(i(),f(dt,{key:0,content:`最近一次血糖打卡:${a.last_blood_record_at}`,placement:"top"},{default:s(()=>[o("span",{class:T(["unserved-days",Mt(a.unserved_days)])},m(a.unserved_days??"—"),3)]),_:2},1032,["content"])):(i(),p("span",Fs,"—"))]),_:1}),l(D,{label:"视频旁观",width:"120",fixed:"right",align:"center"},{default:s(({row:a})=>[o("div",Us,[Ht(a)?(i(),p(E,{key:0},[Jt(a)?(i(),f(dt,{key:0,content:Kt(a),placement:"top"},{default:s(()=>[o("span",Os,[l(u,{type:"primary",link:"",size:"small",onClick:y=>Xt(a)},{default:s(()=>[...e[38]||(e[38]=[_(" 进入旁观 ",-1)])]),_:1},8,["onClick"])])]),_:2},1032,["content"])):(i(),p("span",qs,m(Zt(a)),1))],64)):(i(),p("span",Ms,m(ea(a)),1))])]),_:1}),l(D,{label:"操作",width:"340",fixed:"right",align:"left"},{default:s(({row:a})=>[o("div",{class:"action-cell",onClick:e[5]||(e[5]=pt(()=>{},["stop"])),onDblclick:e[6]||(e[6]=pt(()=>{},["stop"]))},[R((i(),f(u,{type:"primary",link:"",size:"small",onClick:y=>ot(a)},{default:s(()=>[...e[39]||(e[39]=[_(" 查看 ",-1)])]),_:1},8,["onClick"])),[[q,["tcm.diagnosis/readonlyDetail"]]]),R((i(),f(u,{type:"primary",link:"",size:"small",onClick:y=>_a(a.id)},{default:s(()=>[...e[40]||(e[40]=[_("诊单",-1)])]),_:1},8,["onClick"])),[[q,["tcm.diagnosis/edit"]]]),R((i(),f(u,{type:"primary",link:"",size:"small",onClick:y=>fa(a)},{default:s(()=>[_(m(ga(a)),1)]),_:2},1032,["onClick"])),[[q,["tcm.diagnosis/kaifang"]]]),R((i(),f(u,{type:"success",link:"",size:"small",onClick:y=>Ia(a)},{default:s(()=>[...e[41]||(e[41]=[_("预约",-1)])]),_:1},8,["onClick"])),[[q,["tcm.diagnosis/guahao"]]]),R((i(),f(u,{type:"warning",link:"",size:"small",onClick:y=>La(a)},{default:s(()=>[...e[42]||(e[42]=[_("补全身份证",-1)])]),_:1},8,["onClick"])),[[q,["tcm.diagnosis/edit"]]]),l(qa,{trigger:"click",onCommand:y=>ha(y,a),placement:"bottom-end"},{dropdown:s(()=>[l(Oa,null,{default:s(()=>[n(P)(["tcm.diagnosis/assign"])?(i(),f(J,{key:0,command:"assign"},{default:s(()=>[l(C,null,{default:s(()=>[l(n(On))]),_:1}),e[44]||(e[44]=_("指派",-1))]),_:1})):b("",!0),n(P)(["tcm.diagnosis/assign"])&&ke(a)?(i(),f(J,{key:1,command:"cancelAssign"},{default:s(()=>[l(C,null,{default:s(()=>[l(n(qn))]),_:1}),e[45]||(e[45]=_("取消指派 ",-1))]),_:1})):b("",!0),pe(a)&&n(P)(["tcm.diagnosis/videoQr"])?(i(),f(J,{key:2,command:"videoQr"},{default:s(()=>[l(C,null,{default:s(()=>[l(n(vt))]),_:1}),e[46]||(e[46]=_("视频二维码",-1))]),_:1})):b("",!0),n(P)(["tcm.diagnosis/guahao"])&&pe(a)?(i(),f(J,{key:3,command:"confirmQr"},{default:s(()=>[l(C,null,{default:s(()=>[l(n(vt))]),_:1}),e[47]||(e[47]=_("二维码",-1))]),_:1})):b("",!0),nt(a)&&n(P)(["tcm.diagnosis/guahao"])?(i(),f(J,{key:4,command:"cancelApt"},{default:s(()=>[l(C,null,{default:s(()=>[l(n(Mn))]),_:1}),e[48]||(e[48]=_("取消挂号",-1))]),_:1})):b("",!0),n(P)(["tcm.diagnosis/guahaoLogList"])?(i(),f(J,{key:5,command:"guahaoLogs"},{default:s(()=>[l(C,null,{default:s(()=>[l(n(Qn))]),_:1}),e[49]||(e[49]=_("挂号日志",-1))]),_:1})):b("",!0),n(P)(["tcm.diagnosis/order"])?(i(),f(J,{key:6,command:"order"},{default:s(()=>[l(C,null,{default:s(()=>[l(n(Bn))]),_:1}),e[50]||(e[50]=_("创建订单",-1))]),_:1})):b("",!0),n(P)(["tcm.diagnosis/delete"])?(i(),f(J,{key:7,command:"delete",divided:""},{default:s(()=>[l(C,null,{default:s(()=>[l(n(Yn))]),_:1}),e[51]||(e[51]=o("span",{class:"text-danger"},"删除",-1))]),_:1})):b("",!0)]),_:2},1024)]),default:s(()=>[l(u,{type:"info",link:"",size:"small"},{default:s(()=>[e[43]||(e[43]=_("更多",-1)),l(C,{class:"el-icon--right"},{default:s(()=>[l(n(ft))]),_:1})]),_:1})]),_:2},1032,["onCommand"])],32)]),_:1})]),_:1},8,["data"])),[[Ge,n(V).loading]]),o("div",Qs,[l(Qa,{modelValue:n(V),"onUpdate:modelValue":e[7]||(e[7]=a=>M(V)?V.value=a:null),onChange:n(k)},null,8,["modelValue","onChange"])])])]),_:1}),l(n(bt),{ref_key:"editRef",ref:ee,onSuccess:Ot},null,512),l(n(kt),{ref_key:"detailRef",ref:Bt},null,512),l(n(Ct),{ref_key:"prescriptionRef",ref:Ze,onSuccess:va},null,512),l(n(xt),{ref_key:"appointmentRef",ref:et,onSuccess:Ra},null,512),l(n(Dt),{modelValue:n(ye),"onUpdate:modelValue":e[8]||(e[8]=a=>M(ye)?ye.value=a:null),"diagnosis-id":n(tt),onClosed:n(k)},null,8,["modelValue","diagnosis-id","onClosed"]),l(rt,{modelValue:n(ae),"onUpdate:modelValue":e[9]||(e[9]=a=>M(ae)?ae.value=a:null),title:"挂号操作日志",size:"460px","destroy-on-close":"",onClosed:Va},{default:s(()=>[R((i(),p("div",Bs,[n(H)?(i(),p("div",Ys,[o("span",Gs,m(n(H).patient_name),1),e[52]||(e[52]=o("span",{class:"mx-2 text-gray-300"},"|",-1)),o("span",null,"诊单 #"+m(n(H).id),1)])):b("",!0),!n(Ce)&&n(ne).length===0?(i(),f(Ba,{key:1,description:"暂无挂号/取消挂号操作记录"})):n(ne).length>0?(i(),f(Ga,{key:2},{default:s(()=>[(i(!0),p(E,null,$(n(ne),(a,y)=>(i(),f(Ya,{key:a.id??y,timestamp:a.create_time_text||"—",placement:"top"},{default:s(()=>[o("div",Hs,[l(U,{size:"small",type:"info"},{default:s(()=>[_(m(a.action_desc),1)]),_:2},1024),o("span",js,m(Ea(a)),1)]),o("div",Js,m(a.summary),1)]),_:2},1032,["timestamp"]))),128))]),_:1})):b("",!0)])),[[Ge,n(Ce)]])]),_:1},8,["modelValue"]),l(Ve,{modelValue:n(W),"onUpdate:modelValue":e[11]||(e[11]=a=>M(W)?W.value=a:null),title:n(We),width:"400px","close-on-click-modal":!1},{footer:s(()=>[l(u,{onClick:e[10]||(e[10]=a=>W.value=!1)},{default:s(()=>[...e[55]||(e[55]=[_("关闭",-1)])]),_:1}),n(Q)?b("",!0):(i(),f(u,{key:0,type:"primary",onClick:za},{default:s(()=>[...e[56]||(e[56]=[_(" 重新生成 ",-1)])]),_:1}))]),default:s(()=>{var a;return[o("div",Ks,[n(Q)?(i(),p("div",Xs,[l(C,{class:"is-loading",size:40},{default:s(()=>[l(n(Gn))]),_:1}),e[53]||(e[53]=o("div",{class:"mt-4 text-gray-500"},"生成中...",-1))])):n(B)?(i(),p("div",Zs,[o("img",{src:n(B),alt:"小程序二维码",class:"w-64 h-64 border border-gray-200 rounded"},null,8,el),o("div",tl,[o("div",null,"患者:"+m((a=n(Y))==null?void 0:a.patient_name),1),o("div",al,"挂号时间:"+m(la.value),1),e[54]||(e[54]=o("div",{class:"mt-2"},"请使用企业微信扫描二维码,然后转发给患者",-1))])])):(i(),p("div",nl," 生成失败,请重试 "))])]}),_:1},8,["modelValue","title"]),l(Ve,{modelValue:n(X),"onUpdate:modelValue":e[14]||(e[14]=a=>M(X)?X.value=a:null),title:n(re)==="batch"?"批量指派医助":"指派医助",width:"500px"},{footer:s(()=>[l(u,{onClick:e[13]||(e[13]=a=>X.value=!1)},{default:s(()=>[...e[57]||(e[57]=[_("取消",-1)])]),_:1}),l(u,{type:"primary",onClick:ua,loading:n(Ue)},{default:s(()=>[...e[58]||(e[58]=[_(" 确定指派 ",-1)])]),_:1},8,["loading"])]),default:s(()=>[l(Ye,{model:n(G),"label-width":"100px"},{default:s(()=>[l(O,{label:"选择医助",required:""},{default:s(()=>[l(F,{modelValue:n(G).assistant_id,"onUpdate:modelValue":e[12]||(e[12]=a=>n(G).assistant_id=a),placeholder:"请选择医助",class:"w-full",filterable:"",clearable:"","value-key":"id"},{default:s(()=>[(i(!0),p(E,null,$(n(de),a=>(i(),f(x,{key:a.id,label:a.name,value:Number(a.id)},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),n(re)==="batch"?(i(),f(O,{key:0,label:"已选择"},{default:s(()=>[o("div",sl,m(n(A).length)+" 条诊单记录",1)]),_:1})):(i(),f(O,{key:1,label:"诊单信息"},{default:s(()=>{var a,y;return[o("div",ll,[o("div",null,"患者:"+m((a=n(ue))==null?void 0:a.patient_name),1),o("div",null,"诊断日期:"+m((y=n(ue))==null?void 0:y.diagnosis_date_text),1)])]}),_:1}))]),_:1},8,["model"])]),_:1},8,["modelValue","title"]),l(Ve,{modelValue:n(te),"onUpdate:modelValue":e[19]||(e[19]=a=>M(te)?te.value=a:null),title:"创建订单",width:"600px",onClose:na},{footer:s(()=>[l(u,{onClick:e[18]||(e[18]=a=>te.value=!1)},{default:s(()=>[...e[59]||(e[59]=[_("取消",-1)])]),_:1}),l(u,{type:"primary",onClick:sa,loading:n(Te)},{default:s(()=>[...e[60]||(e[60]=[_("创建订单",-1)])]),_:1},8,["loading"])]),default:s(()=>[l(Ye,{ref_key:"orderFormRef",ref:be,model:n(v),rules:ta,"label-width":"100px"},{default:s(()=>[l(O,{label:"患者"},{default:s(()=>[o("span",il,m(n(v).patient_name)+" ("+m(je(n(v).phone))+")",1)]),_:1}),l(O,{label:"订单类型",prop:"order_type"},{default:s(()=>[l(F,{modelValue:n(v).order_type,"onUpdate:modelValue":e[15]||(e[15]=a=>n(v).order_type=a),placeholder:"请选择",class:"w-full"},{default:s(()=>[l(x,{label:"挂号费",value:1}),l(x,{label:"问诊费",value:2}),l(x,{label:"药品费用",value:3}),l(x,{label:"首付费用",value:4}),l(x,{label:"尾款费用",value:5}),l(x,{label:"其他费用",value:6}),l(x,{label:"全部费用",value:7}),l(x,{label:"驼奶费用",value:8})]),_:1},8,["modelValue"])]),_:1}),l(O,{label:"订单金额",prop:"amount"},{default:s(()=>[l(Ha,{modelValue:n(v).amount,"onUpdate:modelValue":e[16]||(e[16]=a=>n(v).amount=a),min:0,step:.01,precision:2,placeholder:"请输入金额",class:"w-full"},null,8,["modelValue"])]),_:1}),l(O,{label:"备注",prop:"remark"},{default:s(()=>[l(d,{modelValue:n(v).remark,"onUpdate:modelValue":e[17]||(e[17]=a=>n(v).remark=a),type:"textarea",rows:3,placeholder:"请输入备注(可选)"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"]),l(Ve,{modelValue:n(se),"onUpdate:modelValue":e[22]||(e[22]=a=>M(se)?se.value=a:null),title:"补全身份证号",width:"400px","close-on-click-modal":!1,onClose:e[23]||(e[23]=a=>n(S).id_card="")},{footer:s(()=>[l(u,{onClick:e[21]||(e[21]=a=>se.value=!1)},{default:s(()=>[...e[61]||(e[61]=[_("取消",-1)])]),_:1}),l(u,{type:"primary",onClick:Na,loading:n(qe)},{default:s(()=>[...e[62]||(e[62]=[_("提交(自动更新年龄)",-1)])]),_:1},8,["loading"])]),default:s(()=>[l(Ye,{ref_key:"fillIdCardFormRef",ref:st,model:n(S),rules:$a,"label-width":"80px"},{default:s(()=>[l(O,{label:"患者"},{default:s(()=>[o("span",ol,m(n(S).patient_name),1)]),_:1}),l(O,{label:"身份证号",prop:"id_card"},{default:s(()=>[l(d,{modelValue:n(S).id_card,"onUpdate:modelValue":e[20]||(e[20]=a=>n(S).id_card=a),placeholder:"请输入15或18位身份证号",maxlength:"18","show-word-limit":"",clearable:""},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"]),l(rt,{modelValue:n(xe),"onUpdate:modelValue":e[25]||(e[25]=a=>M(xe)?xe.value=a:null),title:`企业微信记录 - ${((ut=n(L))==null?void 0:ut.patient_name)||""}`,size:"600px","destroy-on-close":!0},{default:s(()=>{var a,y;return[n(N)?(i(),p("div",dl,[l(ja,{column:2,border:"",size:"small"},{default:s(()=>[l(Ee,{label:"患者姓名"},{default:s(()=>{var h;return[_(m((h=n(L))==null?void 0:h.patient_name),1)]}),_:1}),l(Ee,{label:"手机号"},{default:s(()=>[_(m(je(n(N).phone)||"-"),1)]),_:1}),l(Ee,{label:"企微联系人ID"},{default:s(()=>[n(N).external_userid?(i(),p("span",rl,m(n(N).external_userid),1)):(i(),f(U,{key:1,type:"info",size:"small"},{default:s(()=>[...e[63]||(e[63]=[_("未关联",-1)])]),_:1}))]),_:1}),l(Ee,{label:"会话存档"},{default:s(()=>[n(N).msgaudit_enabled?(i(),f(U,{key:0,type:"success",size:"small"},{default:s(()=>[...e[64]||(e[64]=[_("已开通",-1)])]),_:1})):(i(),f(U,{key:1,type:"info",size:"small"},{default:s(()=>[...e[65]||(e[65]=[_("未配置",-1)])]),_:1}))]),_:1})]),_:1}),(a=n(N).permit_users)!=null&&a.length?(i(),p("div",ul,[e[66]||(e[66]=o("span",{class:"text-sm text-gray-500 mr-2"},"存档成员:",-1)),(i(!0),p(E,null,$(n(N).permit_users,h=>(i(),f(U,{key:h,size:"small",class:"mr-1"},{default:s(()=>[_(m(h),1)]),_:2},1024))),128))])):b("",!0),(y=n(N).msgaudit_agree)!=null&&y.length?(i(),p("div",pl,[e[67]||(e[67]=o("span",{class:"text-sm text-gray-500 mr-2"},"存档同意:",-1)),(i(!0),p(E,null,$(n(N).msgaudit_agree,(h,Ae)=>(i(),f(U,{key:Ae,type:h.agree_status==="Agree"?"success":"warning",size:"small",class:"mr-1"},{default:s(()=>[_(m(h.userid)+": "+m(h.agree_status==="Agree"?"已同意":h.agree_status),1)]),_:2},1032,["type"]))),128))])):b("",!0)])):b("",!0),l(Ja),o("div",ml,[o("div",cl,[l(d,{modelValue:n(Z),"onUpdate:modelValue":e[24]||(e[24]=h=>M(Z)?Z.value=h:null),type:"textarea",rows:2,placeholder:"添加沟通记录...",class:"flex-1"},null,8,["modelValue"]),l(u,{type:"primary",onClick:Ta,loading:n(Qe),class:"self-end"},{default:s(()=>[...e[68]||(e[68]=[_(" 添加 ",-1)])]),_:1},8,["loading"])])]),R((i(),p("div",null,[n(j).length===0?(i(),p("div",_l," 暂无聊天记录 ")):(i(),p("div",gl,[(i(!0),p(E,null,$(n(j),h=>{var Ae;return i(),p("div",{key:h.id,class:"record-item"},[o("div",fl,[o("div",vl,[l(U,{type:h.direction===0?"primary":"success",size:"small"},{default:s(()=>[_(m(h.direction===0?"员工":"客户"),1)]),_:2},1032,["type"]),o("span",yl,m(h.direction===0?h.staff_name:h.external_name||((Ae=n(L))==null?void 0:Ae.patient_name)),1),h.msg_type==="note"?(i(),f(U,{key:0,type:"warning",size:"small"},{default:s(()=>[...e[69]||(e[69]=[_("备注",-1)])]),_:1})):b("",!0)]),o("div",hl,[o("span",bl,m(Sa(h.chat_time)),1),l(u,{type:"danger",link:"",size:"small",onClick:Rl=>Wa(h.id)},{default:s(()=>[...e[70]||(e[70]=[_(" 删除 ",-1)])]),_:1},8,["onClick"])])]),o("div",kl,m(h.content),1),h.media_url?(i(),p("div",Cl,[l(Ka,{src:h.media_url,style:{"max-width":"200px"},fit:"contain","preview-src-list":[h.media_url]},null,8,["src","preview-src-list"])])):b("",!0)])}),128))])),n(De)>n(j).length?(i(),p("div",xl,[l(u,{link:"",type:"primary",onClick:Pa},{default:s(()=>[...e[71]||(e[71]=[_("加载更多",-1)])]),_:1})])):b("",!0)])),[[Ge,n(Me)]])]}),_:1},8,["modelValue","title"])])}}}),hi=Un(Vl,[["__scopeId","data-v-e9ba185d"]]);export{hi as default};
|