后台面板SiderBar和TopBar
This commit is contained in:
		@@ -1,33 +1,60 @@
 | 
				
			|||||||
<template>
 | 
					<template>
 | 
				
			||||||
 | 
					  <el-container class="container">
 | 
				
			||||||
 | 
					    <el-header>
 | 
				
			||||||
 | 
					      <TopBar />
 | 
				
			||||||
 | 
					    </el-header>
 | 
				
			||||||
 | 
					    <el-container>
 | 
				
			||||||
 | 
					      <el-aside width="200px">
 | 
				
			||||||
 | 
					        <SideBar class="sidebar" />
 | 
				
			||||||
 | 
					      </el-aside>
 | 
				
			||||||
 | 
					      <el-main>
 | 
				
			||||||
 | 
					        <el-radio-group v-model="isCollapse" style="margin-bottom: 20px">
 | 
				
			||||||
 | 
					          <el-radio-button @click="toggleSideBar">expand</el-radio-button>
 | 
				
			||||||
 | 
					        </el-radio-group>
 | 
				
			||||||
 | 
					      </el-main>
 | 
				
			||||||
 | 
					    </el-container>
 | 
				
			||||||
 | 
					  </el-container>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  <!--
 | 
				
			||||||
  <img src="./assets/logo.png">
 | 
					  <img src="./assets/logo.png">
 | 
				
			||||||
  <nav>
 | 
					  <nav>
 | 
				
			||||||
    <router-link to="/">Home</router-link> |
 | 
					    <router-link to="/">Home</router-link> |
 | 
				
			||||||
    <router-link to="/about">About</router-link>
 | 
					    <router-link to="/about">About</router-link>
 | 
				
			||||||
  </nav>
 | 
					  </nav>
 | 
				
			||||||
  <router-view />
 | 
					  <router-view />
 | 
				
			||||||
 | 
					  -->
 | 
				
			||||||
</template>
 | 
					</template>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<script>
 | 
					<script>
 | 
				
			||||||
// import { ElConfigProvider } from 'element-plus'
 | 
					// @ is an alias to /src
 | 
				
			||||||
