Files
machartaa_admin_dist/dist/assets/index-4e442ddf.js
T
2026-08-17 13:34:14 +03:30

2 lines
9.1 KiB
JavaScript

import{_ as G}from"./BasicModal.vue_vue_type_style_index_0_lang-050248e0.js";import{_ as K,u as Q}from"./useBaseTable-a962a6e3.js";import{_ as Y}from"./button.vue_vue_type_style_index_0_lang-cf170adf.js";import{I as $}from"./Icon-21c28098.js";import{t as Z}from"./useDataTime-64353302.js";import{g as M}from"./convert-2ad76038.js";import{_ as q}from"./TextPreview.vue_vue_type_script_setup_true_lang-c64dd012.js";import{_ as D}from"./CustomTag.vue_vue_type_script_setup_true_lang-5c2e36ff.js";import{b as a,d as tt,g as d,r as et,v as at,l as ot,o as F,c as j,a as _,w as r,e as it,j as c,H as lt,k as st,D as m,I as nt}from"./index-e0c2af95.js";import{g as O}from"./index-4c1c1287.js";import{l as rt}from"./lodash-7e5e5813.js";import{a as ut,u as ct,c as pt,d as mt}from"./category-8b2b638d.js";import{M as dt,_ as ft}from"./index-ba1a268c.js";import{I as _t,b as gt}from"./index-ff6425ec.js";import{_ as vt,F as ht}from"./index-3f95615f.js";import{U as bt}from"./index-75e285c0.js";import{T as N}from"./isSymbol-16519357.js";import"./index-55df0a19.js";import"./vnode-1d9a5f19.js";import"./_plugin-vue_export-helper-ede5981c.js";import"./updateLocale-ddc4d420.js";import"./index-ccf41683.js";import"./index-bc659f42.js";import"./shallowequal-94cf06f1.js";import"./useState-9f37179f.js";import"./useMemo-8582dbbb.js";import"./FormItemContext-31ef74d8.js";import"./omit-ef5483a7.js";import"./BaseSwitch.vue_vue_type_script_setup_true_lang-751e37cd.js";import"./index-3be03c15.js";import"./Badge-0df70937.js";import"./isNumeric-3f69e2aa.js";import"./index-beff19b5.js";import"./index-77288b74.js";import"./index-777eb3d4.js";import"./styleChecker-fa192349.js";import"./index-89e8edb2.js";import"./index-329abdc2.js";import"./DialogWrap-3bd23522.js";import"./pickAttrs-e6a1c834.js";import"./css-aae66f86.js";import"./index-71bd3b00.js";import"./toArray-590d8ecb.js";import"./SearchOutlined-9dbd40a5.js";import"./isMobile-e2e89480.js";import"./index-f062f0ac.js";import"./index-4a6bfbb1.js";import"./textUtils-c37780ad.js";import"./isPlainObject-475d5f63.js";import"./_flatRest-7f56bd12.js";import"./Col-f312538f.js";import"./index-fdf98d11.js";import"./useRefs-f2d2b66f.js";const xt=[{title:"ردیف",dataIndex:"id",key:"id",filterable:!1,width:70,align:"center",customRender:t=>t.index+1},{title:"تصویر ",dataIndex:"image",key:"image",width:80,customRender:t=>{const k=M(t.record.image);return k?a("img",{src:k,width:60},null):a($,{icon:"vuesax-linear:category"},null)}},{title:"عنوان",dataIndex:"title",key:"title"},{title:"توضیحات",dataIndex:"description",key:"description",width:500,customRender:t=>a(q,{text:t.record.description},null)},{title:"وضعیت ",dataIndex:"active",key:"active",type:"Boolean",width:150,customRender:t=>a("div",{class:"flex justify-center"},[a(D,{class:"px-3 font-bold py-1",textColor:t!=null&&t.record.active?"#65a30d":"#dc2626",bgColor:t!=null&&t.record.active?"#ecfccb":"#fee2e2"},{default:()=>[t!=null&&t.record.active?"فعال":"غیر فعال"]})])},{title:"وضعیت دسترسی ",dataIndex:"public",key:"public",filterField:"public",type:"Boolean",width:150,customRender:t=>a("div",{class:"flex justify-center"},[a(D,{class:"px-3 font-bold py-1",textColor:t!=null&&t.record.public?"#0d6fa3":"#333333",bgColor:t!=null&&t.record.public?"#cbe9fc":"#eaeaea"},{default:()=>[t!=null&&t.record.public?"عمومی":"خصوصی"]})])},{title:"زمان ایجاد",dataIndex:"created_at",key:"created_at",width:80,customRender:t=>t.record.created_at?Z(t.record.created_at):"-"},{title:"عملیات",dataIndex:"action",key:"action",slot:"action",filterable:!1,align:"center"}],yt={class:"flex justify-between items-center mb-4"},kt=_("h2",null,"دسته بندی ها",-1),wt={class:"gap-2 flex justify-center"},It=_("span",null,"حذف",-1),Ct=_("span",null,"ویرایش",-1),Ut={class:"grid grid-cols-3 gap-4"},Bt={key:0},Tt=_("div",{style:{"margin-top":"8px"}},"آپلود",-1),Te=tt({__name:"index",setup(t){`${O()||localStorage.getItem("tamin_token")||""}`;const[k,R]=Q(),E=d({columns:xt,api:ut,defaultPageLimit:20}),h=d(!1),w=d(!1),I=d(null),V=d([]),b=d(0),C=d(0),s=et({title:"",active:!0,image:void 0,owner_id:void 0,id:void 0,description:void 0,public:void 0});let z=rt.cloneDeep(s);d();const g=d([]);function H(){V.value=[],w.value=!1,I.value=null,h.value=!0}function L(){Object.assign(s,z),g.value=[],h.value=!1}function S(l){return l.type.startsWith("image/")?l.size/1024/1024<5?!0:(m.error("حجم تصویر باید کمتر از 5MB باشد"),!1):(m.error("فقط فایل‌های تصویری مجاز است"),!1)}async function W(l){const{file:e,onSuccess:p,onError:u,onProgress:x}=l,f=new FormData;f.append("file",e);const U=`${nt}/upload/machartaa-img`;C.value=0,b.value++,await new Promise((B,y)=>{const n=new XMLHttpRequest;n.open("POST",U);const T=O()||localStorage.getItem("tamin_token")||"";n.setRequestHeader("Authorization",`Bearer ${T}`),n.upload.onprogress=o=>{if(o.lengthComputable){const i=Math.round(o.loaded/o.total*100);C.value=i,x==null||x({percent:i})}},n.onload=()=>{if(C.value=100,n.status>=200&&n.status<300)try{const o=JSON.parse(n.responseText||"{}"),i=o.full_src||o.url||o.src||o.path||o.data&&(o.data.full_src||o.data.url||o.data.src||o.data.path)||"";let v=i;i!=null&&i.startsWith("http")&&(v=i.replace(/^https?:\/\/[^\/]+/,""));const P=M(v);s.image=v,g.value=P?[{uid:`${Date.now()}`,name:"image.jpg",status:"done",url:P,response:{path:v}}]:[],p==null||p(o,n),m.success("کاور با موفقیت آپلود شد!"),B()}catch(o){u==null||u(o,n),y(o)}else{const o=new Error("خطا در آپلود تصویر");u==null||u(o,n),y(o)}},n.onerror=()=>{const o=new Error("خطا در آپلود کاور");u==null||u(o,n),y(o)},n.onloadend=()=>{b.value=Math.max(0,b.value-1),C.value=0},n.send(f)})}async function A(){var l;if(!((l=s.title)!=null&&l.trim())){m.error("لطفاً عنوان دسته بندی را وارد کنید");return}if(b.value>0){m.warning("لطفاً تا پایان آپلود صبر کنید");return}try{w.value&&I.value?(await ct(I.value,s),m.success("دسته بندی با موفقیت ویرایش شد")):(await pt(s),m.success("دسته بندی با موفقیت افزوده شد")),L(),await R()}catch(e){console.error("Error saving Product:",e),m.error("خطا در ذخیره دسته بندی: "+(e.message||"خطای ناشناخته"))}}function J(l){w.value=!0,I.value=l.id,console.log(l);let e=l.image||null;e&&e.startsWith("http")&&(e=e.replace(/^https?:\/\/[^\/]+/,""));for(const p in s)l.hasOwnProperty(p)&&(s[p]=l[p]);g.value=e?[{uid:"-1",name:"image.jpg",status:"done",url:M(e),response:{path:e}}]:[],h.value=!0}function X(l){dt.confirm({title:"حذف دسته بندی",content:`آیا مطمئن هستید که می‌خواهید دسته بندی "${l.title}" را حذف کنید؟`,okText:"بله، حذف کن",cancelText:"انصراف",okType:"danger",centered:!0,onOk:async()=>{try{await mt(l.id),m.success("دسته بندی با موفقیت حذف شد"),await R()}catch(e){console.error("Error deleting Product:",e),m.error("خطا در حذف دسته بندی: "+(e.message||"خطای ناشناخته"))}}})}return at(async()=>{}),(l,e)=>{const p=Y,u=K,x=_t,f=vt,U=ft,B=gt,y=ot("plus-outlined"),n=bt,T=ht,o=G;return F(),j("div",null,[_("div",yt,[kt,a(p,{type:"primary",onClick:H},{default:r(()=>[it("افزودن دسته بندی")]),_:1})]),a(u,lt(E.value,{ref:"table",onRegister:c(k)}),{text:r(({record:i})=>[a(q,{text:i.description},null,8,["text"])]),action:r(({record:i})=>[_("div",wt,[a(c(N),{class:"cursor-pointer"},{title:r(()=>[It]),default:r(()=>[a($,{icon:"vuesax-linear:trash",color:"#DC2626",onClick:v=>X(i)},null,8,["onClick"])]),_:2},1024),a(c(N),{class:"cursor-pointer"},{title:r(()=>[Ct]),default:r(()=>[a($,{icon:"vuesax-linear:edit",color:"#1D4ED8",onClick:v=>J(i)},null,8,["onClick"])]),_:2},1024)])]),_:1},16,["onRegister"]),a(o,{visible:h.value,"onUpdate:visible":e[5]||(e[5]=i=>h.value=i),title:w.value?"ویرایش دسته بندی":"افزودن دسته بندی",onOk:A,onClose:L,width:"80%",confirmLoading:b.value>0},{default:r(()=>[a(T,{layout:"vertical",class:"grid grid-cols-2 gap-2"},{default:r(()=>[a(f,{label:"عنوان دسته بندی",required:""},{default:r(()=>[a(x,{value:c(s).title,"onUpdate:value":e[0]||(e[0]=i=>c(s).title=i),placeholder:"عنوان فارسی محصول"},null,8,["value"])]),_:1}),_("div",Ut,[a(f,{label:"فعال"},{default:r(()=>[a(U,{checked:c(s).active,"onUpdate:checked":e[1]||(e[1]=i=>c(s).active=i)},null,8,["checked"])]),_:1}),a(f,{label:"دسترسی عمومی"},{default:r(()=>[a(U,{checked:c(s).public,"onUpdate:checked":e[2]||(e[2]=i=>c(s).public=i)},null,8,["checked"])]),_:1})]),a(f,{label:"توضیحات دسته بندی"},{default:r(()=>[a(B,{value:c(s).description,"onUpdate:value":e[3]||(e[3]=i=>c(s).description=i),rows:"4",placeholder:"توضیحات محصول"},null,8,["value"])]),_:1}),a(f,{label:"تصویر اصلی"},{default:r(()=>[a(n,{"file-list":g.value,"onUpdate:fileList":e[4]||(e[4]=i=>g.value=i),"before-upload":S,"custom-request":W,accept:"image/*","list-type":"picture-card","max-count":1},{default:r(()=>[g.value.length<1?(F(),j("div",Bt,[a(y),Tt])):st("",!0)]),_:1},8,["file-list"])]),_:1})]),_:1})]),_:1},8,["visible","title","confirmLoading"])])}}});export{Te as default};