From c4026ef9acccb528f348e2b043285282780dcc66 Mon Sep 17 00:00:00 2001
From: LiJinHui <166460433+stu-rgsze@users.noreply.github.com>
Date: Fri, 10 Oct 2025 10:02:11 +0800
Subject: [PATCH 1/4] =?UTF-8?q?=E6=A0=B7=E5=BC=8F=E7=9A=84=E6=81=A2?=
=?UTF-8?q?=E5=A4=8D=E5=92=8C=E8=B0=83=E6=95=B4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
main/manager-web/src/components/HeaderBar.vue | 28 +++++++++++++++++--
1 file changed, 26 insertions(+), 2 deletions(-)
diff --git a/main/manager-web/src/components/HeaderBar.vue b/main/manager-web/src/components/HeaderBar.vue
index 9bdd020a..144ce21e 100644
--- a/main/manager-web/src/components/HeaderBar.vue
+++ b/main/manager-web/src/components/HeaderBar.vue
@@ -119,7 +119,7 @@
{{ userInfo.username || '加载中...' }}
-
+
\ No newline at end of file
From 9cffc8b0eca5484688de6241e10096a9d6ef6cfc Mon Sep 17 00:00:00 2001
From: LiJinHui <166460433+stu-rgsze@users.noreply.github.com>
Date: Sat, 11 Oct 2025 09:26:08 +0800
Subject: [PATCH 2/4] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=BA=A4=E4=BA=92bug?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
main/manager-web/src/components/HeaderBar.vue | 76 ++++++++++++++-----
1 file changed, 57 insertions(+), 19 deletions(-)
diff --git a/main/manager-web/src/components/HeaderBar.vue b/main/manager-web/src/components/HeaderBar.vue
index 144ce21e..b1e2eea3 100644
--- a/main/manager-web/src/components/HeaderBar.vue
+++ b/main/manager-web/src/components/HeaderBar.vue
@@ -425,6 +425,7 @@ export default {
handleVoiceCloneDropdownVisibleChange(visible) {
this.voiceCloneDropdownVisible = visible;
},
+ // 在data中添加一个key用于强制重新渲染组件
// 处理 Cascader 选择变化
handleCascaderChange(value) {
if (!value || value.length === 0) {
@@ -436,34 +437,71 @@ export default {
// 处理语言切换
if (value.length === 2 && value[0] === 'language') {
this.changeLanguage(action);
- return;
+ } else {
+ // 处理其他操作
+ switch (action) {
+ case 'changePassword':
+ this.showChangePasswordDialog();
+ break;
+ case 'logout':
+ this.handleLogout();
+ break;
+ }
}
-
- // 处理其他操作
- switch (action) {
- case 'changePassword':
- this.showChangePasswordDialog();
- break;
- case 'logout':
- this.handleLogout();
- break;
+
+ // 操作完成后立即清空选择
+ setTimeout(() => {
+ this.completeResetCascader();
+ }, 300);
+ },
+
+ // 完全重置级联选择器
+ completeResetCascader() {
+ if (this.$refs.userCascader) {
+ try {
+ // 尝试所有可能的方法来清空选择
+ // 1. 尝试使用组件提供的clearValue方法
+ if (this.$refs.userCascader.clearValue) {
+ this.$refs.userCascader.clearValue();
+ }
+
+ // 2. 直接清空内部属性
+ if (this.$refs.userCascader.$data) {
+ this.$refs.userCascader.$data.selectedPaths = [];
+ this.$refs.userCascader.$data.displayLabels = [];
+ this.$refs.userCascader.$data.inputValue = '';
+ this.$refs.userCascader.$data.checkedValue = [];
+ this.$refs.userCascader.$data.showAllLevels = false;
+ }
+
+ // 3. 操作DOM清除选中状态
+ const menuElement = this.$refs.userCascader.$refs.menu;
+ if (menuElement && menuElement.$el) {
+ const activeItems = menuElement.$el.querySelectorAll('.el-cascader-node.is-active');
+ activeItems.forEach(item => item.classList.remove('is-active'));
+
+ const checkedItems = menuElement.$el.querySelectorAll('.el-cascader-node.is-checked');
+ checkedItems.forEach(item => item.classList.remove('is-checked'));
+ }
+
+ console.log('Cascader values cleared');
+ } catch (error) {
+ console.error('清空选择值失败:', error);
+ }
}
},
- // 切换语言
- changeLanguage(lang) {
- changeLanguage(lang);
- this.$message.success({
- message: this.$t('message.success'),
- showClose: true
- });
- },
-
+
// 点击头像触发cascader下拉菜单
handleAvatarClick() {
if (this.$refs.userCascader) {
// 切换菜单可见状态
this.userMenuVisible = !this.userMenuVisible;
+ // 菜单收起时清空选择值
+ if (!this.userMenuVisible) {
+ this.completeResetCascader();
+ }
+
// 直接设置菜单的显隐状态
try {
// 尝试使用toggleDropDownVisible方法
From 13ae5e3ade939a9cc866d46336c97288fafd9b8f Mon Sep 17 00:00:00 2001
From: LiJinHui <166460433+stu-rgsze@users.noreply.github.com>
Date: Sat, 11 Oct 2025 15:02:01 +0800
Subject: [PATCH 3/4] =?UTF-8?q?=E8=A1=A5=E5=85=85=E6=A0=B7=E5=BC=8F?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
main/manager-web/src/components/HeaderBar.vue | 481 ++++++++++++------
1 file changed, 322 insertions(+), 159 deletions(-)
diff --git a/main/manager-web/src/components/HeaderBar.vue b/main/manager-web/src/components/HeaderBar.vue
index b1e2eea3..f6a0a64a 100644
--- a/main/manager-web/src/components/HeaderBar.vue
+++ b/main/manager-web/src/components/HeaderBar.vue
@@ -9,80 +9,183 @@