From febbb83dad05c73d5c9dc7a8c51629f82af77523 Mon Sep 17 00:00:00 2001
From: zhouyanli <593579392@qq.com>
Date: Tue, 13 Oct 2026 08:01:47 +0800
Subject: [PATCH] =?UTF-8?q?=E6=90=AD=E5=BB=BA=E9=A1=B5=E9=9D=A2=E9=AA=A8?=
=?UTF-8?q?=E6=9E=B6=EF=BC=8C=E5=86=99=E8=B4=A6=E5=8F=B7=E7=AE=A1=E7=90=86?=
=?UTF-8?q?=E5=92=8C=E8=AE=BE=E5=A4=87=E7=AE=A1=E7=90=86?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.env.development | 4 +-
.env.production | 4 +-
src/components/Breadcrumb/index.vue | 14 +-
src/layout/components/Navbar.vue | 8 +-
src/layout/components/TagsView/index.vue | 2 +-
src/permission.ts | 18 +-
src/router/index.ts | 16 +-
src/store/modules/permission.ts | 4 +-
src/views/error/404.vue | 2 +-
src/views/index.vue | 370 -----------------------
src/views/login.vue | 144 +--------
src/views/system/user/index.vue | 207 +++++--------
vite.config.ts | 2 +-
13 files changed, 124 insertions(+), 671 deletions(-)
delete mode 100644 src/views/index.vue
diff --git a/.env.development b/.env.development
index 5bfb9da..40876f3 100644
--- a/.env.development
+++ b/.env.development
@@ -1,6 +1,6 @@
# 页面标题
-VITE_APP_TITLE = RuoYi-Vue-Plus后台管理系统
-VITE_APP_LOGO_TITLE = RuoYi-Vue-Plus
+VITE_APP_TITLE = 水电表充值管理平台
+VITE_APP_LOGO_TITLE = 水电表充值管理平台
# 开发环境配置
VITE_APP_ENV = 'development'
diff --git a/.env.production b/.env.production
index 45011d8..b56ac61 100644
--- a/.env.production
+++ b/.env.production
@@ -1,6 +1,6 @@
# 页面标题
-VITE_APP_TITLE = RuoYi-Vue-Plus后台管理系统
-VITE_APP_LOGO_TITLE = RuoYi-Vue-Plus
+VITE_APP_TITLE = 水电表充值管理平台
+VITE_APP_LOGO_TITLE = 水电表充值管理平台
# 生产环境配置
VITE_APP_ENV = 'production'
diff --git a/src/components/Breadcrumb/index.vue b/src/components/Breadcrumb/index.vue
index 791ae5f..5343709 100644
--- a/src/components/Breadcrumb/index.vue
+++ b/src/components/Breadcrumb/index.vue
@@ -35,16 +35,14 @@ const getBreadcrumb = () => {
} else {
matched = route.matched.filter(item => item.meta && item.meta.title);
}
- // 判断是否为首页
- if (!isDashboard(matched[0])) {
- matched = [{ path: '/index', meta: { title: '首页' } }].concat(matched);
- }
levelList.value = matched.filter(item => item.meta && item.meta.title && item.meta.breadcrumb !== false);
};
+
const findPathNum = (str, char = '/') => {
if (typeof str !== 'string' || str.length === 0) return 0;
return str.split(char).length - 1;
};
+
const getMatched = (pathList, routeList, matched) => {
const data = routeList.find(item => item.path == pathList[0] || (item.name += '').toLowerCase() == pathList[0]);
if (data) {
@@ -55,13 +53,7 @@ const getMatched = (pathList, routeList, matched) => {
}
}
};
-const isDashboard = (route: RouteLocationMatched) => {
- const name = route && (route.name as string);
- if (!name) {
- return false;
- }
- return name.trim() === 'Index';
-};
+
const handleLink = item => {
const { redirect, path } = item;
redirect ? router.push(redirect) : router.push(path);
diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue
index 35eaa12..49d6117 100644
--- a/src/layout/components/Navbar.vue
+++ b/src/layout/components/Navbar.vue
@@ -25,11 +25,11 @@
diff --git a/src/views/index.vue b/src/views/index.vue
deleted file mode 100644
index 7934314..0000000
--- a/src/views/index.vue
+++ /dev/null
@@ -1,370 +0,0 @@
-
-
-
-
-
RuoYi-Vue-Plus 控制台
-
- 企业级后台管理系统 重写 RuoYi-Vue 所有功能 集成 Sa-Token、Mybatis-Plus、WarmFlow、SpringDoc、Hutool、OSS
- 等组件
-
-
- 查看源码
-
- 更新日志
-
-
-
-
-
-
-
-
-
-
-
-
-
{{ product.name }}
-
{{ product.summary }}
-
-
{{ product.version }}
-
-
- {{ tag }}
-
-
-
- {{ product.primaryLabel }}
-
- {{ product.secondaryLabel }}
-
-
-
-
-
-
-
-
-
- {{ group.title }}
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/views/login.vue b/src/views/login.vue
index e360dcf..c67483f 100644
--- a/src/views/login.vue
+++ b/src/views/login.vue
@@ -1,25 +1,6 @@
-
- Plus UI Workspace
- 企业级后台管理系统
-
- 真正面向企业级的应用框架 组件化 模块化 轻耦合 高扩展 针对企业痛点 业界一流技术栈
-
- 重写 RuoYi-Vue 所有功能 集成 Sa-Token、Mybatis-Plus、WarmFlow、SpringDoc、Hutool、OSS 定期同步。
-
-
- {{ item }}
-
-
-
- {{ item.value }}
- {{ item.label }}
-
-
-
-
@@ -77,7 +58,7 @@
-
+
@@ -124,19 +105,13 @@ import { useUserStore } from '@/store/modules/user';
const title = import.meta.env.VITE_APP_TITLE;
const currentYear = new Date().getFullYear();
-const quickStats = [
- { label: '细粒度权限管理', value: '动态权限控制' },
- { label: '主流技术栈', value: '全栈技术集成' },
- { label: 'UI样式', value: '卡片式' }
-];
-const highlights = ['技术栈全面升级', '动态菜单', '多主题布局', '深浅色主题'];
const userStore = useUserStore();
const router = useRouter();
const { t } = useI18n();
const loginForm = ref({
- username: 'admin',
- password: 'admin123',
+ username: '',
+ password: '',
rememberMe: false,
code: '',
uuid: ''
@@ -226,8 +201,9 @@ const getLoginData = () => {
const rememberMe = localStorage.getItem('rememberMe');
localStorage.removeItem('password');
loginForm.value = {
- username: username === null ? String(loginForm.value.username) : username,
- password: username === null ? String(loginForm.value.password) : '',
+ // 仅回填勾选“记住密码”时保存的用户名,密码一律不回填
+ username: username === null ? '' : username,
+ password: '',
rememberMe: rememberMe === 'true'
} as LoginData;
};
@@ -264,102 +240,18 @@ onMounted(() => {
.login-shell {
width: min(1180px, 100%);
display: grid;
- grid-template-columns: minmax(0, 1.05fr) minmax(360px, 440px);
+ grid-template-columns: minmax(0, 440px);
+ justify-content: center;
gap: 26px;
align-items: stretch;
}
-.login-brand,
.login-form {
+ width: 100%;
border-radius: 28px;
border: 1px solid rgba(255, 255, 255, 0.14);
box-shadow: 0 30px 80px rgba(2, 8, 23, 0.32);
backdrop-filter: blur(18px);
-}
-
-.login-brand {
- padding: 42px;
- display: flex;
- flex-direction: column;
- justify-content: space-between;
- color: #eef4ff;
- background:
- linear-gradient(180deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.02)),
- linear-gradient(135deg, rgba(53, 109, 255, 0.32), rgba(15, 23, 42, 0.24));
-}
-
-.brand-pill {
- display: inline-flex;
- align-items: center;
- width: fit-content;
- padding: 8px 14px;
- border-radius: 999px;
- background: rgba(255, 255, 255, 0.12);
- color: rgba(255, 255, 255, 0.9);
- font-size: 12px;
- letter-spacing: 0.08em;
- text-transform: uppercase;
-}
-
-.brand-title {
- margin: 22px 0 14px;
- font-size: clamp(34px, 4vw, 52px);
- line-height: 1.08;
- letter-spacing: -0.03em;
-}
-
-.brand-desc {
- margin: 0;
- max-width: 580px;
- color: rgba(226, 232, 240, 0.88);
- font-size: 15px;
- line-height: 1.8;
-}
-
-.brand-highlights {
- display: flex;
- flex-wrap: wrap;
- gap: 10px;
- margin: 28px 0 34px;
-}
-
-.highlight-chip {
- padding: 9px 14px;
- border-radius: 999px;
- background: rgba(255, 255, 255, 0.08);
- border: 1px solid rgba(255, 255, 255, 0.12);
- color: #f8fbff;
- font-size: 13px;
-}
-
-.brand-metrics {
- display: grid;
- grid-template-columns: repeat(3, minmax(0, 1fr));
- gap: 12px;
-}
-
-.metric-card {
- padding: 18px 16px;
- border-radius: 20px;
- background: rgba(255, 255, 255, 0.08);
- border: 1px solid rgba(255, 255, 255, 0.08);
- display: flex;
- flex-direction: column;
- gap: 6px;
-
- strong {
- font-size: 24px;
- color: #fff;
- }
-
- span {
- color: rgba(226, 232, 240, 0.72);
- font-size: 13px;
- }
-}
-
-.login-form {
- width: 100%;
padding: 34px 30px 26px;
z-index: 1;
background: var(--app-surface-bg);
@@ -536,25 +428,9 @@ onMounted(() => {
.login {
padding: 24px 14px 80px;
}
-
- .login-shell {
- grid-template-columns: 1fr;
- }
-
- .login-brand {
- padding: 28px 24px;
- }
-
- .brand-metrics {
- grid-template-columns: 1fr;
- }
}
@media (max-width: 640px) {
- .login-brand {
- display: none;
- }
-
.login-form {
padding: 26px 18px 20px;
}
diff --git a/src/views/system/user/index.vue b/src/views/system/user/index.vue
index 1fbaaa3..19402a0 100644
--- a/src/views/system/user/index.vue
+++ b/src/views/system/user/index.vue
@@ -1,22 +1,7 @@
-
-
-
+
@@ -28,30 +13,30 @@
-
+
-
+
-
+
@@ -63,7 +48,7 @@
/>
-
+
搜索
重置
@@ -114,7 +99,7 @@
>
删除
-
解锁
-
-
+ -->
+
-
+
@@ -178,27 +163,35 @@
+
+
-
+
-
-
-
+
+
+
-
+
+
+
+
+
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ dict.label }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ dict.label }}
+
+
+
+
+
+
+