From bd21c609d3e0f325f10f20bb1f59ae24a4b35dc2 Mon Sep 17 00:00:00 2001
From: zhoushihao <zsh19950802@163.com>
Date: 星期一, 03 三月 2025 10:29:05 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
UI-Project/src/layout/MainErpView.vue | 185 ++++++++++++++++-----------------------------
1 files changed, 67 insertions(+), 118 deletions(-)
diff --git a/UI-Project/src/layout/MainErpView.vue b/UI-Project/src/layout/MainErpView.vue
index e2f4b57..7c66472 100644
--- a/UI-Project/src/layout/MainErpView.vue
+++ b/UI-Project/src/layout/MainErpView.vue
@@ -7,15 +7,14 @@
import deepClone from '@/utils/deepClone'
import { useRouter } from 'vue-router';
import { useI18n } from 'vue-i18n'
- const { t } = useI18n()
- let language = ref(localStorage.getItem('lang') || 'zh')
+const { t } = useI18n()
+let language = ref(localStorage.getItem('lang') || 'zh')
const store = userInfo()
const isCollapse = ref(false);
// const { $i18n } = useI18n(); // 鑾峰彇 i18n 瀹炰緥
const router = useRouter()
const userStore = useUserInfoStore()
// const user = userStore.user.userName
-
let userInfoStr = window.localStorage.getItem('userInfo')
console.log(userInfoStr);
// const userInfoStr = localStorage.getItem('userInfo');
@@ -29,60 +28,66 @@
})
router.push('/login')
}
-// const quit = async () => {
-// try {
-// store.$patch({user: null})
-// const response = await request.post('/loadGlass/sys/user/logout')
-// if (response.code === 200) {
-// console.log('鐧诲嚭鎴愬姛');
-// } else {
-// // 澶勭悊閿欒鎯呭喌
-// console.error('鐧诲嚭澶辫触', response);
-// }
-// }
-// catch (error) {
-// // 澶勭悊閿欒
-// console.error(error);
-// }
-// }
-// store.createWebSocket();
-// function quit() {
-// userStore.$patch({
-// user: null,
-// })
-// // router.push('/login')
-// request.get("/loadGlass/sys/user/login").then((res) => {
-// if (res.code === 200) {
-// ElMessage.success(res.msg);
-// console.log(res.data);
-// } else {
-// ElMessage.warning(res.msg);
-// // router.push("/login");
-// }
-// });
-// }
-
-
function replaceChineseWithEnglish(menuData) {
- // 瀹氫箟涓嫳鏂囧鐓у叧绯诲璞�
+ // 瀹氫箟涓縿鏂囧鐓у叧绯诲璞�
const translation = {
- '涓婄墖鏈�': '小褌芯谢 蟹邪谐褉褍蟹泻懈',
- '鎺扮墖/璇嗗埆': '袪邪蟹谢芯屑/懈写械薪褌懈褎懈泻邪褑懈褟',
- '鍗у紡缂撳瓨': ' 袚芯褉懈蟹芯薪褌邪谢褜薪褘泄 斜褍褎械褉',
- '纾ㄨ竟鍓嶅崸寮忕紦瀛�': '袚芯褉懈蟹芯薪褌邪谢褜薪褘泄 斜褍褎械褉 锌械褉械写 褕谢懈褎芯胁泻芯泄',
- '涓嬬墖鍗у紡缂撳瓨': '袚芯褉懈蟹芯薪褌邪谢褜薪褘泄 斜褍褎械褉 褋褌械泻谢邪 褉邪蟹谐褉褍蟹泻懈',
- '纾ㄨ竟锛堝喎鍔犲伐锛�': '楔谢懈褎芯胁邪褌褜 泻褉邪褟 (褏芯谢芯写薪邪褟 芯斜褉邪斜芯褌泻邪)',
- '1绾跨(杈�(鍐峰姞宸�)': '楔谢懈褎芯胁邪褌褜 泻褉邪褟 1 谢懈薪懈懈 (褏芯谢芯写薪邪褟 芯斜褉邪斜芯褌泻邪)',
- '2绾跨(杈�(鍐峰姞宸�)': '楔谢懈褎芯胁邪褌褜 泻褉邪褟 2 谢懈薪懈懈 (褏芯谢芯写薪邪褟 芯斜褉邪斜芯褌泻邪)',
- '澶х悊鐗囩': '袘褍褎械褉薪邪褟 褋懈褋褌械屑邪',
- '閽㈠寲': '袟邪泻邪谢泻邪',
- '閽㈠寲鍓�': '袩械褉械写 蟹邪泻邪谢泻懈',
- '閽㈠寲鍚�': '袩芯褋谢械 蟹邪泻邪谢泻懈',
- '涓嬬墖鍙�': '小褌芯谢 褉邪蟹谐褉褍蟹泻懈',
- '绯荤粺绠$悊': '校锌褉邪胁谢械薪懈械 褋懈褋褌械屑芯泄',
- '鐢ㄦ埛绠$悊': '校锌褉邪胁谢械薪懈械 锌芯谢褜蟹芯胁邪褌械谢械屑',
- '鏉冮檺绠$悊': '校锌褉邪胁谢械薪懈械 锌芯谢薪芯屑芯褔懈褟屑懈',
- '瑙掕壊绠$悊': '校锌褉邪胁谢械薪懈械 褉芯谢褜褞',
+ '涓婄墖鏈�': '小褌芯谢 蟹邪谐褉褍蟹泻懈',
+ '涓婄墖': '袙械褉褏薪褟褟 褔邪褋褌褜',
+ '鎺扮墖/璇嗗埆': '袪邪蟹谢芯屑/懈写械薪褌懈褎懈泻邪褑懈褟',
+ '鍗у紡缂撳瓨': ' 袚芯褉懈蟹芯薪褌邪谢褜薪褘泄 斜褍褎械褉',
+ '纾ㄨ竟鍓嶅崸寮忕紦瀛�': '袚芯褉懈蟹芯薪褌邪谢褜薪褘泄 斜褍褎械褉 锌械褉械写 褕谢懈褎芯胁泻芯泄',
+ '涓嬬墖鍗у紡缂撳瓨': '袚芯褉懈蟹芯薪褌邪谢褜薪褘泄 斜褍褎械褉 褋褌械泻谢邪 褉邪蟹谐褉褍蟹泻懈',
+ '纾ㄨ竟锛堝喎鍔犲伐锛�': '楔谢懈褎芯胁邪褌褜 泻褉邪褟 (褏芯谢芯写薪邪褟 芯斜褉邪斜芯褌泻邪)',
+ '1绾跨(杈�(鍐峰姞宸�)': '楔谢懈褎芯胁邪褌褜 泻褉邪褟 1 谢懈薪懈懈 (褏芯谢芯写薪邪褟 芯斜褉邪斜芯褌泻邪)',
+ '2绾跨(杈�(鍐峰姞宸�)': '楔谢懈褎芯胁邪褌褜 泻褉邪褟 2 谢懈薪懈懈 (褏芯谢芯写薪邪褟 芯斜褉邪斜芯褌泻邪)',
+ '澶х悊鐗囩': '袘褍褎械褉薪邪褟 褋懈褋褌械屑邪',
+ '閽㈠寲': '袟邪泻邪谢泻邪',
+ '閽㈠寲鍓�': '袩械褉械写 蟹邪泻邪谢泻懈',
+ '閽㈠寲鍚�': '袩芯褋谢械 蟹邪泻邪谢泻懈',
+ '涓嬬墖鍙�': '小褌芯谢 褉邪蟹谐褉褍蟹泻懈',
+ '绯荤粺绠$悊': '校锌褉邪胁谢械薪懈械 褋懈褋褌械屑芯泄',
+ '鐢ㄦ埛绠$悊': '校锌褉邪胁谢械薪懈械 锌芯谢褜蟹芯胁邪褌械谢械屑',
+ '鏉冮檺绠$悊': '校锌褉邪胁谢械薪懈械 锌芯谢薪芯屑芯褔懈褟屑懈',
+ '瑙掕壊绠$悊': '校锌褉邪胁谢械薪懈械 褉芯谢褜褞',
+ '鍙鍖栫郴缁�': '袙懈蟹褍邪谢褜薪邪褟 褋懈褋褌械屑邪',
+ '鎶ュ伐绠$悊': '校锌褉邪胁谢械薪懈械 芯褌褔械褌薪芯褋褌褜褞',
+ '浠撳偍涓績': '小泻谢邪写褋泻芯泄 褑械薪褌褉',
+ '鍘熺墖浠撳偍': '小泻谢邪写 褋褘褉褜褟',
+ };
+ menuData.forEach(menu => {
+ menu.menuName = translation[menu.menuName] || menu.menuName;
+ // if (menu.children) {
+ menu.children && menu.children.forEach(submenu => {
+ submenu.menuName = translation[submenu.menuName] || submenu.menuName;
+ });
+ // }
+ });
+}
+function replaceChineseWithRussian(menuData) {
+ // 瀹氫箟涓嫳鏂囧鐓у叧绯诲璞�
+ const translation = {
+ '涓婄墖鏈�': 'Loading Machine',
+ '涓婄墖': 'Start showing a movie',
+ '鎺扮墖/璇嗗埆': 'Breaking /Identification',
+ '鍗у紡缂撳瓨': 'Horizontal cache',
+ '纾ㄨ竟鍓嶅崸寮忕紦瀛�': 'Horizontal buffer before edge grinding',
+ '涓嬬墖鍗у紡缂撳瓨': 'Offline horizontal cache',
+ '纾ㄨ竟锛堝喎鍔犲伐锛�': 'Grinding edge (cold processing)',
+ '1绾跨(杈�(鍐峰姞宸�)': '1-line edge grinding (cold processing)',
+ '2绾跨(杈�(鍐峰姞宸�)': '2-line edge grinding (cold processing)',
+ '澶х悊鐗囩': 'Dali slice cage',
+ '閽㈠寲': 'Toughened',
+ '閽㈠寲鍓�': 'Before Tempering',
+ '閽㈠寲鍚�': 'After Tempering',
+ '涓嬬墖鍙�': 'Next Stage',
+ '绯荤粺绠$悊': 'System Management',
+ '鐢ㄦ埛绠$悊': 'User Management',
+ '鏉冮檺绠$悊': 'Rights Management',
+ '瑙掕壊绠$悊': 'Roles',
+ '鍙鍖栫郴缁�': 'visualization system',
+ '鎶ュ伐绠$悊': 'Job reporting management',
+ '浠撳偍涓績': 'Storage Center',
+ '鍘熺墖浠撳偍': 'Original film storage',
};
menuData.forEach(menu => {
menu.menuName = translation[menu.menuName] || menu.menuName;
@@ -95,33 +100,15 @@
}
//鎻愬彇鑿滃崟妯″潡鍒楄〃
let menuList = $ref([])
-
-// onMounted(async () => {
-// try {
-// const res = await request.get('/loadGlass/sys/menu/getMenuTree'); // 鍋囪 request.get 杩斿洖 Promise
-// if (res.code == 200) {
-// // 浣跨敤 value 灞炴�ф潵淇敼 ref 寮曠敤鐨勫��
-// menuList.value = deepClone(res.data);
-// const language = $i18n.locale;
-// if (language === 'en') {
-// replaceChineseWithEnglish(menuList.value); // 浼犲叆 ref 鐨� value
-// }
-// console.log(res.data.token); // 濡傛灉 res.data 涓湁 token 鐨勮瘽
-// } else {
-// ElMessage.warning(res.msg);
-// router.push('/login');
-// }
-// } catch (error) {
-// // 澶勭悊璇锋眰閿欒
-// console.error('鑾峰彇鑿滃崟鍒楄〃鏃跺嚭閿�:', error);
-// }
-// });
request.get('/loadGlass/sys/menu/getMenuTree').then((res) => {
if (res.code == 200) {
menuList = res.data
console.log(language.value)
+ // translateMenu(menuList.value, language.value);
if (language.value === 'en') {
-
+ replaceChineseWithRussian(menuList);
+ }
+ if (language.value === 'py') {
replaceChineseWithEnglish(menuList);
}
} else {
@@ -131,7 +118,6 @@
})
const menu = ref(null)
let indexKey = ref(null)
-
function handleOpen(key) {
indexKey.value = key
}
@@ -144,11 +130,9 @@
},
{deep: true}
)
-
router.beforeEach((to, from) => {
//return false
})
-
let openFlag = $ref(null)
//鍘熷鑿滃崟鎵撳紑
const openMenu = (menuID) => {
@@ -162,14 +146,13 @@
isCollapse.value = !isCollapse.value;
}
</script>
-
<template>
<div id="all">
<el-container>
<el-header>
<div style="height: 100%;width: 100%;display: flex;background-color: #fff;">
<img src="../assets/northGlass.ico"
- alt=""
+ alt="" @click="toggleCollapse"
style="max-width: 100%;max-height: 100%">
<h3 style="margin: 1rem ;font-weight: bold;width: 33vw;"> {{ $t('main.titleFirst') }}{{ userName }}{{ $t('main.titleLast') }}</h3>
<span style="height: 70%;width: 78vw;margin-top: 1rem;">
@@ -187,11 +170,11 @@
<SwitchButton size=""/>{{ $t('main.quit') }}
</el-icon>
</el-button>
- <div class="header-left">
+ <!-- <div class="header-left">
<el-button @click="toggleCollapse" style="height: 30px;">
<el-icon><Expand /></el-icon>
</el-button>
- </div>
+ </div> -->
</span>
</div>
</el-header>
@@ -230,40 +213,29 @@
</el-container>
</div>
</template>
-
<style scoped>
-
.el-menu-vertical-demo:not(.el-menu--collapse) {
width: 200px;
min-height: 400px;
text-align: left;
-
}
-
-
-
-
#all {
background-color: #eee;
height: 100%;
}
-
.el-container {
height: 100vh;
width: 99vw;
}
-
* {
padding: 0;
margin: 0;
}
-
:deep(.sys-quit) {
float: right;
margin-right: 1rem;
width: 5rem;
}
-
/* 妯嚎 */
#line {
float: right;
@@ -275,16 +247,13 @@
position: relative;
text-align: center;
}
-
:deep(span) {
margin-right: 0;
}
-
.el-collapse {
font-size: 16px;
font-weight: bold;
}
-
#main {
width: 99%;
float: right;
@@ -292,9 +261,7 @@
background-color: #fff;
}
/*------------*/
-
/* .menu div div{
-
width: 138px;
height: 35px;
line-height: 35px;
@@ -316,24 +283,20 @@
/* background-color:#5CADFE; */
/* box-shadow: 0 8px 16px 0 rgba(0,0,0,0), 0 6px 5px 0 rgba(0,0,0,0.19); */
/* } */
-
.menu {
width: 138px;
height: 33px;
line-height: 25px;
-
color: #000000;
font-size: 16px;
padding-left: 15px;
padding-right: 2px;
}
-
ul {
height: auto;
margin: 1px auto;
text-align: center;
}
-
ul li {
height: 28px;
width: 180px;
@@ -346,16 +309,13 @@
text-align: left;
/* border-radius:8px; */
/* outline: none; */
-
/* background: #5CADFE; */
/* box-shadow: 0 8px 16px 0 rgba(0,0,0,0), 0 6px 5px 0 rgba(0,0,0,0.19); */
}
-
ul li:hover {
/* background:#5CADFE ; */
color: #ffffff;
}
-
ul li a {
text-decoration: none;
color: #000000;
@@ -364,7 +324,6 @@
ul li a:hover {
color: #1087ff;
}
-
.item_divider {
width: 118px;
height: 0px;
@@ -372,7 +331,6 @@
opacity: 0.8; */
margin-bottom: 2px;
}
-
.item a {
width: 138px;
height: 35px;
@@ -383,13 +341,11 @@
font-size: 14px;
text-decoration: none;
}
-
.menu_title {
width: 180px;
/* white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis; */
-
height: 45px;
line-height: 55px;
/* background: #fafafa; */
@@ -402,12 +358,10 @@
font-weight: bold;
overflow: hidden;
}
-
.menu_title:hover {
/* background: #dedede; */
color: #3b9af9;
}
-
.indicator {
display: block;
width: 40px;
@@ -419,7 +373,6 @@
transition: all 0.3s ease;
text-align: center;
}
-
/* 鍔ㄧ敾鏁堟灉 */
.enter-x-left {
z-index: 9;
@@ -429,19 +382,15 @@
transform: translateX(-50px);
transition: all 0.3s ease;
}
-
.enter-x-left:nth-child(1) {
animation-delay: 0.1s;
}
-
.enter-x-left:nth-child(2) {
animation-delay: 0.2s;
}
-
.enter-x-left:nth-child(3) {
animation-delay: 0.3s;
}
-
.enter-x-left:nth-child(4) {
animation-delay: 0.4s;
}
--
Gitblit v1.8.0