// import { zhCn } from 'element-plus/es/locale';
 | 
					import SideBar from '@/components/SideBar.vue'
 | 
				
			||||||
 | 
					import TopBar from './components/TopBar.vue'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export default {
 | 
					export default {
 | 
				
			||||||
  name: 'App',
 | 
					  name: 'App',
 | 
				
			||||||
  components: {
 | 
					  components: {
 | 
				
			||||||
    // ElConfigProvider,
 | 
					    SideBar,
 | 
				
			||||||
 | 
					    TopBar
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
  // setup() {
 | 
					 | 
				
			||||||
  //   return {
 | 
					 | 
				
			||||||
  //     locale: zhCn,
 | 
					 | 
				
			||||||
  //   }
 | 
					 | 
				
			||||||
  // }
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
</script>
 | 
					</script>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<style>
 | 
					<style>
 | 
				
			||||||
@import 'normalize.css/normalize.css';
 | 
					@import 'normalize.css/normalize.css';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					html,
 | 
				
			||||||
 | 
					body,
 | 
				
			||||||
 | 
					#app,
 | 
				
			||||||
 | 
					.container {
 | 
				
			||||||
 | 
					  height: 100%;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#app {
 | 
					#app {
 | 
				
			||||||
  text-align: center;
 | 
					  text-align: center;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.el-header {
 | 
				
			||||||
 | 
					  padding: 0;
 | 
				
			||||||
 | 
					  border: 0;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
</style>
 | 
					</style>
 | 
				
			||||||
 
 | 
				
			|||||||
										
											Binary file not shown.
										
									
								
							| 
		 Before Width: | Height: | Size: 6.7 KiB  | 
@@ -2,11 +2,8 @@
 | 
				
			|||||||
  <div class="hello">
 | 
					  <div class="hello">
 | 
				
			||||||
    <h1>{{ msg }}</h1>
 | 
					    <h1>{{ msg }}</h1>
 | 
				
			||||||
    <p>
 | 
					    <p>
 | 
				
			||||||
      For a guide and recipes on how to configure / customize this project,<br>
 | 
					      some message ...
 | 
				
			||||||
      check out the
 | 
					 | 
				
			||||||
      <a href="https://cli.vuejs.org" target="_blank" rel="noopener">vue-cli documentation</a>.
 | 
					 | 
				
			||||||
    </p>
 | 
					    </p>
 | 
				
			||||||
    <h3>Installed CLI Plugins</h3>
 | 
					 | 
				
			||||||
  </div>
 | 
					  </div>
 | 
				
			||||||
</template>
 | 
					</template>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										63
									
								
								frontend/src/components/SideBar.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										63
									
								
								frontend/src/components/SideBar.vue
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,63 @@
 | 
				
			|||||||
 | 
					<template>
 | 
				
			||||||
 | 
					  <el-menu active-text-color="#ffd04b" background-color="#151513" class="el-menu-vertical" default-active="2"
 | 
				
			||||||
 | 
					    text-color="#fff" :collapse="isCollapse" @open="handleOpen" @close="handleClose">
 | 
				
			||||||
 | 
					    <el-sub-menu index="1">
 | 
				
			||||||
 | 
					      <template #title>
 | 
				
			||||||
 | 
					        <el-icon>
 | 
				
			||||||
 | 
					          <Location />
 | 
				
			||||||
 | 
					        </el-icon>
 | 
				
			||||||
 | 
					        <span>Navigator One</span>
 | 
				
			||||||
 | 
					      </template>
 | 
				
			||||||
 | 
					      <el-menu-item-group title="Group One">
 | 
				
			||||||
 | 
					        <el-menu-item index="1-1">item one</el-menu-item>
 | 
				
			||||||
 | 
					        <el-menu-item index="1-2">item two</el-menu-item>
 | 
				
			||||||
 | 
					      </el-menu-item-group>
 | 
				
			||||||
 | 
					      <el-menu-item-group title="Group Two">
 | 
				
			||||||
 | 
					        <el-menu-item index="1-3">item three</el-menu-item>
 | 
				
			||||||
 | 
					      </el-menu-item-group>
 | 
				
			||||||
 | 
					      <el-sub-menu index="1-4">
 | 
				
			||||||
 | 
					        <template #title>item four</template>
 | 
				
			||||||
 | 
					        <el-menu-item index="1-4-1">item one</el-menu-item>
 | 
				
			||||||
 | 
					      </el-sub-menu>
 | 
				
			||||||
 | 
					    </el-sub-menu>
 | 
				
			||||||
 | 
					    <el-menu-item index="2">
 | 
				
			||||||
 | 
					      <el-icon>
 | 
				
			||||||
 | 
					        <IconMenu />
 | 
				
			||||||
 | 
					      </el-icon>
 | 
				
			||||||
 | 
					      <span>Navigator Two</span>
 | 
				
			||||||
 | 
					    </el-menu-item>
 | 
				
			||||||
 | 
					    <el-menu-item index="3" disabled>
 | 
				
			||||||
 | 
					      <el-icon>
 | 
				
			||||||
 | 
					        <Document />
 | 
				
			||||||
 | 
					      </el-icon>
 | 
				
			||||||
 | 
					      <span>Navigator Three</span>
 | 
				
			||||||
 | 
					    </el-menu-item>
 | 
				
			||||||
 | 
					    <el-menu-item index="4">
 | 
				
			||||||
 | 
					      <el-icon>
 | 
				
			||||||
 | 
					        <setting />
 | 
				
			||||||
 | 
					      </el-icon>
 | 
				
			||||||
 | 
					      <span>Navigator Four</span>
 | 
				
			||||||
 | 
					    </el-menu-item>
 | 
				
			||||||
 | 
					  </el-menu>
 | 
				
			||||||
 | 
					</template>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<script setup>
 | 
				
			||||||
 | 
					import { Location, Menu as IconMenu, Document, Setting } from '@element-plus/icons-vue'
 | 
				
			||||||
 | 
					// import { ref } from 'vue'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const isCollapse = false
 | 
				
			||||||
 | 
					// const isCollapse = ref(true)
 | 
				
			||||||
 | 
					const handleOpen = (key, keyPath) => {
 | 
				
			||||||
 | 
					  console.log(key, keyPath)
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					const handleClose = (key, keyPath) => {
 | 
				
			||||||
 | 
					  console.log(key, keyPath)
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					</script>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<style scoped>
 | 
				
			||||||
 | 
					.el-menu-vertical {
 | 
				
			||||||
 | 
					  height: 100%;
 | 
				
			||||||
 | 
					  border: 0;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					</style>
 | 
				
			||||||
							
								
								
									
										30
									
								
								frontend/src/components/TopBar.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								frontend/src/components/TopBar.vue
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,30 @@
 | 
				
			|||||||
 | 
					<template>
 | 
				
			||||||
 | 
					  <el-menu class="el-menu" mode="horizontal" background-color="#f49e00" text-color="#fff" active-text-color="#ffd04b">
 | 
				
			||||||
 | 
					    <el-menu-item index="1">Processing Center</el-menu-item>
 | 
				
			||||||
 | 
					    <el-sub-menu index="2">
 | 
				
			||||||
 | 
					      <template #title>Workspace</template>
 | 
				
			||||||
 | 
					      <el-menu-item index="2-1">item one</el-menu-item>
 | 
				
			||||||
 | 
					      <el-menu-item index="2-2">item two</el-menu-item>
 | 
				
			||||||
 | 
					      <el-menu-item index="2-3">item three</el-menu-item>
 | 
				
			||||||
 | 
					      <el-sub-menu index="2-4">
 | 
				
			||||||
 | 
					        <template #title>item four</template>
 | 
				
			||||||
 | 
					        <el-menu-item index="2-4-1">item one</el-menu-item>
 | 
				
			||||||
 | 
					        <el-menu-item index="2-4-2">item two</el-menu-item>
 | 
				
			||||||
 | 
					        <el-menu-item index="2-4-3">item three</el-menu-item>
 | 
				
			||||||
 | 
					      </el-sub-menu>
 | 
				
			||||||
 | 
					    </el-sub-menu>
 | 
				
			||||||
 | 
					    <el-menu-item index="3" disabled>Info</el-menu-item>
 | 
				
			||||||
 | 
					    <el-menu-item index="4">Orders</el-menu-item>
 | 
				
			||||||
 | 
					  </el-menu>
 | 
				
			||||||
 | 
					</template>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<script>
 | 
				
			||||||
 | 
					</script>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<style scoped>
 | 
				
			||||||
 | 
					.el-menu {
 | 
				
			||||||
 | 
					  width: 100%;
 | 
				
			||||||
 | 
					  border: 0;
 | 
				
			||||||
 | 
					  height: 100%;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					</style>
 | 
				
			||||||
@@ -1,8 +1,6 @@
 | 
				
			|||||||
import { createApp } from 'vue'
 | 
					import { createApp } from 'vue'
 | 
				
			||||||
import App from './App.vue'
 | 
					import App from './App.vue'
 | 
				
			||||||
import router from './router'
 | 
					import router from './router'
 | 
				
			||||||
// import installElementPlus from './plugins/element'
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
const app = createApp(App)
 | 
					const app = createApp(App)
 | 
				
			||||||
// installElementPlus(app)
 | 
					 | 
				
			||||||
app.use(router).mount('#app')
 | 
					app.use(router).mount('#app')
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,6 +0,0 @@
 | 
				
			|||||||
import { ElButton } from 'element-plus'
 | 
					 | 
				
			||||||
import lang from 'element-plus/lib/locale/lang/zh-cn'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
export default (app) => {
 | 
					 | 
				
			||||||
  app.use(ElButton, { lang })
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
		Reference in New Issue
	
	Block a user