Files
tehran_tala/apps/admin-panel/dist/assets/AddProduct-0QPhn8wW.js
T
2026-09-19 15:44:00 +03:30

2 lines
10 KiB
JavaScript

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