【前端】Vue+Element UI案例:通用后台管理系统-Home组件:卡片、表格
创始人
2024-04-03 18:15:19
0

文章目录

    • 目标
    • 代码
      • 0.布局
      • 1.左上User卡片
      • 2.左下table卡片
        • 2.1数据:TableData.js
        • 2.2table
        • 2.3代码优化:循环
      • 3.右上数据卡片
        • 3.1数据:CountData
        • 3.2结构
        • 3.3布局
        • 3.4样式
    • 总代码
      • Home.vue
    • 参考

目标

在这里插入图片描述

  • 红框内部分
  • 都是卡片,鼠标悬停会有阴影
  • 左下是表格

代码

0.布局

分为左右两边,大约1:2。如果一共分为24份的话,就是8:16.

打开文档:我们可以选它,改成8:16.
在这里插入图片描述


1.左上User卡片

在这里插入图片描述
我们这里要的只是鼠标悬停产生阴影的效果,所以只用它的标签el-card即可。

我们把结构写上:

Admin

超级管理员

上次登录时间:2021-7-19

上次登陆地点:武汉

加上样式:

.user {// 垂直居中display: flex;align-items: center;// 外边距:分割线距离loginInfo的距离margin-bottom: 20px;// 内边距:分割线距离User的距离padding-bottom: 20px;border-bottom: 1px solid #ccc;img {width: 150px;height: 150px;border-radius: 50%;margin-right: 40px;}.userInfo {.name {font-size: 32px;margin-bottom: 10px;}.access {color: #999999;}}
}.loginInfo {p {line-height: 28px;font-size: 14px;color: #999999;span {color: #666666;margin-left: 60px;}}
}

效果:
在这里插入图片描述
其实这里花精力比较多的地方会是样式。但样式不是本篇的重点。

2.左下table卡片

2.1数据:TableData.js

把它单独放到一个js中再导出:

const TableData = [{name: 'oppo',todayBuy: 100,monthBuy: 300,totalBuy: 800},{name: 'vivo',todayBuy: 100,monthBuy: 300,totalBuy: 800},{name: '苹果',todayBuy: 100,monthBuy: 300,totalBuy: 800},{name: '小米',todayBuy: 100,monthBuy: 300,totalBuy: 800},{name: '三星',todayBuy: 100,monthBuy: 300,totalBuy: 800},{name: '魅族',todayBuy: 100,monthBuy: 300,totalBuy: 800}
]export default TableData

2.2table

我们的table也要有鼠标悬停有阴影的效果,所以它也要在el-card里。

找到文档中的table:data是对象数据,prop用于填入数据,label是列名。
在这里插入图片描述
代码:



效果:
在这里插入图片描述

2.3代码优化:循环

显然上述代码是重复代码,我们可以把它优化:把prop和label的值放在一个对象的键值对里:

const TableLabel={name:'课程',todayBuy:'今日购买',monthBuy:'本月购买',totalBuy:'总购买'
}export default TableLabel

在html里循环:



3.右上数据卡片

3.1数据:CountData

const CountData = [{name: "今日支付订单",value: 1234,icon: "success",color: "#2ec7c9",},{name: "今日收藏订单",value: 210,icon: "star-on",color: "#ffb980",},{name: "今日未支付订单",value: 1234,icon: "s-goods",color: "#5ab1ef",},{name: "本月支付订单",value: 1234,icon: "success",color: "#2ec7c9",},{name: "本月收藏订单",value: 210,icon: "star-on",color: "#ffb980",},{name: "本月未支付订单",value: 1234,icon: "s-goods",color: "#5ab1ef",},
]
export default CountData

3.2结构

显然我们可以用循环来写。

{{ priceFormate(item.value) }}

{{ item.name }}

效果:
在这里插入图片描述

3.3布局

一行三个,显然可以flex布局,每个的width是33.3%,这是排满的情况。
如果我们想要有点间隙,那就要width是32%。

看一下文档,想给卡片设置样式,可以添加属性body-style
在这里插入图片描述


css:

.num{display: flex;// 要换行flex-wrap: wrap;// 从头到尾均匀排列justify-content: space-between;margin-left:20px;.el-card{width: 32%;margin-bottom: 20px;}
}

3.4样式

css:

.num {display: flex;// 要换行flex-wrap: wrap;// 从头到尾均匀排列justify-content: space-between;margin-left: 20px;.el-card {width: 32%;margin-bottom: 20px;.icon {width: 80px;height: 80px;line-height: 80px;text-align: center;   font-size: 30px;                   color: #fff;}.details {// 竖着排且居中display: flex;flex-direction: column;justify-content: center;margin-left: 15px;.price {font-size: 30px;margin-bottom: 10px;line-height: 30px;height: 30px;}.desc {font-size: 14px;color: #999;text-align: center;}}}
}

效果:
在这里插入图片描述

总代码

Home.vue


参考

视频p20-p22

相关内容

热门资讯

银河麒麟V10SP1高级服务器... 银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V10是针对企业级关键业务...
【NI Multisim 14...   目录 序言 一、工具栏 🍊1.“标准”工具栏 🍊 2.视图工具...
AWSECS:访问外部网络时出... 如果您在AWS ECS中部署了应用程序,并且该应用程序需要访问外部网络,但是无法正常访问,可能是因为...
不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...
AWSElasticBeans... 在Dockerfile中手动配置nginx反向代理。例如,在Dockerfile中添加以下代码:FR...
Android|无法访问或保存... 这个问题可能是由于权限设置不正确导致的。您需要在应用程序清单文件中添加以下代码来请求适当的权限:此外...
月入8000+的steam搬砖... 大家好,我是阿阳 今天要给大家介绍的是 steam 游戏搬砖项目,目前...
​ToDesk 远程工具安装及... 目录 前言 ToDesk 优势 ToDesk 下载安装 ToDesk 功能展示 文件传输 设备链接 ...
北信源内网安全管理卸载 北信源内网安全管理是一款网络安全管理软件,主要用于保护内网安全。在日常使用过程中,卸载该软件是一种常...
AWS管理控制台菜单和权限 要在AWS管理控制台中创建菜单和权限,您可以使用AWS Identity and Access Ma...