mirror of
https://gitee.com/myxzgzs/boyue-kfcode-hasfj.git
synced 2025-06-21 14:09:35 +08:00
2 lines
5.0 KiB
JavaScript
2 lines
5.0 KiB
JavaScript
import{l as U}from"./notice-Be3PUons.js";import{C as b,r as _,b as j,D as A,c as f,e as o,w as s,j as r,F as G,f as e,k as a,G as J,B as d,H as K,h,I as T,J as S,i as Y,m as M,K as $,L as q,a as O,o as c,M as Q,N as W,_ as X}from"./index-CrAWI0wi.js";function V(y){if(y==null||y=="")return"";var t=new Date(y),D=t.getFullYear(),m=t.getMonth()+1<10?"0"+(t.getMonth()+1):t.getMonth()+1,p=t.getDate()<10?"0"+t.getDate():t.getDate(),v=t.getHours()<10?"0"+t.getHours():t.getHours(),g=t.getMinutes()<10?"0"+t.getMinutes():t.getMinutes(),i=t.getSeconds()<10?"0"+t.getSeconds():t.getSeconds();return D+"-"+m+"-"+p+" "+v+":"+g+":"+i}const Z={class:"app-container home"},ee={class:"user-profile"},te={class:"welcome-text"},se={class:"user-role"},oe={class:"user-stats"},ae={class:"stat-item"},ne=["title"],le={class:"stat-item"},ie=["title"],ce={class:"card-header"},re={class:"header-title"},de={key:0,class:"notice-list"},ue=["onClick"],_e={class:"notice-title"},me={class:"notice-time"},pe={class:"feature-item"},ve={class:"feature-icon"},ge=["innerHTML"],fe=b({name:"Index"}),he=b({...fe,setup(y){const t=O(),D=_([{icon:"Monitor",title:"技术先进",description:"采用Vue3、TypeScript等最新技术栈,保持与时俱进"},{icon:"SetUp",title:"简单易用",description:"开箱即用的后台解决方案,内置完整的权限验证系统"},{icon:"Document",title:"规范开发",description:"遵循最佳实践,统一的编码规范,让项目更易维护"}]);_([{name:"Auth 权限验证",description:"提供了权限验证相关方法,包括hasPermi、hasRole等功能,用于控制按钮和功能的访问权限"},{name:"Cache 缓存",description:"提供了浏览器缓存操作方法,支持session和local存储的设置与获取"},{name:"Modal 弹窗",description:"封装了Element Plus的弹窗组件,提供了更便捷的调用方式"}]),_([{name:"hasPermi",description:"用于控制按钮级别的权限",usage:`v-hasPermi="['system:user:add']"`},{name:"hasRole",description:"用于控制角色级别的权限",usage:`v-hasRole="['admin']"`},{name:"auth",description:"通用权限验证指令",usage:`v-auth="'system:user:edit'"`}]);const m=_([]),p=_(!1),v=_(!1),g=_({}),i=j(),L=async()=>{p.value=!0;try{const u=await U({pageNum:1,pageSize:5});m.value=u.rows}catch(u){console.error("获取公告列表失败:",u)}finally{p.value=!1}},H=u=>{g.value=u,v.value=!0},I=()=>{const u={path:"/system/notice"};t.push(u)};return A(()=>{i.getInfo(),L()}),(u,n)=>{const B=r("el-avatar"),N=r("el-card"),k=r("el-icon"),P=r("el-button"),R=r("el-tag"),z=r("el-empty"),w=r("el-col"),x=r("el-row"),E=r("el-dialog"),F=K("loading");return c(),f("div",Z,[o(x,{gutter:20},{default:s(()=>[o(w,{lg:6,md:8,sm:24,xs:24},{default:s(()=>[o(N,{class:"user-info-card"},{default:s(()=>[e("div",ee,[o(B,{size:80,src:a(i).avatar||a(J)},null,8,["src"]),e("h2",te,"欢迎回来,"+d(a(i).name),1),e("p",se,d(a(i).roleName),1)]),e("div",oe,[e("div",ae,[e("div",{class:"stat-value text-ellipsis",title:a(V)(a(i).loginDate)||"暂无"},d(a(V)(a(i).loginDate)||"暂无"),9,ne),n[1]||(n[1]=e("p",{class:"stat-label"},"上次登录",-1))]),e("div",le,[e("div",{class:"stat-value text-ellipsis",title:a(i).deptName||"暂无"},d(a(i).deptName||"暂无"),9,ie),n[2]||(n[2]=e("p",{class:"stat-label"},"所属部门",-1))])])]),_:1}),G((c(),h(N,{class:"notice-card hide-on-small"},{header:s(()=>[e("div",ce,[e("span",re,[o(k,null,{default:s(()=>[o(a($))]),_:1}),n[3]||(n[3]=M(" 系统公告 "))]),m.value.length?(c(),h(P,{key:0,link:"",onClick:I},{default:s(()=>[n[4]||(n[4]=M(" 查看更多")),o(k,null,{default:s(()=>[o(a(q))]),_:1})]),_:1})):Y("",!0)])]),default:s(()=>[m.value.length?(c(),f("div",de,[(c(!0),f(T,null,S(m.value,l=>(c(),f("div",{key:l.noticeId,class:"notice-item",onClick:C=>H(l)},[o(R,{size:"small",type:l.noticeType==="1"?"danger":"success"},{default:s(()=>[M(d(l.noticeType==="1"?"通知":"公告"),1)]),_:2},1032,["type"]),e("span",_e,d(l.noticeTitle),1),e("span",me,d(a(Q)(l.createTime)),1)],8,ue))),128))])):(c(),h(z,{key:1,description:"暂无公告"}))]),_:1})),[[F,p.value]])]),_:1}),o(w,{lg:18,md:16,sm:24,xs:24},{default:s(()=>[o(x,{gutter:20},{default:s(()=>[o(w,{span:24},{default:s(()=>[o(N,{class:"welcome-card"},{default:s(()=>[n[5]||(n[5]=e("div",{class:"welcome-container"},[e("h1",{class:"welcome-title"},"欢迎使用 博越 二开框架"),e("p",{class:"welcome-desc"},"基于 Vue3、TypeScript、Vite、Element-Plus 的后台管理系统")],-1)),o(x,{gutter:20,class:"feature-section"},{default:s(()=>[(c(!0),f(T,null,S(D.value,(l,C)=>(c(),h(w,{lg:8,md:12,sm:24,xs:24,key:C},{default:s(()=>[e("div",pe,[e("div",ve,[o(k,null,{default:s(()=>[(c(),h(W(l.icon)))]),_:2},1024)]),e("h3",null,d(l.title),1),e("p",null,d(l.description),1)])]),_:2},1024))),128))]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})]),_:1}),o(E,{modelValue:v.value,"onUpdate:modelValue":n[0]||(n[0]=l=>v.value=l),title:g.value.noticeTitle,width:"50%","destroy-on-close":""},{default:s(()=>[e("div",{innerHTML:g.value.noticeContent},null,8,ge)]),_:1},8,["modelValue","title"])])}}}),De=X(he,[["__scopeId","data-v-ca658960"]]);export{De as default};
|