elementUI表格中插入燃尽图,步骤条(假数据模拟)

【Vue入门实践4】el-table和Echarts折线图【表-图两者联动】显示tooltip效果【表-图-表三者联动】展示数据 需求:折线图是根据table的表格数据’环境剂量率‘绘制出来的。 仔细看table的高亮哈!!点击table的某一行,对应右侧的折线图显示tooltip,相反的点击折线图的节点,table也会相应的高亮某一行。 一、准备工作 1.table表格 表格数据detailData <el-table :data="detailData" style="width: 100%" class="tabl... 阅读详情

首先看一下效果图,再做讲解

在el-table中插入某个标签,我们通常是采用插槽的方式进行插入,但是实现图片中的功能的时候,你会发现,步骤条插入就显示出来了,但是用echarts绘制的燃尽图却出不来。打开控制台,你会发现报错了。

现在我们来分析一下,报错的原因。因为我们用echart绘制图表的时候,第一行代码首先写的是

var myChart = echarts.init(document.getElementsByClassName("main")[0])

正式因为这行代码,导致了报错;表格的数据是循环遍历出来的,这个时候标签在渲染过程,我们还没拿到document.getElementsByClassName("main")[0]这个标签,所以就报错了。

这时候我们在调用echarts生成图片的方法的时候,需要加一个定时器。

setTimeout(()=>{
  this.echarImg()
})

这个时候你会发现,图片出来了,但是只有第一列有图片。那是因为我们遍历来绘制图片。

echarImg(){
  for(var i = 0; i< this.tableData.length;i++){
    var myChart = echarts.init(document.getElementsByClassName("main")[i])
    var option = {
      ...
    }
    myChart.setOption(option)
  }

},

下面就是说说步骤条,一般在表格中只会展示部分的步骤,到详情界面才会全部展示,那么这时候怎么处理呢?

通过v-show="key+1==scope.row.milepostRow.milepostActive || key+1 == scope.row.milepostRow.milepostActive-1 || key+1==scope.row.milepostRow.milepostActive+1"来显示需要显示的步骤,v-if="key<scope.row.milepostRow.milepostActive+1"去掉elementUI中多带出来的线条,然后样式微调整即可

<el-table-column
  prop="milepostRow"
  align="center"
  label="步骤条">
  <template slot-scope="scope">
    <div :style="scope.row.milepostRow.milepostActive == 1 || scope.row.milepostRow.milepostActive == 2 ? Style: Style1">
      <el-steps :active="scope.row.milepostRow.milepostActive" >
        <el-step v-for="(value, key) in scope.row.milepostRow.milepost"
           v-if="key<scope.row.milepostRow.milepostActive+1"
           v-show="key+1==scope.row.milepostRow.milepostActive ||
                   key+1 == scope.row.milepostRow.milepostActive-1 ||
                   key+1==scope.row.milepostRow.milepostActive+1"
           :class="scope.row.milepostRow.milepostActive== key+1 ? scope.row.milepostRow.stepActive: '' "
           :title="value.title"
        >
        </el-step>
      </el-steps>
    </div>
  </template>
</el-table-column>

最后附上全部代码

<template>
  <div>
    <el-table
      border
      :data="tableData"
      style="width: 100%">
      <el-table-column
        align="center"
        prop="date"
        label="日期"
        width="180">
      </el-table-column>
      <el-table-column
        align="center"
        prop="name"
        label="姓名"
        width="180">
      </el-table-column>
      <el-table-column
        align="center"
        label="燃尽图">
        <template slot-scope="scope">
          <div class="main" style="width: 300px;height:80px; left:10%"></div>
        </template>
      </el-table-column>
      <el-table-column
        prop="milepostRow"
        align="center"
        label="步骤条">
        <template slot-scope="scope">
          <div :style="scope.row.milepostRow.milepostActive == 1 || scope.row.milepostRow.milepostActive == 2 ? Style: Style1">
            <el-steps :active="scope.row.milepostRow.milepostActive" >
              <el-step v-for="(value, key) in scope.row.milepostRow.milepost"
                       v-if="key<scope.row.milepostRow.milepostActive+1"
                       v-show="key+1==scope.row.milepostRow.milepostActive ||
                              key+1 == scope.row.milepostRow.milepostActive-1 ||
                              key+1==scope.row.milepostRow.milepostActive+1"
                       :class="scope.row.milepostRow.milepostActive== key+1 ?                        scope.row.milepostRow.stepActive: '' "
                       :title="value.title"
              >
              </el-step>
            </el-steps>
          </div>
        </template>
      </el-table-column>
    </el-table>
  </div>
</template>

