home.html 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  1. <!DOCTYPE html>
  2. <html lang="zh-CN">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title>首页 - EMA管理系统</title>
  7. <link rel="stylesheet" href="../lib/layui/css/layui.css">
  8. <style>
  9. body { padding: 20px; background: #f5f5f5; }
  10. .home-title { font-size: 24px; font-weight: 600; margin-bottom: 20px; color: #333; }
  11. .stat-card { background: #fff; border-radius: 8px; padding: 20px; margin-bottom: 20px; }
  12. .stat-card .stat-icon { width: 60px; height: 60px; border-radius: 8px; display: flex; align-items: center; justify-content: center; font-size: 28px; color: #fff; }
  13. .stat-card .stat-num { font-size: 32px; font-weight: 600; color: #333; }
  14. .stat-card .stat-text { color: #999; font-size: 14px; }
  15. .info-card { background: #fff; border-radius: 8px; padding: 20px; margin-bottom: 20px; }
  16. .info-card .card-title { font-size: 16px; font-weight: 600; color: #333; margin-bottom: 15px; padding-bottom: 10px; border-bottom: 1px solid #eee; }
  17. .info-list li { padding: 10px 0; border-bottom: 1px dashed #eee; display: flex; justify-content: space-between; }
  18. .info-list li:last-child { border-bottom: none; }
  19. .quick-menu { display: flex; flex-wrap: wrap; gap: 15px; }
  20. .quick-menu a { width: 120px; height: 80px; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); border-radius: 8px; display: flex; flex-direction: column; align-items: center; justify-content: center; color: #fff; text-decoration: none; transition: transform 0.3s; }
  21. .quick-menu a:hover { transform: translateY(-5px); box-shadow: 0 5px 20px rgba(102, 126, 234, 0.4); }
  22. .quick-menu a i { font-size: 28px; margin-bottom: 8px; }
  23. .quick-menu a span { font-size: 13px; }
  24. </style>
  25. </head>
  26. <body>
  27. <div class="home-title">欢迎使用 EMA 管理系统</div>
  28. <div class="layui-row layui-col-space15">
  29. <!-- 快捷入口 -->
  30. <div class="layui-col-md12">
  31. <div class="info-card">
  32. <div class="card-title">快捷入口</div>
  33. <div class="quick-menu">
  34. <a href="javascript:parent.openTab('user/user_list.html', '用户管理', 'user_list');" class="open-tab" data-url="user/user_list.html" data-title="用户管理">
  35. <i class="layui-icon layui-icon-user"></i>
  36. <span>用户管理</span>
  37. </a>
  38. <a href="javascript:parent.openTab('role/role_list.html', '角色管理', 'role_list');" class="open-tab" data-url="role/role_list.html" data-title="角色管理">
  39. <i class="layui-icon layui-icon-group"></i>
  40. <span>角色管理</span>
  41. </a>
  42. <a href="javascript:parent.openTab('menu/menu_list.html', '菜单管理', 'menu_list');" class="open-tab" data-url="menu/menu_list.html" data-title="菜单管理">
  43. <i class="layui-icon layui-icon-app"></i>
  44. <span>菜单管理</span>
  45. </a>
  46. <a href="javascript:parent.openTab('department/department_list.html', '部门管理', 'department_list');" class="open-tab" data-url="department/department_list.html" data-title="部门管理">
  47. <i class="layui-icon layui-icon-link"></i>
  48. <span>部门管理</span>
  49. </a>
  50. <a href="javascript:parent.openTab('dict/dict_type_list.html', '字典管理', 'dict_type_list');" class="open-tab" data-url="dict/dict_type_list.html" data-title="字典管理">
  51. <i class="layui-icon layui-icon-note"></i>
  52. <span>字典管理</span>
  53. </a>
  54. <a href="javascript:parent.openTab('job/job_list.html', '定时任务', 'job_list');" class="open-tab" data-url="job/job_list.html" data-title="定时任务">
  55. <i class="layui-icon layui-icon-clock"></i>
  56. <span>定时任务</span>
  57. </a>
  58. </div>
  59. </div>
  60. </div>
  61. <!-- 系统信息 -->
  62. <div class="layui-col-md6">
  63. <div class="info-card">
  64. <div class="card-title">系统信息</div>
  65. <ul class="info-list">
  66. <li><span>当前用户</span><span id="currentUser">-</span></li>
  67. <li><span>登录账号</span><span id="loginAccount">-</span></li>
  68. <li><span>登录时间</span><span id="loginTime">-</span></li>
  69. <li><span>系统版本</span><span>v1.0.0</span></li>
  70. </ul>
  71. </div>
  72. </div>
  73. <div class="layui-col-md6">
  74. <div class="info-card">
  75. <div class="card-title">操作日志</div>
  76. <ul class="info-list" id="recentLogs">
  77. <li><span>暂无数据</span></li>
  78. </ul>
  79. </div>
  80. </div>
  81. </div>
  82. <script src="../lib/jquery.min.js"></script>
  83. <script src="../lib/layui/layui.js"></script>
  84. <script src="../js/config.js"></script>
  85. <script src="../js/common.js"></script>
  86. <script>
  87. layui.use(['layer'], function() {
  88. var layer = layui.layer;
  89. var $ = layui.jquery;
  90. // 获取用户信息
  91. var userInfo = Common.getUserInfo();
  92. if (userInfo) {
  93. $('#currentUser').text(userInfo.name || '-');
  94. $('#loginAccount').text(userInfo.account || '-');
  95. $('#loginTime').text(Common.formatDate(new Date(), 'yyyy-MM-dd HH:mm:ss'));
  96. }
  97. // 加载最近日志
  98. loadRecentLogs();
  99. function loadRecentLogs() {
  100. Common.post(Config.api.operLog.page, { pageNumber: 1, pageSize: 5, type: 0 }, function(res) {
  101. if (res.code === 200 && res.data) {
  102. var logs = res.data.records || [];
  103. var html = '';
  104. if (logs.length > 0) {
  105. logs.forEach(function(log) {
  106. html += '<li><span>' + log.userId + '</span><span>' + (log.operationName || log.title || '-') + '</span><span>' + log.operTime + '</span></li>';
  107. });
  108. } else {
  109. html = '<li><span>暂无数据</span></li>';
  110. }
  111. $('#recentLogs').html(html);
  112. }
  113. });
  114. }
  115. });
  116. </script>
  117. </body>
  118. </html>