2 lines
9.6 KiB
JavaScript
2 lines
9.6 KiB
JavaScript
import{t as D,f as Y}from"./farsi-number-stB7JMN0.js";import{d as Q,l as tt,c,a as i,b as a,w as n,e as s,i as et,n as z,r as m,h as b,g as at,o as r,f as C,G as st,S as nt,t as _,y as x,H as ot,F as N,z as it,M as lt,J as rt,E as dt,C as ut,D as ct,x as O,K as pt,B as F,_ as mt}from"./index-BIHaUtqF.js";import{P as gt,g as _t,o as yt}from"./clientUrl-C7-rTR8N.js";import{G as Ct}from"./GiftOutlined-CRB-YJuc.js";function ft(d){if(!d)return"—";try{const p=new Date(d);if(isNaN(p.getTime()))return"—";const w=p.toLocaleDateString("fa-IR",{year:"numeric",month:"2-digit",day:"2-digit"}),y=p.toLocaleTimeString("fa-IR",{hour:"2-digit",minute:"2-digit"});return D(`${w} - ${y}`)}catch{return"—"}}const kt={PHYSICAL:{text:"فیزیکی",color:"blue"},DISCOUNT_CODE:{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"}};function B(d){return kt[d]||{text:d,color:"blue"}}function At(d){switch(d){case"ACTIVE":return{color:"green",dotColor:"#10b981",text:"فعال"};case"PAUSED":return{color:"orange",dotColor:"#f59e0b",text:"متوقف"};case"FINISHED":return{color:"red",dotColor:"#ef4444",text:"پایانیافته"};case"DRAFT":return{color:"gold",dotColor:"#d97706",text:"پیشنویس"};default:return{color:"default",dotColor:"#94a3b8",text:d}}}function vt(d){var y,I,S,u;const p=Array.isArray(d.data)?d.data:((y=d.data)==null?void 0:y.data)||[],w=((I=d.meta)==null?void 0:I.total)||((u=(S=d.data)==null?void 0:S.meta)==null?void 0:u.total)||p.length;return{items:p,total:w}}const xt={class:"campaign-list-page"},wt={class:"page-header-title"},It={class:"table-header"},St={class:"filters"},ht=["onClick"],Tt={key:1,class:"slug-badge"},Dt={key:4,class:"date-cell"},Et={key:5,class:"date-cell"},Lt={key:0,class:"prize-tags-container"},zt={key:1,class:"text-muted",style:{color:"#94a3b8","font-size":"12px"}},bt={key:7,class:"num-cell"},Nt={key:8,class:"num-cell"},Ot={class:"dropdown-action-item"},Ft={class:"dropdown-action-item"},Rt={class:"dropdown-action-item"},Ut={class:"dropdown-action-item"},$t={class:"dropdown-action-item text-success"},Pt={class:"dropdown-action-item text-warning"},Vt=Q({__name:"CampaignListView",setup(d){const p=et();function w(l){const t=_t(l);console.log("CLICKED WHEEL LINK:",t),yt(l)}const y=b(!1),I=b([]),S=b(0),u=at({page:1,pageSize:10,status:void 0,search:""});async function A(){y.value=!0;try{const l=await z.get("/admin/campaigns",{params:{page:u.page,pageSize:u.pageSize,status:u.status,search:u.search||void 0}}),{items:t,total:f}=vt(l);I.value=t,S.value=f}finally{y.value=!1}}async function H(l){try{await z.post(`/admin/campaigns/${l}/duplicate`),F.success("کمپین و جوایز آن با موفقیت کپی شدند."),A()}catch{}}function G(l){pt.confirm({title:"کپیبرداری از کمپین",content:`آیا از کپی کردن کمپین «${l.title}» و تمام جوایز آن اطمینان دارید؟`,okText:"بله، کپی کن",cancelText:"انصراف",onOk:()=>H(l.id)})}async function R(l,t){var f,T;try{await z.patch(`/admin/campaigns/${l}`,{status:t}),F.success(t==="ACTIVE"?"کمپین با موفقیت فعال و منتشر شد.":"وضعیت کمپین تغییر یافت."),A()}catch(k){const h=((T=(f=k.response)==null?void 0:f.data)==null?void 0:T.message)||k.message||"خطا در تغییر وضعیت کمپین.";F.error(Array.isArray(h)?h.join(" | "):h)}}const K={CLASSIC:"کلاسیک",CLASSIC_CASINO:"کلاسیک کازینو",NEON:"نئون دیجیتال",NEON_CYBER:"نئون سایبر",MINIMAL:"مینیمال مدرن",MINIMAL_FLAT:"مینیمال فلت",LUXURY:"لاکچری طلایی",LUXURY_GOLD:"لاکچری طلایی",FESTIVAL:"جشنوارهای شاد",PLAYFUL_CARTOON:"کارتونی شاد",RUSTIC_WOOD:"چوبی",GALAXY_SPACE:"کهکشانی",CANDY_LAND:"آبنباتی",FIRE_FLAME:"آتشین",CRYSTAL_ICE:"یخی"};function U(l){return Array.isArray(l.prizeTypes)&&l.prizeTypes.length?l.prizeTypes:Array.isArray(l.prizes)?Array.from(new Set(l.prizes.map(t=>t.type).filter(Boolean))):[]}const W=[{title:"عنوان کمپین",dataIndex:"title",key:"title"},{title:"اسلاگ (URL)",dataIndex:"slug",key:"slug"},{title:"طرح گردونه",dataIndex:"wheelDesign",key:"wheelDesign"},{title:"وضعیت",dataIndex:"status",key:"status"},{title:"تاریخ و ساعت شروع",dataIndex:"startAt",key:"startAt"},{title:"تاریخ و ساعت پایان",dataIndex:"endAt",key:"endAt"},{title:"نوع جوایز",key:"prizeTypes"},{title:"تعداد جوایز",key:"prizesCount",align:"center"},{title:"تعداد اسپینها",key:"spinsCount",align:"center"},{title:"عملیات",key:"actions",width:70,align:"center"}],E=At,$=ft;return tt(()=>{A()}),(l,t)=>{const f=m("a-button"),T=m("a-input-search"),k=m("a-select-option"),h=m("a-select"),L=m("a-tag"),v=m("a-menu-item"),X=m("a-menu-divider"),q=m("a-menu"),J=m("a-dropdown"),j=m("a-table"),Z=m("a-card");return r(),c("div",xt,[i("div",wt,[t[4]||(t[4]=i("div",null,[i("h1",{class:"title"},"مدیریت کمپینها"),i("p",{class:"subtitle"},"تعریف، پیکربندی و مدیریت رویدادهای گردونه شانس")],-1)),a(f,{type:"primary",size:"middle",class:"create-btn",onClick:t[0]||(t[0]=o=>s(p).push("/campaigns/create"))},{icon:n(()=>[a(s(st))]),default:n(()=>[t[3]||(t[3]=C(" ایجاد کمپین جدید ",-1))]),_:1})]),a(Z,{bordered:!1,class:"main-card"},{default:n(()=>[i("div",It,[i("div",St,[a(T,{value:u.search,"onUpdate:value":t[1]||(t[1]=o=>u.search=o),placeholder:"جستجوی عنوان یا اسلاگ...",style:{width:"270px"},allowClear:"",onSearch:A},{prefix:n(()=>[a(s(nt),{style:{color:"#94a3b8","margin-left":"4px"}})]),_:1},8,["value"]),a(h,{value:u.status,"onUpdate:value":t[2]||(t[2]=o=>u.status=o),placeholder:"فیلتر وضعیت",allowClear:"",style:{width:"150px"},onChange:A},{default:n(()=>[a(k,{value:"DRAFT"},{default:n(()=>[...t[5]||(t[5]=[C("پیشنویس",-1)])]),_:1}),a(k,{value:"ACTIVE"},{default:n(()=>[...t[6]||(t[6]=[C("فعال",-1)])]),_:1}),a(k,{value:"PAUSED"},{default:n(()=>[...t[7]||(t[7]=[C("متوقف",-1)])]),_:1}),a(k,{value:"FINISHED"},{default:n(()=>[...t[8]||(t[8]=[C("پایانیافته",-1)])]),_:1})]),_:1},8,["value"])])]),a(j,{dataSource:I.value,columns:W,loading:y.value,rowKey:"id",size:"middle",pagination:{current:u.page,pageSize:u.pageSize,total:S.value,showTotal:o=>`مجموع: ${s(D)(o)} کمپین`,onChange:o=>{u.page=o,A()}}},{bodyCell:n(({column:o,record:e})=>{var P,V,M;return[o.key==="title"?(r(),c("span",{key:0,class:"campaign-title",onClick:g=>s(p).push(`/campaigns/${e.id}/edit`)},_(e.title),9,ht)):o.key==="slug"?(r(),c("code",Tt,_(e.slug),1)):o.key==="wheelDesign"?(r(),x(L,{key:2,color:"purple",style:{"border-radius":"6px"}},{default:n(()=>[C(_(K[e.wheelDesign]||e.wheelDesign),1)]),_:2},1024)):o.key==="status"?(r(),x(L,{key:3,color:s(E)(e.status).color,class:"status-tag"},{default:n(()=>[i("span",{class:"status-dot",style:ot({backgroundColor:s(E)(e.status).dotColor})},null,4),C(" "+_(s(E)(e.status).text),1)]),_:2},1032,["color"])):o.key==="startAt"?(r(),c("span",Dt,_(e.startAtFormatted?s(D)(e.startAtFormatted):s($)(e.startAt)),1)):o.key==="endAt"?(r(),c("span",Et,_(e.endAtFormatted?s(D)(e.endAtFormatted):s($)(e.endAt)),1)):o.key==="prizeTypes"?(r(),c(N,{key:6},[U(e).length?(r(),c("div",Lt,[(r(!0),c(N,null,it(U(e),g=>(r(),x(L,{key:g,color:s(B)(g).color,style:{margin:"2px","border-radius":"4px","font-size":"11px"}},{default:n(()=>[C(_(s(B)(g).text),1)]),_:2},1032,["color"]))),128))])):(r(),c("span",zt,"تعریفنشده"))],64)):o.key==="prizesCount"?(r(),c("span",bt,_(s(Y)(((P=e._count)==null?void 0:P.prizes)??(((V=e.prizes)==null?void 0:V.length)||0))),1)):o.key==="spinsCount"?(r(),c("span",Nt,_(s(Y)(((M=e._count)==null?void 0:M.spins)??0)),1)):o.key==="actions"?(r(),x(J,{key:9,trigger:["click"],placement:"bottomLeft"},{overlay:n(()=>[a(q,{class:"action-dropdown-menu"},{default:n(()=>[a(v,{key:"view",onClick:g=>w(e.slug)},{default:n(()=>[i("div",Ot,[a(s(rt),{class:"dropdown-item-icon"}),t[9]||(t[9]=i("span",null,"مشاهده گردونه",-1))])]),_:1},8,["onClick"]),a(v,{key:"edit",onClick:g=>s(p).push(`/campaigns/${e.id}/edit`)},{default:n(()=>[i("div",Ft,[a(s(dt),{class:"dropdown-item-icon"}),t[10]||(t[10]=i("span",null,"ویرایش اطلاعات",-1))])]),_:1},8,["onClick"]),a(v,{key:"prizes",onClick:g=>s(p).push(`/campaigns/${e.id}/prizes`)},{default:n(()=>[i("div",Rt,[a(s(Ct),{class:"dropdown-item-icon"}),t[11]||(t[11]=i("span",null,"مدیریت جوایز",-1))])]),_:1},8,["onClick"]),a(v,{key:"duplicate",onClick:g=>G(e)},{default:n(()=>[i("div",Ut,[a(s(ut),{class:"dropdown-item-icon"}),t[12]||(t[12]=i("span",null,"کپیبرداری",-1))])]),_:1},8,["onClick"]),e.status==="DRAFT"||e.status==="ACTIVE"||e.status==="PAUSED"?(r(),c(N,{key:0},[a(X),e.status==="DRAFT"||e.status==="PAUSED"?(r(),x(v,{key:"activate",onClick:g=>R(e.id,"ACTIVE")},{default:n(()=>[i("div",$t,[a(s(ct),{class:"dropdown-item-icon"}),t[13]||(t[13]=i("span",null,"فعالسازی و انتشار",-1))])]),_:1},8,["onClick"])):e.status==="ACTIVE"?(r(),x(v,{key:"pause",onClick:g=>R(e.id,"PAUSED")},{default:n(()=>[i("div",Pt,[a(s(gt),{class:"dropdown-item-icon"}),t[14]||(t[14]=i("span",null,"توقف موقت",-1))])]),_:1},8,["onClick"])):O("",!0)],64)):O("",!0)]),_:2},1024)]),default:n(()=>[a(f,{type:"text",shape:"circle",class:"action-more-btn",title:"عملیات"},{default:n(()=>[a(s(lt),{style:{"font-size":"18px"}})]),_:1})]),_:2},1024)):O("",!0)]}),_:1},8,["dataSource","loading","pagination"])]),_:1})])}}}),Gt=mt(Vt,[["__scopeId","data-v-bd3d8160"]]);export{Gt as default};
|