2 lines
12 KiB
JavaScript
2 lines
12 KiB
JavaScript
import{d as _e,u as pe,v as ce,x as V,b as c,c as l,w as o,A as me,j as ve,l as y,y as R,r as p,o as n,n as m,F as b,e as I,f as v,a as g,h as A,E as ye,i as j,D as ge,t as M,s as Y,z as F,k as fe}from"./index-WFQJAeoE.js";import{_ as $}from"./ImageUploadInput.vue_vue_type_script_setup_true_lang-BQ_i_QZe.js";import{_ as be}from"./_plugin-vue_export-helper-DlAUqK2U.js";const ke={id:"page-user-view"},we={class:"grid-2"},Ue={class:"image-grid"},xe={class:"image-grid"},Ce={class:"grid-3"},Ve={class:"grid-1"},Ie={class:"grid-3"},$e={class:"flex"},qe=["src"],he={key:1,class:"variant-thumb variant-thumb--empty"},Oe={key:0,class:"variant-picker"},je=["onClick"],Me=["src"],Ne=_e({__name:"AddProduct",setup(Se){const Z=ve(),ee=fe(),te=pe(),N=d=>!!te.hasPermission(d),q=Z.params.id,P=y(!1),L=y([]),T=y([]),G=y([]),s=R({title:"",product_code:"",show_type:3,category_id:void 0,brand_id:void 0,ciny_ids:[],body_html:"",is_active:!0,indicator_id:null,mobile_pic:null}),w=R({}),U=y([]),x=y([]),z=y([]),C=y([]),h=y(!1),O=y(null),u=R({__key:"",title:"",grams:void 0,percentage_pay:void 0,qty:0,is_active:!0,is_pre_order:!1,image_id:null,image_url:null});function H(d){u.image_id=d?d.id:null,u.image_url=d?d.url:null}const le=[{title:"تصویر",dataIndex:"image"},{title:"عنوان",dataIndex:"title"},{title:"وزن",dataIndex:"grams"},{title:"اجرت درصدی",dataIndex:"percentage_pay"},{title:"تعداد",dataIndex:"qty"},{title:"فعال",dataIndex:"is_active"},{title:" پیش سفارش",dataIndex:"is_pre_order"},{title:"عملیات",dataIndex:"op"}];function J(d,e){d&&e!==void 0?(O.value=e,Object.assign(u,d)):(O.value=null,Object.assign(u,{__key:`v-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,id:void 0,title:"",grams:void 0,percentage_pay:void 0,qty:0,is_active:!0,is_pre_order:!1,image_id:null,image_url:null})),h.value=!0}function ae(){if(!u.title){F.error("عنوان تنوع الزامی است");return}const d={...u};O.value===null?C.value.push(d):C.value[O.value]=d,h.value=!1}function oe(){return Object.keys(w).forEach(d=>delete w[d]),s.title||(w.title="لطفا مقدار را وارد کنید"),Object.keys(w).length===0}async function K(){var d,e;if(oe())try{P.value=!0;const a={...s,cats:s.category_id?[s.category_id]:[],images:U.value,images_mobile:x.value,variants:C.value.map(i=>({id:i.id,title:i.title,grams:i.grams,percentage_pay:i.percentage_pay,qty:i.qty,is_active:i.is_active,is_pre_order:i.is_pre_order,image_id:i.image_id??null}))};q?await V.put(`product/update/${q}`,a):await V.post("product/create",a),F.info("اطلاعات با موفقیت به ثبت رسید."),ee.push("/apps/product/list")}catch(a){F.error(((e=(d=a==null?void 0:a.response)==null?void 0:d.data)==null?void 0:e.message)??"خطا در ثبت اطلاعات.")}finally{P.value=!1}}return ce(async()=>{var d,e;try{const[a,i,k]=await Promise.all([V.get("brand"),V.post("category"),V.get("admin/products/collections")]);L.value=a.data,T.value=(i.data.rows??i.data).map(r=>({id:r.id,title:r.type_str?`${r.title} (${r.type_str}) `:r.title,type:r.type})),G.value=k.data}catch(a){console.log(a)}if(q)try{const{data:a}=await V.get(`product/show/${q}`);Object.assign(s,{title:a.title??"",product_code:a.product_code??"",show_type:a.show_type??3,category_id:((d=a.category)==null?void 0:d.id)??void 0,brand_id:((e=a.brand)==null?void 0:e.id)??void 0,ciny_ids:a.ciny_ids??[],body_html:a.body_html??"",is_active:a.is_active??!0,indicator_id:a.indicator_id??null,mobile_pic:a.mobile_pic??null}),U.value=a.images_gallery??[],x.value=a.images_mobile??[],z.value=a.gallery??[],C.value=(a.variants_all??[]).map((i,k)=>{var r;return{__key:i.id??`v-${k}`,id:i.id,title:i.title,grams:Number(i.grams),percentage_pay:Number(i.percentage_pay),qty:i.qty,is_active:i.is_active,is_pre_order:i.is_pre_order,image_id:i.image_id??null,image_url:((r=i.image)==null?void 0:r.url)??null}})}catch(a){console.log(a)}}),(d,e)=>{const a=p("a-form-item"),i=p("a-card"),k=p("a-input"),r=p("a-select-option"),S=p("a-select"),ie=p("a-textarea"),D=p("a-switch"),B=p("a-button"),Q=p("a-tooltip"),W=p("a-tag"),se=p("a-table"),ne=p("a-spin"),X=p("a-form"),E=p("a-input-number"),de=p("a-alert"),ue=p("a-modal");return n(),c("div",ke,[l(X,{layout:"vertical",onSubmit:me(K,["prevent"])},{default:o(()=>[l(ne,{spinning:P.value},{default:o(()=>[l(i,{title:"تصاویر محصول",class:"mb-base"},{default:o(()=>[m("div",we,[l(a,{label:"تصویر شاخص"},{default:o(()=>[l($,{modelValue:s.indicator_id,"onUpdate:modelValue":e[0]||(e[0]=t=>s.indicator_id=t),purpose:"product.indicator",placeholder:"تصویر شاخص"},null,8,["modelValue"])]),_:1}),l(a,{label:"تصویر شاخص موبایل"},{default:o(()=>[l($,{modelValue:s.mobile_pic,"onUpdate:modelValue":e[1]||(e[1]=t=>s.mobile_pic=t),purpose:"product.indicator_mobile",placeholder:"تصویر شاخص موبایل"},null,8,["modelValue"])]),_:1})]),l(a,{label:"گالری تصاویر سایت"},{default:o(()=>[m("div",Ue,[(n(!0),c(b,null,I(U.value,(t,_)=>(n(),c("div",{key:_,class:"image-grid__item"},[l($,{"model-value":t,purpose:"product.gallery",placeholder:"تصویر","onUpdate:modelValue":f=>f?U.value[_]=f:U.value.splice(_,1)},null,8,["model-value","onUpdate:modelValue"])]))),128)),l($,{"model-value":null,purpose:"product.gallery",placeholder:"افزودن تصویر","onUpdate:modelValue":e[2]||(e[2]=t=>t&&U.value.push(t))})])]),_:1}),l(a,{label:"گالری تصاویر موبایل"},{default:o(()=>[m("div",xe,[(n(!0),c(b,null,I(x.value,(t,_)=>(n(),c("div",{key:_,class:"image-grid__item"},[l($,{"model-value":t,purpose:"product.gallery_mobile",placeholder:"تصویر","onUpdate:modelValue":f=>f?x.value[_]=f:x.value.splice(_,1)},null,8,["model-value","onUpdate:modelValue"])]))),128)),l($,{"model-value":null,purpose:"product.gallery_mobile",placeholder:"افزودن تصویر","onUpdate:modelValue":e[3]||(e[3]=t=>t&&x.value.push(t))})])]),_:1})]),_:1}),l(i,{title:"اطلاعات پایه",class:"mb-base"},{default:o(()=>[m("div",Ce,[l(a,{label:"کد محصول"},{default:o(()=>[l(k,{value:s.product_code,"onUpdate:value":e[4]||(e[4]=t=>s.product_code=t)},null,8,["value"])]),_:1}),l(a,{label:"نام محصول","validate-status":w.title?"error":"",help:w.title},{default:o(()=>[l(k,{value:s.title,"onUpdate:value":e[5]||(e[5]=t=>s.title=t)},null,8,["value"])]),_:1},8,["validate-status","help"]),l(a,{label:"نوع نمایش"},{default:o(()=>[l(S,{value:s.show_type,"onUpdate:value":e[6]||(e[6]=t=>s.show_type=t)},{default:o(()=>[l(r,{value:1},{default:o(()=>[...e[22]||(e[22]=[v("سایت",-1)])]),_:1}),l(r,{value:2},{default:o(()=>[...e[23]||(e[23]=[v("گوشی",-1)])]),_:1}),l(r,{value:3},{default:o(()=>[...e[24]||(e[24]=[v("سایت و گوشی",-1)])]),_:1})]),_:1},8,["value"])]),_:1}),l(a,{label:"دسته بندی"},{default:o(()=>[l(S,{value:s.category_id,"onUpdate:value":e[7]||(e[7]=t=>s.category_id=t),"allow-clear":"",placeholder:"انتخاب کنید"},{default:o(()=>[(n(!0),c(b,null,I(T.value,t=>(n(),g(r,{key:t.id,value:t.id},{default:o(()=>[v(M(t.title),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])]),_:1}),l(a,{label:"برند"},{default:o(()=>[l(S,{value:s.brand_id,"onUpdate:value":e[8]||(e[8]=t=>s.brand_id=t),"allow-clear":"",placeholder:"انتخاب کنید"},{default:o(()=>[(n(!0),c(b,null,I(L.value,t=>(n(),g(r,{key:t.id,value:t.id},{default:o(()=>[v(M(t.title),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])]),_:1}),l(a,{label:"سینی ها"},{default:o(()=>[l(S,{value:s.ciny_ids,"onUpdate:value":e[9]||(e[9]=t=>s.ciny_ids=t),mode:"multiple","allow-clear":"",placeholder:"انتخاب کنید"},{default:o(()=>[(n(!0),c(b,null,I(G.value,t=>(n(),g(r,{key:t.id,value:t.id},{default:o(()=>[v(M(t.title),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])]),_:1})]),m("div",Ve,[l(a,{label:"شرح محصول (سایت)"},{default:o(()=>[l(ie,{value:s.body_html,"onUpdate:value":e[10]||(e[10]=t=>s.body_html=t),"auto-size":{minRows:4,maxRows:10}},null,8,["value"])]),_:1})]),m("div",Ie,[l(a,{label:"نمایش محصول"},{default:o(()=>[l(D,{checked:s.is_active,"onUpdate:checked":e[11]||(e[11]=t=>s.is_active=t)},null,8,["checked"])]),_:1})])]),_:1}),N("product.list.variants")?(n(),g(i,{key:0,class:"mb-8 overflow-auto"},{title:o(()=>[m("div",$e,[e[26]||(e[26]=m("div",{class:"flex-1"},"تنوع ها",-1)),N("product.list.variants.add")?(n(),g(B,{key:0,type:"primary",onClick:e[12]||(e[12]=t=>J())},{default:o(()=>[...e[25]||(e[25]=[v(" افزودن تنوع ",-1)])]),_:1})):j("",!0)])]),default:o(()=>[l(se,{columns:le,"data-source":C.value,pagination:!1,size:"small","row-key":"__key"},{bodyCell:o(({column:t,record:_,index:f})=>[t.dataIndex==="image"?(n(),c(b,{key:0},[_.image_url?(n(),c("img",{key:0,src:_.image_url,class:"variant-thumb",alt:""},null,8,qe)):(n(),c("span",he,"—"))],64)):t.dataIndex==="op"?(n(),c(b,{key:1},[N("product.list.variants.edit")?(n(),g(Q,{key:0,title:"ویرایش"},{default:o(()=>[l(A(ye),{class:"cursor-pointer mx-1 text-primary",onClick:re=>J(_,f)},null,8,["onClick"])]),_:2},1024)):j("",!0),N("product.list.variants.remove")?(n(),g(Q,{key:1,title:"حذف"},{default:o(()=>[l(A(ge),{class:"cursor-pointer mx-1 text-danger",onClick:re=>C.value.splice(f,1)},null,8,["onClick"])]),_:2},1024)):j("",!0)],64)):t.dataIndex==="is_active"?(n(),g(W,{key:2,color:_.is_active?"green":"red"},{default:o(()=>[v(M(_.is_active?"فعال":"غیر فعال"),1)]),_:2},1032,["color"])):t.dataIndex==="is_pre_order"?(n(),g(W,{key:3,color:_.is_pre_order?"blue":""},{default:o(()=>[v(M(_.is_pre_order?"بله":"خیر"),1)]),_:2},1032,["color"])):j("",!0)]),_:1},8,["data-source"])]),_:1})):j("",!0),m("div",null,[l(B,{type:"primary",class:"mr-4",onClick:K},{default:o(()=>[...e[27]||(e[27]=[v("ثبت اطلاعات",-1)])]),_:1})])]),_:1},8,["spinning"])]),_:1}),l(ue,{open:h.value,"onUpdate:open":e[21]||(e[21]=t=>h.value=t),title:O.value===null?"افزودن تنوع":"ویرایش تنوع"},{footer:o(()=>[l(B,{onClick:e[20]||(e[20]=t=>h.value=!1)},{default:o(()=>[...e[29]||(e[29]=[v("انصراف",-1)])]),_:1}),l(B,{type:"primary",onClick:ae},{default:o(()=>[...e[30]||(e[30]=[v("ثبت",-1)])]),_:1})]),default:o(()=>[l(X,{layout:"vertical"},{default:o(()=>[l(a,{label:"عنوان"},{default:o(()=>[l(k,{value:u.title,"onUpdate:value":e[13]||(e[13]=t=>u.title=t)},null,8,["value"])]),_:1}),l(a,{label:"وزن"},{default:o(()=>[l(E,{value:u.grams,"onUpdate:value":e[14]||(e[14]=t=>u.grams=t),class:"w-full",step:.001},null,8,["value"])]),_:1}),l(a,{label:"اجرت درصدی"},{default:o(()=>[l(E,{value:u.percentage_pay,"onUpdate:value":e[15]||(e[15]=t=>u.percentage_pay=t),class:"w-full",step:.1},null,8,["value"])]),_:1}),l(a,{label:"تعداد"},{default:o(()=>[l(E,{value:u.qty,"onUpdate:value":e[16]||(e[16]=t=>u.qty=t),class:"w-full"},null,8,["value"])]),_:1}),l(a,{label:"تصویر تنوع"},{default:o(()=>[z.value.length?(n(),c("div",Oe,[m("button",{type:"button",class:Y(["variant-picker__item",{"is-on":!u.image_id}]),onClick:e[17]||(e[17]=t=>H(null))},[...e[28]||(e[28]=[m("span",{class:"variant-picker__none"},"بدون تصویر",-1)])],2),(n(!0),c(b,null,I(z.value,t=>(n(),c("button",{key:t.id,type:"button",class:Y(["variant-picker__item",{"is-on":u.image_id===t.id}]),onClick:_=>H(t)},[m("img",{src:t.url,alt:""},null,8,Me)],10,je))),128))])):(n(),g(de,{key:1,type:"info","show-icon":"",message:A(q)?"برای این محصول تصویری ثبت نشده است.":"ابتدا محصول را ذخیره کنید تا بتوانید تصویر تنوع را انتخاب کنید."},null,8,["message"]))]),_:1}),l(a,{label:"فعال"},{default:o(()=>[l(D,{checked:u.is_active,"onUpdate:checked":e[18]||(e[18]=t=>u.is_active=t)},null,8,["checked"])]),_:1}),l(a,{label:" پیش سفارش"},{default:o(()=>[l(D,{checked:u.is_pre_order,"onUpdate:checked":e[19]||(e[19]=t=>u.is_pre_order=t)},null,8,["checked"])]),_:1})]),_:1})]),_:1},8,["open","title"])])}}}),De=be(Ne,[["__scopeId","data-v-d501144a"]]);export{De as default};
|