This commit is contained in:
guochunsi
2026-02-04 16:33:56 +08:00
parent 039ab2045e
commit 51e3e72bd1
3 changed files with 222 additions and 30 deletions

View File

@@ -1,6 +1,6 @@
<template>
<div class="layout-navbars-breadcrumb-user pr15" :style="{ flex: layoutUserFlexNum }">
<el-dropdown :show-timeout="70" :hide-timeout="50" trigger="click" @command="onLanguageChange">
<!-- <el-dropdown :show-timeout="70" :hide-timeout="50" trigger="click" @command="onLanguageChange">
<div class="layout-navbars-breadcrumb-user-icon">
<i class="iconfont" :class="state.disabledI18n === 'en' ? 'icon-fuhao-yingwen' : 'icon-fuhao-zhongwen'" :title="$t('user.title1')"></i>
</div>
@@ -10,7 +10,12 @@
<el-dropdown-item command="en" :disabled="state.disabledI18n === 'en'">English</el-dropdown-item>
</el-dropdown-menu>
</template>
</el-dropdown>
</el-dropdown> -->
<div class="layout-navbars-breadcrumb-user-icon" @click="onAsyncTaskClick">
<el-icon title="上传和下载任务">
<ele-FolderOpened />
</el-icon>
</div>
<div class="layout-navbars-breadcrumb-user-icon" @click="onLockClick">
<el-icon :title="$t('layout.threeLockScreenTime')">
<ele-Lock />
@@ -76,6 +81,7 @@
<personal-drawer ref="personalDrawerRef"></personal-drawer>
<change-role ref="ChangeRoleRef" />
<AsyncTaskDrawer ref="asyncTaskDrawerRef" />
</div>
</template>
@@ -95,8 +101,10 @@ import { fetchUserMessageList } from '/@/api/admin/message';
import {useFlowJob} from "/@/flow/stores/flowJob";
const ChangeRoleRef=ref()
const ChangeRoleRef = ref()
const ChangeRole = defineAsyncComponent(() => import('/@/views/admin/system/role/change-role.vue'))
const asyncTaskDrawerRef = ref()
const AsyncTaskDrawer = defineAsyncComponent(() => import('/@/layout/navBars/breadcrumb/asyncTaskDrawer.vue'))
// 引入组件
const GlobalWebsocket = defineAsyncComponent(() => import('/@/components/Websocket/index.vue'));
const UserNews = defineAsyncComponent(() => import('/@/layout/navBars/breadcrumb/userNews.vue'));
@@ -207,6 +215,10 @@ const onHandleCommandClick = (path: string) => {
const onSearchClick = () => {
searchRef.value.openSearch();
};
// 上传/下载任务点击
const onAsyncTaskClick = () => {
asyncTaskDrawerRef.value?.open();
};
// 语言切换
const onLanguageChange = (lang: string) => {
Local.remove('themeConfig');
@@ -241,15 +253,25 @@ const getIsDot = () => {
});
};
// 登录后若存储中无角色信息则弹出角色切换框
const openChangeRoleIfMissing = () => {
const hasRole = Local.get('roleCode') && Local.get('roleName') && Local.get('roleId')
if (!hasRole) {
nextTick(() => {
setTimeout(() => ChangeRoleRef.value?.open(), 100)
})
}
}
// 页面加载时
onMounted(() => {
if (Local.get('themeConfig')) {
initI18nOrSize('globalComponentSize', 'disabledSize');
initI18nOrSize('globalI18n', 'disabledI18n');
}
useFlowJob().topJobList()
getIsDot();
useFlowJob().topJobList()
getIsDot()
openChangeRoleIfMissing()
});
</script>