Files
zyt/server/public/admin/assets/index-C6mGZ4Lr.js
2026-08-05 14:06:07 +08:00

3 lines
14 KiB
JavaScript

const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/edit-Dxru0rvN.js","assets/.pnpm-CJoARskO.js","assets/.pnpm-BtiqMGM_.css","assets/tcm-BCWrWaNC.js","assets/index-DGIIeNfq.js","assets/index-ynJZC2Ez.css","assets/perm-DQosAa6e.js","assets/DailyMatrix-CqcFVl7g.js","assets/picker-HtQX0ZkW.js","assets/index-CMaTIYFB.js","assets/index-B3imPWFk.css","assets/index-yt_wDMDM.js","assets/index.vue_vue_type_script_setup_true_lang-CI_v6sRz.js","assets/index-Dxb7lLkm.js","assets/index-D0f1Mn00.css","assets/index-D30MriBb.js","assets/file-DApWCRJt.js","assets/index.vue_vue_type_script_setup_true_lang-rPwCQIWi.js","assets/usePaging-DKtm3XdH.js","assets/index-BYOmK9R5.css","assets/picker-XZbUgFct.css","assets/DiagnosisTodoList-D0IEbsoD.js","assets/DiagnosisTodoList-D0SBmTHG.css","assets/blood-thresholds-CJ1fqMjh.js","assets/DailyMatrix-DCZnxI8i.css","assets/CaseRecordList-BIljjnnK.js","assets/CaseRecordList-Cl-c3q7S.css","assets/CallRecordPanel-hzr6YHaG.js","assets/RecordingPlaybackBlock-Sc657sK5.js","assets/RecordingVideoPlayer-qwMasORO.js","assets/RecordingVideoPlayer-4DegHAwm.css","assets/RecordingPlaybackBlock-B3KYFgvg.css","assets/CallRecordPanel-TsjZtTO8.css","assets/ImChatRecordPanel-DDhbovfo.js","assets/dayjs-HJJmW-S4.js","assets/im-business-message-parse-DTpJoEdY.js","assets/ImChatRecordPanel-aX8zpWRQ.css","assets/AssignLogPanel-CWuvSY1O.js","assets/AssignLogPanel-DkQMoEkX.css","assets/AppointmentRecordPanel-D4_CaegK.js","assets/doctor-CDLpp8Jc.js","assets/AppointmentRecordPanel-DC22GDgn.css","assets/NoteTimeline-C6eSQmQo.js","assets/patient-B5KvakhF.js","assets/NoteTimeline-I2FSxX4s.css","assets/PatientOrderList-DIpD-4Ud.js","assets/PrescriptionOrderDetailDrawer-LDClaAfI.js","assets/prescription-order-utils-B0fYlULc.js","assets/PrescriptionOrderDetailDrawer-DnrTcbh_.css","assets/PatientOrderList-D8-uh2iu.css","assets/index-Bg3sFbRa.js","assets/index-meGpDNEm.js","assets/medicine-Ar04FMfZ.js","assets/index-Bu4RT9fX.css","assets/diabetes-discovery-display-B_wmGXQJ.js","assets/index-CmvUWP8L.css","assets/edit-DOd7Lhrw.css","assets/TrackingNoteTimeline-B9T8pFso.css","assets/appointment-BmyMvnez.js","assets/first_visit-Bxm26qUz.js","assets/appointment-BmvdInUs.css","assets/OrderPanel-DncXvzra.js","assets/OrderActionHost-CXjSaaiy.js","assets/OrderActionHost-l_dVpDKK.css","assets/OrderPanel-D388bBXd.css","assets/ProgressPanel-ArzBrSe3.js","assets/ProgressPanel-Cm25AULh.css"])))=>i.map(i=>d[i]);
import{o as Ee,W as xe,ap as Pe,q as _,r as I,s as a,v as s,D as o,L as m,T as i,br as Re,u,by as Ve,K as we,Y as Me,X as Ne,ac as H,b7 as Te,b8 as Ae,bA as J,bc as Le,F as Q,G as Z,bb as Oe,bp as Be,w as Se,ce as ee,cS as $e,cO as Ie,O as y,bj as Fe,bk as Ue,P as k,ae as qe,bB as ze,bi as Ke,C as We,ad as je,bg as Ge,cb as w,al as M,M as v,ba as Xe,p as g}from"./.pnpm-CJoARskO.js";import{_ as He}from"./index.vue_vue_type_script_setup_true_lang-CI_v6sRz.js";import{d as Je}from"./dayjs-HJJmW-S4.js";import{u as Qe}from"./usePaging-DKtm3XdH.js";import{h as F}from"./perm-DQosAa6e.js";import{i as N,_ as Ze}from"./index-DGIIeNfq.js";import{r as et,s as tt}from"./first_visit-Bxm26qUz.js";const at={class:"my-patients-page"},nt={class:"page-heading"},st={class:"heading-actions"},lt={class:"filter-panel"},ot={class:"filter-row filter-row-main"},it={class:"filter-group status-group"},rt={class:"filter-row date-filter-row"},dt={class:"quick-dates"},ut={class:"summary-grid"},mt={class:"summary-icon"},pt={class:"summary-copy"},_t={class:"summary-date"},ct={class:"summary-icon"},ft={class:"summary-copy"},yt={class:"summary-date"},vt={class:"summary-icon"},gt={class:"summary-copy"},bt={class:"summary-date"},kt={class:"table-heading"},Dt={class:"table-scope"},Ct={class:"patient-cell"},Yt={class:"patient-avatar"},ht={class:"doctor-cell"},Et={class:"revisit-count"},xt={class:"row-actions"},Pt={class:"pagination-wrap"},Rt=Ee({__name:"index",setup(Vt){const te=w(()=>M(()=>import("./edit-Dxru0rvN.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]))),ae=w(()=>M(()=>import("./appointment-BmyMvnez.js"),__vite__mapDeps([58,1,2,34,3,4,5,40,59,60]))),ne=w(()=>M(()=>import("./OrderPanel-DncXvzra.js"),__vite__mapDeps([61,1,2,12,18,59,4,5,62,46,3,47,48,6,63,64]))),se=w(()=>M(()=>import("./ProgressPanel-ArzBrSe3.js"),__vite__mapDeps([65,1,2,12,34,18,59,4,5,66]))),T=xe(),c=v("patients"),D=v("all"),Y=v([]),U=v(),q=v(),A=v(),L=v(),l=Xe({keyword:"",status_filter:"",start_date:"",end_date:""}),le=[{label:"全部",value:""},{label:"未确认",value:"unconfirmed"},{label:"已挂号",value:"booked"},{label:"已完成",value:"completed"},{label:"已过号",value:"missed"}],oe=[{label:"全部时间",value:"all"},{label:"今日挂号",value:"today"},{label:"明日",value:"tomorrow"},{label:"后天",value:"day_after"},{label:"近7天",value:"last7"},{label:"近30天",value:"last30"}],{pager:p,getLists:O,resetPage:C}=Qe({fetchFun:et,params:l,size:15,firstLoading:!0}),B=g(()=>{var t,e,r,d,b,P;return{today:Number(((e=(t=p.extend)==null?void 0:t.summary)==null?void 0:e.today)||0),tomorrow:Number(((d=(r=p.extend)==null?void 0:r.summary)==null?void 0:d.tomorrow)||0),day_after:Number(((P=(b=p.extend)==null?void 0:b.summary)==null?void 0:P.day_after)||0)}}),S=g(()=>{var t;return((t=p.extend)==null?void 0:t.dates)||{}}),z=g(()=>{var t,e;return((e=(t=p.extend)==null?void 0:t.scope)==null?void 0:e.label)||"按权限加载"}),K=g(()=>F(["tcm.diagnosis/edit"])),W=g(()=>F(["tcm.diagnosis/readonlyDetail"])),j=g(()=>F(["tcm.diagnosis/guahao"])),ie=g(()=>{var t,e;return c.value==="orders"?!!((t=A.value)!=null&&t.loading):c.value==="progress"?!!((e=L.value)!=null&&e.loading):p.loading});function $(){C()}function re(){C()}function h(){var t,e,r,d;return c.value==="orders"?(e=(t=A.value)==null?void 0:t.refresh)==null?void 0:e.call(t):c.value==="progress"?(d=(r=L.value)==null?void 0:r.refresh)==null?void 0:d.call(r):O()}function de(){l.keyword="",l.status_filter="",l.start_date="",l.end_date="",D.value="all",Y.value=[],C()}function E(t){D.value=t,Y.value=[];const e=Je();t==="all"?(l.start_date="",l.end_date=""):t==="today"?(l.start_date=e.format("YYYY-MM-DD"),l.end_date=l.start_date):t==="tomorrow"?(l.start_date=e.add(1,"day").format("YYYY-MM-DD"),l.end_date=l.start_date):t==="day_after"?(l.start_date=e.add(2,"day").format("YYYY-MM-DD"),l.end_date=l.start_date):t==="last7"?(l.start_date=e.subtract(6,"day").format("YYYY-MM-DD"),l.end_date=e.format("YYYY-MM-DD")):t==="last30"&&(l.start_date=e.subtract(29,"day").format("YYYY-MM-DD"),l.end_date=e.format("YYYY-MM-DD")),C()}function ue(t){t!=null&&t.length?(D.value="custom",l.start_date=t[0]||"",l.end_date=t[1]||t[0]||""):(D.value="all",l.start_date="",l.end_date=""),C()}function x(t){var e,r;if(!K.value){G(t);return}(r=(e=U.value)==null?void 0:e.open)==null||r.call(e,"edit",Number(t.diagnosis_id||t.id))}function G(t){if(!W.value){N.msgWarning("当前角色没有诊单查看权限");return}const e=T.getRoutes().find(r=>{var d;return((d=r.meta)==null?void 0:d.perms)==="tcm.diagnosis/readonlyDetail"});e!=null&&e.path?T.push({path:e.path,query:{id:String(t.diagnosis_id||t.id)}}):T.push({path:"/tcm/diagnosis-readonly",query:{id:String(t.diagnosis_id||t.id)}})}function me(t){var e,r;(r=(e=q.value)==null?void 0:e.open)==null||r.call(e,{...t,id:Number(t.diagnosis_id||t.id),patient_id:Number(t.diagnosis_id||t.id)})}function X(t){return Number(t.appointment_id)>0&&[1,4].includes(Number(t.appointment_status))}async function pe(t){if(X(t))try{await N.confirm(`确定取消“${t.patient_name||"该患者"}”的挂号吗?`),await tt({id:Number(t.appointment_id)}),N.msgSuccess("取消挂号成功"),await h()}catch(e){e!=="cancel"&&N.msgError((e==null?void 0:e.msg)||"取消挂号失败")}}function _e(t){return String(t||"患").trim().slice(0,1)}function ce(t){return{1:"primary",3:"success",4:"warning"}[Number(t)]||"info"}function fe({row:t}){return t.confirmed?Number(t.appointment_status)===4?"patient-row-missed":"":"patient-row-unconfirmed"}return Pe(()=>{O()}),(t,e)=>{const r=Re,d=we,b=Ne,P=Me,ye=Te,ve=Oe,ge=Le,be=Be,R=Se,f=Ue,ke=ze,De=Fe,Ce=He,Ye=Ge,he=Ke;return _(),I("div",at,[a("div",nt,[e[9]||(e[9]=a("div",null,[a("div",{class:"eyebrow"},"一诊"),a("h1",null,"我的患者"),a("p",null,"患者、挂号与诊单信息按当前角色和部门数据范围展示")],-1)),a("div",st,[s(r,{effect:"plain",round:""},{default:o(()=>[m(i(z.value),1)]),_:1}),s(d,{icon:u(Ve),loading:ie.value,onClick:h},{default:o(()=>[...e[8]||(e[8]=[m("刷新",-1)])]),_:1},8,["icon","loading"])])]),s(Ye,{class:"workspace-card",shadow:"never"},{default:o(()=>[s(P,{modelValue:c.value,"onUpdate:modelValue":e[0]||(e[0]=n=>c.value=n),class:"workspace-tabs"},{default:o(()=>[s(b,{label:"患者列表",name:"patients"}),s(b,{label:"订单管理",name:"orders"}),s(b,{label:"面诊进度",name:"progress"})]),_:1},8,["modelValue"]),H(a("div",null,[a("div",lt,[a("div",ot,[s(ye,{modelValue:l.keyword,"onUpdate:modelValue":e[1]||(e[1]=n=>l.keyword=n),class:"keyword-input",clearable:"","prefix-icon":u(J),placeholder:"患者姓名 / 手机号 / 助理 / 医生",onKeyup:Ae($,["enter"]),onClear:$},null,8,["modelValue","prefix-icon"]),a("div",it,[e[10]||(e[10]=a("span",{class:"filter-label"},"状态",-1)),s(ge,{modelValue:l.status_filter,"onUpdate:modelValue":e[2]||(e[2]=n=>l.status_filter=n),onChange:re},{default:o(()=>[(_(),I(Q,null,Z(le,n=>s(ve,{key:n.value,value:n.value},{default:o(()=>[m(i(n.label),1)]),_:2},1032,["value"])),64))]),_:1},8,["modelValue"])]),s(d,{type:"primary",icon:u(J),onClick:$},{default:o(()=>[...e[11]||(e[11]=[m("查询",-1)])]),_:1},8,["icon"]),s(d,{onClick:de},{default:o(()=>[...e[12]||(e[12]=[m("重置",-1)])]),_:1})]),a("div",rt,[e[13]||(e[13]=a("span",{class:"filter-label"},"挂号时间",-1)),a("div",dt,[(_(),I(Q,null,Z(oe,n=>s(d,{key:n.value,type:D.value===n.value?"primary":"default",onClick:V=>E(n.value)},{default:o(()=>[m(i(n.label),1)]),_:2},1032,["type","onClick"])),64))]),s(be,{modelValue:Y.value,"onUpdate:modelValue":e[3]||(e[3]=n=>Y.value=n),class:"date-range",type:"daterange","range-separator":"至","start-placeholder":"开始日期","end-placeholder":"结束日期","value-format":"YYYY-MM-DD",clearable:!0,onChange:ue},null,8,["modelValue"])])]),a("div",ut,[a("button",{class:"summary-card summary-today",type:"button",onClick:e[4]||(e[4]=n=>E("today"))},[a("span",mt,[s(R,null,{default:o(()=>[s(u(ee))]),_:1})]),a("span",pt,[e[14]||(e[14]=a("small",null,"今日挂号",-1)),a("strong",null,i(B.value.today),1),e[15]||(e[15]=a("em",null,"人",-1))]),a("span",_t,i(S.value.today||"—"),1)]),a("button",{class:"summary-card summary-tomorrow",type:"button",onClick:e[5]||(e[5]=n=>E("tomorrow"))},[a("span",ct,[s(R,null,{default:o(()=>[s(u($e))]),_:1})]),a("span",ft,[e[16]||(e[16]=a("small",null,"明日预约",-1)),a("strong",null,i(B.value.tomorrow),1),e[17]||(e[17]=a("em",null,"人",-1))]),a("span",yt,i(S.value.tomorrow||"—"),1)]),a("button",{class:"summary-card summary-after",type:"button",onClick:e[6]||(e[6]=n=>E("day_after"))},[a("span",vt,[s(R,null,{default:o(()=>[s(u(ee))]),_:1})]),a("span",gt,[e[18]||(e[18]=a("small",null,"后天预约",-1)),a("strong",null,i(B.value.day_after),1),e[19]||(e[19]=a("em",null,"人",-1))]),a("span",bt,i(S.value.day_after||"—"),1)])]),a("div",kt,[a("div",null,[e[20]||(e[20]=a("h2",null,"患者列表",-1)),a("span",null,"共 "+i(u(p).count)+" 位患者",1)]),a("span",Dt,[s(R,null,{default:o(()=>[s(u(Ie))]),_:1}),m(i(z.value),1)])]),H((_(),y(De,{data:u(p).lists,class:"patient-table","row-class-name":fe,onRowDblclick:x},{empty:o(()=>[s(ke,{description:"当前范围内暂无患者"})]),default:o(()=>[s(f,{label:"患者","min-width":"190",fixed:"left"},{default:o(({row:n})=>[a("div",Ct,[a("span",Yt,i(_e(n.patient_name)),1),a("div",null,[a("strong",null,i(n.patient_name||"未命名患者"),1),a("p",null,i(n.gender_desc)+" · "+i(n.age||"—")+"岁 · "+i(n.phone_masked||"无手机号"),1)])])]),_:1}),s(f,{prop:"assistant_name",label:"归属助理","min-width":"120"}),s(f,{label:"预约医生","min-width":"150"},{default:o(({row:n})=>[a("div",ht,[a("span",null,i(n.appointment_doctor_name||"未预约"),1),n.appointment_status?(_(),y(r,{key:0,size:"small",type:ce(n.appointment_status),effect:"light"},{default:o(()=>[m(i(n.appointment_status_text),1)]),_:2},1032,["type"])):k("",!0)])]),_:1}),s(f,{label:"预约时间","min-width":"165"},{default:o(({row:n})=>[a("span",{class:qe(["appointment-time",{empty:!n.appointment_time_text}])},i(n.appointment_time_text||"暂无预约"),3)]),_:1}),s(f,{label:"复诊次数",width:"105",align:"center"},{default:o(({row:n})=>[a("span",Et,i(n.revisit_count||0)+" 次",1)]),_:1}),s(f,{label:"确认信息",width:"110",align:"center"},{default:o(({row:n})=>[s(r,{size:"small",type:n.confirmed?"success":"warning",effect:"light"},{default:o(()=>[m(i(n.confirmation_text),1)]),_:2},1032,["type"])]),_:1}),s(f,{label:"诊单日期",width:"118"},{default:o(({row:n})=>[m(i(n.diagnosis_date_text||"—"),1)]),_:1}),s(f,{label:"操作","min-width":"205",fixed:"right"},{default:o(({row:n})=>[a("div",xt,[K.value?(_(),y(d,{key:0,type:"primary",link:"",onClick:V=>x(n)},{default:o(()=>[...e[21]||(e[21]=[m("诊单",-1)])]),_:1},8,["onClick"])):W.value?(_(),y(d,{key:1,type:"primary",link:"",onClick:V=>G(n)},{default:o(()=>[...e[22]||(e[22]=[m("查看",-1)])]),_:1},8,["onClick"])):k("",!0),j.value?(_(),y(d,{key:2,type:"primary",link:"",onClick:V=>me(n)},{default:o(()=>[...e[23]||(e[23]=[m("预约",-1)])]),_:1},8,["onClick"])):k("",!0),j.value&&X(n)?(_(),y(d,{key:3,type:"danger",link:"",onClick:V=>pe(n)},{default:o(()=>[...e[24]||(e[24]=[m(" 取消挂号 ",-1)])]),_:1},8,["onClick"])):k("",!0)])]),_:1})]),_:1},8,["data"])),[[he,u(p).loading]]),a("div",Pt,[s(Ce,{modelValue:u(p),"onUpdate:modelValue":e[7]||(e[7]=n=>We(p)?p.value=n:null),onChange:u(O)},null,8,["modelValue","onChange"])])],512),[[je,c.value==="patients"]]),c.value==="orders"?(_(),y(u(ne),{key:0,ref_key:"orderPanelRef",ref:A,onOpenDiagnosis:x},null,512)):k("",!0),c.value==="progress"?(_(),y(u(se),{key:1,ref_key:"progressPanelRef",ref:L,onOpenDiagnosis:x},null,512)):k("",!0)]),_:1}),s(u(te),{ref_key:"editRef",ref:U,onSuccess:h},null,512),s(u(ae),{ref_key:"appointmentRef",ref:q,"api-scene":"my_patient",onSuccess:h},null,512)])}}}),Bt=Ze(Rt,[["__scopeId","data-v-5acdd923"]]);export{Bt as default};