Files
machartaa_admin_dist/dist/assets/index-f85089df.js
T

2 lines
11 KiB
JavaScript

import{_ as ue}from"./BasicModal.vue_vue_type_style_index_0_lang-a547157a.js";import{_ as de,u as ce}from"./useBaseTable-13b436e1.js";import{_ as pe,B as _e}from"./button.vue_vue_type_style_index_0_lang-851afdd8.js";import{I as S}from"./Icon-04c02c0b.js";import{t as me}from"./useDataTime-10f46d84.js";import{b as fe,u as ve,a as ge,d as be}from"./products-198a3285.js";import{d as he,g as m,r as ke,h as A,l as E,x as ye,n as we,o as M,c as O,a as _,b as l,w as i,e as z,j as o,G as Ue,k as xe,F as Ce,p as $e,D as f,H}from"./index-82b07f49.js";import{g as W}from"./index-e3788657.js";import{_ as Be}from"./TextPreview.vue_vue_type_script_setup_true_lang-38b465eb.js";import{g as Ie}from"./category-3a849218.js";import{g as Pe}from"./brand-40a5ca82.js";import{g as T}from"./convert-c2e7255b.js";import{M as Le,_ as Me}from"./index-5dc3a2fa.js";import{I as Oe,_ as Te}from"./index-c6d6dccd.js";import{_ as De,F as Fe}from"./index-2a5d6560.js";import{_ as Re}from"./index-7e5faec0.js";import{_ as qe}from"./index-fb5320fb.js";import{U as Ve}from"./index-0f0f5d8d.js";import{T as J}from"./shallowequal-17b27246.js";import"./index-1f61ecf5.js";import"./vnode-007df887.js";import"./Col-5d52aed9.js";import"./_plugin-vue_export-helper-f81f33f1.js";import"./useState-e0a5bff5.js";import"./FormItemContext-f4f190fd.js";import"./index-d634ff29.js";import"./pickAttrs-b9acd388.js";import"./toArray-e3bbd719.js";import"./isPlainObject-f3a46277.js";import"./useRefs-e9385981.js";const je=[{title:"ردیف",dataIndex:"id",key:"id",filterable:!1,width:70,align:"center",customRender:C=>C.index+1},{title:"زمان ایجاد",dataIndex:"created_at",key:"created_at",customRender:C=>me(C.record.created_at)},{title:"عملیات",dataIndex:"action",key:"action",slot:"action",filterable:!1,align:"center"}],Ne={class:"flex justify-between items-center mb-4"},Se=_("h2",null,"محصولات",-1),Ae={class:"gap-2 flex justify-center"},Ee=_("span",null,"حذف",-1),ze=_("span",null,"ویرایش",-1),He={class:"col-span-2 flex"},We={key:0},Je=_("div",{style:{"margin-top":"8px"}},"آپلود",-1),Ge=_("div",null,"آپلود فایل‌ها",-1),Xe={class:"space-y-2"},Ke={class:"grid grid-cols-3 gap-4"},Bt=he({__name:"index",setup(C){`${W()||localStorage.getItem("tamin_token")||""}`;const[G,F]=ce(),X=m({columns:je,api:fe,defaultPageLimit:20}),k=m(!1),$=m(!1),B=m(null),y=m(0),I=m(0),a=ke({id:0,user_id:"",address_id:null,payment_sts:null,sts:0,address:"",cancel_reason:null,cancelled_at:null,closed_at:null,transaction_id:null,note:"",total_discounts:0,total_price:0,total_tax:0,updated_at:null,deleted_at:null,total_qty:0,payment_type:"",profit:0,percent_profit:0,created_at:new Date().toISOString(),discount_total_price:0,code:"",code_discount:0,discount_code_id:null,order_items:[]}),R=m(),K=A(()=>R.value.map(n=>({value:n.id,label:n.title}))),q=m(),Q=A(()=>q.value.map(n=>({value:n.id,label:n.title}))),Y=[{value:1,label:"رنگ"},{value:2,label:"سایز"}],V=[{value:1,label:"قرمز"},{value:2,label:"آبی"},{value:3,label:"کوچک"},{value:4,label:"بزرگ"}],Z=n=>n===1?V.filter(e=>[1,2].includes(e.value)):n===2?V.filter(e=>[3,4].includes(e.value)):[],ee=()=>{var n;(n=a==null?void 0:a.product_attributes)==null||n.push({attribute_id:void 0,attribute_values:[],use_in_product_page:!0})},b=m([]),te=()=>!1,le=()=>{};function ae(){b.value=[],$.value=!1,B.value=null,k.value=!0}function j(){Object.assign(a,N),k.value=!1}function oe(n){return n.type.startsWith("image/")?n.size/1024/1024<5?!0:(f.error("حجم تصویر باید کمتر از 5MB باشد"),!1):(f.error("فقط فایل‌های تصویری مجاز است"),!1)}async function ne(n){const{file:e,onSuccess:c,onError:d,onProgress:g}=n,r=new FormData;r.append("file",e);const h=`${H}/upload/machartaa-img`;I.value=0,y.value++,await new Promise((w,U)=>{const u=new XMLHttpRequest;u.open("POST",h);const P=W()||localStorage.getItem("tamin_token")||"";u.setRequestHeader("Authorization",`Bearer ${P}`),u.upload.onprogress=s=>{if(s.lengthComputable){const p=Math.round(s.loaded/s.total*100);I.value=p,g==null||g({percent:p})}},u.onload=()=>{if(I.value=100,u.status>=200&&u.status<300)try{const s=JSON.parse(u.responseText||"{}"),p=s.full_src||s.url||s.src||s.path||s.data&&(s.data.full_src||s.data.url||s.data.src||s.data.path)||"";let v=p;p!=null&&p.startsWith("http")&&(v=p.replace(/^https?:\/\/[^\/]+/,""));const L=v.startsWith("http")?v:`${H}${v}`;a.original_image=v,b.value=L?[{uid:`${Date.now()}`,name:"products.jpg",status:"done",url:L,response:{path:v}}]:[],c==null||c(s,u),f.success("تصویر با موفقیت آپلود شد!"),w()}catch(s){d==null||d(s,u),U(s)}else{const s=new Error("خطا در آپلود تصویر");d==null||d(s,u),U(s)}},u.onerror=()=>{const s=new Error("خطا در آپلود کاور");d==null||d(s,u),U(s)},u.onloadend=()=>{y.value=Math.max(0,y.value-1),I.value=0},u.send(r)})}async function se(){if(y.value>0){f.warning("لطفاً تا پایان آپلود صبر کنید");return}try{if($.value&&B.value){debugger;await ve(B.value,a),f.success("محصول با موفقیت ویرایش شد")}else await ge(a),f.success("محصول با موفقیت افزوده شد");j(),await F()}catch(n){console.error("Error saving Product:",n),f.error("خطا در ذخیره محصول: "+(n.message||"خطای ناشناخته"))}}function ie(n){var e;N=E.cloneDeep(a),$.value=!0,B.value=n.id,console.log(n);for(const c in a)n.hasOwnProperty(c)&&(a[c]=n[c]);b.value=[{uid:"-1",name:"original_image.jpg",status:"done",url:T(n.original_image),response:{path:T(n.original_image)}}],a.files=(e=a.files)==null?void 0:e.slice(1).map((c,d)=>({uid:`${d}`,name:`product_image${d}.jpg`,status:"done",url:T(c.url),response:{path:T(c.url)}})),k.value=!0}function re(n){Le.confirm({title:"حذف کتاب",content:`آیا مطمئن هستید که می‌خواهید کتاب "${n.title}" را حذف کنید؟`,okText:"بله، حذف کن",cancelText:"انصراف",okType:"danger",centered:!0,onOk:async()=>{try{await be(n.id),f.success("کتاب با موفقیت حذف شد"),await F()}catch(e){console.error("Error deleting Product:",e),f.error("خطا در حذف کتاب: "+(e.message||"خطای ناشناخته"))}}})}let N=E.cloneDeep(a);return ye(async()=>{q.value=await Ie(),R.value=await Pe()}),(n,e)=>{const c=pe,d=de,g=Oe,r=De,h=Re,w=qe,U=Te,u=we("plus-outlined"),P=Ve,s=Me,p=_e,v=Fe,L=ue;return M(),O("div",null,[_("div",Ne,[Se,l(c,{type:"primary",onClick:ae},{default:i(()=>[z("افزودن محصول")]),_:1})]),l(d,Ue(X.value,{ref:"table",onRegister:o(G)}),{text:i(({record:t})=>[l(Be,{text:t.description},null,8,["text"])]),action:i(({record:t})=>[_("div",Ae,[l(o(J),{class:"cursor-pointer"},{title:i(()=>[Ee]),default:i(()=>[l(S,{icon:"vuesax-linear:trash",color:"#DC2626",onClick:D=>re(t)},null,8,["onClick"])]),_:2},1024),l(o(J),{class:"cursor-pointer"},{title:i(()=>[ze]),default:i(()=>[l(S,{icon:"vuesax-linear:edit",color:"#1D4ED8",onClick:D=>ie(t)},null,8,["onClick"])]),_:2},1024)])]),_:1},16,["onRegister"]),l(L,{visible:k.value,"onUpdate:visible":e[14]||(e[14]=t=>k.value=t),title:$.value?"ویرایش محصول":"افزودن محصول",onOk:se,onClose:e[15]||(e[15]=t=>j()),width:"80%",confirmLoading:y.value>0},{default:i(()=>[l(v,{layout:"vertical",class:"grid grid-cols-3 gap-2"},{default:i(()=>[l(r,{label:"عنوان فارسی",required:""},{default:i(()=>[l(g,{value:o(a).title_fa,"onUpdate:value":e[0]||(e[0]=t=>o(a).title_fa=t),placeholder:"عنوان فارسی محصول"},null,8,["value"])]),_:1}),l(r,{label:"عنوان انگلیسی"},{default:i(()=>[l(g,{value:o(a).title,"onUpdate:value":e[1]||(e[1]=t=>o(a).title=t),placeholder:"عنوان انگلیسی محصول"},null,8,["value"])]),_:1}),l(r,{label:"برند"},{default:i(()=>[l(h,{value:o(a).brand_id,"onUpdate:value":e[2]||(e[2]=t=>o(a).brand_id=t),placeholder:"انتخاب برند",options:o(K),"show-search":"","filter-option":n.filterOption},null,8,["value","options","filter-option"])]),_:1}),l(r,{label:"کالکشن"},{default:i(()=>[l(h,{value:o(a).collection_id,"onUpdate:value":e[3]||(e[3]=t=>o(a).collection_id=t),placeholder:"انتخاب کالکشن",options:o(Q)},null,8,["value","options"])]),_:1}),l(r,{label:"قیمت (تومان)"},{default:i(()=>[l(w,{value:o(a).price,"onUpdate:value":e[4]||(e[4]=t=>o(a).price=t),style:{width:"100%"},placeholder:"قیمت را وارد کنید"},null,8,["value"])]),_:1}),l(r,{label:" تخفیف %"},{default:i(()=>[l(w,{value:o(a).discount,"onUpdate:value":e[5]||(e[5]=t=>o(a).discount=t),style:{width:"100%"},placeholder:"در صد تخفیف را وارد کنید"},null,8,["value"])]),_:1}),l(r,{label:"کد محصول"},{default:i(()=>[l(g,{value:o(a).code,"onUpdate:value":e[6]||(e[6]=t=>o(a).code=t),style:{width:"100%"},placeholder:"کد محصول را وارد کنید"},null,8,["value"])]),_:1}),l(r,{label:"تعداد موجودی محصول"},{default:i(()=>[l(w,{value:o(a).count,"onUpdate:value":e[7]||(e[7]=t=>o(a).count=t),style:{width:"100%"},placeholder:"تعداد موجودی محصول را وارد کنید"},null,8,["value"])]),_:1}),l(r,{class:"col-span-3",label:"توضیحات محصول"},{default:i(()=>[l(U,{value:o(a).description,"onUpdate:value":e[8]||(e[8]=t=>o(a).description=t),rows:"4",placeholder:"توضیحات محصول"},null,8,["value"])]),_:1}),_("div",He,[l(r,{label:"تصویر اصلی"},{default:i(()=>[l(P,{"file-list":b.value,"onUpdate:fileList":e[9]||(e[9]=t=>b.value=t),"before-upload":oe,"custom-request":ne,accept:"image/*","list-type":"picture-card","max-count":1},{default:i(()=>[b.value.length<1?(M(),O("div",We,[l(u),Je])):xe("",!0)]),_:1},8,["file-list"])]),_:1}),l(r,{label:"فایل‌های محصول"},{default:i(()=>[l(P,{"file-list":o(a).files,"onUpdate:fileList":e[10]||(e[10]=t=>o(a).files=t),"before-upload":te,"custom-request":le,multiple:"","list-type":"picture-card"},{default:i(()=>[Ge]),_:1},8,["file-list"])]),_:1})]),l(r,{label:"ویژگی‌ها (Product Attributes)"},{default:i(()=>[_("div",Xe,[(M(!0),O(Ce,null,$e(o(a).product_attributes,(t,D)=>(M(),O("div",{key:D,class:"px-3 py-2 border rounded-md"},[l(h,{value:t.attribute_id,"onUpdate:value":x=>t.attribute_id=x,options:Y,placeholder:"انتخاب ویژگی"},null,8,["value","onUpdate:value"]),l(h,{value:t.attribute_values,"onUpdate:value":x=>t.attribute_values=x,options:Z(t.attribute_id),placeholder:"انتخاب مقدار ویژگی",mode:"multiple",style:{width:"100%"},class:"mt-2"},null,8,["value","onUpdate:value","options"]),l(s,{checked:t.use_in_product_page,"onUpdate:checked":x=>t.use_in_product_page=x,class:"mt-1",checkedChildren:"نمایش در صفحه محصول",unCheckedChildren:"مخفی"},null,8,["checked","onUpdate:checked"])]))),128)),l(p,{type:"dashed",block:"",onClick:ee},{default:i(()=>[z("+ افزودن ویژگی")]),_:1})])]),_:1}),_("div",Ke,[l(r,{label:"نمایش"},{default:i(()=>[l(s,{checked:o(a).is_show,"onUpdate:checked":e[11]||(e[11]=t=>o(a).is_show=t)},null,8,["checked"])]),_:1}),l(r,{label:"فعال"},{default:i(()=>[l(s,{checked:o(a).is_active,"onUpdate:checked":e[12]||(e[12]=t=>o(a).is_active=t)},null,8,["checked"])]),_:1}),l(r,{label:"موجود"},{default:i(()=>[l(s,{checked:o(a).is_exist,"onUpdate:checked":e[13]||(e[13]=t=>o(a).is_exist=t)},null,8,["checked"])]),_:1})])]),_:1})]),_:1},8,["visible","title","confirmLoading"])])}}});export{Bt as default};