Files

2 lines
11 KiB
JavaScript
Raw Permalink Normal View History

2026-10-25 22:46:21 +03:30
import{d as h,x as ee,y as U,a as s,h as O,w as a,k as te,m as C,z as q,G,r as v,o as d,p as H,c as o,f as r,i as m,b as y,e as b,F as w,H as le,l as ae,t as g,_ as oe}from"./index-DWCzDlmr.js";import{_ as ue}from"./BaseFormModal.vue_vue_type_style_index_0_lang-DZIySB2l.js";const de={class:"grid-4 grid-4--tight"},ne={class:"grid-4 grid-4--tight"},ie=h({__name:"PromotionForm",props:{title:{default:"تعریف تخفیف"},allowCustomerScope:{type:Boolean,default:!0},open:{type:Boolean},id:{}},emits:["update:open","success"],setup(_,{emit:I}){const M=_,P=I,B=M.open!==void 0,A=te(),J=ae(),k=B?M.id:A.params.id,Y=C(!1),D=C([]),R=C([]),N=C([]),j=C([]),l=q({type:1,title:"",description:"",discount_percent:void 0,use_only:1,is_active:!0,start:void 0,end:void 0,product_id:void 0,category_id:void 0,customer_id:void 0,brand_id:void 0}),p=q({});function V(){l.product_id=void 0,l.category_id=void 0,l.customer_id=void 0,l.brand_id=void 0}function c(u,e){var n,f;return String(((f=(n=e==null?void 0:e.children)==null?void 0:n[0])==null?void 0:f.children)??"").toLowerCase().includes(u.toLowerCase())}function K(){return Object.keys(p).forEach(u=>delete p[u]),l.title||(p.title="لطفا مقدار را وارد کنید"),(l.discount_percent===void 0||l.discount_percent===null)&&(p.discount_percent="لطفا مقدار را وارد کنید"),Object.keys(p).length===0}async function F(){var u,e;if(K())try{Y.value=!0,k?await U.put(`product/variant/promotion/${k}`,l):await U.post("product/variant/promotion",l),G.info("اطلاعات با موفقیت به ثبت رسید."),B?(P("success"),P("update:open",!1)):J.push("/major/promotion/list")}catch(n){G.error(((e=(u=n==null?void 0:n.response)==null?void 0:u.data)==null?void 0:e.message)??"خطا در ثبت اطلاعات.")}finally{Y.value=!1}}return ee(async()=>{try{const[u,e,n]=await Promise.all([U.post("products",{page:1,limit:500}),U.post("category",{page:1,limit:500}),U.get("brand")]);D.value=u.data.rows??[],R.value=e.data.rows??[],j.value=n.data??[]}catch(u){console.log(u)}if(M.allowCustomerScope)try{const{data:u}=await U.get("query/customer");N.value=u}catch(u){console.log(u)}if(k)try{const{data:u}=await U.get(`admin/promotions/${k}`);Object.assign(l,{type:u.type??1,title:u.title??"",description:u.description??"",discount_percent:u.discount_percent!==null?Number(u.discount_percent):void 0,use_only:u.use_only??1,is_active:u.is_active??!0,start:u.start?String(u.start).slice(0,10):void 0,end:u.end?String(u.end).slice(0,10):void 0,product_id:u.product_id??void 0,category_id:u.category_id??void 0,customer_id:u.customer_id??void 0,brand_id:u.brand_id??void 0})}catch(u){console.log(u)}}),(u,e)=>{const n=v("a-select-option"),f=v("a-select"),i=v("a-form-item"),$=v("a-input"),z=v("a-input-number"),S=v("a-date-picker"),x=v("a-radio"),L=v("a-radio-group"),E=v("a-switch"),T=v("a-textarea"),Q=v("a-button"),W=v("a-card"),X=v("a-form"),Z=v("a-spin");return B?(d(),s(ue,{key:0,open:!!_.open,id:O(k),"add-title":_.title,"edit-title":_.title,loading:Y.value,submitting:Y.value,width:"lg","onUpdate:open":e[12]||(e[12]=t=>u.$emit("update:open",t)),onSubmit:F},{default:a(()=>[H("div",de,[o(i,{label:"نوع تخفیف"},{default:a(()=>[o(f,{value:l.type,"onUpdate:value":e[0]||(e[0]=t=>l.type=t),disabled:!!O(k),onChange:V},{default:a(()=>[o(n,{value:1},{default:a(()=>[...e[25]||(e[25]=[r("محصولات",-1)])]),_:1}),o(n,{value:2},{default:a(()=>[...e[26]||(e[26]=[r("دسته بندی",-1)])]),_:1}),_.allowCustomerScope?(d(),s(n,{key:0,value:3},{default:a(()=>[...e[27]||(e[27]=[r("مشتری",-1)])]),_:1})):m("",!0),o(n,{value:4},{default:a(()=>[...e[28]||(e[28]=[r("برند",-1)])]),_:1})]),_:1},8,["value","disabled"])]),_:1}),o(i,{label:"عنوان","validate-status":p.title?"error":"",help:p.title},{default:a(()=>[o($,{value:l.title,"onUpdate:value":e[1]||(e[1]=t=>l.title=t)},null,8,["value"])]),_:1},8,["validate-status","help"]),l.type===1?(d(),s(i,{key:0,label:"محصول"},{default:a(()=>[o(f,{value:l.product_id,"onUpdate:value":e[2]||(e[2]=t=>l.product_id=t),"show-search":"","allow-clear":"","filter-opt