Files
zyt/server/public/admin/assets/index-BUtORcHE.js
T

2 lines
23 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{L as qe,d as Ye,i as je,aj as Ge,R as He,Q as Ke,P as Qe,Z as We,ag as Je,W as Ze,N as Xe,T as et,M as tt,a1 as at,U as nt,V as lt,E as G}from"./element-plus-CWHdHlgZ.js";import{s as st}from"./@vue/runtime-dom-DDAG46FW.js";import{a8 as ot,M as it}from"./@element-plus/icons-vue-CbYn5zW9.js";import{H as rt}from"./vue-echarts-BNtg2q_G.js";import{f as dt,a as ut}from"./first_visit-D-MWTUc_.js";import{f as pe,b as mt,aP as ce,ak as i,I as m,J as t,a as r,aN as u,O as d,H as g,G as h,F as D,ap as z,A as f}from"./@vue/runtime-core-C6bnekPw.js";import{r as H,y as K,n as C}from"./@vue/reactivity-DiY1c2vO.js";import{Q as s,o as Q,p as _e}from"./@vue/shared-mAAVTE9n.js";import{_ as ct}from"./index-dDVfDL1w.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-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.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"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const _t={class:"conversion-page","element-loading-text":"正在汇总权限范围内的数据"},pt={class:"page-heading"},gt={class:"heading-meta"},ft={class:"scope-chip"},ht={key:0},vt={class:"filter-strip"},yt={class:"filter-item filter-item--time"},bt={class:"filter-item"},kt={class:"filter-item"},wt={class:"filter-item"},Dt={class:"range-text"},xt={class:"metric-grid","aria-label":"综合转化指标"},Nt={class:"metric-value"},Ct={key:0,class:"deleted-fans-marker",title:"加粉总数中已删除"},Vt={key:0,class:"ranking-grid"},zt={class:"panel ranking-panel"},Ft={class:"panel-heading"},Et={key:0,class:"bar-list"},Mt=["title"],St={class:"bar-track"},$t={class:"panel ranking-panel"},It={class:"panel-heading"},Tt={key:0,class:"bar-list"},At=["title"],Lt={class:"bar-track"},Rt={class:"panel detail-panel"},Ot={class:"panel-heading panel-heading--table"},Pt=["onClick"],Ut={key:0,class:"deleted-fans-marker",title:"加粉总数中已删除"},Bt={key:1,class:"fan-count-value is-empty"},qt={class:"panel target-panel"},Yt={class:"panel-heading"},jt={class:"target-layout"},Gt={class:"target-progress-list"},Ht={class:"target-summary"},Kt={class:"is-teal"},Qt={class:"progress-block"},Wt={class:"progress-copy"},Jt={class:"progress-block progress-block--month"},Zt={class:"progress-copy"},Xt={key:0,class:"target-empty-note"},ea={class:"trend-wrap"},ta={class:"fans-detail-context"},aa={class:"customer-cell"},na={key:0},la={key:0,class:"deleted-status"},sa={key:0},oa={class:"fans-detail-footer"},ia=pe({name:"firstVisitConversionPage"}),ra=pe({...ia,setup(da){const ge=new Set(["account_cost","roi"]),W=()=>({meta:{time_type:"today",time_label:"今日",start_date:"",end_date:"",generated_at:"",scope_value:4,scope_label:"",selected_dept_name:"",selected_assistant_name:"",selected_media_channel_code:"",selected_media_channel_name:"",open_count_source:"",ranking_kind:"hidden",can_view_finance:!1,can_view_deleted_fans:!1},filters:{departments:[],assistants:[],media_channels:[]},summary:{},rankings:{orders:[],amounts:[]},rows:[],target:{year:new Date().getFullYear(),target_amount:0,actual_amount:0,completion_rate:null,current_month_target:0,current_month_actual:0,current_month_rate:null,department_count:0,months:[],target_cumulative:[],actual_cumulative:[]}}),l=H(W()),T=C(!1),c=H({time_type:"today",dept_id:void 0,assistant_id:void 0,media_channel_code:""}),x=C([]),A=C(!1),L=C(!1),R=C(!1),F=C([]),p=H({page_no:1,page_size:20,total:0}),E=C({type:"dept",id:0,name:"当前行"}),fe={value:"id",label:"name",children:"children"},he=[{label:"今日",value:"today"},{label:"昨天",value:"yesterday"},{label:"本周",value:"week"},{label:"本月",value:"month"},{label:"本季度",value:"quarter"},{label:"本年",value:"year"},{label:"自定义",value:"custom"}],J=[{key:"add_fans_count",label:"加粉数",type:"count",hint:"区间新增员工+客户组合(不同员工分别计数,含已删除)"},{key:"total_open_count",label:"开口数",type:"count",hint:"来源于个人业绩录入"},{key:"interview_count",label:"面诊",type:"count",hint:"已完成预约"},{key:"completed_order_count",label:"接诊诊单",type:"count",hint:"业务订单,按创建人归属并过滤无效单"},{key:"completed_order_amount",label:"诊单金额",type:"money",hint:"排除取消、拒收、退款及已退款订单"},{key:"avg_unit_price",label:"平均客单价",type:"money",hint:"诊单金额 / 接诊诊单"},{key:"account_cost",label:"现金成本",type:"money",hint:"当前范围内实际投放成本"},{key:"roi",label:"ROI",type:"ratio",hint:"诊单金额 / 投放成本"}],ve=f(()=>{const n=[`${l.meta.time_label||"当前区间"}数据`,l.meta.scope_label||"当前权限范围"];return l.meta.selected_dept_name&&n.push(l.meta.selected_dept_name),l.meta.selected_assistant_name&&n.push(l.meta.selected_assistant_name),l.meta.selected_media_channel_name&&n.push(`渠道:${l.meta.selected_media_channel_name}`),n.join(" · ")}),Z=f(()=>!!l.meta.can_view_finance),O=f(()=>l.meta.can_view_deleted_fans===!0),X=f(()=>O.value&&R.value),ye=f(()=>Z.value?J:J.filter(n=>!ge.has(n.key))),be=f(()=>{const n=[],e=new Map;for(const o of l.filters.media_channels){if(o.kind==="group")continue;const v=String(o.group_name||"").trim();let w=e.get(v);w===void 0&&(w=n.length,e.set(v,w),n.push({group_name:v,customer_count:0,channels:[]}));const S=n[w],$=v!==""&&!o.name.includes(v)?`${o.name} ${v}`:"";S.channels.push($===""?o:{...o,search_label:$}),S.customer_count=Math.max(S.customer_count,Number(o.customer_count||0))}for(const o of n){if(o.group_name==="")continue;const v=o.channels.some(w=>w.name===o.group_name);o.channels.length<2&&v||o.channels.unshift({code:`group:${o.group_name}`,name:`${o.group_name}(全部)`,group_name:o.group_name,customer_count:o.customer_count,kind:"group"})}return n}),ee=f(()=>l.meta.ranking_kind||(Number(l.meta.scope_value)===4?"hidden":Number(l.meta.scope_value)===3?"member":"group")),ke=f(()=>ee.value!=="hidden"),P=f(()=>ee.value==="member"?"组内成员":"小组"),we=f(()=>`${E.value.name} · 加粉组合明细`),De=f(()=>{const n=l.meta.start_date||c.start_date||"",e=l.meta.end_date||c.end_date||"";return n&&e?`${n}${e}`:l.meta.time_label||"当前区间"}),xe=f(()=>l.meta.selected_media_channel_name||"全部渠道"),te=f(()=>l.rankings.orders.reduce((n,e)=>n+Number(e.value||0),0)),ae=f(()=>l.rankings.amounts.reduce((n,e)=>n+Number(e.value||0),0)),Ne=f(()=>({animationDuration:450,color:["#0f9185","#2f78df"],tooltip:{trigger:"axis",valueFormatter:n=>b(n)},grid:{left:62,right:24,top:28,bottom:36},xAxis:{type:"category",boundaryGap:!1,data:l.target.months,axisLine:{lineStyle:{color:"#d9e1e9"}},axisLabel:{color:"#718096"}},yAxis:{type:"value",axisLabel:{color:"#718096",formatter:n=>Re(n)},splitLine:{lineStyle:{color:"#edf1f5"}}},series:[{name:"实际完成",type:"line",smooth:!0,symbol:"none",lineStyle:{width:3},areaStyle:{color:"rgba(15,145,133,.08)"},data:l.target.actual_cumulative},{name:"目标值",type:"line",smooth:!0,symbol:"none",lineStyle:{width:2,type:"dashed"},data:l.target.target_cumulative}]}));let U=0,M=0;async function k(){const n=++U;T.value=!0,l.meta.can_view_deleted_fans=!1;try{const e={...c};if(e.time_type==="custom"){if(e.start_date=x.value[0]||"",e.end_date=x.value[1]||"",!e.start_date||!e.end_date){G.warning("请选择自定义日期范围");return}}else delete e.start_date,delete e.end_date;const o=await dt(e);if(n!==U)return;Object.assign(l,W(),o||{}),c.media_channel_code=l.meta.selected_media_channel_code||""}catch(e){if(n!==U)return;G.error((e==null?void 0:e.message)||"综合数据加载失败")}finally{n===U&&(T.value=!1)}}function Ce(){if(c.time_type!=="custom"){x.value=[],k();return}x.value.length===2&&k()}function Ve(){c.time_type==="custom"&&x.value.length===2&&k()}function ze(){c.assistant_id=void 0,k()}function Fe(n){E.value={type:n.type?"member":"dept",id:n.id,adminId:Number(n.admin_id||0)||void 0,name:n.name||"当前行"},p.page_no=1,F.value=[],p.total=0,A.value=!0,q()}async function q(){if(!A.value)return;const n=++M;L.value=!0,R.value=!1;try{const e={...c,time_type:c.time_type,start_date:l.meta.start_date||c.start_date,end_date:l.meta.end_date||c.end_date,media_channel_code:l.meta.selected_media_channel_code||c.media_channel_code||"",entity_type:E.value.type,entity_id:E.value.id,admin_id:E.value.adminId,page_no:p.page_no,page_size:p.page_size},o=await ut(e);if(n!==M)return;R.value=(o==null?void 0:o.can_view_deleted_fans)===!0;const v=Array.isArray(o==null?void 0:o.lists)?o.lists:Array.isArray(o==null?void 0:o.rows)?o.rows:[];F.value=v,p.total=Number((o==null?void 0:o.count)??(o==null?void 0:o.total)??v.length)||0}catch(e){if(n!==M)return;F.value=[],p.total=0,G.error((e==null?void 0:e.message)||"加粉组合明细加载失败")}finally{n===M&&(L.value=!1)}}function Ee(){p.page_no=1,q()}function Me(){++M,L.value=!1,R.value=!1,F.value=[],p.page_no=1,p.total=0}function Se(n){return Math.round(Number(n||0))>0}function Y(n){return X.value&&!!n.is_deleted}function $e(n){return n.customer_name||n.external_userid||"未知客户"}function Ie(n){return n.wecom_staff_name||n.wecom_userid||"未绑定员工"}function Te(n){return n.add_time||"-"}function Ae({row:n}){return Y(n)?"is-deleted-fan-row":""}function Le(n,e){const o=l.summary[n];return e==="money"?b(o):e==="ratio"?se(o):V(o)}function V(n){return Math.round(Number(n||0)).toLocaleString("zh-CN")}function ne(n){return O.value&&Math.round(Number(n||0))>0}function b(n){return${Number(n||0).toLocaleString("zh-CN",{minimumFractionDigits:2,maximumFractionDigits:2})}`}function N(n){return`${Number(n||0).toFixed(1)}%`}function le(n,e){return e<=0?"0.0%":`${(Number(n||0)/e*100).toFixed(1)}%`}function j(n){return n==null?"未设置":N(n)}function se(n){return Number(n||0).toFixed(2)}function Re(n){return Math.abs(n)>=1e4?`${(n/1e4).toFixed(0)}万`:String(Math.round(n))}function oe(n,e){const o=Number(n||0);return e<=0||o<=0?"0%":`${Math.max(4,Math.min(100,o/e*100))}%`}function ie(n){return Math.max(0,Math.min(100,Number(n||0)))}return mt(k),(n,e)=>{const o=Ye,v=je,w=Ge,S=He,$=Ke,re=Qe,Oe=We,Pe=Je,B=Ze,I=et,_=Xe,de=tt,ue=at,Ue=nt,Be=lt,me=qe;return ce((i(),m("div",_t,[t("header",pt,[t("div",null,[e[8]||(e[8]=t("h1",null,"综合数据转化",-1)),t("p",null,s(ve.value),1)]),t("div",gt,[t("span",ft,[r(o,null,{default:u(()=>[r(K(ot))]),_:1}),d(s(l.meta.scope_label||"数据范围"),1)]),l.meta.generated_at?(i(),m("span",ht,"更新于 "+s(l.meta.generated_at),1)):g("",!0),r(v,{icon:K(it),loading:T.value,onClick:k},{default:u(()=>[...e[9]||(e[9]=[d("刷新",-1)])]),_:1},8,["icon","loading"])])]),t("section",vt,[t("div",yt,[e[10]||(e[10]=t("span",{class:"filter-label"},"时间范围",-1)),r(w,{modelValue:c.time_type,"onUpdate:modelValue":e[0]||(e[0]=a=>c.time_type=a),options:he,onChange:Ce},null,8,["modelValue"]),c.time_type==="custom"?(i(),h(S,{key:0,modelValue:x.value,"onUpdate:modelValue":e[1]||(e[1]=a=>x.value=a),type:"daterange","value-format":"YYYY-MM-DD","range-separator":"至","start-placeholder":"开始日期","end-placeholder":"结束日期",class:"date-range-picker",clearable:!1,onChange:Ve},null,8,["modelValue"])):g("",!0)]),t("div",bt,[e[11]||(e[11]=t("span",{class:"filter-label"},"搜索员工",-1)),r(re,{modelValue:c.assistant_id,"onUpdate:modelValue":e[2]||(e[2]=a=>c.assistant_id=a),clearable:"",filterable:"",placeholder:"全部员工",class:"employee-select",onChange:k},{default:u(()=>[(i(!0),m(D,null,z(l.filters.assistants,a=>(i(),h($,{key:a.id,label:a.name,value:Number(a.id)},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),t("div",kt,[e[12]||(e[12]=t("span",{class:"filter-label"},"部门",-1)),r(Oe,{modelValue:c.dept_id,"onUpdate:modelValue":e[3]||(e[3]=a=>c.dept_id=a),data:l.filters.departments,props:fe,"node-key":"id",clearable:"",filterable:"","check-strictly":"","default-expand-all":"",placeholder:"全部可见部门",class:"dept-select",onChange:ze},null,8,["modelValue","data"])]),t("div",wt,[e[13]||(e[13]=t("span",{class:"filter-label"},"渠道",-1)),r(re,{modelValue:c.media_channel_code,"onUpdate:modelValue":e[4]||(e[4]=a=>c.media_channel_code=a),clearable:"",filterable:"",placeholder:"全部渠道",class:"channel-select",onChange:k},{default:u(()=>[(i(!0),m(D,null,z(be.value,a=>(i(),h(Pe,{key:a.group_name||"_",label:`${a.group_name||"(未分组)"} · ${a.customer_count}`},{default:u(()=>[(i(!0),m(D,null,z(a.channels,y=>(i(),h($,{key:y.code,label:y.search_label||y.name,value:y.code},{default:u(()=>[t("span",{class:Q(["channel-option",{"is-group":y.kind==="group"}])},[t("span",null,s(y.name),1),t("span",null,s(y.customer_count)+" 人",1)],2)]),_:2},1032,["label","value"]))),128))]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),t("span",Dt,s(l.meta.start_date)+" 至 "+s(l.meta.end_date),1)]),t("section",xt,[(i(!0),m(D,null,z(ye.value,a=>(i(),m("article",{key:a.key,class:"metric-card"},[t("span",null,s(a.label),1),t("strong",Nt,[d(s(Le(a.key,a.type))+" ",1),a.key==="add_fans_count"&&ne(l.summary.deleted_fans_count)?(i(),m("em",Ct," -"+s(V(l.summary.deleted_fans_count))+" ",1)):g("",!0)]),t("small",null,[d(s(a.hint),1),a.key==="add_fans_count"&&O.value?(i(),m(D,{key:0},[d(";(-N)为其中已删除")],64)):g("",!0)])]))),128))]),ke.value?(i(),m("section",Vt,[t("article",zt,[t("div",Ft,[t("div",null,[t("h2",null,s(P.value)+"订单量占比排名",1),t("p",null,"按"+s(P.value)+"归属统计,排除取消、拒收及退款",1)]),e[14]||(e[14]=t("span",null,"单位:单",-1))]),l.rankings.orders.length?(i(),m("div",Et,[(i(!0),m(D,null,z(l.rankings.orders,(a,y)=>(i(),m("div",{key:`order-${a.id}`,class:"bar-row"},[t("span",{class:"bar-name",title:a.name},[t("b",null,s(y+1),1),d(s(a.name),1)],8,Mt),t("div",St,[t("i",{class:"is-teal",style:_e({width:oe(a.value,te.value)})},null,4)]),t("strong",null,[t("span",null,s(V(a.value))+" 单",1),t("small",null,s(le(a.value,te.value)),1)])]))),128))])):(i(),h(B,{key:1,"image-size":54,description:"当前范围暂无订单数据"}))]),t("article",$t,[t("div",It,[t("div",null,[t("h2",null,s(P.value)+"金额占比排名",1),t("p",null,"按"+s(P.value)+"归属统计,仅含未取消、未拒收且未退款的有效金额",1)]),e[15]||(e[15]=t("span",null,"单位:元",-1))]),l.rankings.amounts.length?(i(),m("div",Tt,[(i(!0),m(D,null,z(l.rankings.amounts,(a,y)=>(i(),m("div",{key:`amount-${a.id}`,class:"bar-row"},[t("span",{class:"bar-name",title:a.name},[t("b",null,s(y+1),1),d(s(a.name),1)],8,At),t("div",Lt,[t("i",{class:"is-blue",style:_e({width:oe(a.value,ae.value)})},null,4)]),t("strong",null,[t("span",null,s(b(a.value)),1),t("small",null,s(le(a.value,ae.value)),1)])]))),128))])):(i(),h(B,{key:1,"image-size":54,description:"当前范围暂无金额数据"}))])])):g("",!0),t("section",Rt,[t("div",Ot,[t("div",null,[e[18]||(e[18]=t("h2",null,"明细数据列表",-1)),t("p",null,[e[16]||(e[16]=d("展开部门可查看人员明细;加粉=总进线=区间新增“员工+客户”组合(同一员工的同一客户只计一次,同一客户进入不同员工分别计数;包含区间内添加后已删客户,剔除继承客户、扫一扫/搜手机号/名片分享添加及区间前已存在的相同组合)",-1)),O.value?(i(),m(D,{key:0},[d(",(-N)表示加粉组合中已删除")],64)):g("",!0),e[17]||(e[17]=d(";挂号=已支付且实收低于 10 元的订单,预约=有效预约记录;开口率=开口/加粉,挂号率=挂号/加粉,面诊率=面诊/挂号(看挂号后流失),预约率=面诊/预约(看预约后未面诊),面诊接诊率=接诊诊单/面诊,接诊率=接诊诊单/总进线",-1))])]),t("span",null,s(l.rows.length)+" 个顶层节点",1)]),r(de,{data:l.rows,"row-key":"id","tree-props":{children:"children"},"default-expand-all":"",class:"detail-table"},{empty:u(()=>[r(B,{description:"当前权限范围内暂无转化数据"})]),default:u(()=>[r(_,{prop:"name",label:"部门 / 人员","min-width":"220",fixed:"left"},{default:u(({row:a})=>[t("strong",{class:Q({"is-parent":Array.isArray(a.children)&&a.children.length,"is-member":a.type==="member"})},s(a.name),3),!a.type&&a.leader_name?(i(),h(I,{key:0,size:"small",type:"warning",effect:"plain",class:"role-tag"},{default:u(()=>[d(" 组长 · "+s(a.leader_name),1)]),_:2},1024)):g("",!0),a.type==="member"&&a.role?(i(),h(I,{key:1,size:"small",type:"info",effect:"plain",class:"role-tag"},{default:u(()=>[d(s(a.role)+s(a.is_leader?" · 组长":""),1)]),_:2},1024)):a.type==="unbound"?(i(),h(I,{key:2,size:"small",type:"warning",effect:"plain",class:"role-tag"},{default:u(()=>[...e[19]||(e[19]=[d(" 未绑定账号 ",-1)])]),_:1})):g("",!0)]),_:1}),r(_,{prop:"add_fans_count",label:"加粉","min-width":"92",align:"right"},{default:u(({row:a})=>[Se(a.add_fans_count)?(i(),m("button",{key:0,type:"button",class:"fan-count-value fan-detail-trigger fan-detail-trigger--table",title:"查看该行加粉组合明细",onClick:st(y=>Fe(a),["stop"])},[d(s(V(a.add_fans_count))+" ",1),ne(a.deleted_fans_count)?(i(),m("em",Ut," -"+s(V(a.deleted_fans_count))+" ",1)):g("",!0)],8,Pt)):(i(),m("span",Bt,"0"))]),_:1}),r(_,{prop:"total_open_count",label:"开口","min-width":"72",align:"right"}),r(_,{prop:"paid_appointment_count",label:"挂号","min-width":"72",align:"right"}),r(_,{prop:"appointment_total_count",label:"预约","min-width":"72",align:"right"}),r(_,{prop:"interview_count",label:"面诊","min-width":"72",align:"right"}),r(_,{prop:"completed_order_count",label:"接诊诊单","min-width":"88",align:"right"}),r(_,{label:"接诊金额","min-width":"104",align:"right"},{default:u(({row:a})=>[d(s(b(a.completed_order_amount)),1)]),_:1}),r(_,{label:"开口率","min-width":"82",align:"right"},{default:u(({row:a})=>[d(s(N(a.total_open_rate)),1)]),_:1}),r(_,{label:"挂号率","min-width":"82",align:"right"},{default:u(({row:a})=>[d(s(N(a.paid_appointment_rate)),1)]),_:1}),r(_,{label:"面诊率","min-width":"82",align:"right"},{default:u(({row:a})=>[d(s(N(a.interview_paid_rate)),1)]),_:1}),r(_,{label:"预约率","min-width":"82",align:"right"},{default:u(({row:a})=>[d(s(N(a.interview_rate)),1)]),_:1}),r(_,{label:"面诊接诊率","min-width":"100",align:"right"},{default:u(({row:a})=>[d(s(N(a.interview_receive_rate)),1)]),_:1}),r(_,{label:"接诊率","min-width":"82",align:"right"},{default:u(({row:a})=>[d(s(N(a.receive_rate)),1)]),_:1}),Z.value?(i(),h(_,{key:0,label:"ROI","min-width":"72",align:"right"},{default:u(({row:a})=>[d(s(se(a.roi)),1)]),_:1})):g("",!0)]),_:1},8,["data"])]),t("section",qt,[t("div",Yt,[t("div",null,[e[20]||(e[20]=t("h2",null,"一诊诊金目标追踪",-1)),t("p",null,s(l.target.year)+" 年 · 按当前角色、部门及员工筛选范围计算",1)]),t("span",null,s(l.target.department_count)+" 个目标部门",1)]),t("div",jt,[t("div",Gt,[t("div",Ht,[t("div",null,[e[21]||(e[21]=t("span",null,"年度目标",-1)),t("strong",null,s(b(l.target.target_amount)),1)]),t("div",null,[e[22]||(e[22]=t("span",null,"已完成",-1)),t("strong",null,s(b(l.target.actual_amount)),1)]),t("div",null,[e[23]||(e[23]=t("span",null,"完成率",-1)),t("strong",Kt,s(j(l.target.completion_rate)),1)])]),t("div",Qt,[t("div",Wt,[e[24]||(e[24]=t("span",null,"年度范围目标",-1)),t("b",null,s(j(l.target.completion_rate)),1)]),r(ue,{percentage:ie(l.target.completion_rate),"show-text":!1,"stroke-width":12,color:"#0f9185"},null,8,["percentage"]),t("small",null,"已完成 "+s(b(l.target.actual_amount))+" / 目标 "+s(b(l.target.target_amount)),1)]),t("div",Jt,[t("div",Zt,[e[25]||(e[25]=t("span",null,"本月范围目标",-1)),t("b",null,s(j(l.target.current_month_rate)),1)]),r(ue,{percentage:ie(l.target.current_month_rate),"show-text":!1,"stroke-width":12,color:"#2f78df"},null,8,["percentage"]),t("small",null,"已完成 "+s(b(l.target.current_month_actual))+" / 目标 "+s(b(l.target.current_month_target)),1)]),Number(l.target.target_amount)<=0?(i(),m("div",Xt," 当前可见部门尚未维护本年度月度目标,实际诊单金额仍会正常统计。 ")):g("",!0)]),t("div",ea,[e[26]||(e[26]=t("div",{class:"trend-title"},[t("span",null,"年度累计趋势"),t("div",null,[t("i",{class:"legend-line is-actual"}),d("实际完成 "),t("i",{class:"legend-line is-target"}),d("目标值")])],-1)),r(K(rt),{class:"target-chart",option:Ne.value,autoresize:""},null,8,["option"])])])]),r(Be,{modelValue:A.value,"onUpdate:modelValue":e[7]||(e[7]=a=>A.value=a),title:we.value,width:"920px",top:"7vh","append-to-body":"","destroy-on-close":"",class:"fans-detail-dialog",onClosed:Me},{default:u(()=>[t("div",ta,[t("span",null,[e[27]||(e[27]=t("b",null,"统计区间",-1)),d(s(De.value),1)]),t("span",null,[e[28]||(e[28]=t("b",null,"媒体渠道",-1)),d(s(xe.value),1)]),t("span",null,[e[29]||(e[29]=t("b",null,"数据范围",-1)),d(s(l.meta.scope_label||"当前权限范围"),1)])]),ce((i(),h(de,{data:F.value,"row-class-name":Ae,height:"430",class:"fans-detail-table"},{empty:u(()=>[r(B,{"image-size":68,description:"当前条件下暂无加粉组合明细"})]),default:u(()=>[r(_,{label:"客户","min-width":"190"},{default:u(({row:a})=>[t("div",aa,[t("strong",{class:Q(["customer-name",{"is-deleted":Y(a)}])},s($e(a)),3),a.customer_name&&a.external_userid?(i(),m("small",na,s(a.external_userid),1)):g("",!0)])]),_:1}),r(_,{label:"归属员工","min-width":"160"},{default:u(({row:a})=>[d(s(Ie(a)),1)]),_:1}),r(_,{label:"添加时间","min-width":"180"},{default:u(({row:a})=>[d(s(Te(a)),1)]),_:1}),X.value?(i(),h(_,{key:0,label:"状态",width:"150",align:"center"},{default:u(({row:a})=>[Y(a)?(i(),m("div",la,[r(I,{type:"danger",effect:"dark",size:"small"},{default:u(()=>[...e[30]||(e[30]=[d("已删除",-1)])]),_:1}),a.delete_time?(i(),m("small",sa,s(a.delete_time),1)):g("",!0)])):(i(),h(I,{key:1,type:"success",effect:"plain",size:"small"},{default:u(()=>[...e[31]||(e[31]=[d("正常",-1)])]),_:1}))]),_:1})):g("",!0)]),_:1},8,["data"])),[[me,L.value]]),t("div",oa,[t("span",null,"共 "+s(V(p.total))+" 位客户",1),p.total>0?(i(),h(Ue,{key:0,"current-page":p.page_no,"onUpdate:currentPage":e[5]||(e[5]=a=>p.page_no=a),"page-size":p.page_size,"onUpdate:pageSize":e[6]||(e[6]=a=>p.page_size=a),"page-sizes":[10,20,50,100],total:p.total,layout:"total, sizes, prev, pager, next",background:"",onCurrentChange:q,onSizeChange:Ee},null,8,["current-page","page-size","total"])):g("",!0)])]),_:1},8,["modelValue","title"])])),[[me,T.value]])}}}),Wa=ct(ra,[["__scopeId","data-v-0607d566"]]);export{Wa as default};