2 lines
36 KiB
JavaScript
2 lines
36 KiB
JavaScript
import{i as ke,G as Me,a6 as Fe,a7 as Xe,D as Ke,F as Le,h as Be,d as Ce,e as He,K as Oe,P as qe,Q as Ge,C as je,B as Qe,J as Je,m as Ze,l as et,a8 as tt,M as at,N as nt,a2 as st,L as ot,a3 as lt,a4 as it,T as rt}from"./element-plus-BHB3EH-4.js";import{_ as dt}from"./index.vue_vue_type_script_setup_true_lang-DwLVXLxz.js";import{_ as ut}from"./index.vue_vue_type_script_setup_true_lang-BdNOys1j.js";import{s as he,q as ct,w as Ee}from"./@vue/runtime-dom-DVgibYoU.js";import{u as pt}from"./usePaging-CPrBIeJ2.js";import{c as $e,d as mt,e as _t,f as gt}from"./doctor-C_7zKKYH.js";import{p as ft,a as be,b as vt,c as ve,d as yt}from"./tcm-RskMyYCa.js";import{a as De,f as k,G as Te,d as xe}from"./index-K7fNdg1F.js";import ht from"./edit-B9LIqZjY.js";import bt from"./html2canvas-QH1iLAAe.js";import{E as wt}from"./jspdf-G5PuBoTt.js";import{M as kt,F as Ct,c as Dt,l as Ne,N as xt}from"./@element-plus/icons-vue-BBEpNsqa.js";import{f as Ie,ak as y,G as I,M as It,aN as s,J as i,a,O as m,I as R,F as Re,ap as Pe,H as T,w as We,aP as G,T as St,n as Vt,A as ye,as as Et}from"./@vue/runtime-core-D7eUgySO.js";import{y as n,a as ge,o as p,r as we}from"./@vue/reactivity-maRK_BBd.js";import{Q as _,p as Ue}from"./@vue/shared-C75lBtbe.js";import{E as $t}from"./@tencentcloud/chat-uikit-vue3-BvvEmLdc.js";import{T as Tt}from"./@tencentcloud/chat-ChxDR3fu.js";import{u as Rt,F as fe,z as Pt}from"./@tencentcloud/call-uikit-vue-BWwKaOEP.js";import{R as Ut}from"./@tencentcloud/uikit-base-component-vue3-CG74Nqga.js";import{u as Mt,C as Kt,M as Lt,a as Nt,O as Wt,E as At,N as zt,S as Yt,A as Ft,b as Xt}from"./tuikit-atomicx-vue3-BeemCT55.js";import{g as Bt}from"./weapp-0iatcOlf.js";import"./lodash-es-BADexyn7.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-BOuxpn4j.js";import"./nprogress-BpICrWuH.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./vue-router-CJXI7XhX.js";import"./pinia-BhomUS5m.js";import"./axios-C80V62Fs.js";import"./lodash-Ct9_CZb9.js";import"./@vueuse/core-DCeljLnb.js";import"./@vueuse/shared-B444yVpD.js";import"./css-color-function-BVb6B1lA.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-ChYu0NfX.js";import"./clipboard-Bmfw2kIN.js";import"./echarts-DYKKs4Al.js";import"./tslib-BDyQ-Jie.js";import"./zrender-CTTuYiLF.js";import"./highlight.js-jaPyNblr.js";import"./@highlightjs/vue-plugin-ASXrwou_.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./picker-h3OcriAe.js";import"./index-MLxjSji2.js";import"./index-BIfb9B4L.js";import"./index-Cf-7D1oQ.js";import"./index-BLwxYRm_.js";import"./index.vue_vue_type_script_setup_true_lang-d-nyf38m.js";import"./vuedraggable-DoxySVw6.js";import"./vue-BWLcg9DT.js";import"./@vue/compiler-dom-Ddn9Zm90.js";import"./@vue/compiler-core-KYniu4wC.js";import"./sortablejs-BkVvOzsn.js";import"./BloodRecordList-CNxggb6P.js";import"./@tencentcloud/chat-uikit-engine-DgKjflbG.js";import"./tim-upload-plugin-gicpJEks.js";import"./tim-profanity-filter-plugin-B9dSjS4O.js";import"./@tencentcloud/call-engine-js-zVTLS5jL.js";import"./rtc-detect-DK8BLAXA.js";import"./@tencentcloud/tui-core-aciHwo_F.js";import"./@tencentcloud/tuiroom-engine-js-BDAeGN9D.js";import"./tcplayer.js-uAbklCQ0.js";const Ht={key:0,class:"prescription-edit"},Ot={class:"info-section"},qt={class:"info-section"},Gt={class:"info-section"},jt={class:"section-title"},Qt={class:"mb-3"},Jt={class:"flex gap-2 items-center flex-wrap"},Zt={class:"info-section"},ea={class:"signature-pad-wrap"},ta={class:"signature-actions"},aa={key:1,class:"prescription-preview"},na={class:"prescription-header"},sa={class:"prescription-title"},oa={class:"prescription-meta"},la={class:"ml-4"},ia={class:"prescription-patient"},ra={class:"prescription-patient"},da={class:"prescription-patient"},ua={class:"prescription-rp"},ca={class:"herbs-grid"},pa={key:0,class:"prescription-disclaimer"},ma={class:"prescription-footer"},_a={class:"footer-left"},ga={class:"footer-dosage"},fa={class:"footer-amount"},va={class:"footer-right footer-sign"},ya={class:"signature-cell"},ha=["src"],ba={key:1},wa={class:"flex justify-end gap-2 mt-4"},ka={class:"flex justify-end gap-2"},Ca=Ie({__name:"index",emits:["success"],setup(Se,{expose:oe,emit:M}){const ee=M,f=p(!1),N=p(),S=p(!1),K=p(),P=p(),F=p(!1),h=p(null),W=we({stationName:"卫生服务站",showDisclaimer:!0,disclaimer:""}),o=we({diagnosis_id:0,appointment_id:0,patient_name:"",gender:0,gender_desc:"女",age:0,phone:"",visit_no:"",prescription_date:"",pulse:"",tongue:"",clinical_diagnosis:"",herbs:[],dose_count:1,usage_instruction:"水煎服一日二次",amount:0,doctor_name:"",doctor_signature:""}),$=De(),le=p([]),j=p([]),ie=(e,t)=>{if(!t)return"";const l=e.find(r=>r.value===t);return l?l.name:t},Q=async()=>{try{const[e,t]=await Promise.all([Te({type:"diagnosis_type"}),Te({type:"syndrome_type"})]);le.value=(e==null?void 0:e.diagnosis_type)||[],j.value=(t==null?void 0:t.syndrome_type)||[]}catch{}},x=e=>{var g;if((g=e==null?void 0:e.symptoms)!=null&&g.trim())return e.symptoms.trim();const t=ie(le.value,e==null?void 0:e.diagnosis_type),l=ie(j.value,e==null?void 0:e.syndrome_type),r=[t,l].filter(Boolean);return r.length?r.join(" "):""},re=async(e,t)=>{var C;t!=null&&t.stationName&&(W.stationName=t.stationName);const l=e.diagnosis||e,r=e.diagnosis_id??(l==null?void 0:l.id)??e.id;if(!r){k.msgWarning("缺少诊单信息");return}await Q();const g=Number(e.id??e.appointment_id??0);if(g)try{const w=await ft({appointment_id:g});if(w!=null&&w.id){const L=await be({id:w.id});h.value=L,f.value=!0;return}}catch{}o.diagnosis_id=Number(r),o.appointment_id=g,o.patient_name=e.patient_name||l.patient_name||"",o.gender=e.patient_gender??l.gender??0,o.gender_desc=o.gender===1?"男":"女",o.age=e.patient_age??l.age??0,o.phone=e.patient_phone||l.phone||"",o.visit_no=e.id?`1K${String(e.id).padStart(8,"0")}`:"",o.prescription_date=new Date().toISOString().slice(0,10),o.pulse=l.pulse||"",o.tongue=l.tongue_coating||l.tongue||"",o.clinical_diagnosis=x(l),o.herbs=[],o.dose_count=1,o.usage_instruction="水煎服一日二次",o.amount=0,o.doctor_name=((C=$.userInfo)==null?void 0:C.name)||"",o.doctor_signature="",h.value=null,f.value=!0,setTimeout(()=>te(),100)},de=async e=>{try{const t=await be({id:e});h.value=t,f.value=!0}catch{k.msgError("加载处方失败")}},J=()=>{f.value=!1,h.value=null},X=e=>{const t=P.value;if(!t)return{x:0,y:0};const l=t.getBoundingClientRect(),r=t.width/l.width,g=t.height/l.height;if(e instanceof TouchEvent){const C=e.touches[0]||e.changedTouches[0];return{x:(C.clientX-l.left)*r,y:(C.clientY-l.top)*g}}return{x:(e.clientX-l.left)*r,y:(e.clientY-l.top)*g}},A=e=>{var g;F.value=!0;const t=(g=P.value)==null?void 0:g.getContext("2d");if(!t)return;const{x:l,y:r}=X(e);t.beginPath(),t.moveTo(l,r)},z=e=>{var g;if(!F.value)return;const t=(g=P.value)==null?void 0:g.getContext("2d");if(!t)return;const{x:l,y:r}=X(e);t.lineTo(l,r),t.stroke()},Y=()=>{F.value=!1;const e=P.value;e&&(o.doctor_signature=e.toDataURL("image/png"))},ue=()=>{const e=P.value;if(e){const t=e.getContext("2d");t&&(t.fillStyle="#fff",t.fillRect(0,0,e.width,e.height)),o.doctor_signature=""}},te=()=>{const e=P.value;if(e){const t=e.getContext("2d");t&&(t.fillStyle="#fff",t.fillRect(0,0,e.width,e.height),t.strokeStyle="#333",t.lineWidth=2,t.lineCap="round",t.lineJoin="round")}},ce=()=>{o.herbs.push({name:"",dosage:6})},pe=e=>{o.herbs.splice(e,1)},_e=async()=>{var e,t,l;if(!((e=o.clinical_diagnosis)!=null&&e.trim())){k.msgWarning("请输入临床诊断");return}if(o.herbs.length===0){k.msgWarning("请至少添加一味中药");return}for(const r of o.herbs){if(!((t=r.name)!=null&&t.trim())){k.msgWarning("请填写中药名称");return}if(!r.dosage||r.dosage<=0){k.msgWarning(`请填写「${r.name}」的剂量`);return}}if(!((l=o.doctor_signature)!=null&&l.trim())){k.msgWarning("请使用电子签名板手写医师签名");return}S.value=!0;try{const r=await vt({diagnosis_id:o.diagnosis_id,appointment_id:o.appointment_id,patient_name:o.patient_name,gender:o.gender,age:o.age,phone:o.phone,visit_no:o.visit_no,prescription_date:o.prescription_date,pulse:o.pulse,tongue:o.tongue,clinical_diagnosis:o.clinical_diagnosis,herbs:o.herbs,dose_count:o.dose_count,usage_instruction:o.usage_instruction,amount:o.amount,doctor_name:o.doctor_name,doctor_signature:o.doctor_signature}),g=r==null?void 0:r.id;if(g){const C=await be({id:g});h.value=C,ee("success")}else k.msgError("保存失败")}catch(r){k.msgError((r==null?void 0:r.msg)||"保存失败")}finally{S.value=!1}},H=()=>{var t;const e=h.value;e&&(o.diagnosis_id=e.diagnosis_id??o.diagnosis_id,o.appointment_id=e.appointment_id??o.appointment_id,o.patient_name=e.patient_name||"",o.gender=e.gender??0,o.gender_desc=e.gender===1?"男":"女",o.age=e.age??0,o.phone=e.phone||"",o.visit_no=e.visit_no||"",o.prescription_date=new Date().toISOString().slice(0,10),o.pulse=e.pulse||"",o.tongue=e.tongue||"",o.clinical_diagnosis=e.clinical_diagnosis||"",o.dose_count=1,o.usage_instruction="水煎服一日二次",o.amount=0,o.doctor_name=((t=$.userInfo)==null?void 0:t.name)||e.doctor_name||"",o.doctor_signature="",o.herbs=[],setTimeout(()=>te(),100)),h.value=null},O=async()=>{const e=K.value;if(!e)throw new Error("未找到处方内容");return bt(e,{scale:2,useCORS:!0,logging:!1,backgroundColor:"#ffffff"})},ae=async()=>{var e;try{const t=await O(),l=document.createElement("a");l.download=`处方_${((e=h.value)==null?void 0:e.patient_name)||"未命名"}_${Date.now()}.png`,l.href=t.toDataURL("image/png"),l.click(),k.msgSuccess("图片已下载")}catch{k.msgError("下载图片失败")}},c=async()=>{var e;try{const t=await O(),l=t.toDataURL("image/png"),r=new wt({orientation:"portrait",unit:"mm",format:"a5"}),g=r.internal.pageSize.getWidth(),C=r.internal.pageSize.getHeight(),w=Math.min(g/t.width,C/t.height),L=t.width*w,V=t.height*w;r.addImage(l,"PNG",0,0,L,V),r.save(`处方_${((e=h.value)==null?void 0:e.patient_name)||"未命名"}_${Date.now()}.pdf`),k.msgSuccess("PDF已下载")}catch{k.msgError("下载PDF失败")}};return oe({open:re,openById:de}),(e,t)=>{const l=Ke,r=Xe,g=Le,C=Fe,w=ke,L=Be,V=Me,Z=Ce,q=He;return y(),I(q,{modelValue:n(f),"onUpdate:modelValue":t[8]||(t[8]=b=>ge(f)?f.value=b:null),title:"中医处方单",size:"900px","close-on-click-modal":!1,onClose:J},It({default:s(()=>[n(h)?(y(),R("div",aa,[i("div",{ref_key:"prescriptionPrintRef",ref:K,class:"prescription-print"},[i("div",na,[i("h2",sa,_(n(W).stationName)+"处方笺",1),t[18]||(t[18]=i("div",{class:"prescription-type"},[i("div",null,"普通处方"),i("div",{class:"text-sm"},"当日有效")],-1))]),i("div",oa,[i("span",null,"日期: "+_(n(h).prescription_date),1),i("span",la,"门诊号: "+_(n(h).visit_no),1)]),i("div",ia,[i("span",null,"姓名: "+_(n(h).patient_name),1),i("span",null,"性别: "+_(n(h).gender_desc),1),i("span",null,"年龄: "+_(n(h).age),1),i("span",null,"电话: "+_(n(h).phone),1)]),i("div",ra,[i("span",null,"脉象: "+_(n(h).pulse||"—"),1),i("span",null,"舌象: "+_(n(h).tongue||"—"),1)]),i("div",da,[i("span",null,"临床诊断: "+_(n(h).clinical_diagnosis),1)]),i("div",ua,[t[19]||(t[19]=i("div",{class:"rp-label"},"RP",-1)),i("div",ca,[(y(!0),R(Re,null,Pe(n(h).herbs,(b,d)=>(y(),R("div",{key:d,class:"herb-cell"},_(b.name)+" "+_(b.dosage)+"克 ",1))),128))])]),n(W).showDisclaimer?(y(),R("div",pa,_(n(W).disclaimer),1)):T("",!0),i("div",ma,[i("div",_a,[i("div",ga," 共 "+_(n(h).dose_count)+" 剂, "+_(n(h).usage_instruction),1),i("div",fa,"金额 "+_(n(h).amount),1)]),i("div",va,[i("span",ya,[t[20]||(t[20]=m(" 医师 ",-1)),n(h).doctor_signature?(y(),R("img",{key:0,src:n(h).doctor_signature,alt:"医师签名",class:"doctor-signature-img"},null,8,ha)):(y(),R("span",ba,_(n(h).doctor_name||"医师"),1))]),t[21]||(t[21]=i("span",null,"核对发药",-1))])])],512),i("div",wa,[a(w,{onClick:ae},{default:s(()=>[a(Z,null,{default:s(()=>[a(n(kt))]),_:1}),t[22]||(t[22]=m(" 下载图片 ",-1))]),_:1}),a(w,{type:"primary",onClick:c},{default:s(()=>[a(Z,null,{default:s(()=>[a(n(Ct))]),_:1}),t[23]||(t[23]=m(" 下载PDF ",-1))]),_:1}),a(w,{onClick:H},{default:s(()=>[...t[24]||(t[24]=[m("新建处方",-1)])]),_:1}),a(w,{onClick:J},{default:s(()=>[...t[25]||(t[25]=[m("关闭",-1)])]),_:1})])])):(y(),R("div",Ht,[a(V,{ref_key:"formRef",ref:N,model:n(o),"label-width":"100px",class:"prescription-form"},{default:s(()=>[i("div",Ot,[t[9]||(t[9]=i("div",{class:"section-title"},"患者信息",-1)),a(C,{gutter:16},{default:s(()=>[a(r,{span:8},{default:s(()=>[a(l,{label:"姓名"},{default:s(()=>[i("span",null,_(n(o).patient_name),1)]),_:1})]),_:1}),a(r,{span:8},{default:s(()=>[a(l,{label:"性别"},{default:s(()=>[i("span",null,_(n(o).gender_desc),1)]),_:1})]),_:1}),a(r,{span:8},{default:s(()=>[a(l,{label:"年龄"},{default:s(()=>[i("span",null,_(n(o).age),1)]),_:1})]),_:1}),a(r,{span:12},{default:s(()=>[a(l,{label:"电话"},{default:s(()=>[i("span",null,_(n(o).phone),1)]),_:1})]),_:1}),a(r,{span:12},{default:s(()=>[a(l,{label:"门诊号"},{default:s(()=>[a(g,{modelValue:n(o).visit_no,"onUpdate:modelValue":t[0]||(t[0]=b=>n(o).visit_no=b),placeholder:"门诊号"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1})]),i("div",qt,[t[10]||(t[10]=i("div",{class:"section-title"},"诊断信息",-1)),a(C,{gutter:16},{default:s(()=>[a(r,{span:12},{default:s(()=>[a(l,{label:"脉象",prop:"pulse"},{default:s(()=>[a(g,{modelValue:n(o).pulse,"onUpdate:modelValue":t[1]||(t[1]=b=>n(o).pulse=b),placeholder:"脉象"},null,8,["modelValue"])]),_:1})]),_:1}),a(r,{span:12},{default:s(()=>[a(l,{label:"舌象",prop:"tongue"},{default:s(()=>[a(g,{modelValue:n(o).tongue,"onUpdate:modelValue":t[2]||(t[2]=b=>n(o).tongue=b),placeholder:"舌象"},null,8,["modelValue"])]),_:1})]),_:1}),a(r,{span:24},{default:s(()=>[a(l,{label:"临床诊断",prop:"clinical_diagnosis"},{default:s(()=>[a(g,{modelValue:n(o).clinical_diagnosis,"onUpdate:modelValue":t[3]||(t[3]=b=>n(o).clinical_diagnosis=b),type:"textarea",rows:2,placeholder:"请输入临床诊断"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1})]),i("div",Gt,[i("div",jt,[t[12]||(t[12]=m(" 中药处方 (RP) ",-1)),a(w,{type:"primary",size:"small",onClick:ce},{default:s(()=>[...t[11]||(t[11]=[m("添加中药",-1)])]),_:1})]),i("div",Qt,[a(l,{label:"处方价格",prop:"amount",class:"!mb-0"},{default:s(()=>[a(L,{modelValue:n(o).amount,"onUpdate:modelValue":t[4]||(t[4]=b=>n(o).amount=b),min:0,precision:2,placeholder:"请输入处方总价(元)",class:"!w-40"},null,8,["modelValue"]),t[13]||(t[13]=i("span",{class:"ml-2 text-gray-500"},"元",-1))]),_:1})]),(y(!0),R(Re,null,Pe(n(o).herbs,(b,d)=>(y(),R("div",{key:d,class:"herb-item"},[a(l,{label:`中药${d+1}`},{default:s(()=>[i("div",Jt,[a(g,{modelValue:b.name,"onUpdate:modelValue":v=>b.name=v,placeholder:"药品名称",style:{width:"160px"}},null,8,["modelValue","onUpdate:modelValue"]),a(L,{modelValue:b.dosage,"onUpdate:modelValue":v=>b.dosage=v,min:.1,step:1,precision:1,placeholder:"剂量(克)",style:{width:"120px"}},null,8,["modelValue","onUpdate:modelValue"]),t[15]||(t[15]=i("span",{class:"text-gray-500"},"克",-1)),a(w,{type:"danger",size:"small",link:"",onClick:v=>pe(d)},{default:s(()=>[...t[14]||(t[14]=[m(" 删除 ",-1)])]),_:1},8,["onClick"])])]),_:2},1032,["label"])]))),128))]),i("div",Zt,[a(C,{gutter:16},{default:s(()=>[a(r,{span:8},{default:s(()=>[a(l,{label:"剂数",prop:"dose_count"},{default:s(()=>[a(L,{modelValue:n(o).dose_count,"onUpdate:modelValue":t[5]||(t[5]=b=>n(o).dose_count=b),min:1,max:30},null,8,["modelValue"])]),_:1})]),_:1}),a(r,{span:16},{default:s(()=>[a(l,{label:"用法",prop:"usage_instruction"},{default:s(()=>[a(g,{modelValue:n(o).usage_instruction,"onUpdate:modelValue":t[6]||(t[6]=b=>n(o).usage_instruction=b),placeholder:"如:水煎服一日二次"},null,8,["modelValue"])]),_:1})]),_:1}),a(r,{span:12},{default:s(()=>[a(l,{label:"医师",prop:"doctor_name"},{default:s(()=>[a(g,{modelValue:n(o).doctor_name,"onUpdate:modelValue":t[7]||(t[7]=b=>n(o).doctor_name=b),placeholder:"医师姓名"},null,8,["modelValue"])]),_:1})]),_:1}),a(r,{span:24},{default:s(()=>[a(l,{label:"医师签名",prop:"doctor_signature",required:""},{default:s(()=>[i("div",ea,[i("canvas",{ref_key:"signatureCanvasRef",ref:P,class:"signature-canvas",width:"280",height:"120",onMousedown:A,onMousemove:z,onMouseup:Y,onMouseleave:Y,onTouchstart:he(A,["prevent"]),onTouchmove:he(z,["prevent"]),onTouchend:he(Y,["prevent"])},null,544),i("div",ta,[a(w,{size:"small",onClick:ue},{default:s(()=>[...t[16]||(t[16]=[m("清空签名",-1)])]),_:1})])]),t[17]||(t[17]=i("div",{class:"text-xs text-amber-600 mt-1"},"* 必填,请在框内手写医师签名",-1))]),_:1})]),_:1})]),_:1})])]),_:1},8,["model"])]))]),_:2},[n(h)?void 0:{name:"footer",fn:s(()=>[i("div",ka,[a(w,{onClick:J},{default:s(()=>[...t[26]||(t[26]=[m("取消",-1)])]),_:1}),a(w,{type:"primary",onClick:_e,loading:n(S)},{default:s(()=>[...t[27]||(t[27]=[m("保存处方",-1)])]),_:1},8,["loading"])])]),key:"0"}]),1032,["modelValue"])}}}),Da=xe(Ca,[["__scopeId","data-v-95e376ce"]]),xa={class:"chat-window-title"},Ia={class:"chat-container"},Sa={key:0,class:"loading-container"},Va={key:1,class:"error-container"},Ea={key:2,class:"chat-content"},$a={class:"chat-layout"},Ta={class:"message-toolbar"},Ra={class:"call-kit-content"},Pa=Ie({__name:"index",setup(Se,{expose:oe}){const M=p(""),ee=p(!1),f=p(!1),N=p(""),S=p(""),K=p(null),P=p(null),F=p("正在初始化..."),h=p(""),W=p(""),o=p(!1),$=p(!1),{login:le}=Xt(),{setActiveConversation:j,createC2CConversation:ie,activeConversation:Q}=Ft(),x=De(),re=async(d,v)=>{try{if(!d){console.warn("头像 URL 为空,跳过更新");return}console.log("开始更新头像到 IM:",d);const D=await new Promise((E,ne)=>{setTimeout(async()=>{try{const U=await Tt.create({SDKAppID:v}).updateMyProfile({avatar:d});console.log("IM 头像更新成功:",U),E(U)}catch(B){console.error("更新头像异常:",B),E(null)}},500)})}catch(D){console.error("IM 头像更新失败:",D.message||D)}};We(()=>Q.value,async d=>{if(d){if(S.value=d.getShowName()||S.value,console.log("会话切换:",d.conversationID,"名称:",S.value,d),d.userProfile.userID.includes("doctor"))console.log("当前会话是医生,跳过获取 assistant_id");else try{const v=await ve({patient_id:d.userProfile.userID.replace("patient_",""),diagnosis_id:P.value});h.value=v.patientUserId,M.value=v.assistant_id,console.log("会话切换后获取到 assistant_id:",M.value,"完整响应:",v)}catch(v){console.error("获取 assistant_id 失败:",v)}console.log("会话切换完成,userID:",d.userProfile.userID)}});const de=async d=>{ee.value=!0,A.value=100,z.value=80,H.value=Math.max(0,(window.innerWidth-600)/2),O.value=Math.max(0,(window.innerHeight-436)/2),S.value=d.patientName,K.value=d.patientId,P.value=d.diagnosisId||null,N.value="",f.value=!1,o.value=!1,$.value=!1,F.value="正在获取签名...";try{const v=await ve({patient_id:d.patientId,diagnosis_id:d.diagnosisId||0});if(M.value=v.assistant_id,console.log("后端返回的签名数据:",v),console.log("assistant_id:",M.value),!v||!v.userSig)throw new Error("获取签名失败");v.assistant_id||console.warn("警告:后端未返回 assistant_id,群视频通话可能无法正常工作"),h.value=v.patientUserId||`patient_${d.patientId}`,F.value="正在登录聊天...",await le({sdkAppId:Number(v.sdkAppId),userId:v.userId,userSig:v.userSig,useUploadPlugin:!0});const D=Number(v.sdkAppId);if(!window.__TUICallKitInited__){F.value="正在初始化通话能力...";try{await fe.init({userID:v.userId,userSig:v.userSig,SDKAppID:D}),window.__TUICallKitInited__=!0}catch(E){console.warn("TUICallKit 初始化失败,聊天仍可用,音视频通话不可用:",(E==null?void 0:E.message)||E)}}o.value=!!window.__TUICallKitInited__,o.value&&fe.setCallback({beforeCalling:()=>{$.value=!0},afterCalling:()=>{$.value=!1}}),console.log("Chat UIKit 登录成功,患者用户ID:",h.value),F.value="加载聊天界面...",setTimeout(async()=>{var ne;f.value=!0,await Vt(),await new Promise(B=>setTimeout(B,1e3));const E=(ne=x.userInfo)==null?void 0:ne.avatar;console.log("准备更新头像,avatar:",E),E&&await re(E,D);try{const B=await ie(h.value);W.value=B.conversationID,console.log("已创建/获取会话:",W.value),j(W.value),console.log("已激活会话")}catch(B){console.error("创建/激活会话失败:",B)}},800)}catch(v){console.error("初始化聊天失败:",v),N.value=v.message||"初始化聊天失败",k.msgError(N.value)}},J=async()=>{if(!o.value){k.msgWarning("通话服务初始化中,请稍后再试");return}if(!h.value){k.msgWarning("未找到患者通话ID,无法发起群视频");return}try{if(!M.value){console.warn("assistant_id 为空,尝试重新获取");const v=await ve({patient_id:K.value,diagnosis_id:P.value});M.value=v.assistant_id,console.log("重新获取 assistant_id:",M.value)}const d=[h.value,M.value].filter(v=>v);if(d.length<2){k.msgWarning("助理ID获取失败,无法发起群视频"),console.error("userIDList 不完整:",d,"assistant_ids:",M.value);return}console.log("发起群视频通话,参与者:",d),await fe.calls({userIDList:d,type:Pt.VIDEO_CALL})}catch(d){console.error("发起群视频失败:",d),k.msgError((d==null?void 0:d.message)||"发起群视频失败")}},X=p(),A=p(100),z=p(80),Y=p(!1),ue=p(0),te=p(0),ce=p(0),pe=p(0),_e=p(),H=p(0),O=p(0),ae=p(!1),c=p(0),e=p(0),t=p(0),l=p(0),r=ye(()=>({left:`${H.value}px`,top:`${O.value}px`})),g=d=>{ae.value=!0,c.value=d.clientX,e.value=d.clientY,t.value=H.value,l.value=O.value,document.addEventListener("mousemove",C),document.addEventListener("mouseup",w)},C=d=>{ae.value&&(H.value=Math.max(0,t.value+d.clientX-c.value),O.value=Math.max(0,l.value+d.clientY-e.value))},w=()=>{ae.value=!1,document.removeEventListener("mousemove",C),document.removeEventListener("mouseup",w)},L=ye(()=>({left:`${A.value}px`,top:`${z.value}px`})),V=d=>{d.target.closest(".chat-close-btn")||(Y.value=!0,ue.value=d.clientX,te.value=d.clientY,ce.value=A.value,pe.value=z.value,document.addEventListener("mousemove",Z),document.addEventListener("mouseup",q))},Z=d=>{Y.value&&(A.value=Math.max(0,ce.value+d.clientX-ue.value),z.value=Math.max(0,pe.value+d.clientY-te.value))},q=()=>{Y.value=!1,document.removeEventListener("mousemove",Z),document.removeEventListener("mouseup",q)},b=async()=>{if(o.value&&$.value)try{await fe.hangup()}catch(d){console.warn("挂断通话时出错:",d)}ee.value=!1,$.value=!1};return oe({open:de}),(d,v)=>{const D=Ce,E=ke,ne=Oe;return y(),I(St,{to:"body"},[G(i("div",{ref_key:"chatWindowRef",ref:X,class:"chat-floating-window",style:Ue(L.value)},[i("div",{class:"chat-window-header",onMousedown:V},[i("span",xa,"与 "+_(S.value)+" 聊天",1),a(E,{type:"danger",link:"",class:"chat-close-btn",onClick:b},{default:s(()=>[a(D,null,{default:s(()=>[a(n(Dt))]),_:1})]),_:1})],32),i("div",Ia,[f.value?N.value?(y(),R("div",Va,[a(ne,{title:N.value,type:"error",closable:!1},null,8,["title"])])):(y(),R("div",Ea,[a(n(Ut),{language:"zh-CN",theme:"light"},{default:s(()=>[i("div",$a,[a(n(Mt),{class:"conversation-list"}),a(n($t),{class:"chat-area"},{default:s(()=>[a(n(Kt),{conversationID:W.value},null,8,["conversationID"]),a(n(Lt),null,{headerToolbar:s(()=>[i("div",Ta,[a(n(Nt)),a(n(Wt)),a(n(At)),o.value?(y(),I(n(zt),{key:0})):T("",!0),o.value?(y(),I(n(Yt),{key:1})):T("",!0),o.value?(y(),I(E,{key:2,size:"small",type:"primary",onClick:J},{default:s(()=>[...v[0]||(v[0]=[m(" 群视频 ",-1)])]),_:1})):T("",!0)])]),_:1})]),_:1})])]),_:1})])):(y(),R("div",Sa,[a(D,{class:"is-loading"},{default:s(()=>[a(n(Ne))]),_:1}),i("span",null,_(F.value),1)]))]),o.value&&$.value?(y(),R("div",{key:0,ref_key:"callKitWrapperRef",ref:_e,class:"chat-dialog-call-kit-wrapper",style:Ue(r.value)},[i("div",{class:"call-kit-drag-handle",onMousedown:g},[v[1]||(v[1]=i("span",{class:"drag-handle-text"},"视频通话",-1)),a(D,{class:"drag-handle-icon"},{default:s(()=>[a(n(xt))]),_:1})],32),i("div",Ra,[a(n(Rt),{allowedMinimized:!0,allowedFullScreen:!0,class:"chat-dialog-call-kit"})])],4)):T("",!0)],4),[[ct,ee.value]])])}}}),Ua=xe(Pa,[["__scopeId","data-v-fb624c46"]]),Ma={class:"appointment-list"},Ka={class:"text-xs text-gray-400"},La={class:"flex justify-end mt-4"},Na={class:"flex flex-col items-center justify-center py-4"},Wa={key:0,class:"text-center"},Aa={key:1,class:"text-center"},za=["src"],Ya={class:"mt-4 text-sm text-gray-600"},Fa={key:2,class:"text-center text-gray-500"},Xa=Ie({__name:"list",setup(Se){const oe=De(),M=ye(()=>oe.userInfo),ee=ye(()=>{const c=M.value.role_id;return Array.isArray(c)?!c.includes(1)&&!c.includes(2):c!==1&&c!==2}),f=we({patient_name:"",doctor_name:"",status:"",start_date:"",end_date:"",date_preset:""}),N=p("all"),S=p({1:0,2:0,3:0,4:0}),{pager:K,getLists:P,resetPage:F,resetParams:h}=pt({fetchFun:$e,params:f});We(()=>[f.start_date,f.end_date],([c,e])=>{if(!f.date_preset)return;const t=new Date,l=q=>String(q).padStart(2,"0"),r=`${t.getFullYear()}-${l(t.getMonth()+1)}-${l(t.getDate())}`,g=new Date(t);g.setDate(g.getDate()+1);const C=`${g.getFullYear()}-${l(g.getMonth()+1)}-${l(g.getDate())}`,w=new Date(t);w.setDate(w.getDate()+2);const L=`${w.getFullYear()}-${l(w.getMonth()+1)}-${l(w.getDate())}`,V=f.date_preset==="today"?r:f.date_preset==="tomorrow"?C:L;(c||"").split(" ")[0]!==V&&(f.date_preset="")});const W=async()=>{try{const c=[1,2,3,4].map(async t=>{const l=await $e({...f,status:t,page_no:1,page_size:1});return{status:t,count:l.count||0}});(await Promise.all(c)).forEach(({status:t,count:l})=>{S.value[t]=l})}catch(c){console.error("获取状态数量失败:",c)}},o=c=>{c==="all"?f.status="":f.status=Number(c),F()},$=async()=>{await P(),await W()},le=c=>{const e=String(c||"");if(!e){f.start_date="",f.end_date="",$();return}const t=new Date,l=C=>String(C).padStart(2,"0");let r;e==="today"?r=t:e==="tomorrow"?(r=new Date(t),r.setDate(r.getDate()+1)):(r=new Date(t),r.setDate(r.getDate()+2));const g=`${r.getFullYear()}-${l(r.getMonth()+1)}-${l(r.getDate())}`;f.start_date=g,f.end_date=g,K.page=1,$()},j=()=>{K.page=1,$()},ie=()=>{N.value="all",f.date_preset="",h(),W()},Q=p(!1),x=p(null),re=p(),de=p(),J=p(),X=p(!1),A=p(!1),z=p(""),Y=p(null),ue=async c=>{try{const e=await mt({id:c.id});x.value=e,Q.value=!0}catch(e){console.error("获取详情失败:",e)}},te=async c=>{try{await k.confirm("确定要取消该挂号吗?"),await _t({id:c.id}),k.msgSuccess("取消成功"),$()}catch{}},ce=async c=>{try{await k.confirm("确认患者已就诊完成?"),await gt({id:c.id}),k.msgSuccess("操作成功"),$()}catch{}},pe=c=>{var e;if(console.log(),!c.patient_id){k.msgWarning("该预约没有关联诊单信息");return}(e=re.value)==null||e.open("edit",c.patient_id)},_e=async c=>{var e;if(!c.patient_id){k.msgWarning("患者信息不完整");return}if(!c.diagnosis_id&&!c.id){k.msgWarning("预约信息不完整,无法发起聊天");return}try{const t=await ve({patient_id:c.patient_id,diagnosis_id:c.diagnosis_id||c.id});console.log("获取聊天签名成功:",t),(e=J.value)==null||e.open({patientId:c.patient_id,patientName:c.patient_name,diagnosisId:c.diagnosis_id||c.id,signatureData:t})}catch(t){console.error("获取聊天签名失败:",t),k.msgError(t.message||"获取聊天签名失败")}},H=async c=>{if(!c.patient_id){k.msgWarning("患者信息不完整");return}Y.value=c,X.value=!0,A.value=!0,z.value="";try{const e=await Bt();if(!(e!=null&&e.app_id)){k.msgError("小程序未配置,请先配置小程序信息"),X.value=!1;return}const t=oe.userInfo,l=await yt({diagnosis_id:c.diagnosis_id||c.id,patient_id:c.patient_id,share_user_id:(t==null?void 0:t.id)||"",mini_program_path:"pages/login/login"});l!=null&&l.qrcode_url?z.value=l.qrcode_url:k.msgError("二维码生成失败")}catch(e){console.error("生成小程序二维码失败:",e),k.msgError((e==null?void 0:e.msg)||"生成二维码失败,请重试")}finally{A.value=!1}},O=c=>{var e;if(!c.diagnosis_id&&!c.patient_id){k.msgWarning("该预约缺少诊单信息,请先编辑患者");return}(e=de.value)==null||e.open(c)},ae=()=>{Y.value&&H(Y.value)};return $(),(c,e)=>{const t=Le,l=Ke,r=Ge,g=qe,C=ut,w=Qe,L=je,V=ke,Z=Me,q=Je,b=et,d=tt,v=Ze,D=nt,E=st,ne=at,B=dt,U=it,Ae=lt,Ve=rt,ze=Ce,se=Et("perms"),Ye=ot;return y(),R("div",Ma,[a(q,{class:"!border-none",shadow:"never"},{default:s(()=>[a(Z,{class:"ls-form",model:n(f),inline:""},{default:s(()=>[a(l,{class:"w-[280px]",label:"患者姓名"},{default:s(()=>[a(t,{modelValue:n(f).patient_name,"onUpdate:modelValue":e[0]||(e[0]=u=>n(f).patient_name=u),placeholder:"请输入患者姓名",clearable:"",onKeyup:Ee(j,["enter"])},null,8,["modelValue"])]),_:1}),n(ee)?(y(),I(l,{key:0,class:"w-[280px]",label:"医生姓名"},{default:s(()=>[a(t,{modelValue:n(f).doctor_name,"onUpdate:modelValue":e[1]||(e[1]=u=>n(f).doctor_name=u),placeholder:"请输入医生姓名",clearable:"",onKeyup:Ee(j,["enter"])},null,8,["modelValue"])]),_:1})):T("",!0),a(l,{class:"w-[280px]",label:"预约状态"},{default:s(()=>[a(g,{modelValue:n(f).status,"onUpdate:modelValue":e[2]||(e[2]=u=>n(f).status=u),placeholder:"请选择",clearable:""},{default:s(()=>[a(r,{label:"已预约",value:1}),a(r,{label:"已取消",value:2}),a(r,{label:"已完成",value:3}),a(r,{label:"已过号",value:4})]),_:1},8,["modelValue"])]),_:1}),a(l,{label:"预约日期"},{default:s(()=>[a(C,{startTime:n(f).start_date,"onUpdate:startTime":e[3]||(e[3]=u=>n(f).start_date=u),endTime:n(f).end_date,"onUpdate:endTime":e[4]||(e[4]=u=>n(f).end_date=u)},null,8,["startTime","endTime"])]),_:1}),a(l,{label:"快捷日期"},{default:s(()=>[a(L,{modelValue:n(f).date_preset,"onUpdate:modelValue":e[5]||(e[5]=u=>n(f).date_preset=u),onChange:le,size:"default"},{default:s(()=>[a(w,{label:""},{default:s(()=>[...e[11]||(e[11]=[m("不限",-1)])]),_:1}),a(w,{label:"today"},{default:s(()=>[...e[12]||(e[12]=[m("今天",-1)])]),_:1}),a(w,{label:"tomorrow"},{default:s(()=>[...e[13]||(e[13]=[m("明天",-1)])]),_:1}),a(w,{label:"day_after"},{default:s(()=>[...e[14]||(e[14]=[m("后天",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),a(l,null,{default:s(()=>[a(V,{type:"primary",onClick:j},{default:s(()=>[...e[15]||(e[15]=[m("查询",-1)])]),_:1}),a(V,{onClick:ie},{default:s(()=>[...e[16]||(e[16]=[m("重置",-1)])]),_:1})]),_:1})]),_:1},8,["model"])]),_:1}),a(q,{class:"!border-none mt-4",shadow:"never"},{default:s(()=>[a(v,{modelValue:n(N),"onUpdate:modelValue":e[6]||(e[6]=u=>ge(N)?N.value=u:null),onTabChange:o,class:"mb-4"},{default:s(()=>[a(b,{label:"全部",name:"all"}),a(b,{name:"1"},{label:s(()=>[e[17]||(e[17]=i("span",null,"未就诊",-1)),n(S)[1]?(y(),I(d,{key:0,value:n(S)[1],class:"ml-2",type:"success"},null,8,["value"])):T("",!0)]),_:1}),a(b,{name:"4"},{label:s(()=>[e[18]||(e[18]=i("span",null,"已过号",-1)),n(S)[4]?(y(),I(d,{key:0,value:n(S)[4],class:"ml-2",type:"danger"},null,8,["value"])):T("",!0)]),_:1}),a(b,{name:"2"},{label:s(()=>[e[19]||(e[19]=i("span",null,"已取消",-1)),n(S)[2]?(y(),I(d,{key:0,value:n(S)[2],class:"ml-2",type:"info"},null,8,["value"])):T("",!0)]),_:1}),a(b,{name:"3"},{label:s(()=>[e[20]||(e[20]=i("span",null,"已完成",-1)),n(S)[3]?(y(),I(d,{key:0,value:n(S)[3],class:"ml-2",type:"primary"},null,8,["value"])):T("",!0)]),_:1})]),_:1},8,["modelValue"]),G((y(),I(ne,{data:n(K).lists,size:"large"},{default:s(()=>[a(D,{label:"ID",prop:"id",width:"80"}),a(D,{label:"患者信息","min-width":"150"},{default:s(({row:u})=>[i("div",null,_(u.patient_name),1),i("div",Ka,_(u.patient_phone),1)]),_:1}),a(D,{label:"医生",prop:"doctor_name","min-width":"120"}),a(D,{label:"预约日期","min-width":"120"},{default:s(({row:u})=>[m(_(u.appointment_date),1)]),_:1}),a(D,{label:"预约时间","min-width":"100"},{default:s(({row:u})=>[m(_(u.appointment_time),1)]),_:1}),a(D,{label:"时段",width:"80"},{default:s(({row:u})=>[a(E,{type:u.period==="morning"?"success":"warning",size:"small"},{default:s(()=>[m(_(u.period==="morning"?"上午":"下午"),1)]),_:2},1032,["type"])]),_:1}),a(D,{label:"预约类型",width:"100"},{default:s(({row:u})=>[m(_(u.appointment_type_desc),1)]),_:1}),a(D,{label:"状态",width:"90"},{default:s(({row:u})=>[a(E,{type:u.status===1?"success":u.status===2?"info":u.status===3?"primary":"danger",size:"small"},{default:s(()=>[m(_(u.status_desc),1)]),_:2},1032,["type"])]),_:1}),a(D,{label:"备注",prop:"remark","min-width":"150","show-overflow-tooltip":""}),a(D,{label:"创建时间","min-width":"160"},{default:s(({row:u})=>[m(_(u.create_time),1)]),_:1}),a(D,{label:"操作",width:"320",fixed:"right"},{default:s(({row:u})=>[G((y(),I(V,{type:"primary",link:"",onClick:me=>ue(u)},{default:s(()=>[...e[21]||(e[21]=[m(" 详情 ",-1)])]),_:1},8,["onClick"])),[[se,["doctor.appointment/detail"]]]),G((y(),I(V,{type:"primary",link:"",onClick:me=>pe(u)},{default:s(()=>[...e[22]||(e[22]=[m(" 编辑患者 ",-1)])]),_:1},8,["onClick"])),[[se,["tcm.diagnosis/edit"]]]),u.status===1?G((y(),I(V,{key:0,type:"danger",link:"",onClick:me=>te(u)},{default:s(()=>[...e[23]||(e[23]=[m(" 取消挂号 ",-1)])]),_:1},8,["onClick"])),[[se,["doctor.appointment/cancel"]]]):T("",!0),u.status===1?G((y(),I(V,{key:1,type:"success",link:"",onClick:me=>ce(u)},{default:s(()=>[...e[24]||(e[24]=[m(" 接诊完成 ",-1)])]),_:1},8,["onClick"])),[[se,["doctor.appointment/complete"]]]):T("",!0),u.status===1?G((y(),I(V,{key:2,type:"success",link:"",onClick:me=>_e(u)},{default:s(()=>[...e[25]||(e[25]=[m(" 聊天 ",-1)])]),_:1},8,["onClick"])),[[se,["doctor.appointment/prescription"]]]):T("",!0),u.status===1?G((y(),I(V,{key:3,type:"primary",link:"",onClick:me=>H(u)},{default:s(()=>[...e[26]||(e[26]=[m(" 视频二维码 ",-1)])]),_:1},8,["onClick"])),[[se,["tcm.diagnosis/guahao"]]]):T("",!0),u.status===1?G((y(),I(V,{key:4,type:"primary",link:"",onClick:me=>O(u)},{default:s(()=>[...e[27]||(e[27]=[m(" 开方 ",-1)])]),_:1},8,["onClick"])),[[se,["tcm.diagnosis/kaifang"]]]):T("",!0)]),_:1})]),_:1},8,["data"])),[[Ye,n(K).loading]]),i("div",La,[a(B,{modelValue:n(K),"onUpdate:modelValue":e[7]||(e[7]=u=>ge(K)?K.value=u:null),onChange:n(P)},null,8,["modelValue","onChange"])])]),_:1}),a(Ve,{modelValue:n(Q),"onUpdate:modelValue":e[8]||(e[8]=u=>ge(Q)?Q.value=u:null),title:"挂号详情",width:"600px"},{default:s(()=>[n(x)?(y(),I(Ae,{key:0,column:2,border:""},{default:s(()=>[a(U,{label:"挂号ID"},{default:s(()=>[m(_(n(x).id),1)]),_:1}),a(U,{label:"状态"},{default:s(()=>[a(E,{type:n(x).status===1?"success":n(x).status===2?"info":n(x).status===3?"primary":"danger",size:"small"},{default:s(()=>[m(_(n(x).status_desc),1)]),_:1},8,["type"])]),_:1}),a(U,{label:"患者姓名"},{default:s(()=>[m(_(n(x).patient_name),1)]),_:1}),a(U,{label:"患者电话"},{default:s(()=>[m(_(n(x).patient_phone),1)]),_:1}),a(U,{label:"医生姓名"},{default:s(()=>[m(_(n(x).doctor_name),1)]),_:1}),a(U,{label:"预约日期"},{default:s(()=>[m(_(n(x).appointment_date),1)]),_:1}),a(U,{label:"预约时间"},{default:s(()=>[m(_(n(x).appointment_time),1)]),_:1}),a(U,{label:"时段"},{default:s(()=>[m(_(n(x).period==="morning"?"上午":"下午"),1)]),_:1}),a(U,{label:"预约类型"},{default:s(()=>[m(_(n(x).appointment_type_desc),1)]),_:1}),a(U,{label:"创建时间"},{default:s(()=>[m(_(n(x).create_time),1)]),_:1}),a(U,{label:"备注",span:2},{default:s(()=>[m(_(n(x).remark||"无"),1)]),_:1})]),_:1})):T("",!0)]),_:1},8,["modelValue"]),a(ht,{ref_key:"editRef",ref:re,onSuccess:n(P)},null,8,["onSuccess"]),a(Da,{ref_key:"prescriptionRef",ref:de,onSuccess:$},null,512),a(Ua,{ref_key:"chatDialogRef",ref:J},null,512),a(Ve,{modelValue:n(X),"onUpdate:modelValue":e[10]||(e[10]=u=>ge(X)?X.value=u:null),title:"小程序二维码",width:"400px","close-on-click-modal":!1},{footer:s(()=>[a(V,{onClick:e[9]||(e[9]=u=>X.value=!1)},{default:s(()=>[...e[31]||(e[31]=[m("关闭",-1)])]),_:1}),n(A)?T("",!0):(y(),I(V,{key:0,type:"primary",onClick:ae},{default:s(()=>[...e[32]||(e[32]=[m(" 重新生成 ",-1)])]),_:1}))]),default:s(()=>{var u;return[i("div",Na,[n(A)?(y(),R("div",Wa,[a(ze,{class:"is-loading",size:40},{default:s(()=>[a(n(Ne))]),_:1}),e[28]||(e[28]=i("div",{class:"mt-4 text-gray-500"},"生成中...",-1))])):n(z)?(y(),R("div",Aa,[i("img",{src:n(z),alt:"小程序二维码",class:"w-64 h-64 border border-gray-200 rounded"},null,8,za),i("div",Ya,[i("div",null,"患者:"+_((u=n(Y))==null?void 0:u.patient_name),1),e[29]||(e[29]=i("div",{class:"mt-2"},"请使用微信扫描二维码",-1)),e[30]||(e[30]=i("div",{class:"mt-1 text-xs text-gray-400"},"跳转小程序路径:pages/login/login",-1))])])):(y(),R("div",Fa," 生成失败,请重试 "))])]}),_:1},8,["modelValue"])])}}}),ds=xe(Xa,[["__scopeId","data-v-3b2368d9"]]);export{ds as default};
|