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.6 KiB
1 line
7.6 KiB
import{A as e,C as t,Dt as n,F as r,J as i,O as ee,S as a,T as o,X as s,_ as c,an as l,k as te,ot as ne,vt as u,w as d,x as f}from"./vue.runtime.esm-bundler-Dt_AyShc.js";import{f as re,g as p,p as ie}from"./index-D9t8QC7c.js";import{t as m}from"./_plugin-vue_export-helper-CXTkFu_Z.js";import{n as ae}from"./downloadFeedback-D30DNvds.js";import{t as h}from"./scoreFormat-By5dDjGK.js";import{r as oe,s as se,t as ce}from"./applications-Bu8boYIt.js";import{t as le}from"./PledgeViewSheet-Bb-l73jt.js";import{t as ue}from"./ApplicationSignupDetailFields-DDT4XvTq.js";import{i as de,t as g}from"./listPageState-CRQ3rD3Z.js";var _={class:`container-fluid p-3 p-md-4`},v={key:0,class:`text-secondary py-4 text-center`},y={key:1,class:`card`},b={class:`card-body`},x={class:`row g-3 mt-1`},S={class:`col-md-4`},C=[`value`],w={class:`col-md-4`},T=[`value`],E={class:`col-md-4`},D=[`value`],O={class:`col-md-4`},k=[`value`],A={class:`col-md-4`},j=[`value`],M={class:`row g-3 mt-1`},N={class:`col-12`},P={key:0,class:`form-control-plaintext border rounded px-3 py-2 mb-0 bg-light small d-flex flex-wrap align-items-center gap-2`},F={class:`text-secondary text-break`},I=[`disabled`],L=[`disabled`],R={key:1,class:`form-control-plaintext border rounded px-3 py-2 mb-0 bg-light small text-secondary`},z={key:0,class:`col-12`},B={class:`list-unstyled mb-0 border rounded px-3 py-2 bg-light small`},V={class:`text-secondary text-break`},H=[`disabled`,`onClick`],fe=[`disabled`,`onClick`],pe={class:`col-12`},me={class:`form-control-plaintext border rounded px-3 py-2 mb-0 bg-light small text-secondary`},he={class:`text-secondary ms-2`},ge={key:0,class:`mt-4`},_e={class:`table table-sm`},ve={key:1,class:`mt-3`},ye=[`value`],be={id:`managePledgeModal`,class:`modal fade`,tabindex:`-1`,"aria-label":`赛事承诺书`,"aria-hidden":`true`},xe={class:`modal-dialog modal-dialog-centered manage-detail-modal manage-detail-modal--pledge`},Se={class:`modal-content promise-sign-sheet`},U=m(e({__name:`ManageProjectDetailView`,setup(e){let m=re(),U=ie(),W=r(`manageCompetitionId`,u(null)),Ce=r(`manageCompetitionSlug`,u(``)),we=r(`manageCompetitionName`,u(``)),G=u(!1),K=u(null),q=u(null),J=f(()=>Number(m.params.id)),Y=f(()=>K.value?.files.find(e=>e.kind===`plan`)??null),X=f(()=>K.value?.files.filter(e=>e.kind===`supporting`)??[]),Te=f(()=>{let e=we.value.trim()||K.value?.competition?.name?.trim()||``;return e?`${e} 赛事承诺书`:`赛事承诺书`});function Ee(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 Z=f(()=>Ee(K.value?.promise_signed_at??void 0)),De=f(()=>{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}`});async function Q(){let e=W.value;if(!(!e||!J.value)){G.value=!0;try{K.value=await oe(e,J.value)}finally{G.value=!1}}}function Oe(){let e=Ce.value;U.push({name:`manage-projects`,params:{slug:e},query:de(g(`manage-projects`,e),m.query)})}async function $(e,t){let n=W.value,r=K.value;if(!(!n||!r)){if(ae()){p.warning(t===`preview`?`附件正在打开中,请稍候`:`附件正在下载中,请勿重复点击`);return}q.value=e.id;try{t===`preview`?await se(n,r.id,e.id,e.original_name||`附件`,{size:e.size,mime:e.mime}):await ce(n,r.id,e.id,e.original_name||`附件`,{size:e.size})}catch(e){p.error(e instanceof Error?e.message:t===`preview`?`打开附件失败`:`下载附件失败`)}finally{q.value=null}}}return ne([W,J],()=>void Q(),{immediate:!0}),(e,r)=>(i(),o(`div`,_,[a(`div`,{class:`d-flex justify-content-between align-items-center flex-wrap gap-2 mb-3`},[r[2]||=a(`h5`,{class:`mb-0 section-title`},`项目详情`,-1),a(`button`,{type:`button`,class:`btn btn-sm btn-outline-secondary`,onClick:Oe},`返回列表`)]),G.value?(i(),o(`div`,v,`加载中…`)):K.value?(i(),o(`div`,y,[a(`div`,b,[te(ue,{detail:K.value},null,8,[`detail`]),a(`div`,x,[a(`div`,S,[r[3]||=a(`label`,{class:`form-label`},`评审进程`,-1),a(`input`,{class:`form-control`,value:K.value.review_progress,disabled:``},null,8,C)]),a(`div`,w,[r[4]||=a(`label`,{class:`form-label`},`总分`,-1),a(`input`,{class:`form-control`,value:K.value.review_fully_completed?n(h)(K.value.team_sum):`待评审`,disabled:``},null,8,T)]),a(`div`,E,[r[5]||=a(`label`,{class:`form-label`},`平均分`,-1),a(`input`,{class:`form-control`,value:n(h)(K.value.team_avg),disabled:``},null,8,D)]),a(`div`,O,[r[6]||=a(`label`,{class:`form-label`},`审核状态`,-1),a(`input`,{class:`form-control`,value:K.value.review_result===`passed`?`通过`:K.value.review_result===`rejected`?`未通过`:`待评定`,disabled:``},null,8,k)]),a(`div`,A,[r[7]||=a(`label`,{class:`form-label`},`是否参与评审`,-1),a(`input`,{class:`form-control`,value:K.value.review_eligible===!1?`否`:`是`,disabled:``},null,8,j)])]),a(`div`,M,[a(`div`,N,[r[8]||=a(`label`,{class:`form-label`},`商业计划书`,-1),Y.value?(i(),o(`p`,P,[a(`span`,F,l(Y.value.original_name),1),a(`button`,{type:`button`,class:`btn btn-link btn-sm p-0`,disabled:q.value!=null,onClick:r[0]||=e=>$(Y.value,`preview`)},` 查看 `,8,I),a(`button`,{type:`button`,class:`btn btn-link btn-sm p-0`,disabled:q.value!=null,onClick:r[1]||=e=>$(Y.value,`download`)},l(q.value===Y.value.id?`处理中…`:`下载`),9,L)])):(i(),o(`p`,R,`—`))]),X.value.length?(i(),o(`div`,z,[r[9]||=a(`label`,{class:`form-label`},`其他佐证材料`,-1),a(`ul`,B,[(i(!0),o(c,null,s(X.value,e=>(i(),o(`li`,{key:e.id,class:`d-flex flex-wrap align-items-center gap-2`},[a(`span`,V,l(e.original_name),1),a(`button`,{type:`button`,class:`btn btn-link btn-sm p-0`,disabled:q.value!=null,onClick:t=>$(e,`preview`)},` 查看 `,8,H),a(`button`,{type:`button`,class:`btn btn-link btn-sm p-0`,disabled:q.value!=null,onClick:t=>$(e,`download`)},l(q.value===e.id?`处理中…`:`下载`),9,fe)]))),128))])])):d(``,!0),a(`div`,pe,[r[11]||=a(`label`,{class:`form-label`},`参赛承诺书`,-1),a(`p`,me,[K.value.promise_signed||K.value.promise_signed_at?(i(),o(c,{key:0},[r[10]||=a(`button`,{type:`button`,class:`btn btn-link btn-sm p-0 align-baseline text-danger`,"data-bs-toggle":`modal`,"data-bs-target":`#managePledgeModal`},` 已签署 · 查看承诺书与签名 `,-1),a(`span`,he,`日期:`+l(Z.value),1)],64)):(i(),o(c,{key:1},[ee(`未签署`)],64))])])]),K.value.review_scores?.length?(i(),o(`div`,ge,[r[13]||=a(`h6`,{class:`report-section-title`},`评委打分`,-1),a(`table`,_e,[r[12]||=a(`thead`,null,[a(`tr`,null,[a(`th`,null,`评委`),a(`th`,null,`项目得分`),a(`th`,null,`时间`)])],-1),a(`tbody`,null,[(i(!0),o(c,null,s(K.value.review_scores,e=>(i(),o(`tr`,{key:e.id},[a(`td`,null,l(e.reviewer_name||e.reviewer_id),1),a(`td`,null,l(n(h)(e.line_total)),1),a(`td`,null,l(e.updated_at||`—`),1)]))),128))])])])):d(``,!0),K.value.review_result_note?(i(),o(`div`,ve,[r[14]||=a(`label`,{class:`form-label`},`审核意见`,-1),a(`textarea`,{class:`form-control`,rows:`4`,value:K.value.review_result_note,disabled:``},null,8,ye)])):d(``,!0)])])):d(``,!0),a(`div`,be,[a(`div`,xe,[a(`div`,Se,[K.value?(i(),t(le,{key:0,heading:Te.value,"body-html":K.value.pledge_content_html,"signature-url":De.value,"signed-date":K.value.promise_signed||K.value.promise_signed_at?Z.value:``},null,8,[`heading`,`body-html`,`signature-url`,`signed-date`])):d(``,!0),r[15]||=a(`div`,{class:`promise-sign-actions pledge-view-actions`},[a(`button`,{type:`button`,class:`btn btn-light notice-cancel-btn`,"data-bs-dismiss":`modal`},`关闭`)],-1)])])])]))}}),[[`__scopeId`,`data-v-dcc03238`]]);export{U as default}; |