2 lines
7.0 KiB
JavaScript
2 lines
7.0 KiB
JavaScript
import{d as $,l as q,O as A,c as F,b as t,w as s,Q as P,h as b,g as W,n as k,r as i,o as w,a as u,N as S,q as T,v as U,f,F as j,y as G,x as I,s as X,t as N,i as Q,z as _,_ as H}from"./index-C4s_T2hP.js";import{W as r}from"./index-NN61KtzX.js";const J={class:"m-form-page"},K={class:"m-steps"},Z={class:"m-card"},ee={class:"m-card"},ae={class:"m-card"},te={class:"m-wheel-grid"},le=["onClick"],se={class:"m-form-actions"},ne=$({__name:"MCampaignFormView",setup(oe){const L=P(),z=Q(),R=b(!1),C=b(null),h=b(!1),D=b(!1),n=b(0),e=W({title:"",slug:"",description:"",banner:"",logo:"",dateRange:[],status:"DRAFT",defaultChances:3,rules:"",ctaText:"بچرخون و برنده شو!",wheelDesign:r.CLASSIC_CASINO,primaryColor:"#FFD700",secondaryColor:"#B22222"}),O=[{value:r.CLASSIC_CASINO,label:"کازینویی کلاسیک"},{value:r.NEON_CYBER,label:"نئونی سایبر"},{value:r.MINIMAL_FLAT,label:"مینیمال فلت"},{value:r.LUXURY_GOLD,label:"طلایی لوکس"},{value:r.PLAYFUL_CARTOON,label:"کارتونی"},{value:r.RUSTIC_WOOD,label:"چوبی"},{value:r.GALAXY_SPACE,label:"کهکشانی"},{value:r.CANDY_LAND,label:"آبنباتی"},{value:r.FIRE_FLAME,label:"آتشین"},{value:r.CRYSTAL_ICE,label:"یخی"}];async function E(){if(C.value){h.value=!0;try{const a=(await k.get(`/admin/campaigns/${C.value}`)).data;e.title=a.title,e.slug=a.slug,e.description=a.description||"",e.banner=a.banner||"",e.logo=a.logo||"",e.status=a.status,e.defaultChances=a.defaultChances,e.rules=a.rules||"",e.ctaText=a.ctaText||"بچرخون و برنده شو!",e.wheelDesign=a.wheelDesign,e.dateRange=[A(a.startAt),A(a.endAt)],a.settings&&(e.primaryColor=a.settings.primaryColor||"#FFD700",e.secondaryColor=a.settings.secondaryColor||"#B22222")}finally{h.value=!1}}}function M(){var d,a;if(n.value===0){if(!((d=e.title)!=null&&d.trim())){_.error("عنوان کمپین را وارد کنید");return}(a=e.slug)!=null&&a.trim()||(e.slug="campaign-"+Math.random().toString(36).substring(2,8))}if(n.value===1&&(!e.dateRange||e.dateRange.length<2)){_.error("بازه زمانی را انتخاب کنید");return}n.value+=1}async function B(){var a,v,o,y,m;let d=(e.slug||"").trim().toLowerCase().replace(/\s+/g,"-");if(d||(d="campaign-"+Math.random().toString(36).substring(2,8)),e.slug=d,!/^[a-z0-9-]+$/.test(d)){_.error("اسلاگ فقط حروف انگلیسی، عدد و -");return}D.value=!0;try{const c={title:e.title.trim(),slug:e.slug.trim(),description:((a=e.description)==null?void 0:a.trim())||void 0,banner:e.banner?e.banner.trim():null,logo:e.logo?e.logo.trim():null,startAt:e.dateRange[0].toISOString(),endAt:e.dateRange[1].toISOString(),status:e.status,defaultChances:Number(e.defaultChances)||0,rules:((v=e.rules)==null?void 0:v.trim())||void 0,ctaText:e.ctaText||"بچرخون و برنده شو!",wheelDesign:e.wheelDesign,settings:{primaryColor:e.primaryColor,secondaryColor:e.secondaryColor}};if(R.value&&C.value)await k.patch(`/admin/campaigns/${C.value}`,c),_.success("کمپین بهروزرسانی شد"),z.push("/m/campaigns");else{const p=await k.post("/admin/campaigns",c);_.success("کمپین ایجاد شد");const g=(o=p.data)==null?void 0:o.id;z.push(g?`/m/campaigns/${g}/prizes`:"/m/campaigns")}}catch(c){const p=((m=(y=c.response)==null?void 0:y.data)==null?void 0:m.message)||"خطا در ذخیره";_.error(Array.isArray(p)?p.join(" | "):p)}finally{D.value=!1}}return q(()=>{L.params.id?(R.value=!0,C.value=L.params.id,E()):e.dateRange=[A(),A().add(1,"month")]}),(d,a)=>{const v=i("a-input"),o=i("a-form-item"),y=i("a-textarea"),m=i("a-select-option"),c=i("a-select"),p=i("a-input-number"),g=i("a-form"),V=i("a-range-picker"),x=i("a-button"),Y=i("a-spin");return w(),F("div",J,[t(Y,{spinning:h.value},{default:s(()=>[u("div",K,[u("div",{class:S(["m-step",{active:n.value===0,done:n.value>0}])},"۱. پایه",2),u("div",{class:S(["m-step",{active:n.value===1,done:n.value>1}])},"۲. زمان",2),u("div",{class:S(["m-step",{active:n.value===2}])},"۳. ظاهر",2)]),T(u("div",Z,[t(g,{layout:"vertical"},{default:s(()=>[t(o,{label:"عنوان کمپین",required:""},{default:s(()=>[t(v,{value:e.title,"onUpdate:value":a[0]||(a[0]=l=>e.title=l),size:"large",placeholder:"مثلاً جشنواره نوروز"},null,8,["value"])]),_:1}),t(o,{label:"اسلاگ (URL)"},{default:s(()=>[t(v,{value:e.slug,"onUpdate:value":a[1]||(a[1]=l=>e.slug=l),size:"large",placeholder:"nowruz-2026",dir:"ltr"},null,8,["value"])]),_:1}),t(o,{label:"توضیحات"},{default:s(()=>[t(y,{value:e.description,"onUpdate:value":a[2]||(a[2]=l=>e.description=l),rows:3},null,8,["value"])]),_:1}),t(o,{label:"وضعیت"},{default:s(()=>[t(c,{value:e.status,"onUpdate:value":a[3]||(a[3]=l=>e.status=l),size:"large",style:{width:"100%"}},{default:s(()=>[t(m,{value:"DRAFT"},{default:s(()=>[...a[11]||(a[11]=[f("پیشنویس",-1)])]),_:1}),t(m,{value:"ACTIVE"},{default:s(()=>[...a[12]||(a[12]=[f("فعال",-1)])]),_:1}),t(m,{value:"PAUSED"},{default:s(()=>[...a[13]||(a[13]=[f("متوقف",-1)])]),_:1})]),_:1},8,["value"])]),_:1}),t(o,{label:"شانس پیشفرض"},{default:s(()=>[t(p,{value:e.defaultChances,"onUpdate:value":a[4]||(a[4]=l=>e.defaultChances=l),min:0,size:"large",style:{width:"100%"}},null,8,["value"])]),_:1})]),_:1})],512),[[U,n.value===0]]),T(u("div",ee,[t(g,{layout:"vertical"},{default:s(()=>[t(o,{label:"بازه زمانی",required:""},{default:s(()=>[t(V,{value:e.dateRange,"onUpdate:value":a[5]||(a[5]=l=>e.dateRange=l),"show-time":"",size:"large",style:{width:"100%"}},null,8,["value"])]),_:1}),t(o,{label:"متن دکمه CTA"},{default:s(()=>[t(v,{value:e.ctaText,"onUpdate:value":a[6]||(a[6]=l=>e.ctaText=l),size:"large"},null,8,["value"])]),_:1}),t(o,{label:"قوانین"},{default:s(()=>[t(y,{value:e.rules,"onUpdate:value":a[7]||(a[7]=l=>e.rules=l),rows:4},null,8,["value"])]),_:1})]),_:1})],512),[[U,n.value===1]]),T(u("div",ae,[t(g,{layout:"vertical"},{default:s(()=>[t(o,{label:"طرح گردونه"},{default:s(()=>[u("div",te,[(w(),F(j,null,G(O,l=>u("button",{key:l.value,type:"button",class:S(["m-wheel-opt",{active:e.wheelDesign===l.value}]),onClick:re=>e.wheelDesign=l.value},N(l.label),11,le)),64))])]),_:1}),t(o,{label:"رنگ اصلی"},{default:s(()=>[t(v,{value:e.primaryColor,"onUpdate:value":a[8]||(a[8]=l=>e.primaryColor=l),type:"color",style:{width:"100%",height:"44px"}},null,8,["value"])]),_:1}),t(o,{label:"رنگ ثانویه"},{default:s(()=>[t(v,{value:e.secondaryColor,"onUpdate:value":a[9]||(a[9]=l=>e.secondaryColor=l),type:"color",style:{width:"100%",height:"44px"}},null,8,["value"])]),_:1})]),_:1})],512),[[U,n.value===2]]),u("div",se,[n.value>0?(w(),I(x,{key:0,size:"large",block:"",onClick:a[10]||(a[10]=l=>n.value-=1)},{default:s(()=>[...a[14]||(a[14]=[f("قبلی",-1)])]),_:1})):X("",!0),n.value<2?(w(),I(x,{key:1,type:"primary",size:"large",block:"",onClick:M},{default:s(()=>[...a[15]||(a[15]=[f(" بعدی ",-1)])]),_:1})):(w(),I(x,{key:2,type:"primary",size:"large",block:"",loading:D.value,onClick:B},{default:s(()=>[f(N(R.value?"ذخیره تغییرات":"ایجاد کمپین"),1)]),_:1},8,["loading"]))])]),_:1},8,["spinning"])])}}}),de=H(ne,[["__scopeId","data-v-c3ce5e92"]]);export{de as default};
|