Files
zyt/server/public/admin/assets/index-DPa3IUfD.js
T
2026-04-27 10:31:26 +08:00

3 lines
39 KiB
JavaScript

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