2 lines
26 KiB
JavaScript
2 lines
26 KiB
JavaScript
import{B as T}from"./DAaUah2x.js";import{d as Q,H as Y,l as ae,z as g,A as D,a3 as _,K as t,B as a,F as z,C as d,D as n,T as k,Q as C,J as X,I as we,r as E,a0 as De,o as oe,G as x,E as c,a1 as ne,a2 as le,al as Ce,S as N,af as A,ef as ue,eg as Ne,eh as Ue,dx as Fe,u as ze,ei as Te,ej as Be,ek as $e}from"./CE4SaZgW.js";import{B as Le}from"./g9otGdDE.js";import{u as Pe}from"./GIvwLoBE.js";import{_ as Z}from"./DlAUqK2U.js";import{_ as Re}from"./LnMFAdTT.js";import{s as je}from"./B8aja29o.js";import"./C_1pJ-hg.js";import{_ as Ie}from"./DvWNwIUf.js";import{B as H}from"./5PiJbsaQ.js";import{B as ee}from"./Cc4_J5On.js";import{g as Ee}from"./C18jMsoU.js";import{a as M}from"./n0DUIre6.js";import{g as Oe}from"./73mfAfc8.js";import{B as te,a as se}from"./Cka_Guai.js";import{d as re,F as Ae}from"./C6Lfa4XD.js";import{S as Me,a as He}from"./BKreu5to.js";import"./C3szrT99.js";import{_ as Ve,R as qe}from"./BTQNEIGx.js";import{S as de}from"./ssSX8W6r.js";import{_ as ie}from"./DSWAPs-i.js";import{_ as Je}from"./CWhMemCQ.js";import{F as Ge}from"./DQtr8B_M.js";import{o as Ke}from"./B2FuliQW.js";import"./CscEAC8U.js";import"./C9-mKqzf.js";import"./CjPHwh7J.js";import"./cA5fh2lg.js";import"./BD2G5fvF.js";import"./B2MUeQ_z.js";import"./BQKhYWGC.js";import"./ogsyABxJ.js";import"./PGC92_Sj.js";import"./DFL6LqjW.js";import"./0N7JoioX.js";import"./CDDBg3Y_.js";import"./Dmy9LQHx.js";import"./Cq497dur.js";import"./CE1G-McA.js";import"./Bgie9YSn.js";import"./UfKM_8Ux.js";import"./F7ppGFOP.js";import"./BA2sMwRy.js";import"./Cz6oeCNy.js";import"./BK6U06JP.js";import"./B5RoG9wW.js";import"./Cj99RmFE.js";import"./B0tUBnBT.js";import"./DZnIL_2I.js";import"./CxZINpjh.js";import"./D-bUn136.js";import"./COAIJs56.js";import"./DdTQqoBP.js";import"./CxVR7ht-.js";import"./CCrciQyb.js";import"./D_wgKPen.js";import"./DjvBa-1E.js";import"./PbouHhtI.js";const Qe={class:"absolute top-3 start-3 z-10"},Ye={key:0,class:"absolute top-3 end-3 z-10 flex items-center gap-2"},Ze={class:"p-4 pt-12"},We={class:"flex items-start justify-between mb-4"},Xe={class:"flex-1"},et={class:"flex items-center gap-2 flex-wrap"},tt={class:"flex-shrink-0 ms-3"},st={class:"flex items-center justify-between"},rt={class:"grid grid-cols-2 gap-3 mb-4"},it={class:"flex items-center gap-2 mb-1"},at={class:"flex items-center gap-2 mb-1"},ot={class:"flex items-center gap-2"},nt={class:"text-sm font-medium"},lt={class:"text-xs opacity-75"},ut={class:"flex items-center justify-between text-sm"},dt={key:1,class:"absolute bottom-0 start-0 right-0 h-1 bg-gradient-to-r from-orange-500 via-red-500 to-pink-500"},ct=Q({__name:"DiscountCard",props:{item:{},hasFunction:{type:Boolean,default:!0}},emits:["edit","delete"],setup(V,{emit:v}){const e=Y(),$=V,B=v,r=o=>{if(!o)return"-";try{const u=new Date(o);return e.lang==="fa"?new Intl.DateTimeFormat("fa-IR").format(u):new Intl.DateTimeFormat("en-US",{year:"numeric",month:"short",day:"numeric"}).format(u)}catch{return o}},y=async o=>{try{await navigator.clipboard.writeText(o),C.success(e.useString("codeCopied")||"کد کپی شد")}catch{C.error(e.useString("copyFailed")||"کپی ناموفق بود")}},L=o=>({brand:e.useString("brand"),category:e.useString("category"),user:e.useString("customer")})[o]||o,F=o=>({brand:e.useString("brands"),category:e.useString("categories"),user:e.useString("users"),product:e.useString("products")})[o]||o,w=ae(()=>{const o=new Date,u=new Date($.item.start_date),b=new Date($.item.end_date);return o<u?"upcoming":o>b?"expired":"active"}),R=(o,u)=>{const b=new Date,O=new Date(o),q=new Date(u);if(b<O){const j=Math.ceil((O.getTime()-b.getTime())/864e5);return e.lang==="fa"?`${j} روز تا شروع`:`Starts in ${j} days`}else{if(b>q)return e.useString("expired")||"منقضی شده";{const j=Math.ceil((q.getTime()-b.getTime())/864e5);return e.lang==="fa"?`${j} روز باقیمانده`:`${j} days left`}}},S=()=>{switch(w.value){case"upcoming":return e.isNightStore?"bg-blue-900/30 text-blue-400 border border-blue-700/50":"bg-blue-50 text-blue-700 border border-blue-200";case"expired":return e.isNightStore?"bg-red-900/30 text-red-400 border border-red-700/50":"bg-red-50 text-red-700 border border-red-200";default:return e.isNightStore?"bg-green-900/30 text-green-400 border border-green-700/50":"bg-green-50 text-green-700 border border-green-200"}},h=()=>{switch(w.value){case"upcoming":return e.isNightStore?"#60a5fa":"#2563eb";case"expired":return e.isNightStore?"#f87171":"#dc2626";default:return e.isNightStore?"#4ade80":"#16a34a"}},m=()=>{switch(w.value){case"upcoming":return e.useString("notStarted")||"شروع نشده";case"expired":return e.useString("finished")||"پایان یافته";default:return e.useString("running")||"در حال اجرا"}};return(o,u)=>(g(),D("div",{class:_(["relative overflow-hidden rounded-xl mb-3",t(e).isNightStore?"bg-zinc-800 border border-zinc-700":"bg-gray-50 border border-gray-200"])},[a("div",Qe,[a("div",{class:_(["px-3 py-1 rounded-full text-xs font-semibold flex items-center gap-1",o.item.active?t(e).isNightStore?"bg-green-900/50 text-green-400":"bg-green-100 text-green-700":t(e).isNightStore?"bg-red-900/50 text-red-400":"bg-red-100 text-red-700"])},[a("span",{class:_(["w-2 h-2 rounded-full",o.item.active?"bg-green-500":"bg-red-500"])},null,2),z(" "+d(o.item.active?t(e).useString("active"):t(e).useString("inactive")),1)],2)]),o.hasFunction?(g(),D("div",Ye,[n(T,{icon:"vuesax-linear:edit",color:t(e).isNightStore?"#60a5fa":"#2563eb",onClick:u[0]||(u[0]=b=>B("edit",o.item)),size:"22"},null,8,["color"]),n(T,{icon:"vuesax-linear:trash",color:t(e).isNightStore?"#f87171":"#dc2626",onClick:u[1]||(u[1]=b=>B("delete",o.item.id)),size:"22"},null,8,["color"])])):k("",!0),a("div",Ze,[a("div",We,[a("div",Xe,[a("div",{class:_(["font-semibold mb-1 line-clamp-2",t(e).isNightStore?"text-white":"text-gray-900"])},d(o.item.title),3),a("div",et,[o.item.use_code?k("",!0):(g(),D("span",{key:0,class:_(["px-2 py-1 rounded-md text-xs font-medium",t(e).isNightStore?"bg-zinc-700 text-zinc-300":"bg-gray-100 text-gray-600"])},d(L(o.item.type)),3)),o.item.use_code?(g(),D("span",{key:1,class:_(["px-2 py-1 rounded-md text-xs font-medium flex items-center gap-1",t(e).isNightStore?"bg-purple-900/50 text-purple-400":"bg-purple-100 text-purple-700"])},[n(T,{icon:"vuesax-linear:ticket-discount",color:t(e).isNightStore?"#c084fc":"#9333ea",size:"16"},null,8,["color"]),z(" "+d(t(e).useString("hasCode")),1)],2)):k("",!0)])]),a("div",tt,[a("div",{class:_(["text-center p-1 rounded-xl",t(e).isNightStore?"bg-gradient-to-br from-orange-900/50 to-red-900/50 border border-orange-700/50":"bg-gradient-to-br from-orange-50 to-red-50 border border-orange-200"])},[a("div",{class:_(["text-lg font-semibold",t(e).isNightStore?"text-orange-400":"text-orange-600"])},d(t(Pe)(o.item.amount,!0,""))+d(o.item.is_percent?"%":""),3),a("div",{class:_(["text-xs mt-1",t(e).isNightStore?"text-orange-300/70":"text-orange-600/70"])},d(o.item.is_percent?t(e).useString("discount"):t(e).priceUnit),3)],2)])]),o.item.use_code&&o.item.code?(g(),D("div",{key:0,class:_(["mb-4 p-1 rounded-lg border-2 border-dashed",t(e).isNightStore?"bg-zinc-900/50 border-zinc-600":"bg-gray-50 border-gray-300"])},[a("div",st,[a("div",{class:_(["text-xs",t(e).isNightStore?"text-zinc-400":"text-gray-500"])},d(t(e).useString("discountCode")),3),a("div",{class:_(["font-mono font-bold text-lg tracking-wider",t(e).isNightStore?"text-white":"text-gray-900"])},d(o.item.code),3),n(T,{onClick:u[2]||(u[2]=b=>y(o.item.code)),icon:"vuesax-linear:copy",color:t(e).isNightStore?"#d4d4d8":"#374151"},null,8,["color"])])],2)):k("",!0),a("div",rt,[a("div",{class:_(["p-3 rounded-lg border-2 border-dashed",t(e).isNightStore?"bg-zinc-900/50 border-zinc-600":"bg-gray-50 border-gray-300"])},[a("div",it,[n(T,{icon:"vuesax-linear:calendar",color:t(e).isNightStore?"#22d3ee":"#06b6d4",class:"w-4 h-4"},null,8,["color"]),a("span",{class:_(["text-xs",t(e).isNightStore?"text-zinc-400":"text-gray-500"])},d(t(e).useString("startDate")),3)]),a("div",{class:_(["text-sm font-semibold",t(e).isNightStore?"text-white":"text-gray-900"])},d(r(o.item.start_date)),3)],2),a("div",{class:_(["p-3 rounded-lg border-2 border-dashed",t(e).isNightStore?"bg-zinc-900/50 border-zinc-600":"bg-gray-50 border-gray-300"])},[a("div",at,[n(T,{icon:"vuesax-linear:calendar",color:t(e).isNightStore?"#f87171":"#ef4444",class:"w-4 h-4"},null,8,["color"]),a("span",{class:_(["text-xs",t(e).isNightStore?"text-zinc-400":"text-gray-500"])},d(t(e).useString("endDate")),3)]),a("div",{class:_(["text-sm font-semibold",t(e).isNightStore?"text-white":"text-gray-900"])},d(r(o.item.end_date)),3)],2)]),R(o.item.start_date,o.item.end_date)?(g(),D("div",{key:1,class:_(["p-3 rounded-lg flex items-center justify-between",S()])},[a("div",ot,[n(T,{icon:"vuesax-linear:clock",color:h(),size:"20"},null,8,["color"]),a("span",nt,d(R(o.item.start_date,o.item.end_date)),1)]),a("span",lt,d(m()),1)],2)):k("",!0),o.item.itemsCount?(g(),D("div",{key:2,class:_(["mt-3 pt-3 border-t",t(e).isNightStore?"border-zinc-700":"border-gray-200"])},[a("div",ut,[a("span",{class:_(t(e).isNightStore?"text-zinc-400":"text-gray-600")},d(t(e).useString("appliedTo"))+": ",3),a("span",{class:_(["font-semibold",t(e).isNightStore?"text-white":"text-gray-900"])},d(o.item.itemsCount)+" "+d(F(o.item.type)),3)])],2)):k("",!0)]),o.item.active?(g(),D("div",dt)):k("",!0)],2))}}),mt=Z(ct,[["__scopeId","data-v-9e41f7db"]]),gt={class:"flex justify-center w-full relative"},pt={class:"mt-3 font-semibold"},_t={class:"absolute end-0"},ft={class:"discount-form-wrapper"},vt={class:"font-medium"},bt={class:"text-xs text-gray-500 block mt-1 mb-1"},yt={class:"font-medium"},St={class:"text-xs text-gray-500 block mt-1 mb-1"},ht={class:"flex items-center justify-between my-4 border-1 border-solid border-gray-300 p-3 rounded-lg"},xt={class:"font-medium"},kt={class:"flex items-center justify-between my-4 border-1 border-solid border-gray-300 p-3 rounded-lg"},wt={class:"font-medium"},Dt=Q({__name:"DiscountAddEdit",props:{open:{type:Boolean,default:!1},isEdit:{type:Boolean,default:!1},data:{}},emits:["update:open","update:isEdit","success"],setup(V,{emit:v}){const e=X({active:!0,amount:0,brands:void 0,categories:void 0,code:"",end_date:"",is_percent:!0,start_date:"",title:"",type:void 0,use_code:!1,users:void 0,products:void 0,usage_limit_type:"unlimited",usage_limit:void 0,user_usage_limit_type:"unlimited",user_usage_limit:void 0}),B=we().user?.id,r=Y(),y=E(),L=E(null),F=E(!1),w=X({type:[{key:"brand",value:r.useString("brand")},{key:"category",value:r.useString("category")},{key:"user",value:r.useString("user")}],category:[],brand:[],user:[],product:[]}),R=ae({get:()=>S.open,set:i=>{h("update:open",i)}}),S=V,h=v,m=i=>{setTimeout(()=>{const s=i.target,f=L.value;if(f&&s){const p=s.closest(".ant-form-item");if(p){const P=f.getBoundingClientRect(),U=p.getBoundingClientRect(),I=f.scrollTop,G=U.top-P.top+I-20;f.scrollTo({top:G,behavior:"smooth"})}}},300)},o=()=>[{required:!0,message:r.useString("thisFieldIsRequired")||"این فیلد الزامی است",trigger:"blur"},{validator:(i,s)=>!s||s<=0?Promise.reject(r.useString("amountMustBeGreaterThanZero")||"مقدار باید بیشتر از صفر باشد"):e.is_percent&&Number(s)>100?Promise.reject(r.useString("percentageMustBeLessThan100")||"درصد تخفیف نمیتواند بیشتر از 100 باشد"):Promise.resolve(),trigger:"blur"}],u=()=>[{validator:(i,s)=>e.usage_limit_type==="limited"&&(!s||Number(s)<=0)?Promise.reject(r.useString("pleaseEnterValidCount")||"لطفاً تعداد معتبر وارد کنید"):Promise.resolve(),trigger:"blur"}],b=()=>[{validator:(i,s)=>e.user_usage_limit_type==="limited"&&(!s||Number(s)<=0)?Promise.reject(r.useString("pleaseEnterValidCount")||"لطفاً تعداد معتبر وارد کنید"):Promise.resolve(),trigger:"blur"}],O=()=>[{validator:(i,s)=>e.use_code&&(!s||!s.trim())?Promise.reject(r.useString("discountCodeIsRequired")||"کد تخفیف الزامی است"):Promise.resolve(),trigger:"blur"}],q=()=>[{required:!0,message:r.useString("thisFieldIsRequired")||"این فیلد الزامی است",trigger:"change"},{validator:(i,s)=>{if(!s||!e.start_date)return Promise.resolve();const f=new Date(e.start_date);return new Date(s)<f?Promise.reject(r.useString("endDateMustBeAfterStartDate")||"تاریخ پایان نمیتواند قبل از تاریخ شروع باشد"):Promise.resolve()},trigger:"change"}],j=()=>{e.usage_limit_type==="unlimited"&&(e.usage_limit=void 0),A(()=>{y.value?.validateFields(["usage_limit"])})},ce=()=>{e.user_usage_limit_type==="unlimited"&&(e.user_usage_limit=void 0),A(()=>{y.value?.validateFields(["user_usage_limit"])})},me=()=>{Object.assign(e,{title:"",amount:0,is_percent:!0,start_date:"",end_date:"",code:"",use_code:!1,active:!0,type:void 0,brands:void 0,categories:void 0,users:void 0,products:void 0,usage_limit_type:"unlimited",usage_limit:void 0,user_usage_limit_type:"unlimited",user_usage_limit:void 0}),A(()=>{y.value?.clearValidate()})},ge=async()=>{if(S.data?.id)try{N.value=!0;const i=await ue(S.data.id),s=S.data.usage_limit?"limited":"unlimited",f=S.data.user_usage_limit?"limited":"unlimited";if(Object.assign(e,{...S.data,usage_limit_type:s,user_usage_limit_type:f,brands:void 0,categories:void 0,users:void 0,products:void 0}),i&&i.length>0)switch(S.data.type){case"brand":e.brands=i.filter(p=>p.brand_id).map(p=>p.brand_id);break;case"category":e.categories=i.filter(p=>p.category_id).map(p=>p.category_id);break;case"user":await K(),e.users=i.filter(p=>p.user_id).map(p=>{const P=w.user.find(U=>JSON.parse(U.value).id===p.user_id);return P?P.value:""}).filter(p=>p);break;case"product":e.products=i.filter(p=>p.product_id).map(p=>p.product_id);break}}catch(i){console.error("Error loading discount items:",i),C.error(r.useString("errorLoadingData"))}finally{N.value=!1}},pe=()=>{e.brands=void 0,e.categories=void 0,e.users=void 0,e.products=void 0},_e=()=>{A(()=>{y.value?.validateFields(["amount"])})},fe=()=>{A(()=>{y.value?.validateFields(["code"])})},J=()=>{A(()=>{e.start_date&&e.end_date&&y.value?.validateFields(["end_date"])})},ve=async()=>{try{if(await y.value.validateFields(),N.value=!0,!e.use_code){if(e.type==="brand"&&(!e.brands||e.brands.length===0)){C.warning(r.useString("pleaseSelectBrands")||"لطفا برند را انتخاب کنید");return}if(e.type==="category"&&(!e.categories||e.categories.length===0)){C.warning(r.useString("pleaseSelectCategories")||"لطفا دستهبندی را انتخاب کنید");return}if(e.type==="user"&&(!e.users||e.users.length===0)){C.warning(r.useString("pleaseSelectUsers")||"لطفا کاربر را انتخاب کنید");return}if(e.type==="product"&&(!e.products||e.products.length===0)){C.warning(r.useString("pleaseSelectProducts")||"لطفا محصول را انتخاب کنید");return}}const i={...e};(i.usage_limit_type==="unlimited"||i.usage_limit_type==="limited"&&!i.usage_limit)&&(i.usage_limit=null),(i.user_usage_limit_type==="unlimited"||i.user_usage_limit_type==="limited"&&!i.user_usage_limit)&&(i.user_usage_limit=null),delete i.usage_limit_type,delete i.user_usage_limit_type,i.use_code?(delete i.type,delete i.brands,delete i.categories,delete i.users,delete i.products):delete i.user_usage_limit,console.log("Submit data:",i),S.isEdit?(await Ne(S.data?.id,i),C.success(r.useString("discountUpdatedSuccessfully")||"تخفیف با موفقیت ویرایش شد")):(await Ue(i),C.success(r.useString("discountCreatedSuccessfully")||"تخفیف با موفقیت ایجاد شد")),h("success"),h("update:open",!1)}catch(i){console.error("Submit error:",i),i?.errorFields?console.log("Validation errors:",i.errorFields):C.error(r.useString("operationFailed")||"عملیات با خطا مواجه شد")}finally{N.value=!1}},be=()=>{h("update:open",!1)};De(()=>S.open,i=>{i&&(S.isEdit?ge():me())});const K=re(async i=>{try{F.value=!0;const s=await Fe(B,1,1e3,i);w.user=s.map(f=>{const p={phone:f.phone,id:f.id,name:f.name};return{label:f.name||f.phone,value:JSON.stringify(p)}})}catch(s){console.log(s)}finally{F.value=!1}},1e3);re(async i=>{try{F.value=!0}catch(s){console.log(s)}finally{F.value=!1}},1e3);async function ye(){try{N.value=!0;const i=await Ee();w.category=i?.map(f=>({id:f.id,value:f.title}))||[];const s=await Oe();w.brand=s?.map(f=>({id:f.id,value:f.title}))||[],await K()}catch(i){console.error(i)}finally{N.value=!1}}return oe(ye),(i,s)=>{const f=ie,p=He,P=Me,U=ie,I=qe,G=Ve,W=Je,Se=de,he=Ae,xe=Re,ke=je;return g(),x(ke,{show:R.value,"onUpdate:show":s[18]||(s[18]=l=>R.value=l),"safe-area-inset-bottom":!1},{default:c(()=>[a("div",{class:_(["sticky top-0 z-50 flex flex-col items-center justify-center p-2",t(r).isNightStore?"bg-zinc-9":"bg-white"])},[s[19]||(s[19]=a("div",{class:"bg-gray-500 h-2px w-2.5rem"},null,-1)),a("div",gt,[a("div",pt,d(i.isEdit?t(r).useString("editDiscount"):t(r).useString("addDiscount")),1),a("div",_t,[n(Ie,{class:"w-1rem mt-2 me-5",onClick:be})])])],2),a("div",ft,[a("div",{class:"discount-form-scroll px-2",ref_key:"scrollContainer",ref:L},[n(xe,null,{default:c(()=>[n(he,{model:e,ref_key:"formRef",ref:y,class:"pt-3"},{default:c(()=>[n(f,{label:t(r).useString("title"),name:"title",rules:t(M)()},{default:c(()=>[n(H,{value:e.title,"onUpdate:value":s[0]||(s[0]=l=>e.title=l),"place-holder":t(r).useString("title"),onFocus:m},null,8,["value","place-holder"])]),_:1},8,["label","rules"]),n(U,{label:t(r).useString("amount"),rules:o(),name:"amount"},{default:c(()=>[n(H,{value:e.amount,"onUpdate:value":s[2]||(s[2]=l=>e.amount=l),type:"price",size:"small","place-holder":t(r).useString("amount"),onFocus:m},{addonBefore:c(()=>[n(P,{value:e.is_percent,"onUpdate:value":s[1]||(s[1]=l=>e.is_percent=l),class:"min-w-20",size:"small",onChange:_e},{default:c(()=>[n(p,{value:!0},{default:c(()=>s[20]||(s[20]=[z("%")])),_:1,__:[20]}),n(p,{value:!1},{default:c(()=>[z(d(t(r).priceUnit),1)]),_:1})]),_:1},8,["value"])]),_:1},8,["value","place-holder"])]),_:1},8,["label","rules"]),n(f,{rules:t(M)(),label:t(r).useString("startDate"),name:"start_date"},{default:c(()=>[t(r).lang==="en"&&t(r).APP_Milady_Date?(g(),x(t(te),{key:0,value:e.start_date,"onUpdate:value":s[3]||(s[3]=l=>e.start_date=l),inputReadOnly:"",onChange:J,onFocus:m,placeHolder:t(r).useString("startDate")},null,8,["value","placeHolder"])):(g(),x(t(se),{key:1,value:e.start_date,"onUpdate:value":s[4]||(s[4]=l=>e.start_date=l),inputReadOnly:"",onChange:J,onFocus:m,placeHolder:t(r).useString("startDate")},null,8,["value","placeHolder"]))]),_:1},8,["rules","label"]),n(f,{rules:q(),label:t(r).useString("endDate"),name:"end_date"},{default:c(()=>[t(r).lang==="en"&&t(r).APP_Milady_Date?(g(),x(t(te),{key:0,value:e.end_date,"onUpdate:value":s[5]||(s[5]=l=>e.end_date=l),inputReadOnly:"",onChange:J,onFocus:m,placeHolder:t(r).useString("endDate")},null,8,["value","placeHolder"])):(g(),x(t(se),{key:1,value:e.end_date,"onUpdate:value":s[6]||(s[6]=l=>e.end_date=l),inputReadOnly:"",onChange:J,onFocus:m,placeHolder:t(r).useString("endDate")},null,8,["value","placeHolder"]))]),_:1},8,["rules","label"]),n(U,{name:"usage_limit_type"},{label:c(()=>[a("div",null,[a("div",vt,d(t(r).useString("totalUsageLimit")),1),a("div",bt,d(t(r).useString("totalUsageLimitDesc")),1)])]),default:c(()=>[n(G,{value:e.usage_limit_type,"onUpdate:value":s[7]||(s[7]=l=>e.usage_limit_type=l),onChange:j},{default:c(()=>[n(I,{value:"unlimited"},{default:c(()=>[z(d(t(r).useString("unlimited")),1)]),_:1}),n(I,{value:"limited"},{default:c(()=>[z(d(t(r).useString("enterLimitInFieldBelow")),1)]),_:1})]),_:1},8,["value"])]),_:1}),e.usage_limit_type==="limited"?(g(),x(U,{key:0,rules:u(),name:"usage_limit"},{default:c(()=>[n(H,{value:e.usage_limit,"onUpdate:value":s[8]||(s[8]=l=>e.usage_limit=l),type:"number","place-holder":t(r).useString("enterTotalCount"),onFocus:m},null,8,["value","place-holder"])]),_:1},8,["rules"])):k("",!0),e.use_code?(g(),x(U,{key:1,name:"user_usage_limit_type"},{label:c(()=>[a("div",null,[a("div",yt,d(t(r).useString("perUserUsageLimit")),1),a("div",St,d(t(r).useString("perUserUsageLimitDesc")),1)])]),default:c(()=>[n(G,{value:e.user_usage_limit_type,"onUpdate:value":s[9]||(s[9]=l=>e.user_usage_limit_type=l),onChange:ce},{default:c(()=>[n(I,{value:"unlimited"},{default:c(()=>[z(d(t(r).useString("unlimited")),1)]),_:1}),n(I,{value:"limited"},{default:c(()=>[z(d(t(r).useString("enterLimitInFieldBelow")),1)]),_:1})]),_:1},8,["value"])]),_:1})):k("",!0),e.user_usage_limit_type==="limited"?(g(),x(U,{key:2,rules:b(),name:"user_usage_limit"},{default:c(()=>[n(H,{value:e.user_usage_limit,"onUpdate:value":s[10]||(s[10]=l=>e.user_usage_limit=l),type:"number","place-holder":t(r).useString("enterPerUserCount"),onFocus:m},null,8,["value","place-holder"])]),_:1},8,["rules"])):k("",!0),e.use_code?(g(),x(f,{key:3,label:t(r).useString("code"),name:"code",rules:O()},{default:c(()=>[n(H,{value:e.code,"onUpdate:value":s[11]||(s[11]=l=>e.code=l),"place-holder":t(r).useString("code"),onFocus:m},null,8,["value","place-holder"])]),_:1},8,["label","rules"])):k("",!0),a("div",ht,[a("span",xt,d(t(r).useString("useCode")),1),n(W,{checked:e.use_code,"onUpdate:checked":s[12]||(s[12]=l=>e.use_code=l),onChange:fe},null,8,["checked"])]),a("div",kt,[a("span",wt,d(t(r).useString("status")),1),n(W,{checked:e.active,"onUpdate:checked":s[13]||(s[13]=l=>e.active=l)},null,8,["checked"])]),e.use_code?k("",!0):(g(),x(U,{key:4,label:t(r).useString("discountType"),rules:t(M)(),name:"type"},{default:c(()=>[n(P,{value:e.type,"onUpdate:value":s[14]||(s[14]=l=>e.type=l),placeholder:t(r).useString("pleaseSelectAnOption"),size:"large",onChange:pe},{default:c(()=>[(g(!0),D(ne,null,le(w.type,l=>(g(),x(p,{key:l.key,value:l.key},{default:c(()=>[z(d(l.value),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value","placeholder"])]),_:1},8,["label","rules"])),e.type==="brand"&&!e.use_code?(g(),x(U,{key:5,label:t(r).useString("brands"),rules:t(M)(),name:"brands"},{default:c(()=>[n(ee,{value:e.brands,"onUpdate:value":s[15]||(s[15]=l=>e.brands=l),items:w.brand,mode:"multiple",placeholder:t(r).useString("pleaseSelectAnOption"),size:"large","key-name":"id","value-name":"value"},null,8,["value","items","placeholder"])]),_:1},8,["label","rules"])):k("",!0),e.type==="category"&&!e.use_code?(g(),x(U,{key:6,label:t(r).useString("categories"),rules:t(M)(),name:"categories"},{default:c(()=>[n(ee,{value:e.categories,"onUpdate:value":s[16]||(s[16]=l=>e.categories=l),items:w.category,mode:"multiple",placeholder:t(r).useString("pleaseSelectAnOption"),size:"large","key-name":"id","value-name":"value"},null,8,["value","items","placeholder"])]),_:1},8,["label","rules"])):k("",!0),e.type==="user"&&!e.use_code?(g(),x(U,{key:7,label:t(r).useString("users"),rules:t(M)(),name:"users"},{default:c(()=>[n(P,{value:e.users,"onUpdate:value":s[17]||(s[17]=l=>e.users=l),size:"large","show-search":"","filter-option":!1,placeholder:t(r).useString("selectUsers"),mode:"multiple","not-found-content":F.value?void 0:null,options:w.user,onSearch:t(K)},Ce({_:2},[F.value?{name:"notFoundContent",fn:c(()=>[n(Se,{size:"small"})]),key:"0"}:void 0]),1032,["value","placeholder","not-found-content","options","onSearch"])]),_:1},8,["label","rules"])):k("",!0)]),_:1},8,["model"])]),_:1})],512),a("div",{class:_(["discount-form-footer",t(r).isNightStore?"bg-zinc-9 border-zinc-7":"bg-white border-gray-200"])},[n(Le,{type:"primary",block:"",onClick:ve,loading:t(N)},{default:c(()=>[z(d(t(r).useString("submit")),1)]),_:1},8,["loading"])],2)])]),_:1},8,["show"])}}}),Ct=Object.assign(Z(Dt,[["__scopeId","data-v-0063b62e"]]),{__name:"DiscountAddEdit"}),Nt={class:"sm:!w-50vw sm:justify-self-center"},Ut={class:"px-4 flex items-center justify-between"},Ft={class:"flex gap-4 py-3 items-center"},zt={class:"font-semibold"},Tt={class:"pt-5 px-2 pb-20"},Bt={key:0,class:"flex justify-center items-center py-20"},$t={key:1,class:"flex flex-col items-center justify-center py-20"},Lt={key:2,class:"space-y-3 pb-20"},Pt=Q({__name:"index",setup(V){const v=Y(),e=ze(),$=E([]),B=E(!1),r=E(!1),y=E({});async function L(){try{N.value=!0,$.value=Ke(await Te()||[],["created_at"],["desc"])}catch(h){console.error("Error loading discounts:",h),C.error(v.useString("errorLoadingData")||"خطا در بارگذاری اطلاعات")}finally{N.value=!1}}const F=()=>{r.value=!1,y.value={},B.value=!0},w=async h=>{try{N.value=!0,r.value=!0;const m=await ue(h.id),o={...h,brands:[],categories:[],users:[],products:[]};if(m&&m.length>0)switch(h.type){case"brand":o.brands=m.filter(u=>u.brand_id).map(u=>u.brand_id);break;case"category":o.categories=m.filter(u=>u.category_id).map(u=>u.category_id);break;case"user":o.users=m.filter(u=>u.user_id).map(u=>u.user_id);break;case"product":o.products=m.filter(u=>u.product_id).map(u=>u.product_id);break}y.value=o,B.value=!0}catch(m){console.error("Error loading discount for edit:",m),C.error(v.useString("errorLoadingData")||"خطا در بارگذاری اطلاعات")}finally{N.value=!1}},R=h=>{Be.confirm({title:v.useString("deleteDiscount")||"حذف تخفیف",content:v.useString("areYouSureDeleteDiscount")||"آیا از حذف این تخفیف اطمینان دارید؟",okText:v.useString("yes")||"بله",okType:"danger",cancelText:v.useString("no")||"خیر",centered:!0,onOk:async()=>{try{N.value=!0,await $e(h),C.success(v.useString("discountDeletedSuccessfully")||"تخفیف با موفقیت حذف شد"),await L()}catch(m){console.error("Error deleting discount:",m),C.error(v.useString("deleteFailed")||"حذف با خطا مواجه شد")}finally{N.value=!1}},onCancel:()=>{}})},S=()=>{r.value=!1,y.value={}};return oe(L),(h,m)=>{const o=de,u=Ge;return g(),D("div",Nt,[a("div",{class:_([" sticky w-full top-0 z-2",t(v).isNightStore?"bg-header-color-dark ":"bg-header-color"])},[a("div",Ut,[a("div",Ft,[n(T,{icon:t(v).isRTL?"vuesax-linear:arrow-right":"vuesax-linear:arrow-left",class:"cursor-pointer",onClick:m[0]||(m[0]=b=>t(e).back())},null,8,["icon"]),a("div",zt,d(t(v).useString("discounts")),1)])])],2),a("div",Tt,[t(N)?(g(),D("div",Bt,[n(o,{size:"large"})])):!$.value||$.value.length===0?(g(),D("div",$t,[n(T,{icon:"vuesax-linear:ticket-discount",color:t(v).isNightStore?"#71717a":"#9ca3af",class:"w-20 h-20 mb-4"},null,8,["color"]),a("p",{class:_(["text-center mb-2",t(v).isNightStore?"text-zinc-400":"text-gray-500"])},d(t(v).useString("noDiscountsFound")),3),a("p",{class:_(["text-sm text-center mb-6",t(v).isNightStore?"text-zinc-500":"text-gray-400"])},d(t(v).useString("clickPlusToAddDiscount")),3)])):(g(),D("div",Lt,[(g(!0),D(ne,null,le($.value,(b,O)=>(g(),x(mt,{item:b,key:b.id||O,onDelete:R,onEdit:w},null,8,["item"]))),128))]))]),n(u,{shape:"circle",type:"primary",onClick:F,class:"bottom-10vh w-3rem h-3rem"},{icon:c(()=>[n(T,{icon:"vuesax-linear:add"})]),_:1}),n(Ct,{open:B.value,"onUpdate:open":[m[1]||(m[1]=b=>B.value=b),S],"is-edit":r.value,"onUpdate:isEdit":m[2]||(m[2]=b=>r.value=b),data:y.value,onSuccess:L},null,8,["open","is-edit","data"])])}}}),Os=Z(Pt,[["__scopeId","data-v-2556b3b9"]]);export{Os as default};
|