<script>
  import echarts from 'echarts'
  export default {
    name: "one",
    data() {
      return {
        tableData: [],
        Style: 'position: relative; left:10%; padding-right:20% ',
        Style1: 'position: relative; left:10%;'
      }
    },
    mounted(){
        this.getList()
    
    },
    methods:{
        getList(){
            this.tableData = [
              {
                date: '2016-05-02',
                name: '王小虎',
                address: '上海市普陀区金沙江路 1518 弄',
                list:['迭代一', '迭代二','迭代三'],
                rwl:[6,4,0],
                stack:[5, 4.5],
                milepostRow:{
                  milepost: [
                    {title: '迭代一' },
                    {title: '迭代二'},
                    {title: '迭代三'},
                  ],
                  // 默认步骤数
                  milepostActive: 2,
                  // 动态添加类名
                  stepActive: 'stepActive'
                }

              },
              {
                date: '2016-05-02',
                name: '王小虎',
                address: '上海市普陀区金沙江路 1518 弄',
                list:['迭代一', '迭代二', '迭代三', '迭代四', '迭代五'],
                rwl:[6,4,2,0],
                stack:[5, 4.5, 2.8],
                milepostRow: {
                  milepost: [
                    {title: '迭代一' },
                    {title: '迭代二'},
                    {title: '迭代三'},
                    {title: '迭代四'},
                    {title: '迭代五'}
                  ],
                  // 默认步骤数
                  milepostActive: 3,
                  // 动态添加类名
                  stepActive: 'stepActive'
                },
              }
            ]
          setTimeout(()=>{
            this.echarImg()
          })

        },
      echarImg(){
        for(var i = 0; i< this.tableData.length;i++){
          var myChart = echarts.init(document.getElementsByClassName("main")[i])
          var option = {
            xAxis: {
              type: 'category',
              boundaryGap: false,
              splitLine: {
                show: false
              },
              data: this.tableData[i].list
            },
            yAxis: {
              splitLine: {
                show: false
              },
              type: 'value',
              splitNumber:3
          },
            series: [
              {
                name: '剩余工作量',
                type: 'line',
                // stack: '剩余工作量',
                data: this.tableData[i].stack,
                itemStyle: {
                  normal: {
                    // 折点颜色样式
                    color: 'green',
                    lineStyle: {
                      // 折线颜色样式
                      color: 'green'
                    }
                  }
                },
              },
              {
                name: '任务量',
                type: 'line',
                data: this.tableData[i].rwl,
                itemStyle: {
                  normal: {

                    // 折点颜色样式
                    color: 'orange',
                    lineStyle: {
                      // 折线颜色样式
                      color: 'orange',
                      type:'dashed'
                    }
                  }
                },
              },
            ]
          }
          myChart.setOption(option)
        }

      },
    }
  }
</script>

<style lang="scss">
  .el-step.is-horizontal.stepActive{
    .el-step__head.is-finish{
      .el-step__line{
        // 当前步骤数横线样式设置
        .el-step__line-inner{
          width: 50% !important;
          border-width: 1px !important;
        }
      }
      // 当前步骤数圆圈样式设置
      .el-step__icon.is-text{
        background: #409eff;
        color:#fff;
      }
    }
  }
  .el-table td:last-child div {
    text-align: left;

  }
</style>

硅传CC1310二次开发必备:手把手教你用JTAG解锁被锁定的Flash存储器 本文针对硅传CC1310模块二次开发中常见的Flash锁定问题,提供了从原理剖析到实战操作的完整解决方案。详细介绍了如何使用Uniflash和Flash Programmer 2等工具进行Flash解锁和擦除,并强调了硬件连接稳定性与供电质量的关键作用,帮助开发者彻底解决烧录障碍,为后续应用开发铺平道路。 阅读详情

相关推荐

[特殊字符] 智能补货(AI-driven Replenishment)完整实施方案

补货量=预测需求+安全库存−当前库存补货量 = 预测需求 + 安全库存 - 当前库存补货量=预测需求+安全库存−当前库存。:基于 LSTM/Transformer 预测未来 30/60/90 天的销量。

nbsaas-boot基于Request-Response的企业级快速开发框架 967

el-table中显示echarts的趋势折线图(燃尽图)

el-table和echarts来显示趋势折线图、燃尽图

qq_40453972的博客 4320

从Excel到‘一张图’办案:手把手教你用AbutionGraph构建公安经侦知识图谱(含数据建模避坑指南)

本文详细介绍了如何利用AbutionGraph时序图数仓技术,将公安经侦领域的Excel、银行流水等碎片化数据转化为可交互的知识图谱。通过数据清洗、实体关系模型设计、时序数据处理等步骤,实现高效智能分析,提升办案效率。特别包含数据建模避坑指南和实战案例,助力公安金融案件侦破。

weixin_33702545的博客 342

