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