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
1 line
8.0 KiB
|
2 months ago
|
import{$t as e,C as t,D as n,O as r,P as i,Y as a,_t as o,at as ee,b as s,g as c,in as l,k as te,m as u,q as d,w as f,x as p}from"./vue.runtime.esm-bundler-OsdSFvn7.js";import{f as m,l as ne,u as re}from"./index-DFPdDGyr.js";import{t as h}from"./_plugin-vue_export-helper-CXTkFu_Z.js";import{n as ie}from"./downloadFeedback-CobRT4xV.js";import{r as ae,t as oe}from"./applications-DGPoOeR-.js";import{t as se}from"./ApplicationSignupDetailFields-DzsXhk8j.js";import{i as g,n as _,r as ce,t as le}from"./listPageState-BSDA5803.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`},pe={class:`card-body`},v={class:`row g-3 mt-1`},y={class:`col-md-4`},b=[`value`],x={class:`col-md-4`},S=[`value`],C={class:`col-md-4`},w=[`value`],T={class:`col-md-4`},E=[`value`],D={class:`col-md-4`},O=[`value`],k={class:`row g-3 mt-1`},A={class:`col-12`},j={key:0,class:`form-control-plaintext border rounded px-3 py-2 mb-0 bg-light small text-secondary`},M={key:1,class:`form-control-plaintext border rounded px-3 py-2 mb-0 bg-light small text-secondary`},N={key:0,class:`col-12`},P={class:`list-unstyled mb-0 border rounded px-3 py-2 bg-light small`},F=[`onClick`],I={class:`col-12`},L={class:`form-control-plaintext border rounded px-3 py-2 mb-0 bg-light small text-secondary`},R={class:`text-secondary ms-2`},z={key:0,class:`mt-4`},B={class:`table table-sm`},me={key:1,class:`mt-3`},V=[`value`],he={id:`managePledgeModal`,class:`modal fade`,tabindex:`-1`,"aria-labelledby":`managePledgeDocHeading`,"aria-hidden":`true`},ge={class:`modal-dialog modal-dialog-centered modal-dialog-scrollable manage-detail-modal manage-detail-modal--pledge`},_e={class:`modal-content promise-sign-sheet`},ve={class:`modal-body pt-2`},ye={key:0,class:`promise-doc-paper`},be={id:`managePledgeDocHeading`,class:`promise-doc-heading text-center`},xe={class:`promise-doc-scroll`},Se=[`innerHTML`],Ce={key:1,class:`promise-doc-body promise-doc-body--rich`},we={key:0,class:`promise-doc-signblock`},Te={class:`manage-pledge-sig-row`},Ee=[`src`],De={key:1,class:`small text-secondary`},Oe={class:`promise-doc-daterow`},ke={class:`promise-doc-dateline`},H=h(te({__name:`ManageProjectDetailView`,setup(te){let h=ne(),H=re(),U=i(`manageCompetitionId`,o(null)),Ae=i(`manageCompetitionSlug`,o(``)),je=i(`manageCompetitionName`,o(``)),W=o(!1),G=o(null),K=o(null),q=s(()=>Number(h.params.id)),J=s(()=>G.value?.files.find(e=>e.kind===`plan`)??null),Y=s(()=>G.value?.files.filter(e=>e.kind===`supporting`)??[]),Me=s(()=>{let e=je.value.trim()||G.value?.competition?.name?.trim()||``;return e?`${e} 赛事承诺书`:`赛事承诺书`});function Ne(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=s(()=>Ne(G.value?.promise_signed_at??void 0)),Z=s(()=>{let e=G.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)}async function Pe(){let e=U.value;if(!(!e||!q.value)){W.value=!0;try{G.value=await ae(e,q.value)}finally{W.value=!1}}}function Fe(){let e=Ae.value,t=g(h.query.page,0),n=g(h.query.per_page,0),r={};if(t>0)r=_({page:t,perPage:n>0?n:15});else{let t=ce(le(`manage-projects`,e));t&&(r=_(t))}H.push({name:`manage-projects`,params:{slug:e},query:r})}async function $(e){let t=U.value,n=G.value;if(!(!t||!n)){if(ie()){m.warning(`附件正在下载中,请勿重复点击`);return}K.value=e.id;try{await oe(t,n.id,e.id,e.original_name||`附件`,{size:e.size})}catch(e){m.error(e instanceof Error?e.message:`下载附件失败`)}finally{K.value=null}}}return ee([U,q],()=>void Pe(),{immediate:!0}),(i,o)=>(d(),f(`div`,ue,[p(`div`,{class:`d-flex justify-content-between align-items-center flex-wrap gap-2 mb-3`},[o[1]||=p(`h5`,{class:`mb-0 section-titl
|