前端 | 燃尽图绘制

TED打卡100篇燃尽图

知识库搭建ing 2111

微信小程序如何转云开发

小程序转云开发

zhangxiaobai___的博客 3914

Mumax3高效模拟技巧:如何利用代码模板快速完成磁性材料特性分析

本文介绍了利用Mumax3代码模板库提升磁性材料微磁学模拟效率的核心方法。通过构建模块化的环境配置、材料库和特征长度计算模板,研究者可以快速组装模拟方案,自动化参数扫描与结果分析,从而将精力聚焦于物理问题本身,实现工作效率的指数级提升。

zz67890的博客 550

vue项目中实现燃尽图

效果图: vue组件(test.vue): <template> <div> <divclass="main" style="width:600px;height:400px;margin:0auto;...

choucha5981的博客 1376

HMC5883L磁力计驱动开发:I²C通信、校准与FreeRTOS集成

磁力计是惯性导航与电子罗盘系统的核心传感器,其输出原始磁场数据需经精确采集、单位换算与误差补偿才能用于姿态解算。基于各向异性磁阻(AMR)原理的三轴磁力计,如HMC5883L,依赖稳定I²C通信获取12位有符号磁场采样值,并通过增益配置、硬软铁校准及温度补偿提升物理量精度。在嵌入式实时系统中,驱动层须保障数据的时间一致性与抗干扰鲁棒性,避免总线挂死、字节错位或量程误配等典型问题。本文围绕HMC5883L这一广泛使用的停产但仍在产线服役的磁传感器,详解寄存器配置、定点单位转换、八方位校准算法及FreeRTOS

weixin_42594427的博客 145

燃尽图,甘特图,鱼骨图

1. 燃尽图        燃尽图(burn down chart)是在项目完成之前,对需要完成的工作的一种可视化表示。燃尽图有一个Y轴(工作)和X轴(时间)。理想情况下,该图表是一个向下的曲线,随着剩余工作的完成,“烧尽”至零。燃尽图向项目组成员和企业主提供工作进展的一个公共视图。这个词常常用于敏捷编程。 2. 甘特图      甘特图内在思想简单,即以图示的方式通过活动列

p_ython的博客 7909

使用3dmax Morpher制作Unity表情动画

关于游戏人物的面部表情动画 方案一:如果面部骨骼数丰富的话,可以直接做骨骼动画 方案二:采用变形器(3dmax是Morpher,maya是blendshape)修改相应通道的权重值来做表情动画 本文简述方案二的做法。 说明:本文截图中3dsMax版本为2017。笔者第一次使用3dsMax,欢迎指正。 3dmax中导入人物模型,选择需要变形的对象,即head。当前对象附带skin信息。 ...

写作帮助思考 2万+

【原创】汇川H5U PLC控制伺服的方法

6、在线调试-进入伺服调试,可以在本软件上进行调试,可以实现原点回归、正向点动、反向电动、使能(这里使能打开时触摸屏上的使能不能打开,会冲突)、复位、停止(如下图所示)。5、在原点返回设置中一般情况下对原点信号、正限位、负限位、原点返回方向、原点返回方式进行设置,其他设置默认不改(如下图所示)。3、在单位换算设置上只需要修改脉冲数和移动量(根据伺服配套导轨上名牌进行设置),其他设置默认不改(如下图所示)。11、双击后右边出现编辑框 在上半部分定义变量(IN、INOUT、OUT、VAR)(如下图所示)。

Qinmingyue13的博客 6668

vue:表格中嵌入echarts实现进度条展示

vue:el-table中嵌入echarts

Ho_mj的专栏 3416

26、机器学习模型的成员推断攻击与隐私保护

本文探讨了机器学习模型面临的成员推断攻击及其对隐私的潜在威胁。通过使用CIFAR-10数据集,详细介绍了如何利用影子模型和攻击模型推断特定数据点是否属于模型的训练集。实验表明,即使无法直接访问模型参数和原始数据,攻击者仍能以高于随机猜测的概率进行推断,从而构成隐私风险。此外,文章还分析了实验的关键技术点,并提出了多种隐私保护建议,包括数据脱敏、差分隐私、模型正则化等方法。

coffee的博客 123

elementUI步骤条样式改造

修改的效果图如上。下面详细介绍修改的步骤。(通过动态添加类名的方式改进样式) 结构部分 <el-steps :active="milepostActive" > <el-step v-for="(value, key) in milepost" :class="milepostActive== key+1 ? stepActive: '' " ...

CuiCui_web的博客 1万+

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

ElementUI的弹窗实现步骤条,步骤1,步骤二

使用组件 el-steps,里面有上一步和下下一步的方法 控制组件 的显示v-show 或者v-if 在他们的方法里面改变显示的状态 点击一下一步切换显示的表单 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <link href="static/css/admin.css" rel="stylesheet" t.

