wangfei
2025-04-23 eeaddf88176b61b01db069c0939bdaaa3da23e69
UI-Project/src/layout/MainErpView.vue
@@ -3,10 +3,14 @@
import userInfo from '@/stores/userInfo'
import request from '@/utils/request'
import {ElMessage} from 'element-plus'
import {ref, watch, onMounted } from 'vue'
import {ref, watch, onMounted, onUnmounted } from 'vue'
import deepClone from '@/utils/deepClone'
import { useRouter } from 'vue-router';  
import { useI18n } from 'vue-i18n'
import { provide } from 'vue';
// import {host, WebSocketHost} from '@/utils/constants'
// import {closeWebSocket, initializeWebSocket} from '@/utils/WebSocketService';
const globalDate = ref('');
const { t } = useI18n()
let language = ref(localStorage.getItem('lang') || 'zh')
const store = userInfo()
@@ -16,7 +20,6 @@
const userStore = useUserInfoStore()
// const user = userStore.user.userName
let userInfoStr = window.localStorage.getItem('userInfo')
console.log(userInfoStr);
// const userInfoStr = localStorage.getItem('userInfo');  
// let userInfo = userInfoStr.user.token;  
let token = userInfo; // 提取 token  
@@ -28,6 +31,15 @@
              })
  router.push('/login')  
}
// let socket = null;
// const socketUrl = `ws://${WebSocketHost}:${host}/api/loadGlass/api/talk/mainMes`;
// const handleMessage = (data) => {
//   if(data.globalDate!=null){
//     window.localStorage.setItem('getglobalDate', data.globalDate[0])
//   }else{
//     globalDate.value = ''
//       }
//     }
  function replaceChineseWithEnglish(menuData) {  
      // 定义中俄文对照关系对象
       const translation  = {  
@@ -67,16 +79,23 @@
      // 定义中英文对照关系对象
   const translation  = {  
    '上片机': 'Loading Machine',
    '上片': 'Start showing a movie',
    '上片一线': 'First line on film',
    '上片二线': 'Second line on film',
    '掰片/识别': 'Breaking /Identification',
    '掰片一线': 'Broken piece line',
    '掰片二线': 'Broken pieces with two lines',
    '卧式缓存': 'Horizontal cache',
    '卧式缓存一号线': 'Horizontal Cache 1',
    '卧式缓存二号线': 'Horizontal Cache 2',
    '磨边前卧式缓存': 'Horizontal buffer before edge grinding',
    '下片卧式缓存': 'Offline horizontal cache',
    '磨边(冷加工)': 'Grinding edge (cold processing)',
    '磨边(冷加工)': 'Grinding edge (cold processing)',
    '1线磨边(冷加工)': '1-line edge grinding (cold processing)',
    '2线磨边(冷加工)': '2-line edge grinding (cold processing)',
    '大理片笼': 'Dali slice cage',
    '钢化': 'Toughened',
    '钢化查询': 'Tempered steel inquiry',
    '钢化前': 'Before Tempering',
    '钢化后': 'After Tempering',
    '下片台': 'Next Stage',
@@ -84,10 +103,20 @@
    '用户管理': 'User Management',
    '权限管理': 'Rights Management',
    '角色管理': 'Roles',
    '系统配置': 'system configuration',
    '可视化系统': 'visualization system',
    '报工管理': 'Job reporting management',
    '仓储中心': 'Storage Center',
    '原片仓储': 'Original film storage',
    '中空': 'Hollow',
    '中空一线': 'Hollow Line',
    '中空二线': 'Hollow Second Line',
    '中空三线': 'Hollow three line',
    '中空理片笼': 'Hollow Film processing cage',
    '折铝框一线': '1 Fold aluminum frame',
    '折铝框二线': '2 Fold aluminum frame',
    '折铝框三线': '3 Fold aluminum frame',
    '大屏显示': 'Large Screen Display',
     };  
  menuData.forEach(menu => {  
    menu.menuName = translation[menu.menuName] || menu.menuName;  
@@ -103,7 +132,6 @@
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);
@@ -114,6 +142,13 @@
  } else {
    ElMessage.warning(res.msg)
    router.push('/login')
  }
})
request.post('/loadGlass/sys/menu/getNowDate').then((res) => {
  if (res.code == 200) {
      window.localStorage.setItem('getglobalDate', res.data)
  } else {
    ElMessage.warning(res.msg)
  }
})
const menu = ref(null)
@@ -145,6 +180,35 @@
function toggleCollapse() {  
  isCollapse.value = !isCollapse.value;  
onMounted(() => {
  // fetchlack()
  // socket = initializeWebSocket(socketUrl, handleMessage);
});
// const fetchlack = async () => {
//   try  {
//     console.log(33333);
//     const response = await request.post('/loadGlass/sys/menu/getNowDate')
//     console.log(response.code);
//     if (response.code == 200) {
//       console.log(11111);
//       console.log(response.data);
//       console.log(2222);
//       // window.localStorage.setItem('getglobalDate', response.data)
//     } else {
//       ElMessage.error(response.message);
//     }
// }
// catch (error) {
//     // 处理错误
//   }
// }
  let getglobalDate = window.localStorage.getItem('getglobalDate')
  provide('globalDate', getglobalDate);
  // onUnmounted(() => {
    // if (socket) {
    // closeWebSocket(socket);
    // }
    // });
</script>
<template>
  <div id="all">
@@ -154,7 +218,7 @@
          <img src="../assets/northGlass.ico"
               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>
          <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;">
            <!-- <el-button class="sys-quit"
                       @click="quit"