2 lines
9.9 KiB
JavaScript
2 lines
9.9 KiB
JavaScript
import{_ as O}from"./BasicMainCard-bd323dbb.js";import{_ as V}from"./BasicModal.vue_vue_type_style_index_0_lang-fc68b6f7.js";import{_ as F}from"./BasicInput.vue_vue_type_style_index_0_lang-fff7ede0.js";import{_ as W}from"./BaseTable.vue_vue_type_style_index_0_lang-882f1017.js";import{_ as J}from"./button.vue_vue_type_style_index_0_lang-33000dc3.js";import{I as S}from"./Icon-4420454e.js";import{u as G}from"./useBaseTable-3aeb2499.js";import{t as H}from"./useDataTime-8719acff.js";import{a2 as K,a3 as M,d as Q,r as g,o as T,c as B,b as u,w as h,a as s,e as X,a4 as Y,L as I,N as C,a0 as b}from"./index-a8433551.js";import{M as Z}from"./index-3386ab22.js";import{S as tt}from"./index-bcdceab6.js";import{T as D}from"./index-1c2b64f4.js";import{U as N}from"./index-2ef5192d.js";import"./_plugin-vue_export-helper-c27b6911.js";import"./index-ead9b4ae.js";import"./index-4dee99dd.js";import"./raf-ca407421.js";import"./colors-338a38fb.js";import"./index-4a4899f5.js";import"./styleChecker-4074517c.js";import"./useState-ea5d1f15.js";import"./Col-6a6e9347.js";import"./index-cd5dab0a.js";import"./debounce-12f80d64.js";import"./usePrefix-59ffbd1f.js";import"./usePrice-7afab779.js";import"./index-ab4bfd10.js";import"./SearchOutlined-14c653fb.js";import"./EyeOutlined-a79acaa2.js";import"./index-47f6ee7f.js";import"./index-b96224b7.js";import"./pickAttrs-cd8d934f.js";import"./CheckOutlined-fe3ce043.js";import"./objectDestructuringEmpty-24e23e90.js";import"./eagerComputed-9b88cc2c.js";import"./index-9790e4ab.js";const et=[{title:"ردیف",dataIndex:"id",key:"id",filterable:!1,customRender:o=>o.record.index+1},{title:"عنوان",dataIndex:"title",key:"title"},{title:"زیرعنوان",dataIndex:"sub_title",key:"sub_title"},{title:"زمان",dataIndex:"time",key:"time",customRender:o=>{const n=o.record.time||{minutes:0,seconds:0},c=Number(n.minutes||0),d=Number(n.seconds||0),p=x=>String(x).padStart(2,"0");return`${p(c)}:${p(d)}`}},{title:"صوت",dataIndex:"src",key:"src",customRender:o=>o.record.src?"دارد":"-"},{title:"تاریخ ایجاد",dataIndex:"created_at",key:"created_at",customRender:o=>H(o.record.created_at)},{title:"عملیات",dataIndex:"action",key:"action",slot:"action",filterable:!1,align:"center"}];async function st(o){const{data:n,error:c}=await M.from("storys").insert([{title:o.title,sub_title:o.sub_title,cover:o.cover,src:o.src,time:o.time}]).select();if(c)throw c;return n}async function at(o,n){const{data:c,error:d}=await M.from("storys").update({title:n.title,sub_title:n.sub_title,cover:n.cover,src:n.src,time:n.time}).eq("id",o).select();if(d)throw d;return c}async function ot(o){const{error:n}=await M.from("storys").delete().eq("id",o);if(n)throw n}async function it(o){const{TableEngineRequest:n}=await K(()=>import("./buildSupabaseQuery-944c77f8.js"),["assets/buildSupabaseQuery-944c77f8.js","assets/index-a8433551.js","assets/index-d933e911.css"]),c={...o};!c.sort&&!c.order&&(c.order="-id");const d=await n(c,"storys");try{if(Array.isArray(d==null?void 0:d.rows)){const p=c.page||1,x=c.limit||200,k=(p-1)*x,w=d.rows.map((m,v)=>({id:m.id,title:m.title??"",sub_title:m.sub_title??"",cover:m.cover??null,src:m.src??null,time:m.time??{minutes:0,seconds:0},created_at:m.created_at??"",index:k+v,...m}));return{...d,rows:w}}}catch(p){console.log("[getStorysTable] normalize error:",p)}return d}const lt={class:"flex justify-between items-center mb-4"},rt=s("h2",null,"قصه ها",-1),nt={class:"gap-2 flex justify-center"},ut=s("span",null,"حذف",-1),ct=s("span",null,"ویرایش",-1),mt={class:"space-y-4 relative"},dt={key:0,class:"absolute inset-0 bg-white/60 z-10 flex items-center justify-center"},pt=s("div",{class:"mb-1 text-sm text-gray-600"},"عنوان",-1),vt=s("div",{class:"mb-1 text-sm text-gray-600"},"زیرعنوان",-1),ft={class:"flex gap-4"},_t={class:"flex-1"},ht=s("div",{class:"mb-1 text-sm text-gray-600"},"زمان",-1),bt={class:"space-y-2"},xt=s("div",{class:"mb-1 text-xs text-gray-500"},"دقیقه",-1),yt=s("div",{class:"mb-1 text-xs text-gray-500"},"ثانیه",-1),gt={class:"flex-1 flex justify-center gap-4"},wt=s("div",{class:"mb-1 text-sm text-gray-600"},"آپلود تصویر کاور",-1),kt={key:0},It=s("div",null,"آپلود کاور",-1),St=s("div",{class:"mb-1 text-sm text-gray-600"},"آپلود صوت (src)",-1),Tt={key:0},Bt=s("div",null,"آپلود صوت",-1),ce=Q({__name:"index",setup(o){const[n,c]=G(),d=g({columns:et,api:it,defaultPageLimit:20}),p=g(!1),x=g(!1),k=g(null),w=g([]),m=g([]),v=g(0),i=g({title:"",sub_title:"",cover:null,src:null,time:{minutes:0,seconds:0}});function E(){w.value=[],m.value=[],x.value=!1,k.value=null,i.value={title:"",sub_title:"",cover:null,src:null,time:{minutes:0,seconds:0}},p.value=!0}function $(){p.value=!1}function L(t){return t.type.startsWith("audio/")?t.size/1024/1024<30?!0:(b.error("حجم فایل باید کمتر از 30MB باشد"),!1):(b.error("فقط فایلهای صوتی مجاز است"),!1)}async function U(t){const{file:l,onSuccess:f,onError:y}=t;try{v.value++;const r=new FormData;r.append("file",l);const _=await fetch("https://node.machartaa.ir/upload/machartaa-audio",{method:"POST",body:r,headers:{Authorization:`Bearer ${localStorage.getItem("token")||""}`}});if(!_.ok)throw new Error("خطا در آپلود فایل");const e=await _.json(),a=e.full_src||e.url||e.src||e.path||e.data&&(e.data.full_src||e.data.url||e.data.src||e.data.path)||"";i.value.src=a,w.value=a?[{uid:`${Date.now()}`,name:"audio.mp3",status:"done",url:a,response:{path:a}}]:[],f(e),b.success("صوت با موفقیت آپلود شد!")}catch(r){console.error(r),y(r),b.error("خطا در آپلود صوت")}finally{v.value=Math.max(0,v.value-1)}}function A(t){return t.type.startsWith("image/")?t.size/1024/1024<5?!0:(b.error("حجم تصویر باید کمتر از 5MB باشد"),!1):(b.error("فقط فایلهای تصویری مجاز است"),!1)}async function j(t){const{file:l,onSuccess:f,onError:y}=t;try{v.value++;const r=new FormData;r.append("file",l);const _=await fetch("https://node.machartaa.ir/upload/machartaa-img",{method:"POST",body:r,headers:{Authorization:`Bearer ${localStorage.getItem("token")||""}`}});if(!_.ok)throw new Error("خطا در آپلود تصویر");const e=await _.json(),a=e.full_src||e.url||e.src||e.path||e.data&&(e.data.full_src||e.data.url||e.data.src||e.data.path)||"";i.value.cover=a,m.value=a?[{uid:`${Date.now()}`,name:"cover.jpg",status:"done",url:a,response:{path:a}}]:[],f(e),b.success("کاور با موفقیت آپلود شد!")}catch(r){console.error(r),y(r),b.error("خطا در آپلود کاور")}finally{v.value=Math.max(0,v.value-1)}}async function z(){var l,f,y,r,_,e;if(!((l=i.value.title)!=null&&l.trim()))return;if(v.value>0){b.warning("لطفاً تا پایان آپلود صبر کنید");return}const t={title:i.value.title.trim(),sub_title:((f=i.value.sub_title)==null?void 0:f.trim())||"",cover:((y=i.value.cover)==null?void 0:y.trim())||null,src:((r=i.value.src)==null?void 0:r.trim())||null,time:{minutes:Number((_=i.value.time)==null?void 0:_.minutes)||0,seconds:Number((e=i.value.time)==null?void 0:e.seconds)||0}};x.value&&k.value?await at(k.value,t):await st(t),$(),await c()}function P(t){x.value=!0,k.value=t.id,i.value={title:t.title||"",sub_title:t.sub_title||"",cover:t.cover||null,src:t.src||null,time:t.time&&typeof t.time=="object"?{minutes:Number(t.time.minutes)||0,seconds:Number(t.time.seconds)||0}:{minutes:0,seconds:0}},w.value=t.src?[{uid:"-1",name:"audio.mp3",status:"done",url:t.src,response:{path:t.src}}]:[],m.value=t.cover?[{uid:"-2",name:"cover.jpg",status:"done",url:t.cover,response:{path:t.cover}}]:[],p.value=!0}function R(t){Z.confirm({title:"حذف قصه",content:`آیا مطمئن هستید که میخواهید قصه "${t.title}" را حذف کنید؟`,okText:"بله، حذف کن",cancelText:"انصراف",okType:"danger",centered:!0,onOk:async()=>{await ot(t.id),await c()}})}return(t,l)=>{const f=J,y=W,r=F,_=V,e=O;return T(),B("div",null,[u(e,null,{default:h(()=>[s("div",lt,[rt,u(f,{type:"primary",onClick:E},{default:h(()=>[X("افزودن قصه")]),_:1})]),u(y,Y(d.value,{ref:"table",onRegister:I(n)}),{action:h(({record:a})=>[s("div",nt,[u(I(D),{class:"cursor-pointer"},{title:h(()=>[ut]),default:h(()=>[u(S,{icon:"vuesax-linear:trash",color:"#DC2626",onClick:q=>R(a)},null,8,["onClick"])]),_:2},1024),u(I(D),{class:"cursor-pointer"},{title:h(()=>[ct]),default:h(()=>[u(S,{icon:"vuesax-linear:edit",color:"#1D4ED8",onClick:q=>P(a)},null,8,["onClick"])]),_:2},1024)])]),_:1},16,["onRegister"]),u(_,{visible:p.value,"onUpdate:visible":l[4]||(l[4]=a=>p.value=a),title:x.value?"ویرایش قصه":"افزودن قصه",onOk:z,onCancel:$,width:"80%",confirmLoading:v.value>0},{default:h(()=>[s("div",mt,[v.value>0?(T(),B("div",dt,[u(I(tt),{size:"large"})])):C("",!0),s("div",null,[pt,u(r,{value:i.value.title,"onUpdate:value":l[0]||(l[0]=a=>i.value.title=a),placeholder:"عنوان"},null,8,["value"])]),s("div",null,[vt,u(r,{value:i.value.sub_title,"onUpdate:value":l[1]||(l[1]=a=>i.value.sub_title=a),placeholder:"زیرعنوان"},null,8,["value"])]),s("div",ft,[s("div",_t,[ht,s("div",bt,[s("div",null,[xt,u(r,{value:i.value.time.minutes,"onUpdate:value":l[2]||(l[2]=a=>i.value.time.minutes=a),type:"number",placeholder:"0"},null,8,["value"])]),s("div",null,[yt,u(r,{value:i.value.time.seconds,"onUpdate:value":l[3]||(l[3]=a=>i.value.time.seconds=a),type:"number",placeholder:"0"},null,8,["value"])])])]),s("div",gt,[s("div",null,[wt,u(I(N),{"file-list":m.value,"before-upload":A,"custom-request":j,accept:"image/*","max-count":1,"list-type":"picture-card"},{default:h(()=>[m.value.length<1?(T(),B("div",kt,[u(S,{icon:"vuesax-linear:image",class:"text-2xl mb-2"}),It])):C("",!0)]),_:1},8,["file-list"])]),s("div",null,[St,u(I(N),{"file-list":w.value,"before-upload":L,"custom-request":U,accept:"audio/*","max-count":1,"list-type":"picture-card"},{default:h(()=>[w.value.length<1?(T(),B("div",Tt,[u(S,{icon:"vuesax-linear:music",class:"text-2xl mb-2"}),Bt])):C("",!0)]),_:1},8,["file-list"])])])])])]),_:1},8,["visible","title","confirmLoading"])]),_:1})])}}});export{ce as default};
|