diff --git a/package.json b/package.json
index 696916f..e5e4ec3 100644
--- a/package.json
+++ b/package.json
@@ -30,7 +30,6 @@
"jsencrypt": "3.3.2",
"nprogress": "0.2.0",
"pinia": "3.0.4",
- "splitpanes": "4.0.4",
"vue": "3.5.26",
"vue-cropper": "1.1.1",
"vue-router": "4.6.4",
diff --git a/src/assets/styles/ruoyi.scss b/src/assets/styles/ruoyi.scss
index eb27307..87bdf3d 100644
--- a/src/assets/styles/ruoyi.scss
+++ b/src/assets/styles/ruoyi.scss
@@ -332,6 +332,28 @@
display: block;
}
+/* tree-sidebar content */
+.tree-sidebar-manage-wrap {
+ display: flex;
+ gap: 0;
+ min-height: calc(100vh - 130px);
+ padding: 0 !important;
+ overflow: hidden;
+}
+
+.tree-sidebar-content {
+ flex: 1;
+ min-width: 0;
+ overflow: hidden;
+ background: #fff;
+
+ .content-inner {
+ padding: 12px 16px;
+ height: 100%;
+ overflow-y: auto;
+ }
+}
+
/* error */
.error-title { color: #c0392b !important; }
.error-title i { color: #c0392b !important; }
@@ -415,8 +437,3 @@
.top-right-btn {
margin-left: auto;
}
-
-/* 分割面板样式 */
-.splitpanes.default-theme .splitpanes__pane {
- background-color: var(--splitpanes-default-bg) !important;
-}
diff --git a/src/assets/styles/variables.module.scss b/src/assets/styles/variables.module.scss
index 1f34402..aaf9b2b 100644
--- a/src/assets/styles/variables.module.scss
+++ b/src/assets/styles/variables.module.scss
@@ -194,25 +194,36 @@ html.dark {
}
/* 分割窗格覆盖 */
- .splitpanes {
- background-color: var(--splitpanes-bg);
-
- .splitpanes__pane {
- background-color: var(--splitpanes-bg);
- border-color: var(--splitpanes-border);
+ .tree-sidebar-manage-wrap {
+ .tree-sidebar-content {
+ background: var(--splitpanes-bg);
}
-
- .splitpanes__splitter {
- background-color: var(--splitpanes-splitter-bg);
- border-color: var(--splitpanes-border);
-
- &:hover {
- background-color: var(--splitpanes-splitter-hover-bg);
+ .tree-sidebar {
+ border-right: 1px solid var(--splitpanes-splitter-bg);
+ background: var(--splitpanes-bg);
+ .tree-header {
+ background: var(--splitpanes-bg);
+ border-color: var(--splitpanes-border);
}
-
- &:before,
- &:after {
- background-color: var(--splitpanes-border);
+ .tree-title {
+ color: var(--el-color-primary-light-2);
+ }
+ .collapse-button-container {
+ background: var(--splitpanes-bg) !important;
+ }
+ .collapse-button {
+ &:hover {
+ color: var(--el-color-primary-light-2);
+ background: var(--splitpanes-bg);
+ }
+ }
+ .resize-handle {
+ &:hover {
+ background: var(--splitpanes-splitter-hover-bg);
+ }
+ &.active {
+ background: var(--splitpanes-splitter-hover-bg);
+ }
}
}
}
diff --git a/src/components/TreePanel/index.vue b/src/components/TreePanel/index.vue
new file mode 100644
index 0000000..513b8e3
--- /dev/null
+++ b/src/components/TreePanel/index.vue
@@ -0,0 +1,756 @@
+
+
+
+
+
+
+
diff --git a/src/views/system/user/index.vue b/src/views/system/user/index.vue
index 5b0bbbe..0ccbef0 100644
--- a/src/views/system/user/index.vue
+++ b/src/views/system/user/index.vue
@@ -1,105 +1,90 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 搜索
- 重置
-
-
+