You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1 line
18 KiB

4 weeks ago
import{n as e}from"./axios-Cze8nXLL.js";import{At as t,I as n,K as r,N as i,V as a,X as o,_ as s,at as c,d as l,dt as u,f as d,i as f,p,rt as m,u as h,v as g,y as _,z as v}from"./runtime-core.esm-bundler-CP0MNZrl.js";import{n as y,o as b,s as x}from"./index-qyPO_3-6.js";import{t as S}from"./RichEditorField-vDo7tfck.js";import{t as ee}from"./listTable-DXuZ0yk8.js";import{t as C}from"./mediaUrl-B7aD5nK5.js";var te={style:{"margin-top":`8px`,width:`100%`,display:`flex`,"flex-wrap":`wrap`,gap:`8px`}},ne={key:0,style:{color:`#86909c`}},re={key:1},w=b(_({__name:`TicketGrabList`,setup(_){let b=c(!1),w=c([]),T=c([]),E=m({current:1,pageSize:10,total:0}),D=c(``),O=c(!1),k=c(!1),A=c(null),j=m({title:``,summary:``,tags:[],start_at:``,end_at:``,booking_start_at:``,booking_end_at:``,daily_release_start_time:`10:00`,daily_release_end_time:`23:59`,age_limit_start:``,age_limit_end:``,booking_audience:`all`,reservation_notice:``,detail_html:``,cover_image:``,is_active:!0,venues:[]}),M=c(0),ie={maxHeight:`70vh`,overflow:`auto`};function N(){M.value+=1}let P=c(!1),F=c(!1),I=c(!1),L=c(null),R=c(null),z=c({}),B=r(`coverFileRef`),V=c(``);function H(){let t=V.value.trim();if(!t){e.warning(`请输入标签内容`);return}if(j.tags.includes(t)){e.warning(`标签已存在`);return}j.tags=[...j.tags,t],V.value=``}function ae(e){let t=[...j.tags];t.splice(e,1),j.tags=t}function U(e,t){if(e==null||e===``)return t;if(typeof e==`string`&&/^\d{1,2}:\d{2}/.test(e)){let t=e.trim().split(`:`),n=Math.min(23,Math.max(0,parseInt(t[0]||`0`,10)||0)),r=Math.min(59,Math.max(0,parseInt(t[1]||`0`,10)||0));return`${String(n).padStart(2,`0`)}:${String(r).padStart(2,`0`)}`}let n=e;if(typeof n?.format==`function`)try{return n.format(`HH:mm`)}catch{return t}return t}function W(e,t){if(e&&/^https?:\/\//i.test(e))return e;let n=t||e||``;if(!n)return``;let r=n.replace(/^\/+/,``);return`${window.location.origin}/storage/${r}`}async function G(e){let t=new FormData;t.append(`file`,e);let{data:n}=await y.post(`/upload`,t);return W(n?.url,n?.path)}function K(){let t=this.quill,n=document.createElement(`input`);n.type=`file`,n.accept=`image/*`,n.onchange=async()=>{let r=n.files?.[0];if(r)try{let e=await G(r),n=t.getSelection(!0)?.index??Math.max(0,t.getLength()-1);t.insertEmbed(n,`image`,e,`user`),t.setSelection(n+1,0)}catch(t){e.error(t?.response?.data?.message??`图片上传失败`)}},n.click()}function q(){let t=this.quill,n=document.createElement(`input`);n.type=`file`,n.accept=`video/*`,n.onchange=async()=>{let r=n.files?.[0];if(r)try{let e=await G(r),n=t.getSelection(!0)?.index??Math.max(0,t.getLength()-1);t.insertEmbed(n,`video`,e,`user`),t.setSelection(n+1,0)}catch(t){e.error(t?.response?.data?.message??`视频上传失败`)}},n.click()}let J={modules:{toolbar:{container:[[{header:[1,2,3,!1]}],[`bold`,`italic`,`underline`,`strike`],[{color:[]},{background:[]}],[{list:`ordered`},{list:`bullet`}],[{align:[]}],[`link`,`image`,`video`],[`clean`]],handlers:{image:K,video:q}}},placeholder:`请输入内容`};function oe(e){return T.value.find(t=>t.id===e)?.name??`场馆#${e}`}function se(e){return e===`not_started`?`未开始`:e===`ongoing`?`进行中`:e===`ended`?`已结束`:e??`-`}function ce(){j.venues.push({venue_id:void 0,venue_total_quota:0})}function le(e){j.venues.splice(e,1)}function Y(){j.title=``,j.summary=``,j.tags=[],V.value=``,j.start_at=``,j.end_at=``,j.booking_start_at=``,j.booking_end_at=``,j.daily_release_start_time=`10:00`,j.daily_release_end_time=`23:59`,j.age_limit_start=``,j.age_limit_end=``,j.booking_audience=`all`,j.reservation_notice=``,j.detail_html=``,j.cover_image=``,j.is_active=!0,j.venues=[{venue_id:void 0,venue_total_quota:0}]}async function X(){let{data:e}=await y.get(`/venues`,{params:{page_size:500}}),t=e.data??e;T.value=Array.isArray(t)?t.map(e=>({id:e.id,name:e.name})):[]}async function Z(){b.value=!0;try{let{data:e}=await y.get(`/ticket-grab-events`,{params:{page:E.current,page_size:E.pageSize,keyword:D.value||void 0}});w.value=e.data,E.total=e.total}catch(t){e.error(t?.response?.data?.message??`加载失败`)}finally{b.value=!1}}function