wangmengwei 1 месяц назад
Родитель
Сommit
798a86e2e3

+ 69 - 7
public/index.html

@@ -37,8 +37,8 @@
       position: relative;
       left: 50%;
       top: 50%;
-      width: 150px;
-      height: 150px;
+      width: 180px;
+      height: 180px;
       margin: -75px 0 0 -75px;
       border-radius: 50%;
       border: 3px solid transparent;
@@ -99,6 +99,8 @@
       }
     }
 
+
+
     @keyframes spin {
       0% {
         -webkit-transform: rotate(0deg);
@@ -118,7 +120,8 @@
       top: 0;
       width: 51%;
       height: 100%;
-      background: #7171C6;
+      /* background: #7171C6; */
+       background: linear-gradient(to top,#c7f2b9,#aadae6);
       z-index: 1000;
       -webkit-transform: translateX(0);
       -ms-transform: translateX(0);
@@ -175,13 +178,13 @@
 
     #loader-wrapper .load_title {
       font-family: 'Open Sans';
-      color: #FFF;
+      color: #72b88d ;
       font-size: 19px;
       width: 100%;
       text-align: center;
       z-index: 9999999999999;
       position: absolute;
-      top: 60%;
+      top: 70%;
       opacity: 1;
       line-height: 30px;
     }
@@ -193,15 +196,74 @@
       color: #FFF;
       opacity: 0.5;
     }
+	.loading {
+	  width: 100px;
+	  height: 100px;
+	  z-index: 1001;
+	  border-radius: 50%;
+	  position: relative;
+	  position: relative;
+	  left: 48%;
+	  top: 45%;
+
+	}
+
+	.loading .item {
+	  width: 100%;
+	  height: 100%;
+	  border-radius: 50%;
+	  position: absolute;
+	}
+
+	.loading .item:nth-child(1) {
+	  border-bottom: 7px solid #b2db9a;
+	  transform: rotateX(15deg) rotateY(-45deg);
+	  animation: rotate_one 1s linear infinite -0.8s;
+	}
+
+	.loading .item:nth-child(2) {
+	  border-bottom: 7px solid #e1f5b1;
+	  transform: rotateX(50deg) rotateY(10deg);
+	  animation: rotate_two 1s linear infinite -0.4s;
+	}
+
+	.loading .item:nth-child(3) {
+	  border-bottom: 7px solid  #e2ffd9;
+	  transform: rotateX(35deg) rotateY(55deg);
+	  animation: rotate_three 1s linear infinite;
+	}
+
+	@keyframes rotate_one {
+	  to {
+	    transform: rotateX(15deg) rotateY(-45deg) rotateZ(360deg);
+	  }
+	}
+
+	@keyframes rotate_two {
+	  to {
+	    transform: rotateX(50deg) rotateY(10deg) rotateZ(360deg);
+	  }
+	}
+
+	@keyframes rotate_three {
+	  to {
+	    transform: rotateX(35deg) rotateY(55deg) rotateZ(360deg);
+	  }
+	}
   </style>
   </head>
   <body>
     <div id="app">
 	    <div id="loader-wrapper">
-		    <div id="loader"></div>
+		    <!-- <div id="loader"></div> -->
+			<div class="loading">
+			  <div class="item"></div>
+			  <div class="item"></div>
+			  <div class="item"></div>
+			</div>
 		    <div class="loader-section section-left"></div>
 		    <div class="loader-section section-right"></div>
-		    <div class="load_title">正在加载系统资源,请耐心等待</div>
+		    <div class="load_title">加载中,请耐心等待...</div>
         </div>
 	</div>
   </body>

+ 3 - 3
src/api/monitor/cache.js

@@ -36,7 +36,7 @@ export function getCacheValue(cacheName, cacheKey) {
 export function clearCacheName(cacheName) {
   return request({
     url: '/monitor/cache/clearCacheName/' + cacheName,
-    method: 'delete'
+    method: 'get'
   })
 }
 
@@ -44,7 +44,7 @@ export function clearCacheName(cacheName) {
 export function clearCacheKey(cacheKey) {
   return request({
     url: '/monitor/cache/clearCacheKey/' + cacheKey,
-    method: 'delete'
+    method: 'get'
   })
 }
 
@@ -52,6 +52,6 @@ export function clearCacheKey(cacheKey) {
 export function clearCacheAll() {
   return request({
     url: '/monitor/cache/clearCacheAll',
-    method: 'delete'
+    method: 'get'
   })
 }

+ 6 - 6
src/api/monitor/job.js

@@ -29,8 +29,8 @@ export function addJob(data) {
 // 修改定时任务调度
 export function updateJob(data) {
   return request({
-    url: '/monitor/job',
-    method: 'put',
+    url: '/monitor/job/put',
+    method: 'post',
     data: data
   })
 }
@@ -38,8 +38,8 @@ export function updateJob(data) {
 // 删除定时任务调度
 export function delJob(jobId) {
   return request({
-    url: '/monitor/job/' + jobId,
-    method: 'delete'
+    url: '/monitor/job/delete/' + jobId,
+    method: 'get'
   })
 }
 
@@ -50,8 +50,8 @@ export function changeJobStatus(jobId, status) {
     status
   }
   return request({
-    url: '/monitor/job/changeStatus',
-    method: 'put',
+    url: '/monitor/job/changeStatus/put',
+    method: 'post',
     data: data
   })
 }

+ 3 - 3
src/api/monitor/jobLog.js

@@ -12,8 +12,8 @@ export function listJobLog(query) {
 // 删除调度日志
 export function delJobLog(jobLogId) {
   return request({
-    url: '/monitor/jobLog/' + jobLogId,
-    method: 'delete'
+    url: '/monitor/jobLog/delete/' + jobLogId,
+    method: 'get'
   })
 }
 
@@ -21,6 +21,6 @@ export function delJobLog(jobLogId) {
 export function cleanJobLog() {
   return request({
     url: '/monitor/jobLog/clean',
-    method: 'delete'
+    method: 'get'
   })
 }

+ 3 - 3
src/api/monitor/logininfor.js

@@ -12,8 +12,8 @@ export function list(query) {
 // 删除登录日志
 export function delLogininfor(infoId) {
   return request({
-    url: '/monitor/logininfor/' + infoId,
-    method: 'delete'
+    url: '/monitor/logininfor/delete/' + infoId,
+    method: 'get'
   })
 }
 
@@ -29,6 +29,6 @@ export function unlockLogininfor(userName) {
 export function cleanLogininfor() {
   return request({
     url: '/monitor/logininfor/clean',
-    method: 'delete'
+    method: 'get'
   })
 }

+ 2 - 2
src/api/monitor/online.js

@@ -12,7 +12,7 @@ export function list(query) {
 // 强退用户
 export function forceLogout(tokenId) {
   return request({
-    url: '/monitor/online/' + tokenId,
-    method: 'delete'
+    url: '/monitor/online/delete/' + tokenId,
+    method: 'get'
   })
 }

+ 3 - 3
src/api/monitor/operlog.js

@@ -12,8 +12,8 @@ export function list(query) {
 // 删除操作日志
 export function delOperlog(operId) {
   return request({
-    url: '/monitor/operlog/' + operId,
-    method: 'delete'
+    url: '/monitor/operlog/delete/' + operId,
+    method: 'get'
   })
 }
 
@@ -21,6 +21,6 @@ export function delOperlog(operId) {
 export function cleanOperlog() {
   return request({
     url: '/monitor/operlog/clean',
-    method: 'delete'
+    method: 'get'
   })
 }

+ 5 - 5
src/api/system/config.js

@@ -37,8 +37,8 @@ export function addConfig(data) {
 // 修改参数配置
 export function updateConfig(data) {
   return request({
-    url: '/system/config',
-    method: 'put',
+    url: '/system/config/put',
+    method: 'post',
     data: data
   })
 }
@@ -46,8 +46,8 @@ export function updateConfig(data) {
 // 删除参数配置
 export function delConfig(configId) {
   return request({
-    url: '/system/config/' + configId,
-    method: 'delete'
+    url: '/system/config/delete/' + configId,
+    method: 'get'
   })
 }
 
@@ -55,6 +55,6 @@ export function delConfig(configId) {
 export function refreshCache() {
   return request({
     url: '/system/config/refreshCache',
-    method: 'delete'
+    method: 'get'
   })
 }

+ 12 - 5
src/api/system/dept.js

@@ -8,6 +8,13 @@ export function listDept(query) {
     params: query
   })
 }
+// 查询部门下拉树结构
+// export function treeselect() {
+//   return request({
+//     url: '/system/dept/treeselect',
+//     method: 'get'
+//   })
+// }
 
 // 查询部门列表(排除节点)
 export function listDeptExcludeChild(deptId) {
@@ -37,8 +44,8 @@ export function addDept(data) {
 // 修改部门
 export function updateDept(data) {
   return request({
-    url: '/system/dept',
-    method: 'put',
+    url: '/system/dept/put',
+    method: 'post',
     data: data
   })
 }
@@ -46,7 +53,7 @@ export function updateDept(data) {
 // 删除部门
 export function delDept(deptId) {
   return request({
-    url: '/system/dept/' + deptId,
-    method: 'delete'
+    url: '/system/dept/delete/' + deptId,
+    method: 'get'
   })
-}
+}

+ 4 - 4
src/api/system/dict/data.js

@@ -37,8 +37,8 @@ export function addData(data) {
 // 修改字典数据
 export function updateData(data) {
   return request({
-    url: '/system/dict/data',
-    method: 'put',
+    url: '/system/dict/data/put',
+    method: 'post',
     data: data
   })
 }
@@ -46,7 +46,7 @@ export function updateData(data) {
 // 删除字典数据
 export function delData(dictCode) {
   return request({
-    url: '/system/dict/data/' + dictCode,
-    method: 'delete'
+    url: '/system/dict/data/delete/' + dictCode,
+    method: 'get'
   })
 }

+ 5 - 5
src/api/system/dict/type.js

@@ -29,8 +29,8 @@ export function addType(data) {
 // 修改字典类型
 export function updateType(data) {
   return request({
-    url: '/system/dict/type',
-    method: 'put',
+    url: '/system/dict/type/put',
+    method: 'post',
     data: data
   })
 }
@@ -38,8 +38,8 @@ export function updateType(data) {
 // 删除字典类型
 export function delType(dictId) {
   return request({
-    url: '/system/dict/type/' + dictId,
-    method: 'delete'
+    url: '/system/dict/type/delete/' + dictId,
+    method: 'get'
   })
 }
 
@@ -47,7 +47,7 @@ export function delType(dictId) {
 export function refreshCache() {
   return request({
     url: '/system/dict/type/refreshCache',
-    method: 'delete'
+    method: 'get'
   })
 }
 

+ 4 - 4
src/api/system/menu.js

@@ -45,8 +45,8 @@ export function addMenu(data) {
 // 修改菜单
 export function updateMenu(data) {
   return request({
-    url: '/system/menu',
-    method: 'put',
+    url: '/system/menu/put',
+    method: 'post',
     data: data
   })
 }
@@ -54,7 +54,7 @@ export function updateMenu(data) {
 // 删除菜单
 export function delMenu(menuId) {
   return request({
-    url: '/system/menu/' + menuId,
-    method: 'delete'
+    url: '/system/menu/delete/' + menuId,
+    method: 'get'
   })
 }

+ 4 - 4
src/api/system/notice.js

@@ -29,8 +29,8 @@ export function addNotice(data) {
 // 修改公告
 export function updateNotice(data) {
   return request({
-    url: '/system/notice',
-    method: 'put',
+    url: '/system/notice/put',
+    method: 'post',
     data: data
   })
 }
@@ -38,7 +38,7 @@ export function updateNotice(data) {
 // 删除公告
 export function delNotice(noticeId) {
   return request({
-    url: '/system/notice/' + noticeId,
-    method: 'delete'
+    url: '/system/notice/delete/' + noticeId,
+    method: 'get'
   })
 }

+ 4 - 4
src/api/system/post.js

@@ -29,8 +29,8 @@ export function addPost(data) {
 // 修改岗位
 export function updatePost(data) {
   return request({
-    url: '/system/post',
-    method: 'put',
+    url: '/system/post/put',
+    method: 'post',
     data: data
   })
 }
@@ -38,7 +38,7 @@ export function updatePost(data) {
 // 删除岗位
 export function delPost(postId) {
   return request({
-    url: '/system/post/' + postId,
-    method: 'delete'
+    url: '/system/post/delete/' + postId,
+    method: 'get'
   })
 }

+ 14 - 14
src/api/system/role.js

@@ -29,8 +29,8 @@ export function addRole(data) {
 // 修改角色
 export function updateRole(data) {
   return request({
-    url: '/system/role',
-    method: 'put',
+    url: '/system/role/put',
+    method: 'post',
     data: data
   })
 }
@@ -38,8 +38,8 @@ export function updateRole(data) {
 // 角色数据权限
 export function dataScope(data) {
   return request({
-    url: '/system/role/dataScope',
-    method: 'put',
+    url: '/system/role/dataScope/put',
+    method: 'post',
     data: data
   })
 }
@@ -51,8 +51,8 @@ export function changeRoleStatus(roleId, status) {
     status
   }
   return request({
-    url: '/system/role/changeStatus',
-    method: 'put',
+    url: '/system/role/changeStatus/put',
+    method: 'post',
     data: data
   })
 }
@@ -60,8 +60,8 @@ export function changeRoleStatus(roleId, status) {
 // 删除角色
 export function delRole(roleId) {
   return request({
-    url: '/system/role/' + roleId,
-    method: 'delete'
+    url: '/system/role/delete/' + roleId,
+    method: 'get'
   })
 }
 
@@ -86,8 +86,8 @@ export function unallocatedUserList(query) {
 // 取消用户授权角色
 export function authUserCancel(data) {
   return request({
-    url: '/system/role/authUser/cancel',
-    method: 'put',
+    url: '/system/role/authUser/cancel/put',
+    method: 'post',
     data: data
   })
 }
@@ -95,8 +95,8 @@ export function authUserCancel(data) {
 // 批量取消用户授权角色
 export function authUserCancelAll(data) {
   return request({
-    url: '/system/role/authUser/cancelAll',
-    method: 'put',
+    url: '/system/role/authUser/cancelAll/put',
+    method: 'post',
     params: data
   })
 }
@@ -104,8 +104,8 @@ export function authUserCancelAll(data) {
 // 授权用户选择
 export function authUserSelectAll(data) {
   return request({
-    url: '/system/role/authUser/selectAll',
-    method: 'put',
+    url: '/system/role/authUser/selectAll/put',
+    method: 'post',
     params: data
   })
 }

+ 12 - 13
src/api/system/user.js

@@ -30,8 +30,8 @@ export function addUser(data) {
 // 修改用户
 export function updateUser(data) {
   return request({
-    url: '/system/user',
-    method: 'put',
+    url: '/system/user/put',
+    method: 'post',
     data: data
   })
 }
@@ -39,8 +39,8 @@ export function updateUser(data) {
 // 删除用户
 export function delUser(userId) {
   return request({
-    url: '/system/user/' + userId,
-    method: 'delete'
+    url: '/system/user/delete/' + userId,
+    method: 'get'
   })
 }
 
@@ -52,7 +52,7 @@ export function resetUserPwd(userId, password) {
   }
   return request({
     url: '/system/user/resetPwd',
-    method: 'put',
+    method: 'post',
     data: data
   })
 }
@@ -65,7 +65,7 @@ export function changeUserStatus(userId, status) {
   }
   return request({
     url: '/system/user/changeStatus',
-    method: 'put',
+    method: 'post',
     data: data
   })
 }
@@ -81,8 +81,8 @@ export function getUserProfile() {
 // 修改用户个人信息
 export function updateUserProfile(data) {
   return request({
-    url: '/system/user/profile',
-    method: 'put',
+    url: '/system/user/profile/put',
+    method: 'post',
     data: data
   })
 }
@@ -95,8 +95,8 @@ export function updateUserPwd(oldPassword, newPassword) {
   }
   return request({
     url: '/system/user/profile/updatePwd',
-    method: 'put',
-    data: data
+    method: 'post',
+    params: data
   })
 }
 
@@ -105,7 +105,6 @@ export function uploadAvatar(data) {
   return request({
     url: '/system/user/profile/avatar',
     method: 'post',
-    headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
     data: data
   })
 }
@@ -121,8 +120,8 @@ export function getAuthRole(userId) {
 // 保存授权角色
 export function updateAuthRole(data) {
   return request({
-    url: '/system/user/authRole',
-    method: 'put',
+    url: '/system/user/authRole/put',
+    method: 'post',
     params: data
   })
 }

+ 4 - 4
src/api/tool/gen.js

@@ -28,8 +28,8 @@ export function getGenTable(tableId) {
 // 修改代码生成信息
 export function updateGenTable(data) {
   return request({
-    url: '/tool/gen',
-    method: 'put',
+    url: '/tool/gen/put',
+    method: 'post',
     data: data
   })
 }
@@ -63,8 +63,8 @@ export function previewTable(tableId) {
 // 删除表数据
 export function delTable(tableId) {
   return request({
-    url: '/tool/gen/' + tableId,
-    method: 'delete'
+    url: '/tool/gen/delete/' + tableId,
+    method: 'get'
   })
 }
 

+ 9 - 1
src/assets/styles/index.scss

@@ -119,9 +119,17 @@ aside {
   }
 }
 
+
+
 //main-container全局样式
 .app-container {
-  padding: 20px;
+  padding: 10px 10px;
+  padding-top: 0;
+  // height: calc(100vh - 50px);
+  max-height: calc(100vh - 50px);
+  overflow-y: auto;
+  background-color: #f7f8fc;
+  // overflow: hidden;
 }
 
 .components-container {

+ 19 - 5
src/assets/styles/sidebar.scss

@@ -10,6 +10,9 @@
   .sidebarHide {
     margin-left: 0!important;
   }
+  .el-submenu__title{
+	  font-weight: 700;
+  }
 
   .sidebar-container {
     -webkit-transition: width .28s;
@@ -23,9 +26,9 @@
     bottom: 0;
     left: 0;
     z-index: 1001;
-    overflow: hidden;
-    -webkit-box-shadow: 2px 0 6px rgba(0,21,41,.35);
-    box-shadow: 0px 0px 8px 0px rgba(0, 0, 0, 0.1);
+    // overflow: hidden;
+    // -webkit-box-shadow: 2px 0 6px rgba(0,21,41,.35);
+    // box-shadow: 0px 0px 8px 0px rgba(0, 0, 0, 0.1);
 
     // reset element-ui css
     .horizontal-collapse-transition {
@@ -57,7 +60,7 @@
     a {
       display: inline-block;
       width: 100%;
-      overflow: hidden;
+      // overflow: hidden;
     }
 
     .svg-icon {
@@ -99,13 +102,15 @@
 
     & .theme-dark .nest-menu .el-submenu>.el-submenu__title,
     & .theme-dark .el-submenu .el-menu-item {
-      background-color: $base-sub-menu-background !important;
+      // background-color: $base-sub-menu-background !important;
 
       &:hover {
         background-color: $base-sub-menu-hover !important;
       }
     }
   }
+  
+  
 
   .hideSidebar {
     .sidebar-container {
@@ -225,3 +230,12 @@
     }
   }
 }
+.el-menu-item.is-active{
+    color: #2777D0 !important;
+    // background-color: #196CFF !important;
+    background-color: #F2F6FF!important;
+    border-left: 8px solid #2777D0;      
+   .svg-icon{
+	   color: #000;
+   }
+  }

+ 6 - 6
src/assets/styles/variables.scss

@@ -9,17 +9,17 @@ $yellow:#FEC171;
 $panGreen: #30B08F;
 
 // 默认菜单主题风格
-$base-menu-color:#bfcbd9;
-$base-menu-color-active:#f4f4f5;
-$base-menu-background:#304156;
-$base-logo-title-color: #ffffff;
+$base-menu-color:#222838;
+$base-menu-color-active:#222838;
+$base-menu-background:#ffffff;
+$base-logo-title-color: #222838;
 
 $base-menu-light-color:rgba(0,0,0,.70);
 $base-menu-light-background:#ffffff;
 $base-logo-light-title-color: #001529;
 
-$base-sub-menu-background:#1f2d3d;
-$base-sub-menu-hover:#001528;
+$base-sub-menu-background:#fff;
+$base-sub-menu-hover:#F2F6FF;
 
 // 自定义暗色菜单风格
 /**

+ 5 - 2
src/components/Breadcrumb/index.vue

@@ -93,8 +93,11 @@ export default {
 .app-breadcrumb.el-breadcrumb {
   display: inline-block;
   font-size: 14px;
-  line-height: 50px;
-  margin-left: 8px;
+  line-height: 30px;
+  padding-left: 16px;
+  background-color: #f7f8fc;
+  width: 100%;
+  margin-bottom: -4px;
   .no-redirect {
     color: #97a8be;
     cursor: text;

+ 28 - 12
src/layout/components/Navbar.vue

@@ -1,19 +1,18 @@
 <template>
-  <div class="navbar">
+  <div class="navbar" :style="sidebar.opened == true?'padding-left:130px' : 'padding-left:290px'">
     <hamburger id="hamburger-container" :is-active="sidebar.opened" class="hamburger-container" @toggleClick="toggleSideBar" />
-
-    <breadcrumb v-if="!topNav" id="breadcrumb-container" class="breadcrumb-container" />
+   
     <top-nav v-if="topNav" id="topmenu-container" class="topmenu-container" />
 
     <div class="right-menu">
       <template v-if="device!=='mobile'">
-        <search id="header-search" class="right-menu-item" />
+        <!-- <search id="header-search" class="right-menu-item" />
 
         <el-tooltip content="源码地址" effect="dark" placement="bottom">
           <ruo-yi-git id="ruoyi-git" class="right-menu-item hover-effect" />
-        </el-tooltip>
+        </el-tooltip> -->
 
-        <el-tooltip content="文档地址" effect="dark" placement="bottom">
+        <!-- <el-tooltip content="文档地址" effect="dark" placement="bottom">
           <ruo-yi-doc id="ruoyi-doc" class="right-menu-item hover-effect" />
         </el-tooltip>
 
@@ -21,14 +20,15 @@
 
         <el-tooltip content="布局大小" effect="dark" placement="bottom">
           <size-select id="size-select" class="right-menu-item hover-effect" />
-        </el-tooltip>
+        </el-tooltip> -->
 
       </template>
 
       <el-dropdown class="avatar-container right-menu-item hover-effect" trigger="hover">
-        <div class="avatar-wrapper">
+        <div class="avatar-wrapper" style="margin: 0; display: flex;align-items: center; height: 100%;">
           <img :src="avatar" class="user-avatar">
-          <span class="user-nickname"> {{ nickName }} </span>
+          <div class="user-nickname" style="padding-top: 16px; margin: 0 10px;" > {{ nickName }} </div>
+		  <img src="../../assets/images/icon_htgl_hxl.png" alt="">
         </div>
         <el-dropdown-menu slot="dropdown">
           <router-link to="/user/profile">
@@ -43,8 +43,13 @@
       <div class="right-menu-item hover-effect setting" @click="setLayout" v-if="setting">
         <svg-icon icon-class="more-up" />
       </div>
+	  <div style="line-height: 50px; float: right; padding-right: 20px; cursor: pointer;">
+	  		  <span @click="logout">退出</span>
+	  </div>
     </div>
+	<!-- <breadcrumb v-if="!topNav" id="breadcrumb-container" class="breadcrumb-container" /> -->
   </div>
+   
 </template>
 
 <script>
@@ -88,9 +93,14 @@ export default {
       }
     }
   },
+  created(){
+	  console.log(this.sidebar.opened,345)
+  },
+  
   methods: {
     toggleSideBar() {
       this.$store.dispatch('app/toggleSideBar')
+	  console.log(this.sidebar.opened,345)
     },
     setLayout(event) {
       this.$emit('setLayout')
@@ -113,11 +123,11 @@ export default {
 <style lang="scss" scoped>
 .navbar {
   height: 50px;
-  overflow: hidden;
+  // overflow: hidden;
   position: relative;
   background: #fff;
   box-shadow: 0 1px 4px rgba(0,21,41,.08);
-
+  // padding-left: 130px;
   .hamburger-container {
     line-height: 46px;
     height: 100%;
@@ -133,6 +143,10 @@ export default {
 
   .breadcrumb-container {
     float: left;
+	// position: absolute;
+	// bottom: -40px;
+	// z-index: 99;
+	// left: 10px;
   }
 
   .topmenu-container {
@@ -190,8 +204,10 @@ export default {
         .user-nickname{
           position: relative;
           bottom: 10px;
-          font-size: 14px;
+          font-family: PingFang SC;
           font-weight: bold;
+          font-size: 15px;
+          color: #4B5A6D;
         }
 
         .el-icon-caret-bottom {

+ 9 - 7
src/layout/components/Sidebar/Logo.vue

@@ -3,18 +3,18 @@
     <transition name="sidebarLogoFade">
       <router-link v-if="collapse" key="collapse" class="sidebar-logo-link" to="/">
         <img v-if="logo" :src="logo" class="sidebar-logo" />
-        <h1 v-else class="sidebar-title" :style="{ color: sideTheme === 'theme-dark' ? variables.logoTitleColor : variables.logoLightTitleColor }">{{ title }} </h1>
+        <!-- <h1 v-else class="sidebar-title" :style="{ color: sideTheme === 'theme-dark' ? variables.logoTitleColor : variables.logoLightTitleColor }">{{ title }} </h1> -->
       </router-link>
       <router-link v-else key="expand" class="sidebar-logo-link" to="/">
         <img v-if="logo" :src="logo" class="sidebar-logo" />
-        <h1 class="sidebar-title" :style="{ color: sideTheme === 'theme-dark' ? variables.logoTitleColor : variables.logoLightTitleColor }">{{ title }} </h1>
+        <!-- <h1 class="sidebar-title" :style="{ color: sideTheme === 'theme-dark' ? variables.logoTitleColor : variables.logoLightTitleColor }">{{ title }} </h1> -->
       </router-link>
     </transition>
   </div>
 </template>
 
 <script>
-import logoImg from '@/assets/logo/logo.png'
+import logoImg from '@/assets/images/pic_yqyd_logo.png'
 import variables from '@/assets/styles/variables.scss'
 
 export default {
@@ -59,17 +59,19 @@ export default {
   line-height: 50px;
   background: #2b2f3a;
   text-align: center;
-  overflow: hidden;
+  // overflow: hidden;
+   // box-shadow: 0 1px 4px rgba(0,21,41,.08);
 
   & .sidebar-logo-link {
     height: 100%;
     width: 100%;
 
     & .sidebar-logo {
-      width: 32px;
-      height: 32px;
+      width: 320px;
+      height: 33px;
       vertical-align: middle;
-      margin-right: 12px;
+      margin-left: 12px;
+	  margin-top: -3px;
     }
 
     & .sidebar-title {

+ 4 - 1
src/layout/index.vue

@@ -5,7 +5,8 @@
     <div :class="{hasTagsView:needTagsView,sidebarHide:sidebar.hide}" class="main-container">
       <div :class="{'fixed-header':fixedHeader}">
         <navbar @setLayout="setLayout"/>
-        <tags-view v-if="needTagsView"/>
+		<breadcrumb  id="breadcrumb-container" class="breadcrumb-container" />
+        <!-- <tags-view v-if="needTagsView"/> -->
       </div>
       <app-main/>
       <settings ref="settingRef"/>
@@ -18,11 +19,13 @@ import { AppMain, Navbar, Settings, Sidebar, TagsView } from './components'
 import ResizeMixin from './mixin/ResizeHandler'
 import { mapState } from 'vuex'
 import variables from '@/assets/styles/variables.scss'
+import Breadcrumb from '@/components/Breadcrumb'
 
 export default {
   name: 'Layout',
   components: {
     AppMain,
+	Breadcrumb,
     Navbar,
     Settings,
     Sidebar,

+ 2 - 0
src/main.js

@@ -21,6 +21,7 @@ import { getConfigKey } from "@/api/system/config"
 import { parseTime, resetForm, addDateRange, selectDictLabel, selectDictLabels, handleTree } from "@/utils/ruoyi"
 // 分页组件
 import Pagination from "@/components/Pagination"
+import Paginations from "@/components/Paginations"
 // 自定义表格工具组件
 import RightToolbar from "@/components/RightToolbar"
 // 富文本组件
@@ -50,6 +51,7 @@ Vue.prototype.handleTree = handleTree
 // 全局组件挂载
 Vue.component('DictTag', DictTag)
 Vue.component('Pagination', Pagination)
+Vue.component('Paginations', Paginations)
 Vue.component('RightToolbar', RightToolbar)
 Vue.component('Editor', Editor)
 Vue.component('FileUpload', FileUpload)

+ 4 - 4
src/settings.js

@@ -1,5 +1,5 @@
 module.exports = {
-	urls: `http://192.168.101.245:8056`,
+	urls: `http://192.168.101.245:8077`,
   /**
    * 网页标题
    */
@@ -8,7 +8,7 @@ module.exports = {
   /**
    * 侧边栏主题 深色主题theme-dark,浅色主题theme-light
    */
-  sideTheme: 'theme-dark',
+  sideTheme: 'theme-light',
 
   /**
    * 系统布局配置
@@ -23,7 +23,7 @@ module.exports = {
   /**
    * 是否显示 tagsView
    */
-  tagsView: true,
+  tagsView: false,
   
   /**
    * 显示页签图标
@@ -53,5 +53,5 @@ module.exports = {
   /**
    * 底部版权文本内容
    */
-  footerContent: 'Copyright © 2018-2025 RuoYi. All Rights Reserved.'
+  footerContent: ''
 }

+ 2 - 2
src/views/dashboard/LineChart.vue

@@ -20,7 +20,7 @@ export default {
     },
     height: {
       type: String,
-      default: '350px'
+      default: '270px'
     },
     autoResize: {
       type: Boolean,
@@ -90,7 +90,7 @@ export default {
           }
         },
         legend: {
-          data: ['expected', 'actual']
+          data: []
         },
         series: [{
           name: 'expected', itemStyle: {

Разница между файлами не показана из-за своего большого размера
+ 298 - 1047
src/views/index.vue


+ 40 - 12
src/views/login.vue

@@ -1,7 +1,10 @@
 <template>
   <div class="login">
     <el-form ref="loginForm" :model="loginForm" :rules="loginRules" class="login-form">
-      <h3 class="title">{{title}}</h3>
+      <div>
+		  <img src="../assets/images/pic_dl_bt_logo.png" alt="">
+	  </div>
+	  <h3 class="title">登录</h3>
       <el-form-item prop="username">
         <el-input
           v-model="loginForm.username"
@@ -37,27 +40,30 @@
           <img :src="codeUrl" @click="getCode" class="login-code-img"/>
         </div>
       </el-form-item>
-      <el-checkbox v-model="loginForm.rememberMe" style="margin:0px 0px 25px 0px;">记住密码</el-checkbox>
+      <div class="zhude" style="display: flex;align-items: center;justify-content: space-between; margin-bottom: 25px;">
+		  <el-checkbox v-model="loginForm.rememberMe" style="margin:0px 0px 0px 0px;">记住密码</el-checkbox>
+		  <div style="float: right;" v-if="register" >
+		    <router-link class="link-type" :to="'/register'">立即注册</router-link>
+		  </div>
+	  </div>
       <el-form-item style="width:100%;">
         <el-button
           :loading="loading"
           size="medium"
           type="primary"
-          style="width:100%;"
+          style="width: 100%;background-color: #2777D0;"
           @click.native.prevent="handleLogin"
         >
           <span v-if="!loading">登 录</span>
           <span v-else>登 录 中...</span>
         </el-button>
-        <div style="float: right;" v-if="register">
-          <router-link class="link-type" :to="'/register'">立即注册</router-link>
-        </div>
+       
       </el-form-item>
     </el-form>
     <!--  底部  -->
-    <div class="el-login-footer">
+    <!-- <div class="el-login-footer">
       <span>Copyright © 2018-2025 ruoyi.vip All Rights Reserved.</span>
-    </div>
+    </div> -->
   </div>
 </template>
 
@@ -92,7 +98,7 @@ export default {
       // 验证码开关
       captchaEnabled: true,
       // 注册开关
-      register: false,
+      register: true,
       redirect: undefined
     }
   },
@@ -159,16 +165,22 @@ export default {
 <style rel="stylesheet/scss" lang="scss">
 .login {
   display: flex;
-  justify-content: center;
+  // justify-content: center;
   align-items: center;
   height: 100%;
-  background-image: url("../assets/images/login-background.jpg");
+  background-image: url("../assets/images/pic_dl_bg.png");
   background-size: cover;
+  padding-left: 150px;
+  padding-top: 70px;
 }
 .title {
-  margin: 0px auto 30px auto;
+  margin: 15px auto 15px auto;
   text-align: center;
   color: #707070;
+  font-family: Alibaba PuHuiTi;
+  font-weight: bold;
+  font-size: 18px;
+  color: #3D455B
 }
 
 .login-form {
@@ -217,5 +229,21 @@ export default {
 }
 .login-code-img {
   height: 38px;
+}
+.zhude{
+	a{
+		font-family: PingFang SC;
+		font-weight: 500;
+		font-size: 16px;
+		color: #2777D0;
+	}
+	.el-checkbox__label{
+		font-family: PingFang SC;
+		font-weight: 500;
+		font-size: 16px;
+		color: #333333 !important;
+	}
+	
+	
 }
 </style>

+ 1 - 1
src/views/monitor/server/index.vue

@@ -1,5 +1,5 @@
 <template>
-  <div class="app-container">
+  <div class="app-container home">
     <el-row :gutter="10">
       <el-col :span="12" class="card-box">
         <el-card>

+ 2 - 2
src/views/register.vue

@@ -60,9 +60,9 @@
       </el-form-item>
     </el-form>
     <!--  底部  -->
-    <div class="el-register-footer">
+    <!-- <div class="el-register-footer">
       <span>Copyright © 2018-2025 ruoyi.vip All Rights Reserved.</span>
-    </div>
+    </div> -->
   </div>
 </template>
 

+ 186 - 159
src/views/system/dict/index.vue

@@ -1,161 +1,163 @@
 <template>
-  <div class="app-container">
-    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
-      <el-form-item label="字典名称" prop="dictName">
-        <el-input
-          v-model="queryParams.dictName"
-          placeholder="请输入字典名称"
-          clearable
-          style="width: 240px"
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="字典类型" prop="dictType">
-        <el-input
-          v-model="queryParams.dictType"
-          placeholder="请输入字典类型"
-          clearable
-          style="width: 240px"
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="状态" prop="status">
-        <el-select
-          v-model="queryParams.status"
-          placeholder="字典状态"
-          clearable
-          style="width: 240px"
-        >
-          <el-option
-            v-for="dict in dict.type.sys_normal_disable"
-            :key="dict.value"
-            :label="dict.label"
-            :value="dict.value"
-          />
-        </el-select>
-      </el-form-item>
-      <el-form-item label="创建时间">
-        <el-date-picker
-          v-model="dateRange"
-          style="width: 240px"
-          value-format="yyyy-MM-dd"
-          type="daterange"
-          range-separator="-"
-          start-placeholder="开始日期"
-          end-placeholder="结束日期"
-        ></el-date-picker>
-      </el-form-item>
-      <el-form-item>
-        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
-        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
-      </el-form-item>
-    </el-form>
-
-    <el-row :gutter="10" class="mb8">
-      <el-col :span="1.5">
-        <el-button
-          type="primary"
-          plain
-          icon="el-icon-plus"
-          size="mini"
-          @click="handleAdd"
-          v-hasPermi="['system:dict:add']"
-        >新增</el-button>
-      </el-col>
-      <el-col :span="1.5">
-        <el-button
-          type="success"
-          plain
-          icon="el-icon-edit"
-          size="mini"
-          :disabled="single"
-          @click="handleUpdate"
-          v-hasPermi="['system:dict:edit']"
-        >修改</el-button>
-      </el-col>
-      <el-col :span="1.5">
-        <el-button
-          type="danger"
-          plain
-          icon="el-icon-delete"
-          size="mini"
-          :disabled="multiple"
-          @click="handleDelete"
-          v-hasPermi="['system:dict:remove']"
-        >删除</el-button>
-      </el-col>
-      <el-col :span="1.5">
-        <el-button
-          type="warning"
-          plain
-          icon="el-icon-download"
-          size="mini"
-          @click="handleExport"
-          v-hasPermi="['system:dict:export']"
-        >导出</el-button>
-      </el-col>
-      <el-col :span="1.5">
-        <el-button
-          type="danger"
-          plain
-          icon="el-icon-refresh"
-          size="mini"
-          @click="handleRefreshCache"
-          v-hasPermi="['system:dict:remove']"
-        >刷新缓存</el-button>
-      </el-col>
-      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
-    </el-row>
-
-    <el-table v-loading="loading" :data="typeList" @selection-change="handleSelectionChange">
-      <el-table-column type="selection" width="55" align="center" />
-      <el-table-column label="字典编号" align="center" prop="dictId" />
-      <el-table-column label="字典名称" align="center" prop="dictName" :show-overflow-tooltip="true" />
-      <el-table-column label="字典类型" align="center" :show-overflow-tooltip="true">
-        <template slot-scope="scope">
-          <router-link :to="'/system/dict-data/index/' + scope.row.dictId" class="link-type">
-            <span>{{ scope.row.dictType }}</span>
-          </router-link>
-        </template>
-      </el-table-column>
-      <el-table-column label="状态" align="center" prop="status">
-        <template slot-scope="scope">
-          <dict-tag :options="dict.type.sys_normal_disable" :value="scope.row.status"/>
-        </template>
-      </el-table-column>
-      <el-table-column label="备注" align="center" prop="remark" :show-overflow-tooltip="true" />
-      <el-table-column label="创建时间" align="center" prop="createTime" width="180">
-        <template slot-scope="scope">
-          <span>{{ parseTime(scope.row.createTime) }}</span>
-        </template>
-      </el-table-column>
-      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
-        <template slot-scope="scope">
-          <el-button
-            size="mini"
-            type="text"
-            icon="el-icon-edit"
-            @click="handleUpdate(scope.row)"
-            v-hasPermi="['system:dict:edit']"
-          >修改</el-button>
-          <el-button
-            size="mini"
-            type="text"
-            icon="el-icon-delete"
-            @click="handleDelete(scope.row)"
-            v-hasPermi="['system:dict:remove']"
-          >删除</el-button>
-        </template>
-      </el-table-column>
-    </el-table>
-
-    <pagination
-      v-show="total>0"
-      :total="total"
-      :page.sync="queryParams.pageNum"
-      :limit.sync="queryParams.pageSize"
-      @pagination="getList"
-    />
+  <div class="app-container  infinite-list"  >
+    <div >
+		<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
+		  <el-form-item label="字典名称" prop="dictName">
+		    <el-input
+		      v-model="queryParams.dictName"
+		      placeholder="请输入字典名称"
+		      clearable
+		      style="width: 240px"
+		      @keyup.enter.native="handleQuery"
+		    />
+		  </el-form-item>
+		  <el-form-item label="字典类型" prop="dictType">
+		    <el-input
+		      v-model="queryParams.dictType"
+		      placeholder="请输入字典类型"
+		      clearable
+		      style="width: 240px"
+		      @keyup.enter.native="handleQuery"
+		    />
+		  </el-form-item>
+		  <el-form-item label="状态" prop="status">
+		    <el-select
+		      v-model="queryParams.status"
+		      placeholder="字典状态"
+		      clearable
+		      style="width: 240px"
+		    >
+		      <el-option
+		        v-for="dict in dict.type.sys_normal_disable"
+		        :key="dict.value"
+		        :label="dict.label"
+		        :value="dict.value"
+		      />
+		    </el-select>
+		  </el-form-item>
+		  <el-form-item label="创建时间">
+		    <el-date-picker
+		      v-model="dateRange"
+		      style="width: 240px"
+		      value-format="yyyy-MM-dd"
+		      type="daterange"
+		      range-separator="-"
+		      start-placeholder="开始日期"
+		      end-placeholder="结束日期"
+		    ></el-date-picker>
+		  </el-form-item>
+		  <el-form-item>
+		    <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
+		    <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
+		  </el-form-item>
+		</el-form>
+		
+		<el-row :gutter="10" class="mb8">
+		  <el-col :span="1.5">
+		    <el-button
+		      type="primary"
+		      plain
+		      icon="el-icon-plus"
+		      size="mini"
+		      @click="handleAdd"
+		      v-hasPermi="['system:dict:add']"
+		    >新增</el-button>
+		  </el-col>
+		  <el-col :span="1.5">
+		    <el-button
+		      type="success"
+		      plain
+		      icon="el-icon-edit"
+		      size="mini"
+		      :disabled="single"
+		      @click="handleUpdate"
+		      v-hasPermi="['system:dict:edit']"
+		    >修改</el-button>
+		  </el-col>
+		  <el-col :span="1.5">
+		    <el-button
+		      type="danger"
+		      plain
+		      icon="el-icon-delete"
+		      size="mini"
+		      :disabled="multiple"
+		      @click="handleDelete"
+		      v-hasPermi="['system:dict:remove']"
+		    >删除</el-button>
+		  </el-col>
+		  <el-col :span="1.5">
+		    <el-button
+		      type="warning"
+		      plain
+		      icon="el-icon-download"
+		      size="mini"
+		      @click="handleExport"
+		      v-hasPermi="['system:dict:export']"
+		    >导出</el-button>
+		  </el-col>
+		  <el-col :span="1.5">
+		    <el-button
+		      type="danger"
+		      plain
+		      icon="el-icon-refresh"
+		      size="mini"
+		      @click="handleRefreshCache"
+		      v-hasPermi="['system:dict:remove']"
+		    >刷新缓存</el-button>
+		  </el-col>
+		  <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+		</el-row>
+		
+		<el-table :height="tableMaxHeight" v-loading="loading" :data="typeList" @selection-change="handleSelectionChange">
+		  <el-table-column type="selection" width="55" align="center" />
+		  <el-table-column label="字典编号" align="center" prop="dictId" />
+		  <el-table-column label="字典名称" align="center" prop="dictName" :show-overflow-tooltip="true" />
+		  <el-table-column label="字典类型" align="center" :show-overflow-tooltip="true">
+		    <template slot-scope="scope">
+		      <router-link :to="'/system/dict-data/index/' + scope.row.dictId" class="link-type">
+		        <span>{{ scope.row.dictType }}</span>
+		      </router-link>
+		    </template>
+		  </el-table-column>
+		  <el-table-column label="状态" align="center" prop="status">
+		    <template slot-scope="scope">
+		      <dict-tag :options="dict.type.sys_normal_disable" :value="scope.row.status"/>
+		    </template>
+		  </el-table-column>
+		  <el-table-column label="备注" align="center" prop="remark" :show-overflow-tooltip="true" />
+		  <el-table-column label="创建时间" align="center" prop="createTime" width="180">
+		    <template slot-scope="scope">
+		      <span>{{ parseTime(scope.row.createTime) }}</span>
+		    </template>
+		  </el-table-column>
+		  <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+		    <template slot-scope="scope">
+		      <el-button
+		        size="mini"
+		        type="text"
+		        icon="el-icon-edit"
+		        @click="handleUpdate(scope.row)"
+		        v-hasPermi="['system:dict:edit']"
+		      >修改</el-button>
+		      <el-button
+		        size="mini"
+		        type="text"
+		        icon="el-icon-delete"
+		        @click="handleDelete(scope.row)"
+		        v-hasPermi="['system:dict:remove']"
+		      >删除</el-button>
+		    </template>
+		  </el-table-column>
+		</el-table>
+		
+		<pagination
+		  v-show="total>0"
+		  :total="total"
+		  :page.sync="queryParams.pageNum"
+		  :limit.sync="queryParams.pageSize"
+		  @pagination="getList"
+		/>
+	</div>
 
     <!-- 添加或修改参数配置对话框 -->
     <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
@@ -233,11 +235,22 @@ export default {
         dictType: [
           { required: true, message: "字典类型不能为空", trigger: "blur" }
         ]
-      }
+      },
+	  tableMaxHeight:'200',
     }
   },
   created() {
     this.getList()
+	window.onresize = () => {
+	   	      this.changeTableMaxHeight()
+	   	    }
+	   	    this.changeTableMaxHeight()
+  },
+  mounted() {
+  	window.onresize = () => {
+  	          this.changeTableMaxHeight()
+  	        }
+  	        this.changeTableMaxHeight()
   },
   methods: {
     /** 查询字典类型列表 */
@@ -341,7 +354,21 @@ export default {
         this.$modal.msgSuccess("刷新成功")
         this.$store.dispatch('dict/cleanDict')
       })
-    }
+    },
+	// 获取屏幕高度
+	        showFilterForm () {
+	              this.filterActive = !this.filterActive
+	              this.changeTableMaxHeight()
+	            },
+	            changeTableMaxHeight () {
+	              let height = document.body.offsetHeight // 网页可视区域高度
+	              // if (this.filterActive) {
+	              //   this.tableMaxHeight = height - 320
+	              // } else {
+	                this.tableMaxHeight = height - 190
+	              // }
+	              console.log(height)
+	            }
   }
 }
 </script>

Некоторые файлы не были показаны из-за большого количества измененных файлов