Vue实战开发--后台管理系统Vue+Element ui(6)

上节课我们完成了CommonHeader,本节课将完成home页面的大概div布局。内容比较多。(16-18)

1.用户盒子

使用Element ui的Layout栅格布局(24),el-row表示大盒子,gutter表示col之间的列宽,只需要设置高度即可,el-col的宽度用:span属性表示,大致el-col中有el-card标签。col表示列,card表示列里面的卡片。

在home下的index.js文件

<template>
  <el-row class="home" :gutter="20" style="height:800px;">
    <!-- span表示盒子宽度,height自己设定,向下布局 -->
    <el-col :span="8" style="margin-top: 20px">
      <el-card shadow="hover">
        <div class="user">
          <img :src="userImg" />
          <div class="userinfo">
            <p class="name">Admin</p>
            <p class="access">超级管理员</p>
          </div>
        </div>
        <div class="login-info">
          <p>上次登录时间:<span>2021-1-19</span></p>
          <p>上次登录地点:<span>武汉</span></p>
        </div>
    </el-col>
  </el-row>
</template>

<script>
    export default {
      name: "User",
      data() {
        return {
          userImg: require("../../src/assets/images/user.png")
</script>

 显示效果:

 2.图表展示

使用Element ui的el-table。这里涉及到数据处理,提前模拟后端发送过来的数据tableData。将数据放在return中。

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,
        },
      ],

 el-table标签使用,:data表示从后端拿到的数据,:data=tabbleData。在return中添加一个tableLabel属性。即表格数据的第一行。在el-table-column用v-for进行遍历。

<el-card style="margin-top:20px;height:460px;weight:300px">
     <el-table :data="tableData">
        <el-table-column
        v-for="(val,key) in tableLabel"
        :key="key"
        :prop="key"
        :label="val">
      </el-table-column>
    </el-table>
</el-card>
tableLabel:{
          name:'课程',
          todayBuy:'今日购买',
          monthBuy:'本月购买',
          totalBuy:'总购买',
      },

 3.订单统计

在return中写死countData数据,同样需要for-v遍历,使用item接受数据,使用flex布局。icon采用字符串拼接,icon图标名都是el-icon-开头的。

    <el-col :span="16" style="margin-top:20px;">
        <div class="num">
            <el-card
            v-for="item in countData"
            :key="item"
            :body-style="{display:'flex', padding:0}">
                <i class="icon" :class="'el-icon-'+item.icon" :style="{background:item.color}"></i>
                <div class="detail">
                    <p class="num">¥{{item.value}}</p>
                    <p class="txt">{{item.name}}</p>
                </div>
            </el-card>
        </div>
        <el-card style="height:280px;"></el-card>
        <div class="graph">
            <el-card style="height:260px;"></el-card>
            <el-card style="height:260px;"></el-card>
        </div>
    </el-col>
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",
        },
      ]

效果图:

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值