| 12 |
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index-fQv2WpIJ.js","assets/index-BNtoQzpv.js","assets/index-DS4Q9tlD.css"])))=>i.map(i=>d[i]);
- import{_ as ae,k as ie,l as de,o as a,c as y,d as e,w as t,r as l,f as D,m as ue,u as re,n as b,a as n,v as C,p as c,g as _,h as g,i as k,t as f,F as ce,q as _e,s as me,x as pe}from"./index-BNtoQzpv.js";import{_ as E}from"./logo-CxXS7KxG.js";import{notificationApi as A}from"./index-fQv2WpIJ.js";import{u as fe}from"./auth-Cqw5t0wr.js";const ve={class:"layout"},ye={class:"logo-area"},ge={class:"logo-area collapsed"},ke={class:"menu-group-title"},xe={class:"menu-group-title"},be={class:"topbar-left"},Ce={class:"topbar-right"},Ae={class:"notify-panel"},he={class:"notify-header"},we={key:0,class:"notify-list"},Re=["onClick"],Oe={class:"notify-title"},De={class:"notify-content"},Ne={class:"notify-time"},Ie={key:1,class:"notify-empty"},Be={class:"notify-footer"},Te={class:"user-info"},Ue={__name:"MainLayout",setup(Ee){const h=ue(),m=re(),u=fe(),r=D(!1),x=D(0),w=D([]);let R=null;async function N(){try{const i=await A.getUnreadCount();x.value=i.count}catch{}}async function I(){try{const i=await A.getPage({page:1,size:20});w.value=i.records||[]}catch{}}async function F(){await A.markAllRead(),x.value=0,await I()}function V(i){A.markRead(i.id),setTimeout(async()=>{if(i.refType==="objective"&&i.refId)try{const{okrApi:o}=await pe(async()=>{const{okrApi:s}=await import("./index-fQv2WpIJ.js");return{okrApi:s}},__vite__mapDeps([0,1,2])),O=await o.getDetail(i.refId);m.push("/okr/my?periodId="+O.periodId)}catch{m.push("/okr/my")}else i.refType==="score"?m.push("/scores/my"):i.refType==="feedback"?m.push("/feedback"):i.refType==="period"&&m.push("/periods")},100)}function z(){m.push("/notifications")}ie(async()=>{u.user||await u.fetchUser(),N(),I(),R=setInterval(N,6e4)}),de(()=>{R&&clearInterval(R)});function H(){u.logout(),m.push("/login")}return(i,o)=>{const O=l("Calendar"),s=l("el-icon"),d=l("el-menu-item"),L=l("Aim"),P=l("UserFilled"),S=l("Connection"),K=l("DataAnalysis"),M=l("EditPen"),$=l("ChatDotRound"),j=l("OfficeBuilding"),q=l("SetUp"),G=l("Histogram"),J=l("Document"),Q=l("el-menu"),W=l("el-aside"),X=l("Fold"),Y=l("Expand"),v=l("el-button"),B=l("el-breadcrumb-item"),Z=l("el-breadcrumb"),ee=l("Bell"),te=l("el-badge"),oe=l("el-popover"),ne=l("el-header"),le=l("router-view"),se=l("el-main"),T=l("el-container");return a(),y("div",ve,[e(T,{style:{height:"100vh"}},{default:t(()=>[e(W,{width:r.value?"64px":"220px",class:"sidebar"},{default:t(()=>[b(n("div",ye,[...o[1]||(o[1]=[n("img",{src:E,class:"logo-img"},null,-1),n("span",{class:"logo-text"},"医梦AI",-1),n("span",{class:"logo-sub"},"OKR 绩效管理",-1)])],512),[[C,!r.value]]),b(n("div",ge,[...o[2]||(o[2]=[n("img",{src:E,class:"logo-img-mini"},null,-1)])],512),[[C,r.value]]),e(Q,{"default-active":c(h).path,collapse:r.value,"collapse-transition":!1,"background-color":"transparent","text-color":"rgba(255,255,255,0.7)","active-text-color":"#3ad4d8",router:""},{default:t(()=>[e(d,{index:"/periods"},{default:t(()=>[e(s,null,{default:t(()=>[e(O)]),_:1}),o[3]||(o[3]=n("span",null,"考核周期",-1))]),_:1}),e(d,{index:"/okr/my"},{default:t(()=>[e(s,null,{default:t(()=>[e(L)]),_:1}),o[4]||(o[4]=n("span",null,"我的 OKR",-1))]),_:1}),e(d,{index:"/okr/team"},{default:t(()=>[e(s,null,{default:t(()=>[e(P)]),_:1}),o[5]||(o[5]=n("span",null,"团队 OKR",-1))]),_:1}),e(d,{index:"/okr/alignment"},{default:t(()=>[e(s,null,{default:t(()=>[e(S)]),_:1}),o[6]||(o[6]=n("span",null,"OKR 对齐",-1))]),_:1}),e(d,{index:"/scores/my"},{default:t(()=>[e(s,null,{default:t(()=>[e(K)]),_:1}),o[7]||(o[7]=n("span",null,"我的绩效",-1))]),_:1}),b(n("div",ke,"考评管理",512),[[C,!r.value]]),(a(),_(d,{key:0,index:"/scoring"},{default:t(()=>[e(s,null,{default:t(()=>[e(M)]),_:1}),o[8]||(o[8]=n("span",null,"绩效打分",-1))]),_:1})),(a(),_(d,{key:1,index:"/feedback"},{default:t(()=>[e(s,null,{default:t(()=>[e($)]),_:1}),o[9]||(o[9]=n("span",null,"绩效沟通",-1))]),_:1})),b(n("div",xe,"系统管理",512),[[C,!r.value]]),c(u).isHrAdminOrAbove?(a(),_(d,{key:2,index:"/org"},{default:t(()=>[e(s,null,{default:t(()=>[e(j)]),_:1}),o[10]||(o[10]=n("span",null,"组织架构",-1))]),_:1})):g("",!0),c(u).isHrAdminOrAbove?(a(),_(d,{key:3,index:"/kpi/templates"},{default:t(()=>[e(s,null,{default:t(()=>[e(q)]),_:1}),o[11]||(o[11]=n("span",null,"绩效模板",-1))]),_:1})):g("",!0),c(u).isHrAdminOrAbove?(a(),_(d,{key:4,index:"/system/dimensions"},{default:t(()=>[e(s,null,{default:t(()=>[e(G)]),_:1}),o[12]||(o[12]=n("span",null,"考核维度",-1))]),_:1})):g("",!0),c(u).isHrAdminOrAbove?(a(),_(d,{key:5,index:"/system/logs"},{default:t(()=>[e(s,null,{default:t(()=>[e(J)]),_:1}),o[13]||(o[13]=n("span",null,"操作日志",-1))]),_:1})):g("",!0)]),_:1},8,["default-active","collapse"])]),_:1},8,["width"]),e(T,null,{default:t(()=>[e(ne,{class:"topbar"},{default:t(()=>{var U;return[n("div",be,[e(v,{text:"",onClick:o[0]||(o[0]=p=>r.value=!r.value)},{default:t(()=>[e(s,{size:20},{default:t(()=>[r.value?(a(),_(Y,{key:1})):(a(),_(X,{key:0}))]),_:1})]),_:1}),e(Z,{separator:"/"},{default:t(()=>[e(B,{to:{path:"/"}},{default:t(()=>[...o[14]||(o[14]=[k("工作台",-1)])]),_:1}),c(h).meta.title?(a(),_(B,{key:0},{default:t(()=>[k(f(c(h).meta.title),1)]),_:1})):g("",!0)]),_:1})]),n("div",Ce,[e(oe,{placement:"bottom-end",width:360,trigger:"click"},{reference:t(()=>[e(te,{value:x.value,hidden:x.value===0,max:99},{default:t(()=>[e(v,{text:""},{default:t(()=>[e(s,{size:20},{default:t(()=>[e(ee)]),_:1})]),_:1})]),_:1},8,["value","hidden"])]),default:t(()=>[n("div",Ae,[n("div",he,[o[16]||(o[16]=n("span",null,"消息通知",-1)),e(v,{text:"",size:"small",onClick:F},{default:t(()=>[...o[15]||(o[15]=[k("全部已读",-1)])]),_:1})]),w.value.length>0?(a(),y("div",we,[(a(!0),y(ce,null,_e(w.value,p=>(a(),y("div",{key:p.id,class:me(["notify-item",{unread:p.isRead===0}]),onClick:Fe=>V(p)},[n("div",Oe,f(p.title),1),n("div",De,f(p.content),1),n("div",Ne,f(p.createdAtFriendly),1)],10,Re))),128))])):(a(),y("div",Ie,"暂无通知")),n("div",Be,[e(v,{text:"",size:"small",onClick:z},{default:t(()=>[...o[17]||(o[17]=[k("查看全部",-1)])]),_:1})])])]),_:1}),n("span",Te,f((U=c(u).user)==null?void 0:U.realName)+" · "+f(c(u).roleLabel),1),e(v,{text:"",type:"danger",onClick:H},{default:t(()=>[...o[18]||(o[18]=[k("退出",-1)])]),_:1})])]}),_:1}),e(se,{class:"main-content"},{default:t(()=>[e(le)]),_:1})]),_:1})]),_:1})])}}},Pe=ae(Ue,[["__scopeId","data-v-170d081f"]]);export{Pe as default};
|