|
|
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{l as ne,o as re,s as ie}from"./index-BtGUeLzV.js";import{t as p}from"./_plugin-vue_export-helper-CXTkFu_Z.js";import{r as m,t as ae}from"./applications-CUmeHjDN.js";import{t as oe}from"./ApplicationSignupDetailFields-Dq5yaMO1.js";var se={class:`container-fluid p-3 p-md-4`},ce={key:0,class:`text-secondary py-4 text-center`},le={key:1,class:`card`},ue={class:`card-body`},de={class:`row g-3 mt-1`},h={class:`col-md-4`},g=[`value`],_={class:`col-md-4`},v=[`value`],y={class:`col-md-4`},b=[`value`],x={class:`col-md-4`},S=[`value`],C={class:`row g-3 mt-1`},w={class:`col-12`},T={key:0,class:`form-control-plaintext border rounded px-3 py-2 mb-0 bg-light small text-secondary`},E={key:1,class:`form-control-plaintext border rounded px-3 py-2 mb-0 bg-light small text-secondary`},D={key:0,class:`col-12`},O={class:`list-unstyled mb-0 border rounded px-3 py-2 bg-light small`},k=[`onClick`],A={class:`col-12`},j={class:`form-control-plaintext border rounded px-3 py-2 mb-0 bg-light small text-secondary`},M={class:`text-secondary ms-2`},N={key:0,class:`mt-4`},P={class:`table table-sm`},F={class:`cell-wrap small text-secondary`},I={key:1,class:`mt-3`},L=[`value`],R={id:`managePledgeModal`,class:`modal fade`,tabindex:`-1`,"aria-labelledby":`managePledgeDocHeading`,"aria-hidden":`true`},z={class:`modal-dialog modal-dialog-centered modal-dialog-scrollable manage-detail-modal manage-detail-modal--pledge`},B={class:`modal-content promise-sign-sheet`},V={class:`modal-body pt-2`},H={key:0,class:`promise-doc-paper`},fe={id:`managePledgeDocHeading`,class:`promise-doc-heading text-center`},pe={class:`promise-doc-scroll`},me=[`innerHTML`],he={key:1,class:`promise-doc-body promise-doc-body--rich`},ge={key:0,class:`promise-doc-signblock`},_e={class:`manage-pledge-sig-row`},ve=[`src`],ye={key:1,class:`small text-secondary`},be={class:`promise-doc-daterow`},xe={class:`promise-doc-dateline`},U=p(te({__name:`ManageProjectDetailView`,setup(te){let p=re(),U=ie(),W=r(`manageCompetitionId`,a(null)),Se=r(`manageCompetitionSlug`,a(``)),Ce=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`)??[]),we=o(()=>{let e=Ce.value.trim()||K.value?.competition?.name?.trim()||``;return e?`${e} 赛事承诺书`:`赛事承诺书`});function Te(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(()=>Te(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 Ee(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 De(){let e=W.value;if(!(!e||!q.value)){G.value=!0;try{K.value=await m(e,q.value)}finally{G.value=!1}}}function Oe(){U.push({name:`manage-projects`,params:{slug:Se.value}})}async function $(e){let t=W.value,n=K.value;if(!(!t||!n))try{await ae(t,n.id,e.id,e.original_name||`附件`)}catch{ne.error(`下载失败`)}}return ee([W,q],()=>void De(),{immediate:!0}),(r,a)=>(u(),d(`div`,se,[f(`div`,{class:`d-flex justify-content-between align-items-center flex-wrap gap-2 mb-3`},[a[1]||=f(`h5`,{class:`mb-0 section-title`},`项目详情`,-1),f(`button`,{type:`button`,class:`btn btn-sm btn-outline-secondary`,onClick:Oe},`返回列表`)]),G.value?(u(),d(`div`,ce,`加载中…`)):K.value?(u(),d(`div`,le,[f(`div`,ue,[n(oe,{detail:K.value},null,8,[`detail`]),f(`div`,de,[f(`div`,h,[a[2]||=f(`label`,{class:`form-label`},`评审进程`,-1),f(`input`,{class:`form-control`,value:K.value.review_progress,disabled:``},null,8,g)]),f(`div`,_,[a[3]||=f(`label`,{class:`form-label`},`总分`,-1),f(`input`,{class:`form-control`,value:K.value.review_fully_completed?Q(K.value.team_sum):`待评审`,disabled:``},null,8,v)]),f(`div`,y,[a[4]||=f(`label`,{class:`form-label`},`平均分`,-1),f(`input`,{class:`form-control`,value:K.value.review_fully_completed?Q(K.value.team_avg):`-`,disabled:``},null,8,b)]),f(`div`,x,[a[5]||=f(`label`,{class:`form-label`},`审核状态`,-1),f(`input`,{class:`form-control`,value:K.value.review_result===`passed`?`通过`:K.value.review_result===`rejected`?`未通过`:`待评定`,disabled:``},null,8,S)])]),f(`div`,C,[f(`div`,w,[a[6]||=f(`label`,{class:`form-label`},`商业计划书`,-1),J.value?(u(),d(`p`,T,[f(`a`,{role:`button`,href:`#`,class:`text-danger text-decoration-none`,onClick:a[0]||=l(e=>$(J.value),[`prevent`])},c(J.value.original_name),1)])):(u(),d(`p`,E,`—`))]),Y.value.length?(u(),d(`div`,D,[a[7]||=f(`label`,{class:`form-label`},`其他佐证材料`,-1),f(`ul`,O,[(u(!0),d(s,null,i(Y.value,e=>(u(),d(`li`,{key:e.id},[f(`a`,{role:`button`,href:`#`,class:`text-danger text-decoration-none`,onClick:l(t=>$(e),[`prevent`])},c(e.original_name),9,k)]))),128))])])):e(``,!0),f(`div`,A,[a[9]||=f(`label`,{class:`form-label`},`参赛承诺书`,-1),f(`p`,j,[K.value.promise_signed||K.value.promise_signed_at?(u(),d(s,{key:0},[a[8]||=f(`button`,{type:`button`,class:`btn btn-link btn-sm p-0 align-baseline text-danger`,"data-bs-toggle":`modal`,"data-bs-target":`#managePledgeModal`},` 已签署 · 查看承诺书与签名 `,-1),f(`span`,M,`日期:`+c(X.value),1)],64)):(u(),d(s,{key:1},[t(`未签署`)],64))])])]),K.value.review_scores?.length?(u(),d(`div`,N,[a[11]||=f(`h6`,{class:`report-section-title`},`评委打分`,-1),f(`table`,P,[a[10]||=f(`thead`,null,[f(`tr`,null,[f(`th`,null,`评委`),f(`th`,null,`项目得分`),f(`th`,null,`分项明细`),f(`th`,null,`时间`)])],-1),f(`tbody`,null,[(u(!0),d(s,null,i(K.value.review_scores,e=>(u(),d(`tr`,{key:e.id},[f(`td`,null,c(e.reviewer_name||e.reviewer_id),1),f(`td`,null,c(e.line_total??`—`),1),f(`td`,F,c(Ee(e.payload_json)||e.comment||`—`),1),f(`td`,null,c(e.updated_at||`—`),1)]))),128))])])])):e(``,!0),K.value.review_result_note?(u(),d(`div`,I,[a[12]||=f(`label`,{class:`form-label`},`审核意见`,-1),f(`textarea`,{class:`form-control`,rows:`4`,value:K.value.review_result_note,disabled:``},null,8,L)])):e(``,!0)])])):e(``,!0),f(`div`,R,[f(`div`,z,[f(`div`,B,[f(`div`,V,[K.value?(u(),d(`div`,H,[f(`h1`,fe,c(we.value),1),f(`div`,pe,[K.value.pledge_content_html?.trim()?(u(),d(`div`,{key:0,class:`promise-doc-body promise-doc-body--rich`,innerHTML:K.value.pledge_content_html},null,8,me)):(u(),d(`div`,he,[...a[13]||=[f(`p`,{class:`text-secondary mb-0`},`本场赛事未配置承诺书正文。`,-1)]]))]),K.value.promise_signed||K.value.promise_signed_at?(u(),d(`div`,ge,[f(`div`,_e,[a[14]||=f(`span`,{class:`promise-doc-signlabel`},`参赛人签名:`,-1),Z.value?(u(),d(`img`,{key:0,src:Z.value,alt:``,class:`manage-promise-sig-img`,loading:`lazy`},null,8,ve)):(u(),d(`span`,ye,`暂无`))]),f(`div`,be,[f(`span`,xe,[a[15]||=t(`日期:`,-1),f(`strong`,null,c(X.value),1)])])])):e(``,!0)])):e(``,!0),a[16]||=f(`div`,{class:`promise-sign-actions`},[f(`button`,{type:`button`,class:`btn btn-light notice-cancel-btn`,"data-bs-dismiss":`modal`},`关闭`)],-1)])])])])]))}}),[[`__scopeId`,`data-v-a7933bb5`]]);export{U as default}; |