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 @@
-
- - {{ $t('header.smartManagement') }} +
+ + {{ $t("header.smartManagement") }}
-
- - {{ $t('header.voiceCloneManagement') }} +
+ + {{ $t("header.voiceCloneManagement") }}
- + - - {{ $t('header.voiceCloneManagement') }} - + + {{ $t("header.voiceCloneManagement") }} + - {{ $t('header.voiceCloneManagement') }} + {{ $t("header.voiceCloneManagement") }} - {{ $t('header.voiceResourceManagement') }} + {{ $t("header.voiceResourceManagement") }} -
- - {{ $t('header.modelConfig') }} +
+ + {{ $t("header.modelConfig") }}
-
- - {{ $t('header.userManagement') }} +
+ + {{ $t("header.userManagement") }}
- + - - {{ $t('header.paramDictionary') }} - + + {{ $t("header.paramDictionary") }} + - {{ $t('header.otaManagement') }} + {{ $t("header.otaManagement") }} - {{ $t('header.paramManagement') }} + {{ $t("header.paramManagement") }} - {{ $t('header.dictManagement') }} + {{ $t("header.dictManagement") }} - {{ $t('header.providerManagement') }} + {{ $t("header.providerManagement") }} - {{ $t('header.agentTemplate') }} + {{ $t("header.agentTemplate") }} - {{ $t('header.serverSideManagement') }} + {{ $t("header.serverSideManagement") }} @@ -90,40 +193,84 @@
-
+
- - + + -
+
- {{ $t('header.searchHistory') }} - - {{ $t('header.clearHistory') }} + {{ $t("header.searchHistory") }} + + {{ $t("header.clearHistory") }}
-
+
{{ item }} - +
- + - {{ userInfo.username || '加载中...' }} - + {{ userInfo.username || "加载中..." }} + - + @@ -137,23 +284,23 @@ \ No newline at end of file + From 1ec8f639cbd8410a153fa881280b589ee93b4959 Mon Sep 17 00:00:00 2001 From: LiJinHui <166460433+stu-rgsze@users.noreply.github.com> Date: Sat, 11 Oct 2025 15:28:53 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E8=A1=A5=E5=85=85=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- main/manager-web/src/components/HeaderBar.vue | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/main/manager-web/src/components/HeaderBar.vue b/main/manager-web/src/components/HeaderBar.vue index f6a0a64a..bea94167 100644 --- a/main/manager-web/src/components/HeaderBar.vue +++ b/main/manager-web/src/components/HeaderBar.vue @@ -269,6 +269,7 @@ style="width: 0px; overflow: hidden" :show-all-levels="false" @change="handleCascaderChange" + @visible-change="handleUserMenuVisibleChange" ref="userCascader" >