# Conflicts: # server/public/admin/assets/.pnpm-Cy9nIqIg.js # server/public/admin/assets/403-DZv43rg8.js # server/public/admin/assets/404-BdEnY8Op.js # server/public/admin/assets/@tencentcloud/call-engine-js-DC0nMlpX.js # server/public/admin/assets/@tencentcloud/chat-BgZr4keH.js # server/public/admin/assets/@tencentcloud/chat-uikit-engine-D2vNRuTA.js # server/public/admin/assets/AppointmentRecordPanel-BLiYiAbY.js # server/public/admin/assets/AssignLogPanel-B37Pa478.js # server/public/admin/assets/AssistantWatchCallDialog-CwSHnJSG.js # server/public/admin/assets/BloodRecordList-Drn0jNIG.js # server/public/admin/assets/CaseRecordList-DOWsaiL5.js # server/public/admin/assets/ConsultationTranscriptPanel-fqClePUL.js # server/public/admin/assets/DailyMatrix-B_BuE6Wk.js # server/public/admin/assets/DiagnosisTodoList-BvKuWevJ.js # server/public/admin/assets/DietRecordList-CNcxCdHz.js # server/public/admin/assets/ExerciseRecordList-DcrDxj4-.js # server/public/admin/assets/FollowupAudioField-DwFRovp6.js # server/public/admin/assets/FollowupAudioPanel-161TbfEd.js # server/public/admin/assets/FollowupAudioReview-DUx7pf7f.js # server/public/admin/assets/GancaoSubmissionReconcileButton.vue_vue_type_script_setup_true_lang-8OIk4lHB.js # server/public/admin/assets/ImChatRecordPanel-DHff4nFV.js # server/public/admin/assets/MediaSourceSelect-DAiidBXd.js # server/public/admin/assets/MediaSourceSelect.vue_vue_type_script_setup_true_lang-BnUzDRdh.js # server/public/admin/assets/MessageBubble-bYTr-oyb.js # server/public/admin/assets/NoteTimeline-jPsAfPnk.js # server/public/admin/assets/OrderActionHost-CM9FpHNh.js # server/public/admin/assets/OrderPanel-Co_XYZDR.js # server/public/admin/assets/PatientCaseCard-CDC9oDgL.js # server/public/admin/assets/PatientInfoCard-wIayMpdX.js # server/public/admin/assets/PatientOrderList-C0nBgRYQ.js # server/public/admin/assets/PrescriptionAiBatchGenerateDialog--28G2reg.js # server/public/admin/assets/PrescriptionAiReportDialog-BElqcJhz.js # server/public/admin/assets/PrescriptionOrderDetailDrawer-C1YLaoua.js # server/public/admin/assets/PrescriptionOrderTimeDialog.vue_vue_type_script_setup_true_lang-zSycYEpH.js # server/public/admin/assets/ProgressPanel-DuOaWdPj.js # server/public/admin/assets/PromotionAutomationForm-CEi-wURu.js # server/public/admin/assets/RecordingPlaybackBlock-B1YEgQib.js # server/public/admin/assets/RecordingVideoPlayer-CzGfJLYq.js # server/public/admin/assets/SendPanel-C81B60j9.js # server/public/admin/assets/TrackingMatrix-Dvlry4c2.js # server/public/admin/assets/TrackingNoteTimeline-CcOnnAQR.js # server/public/admin/assets/WecomFloatingWidgetBuilder-BZ1rtSPX.js # server/public/admin/assets/WelcomeMessageEditor-FXBSgF_s.js # server/public/admin/assets/account-adjust.vue_vue_type_script_setup_true_lang-BDg3Vt-5.js # server/public/admin/assets/account_cost-1Kig3__5.js # server/public/admin/assets/add-CnMHBvcC.js # server/public/admin/assets/admin-mWKPRS5Z.js # server/public/admin/assets/ai_mcp-BdB18eax.js # server/public/admin/assets/appointment-BABD2Tar.js # server/public/admin/assets/article-B2IS97ge.js # server/public/admin/assets/asset-fny0UJmY.js # server/public/admin/assets/attr-BO203wr6.js # server/public/admin/assets/attr-CYxX_t_S.js # server/public/admin/assets/attr-setting.vue_vue_type_script_setup_true_lang-BK3AJqkU.js # server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-C1vfB9ju.js # server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-CA3Eqz_I.js # server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-CISdFe5h.js # server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-CfyBAgmS.js # server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-LP4IWWFR.js # server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-R-6FX7Mu.js # server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-bgUhDqjK.js # server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-hGjVuUay.js # server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-hudO2m34.js # server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-i4BbFcAt.js # server/public/admin/assets/auth.vue_vue_type_script_setup_true_lang-BoZeVoZP.js # server/public/admin/assets/balance_details-DOLi1Dm0.js # server/public/admin/assets/bind-work-wechat-DFHKss6n.js # server/public/admin/assets/cache-nfUb4Iya.js # server/public/admin/assets/change-password-CeOlId8o.js # server/public/admin/assets/code-B18aVPXd.js # server/public/admin/assets/code-preview.vue_vue_type_script_setup_true_lang-DGCCjmlM.js # server/public/admin/assets/commission-settlement-CdEu_C9J.js # server/public/admin/assets/commission-settlement-CdlIY0iL.css # server/public/admin/assets/config-J5lzqSHX.js # server/public/admin/assets/consumer-BpKM0EGl.js # server/public/admin/assets/content-69Fk_4pj.js # server/public/admin/assets/content-BKD0OzuH.js # server/public/admin/assets/content-CBy84fnS.js # server/public/admin/assets/content.vue_vue_type_script_setup_true_lang-AQZfsEkF.js # server/public/admin/assets/content.vue_vue_type_script_setup_true_lang-BlBOVIVr.js # server/public/admin/assets/content.vue_vue_type_script_setup_true_lang-ByXjA9a8.js # server/public/admin/assets/content.vue_vue_type_script_setup_true_lang-DBQ1TxzP.js # server/public/admin/assets/content.vue_vue_type_script_setup_true_lang-DSdHmkxS.js # server/public/admin/assets/cost-edit.vue_vue_type_script_setup_true_lang-CFW87alA.js # server/public/admin/assets/data-table.vue_vue_type_script_setup_true_lang-DLwRo6Tk.js # server/public/admin/assets/dayjs-LzqDqVlD.js # server/public/admin/assets/decoration-DiTN-PkH.js # server/public/admin/assets/decoration-img-BHQwkVvP.js # server/public/admin/assets/default_reply-D8zCYW7U.js # server/public/admin/assets/department-DWsa1OjT.js # server/public/admin/assets/dept-tongji-eyhTfbdn.js # server/public/admin/assets/desktop_workstation-DjyYOet-.js # server/public/admin/assets/detail-BZAR9ddi.js # server/public/admin/assets/detail-CFyC8ImZ.js # server/public/admin/assets/dict-K5jXOVeu.js # server/public/admin/assets/doctor-67HUqvH6.js # server/public/admin/assets/edit-BVGUIRWC.js # server/public/admin/assets/edit-BYRC6YDz.css # server/public/admin/assets/edit-CiIgrwSx.js # server/public/admin/assets/edit-CtQmrXFk.js # server/public/admin/assets/edit-DFAdp19K.js # server/public/admin/assets/edit-DNccqn8z.js # server/public/admin/assets/edit-DjWNlPnW.js # server/public/admin/assets/edit-Qrv_aqRa.js # server/public/admin/assets/edit-vVRINxRB.js # server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-B_oC0AEU.js # server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-C7-_pAL8.js # server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-CTFgk6QV.js # server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-CX_KUDU8.js # server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-DyP0DJmF.js # server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-DyqPlqpu.js # server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-KBdoyuFG.js # server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-NbrHRZf2.js # server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-z-MjcUR0.js # server/public/admin/assets/edit.vue_vue_type_script_setup_true_name_articleColumnEdit_lang-DKmZkTfn.js # server/public/admin/assets/environment-CypnLxrG.js # server/public/admin/assets/error-qleaM0eA.js # server/public/admin/assets/fans-BEy6y9dV.js # server/public/admin/assets/file-BbPuzGA_.js # server/public/admin/assets/file-CYwMKS77.js # server/public/admin/assets/filing-CD0AWXGl.js # server/public/admin/assets/finance-D_CR5ikx.js # server/public/admin/assets/first_visit-D4R0U3AW.js # server/public/admin/assets/follow_reply-c3sC_GVa.js # server/public/admin/assets/footer.vue_vue_type_script_setup_true_lang-g2gc-rGu.js # server/public/admin/assets/guahao-Dx7MIOXD.js # server/public/admin/assets/h5-DEYp6ziA.js # server/public/admin/assets/icon-CXrybs-g.js # server/public/admin/assets/im-business-message-parse-D_ibrMLq.js # server/public/admin/assets/index-01yWb2WC.js # server/public/admin/assets/index-6D3QYnU-.js # server/public/admin/assets/index-B1iWGyoA.js # server/public/admin/assets/index-B4AHD13Q.js # server/public/admin/assets/index-BBfgtFWE.js # server/public/admin/assets/index-BBw5kvK3.js # server/public/admin/assets/index-BDAWyLAZ.js # server/public/admin/assets/index-BJGIfP1w.js # server/public/admin/assets/index-BQUdwcn-.js # server/public/admin/assets/index-BSMBP3_x.js # server/public/admin/assets/index-BdkP3TxP.js # server/public/admin/assets/index-BgMeTKOG.js # server/public/admin/assets/index-Bmrtumah.js # server/public/admin/assets/index-Brsj06xV.js # server/public/admin/assets/index-Burmlw_C.js # server/public/admin/assets/index-C06c4h92.js # server/public/admin/assets/index-C1h5WVyC.js # server/public/admin/assets/index-C2Gny0kk.js # server/public/admin/assets/index-C5O-FG0j.js # server/public/admin/assets/index-C8BoF1ue.js # server/public/admin/assets/index-CJuWPVul.js # server/public/admin/assets/index-CV08lFR0.js # server/public/admin/assets/index-C_WKJDWz.js # server/public/admin/assets/index-Cew5Amf6.js # server/public/admin/assets/index-CkXW7n_b.js # server/public/admin/assets/index-CprgR4Ho.js # server/public/admin/assets/index-Csf0cSVI.js # server/public/admin/assets/index-Cux23s8_.js # server/public/admin/assets/index-D0fXvBxu.js # server/public/admin/assets/index-D8yz_vWn.js # server/public/admin/assets/index-DBKQxzkM.js # server/public/admin/assets/index-DIjSXq4q.js # server/public/admin/assets/index-DIqVZCk0.js # server/public/admin/assets/index-DNsVxejj.js # server/public/admin/assets/index-DPWF9bqo.js # server/public/admin/assets/index-DQ51fSAo.js # server/public/admin/assets/index-DQ9Uu3LT.js # server/public/admin/assets/index-DWRHbuqT.js # server/public/admin/assets/index-Db2Y9m7h.js # server/public/admin/assets/index-DcHdMI2B.js # server/public/admin/assets/index-DgPgE-Vl.js # server/public/admin/assets/index-Dr8oROcK.js # server/public/admin/assets/index-Ds_Mrym4.js # server/public/admin/assets/index-DtSyPsbW.js # server/public/admin/assets/index-GT7BM7PS.js # server/public/admin/assets/index-JZkFc8I0.js # server/public/admin/assets/index-hNEe3rMW.js # server/public/admin/assets/index-kMiV0948.js # server/public/admin/assets/index-qwjw9zcC.js # server/public/admin/assets/index.vue_vue_type_script_setup_true_lang-BClfSqof.js # server/public/admin/assets/index.vue_vue_type_script_setup_true_lang-BtlhchBa.js # server/public/admin/assets/index.vue_vue_type_script_setup_true_lang-C6aeOkz-.js # server/public/admin/assets/index.vue_vue_type_script_setup_true_lang-Cxgoepog.js # server/public/admin/assets/index.vue_vue_type_script_setup_true_lang-Dx6SeCGU.js # server/public/admin/assets/index.vue_vue_type_style_index_0_lang-DFOUY-wL.js # server/public/admin/assets/information-D4VXaoVX.js # server/public/admin/assets/keyword_reply-CtUT2T_C.js # server/public/admin/assets/link-DAAa4-8h.js # server/public/admin/assets/list-B31OC0dY.js # server/public/admin/assets/login-D-CTVkUr.js # server/public/admin/assets/login_register-BiM6Wf25.js # server/public/admin/assets/medicine-BGJ8mZD8.js # server/public/admin/assets/medicine-CNGccw4f.js # server/public/admin/assets/menu-BhV_PotF.js # server/public/admin/assets/menu-CixPRDpt.js # server/public/admin/assets/menu-set.vue_vue_type_script_setup_true_lang-B0ghs-Pc.js # server/public/admin/assets/message-DWVo1Jk8.js # server/public/admin/assets/mobile-style.vue_vue_type_script_setup_true_lang-B9BK24HQ.js # server/public/admin/assets/mubiao-A1xD0JzP.js # server/public/admin/assets/mubiao-dept-card-DDiegAnr.js # server/public/admin/assets/mubiao-dept-node-Cmw8YiIy.js # server/public/admin/assets/oa-attr-DZLm3ufW.js # server/public/admin/assets/oa-menu-form-edit.vue_vue_type_script_setup_true_lang-CXz4UbLJ.js # server/public/admin/assets/oa-menu-form.vue_vue_type_script_setup_true_lang-BPJDNffP.js # server/public/admin/assets/open_setting-YVf3y2zz.js # server/public/admin/assets/order-Bc7o9SOH.js # server/public/admin/assets/overflow-DhSFQzu9.js # server/public/admin/assets/paiban-BY9Nnrmr.js # server/public/admin/assets/patient-DxJlPLVv.js # server/public/admin/assets/patient-call-q2qMhhFV.js # server/public/admin/assets/pay-DWoC89w_.js # server/public/admin/assets/pc-CDHcPjgN.js # server/public/admin/assets/perm-DaS8_T_U.js # server/public/admin/assets/picker-ruBeJVAv.js # server/public/admin/assets/picker.vue_vue_type_script_setup_true_lang-DsjIkNAZ.js # server/public/admin/assets/popover_input-CrckcagQ.js # server/public/admin/assets/post-DGDTwH-Z.js # server/public/admin/assets/prescription-drawer-DN1NpnaF.js # server/public/admin/assets/preview-BbXyDhjZ.js # server/public/admin/assets/preview-pc-DIFp8DvX.js # server/public/admin/assets/progress-BUj9Y2lB.js # server/public/admin/assets/protocol-Clsp_lEu.js # server/public/admin/assets/qywx-CxG05a7f.js # server/public/admin/assets/recharge_record-CymZKQ4E.js # server/public/admin/assets/refund-log.vue_vue_type_script_setup_true_lang-Choelpx6.js # server/public/admin/assets/refund_record-BLbeOAEj.js # server/public/admin/assets/relations-add.vue_vue_type_script_setup_true_lang-BRi9G5mf.js # server/public/admin/assets/role-Czcmecam.js # server/public/admin/assets/roster-Bh9PjuXi.js # server/public/admin/assets/rtc-detect-BFElJVVn.js # server/public/admin/assets/self_input_stats-P0WLo9tC.js # server/public/admin/assets/setting-CCd8WCbC.js # server/public/admin/assets/setup-HuwOPKIm.js # server/public/admin/assets/statistics-Cj3WlBni.js # server/public/admin/assets/stats-E_9WKdl6.js # server/public/admin/assets/style-DoPXLvzO.js # server/public/admin/assets/tabbar-DD2RRhme.js # server/public/admin/assets/tcm-E9u-W8Oy.js # server/public/admin/assets/theme-picker-NdSgC88S.js # server/public/admin/assets/tim-profanity-filter-plugin-BvbMOVpi.js # server/public/admin/assets/tim-upload-plugin-D7nWSdhF.js # server/public/admin/assets/tongji-yCfKN-LL.js # server/public/admin/assets/upload-CjtahvI1.js # server/public/admin/assets/useDictOptions-LZFsDBEH.js # server/public/admin/assets/useListTimeFilter-CUZgt-II.js # server/public/admin/assets/useLockFn-C2guENRT.js # server/public/admin/assets/useMediaSourceOptions-wCazM6uJ.js # server/public/admin/assets/useMenuOa-92GS9rAv.js # server/public/admin/assets/usePaging-DzgVFG9b.js # server/public/admin/assets/user-DHg9QKqg.js # server/public/admin/assets/weapp-C5C4Oypv.js # server/public/admin/assets/weapp-CgFixEn4.js # server/public/admin/assets/website-Dk_rtWyw.js # server/public/admin/assets/wx_oa-BR5bK2fX.js # server/public/admin/assets/yeji-BlMBwtyi.js # server/public/admin/assets/yeji-edit.vue_vue_type_script_setup_true_lang-AeltfJWh.js # server/public/admin/index.html
2 lines
11 KiB
JavaScript
2 lines
11 KiB
JavaScript
import{o as at,W as Nt,M as C,ap as Et,aq as St,q as i,r as c,s as a,v as l,D as r,u as I,ci as xt,w as Vt,L as k,az as Mt,cy as $t,bk as Ct,bj as It,b_ as et,bc as Tt,aA as Dt,K as At,cz as Rt,cn as Pt,F as B,G as nt,O as T,bg as zt,T as p,bh as Ut,P as N,ac as Yt,bo as Bt,bm as Lt,ae as G,bn as Ot,bO as Ft,aC as qt,p as D,bl as Gt,bx as Kt}from"./.pnpm-Cy9nIqIg.js";import{d as K}from"./dayjs-LzqDqVlD.js";import{f as jt,a as st}from"./doctor-Ca4yZYtr.js";import{u as Wt,_ as Ht}from"./index-BGCyUBQ6.js";const Zt={class:"dp-page"},Jt={class:"dp-glass dp-toolbar"},Qt={class:"dp-toolbar-row"},Xt={class:"dp-field-label"},wt={class:"dp-field-label"},te={class:"dp-field-label"},ee={class:"dp-toolbar-actions"},ne={key:0,class:"dp-glass dp-doc-section"},se={class:"dp-section-head"},ae={class:"dp-glass dp-table-wrap"},le={class:"dp-table-head"},oe={class:"dp-table-head-left"},ie={key:0,class:"dp-table-range"},de={class:"dp-table-badges"},ue={key:0,class:"dp-chip dp-chip--account"},re={key:1,class:"dp-chip dp-chip--doc"},ce={key:2,class:"dp-chip dp-chip--count"},pe={key:3,class:"dp-chip dp-chip--muted"},_e={class:"dp-my-patients-eta"},me={class:"dp-cell-user-body"},fe={class:"dp-avatar"},ve={class:"dp-user-meta"},be={class:"dp-user-name"},ge={class:"dp-user-phone"},he={class:"dp-time"},ye={class:"dp-steps"},ke={class:"dp-step-dot"},Ne={class:"dp-step-text"},Ee={class:"dp-step-name"},Se={key:0,class:"dp-step-hint"},xe={key:1,class:"dp-muted"},Ve={key:1,class:"dp-muted"},Me=at({name:"doctorProgress"}),$e=at({...Me,setup(Ce){const lt=Nt(),j=Wt(),A=C(!1),E=C([]),f=C(void 0),S=C([]),R=()=>K().format("YYYY-MM-DD"),h=C([R(),R()]),v=qt({status:"",patient_name:""}),W=D(()=>{const e=f.value;if(e===void 0)return"";const t=E.value.find(n=>Number(n.id)===e);return t?String(t.name||t.account||""):""}),ot=D(()=>{var t;const e=(t=j.userInfo)==null?void 0:t.id;return e!=null&&e!==""?Number(e):NaN}),H=D(()=>{const e=j.userInfo||{};return String(e.name||e.account||"").trim()});function L(e){const t=ot.value;if(Number.isNaN(t))return!1;const n=e==null?void 0:e.assistant_id;return n==null||n===""?!1:Number(n)===t}const it=15,Z=C(0);let P=null;function J(e){const t=String(e.appointment_date||"");let n=e.appointment_time||"";return typeof n=="string"&&n.length>5&&(n=n.slice(0,5)),`${t} ${n}`.trim()}function dt(e){const t=e.appointment_date;if(!t)return null;let n=e.appointment_time||"00:00";typeof n=="string"&&n.length>5&&(n=n.slice(0,5));const o=K(`${t} ${n}`);return o.isValid()?o:null}function Q(e){const t=Math.max(0,Math.round(e));if(t===0)return"不到 1 分钟";if(t<60)return`${t} 分钟`;const n=Math.floor(t/60),o=t%60;return o===0?`${n} 小时`:`${n} 小时${o} 分钟`}function ut(e){if(Z.value,!L(e))return"";const t=Number(e.status);if(t===3)return"面诊已完成(医生已点完成)";if(t===4)return"已过号,无法按序预估";if(t!==1)return"";const n=K(),o=dt(e),d=o?o.isAfter(n):!1,_=d&&o?Math.max(0,o.diff(n,"minute")):0,y=S.value.filter(u=>u.appointment_date===e.appointment_date&&Number(u.status)===1).slice().sort((u,M)=>{const Y=J(u).localeCompare(J(M));return Y!==0?Y:Number(u.id)-Number(M.id)}).findIndex(u=>Number(u.id)===Number(e.id)),b=y>=0?y:0,V=b*it,m=[];return d&&m.push(`距预约时段还有约 ${Q(_)}`),b===0?m.push(d?"到号后可优先安排面诊":"已到号,可尽快面诊"):m.push(`前面约 ${b} 人,按序粗估约 ${Q(V)}`),m.join(";")}function X(){const e=v.status;return e===""||e===void 0||e===null}const z=D(()=>X()?S.value.filter(e=>Number(e.status)===3).length:0),O=D(()=>X()?S.value.filter(e=>Number(e.status)!==3):S.value),rt=D(()=>z.value>0&&O.value.length===0?`本时段有 ${z.value} 条「已完成」已隐藏,可在状态中选择「已完成」查看`:"该时段内暂无挂号");function ct(e){const t=String(e||"?").trim();return t?t[0]:"?"}function pt(e){const t=e.appointment_date||"";let n=e.appointment_time||"";return typeof n=="string"&&n.length>5&&(n=n.slice(0,5)),t?`${t} ${n}`.trim():"—"}function _t(e){return e===3?"success":e===4?"warning":e===2?"info":"primary"}function w(e){const t=Number(e.status)===2,n=!t&&[1,3,4].includes(Number(e.status)),o=!!e.diagnosis_confirmed,d=Number(e.status)===3,_=!!e.has_prescription;return[{label:"挂号",done:n,current:n&&!o&&Number(e.status)===1,hint:t?"已取消":Number(e.status)===4?"已过号":""},{label:"确认诊单",done:o,current:n&&!o,hint:""},{label:"就诊中",done:d,current:n&&o&&!d&&Number(e.status)===1,hint:Number(e.status)===1&&o?"待完诊":""},{label:"开方",done:_,current:d&&!_,hint:""}]}function mt(e){const n=w(e).filter(o=>o.done).length;return Math.round(n/4*100)}const F=2e3,ft=15e3;let U=null;async function vt(){const e=await jt({role_id:1,page_type:0,page_no:1,progress_board:1});if(E.value=(e==null?void 0:e.lists)||[],!E.value.length){f.value=void 0,S.value=[];return}const t=E.value.some(n=>Number(n.id)===f.value);(f.value===void 0||!t)&&(f.value=Number(E.value[0].id))}async function x(e){var n,o;if(f.value===void 0){S.value=[];return}const t=(e==null?void 0:e.silent)===!0;t||(A.value=!0);try{const d={doctor_id:f.value,page_type:1,page_no:1,page_size:F,prescription_today_only:1,exclude_cancelled:1,progress_board:1};((n=h.value)==null?void 0:n.length)===2&&(d.start_date=h.value[0],d.end_date=h.value[1]),v.status!==""&&(d.status=v.status),(o=v.patient_name)!=null&&o.trim()&&(d.patient_name=v.patient_name.trim());const _=await st(d);let g=(_==null?void 0:_.lists)||[];const y=Number((_==null?void 0:_.count)??g.length);if(y>g.length&&g.length>=F){const b=[],V=Math.min(Math.ceil(y/F),20);for(let m=2;m<=V;m++){const u=await st({...d,page_no:m}),M=(u==null?void 0:u.lists)||[];if(!M.length)break;b.push(...M)}g=[...g,...b]}S.value=[...g].sort((b,V)=>{const m=`${b.appointment_date||""} ${b.appointment_time||""}`,u=`${V.appointment_date||""} ${V.appointment_time||""}`;return m.localeCompare(u)})}catch(d){console.error(d),t||(S.value=[])}finally{t||(A.value=!1)}}function bt(){typeof document<"u"&&document.hidden||x({silent:!0}).catch(()=>{})}function gt(){v.status="",v.patient_name="",h.value=[R(),R()],x()}function ht(e){lt.push({path:"/tcm/diagnosis",query:{id:String(e)}})}return Et(async()=>{await vt(),await x(),U=setInterval(bt,ft),P=setInterval(()=>{Z.value+=1},6e4)}),St(()=>{U!=null&&(clearInterval(U),U=null),P!=null&&(clearInterval(P),P=null)}),(e,t)=>{var tt;const n=Vt,o=Mt,d=Ct,_=It,g=Dt,y=At,b=zt,V=Ut,m=Kt,u=Lt,M=Ot,Y=Ft,yt=Gt,kt=Bt;return i(),c("div",Zt,[a("section",Jt,[a("div",Qt,[a("span",Xt,[l(n,null,{default:r(()=>[l(I(xt))]),_:1}),t[9]||(t[9]=k(" 预约日期 ",-1))]),l(o,{modelValue:h.value,"onUpdate:modelValue":t[0]||(t[0]=s=>h.value=s),type:"daterange","range-separator":"—","start-placeholder":"开始","end-placeholder":"结束","value-format":"YYYY-MM-DD","unlink-panels":"",class:"dp-field-date",onChange:t[1]||(t[1]=()=>x())},null,8,["modelValue"]),a("span",wt,[l(n,null,{default:r(()=>[l(I($t))]),_:1}),t[10]||(t[10]=k(" 状态 ",-1))]),l(_,{modelValue:v.status,"onUpdate:modelValue":t[2]||(t[2]=s=>v.status=s),placeholder:"全部",clearable:"",class:"dp-field-select",onChange:t[3]||(t[3]=()=>x())},{default:r(()=>[l(d,{label:"全部状态",value:""}),l(d,{label:"已预约(待就诊)",value:"1"}),l(d,{label:"已完成",value:"3"}),l(d,{label:"已过号",value:"4"})]),_:1},8,["modelValue"]),a("span",te,[l(n,null,{default:r(()=>[l(I(et))]),_:1}),t[11]||(t[11]=k(" 患者 ",-1))]),l(g,{modelValue:v.patient_name,"onUpdate:modelValue":t[4]||(t[4]=s=>v.patient_name=s),placeholder:"姓名",clearable:"",class:"dp-field-search",onKeyup:t[5]||(t[5]=Tt(()=>x(),["enter"]))},null,8,["modelValue"]),a("div",ee,[l(y,{type:"primary",loading:A.value,icon:I(et),onClick:t[6]||(t[6]=()=>x())},{default:r(()=>[...t[12]||(t[12]=[k(" 查询 ",-1)])]),_:1},8,["loading","icon"]),l(y,{icon:I(Rt),onClick:gt},{default:r(()=>[...t[13]||(t[13]=[k("重置",-1)])]),_:1},8,["icon"])])])]),E.value.length?(i(),c("section",ne,[a("div",se,[l(n,{class:"dp-section-icon"},{default:r(()=>[l(I(Pt))]),_:1}),t[14]||(t[14]=a("span",{class:"dp-section-title"},"选择医生",-1)),t[15]||(t[15]=a("span",{class:"dp-section-hint"},"切换后自动加载该医生挂号",-1))]),l(V,{modelValue:f.value,"onUpdate:modelValue":t[7]||(t[7]=s=>f.value=s),class:"dp-doc-pills",onChange:t[8]||(t[8]=()=>x())},{default:r(()=>[(i(!0),c(B,null,nt(E.value,s=>(i(),T(b,{key:s.id,label:Number(s.id),class:"dp-doc-pill"},{default:r(()=>[k(p(s.name||s.account||"—"),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])])):N("",!0),Yt((i(),c("section",ae,[a("div",le,[a("div",oe,[t[16]||(t[16]=a("span",{class:"dp-table-title"},"患者列表",-1)),((tt=h.value)==null?void 0:tt.length)===2?(i(),c("span",ie,p(h.value[0])+" ~ "+p(h.value[1]),1)):N("",!0)]),a("div",de,[H.value?(i(),c("span",ue,"当前账号 "+p(H.value),1)):N("",!0),W.value?(i(),c("span",re,p(W.value),1)):N("",!0),f.value!==void 0&&!A.value?(i(),c("span",ce,p(O.value.length)+" 人",1)):N("",!0),z.value>0?(i(),c("span",pe,"已隐藏已完成 "+p(z.value),1)):N("",!0)])]),E.value.length?f.value===void 0?(i(),T(m,{key:1,description:"请选择医生"})):(i(),T(yt,{key:2,data:O.value,class:"dp-table",size:"default","empty-text":rt.value},{default:r(()=>[l(u,{label:"患者","min-width":"200",fixed:"left"},{default:r(({row:s})=>[a("div",{class:G(["dp-cell-user",{"is-my-patients":L(s)}])},[L(s)?(i(),c(B,{key:0},[t[17]||(t[17]=a("div",{class:"dp-my-patients-caption"},"我的患者",-1)),a("div",_e,p(ut(s)),1)],64)):N("",!0),a("div",me,[a("div",fe,p(ct(s.patient_name)),1),a("div",ve,[a("span",be,p(s.patient_name||"—"),1),a("span",ge,p(s.patient_phone||"—"),1)])])],2)]),_:1}),l(u,{label:"预约时间",width:"170"},{default:r(({row:s})=>[a("span",he,p(pt(s)),1)]),_:1}),l(u,{label:"挂号",width:"104",align:"center"},{default:r(({row:s})=>[l(M,{type:_t(s.status),effect:"light",round:"",size:"small"},{default:r(()=>[k(p(s.status_desc),1)]),_:2},1032,["type"])]),_:1}),l(u,{label:"面诊进度","min-width":"360"},{default:r(({row:s})=>[a("div",ye,[(i(!0),c(B,null,nt(w(s),($,q)=>(i(),c(B,{key:q},[a("div",{class:G(["dp-step",{"is-done":$.done,"is-current":$.current&&!$.done}])},[a("div",ke,p(q+1),1),a("div",Ne,[a("span",Ee,p($.label),1),$.hint?(i(),c("span",Se,p($.hint),1)):N("",!0)])],2),q<3?(i(),c("div",{key:0,class:G(["dp-step-line",{"is-done":$.done}])},null,2)):N("",!0)],64))),128))]),l(Y,{percentage:mt(s),"stroke-width":8,class:"dp-progress"},null,8,["percentage"])]),_:1}),l(u,{label:"处方",width:"92",align:"center"},{default:r(({row:s})=>[s.has_prescription?(i(),T(M,{key:0,type:"success",effect:"dark",round:"",size:"small"},{default:r(()=>[...t[18]||(t[18]=[k("已开",-1)])]),_:1})):(i(),c("span",xe,"未开"))]),_:1}),l(u,{label:"操作",width:"96",fixed:"right",align:"center"},{default:r(({row:s})=>[s.diagnosis_id?(i(),T(y,{key:0,type:"primary",size:"small",round:"",plain:"",onClick:$=>ht(s.diagnosis_id)},{default:r(()=>[...t[19]||(t[19]=[k(" 诊单 ",-1)])]),_:1},8,["onClick"])):(i(),c("span",Ve,"—"))]),_:1})]),_:1},8,["data","empty-text"])):(i(),T(m,{key:0,description:"暂无医生数据"}))])),[[kt,A.value]])])}}}),Re=Ht($e,[["__scopeId","data-v-6bc1551c"]]);export{Re as default};
|