vue2.0前端管理系统界面布局设置

打印 上一主题 下一主题

主题 827|帖子 827|积分 2496

前言

背景管理系统的核心就是用户管理、角色管理(含权限分配)、菜单管理,以及一些业务管理。业务管理通常以及根据差别的角色举行了权限分配。本次使命完成用户管理页面。
一 界面设计

1.引用Element 的Container 布局容器。
以上次博客中vue 搭建项目为例,项目博客链接如下vue搭建项目。
Container 相关介绍连接;Element-ui
本项目接纳如图所示布局:

html引用代码如下:
  1.     <el-container>
  2.       <el-aside width="200px">Aside</el-aside>
  3.       <el-container>
  4.         <el-header>Header</el-header>
  5.         <el-main>Main</el-main>
  6.       </el-container>
  7.     </el-container>
复制代码
将此段代码粘贴到原HomeView.vue的 <el-row>
修改如图所示:


2.修改初始导航
删除App.vue中<nav>中内容。


3.修改Aside部门引入侧边导航栏
引用Element 的NavMenu导航菜单中的侧栏。侧边导航栏

侧边导航栏html 代码如下:
  1. <el-aside width="200px" style="background-color: rgb(238, 241, 246)">
  2.       <el-menu :default-openeds="['1', '3']"
  3.         background-color=rgb(48,65,86)
  4.         text-color=#ccc
  5.         active-text-color=red
  6.         router="">
  7.         <el-submenu index="1">
  8.         <template slot="title"><i class="el-icon-message"></i>导航一</template>
  9.         <el-menu-item-group>
  10.           <template slot="title">分组一</template>
  11.           <el-menu-item index="1-1">选项1</el-menu-item>
  12.           <el-menu-item index="1-2">选项2</el-menu-item>
  13.         </el-menu-item-group>
  14.         <el-menu-item-group title="分组2">
  15.           <el-menu-item index="1-3">选项3</el-menu-item>
  16.         </el-menu-item-group>
  17.         <el-submenu index="1-4">
  18.           <template slot="title">选项4</template>
  19.           <el-menu-item index="1-4-1">选项4-1</el-menu-item>
  20.         </el-submenu>
  21.         </el-submenu>
  22.         <el-submenu index="2">
  23.         <template slot="title"><i class="el-icon-menu"></i>导航二</template>
  24.         <el-menu-item-group>
  25.           <template slot="title">分组一</template>
  26.           <el-menu-item index="2-1">选项1</el-menu-item>
  27.           <el-menu-item index="2-2">选项2</el-menu-item>
  28.         </el-menu-item-group>
  29.         <el-menu-item-group title="分组2">
  30.           <el-menu-item index="2-3">选项3</el-menu-item>
  31.         </el-menu-item-group>
  32.         <el-submenu index="2-4">
  33.           <template slot="title">选项4</template>
  34.           <el-menu-item index="2-4-1">选项4-1</el-menu-item>
  35.         </el-submenu>
  36.         </el-submenu>
  37.         <el-submenu index="3">
  38.         <template slot="title"><i class="el-icon-setting"></i>导航三</template>
  39.         <el-menu-item-group>
  40.           <template slot="title">分组一</template>
  41.           <el-menu-item index="3-1">选项1</el-menu-item>
  42.           <el-menu-item index="3-2">选项2</el-menu-item>
  43.         </el-menu-item-group>
  44.         <el-menu-item-group title="分组2">
  45.           <el-menu-item index="3-3">选项3</el-menu-item>
  46.         </el-menu-item-group>
  47.         <el-submenu index="3-4">
  48.           <template slot="title">选项4</template>
  49.           <el-menu-item index="3-4-1">选项4-1</el-menu-item>
  50.         </el-submenu>
  51.         </el-submenu>
  52.       </el-menu>
  53.     </el-aside>
复制代码
替换原代码<el-aside>,default-openeds="['1', '3']"可更改默认打开的导航。


4. 修改header部门
引用Element 的Dropdown下拉菜单中的基础用法,链接如下:下拉菜单。使用此菜单替换原来<el -Header>。

替代下拉菜单的html 代码如下:
  1. <el-header style="text-align: right; font-size: 12px; border-bottom: 1px solid red; line-height:60px">
  2.         <el-dropdown>
  3.         <i class="el-icon-setting" style="margin-right: 15px"></i>
  4.         <el-dropdown-menu slot="dropdown">
  5.           <el-dropdown-item>查看</el-dropdown-item>
  6.           <el-dropdown-item>新增</el-dropdown-item>
  7.           <el-dropdown-item>删除</el-dropdown-item>
  8.         </el-dropdown-menu>
  9.         </el-dropdown>
  10.         <span>王小虎</span>
  11.       </el-header>
复制代码


header页面修改完成。
5.修改Main部门
引用Element 的Table表格的基础表格。表格连接如下:表格


