Files
zyt/server/public/admin/assets/index-Cq6rKUht.js
T
2026-04-17 13:50:31 +08:00

3 lines
36 KiB
JavaScript

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