|
|
import{C as e,Ct as t,D as n,E as r,G as i,S as a,T as o,X as ee,Xt as te,Y as s,at as c,b as l,d as ne,ht as u,m as d,ot as re,q as f,tn as p,x as m}from"./vue.runtime.esm-bundler-DUiYyeqQ.js";import{c as h,l as g,s as _}from"./index-DPkd2m0V.js";import{t as ie}from"./RichTextEditor-D53SL5wL.js";import{t as v}from"./usePageLoad-DFTLo_Lv.js";import{a as y,c as b,d as x,f as ae,i as oe,l as S,n as C,o as w,p as se,r as ce,s as le,t as T,u as ue}from"./activities-BQAd6xP6.js";import{a as de,i as fe,o as pe,s as me}from"./admin-list-CBoToEFo.js";import{a as E}from"./dict-DoDYCi7z.js";import{a as he,i as ge,n as D,r as O,t as _e}from"./csv-export-DWSNzQbE.js";function ve(e,t){return D([`姓名`,`手机`,`公司`,`报名时间`],e.map(e=>[e.name,e.mobile,e.company??`—`,t(e.signed_up_at)]))}function ye(e,t,n){return D([`姓名`,`手机`,`公司`,`签到状态`,`签到时间`],e.map(e=>[e.name,e.mobile,e.company??`—`,t?e.session_checked_in_at?`已签到`:`未签到`:``,t?n(e.session_checked_in_at):``]))}var be={class:`list-page`},xe={class:`page-header`},Se={class:`list-filter-bar`},Ce={class:`table-row-actions`},we={class:`list-pager`},Te={class:`date-range`},Ee={class:`date-range`},De={class:`session-label-row`},Oe={class:`sessions-block`},ke={class:`dialog-footer-inner`},Ae={class:`signup-head`},je={class:`signup-head-row`},Me={key:0,class:`session-tabs`},Ne={key:1,class:`text-mute`},Pe={class:`sub-toolbar signup-filter-bar`},Fe={class:`list-pager`},k=_(n({__name:`index`,setup(n){let _=u(!1),D=u(!1),k=u([]),A=u({current_page:1,per_page:20,total:0}),j=u(1),M=u(``),N=u(``),P=u(``),F=u(``),I=u([]),L=u(!1),R=u(null),z=u({title:``,activity_type_dict_item_id:void 0,event_start_date:``,event_end_date:``,signup_start_date:``,signup_end_date:``,location:``,intro_html:``}),B=u([]),Ie=u(!1),V=u(null),H=u([]),Le=u([]),U=u({current_page:1,per_page:20,total:0}),W=u(1),G=u(``),K=u(``),q=u(``),J=u(!1),Re=u(!1),ze=u([]),Be=u(!1),Ve=u(null),He=u(``);async function Ue(){try{I.value=(await E(`activity_type`)).items}catch{g.warning(`活动类型字典加载失败,请执行 ActivityDictionarySeeder 或在字典中维护 activity_type`)}}async function Y(){_.value=!0;try{let e={page:j.value,page_size:A.value.per_page};M.value&&(e.keyword=M.value),N.value!==``&&(e.activity_type_dict_item_id=N.value),P.value!==``&&(e.progress_status=P.value),F.value!==``&&(e.published=F.value);let t=await le(e);k.value=t.items,A.value=t.meta}finally{_.value=!1}}function We(){j.value=1,Y()}function Ge(){M.value=``,N.value=``,P.value=``,F.value=``,j.value=1,Y()}function Ke(){B.value.push({title:``,starts_at:``,ends_at:``,venue:``,capacity:void 0})}function qe(e){B.value.splice(e,1)}function Je(){R.value=null,z.value={title:``,activity_type_dict_item_id:I.value[0]?.id,event_start_date:``,event_end_date:``,signup_start_date:``,signup_end_date:``,location:``,intro_html:``},B.value=[],L.value=!0}async function Ye(e){R.value=e;let t=await b(e.id);z.value={title:t.title,activity_type_dict_item_id:t.activity_type_dict_item_id??void 0,event_start_date:t.event_start_date||``,event_end_date:t.event_end_date||``,signup_start_date:t.signup_start_date||``,signup_end_date:t.signup_end_date||``,location:t.location||``,intro_html:t.intro_html||``},B.value=(await S(e.id)).map(e=>({id:e.id,title:e.title||``,starts_at:e.starts_at?e.starts_at.slice(0,16).replace(`T`,` `):``,ends_at:e.ends_at?e.ends_at.slice(0,16).replace(`T`,` `):``,venue:e.venue||``,capacity:e.capacity??void 0})),L.value=!0}function Xe(){return z.value.title?.trim()?z.value.activity_type_dict_item_id?!z.value.event_start_date||!z.value.event_end_date?(g.warning(`请填写活动日期`),!1):z.value.event_start_date>z.value.event_end_date?(g.warning(`活动结束日期不能早于开始日期`),!1):!z.value.signup_start_date||!z.value.signup_end_date?(g.warning(`请填写报名起止日期`),!1):z.value.signup_start_date>z.value.signup_end_date?(g.warning(`报名结束日期不能早于开始日期`),!1):!0:(g.warning(`请选择活动类型`),!1):(g.warning(`请填写活动名称`),!1)}function Ze(e){return e.slice(0,10)}function Qe(e){let t=z.value.event_start_date,n=z.value.event_end_date;return!t||!n?!0:e.starts_at&&Ze(e.starts_at)<t?(g.warning(`场次「${e.title}」开始时间不能早于活动开始日期`),!1):e.ends_at&&Ze(e.ends_at)>n?(g.warning(`场次「${e.title}」结束时间不能晚于活动结束日期`),!1):!0}function $e(e){let t=z.value.event_start_date,n=z.value.event_end_date;if(!t||!n)return!1;let r=`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,`0`)}-${String(e.getDate()).padStart(2,`0`)}`;return r<t||r>n}function et(){let e=B.value.filter(e=>e.title?.trim()||e.starts_at||e.ends_at||e.venue||e.capacity);for(let t of e){if(!t.title?.trim()||!t.starts_at||!t.ends_at||!(t.capacity&&t.capacity>0))return g.warning(`场次信息不完整:标题、开始时间、结束时间、名额均为必填,且名额须大于 0`),!1;if(t.starts_at>t.ends_at)return g.warning(`场次「${t.title}」结束时间不能早于开始时间`),!1;if(!Qe(t))return!1}return B.value.filter(e=>e.title?.trim()&&e.starts_at&&e.ends_at&&(e.capacity??0)>0).length?!0:(g.warning(`保存并发布前须至少添加一个完整场次(标题、开始/结束时间、名额均必填且名额大于 0)`),!1)}async function tt(e){let t=R.value?await S(e):[],n=new Set;for(let t of B.value){if(!t.title?.trim()||!t.starts_at||!t.ends_at||!(t.capacity&&t.capacity>0))continue;if(!Qe(t))throw Error(`session_range_invalid`);let r={title:t.title.trim(),starts_at:`${t.starts_at}:00`,ends_at:`${t.ends_at}:00`,venue:t.venue||null,capacity:t.capacity};if(t.id)await se(e,t.id,r),n.add(t.id);else{let t=await ce(e,r);n.add(t.id)}}for(let r of t)n.has(r.id)||await y(e,r.id)}async function nt(e){if(!Xe()||e===1&&!et())return;let t=B.value.filter(e=>e.title?.trim()||e.starts_at||e.ends_at||e.venue||e.capacity);for(let e of t)if((e.starts_at||e.ends_at)&&!Qe(e))return;let n={title:z.value.title.trim(),activity_type_dict_item_id:z.value.activity_type_dict_item_id,event_start_date:z.value.event_start_date,event_end_date:z.value.event_end_date,signup_start_date:z.value.signup_start_date,signup_end_date:z.value.signup_end_date,location:z.value.location||null,intro_html:z.value.intro_html||null,published:e};D.value=!0;try{let t;R.value?(await ae(R.value.id,n),t=R.value.id):t=(await C(n)).id,await tt(t),g.success(e===1?`已保存并发布`:`已暂存草稿`),L.value=!1,await Y()}catch(e){if(e instanceof Error&&e.message===`session_range_invalid`)return;throw e}finally{D.value=!1}}async function rt(e){await h.confirm(`确定删除活动「${e.title}」?`,`提示`,{type:`warning`}),await oe(e.id),g.success(`已删除`),await Y()}function X(e){if(!e)return`—`;let t=new Date(e);if(Number.isNaN(t.getTime()))return`—`;let n=e=>String(e).padStart(2,`0`);return`${t.getFullYear()}-${n(t.getMonth()+1)}-${n(t.getDate())} ${n(t.getHours())}:${n(t.getMinutes())}`}function Z(e){return e.title?e.title:e.starts_at?e.starts_at.slice(0,10).replace(/-/g,`.`):`场次 #${e.id}`}function it(e){return e?.starts_at?new Date(e.starts_at)<=new Date:!0}let at=()=>H.value.find(e=>e.id===q.value),Q=()=>it(at());async function $(){if(!V.value)return;let e={page:W.value,page_size:U.value.per_page};G.value.trim()&&(e.keyword=G.value.trim()),q.value!==``&&(e.activity_session_id=q.value),K.value!==``&&(e.checkin_status=K.value);let t=await ue(V.value.id,e);Le.value=t.items,U.value=t.meta}async function ot(e){V.value=e,Ie.value=!0,W.value=1,G.value=``,K.value=``,H.value=await S(e.id),q.value=H.value[0]?.id??``,await $()}async function st(e){q.value=e,W.value=1,await $()}function ct(){W.value=1,$()}function lt(){G.value=``,K.value=``,W.value=1,$()}async function ut(e){V.value&&(await h.confirm(`确定删除该报名记录?`,`提示`,{type:`warning`}),await w(V.value.id,e.id),await $(),await Y())}async function dt(e){!V.value||q.value===``||(await T(V.value.id,e.id,{activity_session_id:q.value}),g.success(`已完成手动补签`),await $())}function ft(e){Ve.value=e,He.value=he(e),Be.value=!0}async function pt(){if(V.value){J.value=!0,Re.value=!0,ze.value=[];try{let e=V.value.id,t=await x(e);ze.value=await Promise.all(H.value.map(async n=>{let r=await x(e,{activity_session_id:n.id}),i=it(n)?r.filter(e=>e.session_checked_in_at).length:0,a=t.filter(e=>e.activity_session_id===n.id);return{session:n,signup_count:a.length,checked_in_count:i,signupRows:a,signinRows:r}}))}catch{g.error(`导出数据加载失败`)}finally{Re.value=!1}}}function mt(e){if(!V.value)return;let t=O(V.value.title||`活动`),n=O(Z(e.session)),r=ve(e.signupRows,X);_e(`${t}_${n}_报名.csv`,r)}function ht(e){if(!V.value)return;let t=O(V.value.title||`活动`),n=O(Z(e.session)),r=ye(e.signinRows,it(e.session),X);_e(`${t}_${n}_签到.csv`,r)}return v(async()=>{await Ue(),await Y()}),(n,u)=>{let h=s(`el-button`),g=s(`el-input`),v=s(`el-option`),y=s(`el-select`),b=s(`el-table-column`),x=s(`el-table`),ae=s(`el-pagination`),oe=s(`el-card`),S=s(`el-form-item`),C=s(`el-col`),w=s(`el-date-picker`),se=s(`el-input-number`),ce=s(`el-row`),le=s(`el-form`),T=s(`el-dialog`),ue=s(`el-tag`),E=ee(`loading`);return i(),e(d,null,[l(`div`,be,[l(`div`,xe,[u[25]||=l(`h1`,{class:`page-title`},`活动管理`,-1),r(h,{type:`primary`,size:`small`,class:`btn-create`,onClick:Je},{default:c(()=>[...u[24]||=[o(`新建活动`,-1)]]),_:1})]),r(oe,{shadow:`never`,class:`admin-list-card`},{default:c(()=>[l(`div`,Se,[r(g,{modelValue:M.value,"onUpdate:modelValue":u[0]||=e=>M.value=e,placeholder:`搜索活动名称`,clearable:``,class:`filter-search`,onKeyup:ne(We,[`enter`])},null,8,[`modelValue`]),r(y,{modelValue:N.value,"onUpdate:modelValue":u[1]||=e=>N.value=e,clearable:``,placeholder:`活动类型`,class:`filter-select`,filterable:``},{default:c(()=>[(i(!0),e(d,null,f(I.value,e=>(i(),m(v,{key:e.id,label:e.label,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`]),r(y,{modelValue:P.value,"onUpdate:modelValue":u[2]||=e=>P.value=e,clearable:``,placeholder:`活动状态`,class:`filter-select`},{default:c(()=>[r(v,{label:`未开始`,value:1}),r(v,{label:`进行中`,value:2}),r(v,{label:`已结束`,value:3})]),_:1},8,[`modelValue`]),r(y,{modelValue:F.value,"onUpdate:modelValue":u[3]||=e=>F.value=e,clearable:``,placeholder:`发布状态`,class:`filter-select`},{default:c(()=>[r(v,{label:`已发布`,value:1}),r(v,{label:`未发布`,value:0})]),_:1},8,[`modelValue`]),r(h,{type:`primary`,onClick:We},{default:c(()=>[...u[26]||=[o(`搜索`,-1)]]),_:1}),r(h,{onClick:Ge},{default:c(()=>[...u[27]||=[o(`重置`,-1)]]),_:1})]),re((i(),m(x,{data:k.value,"row-key":`id`},{default:c(()=>[r(b,{prop:`title`,label:`活动名称`,"min-width":`160`,"show-overflow-tooltip":``}),r(b,{label:`活动类型`,width:`100`},{default:c(({row:e})=>[o(p(e.activity_type_item?.label??`—`),1)]),_:1}),r(b,{label:`场次`,width:`72`,align:`center`},{default:c(({row:e})=>[o(p(e.sessions_count??0),1)]),_:1}),r(b,{label:`活动日期`,"min-width":`150`},{default:c(({row:e})=>[o(p(t(fe)(e.event_start_date,e.event_end_date)),1)]),_:1}),r(b,{label:`报名起止日期`,"min-width":`150`},{default:c(({row:e})=>[o(p(t(fe)(e.signup_start_date,e.signup_end_date)),1)]),_:1}),r(b,{prop:`location`,label:`活动地点`,"min-width":`120`,"show-overflow-tooltip":``}),r(b,{label:`活动状态`,width:`90`,align:`center`},{default:c(({row:e})=>[l(`span`,{class:te([`status-badge`,t(pe)(e.progress_status)])},p(t(de)(e.progress_status)),3)]),_:1}),r(b,{label:`发布状态`,width:`90`,align:`center`},{default:c(({row:e})=>[l(`span`,{class:te([`status-badge`,t(me)(e.published)])},p(e.published===1?`已发布`:`未发布`),3)]),_:1}),r(b,{label:`操作`,width:`280`,fixed:`right`},{default:c(({row:e})=>[l(`div`,Ce,[r(h,{class:`btn-action-brand`,onClick:t=>ot(e)},{default:c(()=>[...u[28]||=[o(`报名与签到`,-1)]]),_:1},8,[`onClick`]),r(h,{class:`btn-action-primary`,onClick:t=>ft(e)},{default:c(()=>[...u[29]||=[o(`签到码`,-1)]]),_:1},8,[`onClick`]),r(h,{class:`btn-action-secondary`,onClick:t=>Ye(e)},{default:c(()=>[...u[30]||=[o(`编辑`,-1)]]),_:1},8,[`onClick`]),r(h,{class:`btn-action-secondary`,onClick:t=>rt(e)},{default:c(()=>[...u[31]||=[o(`删除`,-1)]]),_:1},8,[`onClick`])])]),_:1})]),_:1},8,[`data`])),[[E,_.value]]),l(`div`,we,[r(ae,{"current-page":j.value,"onUpdate:currentPage":u[4]||=e=>j.value=e,layout:`total, prev, pager, next`,total:A.value.total,"page-size":A.value.per_page,onCurrentChange:Y},null,8,[`current-page`,`total`,`page-size`])])]),_:1})]),r(T,{modelValue:L.value,"onUpdate:modelValue":u[16]||=e=>L.value=e,title:R.value?`编辑活动`:`新建活动`,width:`1200px`,top:`4vh`,"destroy-on-close":``,class:`activity-dialog`},{footer:c(()=>[l(`div`,ke,[r(h,{onClick:u[13]||=e=>L.value=!1},{default:c(()=>[...u[37]||=[o(`取消`,-1)]]),_:1}),r(h,{loading:D.value,onClick:u[14]||=e=>nt(0)},{default:c(()=>[...u[38]||=[o(`暂存草稿`,-1)]]),_:1},8,[`loading`]),r(h,{type:`primary`,loading:D.value,onClick:u[15]||=e=>nt(1)},{default:c(()=>[...u[39]||=[o(`保存并发布`,-1)]]),_:1},8,[`loading`])])]),default:c(()=>[r(le,{"label-position":`top`,class:`activity-form`},{default:c(()=>[r(ce,{gutter:16},{default:c(()=>[r(C,{span:8},{default:c(()=>[r(S,{label:`活动名称`,required:``},{default:c(()=>[r(g,{modelValue:z.value.title,"onUpdate:modelValue":u[5]||=e=>z.value.title=e,placeholder:`请输入活动名称`},null,8,[`modelValue`])]),_:1})]),_:1}),r(C,{span:8},{default:c(()=>[r(S,{label:`活动类型`,required:``},{default:c(()=>[r(y,{modelValue:z.value.activity_type_dict_item_id,"onUpdate:modelValue":u[6]||=e=>z.value.activity_type_dict_item_id=e,placeholder:`请选择`,filterable:``,style:{width:`100%`}},{default:c(()=>[(i(!0),e(d,null,f(I.value,e=>(i(),m(v,{key:e.id,label:e.label,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),_:1})]),_:1}),r(C,{span:8},{default:c(()=>[r(S,{label:`活动日期`,required:``},{default:c(()=>[l(`div`,Te,[r(w,{modelValue:z.value.event_start_date,"onUpdate:modelValue":u[7]||=e=>z.value.event_start_date=e,type:`date`,"value-format":`YYYY-MM-DD`,placeholder:`开始`,style:{width:`100%`}},null,8,[`modelValue`]),u[32]||=l(`span`,{class:`range-sep`},`至`,-1),r(w,{modelValue:z.value.event_end_date,"onUpdate:modelValue":u[8]||=e=>z.value.event_end_date=e,type:`date`,"value-format":`YYYY-MM-DD`,placeholder:`结束`,style:{width:`100%`}},null,8,[`modelValue`])])]),_:1})]),_:1}),r(C,{span:8},{default:c(()=>[r(S,{label:`报名起止日期`,required:``},{default:c(()=>[l(`div`,Ee,[r(w,{modelValue:z.value.signup_start_date,"onUpdate:modelValue":u[9]||=e=>z.value.signup_start_date=e,type:`date`,"value-format":`YYYY-MM-DD`,placeholder:`开始`,style:{width:`100%`}},null,8,[`modelValue`]),u[33]||=l(`span`,{class:`range-sep`},`至`,-1),r(w,{modelValue:z.value.signup_end_date,"onUpdate:modelValue":u[10]||=e=>z.value.signup_end_date=e,type:`date`,"value-format":`YYYY-MM-DD`,placeholder:`结束`,style:{width:`100%`}},null,8,[`modelValue`])])]),_:1})]),_:1}),r(C,{span:8},{default:c(()=>[r(S,{label:`活动地点`},{default:c(()=>[r(g,{modelValue:z.value.location,"onUpdate:modelValue":u[11]||=e=>z.value.location=e,placeholder:`请输入活动地点`},null,8,[`modelValue`])]),_:1})]),_:1}),r(C,{span:24},{default:c(()=>[r(S,{class:`session-form-item`},{label:c(()=>[l(`div`,De,[u[35]||=l(`span`,null,`活动场次`,-1),r(h,{type:`primary`,size:`small`,class:`btn-create btn-label-action`,onClick:Ke},{default:c(()=>[...u[34]||=[o(` 添加场次 `,-1)]]),_:1})])]),default:c(()=>[l(`div`,Oe,[(i(!0),e(d,null,f(B.value,(t,n)=>(i(),e(`div`,{key:n,class:`session-row`},[r(g,{modelValue:t.title,"onUpdate:modelValue":e=>t.title=e,placeholder:`场次标题,如:上午场`},null,8,[`modelValue`,`onUpdate:modelValue`]),r(w,{modelValue:t.starts_at,"onUpdate:modelValue":e=>t.starts_at=e,type:`datetime`,"value-format":`YYYY-MM-DD HH:mm`,format:`YYYY-MM-DD HH:mm`,placeholder:`开始时间`,"disabled-date":$e,style:{width:`100%`}},null,8,[`modelValue`,`onUpdate:modelValue`]),r(w,{modelValue:t.ends_at,"onUpdate:modelValue":e=>t.ends_at=e,type:`datetime`,"value-format":`YYYY-MM-DD HH:mm`,format:`YYYY-MM-DD HH:mm`,placeholder:`结束时间`,"disabled-date":$e,style:{width:`100%`}},null,8,[`modelValue`,`onUpdate:modelValue`]),r(g,{modelValue:t.venue,"onUpdate:modelValue":e=>t.venue=e,placeholder:`地点(可选)`},null,8,[`modelValue`,`onUpdate:modelValue`]),r(se,{modelValue:t.capacity,"onUpdate:modelValue":e=>t.capacity=e,min:1,placeholder:`名额`,style:{width:`100%`}},null,8,[`modelValue`,`onUpdate:modelValue`]),r(h,{type:`danger`,plain:``,size:`small`,class:`session-row-delete`,onClick:e=>qe(n)},{default:c(()=>[...u[36]||=[o(` 删除 `,-1)]]),_:1},8,[`onClick`])]))),128))])]),_:1})]),_:1}),r(C,{span:24},{default:c(()=>[r(S,{label:`活动简介`,class:`intro-form-item`},{default:c(()=>[r(ie,{modelValue:z.value.intro_html,"onUpdate:modelValue":u[12]||=e=>z.value.intro_html=e,scope:`activities`,height:260},null,8,[`modelValue`])]),_:1})]),_:1})]),_:1})]),_:1})]),_:1},8,[`modelValue`,`title`]),r(ge,{modelValue:Be.value,"onUpdate:modelValue":u[17]||=e=>Be.value=e,"course-name":Ve.value?.title||``,"signin-code":He.value},null,8,[`modelValue`,`course-name`,`signin-code`]),r(T,{modelValue:Ie.value,"onUpdate:modelValue":u[21]||=e=>Ie.value=e,title:`活动报名与签到:${V.value?.title||``}`,width:`960px`,top:`5vh`,class:`signup-dialog`},{default:c(()=>[l(`div`,Ae,[l(`div`,je,[H.value.length?(i(),e(`div`,Me,[(i(!0),e(d,null,f(H.value,e=>(i(),m(h,{key:e.id,size:`small`,type:q.value===e.id?`primary`:`default`,onClick:t=>st(e.id)},{default:c(()=>[o(p(Z(e)),1)]),_:2},1032,[`type`,`onClick`]))),128))])):(i(),e(`div`,Ne,`暂无场次,请先在活动中添加场次`)),r(h,{disabled:!H.value.length,onClick:pt},{default:c(()=>[...u[40]||=[o(`导出`,-1)]]),_:1},8,[`disabled`])])]),l(`div`,Pe,[r(g,{modelValue:G.value,"onUpdate:modelValue":u[18]||=e=>G.value=e,clearable:``,placeholder:`搜索姓名、手机、公司…`,style:{width:`220px`},onKeyup:ne(ct,[`enter`])},null,8,[`modelValue`]),r(y,{modelValue:K.value,"onUpdate:modelValue":u[19]||=e=>K.value=e,clearable:``,placeholder:`签到状态`,style:{width:`120px`}},{default:c(()=>[r(v,{label:`已签到`,value:1}),r(v,{label:`未签到`,value:0})]),_:1},8,[`modelValue`]),r(h,{type:`primary`,onClick:ct},{default:c(()=>[...u[41]||=[o(`搜索`,-1)]]),_:1}),r(h,{onClick:lt},{default:c(()=>[...u[42]||=[o(`重置`,-1)]]),_:1})]),r(x,{data:Le.value,size:`small`,style:{"margin-top":`12px`}},{default:c(()=>[r(b,{prop:`name`,label:`姓名`,width:`100`}),r(b,{prop:`mobile`,label:`手机`,width:`130`}),r(b,{prop:`company`,label:`公司`,"min-width":`120`,"show-overflow-tooltip":``}),r(b,{label:`报名时间`,width:`170`},{default:c(({row:e})=>[o(p(X(e.signed_up_at)),1)]),_:1}),r(b,{label:`签到状态`,width:`100`},{default:c(({row:t})=>[Q()?(i(),e(d,{key:0},[t.session_checked_in_at?(i(),m(ue,{key:0,type:`success`,size:`small`},{default:c(()=>[...u[43]||=[o(`已签到`,-1)]]),_:1})):(i(),m(ue,{key:1,type:`info`,size:`small`},{default:c(()=>[...u[44]||=[o(`未签到`,-1)]]),_:1}))],64)):a(``,!0)]),_:1}),r(b,{label:`签到时间`,width:`170`},{default:c(({row:e})=>[o(p(Q()?X(e.session_checked_in_at):``),1)]),_:1}),r(b,{label:`操作`,width:`120`,fixed:`right`},{default:c(({row:e})=>[Q()&&!e.session_checked_in_at?(i(),m(h,{key:0,type:`primary`,link:``,onClick:t=>dt(e)},{default:c(()=>[...u[45]||=[o(` 手动补签 `,-1)]]),_:1},8,[`onClick`])):Q()&&e.session_checked_in_at?(i(),m(h,{key:1,type:`info`,link:``,disabled:``},{default:c(()=>[...u[46]||=[o(` 已完成 `,-1)]]),_:1})):a(``,!0),r(h,{type:`danger`,link:``,onClick:t=>ut(e)},{default:c(()=>[...u[47]||=[o(`删除`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`]),l(`div`,Fe,[r(ae,{"current-page":W.value,"onUpdate:currentPage":u[20]||=e=>W.value=e,layout:`total, prev, pager, next`,total:U.value.total,"page-size":U.value.per_page,onCurrentChange:$},null,8,[`current-page`,`total`,`page-size`])])]),_:1},8,[`modelValue`,`title`]),r(T,{modelValue:J.value,"onUpdate:modelValue":u[23]||=e=>J.value=e,title:`${V.value?.title||``}报名表导出`,width:`720px`,"append-to-body":``},{footer:c(()=>[r(h,{onClick:u[22]||=e=>J.value=!1},{default:c(()=>[...u[50]||=[o(`关闭`,-1)]]),_:1})]),default:c(()=>[re((i(),m(x,{data:ze.value,size:`small`},{default:c(()=>[r(b,{label:`场次`,"min-width":`140`},{default:c(({row:e})=>[o(p(Z(e.session)),1)]),_:1}),r(b,{prop:`signup_count`,label:`报名人数`,width:`100`}),r(b,{prop:`checked_in_count`,label:`已签到`,width:`90`}),r(b,{label:`报名导出`,width:`100`},{default:c(({row:e})=>[r(h,{type:`primary`,link:``,onClick:t=>mt(e)},{default:c(()=>[...u[48]||=[o(`导出报名`,-1)]]),_:1},8,[`onClick`])]),_:1}),r(b,{label:`签到导出`,width:`100`},{default:c(({row:e})=>[r(h,{type:`primary`,link:``,onClick:t=>ht(e)},{default:c(()=>[...u[49]||=[o(`导出签到`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`])),[[E,Re.value]])]),_:1},8,[`modelValue`,`title`])],64)}}}),[[`__scopeId`,`data-v-f773acf8`]]);export{k as default}; |