Files
machartaa_admin_dist/dist/assets/index-a468e46d.js
T
2025-10-06 15:42:41 +03:30

2 lines
9.9 KiB
JavaScript

import{_ as O}from"./BasicMainCard-2872cf6d.js";import{_ as V}from"./BasicModal.vue_vue_type_style_index_0_lang-a6c32906.js";import{_ as F}from"./BasicInput.vue_vue_type_style_index_0_lang-121919a6.js";import{_ as W}from"./BaseTable.vue_vue_type_style_index_0_lang-5df22075.js";import{_ as J}from"./button.vue_vue_type_style_index_0_lang-c48dbf89.js";import{I as S}from"./Icon-7090f2a8.js";import{u as G}from"./useBaseTable-3aeb2499.js";import{t as H}from"./useDataTime-b0a2f2c0.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-be457ac4.js";import{M as Z}from"./index-3ad9cba1.js";import{S as tt}from"./index-76934fac.js";import{T as D}from"./index-36614f01.js";import{U as N}from"./index-05d6a702.js";import"./_plugin-vue_export-helper-c27b6911.js";import"./index-2af0d7dc.js";import"./index-3bcb781a.js";import"./raf-cdd2e009.js";import"./colors-a7645274.js";import"./index-387f54bb.js";import"./styleChecker-7765134f.js";import"./useState-508903a0.js";import"./Col-078b7ef2.js";import"./index-253edd80.js";import"./debounce-664d0daa.js";import"./usePrefix-9735fafc.js";import"./usePrice-7afab779.js";import"./index-ca849dfb.js";import"./SearchOutlined-68880632.js";import"./EyeOutlined-602323d3.js";import"./index-e8280205.js";import"./index-35ace63f.js";import"./pickAttrs-933e866c.js";import"./CheckOutlined-8f2c289c.js";import"./objectDestructuringEmpty-24e23e90.js";import"./eagerComputed-bf11e1b5.js";import"./index-4a3b7888.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-874444c8.js"),["assets/buildSupabaseQuery-874444c8.js","assets/index-be457ac4.js","assets/index-f708971c.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 rt={class:"flex justify-between items-center mb-4"},lt=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=s("div",{class:"mb-1 text-sm text-gray-600"},"آپلود تصویر کاور",-1),_t={key:0},ht=s("div",null,"آپلود کاور",-1),bt=s("div",{class:"mb-1 text-sm text-gray-600"},"آپلود صوت (src)",-1),xt={key:0},yt=s("div",null,"آپلود صوت",-1),gt=s("div",{class:"mb-1 text-sm text-gray-600"},"زمان",-1),wt={class:"flex gap-2"},kt={class:"flex-1"},It=s("div",{class:"mb-1 text-xs text-gray-500"},"دقیقه",-1),St={class:"flex-1"},Tt=s("div",{class:"mb-1 text-xs text-gray-500"},"ثانیه",-1),ue=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:r,onSuccess:f,onError:y}=t;try{v.value++;const l=new FormData;l.append("file",r);const _=await fetch("https://node.machartaa.ir/upload/machartaa-audio",{method:"POST",body:l,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(l){console.error(l),y(l),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 z(t){const{file:r,onSuccess:f,onError:y}=t;try{v.value++;const l=new FormData;l.append("file",r);const _=await fetch("https://node.machartaa.ir/upload/machartaa-img",{method:"POST",body:l,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(l){console.error(l),y(l),b.error("خطا در آپلود کاور")}finally{v.value=Math.max(0,v.value-1)}}async function j(){var r,f,y,l,_,e;if(!((r=i.value.title)!=null&&r.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:((l=i.value.src)==null?void 0:l.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,r)=>{const f=J,y=W,l=F,_=V,e=O;return T(),B("div",null,[u(e,null,{default:h(()=>[s("div",rt,[lt,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":r[4]||(r[4]=a=>p.value=a),title:x.value?"ویرایش قصه":"افزودن قصه",onOk:j,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(l,{value:i.value.title,"onUpdate:value":r[0]||(r[0]=a=>i.value.title=a),placeholder:"عنوان"},null,8,["value"])]),s("div",null,[vt,u(l,{value:i.value.sub_title,"onUpdate:value":r[1]||(r[1]=a=>i.value.sub_title=a),placeholder:"زیرعنوان"},null,8,["value"])]),s("div",null,[ft,u(I(N),{"file-list":m.value,"before-upload":A,"custom-request":z,accept:"image/*","max-count":1,"list-type":"picture-card"},{default:h(()=>[m.value.length<1?(T(),B("div",_t,[u(S,{icon:"vuesax-linear:image",class:"text-2xl mb-2"}),ht])):C("",!0)]),_:1},8,["file-list"])]),s("div",null,[bt,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",xt,[u(S,{icon:"vuesax-linear:music",class:"text-2xl mb-2"}),yt])):C("",!0)]),_:1},8,["file-list"])]),s("div",null,[gt,s("div",wt,[s("div",kt,[It,u(l,{value:i.value.time.minutes,"onUpdate:value":r[2]||(r[2]=a=>i.value.time.minutes=a),type:"number",placeholder:"0"},null,8,["value"])]),s("div",St,[Tt,u(l,{value:i.value.time.seconds,"onUpdate:value":r[3]||(r[3]=a=>i.value.time.seconds=a),type:"number",placeholder:"0"},null,8,["value"])])])])])]),_:1},8,["visible","title","confirmLoading"])]),_:1})])}}});export{ue as default};