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
5.7 KiB
1 line
5.7 KiB
import{$t as e,D as t,G as n,J as r,O as i,W as a,Z as o,_t as s,at as ee,b as c,in as l,k as u,m as te,q as ne,st as d,w as re,x as f}from"./vue.runtime.esm-bundler-6_koQ1g6.js";import{_ as ie,c as p,d as m,p as h}from"./api-CH6mod_b.js";import{C as ae,w as oe}from"./index-D8PaKRyd.js";import{t as g}from"./_plugin-vue_export-helper-S3RvzygF.js";/* empty css *//* empty css */import{i as _,o as v,r as y,t as b}from"./competitionBranding-BQASm1w0.js";var x={class:`reviewer-layout-root`},S={class:`navbar navbar-expand-lg layout-header`},C={class:`container-fluid px-4`},w={class:`navbar-brand mb-0 prototype-title`},T={class:`dropdown`},E={class:`header-user dropdown-toggle`,type:`button`,"data-bs-toggle":`dropdown`,"aria-expanded":`false`},D={class:`header-user-name`},O={class:`dropdown-menu dropdown-menu-end header-user-menu`},k={id:`mobileNavSection`,class:`container-fluid px-4 pt-2 pb-1 d-lg-none`},A={class:`mobile-nav-wrap`},j={class:`container-fluid px-4 py-3 layout-main`},M={class:`row h-100 g-3`},N={class:`col-12 col-md-3 col-lg-2 layout-sider`},P={class:`card h-100`},F={class:`card-body`},I={class:`nav flex-column gap-2`},L={class:`col-12 col-md-9 col-lg-10 reviewer-main-column`},R={class:`reviewer-main-surface border rounded-3 bg-white`},z={class:`border-top bg-white text-center py-2 small text-secondary prototype-subtitle`},B={id:`reviewerProfileModal`,class:`modal fade`,tabindex:`-1`,"aria-hidden":`true`},se={class:`modal-dialog modal-dialog-centered profile-modal-dialog`},V={class:`modal-content profile-modal-content`},H={class:`modal-body profile-modal-body`},U={class:`row g-3`},W={class:`col-md-6`},G={class:`profile-field`},K={class:`profile-field-value`},ce={class:`col-md-6`},le={class:`profile-field`},ue={class:`profile-field-value`},de={class:`col-12`},fe={class:`profile-field`},pe={class:`profile-field-value`},q=g(u({__name:`ReviewerLayout`,setup(u){let g=oe(),q=ae(),J=c(()=>String(q.params.slug??``).trim()),Y=c(()=>[`reviewer-projects`,`reviewer-application-detail`].includes(String(q.name??``))),X=s(y()),Z=s(``),Q=s(`评审员`),me=c(()=>v(X.value,Z.value)),he=c(()=>{if(_(X.value.review.footerCopyright))return X.value.review.footerCopyright;if(_(X.value.login.footerCopyright))return X.value.login.footerCopyright;let e=Z.value.trim();return e?`版权所有:${e}`:`版权所有`});async function ge(){let e=J.value;if(!e){X.value=y(),Z.value=``;return}try{let t=await fetch(`${h()}/api/v1/public/competitions/by-slug/${encodeURIComponent(e)}`,{headers:{Accept:`application/json`}});if(!t.ok){X.value=y(),Z.value=``;return}let n=await t.json(),r=n.data!=null&&typeof n.data==`object`&&!Array.isArray(n.data)?n.data:n;Z.value=String(r.name??``),X.value=b(r.branding_json??null)}catch{X.value=y(),Z.value=``}}ee(J,()=>void ge(),{immediate:!0}),r(`reviewerCompetitionName`,Z);let $=s({name:`—`,mobile:`—`,username:`—`});async function _e(){let{token:e}=ie();if(e)try{let t=await fetch(`${h()}${p}`,{headers:{Authorization:`Bearer ${e}`,Accept:`application/json`}});if(!t.ok)return;let n=(await t.json()).reviewer;Q.value=n?.name?.trim()||n?.username?.trim()||`评审员`,$.value={name:n?.name??`—`,mobile:n?.mobile??`—`,username:n?.username??`—`}}catch{}}function ve(){m();let e=J.value;e?g.replace({name:`reviewer-login`,params:{slug:e}}):g.replace(`/c`)}return a(()=>{document.body.classList.add(`prototype-page`,`reviewer-mode`,`admin-desktop-page`,`reviewer-score-2colors`),_e()}),n(()=>{document.body.classList.remove(`prototype-page`,`reviewer-mode`,`admin-desktop-page`,`reviewer-score-2colors`)}),(n,r)=>{let a=o(`router-link`),s=o(`router-view`);return ne(),re(`div`,x,[f(`header`,S,[f(`div`,C,[f(`span`,w,l(me.value),1),f(`div`,T,[f(`button`,E,[r[0]||=f(`svg`,{width:`22`,height:`22`,viewBox:`0 0 24 24`,fill:`none`,"aria-hidden":`true`},[f(`circle`,{cx:`12`,cy:`12`,r:`9.5`,stroke:`currentColor`,"stroke-width":`2`}),f(`circle`,{cx:`12`,cy:`9`,r:`3.2`,fill:`currentColor`}),f(`path`,{d:`M6.8 18.2c1.1-2.4 3-3.6 5.2-3.6s4.1 1.2 5.2 3.6`,fill:`currentColor`})],-1),f(`span`,D,l(Q.value),1)]),f(`ul`,O,[r[2]||=f(`li`,null,[f(`a`,{class:`dropdown-item`,href:`javascript:void(0)`,"data-bs-toggle":`modal`,"data-bs-target":`#reviewerProfileModal`},[f(`span`,{class:`menu-icon`},`👤`),t(`个人信息 `)])],-1),r[3]||=f(`li`,null,[f(`hr`,{class:`dropdown-divider`})],-1),f(`li`,null,[f(`a`,{class:`dropdown-item text-danger`,href:`javascript:void(0)`,onClick:te(ve,[`prevent`])},[...r[1]||=[f(`span`,{class:`menu-icon`},`↪`,-1),t(`退出登录 `,-1)]])])])])])]),f(`div`,k,[f(`div`,A,[i(a,{class:e([`mobile-nav-link`,{active:Y.value}]),to:{name:`reviewer-projects`,params:{slug:J.value}}},{default:d(()=>[...r[4]||=[t(` 项目评审 `,-1)]]),_:1},8,[`class`,`to`])])]),f(`div`,j,[f(`div`,M,[f(`aside`,N,[f(`div`,P,[f(`div`,F,[f(`nav`,I,[i(a,{class:e([`nav-link text-start`,{active:Y.value}]),to:{name:`reviewer-projects`,params:{slug:J.value}}},{default:d(()=>[...r[5]||=[t(` 项目评审 `,-1)]]),_:1},8,[`class`,`to`])])])])]),f(`main`,L,[f(`div`,R,[i(s)])])])]),f(`footer`,z,l(he.value),1),f(`div`,B,[f(`div`,se,[f(`div`,V,[r[9]||=f(`div`,{class:`modal-header profile-modal-header`},[f(`h5`,{class:`modal-title profile-modal-title`},`个人信息`),f(`button`,{type:`button`,class:`btn-close`,"data-bs-dismiss":`modal`,"aria-label":`关闭`})],-1),f(`div`,H,[f(`div`,U,[f(`div`,W,[f(`div`,G,[r[6]||=f(`div`,{class:`profile-field-label`},`姓名`,-1),f(`div`,K,l($.value.name),1)])]),f(`div`,ce,[f(`div`,le,[r[7]||=f(`div`,{class:`profile-field-label`},`手机号`,-1),f(`div`,ue,l($.value.mobile),1)])]),f(`div`,de,[f(`div`,fe,[r[8]||=f(`div`,{class:`profile-field-label`},`登录账号`,-1),f(`div`,pe,l($.value.username),1)])])])])])])])])}}}),[[`__scopeId`,`data-v-c938a711`]]);export{q as default}; |