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

import{C as e,D as t,Et as n,O as r,Q as i,S as a,W as o,Z as s,_t as c,ct as l,in as u,k as d,q as f,st as p,w as m,x as h}from"./vue.runtime.esm-bundler-6_koQ1g6.js";import{E as g}from"./index-D8PaKRyd.js";import{t as _}from"./_plugin-vue_export-helper-S3RvzygF.js";import{a as v}from"./competitions-B5KfFF-U.js";import{t as y}from"./adminCompetition-Cg47YVEK.js";var b={draft:`草稿`,published:`已发布`,signup_open:`报名进行中`,signup_closed:`报名已截止`,reviewing:`评审中`,ended:`已结束`};function x(e){return b[e]??e}var S={class:`page-header`},C={key:0,class:`pager`},w={class:`total`},T=_(d({__name:`CompetitionListView`,setup(d){let _=c([]),b=y(),T=c(!1),E=c(1),D=c(1),O=c(0),k=c(15);async function A(){T.value=!0;try{let e=await v({page:E.value,per_page:k.value});_.value=e.data,D.value=e.meta.last_page,O.value=e.meta.total,k.value=e.meta.per_page}catch(e){_.value=[],g.error(e instanceof Error?e.message:`加载失败`)}finally{T.value=!1}}function j(e){e<1||e>D.value||(E.value=e,A())}function M(e){if(!e)return``;let t=new Date(e);return Number.isNaN(t.getTime())?e:t.toLocaleString()}return o(()=>{A()}),(o,c)=>{let d=s(`el-button`),g=s(`RouterLink`),v=s(`el-table-column`),y=s(`el-tag`),A=s(`el-table`),N=s(`el-pagination`),P=s(`el-card`),F=i(`loading`);return f(),m(`div`,null,[h(`div`,S,[c[1]||=h(`h2`,{class:`page-title`},`赛事列表`,-1),r(g,{to:{name:`admin-competition-new`}},{default:p(()=>[r(d,{type:`danger`},{default:p(()=>[...c[0]||=[t(`新建赛事`,-1)]]),_:1})]),_:1})]),r(P,{shadow:`never`},{default:p(()=>[l((f(),a(A,{data:_.value,stripe:``,style:{width:`100%`}},{empty:p(()=>[...c[3]||=[h(`span`,{class:`text-muted`},`暂无数据`,-1)]]),default:p(()=>[r(v,{prop:`name`,label:`名称`,"min-width":`140`,"show-overflow-tooltip":``}),r(v,{prop:`slug`,label:`访问地址`,"min-width":`120`,"show-overflow-tooltip":``}),r(v,{label:`状态`,width:`120`},{default:p(({row:e})=>[t(u(n(x)(e.status)),1)]),_:1}),r(v,{label:`对外可见`,width:`100`},{default:p(({row:e})=>[r(y,{type:e.published?`success`:`info`,size:`small`},{default:p(()=>[t(u(e.published?``:``),1)]),_:2},1032,[`type`])]),_:1}),r(v,{label:`报名开始`,"min-width":`160`},{default:p(({row:e})=>[t(u(M(e.signup_open_at??null)),1)]),_:1}),r(v,{label:`报名截止`,"min-width":`160`},{default:p(({row:e})=>[t(u(M(e.signup_close_at??null)),1)]),_:1}),r(v,{label:`操作`,width:`140`,fixed:`right`},{default:p(({row:e})=>[r(g,{to:{name:`admin-competition-workspace`},onClick:t=>n(b).selectCompetition(e.id)},{default:p(()=>[r(d,{type:`danger`,link:``},{default:p(()=>[...c[2]||=[t(`进入赛事中心`,-1)]]),_:1})]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`])),[[F,T.value]]),D.value>1?(f(),m(`div`,C,[h(`span`,w,``+u(O.value)+``,1),r(N,{background:``,layout:`prev, pager, next`,"current-page":E.value,"page-size":k.value,total:O.value,onCurrentChange:j},null,8,[`current-page`,`page-size`,`total`])])):e(``,!0)]),_:1})])}}}),[[`__scopeId`,`data-v-bee3a1d5`]]);export{T as default};