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