3 lines
31 KiB
JavaScript
3 lines
31 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 at}from"./jspdf-BsthCvR5.js";import{C as ke,i as be,d as Ce,R as De,L as Ve,W as Ee,e as Ne,V as $e}from"./element-plus-CWHdHlgZ.js";import{w as Rt,q as Pe}from"./@vue/runtime-dom-DDAG46FW.js";import{a as At,c as G}from"./appointment-type-DJT6wPaT.js";import{a as Tt,l as Ot,m as Le,n as Se}from"./doctor-8rPsHKMI.js";import{g as Ie}from"./weapp-D0Jen0hp.js";import{Z as Re,aa as Ae,X as Te,ab as Oe}from"./tcm-CdJxXEws.js";import{u as Me,j as y,n as K,_ as qe}from"./index-dDVfDL1w.js";import{a as ze}from"./patient-CM6Ecpu4.js";import{u as xe}from"./usePaging-DofycyjW.js";import{i as Mt,f as Ue}from"./diabetes-discovery-display-B_wmGXQJ.js";import{h as b}from"./perm-CaVgB9g1.js";import{O as We,e as qt,ap as Be,P as Qe,d as Fe,G as He,b as Ye,l as Ge}from"./@element-plus/icons-vue-CbYn5zW9.js";import{f as zt,b as Ke,d as je,ak as i,I as r,F as N,J as e,a as m,aN as c,O as h,ap as j,H as d,aP as nt,G as C,P as ot,A as P}from"./@vue/runtime-core-C6bnekPw.js";import{r as Je,y as p,n as v}from"./@vue/reactivity-DiY1c2vO.js";import{o as L,Q as a}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 Xe={class:"apt-h5"},Ze={class:"apt-h5-topbar"},we={class:"apt-h5-search"},ts={class:"apt-h5-status apt-h5-scroll"},es=["onClick"],ss={key:0},ls={class:"apt-h5-date apt-h5-scroll"},as=["onClick"],ns={class:"apt-h5-quick"},os={class:"apt-h5-quick-group"},is=["onClick"],rs={class:"apt-h5-more-filter"},us={class:"apt-h5-list"},ps={key:0,class:"apt-h5-empty"},ds=["onClick"],ms={class:"apt-h5-avatar"},cs={class:"apt-h5-title"},vs={class:"apt-h5-name"},_s={key:0,class:"apt-h5-meta"},gs={key:1,class:"apt-h5-meta"},ys={class:"apt-h5-sub"},fs={class:"apt-h5-tags"},hs={key:0,class:"apt-h5-tag apt-h5-tag--ok"},ks={key:1,class:"apt-h5-tag apt-h5-tag--warn"},bs=["onClick"],Cs={class:"apt-h5-row"},Ds={class:"apt-h5-row-val"},Vs={class:"apt-h5-row"},Es={class:"apt-h5-row-val"},Ns={class:"apt-h5-row"},$s={class:"apt-h5-row-val"},Ps={class:"apt-h5-row"},Ls={class:"apt-h5-row-val"},Ss={class:"apt-h5-row"},Is={class:"apt-h5-row-val"},Rs={key:0,class:"apt-h5-inline-tag apt-h5-inline-tag--ok"},As={key:1,class:"apt-h5-inline-tag"},Ts={key:2,class:"apt-h5-inline-tag apt-h5-inline-tag--warn"},Os={key:0,class:"apt-h5-row apt-h5-row--remark"},Ms={class:"apt-h5-row-val"},qs={class:"apt-h5-card-foot"},zs={key:2,class:"apt-h5-no-more"},xs={key:0,class:"apt-h5-actions"},Us={class:"apt-h5-detail-topbar"},Ws={class:"apt-h5-detail-title"},Bs={class:"apt-h5-detail-page"},Qs={class:"apt-h5-detail-section"},Fs={class:"apt-h5-detail-grid"},Hs={class:"apt-h5-detail-section"},Ys={class:"apt-h5-detail-grid"},Gs={class:"apt-h5-detail-full"},Ks={class:"apt-h5-detail-full"},js={key:0,class:"apt-h5-detail-section"},Js={class:"apt-h5-detail-grid"},Xs={key:0},Zs={key:1},ws={key:2,class:"apt-h5-detail-full"},tl={key:3,class:"apt-h5-detail-full"},el={key:1,class:"apt-h5-detail-section"},sl={class:"apt-h5-detail-grid"},ll={key:0},al={key:1},nl={key:2,class:"apt-h5-detail-full"},ol={key:3,class:"apt-h5-detail-full"},il={class:"apt-h5-detail-section"},rl={key:0,class:"apt-h5-detail-footer-bar"},ul={class:"apt-h5-detail-footer"},pl={class:"apt-h5-qr"},dl={key:0,class:"apt-h5-qr-loading"},ml={key:1},cl=["src"],vl={class:"apt-h5-qr-meta"},_l={key:2,class:"apt-h5-qr-fail"},gl={class:"apt-h5-complete"},yl=zt({name:"tcmAppointmentH5"}),fl=zt({...yl,setup(hl){const xt=ot(()=>at(()=>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]))),Ut=ot(()=>at(()=>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]))),Wt=ot(()=>at(()=>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]))),it=Me(),Bt=P(()=>it.userInfo),rt=()=>ut(new Date),ut=s=>{const t=o=>String(o).padStart(2,"0");return`${s.getFullYear()}-${t(s.getMonth()+1)}-${t(s.getDate())}`},Qt=s=>{const t=new Date;return t.setDate(t.getDate()+s),ut(t)},Ft=s=>!s||s.length<11?s:s.replace(/(\d{3})\d{4}(\d{4})/,"$1****$2"),Ht=P(()=>{var t;const s=(t=Bt.value)==null?void 0:t.role_id;return Array.isArray(s)?!s.includes(1)&&!s.includes(2):s!==1&&s!==2}),_=Je({patient_name:"",doctor_name:"",status:1,start_date:rt(),end_date:rt(),date_preset:"today",diagnosis_confirmed:"",include_status_counts:0}),J=v("1"),S=v("list"),I=v(!1),$=v(""),R=v({1:0,2:0,3:0,4:0}),{pager:g,getLists:Yt}=xe({fetchFun:Tt,params:_,firstLoading:!0}),Gt=P(()=>[{label:"待接诊",value:"1",count:R.value[1]},{label:"全部",value:"all",count:0},{label:"已过号",value:"4",count:R.value[4]},{label:"已取消",value:"2",count:R.value[2]},{label:"已完成",value:"3",count:R.value[3]}]),Kt=[{label:"昨天",value:"yesterday"},{label:"前天",value:"day_before"},{label:"今天",value:"today"},{label:"明天",value:"tomorrow"},{label:"后天",value:"day_after"},{label:"不限",value:""}],jt=[{label:"全部",value:""},{label:"已确认",value:"1"},{label:"未确认",value:"0"}],X=P(()=>g.lists.length<(g.count||0)),k=async s=>{var t;_.include_status_counts=1;try{await Yt(s);const o=(t=g.extend)==null?void 0:t.status_count;o&&[1,2,3,4].forEach(u=>{const f=o[u]??o[String(u)];R.value[u]=typeof f=="number"?f:0})}finally{_.include_status_counts=0}},A=()=>{g.page=1,k()},Jt=s=>{J.value=s,_.status=s==="all"?"":Number(s),g.page=1,k()},Z=s=>{if(_.date_preset=s,$.value="",!s)_.start_date="",_.end_date="";else{const o=Qt({yesterday:-1,day_before:-2,today:0,tomorrow:1,day_after:2}[s]??0);_.start_date=o,_.end_date=o}g.page=1,k()},Xt=s=>{_.diagnosis_confirmed=s,g.page=1,k()},Zt=()=>{if(!$.value){Z("");return}_.date_preset="",_.start_date=$.value[0],_.end_date=$.value[1],g.page=1,k()},wt=()=>{_.patient_name="",_.doctor_name="",_.diagnosis_confirmed="",J.value="1",_.status=1,Z("today")},te=async()=>{if(g.loading||!X.value)return;const s=(g.page||1)+1;g.loading=!0;try{const t=await Tt({page_no:s,page_size:g.size,..._,include_status_counts:0});g.page=s,g.lists.push(...(t==null?void 0:t.lists)||[]),g.count=(t==null?void 0:t.count)??g.count}finally{g.loading=!1}},pt=s=>{const t=Number(s);return t===1?"待接诊":t===2?"已取消":t===3?"已完成":t===4?"已过号":"-"},ee=s=>{const t=Number(s);return{"apt-h5-tag--ok":t===1||t===3,"apt-h5-tag--gray":t===2,"apt-h5-tag--danger":t===4}},se=s=>({"apt-h5-card--done":Number(s.status)===3,"apt-h5-card--cancel":Number(s.status)===2,"apt-h5-card--missed":Number(s.status)===4}),w=v(),tt=v(),dt=v(),le=["doctor.appointment/addDoctorNote"],T=v(!1),z=v(!1),O=v(""),et=v(null),st=P(()=>b(le)),mt=s=>{var t;if(!s.patient_id){y.msgWarning("该预约没有关联诊单信息");return}(t=w.value)==null||t.open("edit",s.patient_id)},ct=async s=>{var u;const t=Number(s.source_patient_id||0),o=Number(s.diagnosis_id||0);if(!t){y.msgWarning("患者信息不完整");return}if(!o){y.msgWarning("预约信息不完整,无法发起聊天");return}try{const f=await Re({patient_id:t,diagnosis_id:o,appointment_id:Number(s.id)});(u=dt.value)==null||u.open({patientId:t,patientName:s.patient_name,diagnosisId:o,appointmentId:Number(s.id),appointmentType:s.appointment_type,signatureData:f})}catch(f){y.msgError((f==null?void 0:f.msg)||(f==null?void 0:f.message)||"获取通话签名失败")}},lt=s=>(s==null?void 0:s.prescription_audit_status)===1&&Number(s==null?void 0:s.prescription_void_status)!==1?"查看":"开方",vt=s=>{var t;if(!s.diagnosis_id&&!s.patient_id){y.msgWarning("该预约缺少诊单信息,请先编辑患者");return}(t=tt.value)==null||t.open(s)},ae=()=>{var s,t;k(),(t=(s=w.value)==null?void 0:s.refreshCaseList)==null||t.call(s)},x=v(!1),D=v(null),ne=s=>{D.value=s,x.value=!0},U=s=>{const t=D.value;x.value=!1,t&&(s==="videoQr"&>(t),s==="complete"&&_t(t),s==="case"&&re(t),s==="cancel"&&ie(t))},_t=async s=>{if(et.value=s,O.value="",st.value){T.value=!0;return}try{await y.confirm("确认患者已就诊完成?"),await Ot({id:s.id}),y.msgSuccess("操作成功"),k()}catch(t){t!=="cancel"&&y.msgError((t==null?void 0:t.msg)||"操作失败")}},oe=async()=>{const s=et.value;if(!(!(s!=null&&s.id)||z.value)){z.value=!0;try{const t=O.value.trim();await Ot({id:s.id});let o="";if(st.value&&t){const u=s.patient_id||s.diagnosis_id;if(u)try{await ze({diagnosis_id:Number(u),content:t})}catch{o="问诊已完成,但备注未保存"}else o="问诊已完成,但该预约没有关联诊单,备注未保存"}o?y.msgWarning(o):y.msgSuccess("操作成功"),T.value=!1,O.value="",et.value=null,S.value==="detail"&&Dt(),k()}catch(t){y.msgError((t==null?void 0:t.msg)||(t==null?void 0:t.message)||"操作失败")}finally{z.value=!1}}},ie=async s=>{try{await y.confirm("确定要取消该挂号吗?"),await Le({id:s.id}),y.msgSuccess("取消成功"),k()}catch(t){t!=="cancel"&&y.msgError((t==null?void 0:t.msg)||"取消失败")}},re=async s=>{var t;try{const o=await Ae({appointment_id:s.id});o!=null&&o.id?(t=tt.value)==null||t.openById(o.id):y.msgWarning("该预约暂无病历记录,请先开方")}catch(o){y.msgError((o==null?void 0:o.msg)||"获取病历失败")}},M=v(!1),W=v(!1),B=v(""),Q=v(null),gt=async s=>{var t;if(!G(s.appointment_type)){y.msgWarning("仅视频问诊可生成视频二维码");return}if(!s.patient_id){y.msgWarning("患者信息不完整");return}Q.value=s,M.value=!0,W.value=!0,B.value="";try{const o=await Ie();if(!(o!=null&&o.app_id)){y.msgError("小程序未配置,请先配置小程序信息"),M.value=!1;return}const u=await Te({doctor_id:s.doctor_id||"",patient_id:s.patient_id,share_user_id:((t=it.userInfo)==null?void 0:t.id)||"",mini_program_path:"pages/login/login"});u!=null&&u.qrcode_url?B.value=u.qrcode_url:y.msgError("二维码生成失败")}catch(o){y.msgError((o==null?void 0:o.msg)||"生成二维码失败,请重试")}finally{W.value=!1}},ue=()=>{Q.value&>(Q.value)},F=v(!1),n=v(null),q=v(null),V=P(()=>({...q.value||{},...n.value||{}})),yt=v([]),ft=v([]),ht=v([]),kt=v([]),bt=v(!1),H=(s,t)=>{if(!t)return"-";const o=s.find(u=>u.value===t);return o?o.name:t},pe=s=>(Array.isArray(s)?s:typeof s=="string"?s.split(/[,,、]/):[]).map(o=>H(kt.value,o.trim())).filter(Boolean).join("、")||"-",de=s=>Number(s)===0?"未婚":Number(s)===1?"已婚":Number(s)===2?"离异":"-",me=async()=>{const[s,t,o,u]=await Promise.all([K({type:"diagnosis_type"}),K({type:"syndrome_type"}),K({type:"diabetes_type"}),K({type:"past_history"})]);yt.value=(s==null?void 0:s.diagnosis_type)||[],ft.value=(t==null?void 0:t.syndrome_type)||[],ht.value=(o==null?void 0:o.diabetes_type)||[],kt.value=(u==null?void 0:u.past_history)||[]},ce=async()=>{bt.value||(await me(),bt.value=!0)},ve=s=>Mt(s==null?void 0:s.diabetes_discovery_year)||!!(s!=null&&s.local_hospital_name)||!!(s!=null&&s.symptoms)||(Array.isArray(s==null?void 0:s.past_history)?s.past_history.length>0:!!(s!=null&&s.past_history)),_e=s=>!!(s!=null&&s.tongue_coating||s!=null&&s.pulse||s!=null&&s.treatment_principle||s!=null&&s.prescription),Ct=async s=>{S.value="detail",F.value=!0,n.value=null,q.value=s;try{const[,t]=await Promise.all([ce().catch(o=>console.warn("加载详情字典失败:",o)),Se({id:s.id})]);if(n.value={...s,...t,appointment_id:s.id},t!=null&&t.patient_id)try{const o=await Oe({id:t.patient_id});n.value={...s,...t,...o,id:t.id||s.id,appointment_id:s.id,diagnosis_id:t.patient_id}}catch(o){console.warn("获取患者诊单详情失败:",o)}}catch(t){y.msgError((t==null?void 0:t.msg)||"获取详情失败"),S.value="list"}finally{F.value=!1}},Dt=()=>{S.value="list",F.value=!1},ge=2e4;let Y=null;return Ke(()=>{document.body.classList.add("h5-mode"),k(),Y=setInterval(()=>{k({silent:!0}).catch(()=>{})},ge)}),je(()=>{document.body.classList.remove("h5-mode"),Y!==null&&(clearInterval(Y),Y=null)}),(s,t)=>{var Nt,$t,Pt,Lt,St,It;const o=ke,u=be,f=Ce,ye=De,fe=Ee,he=Ne,Vt=$e,Et=Ve;return i(),r("div",Xe,[S.value==="list"?(i(),r(N,{key:0},[e("header",Ze,[e("div",we,[m(o,{modelValue:_.patient_name,"onUpdate:modelValue":t[0]||(t[0]=l=>_.patient_name=l),placeholder:"患者姓名",clearable:"","prefix-icon":p(We),onKeyup:Rt(A,["enter"]),onClear:A},null,8,["modelValue","prefix-icon"]),m(u,{class:"apt-h5-search-btn",type:"primary",onClick:A},{default:c(()=>[...t[19]||(t[19]=[h("查询",-1)])]),_:1})]),e("div",ts,[(i(!0),r(N,null,j(Gt.value,l=>(i(),r("span",{key:l.value,class:L(["apt-h5-chip",{active:J.value===l.value}]),onClick:E=>Jt(l.value)},[h(a(l.label)+" ",1),l.count?(i(),r("em",ss,a(l.count),1)):d("",!0)],10,es))),128))]),e("div",ls,[(i(),r(N,null,j(Kt,l=>e("span",{key:l.value||"all",class:L(["apt-h5-pill",{active:_.date_preset===l.value}]),onClick:E=>Z(l.value)},a(l.label),11,as)),64))]),e("div",ns,[e("div",os,[t[20]||(t[20]=e("span",{class:"apt-h5-quick-label"},"确认",-1)),(i(),r(N,null,j(jt,l=>e("span",{key:l.value||"all",class:L(["apt-h5-pill",{active:_.diagnosis_confirmed===l.value}]),onClick:E=>Xt(l.value)},a(l.label),11,is)),64))]),m(u,{link:"",type:"primary",size:"small",class:"apt-h5-more-toggle",onClick:t[1]||(t[1]=l=>I.value=!I.value)},{default:c(()=>[h(a(I.value?"收起":"更多")+" ",1),m(f,{class:L({"rotate-180":I.value})},{default:c(()=>[m(p(qt))]),_:1},8,["class"])]),_:1})]),nt(e("div",rs,[Ht.value?(i(),C(o,{key:0,modelValue:_.doctor_name,"onUpdate:modelValue":t[2]||(t[2]=l=>_.doctor_name=l),placeholder:"医生",clearable:"",size:"small",onKeyup:Rt(A,["enter"]),onClear:A},null,8,["modelValue"])):d("",!0),m(ye,{modelValue:$.value,"onUpdate:modelValue":t[3]||(t[3]=l=>$.value=l),type:"daterange","range-separator":"至","start-placeholder":"开始日期","end-placeholder":"结束日期","value-format":"YYYY-MM-DD",size:"small",class:"apt-h5-date-range",onChange:Zt},null,8,["modelValue"]),m(u,{size:"small",onClick:wt},{default:c(()=>[...t[21]||(t[21]=[h("重置",-1)])]),_:1})],512),[[Pe,I.value]])]),nt((i(),r("main",us,[p(g).lists.length===0&&!p(g).loading?(i(),r("div",ps,[m(fe,{description:"暂无问诊","image-size":120})])):d("",!0),(i(!0),r(N,null,j(p(g).lists,l=>(i(),r("article",{key:l.id,class:L(["apt-h5-card",se(l)])},[e("header",{class:"apt-h5-card-head",onClick:E=>Ct(l)},[e("div",ms,a((l.patient_name||"患").charAt(0)),1),e("div",cs,[e("div",vs,[h(a(l.patient_name||"-")+" ",1),l.gender===1||l.gender===0?(i(),r("span",_s,a(l.gender===1?"男":"女"),1)):d("",!0),l.age!=null?(i(),r("span",gs,a(l.age)+"岁",1)):d("",!0)]),e("div",ys,"#"+a(l.id)+" · "+a(Ft(l.patient_phone)||"-"),1)]),e("div",fs,[e("span",{class:L(["apt-h5-tag",ee(l.status)])},a(l.status_desc||pt(l.status)),3),l.diagnosis_confirmed?(i(),r("span",hs,"已确认")):(i(),r("span",ks,"未确认"))])],8,ds),e("section",{class:"apt-h5-card-body",onClick:E=>Ct(l)},[e("div",Cs,[t[22]||(t[22]=e("span",{class:"apt-h5-row-key"},"预约",-1)),e("span",Ds,a(l.appointment_date||"-")+" "+a(l.appointment_time||""),1)]),e("div",Vs,[t[23]||(t[23]=e("span",{class:"apt-h5-row-key"},"面诊类型",-1)),e("span",Es,a(p(At)(l.appointment_type)),1)]),e("div",Ns,[t[24]||(t[24]=e("span",{class:"apt-h5-row-key"},"医生",-1)),e("span",$s,a(l.doctor_name||"-"),1)]),e("div",Ps,[t[25]||(t[25]=e("span",{class:"apt-h5-row-key"},"助理",-1)),e("span",Ls,a(l.assistant_name||"-"),1)]),e("div",Ss,[t[26]||(t[26]=e("span",{class:"apt-h5-row-key"},"开方",-1)),e("span",Is,[l.has_prescription?(i(),r("span",Rs,"已开方")):(i(),r("span",As,"未开方")),l.has_prescription&&l.prescription_is_system_auto===1?(i(),r("span",Ts,"系统代开")):d("",!0)])]),l.remark?(i(),r("div",Os,[t[27]||(t[27]=e("span",{class:"apt-h5-row-key"},"备注",-1)),e("span",Ms,a(l.remark),1)])):d("",!0)],8,bs),e("footer",qs,[p(b)(["tcm.diagnosis/edit"])?(i(),C(u,{key:0,type:"primary",size:"small",plain:"",onClick:E=>mt(l)},{default:c(()=>[...t[28]||(t[28]=[h(" 编辑患者 ",-1)])]),_:1},8,["onClick"])):d("",!0),l.status!==3&&p(b)(["doctor.appointment/prescription"])?(i(),C(u,{key:1,type:"primary",size:"small",icon:p(Be),onClick:E=>ct(l)},{default:c(()=>[h(a(p(G)(l.appointment_type)?"通话":"图文沟通"),1)]),_:2},1032,["icon","onClick"])):d("",!0),p(b)(["tcm.diagnosis/kaifang"])?(i(),C(u,{key:2,type:lt(l)==="查看"?"success":"primary",size:"small",plain:"",onClick:E=>vt(l)},{default:c(()=>[h(a(lt(l)),1)]),_:2},1032,["type","onClick"])):d("",!0),m(u,{size:"small",class:"apt-h5-more-btn",onClick:E=>ne(l)},{default:c(()=>[t[29]||(t[29]=h(" 更多",-1)),m(f,{class:"el-icon--right"},{default:c(()=>[m(p(qt))]),_:1})]),_:1},8,["onClick"])])],2))),128)),X.value?(i(),r("div",{key:1,class:"apt-h5-load-more",onClick:te},a(p(g).loading?"加载中...":"加载更多"),1)):d("",!0),!X.value&&p(g).lists.length>0?(i(),r("div",zs,"没有更多了")):d("",!0)])),[[Et,p(g).loading]]),m(he,{modelValue:x.value,"onUpdate:modelValue":t[8]||(t[8]=l=>x.value=l),title:D.value?`${D.value.patient_name||"问诊"} · 更多操作`:"更多操作",direction:"btt",size:"auto","destroy-on-close":!0},{default:c(()=>[D.value?(i(),r("div",xs,[D.value.status!==3&&p(G)(D.value.appointment_type)&&p(b)(["tcm.diagnosis/videoQr"])?(i(),r("button",{key:0,class:"apt-h5-action",onClick:t[4]||(t[4]=l=>U("videoQr"))},[m(f,null,{default:c(()=>[m(p(Qe))]),_:1}),t[30]||(t[30]=e("span",null,"视频二维码",-1))])):d("",!0),D.value.status!==3&&p(b)(["doctor.appointment/complete"])?(i(),r("button",{key:1,class:"apt-h5-action",onClick:t[5]||(t[5]=l=>U("complete"))},[m(f,null,{default:c(()=>[m(p(Fe))]),_:1}),t[31]||(t[31]=e("span",null,"完成",-1))])):d("",!0),p(b)(["tcm.diagnosis/kaifang"])?(i(),r("button",{key:2,class:"apt-h5-action",onClick:t[6]||(t[6]=l=>U("case"))},[m(f,null,{default:c(()=>[m(p(He))]),_:1}),t[32]||(t[32]=e("span",null,"病历",-1))])):d("",!0),D.value.status===1&&p(b)(["doctor.appointment/cancel"])?(i(),r("button",{key:3,class:"apt-h5-action apt-h5-action--danger",onClick:t[7]||(t[7]=l=>U("cancel"))},[m(f,null,{default:c(()=>[m(p(Ye))]),_:1}),t[33]||(t[33]=e("span",null,"取消挂号",-1))])):d("",!0)])):d("",!0)]),_:1},8,["modelValue","title"])],64)):(i(),r(N,{key:1},[e("header",Us,[e("button",{class:"apt-h5-back",onClick:Dt},[...t[34]||(t[34]=[e("span",null,"‹",-1),h(" 返回 ",-1)])]),e("div",Ws,[e("strong",null,a(((Nt=n.value)==null?void 0:Nt.patient_name)||(($t=q.value)==null?void 0:$t.patient_name)||"问诊详情"),1),e("small",null,a(((Pt=n.value)==null?void 0:Pt.appointment_date)||((Lt=q.value)==null?void 0:Lt.appointment_date)||"")+" "+a(((St=n.value)==null?void 0:St.appointment_time)||((It=q.value)==null?void 0:It.appointment_time)||""),1)])]),nt((i(),r("main",Bs,[n.value?(i(),r(N,{key:0},[e("section",Qs,[t[41]||(t[41]=e("h3",null,"预约信息",-1)),e("div",Fs,[e("div",null,[t[35]||(t[35]=e("span",null,"挂号ID",-1)),e("strong",null,a(n.value.id||"-"),1)]),e("div",null,[t[36]||(t[36]=e("span",null,"状态",-1)),e("strong",null,a(n.value.status_desc||pt(n.value.status)),1)]),e("div",null,[t[37]||(t[37]=e("span",null,"医生",-1)),e("strong",null,a(n.value.doctor_name||"-"),1)]),e("div",null,[t[38]||(t[38]=e("span",null,"预约时间",-1)),e("strong",null,a(n.value.appointment_date||"-")+" "+a(n.value.appointment_time||""),1)]),e("div",null,[t[39]||(t[39]=e("span",null,"时段",-1)),e("strong",null,a(n.value.period==="morning"?"上午":n.value.period==="afternoon"?"下午":"-"),1)]),e("div",null,[t[40]||(t[40]=e("span",null,"面诊类型",-1)),e("strong",null,a(p(At)(n.value.appointment_type)),1)])])]),e("section",Hs,[t[58]||(t[58]=e("h3",null,"患者信息",-1)),e("div",Ys,[e("div",null,[t[42]||(t[42]=e("span",null,"姓名",-1)),e("strong",null,a(n.value.patient_name||"-"),1)]),e("div",null,[t[43]||(t[43]=e("span",null,"手机号",-1)),e("strong",null,a(n.value.phone||n.value.patient_phone||"-"),1)]),e("div",Gs,[t[44]||(t[44]=e("span",null,"身份证号",-1)),e("strong",null,a(n.value.id_card||"-"),1)]),e("div",null,[t[45]||(t[45]=e("span",null,"性别",-1)),e("strong",null,a(n.value.gender===1?"男":n.value.gender===0?"女":"-"),1)]),e("div",null,[t[46]||(t[46]=e("span",null,"年龄",-1)),e("strong",null,a(n.value.age!=null?`${n.value.age}岁`:"-"),1)]),e("div",null,[t[47]||(t[47]=e("span",null,"诊断日期",-1)),e("strong",null,a(n.value.diagnosis_date||"-"),1)]),e("div",null,[t[48]||(t[48]=e("span",null,"婚姻状态",-1)),e("strong",null,a(de(n.value.marital_status)),1)]),e("div",null,[t[49]||(t[49]=e("span",null,"身高(cm)",-1)),e("strong",null,a(n.value.height??"-"),1)]),e("div",null,[t[50]||(t[50]=e("span",null,"体重(kg)",-1)),e("strong",null,a(n.value.weight??"-"),1)]),e("div",Ks,[t[51]||(t[51]=e("span",null,"地区",-1)),e("strong",null,a(n.value.region||"-"),1)]),e("div",null,[t[52]||(t[52]=e("span",null,"收缩压(mmHg)",-1)),e("strong",null,a(n.value.systolic_pressure??"-"),1)]),e("div",null,[t[53]||(t[53]=e("span",null,"舒张压(mmHg)",-1)),e("strong",null,a(n.value.diastolic_pressure??"-"),1)]),e("div",null,[t[54]||(t[54]=e("span",null,"空腹血糖(mmol/L)",-1)),e("strong",null,a(n.value.fasting_blood_sugar??"-"),1)]),e("div",null,[t[55]||(t[55]=e("span",null,"诊断类型",-1)),e("strong",null,a(H(yt.value,n.value.diagnosis_type)),1)]),e("div",null,[t[56]||(t[56]=e("span",null,"证型",-1)),e("strong",null,a(H(ft.value,n.value.syndrome_type)),1)]),e("div",null,[t[57]||(t[57]=e("span",null,"糖尿病期数",-1)),e("strong",null,a(H(ht.value,n.value.diabetes_type)),1)])])]),ve(n.value)?(i(),r("section",js,[t[63]||(t[63]=e("h3",null,"病史信息",-1)),e("div",Js,[p(Mt)(n.value.diabetes_discovery_year)?(i(),r("div",Xs,[t[59]||(t[59]=e("span",null,"发现糖尿病病史",-1)),e("strong",null,a(p(Ue)(n.value.diabetes_discovery_year)),1)])):d("",!0),n.value.local_hospital_name?(i(),r("div",Zs,[t[60]||(t[60]=e("span",null,"当地就诊医院",-1)),e("strong",null,a(n.value.local_hospital_name),1)])):d("",!0),n.value.symptoms?(i(),r("div",ws,[t[61]||(t[61]=e("span",null,"症状补充",-1)),e("strong",null,a(n.value.symptoms),1)])):d("",!0),n.value.past_history&&n.value.past_history.length?(i(),r("div",tl,[t[62]||(t[62]=e("span",null,"既往史",-1)),e("strong",null,a(pe(n.value.past_history)),1)])):d("",!0)])])):d("",!0),_e(n.value)?(i(),r("section",el,[t[68]||(t[68]=e("h3",null,"诊断信息",-1)),e("div",sl,[n.value.tongue_coating?(i(),r("div",ll,[t[64]||(t[64]=e("span",null,"舌苔",-1)),e("strong",null,a(n.value.tongue_coating),1)])):d("",!0),n.value.pulse?(i(),r("div",al,[t[65]||(t[65]=e("span",null,"脉象",-1)),e("strong",null,a(n.value.pulse),1)])):d("",!0),n.value.treatment_principle?(i(),r("div",nl,[t[66]||(t[66]=e("span",null,"治则",-1)),e("strong",null,a(n.value.treatment_principle),1)])):d("",!0),n.value.prescription?(i(),r("div",ol,[t[67]||(t[67]=e("span",null,"处方",-1)),e("strong",null,a(n.value.prescription),1)])):d("",!0)])])):d("",!0),e("section",il,[t[69]||(t[69]=e("h3",null,"备注",-1)),e("p",null,a(n.value.remark||"无"),1)])],64)):d("",!0)])),[[Et,F.value]]),n.value?(i(),r("footer",rl,[e("div",ul,[p(b)(["tcm.diagnosis/edit"])?(i(),C(u,{key:0,type:"primary",plain:"",onClick:t[9]||(t[9]=l=>mt(V.value))},{default:c(()=>[...t[70]||(t[70]=[h(" 编辑患者 ",-1)])]),_:1})):d("",!0),p(b)(["tcm.diagnosis/kaifang"])?(i(),C(u,{key:1,type:"primary",onClick:t[10]||(t[10]=l=>vt(V.value))},{default:c(()=>[h(a(lt(V.value)),1)]),_:1})):d("",!0),V.value.status!==3&&p(b)(["doctor.appointment/prescription"])?(i(),C(u,{key:2,type:"primary",plain:"",onClick:t[11]||(t[11]=l=>ct(V.value))},{default:c(()=>[h(a(p(G)(V.value.appointment_type)?"通话":"图文沟通"),1)]),_:1})):d("",!0),V.value.status!==3&&p(b)(["doctor.appointment/complete"])?(i(),C(u,{key:3,type:"success",plain:"",onClick:t[12]||(t[12]=l=>_t(V.value))},{default:c(()=>[...t[71]||(t[71]=[h(" 完成 ",-1)])]),_:1})):d("",!0)])])):d("",!0)],64)),m(Vt,{modelValue:M.value,"onUpdate:modelValue":t[14]||(t[14]=l=>M.value=l),title:"视频二维码","close-on-click-modal":!1,class:"apt-h5-qr-dialog"},{footer:c(()=>[m(u,{onClick:t[13]||(t[13]=l=>M.value=!1)},{default:c(()=>[...t[74]||(t[74]=[h("关闭",-1)])]),_:1}),W.value?d("",!0):(i(),C(u,{key:0,type:"primary",onClick:ue},{default:c(()=>[...t[75]||(t[75]=[h("重新生成",-1)])]),_:1}))]),default:c(()=>{var l;return[e("div",pl,[W.value?(i(),r("div",dl,[m(f,{class:"is-loading",size:36},{default:c(()=>[m(p(Ge))]),_:1}),t[72]||(t[72]=e("div",null,"生成中...",-1))])):B.value?(i(),r("div",ml,[e("img",{src:B.value,alt:"小程序二维码",class:"apt-h5-qr-img"},null,8,cl),e("div",vl,[e("div",null,"患者:"+a(((l=Q.value)==null?void 0:l.patient_name)||"-"),1),t[73]||(t[73]=e("div",null,"请使用微信扫描二维码",-1))])])):(i(),r("div",_l,"生成失败,请重试"))])]}),_:1},8,["modelValue"]),m(Vt,{modelValue:T.value,"onUpdate:modelValue":t[17]||(t[17]=l=>T.value=l),title:"完成问诊","close-on-click-modal":!1,class:"apt-h5-complete-dialog","destroy-on-close":""},{footer:c(()=>[m(u,{onClick:t[16]||(t[16]=l=>T.value=!1)},{default:c(()=>[...t[77]||(t[77]=[h("取消",-1)])]),_:1}),m(u,{type:"primary",loading:z.value,onClick:oe},{default:c(()=>[...t[78]||(t[78]=[h("确认完成",-1)])]),_:1},8,["loading"])]),default:c(()=>[e("div",gl,[t[76]||(t[76]=e("p",null,"确认患者已就诊完成?",-1)),st.value?(i(),C(o,{key:0,modelValue:O.value,"onUpdate:modelValue":t[15]||(t[15]=l=>O.value=l),type:"textarea",rows:4,maxlength:"500","show-word-limit":"",placeholder:"填写完成备注,将追加到医生备注时间轴"},null,8,["modelValue"])):d("",!0)])]),_:1},8,["modelValue"]),m(p(xt),{ref_key:"editRef",ref:w,onSuccess:t[18]||(t[18]=()=>k({silent:!0}))},null,512),m(p(Ut),{ref_key:"prescriptionRef",ref:tt,onSuccess:ae},null,512),m(p(Wt),{ref_key:"chatDialogRef",ref:dt},null,512)])}}}),da=qe(fl,[["__scopeId","data-v-08a4745f"]]);export{da as default};
|