Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.
 
 
 

2 lignes
15 KiB

  1. "use strict";(self["webpackChunkTruckShop"]=self["webpackChunkTruckShop"]||[]).push([[6215],{5440:function(e,t,a){a.d(t,{A:function(){return E}});var l=a(6768),s=a(144),u=a(4232),n=a(5130),i=a(9317),o=a(4084),r=a(8767);const d={class:"p-2"},c={class:"form-group"},p={key:0,class:"text-danger"},v={class:"form-group"},b={class:"form-group"},m={key:0,class:"text-danger"},k={class:"form-group"},y={key:0,class:"text-danger"},f={class:"form-group"},g={key:0,class:"text-danger"},x=["disabled"],h={key:0},C={key:1};var L={__name:"ProductInfo",props:{productId:{type:Number,required:!0}},emits:["changeLng","data"],setup(e,{expose:t,emit:a}){const L={title:null,slug:null,summary:null,description:null,locale:"fa"},I=e,E=a,X=(0,s.Kh)({...L}),R=(0,s.KR)({}),_=(0,s.KR)(!1),w=e=>{R.value[e]=""},K=async()=>{try{_.value=!0;const e=X?.id?`admin/products/${I.productId}/translations/${X?.id}`:`admin/products/${I.productId}/translations`,{data:{success:t,message:a,data:l}}=await i.A[X?.id?"put":"post"](e,X);t&&(Object.assign(X,L),E("data",l),o.oR.success(a))}catch(e){o.oR.error(e?.response?.data?.message)}finally{_.value=!1}};return t({form:X}),(e,t)=>{const a=(0,l.g2)("BCol");return(0,l.uX)(),(0,l.CE)("div",d,[(0,l.bF)((0,s.R1)(r.Ls),{class:"g-3"},{default:(0,l.k6)((()=>[(0,l.bF)(a,{md:"6"},{default:(0,l.k6)((()=>[(0,l.Lk)("div",c,[t[10]||(t[10]=(0,l.Lk)("label",{class:"form-label"},"عنوان",-1)),(0,l.bo)((0,l.Lk)("input",{"onUpdate:modelValue":t[0]||(t[0]=e=>X.title=e),class:(0,u.C4)([{"is-invalid":R.value.title},"form-control"]),placeholder:"عنوان محصول",type:"text",onInput:t[1]||(t[1]=e=>w("title"))},null,34),[[n.Jo,X.title]])]),R.value.title?((0,l.uX)(),(0,l.CE)("small",p,(0,u.v_)(R.value.title),1)):(0,l.Q3)("",!0)])),_:1}),(0,l.bF)(a,{lg:"6"},{default:(0,l.k6)((()=>[(0,l.Lk)("div",v,[t[12]||(t[12]=(0,l.Lk)("label",{class:"form-label"},"انتخاب زبان",-1)),(0,l.bo)((0,l.Lk)("select",{"onUpdate:modelValue":t[2]||(t[2]=e=>X.locale=e),class:"form-control",placeholder:"انتخاب کنید",onChange:t[3]||(t[3]=e=>E("changeLng",X.locale))},t[11]||(t[11]=[(0,l.Lk)("option",{key:"fa",value:"fa"}," فارسی ",-1),(0,l.Lk)("option",{key:"en",value:"en"}," انگلیسی ",-1),(0,l.Lk)("option",{key:"ar",value:"ar"}," عربی ",-1)]),544),[[n.u1,X.locale]])])])),_:1}),(0,l.bF)(a,{md:"6"},{default:(0,l.k6)((()=>[(0,l.Lk)("div",b,[t[13]||(t[13]=(0,l.Lk)("label",{class:"form-label"},"کلمه کلیدی",-1)),(0,l.bo)((0,l.Lk)("input",{"onUpdate:modelValue":t[4]||(t[4]=e=>X.slug=e),class:(0,u.C4)([{"is-invalid":R.value.slug},"form-control"]),placeholder:"کلمه کلیدی محصول",type:"text",onInput:t[5]||(t[5]=e=>w("slug"))},null,34),[[n.Jo,X.slug]])]),R.value.slug?((0,l.uX)(),(0,l.CE)("small",m,(0,u.v_)(R.value.slug),1)):(0,l.Q3)("",!0)])),_:1}),(0,l.bF)(a,{md:"6"},{default:(0,l.k6)((()=>[(0,l.Lk)("div",k,[t[14]||(t[14]=(0,l.Lk)("label",{class:"form-label"},"خلاصه",-1)),(0,l.bo)((0,l.Lk)("textarea",{"onUpdate:modelValue":t[6]||(t[6]=e=>X.summary=e),class:(0,u.C4)([{"is-invalid":R.value.summary},"form-control"]),placeholder:"خلاصه ای از محصول",onInput:t[7]||(t[7]=e=>w("summary"))},null,34),[[n.Jo,X.summary]])]),R.value.summary?((0,l.uX)(),(0,l.CE)("small",y,(0,u.v_)(R.value.summary),1)):(0,l.Q3)("",!0)])),_:1}),(0,l.bF)(a,{md:"6"},{default:(0,l.k6)((()=>[(0,l.Lk)("div",f,[t[15]||(t[15]=(0,l.Lk)("label",{class:"form-label"},"توضیحات محصول",-1)),(0,l.bo)((0,l.Lk)("textarea",{"onUpdate:modelValue":t[8]||(t[8]=e=>X.description=e),class:(0,u.C4)([{"is-invalid":R.value.description},"form-control"]),placeholder:"توضیحات محصول",onInput:t[9]||(t[9]=e=>w("description"))},null,34),[[n.Jo,X.description]])]),R.value.description?((0,l.uX)(),(0,l.CE)("small",g,(0,u.v_)(R.value.description),1)):(0,l.Q3)("",!0)])),_:1})])),_:1}),(0,l.Lk)("button",{type:"submit",class:"btn btn-primary mt-4",disabled:_.value,onClick:(0,n.D$)(K,["prevent"])},[_.value?((0,l.uX)(),(0,l.CE)("span",h,t[16]||(t[16]=[(0,l.Lk)("i",{class:"fa fa-spinner fa-spin"},null,-1)]))):((0,l.uX)(),(0,l.CE)("span",C,"ذخیره محصول"))],8,x)])}}};const I=L;var E=I},7661:function(e,t,a){a.d(t,{A:function(){return L}});a(4114),a(8111),a(2489),a(116),a(7588),a(1701);var l=a(6768),s=a(5130),u=a(4232),n=a(144),i=a(9317),o=a(4084);const r={key:0,class:"d-flex justify-content-center w-100"},d={key:1,class:"pt-8"},c=["id","value","onChange"],p=["for"],v=["onUpdate:modelValue","id"],b=["value"],m=["onUpdate:modelValue"],k=["onUpdate:modelValue"],y=["onClick"],f={class:"d-flex justify-content-between align-items-center"},g=["disabled"],x={key:0};var h={__name:"AtrributesProduct",props:{categoryId:{type:String,required:!0},productId:{type:Number,required:!0}},emits:["nextStep"],setup(e,{expose:t,emit:a}){const h=e,C=a,L=(0,n.KR)([]),I=(0,n.KR)([]),E=(0,n.KR)([]),X=(0,n.KR)(!1),R=(0,n.KR)(!1),_=async()=>{try{X.value=!0;const{data:{data:e,success:t}}=await i.A.get("admin/attributes",{params:{category_id:h.categoryId,with_global:1}});t&&(L.value=e?.filter((e=>e?.translation)))}catch(e){o.oR.error(e?.response?.data?.message)}finally{X.value=!1}},w=()=>{const e={attributes:{},price:"",stock:""};I.value.forEach((t=>{const a=A(t);a&&a.attribute_values.length>0?e.attributes[t]=a.attribute_values[0].id:e.attributes[t]=""})),E.value.push(e)},K=async e=>{E.value.splice(e,1)},A=e=>L.value.find((t=>t.id===e));(0,l.wB)(I,(e=>{E.value.forEach((t=>{e.forEach((e=>{if(!t.attributes[e]){const a=A(e);a&&a.attribute_values.length>0&&(t.attributes[e]=a.attribute_values[0].id)}})),Object.keys(t.attributes).forEach((a=>{e.includes(Number(a))||delete t.attributes[a],0===I.value?.length&&(E.value=[])}))}))}));const V=async()=>{try{R.value=!0,await i.A.post(`admin/products/${h.productId}/attributes`,{attributes:I.value});const{data:{success:e,message:t}}=await i.A.post(`admin/products/${h.productId}/variants`,{productVariants:E.value?.map((e=>({price:e?.price,inventory:e?.stock,attributeValues:Object.values(e?.attributes)})))});e&&(o.oR.success(t),C("nextStep"))}catch(e){o.oR.error(e.response?.data?.message)}finally{R.value=!1}},F=async(e,t)=>{if(!e.target.checked)try{const{data:{success:e,message:a}}=await i.A.delete(`admin/products/${h.productId}/attributes/${t.id}`);e&&o.oR.success(a)}catch(e){o.oR.error(e.response?.data?.message)}};return _(),t({attributes:L,rows:E,selectedAttributes:I}),(e,t)=>X.value?((0,l.uX)(),(0,l.CE)("span",r,t[1]||(t[1]=[(0,l.Lk)("i",{class:"fa fa-spinner fa-spin text-2xl"},null,-1)]))):((0,l.uX)(),(0,l.CE)("div",d,[(0,l.Lk)("div",null,[((0,l.uX)(!0),(0,l.CE)(l.FK,null,(0,l.pI)(L.value,(e=>((0,l.uX)(),(0,l.CE)("div",{key:e.id,class:"mb-2 form-check"},[(0,l.bo)((0,l.Lk)("input",{type:"checkbox",id:"attr-"+e?.id,value:e?.id,"onUpdate:modelValue":t[0]||(t[0]=e=>I.value=e),onChange:t=>F(t,e),class:"form-check-input"},null,40,c),[[s.lH,I.value]]),(0,l.Lk)("label",{for:"attr-"+e.id,class:"form-check-label"},(0,u.v_)(e?.translation?.title),9,p)])))),128)),I.value?.length?((0,l.uX)(),(0,l.CE)(l.FK,{key:0},[((0,l.uX)(!0),(0,l.CE)(l.FK,null,(0,l.pI)(E.value,((e,a)=>((0,l.uX)(),(0,l.CE)("div",{key:e.id,class:"border p-3 rounded mt-4 d-flex items-center gap-3"},[((0,l.uX)(!0),(0,l.CE)(l.FK,null,(0,l.pI)(I.value,(t=>((0,l.uX)(),(0,l.CE)("div",{key:t},[(0,l.bo)((0,l.Lk)("select",{"onUpdate:modelValue":a=>e.attributes[t]=a,id:"attr-"+t,class:"border rounded px-2 py-1 form-select",style:{minWidth:"200px"}},[((0,l.uX)(!0),(0,l.CE)(l.FK,null,(0,l.pI)(A(t)?.attribute_values?.filter((e=>e?.translation)),(e=>((0,l.uX)(),(0,l.CE)("option",{key:e.id,value:e.id},(0,u.v_)(e.translation?.title),9,b)))),128))],8,v),[[s.u1,e.attributes[t]]])])))),128)),(0,l.bo)((0,l.Lk)("input",{"onUpdate:modelValue":t=>e.price=t,type:"text",placeholder:"قیمت",class:"border rounded px-2 py-1 w-24"},null,8,m),[[s.Jo,e.price]]),(0,l.bo)((0,l.Lk)("input",{"onUpdate:modelValue":t=>e.stock=t,type:"text",placeholder:"تعداد موجود",class:"border rounded px-2 py-1 w-24"},null,8,k),[[s.Jo,e.stock]]),(0,l.Lk)("button",{onClick:e=>K(a),class:"btn btn-danger btn-outline rounded btn-sm"},t[2]||(t[2]=[(0,l.Lk)("i",{class:"ti ti-trash me-1 text-xl"},null,-1)]),8,y)])))),128)),I.value?.length?((0,l.uX)(),(0,l.CE)("button",{key:0,onClick:w,class:"mt-4 btn btn-primary text-white px-3 py-2 rounded w-100"},t[3]||(t[3]=[(0,l.Lk)("i",{class:"ti ti-plus"},null,-1),(0,l.eW)(" افزودن سطر جدید ",-1)]))):(0,l.Q3)("",!0),t[5]||(t[5]=(0,l.Lk)("hr",{class:"my-4"},null,-1)),(0,l.Lk)("div",f,[I.value?.length?((0,l.uX)(),(0,l.CE)("button",{key:0,disabled:R.value,onClick:V,class:"mt-4 btn btn-primary text-white px-3 py-2 rounded"},[R.value?((0,l.uX)(),(0,l.CE)("span",x,t[4]||(t[4]=[(0,l.Lk)("i",{class:"fa fa-spinner fa-spin"},null,-1),(0,l.eW)(" بارگذاری... ",-1)]))):((0,l.uX)(),(0,l.CE)(l.FK,{key:1},[(0,l.eW)(" ذخیره ویژگی ها ")],64))],8,g)):(0,l.Q3)("",!0),(0,l.Lk)("div",null,[(0,l.RG)(e.$slots,"default")])])],64)):(0,l.Q3)("",!0)])]))}};const C=h;var L=C},8040:function(e,t,a){a.d(t,{A:function(){return R}});a(4114),a(8111),a(2489),a(116),a(1701);var l=a(6768),s=a(4232),u=a(5130),n=a(144),i=a(9317),o=a(4084);const r={key:0,class:"d-flex justify-content-center w-100"},d={key:1,class:"pt-8"},c=["onUpdate:modelValue","id","onChange"],p=["value"],v=["onUpdate:modelValue","id","disabled","onChange"],b=["value"],m=["onClick"],k={class:"d-flex justify-content-between"},y={key:0,class:"mt-4 d-flex gap-2 align-items-center"},f=["disabled"],g={key:0},x={key:1,class:"mt-4 d-flex gap-2 align-items-center align-self-start"},h=["disabled"],C={key:0},L=["disabled"],I={key:0,class:"d-flex justify-content-center w-100"};var E={__name:"SpecificationsProduct",props:{categoryId:{type:String,required:!0},productId:{type:Number,required:!0}},emits:["nextStep","previousStep"],setup(e,{expose:t,emit:a}){const E=e,X=a,R=(0,n.KR)(!1),_=(0,n.KR)(!1),w=(0,n.KR)(!1),K=(0,n.KR)(!1),A=(0,n.KR)([]),V=(0,n.KR)([{selectedAttributeId:null,selectedValueId:null}]),F=(0,n.KR)(!1),U=(0,n.KR)(null),W=(0,n.KR)(""),$=(0,n.KR)(""),S=async()=>{try{R.value=!0;const{data:{data:e,success:t}}=await i.A.get("admin/attributes",{params:{category_id:E.categoryId,with_global:1}});t&&(A.value=e?.filter((e=>e?.translation)))}catch(e){o.oR.error(e?.response?.data?.message)}finally{R.value=!1}},Q=()=>{V.value.push({selectedAttributeId:null,selectedValueId:null})},j=e=>{const t=A.value.find((t=>t.id===e));return t?t.attribute_values.filter((e=>e.translation)):[]},J=async e=>{if(V.value[e].id)try{const{data:{message:t,success:a}}=await i.A.delete(`admin/products/${E.productId}/specifications/${V.value[e]?.id}`);a&&(o.oR.success(t),V.value=V.value.filter(((t,a)=>a!==e)))}catch(t){o.oR.error(t?.response?.data?.message)}else V.value=V.value.filter(((t,a)=>a!==e))},q=async()=>{if(W.value.trim())try{_.value=!0;const e={category_id:E.categoryId,title:W.value},{data:{data:t,success:a,message:l}}=await i.A.post("admin/attributes",e);a&&(A.value.push(t),W.value="",F.value=!1,o.oR.success(l))}catch(e){o.oR.error(e?.response?.data?.message),console.log(e)}finally{_.value=!1}else o.oR.error("Attribute title is required")},N=async e=>{if(!$.value.trim())return void o.oR.error("Attribute value title is required");const t=V.value[e];if(t.selectedAttributeId)try{w.value=!0;const e={attribute_id:t.selectedAttributeId,title:$.value},{data:{data:a,success:l,message:s}}=await i.A.post("admin/attribute-values",e);if(l){const e=A.value.find((e=>e.id===t.selectedAttributeId));e&&e.attribute_values.push(a),$.value="",U.value=null,o.oR.success(s)}}catch(a){o.oR.error(a?.response?.data?.message)}finally{w.value=!1}else o.oR.error("Please select an attribute first")},P=e=>{"add"===e.selectedAttributeId?(F.value=!0,e.selectedAttributeId=null):(e.selectedValueId=null,U.value=null)},O=(e,t)=>{"add"===e.selectedValueId&&(U.value=t,e.selectedValueId=null)},B=async()=>{try{K.value=!0;const{data:{message:e,success:t}}=await i.A.post(`admin/products/${E.productId}/specifications`,{productSpecifications:V.value?.map((e=>e.selectedValueId)).filter((e=>null!==e))});t&&(X("nextStep"),o.oR.success(e))}catch(e){o.oR.error(e?.response?.data?.message)}finally{K.value=!1}};return S(),t({specifications:V}),(e,t)=>((0,l.uX)(),(0,l.CE)("div",null,[R.value?((0,l.uX)(),(0,l.CE)("span",r,t[5]||(t[5]=[(0,l.Lk)("i",{class:"fa fa-spinner fa-spin text-2xl"},null,-1)]))):((0,l.uX)(),(0,l.CE)("div",d,[((0,l.uX)(!0),(0,l.CE)(l.FK,null,(0,l.pI)(V.value,((e,a)=>((0,l.uX)(),(0,l.CE)("div",{key:a,class:"mb-2 d-flex gap-2 align-items-center"},[(0,l.bo)((0,l.Lk)("select",{"onUpdate:modelValue":t=>e.selectedAttributeId=t,id:"attr-"+a,class:"border rounded px-2 py-1 form-select",style:{minWidth:"200px"},onChange:t=>P(e,a)},[t[6]||(t[6]=(0,l.Lk)("option",{value:"add"},"افزودن ویژگی",-1)),((0,l.uX)(!0),(0,l.CE)(l.FK,null,(0,l.pI)(A.value,(e=>((0,l.uX)(),(0,l.CE)("option",{key:e.id,value:e.id},(0,s.v_)(e.translation?.title),9,p)))),128))],40,c),[[u.u1,e.selectedAttributeId]]),(0,l.bo)((0,l.Lk)("select",{"onUpdate:modelValue":t=>e.selectedValueId=t,id:"value-"+a,class:"border rounded px-2 py-1 form-select",style:{minWidth:"200px"},disabled:!e.selectedAttributeId,onChange:t=>O(e,a)},[t[7]||(t[7]=(0,l.Lk)("option",{value:"add"},"افزودن مقدار ویژگی",-1)),((0,l.uX)(!0),(0,l.CE)(l.FK,null,(0,l.pI)(j(e.selectedAttributeId),(e=>((0,l.uX)(),(0,l.CE)("option",{key:e.id,value:e.id},(0,s.v_)(e?.translation?.title),9,b)))),128))],40,v),[[u.u1,e.selectedValueId]]),(0,l.Lk)("button",{onClick:e=>J(a),class:"btn btn-danger btn-outline rounded btn-sm"},t[8]||(t[8]=[(0,l.Lk)("i",{class:"ti ti-trash me-1 text-xl"},null,-1)]),8,m)])))),128)),(0,l.Lk)("div",k,[F.value?((0,l.uX)(),(0,l.CE)("div",y,[(0,l.bo)((0,l.Lk)("input",{"onUpdate:modelValue":t[0]||(t[0]=e=>W.value=e),type:"text",class:"form-control",placeholder:"عنوان ویژگی جدید را وارد کنید",style:{maxWidth:"400px"}},null,512),[[u.Jo,W.value]]),(0,l.Lk)("button",{onClick:q,class:"px-4 py-2 btn btn-success text-white rounded text-nowrap",disabled:_.value},[_.value?((0,l.uX)(),(0,l.CE)("span",g,t[9]||(t[9]=[(0,l.Lk)("i",{class:"fa fa-spinner fa-spin text-2xl"},null,-1)]))):((0,l.uX)(),(0,l.CE)(l.FK,{key:1},[(0,l.eW)(" ذخیره ویژگی ")],64))],8,f),(0,l.Lk)("button",{onClick:t[1]||(t[1]=e=>{F.value=!1,W.value=""}),class:"px-4 py-2 btn btn-link rounded"}," انصراف ")])):(0,l.Q3)("",!0),null!==U.value?((0,l.uX)(),(0,l.CE)("div",x,[(0,l.bo)((0,l.Lk)("input",{"onUpdate:modelValue":t[2]||(t[2]=e=>$.value=e),type:"text",class:"form-control",placeholder:"مقدار ویژگی جدید را وارد کنید",style:{maxWidth:"400px"}},null,512),[[u.Jo,$.value]]),(0,l.Lk)("button",{onClick:t[3]||(t[3]=e=>N(U.value)),class:"px-4 py-2 btn btn-success rounded text-nowrap",disabled:w.value},[w.value?((0,l.uX)(),(0,l.CE)("span",C,t[10]||(t[10]=[(0,l.Lk)("i",{class:"fa fa-spinner fa-spin text-2xl"},null,-1)]))):((0,l.uX)(),(0,l.CE)(l.FK,{key:1},[(0,l.eW)(" ذخیره مقدار ویژگی ")],64))],8,h),(0,l.Lk)("button",{onClick:t[4]||(t[4]=e=>{U.value=null,$.value=""}),class:"px-4 py-2 btn btn-link rounded"}," انصراف ")])):(0,l.Q3)("",!0)]),(0,l.Lk)("button",{onClick:Q,class:"mt-4 px-4 py-2 btn btn-primary text-white rounded"},t[11]||(t[11]=[(0,l.Lk)("i",{class:"ti ti-plus"},null,-1),(0,l.eW)(" افزودن مشخصات ",-1)])),t[13]||(t[13]=(0,l.Lk)("hr",{class:"py-2"},null,-1)),(0,l.Lk)("button",{disabled:K.value,onClick:B,class:"px-4 py-2 btn btn-primary text-white rounded"},[K.value?((0,l.uX)(),(0,l.CE)("span",I,t[12]||(t[12]=[(0,l.Lk)("i",{class:"fa fa-spinner fa-spin text-2xl"},null,-1)]))):((0,l.uX)(),(0,l.CE)(l.FK,{key:1},[(0,l.eW)(" ذخیره مشخصات ")],64))],8,L)]))]))}};const X=E;var R=X}}]);
  2. //# sourceMappingURL=6215.838ca982.js.map