2 lines
8.9 KiB
JavaScript
2 lines
8.9 KiB
JavaScript
import{f as L,p as E,t as K}from"./farsi-number-stB7JMN0.js";import{d as tt,h as v,l as et,c as k,a as s,t as m,b as l,e as g,R as at,s as w,w as i,D as lt,Q as nt,n as I,r as c,g as B,o as f,F as it,y as st,f as r,x as H,z as _,G as ot,E as ut,X as rt,J as dt,Z as pt,_ as ct}from"./index-C4s_T2hP.js";const mt={class:"m-page"},vt={key:0,class:"m-banner"},gt={class:"m-banner__title"},ft={key:0,class:"m-empty"},_t={class:"m-prize-card__body"},yt={class:"m-prize-card__top"},kt={class:"m-prize-card__title"},It={class:"m-prize-card__meta"},Ct={class:"m-prize-card__meta"},Tt={class:"m-prize-card__actions"},bt=["onClick"],St=["onClick"],zt=["onClick"],Et=tt({__name:"MPrizeListView",setup(wt){const Z=nt(),C=v(Z.params.campaignId||""),V=v(null),T=v(!1),b=v([]),S=v(!1),D=v(!1),y=v(!1),O=v(null),e=B({title:"",description:"",type:"DISCOUNT_CODE",stockType:"LIMITED",initialStock:100,remainingStock:100,weight:10,segmentColor:"#FF6B6B",sortOrder:1,status:"ACTIVE"}),o=B({prizeId:"",prizeTitle:"",currentStock:0,change:0,reason:""}),P=pt(()=>b.value.reduce((n,t)=>n+(t.status==="ACTIVE"||t.isActive?t.weight:0),0));async function h(){if(!C.value)return;const n=await I.get(`/admin/campaigns/${C.value}`);V.value=n.data}async function z(){var n;if(C.value){T.value=!0;try{const t=await I.get(`/admin/campaigns/${C.value}/prizes`);b.value=Array.isArray(t.data)?t.data:((n=t.data)==null?void 0:n.data)||[]}finally{T.value=!1}}}function j(){O.value=null,Object.assign(e,{title:"",description:"",type:"DISCOUNT_CODE",stockType:"LIMITED",initialStock:100,remainingStock:100,weight:10,segmentColor:"#3880ff",sortOrder:b.value.length+1,status:"ACTIVE"}),S.value=!0}function Y(n){O.value=n.id,e.title=n.title,e.description=n.description||"",e.type=n.type||"DISCOUNT_CODE",e.stockType=n.stockType||"LIMITED",e.initialStock=n.initialStock??100,e.remainingStock=n.remainingStock??100,e.weight=n.weight??10,e.segmentColor=n.segmentColor||n.color||"#3880ff",e.sortOrder=n.sortOrder??1,e.status=n.status||"ACTIVE",S.value=!0}function q(n){o.prizeId=n.id,o.prizeTitle=n.title,o.currentStock=n.remainingStock,o.change=0,o.reason="",D.value=!0}async function G(){var n,t,U,A;if(!((n=e.title)!=null&&n.trim())){_.error("عنوان جایزه الزامی است");return}y.value=!0;try{e.type==="NO_PRIZE"&&(e.stockType="UNLIMITED");const d={title:e.title.trim(),description:((t=e.description)==null?void 0:t.trim())||void 0,type:e.type,stockType:e.stockType,weight:E(e.weight,1)||1,segmentColor:e.segmentColor,sortOrder:E(e.sortOrder,1)||1,status:e.status};e.stockType==="LIMITED"&&(d.initialStock=E(e.initialStock,1),d.remainingStock=E(e.remainingStock,d.initialStock)),O.value?(await I.patch(`/admin/prizes/${O.value}`,d),_.success("جایزه بهروزرسانی شد")):(await I.post(`/admin/campaigns/${C.value}/prizes`,d),_.success("جایزه ایجاد شد")),S.value=!1,z()}catch(d){const u=((A=(U=d.response)==null?void 0:U.data)==null?void 0:A.message)||"خطا در ثبت جایزه";_.error(Array.isArray(u)?u.join(" | "):u)}finally{y.value=!1}}async function J(){const n=E(o.change,0);if(!n){_.warning("میزان تغییر نباید صفر باشد");return}y.value=!0;try{await I.patch(`/admin/prizes/${o.prizeId}/stock`,{change:n,reason:o.reason||void 0}),_.success("موجودی تغییر کرد"),D.value=!1,z()}finally{y.value=!1}}function Q(n){dt.confirm({title:"حذف جایزه",content:`جایزه «${n.title}» حذف شود؟`,okText:"حذف",okType:"danger",cancelText:"انصراف",onOk:async()=>{await I.delete(`/admin/prizes/${n.id}`),_.success("حذف شد"),z()}})}function W(n){return{PHYSICAL:"فیزیکی",DISCOUNT_CODE:"کد تخفیف",CREDIT:"اعتبار",CASH:"نقدی",NO_PRIZE:"پوچ",OTHER:"سایر"}[n]||n}function X(n){return P.value?K((n.weight/P.value*100).toFixed(1)):"۰"}return et(()=>{h(),z()}),(n,t)=>{const U=c("a-tag"),A=c("a-spin"),d=c("a-input"),u=c("a-form-item"),p=c("a-select-option"),M=c("a-select"),N=c("a-input-number"),x=c("a-button"),F=c("a-form"),R=c("a-drawer");return f(),k("div",mt,[V.value?(f(),k("div",vt,[s("div",null,[s("div",gt,m(V.value.title),1),t[12]||(t[12]=s("div",{class:"m-banner__sub"},"مدیریت جوایز کمپین",-1))]),s("button",{type:"button",class:"m-icon-btn",onClick:z},[l(g(at),{spin:T.value},null,8,["spin"])])])):w("",!0),l(A,{spinning:T.value},{default:i(()=>[!b.value.length&&!T.value?(f(),k("div",ft,"هنوز جایزهای تعریف نشده")):w("",!0),(f(!0),k(it,null,st(b.value,a=>(f(),k("div",{key:a.id,class:"m-prize-card"},[s("div",{class:"m-prize-card__color",style:ot({background:a.segmentColor||a.color||"#4f46e5"})},null,4),s("div",_t,[s("div",yt,[s("div",kt,m(a.title),1),l(U,{color:a.status==="ACTIVE"||a.isActive?"green":"default"},{default:i(()=>[r(m(a.status==="ACTIVE"||a.isActive?"فعال":"غیرفعال"),1)]),_:2},1032,["color"])]),s("div",It,m(W(a.type))+" · وزن "+m(g(L)(a.weight))+" ("+m(X(a))+"٪) ",1),s("div",Ct," موجودی: "+m(a.stockType==="UNLIMITED"?"نامحدود":g(L)(a.remainingStock??0)+" / "+g(L)(a.initialStock??0)),1),s("div",Tt,[s("button",{type:"button",class:"m-action",onClick:$=>Y(a)},[l(g(ut)),t[13]||(t[13]=r(" ویرایش",-1))],8,bt),a.stockType!=="UNLIMITED"?(f(),k("button",{key:0,type:"button",class:"m-action",onClick:$=>q(a)}," موجودی ",8,St)):w("",!0),s("button",{type:"button",class:"m-action danger",onClick:$=>Q(a)},[l(g(rt))],8,zt)])])]))),128))]),_:1},8,["spinning"]),s("button",{type:"button",class:"m-fab",onClick:j},[l(g(lt))]),l(R,{open:S.value,"onUpdate:open":t[8]||(t[8]=a=>S.value=a),placement:"bottom",height:"85%",title:"جایزه",closable:!0},{default:i(()=>[l(F,{layout:"vertical"},{default:i(()=>[l(u,{label:"عنوان",required:""},{default:i(()=>[l(d,{value:e.title,"onUpdate:value":t[0]||(t[0]=a=>e.title=a),size:"large"},null,8,["value"])]),_:1}),l(u,{label:"نوع"},{default:i(()=>[l(M,{value:e.type,"onUpdate:value":t[1]||(t[1]=a=>e.type=a),size:"large",style:{width:"100%"}},{default:i(()=>[l(p,{value:"DISCOUNT_CODE"},{default:i(()=>[...t[14]||(t[14]=[r("کد تخفیف",-1)])]),_:1}),l(p,{value:"PHYSICAL"},{default:i(()=>[...t[15]||(t[15]=[r("فیزیکی",-1)])]),_:1}),l(p,{value:"CREDIT"},{default:i(()=>[...t[16]||(t[16]=[r("اعتبار",-1)])]),_:1}),l(p,{value:"CASH"},{default:i(()=>[...t[17]||(t[17]=[r("نقدی",-1)])]),_:1}),l(p,{value:"NO_PRIZE"},{default:i(()=>[...t[18]||(t[18]=[r("پوچ",-1)])]),_:1}),l(p,{value:"OTHER"},{default:i(()=>[...t[19]||(t[19]=[r("سایر",-1)])]),_:1})]),_:1},8,["value"])]),_:1}),l(u,{label:"نوع موجودی"},{default:i(()=>[l(M,{value:e.stockType,"onUpdate:value":t[2]||(t[2]=a=>e.stockType=a),size:"large",style:{width:"100%"}},{default:i(()=>[l(p,{value:"LIMITED"},{default:i(()=>[...t[20]||(t[20]=[r("محدود",-1)])]),_:1}),l(p,{value:"UNLIMITED"},{default:i(()=>[...t[21]||(t[21]=[r("نامحدود",-1)])]),_:1})]),_:1},8,["value"])]),_:1}),e.stockType==="LIMITED"?(f(),H(u,{key:0,label:"موجودی اولیه"},{default:i(()=>[l(N,{value:e.initialStock,"onUpdate:value":t[3]||(t[3]=a=>e.initialStock=a),min:0,size:"large",style:{width:"100%"}},null,8,["value"])]),_:1})):w("",!0),e.stockType==="LIMITED"?(f(),H(u,{key:1,label:"موجودی مانده"},{default:i(()=>[l(N,{value:e.remainingStock,"onUpdate:value":t[4]||(t[4]=a=>e.remainingStock=a),min:0,size:"large",style:{width:"100%"}},null,8,["value"])]),_:1})):w("",!0),l(u,{label:"وزن"},{default:i(()=>[l(N,{value:e.weight,"onUpdate:value":t[5]||(t[5]=a=>e.weight=a),min:1,size:"large",style:{width:"100%"}},null,8,["value"])]),_:1}),l(u,{label:"رنگ سگمنت"},{default:i(()=>[l(d,{value:e.segmentColor,"onUpdate:value":t[6]||(t[6]=a=>e.segmentColor=a),type:"color",style:{width:"100%",height:"44px"}},null,8,["value"])]),_:1}),l(u,{label:"وضعیت"},{default:i(()=>[l(M,{value:e.status,"onUpdate:value":t[7]||(t[7]=a=>e.status=a),size:"large",style:{width:"100%"}},{default:i(()=>[l(p,{value:"ACTIVE"},{default:i(()=>[...t[22]||(t[22]=[r("فعال",-1)])]),_:1}),l(p,{value:"INACTIVE"},{default:i(()=>[...t[23]||(t[23]=[r("غیرفعال",-1)])]),_:1})]),_:1},8,["value"])]),_:1}),l(x,{type:"primary",block:"",size:"large",loading:y.value,onClick:G},{default:i(()=>[...t[24]||(t[24]=[r(" ذخیره ",-1)])]),_:1},8,["loading"])]),_:1})]),_:1},8,["open"]),l(R,{open:D.value,"onUpdate:open":t[11]||(t[11]=a=>D.value=a),placement:"bottom",height:360,title:"تغییر موجودی"},{default:i(()=>[s("p",null,m(o.prizeTitle)+" — فعلی: "+m(g(L)(o.currentStock)),1),l(F,{layout:"vertical"},{default:i(()=>[l(u,{label:"میزان تغییر (+/-)"},{default:i(()=>[l(N,{value:o.change,"onUpdate:value":t[9]||(t[9]=a=>o.change=a),size:"large",style:{width:"100%"}},null,8,["value"])]),_:1}),l(u,{label:"دلیل"},{default:i(()=>[l(d,{value:o.reason,"onUpdate:value":t[10]||(t[10]=a=>o.reason=a),size:"large"},null,8,["value"])]),_:1}),l(x,{type:"primary",block:"",size:"large",loading:y.value,onClick:J},{default:i(()=>[...t[25]||(t[25]=[r(" اعمال ",-1)])]),_:1},8,["loading"])]),_:1})]),_:1},8,["open"])])}}}),Ut=ct(Et,[["__scopeId","data-v-14adecb4"]]);export{Ut as default};
|