From 56fab901b298857ff4985b7429ef843c9a9d1471 Mon Sep 17 00:00:00 2001 From: wangfei <3597712270@qq.com> Date: 星期三, 28 八月 2024 16:20:02 +0800 Subject: [PATCH] 钢化模块打印功能,新增表格字段 --- UI-Project/src/layout/MainErpView.vue | 196 ++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 161 insertions(+), 35 deletions(-) diff --git a/UI-Project/src/layout/MainErpView.vue b/UI-Project/src/layout/MainErpView.vue index 65858e0..8fdf761 100644 --- a/UI-Project/src/layout/MainErpView.vue +++ b/UI-Project/src/layout/MainErpView.vue @@ -1,45 +1,140 @@ <script setup> -import {useRouter} from 'vue-router' import useUserInfoStore from '@/stores/userInfo' import userInfo from '@/stores/userInfo' import request from '@/utils/request' import {ElMessage} from 'element-plus' -import {ref, watch} from 'vue' +import {ref, watch, onMounted } from 'vue' 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 store = userInfo() - +const isCollapse = ref(false); +// const { $i18n } = useI18n(); // 鑾峰彇 i18n 瀹炰緥 const router = useRouter() const userStore = useUserInfoStore() -const user = userStore.user.userName +// const user = userStore.user.userName -// store.createWebSocket(); -function quit() { - userStore.$patch({ - user: null, - }) - router.push('/login') +let userInfoStr = window.localStorage.getItem('userInfo') +console.log(userInfoStr); +// const userInfoStr = localStorage.getItem('userInfo'); +// let userInfo = userInfoStr.user.token; +let token = userInfo; // 鎻愬彇 token +// 閫�鍑虹櫥褰曟柟娉� +function quit() { + // localStorage.removeItem('token'); + store.$patch({ + user: null, + }) + 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 谢懈薪懈懈 (褏芯谢芯写薪邪褟 芯斜褉邪斜芯褌泻邪)', + '澶х悊鐗囩': '袘褍褎械褉薪邪褟 褋懈褋褌械屑邪', + '閽㈠寲': '袟邪泻邪谢泻邪', + '閽㈠寲鍓�': '袩械褉械写 蟹邪泻邪谢泻懈', + '閽㈠寲鍚�': '袩芯褋谢械 蟹邪泻邪谢泻懈', + '涓嬬墖鍙�': '小褌芯谢 褉邪蟹谐褉褍蟹泻懈', + '绯荤粺绠$悊': '校锌褉邪胁谢械薪懈械 褋懈褋褌械屑芯泄', + '鐢ㄦ埛绠$悊': '校锌褉邪胁谢械薪懈械 锌芯谢褜蟹芯胁邪褌械谢械屑', + '鏉冮檺绠$悊': '校锌褉邪胁谢械薪懈械 锌芯谢薪芯屑芯褔懈褟屑懈', + '瑙掕壊绠$悊': '校锌褉邪胁谢械薪懈械 褉芯谢褜褞', + }; + 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; + }); + // } + }); +} //鎻愬彇鑿滃崟妯″潡鍒楄〃 let menuList = $ref([]) -// request.get('/loadGlass/menu/sysMenu/list').then((res) => { + +// 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 = deepClone(res.data) + menuList = res.data + console.log(language.value) + if (language.value === 'en') { + + replaceChineseWithEnglish(menuList); + } } else { ElMessage.warning(res.msg) router.push('/login') } }) - const menu = ref(null) let indexKey = ref(null) function handleOpen(key) { indexKey.value = key } - watch( indexKey, (newVal, oldVal) => { @@ -63,6 +158,9 @@ openFlag = menuID } } +function toggleCollapse() { + isCollapse.value = !isCollapse.value; +} </script> <template> @@ -73,59 +171,79 @@ <img src="../assets/northGlass.ico" alt="" style="max-width: 100%;max-height: 100%"> - <h3 style="margin: 1rem ;font-weight: bold;width: 20vw;"> 娆㈣繋{{ user }}浣跨敤鍖楃幓MES绯荤粺锛�</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" + round> + <el-icon size="large"> + <SwitchButton size=""/>{{ $t('main.quit') }} + </el-icon> + </el-button> --> <el-button class="sys-quit" @click="quit" round> <el-icon size="large"> - <SwitchButton size=""/>閫�鍑� + <SwitchButton size=""/>{{ $t('main.quit') }} </el-icon> </el-button> + <div class="header-left"> + <el-button @click="toggleCollapse" + style="height:30px;">鈽�</el-button> + <!-- <el-button :icon="isCollapse ? 'el-icon-s-unfold' : 'el-icon-s-fold'" @click="toggleCollapse" + style="height:30px;"></el-button> --> + </div> </span> </div> </el-header> <div id="line"></div> <el-container> - <el-aside width="160px" - style="height: 99%; background-color: #fff;"> - <div class="menu"> + <el-aside :width="isCollapse ? '30px' : '200px'" style="background-color: #fff;"> + <el-row :span="20"> + <el-menu :default-active="activePath" class="el-menu-vertical-demo" > + <div class="menu"> <div v-for="items in menuList"> - <div class='menu_title' + <div class='menu_title' v-show="!isCollapse" @click="openMenu(items.id)"> - <!-- <span class='indicator' >鈱�</span> --> - <!-- <span class='indicator' >鈮�</span> --> - <!-- <img src="../assets/9.png" alt="" style="max-width: 50%;max-height: 50%;"> --> <span>鈽�</span> {{ items.menuName }} </div> <ul class='enter-x-left' v-show="openFlag==items.id"> - <li v-for="menuItem in items.children" style="margin-bottom:2px"> <router-link :to="{path:menuItem.url}"> {{ menuItem.menuName }} </router-link> - - </li> - </ul> - </div> - </div> - </el-aside> - - <el-main> + </li> + </ul> + </div> + </div> + </el-menu> + </el-row> +</el-aside> +<el-main> <div id="main"> <router-view></router-view> </div> </el-main> - </el-container> </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%; @@ -219,6 +337,7 @@ ul li { height: 28px; + width: 200px; line-height: 30px; /* background: rgb(128, 128, 128); */ color: #000000; @@ -267,7 +386,11 @@ } .menu_title { - width: 140px; + width: 180px; + /* white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; */ + height: 45px; line-height: 55px; /* background: #fafafa; */ @@ -329,4 +452,7 @@ transform: translateX(0); } } +.header-left{ + margin-left: -350px; +} </style> \ No newline at end of file -- Gitblit v1.8.0