2 lines
16 KiB
JavaScript
2 lines
16 KiB
JavaScript
import{C as We,Q as Me,P as Ie,L as Ye,T as qe,d as Be,i as Fe,Z as He,D as Oe,B as Qe,e as Te,U as je,v as Ke}from"./element-plus-DCRlGjqn.js";import{w as Ge}from"./@vue/runtime-dom-iFk_KP8y.js";import{a4 as Je,a3 as Ze,a5 as Xe,a7 as pe,a8 as et,a9 as tt,F as st,ab as at,aa as lt}from"./tcm-BU23xs5N.js";import{u as nt,m as me,i as v,_ as ot}from"./index-uyUH29BJ.js";import{g as it}from"./weapp-BQAblIzW.js";import{A as rt,l as dt}from"./@element-plus/icons-vue-jYCthPJY.js";import ut from"./edit-CF9BqmFe.js";import{_ as ct}from"./detail.vue_vue_type_script_setup_true_lang-N4gxhgjc.js";import pt from"./appointment-D2M0EcoE.js";import{d as _e}from"./dayjs-DG77mNTn.js";import{f as ve,b as mt,d as _t,ak as i,I as d,J as l,a as n,aN as o,F as z,ap as E,G as R,aP as fe,H as k,O as c,A as ft}from"./@vue/runtime-core-C0pg79pw.js";import{a as $,y as a,o as r}from"./@vue/reactivity-BIbyPIZJ.js";import{Q as p}from"./@vue/shared-mAAVTE9n.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./lodash-D3kF6u-c.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-CYz6RFzi.js";import"./pinia-Ba_jX6-d.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-DIKi2bJB.js";import"./@vueuse/shared-D8934tfB.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-CZvD9OL_.js";import"./tslib-BDyQ-Jie.js";import"./zrender-BQyIY4j9.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-BVMzZUvF.js";import"./picker-BO5eJFtW.js";import"./index-L6H5-ImI.js";import"./index-BXG1Vu_t.js";import"./index.vue_vue_type_script_setup_true_lang-CwEtReGd.js";import"./index-m_feBrtP.js";import"./index-0rZnCDXS.js";import"./index.vue_vue_type_script_setup_true_lang-BuPXZ-mu.js";import"./file-CNY42yWf.js";import"./usePaging-B_C_SZ2Z.js";import"./vuedraggable-C3E4D3Yv.js";import"./vue-tI-HfQaQ.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./perm-DcorvFaU.js";import"./BloodRecordList-CPPuQugX.js";import"./DietRecordList-CAeGPdXH.js";import"./ExerciseRecordList-CarmqWRx.js";import"./CaseRecordList-BHlKRrfJ.js";import"./CallRecordPanel-D4uWxel1.js";import"./ImChatRecordPanel-wNrQJikj.js";import"./im-business-message-parse-ClZDqEhB.js";import"./AssignLogPanel.vue_vue_type_script_setup_true_lang-CZR2vjFn.js";import"./AppointmentRecordPanel-C6hjDDHU.js";import"./doctor-BwyLgEDi.js";import"./index-DxvCN7fo.js";import"./index-MSgFI5IR.js";import"./medicine-BSm8LalE.js";import"./diabetes-discovery-display-B_wmGXQJ.js";import"./html2canvas-QH1iLAAe.js";import"./diagnosis-sync-events-Bb57o6Fi.js";const vt={class:"diagnosis-h5"},gt={class:"h5-header"},yt={class:"h5-search"},ht={class:"h5-filter-row"},kt={class:"h5-list"},bt={key:0,class:"h5-empty"},xt={class:"h5-card-header"},Ct={class:"h5-card-name"},Vt={class:"name"},wt={key:0,class:"age"},Dt=["onClick"],zt={class:"info-line"},Et={class:"value"},Rt={class:"info-line"},Lt={class:"value"},Nt={class:"info-line"},Ut={class:"value"},$t={class:"info-line"},At={class:"value"},St={class:"info-line"},Pt={class:"value"},Wt={class:"info-line"},Mt={class:"value"},It={class:"h5-card-footer"},Yt={class:"action-scroll"},qt={key:0},Bt={key:1},Ft={key:2,class:"h5-no-more"},Ht={class:"flex flex-col items-center justify-center py-4"},Ot={key:0,class:"text-center"},Qt={key:1,class:"text-center"},Tt=["src"],jt={class:"mt-4 text-sm text-gray-600"},Kt={key:2,class:"text-center text-gray-500"},Gt={class:"text-gray-500 text-sm"},Jt={class:"mb-3"},Zt={class:"flex gap-2"},Xt={key:0,class:"text-center text-gray-400 py-10"},es={key:1,class:"record-list"},ts={class:"record-header"},ss={class:"flex items-center gap-1 flex-wrap"},as={class:"font-medium text-xs"},ls={class:"flex items-center gap-1"},ns={class:"text-xs text-gray-400"},os={class:"record-content"},is={key:0,class:"mt-1"},rs=ve({name:"tcmDiagnosisH5"}),ds=ve({...rs,setup(us){const Z=nt(),ge=s=>{if(!s)return"-";const e=String(s).length===10?Number(s)*1e3:Number(s);return _e(e).format("YYYY-MM-DD HH:mm:ss")},ye=s=>{if(!s)return"-";const e=String(s).length===10?s*1e3:s;return _e(e).format("YYYY-MM-DD HH:mm")},L=r(""),b=r({patient_name:"",diagnosis_type:"",syndrome_type:"",assistant_id:""}),x=r([]),A=r(!1),S=r(!1),H=r(1),he=15,X=r(0),ee=ft(()=>x.value.length<X.value),O=r([]),Q=r([]),N=r([]),ke=async()=>{try{const[s,e,u]=await Promise.all([me({type:"diagnosis_type"}),me({type:"syndrome_type"}),Je()]);O.value=(s==null?void 0:s.diagnosis_type)||[],Q.value=(e==null?void 0:e.syndrome_type)||[],N.value=u||[]}catch(s){console.error("获取字典数据失败:",s)}},te=(s,e)=>{const u=s.find(m=>m.value===e);return u?u.name:e||"-"},be=s=>{if(!s&&s!==0)return"-";const e=typeof s=="string"?parseInt(s):s;if(N.value.length===0)return"...";const u=N.value.find(m=>(typeof m.id=="string"?parseInt(m.id):m.id)===e);return u?u.name:"-"},T=async(s=!1)=>{s?S.value=!0:A.value=!0;try{const e={page_no:H.value,page_size:he,...b.value};L.value&&(e.patient_name=L.value);const u=await Ze(e);s?x.value=[...x.value,...u.lists||[]]:x.value=u.lists||[],X.value=u.count||0}catch(e){console.error(e)}finally{A.value=!1,S.value=!1}},y=()=>{H.value=1,T()},xe=()=>{S.value||(H.value++,T(!0))},j=r(),se=r(),ae=r(),Ce=()=>j.value.open("add"),Ve=s=>j.value.open("edit",s),le=s=>se.value.open(s),we=async s=>{await v.confirm("确定要删除该诊单吗?"),await lt({id:s}),y()},V=r(!1),K=r(!1),P=r(null),w=r({assistant_id:null}),De=s=>{P.value=s,w.value.assistant_id=s.assistant_id?Number(s.assistant_id):null,V.value=!0},ze=async()=>{if(!w.value.assistant_id){v.msgWarning("请选择医助");return}K.value=!0;try{await Xe({id:P.value.id,assistant_id:w.value.assistant_id}),V.value=!1,y()}catch(s){console.error("指派失败:",s)}finally{K.value=!1}},Ee=s=>{var e;if(!s.patient_id){v.msgWarning("患者信息不完整");return}(e=ae.value)==null||e.open(s)},D=r(!1),W=r(!1),M=r(""),I=r(null),ne=async s=>{var e;if(!s.patient_id){v.msgWarning("患者信息不完整");return}I.value=s,D.value=!0,W.value=!0,M.value="";try{const u=await it();if(!(u!=null&&u.app_id)){v.msgError("小程序未配置"),D.value=!1;return}const m=await st({diagnosis_id:s.id,patient_id:s.patient_id,share_user_id:((e=Z.userInfo)==null?void 0:e.id)||""});m!=null&&m.qrcode_url?M.value=m.qrcode_url:v.msgError("二维码生成失败")}catch(u){v.msgError((u==null?void 0:u.msg)||"生成二维码失败")}finally{W.value=!1}},Re=()=>{I.value&&ne(I.value)},Y=r(!1),g=r(null),h=r([]),q=r(0),B=r(!1),C=r(""),G=r(!1),J=r(1),oe=async s=>{g.value=s,Y.value=!0,h.value=[],q.value=0,C.value="",J.value=1,B.value=!0;try{const[e]=await Promise.all([pe({diagnosis_id:s.id,patient_id:s.patient_id,page_no:1,page_size:20}),at({patient_id:s.patient_id||s.id}).catch(()=>null)]);h.value=(e==null?void 0:e.lists)||[],q.value=(e==null?void 0:e.count)||0}catch(e){console.error(e)}finally{B.value=!1}},Le=async()=>{if(g.value){J.value++;try{const s=await pe({diagnosis_id:g.value.id,patient_id:g.value.patient_id,page_no:J.value,page_size:20});h.value.push(...(s==null?void 0:s.lists)||[])}catch(s){console.error(s)}}},Ne=async()=>{var s;if(!C.value.trim()){v.msgWarning("请输入内容");return}G.value=!0;try{await et({diagnosis_id:g.value.id,patient_id:g.value.patient_id,content:C.value.trim(),msg_type:"note",staff_name:((s=Z.userInfo)==null?void 0:s.name)||"",external_name:g.value.patient_name||""}),C.value="",oe(g.value)}catch(e){v.msgError((e==null?void 0:e.msg)||"添加失败")}finally{G.value=!1}},Ue=async s=>{await v.confirm("确定删除该记录吗?");try{await tt({id:s}),h.value=h.value.filter(e=>e.id!==s),q.value--}catch(e){v.msgError((e==null?void 0:e.msg)||"删除失败")}};return mt(async()=>{document.body.classList.add("h5-mode"),await ke(),T()}),_t(()=>{document.body.classList.remove("h5-mode")}),(s,e)=>{var ce;const u=We,m=Me,U=Ie,$e=qe,F=je,_=Fe,ie=Be,Ae=He,re=Qe,Se=Oe,de=Te,Pe=Ke,ue=Ye;return i(),d("div",vt,[l("div",gt,[l("div",yt,[n(u,{modelValue:a(L),"onUpdate:modelValue":e[0]||(e[0]=t=>$(L)?L.value=t:null),placeholder:"搜索患者姓名",clearable:"","prefix-icon":"Search",onKeyup:Ge(y,["enter"]),onClear:y},null,8,["modelValue"])]),l("div",ht,[n(U,{modelValue:a(b).diagnosis_type,"onUpdate:modelValue":e[1]||(e[1]=t=>a(b).diagnosis_type=t),placeholder:"诊断类型",clearable:"",size:"small",onChange:y},{default:o(()=>[(i(!0),d(z,null,E(a(O),t=>(i(),R(m,{key:t.value,label:t.name,value:t.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),n(U,{modelValue:a(b).syndrome_type,"onUpdate:modelValue":e[2]||(e[2]=t=>a(b).syndrome_type=t),placeholder:"证型",clearable:"",size:"small",onChange:y},{default:o(()=>[(i(!0),d(z,null,E(a(Q),t=>(i(),R(m,{key:t.value,label:t.name,value:t.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),n(U,{modelValue:a(b).assistant_id,"onUpdate:modelValue":e[3]||(e[3]=t=>a(b).assistant_id=t),placeholder:"医助",clearable:"",size:"small",filterable:"",onChange:y},{default:o(()=>[(i(!0),d(z,null,E(a(N),t=>(i(),R(m,{key:t.id,label:t.name,value:Number(t.id)},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])])]),fe((i(),d("div",kt,[a(x).length===0&&!a(A)?(i(),d("div",bt,[n($e,{description:"暂无诊单数据"})])):k("",!0),(i(!0),d(z,null,E(a(x),t=>(i(),d("div",{key:t.id,class:"h5-card"},[l("div",xt,[l("div",Ct,[l("span",Vt,p(t.patient_name),1),n(F,{size:"small",type:t.gender===1?"primary":"danger",effect:"plain"},{default:o(()=>[c(p(t.gender_desc),1)]),_:2},1032,["type"]),t.age?(i(),d("span",wt,p(t.age)+"岁",1)):k("",!0)]),n(F,{size:"small",type:t.status==1?"success":"danger"},{default:o(()=>[c(p(t.status==1?"启用":"禁用"),1)]),_:2},1032,["type"])]),l("div",{class:"h5-card-body",onClick:f=>le(t.id)},[l("div",zt,[e[11]||(e[11]=l("span",{class:"label"},"编号",-1)),l("span",Et,p(t.id),1)]),l("div",Rt,[e[12]||(e[12]=l("span",{class:"label"},"诊断日期",-1)),l("span",Lt,p(t.diagnosis_date_text||"-"),1)]),l("div",Nt,[e[13]||(e[13]=l("span",{class:"label"},"诊断类型",-1)),l("span",Ut,p(te(a(O),t.diagnosis_type)),1)]),l("div",$t,[e[14]||(e[14]=l("span",{class:"label"},"证型",-1)),l("span",At,p(te(a(Q),t.syndrome_type)),1)]),l("div",St,[e[15]||(e[15]=l("span",{class:"label"},"归属助理",-1)),l("span",Pt,p(be(t.assistant_id)),1)]),l("div",Wt,[e[16]||(e[16]=l("span",{class:"label"},"创建时间",-1)),l("span",Mt,p(ge(t.create_time)),1)])],8,Dt),l("div",It,[l("div",Yt,[n(_,{type:"primary",text:"",size:"small",onClick:f=>le(t.id)},{default:o(()=>[...e[17]||(e[17]=[c("查看",-1)])]),_:1},8,["onClick"]),n(_,{type:"primary",text:"",size:"small",onClick:f=>Ve(t.id)},{default:o(()=>[...e[18]||(e[18]=[c("诊单",-1)])]),_:1},8,["onClick"]),n(_,{type:"success",text:"",size:"small",onClick:f=>De(t)},{default:o(()=>[...e[19]||(e[19]=[c("指派",-1)])]),_:1},8,["onClick"]),n(_,{type:"success",text:"",size:"small",onClick:f=>Ee(t)},{default:o(()=>[...e[20]||(e[20]=[c("预约",-1)])]),_:1},8,["onClick"]),n(_,{type:"warning",text:"",size:"small",onClick:f=>ne(t)},{default:o(()=>[...e[21]||(e[21]=[c("二维码",-1)])]),_:1},8,["onClick"]),n(_,{type:"primary",text:"",size:"small",onClick:f=>oe(t)},{default:o(()=>[...e[22]||(e[22]=[c("企微",-1)])]),_:1},8,["onClick"]),n(_,{type:"danger",text:"",size:"small",onClick:f=>we(t.id)},{default:o(()=>[...e[23]||(e[23]=[c("删除",-1)])]),_:1},8,["onClick"])])])]))),128)),a(ee)?(i(),d("div",{key:1,class:"h5-load-more",onClick:xe},[a(S)?(i(),d("span",Bt,"加载中...")):(i(),d("span",qt,"加载更多"))])):k("",!0),!a(ee)&&a(x).length>0?(i(),d("div",Ft,"没有更多了")):k("",!0)])),[[ue,a(A)]]),l("div",{class:"h5-fab",onClick:Ce},[n(ie,{size:24},{default:o(()=>[n(a(rt))]),_:1})]),n(ut,{ref_key:"editRef",ref:j,onSuccess:y},null,512),n(ct,{ref_key:"detailRef",ref:se},null,512),n(pt,{ref_key:"appointmentRef",ref:ae,onSuccess:y},null,512),n(Ae,{modelValue:a(D),"onUpdate:modelValue":e[5]||(e[5]=t=>$(D)?D.value=t:null),title:"小程序二维码",width:"90%","close-on-click-modal":!1},{footer:o(()=>[n(_,{onClick:e[4]||(e[4]=t=>D.value=!1)},{default:o(()=>[...e[26]||(e[26]=[c("关闭",-1)])]),_:1}),a(W)?k("",!0):(i(),R(_,{key:0,type:"primary",onClick:Re},{default:o(()=>[...e[27]||(e[27]=[c("重新生成",-1)])]),_:1}))]),default:o(()=>{var t;return[l("div",Ht,[a(W)?(i(),d("div",Ot,[n(ie,{class:"is-loading",size:40},{default:o(()=>[n(a(dt))]),_:1}),e[24]||(e[24]=l("div",{class:"mt-4 text-gray-500"},"生成中...",-1))])):a(M)?(i(),d("div",Qt,[l("img",{src:a(M),alt:"小程序二维码",class:"w-48 h-48 border border-gray-200 rounded"},null,8,Tt),l("div",jt,[l("div",null,"患者:"+p((t=a(I))==null?void 0:t.patient_name),1),e[25]||(e[25]=l("div",{class:"mt-2"},"请使用微信扫描二维码",-1))])])):(i(),d("div",Kt,"生成失败,请重试"))])]}),_:1},8,["modelValue"]),n(de,{modelValue:a(V),"onUpdate:modelValue":e[8]||(e[8]=t=>$(V)?V.value=t:null),title:"指派医助",direction:"btt",size:"40%"},{footer:o(()=>[n(_,{class:"flex-1",onClick:e[7]||(e[7]=t=>V.value=!1)},{default:o(()=>[...e[28]||(e[28]=[c("取消",-1)])]),_:1}),n(_,{class:"flex-1",type:"primary",onClick:ze,loading:a(K)},{default:o(()=>[...e[29]||(e[29]=[c("确定指派",-1)])]),_:1},8,["loading"])]),default:o(()=>[n(Se,{model:a(w),"label-position":"top",class:"h5-form"},{default:o(()=>[n(re,{label:"选择医助",required:""},{default:o(()=>[n(U,{modelValue:a(w).assistant_id,"onUpdate:modelValue":e[6]||(e[6]=t=>a(w).assistant_id=t),placeholder:"请选择医助",class:"!w-full",filterable:"",clearable:""},{default:o(()=>[(i(!0),d(z,null,E(a(N),t=>(i(),R(m,{key:t.id,label:t.name,value:Number(t.id)},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),n(re,{label:"诊单信息"},{default:o(()=>{var t,f;return[l("div",Gt,[l("div",null,"患者:"+p((t=a(P))==null?void 0:t.patient_name),1),l("div",null,"诊断日期:"+p((f=a(P))==null?void 0:f.diagnosis_date_text),1)])]}),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"]),n(de,{modelValue:a(Y),"onUpdate:modelValue":e[10]||(e[10]=t=>$(Y)?Y.value=t:null),title:`企微记录 - ${((ce=a(g))==null?void 0:ce.patient_name)||""}`,direction:"rtl",size:"100%","destroy-on-close":!0},{default:o(()=>[l("div",Jt,[l("div",Zt,[n(u,{modelValue:a(C),"onUpdate:modelValue":e[9]||(e[9]=t=>$(C)?C.value=t:null),type:"textarea",rows:2,placeholder:"添加沟通记录...",class:"flex-1"},null,8,["modelValue"]),n(_,{type:"primary",onClick:Ne,loading:a(G),class:"self-end",size:"small"},{default:o(()=>[...e[30]||(e[30]=[c("添加",-1)])]),_:1},8,["loading"])])]),fe((i(),d("div",null,[a(h).length===0&&!a(B)?(i(),d("div",Xt,"暂无聊天记录")):(i(),d("div",es,[(i(!0),d(z,null,E(a(h),t=>{var f;return i(),d("div",{key:t.id,class:"record-item"},[l("div",ts,[l("div",ss,[n(F,{type:t.direction===0?"primary":"success",size:"small"},{default:o(()=>[c(p(t.direction===0?"员工":"客户"),1)]),_:2},1032,["type"]),l("span",as,p(t.direction===0?t.staff_name:t.external_name||((f=a(g))==null?void 0:f.patient_name)),1),t.msg_type==="note"?(i(),R(F,{key:0,type:"warning",size:"small"},{default:o(()=>[...e[31]||(e[31]=[c("备注",-1)])]),_:1})):k("",!0)]),l("div",ls,[l("span",ns,p(ye(t.chat_time)),1),n(_,{type:"danger",link:"",size:"small",onClick:cs=>Ue(t.id)},{default:o(()=>[...e[32]||(e[32]=[c("删除",-1)])]),_:1},8,["onClick"])])]),l("div",os,p(t.content),1),t.media_url?(i(),d("div",is,[n(Pe,{src:t.media_url,style:{"max-width":"180px"},fit:"contain","preview-src-list":[t.media_url]},null,8,["src","preview-src-list"])])):k("",!0)])}),128))])),a(q)>a(h).length?(i(),d("div",{key:2,class:"h5-load-more",onClick:Le},"加载更多")):k("",!0)])),[[ue,a(B)]])]),_:1},8,["modelValue","title"])])}}}),Na=ot(ds,[["__scopeId","data-v-466b6db6"]]);export{Na as default};
|