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

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

import{I as e,N as t,O as n,P as r,V as i,Y as a,_ as o,d as s,f as c,i as l,it as u,kt as d,l as f,nt as p,p as m,u as h,ut as ee,v as g,y as _,z as v}from"./runtime-core.esm-bundler-CnFWH3R5.js";import{ot as te,t as y}from"./message-Dh9377vh.js";import{n as b}from"./http-BWP--XXK.js";import{a as x,c as ne,o as S,s as re}from"./index-t2Vqy-bK.js";import{t as ie}from"./RichEditorField-D640yvr0.js";import{t as ae}from"./listTableRowIndex-ekx2Z6yT.js";import{a as oe}from"./h5Http-DeskuLbk.js";import{t as C}from"./mediaUrl-D5Z8dTjp.js";var se={style:{"margin-top":`8px`,width:`100%`,display:`flex`,"flex-wrap":`wrap`,gap:`8px`}},ce={key:0,style:{color:`#86909c`}},le={class:`activity-cover-carousel-wrap`},ue={class:`activity-cover-carousel-row__col`},de=[`src`],fe={class:`activity-cover-carousel-row__col`},pe={style:{display:`flex`,"flex-direction":`column`,"align-items":`flex-start`,width:`100%`}},me={class:`activity-gallery-grid`},he=[`src`,`onClick`],ge=[`src`,`onClick`],_e={class:`tg-venue-block`},ve={class:`tg-venue-table-scroll`},ye={class:`tg-venue-actions`},be={class:`activity-address-coord-row`},xe=[`src`],Se=[`src`],Ce={style:{display:`flex`,gap:`12px`}},we={style:{width:`280px`,height:`520px`,overflow:`auto`,border:`1px solid #e5e6eb`,padding:`8px`}},Te={key:1},Ee=1540,De=x(_({__name:`TicketGrabList`,setup(_){let x=u(null),De=u(!1),Oe=u([]),w=u([]),T=p({current:1,pageSize:10,total:0}),ke=u(``),E=u(void 0),D=u(void 0),O=u(!1),Ae=u(!1),k=u(null),A=p({title:``,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:``,gallery_media:[],is_active:!0,venues:[]}),je=u(0),Me={maxHeight:`70vh`,overflow:`auto`},Ne={maxHeight:`70vh`,overflow:`auto`},j=u(null),Pe=u(0),Fe=u(!1),M=f(()=>{let e=j.value;return e?A.venues.find(t=>t._key===e)??null:null}),N=u(!1),Ie=u(!1),Le=u(!1),Re=u(null),P=u(null),F=u({}),I=u(``),ze=u(!1),Be=u(!1),L=u(null),Ve=u([]),He=u(``),Ue=u([]),R=p({venue_id:void 0,username:``,password:``,note:``}),We=u(!1),z=u({}),Ge=u(!1),B=u(!1),V=u(``),H=u([]),Ke=u(null),U=u(null),W=u(null),G={lat:31.299379,lng:120.585315},K=null,q=null,qe=u(!1),Je=u(`image`),J=u(``);function Ye(){return`tgrv-${Date.now()}-${Math.random().toString(36).slice(2,9)}`}function Y(){return{_key:Ye(),venue_id:void 0,venue_total_quota:1,opening_hours:``,address:``,lat:void 0,lng:void 0,unit_name:``,contact_name:``,contact_phone:``,qr_verify_method:``,detail_html:``}}function X(e){if(e==null||e===``)return;let t=typeof e==`number`?e:parseFloat(String(e).trim());return Number.isFinite(t)?t:void 0}function Z(e){return{_key:Ye(),venue_id:typeof e.venue_id==`number`?e.venue_id:Number(e.venue_id)||void 0,venue_total_quota:Math.max(0,Math.floor(Number(e.venue_total_quota)||0)),opening_hours:String(e.opening_hours??``),address:String(e.address??``),lat:X(e.lat),lng:X(e.lng),unit_name:String(e.unit_name??``),contact_name:String(e.contact_name??``),contact_phone:String(e.contact_phone??``),qr_verify_method:String(e.qr_verify_method??``),detail_html:String(e.detail_html??``)}}function Xe(e){return!!(e.opening_hours?.trim()||e.address?.trim()||e.unit_name?.trim()||e.contact_name?.trim()||e.contact_phone?.trim()||e.qr_verify_method?.trim()||e.detail_html&&e.detail_html.trim()||typeof e.lat==`number`||typeof e.lng==`number`)}function Ze(e){if(e)return w.value.find(t=>t.id===e)}function Qe(e,t){let n=Ze(t);n&&(e.opening_hours=``,e.address=``,e.lat=void 0,e.lng=void 0,e.unit_name=n.unit_name||``,e.contact_name=``,e.contact_phone=``,e.qr_verify_method=``,e.detail_html=n.detail_html?String(n.detail_html):``)}function $e(e){let t=e.venue_id;if(t==null){y.warning(`请先选择场馆`);return}let n=Ze(t);if(!n){y.warning(`未找到该场馆信息`);return}e.address=n.address||``,e.lat=X(n.lat),e.lng=X(n.lng)}function et(e,t){if(t==null){e.venue_id=void 0;return}let r=e.venue_id;if(r===t)return;let i=()=>{e.venue_id=t,Qe(e,t),n(()=>Nt(e))};if(r==null||!Xe(e)){i();return}S.confirm({title:`更换场馆`,content:`将使用新场馆的单位与详情等默认信息覆盖本行(开放时间、联系人、联系方式须重新填写;不含地址与坐标,可在详情中点击「使用本馆地址」),是否继续?`,onOk:i})}async function tt(){let{data:e}=await b.get(`/me`);x.value=e}function nt(){return x.value?.full_admin_access===!0}function rt(){let e=I.value.trim();if(!e){y.warning(`请输入标签内容`);return}if(A.tags.includes(e)){y.warning(`标签已存在`);return}A.tags=[...A.tags,e],I.value=``}function it(e){let t=[...A.tags];t.splice(e,1),A.tags=t}function at(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}let ot=f({get(){if(A.start_at&&A.end_at)return[A.start_at,A.end_at]},set(e){Array.isArray(e)&&e.length>=2&&e[0]&&e[1]?(A.start_at=String(e[0]),A.end_at=String(e[1])):(A.start_at=``,A.end_at=``)}}),st=f({get(){if(A.booking_start_at&&A.booking_end_at)return[A.booking_start_at,A.booking_end_at]},set(e){Array.isArray(e)&&e.length>=2&&e[0]&&e[1]?(A.booking_start_at=String(e[0]),A.booking_end_at=String(e[1])):(A.booking_start_at=``,A.booking_end_at=``)}}),ct=f({get(){let e=A.age_limit_start?.trim(),t=A.age_limit_end?.trim();if(!(!e&&!t)){if(e&&t)return[e,t];if(e)return[e,e];if(t)return[t,t]}},set(e){Array.isArray(e)&&e.length>=2&&e[0]&&e[1]?(A.age_limit_start=String(e[0]).slice(0,10),A.age_limit_end=String(e[1]).slice(0,10)):(A.age_limit_start=``,A.age_limit_end=``)}});function lt(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 ut(e){let t=new FormData;t.append(`file`,e);let{data:n}=await b.post(`/upload`,t);return lt(n?.url,n?.path)}function dt(e){let t=new Set,n=[e];for(;n.length;){let e=n.shift();if(!(!e||t.has(e))){if(t.add(e),e instanceof File)return e;if(e?.target?.files?.[0]instanceof File)return e.target.files[0];if(Array.isArray(e)){n.push(...e);continue}if(typeof e==`object`){for(let t of[`file`,`raw`,`originFile`,`originFileObj`,`fileItem`,`item`,`data`])e[t]&&n.push(e[t]);for(let t of Object.values(e))t&&typeof t==`object`&&n.push(t)}}}return null}async function ft(e){try{let t=dt(e);if(!t)return!1;A.cover_image=await ut(t),A.cover_image=C(A.cover_image),y.success(`封面上传成功`)}catch(e){y.error(e?.response?.data?.message??`封面上传失败`)}return!1}async function pt(e){try{let t=dt(e);if(!t)return!1;let n=C(await ut(t)),r=t.type.startsWith(`video/`);A.gallery_media.push({type:r?`video`:`image`,url:n}),y.success(`轮播资源上传成功`)}catch(e){y.error(e?.response?.data?.message??`轮播资源上传失败`)}return!1}function mt(...e){ft(e)}function ht(...e){pt(e)}function gt(){A.cover_image=``}function _t(e){A.gallery_media.splice(e,1)}function vt(e,t){t&&(Je.value=e,J.value=t,qe.value=!0)}function yt(){let e=this.quill,t=document.createElement(`input`);t.type=`file`,t.accept=`image/*`,t.onchange=async()=>{let n=t.files?.[0];if(n)try{let t=await ut(n),r=e.getSelection(!0)?.index??Math.max(0,e.getLength()-1);e.insertEmbed(r,`image`,t,`user`),e.setSelection(r+1,0)}catch(e){y.error(e?.response?.data?.message??`图片上传失败`)}},t.click()}function bt(){let e=this.quill,t=document.createElement(`input`);t.type=`file`,t.accept=`video/*`,t.onchange=async()=>{let n=t.files?.[0];if(n)try{let t=await ut(n),r=e.getSelection(!0)?.index??Math.max(0,e.getLength()-1);e.insertEmbed(r,`video`,t,`user`),e.setSelection(r+1,0)}catch(e){y.error(e?.response?.data?.message??`视频上传失败`)}},t.click()}let xt={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:yt,video:bt}}},placeholder:`请输入内容`};function St(){return`CRFBZ-NTART-YU4XX-LCDGK-3J456-VKBK2`}async function Ct(){if(window.TMap)return;let e=St();if(!e)throw Error(`请先配置 VITE_TENCENT_MAP_KEY`);await new Promise((t,n)=>{let r=document.createElement(`script`);r.src=`https://map.qq.com/api/gljs?v=1.exp&key=${e}`,r.async=!0,r.onload=()=>t(),r.onerror=()=>n(Error(`腾讯地图SDK加载失败`)),document.head.appendChild(r)})}function wt(e,t){let n=window.TMap;K&&(q&&q.setMap(null),q=new n.MultiMarker({map:K,styles:{marker:new n.MarkerStyle({width:24,height:35})},geometries:[{id:`picked`,styleId:`marker`,position:new n.LatLng(e,t)}]}),K.setCenter(new n.LatLng(e,t)))}async function Tt(e,t){let{data:n}=await b.get(`/map/reverse-geocode`,{params:{lat:e,lng:t}});W.value={lat:e,lng:t,address:n.address||``}}function Et(){return U.value}async function Dt(){if(await Ct(),!Ke.value){y.error(`地图容器未就绪,请重试`);return}let e=window.TMap,t=Et(),n=typeof t?.lat==`number`?t.lat:G.lat,r=typeof t?.lng==`number`?t.lng:G.lng,i=new e.LatLng(n,r);K?K.setCenter(i):(K=new e.Map(Ke.value,{center:i,zoom:13}),K.on(`click`,async e=>{let t=Number(e.latLng.getLat().toFixed(6)),n=Number(e.latLng.getLng().toFixed(6));wt(t,n),await Tt(t,n)})),typeof t?.lat==`number`&&typeof t?.lng==`number`?(wt(t.lat,t.lng),W.value={lat:t.lat,lng:t.lng,address:t.address||``}):W.value=null}async function Ot(e){U.value=e,Ge.value=!0,V.value=``,H.value=[],B.value=!0;try{await n(),setTimeout(async()=>{try{await Dt()}catch(e){y.error(e?.message??`地图初始化失败`)}finally{B.value=!1}},200)}catch{B.value=!1}}async function kt(){if(!V.value.trim()){H.value=[];return}B.value=!0;try{let{data:e}=await b.get(`/map/search`,{params:{keyword:V.value,region:`苏州`}});H.value=e}catch(e){y.error(e?.response?.data?.message??`地图搜索失败`)}finally{B.value=!1}}async function At(e){wt(e.lat,e.lng),await Tt(e.lat,e.lng)}function jt(){if(!W.value)return y.warning(`请先点击地图或选择搜索结果`),!1;let e=U.value;return e&&(e.lat=W.value.lat,e.lng=W.value.lng,e.address=W.value.address||e.address),Ge.value=!1,U.value=null,!0}function Mt(){U.value=null}r(()=>{if(K){try{K.destroy?.()}catch{}K=null}q=null});function Nt(e){j.value=e._key,Pe.value+=1,Fe.value=!0}function Q(){Fe.value=!1,j.value=null}function Pt(e){return w.value.find(t=>t.id===e)?.name??`场馆#${e}`}function Ft(e){return e===`not_started`?`未开始`:e===`ongoing`?`进行中`:e===`ended`?`已结束`:e??`-`}function It(e,t){return e?e.length<=t?e:`${e.slice(0,t)}`:``}function Lt(){A.venues.push(Y())}function Rt(e){if(A.venues.length<=1){y.warning(`至少保留一个场馆`);return}j.value===e._key&&Q(),A.venues=A.venues.filter(t=>t._key!==e._key)}function zt(){je.value+=1}function Bt(){A.title=``,A.tags=[],I.value=``,A.start_at=``,A.end_at=``,A.booking_start_at=``,A.booking_end_at=``,A.daily_release_start_time=`10:00`,A.daily_release_end_time=`23:59`,A.age_limit_start=``,A.age_limit_end=``,A.booking_audience=`all`,A.reservation_notice=``,A.detail_html=``,A.cover_image=``,A.gallery_media=[],A.is_active=!0,A.venues=[Y()]}async function Vt(){let{data:e}=await b.get(`/venues`,{params:{page_size:500}}),t=e.data??e;w.value=Array.isArray(t)?t:[]}async function $(){De.value=!0;try{let e={page:T.current,page_size:T.pageSize},t=ke.value.trim();t&&(e.keyword=t),E.value!=null&&E.value>0&&(e.venue_id=E.value),(D.value===`0`||D.value===`1`)&&(e.is_active=D.value);let{data:n}=await b.get(`/ticket-grab-events`,{params:e});Oe.value=n.data,T.total=n.total}catch(e){y.error(e?.response?.data?.message??`加载失败`)}finally{De.value=!1}}function Ht(){k.value=null,Bt(),zt(),Q(),O.value=!0}async function Ut(e){k.value=e.id,Bt();try{let{data:t}=await b.get(`/ticket-grab-events/${e.id}`);A.title=t.title??``,A.tags=Array.isArray(t.tags)?[...t.tags]:[],I.value=``,A.start_at=t.start_at?String(t.start_at).slice(0,10):``,A.end_at=t.end_at?String(t.end_at).slice(0,10):``,A.booking_start_at=t.booking_start_at?String(t.booking_start_at).slice(0,10):``,A.booking_end_at=t.booking_end_at?String(t.booking_end_at).slice(0,10):``,A.daily_release_start_time=t.daily_release_start_time??`10:00`,A.daily_release_end_time=t.daily_release_end_time??`23:59`,A.age_limit_start=t.age_limit_start?String(t.age_limit_start).slice(0,10):``,A.age_limit_end=t.age_limit_end?String(t.age_limit_end).slice(0,10):``,A.booking_audience=t.booking_audience??`all`,A.reservation_notice=t.reservation_notice??``,A.detail_html=t.detail_html??``;let n=t.cover_image;A.cover_image=n?C(String(n)):``;let r=t.gallery_media;A.gallery_media=Array.isArray(r)?r.map(e=>({...e,url:C(e.url)})):[],A.is_active=!!t.is_active,zt();let i=t.event_venue_pivots??t.eventVenuePivots??[],a=(Array.isArray(i)?i:[]).map(e=>Z(e));A.venues=a.length?a:[Y()],Q(),O.value=!0}catch(e){y.error(e?.response?.data?.message??`加载详情失败`)}}function Wt(e){if(e.venue_id==null)return null;let t=Pt(e.venue_id);return e.opening_hours?.trim()?e.unit_name?.trim()?e.contact_name?.trim()?e.contact_phone?.trim()?e.qr_verify_method?.trim()?e.address?.trim()?e.lat==null||e.lng==null||!Number.isFinite(Number(e.lat))||!Number.isFinite(Number(e.lng))?`请通过「编辑详情」中的地图选点填写场馆「${t}」的经纬度`:!Number.isFinite(e.venue_total_quota)||e.venue_total_quota<=0?`场馆「${t}」的放票数须大于 0`:null:`请填写场馆「${t}」的场馆地址`:`请填写场馆「${t}」的核销方式说明`:`请填写场馆「${t}」的联系方式`:`请填写场馆「${t}」的联系人`:`请填写场馆「${t}」的所在单位`:`请填写场馆「${t}」的开放时间(可点击「编辑详情」)`}async function Gt(){let e=M.value;if(!e)return!0;let t=Wt(e);return t?(y.warning(t),!1):!0}function Kt(){return A.venues.filter(e=>e.venue_id!=null&&e.venue_total_quota>0).map(e=>({venue_id:e.venue_id,venue_total_quota:e.venue_total_quota,opening_hours:e.opening_hours||void 0,address:e.address||void 0,lat:e.lat,lng:e.lng,unit_name:e.unit_name||void 0,contact_name:e.contact_name||void 0,contact_phone:e.contact_phone||void 0,qr_verify_method:e.qr_verify_method||void 0,detail_html:e.detail_html||void 0}))}function qt(e){return/^\d{1,2}:\d{2}$/.test(String(e||``).trim())}async function Jt(){if(!A.title.trim())return y.warning(`请填写名称`),!1;if(!A.start_at||!A.end_at)return y.warning(`请选择活动日期`),!1;if(!A.booking_start_at||!A.booking_end_at)return y.warning(`请选择预约日期`),!1;let e=String(A.daily_release_start_time||``).trim(),t=String(A.daily_release_end_time||``).trim();if(!qt(e)||!qt(t))return y.warning(`请选择每日放票时间`),!1;if(A.booking_audience!==`all`&&A.booking_audience!==`school_age`)return y.warning(`请选择预约人群`),!1;for(let e of A.venues){if(e.venue_id==null)continue;let t=Wt(e);if(t)return y.warning(t),!1}let n=Kt();if(!n.length)return y.warning(`请至少选择一个场馆并填写放票数(放票数须大于 0`),!1;let r={title:A.title.trim(),start_at:A.start_at||null,end_at:A.end_at||null,booking_start_at:A.booking_start_at||null,booking_end_at:A.booking_end_at||null,daily_release_start_time:at(A.daily_release_start_time,`10:00`),daily_release_end_time:at(A.daily_release_end_time,`23:59`),age_limit_start:A.age_limit_start||null,age_limit_end:A.age_limit_end||null,booking_audience:A.booking_audience,cover_image:A.cover_image||null,gallery_media:A.gallery_media.length?A.gallery_media:void 0,is_active:A.is_active,reservation_notice:A.reservation_notice||null,detail_html:A.detail_html||null,tags:A.tags.length?A.tags:void 0,venues:n};Ae.value=!0;try{if(k.value)return await b.put(`/ticket-grab-events/${k.value}`,r),y.success(`已保存`),O.value=!1,await $(),!0;let{data:e}=await b.post(`/ticket-grab-events`,r);return y.success(`已创建`),O.value=!1,await $(),e?.id!=null&&await Zt(e),!0}catch(e){return y.error(e?.response?.data?.message??`保存失败`),!1}finally{Ae.value=!1}}async function Yt(e){try{await b.post(`/ticket-grab-events/${e.id}/toggle`),y.success(`已更新`),await $()}catch(e){y.error(e?.response?.data?.message??`操作失败`)}}async function Xt(e){try{await b.delete(`/ticket-grab-events/${e.id}`),y.success(`删除成功`),await $()}catch(e){let t=e?.response?.data;if(t?.message&&t?.reservation_count!==void 0){y.error(`${t.message}(关联预约数:${t.reservation_count}`);return}y.error(t?.message??e?.message??`删除失败`)}}async function Zt(e){Re.value=e.id,N.value=!0,Ie.value=!0,P.value=null,F.value={};try{let{data:t}=await b.get(`/ticket-grab-events/${e.id}/release-config`);P.value=t;for(let e of t.venues??[]){let t=e.venue_id;F.value[t]={};for(let n of e.release_days??[])F.value[t][n.release_date]=n.day_quota}}catch(e){y.error(e?.response?.data?.message??`加载放票配置失败`),N.value=!1}finally{Ie.value=!1}}async function Qt(e){let{data:t}=await b.get(`/ticket-grab-events/${e}/verify-portal`);He.value=oe(t.verify_portal_code),Ue.value=t.credentials||[]}async function $t(e){L.value=e.id,Ve.value=e.venues?.length?e.venues:[],z.value={},ze.value=!0,Be.value=!0,R.venue_id=Ve.value[0]?.id;try{await Qt(e.id)}catch(e){y.error(e?.response?.data?.message??`加载核销配置失败`),ze.value=!1}finally{Be.value=!1}}function en(){navigator.clipboard.writeText(He.value),y.success(`核销链接已复制`)}function tn(e){let t={...z.value};t[e]=!t[e],z.value=t}async function nn(){if(!L.value||!R.venue_id){y.warning(`请选择场馆并填写用户名与密码`);return}if(!R.username.trim()||!R.password){y.warning(`请填写用户名与密码`);return}We.value=!0;try{await b.post(`/ticket-grab-events/${L.value}/verify-credentials`,{venue_id:R.venue_id,username:R.username.trim(),password:R.password,note:R.note.trim()||void 0}),y.success(`已添加`),R.username=``,R.password=``,R.note=``,await Qt(L.value)}catch(e){y.error(e?.response?.data?.message??`添加失败`)}finally{We.value=!1}}async function rn(e){if(L.value)try{await b.delete(`/ticket-grab-events/${L.value}/verify-credentials/${e.id}`),y.success(`已删除`),Ue.value=Ue.value.filter(t=>t.id!==e.id)}catch(e){y.error(e?.response?.data?.message??`删除失败`)}}async function an(){if(!P.value||!Re.value)return;let e=[];for(let t of P.value.venues??[]){let n=[],r=F.value[t.venue_id]??{};for(let e of t.release_days??[]){let t=r[e.release_date]??e.day_quota;n.push({date:e.release_date,day_quota:t})}e.push({venue_id:t.venue_id,days:n})}Le.value=!0;try{await b.put(`/ticket-grab-events/${Re.value}/release-config`,{venue_day_quotas:e}),y.success(`放票日配置已保存`),N.value=!1}catch(e){let t=e?.response?.data?.message;e?.response?.data?.errors?S.error({title:`校验失败`,content:JSON.stringify(e.response.data.errors)}):y.error(t??`保存失败`)}finally{Le.value=!1}}return t(async()=>{await Promise.all([tt().catch(()=>void 0),Vt()]),await $()}),(t,n)=>{let r=i(`a-input`),u=i(`a-option`),f=i(`a-select`),p=i(`a-button`),_=i(`a-space`),y=i(`a-table-column`),b=i(`a-tag`),x=i(`a-popconfirm`),S=i(`a-table`),oe=i(`a-typography-paragraph`),C=i(`a-form-item`),j=i(`a-form`),Re=i(`a-divider`),L=i(`a-input-password`),U=i(`a-spin`),G=i(`a-modal`),K=i(`a-range-picker`),q=i(`a-time-picker`),Ye=i(`a-switch`),Y=i(`a-upload`),X=i(`a-typography-text`),Z=i(`a-input-number`),Xe=i(`a-list-item`),Ze=i(`a-list`),Qe=i(`a-alert`),tt=i(`a-tab-pane`),at=i(`a-tabs`),lt=i(`a-card`);return e(),s(lt,{title:`抢票管理 / 抢票列表`,bordered:!1},{default:a(()=>[g(_,{direction:`vertical`,fill:``},{default:a(()=>[g(_,{wrap:``,size:12},{default:a(()=>[g(r,{modelValue:ke.value,"onUpdate:modelValue":n[0]||=e=>ke.value=e,placeholder:`按名称搜索`,"allow-clear":``,style:{width:`180px`}},null,8,[`modelValue`]),g(f,{modelValue:E.value,"onUpdate:modelValue":n[1]||=e=>E.value=e,placeholder:`场馆`,"allow-clear":``,"allow-search":``,style:{width:`200px`},onChange:n[2]||=()=>(T.current=1,$())},{default:a(()=>[(e(!0),m(l,null,v(w.value,t=>(e(),s(u,{key:t.id,value:t.id},{default:a(()=>[o(d(t.name),1)]),_:2},1032,[`value`]))),128))]),_:1},8,[`modelValue`]),g(f,{modelValue:D.value,"onUpdate:modelValue":n[3]||=e=>D.value=e,placeholder:`上架状态`,"allow-clear":``,style:{width:`130px`},onChange:n[4]||=()=>(T.current=1,$())},{default:a(()=>[g(u,{value:`1`},{default:a(()=>[...n[42]||=[o(`上架`,-1)]]),_:1}),g(u,{value:`0`},{default:a(()=>[...n[43]||=[o(`下架`,-1)]]),_:1})]),_:1},8,[`modelValue`]),g(p,{type:`primary`,onClick:n[5]||=()=>(T.current=1,$())},{default:a(()=>[...n[44]||=[o(`查询`,-1)]]),_:1}),g(p,{type:`primary`,onClick:Ht},{default:a(()=>[...n[45]||=[o(`新建抢票`,-1)]]),_:1}),g(p,{onClick:$},{default:a(()=>[...n[46]||=[o(`刷新`,-1)]]),_:1})]),_:1}),g(S,{class:`list-data-table`,scroll:{x:Ee},data:Oe.value,loading:De.value,"row-key":`id`,pagination:{current:T.current,pageSize:T.pageSize,total:T.total,showTotal:!0,onChange:e=>{T.current=e,$()},onPageSizeChange:e=>{T.pageSize=e,T.current=1,$()}}},{columns:a(()=>[g(y,{title:``,width:50,ellipsis:!0,tooltip:!0},{cell:a(({rowIndex:e})=>[o(d(ee(ae)(e,T.current,T.pageSize)),1)]),_:1}),g(y,{title:`名称`,"data-index":`title`,width:140,"min-width":110,ellipsis:!0,tooltip:!0}),g(y,{title:`标签`,width:130,ellipsis:!0,tooltip:!0},{cell:a(({record:e})=>[o(d((e.tags||[]).length?(e.tags||[]).join(``):``),1)]),_:1}),g(y,{title:`场馆`,width:180,"min-width":140,ellipsis:!0,tooltip:!0},{cell:a(({record:e})=>[o(d((e.venues||[]).map(e=>e.name).join(``)||`-`),1)]),_:1}),g(y,{title:`活动状态`,width:72},{cell:a(({record:e})=>[o(d(Ft(e.schedule_status)),1)]),_:1}),g(y,{title:`放票总数`,width:72},{cell:a(({record:e})=>[o(d(e.total_quota??0),1)]),_:1}),g(y,{title:`已预约`,width:72},{cell:a(({record:e})=>[o(d(e.registered_count??0),1)]),_:1}),g(y,{title:`上架状态`,width:72},{cell:a(({record:e})=>[g(b,{color:e.is_active?`green`:`gray`},{default:a(()=>[o(d(e.is_active?`上架`:`下架`),1)]),_:2},1032,[`color`])]),_:1}),g(y,{title:`审核`,width:72},{cell:a(({record:t})=>[t.audit_status===`pending`?(e(),s(b,{key:0,color:`orangered`},{default:a(()=>[...n[47]||=[o(`待审`,-1)]]),_:1})):t.audit_status===`rejected`?(e(),s(b,{key:1,color:`red`},{default:a(()=>[...n[48]||=[o(`驳回`,-1)]]),_:1})):(e(),s(b,{key:2,color:`green`},{default:a(()=>[...n[49]||=[o(`通过`,-1)]]),_:1}))]),_:1}),g(y,{title:`操作`,width:348,"min-width":320,fixed:`right`,align:`left`},{cell:a(({record:t})=>[g(_,{size:2,class:`tg-list-actions`,align:`start`},{default:a(()=>[g(p,{type:`text`,size:`small`,onClick:e=>Ut(t)},{default:a(()=>[...n[50]||=[o(`编辑`,-1)]]),_:1},8,[`onClick`]),g(p,{type:`text`,size:`small`,onClick:e=>Zt(t)},{default:a(()=>[...n[51]||=[o(`放票`,-1)]]),_:1},8,[`onClick`]),g(p,{type:`text`,size:`small`,onClick:e=>$t(t)},{default:a(()=>[...n[52]||=[o(`核销管理`,-1)]]),_:1},8,[`onClick`]),g(p,{type:`text`,size:`small`,status:`warning`,onClick:e=>Yt(t)},{default:a(()=>[o(d(t.is_active?`下架`:`上架`),1)]),_:2},1032,[`onClick`]),nt()?(e(),s(x,{key:0,content:`确认删除?无预约时方可删除`,onOk:e=>Xt(t)},{default:a(()=>[g(p,{type:`text`,size:`small`,status:`danger`},{default:a(()=>[...n[53]||=[o(`删除`,-1)]]),_:1})]),_:1},8,[`onOk`])):c(``,!0)]),_:2},1024)]),_:1})]),_:1},8,[`scroll`,`data`,`loading`,`pagination`])]),_:1}),g(G,{visible:ze.value,"onUpdate:visible":n[10]||=e=>ze.value=e,title:`核销管理`,width:`840px`,footer:!1},{default:a(()=>[g(U,{loading:Be.value,style:{width:`100%`}},{default:a(()=>[g(oe,{type:`secondary`,style:{"margin-bottom":`12px`}},{default:a(()=>[...n[54]||=[o(` 不同参与场馆可分别配置多组账号;场馆后台账号`,-1),h(`strong`,null,`不可`,-1),o(`登录核销页。 `,-1)]]),_:1}),g(j,{layout:`vertical`},{default:a(()=>[g(C,{label:`独立核销链接`},{default:a(()=>[g(_,null,{default:a(()=>[g(r,{"model-value":He.value,readonly:``,style:{width:`500px`}},null,8,[`model-value`]),g(p,{type:`primary`,onClick:en},{default:a(()=>[...n[55]||=[o(`复制链接`,-1)]]),_:1})]),_:1})]),_:1})]),_:1}),g(Re,{orientation:`left`},{default:a(()=>[...n[56]||=[o(`按场馆添加核销账号`,-1)]]),_:1}),g(_,{style:{"margin-bottom":`12px`,"flex-wrap":`wrap`,"align-items":`flex-start`}},{default:a(()=>[g(f,{modelValue:R.venue_id,"onUpdate:modelValue":n[6]||=e=>R.venue_id=e,placeholder:`场馆`,"allow-clear":``,style:{width:`200px`},options:Ve.value.map(e=>({label:e.name,value:e.id}))},null,8,[`modelValue`,`options`]),g(r,{modelValue:R.username,"onUpdate:modelValue":n[7]||=e=>R.username=e,placeholder:`用户名`,style:{width:`140px`},"allow-clear":``},null,8,[`modelValue`]),g(L,{modelValue:R.password,"onUpdate:modelValue":n[8]||=e=>R.password=e,placeholder:`密码`,style:{width:`140px`},"allow-clear":``},null,8,[`modelValue`]),g(r,{modelValue:R.note,"onUpdate:modelValue":n[9]||=e=>R.note=e,placeholder:`备注`,style:{width:`140px`},"allow-clear":``},null,8,[`modelValue`]),g(p,{type:`primary`,loading:We.value,onClick:nn},{default:a(()=>[...n[57]||=[o(`添加`,-1)]]),_:1},8,[`loading`])]),_:1}),g(S,{data:Ue.value,pagination:!1,size:`small`,"row-key":`id`},{columns:a(()=>[g(y,{title:`场馆`,"data-index":`venue_name`}),g(y,{title:`用户名`,"data-index":`username`}),g(y,{title:`密码`,width:168},{cell:a(({record:t})=>[g(_,{size:4},{default:a(()=>[h(`span`,null,d(z.value[t.id]?t.password_plain||``:`*****`),1),g(p,{type:`text`,size:`mini`,class:`tg-pw-eye`,onClick:e=>tn(t.id)},{default:a(()=>[z.value[t.id]?(e(),s(ee(re),{key:1})):(e(),s(ee(ne),{key:0}))]),_:2},1032,[`onClick`])]),_:2},1024)]),_:1}),g(y,{title:`备注`,"data-index":`note`}),g(y,{title:`创建时间`,"data-index":`created_at`}),g(y,{title:`操作`,width:90},{cell:a(({record:e})=>[g(x,{content:`确认删除?`,onOk:t=>rn(e)},{default:a(()=>[g(p,{type:`text`,size:`mini`,status:`danger`},{default:a(()=>[...n[58]||=[o(`删除`,-1)]]),_:1})]),_:1},8,[`onOk`])]),_:1})]),_:1},8,[`data`])]),_:1},8,[`loading`])]),_:1},8,[`visible`]),g(G,{visible:O.value,"onUpdate:visible":n[23]||=e=>O.value=e,title:k.value?`编辑抢票`:`新建抢票`,width:`70%`,"body-style":Me,"ok-loading":Ae.value,"unmount-on-close":``,"on-before-ok":Jt,onCancel:n[24]||=e=>O.value=!1},{default:a(()=>[g(j,{model:A,layout:`vertical`,class:`admin-modal-form`},{default:a(()=>[g(C,{label:`名称`,required:``},{default:a(()=>[g(r,{modelValue:A.title,"onUpdate:modelValue":n[11]||=e=>A.title=e},null,8,[`modelValue`])]),_:1}),g(C,{label:`活动日期`,required:``},{default:a(()=>[g(K,{modelValue:ot.value,"onUpdate:modelValue":n[12]||=e=>ot.value=e,format:`YYYY-MM-DD`,"value-format":`YYYY-MM-DD`,"exchange-time":!1,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),g(C,{label:`预约日期`,required:``},{default:a(()=>[g(K,{modelValue:st.value,"onUpdate:modelValue":n[13]||=e=>st.value=e,format:`YYYY-MM-DD`,"value-format":`YYYY-MM-DD`,"exchange-time":!1,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),g(C,{label:`每日放票时间`,required:``},{default:a(()=>[g(_,null,{default:a(()=>[g(q,{modelValue:A.daily_release_start_time,"onUpdate:modelValue":n[14]||=e=>A.daily_release_start_time=e,format:`HH:mm`,placeholder:`开始时间`,style:{width:`160px`}},null,8,[`modelValue`]),n[59]||=h(`span`,{style:{color:`var(--color-text-3)`}},``,-1),g(q,{modelValue:A.daily_release_end_time,"onUpdate:modelValue":n[15]||=e=>A.daily_release_end_time=e,format:`HH:mm`,placeholder:`结束时间`,style:{width:`160px`}},null,8,[`modelValue`])]),_:1})]),_:1}),g(C,{label:`预约人群`,required:``},{default:a(()=>[g(f,{modelValue:A.booking_audience,"onUpdate:modelValue":n[16]||=e=>A.booking_audience=e,placeholder:`请选择`},{default:a(()=>[g(u,{value:`all`},{default:a(()=>[...n[60]||=[o(`全部人员`,-1)]]),_:1}),g(u,{value:`school_age`},{default:a(()=>[...n[61]||=[o(`学龄内学生`,-1)]]),_:1})]),_:1},8,[`modelValue`])]),_:1}),g(C,{label:`年龄限制`,extra:`按身份证出生日期,可选;起止均为空表示不限制;单日可起止选同一天`},{default:a(()=>[g(K,{modelValue:ct.value,"onUpdate:modelValue":n[17]||=e=>ct.value=e,format:`YYYY-MM-DD`,"value-format":`YYYY-MM-DD`,"exchange-time":!1,"allow-clear":``,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),g(C,{label:`上架状态`,extra:`关闭后前台不展示该抢票活动`},{default:a(()=>[g(Ye,{modelValue:A.is_active,"onUpdate:modelValue":n[18]||=e=>A.is_active=e},null,8,[`modelValue`])]),_:1}),g(C,{label:`标签`,class:`admin-modal-form__full`},{default:a(()=>[g(_,{style:{width:`100%`}},{default:a(()=>[g(r,{modelValue:I.value,"onUpdate:modelValue":n[19]||=e=>I.value=e,placeholder:`请输入标签内容`,onPressEnter:rt},null,8,[`modelValue`]),g(p,{type:`primary`,onClick:rt},{default:a(()=>[...n[62]||=[o(`保存标签`,-1)]]),_:1})]),_:1}),h(`div`,se,[(e(!0),m(l,null,v(A.tags,(t,n)=>(e(),s(b,{key:`${t}-${n}`,closable:``,style:{"margin-bottom":`0`},onClose:e=>it(n)},{default:a(()=>[o(d(t),1)]),_:2},1032,[`onClose`]))),128)),A.tags.length?c(``,!0):(e(),m(`span`,ce,`暂无标签`))])]),_:1}),g(C,{label:`封面与轮播`,class:`admin-modal-form__full`},{default:a(()=>[h(`div`,le,[h(`div`,ue,[n[66]||=h(`div`,{class:`activity-cover-carousel-row__sub`},`封面图`,-1),g(_,{direction:`vertical`,fill:``,style:{width:`100%`}},{default:a(()=>[g(Y,{"auto-upload":!1,"show-file-list":!1,accept:`image/*`,"before-upload":ft,onChange:mt},{"upload-button":a(()=>[g(p,null,{default:a(()=>[...n[63]||=[o(`上传封面`,-1)]]),_:1})]),_:1}),g(X,{type:`secondary`},{default:a(()=>[...n[64]||=[o(`图片尺寸推荐 1200×600`,-1)]]),_:1}),A.cover_image?(e(),s(_,{key:0,direction:`vertical`,align:`start`},{default:a(()=>[h(`img`,{src:A.cover_image,class:`activity-cover-thumb`,onClick:n[20]||=e=>vt(`image`,A.cover_image)},null,8,de),g(p,{size:`mini`,status:`danger`,onClick:gt},{default:a(()=>[...n[65]||=[o(`删除封面`,-1)]]),_:1})]),_:1})):c(``,!0)]),_:1})]),h(`div`,fe,[n[70]||=h(`div`,{class:`activity-cover-carousel-row__sub`},`轮播图`,-1),h(`div`,pe,[g(Y,{"auto-upload":!1,"show-file-list":!1,multiple:``,accept:`image/*,video/*`,"before-upload":pt,onChange:ht},{"upload-button":a(()=>[g(p,{type:`primary`},{default:a(()=>[...n[67]||=[o(`新增轮播资源`,-1)]]),_:1})]),_:1}),g(X,{type:`secondary`,style:{"margin-top":`12px`,display:`block`}},{default:a(()=>[...n[68]||=[o(`图片尺寸推荐 1200×600`,-1)]]),_:1}),h(`div`,me,[(e(!0),m(l,null,v(A.gallery_media,(t,r)=>(e(),m(`div`,{key:t.url+r,class:`activity-gallery-item`},[t.type===`image`?(e(),m(`img`,{key:0,src:t.url,class:`activity-gallery-thumb`,onClick:e=>vt(`image`,t.url)},null,8,he)):(e(),m(`video`,{key:1,src:t.url,controls:``,class:`activity-gallery-thumb activity-gallery-thumb--video`,onClick:te(e=>vt(`video`,t.url),[`stop`])},null,8,ge)),g(p,{size:`mini`,status:`danger`,onClick:e=>_t(r)},{default:a(()=>[...n[69]||=[o(`删除`,-1)]]),_:1},8,[`onClick`])]))),128))])])])])]),_:1}),g(C,{label:`参与场馆与放票`,required:``,class:`admin-modal-form__full`},{default:a(()=>[h(`div`,_e,[g(p,{type:`primary`,class:`tg-venue-block__add`,onClick:Lt},{default:a(()=>[...n[71]||=[o(`新增场馆`,-1)]]),_:1}),h(`div`,ve,[g(S,{class:`tg-venue-table`,data:A.venues,pagination:!1,"row-key":`_key`,size:`small`,bordered:{cell:!0},scroll:{x:1040}},{columns:a(()=>[g(y,{title:`场馆`,"min-width":200},{cell:a(({record:e})=>[g(f,{"model-value":e.venue_id,"allow-clear":``,"allow-search":``,placeholder:`选择场馆`,style:{width:`100%`},options:w.value.map(e=>({label:e.name,value:e.id})),"onUpdate:modelValue":t=>et(e,t)},null,8,[`model-value`,`options`,`onUpdate:modelValue`])]),_:1}),g(y,{title:`放票数`,width:200},{cell:a(({record:e})=>[g(Z,{modelValue:e.venue_total_quota,"onUpdate:modelValue":t=>e.venue_total_quota=t,min:1,class:`tg-venue-quota-input`,style:{width:`100%`}},null,8,[`modelValue`,`onUpdate:modelValue`])]),_:1}),g(y,{title:`开放时间`,"min-width":120,ellipsis:!0,tooltip:!0},{cell:a(({record:e})=>[o(d(It(e.opening_hours,20)),1)]),_:1}),g(y,{title:`地址`,"min-width":160,ellipsis:!0,tooltip:!0},{cell:a(({record:e})=>[o(d(It(e.address,24)),1)]),_:1}),g(y,{title:`操作`,width:136,align:`center`},{cell:a(({record:e})=>[h(`div`,ye,[g(p,{type:`text`,size:`small`,onClick:t=>Nt(e)},{default:a(()=>[...n[72]||=[o(`编辑详情`,-1)]]),_:1},8,[`onClick`]),g(p,{type:`text`,size:`small`,status:`danger`,disabled:A.venues.length<=1,onClick:t=>Rt(e)},{default:a(()=>[...n[73]||=[o(` 删除 `,-1)]]),_:1},8,[`disabled`,`onClick`])])]),_:1})]),_:1},8,[`data`])])])]),_:1}),g(C,{label:`预约须知`,class:`admin-modal-form__full`},{default:a(()=>[(e(),s(ie,{modelValue:A.reservation_notice,"onUpdate:modelValue":n[21]||=e=>A.reservation_notice=e,"editor-options":xt,"field-key":`tg-reservation`,key:`tg-r-${je.value}`},null,8,[`modelValue`]))]),_:1}),g(C,{label:`活动详情`,class:`admin-modal-form__full`},{default:a(()=>[(e(),s(ie,{modelValue:A.detail_html,"onUpdate:modelValue":n[22]||=e=>A.detail_html=e,"editor-options":xt,"field-key":`tg-detail`,"min-height":280,key:`tg-d-${je.value}`},null,8,[`modelValue`]))]),_:1})]),_:1},8,[`model`])]),_:1},8,[`visible`,`title`,`ok-loading`]),g(G,{visible:Fe.value,"onUpdate:visible":n[36]||=e=>Fe.value=e,title:`编辑场馆详情`,width:`80%`,"body-style":Me,"unmount-on-close":``,"on-before-ok":Gt,onOk:Q,onCancel:Q},{default:a(()=>[M.value?(e(),s(j,{layout:`vertical`,class:`admin-modal-form`,key:M.value._key},{default:a(()=>[g(C,{label:`开放时间`,required:``},{default:a(()=>[g(r,{modelValue:M.value.opening_hours,"onUpdate:modelValue":n[25]||=e=>M.value.opening_hours=e,placeholder:`可填写面向用户的开放时段说明`,"allow-clear":``},null,8,[`modelValue`])]),_:1}),g(C,{label:`所在单位`,required:``},{default:a(()=>[g(r,{modelValue:M.value.unit_name,"onUpdate:modelValue":n[26]||=e=>M.value.unit_name=e,"allow-clear":``},null,8,[`modelValue`])]),_:1}),g(C,{label:`联系人`,required:``},{default:a(()=>[g(r,{modelValue:M.value.contact_name,"onUpdate:modelValue":n[27]||=e=>M.value.contact_name=e,"allow-clear":``},null,8,[`modelValue`])]),_:1}),g(C,{label:`联系方式`,required:``},{default:a(()=>[g(r,{modelValue:M.value.contact_phone,"onUpdate:modelValue":n[28]||=e=>M.value.contact_phone=e,"allow-clear":``,placeholder:`电话等`},null,8,[`modelValue`])]),_:1}),g(C,{label:`核销方式说明`,required:``},{default:a(()=>[g(r,{modelValue:M.value.qr_verify_method,"onUpdate:modelValue":n[29]||=e=>M.value.qr_verify_method=e,"allow-clear":``,placeholder:`入馆核销方式说明`},null,8,[`modelValue`])]),_:1}),g(C,{label:`场馆地址与经纬度`,required:``,class:`admin-modal-form__full`},{default:a(()=>[h(`div`,be,[g(r,{modelValue:M.value.address,"onUpdate:modelValue":n[30]||=e=>M.value.address=e,class:`activity-address-coord-row__address`,placeholder:`场馆地址`,"allow-clear":``},null,8,[`modelValue`]),g(Z,{modelValue:M.value.lng,"onUpdate:modelValue":n[31]||=e=>M.value.lng=e,class:`activity-address-coord-row__lng`,precision:7,placeholder:`经度`,"hide-button":``,disabled:``},null,8,[`modelValue`]),g(Z,{modelValue:M.value.lat,"onUpdate:modelValue":n[32]||=e=>M.value.lat=e,class:`activity-address-coord-row__lat`,precision:7,placeholder:`纬度`,"hide-button":``,disabled:``},null,8,[`modelValue`]),g(p,{type:`primary`,class:`activity-address-coord-row__map`,onClick:n[33]||=e=>Ot(M.value)},{default:a(()=>[...n[74]||=[o(`地图选点`,-1)]]),_:1}),g(p,{class:`activity-address-coord-row__map`,onClick:n[34]||=e=>$e(M.value)},{default:a(()=>[...n[75]||=[o(`使用本馆地址`,-1)]]),_:1})])]),_:1}),g(C,{label:`详情`,class:`admin-modal-form__full`},{default:a(()=>[(e(),s(ie,{modelValue:M.value.detail_html,"onUpdate:modelValue":n[35]||=e=>M.value.detail_html=e,"editor-options":xt,"field-key":`tg-venue-d-${M.value._key}`,"min-height":200,key:`tg-vd-${Pe.value}-${M.value._key}`},null,8,[`modelValue`,`field-key`]))]),_:1})]),_:1})):c(``,!0)]),_:1},8,[`visible`]),g(G,{visible:qe.value,"onUpdate:visible":n[37]||=e=>qe.value=e,title:`媒体预览`,width:`72%`,footer:!1},{default:a(()=>[Je.value===`image`&&J.value?(e(),m(`img`,{key:0,src:J.value,style:{display:`block`,"max-width":`100%`,"max-height":`72vh`,margin:`0 auto`}},null,8,xe)):Je.value===`video`&&J.value?(e(),m(`video`,{key:1,src:J.value,controls:``,autoplay:``,style:{display:`block`,width:`100%`,"max-height":`72vh`}},null,8,Se)):c(``,!0)]),_:1},8,[`visible`]),g(G,{visible:Ge.value,"onUpdate:visible":n[39]||=e=>Ge.value=e,title:`地图选点(腾讯地图)`,width:`70%`,"body-style":Ne,"on-before-ok":jt,"unmount-on-close":``,onCancel:Mt},{default:a(()=>[g(_,{style:{"margin-bottom":`12px`,width:`100%`}},{default:a(()=>[g(r,{modelValue:V.value,"onUpdate:modelValue":n[38]||=e=>V.value=e,placeholder:`输入关键词搜索,如:苏州博物馆`,style:{width:`420px`}},null,8,[`modelValue`]),g(p,{type:`primary`,loading:B.value,onClick:kt},{default:a(()=>[...n[76]||=[o(`搜索`,-1)]]),_:1},8,[`loading`])]),_:1}),h(`div`,Ce,[h(`div`,{ref_key:`mapContainerRef`,ref:Ke,style:{height:`520px`,flex:`1`,border:`1px solid #e5e6eb`}},null,512),h(`div`,we,[n[77]||=h(`div`,{style:{"margin-bottom":`8px`,color:`#86909c`}},`搜索结果`,-1),g(Ze,{size:`small`},{default:a(()=>[(e(!0),m(l,null,v(H.value,(t,n)=>(e(),s(Xe,{key:n,onClick:e=>At(t)},{default:a(()=>[g(oe,{ellipsis:{rows:1}},{default:a(()=>[o(d(t.title),1)]),_:2},1024),g(X,{type:`secondary`},{default:a(()=>[o(d(t.address),1)]),_:2},1024)]),_:2},1032,[`onClick`]))),128))]),_:1})])]),W.value?(e(),s(Qe,{key:0,type:`info`,style:{"margin-top":`12px`}},{default:a(()=>[o(` 已选坐标:`+d(W.value.lng)+`, `+d(W.value.lat),1),n[78]||=h(`br`,null,null,-1),o(` 地址:`+d(W.value.address||`-`),1)]),_:1})):c(``,!0)]),_:1},8,[`visible`]),g(G,{visible:N.value,"onUpdate:visible":n[40]||=e=>N.value=e,title:`放票与每日配置`,width:900,"ok-loading":Le.value,onOk:an,onCancel:n[41]||=e=>N.value=!1},{default:a(()=>[Ie.value?(e(),s(U,{key:0,style:{width:`100%`,padding:`24px`}})):P.value?(e(),m(`div`,Te,[P.value.event?(e(),s(oe,{key:0,type:`secondary`,style:{"margin-top":`0`}},{default:a(()=>[o(` 预约日 `+d(P.value.event.booking_start_at)+` `+d(P.value.event.booking_end_at)+`,每日 `+d(P.value.event.daily_release_start_time)+` 起开放,至 `+d(P.value.event.daily_release_end_time)+` 止。 `,1)]),_:1})):c(``,!0),P.value.venues?.length?(e(),s(at,{key:1,"default-active-key":`0`},{default:a(()=>[(e(!0),m(l,null,v(P.value.venues,(t,n)=>(e(),s(tt,{key:String(n),title:`${Pt(t.venue_id)} · 总配额 ${t.venue_total_quota}`},{default:a(()=>[g(S,{data:t.release_days,pagination:!1,scroll:{y:320}},{columns:a(()=>[g(y,{title:`抢票日期`,"data-index":`release_date`,width:120}),g(y,{title:`昨日余票`,width:88},{cell:a(({record:e})=>[o(d(e.carry_in),1)]),_:1}),g(y,{title:`基础放票`,width:120},{cell:a(({record:e})=>[g(Z,{modelValue:F.value[t.venue_id][e.release_date],"onUpdate:modelValue":n=>F.value[t.venue_id][e.release_date]=n,min:0,mode:`button`},null,8,[`modelValue`,`onUpdate:modelValue`])]),_:2},1024),g(y,{title:`可预约总量`,width:120},{cell:a(({record:e})=>[o(d(e.total_day_pool),1)]),_:1}),g(y,{title:`已预约`,width:72},{cell:a(({record:e})=>[o(d(e.booked_count),1)]),_:1}),g(y,{title:`余量`,width:88},{cell:a(({record:e})=>[o(d(e.current_remaining),1)]),_:1})]),_:2},1032,[`data`])]),_:2},1032,[`title`]))),128))]),_:1})):c(``,!0),P.value.venues?.length?c(``,!0):(e(),s(Qe,{key:2,type:`warning`},{default:a(()=>[...n[79]||=[o(`暂无放票日数据,请先保存活动并含预约日期与场馆。`,-1)]]),_:1}))])):c(``,!0)]),_:1},8,[`visible`,`ok-loading`])]),_:1})}}}),[[`__scopeId`,`data-v-74e84811`]]);export{De as default};