2 lines
30 KiB
JavaScript
2 lines
30 KiB
JavaScript
import{_ as Xe}from"./BasicModal.vue_vue_type_style_index_0_lang-aed8f5e4.js";import{_ as Ge,u as Qe}from"./useBaseTable-e7a67916.js";import{_ as Ye}from"./button.vue_vue_type_style_index_0_lang-f90e25b2.js";import{I as re}from"./Icon-29e38d16.js";import{t as Ze}from"./useDataTime-6e234adb.js";import{g as N,e as H}from"./convert-2ad76038.js";import{_ as pe}from"./TextPreview.vue_vue_type_script_setup_true_lang-c3abc1fa.js";import{u as et}from"./usePrice-bc935b83.js";import{e as n,d as tt,i as $,h as at,j as R,x as lt,p as it,o as _,c as U,b as p,w as r,f as M,l as G,R as nt,n as V,F as W,k as A,q as Q,H as f,U as st,M as ot,N as rt,S as ue,t as de}from"./index-1ba0f9ec.js";import{g as ut,u as dt,a as ct,b as pt,d as _t}from"./products-4c984bbc.js";import{g as Y}from"./index-c4537a3b.js";import{g as mt}from"./category-d686bbd5.js";import{g as ft}from"./brand-df9b312b.js";import{l as J}from"./lodash-27f814e6.js";import{M as vt,_ as gt}from"./index-ec322234.js";import{I as bt,b as ht}from"./index-aafc0fe2.js";import{a as yt,b as wt}from"./index-e22339b6.js";import{B as xt}from"./index-8f2b7e91.js";import{_ as kt,F as Ut}from"./index-83b891e2.js";import{a as Ct,_ as It}from"./index-c136a321.js";import{_ as Vt}from"./index-e0664925.js";import{I as Pt}from"./index-f847a367.js";import{U as $t}from"./index-f4084f09.js";import{T as ce}from"./isSymbol-355a1404.js";import{_ as At}from"./_plugin-vue_export-helper-31e07528.js";import"./index-4bff02a6.js";import"./vnode-c4e67237.js";import"./updateLocale-a8654270.js";import"./shallowequal-e0d9eafb.js";import"./useState-dcd360f8.js";import"./useMemo-ee45fb46.js";import"./FormItemContext-33ef1221.js";import"./omit-f5d28cd3.js";import"./BaseSwitch.vue_vue_type_script_setup_true_lang-36a1ea6e.js";import"./index-c8127d4e.js";import"./Badge-8a8eeb58.js";import"./isNumeric-3f69e2aa.js";import"./index-a8579634.js";import"./index-73cafb1e.js";import"./index-175b83cf.js";import"./textUtils-c37780ad.js";import"./supabaseTableQuery-e0472e9c.js";import"./DialogWrap-394d7eb0.js";import"./pickAttrs-0ddf9a54.js";import"./styleChecker-19ce40ea.js";import"./SearchOutlined-95278fe5.js";import"./isPlainObject-e945bc1f.js";import"./index-876da578.js";import"./index-3f6d5caa.js";import"./LeftOutlined-93011b30.js";import"./css-aae66f86.js";import"./toArray-41940180.js";import"./_flatRest-7877cdf8.js";import"./Col-f8806a10.js";import"./isMobile-e2e89480.js";import"./index-65e13d19.js";import"./useRefs-5e33302c.js";const Mt=[{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=N(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-e0de308b"),b=b(),rt(),b),Lt={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)),Tt=h(()=>p("span",null,"ویرایش",-1)),Dt={key:0,class:"text-gray-500 text-sm mt-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)),Ot=h(()=>p("div",{class:"text-gray-500 text-sm mt-1"}," برای ارسال با پیک (داخل تهران) هزینه در زمان تحویل دریافت میشود. ",-1)),jt=h(()=>p("div",{class:"text-gray-500 text-sm mt-1"}," حداکثر تعداد این محصول که کاربر در یک سفارش میتواند بخرد (مجموع همه تنوعها). ",-1)),qt={class:"col-span-full grid grid-cols-1 sm:grid-cols-2 gap-4"},zt={key:0},Et=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:Mt,api:ut,defaultPageLimit:20}),T=$(!1),O=$(!1),j=$(null),L=$(0),q=$(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=R(()=>ee.value.map(t=>({value:t.id,label:t.title}))),te=$(),fe=R(()=>te.value.map(t=>({value:t.id,label:t.title}))),S=$([]),w=R(()=>a.type==="variant"),ve=R(()=>S.value.map(t=>({value:t.id,label:t.name}))),z=R(()=>(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 Me(t){const e=t.price!=null?Number(t.price):0;return e>0?e:Number(a.price??0)}function Le(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 Te(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 De(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 Re(){const t=(a.files??[]).filter(l=>l.status==="done").map(l=>{const s=De(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 Ne(t){return t.type.startsWith("image/")?t.size/1024/1024<5?!0:(f.error("حجم تصویر باید کمتر از 5MB باشد"),!1):(f.error("فقط فایلهای تصویری مجاز است"),!1)}async function Oe(t){const{file:e,onSuccess:l,onError:s,onProgress:u}=t,o=new FormData;o.append("file",e);const v=`${ue}/upload/machartaa-img`;L.value++,await new Promise((C,x)=>{const d=new XMLHttpRequest;d.open("POST",v);const D=Y()||localStorage.getItem("tamin_token")||"";d.setRequestHeader("Authorization",`Bearer ${D}`),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=Te(c);if(!g)throw new Error("مسیر فایل از سرور دریافت نشد");const I=N(g),k={uid:e.uid,name:e.name||"product_image.jpg",status:"done",url:I,response:{path:g}},F=(a.files??[]).findIndex(E=>E.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=()=>{L.value=Math.max(0,L.value-1)},d.send(o)})}function je(){Object.assign(a,J.cloneDeep(X),{type:"simple",product_attributes:[],variants:[],discount_type:"percent"}),B.value=[],O.value=!1,j.value=null,T.value=!0}function se(){Object.assign(a,X),T.value=!1}function qe(t){return t.type.startsWith("image/")?t.size/1024/1024<5?!0:(f.error("حجم تصویر باید کمتر از 5MB باشد"),!1):(f.error("فقط فایلهای تصویری مجاز است"),!1)}async function ze(t){const{file:e,onSuccess:l,onError:s,onProgress:u}=t,o=new FormData;o.append("file",e);const v=`${ue}/upload/machartaa-img`;q.value=0,L.value++,await new Promise((C,x)=>{const d=new XMLHttpRequest;d.open("POST",v);const D=Y()||localStorage.getItem("tamin_token")||"";d.setRequestHeader("Authorization",`Bearer ${D}`),d.upload.onprogress=c=>{if(c.lengthComputable){const g=Math.round(c.loaded/c.total*100);q.value=g,u==null||u({percent:g})}},d.onload=()=>{if(q.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=N(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=()=>{L.value=Math.max(0,L.value-1),q.value=0},d.send(o)})}async function Ee(){var e;if(L.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(z.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=>!Me(u)||u.stock==null?!0:z.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=Re(),O.value&&j.value?(await dt(j.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),O.value=!0,j.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=Le(a.variants)),B.value=l.original_image?[{uid:"-1",name:"original_image.jpg",status:"done",url:N(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:N(s.url),response:{path:s.url}})):[],T.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(){try{const t=await st("attributes",{select:["*","attribute_values(*)"],order:"id",limit:5e3,page:1});S.value=t.rows??[]}catch(t){console.error("Error loading features:",t),f.error("خطا در بارگذاری ویژگیها")}}return lt(async()=>{te.value=await mt(),ee.value=await ft(),await oe()}),(t,e)=>{const l=Ye,s=Ge,u=bt,o=kt,v=Vt,C=yt,x=wt,d=Pt,D=ht,c=it("plus-outlined"),g=$t,I=xt,k=gt,F=Ct,E=It,Je=Ut,Ke=Xe;return _(),U("div",null,[p("div",Lt,[Ft,n(l,{type:"primary",onClick:je},{default:r(()=>[M("افزودن محصول")]),_: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(()=>[Tt]),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:T.value,"onUpdate:visible":e[21]||(e[21]=i=>T.value=i),title:O.value?"ویرایش محصول":"افزودن محصول",onOk:Ee,onClose:e[22]||(e[22]=i=>se()),width:"80%","wrap-class-name":"product-modal-wrap",confirmLoading:L.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(()=>[M("محصول ساده")]),_:1}),n(C,{value:"variant"},{default:r(()=>[M("محصول دارای تنوع")]),_:1})]),_:1},8,["value"]),w.value?(_(),U("div",Dt," در حالت تنوع، موجودی کلی محصول استفاده نمیشود. قیمت کلی بهصورت پیشفرض برای همه تنوعها اعمال میشود. ")):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"]),Rt]),_: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"]),Nt]),_: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"]),Ot]),_: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"]),jt]),_:1})):V("",!0),n(o,{class:"col-span-full",label:"توضیحات محصول"},{default:r(()=>[n(D,{value:a.description,"onUpdate:value":e[13]||(e[13]=i=>a.description=i),rows:"4",placeholder:"توضیحات محصول"},null,8,["value"])]),_:1}),p("div",qt,[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":qe,"custom-request":ze,accept:"image/jpeg,image/png,image/webp,image/gif,image/heic,image/heif,.jpg,.jpeg,.png,.webp,.gif,.heic,.heif","list-type":"picture-card","max-count":1},{default:r(()=>[B.value.length<1?(_(),U("div",zt,[n(c),Et])):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":Ne,"custom-request":Oe,accept:"image/jpeg,image/png,image/webp,image/gif,image/heic,image/heif,.jpg,.jpeg,.png,.webp,.gif,.heic,.heif",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(()=>[M("حذف")]),_: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(()=>[M("انتخاب از لیست")]),_:1}),n(C,{value:!0},{default:r(()=>[M("ویژگی جدید")]),_: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(()=>[M("+ افزودن ویژگی")]),_: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(()=>[M("حذف")]),_:2},1032,["onClick"])]),n(E,{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(E,{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),z.value.length?(_(),U("div",ia,[(_(!0),U(W,null,Q(z.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(()=>[M("+ افزودن تنوع")]),_: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-e0de308b"]]);export{fl as default};
|