Files
machartaa_admin_dist/dist/assets/index-6288acf6.js
T
2026-06-23 12:51:15 +03:30

2 lines
7.9 KiB
JavaScript

import{_ as G}from"./BasicMainCard-bf671953.js";import{_ as X}from"./BasicModal.vue_vue_type_style_index_0_lang-407efba3.js";import{_ as K}from"./BasicInput.vue_vue_type_style_index_0_lang-1d385434.js";import{_ as Q,u as Y}from"./useBaseTable-24f4f2e2.js";import{_ as Z}from"./button.vue_vue_type_style_index_0_lang-27efd666.js";import{I as T}from"./Icon-6341c6d7.js";import{t as ee}from"./useDataTime-7ae4955d.js";import{getBooksTable as te,updateBook as ae,addBook as oe,deleteBook as le}from"./books-9dbad9db.js";import{d as se,g as f,o as I,c as M,b as r,w as m,a as o,e as re,G as ie,j as x,k as $,y as ne,t as ue,D as c,H as ce}from"./index-1bce333c.js";import{g as P}from"./convert-67c23be8.js";import{g as z}from"./index-4665983e.js";import{M as de}from"./index-5c225384.js";import{T as N}from"./shallowequal-1541c82f.js";import{S as me}from"./index-7d6b4818.js";import{U as pe}from"./index-5086b76f.js";import"./index-f9207910.js";import"./index-b0d31435.js";import"./_plugin-vue_export-helper-3f2269c4.js";import"./Col-9a22bf06.js";import"./vnode-aeac980e.js";import"./useState-3936625c.js";import"./useRefs-1a04203f.js";import"./index-cb94b65a.js";import"./isPlainObject-cf478c35.js";import"./usePrice-bc935b83.js";import"./index-88c28232.js";import"./FormItemContext-3ee2389e.js";import"./fa_IR-7585613a.js";import"./toArray-4db0bbfe.js";import"./pickAttrs-fbeac5f6.js";import"./lodash-7eda9a39.js";import"./index-a87160dc.js";import"./index-341f08f3.js";const ve=[{title:"ردیف",dataIndex:"id",key:"id",filterable:!1,width:70,align:"center",customRender:p=>p.record.index+1},{title:"عنوان",dataIndex:"title",key:"title"},{title:"زیرعنوان",dataIndex:"sub_title",key:"sub_title"},{title:"تعداد قصه ها",dataIndex:"total_storys",key:"total_storys",align:"center",width:120,customRender:p=>p.record.total_storys??0},{title:"تصویر کاور",dataIndex:"cover",key:"cover",customRender:p=>p.record.cover||"-"},{title:"زمان ایجاد",dataIndex:"created_at",key:"created_at",customRender:p=>ee(p.record.created_at)},{title:"عملیات",dataIndex:"action",key:"action",slot:"action",filterable:!1,align:"center"}],_e={class:"flex justify-between items-center mb-4"},fe=o("h2",null,"کتاب ها",-1),ge={class:"gap-2 flex justify-center"},he=o("span",null,"حذف",-1),be=o("span",null,"ویرایش",-1),ye={class:"space-y-4 relative"},xe={key:0,class:"absolute inset-0 bg-white/60 z-10 flex items-center justify-center"},ke=o("div",{class:"mb-1 text-sm text-gray-600"},"عنوان *",-1),we=o("div",{class:"mb-1 text-sm text-gray-600"},"زیرعنوان",-1),Be=o("div",{class:"mb-1 text-sm text-gray-600"},"آپلود تصویر کاور",-1),Ce={key:0},Ie=o("div",null,"آپلود کاور",-1),Me={key:0,class:"mt-1"},Ue={class:"h-2 rounded bg-gray-200 overflow-hidden"},Te={class:"text-xs text-gray-700 font-semibold text-center mt-1"},ut=se({__name:"index",setup(p){const D={authorization:`Bearer ${z()||localStorage.getItem("tamin_token")||""}`},[j,L]=Y(),O=f({columns:ve,api:te,defaultPageLimit:20}),b=f(!1),k=f(!1),w=f(null),g=f([]),h=f(0),v=f(0),u=f({title:"",sub_title:null,cover:null});function V(){g.value=[],k.value=!1,w.value=null,u.value={title:"",sub_title:null,cover:null},b.value=!0}function R(){b.value=!1}function q(a){return a.type.startsWith("image/")?a.size/1024/1024<5?!0:(c.error("حجم تصویر باید کمتر از 5MB باشد"),!1):(c.error("فقط فایل‌های تصویری مجاز است"),!1)}async function E(a){const{file:e,onSuccess:i,onError:l,onProgress:d}=a,B=new FormData;B.append("file",e);const U=`${ce}/upload/machartaa-img`;v.value=0,h.value++,await new Promise((n,y)=>{const s=new XMLHttpRequest;s.open("POST",U);const J=z()||localStorage.getItem("tamin_token")||"";s.setRequestHeader("Authorization",`Bearer ${J}`),s.upload.onprogress=t=>{if(t.lengthComputable){const _=Math.round(t.loaded/t.total*100);v.value=_,d==null||d({percent:_})}},s.onload=()=>{if(v.value=100,s.status>=200&&s.status<300)try{const t=JSON.parse(s.responseText||"{}"),_=t.full_src||t.url||t.src||t.path||t.data&&(t.data.full_src||t.data.url||t.data.src||t.data.path)||"";let C=_;_!=null&&_.startsWith("http")&&(C=_.replace(/^https?:\/\/[^\/]+/,""));const S=P(C);u.value.cover=C,g.value=S?[{uid:`${Date.now()}`,name:"cover.jpg",status:"done",url:S,response:{path:C}}]:[],i==null||i(t,s),c.success("کاور با موفقیت آپلود شد!"),n()}catch(t){l==null||l(t,s),y(t)}else{const t=new Error("خطا در آپلود تصویر");l==null||l(t,s),y(t)}},s.onerror=()=>{const t=new Error("خطا در آپلود کاور");l==null||l(t,s),y(t)},s.onloadend=()=>{h.value=Math.max(0,h.value-1),v.value=0},s.send(B)})}function H(a){return{width:`${Math.max(0,Math.min(100,a))}%`}}async function W(){var e,i,l;if(!((e=u.value.title)!=null&&e.trim())){c.error("لطفاً عنوان کتاب را وارد کنید");return}if(h.value>0){c.warning("لطفاً تا پایان آپلود صبر کنید");return}const a={title:u.value.title.trim(),sub_title:((i=u.value.sub_title)==null?void 0:i.trim())||null,cover:((l=u.value.cover)==null?void 0:l.trim())||null};try{k.value&&w.value?(await ae(w.value,a),c.success("کتاب با موفقیت ویرایش شد")):(await oe(a),c.success("کتاب با موفقیت افزوده شد")),R(),await L()}catch(d){console.error("Error saving book:",d),c.error("خطا در ذخیره کتاب: "+(d.message||"خطای ناشناخته"))}}function A(a){k.value=!0,w.value=a.id;let e=a.cover||null;e&&e.startsWith("http")&&(e=e.replace(/^https?:\/\/[^\/]+/,"")),u.value={title:a.title||"",sub_title:a.sub_title||null,cover:e};const i=e?P(e):null;g.value=i?[{uid:"-1",name:"cover.jpg",status:"done",url:i,response:{path:e}}]:[],b.value=!0}function F(a){de.confirm({title:"حذف کتاب",content:`آیا مطمئن هستید که می‌خواهید کتاب "${a.title}" را حذف کنید؟`,okText:"بله، حذف کن",cancelText:"انصراف",okType:"danger",centered:!0,onOk:async()=>{try{await le(a.id),c.success("کتاب با موفقیت حذف شد"),await L()}catch(e){console.error("Error deleting book:",e),c.error("خطا در حذف کتاب: "+(e.message||"خطای ناشناخته"))}}})}return(a,e)=>{const i=Z,l=Q,d=K,B=X,U=G;return I(),M("div",null,[r(U,null,{default:m(()=>[o("div",_e,[fe,r(i,{type:"primary",onClick:V},{default:m(()=>[re("افزودن کتاب")]),_:1})]),r(l,ie(O.value,{ref:"table",onRegister:x(j)}),{action:m(({record:n})=>[o("div",ge,[r(x(N),{class:"cursor-pointer"},{title:m(()=>[he]),default:m(()=>[r(T,{icon:"vuesax-linear:trash",color:"#DC2626",onClick:y=>F(n)},null,8,["onClick"])]),_:2},1024),r(x(N),{class:"cursor-pointer"},{title:m(()=>[be]),default:m(()=>[r(T,{icon:"vuesax-linear:edit",color:"#1D4ED8",onClick:y=>A(n)},null,8,["onClick"])]),_:2},1024)])]),_:1},16,["onRegister"]),r(B,{visible:b.value,"onUpdate:visible":e[3]||(e[3]=n=>b.value=n),title:k.value?"ویرایش کتاب":"افزودن کتاب",onOk:W,onCancel:R,width:"80%",confirmLoading:h.value>0},{default:m(()=>[o("div",ye,[h.value>0?(I(),M("div",xe,[r(x(me),{size:"large"})])):$("",!0),o("div",null,[ke,r(d,{value:u.value.title,"onUpdate:value":e[0]||(e[0]=n=>u.value.title=n),placeholder:"عنوان کتاب"},null,8,["value"])]),o("div",null,[we,r(d,{value:u.value.sub_title,"onUpdate:value":e[1]||(e[1]=n=>u.value.sub_title=n),placeholder:"زیرعنوان کتاب"},null,8,["value"])]),o("div",null,[Be,r(x(pe),{"file-list":g.value,"onUpdate:fileList":e[2]||(e[2]=n=>g.value=n),"before-upload":q,"custom-request":E,headers:D,accept:"image/*","max-count":1,"list-type":"picture-card"},{default:m(()=>[g.value.length<1?(I(),M("div",Ce,[r(T,{icon:"vuesax-linear:image",class:"text-2xl mb-2"}),Ie])):$("",!0)]),_:1},8,["file-list"]),v.value>0&&v.value<100?(I(),M("div",Me,[o("div",Ue,[o("div",{class:"h-2 bg-blue-500 transition-all",style:ne(H(v.value))},null,4)]),o("div",Te,ue(v.value)+"%",1)])):$("",!0)])])]),_:1},8,["visible","title","confirmLoading"])]),_:1})])}}});export{ut as default};