Files
Lucky_Wheel/apps/admin/dist/assets/MPrizeListView-C8piSCMK.js
T

2 lines
8.9 KiB
JavaScript
Raw Normal View History

2026-09-15 17:26:42 +03:30
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",g