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
35 KiB

4 weeks ago
import{n as e,st as t}from"./axios-CiYFffbI.js";import{I as n,N as r,O as i,P as a,V as o,Y as s,_ as c,d as l,f as u,i as d,it as f,kt as p,l as m,nt as h,p as g,u as _,ut as ee,v,y as te,z as y}from"./runtime-core.esm-bundler-CnFWH3R5.js";import{a as b,n as x,o as S,s as ne}from"./index-Dhw6bPRE.js";import{t as re}from"./RichEditorField-Bf03OBwI.js";import{t as ie}from"./listTable-DKAruyoN.js";function ae(e,t){return function(){return e()?window.confirm(t):!0}}function oe(e,t=`当前有未保存改动,确定要离开吗?`){function n(t){e()&&(t.preventDefault(),t.returnValue=``)}b((n,r,i)=>{if(!e()){i();return}i(window.confirm(t))}),r(()=>{window.addEventListener(`beforeunload`,n)}),a(()=>{window.removeEventListener(`beforeunload`,n)})}var se=[`src`],ce={key:1},le={key:1,style:{color:`var(--color-text-3)`}},ue={style:{"margin-top":`8px`,width:`100%`,display:`flex`,"flex-wrap":`wrap`,gap:`8px`}},de={key:0,style:{color:`#86909c`}},fe={class:`activity-address-coord-row`},pe={class:`activity-cover-carousel-wrap`},me={class:`activity-cover-carousel-row__col`},he=[`src`],ge={class:`activity-cover-carousel-row__col`},_e={style:{display:`flex`,"flex-direction":`column`,"align-items":`flex-start`,width:`100%`}},ve={style:{width:`100%`,"margin-bottom":`8px`}},ye={class:`activity-gallery-grid`},be=[`src`,`onClick`],xe=[`src`,`onClick`],Se=[`src`],Ce=[`src`],we={style:{display:`flex`,gap:`12px`}},Te={style:{width:`280px`,height:`520px`,overflow:`auto`,border:`1px solid #e5e6eb`,padding:`8px`}},Ee={key:0,class:`booking-settings`},De={style:{"margin-top":`16px`,"text-align":`right`}},C=S(te({__name:`ActivityList`,setup(a){let te=f([]),b=f([]),S=f(null),C=f(!1),Oe=f(!1),w=f(!1),T=f(!1),E=f(!1),D=f(``),O=f([]),ke=f(null),k=h({current:1,pageSize:10,total:0}),A=h({keyword:``,venue_id:void 0,is_active:`all`,schedule_status:`all`,audit_status:`all`}),j=f(null),M=f(``),Ae=f(!1),je=f(!0),Me=f(null),N=f(``),Ne={maxHeight:`70vh`,overflow:`auto`},Pe=f(0),Fe=f(!1),Ie=f(`image`),P=f(``),F=f(!1),I=f(!1),Le=f(!1),L=f(null),R=f(`both`),z=f(1),B=f(1),V=f([]);function H(){return`bk-${Date.now()}-${Math.random().toString(36).slice(2,9)}`}function U(e){if(!e)return``;let t=new Date(String(e));return Number.isNaN(t.getTime())?String(e).slice(0,10):new Intl.DateTimeFormat(`en-CA`,{timeZone:`Asia/Shanghai`,year:`numeric`,month:`2-digit`,day:`2-digit`}).format(t)}let Re=m(()=>V.value.reduce((e,t)=>e+(Number(t.day_quota)||0),0)),ze=m(()=>{let e=L.value;return e?.venue_id?b.value.find(t=>t.id===e.venue_id)?.appointment_type===`team_only`:!1}),W=null,Be=null,G=f(null),K={lat:31.299379,lng:120.585315},q=h({venue_id:void 0,title:``,start_at:``,end_at:``,address:``,contact_phone:``,lat:void 0,lng:void 0,detail_html:``,cover_image:``,gallery_media:[],tags:[],reservation_notice:``,open_time:``,sort:0,summary:``,is_active:!0}),Ve=f(``),He=m(()=>nt(q.start_at||``,q.end_at||``));function J(e){if(e==null||e===``)return;let t=typeof e==`number`?e:parseFloat(String(e).trim());return Number.isFinite(t)?t:void 0}function Ue(e,t){let n=String(e||``).trim();if(n)return/^https?:\/\//i.test(n)?n:n.startsWith(`/`)?`${window.location.origin}${n}`:`${window.location.origin}/${n}`;let r=String(t||``).trim();if(!r)return``;let i=r.replace(/^\/+/,``);return`${window.location.origin}/storage/${i}`}async function Y(e){let t=new FormData;t.append(`file`,e);let{data:n}=await x.post(`/upload`,t);return Ue(n?.url,n?.path)}function We(){Pe.value+=1}function Ge(e,t){t&&(Ie.value=e,P.value=t,Fe.value=!0)}function Ke(){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 Y(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 qe(){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 Y(r),n=t.getSelection(!0)?.index??Math.max(0,t.getLength()-1);t.insertEmbed(n