1import{_ as F,c as r,e as t,m as k,p as L,i as D,q as x,O as C,t as o,b as M,F as S,x as w,h as _,w as h,r as v,j as T,k as U,o as d}from"./vendor-Btt8A9Xl.js";import{v as V}from"./bootstrap.min-_P62mbpp.js";import"./preload-helper-BxaVoaJg.js";const B={name:"ReferralStatisticsPage",setup(){const p=v([]),s=v({total_orders:0,pending_orders:0,earned_orders:0,total_earned:0,total_pending:0}),l=v({page:1,limit:100,total:0,pages:1}),a=v({startDate:"",endDate:""}),m=v(!1),u=async()=>{m.value=!0;try{const e=await V.getReferralStatistics(a.value.startDate||null,a.value.endDate||null,l.value.page,l.value.limit);p.value=e.referrals||[],s.value=e.statistics||{},l.value=e.pagination||l.value}catch(e){console.error("ÐÑибка загÑÑзки ÑÑаÑиÑÑики:",e),alert("ÐÑибка загÑÑзки ÑÑаÑиÑÑики")}finally{m.value=!1}},f=()=>{a.value.startDate="",a.value.endDate="",l.value.page=1,u()},b=e=>{e>=1&&e<=l.value.pages&&(l.value.page=e,u())},i=e=>new Intl.NumberFormat("ru-RU",{style:"currency",currency:"RUB",minimumFractionDigits:2}).format(e),y=e=>e?new Date(e).toLocaleString("ru-RU",{year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"}):"",P=e=>({pending:"ÐжидаеÑÑÑ",earned:"Ðа ÑÑеÑÑ",paid:"ÐÑплаÑено"})[e]||e,R=T(()=>{const e=[],g=l.value.page,c=l.value.pages;if(c<=7)for(let n=1;n<=c;n++)e.push(n);else if(g<=3){for(let n=1;n<=5;n++)e.push(n);e.push("..."),e.push(c)}else if(g>=c-2){e.push(1),e.push("...");for(let n=c-4;n<=c;n++)e.push(n)}else{e.push(1),e.push("...");for(let n=g-1;n<=g+1;n++)e.push(n);e.push("..."),e.push(c)}return e});return U(()=>{u()}),{referrals:p,statistics:s,pagination:l,filters:a,isLoading:m,loadStatistics:u,resetFilters:f,changePage:b,formatCurrency:i,formatDateTime:y,getStatusText:P,visiblePages:R}}},N={class:"referral-statistics-page container py-4"},j={class:"d-flex align-items-center mb-4"},I={class:"card mb-4"},q={class:"card-body"},z={class:"row g-3"},E={class:"col-md-4"},O={class:"col-md-4"},A={class:"col-md-4"},G={class:"d-grid"},H={class:"card mb-4"},J={class:"card-body"},K={class:"row"},Q={class:"col-md-3"},W={class:"stat-item"},X={class:"stat-value"},Y={class:"col-md-3"},Z={class:"stat-item"},$={class:"stat-value text-warning"},tt={class:"col-md-3"},st={class:"stat-item"},at={class:"stat-value text-success"},et={class:"col-md-3"},it={class:"stat-item"},nt={class:"stat-value text-primary"},lt={class:"card"},ot={class:"card-body"},rt={key:0,class:"text-center py-4"},dt={key:1,class:"text-center py-4 text-muted"},ct={key:2},gt={class:"table-responsive"},ut={class:"table table-hover"},vt={key:0,"aria-label":"Page navigation"},mt={class:"pagination justify-content-center"},_t=["onClick"];function pt(p,s,l,a,m,u){const f=D("router-link"),b=D("SegmentedRingLoader");return d(),r("div",N,[t("div",j,[k(f,{to:"/referral",class:"btn btn-link me-3"},{default:L(()=>[...s[7]||(s[7]=[t("i",{class:"bi bi-arrow-left"},null,-1)])]),_:1}),s[8]||(s[8]=t("h2",{class:"mb-0"},"СÑаÑиÑÑика по заказам",-1))]),t("div",I,[t("div",q,[t("div",z,[t("div",E,[s[9]||(s[9]=t("label",{for:"startDate",class:"form-label"},"ÐаÑало пеÑиода",-1)),x(t("input",{type:"date",class:"form-control",id:"startDate","onUpdate:modelValue":s[0]||(s[0]=i=>a.filters.startDate=i),onChange:s[1]||(s[1]=(...i)=>a.loadStatistics&&a.loadStatistics(...i))},null,544),[[C,a.filters.startDate]])]),t("div",O,[s[10]||(s[10]=t("label",{for:"endDate",class:"form-label"},"ÐÐ¾Ð½ÐµÑ Ð¿ÐµÑиода",-1)),x(t("input",{type:"date",class:"form-control",id:"endDate","onUpdate:modelValue":s[2]||(s[2]=i=>a.filters.endDate=i),onChange:s[3]||(s[3]=(...i)=>a.loadStatistics&&a.loadStatistics(...i))},null,544),[[C,a.filters.endDate]])]),t("div",A,[s[11]||(s[11]=t("label",{class:"form-label"}," ",-1)),t("div",G,[t("button",{class:"btn btn-outline-secondary",onClick:s[4]||(s[4]=(...i)=>a.resetFilters&&a.resetFilters(...i))}," СбÑоÑиÑÑ ÑилÑÑÑÑ ")])])])])]),t("div",H,[t("div",J,[s[16]||(s[16]=t("h5",{class:"card-title"},"Ð¡Ð²Ð¾Ð´Ð½Ð°Ñ Ð¸Ð½ÑоÑмаÑиÑ",-1)),t("div",K,[t("div",Q,[t("div",W,[s[12]||(s[12]=t("div",{class:"stat-label"},"ÐÑего заказов",-1)),t("div",X,o(a.statistics.total_orders||0),1)])]),t("div",Y,[t("div",Z,[s[13]||(s[13]=t("div",{class:"stat-label"},"Ð ÑабоÑе",-1)),t("div",$,o(a.statistics.pending_orders||0),1)])]),t("div",tt,[t("div",st,[s[14]||(s[14]=t("div",{class:"stat-label"},"ÐÑполнено",-1)),t("div",at,o(a.statistics.earned_orders||0),1)])]),t("div",et,[t("div",it,[s[15]||(s[15]=t("div",{class:"stat-label"},"ÐÑого",-1)),t("div",nt,o(a.formatCurrency(a.statistics.total_earned||0)),1)])])])])]),t("div",lt,[t("div",ot,[s[18]||(s[18]=t("h5",{class:"card-title"}
1,"ÐаказÑ",-1)),a.isLoading?(d(),r("div",rt,[k(b,{lg:"",label:"ÐагÑÑзка..."})])):a.referrals.length===0?(d(),r("div",dt," ÐÐµÑ Ð·Ð°ÐºÐ°Ð·Ð¾Ð² за вÑбÑаннÑй пеÑиод ")):(d(),r("div",ct,[t("div",gt,[t("table",ut,[s[17]||(s[17]=t("thead",null,[t("tr",null,[t("th",null,"ÐÐ¾Ð¼ÐµÑ Ð·Ð°ÐºÐ°Ð·Ð°"),t("th",null,"ÐÑÐµÐ¼Ñ Ð·Ð°ÐºÐ°Ð·Ð°"),t("th",null,"ÐолиÑеÑÑво кÑÑжек"),t("th",null,"ÐознагÑаждение"),t("th",null,"СÑаÑÑÑ")])],-1)),t("tbody",null,[(d(!0),r(S,null,w(a.referrals,i=>(d(),r("tr",{key:i.id},[t("td",null,o(i.order_id.substring(0,8)),1),t("td",null,o(a.formatDateTime(i.created_at)),1),t("td",null,o(i.mugs_count),1),t("td",null,o(a.formatCurrency(i.reward_amount)),1),t("td",null,[t("span",{class:_(["badge",{"bg-warning":i.status==="pending","bg-success":i.status==="earned","bg-secondary":i.status==="paid"}])},o(a.getStatusText(i.status)),3)])]))),128))])])]),a.pagination.pages>1?(d(),r("nav",vt,[t("ul",mt,[t("li",{class:_(["page-item",{disabled:a.pagination.page===1}])},[t("a",{class:"page-link",href:"#",onClick:s[5]||(s[5]=h(i=>a.changePage(a.pagination.page-1),["prevent"]))},"ÐÑедÑдÑÑаÑ")],2),(d(!0),r(S,null,w(a.visiblePages,i=>(d(),r("li",{key:i,class:_(["page-item",{active:i===a.pagination.page}])},[t("a",{class:"page-link",href:"#",onClick:h(y=>a.changePage(i),["prevent"])},o(i),9,_t)],2))),128)),t("li",{class:_(["page-item",{disabled:a.pagination.page===a.pagination.pages}])},[t("a",{class:"page-link",href:"#",onClick:s[6]||(s[6]=h(i=>a.changePage(a.pagination.page+1),["prevent"]))},"СледÑÑÑаÑ")],2)])])):M("",!0)]))])])])}const yt=F(B,[["render",pt],["__scopeId","data-v-6f528e21"]]);export{yt as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.