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

import{C as e,D as t,O as n,P as r,Y as i,_t as a,at as ee,b as o,g as s,in as c,k as te,m as l,q as u,w as d,x as f}from"./vue.runtime.esm-bundler-OsdSFvn7.js";import{f as ne,l as re,u as ie}from"./index-BXj425qm.js";import{t as p}from"./_plugin-vue_export-helper-CXTkFu_Z.js";import{r as ae,t as oe}from"./applications-DRvHAga8.js";import{t as se}from"./ApplicationSignupDetailFields-Dq5yaMO1.js";import{i as m,n as h,r as ce,t as le}from"./listPageState-CfnKcxSl.js";var ue={class:`container-fluid p-3 p-md-4`},de={key:0,class:`text-secondary py-4 text-center`},fe={key:1,class:`card`},g={class:`card-body`},_={class:`row g-3 mt-1`},v={class:`col-md-4`},y=[`value`],b={class:`col-md-4`},x=[`value`],S={class:`col-md-4`},C=[`value`],w={class:`col-md-4`},T=[`value`],E={class:`row g-3 mt-1`},D={class:`col-12`},O={key:0,class:`form-control-plaintext border rounded px-3 py-2 mb-0 bg-light small text-secondary`},k={key:1,class:`form-control-plaintext border rounded px-3 py-2 mb-0 bg-light small text-secondary`},A={key:0,class:`col-12`},j={class:`list-unstyled mb-0 border rounded px-3 py-2 bg-light small`},M=[`onClick`],N={class:`col-12`},P={class:`form-control-plaintext border rounded px-3 py-2 mb-0 bg-light small text-secondary`},F={class:`text-secondary ms-2`},I={key:0,class:`mt-4`},L={class:`table table-sm`},R={class:`cell-wrap small text-secondary`},z={key:1,class:`mt-3`},B=[`value`],V={id:`managePledgeModal`,class:`modal fade`,tabindex:`-1`,"aria-labelledby":`managePledgeDocHeading`,"aria-hidden":`true`},H={class:`modal-dialog modal-dialog-centered modal-dialog-scrollable manage-detail-modal manage-detail-modal--pledge`},pe={class:`modal-content promise-sign-sheet`},me={class:`modal-body pt-2`},he={key:0,class:`promise-doc-paper`},ge={id:`managePledgeDocHeading`,class:`promise-doc-heading text-center`},_e={class:`promise-doc-scroll`},ve=[`innerHTML`],ye={key:1,class:`promise-doc-body promise-doc-body--rich`},be={key:0,class:`promise-doc-signblock`},xe={class:`manage-pledge-sig-row`},Se=[`src`],Ce={key:1,class:`small text-secondary`},we={class:`promise-doc-daterow`},Te={class:`promise-doc-dateline`},U=p(te({__name:`ManageProjectDetailView`,setup(te){let p=re(),U=ie(),W=r(`manageCompetitionId`,a(null)),Ee=r(`manageCompetitionSlug`,a(``)),De=r(`manageCompetitionName`,a(``)),G=a(!1),K=a(null),q=o(()=>Number(p.params.id)),J=o(()=>K.value?.files.find(e=>e.kind===`plan`)??null),Y=o(()=>K.value?.files.filter(e=>e.kind===`supporting`)??[]),Oe=o(()=>{let e=De.value.trim()||K.value?.competition?.name?.trim()||``;return e?`${e} 赛事承诺书`:`赛事承诺书`});function ke(e){let t=(e??``).trim();if(!t)return`—`;let n=t.match(/^(\d{4})-(\d{1,2})-(\d{1,2})/);if(n)return`${parseInt(n[1],10)}年${parseInt(n[2],10)}月${parseInt(n[3],10)}日`;let r=new Date(t.includes(` `)?t.replace(/-/g,`/`):t);return Number.isNaN(r.getTime())?t:`${r.getFullYear()}年${r.getMonth()+1}月${r.getDate()}日`}let X=o(()=>ke(K.value?.promise_signed_at??void 0)),Z=o(()=>{let e=K.value?.promise_signature;if(e==null||typeof e!=`string`)return``;let t=e.trim();return t===``?``:t.startsWith(`data:`)?t:`data:image/png;base64,${t}`});function Q(e){return e==null?`-`:e.toFixed(2)}function Ae(e){if(!e)return``;let t=e.scores&&typeof e.scores==`object`&&!Array.isArray(e.scores)?e.scores:null,n=e.sheet_snapshot,r=n&&typeof n==`object`&&!Array.isArray(n)&&Array.isArray(n.items)?n.items:[];return t&&r.length?r.map(e=>{let n=String(e.key??``),r=String(e.title??n),i=t[n],a=typeof i==`number`?i:Number(i);return`${r} ${Number.isFinite(a)?a:`—`}`}).join(`;`):t?Object.entries(t).map(([e,t])=>`${e} ${typeof t==`number`?t:Number(t)}`).join(`;`):``}async function je(){let e=W.value;if(!(!e||!q.value)){G.value=!0;try{K.value=await ae(e,q.value)}finally{G.value=!1}}}function Me(){let e=Ee.value,t=m(p.query.page,0),n=m(p.query.per_page,0),r={};if(t>0)r=h({page:t,perPage:n>0?n:15});else{let t=ce(le(`manage-projects`,e));t&&(r=h(t))}U.push({name:`manage-projects`,params:{slug:e},query:r})}async function $(e){let t=W.value,n=K.value;if(!(!t||!n))try{await oe(t,n.id,e.id,e.original