2 lines
29 KiB
JavaScript
2 lines
29 KiB
JavaScript
import{_ as Xe}from"./BasicModal.vue_vue_type_style_index_0_lang-0121d908.js";import{_ as Ge,u as Qe}from"./useBaseTable-7b78293f.js";import{_ as Ye}from"./button.vue_vue_type_style_index_0_lang-dcd86e7a.js";import{I as re}from"./Icon-8dedfa53.js";import{t as Ze}from"./useDataTime-a337f5c6.js";import{g as R,e as H}from"./convert-2ad76038.js";import{_ as pe}from"./TextPreview.vue_vue_type_script_setup_true_lang-7903e918.js";import{u as et}from"./usePrice-bc935b83.js";import{b as n,d as tt,g as $,r as at,h as O,v as lt,l as it,o as _,c as U,a as p,w as r,e as L,j as G,H as nt,k as V,F as W,i as A,n as Q,D as f,bC as st,O as ot,P as rt,I as ue,t as de}from"./index-b0561d74.js";import{g as ut,u as dt,a as ct,b as pt,d as _t}from"./products-41389fdf.js";import{g as Y}from"./index-833169e4.js";import{g as mt}from"./category-a61e8cdd.js";import{g as ft}from"./brand-804dc39a.js";import{l as J}from"./lodash-9a3882db.js";import{M as vt,_ as gt}from"./index-12bdf78c.js";import{I as bt,b as ht}from"./index-d18c8f13.js";import{a as yt,b as wt}from"./index-93c22234.js";import{I as xt}from"./index-03f94f06.js";import{B as kt}from"./index-092c5981.js";import{_ as Ut,F as Ct}from"./index-5398304a.js";import{a as It,_ as Vt}from"./index-9a77c0e9.js";import{a as Pt}from"./index-482a46a3.js";import{U as $t}from"./index-2e6c7b29.js";import{T as ce}from"./isSymbol-a4291d99.js";import{_ as At}from"./_plugin-vue_export-helper-130a5518.js";import"./index-b7f1770d.js";import"./vnode-531f9d95.js";import"./updateLocale-b730d578.js";import"./index-bc659f42.js";import"./shallowequal-4f931fa5.js";import"./useState-94528018.js";import"./useMemo-0162b583.js";import"./FormItemContext-5520cb52.js";import"./omit-e6701bfc.js";import"./BaseSwitch.vue_vue_type_script_setup_true_lang-71825e72.js";import"./index-46f9dc77.js";import"./Badge-d2c862d8.js";import"./isNumeric-3f69e2aa.js";import"./index-7febe226.js";import"./index-5d725680.js";import"./index-840dd6b2.js";import"./textUtils-c37780ad.js";import"./supabaseTableQuery-8ab5665d.js";import"./DialogWrap-9c2d8a9c.js";import"./pickAttrs-69dd58a4.js";import"./styleChecker-d39a1d44.js";import"./SearchOutlined-ca6a4719.js";import"./isPlainObject-3a5eccde.js";import"./index-b618fa76.js";import"./index-2dc7fe57.js";import"./css-aae66f86.js";import"./toArray-1ab9b01c.js";import"./isMobile-e2e89480.js";import"./_flatRest-39f9ed6b.js";import"./Col-08664037.js";import"./index-ea044634.js";import"./useRefs-899ec8f3.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 K=R(b.record.original_image);return n("img",{src:K,width:60},null)}},{title:"عنوان",dataIndex:"title_fa",key:"title_fa"},{title:"کد",dataIndex:"code",key:"code"},{title:"توضیحات",dataIndex:"description",key:"description",customRender:b=>n(pe,{text:b.record.description},null)},{title:"قیمت (ریال)",dataIndex:"price",key:"price",align:"center",width:120,customRender:b=>et(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=>Ze(b.record.created_at)},{title:"عملیات",dataIndex:"action",key:"action",slot:"action",filterable:!1,align:"center"}],h=b=>(ot("data-v-c0be5c78"),b=b(),rt(),b),Mt={class:"flex justify-between items-center mb-4"},Ft=h(()=>p("h2",null,"محصولات",-1)),St={class:"gap-2 flex justify-center"},Bt=h(()=>p("span",null,"حذف",-1)),Dt=h(()=>p("span",null,"ویرایش",-1)),Tt={key:0,class:"text-gray-500 text-sm mt-1"},Ot=h(()=>p("div",{class:"text-gray-500 text-sm mt-1"}," حداکثر تعداد این محصول که کاربر در یک سفارش میتواند بخرد. ",-1)),Rt=h(()=>p("div",{class:"text-gray-500 text-sm mt-1"}," برای ارسال با پیک (داخل تهران) هزینه در زمان تحویل دریافت میشود. ",-1)),Nt=h(()=>p("div",{class:"text-gray-500 text-sm mt-1"}," برای ارسال با پیک (داخل تهران) هزینه در زمان تحویل دریافت میشود. ",-1)),qt=h(()=>p("div",{class:"text-gray-500 text-sm mt-1"}," حداکثر تعداد این محصول که کاربر در یک سفارش میتواند بخرد (مجموع همه تنوعها). ",-1)),zt={class:"col-span-full grid grid-cols-1 sm:grid-cols-2 gap-4"},Et={key:0},jt=h(()=>p("div",{style:{"margin-top":"8px"}},"آپلود",-1)),Ht=h(()=>p("div",null,"آپلود فایلها",-1)),Wt={class:"space-y-2"},Jt={class:"flex justify-between items-center gap-2 mb-2"},Kt={class:"text-sm text-gray-500"},Xt={key:3,class:"text-amber-600 text-sm mt-1"},Gt={class:"mt-2 flex flex-col sm:flex-row sm:flex-wrap gap-3"},Qt=h(()=>p("div",{class:"text-gray-500 text-sm mt-1"}," قیمت کلی بهصورت پیشفرض برای تمام تنوعها اعمال میشود. اگر برای یک تنوع قیمت جداگانه تعریف کنید، همان قیمت اولویت دارد. ",-1)),Yt=h(()=>p("div",{class:"text-gray-500 text-sm mt-1"}," تخفیف کلی روی تمام تنوعها اعمال میشود و در کارت محصول فروشگاه نمایش داده میشود. اگر برای یک تنوع تخفیف جداگانه تعریف کنید، همان تخفیف در صفحه محصول اولویت دارد. ",-1)),Zt={class:"space-y-3"},ea={class:"flex justify-between items-center gap-2 mb-2"},ta={class:"font-medium"},aa={class:"flex flex-col gap-2 sm:flex-row sm:items-center"},la=h(()=>p("span",{class:"text-gray-500 text-xs"},"نمایش این تنوع بهعنوان پیشفرض در صفحه محصول",-1)),ia={key:0,class:"mt-2 space-y-2"},na={key:1,class:"text-gray-500 text-sm mt-2"},sa={class:"col-span-full grid grid-cols-1 sm:grid-cols-3 gap-4"},oa=h(()=>p("span",null,"نمایش",-1)),ra=h(()=>p("div",{class:"text-xs text-gray-400 font-normal mt-0.5"},"نمایش در لیست و صفحه محصول فروشگاه",-1)),ua=h(()=>p("span",null,"فعال",-1)),da=h(()=>p("div",{class:"text-xs text-gray-400 font-normal mt-0.5"},"امکان افزودن به سبد و ثبت سفارش",-1)),ca=tt({__name:"index",setup(b){`${Y()||localStorage.getItem("tamin_token")||""}`;const[K,Z]=Qe(),_e=$({columns:Lt,api:ut,defaultPageLimit:20}),D=$(!1),N=$(!1),q=$(null),M=$(0),z=$(0),a=at({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,max_qty_per_order:null}),ee=$(),me=O(()=>ee.value.map(t=>({value:t.id,label:t.title}))),te=$(),fe=O(()=>te.value.map(t=>({value:t.id,label:t.title}))),S=$([]),w=O(()=>a.type==="variant"),ve=O(()=>S.value.map(t=>({value:t.id,label:t.name}))),E=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=S.value.find(s=>s.id===t.attribute_id))==null?void 0:l.name)??"ویژگی":"ویژگی"},he=t=>{if(t.is_new||t.attribute_id==null)return[];const e=S.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 s,u;if(typeof e=="string")return e;if(t.attribute_id==null)return String(e);const l=S.value.find(o=>o.id===t.attribute_id);return((u=(s=l==null?void 0:l.attribute_values)==null?void 0:s.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(s=>s!=null&&s!==""));return(t.attribute_values??[]).find(s=>l.has(s))},xe=(t,e,l)=>{const s=new Set((e.attribute_values??[]).filter(o=>o!=null&&o!=="")),u=(t.attribute_values??[]).filter(o=>o!=null&&!s.has(o));t.attribute_values=l!=null&&l!==""?[...u,l]:u},ke=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=ke(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 s;const e=(s=t.attribute_name)==null?void 0:s.trim().toLowerCase();if(!e)return;(a.product_attributes??[]).some(u=>{var o,v,C;return u!==t&&(!u.is_new&&((v=(o=S.value.find(x=>x.id===u.attribute_id))==null?void 0:o.name)==null?void 0:v.trim().toLowerCase())===e||u.is_new&&((C=u.attribute_name)==null?void 0:C.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)},ie=(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||ne():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(s=>Number(s.price??0)).filter(s=>s>0);if(!e.length)return;const l=e[0];return e.every(s=>s===l)?l:void 0}const Fe=()=>{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:!w.value,use_in_variant:w.value})},ne=()=>{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:[]})},Se=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((s,u)=>{s.is_default=u===t}):a.variants.some(s=>s.is_default)||(a.variants[0].is_default=!0))}const B=$([]);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,s;const e=((l=t.response)==null?void 0:l.path)??((s=t.response)==null?void 0:s.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 s=Te(l);return s?{type:"image",url:s}: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:s,onProgress:u}=t,o=new FormData;o.append("file",e);const v=`${ue}/upload/machartaa-img`;M.value++,await new Promise((C,x)=>{const d=new XMLHttpRequest;d.open("POST",v);const T=Y()||localStorage.getItem("tamin_token")||"";d.setRequestHeader("Authorization",`Bearer ${T}`),d.upload.onprogress=c=>{if(c.lengthComputable){const g=Math.round(c.loaded/c.total*100);u==null||u({percent:g})}},d.onload=()=>{if(d.status>=200&&d.status<300)try{const c=JSON.parse(d.responseText||"{}"),g=De(c);if(!g)throw new Error("مسیر فایل از سرور دریافت نشد");const I=R(g),k={uid:e.uid,name:e.name||"product_image.jpg",status:"done",url:I,response:{path:g}},F=(a.files??[]).findIndex(j=>j.uid===e.uid);F>=0?a.files[F]=k:a.files=[...a.files??[],k],l==null||l(c,d),f.success("فایل با موفقیت آپلود شد!"),C()}catch(c){s==null||s(c,d),x(c)}else{const c=new Error("خطا در آپلود فایل");s==null||s(c,d),x(c)}},d.onerror=()=>{const c=new Error("خطا در آپلود فایل");s==null||s(c,d),x(c)},d.onloadend=()=>{M.value=Math.max(0,M.value-1)},d.send(o)})}function qe(){Object.assign(a,J.cloneDeep(X),{type:"simple",product_attributes:[],variants:[],discount_type:"percent"}),B.value=[],N.value=!1,q.value=null,D.value=!0}function se(){Object.assign(a,X),D.value=!1}function ze(t){return t.type.startsWith("image/")?t.size/1024/1024<5?!0:(f.error("حجم تصویر باید کمتر از 5MB باشد"),!1):(f.error("فقط فایلهای تصویری مجاز است"),!1)}async function Ee(t){const{file:e,onSuccess:l,onError:s,onProgress:u}=t,o=new FormData;o.append("file",e);const v=`${ue}/upload/machartaa-img`;z.value=0,M.value++,await new Promise((C,x)=>{const d=new XMLHttpRequest;d.open("POST",v);const T=Y()||localStorage.getItem("tamin_token")||"";d.setRequestHeader("Authorization",`Bearer ${T}`),d.upload.onprogress=c=>{if(c.lengthComputable){const g=Math.round(c.loaded/c.total*100);z.value=g,u==null||u({percent:g})}},d.onload=()=>{if(z.value=100,d.status>=200&&d.status<300)try{const c=JSON.parse(d.responseText||"{}"),g=c.full_src||c.url||c.src||c.path||c.data&&(c.data.full_src||c.data.url||c.data.src||c.data.path)||"";let I=g;g!=null&&g.startsWith("http")&&(I=g.replace(/^https?:\/\/[^\/]+/,""));const k=R(I);a.original_image=I,B.value=k?[{uid:`${Date.now()}`,name:"products.jpg",status:"done",url:k,response:{path:I}}]:[],l==null||l(c,d),f.success("تصویر با موفقیت آپلود شد!"),C()}catch(c){s==null||s(c,d),x(c)}else{const c=new Error("خطا در آپلود تصویر");s==null||s(c,d),x(c)}},d.onerror=()=>{const c=new Error("خطا در آپلود کاور");s==null||s(c,d),x(c)},d.onloadend=()=>{M.value=Math.max(0,M.value-1),z.value=0},d.send(o)})}async function je(){var e;if(M.value>0){f.warning("لطفاً تا پایان آپلود صبر کنید");return}if((a.product_attributes??[]).find(l=>{var s;return l.is_new?!((s=l.attribute_name)!=null&&s.trim()):l.attribute_id==null})){f.error("برای هر ویژگی، نام یا انتخاب از لیست را تکمیل کنید");return}if(w.value){if(!((e=a.variants)!=null&&e.length)){f.error("حداقل یک تنوع برای محصول تعریف کنید");return}if(E.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:E.value.some(o=>le(u,o)==null))){f.error("برای هر تنوع، قیمت (یا قیمت کلی)، موجودی و مقادیر ویژگیها الزامی است");return}}else if(!a.price){f.error("قیمت محصول را وارد کنید");return}try{const l=J.cloneDeep(a);if(w.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&&q.value?(await dt(q.value,l),f.success("محصول با موفقیت ویرایش شد")):(await ct(l),f.success("محصول با موفقیت افزوده شد")),se(),await oe(),await Z()}catch(l){console.error("Error saving Product:",l),f.error("خطا در ذخیره محصول: "+(l.message||"خطای ناشناخته"))}}async function He(t){var e;X=J.cloneDeep(a),N.value=!0,q.value=t.id;try{const l=await pt(t.id);for(const s in a)l.hasOwnProperty(s)&&(a[s]=l[s]);a.type=(((e=l.variants)==null?void 0:e.length)??0)>0||l.type==="variant"?"variant":"simple",a.product_attributes=(l.product_attributes??[]).map(s=>{var u,o;return{...s,is_new:!1,attribute_name:((u=s.attributes)==null?void 0:u.name)??((o=s.attribute)==null?void 0:o.name)??"",temp_key:`temp_${s.attribute_id??s.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((s,u)=>({uid:`${u}`,name:`product_image${u}.jpg`,status:"done",url:R(s.url),response:{path:s.url}})):[],D.value=!0}catch(l){console.error("Error loading product:",l),f.error("خطا در بارگذاری اطلاعات محصول: "+(l.message||"خطای ناشناخته"))}}function We(t){vt.confirm({title:"حذف محصول",content:`آیا مطمئن هستید که میخواهید محصول "${t.title}" را حذف کنید؟`,okText:"بله، حذف کن",cancelText:"انصراف",okType:"danger",centered:!0,onOk:async()=>{try{await _t(t.id),f.success("محصول با موفقیت حذف شد"),await Z()}catch(e){console.error("Error deleting Product:",e),f.error("خطا در حذف محصول: "+(e.message||"خطای ناشناخته"))}}})}let X=J.cloneDeep(a);async function oe(){const{data:t,error:e}=await st.from("attributes").select("*, attribute_values(*)").order("id");if(e){console.error("Error loading features:",e),f.error("خطا در بارگذاری ویژگیها");return}S.value=t??[]}return lt(async()=>{te.value=await mt(),ee.value=await ft(),await oe()}),(t,e)=>{const l=Ye,s=Ge,u=bt,o=Ut,v=Pt,C=yt,x=wt,d=xt,T=ht,c=it("plus-outlined"),g=$t,I=kt,k=gt,F=It,j=Vt,Je=Ct,Ke=Xe;return _(),U("div",null,[p("div",Mt,[Ft,n(l,{type:"primary",onClick:qe},{default:r(()=>[L("افزودن محصول")]),_:1})]),n(s,nt(_e.value,{ref:"table",onRegister:G(K)}),{text:r(({record:i})=>[n(pe,{text:i.description},null,8,["text"])]),action:r(({record:i})=>[p("div",St,[n(G(ce),{class:"cursor-pointer"},{title:r(()=>[Bt]),default:r(()=>[n(re,{icon:"vuesax-linear:trash",color:"#DC2626",onClick:P=>We(i)},null,8,["onClick"])]),_:2},1024),n(G(ce),{class:"cursor-pointer"},{title:r(()=>[Dt]),default:r(()=>[n(re,{icon:"vuesax-linear:edit",color:"#1D4ED8",onClick:P=>He(i)},null,8,["onClick"])]),_:2},1024)])]),_:1},16,["onRegister"]),n(Ke,{visible:D.value,"onUpdate:visible":e[21]||(e[21]=i=>D.value=i),title:N.value?"ویرایش محصول":"افزودن محصول",onOk:je,onClose:e[22]||(e[22]=i=>se()),width:"80%","wrap-class-name":"product-modal-wrap",confirmLoading:M.value>0},{default:r(()=>[n(Je,{layout:"vertical",class:"product-form grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-3"},{default:r(()=>[n(o,{label:"عنوان فارسی",required:""},{default:r(()=>[n(u,{value:a.title_fa,"onUpdate:value":e[0]||(e[0]=i=>a.title_fa=i),placeholder:"عنوان فارسی محصول"},null,8,["value"])]),_:1}),n(o,{label:"عنوان انگلیسی"},{default:r(()=>[n(u,{value:a.title,"onUpdate:value":e[1]||(e[1]=i=>a.title=i),placeholder:"عنوان انگلیسی محصول"},null,8,["value"])]),_:1}),n(o,{label:"برند"},{default:r(()=>[n(v,{value:a.brand_id,"onUpdate:value":e[2]||(e[2]=i=>a.brand_id=i),placeholder:"انتخاب برند",options:me.value,"show-search":"","filter-option":ie},null,8,["value","options"])]),_:1}),n(o,{label:"کالکشن"},{default:r(()=>[n(v,{value:a.collection_id,"onUpdate:value":e[3]||(e[3]=i=>a.collection_id=i),placeholder:"انتخاب کالکشن",options:fe.value},null,8,["value","options"])]),_:1}),n(o,{label:"نوع محصول",class:"col-span-full"},{default:r(()=>[n(x,{value:a.type,"onUpdate:value":e[4]||(e[4]=i=>a.type=i),class:"product-form__radio-group",onChange:Ae},{default:r(()=>[n(C,{value:"simple"},{default:r(()=>[L("محصول ساده")]),_:1}),n(C,{value:"variant"},{default:r(()=>[L("محصول دارای تنوع")]),_:1})]),_:1},8,["value"]),w.value?(_(),U("div",Tt," در حالت تنوع، موجودی کلی محصول استفاده نمیشود. قیمت کلی بهصورت پیشفرض برای همه تنوعها اعمال میشود. ")):V("",!0)]),_:1}),w.value?V("",!0):(_(),U(W,{key:0},[n(o,{label:"قیمت (تومان)"},{default:r(()=>[n(d,{value:a.price,"onUpdate:value":e[5]||(e[5]=i=>a.price=i),style:{width:"100%"},placeholder:"قیمت را وارد کنید",min:0},null,8,["value"])]),_:1}),n(o,{label:"تخفیف %"},{default:r(()=>[n(d,{value:a.discount,"onUpdate:value":e[6]||(e[6]=i=>a.discount=i),style:{width:"100%"},placeholder:"درصد تخفیف را وارد کنید",min:0,max:100},null,8,["value"])]),_:1}),n(o,{label:"تعداد موجودی محصول"},{default:r(()=>[n(d,{value:a.count,"onUpdate:value":e[7]||(e[7]=i=>a.count=i),style:{width:"100%"},placeholder:"تعداد موجودی محصول را وارد کنید",min:0},null,8,["value"])]),_:1}),n(o,{label:"سقف خرید در هر سفارش"},{default:r(()=>[n(d,{value:a.max_qty_per_order,"onUpdate:value":e[8]||(e[8]=i=>a.max_qty_per_order=i),style:{width:"100%"},placeholder:"خالی = بدون محدودیت",min:1},null,8,["value"]),Ot]),_:1}),n(o,{label:"هزینه ارسال پستی (تومان)"},{default:r(()=>[n(d,{value:a.post_shipping_cost,"onUpdate:value":e[9]||(e[9]=i=>a.post_shipping_cost=i),style:{width:"100%"},placeholder:"هزینه ارسال با پست برای هر واحد",min:0},null,8,["value"]),Rt]),_:1})],64)),n(o,{label:"کد محصول"},{default:r(()=>[n(u,{value:a.code,"onUpdate:value":e[10]||(e[10]=i=>a.code=i),style:{width:"100%"},placeholder:"کد محصول را وارد کنید"},null,8,["value"])]),_:1}),w.value?(_(),A(o,{key:1,label:"هزینه ارسال پستی (تومان)",class:"col-span-full"},{default:r(()=>[n(d,{value:a.post_shipping_cost,"onUpdate:value":e[11]||(e[11]=i=>a.post_shipping_cost=i),style:{width:"100%"},placeholder:"هزینه ارسال با پست برای هر واحد محصول",min:0},null,8,["value"]),Nt]),_:1})):V("",!0),w.value?(_(),A(o,{key:2,label:"سقف خرید در هر سفارش",class:"col-span-full"},{default:r(()=>[n(d,{value:a.max_qty_per_order,"onUpdate:value":e[12]||(e[12]=i=>a.max_qty_per_order=i),style:{width:"100%"},placeholder:"خالی = بدون محدودیت",min:1},null,8,["value"]),qt]),_:1})):V("",!0),n(o,{class:"col-span-full",label:"توضیحات محصول"},{default:r(()=>[n(T,{value:a.description,"onUpdate:value":e[13]||(e[13]=i=>a.description=i),rows:"4",placeholder:"توضیحات محصول"},null,8,["value"])]),_:1}),p("div",zt,[n(o,{label:"تصویر اصلی",class:"mb-0"},{default:r(()=>[n(g,{"file-list":B.value,"onUpdate:fileList":e[14]||(e[14]=i=>B.value=i),"before-upload":ze,"custom-request":Ee,accept:"image/*","list-type":"picture-card","max-count":1},{default:r(()=>[B.value.length<1?(_(),U("div",Et,[n(c),jt])):V("",!0)]),_:1},8,["file-list"])]),_:1}),n(o,{label:"فایلهای محصول",class:"mb-0"},{default:r(()=>[n(g,{"file-list":a.files,"onUpdate:fileList":e[15]||(e[15]=i=>a.files=i),"before-upload":Re,"custom-request":Ne,accept:"image/*",multiple:"","list-type":"picture-card"},{default:r(()=>[Ht]),_:1},8,["file-list"])]),_:1})]),n(o,{class:"col-span-full",label:"ویژگیهای محصول"},{default:r(()=>[p("div",Wt,[(_(!0),U(W,null,Q(a.product_attributes,(i,P)=>{var m;return _(),U("div",{key:P,class:"product-form__attr-card px-3 py-2 border rounded-md"},[p("div",Jt,[p("span",Kt,"ویژگی "+de(P+1),1),n(I,{type:"link",danger:"",size:"small",onClick:y=>$e(P)},{default:r(()=>[L("حذف")]),_:2},1032,["onClick"])]),n(x,{value:i.is_new,"onUpdate:value":y=>i.is_new=y,size:"small",class:"product-form__radio-group mb-2",onChange:()=>Ce(i)},{default:r(()=>[n(C,{value:!1},{default:r(()=>[L("انتخاب از لیست")]),_:1}),n(C,{value:!0},{default:r(()=>[L("ویژگی جدید")]),_:1})]),_:2},1032,["value","onUpdate:value","onChange"]),i.is_new?(_(),A(u,{key:1,value:i.attribute_name,"onUpdate:value":y=>i.attribute_name=y,placeholder:"نام ویژگی جدید (مثلاً رنگ، سایز، جنس)",style:{width:"100%"},onChange:()=>Ve(i)},null,8,["value","onUpdate:value","onChange"])):(_(),A(v,{key:0,value:i.attribute_id,"onUpdate:value":y=>i.attribute_id=y,options:Ue(i.attribute_id),placeholder:"انتخاب ویژگی","show-search":"","filter-option":ie,style:{width:"100%"},onChange:()=>Ie(i)},null,8,["value","onUpdate:value","options","onChange"])),ae(i)?(_(),A(v,{key:2,value:i.attribute_values,"onUpdate:value":y=>i.attribute_values=y,options:he(i),placeholder:i.use_in_variant?"مقادیر ویژگی برای تنوع (میتوانید مقدار جدید تایپ کنید)":"انتخاب مقدار ویژگی",mode:"tags",style:{width:"100%"},class:"mt-2"},null,8,["value","onUpdate:value","options","placeholder"])):V("",!0),i.use_in_variant&&!((m=i.attribute_values)!=null&&m.length)?(_(),U("div",Xt," حداقل یک مقدار برای این ویژگی تعریف کنید تا در تنوعها قابل انتخاب باشد. ")):V("",!0),p("div",Gt,[n(k,{checked:i.use_in_product_page,"onUpdate:checked":y=>i.use_in_product_page=y,checkedChildren:"نمایش در صفحه محصول",unCheckedChildren:"مخفی"},null,8,["checked","onUpdate:checked"]),w.value?(_(),A(k,{key:0,checked:i.use_in_variant,"onUpdate:checked":y=>i.use_in_variant=y,checkedChildren:"استفاده در تنوع",unCheckedChildren:"بدون تنوع",onChange:()=>Pe(i)},null,8,["checked","onUpdate:checked","onChange"])):V("",!0)])])}),128)),n(I,{type:"dashed",block:"",onClick:Fe},{default:r(()=>[L("+ افزودن ویژگی")]),_:1})])]),_:1}),w.value?(_(),A(o,{key:3,class:"col-span-full",label:"قیمت کلی محصول"},{default:r(()=>[n(d,{value:a.price,"onUpdate:value":e[16]||(e[16]=i=>a.price=i),style:{width:"100%","max-width":"240px"},placeholder:"قیمت کلی (تومان)",min:0},null,8,["value"]),Qt]),_:1})):V("",!0),w.value?(_(),A(o,{key:4,class:"col-span-full",label:"تخفیف کلی محصول"},{default:r(()=>[n(d,{value:a.discount,"onUpdate:value":e[17]||(e[17]=i=>a.discount=i),style:{width:"100%","max-width":"240px"},placeholder:"درصد تخفیف کلی",min:0,max:100},null,8,["value"]),Yt]),_:1})):V("",!0),w.value?(_(),A(o,{key:5,class:"col-span-full",label:"تنوعهای محصول"},{default:r(()=>[p("div",Zt,[(_(!0),U(W,null,Q(a.variants,(i,P)=>(_(),U("div",{key:i.id??`new-${P}`,class:"product-form__variant-card border rounded-md p-3 bg-gray-50"},[p("div",ea,[p("span",ta,"تنوع "+de(P+1),1),n(I,{type:"link",danger:"",onClick:m=>Se(P)},{default:r(()=>[L("حذف")]),_:2},1032,["onClick"])]),n(j,{gutter:[12,12]},{default:r(()=>[n(F,{xs:24,sm:24,md:8},{default:r(()=>[n(o,{label:"قیمت (تومان)",class:"mb-0"},{default:r(()=>[n(d,{value:i.price,"onUpdate:value":m=>i.price=m,style:{width:"100%"},min:0,placeholder:"خالی = قیمت کلی"},null,8,["value","onUpdate:value"])]),_:2},1024)]),_:2},1024),n(F,{xs:24,sm:24,md:8},{default:r(()=>[n(o,{label:"تخفیف % (اختیاری)",class:"mb-0"},{default:r(()=>[n(d,{value:i.discount,"onUpdate:value":m=>i.discount=m,style:{width:"100%"},min:0,max:100,placeholder:"خالی = تخفیف کلی"},null,8,["value","onUpdate:value"])]),_:2},1024)]),_:2},1024),n(F,{xs:24,sm:24,md:8},{default:r(()=>[n(o,{label:"موجودی",class:"mb-0"},{default:r(()=>[n(d,{value:i.stock,"onUpdate:value":m=>i.stock=m,style:{width:"100%"},min:0,placeholder:"موجودی"},null,8,["value","onUpdate:value"])]),_:2},1024)]),_:2},1024)]),_:2},1024),n(j,{gutter:[12,12],class:"mt-0"},{default:r(()=>[n(F,{xs:24,md:12},{default:r(()=>[n(o,{label:"کد SKU",class:"mb-0"},{default:r(()=>[n(u,{value:i.sku,"onUpdate:value":m=>i.sku=m,placeholder:"کد SKU"},null,8,["value","onUpdate:value"])]),_:2},1024)]),_:2},1024),n(F,{xs:24,md:12},{default:r(()=>[n(o,{label:"تنوع پیشفرض",class:"mb-0"},{default:r(()=>[p("div",aa,[n(k,{checked:i.is_default,"onUpdate:checked":m=>i.is_default=m,"checked-children":"بله","un-checked-children":"خیر",onChange:m=>Be(P,m)},null,8,["checked","onUpdate:checked","onChange"]),la])]),_:2},1024)]),_:2},1024)]),_:2},1024),E.value.length?(_(),U("div",ia,[(_(!0),U(W,null,Q(E.value,m=>(_(),A(o,{key:ge(m),label:be(m),class:"mb-0"},{default:r(()=>[n(v,{value:le(i,m),options:we(m),style:{width:"100%"},placeholder:"انتخاب مقدار","allow-clear":"","onUpdate:value":y=>xe(i,m,y)},null,8,["value","options","onUpdate:value"])]),_:2},1032,["label"]))),128))])):(_(),U("div",na," ابتدا در بخش ویژگیها، ویژگی با گزینه «استفاده در تنوع» و مقادیرش را تعریف کنید. "))]))),128)),n(I,{type:"dashed",block:"",onClick:ne},{default:r(()=>[L("+ افزودن تنوع")]),_:1})])]),_:1})):V("",!0),p("div",sa,[n(o,{class:"mb-0"},{label:r(()=>[oa,ra]),default:r(()=>[n(k,{checked:a.is_show,"onUpdate:checked":e[18]||(e[18]=i=>a.is_show=i)},null,8,["checked"])]),_:1}),n(o,{class:"mb-0"},{label:r(()=>[ua,da]),default:r(()=>[n(k,{checked:a.is_active,"onUpdate:checked":e[19]||(e[19]=i=>a.is_active=i)},null,8,["checked"])]),_:1}),n(o,{label:"موجود",class:"mb-0"},{default:r(()=>[n(k,{checked:a.is_exist,"onUpdate:checked":e[20]||(e[20]=i=>a.is_exist=i),disabled:w.value},null,8,["checked","disabled"])]),_:1})])]),_:1})]),_:1},8,["visible","title","confirmLoading"])])}}});const fl=At(ca,[["__scopeId","data-v-c0be5c78"]]);export{fl as default};
|