有时间可以指导毕业设计,可以私聊我。一个热爱编程的smallCuteMonkey,可以私信我 3999

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Vue——ElementUI+Echarts将数据以柱形图展示

定义方法RenderEcharts(obj),用于生成柱状图,参数obj指我们用于生成柱形图的数据//柱状图 RenderEcharts(obj) {// console.log('单位主协办情况');});title : {text : '单位主协办数量分析' , subtext : '' } , tooltip : {data : [ '主办' , '协办' ] } , toolbox : {...

weixin_56039103的博客 6090

vue使用echarts画柱状图(个性化样式)

根据ui设计实现的个性化柱状图,个人第一次弄,所以记录一下,如果你也刚好需要使用,可以借鉴一下:效果图如下。我相信你在使用的时候应该已经在项目可以正常使用echarts,所以就不必过多其他步骤,直接上代码。其实实现个性化主要在series数据里面,可以根据里面注解大概了解一下具体原理.

a_boy_bb的博客 1077

elementUI Steps 步骤条 样式以及方法使用

elementUI步骤条,CSS改变步骤条状态样式

weixin_36723038的博客 5538

使用Element-UI的步骤条和进度条实现二级步骤条

实现效果 实现步骤 1.完成初步样式 将6个部分共同组成一个二级进度条,分别设置样式,用display:flex完成布局 html部分: <div class="step"> <!-- 第一部分 --> <div class="dot blue"></div> <div class="step_mod"> <!-- 第二部分 --> <div class="

m0_43422403的博客 7407

elemenui中table假数据,点击编辑将内容回显当前行table表格中

点击编辑,将编辑内容回显到table表格当前行。table表格中的数据有前端写死的假数据。点击保存,将添加内容存储在定义的对象中。

m0_51737569的博客 269

scope.row的含义及应用

scope.row是Vue.js组件中经常用到的概念,其代表了我们要处理的一行数据。通过scope.row,我们可以方便的获取到行数据,并对该数据进行一系列操作,使组件的数据处理更加简洁、直观。scope.row的含义及应用_笔记大全_设计学院 (python100.com)如若内容造成侵权,请联系邮箱:2375622971@qq.com。

SUNN1Y的博客 6838

实现el-table中嵌套echarts图表以及柱条渐变

【代码】实现el-table中嵌套echarts图表以及柱条渐变。

qq_61461409的博客 2969

vue实现table表格嵌入Echarts

<template> <div> <el-table :data="tableData"> <el-table-column prop="date" label="日期" width="180"> </el-table-column> <el-table-column prop="name"

weixin_51406830的博客 4652

element 中步骤条组件的使用

elementui 步骤条

记忆碎片 3951

饿了么element滚动条elScrollbar的使用(包含在el-table中的使用)

饿了么element滚动条elScrollbar的使用(包含在el-table中的使用)简介引用基本使用只显示横向滚动条只显示纵向滚动条在el-table中使用滚动条 简介 由于项目需要统一滚动条样式有需要兼容ie,之前有用过一款滚动条插件,但是有点儿卡,而且数据更新需要自己重置,又刚好在elment官网看到了饿了么自带的滚动条样式比较友好,就想把他扣下来,搜索之后原来element-ui有这个滚动条的组件,只是文档里面没有,经使用验证可以兼容到ie10,而且可以很好的DIY样式,更不用每次更新数据就需要重

寻梦人的博客 1万+

elementUI如何给el-tabs/el-tab-pane添加图标

如果只是使用element-ui自带的图标则无需进行自定义图标的配置,直接调用即可;由于用的是自定义的图标,所以需要在background中引入对应的svg文件;ps:红色是因为添加了额外的css 在此不做描述。以此类推,我们支持6级标题。语法后生成一个完美的目录。

qq_44644561的博客 5952

从燃尽图看项目管理:你的项目哪里出错了?(燃尽图类型全解析)

什么是燃尽图 燃尽图(burn down chart)是在项目完成之前,对需要完成的工作任务的一种可视化表示。理想情况下,该图表是一个向下的曲线,随着项目任务的逐渐完成“烧尽”至零。 燃尽图常常用于敏捷开发中,作为项目进展的一个指示器。 如何解读燃尽图 燃尽图是一个坐标图。呈现的是随着时间推移而剩余的工作量。 燃尽图的元素: 横坐标:sprint的工期...

weixin_34414196的博客 1388
上一篇: elementUI步骤条样式改造
下一篇: elementUI弹窗之坑(dialog的遮罩层在弹出层的上面,子弹窗执行保存(确定)按钮之后还要执行取消按钮,Prop being mutated: "showTree")
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值