2 lines
6.3 KiB
JavaScript
2 lines
6.3 KiB
JavaScript
import{t as f}from"./farsi-number-stB7JMN0.js";import{d as j,l as G,c as r,a as m,b as d,w as l,n as I,r as p,h as k,g as J,o,f as x,e as u,R as Y,$ as Z,S as q,F as O,y as Q,t as c,x as S,G as X,s as ee,i as te,z as U,_ as ae}from"./index-C4s_T2hP.js";const se={class:"spin-list-page"},ne={class:"page-header-title"},ie={class:"table-header"},oe={class:"filters"},le=["onClick"],re={key:1,class:"user-name"},de={key:0,class:"prize-text"},ce={key:1,class:"text-muted"},pe={key:5,class:"code-badge"},ue={key:6,class:"date-cell"},ye={key:7,class:"date-cell"},me=j({__name:"SpinListView",setup(ge){const W=te(),v=k(!1),h=k(!1),z=k([]),T=k(0),w=k([]),n=J({page:1,pageSize:10,campaignId:void 0,search:""});async function $(){var s;try{const e=await I.get("/admin/campaigns",{params:{pageSize:100}});w.value=Array.isArray(e.data)?e.data:((s=e.data)==null?void 0:s.data)||[]}catch{}}async function _(){var s,e,i,g;v.value=!0;try{const y=await I.get("/admin/spins",{params:{page:n.page,pageSize:n.pageSize,campaignId:n.campaignId||void 0,search:n.search||void 0}}),b=Array.isArray(y.data)?y.data:((s=y.data)==null?void 0:s.data)||[];z.value=b,T.value=((e=y.meta)==null?void 0:e.total)||((g=(i=y.data)==null?void 0:i.meta)==null?void 0:g.total)||b.length}finally{v.value=!1}}async function F(){h.value=!0;try{const s=await I.get("/admin/spins/export",{params:{campaignId:n.campaignId||void 0,search:n.search||void 0},responseType:"blob"}),e=window.URL.createObjectURL(new Blob([s.data])),i=document.createElement("a");i.href=e,i.setAttribute("download",`spins-${Date.now()}.xlsx`),document.body.appendChild(i),i.click(),document.body.removeChild(i),window.URL.revokeObjectURL(e),U.success("فایل اکسل با موفقیت دانلود شد.")}catch{U.error("خطا در دریافت فایل اکسل")}finally{h.value=!1}}const V={PHYSICAL:{text:"کالای فیزیکی",color:"blue"},DISCOUNT_CODE:{text:"کد تخفیف",color:"green"},DISCOUNT:{text:"کد تخفیف",color:"green"},CREDIT:{text:"شارژ کیف پول",color:"purple"},WALLET_CREDIT:{text:"شارژ کیف پول",color:"purple"},CASH:{text:"جایزه نقدی",color:"gold"},NO_PRIZE:{text:"پوچ",color:"default"},OTHER:{text:"شانس مجدد",color:"cyan"},FREE_CHANCE:{text:"شانس مجدد",color:"cyan"},DIGITAL_CODE:{text:"کد دیجیتال",color:"green"}};function A(s){return s?V[s]||{text:s,color:"blue"}:{text:"—",color:"default"}}function B(s){if(!s)return"—";try{const e=new Date(s);if(isNaN(e.getTime()))return"—";const i=e.toLocaleDateString("fa-IR",{year:"numeric",month:"2-digit",day:"2-digit"}),g=e.toLocaleTimeString("fa-IR",{hour:"2-digit",minute:"2-digit"});return f(`${i} - ${g}`)}catch{return"—"}}const K=[{title:"شماره همراه",dataIndex:["user","mobile"],key:"userMobile"},{title:"نام کاربر",dataIndex:["user","name"],key:"userName"},{title:"کمپین",dataIndex:["campaign","title"],key:"campaignTitle"},{title:"جایزه / نتیجه",dataIndex:["prize","title"],key:"prizeTitle"},{title:"نوع جایزه",key:"prizeType"},{title:"نتیجه",dataIndex:"isWin",key:"isWin",align:"center"},{title:"کلید تکرارناپذیری (Idempotency)",dataIndex:"idempotencyKey",key:"idempotencyKey",ellipsis:!0},{title:"آیپی کاربر",dataIndex:"ipAddress",key:"ipAddress"},{title:"تاریخ و ساعت چرخش",key:"createdAt"}];return G(()=>{$(),_()}),(s,e)=>{const i=p("a-button"),g=p("a-space"),y=p("a-input-search"),b=p("a-select-option"),H=p("a-select"),D=p("a-tag"),M=p("a-table"),P=p("a-card");return o(),r("div",se,[m("div",ne,[e[6]||(e[6]=m("div",null,[m("h1",{class:"title"},"تاریخچه چرخشها (Spins)"),m("p",{class:"subtitle"},"گزارش لحظهای تمام تلاشها، برندگان، کدها و آیپیهای ثبتشده")],-1)),d(g,null,{default:l(()=>[d(i,{onClick:_,loading:v.value},{icon:l(()=>[d(u(Y))]),default:l(()=>[e[4]||(e[4]=x(" بهروزرسانی ",-1))]),_:1},8,["loading"]),d(i,{type:"primary",loading:h.value,onClick:F},{icon:l(()=>[d(u(Z))]),default:l(()=>[e[5]||(e[5]=x(" خروجی اکسل ",-1))]),_:1},8,["loading"])]),_:1})]),d(P,{bordered:!1,class:"main-card"},{default:l(()=>[m("div",ie,[m("div",oe,[d(y,{value:n.search,"onUpdate:value":e[0]||(e[0]=t=>n.search=t),placeholder:"جستجوی شماره همراه یا نام...",style:{width:"260px"},allowClear:"",onSearch:e[1]||(e[1]=()=>{n.page=1,_()})},{prefix:l(()=>[d(u(q),{style:{color:"#94a3b8","margin-left":"4px"}})]),_:1},8,["value"]),d(H,{value:n.campaignId,"onUpdate:value":e[2]||(e[2]=t=>n.campaignId=t),placeholder:"فیلتر کمپین",allowClear:"",style:{width:"200px"},onChange:e[3]||(e[3]=()=>{n.page=1,_()})},{default:l(()=>[(o(!0),r(O,null,Q(w.value,t=>(o(),S(b,{key:t.id,value:t.id},{default:l(()=>[x(c(t.title),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])])]),d(M,{dataSource:z.value,columns:K,loading:v.value,rowKey:"id",size:"middle",pagination:{current:n.page,pageSize:n.pageSize,total:T.value,showTotal:t=>`مجموع: ${u(f)(t)} چرخش`,onChange:t=>{n.page=t,_()}}},{bodyCell:l(({column:t,record:a})=>{var R,E,L,N;return[t.key==="userMobile"?(o(),r("span",{key:0,class:"mobile-cell user-mobile-link",onClick:C=>a.userId?u(W).push(`/users/${a.userId}`):null},c(u(f)((R=a.user)==null?void 0:R.mobile)),9,le)):t.key==="userName"?(o(),r("span",re,c(((E=a.user)==null?void 0:E.name)||"—"),1)):t.key==="prizeTitle"?(o(),r(O,{key:2},[(L=a.prize)!=null&&L.title?(o(),r("span",de,c(a.prize.title),1)):(o(),r("span",ce,"بدون جایزه (پوچ)"))],64)):t.key==="prizeType"?(o(),S(D,{key:3,color:A(((N=a.prize)==null?void 0:N.type)||a.prizeType).color,style:{"border-radius":"4px"}},{default:l(()=>{var C;return[x(c(A(((C=a.prize)==null?void 0:C.type)||a.prizeType).text),1)]}),_:2},1032,["color"])):t.key==="isWin"?(o(),S(D,{key:4,color:a.isWin?"green":"default",class:"status-tag"},{default:l(()=>[m("span",{class:"status-dot",style:X({backgroundColor:a.isWin?"#10b981":"#94a3b8"})},null,4),x(" "+c(a.isWin?"برنده":"پوچ"),1)]),_:2},1032,["color"])):t.key==="idempotencyKey"?(o(),r("code",pe,c(a.idempotencyKey),1)):t.key==="ipAddress"?(o(),r("span",ue,c(u(f)(a.ipAddress)),1)):t.key==="createdAt"?(o(),r("span",ye,c(a.createdAtFormatted?u(f)(a.createdAtFormatted):B(a.createdAt)),1)):ee("",!0)]}),_:1},8,["dataSource","loading","pagination"])]),_:1})])}}}),ke=ae(me,[["__scopeId","data-v-e3a0055c"]]);export{ke as default};
|