表格如下:
  1. <el-main>
  2.         <el-table
  3.           :data="tableData"
  4.           stripe
  5.           style="width: 100%">
  6.           <el-table-column
  7.             prop="date"
  8.             label="日期"
  9.             width="180">
  10.           </el-table-column>
  11.           <el-table-column
  12.             prop="name"
  13.             label="姓名"
  14.             width="180">
  15.           </el-table-column>
  16.           <el-table-column
  17.             prop="address"
  18.             label="地址">
  19.           </el-table-column>
  20.         </el-table>
  21.       </el-main>
复制代码
表格内有数据需在<script>内添加数据
  1. <script>
  2.   export default {
  3.     data() {
  4.       return {
  5.         tableData: [{ //对应html中tableData
  6.           date: '2016-05-02',
  7.           name: '王小虎',
  8.           address: '上海市普陀区金沙江路 1518 弄'
  9.         }, {
  10.           date: '2016-05-04',
  11.           name: '王小虎',
  12.           address: '上海市普陀区金沙江路 1517 弄'
  13.         }, {
  14.           date: '2016-05-01',
  15.           name: '王小虎',
  16.           address: '上海市普陀区金沙江路 1519 弄'
  17.         }, {
  18.           date: '2016-05-03',
  19.           name: '王小虎',
  20.           address: '上海市普陀区金沙江路 1516 弄'
  21.         }]
  22.       }
  23.     }
  24.   }
  25. </script>
复制代码
还可以让数据步伐生成条数,代码如下:
  1. <script>
  2. // @ is an alias to /src
  3. import HelloWorld from '@/components/HelloWorld.vue'
  4. export default {
  5. name: 'HomeView',
  6. data(){
  7.    const item = {
  8.     date: '2016-05-02',
  9.     name: '王小虎',
  10.     address: '上海市普陀区金沙江路 1518 弄'
  11.    };
  12.    return {
  13.     tableData: Array(10).fill(item)
  14.    }
  15. }
  16. }
  17. </script>
复制代码
完备截图:



6.优化界面
新页面大概存在导航栏页面折叠后不能表现全屏,边线条理不齐,个人中心不符合现实个人登录后的状态,表格数据没有分页功能等。

在assets文件中添加一个全局CSS样式gloable.css

  1. html,body,div{
  2.     margin:0;
  3.     padding:0;
  4. }
  5. html,body{
  6.     height: 100%;
  7. }
复制代码
main.js内添加

  1. import Vue from 'vue'
  2. import App from './App.vue'
  3. import router from './router'
  4. import store from './store'
  5. import ElementUI from 'element-ui';// 添加
  6. import 'element-ui/lib/theme-chalk/index.css'; // 添加
  7. import './assets/gloable.css' //添加
  8. Vue.config.productionTip = false
  9. Vue.use(ElementUI);// 添加element-ui
  10. new Vue({
  11.   router,
  12.   store,
  13.   render: h => h(App)
  14. }).$mount('#app')
复制代码
分页功能:加载main容器内 <el-table>下方(此分页为前端分页)
  1. <div style="padding:10px">
  2.     <el-pagination
  3.     @size-change="handleSizeChange"
  4.     @current-change="handleCurrentChange"
  5.     :current-page="currentPage4"
  6.     :page-sizes="[5, 10, 15, 20]"
  7.     :page-size="10"
  8.     layout="total, sizes, prev, pager, next, jumper"
  9.     :total="400">
  10.     </el-pagination>
  11. </div>
复制代码

添加搜索地区放在<el-table>上方
  1. <div style="padding:10px">
  2.     <el-input style="width:250px" suffix-icon="el-icon-search" placeholder="请输入名称搜索"></el-input>
  3.     <el-input style="width:250px" suffix-icon="el-icon-email" placeholder="请输入邮箱搜索"></el-input>
  4.     <el-input style="width:250px" suffix-icon="el-icon-position" placeholder="请输入地址搜索"></el-input>
  5.     <el-button style="margin-left:5px" type="primary">搜索</el-button>
  6. </div>      
复制代码

添加常用操纵按钮。
  1. <div style="margin:10px">
  2.     <el-button type="primary">新增<i class="el-icon-circle-plus"></i></el-button>
  3.     <el-button type="danger">批量删除<i class="el-icon-remove"></i></el-button>
  4.     <el-button type="primary">导入<i class="el-icon-bottom"></i></el-button>
  5.     <el-button type="primary">导出<i class="el-icon-top"></i></el-button>
  6. </div>
复制代码
常用按钮放在搜索背面

在表格地区添加常用操纵按钮 在table内添加
  1. <el-table-column fixed="right" label="操作">                        
  2.     <template slot-scope="scope">
  3.     <el-button type="success" size="small" icon="el-icon-edit">编辑</el-button>
  4.     <el-button type="danger" size="small"  icon="el-icon-delete">删除</el-button>
  5.     </template>
  6. </el-table-column>
复制代码

美化整体页面修改menu

运行如图所示:

为了页面雅观使其页面左对齐

添加text-align:left
修改后如图所示:

