Files
zyt/server/public/admin/assets/index-DV39N5BU.js
T
2026-07-28 16:29:32 +08:00

3 lines
14 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/PrescriptionOrderDetailDrawer-CEi7ZXfx.js","assets/.pnpm-9dA1PEvN.js","assets/.pnpm-LiWq8Xu0.css","assets/tcm-Fi_swgCr.js","assets/index-BWzN7QIb.js","assets/index-or10At3s.css","assets/prescription-order-utils-B0fYlULc.js","assets/PrescriptionOrderDetailDrawer-DL92yzHH.css","assets/edit-DxLWCQnV.js","assets/perm-BzF8JgcJ.js","assets/DailyMatrix-BOqZMkKS.js","assets/picker-DfI3CPnQ.js","assets/index-dYaCh-CN.js","assets/index-dh40Du6y.css","assets/index-xDQ_OZln.js","assets/index.vue_vue_type_script_setup_true_lang-DbpIG4p5.js","assets/index-fA0EWEUO.js","assets/index-BYMg0OFw.css","assets/index-DFkJDhf6.js","assets/file-BL6iPgPC.js","assets/index.vue_vue_type_script_setup_true_lang-Blf417m7.js","assets/usePaging-Boz1Q6w3.js","assets/index-D6uL8V1j.css","assets/picker-CLzhBfnG.css","assets/DiagnosisTodoList-CAIMA53u.js","assets/DiagnosisTodoList-UCBTL4Nb.css","assets/blood-thresholds-CJ1fqMjh.js","assets/DailyMatrix--Ay5C05Q.css","assets/CaseRecordList-DlCqPijV.js","assets/CaseRecordList-DEgrl9PS.css","assets/CallRecordPanel-CJ3iGibG.js","assets/RecordingPlaybackBlock-CN4w1UI-.js","assets/RecordingVideoPlayer-DIfduEP7.js","assets/RecordingVideoPlayer-B6Ash5UQ.css","assets/RecordingPlaybackBlock-DLd92gGw.css","assets/CallRecordPanel-p7h_1hh9.css","assets/ImChatRecordPanel-BMjxk7mx.js","assets/dayjs-BsOAYQJw.js","assets/im-business-message-parse-DmDISFGN.js","assets/ImChatRecordPanel-BRnJl8ir.css","assets/AssignLogPanel-CF42MNq_.js","assets/AssignLogPanel-CbpABGSR.css","assets/AppointmentRecordPanel-DxBIlcME.js","assets/doctor-Chj6BcVp.js","assets/AppointmentRecordPanel-BWS3OyF0.css","assets/NoteTimeline-DxUNQs4y.js","assets/patient-Btpwd7dp.js","assets/NoteTimeline-ICZA393r.css","assets/PatientOrderList-CKjXSixL.js","assets/PatientOrderList-BgC6GQc_.css","assets/index-B5cu05RL.js","assets/index-CNLsF7Nt.js","assets/medicine-DezWRkkS.js","assets/index-C_LxAEkS.css","assets/diabetes-discovery-display-B_wmGXQJ.js","assets/index-DxQanmqx.css","assets/edit-Cgsl1tY9.css","assets/TrackingNoteTimeline-C-2kS81H.css"])))=>i.map(i=>d[i]);
import{o as re,ap as we,q as r,r as _,v as n,D as l,b9 as Ce,b6 as De,bp as Ee,bK as Ve,K as xe,L as s,bY as Oe,s as i,w as Re,u as f,cg as ae,bg as Le,F as V,G as ne,ae as Te,T as d,P as Ne,ac as le,O as g,bj as Se,bk as Pe,bq as Me,a1 as Ae,bi as Fe,bt as Ye,cb as ie,al as se,M as m,p as oe}from"./.pnpm-9dA1PEvN.js";import{v as Ie,w as Be,x as ze,z as Ue}from"./stats-CYdFBybj.js";import{h as O}from"./perm-BzF8JgcJ.js";import{_ as qe}from"./index-BWzN7QIb.js";const Ke={class:"revisit-rate-page"},je={class:"rate-caliber-trigger"},Ge={class:"rate-kpi-grid"},Qe=["onClick"],He={class:"rate-kpi-label"},Je={class:"rate-kpi-value"},We={key:0,class:"rate-kpi-sub"},Xe={class:"rate-card-header"},Ze={key:0,class:"rate-dept-cell"},et={class:"rate-dept-count"},tt={key:1},at={key:1},nt={key:1},lt={key:1},it={key:1},st={key:1},ot={class:"rate-detail-footer"},rt=re({name:"revisitRateStatsPage"}),dt=re({...rt,setup(ut){const de=ie(()=>se(()=>import("./PrescriptionOrderDetailDrawer-CEi7ZXfx.js"),__vite__mapDeps([0,1,2,3,4,5,6,7]))),ue=ie(()=>se(()=>import("./edit-DxLWCQnV.js"),__vite__mapDeps([8,1,2,3,4,5,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,0,6,7,49,50,51,52,53,54,55,56,57]))),R=O(["stats.revisitRate/assignLines"]),L=O(["stats.revisitRate/visitOrderLines"]),B=O(["tcm.prescriptionOrder/detail"]),T=O(["tcm.diagnosis/detail"]),N=m([2,3,4]),z=["零","一","二","三","四","五","六","七","八","九","十"],y=e=>e>=2&&e<=10?`${z[e]}诊`:e>10&&e<20?`十${z[e-10]}诊`:`${e}诊`,U=new Date,q=`${U.getFullYear()}-${String(U.getMonth()+1).padStart(2,"0")}`,h=m(q),$=m(void 0),w=m(!1),K=m([]),S=m(null),P=m([]),ce={value:"id",label:"name",children:"children"},M=oe(()=>{const[e,a]=h.value.split("-");return e&&a?`${e}${Number(a)}月`:h.value}),A=e=>e==null?"—":`${e}%`,F=()=>({month:h.value,dept_ids:$.value?String($.value):""}),pe=oe(()=>{const e=S.value,a=[{key:"assigned",label:"当月被指派总数",value:e?String(e.assigned_count):"—",sub:"",clickable:!!(R&&e&&e.assigned_count>0),onClick:()=>G(null)}];for(const o of N.value){const p=e?e[`visit${o}_count`]:null,u=e?e[`visit${o}_rate`]:null;a.push({key:`visit${o}`,label:`当月${y(o)}接诊率`,value:e?A(u):"—",sub:e?`${y(o)}下单 ${p} 单`:"",clickable:!!(L&&p>0),onClick:()=>Q(o,null)})}return a}),_e=({columns:e})=>{const a=S.value;return e.map((o,p)=>{if(p===0)return"合计";if(!a)return"";const u=String(o.property||"");return u==="assigned_count"?String(a.assigned_count):/^visit\d+_count$/.test(u)?String(a[u]??""):/^visit\d+_rate$/.test(u)?A(a[u]):""})},me=e=>{const a=new Date;return e.getFullYear()*12+e.getMonth()>a.getFullYear()*12+a.getMonth()},C=async()=>{w.value=!0;try{const e=await Ie(F());K.value=(e==null?void 0:e.rows)??[],S.value=(e==null?void 0:e.total)??null,Array.isArray(e==null?void 0:e.slots)&&e.slots.length&&(N.value=e.slots.map(a=>Number(a)).filter(a=>a>=2)),e!=null&&e.month&&(h.value=e.month)}finally{w.value=!1}},ve=e=>{const a=new Map;for(const u of e)a.set(u.id,{...u,children:[]});const o=[];for(const u of e){const b=a.get(u.id);u.pid>0&&a.has(u.pid)?a.get(u.pid).children.push(b):o.push(b)}const p=u=>{var b;(b=u.children)!=null&&b.length?u.children.forEach(p):delete u.children};return o.forEach(p),o},fe=async()=>{try{const e=await Be();P.value=ve((e==null?void 0:e.rows)??[])}catch{P.value=[]}},x=m(!1),Y=m("assign"),I=m(""),D=m(!1),k=m([]),j=e=>e?e.is_dept?{dept_id:e.dept_id,label:e.dept_name}:{assistant_id:e.assistant_id,label:e.assistant_name||""}:{label:"合计"},G=async e=>{if(!R)return;const a=j(e);Y.value="assign",I.value=`${a.label} · 被指派明细(${M.value}`,x.value=!0,D.value=!0,k.value=[];try{const o=await ze({...F(),assistant_id:a.assistant_id,dept_id:a.dept_id});k.value=(o==null?void 0:o.rows)??[]}finally{D.value=!1}},Q=async(e,a)=>{if(!L)return;const o=j(a);Y.value="orders",I.value=`${o.label} · ${y(e)}订单明细(${M.value}`,x.value=!0,D.value=!0,k.value=[];try{const p=await Ue({...F(),slot:e,assistant_id:o.assistant_id,dept_id:o.dept_id});k.value=(p==null?void 0:p.rows)??[]}finally{D.value=!1}},H=m(null),be=e=>{var a;!B||!e||(a=H.value)==null||a.open(e)},J=m(null),W=e=>{var a;!T||!e||(a=J.value)==null||a.openViewOnly(e)},he=()=>{h.value=q,$.value=void 0,C()};return we(()=>{fe(),C()}),(e,a)=>{const o=Ee,p=De,u=Ve,b=xe,X=Re,ge=Oe,ye=Ce,Z=Le,c=Pe,E=Me,ke=Ae,ee=Se,$e=Ye,te=Fe;return r(),_("div",Ke,[n(Z,{class:"!border-none",shadow:"never"},{default:l(()=>[n(ye,{inline:!0,class:"rate-filter-form"},{default:l(()=>[n(p,{label:"统计月份"},{default:l(()=>[n(o,{modelValue:h.value,"onUpdate:modelValue":a[0]||(a[0]=t=>h.value=t),type:"month","value-format":"YYYY-MM",placeholder:"选择月份",clearable:!1,"disabled-date":me,style:{width:"160px"},onChange:C},null,8,["modelValue"])]),_:1}),n(p,{label:"部门"},{default:l(()=>[n(u,{modelValue:$.value,"onUpdate:modelValue":a[1]||(a[1]=t=>$.value=t),data:P.value,placeholder:"二中心(全部)",clearable:"",filterable:"","check-strictly":"","node-key":"id","default-expand-all":!0,props:ce,style:{width:"220px"},onChange:C},null,8,["modelValue","data"])]),_:1}),n(p,null,{default:l(()=>[n(b,{type:"primary",loading:w.value,onClick:C},{default:l(()=>[...a[3]||(a[3]=[s("查询",-1)])]),_:1},8,["loading"]),n(b,{disabled:w.value,onClick:he},{default:l(()=>[...a[4]||(a[4]=[s("重置",-1)])]),_:1},8,["disabled"])]),_:1}),n(p,null,{default:l(()=>[n(ge,{placement:"bottom-start",width:500,trigger:"hover"},{reference:l(()=>[i("span",je,[n(X,null,{default:l(()=>[n(f(ae))]),_:1}),a[5]||(a[5]=s(" 统计口径 ",-1))])]),default:l(()=>[a[6]||(a[6]=i("div",{class:"rate-caliber"},[i("p",null,[i("b",null,"当月被指派总数"),s(":当月内诊单被指派给医助(按指派操作时间落月,"),i("b",null,"剔除勾选「继承」的指派"),s(")的诊单数,按「医助 × 诊单」去重;部门行 / 合计行按诊单去重;"),i("b",null,"再剔除"),s("名下存在履约「拒收 / 退款」业务订单的诊单。 ")]),i("p",null,[i("b",null,"诊次(第 N 次下单)"),s(":患者(诊单)名下计入业绩的业务订单(剔除已取消 / 拒收 / 退款)按下单时间升序编号为「实单序号」,"),i("b",null,"统计诊次 = 实单序号 + 诊单偏移"),s("(默认偏移 0 → 第 1 笔实单为一诊;偏移 1 → 第 1 笔实单为二诊;偏移 2 → 第 1 笔实单为三诊,5 笔实单等价七诊)。诊次"),i("b",null,"跨月累计不重置"),s("。诊单可在「业务订单」tab 配置偏移量。 ")]),i("p",null,[i("b",null,"当月 N 诊单数"),s(":当月内下单且诊次为 N 的订单数,归属下单时点"),i("b",null,"持有该患者的医助"),s("(指派可在往月;释放后不再归属;「继承」指派会转移持有人但不计被指派数)。 ")]),i("p",null,[i("b",null,"当月 N 诊接诊率"),s(" = 当月 N 诊单数 ÷ 当月被指派总数。往月指派、当月成交会推高分子,比率可能超过 100%;医助当月无新指派但旗下有成交时,被指派数为 0、比率显示「—」。 ")]),i("p",null,[s(" 医助按人事部门归组;"),i("b",null,"仅统计「二中心」及其组织下级"),s(";部门下拉与未选时的默认范围均限定在该子树,选定部门时含其组织下级。 ")])],-1))]),_:1})]),_:1})]),_:1})]),_:1}),i("div",Ge,[(r(!0),_(V,null,ne(pe.value,t=>(r(),_("div",{key:t.key,class:Te(["rate-kpi-card",{"is-clickable":t.clickable}]),onClick:v=>t.clickable&&t.onClick&&t.onClick()},[i("div",He,d(t.label),1),i("div",Je,d(t.value),1),t.sub?(r(),_("div",We,d(t.sub),1)):Ne("",!0)],10,Qe))),128))]),n(Z,{class:"!border-none mt-4",shadow:"never"},{header:l(()=>[i("div",Xe,[i("span",null,"部门 · 医助明细("+d(M.value)+"",1),a[7]||(a[7]=i("span",{class:"rate-card-hint"},"点击「被指派数 / N诊单数」可查看具体诊单与订单;底栏合计的被指派数按诊单去重",-1))])]),default:l(()=>[le((r(),g(ee,{data:K.value,size:"small",border:"","row-key":"row_key","tree-props":{children:"children"},"default-expand-all":!0,"show-summary":"","summary-method":_e},{default:l(()=>[n(c,{label:"部门 / 医助","min-width":"200",fixed:""},{default:l(({row:t})=>[t.is_dept?(r(),_("span",Ze,[s(d(t.dept_name)+" ",1),i("span",et,d(t.assistant_count)+" 人",1)])):(r(),_("span",tt,d(t.assistant_name),1))]),_:1}),n(c,{prop:"assigned_count",label:"当月被指派数","min-width":"110",align:"right"},{default:l(({row:t})=>[f(R)&&t.assigned_count>0?(r(),g(E,{key:0,type:"primary",underline:!1,onClick:v=>G(t)},{default:l(()=>[s(d(t.assigned_count),1)]),_:2},1032,["onClick"])):(r(),_("span",at,d(t.assigned_count),1))]),_:1}),(r(!0),_(V,null,ne(N.value,t=>(r(),_(V,{key:t},[n(c,{prop:`visit${t}_count`,label:`${y(t)}单数`,"min-width":"96",align:"right"},{header:l(()=>[i("span",null,d(y(t))+"单数",1),n(ke,{effect:"dark",placement:"top",content:`当月内下单、诊次为第 ${t} 次的订单数(诊次跨月累计;归属下单时点持有患者的医助)`},{default:l(()=>[n(X,{class:"rate-th-hint"},{default:l(()=>[n(f(ae))]),_:1})]),_:1},8,["content"])]),default:l(({row:v})=>[f(L)&&v[`visit${t}_count`]>0?(r(),g(E,{key:0,type:"primary",underline:!1,onClick:ct=>Q(t,v)},{default:l(()=>[s(d(v[`visit${t}_count`]),1)]),_:2},1032,["onClick"])):(r(),_("span",nt,d(v[`visit${t}_count`]),1))]),_:2},1032,["prop","label"]),n(c,{prop:`visit${t}_rate`,label:`${y(t)}接诊率`,"min-width":"96",align:"right"},{default:l(({row:v})=>[s(d(A(v[`visit${t}_rate`])),1)]),_:2},1032,["prop","label"])],64))),128))]),_:1},8,["data"])),[[te,w.value]])]),_:1}),n($e,{modelValue:x.value,"onUpdate:modelValue":a[2]||(a[2]=t=>x.value=t),title:I.value,width:"980px",top:"6vh","destroy-on-close":""},{default:l(()=>[le((r(),g(ee,{data:k.value,size:"small",border:"",stripe:"","max-height":"60vh"},{default:l(()=>[Y.value==="assign"?(r(),_(V,{key:0},[n(c,{prop:"diagnosis_id",label:"诊单ID",width:"90"}),n(c,{prop:"patient_name",label:"患者","min-width":"100"},{default:l(({row:t})=>[f(T)&&t.diagnosis_id?(r(),g(E,{key:0,type:"primary",underline:!1,onClick:v=>W(t.diagnosis_id)},{default:l(()=>[s(d(t.patient_name||`诊单#${t.diagnosis_id}`),1)]),_:2},1032,["onClick"])):(r(),_("span",lt,d(t.patient_name||"—"),1))]),_:1}),n(c,{prop:"patient_phone",label:"联系电话","min-width":"120"},{default:l(({row:t})=>[s(d(t.patient_phone||"—"),1)]),_:1}),n(c,{prop:"assistant_names",label:"被指派医助","min-width":"140","show-overflow-tooltip":""}),n(c,{prop:"assign_count",label:"当月指派次数",width:"110",align:"right"}),n(c,{prop:"last_assign_time_text",label:"最近指派时间","min-width":"160"})],64)):(r(),_(V,{key:1},[n(c,{prop:"order_no",label:"订单号","min-width":"180","show-overflow-tooltip":""},{default:l(({row:t})=>[f(B)&&t.order_id?(r(),g(E,{key:0,type:"primary",underline:!1,onClick:v=>be(t.order_id)},{default:l(()=>[s(d(t.order_no||`#${t.order_id}`),1)]),_:2},1032,["onClick"])):(r(),_("span",it,d(t.order_no||`#${t.order_id}`),1))]),_:1}),n(c,{prop:"diagnosis_id",label:"诊单ID",width:"90"}),n(c,{prop:"patient_name",label:"患者","min-width":"100"},{default:l(({row:t})=>[f(T)&&t.diagnosis_id?(r(),g(E,{key:0,type:"primary",underline:!1,onClick:v=>W(t.diagnosis_id)},{default:l(()=>[s(d(t.patient_name||`诊单#${t.diagnosis_id}`),1)]),_:2},1032,["onClick"])):(r(),_("span",st,d(t.patient_name||"—"),1))]),_:1}),n(c,{prop:"amount",label:"金额",width:"100",align:"right"},{default:l(({row:t})=>[s("¥ "+d(t.amount),1)]),_:1}),n(c,{prop:"create_time_text",label:"下单时间","min-width":"160"}),n(c,{prop:"assistant_name",label:"持有医助","min-width":"100"}),n(c,{prop:"creator_name",label:"订单创建人","min-width":"100"})],64))]),_:1},8,["data"])),[[te,D.value]]),i("div",ot,"共 "+d(k.value.length)+" 条",1)]),_:1},8,["modelValue","title"]),n(f(de),{ref_key:"orderDetailRef",ref:H,readonly:"","append-to-body":""},null,512),n(f(ue),{ref_key:"diagnosisEditRef",ref:J},null,512)])}}}),ft=qe(dt,[["__scopeId","data-v-d232729c"]]);export{ft as default};