From ebc5ce2b6e4cba0708d4f5efd20fd049fcd774e6 Mon Sep 17 00:00:00 2001
From: CD配唱片 <CD配唱片>
Date: 星期四, 08 五月 2025 13:22:25 +0800
Subject: [PATCH] 优化,用节流控制表格下拉加载更多分页数据避免请求过多数据
---
src/layout/components/Navbar.vue | 44 ++++++++++++++++++++++++++++++++------------
1 files changed, 32 insertions(+), 12 deletions(-)
diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue
index 94099fc..ca25744 100644
--- a/src/layout/components/Navbar.vue
+++ b/src/layout/components/Navbar.vue
@@ -20,8 +20,18 @@
<div class="right-menu">
<template v-if="appStore.device !== 'mobile'"> </template>
<div class="mt5">
- <el-button @click="changeLanguage('zh')">涓枃</el-button>
- <el-button @click="changeLanguage('en')">English</el-button>
+ <!-- <el-button @click="changeLanguage('zh')">涓枃</el-button>
+ <el-button @click="changeLanguage('en')">English</el-button> -->
+ <el-dropdown>
+ <img class="zh_icon" v-if="locale==='zh'" src="@/assets/images/zh.svg" alt="zh" />
+ <img class="zh_icon" v-if="locale==='en'" src="@/assets/images/en.svg" alt="en" />
+ <template #dropdown>
+ <el-dropdown-menu>
+ <el-dropdown-item @click="changeLanguage('zh','zh-CN')">{{ $t(`common.topNav.zh`) }}</el-dropdown-item>
+ <el-dropdown-item @click="changeLanguage('en','en-US')">{{ $t(`common.topNav.en`) }}</el-dropdown-item>
+ </el-dropdown-menu>
+ </template>
+ </el-dropdown>
</div>
<div class="avatar-container">
<el-dropdown
@@ -36,13 +46,13 @@
<template #dropdown>
<el-dropdown-menu>
<router-link to="/user/profile">
- <el-dropdown-item>{{ $t(`topNav.center`) }}</el-dropdown-item>
+ <el-dropdown-item>{{ $t(`common.topNav.center`) }}</el-dropdown-item>
</router-link>
<!-- <el-dropdown-item command="setLayout" v-if="settingsStore.showSettings">
<span>甯冨眬璁剧疆</span>
</el-dropdown-item> -->
<el-dropdown-item divided command="logout">
- <span>{{ $t(`topNav.logout`) }}</span>
+ <span>{{ $t(`common.topNav.logout`) }}</span>
</el-dropdown-item>
</el-dropdown-menu>
</template>
@@ -53,7 +63,7 @@
</template>
<script setup>
-import { ElMessageBox } from "element-plus";
+// import { ElMessageBox } from "element-plus";
import Breadcrumb from "@/components/Breadcrumb";
import TopNav from "@/components/TopNav";
import Hamburger from "@/components/Hamburger";
@@ -65,16 +75,20 @@
import useAppStore from "@/store/modules/app";
import useUserStore from "@/store/modules/user";
import useSettingsStore from "@/store/modules/settings";
-import useLanguageStore from "@/store/modules/language"
-import { useI18n } from 'vue-i18n'//瑕佸湪js涓娇鐢ㄥ浗闄呭寲
+import useLanguageStore from "@/store/modules/language";
+import { VxeUI } from 'vxe-table'
+import { useI18n } from "vue-i18n"; //瑕佸湪js涓娇鐢ㄥ浗闄呭寲
+const { t, locale } = useI18n();
const appStore = useAppStore();
const userStore = useUserStore();
const settingsStore = useSettingsStore();
const languageStore = useLanguageStore();
const { proxy } = getCurrentInstance();
-function changeLanguage(type) {
- proxy.$i18n.locale = type;
- languageStore.setLocale(type)
+function changeLanguage(type1,type2) {
+ proxy.$i18n.locale = type1;
+ languageStore.setLocale(type1);
+ VxeUI.setLanguage(type2)
+ // console.log(VxeUI.getLanguage(),'VxeUI.getLanguage()')
}
function toggleSideBar() {
@@ -158,8 +172,14 @@
height: 100%;
line-height: 50px;
display: flex;
- .mt5{
- margin-top:5px;
+ .mt5 {
+ margin-top: 5px;
+ .zh_icon {
+ width: 35px;
+ height: 35px;
+ border:none;
+ outline: none;
+ }
}
&:focus {
outline: none;
--
Gitblit v1.9.3