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
7.9 KiB
1 line
7.9 KiB
|
4 weeks ago
|
import{$t as e,D as t,O as n,P as r,S as i,T as a,Y as o,_ as s,_t as c,at as ee,h as l,in as u,k as te,q as d,w as f,x as p}from"./vue.runtime.esm-bundler-CACvpnko.js";import{f as ne,h as m,p as re}from"./index-D5exsJys.js";import{t as h}from"./_plugin-vue_export-helper-CXTkFu_Z.js";import{n as ie}from"./downloadFeedback-HV11t-9m.js";import{r as ae,t as oe}from"./applications-AYtK0hKj.js";import{t as se}from"./ApplicationSignupDetailFields-B8RH3hVY.js";import{i as ce,t as le}from"./listPageState-BzwZpEQc.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`},g={class:`row g-3 mt-1`},_={class:`col-md-4`},v=[`value`],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:`row g-3 mt-1`},O={class:`col-12`},k={key:0,class:`form-control-plaintext border rounded px-3 py-2 mb-0 bg-light small text-secondary`},A={key:1,class:`form-control-plaintext border rounded px-3 py-2 mb-0 bg-light small text-secondary`},j={key:0,class:`col-12`},M={class:`list-unstyled mb-0 border rounded px-3 py-2 bg-light small`},N=[`onClick`],P={class:`col-12`},F={class:`form-control-plaintext border rounded px-3 py-2 mb-0 bg-light small text-secondary`},I={class:`text-secondary ms-2`},L={key:0,class:`mt-4`},R={class:`table table-sm`},z={key:1,class:`mt-3`},B=[`value`],me={id:`managePledgeModal`,class:`modal fade`,tabindex:`-1`,"aria-labelledby":`managePledgeDocHeading`,"aria-hidden":`true`},V={class:`modal-dialog modal-dialog-centered modal-dialog-scrollable manage-detail-modal manage-detail-modal--pledge`},he={class:`modal-content promise-sign-sheet`},ge={class:`modal-body pt-2`},_e={key:0,class:`promise-doc-paper`},ve={id:`managePledgeDocHeading`,class:`promise-doc-heading text-center`},ye={class:`promise-doc-scroll`},be=[`innerHTML`],xe={key:1,class:`promise-doc-body promise-doc-body--rich`},Se={key:0,class:`promise-doc-signblock`},Ce={class:`manage-pledge-sig-row`},we=[`src`],Te={key:1,class:`small text-secondary`},Ee={class:`promise-doc-daterow`},De={class:`promise-doc-dateline`},H=h(te({__name:`ManageProjectDetailView`,setup(te){let h=ne(),H=re(),U=r(`manageCompetitionId`,c(null)),Oe=r(`manageCompetitionSlug`,c(``)),ke=r(`manageCompetitionName`,c(``)),W=c(!1),G=c(null),K=c(null),q=p(()=>Number(h.params.id)),J=p(()=>G.value?.files.find(e=>e.kind===`plan`)??null),Y=p(()=>G.value?.files.filter(e=>e.kind===`supporting`)??[]),Ae=p(()=>{let e=ke.value.trim()||G.value?.competition?.name?.trim()||``;return e?`${e} 赛事承诺书`:`赛事承诺书`});function je(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=p(()=>je(G.value?.promise_signed_at??void 0)),Z=p(()=>{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 Me(){let e=U.value;if(!(!e||!q.value)){W.value=!0;try{G.value=await ae(e,q.value)}finally{W.value=!1}}}function Ne(){let e=Oe.value;H.push({name:`manage-projects`,params:{slug:e},query:ce(le(`manage-projects`,e),h.query)})}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 Me(),{immediate:!0}),(r,c)=>(d(),a(`div`,ue,[i(`div`,{class:`d-flex justify-content-between align-items-center flex-wrap gap-2 mb-3`},[c[1]||=i(`h5`,{class:`mb-0 section-title`},`项目详情`,-1),i(`button`,{type:`button`,class:`btn btn-sm btn-outline-secondary`,onClick:Ne},`返回列表`)]),
|