2 lines
9.0 KiB
JavaScript
2 lines
9.0 KiB
JavaScript
import{_ as G}from"./BasicModal.vue_vue_type_style_index_0_lang-f76fec1b.js";import{_ as K,u as Q}from"./useBaseTable-45427402.js";import{_ as Y}from"./button.vue_vue_type_style_index_0_lang-e7cef717.js";import{I as P}from"./Icon-b8613529.js";import{t as Z}from"./useDataTime-7db5a46b.js";import{g as T}from"./convert-2ad76038.js";import{_ as q}from"./TextPreview.vue_vue_type_script_setup_true_lang-a779e657.js";import{_ as j}from"./CustomTag.vue_vue_type_script_setup_true_lang-ae242498.js";import{e as a,d as ee,i as d,h as te,x as ae,p as oe,o as D,c as F,b as _,w as r,f as ie,l as c,L as ne,n as le,H as m,M as se}from"./index-166b4ef1.js";import{g as O}from"./index-b9bbd6f2.js";import{a as re,u as ue,c as ce,d as pe}from"./brand-3dee5863.js";import{l as me}from"./lodash-593efeb6.js";import{M as de,_ as fe}from"./index-58b86fb2.js";import{I as _e,b as ge}from"./index-7005b758.js";import{_ as ve,F as he}from"./index-f98d2511.js";import{U as be}from"./index-6c7cbb7d.js";import{T as N}from"./isSymbol-c953ccc2.js";import"./index-de862045.js";import"./vnode-c85f1a09.js";import"./_plugin-vue_export-helper-e5be29c6.js";import"./updateLocale-6eb93789.js";import"./index-08810a1f.js";import"./shallowequal-78a96afc.js";import"./useState-43a565ec.js";import"./useMemo-99a24173.js";import"./FormItemContext-0e89b3aa.js";import"./omit-55909a9d.js";import"./BaseSwitch.vue_vue_type_script_setup_true_lang-6e462f47.js";import"./index-8bcb6210.js";import"./Badge-a3c7a3a7.js";import"./isNumeric-3f69e2aa.js";import"./index-ad625a72.js";import"./index-011e0893.js";import"./index-1465c5c8.js";import"./styleChecker-2eddf97d.js";import"./index-75be736e.js";import"./index-7f046693.js";import"./DialogWrap-88ddfe3e.js";import"./pickAttrs-5cd7ef1f.js";import"./css-aae66f86.js";import"./index-3ad11dd3.js";import"./toArray-cf38ce67.js";import"./SearchOutlined-3d6399d7.js";import"./isMobile-e2e89480.js";import"./index-991e4e35.js";import"./textUtils-c37780ad.js";import"./isPlainObject-ed4c9976.js";import"./_flatRest-ae97161b.js";import"./Col-6dc2da7a.js";import"./index-dfddf43f.js";import"./useRefs-ca4d56b6.js";const xe=[{title:"ردیف",dataIndex:"id",key:"id",filterable:!1,width:70,align:"center",customRender:t=>t.index+1},{title:"تصویر ",dataIndex:"image",key:"image",customRender:t=>{const C=T(t.record.image);return a("img",{src:C,width:60},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:100,customRender:t=>a("div",{class:"flex justify-center"},[a(j,{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(j,{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",customRender:t=>Z(t.record.created_at)},{title:"عملیات",dataIndex:"action",key:"action",slot:"action",filterable:!1,align:"center"}],ye={class:"flex justify-between items-center mb-4"},ke=_("h2",null,"برند ها",-1),we={class:"gap-2 flex justify-center"},Ie=_("span",null,"حذف",-1),Be=_("span",null,"ویرایش",-1),Ce={class:"grid grid-cols-3 gap-4"},Ue={key:0},Me=_("div",{style:{"margin-top":"8px"}},"آپلود",-1),Ct=ee({__name:"index",setup(t){`${O()||localStorage.getItem("tamin_token")||""}`;const[C,$]=Q(),E=d({columns:xe,api:re,defaultPageLimit:20}),h=d(!1),k=d(!1),w=d(null),V=d([]),b=d(0),I=d(0),l=te({title:"",active:!0,image:void 0,owner_id:void 0,id:void 0,description:void 0,public:void 0});let z=me.cloneDeep(l);d();const g=d([]);function H(){V.value=[],k.value=!1,w.value=null,h.value=!0}function L(){Object.assign(l,z),g.value=[],h.value=!1}function S(n){return n.type.startsWith("image/")?n.size/1024/1024<5?!0:(m.error("حجم تصویر باید کمتر از 5MB باشد"),!1):(m.error("فقط فایلهای تصویری مجاز است"),!1)}async function W(n){const{file:e,onSuccess:p,onError:u,onProgress:x}=n,f=new FormData;f.append("file",e);const B=`${se}/upload/machartaa-img`;I.value=0,b.value++,await new Promise((U,y)=>{const s=new XMLHttpRequest;s.open("POST",B);const M=O()||localStorage.getItem("tamin_token")||"";s.setRequestHeader("Authorization",`Bearer ${M}`),s.upload.onprogress=o=>{if(o.lengthComputable){const i=Math.round(o.loaded/o.total*100);I.value=i,x==null||x({percent:i})}},s.onload=()=>{if(I.value=100,s.status>=200&&s.status<300)try{const o=JSON.parse(s.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 R=T(v);l.image=v,g.value=R?[{uid:`${Date.now()}`,name:"image.jpg",status:"done",url:R,response:{path:v}}]:[],p==null||p(o,s),m.success("کاور با موفقیت آپلود شد!"),U()}catch(o){u==null||u(o,s),y(o)}else{const o=new Error("خطا در آپلود تصویر");u==null||u(o,s),y(o)}},s.onerror=()=>{const o=new Error("خطا در آپلود کاور");u==null||u(o,s),y(o)},s.onloadend=()=>{b.value=Math.max(0,b.value-1),I.value=0},s.send(f)})}async function A(){var n;if(!((n=l.title)!=null&&n.trim())){m.error("لطفاً عنوان برند را وارد کنید");return}if(b.value>0){m.warning("لطفاً تا پایان آپلود صبر کنید");return}try{k.value&&w.value?(await ue(w.value,l),m.success("برند با موفقیت ویرایش شد")):(await ce(l),m.success("برند با موفقیت افزوده شد")),L(),await $()}catch(e){console.error("Error saving Product:",e),m.error("خطا در ذخیره برند: "+(e.message||"خطای ناشناخته"))}}function J(n){k.value=!0,w.value=n.id,console.log(n);let e=n.image||null;e&&e.startsWith("http")&&(e=e.replace(/^https?:\/\/[^\/]+/,""));for(const p in l)n.hasOwnProperty(p)&&(l[p]=n[p]);g.value=e?[{uid:"-1",name:"image.jpg",status:"done",url:T(e),response:{path:e}}]:[],h.value=!0}function X(n){de.confirm({title:"حذف برند",content:`آیا مطمئن هستید که میخواهید برند "${n.title}" را حذف کنید؟`,okText:"بله، حذف کن",cancelText:"انصراف",okType:"danger",centered:!0,onOk:async()=>{try{await pe(n.id),m.success("برند با موفقیت حذف شد"),await $()}catch(e){console.error("Error deleting Product:",e),m.error("خطا در حذف برند: "+(e.message||"خطای ناشناخته"))}}})}return ae(async()=>{}),(n,e)=>{const p=Y,u=K,x=_e,f=ve,B=fe,U=ge,y=oe("plus-outlined"),s=be,M=he,o=G;return D(),F("div",null,[_("div",ye,[ke,a(p,{type:"primary",onClick:H},{default:r(()=>[ie("افزودن برند")]),_:1})]),a(u,ne(E.value,{ref:"table",onRegister:c(C)}),{text:r(({record:i})=>[a(q,{text:i.description},null,8,["text"])]),action:r(({record:i})=>[_("div",we,[a(c(N),{class:"cursor-pointer"},{title:r(()=>[Ie]),default:r(()=>[a(P,{icon:"vuesax-linear:trash",color:"#DC2626",onClick:v=>X(i)},null,8,["onClick"])]),_:2},1024),a(c(N),{class:"cursor-pointer"},{title:r(()=>[Be]),default:r(()=>[a(P,{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:k.value?"ویرایش برند":"افزودن برند",onOk:A,onClose:L,width:"80%",confirmLoading:b.value>0},{default:r(()=>[a(M,{layout:"vertical",class:"grid grid-cols-2 gap-2"},{default:r(()=>[a(f,{label:"عنوان برند",required:""},{default:r(()=>[a(x,{value:c(l).title,"onUpdate:value":e[0]||(e[0]=i=>c(l).title=i),placeholder:"عنوان فارسی محصول"},null,8,["value"])]),_:1}),_("div",Ce,[a(f,{label:"فعال"},{default:r(()=>[a(B,{checked:c(l).active,"onUpdate:checked":e[1]||(e[1]=i=>c(l).active=i)},null,8,["checked"])]),_:1}),a(f,{label:"دسترسی عمومی"},{default:r(()=>[a(B,{checked:c(l).public,"onUpdate:checked":e[2]||(e[2]=i=>c(l).public=i)},null,8,["checked"])]),_:1})]),a(f,{label:"توضیحات برند"},{default:r(()=>[a(U,{value:c(l).description,"onUpdate:value":e[3]||(e[3]=i=>c(l).description=i),rows:"4",placeholder:"توضیحات محصول"},null,8,["value"])]),_:1}),a(f,{label:"تصویر اصلی"},{default:r(()=>[a(s,{"file-list":g.value,"onUpdate:fileList":e[4]||(e[4]=i=>g.value=i),"before-upload":S,"custom-request":W,accept:"image/jpeg,image/png,image/webp,image/gif,image/heic,image/heif,.jpg,.jpeg,.png,.webp,.gif,.heic,.heif","list-type":"picture-card","max-count":1},{default:r(()=>[g.value.length<1?(D(),F("div",Ue,[a(y),Me])):le("",!0)]),_:1},8,["file-list"])]),_:1})]),_:1})]),_:1},8,["visible","title","confirmLoading"])])}}});export{Ct as default};
|