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
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-CpTiFmNV.js";import{t as h}from"./_plugin-vue_export-helper-CXTkFu_Z.js";import{n as ie}from"./downloadFeedback-CjBZS_vk.js";import{r as ae,t as oe}from"./applications-B-dRsuX5.js";import{t as se}from"./ApplicationSignupDetailFields-CkGBLRcw.js";import{i as ce,t as le}from"./listPageState-y2a2WJrd.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=i(`manageCompetitionId`,o(null)),Oe=i(`manageCompetitionSlug`,o(``)),ke=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`)??[]),Ae=s(()=>{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=s(()=>je(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 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}),(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-title`},`项目详情`,-1),p(`button`,{type:`button`,class:`btn btn-sm btn-outline-secondary`,onClick:Ne},`返回列表`)]),W.value?(d(),f(`div`,de,`加载中…`)):G.value?(d(),f(`div`,fe,[p(`div`,pe,[r(se,{detail:G.value},null,8,[`detail`]),p(`div`,g,[p(`div`,_,[o[2]||=p(`label`,{class:`form-label`},`评审进程`,-1),p(`input`,{class:`form-control`,value:G.value.review_progress,disabled:``},null,8,v)]),p(`div`,y,[o[3]||=p(`label`,{class:`form-label`},`总分`,-1),p(`input`,{class:`form-control`,value:G.value.review_fully_completed?Q(G.value.team_sum):`待评审`,disabled:``},null,8,b)]),p(`div`,x,[o[4]||=p(`label`,{class:`form-label`},`平均分`,-1),p(`input`,{class:`form-control`,value:Q(G.value.team_avg),disabled:``},null,8,S)]),p(`div`,C,[o[5]||=p(`label`,{class:`form-label`},`审核状态`,-1),p(`input`,{class:`form-control`,value:G.value.review_result===`passed`?`通过`:G.value.review_result===`rejected`?`未通过`:`待评定`,disabled:``},null,8,w)]),p(`div`,T,[o[6]||=p(`label`,{class:`form-label`},`是否参与评审`,-1),p(`input`,{class:`form-control`,value:G.value.review_eligible===!1?`否`:`是`,disabled:``},null,8,E)])]),p(`div`,D,[p(`div`,O,[o[7]||=p(`label`,{class:`form-label`},`商业计划书`,-1),J.value?(d(),f(`p`,k,[p(`a`,{role:`button`,href:`#`,class:e([`text-danger text-decoration-none`,{"pe-none opacity-75":K.value!=null}]),onClick:o[0]||=u(e=>$(J.value),[`prevent`])},l(K.value===J.value.id?`下载中… ${J.value.original_name}`:J.value.original_name),3)])):(d(),f(`p`,A,`—`))]),Y.value.length?(d(),f(`div`,j,[o[8]||=p(`label`,{class:`form-label`},`其他佐证材料`,-1),p(`ul`,M,[(d(!0),f(c,null,a(Y.value,t=>(d(),f(`li`,{key:t.id},[p(`a`,{role:`button`,href:`#`,class:e([`text-danger text-decoration-none`,{"pe-none opacity-75":K.value!=null}]),onClick:u(e=>$(t),[`prevent`])},l(K.value===t.id?`下载中… ${t.original_name}`:t.original_name),11,N)]))),128))])])):t(``,!0),p(`div`,P,[o[10]||=p(`label`,{class:`form-label`},`参赛承诺书`,-1),p(`p`,F,[G.value.promise_signed||G.value.promise_signed_at?(d(),f(c,{key:0},[o[9]||=p(`button`,{type:`button`,class:`btn btn-link btn-sm p-0 align-baseline text-danger`,"data-bs-toggle":`modal`,"data-bs-target":`#managePledgeModal`},` 已签署 · 查看承诺书与签名 `,-1),p(`span`,I,`日期:`+l(X.value),1)],64)):(d(),f(c,{key:1},[n(`未签署`)],64))])])]),G.value.review_scores?.length?(d(),f(`div`,L,[o[12]||=p(`h6`,{class:`report-section-title`},`评委打分`,-1),p(`table`,R,[o[11]||=p(`thead`,null,[p(`tr`,null,[p(`th`,null,`评委`),p(`th`,null,`项目得分`),p(`th`,null,`时间`)])],-1),p(`tbody`,null,[(d(!0),f(c,null,a(G.value.review_scores,e=>(d(),f(`tr`,{key:e.id},[p(`td`,null,l(e.reviewer_name||e.reviewer_id),1),p(`td`,null,l(e.line_total??`—`),1),p(`td`,null,l(e.updated_at||`—`),1)]))),128))])])])):t(``,!0),G.value.review_result_note?(d(),f(`div`,z,[o[13]||=p(`label`,{class:`form-label`},`审核意见`,-1),p(`textarea`,{class:`form-control`,rows:`4`,value:G.value.review_result_note,disabled:``},null,8,B)])):t(``,!0)])])):t(``,!0),p(`div`,me,[p(`div`,V,[p(`div`,he,[p(`div`,ge,[G.value?(d(),f(`div`,_e,[p(`h1`,ve,l(Ae.value),1),p(`div`,ye,[G.value.pledge_content_html?.trim()?(d(),f(`div`,{key:0,class:`promise-doc-body promise-doc-body--rich`,innerHTML:G.value.pledge_content_html},null,8,be)):(d(),f(`div`,xe,[...o[14]||=[p(`p`,{class:`text-secondary mb-0`},`本场赛事未配置承诺书正文。`,-1)]]))]),G.value.promise_signed||G.value.promise_signed_at?(d(),f(`div`,Se,[p(`div`,Ce,[o[15]||=p(`span`,{class:`promise-doc-signlabel`},`参赛人签名:`,-1),Z.value?(d(),f(`img`,{key:0,src:Z.value,alt:``,class:`manage-promise-sig-img`,loading:`lazy`},null,8,we)):(d(),f(`span`,Te,`暂无`))]),p(`div`,Ee,[p(`span`,De,[o[16]||=n(`日期:`,-1),p(`strong`,null,l(X.value),1)])])])):t(``,!0)])):t(``,!0),o[17]||=p(`div`,{class:`promise-sign-actions`},[p(`button`,{type:`button`,class:`btn btn-light notice-cancel-btn`,"data-bs-dismiss":`modal`},`关闭`)],-1)])])])])]))}}),[[`__scopeId`,`data-v-8fadd682`]]);export{H as default}; |