2 lines
7.0 KiB
JavaScript
2 lines
7.0 KiB
JavaScript
import{f as b}from"./farsi-number-stB7JMN0.js";import{b as e,I as N,d as D,l as E,c as I,a as s,w as o,h,n as x,r as f,g as A,o as y,f as w,e as i,R as B,$ as F,F as $,y as G,t as m,T as M,z as V,x as H,_ as Z}from"./index-C4s_T2hP.js";import{T as O}from"./TeamOutlined-Cc_Yyb--.js";import{G as q}from"./GiftOutlined-DgNzKaks.js";var J={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M888 792H200V168c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v688c0 4.4 3.6 8 8 8h752c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-600-80h56c4.4 0 8-3.6 8-8V560c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v144c0 4.4 3.6 8 8 8zm152 0h56c4.4 0 8-3.6 8-8V384c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v320c0 4.4 3.6 8 8 8zm152 0h56c4.4 0 8-3.6 8-8V462c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v242c0 4.4 3.6 8 8 8zm152 0h56c4.4 0 8-3.6 8-8V304c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v400c0 4.4 3.6 8 8 8z"}}]},name:"bar-chart",theme:"outlined"};function R(c){for(var n=1;n<arguments.length;n++){var d=arguments[n]!=null?Object(arguments[n]):{},l=Object.keys(d);typeof Object.getOwnPropertySymbols=="function"&&(l=l.concat(Object.getOwnPropertySymbols(d).filter(function(v){return Object.getOwnPropertyDescriptor(d,v).enumerable}))),l.forEach(function(v){Q(c,v,d[v])})}return c}function Q(c,n,d){return n in c?Object.defineProperty(c,n,{value:d,enumerable:!0,configurable:!0,writable:!0}):c[n]=d,c}var C=function(n,d){var l=R({},n,d.attrs);return e(N,R({},l,{icon:J}),null)};C.displayName="BarChartOutlined";C.inheritAttrs=!1;const W={class:"report-page"},X={class:"page-header-title"},Y={class:"filters-header"},K={class:"filters"},ss={class:"kpi-flex"},es={class:"kpi-icon-box icon-indigo"},as={class:"kpi-details"},ts={class:"kpi-value"},os={class:"kpi-flex"},is={class:"kpi-icon-box icon-sky"},ns={class:"kpi-details"},ls={class:"kpi-value"},ds={class:"kpi-flex"},cs={class:"kpi-icon-box icon-emerald"},rs={class:"kpi-details"},ps={class:"kpi-value"},us={class:"kpi-flex"},_s={class:"kpi-icon-box icon-purple"},fs={class:"kpi-details"},ms={class:"kpi-value"},vs={class:"kpi-flex"},ks={class:"kpi-icon-box icon-amber"},bs={class:"kpi-details"},hs={class:"kpi-value"},gs={class:"kpi-flex"},xs={class:"kpi-icon-box icon-rose"},ys={class:"kpi-details"},ws={class:"kpi-value"},Os={class:"kpi-flex"},Cs={class:"kpi-icon-box icon-teal"},Is={class:"kpi-details"},Bs={class:"kpi-value"},Vs=D({__name:"ReportView",setup(c){const n=h(!1),d=h(!1),l=h(null),v=h([]),r=A({campaignId:void 0,from:void 0,to:void 0});async function S(){try{const p=await x.get("/admin/campaigns",{params:{pageSize:100}});v.value=p.data||[]}catch{}}async function g(){n.value=!0;try{const p=await x.get("/admin/reports/participation",{params:{campaignId:r.campaignId||void 0,from:r.from||void 0,to:r.to||void 0}});l.value=p.data}finally{n.value=!1}}async function U(){d.value=!0;try{const p=await x.get("/admin/reports/export",{params:{campaignId:r.campaignId||void 0,from:r.from||void 0,to:r.to||void 0},responseType:"blob"}),t=window.URL.createObjectURL(new Blob([p.data])),u=document.createElement("a");u.href=t,u.setAttribute("download",`participation-report-${Date.now()}.xlsx`),document.body.appendChild(u),u.click(),document.body.removeChild(u),window.URL.revokeObjectURL(t),V.success("گزارش اکسل با موفقیت دانلود شد.")}catch{V.error("خطا در دریافت گزارش اکسل")}finally{d.value=!1}}return E(()=>{S(),g()}),(p,t)=>{const u=f("a-button"),z=f("a-space"),j=f("a-select-option"),P=f("a-select"),_=f("a-card"),k=f("a-col"),T=f("a-row"),L=f("a-spin");return y(),I("div",W,[s("div",X,[t[3]||(t[3]=s("div",null,[s("h1",{class:"title"},"گزارشها و شاخصهای کلیدی (KPI)"),s("p",{class:"subtitle"},"تحلیل مشارکت کاربران، شانسهای تخصیصی، نرخ مصرف و خروجی آماری")],-1)),e(z,null,{default:o(()=>[e(u,{onClick:g,loading:n.value},{icon:o(()=>[e(i(B))]),default:o(()=>[t[1]||(t[1]=w(" بهروزرسانی ",-1))]),_:1},8,["loading"]),e(u,{type:"primary",loading:d.value,onClick:U},{icon:o(()=>[e(i(F))]),default:o(()=>[t[2]||(t[2]=w(" خروجی اکسل گزارش ",-1))]),_:1},8,["loading"])]),_:1})]),e(_,{bordered:!1,class:"main-card",style:{"margin-bottom":"20px"}},{default:o(()=>[s("div",Y,[s("div",K,[e(P,{value:r.campaignId,"onUpdate:value":t[0]||(t[0]=a=>r.campaignId=a),placeholder:"انتخاب کمپین (اختیاری)",allowClear:"",style:{width:"260px"},onChange:g},{default:o(()=>[(y(!0),I($,null,G(v.value,a=>(y(),H(j,{key:a.id,value:a.id},{default:o(()=>[w(m(a.title),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])])])]),_:1}),e(L,{spinning:n.value},{default:o(()=>[e(T,{gutter:[16,16]},{default:o(()=>[e(k,{xs:24,sm:12,md:8},{default:o(()=>[e(_,{bordered:!1,class:"kpi-card"},{default:o(()=>{var a;return[s("div",ss,[s("div",es,[e(i(O))]),s("div",as,[t[4]||(t[4]=s("span",{class:"kpi-label"},"تعداد کل کاربران ثبتنامی",-1)),s("span",ts,m(i(b)(((a=l.value)==null?void 0:a.totalUsers)||0)),1)])])]}),_:1})]),_:1}),e(k,{xs:24,sm:12,md:8},{default:o(()=>[e(_,{bordered:!1,class:"kpi-card"},{default:o(()=>{var a;return[s("div",os,[s("div",is,[e(i(B))]),s("div",ns,[t[5]||(t[5]=s("span",{class:"kpi-label"},"تعداد کل چرخشها (Spins)",-1)),s("span",ls,m(i(b)(((a=l.value)==null?void 0:a.totalSpins)||0)),1)])])]}),_:1})]),_:1}),e(k,{xs:24,sm:12,md:8},{default:o(()=>[e(_,{bordered:!1,class:"kpi-card"},{default:o(()=>{var a;return[s("div",ds,[s("div",cs,[e(i(M))]),s("div",rs,[t[6]||(t[6]=s("span",{class:"kpi-label"},"تعداد کل جوایز برنده شده",-1)),s("span",ps,m(i(b)(((a=l.value)==null?void 0:a.winnersCount)||0)),1)])])]}),_:1})]),_:1}),e(k,{xs:24,sm:12,md:8},{default:o(()=>[e(_,{bordered:!1,class:"kpi-card"},{default:o(()=>{var a;return[s("div",us,[s("div",_s,[e(i(q))]),s("div",fs,[t[7]||(t[7]=s("span",{class:"kpi-label"},"کل شانسهای تخصیصیافته",-1)),s("span",ms,m(i(b)(((a=l.value)==null?void 0:a.totalChancesAllocated)||0)),1)])])]}),_:1})]),_:1}),e(k,{xs:24,sm:12,md:8},{default:o(()=>[e(_,{bordered:!1,class:"kpi-card"},{default:o(()=>{var a;return[s("div",vs,[s("div",ks,[e(i(C))]),s("div",bs,[t[8]||(t[8]=s("span",{class:"kpi-label"},"کل شانسهای مصرفشده",-1)),s("span",hs,m(i(b)(((a=l.value)==null?void 0:a.totalChancesUsed)||0)),1)])])]}),_:1})]),_:1}),e(k,{xs:24,sm:12,md:8},{default:o(()=>[e(_,{bordered:!1,class:"kpi-card"},{default:o(()=>{var a;return[s("div",gs,[s("div",xs,[e(i(O))]),s("div",ys,[t[9]||(t[9]=s("span",{class:"kpi-label"},"کاربران بدون چرخش (Zero Spin)",-1)),s("span",ws,m(i(b)(((a=l.value)==null?void 0:a.zeroSpinUsers)||0)),1)])])]}),_:1})]),_:1}),e(k,{xs:24,sm:12,md:8},{default:o(()=>[e(_,{bordered:!1,class:"kpi-card"},{default:o(()=>{var a;return[s("div",Os,[s("div",Cs,[e(i(O))]),s("div",Is,[t[10]||(t[10]=s("span",{class:"kpi-label"},"کاربران دارای شانس باقیمانده",-1)),s("span",Bs,m(i(b)(((a=l.value)==null?void 0:a.remainingChanceUsers)||0)),1)])])]}),_:1})]),_:1})]),_:1})]),_:1},8,["spinning"])])}}}),js=Z(Vs,[["__scopeId","data-v-ee1ef293"]]);export{js as default};
|