3 lines
17 KiB
JavaScript
3 lines
17 KiB
JavaScript
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/PrescriptionOrderDetailDrawer-BL7WuF4P.js","assets/element-plus-Bolc0EfP.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-B0jSCQ-G.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-CL62-hT2.css","assets/tcm-B2eDN42y.js","assets/index-CzSP4TPL.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-B8eb0l7L.css","assets/prescription-order-utils-JfPHOgCe.js","assets/PrescriptionOrderDetailDrawer-CvPY-EBw.css","assets/edit-DJu_2QAV.js","assets/perm-Ba4WXYK7.js","assets/DailyMatrix-BykpJjGm.js","assets/picker-BFSyGoz9.js","assets/index-DWEeyCDR.js","assets/index-B3imPWFk.css","assets/index-BL6dsbzE.js","assets/index.vue_vue_type_script_setup_true_lang-EJPdzUeK.js","assets/index-C5CUkFFb.js","assets/index-D0f1Mn00.css","assets/index-8GEGc2Yz.js","assets/cos-js-sdk-v5-DSMN0LUT.js","assets/file-DA0zt1Rz.js","assets/index.vue_vue_type_script_setup_true_lang-Lcfr_gGB.js","assets/usePaging-VsbTxSU0.js","assets/index-BYOmK9R5.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-DVfXtsgC.js","assets/DiagnosisTodoList-D0SBmTHG.css","assets/blood-thresholds-CJ1fqMjh.js","assets/DailyMatrix-AmWwwWJ0.css","assets/CaseRecordList-CdYwSXQk.js","assets/CaseRecordList-Cl-c3q7S.css","assets/CallRecordPanel-DbPxSfko.js","assets/RecordingPlaybackBlock-CUlY7YyE.js","assets/RecordingVideoPlayer-D1_T25z0.js","assets/RecordingVideoPlayer-4DegHAwm.css","assets/RecordingPlaybackBlock-B3KYFgvg.css","assets/CallRecordPanel-TsjZtTO8.css","assets/ImChatRecordPanel-CfA9lIP0.js","assets/im-business-message-parse-QKjFLn3X.js","assets/ImChatRecordPanel-aX8zpWRQ.css","assets/AssignLogPanel-BlIdJQ7L.js","assets/AssignLogPanel-DkQMoEkX.css","assets/AppointmentRecordPanel-CQZii2JX.js","assets/doctor-CwO7n1kw.js","assets/AppointmentRecordPanel-DC22GDgn.css","assets/NoteTimeline-2XD75WaJ.js","assets/patient-B-TtpnKl.js","assets/NoteTimeline-I2FSxX4s.css","assets/PatientOrderList-Dgam7DDA.js","assets/PatientOrderList-D8-uh2iu.css","assets/index-CPYf9n-I.js","assets/index-Pb72-1vG.js","assets/medicine-Cpa7L0_Z.js","assets/index-tfEElgYq.css","assets/diabetes-discovery-display-B_wmGXQJ.js","assets/html2canvas-QH1iLAAe.js","assets/index-DVzcucvm.css","assets/edit-Ceb8O_U_.css","assets/TrackingNoteTimeline-B9T8pFso.css"])))=>i.map(i=>d[i]);
|
||
import{_ as ae}from"./jspdf-BsthCvR5.js";import{D as we,B as Ce,R as De,Z as Ee,i as Ve,a2 as xe,d as Re,J as Oe,M as Ne,N as Le,S as Se,r as Pe,L as Te,V as Me}from"./element-plus-Bolc0EfP.js";import{i as ne}from"./@element-plus/icons-vue-B0jSCQ-G.js";import{u as Ae,v as Fe,w as Ie,x as Ye}from"./stats-D27LducX.js";import{h as R}from"./perm-Ba4WXYK7.js";import{f as re,b as Be,ak as r,I as _,a as n,aN as l,O as s,J as i,F as V,ap as le,H as ze,aP as ie,G as g,P as se,A as oe}from"./@vue/runtime-core-C6bnekPw.js";import{y as f,n as m}from"./@vue/reactivity-DiY1c2vO.js";import{o as Ue,Q as d}from"./@vue/shared-mAAVTE9n.js";import{_ as Je}from"./index-CzSP4TPL.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.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 Qe={class:"revisit-rate-page"},Ge={class:"rate-caliber-trigger"},He={class:"rate-kpi-grid"},Ze=["onClick"],je={class:"rate-kpi-label"},qe={class:"rate-kpi-value"},Ke={key:0,class:"rate-kpi-sub"},We={class:"rate-card-header"},Xe={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=se(()=>ae(()=>import("./PrescriptionOrderDetailDrawer-BL7WuF4P.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]))),ue=se(()=>ae(()=>import("./edit-DJu_2QAV.js"),__vite__mapDeps([44,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,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,0,42,43,92,93,94,95,96,97,98,99,100,101]))),O=R(["stats.revisitRate/assignLines"]),N=R(["stats.revisitRate/visitOrderLines"]),B=R(["tcm.prescriptionOrder/detail"]),L=R(["tcm.diagnosis/detail"]),S=m([2,3,4]),z=["零","一","二","三","四","五","六","七","八","九","十"],y=e=>e>=2&&e<=10?`${z[e]}诊`:e>10&&e<20?`十${z[e-10]}诊`:`${e}诊`,U=new Date,J=`${U.getFullYear()}-${String(U.getMonth()+1).padStart(2,"0")}`,b=m(J),$=m(void 0),w=m(!1),Q=m([]),P=m(null),T=m([]),pe={value:"id",label:"name",children:"children"},M=oe(()=>{const[e,a]=b.value.split("-");return e&&a?`${e}年${Number(a)}月`:b.value}),A=e=>e==null?"—":`${e}%`,F=()=>({month:b.value,dept_ids:$.value?String($.value):""}),ce=oe(()=>{const e=P.value,a=[{key:"assigned",label:"当月被指派总数",value:e?String(e.assigned_count):"—",sub:"",clickable:!!(O&&e&&e.assigned_count>0),onClick:()=>H(null)}];for(const o of S.value){const c=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)}下单 ${c} 单`:"",clickable:!!(N&&c>0),onClick:()=>Z(o,null)})}return a}),_e=({columns:e})=>{const a=P.value;return e.map((o,c)=>{if(c===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 Ae(F());Q.value=(e==null?void 0:e.rows)??[],P.value=(e==null?void 0:e.total)??null,Array.isArray(e==null?void 0:e.slots)&&e.slots.length&&(S.value=e.slots.map(a=>Number(a)).filter(a=>a>=2)),e!=null&&e.month&&(b.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 h=a.get(u.id);u.pid>0&&a.has(u.pid)?a.get(u.pid).children.push(h):o.push(h)}const c=u=>{var h;(h=u.children)!=null&&h.length?u.children.forEach(c):delete u.children};return o.forEach(c),o},fe=async()=>{try{const e=await Fe();T.value=ve((e==null?void 0:e.rows)??[])}catch{T.value=[]}},x=m(!1),I=m("assign"),Y=m(""),D=m(!1),k=m([]),G=e=>e?e.is_dept?{dept_id:e.dept_id,label:e.dept_name}:{assistant_id:e.assistant_id,label:e.assistant_name||""}:{label:"合计"},H=async e=>{if(!O)return;const a=G(e);I.value="assign",Y.value=`${a.label} · 被指派明细(${M.value})`,x.value=!0,D.value=!0,k.value=[];try{const o=await Ie({...F(),assistant_id:a.assistant_id,dept_id:a.dept_id});k.value=(o==null?void 0:o.rows)??[]}finally{D.value=!1}},Z=async(e,a)=>{if(!N)return;const o=G(a);I.value="orders",Y.value=`${o.label} · ${y(e)}订单明细(${M.value})`,x.value=!0,D.value=!0,k.value=[];try{const c=await Ye({...F(),slot:e,assistant_id:o.assistant_id,dept_id:o.dept_id});k.value=(c==null?void 0:c.rows)??[]}finally{D.value=!1}},j=m(null),he=e=>{var a;!B||!e||(a=j.value)==null||a.open(e)},q=m(null),K=e=>{var a;!L||!e||(a=q.value)==null||a.openViewOnly(e)},be=()=>{b.value=J,$.value=void 0,C()};return Be(()=>{fe(),C()}),(e,a)=>{const o=De,c=Ce,u=Ee,h=Ve,W=Re,ge=xe,ye=we,X=Oe,p=Le,E=Se,ke=Pe,ee=Ne,$e=Me,te=Te;return r(),_("div",Qe,[n(X,{class:"!border-none",shadow:"never"},{default:l(()=>[n(ye,{inline:!0,class:"rate-filter-form"},{default:l(()=>[n(c,{label:"统计月份"},{default:l(()=>[n(o,{modelValue:b.value,"onUpdate:modelValue":a[0]||(a[0]=t=>b.value=t),type:"month","value-format":"YYYY-MM",placeholder:"选择月份",clearable:!1,"disabled-date":me,style:{width:"160px"},onChange:C},null,8,["modelValue"])]),_:1}),n(c,{label:"部门"},{default:l(()=>[n(u,{modelValue:$.value,"onUpdate:modelValue":a[1]||(a[1]=t=>$.value=t),data:T.value,placeholder:"二中心(全部)",clearable:"",filterable:"","check-strictly":"","node-key":"id","default-expand-all":!0,props:pe,style:{width:"220px"},onChange:C},null,8,["modelValue","data"])]),_:1}),n(c,null,{default:l(()=>[n(h,{type:"primary",loading:w.value,onClick:C},{default:l(()=>[...a[3]||(a[3]=[s("查询",-1)])]),_:1},8,["loading"]),n(h,{disabled:w.value,onClick:be},{default:l(()=>[...a[4]||(a[4]=[s("重置",-1)])]),_:1},8,["disabled"])]),_:1}),n(c,null,{default:l(()=>[n(ge,{placement:"bottom-start",width:500,trigger:"hover"},{reference:l(()=>[i("span",Ge,[n(W,null,{default:l(()=>[n(f(ne))]),_: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",He,[(r(!0),_(V,null,le(ce.value,t=>(r(),_("div",{key:t.key,class:Ue(["rate-kpi-card",{"is-clickable":t.clickable}]),onClick:v=>t.clickable&&t.onClick&&t.onClick()},[i("div",je,d(t.label),1),i("div",qe,d(t.value),1),t.sub?(r(),_("div",Ke,d(t.sub),1)):ze("",!0)],10,Ze))),128))]),n(X,{class:"!border-none mt-4",shadow:"never"},{header:l(()=>[i("div",We,[i("span",null,"部门 · 医助明细("+d(M.value)+")",1),a[7]||(a[7]=i("span",{class:"rate-card-hint"},"点击「被指派数 / N诊单数」可查看具体诊单与订单;底栏合计的被指派数按诊单去重",-1))])]),default:l(()=>[ie((r(),g(ee,{data:Q.value,size:"small",border:"","row-key":"row_key","tree-props":{children:"children"},"default-expand-all":!0,"show-summary":"","summary-method":_e},{default:l(()=>[n(p,{label:"部门 / 医助","min-width":"200",fixed:""},{default:l(({row:t})=>[t.is_dept?(r(),_("span",Xe,[s(d(t.dept_name)+" ",1),i("span",et,d(t.assistant_count)+" 人",1)])):(r(),_("span",tt,d(t.assistant_name),1))]),_:1}),n(p,{prop:"assigned_count",label:"当月被指派数","min-width":"110",align:"right"},{default:l(({row:t})=>[f(O)&&t.assigned_count>0?(r(),g(E,{key:0,type:"primary",underline:!1,onClick:v=>H(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,le(S.value,t=>(r(),_(V,{key:t},[n(p,{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(W,{class:"rate-th-hint"},{default:l(()=>[n(f(ne))]),_:1})]),_:1},8,["content"])]),default:l(({row:v})=>[f(N)&&v[`visit${t}_count`]>0?(r(),g(E,{key:0,type:"primary",underline:!1,onClick:pt=>Z(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(p,{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:Y.value,width:"980px",top:"6vh","destroy-on-close":""},{default:l(()=>[ie((r(),g(ee,{data:k.value,size:"small",border:"",stripe:"","max-height":"60vh"},{default:l(()=>[I.value==="assign"?(r(),_(V,{key:0},[n(p,{prop:"diagnosis_id",label:"诊单ID",width:"90"}),n(p,{prop:"patient_name",label:"患者","min-width":"100"},{default:l(({row:t})=>[f(L)&&t.diagnosis_id?(r(),g(E,{key:0,type:"primary",underline:!1,onClick:v=>K(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(p,{prop:"patient_phone",label:"联系电话","min-width":"120"},{default:l(({row:t})=>[s(d(t.patient_phone||"—"),1)]),_:1}),n(p,{prop:"assistant_names",label:"被指派医助","min-width":"140","show-overflow-tooltip":""}),n(p,{prop:"assign_count",label:"当月指派次数",width:"110",align:"right"}),n(p,{prop:"last_assign_time_text",label:"最近指派时间","min-width":"160"})],64)):(r(),_(V,{key:1},[n(p,{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=>he(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(p,{prop:"diagnosis_id",label:"诊单ID",width:"90"}),n(p,{prop:"patient_name",label:"患者","min-width":"100"},{default:l(({row:t})=>[f(L)&&t.diagnosis_id?(r(),g(E,{key:0,type:"primary",underline:!1,onClick:v=>K(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(p,{prop:"amount",label:"金额",width:"100",align:"right"},{default:l(({row:t})=>[s("¥ "+d(t.amount),1)]),_:1}),n(p,{prop:"create_time_text",label:"下单时间","min-width":"160"}),n(p,{prop:"assistant_name",label:"持有医助","min-width":"100"}),n(p,{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:j,readonly:"","append-to-body":""},null,512),n(f(ue),{ref_key:"diagnosisEditRef",ref:q},null,512)])}}}),Kt=Je(dt,[["__scopeId","data-v-e3c58335"]]);export{Kt as default};
|