3 lines
13 KiB
JavaScript
3 lines
13 KiB
JavaScript
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/PrescriptionOrderDetailDrawer-D11HLMOA.js","assets/.pnpm-BGZW0UGg.js","assets/.pnpm-LiWq8Xu0.css","assets/tcm-o2aZele6.js","assets/index-CeIwrh_6.js","assets/index-or10At3s.css","assets/prescription-order-utils-70xOmaF9.js","assets/PrescriptionOrderDetailDrawer-BfXlTc79.css","assets/edit-D1g1vjWt.js","assets/perm-Q-oS8V6a.js","assets/DailyMatrix-CiHWp8Dr.js","assets/picker-y_fNEf57.js","assets/index-BeJT5uVo.js","assets/index-dh40Du6y.css","assets/index-DjAC1tO-.js","assets/index.vue_vue_type_script_setup_true_lang-ByFSC-yR.js","assets/index-B1H9vJ5g.js","assets/index-BYMg0OFw.css","assets/index-TD4t951S.js","assets/file-tQw_m7Aj.js","assets/index.vue_vue_type_script_setup_true_lang-DBx_F7yj.js","assets/usePaging-C4oc3vBq.js","assets/index-D6uL8V1j.css","assets/picker-CLzhBfnG.css","assets/DiagnosisTodoList-BMaXTFOp.js","assets/DiagnosisTodoList-UCBTL4Nb.css","assets/blood-thresholds-CJ1fqMjh.js","assets/DailyMatrix--Ay5C05Q.css","assets/CaseRecordList-Bk86rMKp.js","assets/CaseRecordList-DEgrl9PS.css","assets/CallRecordPanel-BWpJA8fG.js","assets/RecordingPlaybackBlock-By4EH6-v.js","assets/RecordingVideoPlayer-CF68w3pY.js","assets/RecordingVideoPlayer-B6Ash5UQ.css","assets/RecordingPlaybackBlock-DLd92gGw.css","assets/CallRecordPanel-p7h_1hh9.css","assets/ImChatRecordPanel-DvAzVP_O.js","assets/dayjs-BnultS00.js","assets/im-business-message-parse-_PY5JHD3.js","assets/ImChatRecordPanel-BRnJl8ir.css","assets/AssignLogPanel-9L2L9pAg.js","assets/AssignLogPanel-CbpABGSR.css","assets/AppointmentRecordPanel-CofiR1sU.js","assets/doctor-CF92xvl4.js","assets/AppointmentRecordPanel-BWS3OyF0.css","assets/NoteTimeline-BzPZFlMO.js","assets/patient-BjsUr8x6.js","assets/NoteTimeline-ICZA393r.css","assets/PatientOrderList-D8hLRqVz.js","assets/PatientOrderList-C04fcm0u.css","assets/index-wKqy3vpg.js","assets/index-scNAcif5.js","assets/medicine-BaUOPlgY.js","assets/index-CWb8I_d4.css","assets/diabetes-discovery-display-B_wmGXQJ.js","assets/index-CkWEOp4j.css","assets/edit-Cgsl1tY9.css","assets/TrackingNoteTimeline-C-2kS81H.css"])))=>i.map(i=>d[i]);
|
||
import{o as re,ap as we,q as o,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 u,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 r,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-BGZW0UGg.js";import{t as Ie,u as Be,v as ze,w as Ue}from"./stats-w8J-WFG6.js";import{h as O}from"./perm-Q-oS8V6a.js";import{_ as qe}from"./index-CeIwrh_6.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-D11HLMOA.js"),__vite__mapDeps([0,1,2,3,4,5,6,7]))),ue=ie(()=>se(()=>import("./edit-D1g1vjWt.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 s of N.value){const p=e?e[`visit${s}_count`]:null,d=e?e[`visit${s}_rate`]:null;a.push({key:`visit${s}`,label:`当月${y(s)}接诊率`,value:e?A(d):"—",sub:e?`${y(s)}下单 ${p} 单`:"",clickable:!!(L&&p>0),onClick:()=>Q(s,null)})}return a}),_e=({columns:e})=>{const a=S.value;return e.map((s,p)=>{if(p===0)return"合计";if(!a)return"";const d=String(s.property||"");return d==="assigned_count"?String(a.assigned_count):/^visit\d+_count$/.test(d)?String(a[d]??""):/^visit\d+_rate$/.test(d)?A(a[d]):""})},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 d of e)a.set(d.id,{...d,children:[]});const s=[];for(const d of e){const b=a.get(d.id);d.pid>0&&a.has(d.pid)?a.get(d.pid).children.push(b):s.push(b)}const p=d=>{var b;(b=d.children)!=null&&b.length?d.children.forEach(p):delete d.children};return s.forEach(p),s},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 s=await ze({...F(),assistant_id:a.assistant_id,dept_id:a.dept_id});k.value=(s==null?void 0:s.rows)??[]}finally{D.value=!1}},Q=async(e,a)=>{if(!L)return;const s=j(a);Y.value="orders",I.value=`${s.label} · ${y(e)}订单明细(${M.value})`,x.value=!0,D.value=!0,k.value=[];try{const p=await Ue({...F(),slot:e,assistant_id:s.assistant_id,dept_id:s.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 s=Ee,p=De,d=Ve,b=xe,X=Re,ge=Oe,ye=Ce,Z=Le,c=Pe,E=Me,ke=Ae,ee=Se,$e=Ye,te=Fe;return o(),_("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(s,{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(d,{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]=[u("查询",-1)])]),_:1},8,["loading"]),n(b,{disabled:w.value,onClick:he},{default:l(()=>[...a[4]||(a[4]=[u("重置",-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]=u(" 统计口径 ",-1))])]),default:l(()=>[a[6]||(a[6]=i("div",{class:"rate-caliber"},[i("p",null,[i("b",null,"当月被指派总数"),u(":当月内诊单被指派给医助(按指派操作时间落月,"),i("b",null,"剔除勾选「继承」的指派"),u(")的诊单数,按「医助 × 诊单」去重;部门行 / 合计行按诊单去重。 ")]),i("p",null,[i("b",null,"诊次(第 N 次下单)"),u(":患者(诊单)名下计入业绩的业务订单(剔除已取消 / 拒收 / 退款)按下单时间升序的全局序号,"),i("b",null,"跨月累计不重置"),u("——如 5 月指派后旗下成交 4 单为二诊~五诊,下月再成交即为六诊。 ")]),i("p",null,[i("b",null,"当月 N 诊单数"),u(":当月内下单且诊次为 N 的订单数,归属下单时点"),i("b",null,"持有该患者的医助"),u("(指派可在往月;释放后不再归属;「继承」指派会转移持有人但不计被指派数)。 ")]),i("p",null,[i("b",null,"当月 N 诊接诊率"),u(" = 当月 N 诊单数 ÷ 当月被指派总数。往月指派、当月成交会推高分子,比率可能超过 100%;医助当月无新指派但旗下有成交时,被指派数为 0、比率显示「—」。 ")]),i("p",null," 医助按人事部门归组;选定部门时含其组织下级。 ")],-1))]),_:1})]),_:1})]),_:1})]),_:1}),i("div",Ge,[(o(!0),_(V,null,ne(pe.value,t=>(o(),_("div",{key:t.key,class:Te(["rate-kpi-card",{"is-clickable":t.clickable}]),onClick:v=>t.clickable&&t.onClick&&t.onClick()},[i("div",He,r(t.label),1),i("div",Je,r(t.value),1),t.sub?(o(),_("div",We,r(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,"部门 · 医助明细("+r(M.value)+")",1),a[7]||(a[7]=i("span",{class:"rate-card-hint"},"点击「被指派数 / N诊单数」可查看具体诊单与订单;底栏合计的被指派数按诊单去重",-1))])]),default:l(()=>[le((o(),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?(o(),_("span",Ze,[u(r(t.dept_name)+" ",1),i("span",et,r(t.assistant_count)+" 人",1)])):(o(),_("span",tt,r(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?(o(),g(E,{key:0,type:"primary",underline:!1,onClick:v=>G(t)},{default:l(()=>[u(r(t.assigned_count),1)]),_:2},1032,["onClick"])):(o(),_("span",at,r(t.assigned_count),1))]),_:1}),(o(!0),_(V,null,ne(N.value,t=>(o(),_(V,{key:t},[n(c,{prop:`visit${t}_count`,label:`${y(t)}单数`,"min-width":"96",align:"right"},{header:l(()=>[i("span",null,r(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?(o(),g(E,{key:0,type:"primary",underline:!1,onClick:ct=>Q(t,v)},{default:l(()=>[u(r(v[`visit${t}_count`]),1)]),_:2},1032,["onClick"])):(o(),_("span",nt,r(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})=>[u(r(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((o(),g(ee,{data:k.value,size:"small",border:"",stripe:"","max-height":"60vh"},{default:l(()=>[Y.value==="assign"?(o(),_(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?(o(),g(E,{key:0,type:"primary",underline:!1,onClick:v=>W(t.diagnosis_id)},{default:l(()=>[u(r(t.patient_name||`诊单#${t.diagnosis_id}`),1)]),_:2},1032,["onClick"])):(o(),_("span",lt,r(t.patient_name||"—"),1))]),_:1}),n(c,{prop:"patient_phone",label:"联系电话","min-width":"120"},{default:l(({row:t})=>[u(r(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)):(o(),_(V,{key:1},[n(c,{prop:"order_no",label:"订单号","min-width":"180","show-overflow-tooltip":""},{default:l(({row:t})=>[f(B)&&t.order_id?(o(),g(E,{key:0,type:"primary",underline:!1,onClick:v=>be(t.order_id)},{default:l(()=>[u(r(t.order_no||`#${t.order_id}`),1)]),_:2},1032,["onClick"])):(o(),_("span",it,r(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?(o(),g(E,{key:0,type:"primary",underline:!1,onClick:v=>W(t.diagnosis_id)},{default:l(()=>[u(r(t.patient_name||`诊单#${t.diagnosis_id}`),1)]),_:2},1032,["onClick"])):(o(),_("span",st,r(t.patient_name||"—"),1))]),_:1}),n(c,{prop:"amount",label:"金额",width:"100",align:"right"},{default:l(({row:t})=>[u("¥ "+r(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,"共 "+r(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-bc42d1a3"]]);export{ft as default};
|