完备代码
  1. // An highlighted block<template>  <div class="home">    <el-container style="height: 100%; border: 1px solid #eee">      <el-aside width="200px" style="background-color: rgb(238, 241, 246)" >        <el-menu :default-openeds="['1', '3']"           background-color=rgb(48,65,86)          text-color=#ccc          active-text-color=red          style="min-height:100%; overflow-x:hidden"          router="">          <div style="height:60px; line-height:60px; text-align:center">            <img src="../assets/logo.png" style="width:20px;position:relative;top:5px;margin-right:5px"/>            <b style="color:white">背景管理系统</b>          </div>          <el-submenu index="1">          <template slot="title"><i class="el-icon-message"></i>导航一</template>          <el-menu-item-group>            <template slot="title">分组一</template>            <el-menu-item index="1-1">选项1</el-menu-item>            <el-menu-item index="1-2">选项2</el-menu-item>          </el-menu-item-group>          <el-menu-item-group title="分组2">            <el-menu-item index="1-3">选项3</el-menu-item>          </el-menu-item-group>          <el-submenu index="1-4">            <template slot="title">选项4</template>            <el-menu-item index="1-4-1">选项4-1</el-menu-item>          </el-submenu>          </el-submenu>          <el-submenu index="2">          <template slot="title"><i class="el-icon-menu"></i>导航二</template>          <el-menu-item-group>            <template slot="title">分组一</template>            <el-menu-item index="2-1">选项1</el-menu-item>            <el-menu-item index="2-2">选项2</el-menu-item>          </el-menu-item-group>          <el-menu-item-group title="分组2">            <el-menu-item index="2-3">选项3</el-menu-item>          </el-menu-item-group>          <el-submenu index="2-4">            <template slot="title">选项4</template>            <el-menu-item index="2-4-1">选项4-1</el-menu-item>          </el-submenu>          </el-submenu>          <el-submenu index="3">          <template slot="title"><i class="el-icon-setting"></i>导航三</template>          <el-menu-item-group>            <template slot="title">分组一</template>            <el-menu-item index="3-1">选项1</el-menu-item>            <el-menu-item index="3-2">选项2</el-menu-item>          </el-menu-item-group>          <el-menu-item-group title="分组2">            <el-menu-item index="3-3">选项3</el-menu-item>          </el-menu-item-group>          <el-submenu index="3-4">            <template slot="title">选项4</template>            <el-menu-item index="3-4-1">选项4-1</el-menu-item>          </el-submenu>          </el-submenu>        </el-menu>      </el-aside>      <el-container>        <el-header style="text-align: right; font-size: 12px; border-bottom: 1px solid red; line-height:60px">          <el-dropdown style="width:100px; cursor:pointer">           <span>王小虎</span><i class="el-icon-arrow-down" style="margin-left:5px"></i>            <el-dropdown-menu slot="dropdown">            <el-dropdown-item>个人信息</el-dropdown-item>            <el-dropdown-item>退出</el-dropdown-item>          </el-dropdown-menu>          </el-dropdown>               </el-header>        <el-main style="text-align: left;">          <div style="padding:10px">            <el-input style="width:250px" suffix-icon="el-icon-search" placeholder="请输入名称搜索"></el-input>            <el-input style="width:250px" suffix-icon="el-icon-email" placeholder="请输入邮箱搜索"></el-input>            <el-input style="width:250px" suffix-icon="el-icon-position" placeholder="请输入地址搜索"></el-input>            <el-button style="margin-left:5px" type="primary">搜索</el-button>          </div>                        <div style="margin:10px">            <el-button type="primary">新增<i class="el-icon-circle-plus"></i></el-button>            <el-button type="danger">批量删除<i class="el-icon-remove"></i></el-button>            <el-button type="primary">导入<i class="el-icon-bottom"></i></el-button>            <el-button type="primary">导出<i class="el-icon-top"></i></el-button>           </div>          <el-table          :data="tableData"          stripe          style="width: 100%">          <el-table-column            prop="date"            label="日期"            width="180">          </el-table-column>          <el-table-column            prop="name"            label="姓名"            width="180">          </el-table-column>          <el-table-column            prop="address"            label="地址">          </el-table-column>          <el-table-column fixed="right" label="操纵">                                     <template slot-scope="scope">              <el-button type="success" size="small" icon="el-icon-edit">编辑</el-button>              <el-button type="danger" size="small"  icon="el-icon-delete">删除</el-button>            </template>          </el-table-column>         </el-table>        <div style="padding:10px">
  2.     <el-pagination
  3.     @size-change="handleSizeChange"
  4.     @current-change="handleCurrentChange"
  5.     :current-page="currentPage4"
  6.     :page-sizes="[5, 10, 15, 20]"
  7.     :page-size="10"
  8.     layout="total, sizes, prev, pager, next, jumper"
  9.     :total="400">
  10.     </el-pagination>
  11. </div>
  12.       </el-main>      </el-container>    </el-container>  </div></template><script>// @ is an alias to /srcimport HelloWorld from '@/components/HelloWorld.vue'export default {  name: 'HomeView',  data(){   const item = {    date: '2016-05-02',    name: '王小虎',    address: '上海市普陀区金沙江路 1518 弄'   };   return {    tableData: Array(10).fill(item)   } }}</script>
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

大连全瓷种植牙齿制作中心

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表