Files
zyt/server/public/admin/assets/yeji-D0UjH6BD.js
T
2026-05-06 18:22:24 +08:00

6 lines
62 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.
import{P as Ga,Q as Ja,af as Ka,W as Xa,L as Qa,a2 as Za,i as en,d as tn,J as an,m as nn,l as ln,M as on,N as sn,R as rn,r as dn,a3 as un,a4 as cn,X as mn,e as _n,V as pn,E as Le}from"./element-plus-B7Dx6hR2.js";import{s as $e,w as fn}from"./@vue/runtime-dom-CEiKlVMn.js";import{M as vn,x as yn,i as U}from"./@element-plus/icons-vue-C25ce6PD.js";import{H as q}from"./vue-echarts-NHykWhhX.js";import{d as gn,y as Me,a as hn,b as bn,c as wn,e as kn,f as xn,g as jn,h as Nn}from"./stats-RgrS0a_C.js";import{d as Sn}from"./finance-CNEIDHTg.js";import{j as Dn}from"./tcm-C-HR_i0x.js";import{u as Cn,_ as zn}from"./index-CMjmnkXt.js";import{f as Ln,b as $n,ak as o,I as u,J as a,a as r,aN as c,F as k,ap as O,G as x,aP as G,O as m,H as v,A as L}from"./@vue/runtime-core-tF_2qJHK.js";import{Q as d,o as Ue}from"./@vue/shared-mAAVTE9n.js";import{y as C,n as y}from"./@vue/reactivity-BmZ-20sQ.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./resize-detector-G6vbKCU7.js";import"./echarts-yVHyDRAS.js";import"./tslib-BDyQ-Jie.js";import"./zrender-C0YiHEZX.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-BjeWxBI0.js";import"./pinia-CTWOnonq.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-Da2f2eD_.js";import"./@vueuse/shared-Bl-RnC0s.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"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-Bm7NQW9r.js";const Mn={class:"yeji-page"},Rn={class:"filter-surface"},Pn={class:"filter-row filter-row--top"},An={class:"filter-field"},On={class:"channel-opt-row"},In={class:"opt-name"},Fn={class:"opt-count"},Tn={class:"filter-field filter-field--wide"},Vn={class:"filter-select filter-select--dept filter-dept-tree-wrap"},En={class:"filter-field filter-field--date-top"},Bn={class:"filter-actions"},Yn={class:"filter-quick"},Hn={class:"date-pills",role:"group","aria-label":"快捷日期"},Un=["onClick"],Wn={class:"doctor-daily-card__head"},qn={class:"doctor-daily-card__title-block"},Gn={key:0,class:"doctor-daily-card__range"},Jn={class:"doctor-daily-card__tools"},Kn={key:0,class:"leaderboards-wrap"},Xn={class:"leaderboard-hint"},Qn={class:"muted"},Zn={class:"tables-wrap"},el={key:0,class:"yeji-table leaderboard-table"},tl={class:"yeji-table__header"},al={key:0,class:"leaderboard-sub"},nl={class:"yeji-table__body"},ll=["onClick"],ol={class:"col-rank"},sl={class:"col-abbr"},il={class:"col-name"},rl={class:"col-consult"},dl={class:"col-deal"},ul={class:"col-assign"},cl=["onClick"],ml={key:0,class:"yeji-lead-cell--link"},_l=["onClick"],pl={key:0,class:"yeji-lead-cell--link"},fl={class:"yeji-table__foot yeji-table__foot--left"},vl={key:0},yl={key:0,class:"empty-tip leaderboard-empty"},gl={key:0,class:"tp-wrap"},hl={key:0,class:"tp-card"},bl={class:"tp-card__title"},wl={class:"tp-card__body"},kl={class:"tp-section__head"},xl={class:"tp-section__title-col"},jl={key:0,class:"tp-section__parent"},Nl={class:"tp-section__name"},Sl={class:"tp-section__target"},Dl={class:"tp-table"},Cl={class:"tp-val"},zl={key:0},Ll={class:"tp-val"},$l={key:1},Ml={class:"tp-val"},Rl={class:"tp-val tp-val--total"},Pl={class:"tp-val"},Al={class:"tables-wrap"},Ol={key:0,class:"empty-tip"},Il={class:"yeji-table__header"},Fl={class:"yeji-table__body"},Tl={style:{"max-width":"320px","line-height":"1.7","font-size":"12px"}},Vl={style:{"max-width":"320px","line-height":"1.7","font-size":"12px"}},El={style:{"max-width":"280px","line-height":"1.7","font-size":"12px"}},Bl={key:0,class:"col-completed"},Yl={key:1,class:"col-completed"},Hl={style:{"max-width":"320px","line-height":"1.7","font-size":"12px"}},Ul={key:2,class:"col-completed"},Wl={style:{"max-width":"280px","line-height":"1.7","font-size":"12px"}},ql={style:{"max-width":"320px","line-height":"1.7","font-size":"12px"}},Gl=["onClick"],Jl={class:"col-dept"},Kl=["onClick"],Xl={key:0,class:"yeji-lead-cell--link"},Ql=["onClick"],Zl={key:0,class:"yeji-lead-cell--link"},eo=["onClick"],to={key:0,class:"yeji-lead-cell--link"},ao={key:0,class:"col-completed"},no={key:1,class:"col-completed"},lo={key:2,class:"col-completed"},oo={class:"total-row"},so={key:0,class:"col-completed"},io={key:1,class:"col-completed"},ro={key:2,class:"col-completed"},uo={class:"yeji-table__foot"},co={key:0},mo={key:1},_o={class:"yeji-charts-stack"},po={key:0,class:"yeji-chart-block"},fo={class:"yeji-chart-block__title"},vo={key:0,class:"yeji-chart-block__sub"},yo={class:"yeji-chart-panel"},go={class:"yeji-chart-panel"},ho={class:"yeji-chart-panel"},bo={class:"yeji-chart-panel"},wo={class:"yeji-chart-panel"},ko={key:0,class:"yeji-chart-block"},xo={class:"yeji-chart-block__title"},jo={class:"yeji-chart-panel"},No={class:"yeji-chart-panel"},So={class:"yeji-chart-block__title"},Do={key:0,class:"yeji-chart-block__sub"},Co={class:"yeji-chart-block__sub yeji-chart-block__sub--muted"},zo={class:"yeji-chart-panel"},Lo={class:"yeji-order-drawer__header"},$o={class:"yeji-order-drawer__heading"},Mo={class:"yeji-order-drawer__sub"},Ro={class:"yeji-order-drawer__shell"},Po={class:"yeji-order-drawer__stats",role:"region","aria-label":"订单汇总"},Ao={class:"yeji-order-drawer__stat-card"},Oo={class:"yeji-order-drawer__stat-value"},Io={class:"yeji-order-drawer__stat-card"},Fo={class:"yeji-order-drawer__stat-value"},To={class:"yeji-order-drawer__stat-card yeji-order-drawer__stat-card--accent"},Vo={class:"yeji-order-drawer__stat-value yeji-order-drawer__stat-value--money"},Eo={key:0,class:"yeji-order-drawer__stat-card yeji-order-drawer__stat-card--muted"},Bo={class:"yeji-order-drawer__stat-value"},Yo={class:"yeji-order-drawer__body"},Ho={class:"yeji-order-amt"},Uo={class:"yeji-order-drawer__pager"},Wo={class:"yeji-unassigned-dialog__head"},qo={class:"yeji-unassigned-dialog__sub"},Go={key:0,class:"yeji-unassigned-dialog__note"},Jo={class:"yeji-unassigned-dialog__body"},Ko={class:"yeji-unassigned-dialog__head"},Xo={class:"yeji-unassigned-dialog__sub"},Qo={key:0,class:"yeji-unassigned-dialog__note"},Zo={class:"yeji-unassigned-dialog__body"},es={key:2,class:"yeji-leadlines-dialog__pager"},ts={class:"yeji-unassigned-dialog__head"},as={class:"yeji-unassigned-dialog__sub"},ns={key:0,class:"yeji-unassigned-dialog__note"},ls={class:"yeji-unassigned-dialog__body"},os=["onClick","onKeydown"],Vt=30,ss="stats.doctorDailyStats/overview",is=Ln({__name:"yeji",setup(rs){const Et={value:"id",label:"name",children:"children"};function Bt(t){if(!t.length)return[];const e=new Map;for(const h of t)e.set(h.id,{...h,children:[]});const n=[];for(const h of t){const g=e.get(h.id),w=Number(h.pid);w>0&&e.has(w)?e.get(w).children.push(g):n.push(g)}const s=h=>{var g;(g=h.children)!=null&&g.length?h.children.forEach(s):delete h.children};n.forEach(s);const i=h=>{var g;h.sort((w,F)=>{const A=w.name.includes("中心")?-1:1,_=F.name.includes("中心")?-1:1;return A!==_?A-_:w.id-F.id});for(const w of h)(g=w.children)!=null&&g.length&&i(w.children)};return i(n),n}const K=y(!1),se=y([]),We=y(!1),Yt=L(()=>Bt(se.value)),R=y([]),qe=y([]),Ge=y(!1),M=y(""),V=y(null),Z=y([]);function Je(t,e){if(!t||typeof t!="object")return e;for(const n of Object.keys(t)){const s=parseInt(n,10);!Number.isNaN(s)&&s>=2&&(e=Math.max(e,s))}return e}function Ht(t){var n;let e=0;for(const s of t){for(const i of s.rows)e=Je(i.revisit_slots,e);e=Je((n=s.total)==null?void 0:n.revisit_slots,e)}return e}const Ke=L(()=>{const t=Math.min(Ht(Z.value),Vt);return t<2?[]:Array.from({length:t-1},(e,n)=>n+2)});function Ut(t){if(!t.er_center_subtree)return 0;let e=0;for(const n of t.rows)e=Je(n.revisit_slots,e);return e}function ut(t){const e=Math.min(Ut(t),Vt);return e<2?[]:Array.from({length:e-1},(n,s)=>s+2)}function Re(t){if(t===2)return"复诊2";const e=["三","四","五","六","七","八","九","十"];return t>=3&&t<=10?`复诊${e[t-3]}`:`复诊${t}`}function J(t,e){const n=t==null?void 0:t.revisit_slots;if(!n||typeof n!="object")return 0;const s=n[e]??n[String(e)],i=Number(s);return Number.isFinite(i)?i:0}const j=y(null),X=y(!1),Xe=y(!1),ie=y(!1),ct=y(""),he=y(""),re=y([]),Qe=y(!1),de=y(!1),mt=y(""),be=y(""),ue=y([]),_t=y(null),Ze=y(!1),ee=y(!1),pt=y(""),we=y(""),ce=y([]),ke=y(0),xe=y(1),Pe=y(20),ft=y(null),vt=y("zyyt"),Wt=Cn(),me=L(()=>(Wt.perms||[]).some(e=>e==="*"||e===ss)),yt=L(()=>{var t;return(((t=j.value)==null?void 0:t.leaderboards)??[]).filter(e=>e.rows.length>0)});function gt(t){return t.rows.some(e=>e.dept_id>0&&(Number(e.lead_count)>0||Number(e.consult_count)>0||Number(e.deal_order_count)>0||Number(e.performance_amount)>0||Number(e.completed_performance_amount)>0))}const _e=y(!1),E=y([]),pe=y({}),Ae=y(null),Oe=L(()=>{const t=Ae.value;return!(t!=null&&t.start)||!(t!=null&&t.end)?"":t.start===t.end?`区间 ${t.start}`:`区间 ${t.start} ${t.end}`}),et=L(()=>E.value.some(t=>Number(t.deal_amount??0)>0)),tt=L(()=>E.value.some(t=>Number(t.system_prescription_count??0)>0||Number(t.manual_prescription_count??0)>0)),qt=L(()=>me.value?et.value||tt.value||at.value||nt.value||lt.value:!1),Gt=L(()=>{if(qt.value)return!0;for(const t of Z.value)if(gt(t))return!0;return yt.value.length>0}),at=L(()=>{const t=pe.value;return Number(t.appointment_completed??0)+Number(t.appointment_missed??0)+Number(t.appointment_cancelled??0)>0}),Jt=L(()=>{const t=pe.value,e=[{value:Number(t.appointment_completed??0),name:"挂号完成"},{value:Number(t.appointment_missed??0),name:"过号"},{value:Number(t.appointment_cancelled??0),name:"取消"}].filter(n=>n.value>0);return{color:["#0d9488","#d97706","#94a3b8"],tooltip:{trigger:"item",formatter:"{b}: {c} ({d}%)"},legend:{bottom:0,type:"scroll",textStyle:{fontSize:10}},series:[{name:"挂号",type:"pie",radius:["42%","68%"],center:["50%","46%"],avoidLabelOverlap:!0,itemStyle:{borderRadius:6,borderColor:"#fff",borderWidth:2},label:{formatter:`{b}
{c}`,fontSize:11},data:e}]}}),nt=L(()=>E.value.filter(t=>Number(t.deal_order_count??0)>0&&Number(t.deal_amount??0)>0).length>=2),Kt=L(()=>{const t=E.value.filter(s=>Number(s.deal_order_count??0)>0&&Number(s.deal_amount??0)>0),e=Math.max(...t.map(s=>Number(s.deal_amount)),1),n=t.map(s=>{const i=Number(s.deal_amount);return{name:String(s.doctor_name||"—"),value:[Number(s.deal_order_count),i],symbolSize:12+Math.sqrt(i/e)*26}});return{color:["#2563eb"],tooltip:{trigger:"item",formatter:s=>{var h;const i=(h=s.data)==null?void 0:h.value;return Array.isArray(i)?`${s.data.name}<br/>接诊诊单:${i[0]}<br/>金额:${Number(i[1]).toLocaleString("zh-CN",{minimumFractionDigits:2,maximumFractionDigits:2})} 元`:""}},grid:{left:48,right:24,top:28,bottom:32,containLabel:!0},xAxis:{type:"value",name:"接诊诊单",nameLocation:"middle",nameGap:28,splitLine:{lineStyle:{type:"dashed",opacity:.55}}},yAxis:{type:"value",name:"成交金额",nameLocation:"middle",nameGap:40,splitLine:{lineStyle:{type:"dashed",opacity:.55}}},series:[{type:"scatter",data:n}]}}),lt=L(()=>E.value.filter(e=>Number(e.deal_amount??0)+Number(e.deal_order_count??0)+Number(e.system_prescription_count??0)+Number(e.manual_prescription_count??0)>0).length>=2),Xt=L(()=>{const t=[...E.value].filter(_=>Number(_.deal_amount??0)+Number(_.deal_order_count??0)+Number(_.system_prescription_count??0)+Number(_.manual_prescription_count??0)>0).sort((_,P)=>Number(P.deal_amount)-Number(_.deal_amount)).slice(0,5);if(t.length<2)return{radar:{indicator:[]},series:[{type:"radar",data:[]}]};const e=_=>{const P=String(_.doctor_name||"—");return P.length>7?`${P.slice(0,7)}…`:P},n=_=>Number(_.system_prescription_count??0)+Number(_.manual_prescription_count??0),s=_=>{const P=Number(_.avg_deal_amount);if(Number.isFinite(P)&&P>0)return P;const $=Number(_.deal_order_count);return $>0?Number(_.deal_amount)/$:0},i=Math.max(...t.map(_=>Number(_.deal_amount)),1e-9),h=Math.max(...t.map(_=>Number(_.deal_order_count)),1e-9),g=Math.max(...t.map(n),1e-9),w=Math.max(...t.map(_=>Number(_.appointment_completed??0)),1e-9),F=Math.max(...t.map(s),1e-9),A=t.map(_=>({name:e(_),value:[Number(_.deal_amount)/i*100,Number(_.deal_order_count)/h*100,n(_)/g*100,Number(_.appointment_completed??0)/w*100,s(_)/F*100]}));return{color:["#2563eb","#0d9488","#d97706","#7c3aed","#64748b"],tooltip:{trigger:"item"},legend:{bottom:0,type:"scroll",textStyle:{fontSize:10}},radar:{indicator:[{name:"成交金额",max:100},{name:"接诊诊单",max:100},{name:"开方量",max:100},{name:"挂号完成",max:100},{name:"客单价",max:100}],radius:"58%",center:["50%","48%"],splitNumber:4,axisName:{fontSize:10,color:"#64748b"}},series:[{type:"radar",data:A,emphasis:{lineStyle:{width:3}}}]}}),Qt=L(()=>{const t=[...E.value].filter(s=>Number(s.deal_amount??0)>0).sort((s,i)=>Number(i.deal_amount)-Number(s.deal_amount)).slice(0,20),e=t.map(s=>{const i=String(s.doctor_name||"—");return i.length>10?`${i.slice(0,10)}…`:i}),n=t.map(s=>Number(s.deal_amount??0));return{color:["#2563eb"],tooltip:{trigger:"axis",axisPointer:{type:"shadow"},valueFormatter:s=>`${s.toLocaleString("zh-CN",{minimumFractionDigits:2,maximumFractionDigits:2})} 元`},grid:{left:8,right:16,top:28,bottom:8,containLabel:!0},xAxis:{type:"value",axisLabel:{fontSize:11},splitLine:{lineStyle:{type:"dashed",opacity:.6}}},yAxis:{type:"category",data:[...e].reverse(),axisLabel:{fontSize:11}},series:[{name:"成交金额",type:"bar",data:[...n].reverse(),barMaxWidth:22,itemStyle:{borderRadius:[0,6,6,0]}}]}}),Zt=L(()=>{const t=[...E.value].filter(n=>Number(n.system_prescription_count??0)+Number(n.manual_prescription_count??0)>0).sort((n,s)=>Number(s.system_prescription_count??0)+Number(s.manual_prescription_count??0)-(Number(n.system_prescription_count??0)+Number(n.manual_prescription_count??0))).slice(0,14),e=t.map(n=>{const s=String(n.doctor_name||"—");return s.length>6?`${s.slice(0,6)}…`:s});return{tooltip:{trigger:"axis",axisPointer:{type:"shadow"}},legend:{top:0,textStyle:{fontSize:11}},grid:{left:44,right:16,top:32,bottom:e.length>10?72:28},xAxis:{type:"category",data:e,axisLabel:{rotate:e.length>8?32:0,fontSize:10}},yAxis:{type:"value",splitLine:{lineStyle:{type:"dashed",opacity:.6}}},series:[{name:"系统开方",type:"bar",stack:"rx",barMaxWidth:18,data:t.map(n=>Number(n.system_prescription_count??0)),itemStyle:{color:"#2563eb"}},{name:"手动开方",type:"bar",stack:"rx",barMaxWidth:18,data:t.map(n=>Number(n.manual_prescription_count??0)),itemStyle:{color:"#d97706"}}]}});function ea(){var e,n;const t={};if(M.value&&(t.channel_code=M.value),(e=V.value)!=null&&e[0]&&((n=V.value)!=null&&n[1]))t.start_date=V.value[0],t.end_date=V.value[1];else{const s=He(new Date);t.start_date=s,t.end_date=s}return t}function ht(t){return Number(t??0).toLocaleString("zh-CN",{minimumFractionDigits:2,maximumFractionDigits:2})}function ta(t){const e=pe.value,n=[];return t.columns.forEach((s,i)=>{if(i===0){n[i]="合计";return}switch(s.property){case"system_prescription_count":n[i]=String(e.system_prescription_count??0);break;case"manual_prescription_count":n[i]=String(e.manual_prescription_count??0);break;case"deal_amount":n[i]=${ht(e.deal_amount)}`;break;case"deal_order_count":n[i]=String(e.deal_order_count??0);break;case"appointment_completed":n[i]=String(e.appointment_completed??0);break;case"appointment_missed":n[i]=String(e.appointment_missed??0);break;case"appointment_cancelled":n[i]=String(e.appointment_cancelled??0);break;default:n[i]=""}}),n}async function bt(){_e.value=!0;try{const t=await gn(ea());E.value=(t==null?void 0:t.rows)??[],pe.value=(t==null?void 0:t.total)??{},t!=null&&t.start_date&&(t!=null&&t.end_date)&&(Ae.value={start:t.start_date,end:t.end_date})}catch{E.value=[],pe.value={},Ae.value=null}finally{_e.value=!1}}const je=y(!1),te=y(!1),Ie=y(""),Fe=y(""),ae=y([]),Te=y(0),Q=y(1),Ve=y(15),Ee=y(null),Be=y(null),aa=L(()=>{const t=Be.value;if(!t)return null;const e=t.stats_order_amount_performance??t.stats_order_amount_not_cancelled;if(e==null||e==="")return null;const n=Number(e);return Number.isFinite(n)?n:null}),wt=L(()=>{const t=Be.value;if(!t||t.stats_yeji_consult_count===void 0||t.stats_yeji_consult_count===null)return null;const e=Number(t.stats_yeji_consult_count);return Number.isFinite(e)?e:null}),na=L(()=>ae.value.reduce((t,e)=>t+Number(e.amount??0),0)),fe=y(null),Ye=y(!1);function la(){const t=new Date;return`${t.getFullYear()}-${String(t.getMonth()+1).padStart(2,"0")}`}function oa(t){const[e,n]=t.split("-").map(Number);return new Date(e,n,0).getDate()}async function sa(){var t,e,n,s;Ye.value=!0,fe.value=null;try{let i=function(p,N=0){const S=[];for(const z of p??[])S.push({node:z,depth:N}),S.push(...i(z.children??[],N+1));return S},h=function(p){const N=se.value.find(H=>Number(H.id)===p);if(!N)return"";const S=Number(N.pid);if(!S)return"";const z=se.value.find(H=>Number(H.id)===S);return z!=null&&z.name?String(z.name):""},g=function(p){const N=[],S=[p];for(;S.length;){const z=S.shift();for(const H of se.value)Number(H.pid)===z&&(N.push(H.id),S.push(H.id))}return N},w=function(p,N){const S=new Map;for(const z of(p==null?void 0:p.rows)??[])S.set(Number(z.dept_id),Number(z[N]??0));return S};const F=la(),A=await Sn({year_month:F}),_=(A==null?void 0:A.rows)??[];if(!_.length)return;const $=i(_).filter(p=>p.depth>=1&&Number(p.node.target_amount)>0).map(p=>p.node);if(!$.length)return;const le=new Set,I=$.map(p=>{const N=Number(p.dept_id),S=g(N),z=S.length?S:[N];return z.forEach(H=>le.add(H)),{dept_id:N,dept_name:String(p.dept_name),target_amount:Number(p.target_amount),totalIds:z}});if(!le.size)return;const De=qe.value.flatMap(p=>p.channels),B=(t=De.find(p=>p.channel_name.includes("自媒体1")))==null?void 0:t.channel_code,oe=(e=De.find(p=>p.channel_name.includes("自媒体3")))==null?void 0:e.channel_code,Ce=(n=De.find(p=>p.channel_name.includes("自媒体4")))==null?void 0:n.channel_code,ye=Array.from(le).join(","),[ge,T,l,b]=await Promise.all([Me({dept_ids:ye}),B?Me({dept_ids:ye,channel_code:B}):Promise.resolve(null),oe?Me({dept_ids:ye,channel_code:oe}):Promise.resolve(null),Ce?Me({dept_ids:ye,channel_code:Ce}):Promise.resolve(null)]),f=p=>{var N;return((p==null?void 0:p.tables)??[]).find(S=>String(S.label).includes("月"))??((N=p==null?void 0:p.tables)==null?void 0:N[0])},Y=p=>{var N,S;return((p==null?void 0:p.tables)??[]).find(z=>String(z.label).includes("昨"))??((S=p==null?void 0:p.tables)==null?void 0:S[((N=p==null?void 0:p.tables)==null?void 0:N.length)-1])},At=w(f(ge),"performance_amount"),Ta=w(Y(ge),"performance_amount"),Ot=T?w(f(T),"completed_performance_amount"):null,It=l?w(f(l),"completed_performance_amount"):null,Ft=b?w(f(b),"completed_performance_amount"):null,ze=(p,N)=>N.reduce((S,z)=>S+(p.get(z)??0),0),rt=new Date,Va=oa(F),Ea=rt.getDate(),Ba=I.map(p=>{const N=ze(At,p.totalIds),S=ze(Ta,p.totalIds),z=Ot?ze(Ot,p.totalIds):null,H=It?ze(It,p.totalIds):null,Tt=Ft?ze(Ft,p.totalIds):null,dt=H!==null||Tt!==null?(H??0)+(Tt??0):null,Wa=Math.round(p.target_amount*(Ea/Va)*100)/100,qa=p.target_amount>0?N/p.target_amount:null;return{dept_id:p.dept_id,dept_name:p.dept_name,parent_dept_name:h(p.dept_id),target_amount:p.target_amount,total_amount:N,yesterday_amount:S,douyin_amount:z&&z>0?z:null,tuifen_amount:dt&&dt>0?dt:null,target_progress:Wa,completion_rate:qa}}),Ya=((s=_[0])==null?void 0:s.dept_name)??"",Ha=rt.getMonth()+1,Ua=rt.getDate();fe.value={title:`${Ya}诊金-${Ha}.${Ua}`,sections:Ba}}catch{}finally{Ye.value=!1}}const ia=L(()=>{var e;const t=(e=j.value)==null?void 0:e.leaderboards;return t?t.filter(n=>n.rows.length>0).length:0}),kt=[{text:"昨天",value:()=>{const t=new Date;return t.setDate(t.getDate()-1),[t,t]}},{text:"最近七天",value:()=>{const t=new Date,e=new Date;return e.setDate(e.getDate()-6),[e,t]}},{text:"本月",value:()=>{const t=new Date;return[new Date(t.getFullYear(),t.getMonth(),1),t]}},{text:"今日",value:()=>{const t=new Date;return[t,t]}},{text:"本周",value:()=>{const t=new Date,e=new Date,n=e.getDay()||7;return e.setDate(e.getDate()-(n-1)),[e,t]}},{text:"上月",value:()=>{const t=new Date,e=new Date(t.getFullYear(),t.getMonth()-1,1),n=new Date(t.getFullYear(),t.getMonth(),0);return[e,n]}}];function ra(t){const e=t.value();V.value=[He(e[0]),He(e[1])],ve()}async function da(){We.value=!0;try{const t=await hn();se.value=(t||[]).sort((e,n)=>{const s=e.name.includes("中心")?-1:1,i=n.name.includes("中心")?-1:1;return s!==i?s-i:e.id-n.id})}catch{}finally{We.value=!1}}async function ua(){Ge.value=!0;try{const t=await bn(),e=(t==null?void 0:t.groups)||[];qe.value=e}catch{}finally{Ge.value=!1}}async function xt(t){X.value=!0;try{const e={start_date:t.start,end_date:t.end};R.value.length>0&&(e.dept_ids=R.value.join(",")),M.value&&(e.channel_code=M.value);const n=await xn(e);j.value={start_date:n.start_date,end_date:n.end_date,channel_code:n.channel_code||"",channel_name:n.channel_name||"",channel_filter_note:n.channel_filter_note||"",range_note:n.range_note||"",leaderboards:n.leaderboards||[]}}catch{j.value=null}finally{X.value=!1}}async function ve(){K.value=!0,j.value=null;try{const t={};if(R.value.length>0&&(t.dept_ids=R.value.join(",")),M.value&&(t.channel_code=M.value),V.value&&V.value[0]&&V.value[1]){const[s,i]=V.value,h={...t,start_date:s,end_date:i},g=await wn(h);Z.value=[{label:s===i?s:`${s} ~ ${i}`,start_date:g.start_date,end_date:g.end_date,channel_code:g.channel_code||"",channel_name:g.channel_name||"",channel_group:g.channel_group||"",channel_filter_note:g.channel_filter_note||"",rows:g.rows||[],total:g.total}],await xt({start:g.start_date,end:g.end_date});return}const e=await Me(t);Z.value=((e==null?void 0:e.tables)||[]).map(s=>({label:s.label,start_date:s.start_date,end_date:s.end_date,channel_code:s.channel_code||"",channel_name:s.channel_name||"",channel_group:s.channel_group||"",channel_filter_note:s.channel_filter_note||"",rows:s.rows||[],total:s.total}));const n=He(new Date);await xt({start:n,end:n})}catch(t){Le.error((t==null?void 0:t.msg)||(t==null?void 0:t.message)||"加载失败")}finally{K.value=!1,me.value?bt():(E.value=[],pe.value={},Ae.value=null)}}function ca(){R.value=[],V.value=null,M.value="",ve()}function ma(t){return t<=0?!1:se.value.some(e=>Number(e.pid)===t)}function _a(t){return{1:"待双审通过",2:"待发货",3:"已完成",4:"已取消",5:"已发货",6:"已签收",7:"进行中",8:"暂不制药",9:"拒收",10:"退款",11:"保留药方",12:"制药缓发"}[Number(t)]??"—"}function jt(t){return t==null||!Number.isFinite(Number(t))?"—":Number(t).toLocaleString("zh-CN",{minimumFractionDigits:2,maximumFractionDigits:2})}function pa(t){return(Q.value-1)*Ve.value+t+1}function fa(t){if(t==null||t==="")return"—";const e=Number(t);if(Number.isFinite(e)&&e>=1e9&&e<1e15){const s=e<1e12?e*1e3:e,i=new Date(s);if(!Number.isNaN(i.getTime())){const h=i.getFullYear(),g=String(i.getMonth()+1).padStart(2,"0"),w=String(i.getDate()).padStart(2,"0"),F=String(i.getHours()).padStart(2,"0"),A=String(i.getMinutes()).padStart(2,"0");return`${h}-${g}-${w} ${F}:${A}`}}const n=String(t);return n.length>=16?n.slice(0,16):n}async function Ne(){const t=Ee.value;if(t){te.value=!0;try{const e={page_no:Q.value,page_size:Ve.value,start_time:`${t.start} 00:00:00`,end_time:`${t.end} 23:59:59`,exclude_fulfillment_cancelled:1,yeji_order_drawer:1};t.mode==="dept"?e.assistant_dept_id=t.deptId:(e.assistant_id=t.assistantId,t.erCenterRevisitSlot!==void 0&&(e.yeji_er_center_revisit_only=1,e.yeji_er_center_revisit_slot=t.erCenterRevisitSlot));const n=await Dn(e);ae.value=Array.isArray(n==null?void 0:n.lists)?n.lists:[],Te.value=Number((n==null?void 0:n.count)??0),Be.value=n!=null&&n.extend&&typeof n.extend=="object"?n.extend:null}catch(e){Le.error((e==null?void 0:e.msg)||(e==null?void 0:e.message)||"加载业务订单失败"),ae.value=[],Te.value=0,Be.value=null}finally{te.value=!1}}}function va(t,e){Ee.value={mode:"dept",deptId:e.dept_id,deptName:e.dept_name,start:t.start_date,end:t.end_date},Ie.value=`业务订单 · ${e.dept_name}`,Fe.value=`创建时间:${t.start_date} ${t.end_date} · 诊单医助所属部门 · 不含履约已取消`,Q.value=1,je.value=!0,Ne()}function ya(t,e,n){Ee.value={mode:"assistant",assistantId:t.admin_id,assistantName:t.name,start:e,end:n},Ie.value=`业务订单 · ${t.name}`,Fe.value=`创建时间:${e} ${n} · 诊单医助 · 不含履约已取消`,Q.value=1,je.value=!0,Ne()}function ot(t,e,n,s){Ee.value={mode:"assistant",assistantId:t.admin_id,assistantName:t.name,start:e,end:n,erCenterRevisitSlot:s};const i=s===0?"复诊合计":Re(s);Ie.value=`业务订单 · ${t.name} · ${i}`,Fe.value=`创建时间:${e} ${n} · 诊单医助 · 仅二中心复诊口径 · ${i} · 不含履约已取消`,Q.value=1,je.value=!0,Ne()}function ga(t){if(!t||t.admin_id<=0||!j.value||Number(t.revisit_count??0)<=0)return;const{start_date:e,end_date:n}=j.value;ot({admin_id:t.admin_id,name:t.name},e,n,0)}function ha(t,e){if(!t||t.admin_id<=0||!j.value||J(t,e)<=0)return;const{start_date:n,end_date:s}=j.value;ot({admin_id:t.admin_id,name:t.name},n,s,e)}function ba(t){Q.value=t,Ne()}function wa(t){Ve.value=t,Q.value=1,Ne()}function Se(t){return t.dept_id<=0&&t.dept_name==="未归属中心"}function ka(t,e){e.dept_id<=0||Se(e)||Number(e.revisit_count??0)<=0||St(t,e,0)}function xa(t,e,n){e.dept_id<=0||Se(e)||J(e,n)<=0||St(t,e,n)}function Nt(t){const e=_t.value;!e||Number(t.order_count)<=0||ot({admin_id:t.admin_id,name:t.name},e.start,e.end,e.revisitSlot)}async function St(t,e,n){const s=n===0?"复诊合计":Re(n);mt.value=`${e.dept_name} · ${s} · ${t.start_date} ${t.end_date}`,_t.value={start:t.start_date,end:t.end_date,revisitSlot:n},be.value="",ue.value=[],Qe.value=!0,de.value=!0;try{const i={start_date:t.start_date,end_date:t.end_date,dept_id:e.dept_id,revisit_slot:n};R.value.length>0&&(i.dept_ids=R.value.join(",")),M.value&&(i.channel_code=M.value);const h=await kn(i);ue.value=Array.isArray(h==null?void 0:h.rows)?h.rows:[],be.value=typeof(h==null?void 0:h.note)=="string"?h.note:""}catch(i){Le.error((i==null?void 0:i.msg)||(i==null?void 0:i.message)||"加载复诊拆解失败"),ue.value=[],be.value=""}finally{de.value=!1}}function Dt(t){const e=[`区间:${t.start_date} ${t.end_date}`];return M.value&&e.push(`渠道:${t.channel_name||M.value}`),R.value.length>0&&e.push(`已选展示部门 ${R.value.length} 个`),e.join(" · ")}async function ja(t){ct.value=Dt(t),he.value="",re.value=[],Xe.value=!0,ie.value=!0;try{const e={start_date:t.start_date,end_date:t.end_date};R.value.length>0&&(e.dept_ids=R.value.join(",")),M.value&&(e.channel_code=M.value);const n=await jn(e);re.value=Array.isArray(n==null?void 0:n.rows)?n.rows:[],he.value=typeof(n==null?void 0:n.note)=="string"?n.note:""}catch(e){Le.error((e==null?void 0:e.msg)||(e==null?void 0:e.message)||"加载未归属拆解失败"),re.value=[],he.value=""}finally{ie.value=!1}}function Na(t,e,n){n.dept_id<=0||Number(n.lead_count)<=0||(t.stopPropagation(),Sa(e,n))}async function st(){const t=ft.value;if(!t)return;const{tb:e,row:n}=t;ee.value=!0;try{const s={start_date:e.start_date,end_date:e.end_date,dept_id:n.dept_id,page:xe.value,page_size:Pe.value};R.value.length>0&&(s.dept_ids=R.value.join(",")),M.value&&(s.channel_code=M.value);const i=await Nn(s);ce.value=Array.isArray(i==null?void 0:i.lists)?i.lists:[],ke.value=Number((i==null?void 0:i.count)??0),we.value=typeof(i==null?void 0:i.note)=="string"?i.note:""}catch(s){Le.error((s==null?void 0:s.msg)||(s==null?void 0:s.message)||"加载进线明细失败"),ce.value=[],ke.value=0,we.value=""}finally{ee.value=!1}}async function Sa(t,e){ft.value={tb:t,row:e},pt.value=`${e.dept_name} · ${Dt(t)}`,we.value="",ce.value=[],ke.value=0,xe.value=1,Pe.value=20,Ze.value=!0,await st()}function Da(t){xe.value=t,st()}function Ca(t){Pe.value=t,xe.value=1,st()}function za(t,e){if(Se(e)){ja(t);return}if(!(e.dept_id<=0)){if(ma(e.dept_id)){R.value=[e.dept_id],ve();return}va(t,e)}}function La(t){if(!t||t.admin_id<=0||!j.value)return;const{start_date:e,end_date:n}=j.value;ya(t,e,n)}function Ct(t){const e=t.channel_name?` · ${t.channel_name}`:"";return`${t.label}${e}`}function $a(t){const e=t.rows.filter(g=>g.dept_id>0),n=e.map(g=>g.dept_name.length>10?`${g.dept_name.slice(0,10)}…`:g.dept_name),s=["#64748b","#38bdf8","#6366f1"],i=[{name:"进线",type:"bar",data:e.map(g=>g.lead_count),yAxisIndex:0,barMaxWidth:16},{name:"接诊",type:"bar",data:e.map(g=>g.consult_count),yAxisIndex:0,barMaxWidth:16},{name:"成交单",type:"bar",data:e.map(g=>g.deal_order_count),yAxisIndex:0,barMaxWidth:16},{name:"合计业绩",type:"bar",data:e.map(g=>g.performance_amount),yAxisIndex:1,barMaxWidth:14,itemStyle:{color:"#d97706"}}];t.channel_name&&i.push({name:`${t.channel_name}业绩`,type:"bar",data:e.map(g=>g.completed_performance_amount),yAxisIndex:1,barMaxWidth:14,itemStyle:{color:"#0d9488"}});const h=e.length>10;return{color:[...s,"#d97706","#0d9488"],tooltip:{trigger:"axis",axisPointer:{type:"cross"}},legend:{top:8,type:"scroll",textStyle:{fontSize:11}},grid:{left:52,right:52,top:48,bottom:h?56:28,containLabel:!1},dataZoom:h?[{type:"slider",bottom:4,start:0,end:Math.min(100,Math.ceil(12/Math.max(e.length,1)*100))}]:[],xAxis:{type:"category",data:n,axisLabel:{rotate:n.length>8?28:0,fontSize:10}},yAxis:[{type:"value",name:"数量",splitLine:{lineStyle:{type:"dashed",opacity:.55}}},{type:"value",name:"金额",splitLine:{show:!1}}],series:i}}function Ma(t,e){const n=[...t.rows].sort((s,i)=>Number(i.fee_amount)-Number(s.fee_amount)).slice(0,15);return{color:["#2563eb"],tooltip:{trigger:"axis",axisPointer:{type:"shadow"},valueFormatter:s=>`${Number(s).toLocaleString("zh-CN")} 元`},grid:{left:8,right:20,top:12,bottom:8,containLabel:!0},xAxis:{type:"value",splitLine:{lineStyle:{type:"dashed",opacity:.6}}},yAxis:{type:"category",data:n.map(s=>s.name.length>8?`${s.name.slice(0,8)}…`:s.name).reverse(),axisLabel:{fontSize:11}},series:[{name:"诊金",type:"bar",data:n.map(s=>Number(s.fee_amount??0)).reverse(),barMaxWidth:20,itemStyle:{borderRadius:[0,6,6,0]}}]}}function zt(t){return t.rows.some(e=>Number(e.fee_amount)>0)}function Ra(t,e){const s=[...t.rows].filter(i=>Number(i.fee_amount)>0).sort((i,h)=>Number(h.fee_amount)-Number(i.fee_amount)).slice(0,10).map(i=>({name:i.name.length>6?`${i.name.slice(0,6)}…`:i.name,value:Number(i.fee_amount)}));return{color:["#2563eb","#0d9488","#d97706","#7c3aed","#64748b","#0891b2","#65a30d","#c026d3","#ea580c","#4f46e5"],tooltip:{trigger:"item",formatter:"{b}: {c} 元 ({d}%)"},legend:{type:"scroll",bottom:0,textStyle:{fontSize:9}},series:[{name:"诊金",type:"pie",radius:["38%","64%"],center:["50%","42%"],data:s,itemStyle:{borderRadius:5,borderColor:"#fff",borderWidth:2},label:{formatter:`{b}
{d}%`,fontSize:10}}]}}function Lt(t){return Number(t.total.lead_count)+Number(t.total.consult_count)+Number(t.total.deal_order_count)>0}function Pa(t){const e=Number(t.total.lead_count??0),n=Number(t.total.consult_count??0),s=Number(t.total.deal_order_count??0);return{tooltip:{trigger:"item",formatter:"{b}: {c}"},color:["#2563eb","#38bdf8","#0d9488"],series:[{type:"funnel",left:"8%",width:"84%",minSize:"12%",sort:"none",gap:6,label:{show:!0,position:"inside",formatter:`{b}
{c}`,fontSize:11},data:[{value:e,name:"进线"},{value:n,name:"接诊"},{value:s,name:"成交单"}]}]}}function $t(t){return t.rows.some(e=>e.dept_id>0&&Number(e.performance_amount)>0)}function Aa(t){const e=t.rows.filter(i=>i.dept_id>0&&Number(i.performance_amount)>0).sort((i,h)=>Number(h.performance_amount)-Number(i.performance_amount));if(!e.length)return{series:[{type:"pie",data:[]}]};const s=e.slice(0,10).map(i=>({name:i.dept_name.length>8?`${i.dept_name.slice(0,8)}…`:i.dept_name,value:Number(i.performance_amount)}));if(e.length>10){const i=e.slice(10).reduce((h,g)=>h+Number(g.performance_amount),0);i>0&&s.push({name:"其它",value:i})}return{color:["#2563eb","#0d9488","#d97706","#7c3aed","#64748b","#0891b2","#65a30d","#c026d3","#ea580c","#4f46e5","#94a3b8"],tooltip:{trigger:"item",formatter:"{b}<br/>{c} 元({d}%"},legend:{type:"scroll",bottom:0,textStyle:{fontSize:10}},series:[{type:"pie",radius:["36%","62%"],center:["50%","44%"],data:s,itemStyle:{borderRadius:5,borderColor:"#fff",borderWidth:2},label:{formatter:`{b}
{d}%`,fontSize:10}}]}}function it(t,e){return`${t.channel_name}${e}`}function D(t){return t==null||t===""?"0":Number(t).toLocaleString("en-US")}function W(t){return t==null||t===""?"0.0":Number(t).toLocaleString("en-US",{minimumFractionDigits:1,maximumFractionDigits:1})}function ne(t){if(t==null||t==="")return"0";const e=Number(t);return Number.isFinite(e)?Math.round(e).toLocaleString("zh-CN"):"0"}function Mt(t){return t==null||t===""?"—":Number(t).toLocaleString("en-US",{minimumFractionDigits:1,maximumFractionDigits:1})}function Rt(t){return t==null||t===""?"—":Number(t).toFixed(1)}function Pt(t){if(t==null||t==="")return"";const e=Number(t);return e>=1?"roi-good":e>=.8?"roi-mid":"roi-bad"}function Oa(t){return t===null?"—":(t*100).toFixed(2)+"%"}function Ia(t){return t===null?"":t>=1?"tp-good":t>=.8?"tp-mid":"tp-bad"}function Fa(t){return t>=1e4?(t/1e4).toFixed(1)+"万":String(t)}function He(t){const e=t.getFullYear(),n=String(t.getMonth()+1).padStart(2,"0"),s=String(t.getDate()).padStart(2,"0");return`${e}-${n}-${s}`}return $n(async()=>{await Promise.all([da(),ua()]),ve(),sa()}),(t,e)=>{const n=Ja,s=Ka,i=Ga,h=Xa,g=Za,w=tn,F=en,A=an,_=sn,P=on,$=rn,le=ln,I=dn,De=nn,B=cn,oe=un,Ce=mn,ye=_n,ge=pn,T=Qa;return o(),u("div",Mn,[e[112]||(e[112]=a("header",{class:"yeji-masthead"},[a("div",{class:"yeji-masthead__inner"},[a("h1",{class:"yeji-masthead__title"},"业绩看板"),a("p",{class:"yeji-masthead__desc"},"渠道 · 部门 · 日期维度的业绩分析")])],-1)),r(A,{class:"yeji-panel filter-card",shadow:"never"},{default:c(()=>[a("div",Rn,[a("div",Pn,[a("div",An,[e[8]||(e[8]=a("span",{class:"lbl"},"渠道来源",-1)),r(i,{modelValue:M.value,"onUpdate:modelValue":e[0]||(e[0]=l=>M.value=l),filterable:"",placeholder:"渠道筛选",class:"filter-select filter-select--channel",loading:Ge.value,onChange:ve},{default:c(()=>[r(n,{label:"全部",value:""}),(o(!0),u(k,null,O(qe.value,l=>(o(),x(s,{key:l.group_name,label:l.group_name},{default:c(()=>[(o(!0),u(k,null,O(l.channels,b=>(o(),x(n,{key:b.channel_code,label:b.channel_name,value:b.channel_code},{default:c(()=>[a("div",On,[a("span",In,d(b.channel_name),1),a("span",Fn,d(b.customer_count>0?b.customer_count:""),1)])]),_:2},1032,["label","value"]))),128))]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue","loading"])]),a("div",Tn,[e[9]||(e[9]=a("span",{class:"lbl"},"展示部门",-1)),G((o(),u("div",Vn,[r(h,{modelValue:R.value,"onUpdate:modelValue":e[1]||(e[1]=l=>R.value=l),data:Yt.value,multiple:"","collapse-tags":"","collapse-tags-tooltip":"",filterable:"","check-strictly":"","render-after-expand":!1,"default-expand-all":!0,placeholder:"默认:所有「中心」部门",class:"filter-dept-tree-select","node-key":"id",props:Et},null,8,["modelValue","data"])])),[[T,We.value]])]),a("div",En,[e[10]||(e[10]=a("span",{class:"lbl"},"日期范围",-1)),r(g,{modelValue:V.value,"onUpdate:modelValue":e[2]||(e[2]=l=>V.value=l),type:"daterange","value-format":"YYYY-MM-DD","start-placeholder":"开始","end-placeholder":"结束",clearable:!0,shortcuts:kt,class:"filter-date-picker"},null,8,["modelValue"])]),a("div",Bn,[r(F,{type:"primary",class:"filter-btn filter-btn--query",loading:K.value,onClick:ve},{default:c(()=>[r(w,{class:"filter-btn__icon"},{default:c(()=>[r(C(vn))]),_:1}),e[11]||(e[11]=m(" 查询 ",-1))]),_:1},8,["loading"]),r(F,{class:"filter-btn filter-btn--reset",disabled:K.value,onClick:ca},{default:c(()=>[r(w,{class:"filter-btn__icon"},{default:c(()=>[r(C(yn))]),_:1}),e[12]||(e[12]=m(" 重置 ",-1))]),_:1},8,["disabled"])])]),a("div",Yn,[e[13]||(e[13]=a("span",{class:"filter-quick__title"},"快捷日期",-1)),a("div",Hn,[(o(),u(k,null,O(kt,l=>a("button",{key:l.text,type:"button",class:"date-pill",onClick:b=>ra(l)},d(l.text),9,Un)),64))])])])]),_:1}),r(A,{class:"yeji-panel yeji-main-tabs-card",shadow:"never"},{default:c(()=>[e[94]||(e[94]=a("div",{class:"yeji-table-tabs-head"},"表格统计",-1)),r(De,{modelValue:vt.value,"onUpdate:modelValue":e[3]||(e[3]=l=>vt.value=l),class:"yeji-view-tabs"},{default:c(()=>[r(le,{label:"医生统计",name:"doctor",lazy:""},{default:c(()=>[me.value?(o(),x(A,{key:0,class:"yeji-panel doctor-daily-card doctor-daily-card--nested",shadow:"never"},{header:c(()=>[a("div",Wn,[a("div",qn,[e[14]||(e[14]=a("span",{class:"doctor-daily-card__title"},"医生明细",-1)),Oe.value?(o(),u("span",Gn,d(Oe.value),1)):v("",!0)]),a("div",Jn,[r(F,{type:"primary",size:"small",loading:_e.value,onClick:bt},{default:c(()=>[...e[15]||(e[15]=[m(" 刷新 ",-1)])]),_:1},8,["loading"])])])]),default:c(()=>[G((o(),x(P,{data:E.value,size:"small",border:"",stripe:"",class:"doctor-daily-table","show-summary":"","summary-method":ta},{default:c(()=>[r(_,{prop:"doctor_name",label:"医生","min-width":"100",fixed:""}),r(_,{prop:"system_prescription_count",label:"系统开方","min-width":"88",align:"right"}),r(_,{prop:"manual_prescription_count",label:"手动开方","min-width":"88",align:"right"}),r(_,{prop:"deal_amount",label:"成交金额","min-width":"110",align:"right"},{default:c(({row:l})=>[m("¥ "+d(ht(l.deal_amount)),1)]),_:1}),r(_,{prop:"deal_order_count",label:"接诊诊单","min-width":"88",align:"right"}),r(_,{prop:"appointment_completed",label:"挂号完成","min-width":"88",align:"right"}),r(_,{prop:"appointment_missed",label:"过号","min-width":"72",align:"right"}),r(_,{prop:"appointment_cancelled",label:"取消","min-width":"72",align:"right"})]),_:1},8,["data"])),[[T,_e.value]])]),_:1})):(o(),x($,{key:1,description:"当前账号无医生统计权限"}))]),_:1}),r(le,{label:"医助排行榜",name:"leaderboard",lazy:""},{default:c(()=>[j.value||X.value?G((o(),u("div",Kn,[j.value?(o(),u(k,{key:0},[a("p",Xn,[m(d(j.value.range_note)+" ",1),a("span",Qn,d(j.value.start_date)+" "+d(j.value.end_date),1)]),a("div",Zn,[(o(!0),u(k,null,O(j.value.leaderboards,l=>(o(),u(k,{key:l.dept_id},[l.rows.length>0?(o(),u("div",el,[a("div",tl,[m(d(l.dept_name)+" · 医助排行榜 ",1),j.value.channel_name?(o(),u("span",al," "+d(j.value.channel_name)+" ",1)):v("",!0)]),a("table",nl,[a("thead",null,[a("tr",null,[e[17]||(e[17]=a("th",{class:"col-rank"},"排名",-1)),e[18]||(e[18]=a("th",{class:"col-abbr"},"部门",-1)),e[19]||(e[19]=a("th",{class:"col-name"},"姓名",-1)),e[20]||(e[20]=a("th",{class:"col-consult"},"接诊单数",-1)),e[21]||(e[21]=a("th",{class:"col-deal"},"接诊诊单",-1)),e[22]||(e[22]=a("th",{class:"col-assign"},"被指派数",-1)),l.er_center_subtree?(o(),u(k,{key:0},[e[16]||(e[16]=a("th",{class:"col-revisit"},"复诊合计",-1)),(o(!0),u(k,null,O(ut(l),b=>(o(),u("th",{key:"lbh-"+l.dept_id+"-"+b,class:"col-revisit-slot"},d(Re(b)),1))),128))],64)):v("",!0),e[23]||(e[23]=a("th",null,"诊金",-1)),e[24]||(e[24]=a("th",null,[m("接诊率"),a("br"),a("span",{class:"th-sub"},"(元/进线)")],-1))])]),a("tbody",null,[(o(!0),u(k,null,O(l.rows,b=>(o(),u("tr",{key:b.admin_id,class:"yeji-row--action",onClick:f=>La(b)},[a("td",ol,d(b.rank),1),a("td",sl,d(b.dept_abbr),1),a("td",il,d(b.name),1),a("td",rl,d(ne(b.consult_count)),1),a("td",dl,d(ne(b.deal_order_count)),1),a("td",ul,d(ne(b.assign_count??0)),1),l.er_center_subtree?(o(),u(k,{key:0},[a("td",{class:"col-revisit",onClick:$e(f=>ga(b),["stop"])},[Number(b.revisit_count??0)>0?(o(),u("span",ml,d(ne(b.revisit_count??0)),1)):(o(),u(k,{key:1},[m(d(ne(b.revisit_count??0)),1)],64))],8,cl),(o(!0),u(k,null,O(ut(l),f=>(o(),u("td",{key:"lbc-"+b.admin_id+"-"+f,class:"col-revisit-slot",onClick:$e(Y=>ha(b,f),["stop"])},[J(b,f)>0?(o(),u("span",pl,d(ne(J(b,f))),1)):(o(),u(k,{key:1},[m(d(ne(J(b,f))),1)],64))],8,_l))),128))],64)):v("",!0),a("td",null,d(W(b.fee_amount)),1),a("td",null,d(W(b.consult_rate)),1)],8,ll))),128))])]),a("div",fl,[e[25]||(e[25]=a("span",null,"诊金单位:元 · 被指派数与部门业绩表同口径 · 接诊率 = 诊金 ÷ 进线(元/进线)",-1)),l.er_center_subtree?(o(),u("span",vl," · 复诊列为二中心口径(同一诊单业务单序列第 2 笔起),点击数字查看对应业务订单 ")):v("",!0)])])):v("",!0)],64))),128))]),!X.value&&ia.value===0?(o(),u("div",yl,[r($,{description:"当前筛选下暂无医助排行数据"})])):v("",!0)],64)):v("",!0)])),[[T,X.value]]):X.value?v("",!0):(o(),x($,{key:1,class:"yeji-charts-empty",description:"当前筛选下暂无医助排行数据"}))]),_:1}),r(le,{label:"甄养堂互联网医院诊金",name:"zyyt",lazy:""},{default:c(()=>[e[93]||(e[93]=a("p",{class:"yeji-zyyt-intro"}," 各中心部门诊金、业绩、进线与 ROI 等,与顶部渠道、展示部门、日期筛选联动。 ",-1)),fe.value||Ye.value?G((o(),u("div",gl,[fe.value?(o(),u("div",hl,[a("div",bl,d(fe.value.title),1),a("div",wl,[(o(!0),u(k,null,O(fe.value.sections,l=>(o(),u("div",{key:l.dept_id,class:"tp-section"},[a("div",kl,[a("div",xl,[l.parent_dept_name?(o(),u("span",jl,d(l.parent_dept_name),1)):v("",!0),a("span",Nl,d(l.dept_name)+"目标",1)]),a("span",Sl,d(Fa(l.target_amount)),1)]),a("table",Dl,[a("tbody",null,[a("tr",null,[e[26]||(e[26]=a("td",{class:"tp-lbl"},"昨日诊金",-1)),a("td",Cl,d(D(l.yesterday_amount)),1)]),l.douyin_amount!==null?(o(),u("tr",zl,[e[27]||(e[27]=a("td",{class:"tp-lbl"},"抖音总诊金",-1)),a("td",Ll,d(D(l.douyin_amount)),1)])):v("",!0),l.tuifen_amount!==null?(o(),u("tr",$l,[e[28]||(e[28]=a("td",{class:"tp-lbl"},"推粉总诊金",-1)),a("td",Ml,d(D(l.tuifen_amount)),1)])):v("",!0),a("tr",null,[e[29]||(e[29]=a("td",{class:"tp-lbl"},"总诊金",-1)),a("td",Rl,d(D(l.total_amount)),1)]),a("tr",null,[e[30]||(e[30]=a("td",{class:"tp-lbl"},"目标进度",-1)),a("td",Pl,d(W(l.target_progress)),1)]),a("tr",null,[e[31]||(e[31]=a("td",{class:"tp-lbl"},"完成进度",-1)),a("td",{class:Ue(["tp-val",Ia(l.completion_rate)])},d(Oa(l.completion_rate)),3)])])])]))),128))])])):v("",!0)])),[[T,Ye.value]]):v("",!0),G((o(),u("div",Al,[!K.value&&Z.value.length===0?(o(),u("div",Ol,[r($,{description:"暂无数据"})])):v("",!0),(o(!0),u(k,null,O(Z.value,(l,b)=>(o(),u("div",{key:b,class:"yeji-table"},[a("div",Il,d(Ct(l)),1),a("table",Fl,[a("thead",null,[a("tr",null,[e[91]||(e[91]=a("th",{class:"col-dept"},"部门",-1)),a("th",null,[e[38]||(e[38]=a("span",null,"进线数据",-1)),r(I,{placement:"top",effect:"dark","show-after":200},{content:c(()=>[a("div",Tl,[e[36]||(e[36]=m(" add_external_contact 事件数,按接待企微成员归属部门;定渠道时须客户带对应企微标签。",-1)),e[37]||(e[37]=a("br",null,null,-1)),l.channel_name?(o(),u(k,{key:0},[e[32]||(e[32]=a("b",null,"名称含「二中心」的部门",-1)),e[33]||(e[33]=m("在选定渠道下进线计 ",-1)),e[34]||(e[34]=a("b",null,"0",-1)),e[35]||(e[35]=m("。 ",-1))],64)):v("",!0)])]),default:c(()=>[r(w,{class:"col-info"},{default:c(()=>[r(C(U))]),_:1})]),_:2},1024)]),a("th",null,[e[51]||(e[51]=a("span",null,"被指派数",-1)),r(I,{placement:"top",effect:"dark","show-after":200},{content:c(()=>[a("div",Vl,[e[46]||(e[46]=m(" 诊单指派日志条数(成功指派:",-1)),e[47]||(e[47]=a("b",null,"to_assistant_id > 0",-1)),e[48]||(e[48]=m("),按",-1)),e[49]||(e[49]=a("b",null,"被指派医助",-1)),e[50]||(e[50]=m("归属展示部门。",-1)),l.channel_name?(o(),u(k,{key:0},[m(" 选定渠道时收窄与「"+d(l.channel_name)+"」业绩同口径(标签诊单或 channels EXISTS)。",1),e[39]||(e[39]=a("br",null,null,-1)),e[40]||(e[40]=a("b",null,"名称含「二中心」的部门",-1)),e[41]||(e[41]=m("在选定渠道下本列计 ",-1)),e[42]||(e[42]=a("b",null,"0",-1)),e[43]||(e[43]=m("。 ",-1))],64)):(o(),u(k,{key:1},[e[44]||(e[44]=a("br",null,null,-1)),e[45]||(e[45]=m("未选渠道时不限客户来源,与「合计业绩」列渠道无关。",-1))],64))])]),default:c(()=>[r(w,{class:"col-info"},{default:c(()=>[r(C(U))]),_:1})]),_:2},1024)]),a("th",null,[e[53]||(e[53]=a("span",null,"复诊合计",-1)),r(I,{placement:"top",effect:"dark","show-after":200},{content:c(()=>[...e[52]||(e[52]=[a("div",{style:{"max-width":"320px","line-height":"1.7","font-size":"12px"}},[m(" 仅"),a("b",null,"名称含「二中心」"),m("的部门及其组织下级:与本表区间一致,按患者业务单 "),a("b",null,"create_time"),m(" 排序,"),a("b",null,"第 1 笔不计"),m(";第 2 笔起计入合计,并分列复诊2、复诊三…(含本部门及下级汇总)。订单条件同「合计业绩」列(非取消)。非二中心子树部门为 0。 ")],-1)])]),default:c(()=>[r(w,{class:"col-info"},{default:c(()=>[r(C(U))]),_:1})]),_:1})]),(o(!0),u(k,null,O(Ke.value,f=>(o(),u("th",{key:"yjv-h-"+f},[a("span",null,d(Re(f)),1),r(I,{placement:"top",effect:"dark","show-after":200},{content:c(()=>[a("div",El,[e[54]||(e[54]=m(" 该列统计区间内患者第 ",-1)),a("b",null,d(f),1),e[55]||(e[55]=m(" 笔业务单条数(第 1 笔初诊单列不计);归属与合计列相同。 ",-1))])]),default:c(()=>[r(w,{class:"col-info"},{default:c(()=>[r(C(U))]),_:1})]),_:2},1024)]))),128)),a("th",null,[e[57]||(e[57]=a("span",null,"合计业绩",-1)),r(I,{placement:"top",effect:"dark","show-after":200},{content:c(()=>[...e[56]||(e[56]=[a("div",{style:{"max-width":"300px","line-height":"1.7","font-size":"12px"}},[m(" 按订单"),a("b",null,"创建时间"),m("统计,与「处方订单列表」业绩合计口径一致。"),a("br"),a("b",null,"不受渠道筛选影响"),m(",展示部门下全部订单。 ")],-1)])]),default:c(()=>[r(w,{class:"col-info"},{default:c(()=>[r(C(U))]),_:1})]),_:1})]),l.channel_name?(o(),u("th",Bl,[a("span",null,d(it(l,"业绩")),1),r(I,{placement:"top",effect:"dark","show-after":200},{content:c(()=>[...e[58]||(e[58]=[a("div",{style:{"max-width":"340px","line-height":"1.7","font-size":"12px"}},[m(" 与「处方订单列表」业绩"),a("b",null,"同口径"),m(":按订单 "),a("b",null,"create_time"),m(" 归日,"),a("br"),m(" fulfillment_status ≠ 4。"),a("br"),m(" 渠道判定仅用 EXISTS:该患者有任一挂号 "),a("b",null,"channels 命中字典 + status=3"),m("(不限挂号时点)。 ")],-1)])]),default:c(()=>[r(w,{class:"col-info"},{default:c(()=>[r(C(U))]),_:1})]),_:1})])):v("",!0),a("th",null,[e[60]||(e[60]=a("span",null,"预约诊单",-1)),r(I,{placement:"top",effect:"dark","show-after":200},{content:c(()=>[...e[59]||(e[59]=[a("div",{style:{"max-width":"320px","line-height":"1.7","font-size":"12px"}},[m(" 已完成挂号条数,与「医生预约 / 已完成」列表同口径。"),a("br"),m(" 部门按医助→接诊医生归属。 ")],-1)])]),default:c(()=>[r(w,{class:"col-info"},{default:c(()=>[r(C(U))]),_:1})]),_:1})]),a("th",null,[e[62]||(e[62]=a("span",null,"接诊诊单",-1)),r(I,{placement:"top",effect:"dark","show-after":200},{content:c(()=>[...e[61]||(e[61]=[a("div",{style:{"max-width":"320px","line-height":"1.7","font-size":"12px"}},[m(" 与「处方订单列表」在 "),a("b",null,"assistant_dept_id"),m(" 下条数同源:订单 "),a("b",null,"create_time"),m(" 落入区间、履约 "),a("b",null,"fulfillment_status ≠ 4"),m(""),a("br"),m(" 按诊单 "),a("b",null,"医助 assistant_id"),m("(经 admin_dept 映射到展示「中心」),非订单 creator_id。选定渠道时本列仍为全量。 ")],-1)])]),default:c(()=>[r(w,{class:"col-info"},{default:c(()=>[r(C(U))]),_:1})]),_:1})]),l.channel_name?(o(),u("th",Yl,[a("span",null,d(it(l,"成交单")),1),r(I,{placement:"top",effect:"dark","show-after":200},{content:c(()=>[a("div",Hl,[m(" 与「"+d(l.channel_name)+"业绩」同源:统计区间内 ",1),e[63]||(e[63]=a("b",null,"非取消业务订单",-1)),e[64]||(e[64]=m(" 条数(fulfillment_status ≠ 4),",-1)),e[65]||(e[65]=a("br",null,null,-1)),e[66]||(e[66]=m(" 按订单 ",-1)),e[67]||(e[67]=a("b",null,"create_time",-1)),e[68]||(e[68]=m(" 归日;渠道判定同业绩列(患者须有对应 channels 的已完成挂号)。 ",-1))])]),default:c(()=>[r(w,{class:"col-info"},{default:c(()=>[r(C(U))]),_:1})]),_:2},1024)])):v("",!0),l.channel_name?(o(),u("th",Ul,[a("span",null,d(it(l,"客单价")),1),r(I,{placement:"top",effect:"dark","show-after":200},{content:c(()=>[a("div",Wl,d(l.channel_name)+"业绩 ÷ "+d(l.channel_name)+"接诊诊单(均值)。 ",1)]),default:c(()=>[r(w,{class:"col-info"},{default:c(()=>[r(C(U))]),_:1})]),_:2},1024)])):v("",!0),a("th",null,[e[88]||(e[88]=a("span",null,"ROI",-1)),r(I,{placement:"top",effect:"dark","show-after":200},{content:c(()=>[a("div",ql,[l.channel_name?(o(),u(k,{key:0},[e[69]||(e[69]=m(" 有渠道时:",-1)),e[70]||(e[70]=a("b",null,"合计行 ROI",-1)),e[71]||(e[71]=m(" = ",-1)),a("b",null,d(l.channel_name)+"业绩合计",1),e[72]||(e[72]=m("(与上表该渠道业绩列合计一致,",-1)),e[73]||(e[73]=a("b",null,"不含名称含「二中心」的部门",-1)),e[74]||(e[74]=m(")÷ ",-1)),e[75]||(e[75]=a("b",null,"投放成本合计",-1)),e[76]||(e[76]=m("。",-1)),e[77]||(e[77]=a("br",null,null,-1)),e[78]||(e[78]=m(" 部门行 ROI = 该部门 ",-1)),a("b",null,d(l.channel_name)+"业绩",1),e[79]||(e[79]=m(" ÷ 该部门 ",-1)),e[80]||(e[80]=a("b",null,"投放成本",-1)),e[81]||(e[81]=m(";二中心部门该渠道业绩与进线为 0。与「合计业绩」列无关。 ",-1))],64)):(o(),u(k,{key:1},[e[82]||(e[82]=a("b",null,"合计业绩",-1)),e[83]||(e[83]=m(" ÷ ",-1)),e[84]||(e[84]=a("b",null,"投放成本",-1)),e[85]||(e[85]=m("。投放成本按各部门",-1)),e[86]||(e[86]=a("b",null,"进线条数占比",-1)),e[87]||(e[87]=m("从总成本中分摊。 ",-1))],64))])]),default:c(()=>[r(w,{class:"col-info"},{default:c(()=>[r(C(U))]),_:1})]),_:2},1024)]),a("th",null,[e[90]||(e[90]=a("span",null,"投放成本",-1)),r(I,{placement:"top",effect:"dark","show-after":200},{content:c(()=>[...e[89]||(e[89]=[a("div",{style:{"max-width":"320px","line-height":"1.7","font-size":"12px"}},[m(" 区间与渠道与账务表一致后得到"),a("b",null,"总投放成本"),m(""),a("b",null,"单进线成本"),m(" = 总成本 ÷ 各展示部门"),a("b",null,"进线合计"),m(""),a("br"),m(" 各部门行投放成本 = 单进线成本 × 该部门进线(四舍五入尾差并入进线最多的部门)。 ")],-1)])]),default:c(()=>[r(w,{class:"col-info"},{default:c(()=>[r(C(U))]),_:1})]),_:1})])])]),a("tbody",null,[(o(!0),u(k,null,O(l.rows,f=>(o(),u("tr",{key:`${b}-${f.dept_id}-${f.dept_name}`,class:Ue(["yeji-row--action",{"yeji-row--unassigned":Se(f),"yeji-row--idle":f.dept_id<=0&&!Se(f)}]),onClick:Y=>za(l,f)},[a("td",Jl,d(f.dept_name),1),a("td",{onClick:Y=>Na(Y,l,f)},[f.dept_id>0&&Number(f.lead_count)>0?(o(),u("span",Xl,d(D(f.lead_count)),1)):(o(),u(k,{key:1},[m(d(D(f.lead_count)),1)],64))],8,Kl),a("td",null,d(D(f.assign_count??0)),1),a("td",{onClick:$e(Y=>ka(l,f),["stop"])},[f.dept_id>0&&Number(f.revisit_count??0)>0?(o(),u("span",Zl,d(D(f.revisit_count??0)),1)):(o(),u(k,{key:1},[m(d(D(f.revisit_count??0)),1)],64))],8,Ql),(o(!0),u(k,null,O(Ke.value,Y=>(o(),u("td",{key:"yjv-"+b+"-"+f.dept_id+"-"+Y,onClick:$e(At=>xa(l,f,Y),["stop"])},[f.dept_id>0&&J(f,Y)>0?(o(),u("span",to,d(D(J(f,Y))),1)):(o(),u(k,{key:1},[m(d(D(J(f,Y))),1)],64))],8,eo))),128)),a("td",null,d(W(f.performance_amount)),1),l.channel_name?(o(),u("td",ao,d(W(f.completed_performance_amount)),1)):v("",!0),a("td",null,d(D(f.consult_count)),1),a("td",null,d(D(f.deal_order_count)),1),l.channel_name?(o(),u("td",no,d(D(f.channel_consult_count)),1)):v("",!0),l.channel_name?(o(),u("td",lo,d(Mt(f.channel_avg_price)),1)):v("",!0),a("td",{class:Ue(Pt(f.roi))},d(Rt(f.roi)),3),a("td",null,d(W(f.cost_amount)),1)],10,Gl))),128)),a("tr",oo,[e[92]||(e[92]=a("td",{class:"col-dept"},"合计",-1)),a("td",null,d(D(l.total.lead_count)),1),a("td",null,d(D(l.total.assign_count??0)),1),a("td",null,d(D(l.total.revisit_count??0)),1),(o(!0),u(k,null,O(Ke.value,f=>(o(),u("td",{key:"yjvt-"+b+"-"+f},d(D(J(l.total,f))),1))),128)),a("td",null,d(W(l.total.performance_amount)),1),l.channel_name?(o(),u("td",so,d(W(l.total.completed_performance_amount)),1)):v("",!0),a("td",null,d(D(l.total.consult_count)),1),a("td",null,d(D(l.total.deal_order_count)),1),l.channel_name?(o(),u("td",io,d(D(l.total.channel_consult_count)),1)):v("",!0),l.channel_name?(o(),u("td",ro,d(Mt(l.total.channel_avg_price)),1)):v("",!0),a("td",{class:Ue(Pt(l.total.roi))},d(Rt(l.total.roi)),3),a("td",null,d(W(l.total.cost_amount)),1)])])]),a("div",uo,[a("span",null,"区间:"+d(l.start_date)+" ~ "+d(l.end_date),1),l.channel_name?(o(),u("span",co," · 渠道:"+d(l.channel_name),1)):v("",!0),l.total.cost_per_lead!=null&&l.total.cost_per_lead>0?(o(),u("span",mo," · 单进线成本:"+d(W(l.total.cost_per_lead))+" 元 ",1)):v("",!0)])]))),128))])),[[T,K.value]])]),_:1})]),_:1},8,["modelValue"])]),_:1}),r(A,{class:"yeji-panel yeji-charts-only-card",shadow:"never"},{default:c(()=>[e[104]||(e[104]=a("div",{class:"yeji-charts-only-head"},"统计图",-1)),G((o(),u("div",_o,[Gt.value?(o(),u(k,{key:0},[me.value&&(et.value||tt.value||at.value||nt.value||lt.value)?(o(),u("section",po,[a("h3",fo,[e[95]||(e[95]=m(" 医生统计 ",-1)),Oe.value?(o(),u("span",vo,d(Oe.value),1)):v("",!0)]),r(oe,{gutter:16},{default:c(()=>[r(B,{xs:24,lg:9},{default:c(()=>[a("div",yo,[e[96]||(e[96]=a("div",{class:"yeji-chart-panel__label"},"成交金额 TOP(条形)",-1)),et.value?(o(),x(C(q),{key:0,class:"yeji-echart",option:Qt.value,autoresize:""},null,8,["option"])):(o(),x($,{key:1,description:"暂无成交金额数据","image-size":72}))])]),_:1}),r(B,{xs:24,lg:8},{default:c(()=>[a("div",go,[e[97]||(e[97]=a("div",{class:"yeji-chart-panel__label"},"开方构成(堆叠柱)",-1)),tt.value?(o(),x(C(q),{key:0,class:"yeji-echart yeji-echart--short",option:Zt.value,autoresize:""},null,8,["option"])):(o(),x($,{key:1,description:"暂无开方数据","image-size":72}))])]),_:1}),r(B,{xs:24,lg:7},{default:c(()=>[a("div",ho,[e[98]||(e[98]=a("div",{class:"yeji-chart-panel__label"},"挂号结果(环形 · 表尾合计)",-1)),at.value?(o(),x(C(q),{key:0,class:"yeji-echart yeji-echart--short",option:Jt.value,autoresize:""},null,8,["option"])):(o(),x($,{key:1,description:"暂无挂号汇总","image-size":72}))])]),_:1})]),_:1}),r(oe,{gutter:16,class:"yeji-chart-subrow"},{default:c(()=>[r(B,{xs:24,lg:12},{default:c(()=>[a("div",bo,[e[99]||(e[99]=a("div",{class:"yeji-chart-panel__label"},"接诊诊单 × 金额(散点)",-1)),nt.value?(o(),x(C(q),{key:0,class:"yeji-echart yeji-echart--compact",option:Kt.value,autoresize:""},null,8,["option"])):(o(),x($,{key:1,description:"至少两名医生同时有接诊诊单与金额时可展示","image-size":72}))])]),_:1}),r(B,{xs:24,lg:12},{default:c(()=>[a("div",wo,[e[100]||(e[100]=a("div",{class:"yeji-chart-panel__label"},"TOP 医生雷达(相对最高值归一)",-1)),lt.value?(o(),x(C(q),{key:0,class:"yeji-echart yeji-echart--compact",option:Xt.value,autoresize:""},null,8,["option"])):(o(),x($,{key:1,description:"至少两名医生有数据时可展示","image-size":72}))])]),_:1})]),_:1})])):v("",!0),(o(!0),u(k,null,O(Z.value,(l,b)=>(o(),u(k,{key:"dept-chart-"+b},[gt(l)?(o(),u("section",ko,[a("h3",xo,d(Ct(l)),1),r(C(q),{class:"yeji-echart yeji-echart--tall",option:$a(l),autoresize:""},null,8,["option"]),Lt(l)||$t(l)?(o(),x(oe,{key:0,gutter:16,class:"yeji-chart-subrow"},{default:c(()=>[Lt(l)?(o(),x(B,{key:0,xs:24,md:12},{default:c(()=>[a("div",jo,[e[101]||(e[101]=a("div",{class:"yeji-chart-panel__label"}," 进线 → 接诊 → 成交(汇总漏斗) ",-1)),r(C(q),{class:"yeji-echart yeji-echart--compact",option:Pa(l),autoresize:""},null,8,["option"])])]),_:2},1024)):v("",!0),$t(l)?(o(),x(B,{key:1,xs:24,md:12},{default:c(()=>[a("div",No,[e[102]||(e[102]=a("div",{class:"yeji-chart-panel__label"}," 部门合计业绩占比(TOP10 + 其它) ",-1)),r(C(q),{class:"yeji-echart yeji-echart--compact",option:Aa(l),autoresize:""},null,8,["option"])])]),_:2},1024)):v("",!0)]),_:2},1024)):v("",!0)])):v("",!0)],64))),128)),j.value?(o(!0),u(k,{key:1},O(yt.value,l=>(o(),u("section",{key:"lb-chart-"+l.dept_id,class:"yeji-chart-block"},[a("h3",So,[m(d(l.dept_name)+" · 医助 ",1),j.value.channel_name?(o(),u("span",Do," "+d(j.value.channel_name)+" ",1)):v("",!0),a("span",Co,d(j.value.start_date)+""+d(j.value.end_date),1)]),r(oe,{gutter:16},{default:c(()=>[r(B,{xs:24,lg:zt(l)?14:24},{default:c(()=>[r(C(q),{class:"yeji-echart",option:Ma(l,j.value),autoresize:""},null,8,["option"])]),_:2},1032,["lg"]),zt(l)?(o(),x(B,{key:0,xs:24,lg:10},{default:c(()=>[a("div",zo,[e[103]||(e[103]=a("div",{class:"yeji-chart-panel__label"},"诊金占比",-1)),r(C(q),{class:"yeji-echart yeji-echart--compact",option:Ra(l,j.value),autoresize:""},null,8,["option"])])]),_:2},1024)):v("",!0)]),_:2},1024)]))),128)):v("",!0)],64)):!K.value&&(!me.value||!_e.value)&&!X.value?(o(),x($,{key:1,class:"yeji-charts-empty",description:"当前筛选下暂无图表数据,请调整条件后查询"})):v("",!0)])),[[T,K.value||me.value&&_e.value||X.value]])]),_:1}),r(ye,{modelValue:je.value,"onUpdate:modelValue":e[4]||(e[4]=l=>je.value=l),direction:"rtl",size:"min(960px, 96vw)","destroy-on-close":"",class:"yeji-order-drawer","show-close":!0},{header:c(()=>[a("div",Lo,[a("h3",$o,d(Ie.value),1),a("p",Mo,d(Fe.value),1)])]),default:c(()=>[a("div",Ro,[a("section",Po,[a("div",Ao,[e[105]||(e[105]=a("span",{class:"yeji-order-drawer__stat-label"},"符合条件的订单",-1)),a("span",Oo,d(Te.value.toLocaleString("zh-CN"))+" 笔",1)]),a("div",Io,[e[106]||(e[106]=a("span",{class:"yeji-order-drawer__stat-label"},[m(" 约诊 "),a("span",{class:"yeji-order-drawer__stat-note"},"(已完成挂号;日期按挂号 appointment_date;医助=挂号或诊单,与看板接诊一致)")],-1)),a("span",Fo,d(wt.value===null?"—":wt.value.toLocaleString("zh-CN"))+" 次",1)]),a("div",To,[e[107]||(e[107]=a("span",{class:"yeji-order-drawer__stat-label"},[m(" 业务订单金额合计 "),a("span",{class:"yeji-order-drawer__stat-note"},"(不含履约已取消,与上方业绩口径一致)")],-1)),a("span",Vo," ¥"+d(jt(aa.value)),1)]),ae.value.length>0?(o(),u("div",Eo,[e[108]||(e[108]=a("span",{class:"yeji-order-drawer__stat-label"},"本页小计",-1)),a("span",Bo,"¥"+d(jt(na.value)),1)])):v("",!0)]),G((o(),u("div",Yo,[ae.value.length>0||te.value?(o(),x(P,{key:0,data:ae.value,size:"small",stripe:"",border:"","max-height":"58vh",class:"yeji-order-drawer__table","empty-text":te.value?"加载中…":"暂无数据"},{default:c(()=>[r(_,{type:"index",label:"#",width:"46",index:pa}),r(_,{prop:"order_no",label:"订单号","min-width":"152","show-overflow-tooltip":""}),r(_,{label:"金额",width:"108",align:"right"},{default:c(({row:l})=>[a("span",Ho,"¥"+d(l.amount??"—"),1)]),_:1}),r(_,{prop:"recipient_name",label:"收货人",width:"96","show-overflow-tooltip":""}),r(_,{label:"履约",width:"104","show-overflow-tooltip":""},{default:c(({row:l})=>[m(d(_a(l.fulfillment_status)),1)]),_:1}),r(_,{label:"创建时间","min-width":"148"},{default:c(({row:l})=>[m(d(fa(l.create_time)),1)]),_:1}),r(_,{prop:"doctor_name",label:"开方人",width:"88","show-overflow-tooltip":""}),r(_,{prop:"creator_name",label:"创建人",width:"88","show-overflow-tooltip":""})]),_:1},8,["data","empty-text"])):v("",!0),!te.value&&ae.value.length===0?(o(),x($,{key:1,description:"暂无业务订单"})):v("",!0),a("div",Uo,[r(Ce,{"current-page":Q.value,"page-size":Ve.value,background:"",layout:"total, sizes, prev, pager, next, jumper",total:Te.value,"page-sizes":[10,15,20,50],disabled:te.value,"hide-on-single-page":!1,onCurrentChange:ba,onSizeChange:wa},null,8,["current-page","page-size","total","disabled"])])])),[[T,te.value]])])]),_:1},8,["modelValue"]),r(ge,{modelValue:Xe.value,"onUpdate:modelValue":e[5]||(e[5]=l=>Xe.value=l),width:"min(680px, 94vw)","destroy-on-close":"",class:"yeji-unassigned-dialog"},{header:c(()=>[a("div",Wo,[e[109]||(e[109]=a("span",{class:"yeji-unassigned-dialog__title"},"「未归属中心」业绩拆解",-1)),a("p",qo,d(ct.value),1)])]),default:c(()=>[he.value?(o(),u("p",Go,d(he.value),1)):v("",!0),G((o(),u("div",Jo,[re.value.length>0||ie.value?(o(),x(P,{key:0,data:re.value,size:"small",stripe:"",border:"","max-height":"440",class:"yeji-unassigned-dialog__table","empty-text":ie.value?"加载中…":"暂无数据"},{default:c(()=>[r(_,{prop:"name",label:"创建人","min-width":"120","show-overflow-tooltip":""}),r(_,{label:"账号",width:"88",align:"right"},{default:c(({row:l})=>[m(d(l.admin_id>0?l.admin_id:"—"),1)]),_:1}),r(_,{label:"订单数",width:"88",align:"right"},{default:c(({row:l})=>[m(d(D(l.order_count)),1)]),_:1}),r(_,{label:"业绩金额","min-width":"112",align:"right"},{default:c(({row:l})=>[m(d(W(l.amount)),1)]),_:1})]),_:1},8,["data","empty-text"])):v("",!0),!ie.value&&re.value.length===0?(o(),x($,{key:1,description:"暂无拆解数据"})):v("",!0)])),[[T,ie.value]])]),_:1},8,["modelValue"]),r(ge,{modelValue:Ze.value,"onUpdate:modelValue":e[6]||(e[6]=l=>Ze.value=l),width:"min(920px, 96vw)","destroy-on-close":"",class:"yeji-leadlines-dialog"},{header:c(()=>[a("div",Ko,[e[110]||(e[110]=a("span",{class:"yeji-unassigned-dialog__title"},"进线数据明细",-1)),a("p",Xo,d(pt.value),1)])]),default:c(()=>[we.value?(o(),u("p",Qo,d(we.value),1)):v("",!0),G((o(),u("div",Zo,[ce.value.length>0||ee.value?(o(),x(P,{key:0,data:ce.value,size:"small",stripe:"",border:"","max-height":"440",class:"yeji-unassigned-dialog__table","empty-text":ee.value?"加载中…":"暂无数据"},{default:c(()=>[r(_,{prop:"event_time_text",label:"进线时间","min-width":"156","show-overflow-tooltip":""}),r(_,{prop:"reception_admin_name",label:"接待",width:"88","show-overflow-tooltip":""}),r(_,{prop:"external_contact_name",label:"客户","min-width":"100","show-overflow-tooltip":""}),r(_,{prop:"external_userid",label:"外部联系人ID","min-width":"140","show-overflow-tooltip":""}),r(_,{prop:"user_id",label:"企微成员ID","min-width":"120","show-overflow-tooltip":""}),r(_,{prop:"state",label:"渠道参数",width:"96","show-overflow-tooltip":""})]),_:1},8,["data","empty-text"])):v("",!0),!ee.value&&ce.value.length===0?(o(),x($,{key:1,description:"暂无进线明细"})):v("",!0),ke.value>0?(o(),u("div",es,[r(Ce,{"current-page":xe.value,"page-size":Pe.value,background:"",layout:"total, sizes, prev, pager, next, jumper",total:ke.value,"page-sizes":[10,20,50,100],disabled:ee.value,"hide-on-single-page":!1,onCurrentChange:Da,onSizeChange:Ca},null,8,["current-page","page-size","total","disabled"])])):v("",!0)])),[[T,ee.value]])]),_:1},8,["modelValue"]),r(ge,{modelValue:Qe.value,"onUpdate:modelValue":e[7]||(e[7]=l=>Qe.value=l),width:"min(560px, 94vw)","destroy-on-close":"",class:"yeji-unassigned-dialog"},{header:c(()=>[a("div",ts,[e[111]||(e[111]=a("span",{class:"yeji-unassigned-dialog__title"},"复诊 · 医助拆解",-1)),a("p",as,d(mt.value),1)])]),default:c(()=>[be.value?(o(),u("p",ns,d(be.value),1)):v("",!0),G((o(),u("div",ls,[ue.value.length>0||de.value?(o(),x(P,{key:0,data:ue.value,size:"small",stripe:"",border:"","max-height":"440",class:"yeji-unassigned-dialog__table","empty-text":de.value?"加载中…":"暂无数据"},{default:c(()=>[r(_,{prop:"name",label:"医助","min-width":"120","show-overflow-tooltip":""}),r(_,{label:"业务订单",width:"108",align:"right"},{default:c(({row:l})=>[Number(l.order_count)>0?(o(),u("span",{key:0,class:"yeji-lead-cell--link",role:"button",tabindex:"0",onClick:b=>Nt(l),onKeydown:fn($e(b=>Nt(l),["prevent"]),["enter"])},d(D(l.order_count))+" 笔",41,os)):(o(),u(k,{key:1},[m(d(D(l.order_count)),1)],64))]),_:1})]),_:1},8,["data","empty-text"])):v("",!0),!de.value&&ue.value.length===0?(o(),x($,{key:1,description:"暂无拆解数据"})):v("",!0)])),[[T,de.value]])]),_:1},8,["modelValue"])])}}}),Xs=zn(is,[["__scopeId","data-v-aac4d1e3"]]);export{Xs as default};