2 lines
4.3 KiB
JavaScript
2 lines
4.3 KiB
JavaScript
import{o as V,ap as L,q as c,r as k,v as o,D as a,b9 as O,b6 as Y,bc as z,bb as q,L as i,O as f,bp as A,P as G,K as H,bg as I,s as m,F as U,G as j,ae as x,T as g,u as J,cJ as K,bB as Q,M as C,ba as E,p as b,E as W}from"./.pnpm-BGZW0UGg.js";import{r as X}from"./stats-w8J-WFG6.js";import{_ as Z}from"./index-CeIwrh_6.js";const ee={class:"assistant-performance-page"},te={class:"stats-kpi-grid"},ae={class:"stats-kpi-label"},oe={class:"card-header"},se={class:"card-hint"},ne=V({name:"assistantPerformancePage"}),le=V({...ne,setup(re){const _=C(!1),r=C([]),d=E({time_type:"month",start_date:"",end_date:""}),s=E({date_range:[],summary:{total_amount:0,total_count:0},chart:{dates:[],amounts:[],counts:[]}}),w=[{key:"total_amount",label:"业绩",type:"money",cardClass:""},{key:"total_count",label:"有效订单数",type:"count",cardClass:""}],S=b(()=>{var t;return(t=s.date_range)!=null&&t.length?`${s.date_range[0]} 至 ${s.date_range[1]}`:"未选择"}),D=b(()=>s.chart.dates.length>0&&s.chart.amounts.some(t=>t>0)),B=b(()=>({tooltip:{trigger:"axis",formatter:t=>{const e=t[0];return`${e.axisValue}<br/>${e.marker}${e.seriesName}: ¥${Number(e.value).toFixed(2)}`}},grid:{left:60,right:24,top:36,bottom:36},xAxis:{type:"category",data:s.chart.dates,axisLabel:{interval:s.chart.dates.length>15?"auto":0,rotate:s.chart.dates.length>10?30:0}},yAxis:{type:"value",name:"金额(元)",axisLabel:{formatter:t=>t>=1e4?(t/1e4).toFixed(1)+"万":String(t)}},series:[{name:"业绩",type:"line",smooth:!0,showSymbol:!0,symbolSize:6,lineStyle:{width:3,color:"#4a78ff"},itemStyle:{color:"#4a78ff"},areaStyle:{color:{type:"linear",x:0,y:0,x2:0,y2:1,colorStops:[{offset:0,color:"rgba(74, 120, 255, 0.25)"},{offset:1,color:"rgba(74, 120, 255, 0.02)"}]}},data:s.chart.amounts}]})),F=(t,e)=>{var p;const l=((p=s.summary)==null?void 0:p[t])??0;return e==="money"?`¥${Number(l).toFixed(2)}`:String(l)},u=async()=>{_.value=!0;try{const t={time_type:d.time_type};d.time_type==="custom"&&(t.start_date=r.value[0]||"",t.end_date=r.value[1]||"");const e=await X(t);Object.assign(s,e||{})}catch(t){console.error("获取业绩数据失败:",t),W.error((t==null?void 0:t.msg)||"获取业绩数据失败")}finally{_.value=!1}},N=()=>{d.time_type!=="custom"&&(r.value=[],u())},$=()=>{var t;((t=r.value)==null?void 0:t.length)===2&&u()},P=()=>{d.time_type="month",r.value=[],u()};return L(()=>{u()}),(t,e)=>{const l=q,p=z,y=Y,M=A,v=H,R=O,h=I,T=Q;return c(),k("div",ee,[o(h,{class:"!border-none",shadow:"never"},{default:a(()=>[o(R,{inline:!0,class:"stats-filter-form"},{default:a(()=>[o(y,{label:"时间范围"},{default:a(()=>[o(p,{modelValue:d.time_type,"onUpdate:modelValue":e[0]||(e[0]=n=>d.time_type=n),onChange:N},{default:a(()=>[o(l,{label:"today"},{default:a(()=>[...e[2]||(e[2]=[i("今天",-1)])]),_:1}),o(l,{label:"yesterday"},{default:a(()=>[...e[3]||(e[3]=[i("昨天",-1)])]),_:1}),o(l,{label:"week"},{default:a(()=>[...e[4]||(e[4]=[i("最近7天",-1)])]),_:1}),o(l,{label:"month"},{default:a(()=>[...e[5]||(e[5]=[i("最近30天",-1)])]),_:1}),o(l,{label:"custom"},{default:a(()=>[...e[6]||(e[6]=[i("自定义",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),d.time_type==="custom"?(c(),f(y,{key:0},{default:a(()=>[o(M,{modelValue:r.value,"onUpdate:modelValue":e[1]||(e[1]=n=>r.value=n),type:"daterange","value-format":"YYYY-MM-DD","range-separator":"至","start-placeholder":"开始日期","end-placeholder":"结束日期",style:{width:"260px"},onChange:$},null,8,["modelValue"])]),_:1})):G("",!0),o(y,null,{default:a(()=>[o(v,{type:"primary",loading:_.value,onClick:u},{default:a(()=>[...e[7]||(e[7]=[i("查询",-1)])]),_:1},8,["loading"]),o(v,{onClick:P},{default:a(()=>[...e[8]||(e[8]=[i("重置",-1)])]),_:1})]),_:1})]),_:1})]),_:1}),m("div",te,[(c(),k(U,null,j(w,n=>m("div",{key:n.key,class:x(["stats-kpi-card",n.cardClass])},[m("div",ae,g(n.label),1),m("div",{class:x(["stats-kpi-value",{"is-money":n.type==="money"}])},g(F(n.key,n.type)),3)],2)),64))]),o(h,{class:"!border-none mt-4",shadow:"never"},{header:a(()=>[m("div",oe,[e[9]||(e[9]=m("span",{class:"card-title"},"业绩趋势",-1)),m("span",se,g(S.value)+" · 履约完成业绩",1)])]),default:a(()=>[D.value?(c(),f(J(K),{key:0,class:"stats-chart",option:B.value,autoresize:""},null,8,["option"])):(c(),f(T,{key:1,description:"暂无数据"}))]),_:1})])}}}),ue=Z(le,[["__scopeId","data-v-52e20881"]]);export{ue as default};
|