Files
zyt/server/public/admin/assets/list-DPPgsk_w.js

3 lines
33 KiB
JavaScript

const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/edit-D-YcnK7F.js","assets/element-plus-CWHdHlgZ.js","assets/@vue/runtime-dom-DDAG46FW.js","assets/lodash-D3kF6u-c.js","assets/@vue/runtime-core-C6bnekPw.js","assets/@vue/reactivity-DiY1c2vO.js","assets/@vue/shared-mAAVTE9n.js","assets/@element-plus/icons-vue-CbYn5zW9.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-CkdeFrL_.css","assets/tcm-CdJxXEws.js","assets/index-dDVfDL1w.js","assets/jspdf-BsthCvR5.js","assets/@babel/runtime-BanGtE2-.js","assets/fflate-_ayOYiT1.js","assets/vue-router-QlpZ4wdW.js","assets/pinia-B8cvXbiZ.js","assets/axios-C80V62Fs.js","assets/@vueuse/core-1S4fJlii.js","assets/@vueuse/shared-Cl3lVqjz.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-CNLwa9wG.js","assets/tslib-BDyQ-Jie.js","assets/zrender-DRNXw7y3.js","assets/highlight.js-Bxt7hFFy.js","assets/highlight-BfC0goYb.css","assets/@highlightjs/vue-plugin-C4onkBvW.js","assets/index-agi5h_od.css","assets/perm-CaVgB9g1.js","assets/DailyMatrix-ivpTu20y.js","assets/picker-BLjenmJu.js","assets/index-C7ezMv-n.js","assets/index-dh40Du6y.css","assets/index-Dha7YAn3.js","assets/index.vue_vue_type_script_setup_true_lang-CmPbpooh.js","assets/index-R2JX164b.js","assets/index-BYMg0OFw.css","assets/index-DLpdFML6.js","assets/cos-js-sdk-v5-DSMN0LUT.js","assets/file-BwsCOSPj.js","assets/index.vue_vue_type_script_setup_true_lang-BHxYugPa.js","assets/usePaging-DofycyjW.js","assets/index-D6uL8V1j.css","assets/vuedraggable-5bKFmC7X.js","assets/vue-BVs68q8v.js","assets/@vue/compiler-dom-CqayqxS7.js","assets/@vue/compiler-core-CvbQOXIO.js","assets/sortablejs-dsEAUXlE.js","assets/picker-XZbUgFct.css","assets/vue-echarts-BNtg2q_G.js","assets/resize-detector-G6vbKCU7.js","assets/DiagnosisTodoList-D1cvo4g8.js","assets/DiagnosisTodoList-UCBTL4Nb.css","assets/blood-thresholds-CJ1fqMjh.js","assets/DailyMatrix-WsQb1Wsi.css","assets/CaseRecordList-GPIz3-9i.js","assets/CaseRecordList-Cl-c3q7S.css","assets/CallRecordPanel-BeyaWWWx.js","assets/RecordingPlaybackBlock-Bxy5YRzN.js","assets/RecordingVideoPlayer-BggVVKW2.js","assets/RecordingVideoPlayer-B6Ash5UQ.css","assets/RecordingPlaybackBlock-DLd92gGw.css","assets/CallRecordPanel-TsjZtTO8.css","assets/ImChatRecordPanel-DJSyooY-.js","assets/im-business-message-parse-QKjFLn3X.js","assets/ImChatRecordPanel-CNRZQxnD.css","assets/AssignLogPanel-ZKuTFWqz.js","assets/AssignLogPanel-CbpABGSR.css","assets/AppointmentRecordPanel-CjXfkoo6.js","assets/doctor-8rPsHKMI.js","assets/AppointmentRecordPanel-DC22GDgn.css","assets/NoteTimeline-BMx_BbQh.js","assets/patient-CM6Ecpu4.js","assets/NoteTimeline-ICZA393r.css","assets/PatientOrderList-Ch4GG-kp.js","assets/PrescriptionOrderDetailDrawer-_Bq0MCvU.js","assets/prescription-order-utils-CXfs2Bra.js","assets/PrescriptionOrderDetailDrawer-B4rggqa1.css","assets/PatientOrderList-BgC6GQc_.css","assets/index-BoK_StVq.js","assets/index-CKAAYjn3.js","assets/medicine-qzHTpdbR.js","assets/index-C_LxAEkS.css","assets/diabetes-discovery-display-B_wmGXQJ.js","assets/index-zTY2LFJb.js","assets/index-AnyUcdTT.css","assets/html2canvas-QH1iLAAe.js","assets/index-DiBxknCJ.css","assets/edit-Ceb8O_U_.css","assets/TrackingNoteTimeline-C-2kS81H.css","assets/index-xU-RBTPf.js","assets/appointment-type-DJT6wPaT.js","assets/@tencentcloud/chat-uikit-vue3-CLQ__Wr9.js","assets/@tencentcloud/uikit-base-component-vue3-YgTqL4da.js","assets/@tencentcloud/uikit-base-component-vue3-BkrtIuVN.css","assets/tuikit-atomicx-vue3-Dln8Zi6e.js","assets/@tencentcloud/chat-uikit-engine-zx802ozq.js","assets/@tencentcloud/chat-AC2Y2r2A.js","assets/tim-upload-plugin-HO4N4AW9.js","assets/tim-profanity-filter-plugin-Dn_Cf-mP.js","assets/@tencentcloud/tui-core-8M7p1XHw.js","assets/@tencentcloud/tuiroom-engine-js-Br9swJyU.js","assets/rtc-detect-Chu-fZvE.js","assets/tcplayer.js-qpFBCYzN.js","assets/tuikit-atomicx-vue3-Qhi9ezz1.css","assets/@tencentcloud/chat-uikit-vue3-Cj2eB1Uk.css","assets/@tencentcloud/call-uikit-vue-DB7vt9Ht.js","assets/@tencentcloud/call-engine-js-BX2W9Lhf.js","assets/index-DdbtRGr0.css"])))=>i.map(i=>d[i]);
import{_ as it}from"./jspdf-BsthCvR5.js";import{m as ie,l as ne,d as oe,X as de,C as re,i as pe,p as ue,n as me,o as _e,G as ce,F as fe,Z as ge,V as ve,M as ye,N as be,T as ke,L as De,J as Ce}from"./element-plus-CWHdHlgZ.js";import{_ as Ve}from"./index.vue_vue_type_script_setup_true_lang-CmPbpooh.js";import{_ as we}from"./index.vue_vue_type_script_setup_true_lang-DMBmtpjs.js";import{w as Ee,s as bt}from"./@vue/runtime-dom-DDAG46FW.js";import{a as kt,c as nt}from"./appointment-type-DJT6wPaT.js";import{u as Se}from"./usePaging-DofycyjW.js";import{a as Te,m as he,l as Dt}from"./doctor-8rPsHKMI.js";import{d as Pe}from"./department-C1GK029C.js";import{Z as Ie,X as $e,aa as ze}from"./tcm-CdJxXEws.js";import{u as Ae,j as v,_ as xe}from"./index-dDVfDL1w.js";import{a as Re}from"./patient-CM6Ecpu4.js";import{h as qe}from"./perm-CaVgB9g1.js";import{i as Ne,f as Le}from"./diabetes-discovery-display-B_wmGXQJ.js";import{g as Ue}from"./weapp-D0Jen0hp.js";import{j as Me,at as Be,ao as Ct,b as Vt,d as Oe,e as wt,k as Et,x as Fe,P as We,G as ot,Z as Qe,l as je}from"./@element-plus/icons-vue-CbYn5zW9.js";import{f as Ge,w as He,b as Ye,d as Ze,as as Je,ak as _,I as k,a,aN as i,J as e,O as p,G as y,H as f,aP as I,F as Ke,P as dt,A as rt}from"./@vue/runtime-core-C6bnekPw.js";import{a as z,y as s,r as Xe,n as g}from"./@vue/reactivity-DiY1c2vO.js";import{Q as u}from"./@vue/shared-mAAVTE9n.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.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-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const ts={class:"appointment-list"},es={class:"list-toolbar"},ss={class:"tab-label tab-priority"},as={class:"tab-label"},ls={class:"tab-label"},is={class:"tab-label"},ns={class:"tab-label"},os={class:"toolbar-actions"},ds={class:"filter-bar"},rs={class:"filter-group"},ps={class:"filter-group"},us={class:"filter-group"},ms={class:"table-wrap"},_s={class:"patient-cell"},cs={class:"patient-info"},fs={class:"patient-name"},gs={class:"patient-phone"},vs={class:"patient-extra"},ys={class:"datetime-cell"},bs={class:"date-text"},ks={class:"time-text"},Ds={class:"prescription-tags"},Cs={class:"action-btns"},Vs={class:"flex justify-end py-4 px-4"},ws={key:0,class:"detail-content"},Es={class:"detail-section"},Ss={class:"detail-section-title"},Ts={class:"detail-grid"},hs={class:"detail-item"},Ps={class:"detail-value"},Is={class:"detail-item"},$s={class:"detail-item"},zs={class:"detail-value"},As={class:"detail-item"},xs={class:"detail-value"},Rs={class:"detail-item"},qs={class:"detail-value"},Ns={class:"detail-item"},Ls={class:"detail-value"},Us={class:"detail-section"},Ms={class:"detail-section-title"},Bs={class:"detail-grid"},Os={class:"detail-item"},Fs={class:"detail-value"},Ws={class:"detail-item"},Qs={class:"detail-value"},js={class:"detail-item"},Gs={class:"detail-value"},Hs={class:"detail-item"},Ys={class:"detail-value"},Zs={class:"detail-item"},Js={class:"detail-value"},Ks={class:"detail-item"},Xs={class:"detail-value"},ta={class:"detail-item"},ea={class:"detail-value"},sa={class:"detail-item"},aa={class:"detail-value"},la={class:"detail-item"},ia={class:"detail-value"},na={class:"detail-item"},oa={class:"detail-value"},da={class:"detail-item"},ra={class:"detail-value"},pa={class:"detail-item"},ua={class:"detail-value"},ma={class:"detail-item"},_a={class:"detail-value"},ca={class:"detail-item"},fa={class:"detail-value"},ga={class:"detail-item"},va={class:"detail-value"},ya={class:"detail-item"},ba={class:"detail-value"},ka={key:0,class:"detail-section"},Da={class:"detail-section-title"},Ca={class:"detail-grid"},Va={key:0,class:"detail-item"},wa={class:"detail-value"},Ea={key:1,class:"detail-item"},Sa={class:"detail-value"},Ta={key:2,class:"detail-item detail-item-full"},ha={class:"detail-value"},Pa={key:3,class:"detail-item detail-item-full"},Ia={class:"detail-value"},$a={key:1,class:"detail-section"},za={class:"detail-section-title"},Aa={class:"detail-grid"},xa={key:0,class:"detail-item"},Ra={class:"detail-value"},qa={key:1,class:"detail-item"},Na={class:"detail-value"},La={key:2,class:"detail-item detail-item-full"},Ua={class:"detail-value"},Ma={key:3,class:"detail-item detail-item-full"},Ba={class:"detail-value"},Oa={class:"detail-section"},Fa={class:"detail-remark"},Wa={class:"qrcode-content"},Qa={key:0,class:"qrcode-loading"},ja={key:1,class:"qrcode-success"},Ga={class:"qrcode-image-wrap"},Ha=["src"],Ya={class:"qrcode-info"},Za={class:"qrcode-patient"},Ja={key:2,class:"qrcode-error"},Ka={class:"complete-dialog"},Xa=2e4,tl=Ge({__name:"list",setup(el){const St=dt(()=>it(()=>import("./edit-D-YcnK7F.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,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103]))),Tt=dt(()=>it(()=>import("./index-BoK_StVq.js"),__vite__mapDeps([93,1,2,3,4,5,6,7,8,9,10,11,12,13,14,94,95,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,96,97,15,98,99,100,101]))),ht=dt(()=>it(()=>import("./index-xU-RBTPf.js"),__vite__mapDeps([104,1,2,3,4,5,6,7,8,9,10,11,12,13,14,53,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,86,15,105,106,107,108,109,110,111,112,113,114,58,59,60,115,116,117,118,119,78,120,121,122]))),pt=Ae(),Pt=rt(()=>pt.userInfo),It=l=>!l||l.length<11?l:l.replace(/(\d{3})\d{4}(\d{4})/,"$1****$2"),$t=rt(()=>{const l=Pt.value.role_id;return Array.isArray(l)?!l.includes(1)&&!l.includes(2):l!==1&&l!==2}),r=Xe({patient_name:"",doctor_name:"",status:"",start_date:"",end_date:"",date_preset:"today",diagnosis_confirmed:"",assistant_dept_id:"",include_status_counts:0}),Z=g([]),zt={value:"id",label:"name",children:"children"},O=g("1"),A=g(!1),S=g({1:0,2:0,3:0,4:0}),{pager:V,getLists:ut,resetPage:At}=Se({fetchFun:Te,params:r,firstLoading:!0});He(()=>[r.start_date,r.end_date],([l,t])=>{if(!r.date_preset)return;const o=new Date,c=C=>String(C).padStart(2,"0"),m=C=>`${C.getFullYear()}-${c(C.getMonth()+1)}-${c(C.getDate())}`,T=m(o),h=new Date(o);h.setDate(h.getDate()-1);const b=m(h),P=new Date(o);P.setDate(P.getDate()-2);const Y=m(P),N=new Date(o);N.setDate(N.getDate()+1);const E=m(N),L=new Date(o);L.setDate(L.getDate()+2);const lt=m(L),U=r.date_preset,M=U==="yesterday"?b:U==="day_before"?Y:U==="today"?T:U==="tomorrow"?E:lt;(l||"").split(" ")[0]!==M&&(r.date_preset="")});const xt=l=>{l==="all"?r.status="":r.status=Number(l),At()};let F=null;const D=async l=>{const t=(l==null?void 0:l.silent)===!0;r.include_status_counts=1;try{await ut({silent:t});const o=V.extend,c=o==null?void 0:o.status_count;if(c)for(const m of[1,2,3,4]){const T=c[m]??c[String(m)];typeof T=="number"&&(S.value[m]=T)}}catch(o){if(!t)throw o}finally{r.include_status_counts=0}},Rt=l=>{l==="customDate"?A.value=!0:l==="reset"&&Mt()},qt=()=>{r.date_preset="",A.value=!1,V.page=1,D()},Nt=()=>{V.page=1,D()},Lt=()=>{V.page=1,D()},Ut=l=>{const t=String(l||"");if(!t){r.date_preset="",r.start_date="",r.end_date="",D();return}const o=new Date,c=h=>String(h).padStart(2,"0");let m;t==="yesterday"?(m=new Date(o),m.setDate(m.getDate()-1)):t==="day_before"?(m=new Date(o),m.setDate(m.getDate()-2)):t==="today"?m=o:t==="tomorrow"?(m=new Date(o),m.setDate(m.getDate()+1)):(m=new Date(o),m.setDate(m.getDate()+2));const T=`${m.getFullYear()}-${c(m.getMonth()+1)}-${c(m.getDate())}`;r.date_preset=t,r.start_date=T,r.end_date=T,V.page=1,D()},mt=()=>{V.page=1,D()},Mt=()=>{O.value="1",r.patient_name="",r.doctor_name="",r.date_preset="today",r.diagnosis_confirmed="",r.assistant_dept_id="";const l=new Date,t=o=>String(o).padStart(2,"0");r.start_date=`${l.getFullYear()}-${t(l.getMonth()+1)}-${t(l.getDate())}`,r.end_date=r.start_date,r.status=1,V.page=1,D()},J=g(!1),d=g(null),Bt=g([]),Ot=g([]),Ft=g([]),Wt=g([]),W=(l,t)=>{if(!t)return"-";const o=l.find(c=>c.value===t);return o?o.name:t},Qt=l=>(Array.isArray(l)?l:typeof l=="string"?l.split(/[,,、]/):[]).map(o=>W(Wt.value,o.trim())).filter(Boolean).join("、")||"-",K=g(),X=g(),_t=g(),jt=["doctor.appointment/addDoctorNote"],x=g(!1),Q=g(!1),R=g(""),tt=g(null),et=rt(()=>qe(jt)),q=g(!1),j=g(!1),G=g(""),H=g(null),Gt=(l,t)=>{switch(l){case"edit":ft(t);break;case"viewCase":Xt(t);break;case"complete":ct(t);break;case"chat":gt(t);break;case"qrcode":st(t);break;case"prescription":vt(t);break;case"cancel":Ht(t);break}},Ht=async l=>{try{await v.confirm("确定要取消该挂号吗?"),await he({id:l.id}),v.msgSuccess("取消成功"),D()}catch{}},ct=async l=>{if(tt.value=l,R.value="",et.value){x.value=!0;return}try{await v.confirm("是否添加医生备注?"),await Dt({id:l.id}),v.msgSuccess("操作成功"),D()}catch{}},Yt=async()=>{const l=tt.value;if(!(!(l!=null&&l.id)||Q.value)){Q.value=!0;try{const t=R.value.trim();await Dt({id:l.id});let o="";if(et.value&&t){const c=l.patient_id||l.diagnosis_id;if(c)try{await Re({diagnosis_id:Number(c),content:t})}catch{o="问诊已完成,但备注未保存"}else o="问诊已完成,但该预约没有关联诊单,备注未保存"}o?v.msgWarning(o):v.msgSuccess("操作成功"),x.value=!1,R.value="",tt.value=null,D()}catch(t){v.msgError((t==null?void 0:t.msg)||(t==null?void 0:t.message)||"操作失败")}finally{Q.value=!1}}},ft=l=>{var t;if(!l.patient_id){v.msgWarning("该预约没有关联诊单信息");return}(t=K.value)==null||t.open("edit",l.patient_id)},Zt=l=>{ft(l)},gt=async l=>{var c;const t=Number(l.source_patient_id||0),o=Number(l.diagnosis_id||0);if(!t){v.msgWarning("患者信息不完整");return}if(!o){v.msgWarning("预约信息不完整,无法发起聊天");return}try{const m=await Ie({patient_id:t,diagnosis_id:o,appointment_id:Number(l.id)});console.log("获取聊天签名成功:",m),(c=_t.value)==null||c.open({patientId:t,patientName:l.patient_name,diagnosisId:o,appointmentId:Number(l.id),appointmentType:l.appointment_type,signatureData:m})}catch(m){console.error("获取聊天签名失败:",m),v.msgError(m.message||"获取聊天签名失败")}},st=async l=>{if(!nt(l.appointment_type)){v.msgWarning("仅视频问诊可生成视频二维码");return}if(!l.patient_id){v.msgWarning("患者信息不完整");return}H.value=l,q.value=!0,j.value=!0,G.value="";try{const t=await Ue();if(!(t!=null&&t.app_id)){v.msgError("小程序未配置,请先配置小程序信息"),q.value=!1;return}const o=pt.userInfo,c=await $e({doctor_id:l.doctor_id||"",patient_id:l.patient_id,share_user_id:(o==null?void 0:o.id)||"",mini_program_path:"pages/login/login"});c!=null&&c.qrcode_url?G.value=c.qrcode_url:v.msgError("二维码生成失败")}catch(t){console.error("生成小程序二维码失败:",t),v.msgError((t==null?void 0:t.msg)||"生成二维码失败,请重试")}finally{j.value=!1}},Jt=()=>{var l,t;D(),(t=(l=K.value)==null?void 0:l.refreshCaseList)==null||t.call(l)};function Kt(l){return(l==null?void 0:l.prescription_audit_status)===1&&Number(l==null?void 0:l.prescription_void_status)!==1?"查看":"开方"}const vt=l=>{var t;if(!l.diagnosis_id&&!l.patient_id){v.msgWarning("该预约缺少诊单信息,请先编辑患者");return}(t=X.value)==null||t.open(l)},Xt=async l=>{var t;if(!l.id){v.msgWarning("预约信息不完整");return}try{const o=await ze({appointment_id:l.id});o!=null&&o.id?(t=X.value)==null||t.openById(o.id):v.msgWarning("该预约暂无病历记录,请先开方")}catch(o){v.msgError((o==null?void 0:o.msg)||"获取病历失败")}},te=()=>{H.value&&st(H.value)},at=new Date,yt=l=>String(l).padStart(2,"0");return r.start_date=`${at.getFullYear()}-${yt(at.getMonth()+1)}-${yt(at.getDate())}`,r.end_date=r.start_date,r.status=1,Ye(async()=>{try{const l=await Pe();Z.value=Array.isArray(l)?l:[]}catch{Z.value=[]}D(),F=setInterval(()=>{D({silent:!0})},Xa)}),Ze(()=>{F!==null&&(clearInterval(F),F=null)}),(l,t)=>{const o=oe,c=de,m=ne,T=ie,h=re,b=pe,P=_e,Y=me,N=ue,E=fe,L=ce,lt=ge,U=we,M=ve,w=be,C=ke,ee=ye,se=Ve,ae=Ce,$=Je("perms"),le=De;return _(),k("div",ts,[a(ae,{class:"list-card !border-none",shadow:"never"},{default:i(()=>[e("div",es,[a(T,{modelValue:s(O),"onUpdate:modelValue":t[0]||(t[0]=n=>z(O)?O.value=n:null),onTabChange:xt,class:"list-tabs"},{default:i(()=>[a(m,{name:"1"},{label:i(()=>[e("span",ss,[a(o,null,{default:i(()=>[a(s(Me))]),_:1}),t[20]||(t[20]=p("待接诊",-1)),s(S)[1]?(_(),y(c,{key:0,value:s(S)[1],class:"tab-badge tab-badge-success"},null,8,["value"])):f("",!0)])]),_:1}),a(m,{name:"all"},{label:i(()=>[e("span",as,[a(o,null,{default:i(()=>[a(s(Be))]),_:1}),t[21]||(t[21]=p("全部",-1))])]),_:1}),a(m,{name:"4"},{label:i(()=>[e("span",ls,[a(o,null,{default:i(()=>[a(s(Ct))]),_:1}),t[22]||(t[22]=p("已过号",-1)),s(S)[4]?(_(),y(c,{key:0,value:s(S)[4],class:"tab-badge tab-badge-danger"},null,8,["value"])):f("",!0)])]),_:1}),a(m,{name:"2"},{label:i(()=>[e("span",is,[a(o,null,{default:i(()=>[a(s(Vt))]),_:1}),t[23]||(t[23]=p("已取消",-1)),s(S)[2]?(_(),y(c,{key:0,value:s(S)[2],class:"tab-badge tab-badge-info"},null,8,["value"])):f("",!0)])]),_:1}),a(m,{name:"3"},{label:i(()=>[e("span",ns,[a(o,null,{default:i(()=>[a(s(Oe))]),_:1}),t[24]||(t[24]=p("已完成",-1)),s(S)[3]?(_(),y(c,{key:0,value:s(S)[3],class:"tab-badge tab-badge-primary"},null,8,["value"])):f("",!0)])]),_:1})]),_:1},8,["modelValue"]),e("div",os,[a(h,{modelValue:s(r).patient_name,"onUpdate:modelValue":t[1]||(t[1]=n=>s(r).patient_name=n),placeholder:"患者姓名",clearable:"",size:"small",class:"action-input",onKeyup:Ee(mt,["enter"])},null,8,["modelValue"]),a(b,{type:"primary",size:"small",onClick:mt},{default:i(()=>[...t[25]||(t[25]=[p("查询",-1)])]),_:1}),a(N,{trigger:"click",onCommand:Rt},{dropdown:i(()=>[a(Y,null,{default:i(()=>[s($t)?(_(),y(P,{key:0,class:"dropdown-item-with-input",onClick:t[4]||(t[4]=bt(()=>{},["stop"]))},{default:i(()=>[t[27]||(t[27]=e("span",{class:"dropdown-label"},"医生",-1)),a(h,{modelValue:s(r).doctor_name,"onUpdate:modelValue":t[2]||(t[2]=n=>s(r).doctor_name=n),placeholder:"医生",size:"small",class:"dropdown-input",onClick:t[3]||(t[3]=bt(()=>{},["stop"]))},null,8,["modelValue"])]),_:1})):f("",!0),a(P,{command:"customDate",divided:""},{default:i(()=>[a(o,null,{default:i(()=>[a(s(Et))]),_:1}),t[28]||(t[28]=p(" 自定义日期 ",-1))]),_:1}),a(P,{command:"reset"},{default:i(()=>[a(o,null,{default:i(()=>[a(s(Fe))]),_:1}),t[29]||(t[29]=p(" 重置 ",-1))]),_:1})]),_:1})]),default:i(()=>[a(b,{size:"small"},{default:i(()=>[t[26]||(t[26]=p("更多",-1)),a(o,{class:"el-icon--right"},{default:i(()=>[a(s(wt))]),_:1})]),_:1})]),_:1})])]),e("div",ds,[e("div",rs,[t[36]||(t[36]=e("span",{class:"filter-label"},"日期",-1)),a(L,{modelValue:s(r).date_preset,"onUpdate:modelValue":t[5]||(t[5]=n=>s(r).date_preset=n),size:"small",onChange:Ut,class:"filter-radio"},{default:i(()=>[a(E,{value:"yesterday"},{default:i(()=>[...t[30]||(t[30]=[p("昨天挂号",-1)])]),_:1}),a(E,{value:"day_before"},{default:i(()=>[...t[31]||(t[31]=[p("前天挂号",-1)])]),_:1}),a(E,{value:"today"},{default:i(()=>[...t[32]||(t[32]=[p("当天挂号",-1)])]),_:1}),a(E,{value:"tomorrow"},{default:i(()=>[...t[33]||(t[33]=[p("明天挂号",-1)])]),_:1}),a(E,{value:"day_after"},{default:i(()=>[...t[34]||(t[34]=[p("后天挂号",-1)])]),_:1}),a(E,{value:""},{default:i(()=>[...t[35]||(t[35]=[p("不限",-1)])]),_:1})]),_:1},8,["modelValue"])]),e("div",ps,[t[40]||(t[40]=e("span",{class:"filter-label"},"确认诊单",-1)),a(L,{modelValue:s(r).diagnosis_confirmed,"onUpdate:modelValue":t[6]||(t[6]=n=>s(r).diagnosis_confirmed=n),size:"small",onChange:Nt,class:"filter-radio"},{default:i(()=>[a(E,{value:""},{default:i(()=>[...t[37]||(t[37]=[p("全部",-1)])]),_:1}),a(E,{value:"1"},{default:i(()=>[...t[38]||(t[38]=[p("已确认",-1)])]),_:1}),a(E,{value:"0"},{default:i(()=>[...t[39]||(t[39]=[p("未确认",-1)])]),_:1})]),_:1},8,["modelValue"])]),e("div",us,[t[41]||(t[41]=e("span",{class:"filter-label"},"部门",-1)),a(lt,{modelValue:s(r).assistant_dept_id,"onUpdate:modelValue":t[7]||(t[7]=n=>s(r).assistant_dept_id=n),data:s(Z),class:"filter-dept-select",clearable:"",filterable:"","check-strictly":"","default-expand-all":!0,"node-key":"id",size:"small",props:zt,placeholder:"选父级含子级",onChange:Lt},null,8,["modelValue","data"])])]),a(M,{modelValue:s(A),"onUpdate:modelValue":t[11]||(t[11]=n=>z(A)?A.value=n:null),title:"自定义日期",width:"400px","append-to-body":"","close-on-click-modal":!0},{footer:i(()=>[a(b,{onClick:t[10]||(t[10]=n=>A.value=!1)},{default:i(()=>[...t[42]||(t[42]=[p("取消",-1)])]),_:1}),a(b,{type:"primary",onClick:qt},{default:i(()=>[...t[43]||(t[43]=[p("确定",-1)])]),_:1})]),default:i(()=>[a(U,{startTime:s(r).start_date,"onUpdate:startTime":t[8]||(t[8]=n=>s(r).start_date=n),endTime:s(r).end_date,"onUpdate:endTime":t[9]||(t[9]=n=>s(r).end_date=n)},null,8,["startTime","endTime"])]),_:1},8,["modelValue"]),e("div",ms,[I((_(),y(ee,{data:s(V).lists,size:"default",class:"appointment-table"},{default:i(()=>[a(w,{label:"ID",prop:"id",width:"72",align:"center"}),a(w,{label:"患者信息","min-width":"140"},{default:i(({row:n})=>[e("div",_s,[e("div",cs,[e("div",fs,u(n.patient_name),1),e("div",gs,u(It(n.patient_phone)),1),e("div",vs,u([n.gender===1?"男":n.gender===0?"女":"",n.age!=null?n.age+"岁":"",n.height!=null?n.height+"cm":"",n.weight!=null?n.weight+"kg":""].filter(Boolean).join(" ")||"-"),1)])])]),_:1}),a(w,{label:"医生",prop:"doctor_name",width:"90","show-overflow-tooltip":""}),a(w,{label:"预约时间","min-width":"120"},{default:i(({row:n})=>[e("div",ys,[e("div",bs,u(n.appointment_date),1),e("div",ks,u(n.appointment_time),1)])]),_:1}),a(w,{label:"助理",prop:"assistant_name",width:"100","show-overflow-tooltip":""},{default:i(({row:n})=>[p(u(n.assistant_name||"—"),1)]),_:1}),a(w,{label:"面诊类型",width:"110"},{default:i(({row:n})=>[p(u(s(kt)(n.appointment_type)),1)]),_:1}),a(w,{label:"确认诊单",width:"90",align:"center"},{default:i(({row:n})=>[n.diagnosis_confirmed?(_(),y(C,{key:0,type:"success",size:"small",effect:"plain"},{default:i(()=>[...t[44]||(t[44]=[p("已确认",-1)])]),_:1})):(_(),y(C,{key:1,type:"warning",size:"small",effect:"plain"},{default:i(()=>[...t[45]||(t[45]=[p("未确认",-1)])]),_:1}))]),_:1}),a(w,{label:"开方",width:"120",align:"center"},{default:i(({row:n})=>[e("div",Ds,[n.has_prescription?(_(),y(C,{key:0,type:"success",size:"small",effect:"plain"},{default:i(()=>[...t[46]||(t[46]=[p("已开方",-1)])]),_:1})):(_(),y(C,{key:1,type:"info",size:"small",effect:"plain"},{default:i(()=>[...t[47]||(t[47]=[p("未开方",-1)])]),_:1})),n.has_prescription&&n.prescription_is_system_auto===1?(_(),y(C,{key:2,type:"warning",size:"small",effect:"plain"},{default:i(()=>[...t[48]||(t[48]=[p(" 系统代开 ",-1)])]),_:1})):f("",!0)])]),_:1}),a(w,{label:"状态",width:"90",align:"center"},{default:i(({row:n})=>[a(C,{type:n.status===1?"success":n.status===2?"info":n.status===3?"primary":"danger",size:"small",effect:"light",round:""},{default:i(()=>[p(u(n.status_desc),1)]),_:2},1032,["type"])]),_:1}),a(w,{label:"备注",prop:"remark","min-width":"120","show-overflow-tooltip":""}),a(w,{label:"操作",width:"380",fixed:"right",align:"left"},{default:i(({row:n})=>[e("div",Cs,[I((_(),y(b,{type:"primary",link:"",size:"small",onClick:B=>Zt(n)},{default:i(()=>[...t[49]||(t[49]=[p(" 编辑患者 ",-1)])]),_:1},8,["onClick"])),[[$,["tcm.diagnosis/edit"]]]),n.status!==3?(_(),k(Ke,{key:0},[s(nt)(n.appointment_type)?I((_(),y(b,{key:0,type:"warning",link:"",size:"small",onClick:B=>st(n),class:"action-qrcode"},{default:i(()=>[a(o,null,{default:i(()=>[a(s(We))]),_:1}),t[50]||(t[50]=p(" 视频二维码 ",-1))]),_:1},8,["onClick"])),[[$,["tcm.diagnosis/videoQr"]]]):f("",!0),I((_(),y(b,{type:"primary",link:"",size:"small",onClick:B=>gt(n)},{default:i(()=>[p(u(s(nt)(n.appointment_type)?"通话":"图文沟通"),1)]),_:2},1032,["onClick"])),[[$,["doctor.appointment/prescription"]]]),I((_(),y(b,{type:"success",link:"",size:"small",onClick:B=>ct(n)},{default:i(()=>[...t[51]||(t[51]=[p(" 完成 ",-1)])]),_:1},8,["onClick"])),[[$,["doctor.appointment/complete"]]])],64)):f("",!0),I((_(),y(b,{type:"primary",link:"",size:"small",onClick:B=>vt(n)},{default:i(()=>[p(u(Kt(n)),1)]),_:2},1032,["onClick"])),[[$,["tcm.diagnosis/kaifang"]]]),a(N,{trigger:"click",onCommand:B=>Gt(B,n),placement:"bottom-end"},{dropdown:i(()=>[a(Y,null,{default:i(()=>[I((_(),y(P,{command:"viewCase"},{default:i(()=>[a(o,null,{default:i(()=>[a(s(ot))]),_:1}),t[53]||(t[53]=p(" 病历 ",-1))]),_:1})),[[$,["tcm.diagnosis/kaifang"]]]),n.status===1?I((_(),y(P,{key:0,command:"cancel",divided:""},{default:i(()=>[a(o,null,{default:i(()=>[a(s(Vt))]),_:1}),t[54]||(t[54]=e("span",{class:"text-danger"},"取消挂号",-1))]),_:1})),[[$,["doctor.appointment/cancel"]]]):f("",!0)]),_:2},1024)]),default:i(()=>[a(b,{type:"info",link:"",size:"small"},{default:i(()=>[t[52]||(t[52]=p(" 更多 ",-1)),a(o,{class:"el-icon--right"},{default:i(()=>[a(s(wt))]),_:1})]),_:1})]),_:2},1032,["onCommand"])])]),_:1})]),_:1},8,["data"])),[[le,s(V).loading]]),e("div",Vs,[a(se,{modelValue:s(V),"onUpdate:modelValue":t[12]||(t[12]=n=>z(V)?V.value=n:null),onChange:s(ut)},null,8,["modelValue","onChange"])])])]),_:1}),a(M,{modelValue:s(J),"onUpdate:modelValue":t[13]||(t[13]=n=>z(J)?J.value=n:null),title:"挂号详情",width:"720px",class:"detail-dialog","destroy-on-close":""},{default:i(()=>[s(d)?(_(),k("div",ws,[e("div",Es,[e("div",Ss,[a(o,null,{default:i(()=>[a(s(Et))]),_:1}),t[55]||(t[55]=p(" 预约信息 ",-1))]),e("div",Ts,[e("div",hs,[t[56]||(t[56]=e("span",{class:"detail-label"},"挂号ID",-1)),e("span",Ps,u(s(d).id),1)]),e("div",Is,[t[57]||(t[57]=e("span",{class:"detail-label"},"状态",-1)),a(C,{type:s(d).status===1?"success":s(d).status===2?"info":s(d).status===3?"primary":"danger",size:"small",effect:"light"},{default:i(()=>[p(u(s(d).status_desc),1)]),_:1},8,["type"])]),e("div",$s,[t[58]||(t[58]=e("span",{class:"detail-label"},"医生",-1)),e("span",zs,u(s(d).doctor_name),1)]),e("div",As,[t[59]||(t[59]=e("span",{class:"detail-label"},"预约时间",-1)),e("span",xs,u(s(d).appointment_date)+" "+u(s(d).appointment_time),1)]),e("div",Rs,[t[60]||(t[60]=e("span",{class:"detail-label"},"时段",-1)),e("span",qs,u(s(d).period==="morning"?"上午":"下午"),1)]),e("div",Ns,[t[61]||(t[61]=e("span",{class:"detail-label"},"面诊类型",-1)),e("span",Ls,u(s(kt)(s(d).appointment_type)),1)])])]),e("div",Us,[e("div",Ms,[a(o,null,{default:i(()=>[a(s(Qe))]),_:1}),t[62]||(t[62]=p(" 患者信息 ",-1))]),e("div",Bs,[e("div",Os,[t[63]||(t[63]=e("span",{class:"detail-label"},"姓名",-1)),e("span",Fs,u(s(d).patient_name||"-"),1)]),e("div",Ws,[t[64]||(t[64]=e("span",{class:"detail-label"},"手机号",-1)),e("span",Qs,u(s(d).phone||s(d).patient_phone||"-"),1)]),e("div",js,[t[65]||(t[65]=e("span",{class:"detail-label"},"身份证号",-1)),e("span",Gs,u(s(d).id_card||"-"),1)]),e("div",Hs,[t[66]||(t[66]=e("span",{class:"detail-label"},"性别",-1)),e("span",Ys,u(s(d).gender===1?"男":s(d).gender===0?"女":"-"),1)]),e("div",Zs,[t[67]||(t[67]=e("span",{class:"detail-label"},"年龄",-1)),e("span",Js,u(s(d).age!=null?s(d).age+"岁":"-"),1)]),e("div",Ks,[t[68]||(t[68]=e("span",{class:"detail-label"},"诊断日期",-1)),e("span",Xs,u(s(d).diagnosis_date||"-"),1)]),e("div",ta,[t[69]||(t[69]=e("span",{class:"detail-label"},"婚姻状态",-1)),e("span",ea,u(s(d).marital_status===0?"未婚":s(d).marital_status===1?"已婚":s(d).marital_status===2?"离异":"-"),1)]),e("div",sa,[t[70]||(t[70]=e("span",{class:"detail-label"},"身高(cm)",-1)),e("span",aa,u(s(d).height??"-"),1)]),e("div",la,[t[71]||(t[71]=e("span",{class:"detail-label"},"体重(kg)",-1)),e("span",ia,u(s(d).weight??"-"),1)]),e("div",na,[t[72]||(t[72]=e("span",{class:"detail-label"},"地区",-1)),e("span",oa,u(s(d).region||"-"),1)]),e("div",da,[t[73]||(t[73]=e("span",{class:"detail-label"},"收缩压(mmHg)",-1)),e("span",ra,u(s(d).systolic_pressure??"-"),1)]),e("div",pa,[t[74]||(t[74]=e("span",{class:"detail-label"},"舒张压(mmHg)",-1)),e("span",ua,u(s(d).diastolic_pressure??"-"),1)]),e("div",ma,[t[75]||(t[75]=e("span",{class:"detail-label"},"空腹血糖(mmol/L)",-1)),e("span",_a,u(s(d).fasting_blood_sugar??"-"),1)]),e("div",ca,[t[76]||(t[76]=e("span",{class:"detail-label"},"诊断类型",-1)),e("span",fa,u(W(s(Bt),s(d).diagnosis_type)||"-"),1)]),e("div",ga,[t[77]||(t[77]=e("span",{class:"detail-label"},"证型",-1)),e("span",va,u(W(s(Ot),s(d).syndrome_type)||"-"),1)]),e("div",ya,[t[78]||(t[78]=e("span",{class:"detail-label"},"糖尿病期数",-1)),e("span",ba,u(W(s(Ft),s(d).diabetes_type)||"-"),1)])])]),s(d).symptoms||s(d).local_hospital_name||s(d).past_history&&s(d).past_history.length?(_(),k("div",ka,[e("div",Da,[a(o,null,{default:i(()=>[a(s(ot))]),_:1}),t[79]||(t[79]=p(" 病史信息 ",-1))]),e("div",Ca,[s(Ne)(s(d).diabetes_discovery_year)?(_(),k("div",Va,[t[80]||(t[80]=e("span",{class:"detail-label"},"发现糖尿病病史",-1)),e("span",wa,u(s(Le)(s(d).diabetes_discovery_year)),1)])):f("",!0),s(d).local_hospital_name?(_(),k("div",Ea,[t[81]||(t[81]=e("span",{class:"detail-label"},"当地就诊医院",-1)),e("span",Sa,u(s(d).local_hospital_name),1)])):f("",!0),s(d).symptoms?(_(),k("div",Ta,[t[82]||(t[82]=e("span",{class:"detail-label"},"症状补充",-1)),e("span",ha,u(s(d).symptoms),1)])):f("",!0),s(d).past_history&&s(d).past_history.length?(_(),k("div",Pa,[t[83]||(t[83]=e("span",{class:"detail-label"},"既往史",-1)),e("span",Ia,u(Qt(s(d).past_history)),1)])):f("",!0)])])):f("",!0),s(d).tongue_coating||s(d).pulse||s(d).treatment_principle||s(d).prescription?(_(),k("div",$a,[e("div",za,[a(o,null,{default:i(()=>[a(s(ot))]),_:1}),t[84]||(t[84]=p(" 诊断信息 ",-1))]),e("div",Aa,[s(d).tongue_coating?(_(),k("div",xa,[t[85]||(t[85]=e("span",{class:"detail-label"},"舌苔",-1)),e("span",Ra,u(s(d).tongue_coating),1)])):f("",!0),s(d).pulse?(_(),k("div",qa,[t[86]||(t[86]=e("span",{class:"detail-label"},"脉象",-1)),e("span",Na,u(s(d).pulse),1)])):f("",!0),s(d).treatment_principle?(_(),k("div",La,[t[87]||(t[87]=e("span",{class:"detail-label"},"治则",-1)),e("span",Ua,u(s(d).treatment_principle),1)])):f("",!0),s(d).prescription?(_(),k("div",Ma,[t[88]||(t[88]=e("span",{class:"detail-label"},"处方",-1)),e("span",Ba,u(s(d).prescription),1)])):f("",!0)])])):f("",!0),e("div",Oa,[t[89]||(t[89]=e("div",{class:"detail-section-title"},"备注",-1)),e("p",Fa,u(s(d).remark||"无"),1)])])):f("",!0)]),_:1},8,["modelValue"]),a(s(St),{ref_key:"editRef",ref:K,onSuccess:t[14]||(t[14]=()=>D({silent:!0}))},null,512),a(s(Tt),{ref_key:"prescriptionRef",ref:X,onSuccess:Jt},null,512),a(s(ht),{ref_key:"chatDialogRef",ref:_t},null,512),a(M,{modelValue:s(q),"onUpdate:modelValue":t[16]||(t[16]=n=>z(q)?q.value=n:null),title:"小程序二维码",width:"380px","close-on-click-modal":!1,class:"qrcode-dialog"},{footer:i(()=>[a(b,{onClick:t[15]||(t[15]=n=>q.value=!1)},{default:i(()=>[...t[94]||(t[94]=[p("关闭",-1)])]),_:1}),s(j)?f("",!0):(_(),y(b,{key:0,type:"primary",onClick:te},{default:i(()=>[...t[95]||(t[95]=[p(" 重新生成 ",-1)])]),_:1}))]),default:i(()=>{var n;return[e("div",Wa,[s(j)?(_(),k("div",Qa,[a(o,{class:"is-loading",size:48},{default:i(()=>[a(s(je))]),_:1}),t[90]||(t[90]=e("div",{class:"qrcode-loading-text"},"生成中...",-1))])):s(G)?(_(),k("div",ja,[e("div",Ga,[e("img",{src:s(G),alt:"小程序二维码",class:"qrcode-image"},null,8,Ha)]),e("div",Ya,[e("div",Za,"患者:"+u((n=s(H))==null?void 0:n.patient_name),1),t[91]||(t[91]=e("div",{class:"qrcode-tip"},"请使用微信扫描二维码",-1)),t[92]||(t[92]=e("div",{class:"qrcode-path"},"pages/login/login",-1))])])):(_(),k("div",Ja,[a(o,{size:40},{default:i(()=>[a(s(Ct))]),_:1}),t[93]||(t[93]=e("div",null,"生成失败,请重试",-1))]))])]}),_:1},8,["modelValue"]),a(M,{modelValue:s(x),"onUpdate:modelValue":t[19]||(t[19]=n=>z(x)?x.value=n:null),title:"完成问诊",width:"420px","append-to-body":"","close-on-click-modal":!1,"destroy-on-close":""},{footer:i(()=>[a(b,{onClick:t[18]||(t[18]=n=>x.value=!1)},{default:i(()=>[...t[97]||(t[97]=[p("取消",-1)])]),_:1}),a(b,{type:"primary",loading:s(Q),onClick:Yt},{default:i(()=>[...t[98]||(t[98]=[p("确认完成",-1)])]),_:1},8,["loading"])]),default:i(()=>[e("div",Ka,[t[96]||(t[96]=e("p",{class:"complete-dialog-tip"},"是否添加医生备注?",-1)),s(et)?(_(),y(h,{key:0,modelValue:s(R),"onUpdate:modelValue":t[17]||(t[17]=n=>z(R)?R.value=n:null),type:"textarea",rows:4,maxlength:"500","show-word-limit":"",placeholder:"填写完成备注,将追加到医生备注时间轴"},null,8,["modelValue"])):f("",!0)])]),_:1},8,["modelValue"])])}}}),Zl=xe(tl,[["__scopeId","data-v-05330d47"]]);export{Zl as default};