Files
Lucky_Wheel/apps/admin/dist/assets/CampaignListView-CLT23C_L.js
T
2026-09-11 11:22:33 +03:30

2 lines
8.0 KiB
JavaScript

import{t as x,f as U}from"./farsi-number-stB7JMN0.js";import{d as H,j as X,a as _,b as n,c as a,w as s,e as i,i as K,m as I,r,h as D,g as J,o as u,f,B as Q,S as W,t as g,s as w,D as Z,G as tt,E as et,C as at,F as st,z as nt,q as b,M as ot,y as E,_ as it}from"./index-iu4REYcj.js";import{M as lt}from"./MoreOutlined-B9LhmUnJ.js";import{G as dt}from"./GiftOutlined-Du5L-j2h.js";import{P as ut}from"./PauseCircleOutlined-MyjHwEZJ.js";const ct={class:"campaign-list-page"},rt={class:"page-header-title"},pt={class:"table-header"},mt={class:"filters"},_t=["onClick"],gt={key:1,class:"slug-badge"},yt={key:4,class:"date-cell"},ft={key:5,class:"date-cell"},kt={key:6,class:"num-cell"},Ct={key:7,class:"num-cell"},vt=["href"],wt={class:"dropdown-action-item"},At={class:"dropdown-action-item"},ht={class:"dropdown-action-item"},St={class:"dropdown-action-item text-success"},xt={class:"dropdown-action-item text-warning"},It=H({__name:"CampaignListView",setup(Dt){const A=K(),h=D(!1),L=D([]),T=D(0),c=J({page:1,pageSize:10,status:void 0,search:""});async function k(){var l,t,p,y;h.value=!0;try{const d=await I.get("/admin/campaigns",{params:{page:c.page,pageSize:c.pageSize,status:c.status,search:c.search||void 0}}),m=Array.isArray(d.data)?d.data:((l=d.data)==null?void 0:l.data)||[];L.value=m,T.value=((t=d.meta)==null?void 0:t.total)||((y=(p=d.data)==null?void 0:p.meta)==null?void 0:y.total)||m.length}finally{h.value=!1}}async function V(l){try{await I.post(`/admin/campaigns/${l}/duplicate`),E.success("کمپین و جوایز آن با موفقیت کپی شدند."),k()}catch{}}function R(l){ot.confirm({title:"کپی‌برداری از کمپین",content:`آیا از کپی کردن کمپین «${l.title}» و تمام جوایز آن اطمینان دارید؟`,okText:"بله، کپی کن",cancelText:"انصراف",onOk:()=>V(l.id)})}async function z(l,t){var p,y;try{await I.patch(`/admin/campaigns/${l}`,{status:t}),E.success(t==="ACTIVE"?"کمپین با موفقیت فعال و منتشر شد.":"وضعیت کمپین تغییر یافت."),k()}catch(d){const m=((y=(p=d.response)==null?void 0:p.data)==null?void 0:y.message)||d.message||"خطا در تغییر وضعیت کمپین.";E.error(Array.isArray(m)?m.join(" | "):m)}}const M={CLASSIC:"کلاسیک",CLASSIC_CASINO:"کلاسیک کازینو",NEON:"نئون دیجیتال",NEON_CYBER:"نئون سایبر",MINIMAL:"مینیمال مدرن",MINIMAL_FLAT:"مینیمال فلت",LUXURY:"لاکچری طلایی",LUXURY_GOLD:"لاکچری طلایی",FESTIVAL:"جشنواره‌ای شاد",PLAYFUL_CARTOON:"کارتونی شاد"},P=[{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:"prizesCount",align:"center"},{title:"تعداد اسپین‌ها",key:"spinsCount",align:"center"},{title:"عملیات",key:"actions",width:70,align:"center"}];function S(l){switch(l){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:l}}}return X(()=>{k()}),(l,t)=>{const p=r("a-button"),y=r("a-input-search"),d=r("a-select-option"),m=r("a-select"),O=r("a-tag"),C=r("a-menu-item"),B=r("a-menu-divider"),G=r("a-menu"),Y=r("a-dropdown"),j=r("a-table"),q=r("a-card");return u(),_("div",ct,[n("div",rt,[t[4]||(t[4]=n("div",null,[n("h1",{class:"title"},"مدیریت کمپین‌ها"),n("p",{class:"subtitle"},"تعریف، پیکربندی و مدیریت رویدادهای گردونه شانس")],-1)),a(p,{type:"primary",size:"middle",class:"create-btn",onClick:t[0]||(t[0]=o=>i(A).push("/campaigns/create"))},{icon:s(()=>[a(i(Q))]),default:s(()=>[t[3]||(t[3]=f(" ایجاد کمپین جدید ",-1))]),_:1})]),a(q,{bordered:!1,class:"main-card"},{default:s(()=>[n("div",pt,[n("div",mt,[a(y,{value:c.search,"onUpdate:value":t[1]||(t[1]=o=>c.search=o),placeholder:"جستجوی عنوان یا اسلاگ...",style:{width:"270px"},allowClear:"",onSearch:k},{prefix:s(()=>[a(i(W),{style:{color:"#94a3b8","margin-left":"4px"}})]),_:1},8,["value"]),a(m,{value:c.status,"onUpdate:value":t[2]||(t[2]=o=>c.status=o),placeholder:"فیلتر وضعیت",allowClear:"",style:{width:"150px"},onChange:k},{default:s(()=>[a(d,{value:"DRAFT"},{default:s(()=>[...t[5]||(t[5]=[f("پیش‌نویس",-1)])]),_:1}),a(d,{value:"ACTIVE"},{default:s(()=>[...t[6]||(t[6]=[f("فعال",-1)])]),_:1}),a(d,{value:"PAUSED"},{default:s(()=>[...t[7]||(t[7]=[f("متوقف",-1)])]),_:1}),a(d,{value:"FINISHED"},{default:s(()=>[...t[8]||(t[8]=[f("پایان‌یافته",-1)])]),_:1})]),_:1},8,["value"])])]),a(j,{dataSource:L.value,columns:P,loading:h.value,rowKey:"id",size:"middle",pagination:{current:c.page,pageSize:c.pageSize,total:T.value,showTotal:o=>`مجموع: ${i(x)(o)} کمپین`,onChange:o=>{c.page=o,k()}}},{bodyCell:s(({column:o,record:e})=>{var N,$,F;return[o.key==="title"?(u(),_("span",{key:0,class:"campaign-title",onClick:v=>i(A).push(`/campaigns/${e.id}/edit`)},g(e.title),9,_t)):o.key==="slug"?(u(),_("code",gt,g(e.slug),1)):o.key==="wheelDesign"?(u(),w(O,{key:2,color:"purple",style:{"border-radius":"6px"}},{default:s(()=>[f(g(M[e.wheelDesign]||e.wheelDesign),1)]),_:2},1024)):o.key==="status"?(u(),w(O,{key:3,color:S(e.status).color,class:"status-tag"},{default:s(()=>[n("span",{class:"status-dot",style:Z({backgroundColor:S(e.status).dotColor})},null,4),f(" "+g(S(e.status).text),1)]),_:2},1032,["color"])):o.key==="startAt"?(u(),_("span",yt,g(i(x)(new Date(e.startAt).toLocaleDateString("fa-IR"))),1)):o.key==="endAt"?(u(),_("span",ft,g(i(x)(new Date(e.endAt).toLocaleDateString("fa-IR"))),1)):o.key==="prizesCount"?(u(),_("span",kt,g(i(U)(((N=e._count)==null?void 0:N.prizes)??((($=e.prizes)==null?void 0:$.length)||0))),1)):o.key==="spinsCount"?(u(),_("span",Ct,g(i(U)(((F=e._count)==null?void 0:F.spins)??0)),1)):o.key==="actions"?(u(),w(Y,{key:8,trigger:["click"],placement:"bottomLeft"},{overlay:s(()=>[a(G,{class:"action-dropdown-menu"},{default:s(()=>[a(C,{key:"view"},{default:s(()=>[n("a",{href:"http://localhost:5174/c/"+e.slug,target:"_blank",class:"dropdown-action-item"},[a(i(tt),{class:"dropdown-item-icon"}),t[9]||(t[9]=n("span",null,"مشاهده گردونه",-1))],8,vt)]),_:2},1024),a(C,{key:"edit",onClick:v=>i(A).push(`/campaigns/${e.id}/edit`)},{default:s(()=>[n("div",wt,[a(i(et),{class:"dropdown-item-icon"}),t[10]||(t[10]=n("span",null,"ویرایش اطلاعات",-1))])]),_:1},8,["onClick"]),a(C,{key:"prizes",onClick:v=>i(A).push(`/campaigns/${e.id}/prizes`)},{default:s(()=>[n("div",At,[a(i(dt),{class:"dropdown-item-icon"}),t[11]||(t[11]=n("span",null,"مدیریت جوایز",-1))])]),_:1},8,["onClick"]),a(C,{key:"duplicate",onClick:v=>R(e)},{default:s(()=>[n("div",ht,[a(i(at),{class:"dropdown-item-icon"}),t[12]||(t[12]=n("span",null,"کپی‌برداری",-1))])]),_:1},8,["onClick"]),e.status==="DRAFT"||e.status==="ACTIVE"||e.status==="PAUSED"?(u(),_(st,{key:0},[a(B),e.status==="DRAFT"||e.status==="PAUSED"?(u(),w(C,{key:"activate",onClick:v=>z(e.id,"ACTIVE")},{default:s(()=>[n("div",St,[a(i(nt),{class:"dropdown-item-icon"}),t[13]||(t[13]=n("span",null,"فعال‌سازی و انتشار",-1))])]),_:1},8,["onClick"])):e.status==="ACTIVE"?(u(),w(C,{key:"pause",onClick:v=>z(e.id,"PAUSED")},{default:s(()=>[n("div",xt,[a(i(ut),{class:"dropdown-item-icon"}),t[14]||(t[14]=n("span",null,"توقف موقت",-1))])]),_:1},8,["onClick"])):b("",!0)],64)):b("",!0)]),_:2},1024)]),default:s(()=>[a(p,{type:"text",shape:"circle",class:"action-more-btn",title:"عملیات"},{default:s(()=>[a(i(lt),{style:{"font-size":"18px"}})]),_:1})]),_:2},1024)):b("",!0)]}),_:1},8,["dataSource","loading","pagination"])]),_:1})])}}}),Ot=it(It,[["__scopeId","data-v-d90ae09e"]]);export{Ot as default};