Files
machartaa_admin_dist/dist/assets/index-f6a5e98b.js
T
2026-06-21 18:11:33 +03:30

2 lines
27 KiB
JavaScript

import{_ as Xe}from"./BasicModal.vue_vue_type_style_index_0_lang-c66396f6.js";import{_ as Ge,u as Qe}from"./useBaseTable-9e299021.js";import{_ as Ye,B as Ze}from"./button.vue_vue_type_style_index_0_lang-3ed7a72f.js";import{I as re}from"./Icon-5c7639a7.js";import{t as et}from"./useDataTime-6dd38ed7.js";import{g as R,e as H}from"./convert-67c23be8.js";import{_ as pe}from"./TextPreview.vue_vue_type_script_setup_true_lang-1e73fbe1.js";import{u as tt}from"./usePrice-bc935b83.js";import{b as s,d as at,g as V,r as lt,h as O,v as nt,l as st,o as m,c as x,a as p,w as r,e as A,j as G,G as it,k as P,F as J,i as L,n as Q,D as f,X as ot,J as rt,K as ut,H as ue,t as de}from"./index-f631c110.js";import{g as dt,u as ct,a as pt,b as _t,d as mt}from"./products-f4b2d4e4.js";import{g as Y}from"./index-a868174e.js";import{g as ft}from"./category-0084cbb9.js";import{g as vt}from"./brand-8f3b51cf.js";import{l as K}from"./lodash-592aa0fc.js";import{M as gt,_ as bt}from"./index-db7412b1.js";import{I as ht,_ as yt}from"./index-2a48464f.js";import{_ as wt,a as kt}from"./index-8961debc.js";import{_ as xt}from"./index-34282ebc.js";import{_ as Ut,F as Ct}from"./index-87d0a607.js";import{_ as It,a as Vt}from"./index-0251545b.js";import{S as Pt}from"./fa_IR-0562c7ac.js";import{U as $t}from"./index-dd5cdd35.js";import{T as ce}from"./shallowequal-c640e904.js";import{_ as At}from"./_plugin-vue_export-helper-57ba18f2.js";import"./index-f17553d9.js";import"./vnode-cc5d0bff.js";import"./Col-147430ab.js";import"./useState-753455e7.js";import"./FormItemContext-36a6ff93.js";import"./pickAttrs-3ce44213.js";import"./isPlainObject-69fc442c.js";import"./toArray-17a639be.js";import"./useRefs-ef7dcf5e.js";const Lt=[{title:"ردیف",dataIndex:"id",key:"id",filterable:!1,width:70,align:"center",customRender:b=>b.index+1},{title:"تصویر ",dataIndex:"original_image",key:"original_image",customRender:b=>{const W=R(b.record.original_image);return s("img",{src:W,width:60},null)}},{title:"عنوان",dataIndex:"title_fa",key:"title_fa"},{title:"کد",dataIndex:"code",key:"code"},{title:"توضیحات",dataIndex:"description",key:"description",customRender:b=>s(pe,{text:b.record.description},null)},{title:"قیمت (ریال)",dataIndex:"price",key:"price",align:"center",width:120,customRender:b=>tt(b.record.price??0,!0,"")},{title:"موجودی",dataIndex:"count",key:"count",align:"center",width:120,customRender:b=>b.record.count??0},{title:"زمان ایجاد",dataIndex:"created_at",key:"created_at",customRender:b=>et(b.record.created_at)},{title:"عملیات",dataIndex:"action",key:"action",slot:"action",filterable:!1,align:"center"}],$=b=>(rt("data-v-10978585"),b=b(),ut(),b),Mt={class:"flex justify-between items-center mb-4"},St=$(()=>p("h2",null,"محصولات",-1)),Ft={class:"gap-2 flex justify-center"},Bt=$(()=>p("span",null,"حذف",-1)),Dt=$(()=>p("span",null,"ویرایش",-1)),Tt={key:0,class:"text-gray-500 text-sm mt-1"},Ot=$(()=>p("div",{class:"text-gray-500 text-sm mt-1"}," برای ارسال با پیک (داخل تهران) هزینه در زمان تحویل دریافت می‌شود. ",-1)),Rt=$(()=>p("div",{class:"text-gray-500 text-sm mt-1"}," برای ارسال با پیک (داخل تهران) هزینه در زمان تحویل دریافت می‌شود. ",-1)),Nt={class:"col-span-full grid grid-cols-1 sm:grid-cols-2 gap-4"},zt={key:0},Et=$(()=>p("div",{style:{"margin-top":"8px"}},"آپلود",-1)),jt=$(()=>p("div",null,"آپلود فایل‌ها",-1)),qt={class:"space-y-2"},Ht={class:"flex justify-between items-center gap-2 mb-2"},Jt={class:"text-sm text-gray-500"},Kt={key:3,class:"text-amber-600 text-sm mt-1"},Wt={class:"mt-2 flex flex-col sm:flex-row sm:flex-wrap gap-3"},Xt=$(()=>p("div",{class:"text-gray-500 text-sm mt-1"}," قیمت کلی به‌صورت پیش‌فرض برای تمام تنوع‌ها اعمال می‌شود. اگر برای یک تنوع قیمت جداگانه تعریف کنید، همان قیمت اولویت دارد. ",-1)),Gt=$(()=>p("div",{class:"text-gray-500 text-sm mt-1"}," تخفیف کلی روی تمام تنوع‌ها اعمال می‌شود و در کارت محصول فروشگاه نمایش داده می‌شود. اگر برای یک تنوع تخفیف جداگانه تعریف کنید، همان تخفیف در صفحه محصول اولویت دارد. ",-1)),Qt={class:"space-y-3"},Yt={class:"flex justify-between items-center gap-2 mb-2"},Zt={class:"font-medium"},ea={class:"flex flex-col gap-2 sm:flex-row sm:items-center"},ta=$(()=>p("span",{class:"text-gray-500 text-xs"},"نمایش این تنوع به‌عنوان پیش‌فرض در صفحه محصول",-1)),aa={key:0,class:"mt-2 space-y-2"},la={key:1,class:"text-gray-500 text-sm mt-2"},na={class:"col-span-full grid grid-cols-1 sm:grid-cols-3 gap-4"},sa=at({__name:"index",setup(b){`${Y()||localStorage.getItem("tamin_token")||""}`;const[W,Z]=Qe(),_e=V({columns:Lt,api:dt,defaultPageLimit:20}),D=V(!1),N=V(!1),z=V(null),M=V(0),E=V(0),a=lt({title_fa:"",title:"",price:0,body:"",is_show:!0,is_active:!0,box_size:0,sell_type:"numeric",original_image:void 0,product_attributes:[],files:[],auto_calculate:!1,is_exist:!0,created_at:void 0,updated_at:void 0,deleted_at:null,count_order:void 0,count_fav:void 0,count_view:void 0,min_price:void 0,max_price:void 0,type:"simple",owner_id:void 0,users:void 0,saved:[],variants:[],code:void 0,brand_id:void 0,collection_id:void 0,discount:void 0,discount_type:"percent",id:void 0,count:void 0,display_price:void 0,meta:void 0,seo_title:void 0,description:void 0,product_type:void 0,weight:void 0,rial_fee:void 0,percent_fee:void 0,post_shipping_cost:0}),ee=V(),me=O(()=>ee.value.map(t=>({value:t.id,label:t.title}))),te=V(),fe=O(()=>te.value.map(t=>({value:t.id,label:t.title}))),F=V([]),y=O(()=>a.type==="variant"),ve=O(()=>F.value.map(t=>({value:t.id,label:t.name}))),j=O(()=>(a.product_attributes??[]).filter(t=>t.use_in_variant&&ae(t))),ge=t=>t.temp_key??(t.attribute_id!=null?`id:${t.attribute_id}`:`name:${t.attribute_name}`),ae=t=>{var e;return t.is_new?!!((e=t.attribute_name)!=null&&e.trim()):t.attribute_id!=null},be=t=>{var e,l;return t.is_new&&((e=t.attribute_name)!=null&&e.trim())?t.attribute_name.trim():t.attribute_id!=null?((l=F.value.find(i=>i.id===t.attribute_id))==null?void 0:l.name)??"ویژگی":"ویژگی"},he=t=>{if(t.is_new||t.attribute_id==null)return[];const e=F.value.find(l=>l.id===t.attribute_id);return((e==null?void 0:e.attribute_values)??[]).map(l=>({value:l.id,label:l.value}))},ye=(t,e)=>{var i,u;if(typeof e=="string")return e;if(t.attribute_id==null)return String(e);const l=F.value.find(o=>o.id===t.attribute_id);return((u=(i=l==null?void 0:l.attribute_values)==null?void 0:i.find(o=>o.id===e))==null?void 0:u.value)??String(e)},we=t=>(t.attribute_values??[]).filter(e=>e!=null&&e!=="").map(e=>({value:e,label:ye(t,e)})),le=(t,e)=>{const l=new Set((e.attribute_values??[]).filter(i=>i!=null&&i!==""));return(t.attribute_values??[]).find(i=>l.has(i))},ke=(t,e,l)=>{const i=new Set((e.attribute_values??[]).filter(o=>o!=null&&o!=="")),u=(t.attribute_values??[]).filter(o=>o!=null&&!i.has(o));t.attribute_values=l!=null&&l!==""?[...u,l]:u},xe=t=>new Set((a.product_attributes??[]).filter(e=>!e.is_new).map(e=>e.attribute_id).filter(e=>e!=null&&e!==t)),Ue=t=>{const e=xe(t);return ve.value.filter(l=>!e.has(l.value))};function Ce(t){t.attribute_values=[],t.is_new?t.attribute_id=void 0:t.attribute_name=""}function Ie(t){t.attribute_values=[]}function Ve(t){var i;const e=(i=t.attribute_name)==null?void 0:i.trim().toLowerCase();if(!e)return;(a.product_attributes??[]).some(u=>{var o,v,U;return u!==t&&(!u.is_new&&((v=(o=F.value.find(w=>w.id===u.attribute_id))==null?void 0:o.name)==null?void 0:v.trim().toLowerCase())===e||u.is_new&&((U=u.attribute_name)==null?void 0:U.trim().toLowerCase())===e)})&&(f.warning("این نام ویژگی قبلاً در محصول استفاده شده است"),t.attribute_name="")}function Pe(t){if(!t.use_in_variant){const e=new Set((a.variants??[]).flatMap(l=>l.attribute_values??[]));t.attribute_values=(t.attribute_values??[]).filter(l=>!e.has(l))}}const $e=t=>{var e;(e=a.product_attributes)==null||e.splice(t,1)},ne=(t,e)=>((e==null?void 0:e.label)??"").toLowerCase().includes(t.toLowerCase());function Ae(){var t;a.type==="variant"?(t=a.variants)!=null&&t.length||se():a.variants=[]}function Le(t){const e=t.price!=null?Number(t.price):0;return e>0?e:Number(a.price??0)}function Me(t=[]){const e=t.map(i=>Number(i.price??0)).filter(i=>i>0);if(!e.length)return;const l=e[0];return e.every(i=>i===l)?l:void 0}const Se=()=>{var t;(t=a.product_attributes)==null||t.push({is_new:!1,attribute_id:void 0,attribute_name:"",temp_key:`temp_${Date.now()}_${Math.random().toString(36).slice(2,8)}`,attribute_values:[],use_in_product_page:!y.value,use_in_variant:y.value})},se=()=>{a.variants||(a.variants=[]),a.variants.push({id:null,sku:"",price:void 0,box_price:0,stock:0,discount:void 0,discount_type:"percent",is_default:a.variants.length===0,attribute_values:[],attribute_values_name:[]})},Fe=t=>{var e,l;(e=a.variants)==null||e.splice(t,1),((l=a.variants)==null?void 0:l.length)===1&&(a.variants[0].is_default=!0)};function Be(t,e){var l;(l=a.variants)!=null&&l.length&&(e?a.variants.forEach((i,u)=>{i.is_default=u===t}):a.variants.some(i=>i.is_default)||(a.variants[0].is_default=!0))}const B=V([]);function De(t){const e=t.full_src||t.url||t.src||t.path||t.data&&(t.data.full_src||t.data.url||t.data.src||t.data.path)||"";return H(e)}function Te(t){var l,i;const e=((l=t.response)==null?void 0:l.path)??((i=t.response)==null?void 0:i.url);return e?H(e):t.url&&!String(t.url).startsWith("blob:")?H(t.url):""}function Oe(){const t=(a.files??[]).filter(l=>l.status==="done").map(l=>{const i=Te(l);return i?{type:"image",url:i}:null}).filter(l=>l!=null),e=[];return a.original_image&&e.push({type:"image",url:H(a.original_image)}),[...e,...t]}function Re(t){return t.type.startsWith("image/")?t.size/1024/1024<5?!0:(f.error("حجم تصویر باید کمتر از 5MB باشد"),!1):(f.error("فقط فایل‌های تصویری مجاز است"),!1)}async function Ne(t){const{file:e,onSuccess:l,onError:i,onProgress:u}=t,o=new FormData;o.append("file",e);const v=`${ue}/upload/machartaa-img`;M.value++,await new Promise((U,w)=>{const c=new XMLHttpRequest;c.open("POST",v);const T=Y()||localStorage.getItem("tamin_token")||"";c.setRequestHeader("Authorization",`Bearer ${T}`),c.upload.onprogress=d=>{if(d.lengthComputable){const g=Math.round(d.loaded/d.total*100);u==null||u({percent:g})}},c.onload=()=>{if(c.status>=200&&c.status<300)try{const d=JSON.parse(c.responseText||"{}"),g=De(d);if(!g)throw new Error("مسیر فایل از سرور دریافت نشد");const C=R(g),k={uid:e.uid,name:e.name||"product_image.jpg",status:"done",url:C,response:{path:g}},S=(a.files??[]).findIndex(q=>q.uid===e.uid);S>=0?a.files[S]=k:a.files=[...a.files??[],k],l==null||l(d,c),f.success("فایل با موفقیت آپلود شد!"),U()}catch(d){i==null||i(d,c),w(d)}else{const d=new Error("خطا در آپلود فایل");i==null||i(d,c),w(d)}},c.onerror=()=>{const d=new Error("خطا در آپلود فایل");i==null||i(d,c),w(d)},c.onloadend=()=>{M.value=Math.max(0,M.value-1)},c.send(o)})}function ze(){Object.assign(a,K.cloneDeep(X),{type:"simple",product_attributes:[],variants:[],discount_type:"percent"}),B.value=[],N.value=!1,z.value=null,D.value=!0}function ie(){Object.assign(a,X),D.value=!1}function Ee(t){return t.type.startsWith("image/")?t.size/1024/1024<5?!0:(f.error("حجم تصویر باید کمتر از 5MB باشد"),!1):(f.error("فقط فایل‌های تصویری مجاز است"),!1)}async function je(t){const{file:e,onSuccess:l,onError:i,onProgress:u}=t,o=new FormData;o.append("file",e);const v=`${ue}/upload/machartaa-img`;E.value=0,M.value++,await new Promise((U,w)=>{const c=new XMLHttpRequest;c.open("POST",v);const T=Y()||localStorage.getItem("tamin_token")||"";c.setRequestHeader("Authorization",`Bearer ${T}`),c.upload.onprogress=d=>{if(d.lengthComputable){const g=Math.round(d.loaded/d.total*100);E.value=g,u==null||u({percent:g})}},c.onload=()=>{if(E.value=100,c.status>=200&&c.status<300)try{const d=JSON.parse(c.responseText||"{}"),g=d.full_src||d.url||d.src||d.path||d.data&&(d.data.full_src||d.data.url||d.data.src||d.data.path)||"";let C=g;g!=null&&g.startsWith("http")&&(C=g.replace(/^https?:\/\/[^\/]+/,""));const k=R(C);a.original_image=C,B.value=k?[{uid:`${Date.now()}`,name:"products.jpg",status:"done",url:k,response:{path:C}}]:[],l==null||l(d,c),f.success("تصویر با موفقیت آپلود شد!"),U()}catch(d){i==null||i(d,c),w(d)}else{const d=new Error("خطا در آپلود تصویر");i==null||i(d,c),w(d)}},c.onerror=()=>{const d=new Error("خطا در آپلود کاور");i==null||i(d,c),w(d)},c.onloadend=()=>{M.value=Math.max(0,M.value-1),E.value=0},c.send(o)})}async function qe(){var e;if(M.value>0){f.warning("لطفاً تا پایان آپلود صبر کنید");return}if((a.product_attributes??[]).find(l=>{var i;return l.is_new?!((i=l.attribute_name)!=null&&i.trim()):l.attribute_id==null})){f.error("برای هر ویژگی، نام یا انتخاب از لیست را تکمیل کنید");return}if(y.value){if(!((e=a.variants)!=null&&e.length)){f.error("حداقل یک تنوع برای محصول تعریف کنید");return}if(j.value.some(u=>{var o;return!((o=u.attribute_values)!=null&&o.filter(v=>v!=null&&v!=="").length)})){f.error("برای هر ویژگی تنوع، حداقل یک مقدار در بخش ویژگی‌ها تعریف کنید");return}if(a.variants.find(u=>!Le(u)||u.stock==null?!0:j.value.some(o=>le(u,o)==null))){f.error("برای هر تنوع، قیمت (یا قیمت کلی)، موجودی و مقادیر ویژگی‌ها الزامی است");return}}else if(!a.price){f.error("قیمت محصول را وارد کنید");return}try{const l=K.cloneDeep(a);if(y.value){const u=(a.variants??[]).map(o=>Number(o.stock??0));l.discount_type=l.discount?"percent":null,l.count=u.reduce((o,v)=>o+v,0),l.is_exist=u.some(o=>o>0)}else l.variants=[],l.discount_type=l.discount?"percent":null;if((a.files??[]).some(u=>u.status==="uploading")){f.warning("لطفاً تا پایان آپلود فایل‌های محصول صبر کنید");return}l.files=Oe(),N.value&&z.value?(await ct(z.value,l),f.success("محصول با موفقیت ویرایش شد")):(await pt(l),f.success("محصول با موفقیت افزوده شد")),ie(),await oe(),await Z()}catch(l){console.error("Error saving Product:",l),f.error("خطا در ذخیره محصول: "+(l.message||"خطای ناشناخته"))}}async function He(t){var e;X=K.cloneDeep(a),N.value=!0,z.value=t.id;try{const l=await _t(t.id);for(const i in a)l.hasOwnProperty(i)&&(a[i]=l[i]);a.type=(((e=l.variants)==null?void 0:e.length)??0)>0||l.type==="variant"?"variant":"simple",a.product_attributes=(l.product_attributes??[]).map(i=>{var u,o;return{...i,is_new:!1,attribute_name:((u=i.attributes)==null?void 0:u.name)??((o=i.attribute)==null?void 0:o.name)??"",temp_key:`temp_${i.attribute_id??i.id??Math.random()}`}}),a.variants=l.variants??[],a.discount_type=l.discount_type??"percent",a.type==="variant"&&(a.price=Me(a.variants)),B.value=l.original_image?[{uid:"-1",name:"original_image.jpg",status:"done",url:R(l.original_image),response:{path:l.original_image}}]:[],a.files=Array.isArray(l.files)?l.files.slice(1).map((i,u)=>({uid:`${u}`,name:`product_image${u}.jpg`,status:"done",url:R(i.url),response:{path:i.url}})):[],D.value=!0}catch(l){console.error("Error loading product:",l),f.error("خطا در بارگذاری اطلاعات محصول: "+(l.message||"خطای ناشناخته"))}}function Je(t){gt.confirm({title:"حذف محصول",content:`آیا مطمئن هستید که می‌خواهید محصول "${t.title}" را حذف کنید؟`,okText:"بله، حذف کن",cancelText:"انصراف",okType:"danger",centered:!0,onOk:async()=>{try{await mt(t.id),f.success("محصول با موفقیت حذف شد"),await Z()}catch(e){console.error("Error deleting Product:",e),f.error("خطا در حذف محصول: "+(e.message||"خطای ناشناخته"))}}})}let X=K.cloneDeep(a);async function oe(){const{data:t,error:e}=await ot.from("attributes").select("*, attribute_values(*)").order("id");if(e){console.error("Error loading features:",e),f.error("خطا در بارگذاری ویژگی‌ها");return}F.value=t??[]}return nt(async()=>{te.value=await ft(),ee.value=await vt(),await oe()}),(t,e)=>{const l=Ye,i=Ge,u=ht,o=Ut,v=Pt,U=wt,w=kt,c=xt,T=yt,d=st("plus-outlined"),g=$t,C=Ze,k=bt,S=It,q=Vt,Ke=Ct,We=Xe;return m(),x("div",null,[p("div",Mt,[St,s(l,{type:"primary",onClick:ze},{default:r(()=>[A("افزودن محصول")]),_:1})]),s(i,it(_e.value,{ref:"table",onRegister:G(W)}),{text:r(({record:n})=>[s(pe,{text:n.description},null,8,["text"])]),action:r(({record:n})=>[p("div",Ft,[s(G(ce),{class:"cursor-pointer"},{title:r(()=>[Bt]),default:r(()=>[s(re,{icon:"vuesax-linear:trash",color:"#DC2626",onClick:I=>Je(n)},null,8,["onClick"])]),_:2},1024),s(G(ce),{class:"cursor-pointer"},{title:r(()=>[Dt]),default:r(()=>[s(re,{icon:"vuesax-linear:edit",color:"#1D4ED8",onClick:I=>He(n)},null,8,["onClick"])]),_:2},1024)])]),_:1},16,["onRegister"]),s(We,{visible:D.value,"onUpdate:visible":e[19]||(e[19]=n=>D.value=n),title:N.value?"ویرایش محصول":"افزودن محصول",onOk:qe,onClose:e[20]||(e[20]=n=>ie()),width:"80%","wrap-class-name":"product-modal-wrap",confirmLoading:M.value>0},{default:r(()=>[s(Ke,{layout:"vertical",class:"product-form grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-3"},{default:r(()=>[s(o,{label:"عنوان فارسی",required:""},{default:r(()=>[s(u,{value:a.title_fa,"onUpdate:value":e[0]||(e[0]=n=>a.title_fa=n),placeholder:"عنوان فارسی محصول"},null,8,["value"])]),_:1}),s(o,{label:"عنوان انگلیسی"},{default:r(()=>[s(u,{value:a.title,"onUpdate:value":e[1]||(e[1]=n=>a.title=n),placeholder:"عنوان انگلیسی محصول"},null,8,["value"])]),_:1}),s(o,{label:"برند"},{default:r(()=>[s(v,{value:a.brand_id,"onUpdate:value":e[2]||(e[2]=n=>a.brand_id=n),placeholder:"انتخاب برند",options:me.value,"show-search":"","filter-option":ne},null,8,["value","options"])]),_:1}),s(o,{label:"کالکشن"},{default:r(()=>[s(v,{value:a.collection_id,"onUpdate:value":e[3]||(e[3]=n=>a.collection_id=n),placeholder:"انتخاب کالکشن",options:fe.value},null,8,["value","options"])]),_:1}),s(o,{label:"نوع محصول",class:"col-span-full"},{default:r(()=>[s(w,{value:a.type,"onUpdate:value":e[4]||(e[4]=n=>a.type=n),class:"product-form__radio-group",onChange:Ae},{default:r(()=>[s(U,{value:"simple"},{default:r(()=>[A("محصول ساده")]),_:1}),s(U,{value:"variant"},{default:r(()=>[A("محصول دارای تنوع")]),_:1})]),_:1},8,["value"]),y.value?(m(),x("div",Tt," در حالت تنوع، موجودی کلی محصول استفاده نمی‌شود. قیمت کلی به‌صورت پیش‌فرض برای همه تنوع‌ها اعمال می‌شود. ")):P("",!0)]),_:1}),y.value?P("",!0):(m(),x(J,{key:0},[s(o,{label:"قیمت (تومان)"},{default:r(()=>[s(c,{value:a.price,"onUpdate:value":e[5]||(e[5]=n=>a.price=n),style:{width:"100%"},placeholder:"قیمت را وارد کنید",min:0},null,8,["value"])]),_:1}),s(o,{label:"تخفیف %"},{default:r(()=>[s(c,{value:a.discount,"onUpdate:value":e[6]||(e[6]=n=>a.discount=n),style:{width:"100%"},placeholder:"درصد تخفیف را وارد کنید",min:0,max:100},null,8,["value"])]),_:1}),s(o,{label:"تعداد موجودی محصول"},{default:r(()=>[s(c,{value:a.count,"onUpdate:value":e[7]||(e[7]=n=>a.count=n),style:{width:"100%"},placeholder:"تعداد موجودی محصول را وارد کنید",min:0},null,8,["value"])]),_:1}),s(o,{label:"هزینه ارسال پستی (تومان)"},{default:r(()=>[s(c,{value:a.post_shipping_cost,"onUpdate:value":e[8]||(e[8]=n=>a.post_shipping_cost=n),style:{width:"100%"},placeholder:"هزینه ارسال با پست برای هر واحد",min:0},null,8,["value"]),Ot]),_:1})],64)),s(o,{label:"کد محصول"},{default:r(()=>[s(u,{value:a.code,"onUpdate:value":e[9]||(e[9]=n=>a.code=n),style:{width:"100%"},placeholder:"کد محصول را وارد کنید"},null,8,["value"])]),_:1}),y.value?(m(),L(o,{key:1,label:"هزینه ارسال پستی (تومان)",class:"col-span-full"},{default:r(()=>[s(c,{value:a.post_shipping_cost,"onUpdate:value":e[10]||(e[10]=n=>a.post_shipping_cost=n),style:{width:"100%"},placeholder:"هزینه ارسال با پست برای هر واحد محصول",min:0},null,8,["value"]),Rt]),_:1})):P("",!0),s(o,{class:"col-span-full",label:"توضیحات محصول"},{default:r(()=>[s(T,{value:a.description,"onUpdate:value":e[11]||(e[11]=n=>a.description=n),rows:"4",placeholder:"توضیحات محصول"},null,8,["value"])]),_:1}),p("div",Nt,[s(o,{label:"تصویر اصلی",class:"mb-0"},{default:r(()=>[s(g,{"file-list":B.value,"onUpdate:fileList":e[12]||(e[12]=n=>B.value=n),"before-upload":Ee,"custom-request":je,accept:"image/*","list-type":"picture-card","max-count":1},{default:r(()=>[B.value.length<1?(m(),x("div",zt,[s(d),Et])):P("",!0)]),_:1},8,["file-list"])]),_:1}),s(o,{label:"فایل‌های محصول",class:"mb-0"},{default:r(()=>[s(g,{"file-list":a.files,"onUpdate:fileList":e[13]||(e[13]=n=>a.files=n),"before-upload":Re,"custom-request":Ne,accept:"image/*",multiple:"","list-type":"picture-card"},{default:r(()=>[jt]),_:1},8,["file-list"])]),_:1})]),s(o,{class:"col-span-full",label:"ویژگی‌های محصول"},{default:r(()=>[p("div",qt,[(m(!0),x(J,null,Q(a.product_attributes,(n,I)=>{var _;return m(),x("div",{key:I,class:"product-form__attr-card px-3 py-2 border rounded-md"},[p("div",Ht,[p("span",Jt,"ویژگی "+de(I+1),1),s(C,{type:"link",danger:"",size:"small",onClick:h=>$e(I)},{default:r(()=>[A("حذف")]),_:2},1032,["onClick"])]),s(w,{value:n.is_new,"onUpdate:value":h=>n.is_new=h,size:"small",class:"product-form__radio-group mb-2",onChange:()=>Ce(n)},{default:r(()=>[s(U,{value:!1},{default:r(()=>[A("انتخاب از لیست")]),_:1}),s(U,{value:!0},{default:r(()=>[A("ویژگی جدید")]),_:1})]),_:2},1032,["value","onUpdate:value","onChange"]),n.is_new?(m(),L(u,{key:1,value:n.attribute_name,"onUpdate:value":h=>n.attribute_name=h,placeholder:"نام ویژگی جدید (مثلاً رنگ، سایز، جنس)",style:{width:"100%"},onChange:()=>Ve(n)},null,8,["value","onUpdate:value","onChange"])):(m(),L(v,{key:0,value:n.attribute_id,"onUpdate:value":h=>n.attribute_id=h,options:Ue(n.attribute_id),placeholder:"انتخاب ویژگی","show-search":"","filter-option":ne,style:{width:"100%"},onChange:()=>Ie(n)},null,8,["value","onUpdate:value","options","onChange"])),ae(n)?(m(),L(v,{key:2,value:n.attribute_values,"onUpdate:value":h=>n.attribute_values=h,options:he(n),placeholder:n.use_in_variant?"مقادیر ویژگی برای تنوع (می‌توانید مقدار جدید تایپ کنید)":"انتخاب مقدار ویژگی",mode:"tags",style:{width:"100%"},class:"mt-2"},null,8,["value","onUpdate:value","options","placeholder"])):P("",!0),n.use_in_variant&&!((_=n.attribute_values)!=null&&_.length)?(m(),x("div",Kt," حداقل یک مقدار برای این ویژگی تعریف کنید تا در تنوع‌ها قابل انتخاب باشد. ")):P("",!0),p("div",Wt,[s(k,{checked:n.use_in_product_page,"onUpdate:checked":h=>n.use_in_product_page=h,checkedChildren:"نمایش در صفحه محصول",unCheckedChildren:"مخفی"},null,8,["checked","onUpdate:checked"]),y.value?(m(),L(k,{key:0,checked:n.use_in_variant,"onUpdate:checked":h=>n.use_in_variant=h,checkedChildren:"استفاده در تنوع",unCheckedChildren:"بدون تنوع",onChange:()=>Pe(n)},null,8,["checked","onUpdate:checked","onChange"])):P("",!0)])])}),128)),s(C,{type:"dashed",block:"",onClick:Se},{default:r(()=>[A("+ افزودن ویژگی")]),_:1})])]),_:1}),y.value?(m(),L(o,{key:2,class:"col-span-full",label:"قیمت کلی محصول"},{default:r(()=>[s(c,{value:a.price,"onUpdate:value":e[14]||(e[14]=n=>a.price=n),style:{width:"100%","max-width":"240px"},placeholder:"قیمت کلی (تومان)",min:0},null,8,["value"]),Xt]),_:1})):P("",!0),y.value?(m(),L(o,{key:3,class:"col-span-full",label:"تخفیف کلی محصول"},{default:r(()=>[s(c,{value:a.discount,"onUpdate:value":e[15]||(e[15]=n=>a.discount=n),style:{width:"100%","max-width":"240px"},placeholder:"درصد تخفیف کلی",min:0,max:100},null,8,["value"]),Gt]),_:1})):P("",!0),y.value?(m(),L(o,{key:4,class:"col-span-full",label:"تنوع‌های محصول"},{default:r(()=>[p("div",Qt,[(m(!0),x(J,null,Q(a.variants,(n,I)=>(m(),x("div",{key:n.id??`new-${I}`,class:"product-form__variant-card border rounded-md p-3 bg-gray-50"},[p("div",Yt,[p("span",Zt,"تنوع "+de(I+1),1),s(C,{type:"link",danger:"",onClick:_=>Fe(I)},{default:r(()=>[A("حذف")]),_:2},1032,["onClick"])]),s(q,{gutter:[12,12]},{default:r(()=>[s(S,{xs:24,sm:24,md:8},{default:r(()=>[s(o,{label:"قیمت (تومان)",class:"mb-0"},{default:r(()=>[s(c,{value:n.price,"onUpdate:value":_=>n.price=_,style:{width:"100%"},min:0,placeholder:"خالی = قیمت کلی"},null,8,["value","onUpdate:value"])]),_:2},1024)]),_:2},1024),s(S,{xs:24,sm:24,md:8},{default:r(()=>[s(o,{label:"تخفیف % (اختیاری)",class:"mb-0"},{default:r(()=>[s(c,{value:n.discount,"onUpdate:value":_=>n.discount=_,style:{width:"100%"},min:0,max:100,placeholder:"خالی = تخفیف کلی"},null,8,["value","onUpdate:value"])]),_:2},1024)]),_:2},1024),s(S,{xs:24,sm:24,md:8},{default:r(()=>[s(o,{label:"موجودی",class:"mb-0"},{default:r(()=>[s(c,{value:n.stock,"onUpdate:value":_=>n.stock=_,style:{width:"100%"},min:0,placeholder:"موجودی"},null,8,["value","onUpdate:value"])]),_:2},1024)]),_:2},1024)]),_:2},1024),s(q,{gutter:[12,12],class:"mt-0"},{default:r(()=>[s(S,{xs:24,md:12},{default:r(()=>[s(o,{label:"کد SKU",class:"mb-0"},{default:r(()=>[s(u,{value:n.sku,"onUpdate:value":_=>n.sku=_,placeholder:"کد SKU"},null,8,["value","onUpdate:value"])]),_:2},1024)]),_:2},1024),s(S,{xs:24,md:12},{default:r(()=>[s(o,{label:"تنوع پیش‌فرض",class:"mb-0"},{default:r(()=>[p("div",ea,[s(k,{checked:n.is_default,"onUpdate:checked":_=>n.is_default=_,"checked-children":"بله","un-checked-children":"خیر",onChange:_=>Be(I,_)},null,8,["checked","onUpdate:checked","onChange"]),ta])]),_:2},1024)]),_:2},1024)]),_:2},1024),j.value.length?(m(),x("div",aa,[(m(!0),x(J,null,Q(j.value,_=>(m(),L(o,{key:ge(_),label:be(_),class:"mb-0"},{default:r(()=>[s(v,{value:le(n,_),options:we(_),style:{width:"100%"},placeholder:"انتخاب مقدار","allow-clear":"","onUpdate:value":h=>ke(n,_,h)},null,8,["value","options","onUpdate:value"])]),_:2},1032,["label"]))),128))])):(m(),x("div",la," ابتدا در بخش ویژگی‌ها، ویژگی با گزینه «استفاده در تنوع» و مقادیرش را تعریف کنید. "))]))),128)),s(C,{type:"dashed",block:"",onClick:se},{default:r(()=>[A("+ افزودن تنوع")]),_:1})])]),_:1})):P("",!0),p("div",na,[s(o,{label:"نمایش",class:"mb-0"},{default:r(()=>[s(k,{checked:a.is_show,"onUpdate:checked":e[16]||(e[16]=n=>a.is_show=n)},null,8,["checked"])]),_:1}),s(o,{label:"فعال",class:"mb-0"},{default:r(()=>[s(k,{checked:a.is_active,"onUpdate:checked":e[17]||(e[17]=n=>a.is_active=n)},null,8,["checked"])]),_:1}),s(o,{label:"موجود",class:"mb-0"},{default:r(()=>[s(k,{checked:a.is_exist,"onUpdate:checked":e[18]||(e[18]=n=>a.is_exist=n),disabled:y.value},null,8,["checked","disabled"])]),_:1})])]),_:1})]),_:1},8,["visible","title","confirmLoading"])])}}});const Ra=At(sa,[["__scopeId","data-v-10978585"]]);export{Ra as default};