From e6acb5040b0d5cea2a0f3ee8834ed8d7d1534cce Mon Sep 17 00:00:00 2001
From: renna <576157508@qq.com>
Date: Thu, 19 Jun 2025 10:56:53 +0800
Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=B7=AF=E7=94=B1=E4=BB=A5?=
=?UTF-8?q?=E5=8F=8Atags?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
README.md | 27 +
src/App.vue | 18 +
src/assets/styles/btn.scss | 34 +
src/assets/styles/element-ui.scss | 72 +-
src/assets/styles/index.scss | 8 +-
src/assets/styles/ruoyi.scss | 39 +-
src/assets/styles/sidebar.scss | 31 +-
src/components/Pagination/index copy.vue | 108 ++
src/components/Pagination/index.vue | 317 ++++-
src/layout/components/AppMain.vue | 11 +-
src/layout/components/Navbar.vue | 35 +-
src/layout/components/Sidebar/index.vue | 14 +
src/layout/components/TagsView/index.vue | 584 ++++++++-
src/layout/components/TagsView/index原版.vue | 338 ++++++
src/layout/components/TagsView/index备份.vue | 647 ++++++++++
src/layout/index copy.vue | 124 --
src/layout/index.vue | 44 +-
src/permission.js | 27 +-
src/router/index.js | 91 ++
src/store/modules/permission.js | 54 +-
src/store/modules/tagsView.js | 39 +-
src/views/car/monitor/index.vue | 456 +++++++
src/views/car/park/index.vue | 7 +
src/views/car/type/index.vue | 7 +
src/views/monitor/cache/index.vue | 131 --
src/views/monitor/cache/list.vue | 246 ----
src/views/monitor/druid/index.vue | 13 -
src/views/monitor/index.vue | 456 +++++++
src/views/monitor/job/index.vue | 483 --------
src/views/monitor/job/log.vue | 277 -----
src/views/monitor/logininfor/index.vue | 224 ----
src/views/monitor/online/index.vue | 106 --
src/views/monitor/server/index.vue | 187 ---
src/views/platform/index.vue | 7 +
src/views/system/driver/index.vue | 596 +++++++++
.../{monitor => system}/operlog/index.vue | 2 +-
src/views/system/role/index.vue | 2 +-
src/views/system/user/index.vue | 1066 +++++++++--------
38 files changed, 4544 insertions(+), 2384 deletions(-)
create mode 100644 src/components/Pagination/index copy.vue
create mode 100644 src/layout/components/TagsView/index原版.vue
create mode 100644 src/layout/components/TagsView/index备份.vue
delete mode 100644 src/layout/index copy.vue
create mode 100644 src/views/car/monitor/index.vue
create mode 100644 src/views/car/park/index.vue
create mode 100644 src/views/car/type/index.vue
delete mode 100644 src/views/monitor/cache/index.vue
delete mode 100644 src/views/monitor/cache/list.vue
delete mode 100644 src/views/monitor/druid/index.vue
create mode 100644 src/views/monitor/index.vue
delete mode 100644 src/views/monitor/job/index.vue
delete mode 100644 src/views/monitor/job/log.vue
delete mode 100644 src/views/monitor/logininfor/index.vue
delete mode 100644 src/views/monitor/online/index.vue
delete mode 100644 src/views/monitor/server/index.vue
create mode 100644 src/views/platform/index.vue
create mode 100644 src/views/system/driver/index.vue
rename src/views/{monitor => system}/operlog/index.vue (99%)
diff --git a/README.md b/README.md
index a3def62..e007683 100644
--- a/README.md
+++ b/README.md
@@ -31,3 +31,30 @@ yarn dev
+我已经完成了路由配置的修改,实现了您描述的导航结构:
+顶部导航栏:
+平台概览
+车辆管理
+系统管理
+左侧导航栏:
+点击平台概览时不显示左侧导航栏
+点击车辆管理时显示:
+车辆监控
+车辆管理
+ 车辆入库
+ 类型管理
+点击系统管理时显示:
+角色管理
+人员管理
+ 用户管理
+ 驾驶员管理
+ 菜单管理
+操作日志
+
+handleTabClick 点击事件处理的存在问题导致显示不对 之前的菜单是通过SidebarItem来获取的是吗?只是当前我想修改样式 并且将这个原始的导航栏分在不同的Tab栏展示 我觉得可以根据数据库获取到所有的菜单 然后再根据不同的Tab栏来确定是否显示呀
+
+
+点击平台概览:不显示标签
+,其余都不显示,只有点击二级菜单的时候才在右侧显示
+点击系统管理:只显示默认显示"角色管理"标签,其余都不显示只有点击二级菜单的时候才在右侧显示 先理解我的需求 不明白的问我
+现在我需要修改tagsView的展示:当我点击顶部导航栏车辆管理的时候 默认显示车辆监控5690E7(不可关闭),当我点击车辆管理下的车辆入库,则显示:车辆监控(白色) 车辆入库(5690E7),鼠标滑入显示车辆入库(5690E7)叉号(5690E7),点击叉号返回到车辆监控;点击车辆管理下的类型管理,则显示:车辆监控(白色) 类型管理(5690E7),鼠标滑入显示类型管理(5690E7)叉号(5690E7),点击叉号返回到车辆监控;点击系统管理默认显示角色管理5690E7(不可关闭),当我点击人员管理下的用户管理,则显示:角色管理(白色) 用户管理(5690E7),鼠标滑入显示用户管理(5690E7)叉号(5690E7),点击叉号返回到角色管理;当我点击人员管理下的驾驶员理,则显示:角色管理(白色) 驾驶员管理(5690E7),鼠标滑入显示驾驶员管理(5690E7)叉号(5690E7),点击叉号返回到角色管理;当我点击操作日志则显示:角色管理(白色) 操作日志(5690E7),鼠标滑入显示操作日志(5690E7)叉号(5690E7),点击叉号返回到角色管理 我们可以点击车辆管理:只默认显示"车辆监控"标签理解为将车辆管理下的车辆监控和系统管理下的角色管理作为首页来看
\ No newline at end of file
diff --git a/src/App.vue b/src/App.vue
index 31839f2..389e184 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -4,12 +4,30 @@
diff --git a/src/assets/styles/btn.scss b/src/assets/styles/btn.scss
index 3590d8d..dc57520 100644
--- a/src/assets/styles/btn.scss
+++ b/src/assets/styles/btn.scss
@@ -97,3 +97,37 @@
font-size: 14px;
border-radius: 4px;
}
+/* 全局设置 */
+/* 搜索按钮 */
+.search-btn {
+ width: 68px;
+ background: #347AE2 !important;
+ color: #fff !important;
+ border-radius: 8px !important;
+ height: 36px !important;
+ border: none !important;
+ font-size: 15px;
+ padding: 0 24px;
+}
+/* 重置按钮 */
+.reset-btn {
+ width: 68px;
+ background: rgba(52, 122, 226, 0.2) !important;
+ color: #fff !important;
+ border: 1px solid #347AE2 !important;
+ border-radius: 8px !important;
+ height: 36px !important;
+ font-size: 15px;
+ padding: 0 24px;
+}
+/* 导出按钮 */
+.export-btn {
+ width: 68px;
+ background: #343744 !important;
+ color: #fff !important;
+ border-radius: 8px !important;
+ height: 36px !important;
+ border: none !important;
+ font-size: 15px;
+ padding: 0 24px;
+}
\ No newline at end of file
diff --git a/src/assets/styles/element-ui.scss b/src/assets/styles/element-ui.scss
index 0f175f2..fbce840 100644
--- a/src/assets/styles/element-ui.scss
+++ b/src/assets/styles/element-ui.scss
@@ -45,13 +45,79 @@
}
}
}
-
+.el-input__wrapper{
+ background: #343744 !important;
+ border: none !important;
+ border-radius: 8px !important;
+ height: 36px !important;
+ font-size: 15px;
+ color: #96A0B5 !important;
+ box-shadow: none !important;
+}
+// 输入框 下拉框 搜索栏
+.el-input__wrapper:hover {
+ box-shadow: none !important;
+ }
+.el-select {
+ border:none !important;
+ width:140px !important;
+ // 修改el-select的输入框的border
+ --el-border-color-hover: #343744!important;
+ --el-border-color: #343744!important;
+
+ }
+.el-input__wrapper {
+ background: #343744 !important;
+ border: none !important;
+ border-radius: 8px !important;
+ height: 36px !important;
+ font-size: 15px;
+ color: #96A0B5 !important;
+ box-shadow: none !important;
+ }
+ .el-select__wrapper.is-focused {
+ box-shadow: none !important;
+ }
+ .el-select__wrapper {
+ background: #343744 !important;
+ color: #96A0B5 !important;
+ border-radius: 8px !important;
+ height: 36px !important;
+ width: 140px;
+ font-size: 15px;
+ border: none !important;
+ border:none !important;
+ }
+ .el-input__wrapper {
+ background: #343744 !important;
+ color: #96A0B5 !important;
+ border-radius: 8px !important;
+ height: 36px !important;
+ border: none !important;
+ box-shadow: none !important;
+
+ }
+ .el-select__placeholder {
+ color: #96A0B5 !important;
+ }
// to fixed https://github.com/ElemeFE/element/issues/2461
.el-dialog {
transform: none;
left: 0;
position: relative;
margin: 0 auto;
+ border-radius: 12px!important;
+ background: #292C38!important;
+ color: #fff!important;
+ .el-dialog__title {
+ color: #fff!important;
+ }
+ .el-dialog__headerbtn .el-dialog__close {
+ color: #fff!important;
+ }
+ .el-form-item__label {
+ color:rgba(255,255,255,0.6)!important;
+ }
}
// refine element ui upload
@@ -93,4 +159,6 @@
.el-dropdown .el-dropdown-link{
color: var(--el-color-primary) !important;
-}
\ No newline at end of file
+}
+
+
diff --git a/src/assets/styles/index.scss b/src/assets/styles/index.scss
index 29dd2b9..1f8eb78 100644
--- a/src/assets/styles/index.scss
+++ b/src/assets/styles/index.scss
@@ -124,6 +124,8 @@ aside {
//main-container全局样式
.app-container {
padding: 20px;
+ // min-height: calc(100vh - 150px)!important;
+
}
.components-container {
@@ -131,9 +133,9 @@ aside {
position: relative;
}
-.pagination-container {
- margin-top: 30px;
-}
+// .pagination-container {
+// margin-top: 30px;
+// }
.text-center {
text-align: center
diff --git a/src/assets/styles/ruoyi.scss b/src/assets/styles/ruoyi.scss
index 88f3702..e10ee33 100644
--- a/src/assets/styles/ruoyi.scss
+++ b/src/assets/styles/ruoyi.scss
@@ -75,6 +75,7 @@
}
.el-table {
+ min-height: calc(100vh - 310px)!important;
.el-table__header-wrapper, .el-table__fixed-header-wrapper {
th {
word-break: break-word;
@@ -101,13 +102,13 @@
}
/** 表格布局 **/
-.pagination-container {
- // position: relative;
- height: 25px;
- margin-bottom: 10px;
- margin-top: 15px;
- padding: 10px 20px !important;
-}
+// .pagination-container {
+// // position: relative;
+// height: 25px;
+// margin-bottom: 10px;
+// margin-top: 15px;
+// padding: 10px 20px !important;
+// }
/* tree border */
.tree-border {
@@ -118,19 +119,19 @@
width: 100%;
}
-.pagination-container .el-pagination {
- right: 0;
- position: absolute;
-}
+// .pagination-container .el-pagination {
+// right: 0;
+// position: absolute;
+// }
-@media ( max-width : 768px) {
- .pagination-container .el-pagination > .el-pagination__jump {
- display: none !important;
- }
- .pagination-container .el-pagination > .el-pagination__sizes {
- display: none !important;
- }
-}
+// @media ( max-width : 768px) {
+// .pagination-container .el-pagination > .el-pagination__jump {
+// display: none !important;
+// }
+// .pagination-container .el-pagination > .el-pagination__sizes {
+// display: none !important;
+// }
+// }
.el-table .fixed-width .el-button--small {
padding-left: 0;
diff --git a/src/assets/styles/sidebar.scss b/src/assets/styles/sidebar.scss
index 0808812..9a049bb 100644
--- a/src/assets/styles/sidebar.scss
+++ b/src/assets/styles/sidebar.scss
@@ -68,12 +68,14 @@
border: none;
height: 100%;
width: 100% !important;
+
}
-
+
.el-menu-item, .menu-title {
overflow: hidden !important;
text-overflow: ellipsis !important;
white-space: nowrap !important;
+
}
.el-menu-item .el-menu-tooltip__trigger {
@@ -83,6 +85,7 @@
// menu hover
.sub-menu-title-noDropdown,
.el-sub-menu__title {
+
&:hover {
background-color: rgba(0, 0, 0, 0.06) !important;
}
@@ -90,6 +93,7 @@
& .theme-dark .is-active > .el-sub-menu__title {
color: $base-menu-color-active !important;
+
}
& .nest-menu .el-sub-menu>.el-sub-menu__title,
@@ -211,9 +215,32 @@
.nest-menu .el-sub-menu>.el-sub-menu__title,
.el-menu-item {
+ // border: 1px solid red!important;
+ border-radius: 10px!important;
&:hover {
// you can use $sub-menuHover
- background-color: rgba(0, 0, 0, 0.06) !important;
+ background-color: #343744!important;
+ }
+ &.is-active{
+ background-color: #343744!important;
+ .svg-icon{
+ color: #347AE2 !important;
+ }
+ }
+ }
+
+ .el-sub-menu >.el-sub-menu__title{
+ // border: 1px solid red!important;
+ border-radius: 10px!important;
+ &:hover {
+ // you can use $sub-menuHover
+ background-color: #343744!important;
+ }
+ &.is-active{
+ background-color: #343744!important;
+ .svg-icon{
+ color: #347AE2 !important;
+ }
}
}
diff --git a/src/components/Pagination/index copy.vue b/src/components/Pagination/index copy.vue
new file mode 100644
index 0000000..92ca3c1
--- /dev/null
+++ b/src/components/Pagination/index copy.vue
@@ -0,0 +1,108 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/components/Pagination/index.vue b/src/components/Pagination/index.vue
index 38de953..8ca2ec5 100644
--- a/src/components/Pagination/index.vue
+++ b/src/components/Pagination/index.vue
@@ -1,10 +1,12 @@
-