2 lines
26 KiB
JavaScript
2 lines
26 KiB
JavaScript
import{_ as Ke}from"./BasicModal.vue_vue_type_style_index_0_lang-24a8261d.js";import{_ as We,u as Xe}from"./useBaseTable-bc56de40.js";import{_ as Ge,B as Qe}from"./button.vue_vue_type_style_index_0_lang-269c10bc.js";import{I as re}from"./Icon-5ac7beab.js";import{t as Ye}from"./useDataTime-019cb3de.js";import{g as R,e as H}from"./convert-67c23be8.js";import{_ as pe}from"./TextPreview.vue_vue_type_script_setup_true_lang-313a557c.js";import{u as Ze}from"./usePrice-bc935b83.js";import{b as s,d as et,g as V,r as tt,h as O,v as at,l as lt,o as f,c as k,a as m,w as r,e as P,j as G,G as nt,k as $,F as J,i as S,n as Q,D as _,X as st,J as it,K as ot,H as ue,t as de}from"./index-04b55c40.js";import{g as rt,u as ut,a as dt,b as ct,d as pt}from"./products-f11cc3d1.js";import{g as Y}from"./index-299f8be1.js";import{g as _t}from"./category-7b0c6c6b.js";import{g as mt}from"./brand-6452b95f.js";import{l as K}from"./lodash-dbb8cc00.js";import{M as ft,_ as vt}from"./index-17a7fb53.js";import{I as gt,_ as bt}from"./index-29f614ac.js";import{_ as ht,a as yt}from"./index-e7b6e87e.js";import{_ as wt}from"./index-130b526e.js";import{_ as kt,F as xt}from"./index-eba6ba57.js";import{_ as Ut,a as Ct}from"./index-dc39c1d3.js";import{S as It}from"./fa_IR-c20f3d35.js";import{U as Vt}from"./index-fc7d0edb.js";import{T as ce}from"./shallowequal-a10dc291.js";import{_ as Pt}from"./_plugin-vue_export-helper-d788f94f.js";import"./index-2eb63a34.js";import"./vnode-eb3fa2ea.js";import"./Col-2c8be909.js";import"./useState-5006a98d.js";import"./FormItemContext-b8bdc53c.js";import"./pickAttrs-09c7999b.js";import"./isPlainObject-3ea83e08.js";import"./toArray-20a77219.js";import"./useRefs-69caa28d.js";const $t=[{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=>Ze(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=>Ye(b.record.created_at)},{title:"عملیات",dataIndex:"action",key:"action",slot:"action",filterable:!1,align:"center"}],A=b=>(it("data-v-aa13c6fc"),b=b(),ot(),b),At={class:"flex justify-between items-center mb-4"},Lt=A(()=>m("h2",null,"محصولات",-1)),Mt={class:"gap-2 flex justify-center"},St=A(()=>m("span",null,"حذف",-1)),Ft=A(()=>m("span",null,"ویرایش",-1)),Bt={key:0,class:"text-gray-500 text-sm mt-1"},Dt=A(()=>m("div",{class:"text-gray-500 text-sm mt-1"}," برای ارسال با پیک (داخل تهران) هزینه در زمان تحویل دریافت میشود. ",-1)),Tt=A(()=>m("div",{class:"text-gray-500 text-sm mt-1"}," برای ارسال با پیک (داخل تهران) هزینه در زمان تحویل دریافت میشود. ",-1)),Ot={class:"col-span-full grid grid-cols-1 sm:grid-cols-2 gap-4"},Rt={key:0},Nt=A(()=>m("div",{style:{"margin-top":"8px"}},"آپلود",-1)),zt=A(()=>m("div",null,"آپلود فایلها",-1)),jt={class:"space-y-2"},qt={class:"flex justify-between items-center gap-2 mb-2"},Et={class:"text-sm text-gray-500"},Ht={key:3,class:"text-amber-600 text-sm mt-1"},Jt={class:"mt-2 flex flex-col sm:flex-row sm:flex-wrap gap-3"},Kt=A(()=>m("div",{class:"text-gray-500 text-sm mt-1"}," تخفیف کلی روی تمام تنوعها اعمال میشود و در کارت محصول فروشگاه نمایش داده میشود. اگر برای یک تنوع تخفیف جداگانه تعریف کنید، همان تخفیف در صفحه محصول اولویت دارد. ",-1)),Wt={class:"space-y-3"},Xt={class:"flex justify-between items-center gap-2 mb-2"},Gt={class:"font-medium"},Qt={class:"flex flex-col gap-2 sm:flex-row sm:items-center"},Yt=A(()=>m("span",{class:"text-gray-500 text-xs"},"نمایش این تنوع بهعنوان پیشفرض در صفحه محصول",-1)),Zt={key:0,class:"mt-2 space-y-2"},ea={key:1,class:"text-gray-500 text-sm mt-2"},ta={class:"col-span-full grid grid-cols-1 sm:grid-cols-3 gap-4"},aa=et({__name:"index",setup(b){`${Y()||localStorage.getItem("tamin_token")||""}`;const[W,Z]=Xe(),_e=V({columns:$t,api:rt,defaultPageLimit:20}),D=V(!1),N=V(!1),z=V(null),L=V(0),j=V(0),l=tt({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([]),x=O(()=>l.type==="variant"),ve=O(()=>F.value.map(t=>({value:t.id,label:t.name}))),q=O(()=>(l.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,a;return t.is_new&&((e=t.attribute_name)!=null&&e.trim())?t.attribute_name.trim():t.attribute_id!=null?((a=F.value.find(i=>i.id===t.attribute_id))==null?void 0:a.name)??"ویژگی":"ویژگی"},he=t=>{if(t.is_new||t.attribute_id==null)return[];const e=F.value.find(a=>a.id===t.attribute_id);return((e==null?void 0:e.attribute_values)??[]).map(a=>({value:a.id,label:a.value}))},ye=(t,e)=>{var i,u;if(typeof e=="string")return e;if(t.attribute_id==null)return String(e);const a=F.value.find(o=>o.id===t.attribute_id);return((u=(i=a==null?void 0:a.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 a=new Set((e.attribute_values??[]).filter(i=>i!=null&&i!==""));return(t.attribute_values??[]).find(i=>a.has(i))},ke=(t,e,a)=>{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=a!=null&&a!==""?[...u,a]:u},xe=t=>new Set((l.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(a=>!e.has(a.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;(l.product_attributes??[]).some(u=>{var o,v,U;return u!==t&&(!u.is_new&&((v=(o=F.value.find(y=>y.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)})&&(_.warning("این نام ویژگی قبلاً در محصول استفاده شده است"),t.attribute_name="")}function Pe(t){if(!t.use_in_variant){const e=new Set((l.variants??[]).flatMap(a=>a.attribute_values??[]));t.attribute_values=(t.attribute_values??[]).filter(a=>!e.has(a))}}const $e=t=>{var e;(e=l.product_attributes)==null||e.splice(t,1)},ne=(t,e)=>((e==null?void 0:e.label)??"").toLowerCase().includes(t.toLowerCase());function Ae(){var t;l.type==="variant"?(t=l.variants)!=null&&t.length||se():l.variants=[]}const Le=()=>{var t;(t=l.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:!x.value,use_in_variant:x.value})},se=()=>{l.variants||(l.variants=[]),l.variants.push({id:null,sku:"",price:0,box_price:0,stock:0,discount:void 0,discount_type:"percent",is_default:l.variants.length===0,attribute_values:[],attribute_values_name:[]})},Me=t=>{var e,a;(e=l.variants)==null||e.splice(t,1),((a=l.variants)==null?void 0:a.length)===1&&(l.variants[0].is_default=!0)};function Se(t,e){var a;(a=l.variants)!=null&&a.length&&(e?l.variants.forEach((i,u)=>{i.is_default=u===t}):l.variants.some(i=>i.is_default)||(l.variants[0].is_default=!0))}const B=V([]);function Fe(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 Be(t){var a,i;const e=((a=t.response)==null?void 0:a.path)??((i=t.response)==null?void 0:i.url);return e?H(e):t.url&&!String(t.url).startsWith("blob:")?H(t.url):""}function De(){const t=(l.files??[]).filter(a=>a.status==="done").map(a=>{const i=Be(a);return i?{type:"image",url:i}:null}).filter(a=>a!=null),e=[];return l.original_image&&e.push({type:"image",url:H(l.original_image)}),[...e,...t]}function Te(t){return t.type.startsWith("image/")?t.size/1024/1024<5?!0:(_.error("حجم تصویر باید کمتر از 5MB باشد"),!1):(_.error("فقط فایلهای تصویری مجاز است"),!1)}async function Oe(t){const{file:e,onSuccess:a,onError:i,onProgress:u}=t,o=new FormData;o.append("file",e);const v=`${ue}/upload/machartaa-img`;L.value++,await new Promise((U,y)=>{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=Fe(d);if(!g)throw new Error("مسیر فایل از سرور دریافت نشد");const C=R(g),w={uid:e.uid,name:e.name||"product_image.jpg",status:"done",url:C,response:{path:g}},M=(l.files??[]).findIndex(E=>E.uid===e.uid);M>=0?l.files[M]=w:l.files=[...l.files??[],w],a==null||a(d,c),_.success("فایل با موفقیت آپلود شد!"),U()}catch(d){i==null||i(d,c),y(d)}else{const d=new Error("خطا در آپلود فایل");i==null||i(d,c),y(d)}},c.onerror=()=>{const d=new Error("خطا در آپلود فایل");i==null||i(d,c),y(d)},c.onloadend=()=>{L.value=Math.max(0,L.value-1)},c.send(o)})}function Re(){Object.assign(l,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(l,X),D.value=!1}function Ne(t){return t.type.startsWith("image/")?t.size/1024/1024<5?!0:(_.error("حجم تصویر باید کمتر از 5MB باشد"),!1):(_.error("فقط فایلهای تصویری مجاز است"),!1)}async function ze(t){const{file:e,onSuccess:a,onError:i,onProgress:u}=t,o=new FormData;o.append("file",e);const v=`${ue}/upload/machartaa-img`;j.value=0,L.value++,await new Promise((U,y)=>{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);j.value=g,u==null||u({percent:g})}},c.onload=()=>{if(j.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 w=R(C);l.original_image=C,B.value=w?[{uid:`${Date.now()}`,name:"products.jpg",status:"done",url:w,response:{path:C}}]:[],a==null||a(d,c),_.success("تصویر با موفقیت آپلود شد!"),U()}catch(d){i==null||i(d,c),y(d)}else{const d=new Error("خطا در آپلود تصویر");i==null||i(d,c),y(d)}},c.onerror=()=>{const d=new Error("خطا در آپلود کاور");i==null||i(d,c),y(d)},c.onloadend=()=>{L.value=Math.max(0,L.value-1),j.value=0},c.send(o)})}async function je(){var e;if(L.value>0){_.warning("لطفاً تا پایان آپلود صبر کنید");return}if((l.product_attributes??[]).find(a=>{var i;return a.is_new?!((i=a.attribute_name)!=null&&i.trim()):a.attribute_id==null})){_.error("برای هر ویژگی، نام یا انتخاب از لیست را تکمیل کنید");return}if(x.value){if(!((e=l.variants)!=null&&e.length)){_.error("حداقل یک تنوع برای محصول تعریف کنید");return}if(q.value.some(u=>{var o;return!((o=u.attribute_values)!=null&&o.filter(v=>v!=null&&v!=="").length)})){_.error("برای هر ویژگی تنوع، حداقل یک مقدار در بخش ویژگیها تعریف کنید");return}if(l.variants.find(u=>!u.price||u.stock==null?!0:q.value.some(o=>le(u,o)==null))){_.error("برای هر تنوع، قیمت، موجودی و مقادیر ویژگیها الزامی است");return}}else if(!l.price){_.error("قیمت محصول را وارد کنید");return}try{const a=K.cloneDeep(l);if(x.value){const u=(l.variants??[]).map(o=>Number(o.stock??0));a.discount_type=a.discount?"percent":null,a.count=u.reduce((o,v)=>o+v,0),a.is_exist=u.some(o=>o>0)}else a.variants=[],a.discount_type=a.discount?"percent":null;if((l.files??[]).some(u=>u.status==="uploading")){_.warning("لطفاً تا پایان آپلود فایلهای محصول صبر کنید");return}a.files=De(),N.value&&z.value?(await ut(z.value,a),_.success("محصول با موفقیت ویرایش شد")):(await dt(a),_.success("محصول با موفقیت افزوده شد")),ie(),await oe(),await Z()}catch(a){console.error("Error saving Product:",a),_.error("خطا در ذخیره محصول: "+(a.message||"خطای ناشناخته"))}}async function qe(t){var e;X=K.cloneDeep(l),N.value=!0,z.value=t.id;try{const a=await ct(t.id);for(const i in l)a.hasOwnProperty(i)&&(l[i]=a[i]);l.type=(((e=a.variants)==null?void 0:e.length)??0)>0||a.type==="variant"?"variant":"simple",l.product_attributes=(a.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()}`}}),l.variants=a.variants??[],l.discount_type=a.discount_type??"percent",B.value=a.original_image?[{uid:"-1",name:"original_image.jpg",status:"done",url:R(a.original_image),response:{path:a.original_image}}]:[],l.files=Array.isArray(a.files)?a.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(a){console.error("Error loading product:",a),_.error("خطا در بارگذاری اطلاعات محصول: "+(a.message||"خطای ناشناخته"))}}function Ee(t){ft.confirm({title:"حذف محصول",content:`آیا مطمئن هستید که میخواهید محصول "${t.title}" را حذف کنید؟`,okText:"بله، حذف کن",cancelText:"انصراف",okType:"danger",centered:!0,onOk:async()=>{try{await pt(t.id),_.success("محصول با موفقیت حذف شد"),await Z()}catch(e){console.error("Error deleting Product:",e),_.error("خطا در حذف محصول: "+(e.message||"خطای ناشناخته"))}}})}let X=K.cloneDeep(l);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),_.error("خطا در بارگذاری ویژگیها");return}F.value=t??[]}return at(async()=>{te.value=await _t(),ee.value=await mt(),await oe()}),(t,e)=>{const a=Ge,i=We,u=gt,o=kt,v=It,U=ht,y=yt,c=wt,T=bt,d=lt("plus-outlined"),g=Vt,C=Qe,w=vt,M=Ut,E=Ct,He=xt,Je=Ke;return f(),k("div",null,[m("div",At,[Lt,s(a,{type:"primary",onClick:Re},{default:r(()=>[P("افزودن محصول")]),_:1})]),s(i,nt(_e.value,{ref:"table",onRegister:G(W)}),{text:r(({record:n})=>[s(pe,{text:n.description},null,8,["text"])]),action:r(({record:n})=>[m("div",Mt,[s(G(ce),{class:"cursor-pointer"},{title:r(()=>[St]),default:r(()=>[s(re,{icon:"vuesax-linear:trash",color:"#DC2626",onClick:I=>Ee(n)},null,8,["onClick"])]),_:2},1024),s(G(ce),{class:"cursor-pointer"},{title:r(()=>[Ft]),default:r(()=>[s(re,{icon:"vuesax-linear:edit",color:"#1D4ED8",onClick:I=>qe(n)},null,8,["onClick"])]),_:2},1024)])]),_:1},16,["onRegister"]),s(Je,{visible:D.value,"onUpdate:visible":e[18]||(e[18]=n=>D.value=n),title:N.value?"ویرایش محصول":"افزودن محصول",onOk:je,onClose:e[19]||(e[19]=n=>ie()),width:"80%","wrap-class-name":"product-modal-wrap",confirmLoading:L.value>0},{default:r(()=>[s(He,{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:l.title_fa,"onUpdate:value":e[0]||(e[0]=n=>l.title_fa=n),placeholder:"عنوان فارسی محصول"},null,8,["value"])]),_:1}),s(o,{label:"عنوان انگلیسی"},{default:r(()=>[s(u,{value:l.title,"onUpdate:value":e[1]||(e[1]=n=>l.title=n),placeholder:"عنوان انگلیسی محصول"},null,8,["value"])]),_:1}),s(o,{label:"برند"},{default:r(()=>[s(v,{value:l.brand_id,"onUpdate:value":e[2]||(e[2]=n=>l.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:l.collection_id,"onUpdate:value":e[3]||(e[3]=n=>l.collection_id=n),placeholder:"انتخاب کالکشن",options:fe.value},null,8,["value","options"])]),_:1}),s(o,{label:"نوع محصول",class:"col-span-full"},{default:r(()=>[s(y,{value:l.type,"onUpdate:value":e[4]||(e[4]=n=>l.type=n),class:"product-form__radio-group",onChange:Ae},{default:r(()=>[s(U,{value:"simple"},{default:r(()=>[P("محصول ساده")]),_:1}),s(U,{value:"variant"},{default:r(()=>[P("محصول دارای تنوع")]),_:1})]),_:1},8,["value"]),x.value?(f(),k("div",Bt," در حالت تنوع، قیمت و موجودی کلی محصول استفاده نمیشود و برای هر تنوع جداگانه تعریف میشود. ")):$("",!0)]),_:1}),x.value?$("",!0):(f(),k(J,{key:0},[s(o,{label:"قیمت (تومان)"},{default:r(()=>[s(c,{value:l.price,"onUpdate:value":e[5]||(e[5]=n=>l.price=n),style:{width:"100%"},placeholder:"قیمت را وارد کنید",min:0},null,8,["value"])]),_:1}),s(o,{label:"تخفیف %"},{default:r(()=>[s(c,{value:l.discount,"onUpdate:value":e[6]||(e[6]=n=>l.discount=n),style:{width:"100%"},placeholder:"درصد تخفیف را وارد کنید",min:0,max:100},null,8,["value"])]),_:1}),s(o,{label:"تعداد موجودی محصول"},{default:r(()=>[s(c,{value:l.count,"onUpdate:value":e[7]||(e[7]=n=>l.count=n),style:{width:"100%"},placeholder:"تعداد موجودی محصول را وارد کنید",min:0},null,8,["value"])]),_:1}),s(o,{label:"هزینه ارسال پستی (تومان)"},{default:r(()=>[s(c,{value:l.post_shipping_cost,"onUpdate:value":e[8]||(e[8]=n=>l.post_shipping_cost=n),style:{width:"100%"},placeholder:"هزینه ارسال با پست برای هر واحد",min:0},null,8,["value"]),Dt]),_:1})],64)),s(o,{label:"کد محصول"},{default:r(()=>[s(u,{value:l.code,"onUpdate:value":e[9]||(e[9]=n=>l.code=n),style:{width:"100%"},placeholder:"کد محصول را وارد کنید"},null,8,["value"])]),_:1}),x.value?(f(),S(o,{key:1,label:"هزینه ارسال پستی (تومان)",class:"col-span-full"},{default:r(()=>[s(c,{value:l.post_shipping_cost,"onUpdate:value":e[10]||(e[10]=n=>l.post_shipping_cost=n),style:{width:"100%"},placeholder:"هزینه ارسال با پست برای هر واحد محصول",min:0},null,8,["value"]),Tt]),_:1})):$("",!0),s(o,{class:"col-span-full",label:"توضیحات محصول"},{default:r(()=>[s(T,{value:l.description,"onUpdate:value":e[11]||(e[11]=n=>l.description=n),rows:"4",placeholder:"توضیحات محصول"},null,8,["value"])]),_:1}),m("div",Ot,[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":Ne,"custom-request":ze,accept:"image/*","list-type":"picture-card","max-count":1},{default:r(()=>[B.value.length<1?(f(),k("div",Rt,[s(d),Nt])):$("",!0)]),_:1},8,["file-list"])]),_:1}),s(o,{label:"فایلهای محصول",class:"mb-0"},{default:r(()=>[s(g,{"file-list":l.files,"onUpdate:fileList":e[13]||(e[13]=n=>l.files=n),"before-upload":Te,"custom-request":Oe,accept:"image/*",multiple:"","list-type":"picture-card"},{default:r(()=>[zt]),_:1},8,["file-list"])]),_:1})]),s(o,{class:"col-span-full",label:"ویژگیهای محصول"},{default:r(()=>[m("div",jt,[(f(!0),k(J,null,Q(l.product_attributes,(n,I)=>{var p;return f(),k("div",{key:I,class:"product-form__attr-card px-3 py-2 border rounded-md"},[m("div",qt,[m("span",Et,"ویژگی "+de(I+1),1),s(C,{type:"link",danger:"",size:"small",onClick:h=>$e(I)},{default:r(()=>[P("حذف")]),_:2},1032,["onClick"])]),s(y,{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(()=>[P("انتخاب از لیست")]),_:1}),s(U,{value:!0},{default:r(()=>[P("ویژگی جدید")]),_:1})]),_:2},1032,["value","onUpdate:value","onChange"]),n.is_new?(f(),S(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"])):(f(),S(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)?(f(),S(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"])):$("",!0),n.use_in_variant&&!((p=n.attribute_values)!=null&&p.length)?(f(),k("div",Ht," حداقل یک مقدار برای این ویژگی تعریف کنید تا در تنوعها قابل انتخاب باشد. ")):$("",!0),m("div",Jt,[s(w,{checked:n.use_in_product_page,"onUpdate:checked":h=>n.use_in_product_page=h,checkedChildren:"نمایش در صفحه محصول",unCheckedChildren:"مخفی"},null,8,["checked","onUpdate:checked"]),x.value?(f(),S(w,{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"])):$("",!0)])])}),128)),s(C,{type:"dashed",block:"",onClick:Le},{default:r(()=>[P("+ افزودن ویژگی")]),_:1})])]),_:1}),x.value?(f(),S(o,{key:2,class:"col-span-full",label:"تخفیف کلی محصول"},{default:r(()=>[s(c,{value:l.discount,"onUpdate:value":e[14]||(e[14]=n=>l.discount=n),style:{width:"100%","max-width":"240px"},placeholder:"درصد تخفیف کلی",min:0,max:100},null,8,["value"]),Kt]),_:1})):$("",!0),x.value?(f(),S(o,{key:3,class:"col-span-full",label:"تنوعهای محصول"},{default:r(()=>[m("div",Wt,[(f(!0),k(J,null,Q(l.variants,(n,I)=>(f(),k("div",{key:I,class:"product-form__variant-card border rounded-md p-3 bg-gray-50"},[m("div",Xt,[m("span",Gt,"تنوع "+de(I+1),1),s(C,{type:"link",danger:"",onClick:p=>Me(I)},{default:r(()=>[P("حذف")]),_:2},1032,["onClick"])]),s(E,{gutter:[12,12]},{default:r(()=>[s(M,{xs:24,sm:24,md:8},{default:r(()=>[s(o,{label:"قیمت (تومان)",class:"mb-0"},{default:r(()=>[s(c,{value:n.price,"onUpdate:value":p=>n.price=p,style:{width:"100%"},min:0,placeholder:"قیمت"},null,8,["value","onUpdate:value"])]),_:2},1024)]),_:2},1024),s(M,{xs:24,sm:24,md:8},{default:r(()=>[s(o,{label:"تخفیف % (اختیاری)",class:"mb-0"},{default:r(()=>[s(c,{value:n.discount,"onUpdate:value":p=>n.discount=p,style:{width:"100%"},min:0,max:100,placeholder:"خالی = تخفیف کلی"},null,8,["value","onUpdate:value"])]),_:2},1024)]),_:2},1024),s(M,{xs:24,sm:24,md:8},{default:r(()=>[s(o,{label:"موجودی",class:"mb-0"},{default:r(()=>[s(c,{value:n.stock,"onUpdate:value":p=>n.stock=p,style:{width:"100%"},min:0,placeholder:"موجودی"},null,8,["value","onUpdate:value"])]),_:2},1024)]),_:2},1024)]),_:2},1024),s(E,{gutter:[12,12],class:"mt-0"},{default:r(()=>[s(M,{xs:24,md:12},{default:r(()=>[s(o,{label:"کد SKU",class:"mb-0"},{default:r(()=>[s(u,{value:n.sku,"onUpdate:value":p=>n.sku=p,placeholder:"کد SKU"},null,8,["value","onUpdate:value"])]),_:2},1024)]),_:2},1024),s(M,{xs:24,md:12},{default:r(()=>[s(o,{label:"تنوع پیشفرض",class:"mb-0"},{default:r(()=>[m("div",Qt,[s(w,{checked:n.is_default,"onUpdate:checked":p=>n.is_default=p,"checked-children":"بله","un-checked-children":"خیر",onChange:p=>Se(I,p)},null,8,["checked","onUpdate:checked","onChange"]),Yt])]),_:2},1024)]),_:2},1024)]),_:2},1024),q.value.length?(f(),k("div",Zt,[(f(!0),k(J,null,Q(q.value,p=>(f(),S(o,{key:ge(p),label:be(p),class:"mb-0"},{default:r(()=>[s(v,{value:le(n,p),options:we(p),style:{width:"100%"},placeholder:"انتخاب مقدار","allow-clear":"","onUpdate:value":h=>ke(n,p,h)},null,8,["value","options","onUpdate:value"])]),_:2},1032,["label"]))),128))])):(f(),k("div",ea," ابتدا در بخش ویژگیها، ویژگی با گزینه «استفاده در تنوع» و مقادیرش را تعریف کنید. "))]))),128)),s(C,{type:"dashed",block:"",onClick:se},{default:r(()=>[P("+ افزودن تنوع")]),_:1})])]),_:1})):$("",!0),m("div",ta,[s(o,{label:"نمایش",class:"mb-0"},{default:r(()=>[s(w,{checked:l.is_show,"onUpdate:checked":e[15]||(e[15]=n=>l.is_show=n)},null,8,["checked"])]),_:1}),s(o,{label:"فعال",class:"mb-0"},{default:r(()=>[s(w,{checked:l.is_active,"onUpdate:checked":e[16]||(e[16]=n=>l.is_active=n)},null,8,["checked"])]),_:1}),s(o,{label:"موجود",class:"mb-0"},{default:r(()=>[s(w,{checked:l.is_exist,"onUpdate:checked":e[17]||(e[17]=n=>l.is_exist=n),disabled:x.value},null,8,["checked","disabled"])]),_:1})])]),_:1})]),_:1},8,["visible","title","confirmLoading"])])}}});const Da=Pt(aa,[["__scopeId","data-v-aa13c6fc"]]);export{Da as default};
|