Files
zyt/server/public/admin/assets/index-C03Fcwo8.js
T
2026-06-16 16:16:31 +08:00

3 lines
16 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-Z9sUYjw7.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-xxk7WZ2h.js","assets/index-c-1_4g8M.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-GlgFtsjo.js","assets/PrescriptionOrderDetailDrawer-CzKVpA_1.css","assets/edit-4PFqSPkL.js","assets/perm-1nTFmlcr.js","assets/DailyMatrix-DFHd5z1G.js","assets/picker-BcHBtTtK.js","assets/index-DM_QrFIq.js","assets/index-B3imPWFk.css","assets/index-DGrT4ZqH.js","assets/index.vue_vue_type_script_setup_true_lang-EJPdzUeK.js","assets/index-DDKGupmD.js","assets/index-D0f1Mn00.css","assets/index-CF_Tcj74.js","assets/cos-js-sdk-v5-DSMN0LUT.js","assets/file-DRHFTsFX.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-dqz6AtcO.js","assets/DiagnosisTodoList-D0SBmTHG.css","assets/blood-thresholds-CJ1fqMjh.js","assets/DailyMatrix-AmWwwWJ0.css","assets/CaseRecordList-CL2oTh8r.js","assets/CaseRecordList-Cl-c3q7S.css","assets/CallRecordPanel-DmtMCW2G.js","assets/RecordingPlaybackBlock-2-EESxXq.js","assets/RecordingVideoPlayer-Db01fggI.js","assets/RecordingVideoPlayer-4DegHAwm.css","assets/RecordingPlaybackBlock-B3KYFgvg.css","assets/CallRecordPanel-TsjZtTO8.css","assets/ImChatRecordPanel-DMVtNdIs.js","assets/im-business-message-parse-QKjFLn3X.js","assets/ImChatRecordPanel-aX8zpWRQ.css","assets/AssignLogPanel-BZ2RxkJ9.js","assets/AssignLogPanel-DkQMoEkX.css","assets/AppointmentRecordPanel-D429M7wY.js","assets/doctor-BBI17ER3.js","assets/AppointmentRecordPanel-DC22GDgn.css","assets/NoteTimeline-pRzgLwHH.js","assets/patient-DIU9-dto.js","assets/NoteTimeline-I2FSxX4s.css","assets/PatientOrderList-B_-CjeZV.js","assets/PatientOrderList-BX_KfVD3.css","assets/index-sV47xEoL.js","assets/index-HNCtsSwg.js","assets/medicine-CuNF5bWJ.js","assets/index-tfEElgYq.css","assets/diabetes-discovery-display-B_wmGXQJ.js","assets/html2canvas-QH1iLAAe.js","assets/index-DVzcucvm.css","assets/edit-ChZolkKU.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 Re,d as xe,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{t as Ae,u as Fe,v as Ie,w as Ye}from"./stats-DAVikP2h.js";import{h as x}from"./perm-1nTFmlcr.js";import{f as re,b as Be,ak as o,I as _,a as n,aN as i,O as p,J as l,F as V,ap as ie,H as ze,aP as le,G as b,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 r}from"./@vue/shared-mAAVTE9n.js";import{_ as Je}from"./index-c-1_4g8M.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},it={key:1},lt={key:1},st={key:1},ot={class:"rate-detail-footer"},rt=re({name:"revisitRateStatsPage"}),dt=re({...rt,setup(pt){const de=se(()=>ae(()=>import("./PrescriptionOrderDetailDrawer-Z9sUYjw7.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]))),pe=se(()=>ae(()=>import("./edit-4PFqSPkL.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=x(["stats.revisitRate/assignLines"]),N=x(["stats.revisitRate/visitOrderLines"]),B=x(["tcm.prescriptionOrder/detail"]),L=x(["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")}`,g=m(J),$=m(void 0),w=m(!1),Q=m([]),P=m(null),T=m([]),ue={value:"id",label:"name",children:"children"},M=oe(()=>{const[e,a]=g.value.split("-");return e&&a?`${e}${Number(a)}月`:g.value}),A=e=>e==null?"—":`${e}%`,F=()=>({month:g.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 s of S.value){const c=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)}下单 ${c} 单`:"",clickable:!!(N&&c>0),onClick:()=>Z(s,null)})}return a}),_e=({columns:e})=>{const a=P.value;return e.map((s,c)=>{if(c===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 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&&(g.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 h=a.get(d.id);d.pid>0&&a.has(d.pid)?a.get(d.pid).children.push(h):s.push(h)}const c=d=>{var h;(h=d.children)!=null&&h.length?d.children.forEach(c):delete d.children};return s.forEach(c),s},fe=async()=>{try{const e=await Fe();T.value=ve((e==null?void 0:e.rows)??[])}catch{T.value=[]}},R=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}`,R.value=!0,D.value=!0,k.value=[];try{const s=await Ie({...F(),assistant_id:a.assistant_id,dept_id:a.dept_id});k.value=(s==null?void 0:s.rows)??[]}finally{D.value=!1}},Z=async(e,a)=>{if(!N)return;const s=G(a);I.value="orders",Y.value=`${s.label} · ${y(e)}订单明细(${M.value}`,R.value=!0,D.value=!0,k.value=[];try{const c=await Ye({...F(),slot:e,assistant_id:s.assistant_id,dept_id:s.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)},ge=()=>{g.value=J,$.value=void 0,C()};return Be(()=>{fe(),C()}),(e,a)=>{const s=De,c=Ce,d=Ee,h=Ve,W=xe,be=Re,ye=we,X=Oe,u=Le,E=Se,ke=Pe,ee=Ne,$e=Me,te=Te;return o(),_("div",Qe,[n(X,{class:"!border-none",shadow:"never"},{default:i(()=>[n(ye,{inline:!0,class:"rate-filter-form"},{default:i(()=>[n(c,{label:"统计月份"},{default:i(()=>[n(s,{modelValue:g.value,"onUpdate:modelValue":a[0]||(a[0]=t=>g.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:i(()=>[n(d,{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:ue,style:{width:"220px"},onChange:C},null,8,["modelValue","data"])]),_:1}),n(c,null,{default:i(()=>[n(h,{type:"primary",loading:w.value,onClick:C},{default:i(()=>[...a[3]||(a[3]=[p("查询",-1)])]),_:1},8,["loading"]),n(h,{disabled:w.value,onClick:ge},{default:i(()=>[...a[4]||(a[4]=[p("重置",-1)])]),_:1},8,["disabled"])]),_:1}),n(c,null,{default:i(()=>[n(be,{placement:"bottom-start",width:500,trigger:"hover"},{reference:i(()=>[l("span",Ge,[n(W,null,{default:i(()=>[n(f(ne))]),_:1}),a[5]||(a[5]=p(" 统计口径 ",-1))])]),default:i(()=>[a[6]||(a[6]=l("div",{class:"rate-caliber"},[l("p",null,[l("b",null,"当月被指派总数"),p(":当月内诊单被指派给医助(按指派操作时间落月,"),l("b",null,"剔除勾选「继承」的指派"),p(")的诊单数,按「医助 × 诊单」去重;部门行 / 合计行按诊单去重。 ")]),l("p",null,[l("b",null,"诊次(第 N 次下单)"),p(":患者(诊单)名下计入业绩的业务订单(剔除已取消 / 拒收 / 退款)按下单时间升序的全局序号,"),l("b",null,"跨月累计不重置"),p("——如 5 月指派后旗下成交 4 单为二诊~五诊,下月再成交即为六诊。 ")]),l("p",null,[l("b",null,"当月 N 诊单数"),p(":当月内下单且诊次为 N 的订单数,归属下单时点"),l("b",null,"持有该患者的医助"),p("(指派可在往月;释放后不再归属;「继承」指派会转移持有人但不计被指派数)。 ")]),l("p",null,[l("b",null,"当月 N 诊接诊率"),p(" = 当月 N 诊单数 ÷ 当月被指派总数。往月指派、当月成交会推高分子,比率可能超过 100%;医助当月无新指派但旗下有成交时,被指派数为 0、比率显示「—」。 ")]),l("p",null," 医助按人事部门归组;选定部门时含其组织下级。 ")],-1))]),_:1})]),_:1})]),_:1})]),_:1}),l("div",He,[(o(!0),_(V,null,ie(ce.value,t=>(o(),_("div",{key:t.key,class:Ue(["rate-kpi-card",{"is-clickable":t.clickable}]),onClick:v=>t.clickable&&t.onClick&&t.onClick()},[l("div",je,r(t.label),1),l("div",qe,r(t.value),1),t.sub?(o(),_("div",Ke,r(t.sub),1)):ze("",!0)],10,Ze))),128))]),n(X,{class:"!border-none mt-4",shadow:"never"},{header:i(()=>[l("div",We,[l("span",null,"部门 · 医助明细("+r(M.value)+"",1),a[7]||(a[7]=l("span",{class:"rate-card-hint"},"点击「被指派数 / N诊单数」可查看具体诊单与订单;底栏合计的被指派数按诊单去重",-1))])]),default:i(()=>[le((o(),b(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:i(()=>[n(u,{label:"部门 / 医助","min-width":"200",fixed:""},{default:i(({row:t})=>[t.is_dept?(o(),_("span",Xe,[p(r(t.dept_name)+" ",1),l("span",et,r(t.assistant_count)+" 人",1)])):(o(),_("span",tt,r(t.assistant_name),1))]),_:1}),n(u,{prop:"assigned_count",label:"当月被指派数","min-width":"110",align:"right"},{default:i(({row:t})=>[f(O)&&t.assigned_count>0?(o(),b(E,{key:0,type:"primary",underline:!1,onClick:v=>H(t)},{default:i(()=>[p(r(t.assigned_count),1)]),_:2},1032,["onClick"])):(o(),_("span",at,r(t.assigned_count),1))]),_:1}),(o(!0),_(V,null,ie(S.value,t=>(o(),_(V,{key:t},[n(u,{prop:`visit${t}_count`,label:`${y(t)}单数`,"min-width":"96",align:"right"},{header:i(()=>[l("span",null,r(y(t))+"单数",1),n(ke,{effect:"dark",placement:"top",content:`当月内下单、诊次为第 ${t} 次的订单数(诊次跨月累计;归属下单时点持有患者的医助)`},{default:i(()=>[n(W,{class:"rate-th-hint"},{default:i(()=>[n(f(ne))]),_:1})]),_:1},8,["content"])]),default:i(({row:v})=>[f(N)&&v[`visit${t}_count`]>0?(o(),b(E,{key:0,type:"primary",underline:!1,onClick:ut=>Z(t,v)},{default:i(()=>[p(r(v[`visit${t}_count`]),1)]),_:2},1032,["onClick"])):(o(),_("span",nt,r(v[`visit${t}_count`]),1))]),_:2},1032,["prop","label"]),n(u,{prop:`visit${t}_rate`,label:`${y(t)}接诊率`,"min-width":"96",align:"right"},{default:i(({row:v})=>[p(r(A(v[`visit${t}_rate`])),1)]),_:2},1032,["prop","label"])],64))),128))]),_:1},8,["data"])),[[te,w.value]])]),_:1}),n($e,{modelValue:R.value,"onUpdate:modelValue":a[2]||(a[2]=t=>R.value=t),title:Y.value,width:"980px",top:"6vh","destroy-on-close":""},{default:i(()=>[le((o(),b(ee,{data:k.value,size:"small",border:"",stripe:"","max-height":"60vh"},{default:i(()=>[I.value==="assign"?(o(),_(V,{key:0},[n(u,{prop:"diagnosis_id",label:"诊单ID",width:"90"}),n(u,{prop:"patient_name",label:"患者","min-width":"100"},{default:i(({row:t})=>[f(L)&&t.diagnosis_id?(o(),b(E,{key:0,type:"primary",underline:!1,onClick:v=>K(t.diagnosis_id)},{default:i(()=>[p(r(t.patient_name||`诊单#${t.diagnosis_id}`),1)]),_:2},1032,["onClick"])):(o(),_("span",it,r(t.patient_name||"—"),1))]),_:1}),n(u,{prop:"patient_phone",label:"联系电话","min-width":"120"},{default:i(({row:t})=>[p(r(t.patient_phone||"—"),1)]),_:1}),n(u,{prop:"assistant_names",label:"被指派医助","min-width":"140","show-overflow-tooltip":""}),n(u,{prop:"assign_count",label:"当月指派次数",width:"110",align:"right"}),n(u,{prop:"last_assign_time_text",label:"最近指派时间","min-width":"160"})],64)):(o(),_(V,{key:1},[n(u,{prop:"order_no",label:"订单号","min-width":"180","show-overflow-tooltip":""},{default:i(({row:t})=>[f(B)&&t.order_id?(o(),b(E,{key:0,type:"primary",underline:!1,onClick:v=>he(t.order_id)},{default:i(()=>[p(r(t.order_no||`#${t.order_id}`),1)]),_:2},1032,["onClick"])):(o(),_("span",lt,r(t.order_no||`#${t.order_id}`),1))]),_:1}),n(u,{prop:"diagnosis_id",label:"诊单ID",width:"90"}),n(u,{prop:"patient_name",label:"患者","min-width":"100"},{default:i(({row:t})=>[f(L)&&t.diagnosis_id?(o(),b(E,{key:0,type:"primary",underline:!1,onClick:v=>K(t.diagnosis_id)},{default:i(()=>[p(r(t.patient_name||`诊单#${t.diagnosis_id}`),1)]),_:2},1032,["onClick"])):(o(),_("span",st,r(t.patient_name||"—"),1))]),_:1}),n(u,{prop:"amount",label:"金额",width:"100",align:"right"},{default:i(({row:t})=>[p("¥ "+r(t.amount),1)]),_:1}),n(u,{prop:"create_time_text",label:"下单时间","min-width":"160"}),n(u,{prop:"assistant_name",label:"持有医助","min-width":"100"}),n(u,{prop:"creator_name",label:"订单创建人","min-width":"100"})],64))]),_:1},8,["data"])),[[te,D.value]]),l("div",ot,"共 "+r(k.value.length)+" 条",1)]),_:1},8,["modelValue","title"]),n(f(de),{ref_key:"orderDetailRef",ref:j,readonly:"","append-to-body":""},null,512),n(f(pe),{ref_key:"diagnosisEditRef",ref:q},null,512)])}}}),Kt=Je(dt,[["__scopeId","data-v-d1c77be5"]]);export{Kt as default};