Files
zyt/server/public/admin/assets/index_h5-Bu77Jzd0.js
T
2026-03-24 16:32:56 +08:00

2 lines
15 KiB
JavaScript

import{F as We,Q as Ie,P as Me,L as Ye,T as Fe,d as He,i as qe,Y as Oe,G as Qe,D as Te,e as Be,U as je,v as Ke}from"./element-plus-CFxTwCZ2.js";import{w as Ge}from"./@vue/runtime-dom-iFk_KP8y.js";import{E as Je,D as Xe,F as Ze,H as pe,I as et,J as tt,m as st,L as at,K as lt}from"./tcm-CEDF0dA_.js";import{a as nt,j as me,f as v,d as ot}from"./index-DqzX0p3J.js";import{g as it}from"./weapp-Dnx64MKA.js";import{y as rt,l as dt}from"./@element-plus/icons-vue-cboVPb4D.js";import{E as ut}from"./edit-CIb_NJzO.js";import{_ as ct}from"./detail.vue_vue_type_script_setup_true_lang-y-pF77i-.js";import pt from"./appointment-EUrgBCoK.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-BADexyn7.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-DYKKs4Al.js";import"./tslib-BDyQ-Jie.js";import"./zrender-CTTuYiLF.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-BVMzZUvF.js";import"./picker-DsltUfs3.js";import"./index-Dn-pwuas.js";import"./index-CHkSemYM.js";import"./index.vue_vue_type_script_setup_true_lang-CaamePaH.js";import"./index-DrGLRjBU.js";import"./index-H3KMCy3k.js";import"./index.vue_vue_type_script_setup_true_lang-DNaQ2ceB.js";import"./usePaging-D4wPHtKU.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"./BloodRecordList-BS0mske4.js";import"./CaseRecordList-1NwayiPu.js";import"./CallRecordPanel-C_tba6F8.js";import"./ImChatRecordPanel-CJDxJ90z.js";import"./html2canvas-QH1iLAAe.js";import"./doctor-CWMDoMqr.js";const vt={class:"diagnosis-h5"},gt={class:"h5-header"},yt={class:"h5-search"},ht={class:"h5-filter-row"},kt={class:"h5-list"},xt={key:0,class:"h5-empty"},bt={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"},St={class:"value"},At={class:"info-line"},Pt={class:"value"},Wt={class:"info-line"},It={class:"value"},Mt={class:"h5-card-footer"},Yt={class:"action-scroll"},Ft={key:0},Ht={key:1},qt={key:2,class:"h5-no-more"},Ot={class:"flex flex-col items-center justify-center py-4"},Qt={key:0,class:"text-center"},Tt={key:1,class:"text-center"},Bt=["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"},Xt={class:"flex gap-2"},Zt={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 X=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(""),x=r({patient_name:"",diagnosis_type:"",syndrome_type:"",assistant_id:""}),b=r([]),S=r(!1),A=r(!1),O=r(1),he=15,Z=r(0),ee=ft(()=>b.value.length<Z.value),Q=r([]),T=r([]),N=r([]),ke=async()=>{try{const[s,e,u]=await Promise.all([me({type:"diagnosis_type"}),me({type:"syndrome_type"}),Je()]);Q.value=(s==null?void 0:s.diagnosis_type)||[],T.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||"-"},xe=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:"-"},B=async(s=!1)=>{s?A.value=!0:S.value=!0;try{const e={page_no:O.value,page_size:he,...x.value};L.value&&(e.patient_name=L.value);const u=await Xe(e);s?b.value=[...b.value,...u.lists||[]]:b.value=u.lists||[],Z.value=u.count||0}catch(e){console.error(e)}finally{S.value=!1,A.value=!1}},y=()=>{O.value=1,B()},be=()=>{A.value||(O.value++,B(!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 Ze({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),I=r(""),M=r(null),ne=async s=>{var e;if(!s.patient_id){v.msgWarning("患者信息不完整");return}M.value=s,D.value=!0,W.value=!0,I.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=X.userInfo)==null?void 0:e.id)||""});m!=null&&m.qrcode_url?I.value=m.qrcode_url:v.msgError("二维码生成失败")}catch(u){v.msgError((u==null?void 0:u.msg)||"生成二维码失败")}finally{W.value=!1}},Re=()=>{M.value&&ne(M.value)},Y=r(!1),g=r(null),h=r([]),F=r(0),H=r(!1),C=r(""),G=r(!1),J=r(1),oe=async s=>{g.value=s,Y.value=!0,h.value=[],F.value=0,C.value="",J.value=1,H.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)||[],F.value=(e==null?void 0:e.count)||0}catch(e){console.error(e)}finally{H.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=X.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),F.value--}catch(e){v.msgError((e==null?void 0:e.msg)||"删除失败")}};return mt(async()=>{document.body.classList.add("h5-mode"),await ke(),B()}),_t(()=>{document.body.classList.remove("h5-mode")}),(s,e)=>{var ce;const u=We,m=Ie,U=Me,$e=Fe,q=je,_=qe,ie=He,Se=Oe,re=Te,Ae=Qe,de=Be,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(x).diagnosis_type,"onUpdate:modelValue":e[1]||(e[1]=t=>a(x).diagnosis_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(x).syndrome_type,"onUpdate:modelValue":e[2]||(e[2]=t=>a(x).syndrome_type=t),placeholder:"证型",clearable:"",size:"small",onChange:y},{default:o(()=>[(i(!0),d(z,null,E(a(T),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(x).assistant_id,"onUpdate:modelValue":e[3]||(e[3]=t=>a(x).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(b).length===0&&!a(S)?(i(),d("div",xt,[n($e,{description:"暂无诊单数据"})])):k("",!0),(i(!0),d(z,null,E(a(b),t=>(i(),d("div",{key:t.id,class:"h5-card"},[l("div",bt,[l("div",Ct,[l("span",Vt,p(t.patient_name),1),n(q,{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(q,{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(Q),t.diagnosis_type)),1)]),l("div",$t,[e[14]||(e[14]=l("span",{class:"label"},"证型",-1)),l("span",St,p(te(a(T),t.syndrome_type)),1)]),l("div",At,[e[15]||(e[15]=l("span",{class:"label"},"归属助理",-1)),l("span",Pt,p(xe(t.assistant_id)),1)]),l("div",Wt,[e[16]||(e[16]=l("span",{class:"label"},"创建时间",-1)),l("span",It,p(ge(t.create_time)),1)])],8,Dt),l("div",Mt,[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:be},[a(A)?(i(),d("span",Ht,"加载中...")):(i(),d("span",Ft,"加载更多"))])):k("",!0),!a(ee)&&a(b).length>0?(i(),d("div",qt,"没有更多了")):k("",!0)])),[[ue,a(S)]]),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(Se,{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",Ot,[a(W)?(i(),d("div",Qt,[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(I)?(i(),d("div",Tt,[l("img",{src:a(I),alt:"小程序二维码",class:"w-48 h-48 border border-gray-200 rounded"},null,8,Bt),l("div",jt,[l("div",null,"患者:"+p((t=a(M))==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(Ae,{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",Xt,[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(H)?(i(),d("div",Zt,"暂无聊天记录")):(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(q,{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(q,{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(F)>a(h).length?(i(),d("div",{key:2,class:"h5-load-more",onClick:Le},"加载更多")):k("",!0)])),[[ue,a(H)]])]),_:1},8,["modelValue","title"])])}}}),ha=ot(ds,[["__scopeId","data-v-466b6db6"]]);export{ha as default};