Files
zyt/server/public/admin/assets/index-DpHv3G3S.js
T
2026-04-20 09:04:54 +08:00

3 lines
37 KiB
JavaScript

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