From d44665ef50d875c6e21f2001da176e0f5eaefa00 Mon Sep 17 00:00:00 2001 From: wang <3597712270@qq.com> Date: 星期一, 22 四月 2024 08:51:16 +0800 Subject: [PATCH] 图片格式 --- UI-Project/src/layout/MainErpView.vue | 306 +++++++++++++++++++++++--------------------------- 1 files changed, 140 insertions(+), 166 deletions(-) diff --git a/UI-Project/src/layout/MainErpView.vue b/UI-Project/src/layout/MainErpView.vue index 20334e7..d2e3ed7 100644 --- a/UI-Project/src/layout/MainErpView.vue +++ b/UI-Project/src/layout/MainErpView.vue @@ -1,144 +1,115 @@ <script setup> -import { RouterLink,useRouter} from 'vue-router' -import useUserInfoStore from '@/stores/userInfo' -import request from "@/utils/request"; -import {ElMessage} from "element-plus"; -import {onMounted, reactive, ref, watch} from "vue" -import deepClone from "@/utils/deepClone" +import {useRouter} from 'vue-router' +import useUserInfoStore from '@/stores/userInfo' import userInfo from '@/stores/userInfo' -import {Close, Grid, Histogram, MessageBox, SwitchButton} from "@element-plus/icons-vue"; -const store=userInfo() +import request from '@/utils/request' +import {ElMessage} from 'element-plus' +import {ref, watch} from 'vue' +import deepClone from '@/utils/deepClone' + +const store = userInfo() const router = useRouter() const userStore = useUserInfoStore() const user = userStore.user.userName -store.createWebSocket(); -function quit(){ + +// store.createWebSocket(); +function quit() { userStore.$patch({ - user:null + user: null, }) - router.push("/login") + router.push('/login') } - -//鎻愬彇妯″潡鍒楄〃 -let menuList=$ref([]) -request.get("/menu").then((res) => { - if(res.code==200){ - menuList= deepClone(res.data) - }else{ +//鎻愬彇鑿滃崟妯″潡鍒楄〃 +let menuList = $ref([]) +request.get('/loadGlass/menu/sysMenu/list').then((res) => { + if (res.code == 200) { + menuList = deepClone(res.data) + } else { ElMessage.warning(res.msg) - router.push("/login") - } -}) - -//鑾峰彇鑿滃崟鍒楄〃 -let menuItemList=$ref([]) -request.get("/menuItem").then((res) => { - if(res.code==200){ - menuItemList= deepClone(res.data) - }else{ - ElMessage.warning(res.msg) - router.push("/login") + router.push('/login') } }) const menu = ref(null) let indexKey = ref(null) + function handleOpen(key) { - indexKey.value=key + indexKey.value = key } -watch(indexKey,(newVal,oldVal) => { - if(oldVal !== newVal && oldVal !== null){ - menu.value.close(oldVal) - } -}, - {deep:true} + +watch( + indexKey, + (newVal, oldVal) => { + if (oldVal !== newVal && oldVal !== null) { + menu.value.close(oldVal) + } + }, + {deep: true} ) router.beforeEach((to, from) => { //return false }) - let openFlag = $ref(null) //鍘熷鑿滃崟鎵撳紑 const openMenu = (menuID) => { - if(menuID===openFlag){ - openFlag = null - }else { - openFlag = menuID - } + if (menuID === openFlag) { + openFlag = null + } else { + openFlag = menuID + } } - - </script> - + <template> - <div> + <div id="all"> <el-container> - <el-header > - <div style="height: 100%;width: 100%;display: flex"> - <img src="../assets/northGlass.ico" alt="" style="max-width: 100%;max-height: 100%"> - <h3 style="margin: 1rem ;font-weight: bold;width: 20vw;"> 娆㈣繋{{ user }}浣跨敤鍖楃幓ERP绯荤粺锛�</h3> - <span style="height: 70%;width: 78vw;margin-top: 1rem;" > - - <el-button class="sys-quit" @click="quit" type="info" round> - <el-icon size="large"><SwitchButton size=""/></el-icon> + <el-header> + <div style="height: 100%;width: 100%;display: flex;background-color: #fff;"> + <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> + <span style="height: 70%;width: 78vw;margin-top: 1rem;"> + <el-button class="sys-quit" + @click="quit" + round> + <el-icon size="large"> + <SwitchButton size=""/>閫�鍑� + </el-icon> </el-button> </span> - </div> </el-header> - <el-container > - <el-aside width="160px" style="height: 97%; " > -<!-- <el-menu - style=" border-radius:0.5rem;border: 0.01rem solid #409EFF;margin-bottom: 0.5rem" - @open="handleOpen" - ref="menu" - active-color="#ffd04b" - background-color="#409EFF" - default-active="2" - text-color="#fff"> - <el-sub-menu - - v-for="items in menuList" - :index="items.id" - :key="items.id"> - <template #title> - <el-icon v-if="items.id==1"><Grid/></el-icon> - <el-icon v-if="items.id==2"><Histogram/></el-icon> - <el-icon v-if="items.id==3"><MessageBox/></el-icon> - <span style="font-weight: bold;">{{items.menuName}}</span> - </template> - <router-link - v-show="items.id==menuItem.menuID" - v-for="menuItem in menuItemList" - :to="{path:menuItem.url}"> - <el-menu-item > - {{ menuItem.itemName}} - </el-menu-item> - </router-link> - - </el-sub-menu> - </el-menu>--> - <div class="menu" > - <div v-for="items in menuList"> - <div class='menu_title' @click="openMenu(items.id)" >{{items.menuName}}<span class='indicator' >鈻�</span></div> - <ul class='enter-x-left' v-show="openFlag==items.id"> - - <li v-for="menuItem in menuItemList" - v-show="items.id==menuItem.menuID" - style="margin-bottom: 2px" - > - <router-link - :to="{path:menuItem.url}"> - {{ menuItem.itemName}} - </router-link> - - </li> - </ul> + <div id="line"></div> + <el-container> + <el-aside width="160px" + style="height: 99%; background-color: #fff;"> + <div class="menu"> + <div v-for="items in menuList"> + <div class='menu_title' + @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> @@ -152,47 +123,60 @@ </el-container> </div> </template> - + <style scoped> -.el-container{ - height: 100vh; - width: 100vw +#all { + background-color: #eee; + height: 100%; } -*{ +.el-container { + height: 100vh; + width: 99vw; +} + +* { padding: 0; margin: 0; } -:deep(.sys-quit){ + +:deep(.sys-quit) { float: right; margin-right: 1rem; width: 5rem; - } -:deep(span){ + +/* 妯嚎 */ +#line { + float: right; + width: 100%; + height: 1px; + /* margin-top: 0.5em; */ + margin-bottom: 0.5em; + background: #d4c4c4; + position: relative; + text-align: center; +} + +:deep(span) { margin-right: 0; - } -.el-collapse{ + +.el-collapse { font-size: 16px; font-weight: bold; } -#main{ + +#main { width: 99%; float: right; height: 99%; + background-color: #fff; } - - - - /*------------*/ - - - -.menu div div{ - +/* .menu div div{ + width: 138px; height: 35px; line-height: 35px; @@ -208,16 +192,12 @@ border-bottom: 12px ; margin-bottom:4px; text-align: left; - cursor: pointer; - border-radius:8px; - /* outline: none; */ - - background-color:#5CADFE; - box-shadow: 0 8px 16px 0 rgba(0,0,0,0), 0 6px 5px 0 rgba(0,0,0,0.19); - - - -} + cursor: pointer; */ +/* border-radius:8px; */ +/* outline: none; */ +/* 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; @@ -228,9 +208,6 @@ font-size: 16px; padding-left: 15px; padding-right: 2px; - - - } ul { @@ -240,24 +217,23 @@ } ul li { - height: 28px; line-height: 30px; - background: rgb(128, 128, 128); + /* background: rgb(128, 128, 128); */ color: #000000; padding-left: 36px; cursor: pointer; overflow: hidden; text-align: left; - border-radius:8px; + /* 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); + /* 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 ; + /* background:#5CADFE ; */ color: #ffffff; } @@ -267,8 +243,7 @@ font-size: 14px; } ul li a:hover { - - color: #ffffff; + color: #1087ff; } .item_divider { @@ -276,12 +251,14 @@ height: 0px; /* background-color: white; opacity: 0.8; */ - margin-bottom:2px; + margin-bottom: 2px; } -.item a{ + +.item a { width: 138px; height: 35px; display: block; + /* text-align: justify; */ text-decoration: none; color: white; font-size: 14px; @@ -289,29 +266,28 @@ } .menu_title { - width: 138px; - height: 35px; - line-height: 35px; - background: #fafafa; - color: rgb(128, 128, 128); - font-size: 16px; + width: 140px; + height: 45px; + line-height: 55px; + /* background: #fafafa; */ + color: rgb(43, 42, 42); + font-size: 17px; padding-left: 15px; transition: all 0.3s ease; cursor: pointer; position: relative; font-weight: bold; overflow: hidden; - } .menu_title:hover { /* background: #dedede; */ - color: #ffffff; + color: #3b9af9; } .indicator { display: block; - width: 50px; + width: 40px; height: 35px; font-weight: bold; position: absolute; @@ -320,8 +296,6 @@ transition: all 0.3s ease; text-align: center; } - - /* 鍔ㄧ敾鏁堟灉 */ .enter-x-left { @@ -332,26 +306,26 @@ transform: translateX(-50px); transition: all 0.3s ease; } -.enter-x-left:nth-child(1){ + +.enter-x-left:nth-child(1) { animation-delay: 0.1s; } -.enter-x-left:nth-child(2){ + +.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){ + +.enter-x-left:nth-child(4) { animation-delay: 0.4s; } - - @keyframes enter-x-left { to { opacity: 1; transform: translateX(0); } } - - </style> \ No newline at end of file -- Gitblit v1.8.0