vue element-ui中table合计指定列求和实例


Posted in Javascript onNovember 02, 2020

注意点:

1. <el-table> 中 加:summary-method="getSummaries"

2. <el-table-column> 中要加 prop

// 房间号的合计去掉
 getSummaries (param) {
  const { columns, data } = param
  const sums = []
  columns.forEach((column, index) => {
  if (index === 0) {
   sums[index] = '总计'
  } else if (index === 5 || index === 6) {
   const values = data.map(item => Number(item[column.property]))
   if (!values.every(value => isNaN(value))) {
   sums[index] = values.reduce((prev, curr) => {
    const value = Number(curr)
    if (!isNaN(value)) {
    return prev + curr
    } else {
    return prev
    }
   }, 0)
   } else {
   sums[index] = 'N/A'
   }
  } else {
   sums[index] = '--'
  }
  })
  return sums
 }

效果图

vue element-ui中table合计指定列求和实例

补充知识:vue+elementUI的表格最后一行合计自定义显示

1.在看了elementUI的文档后重要的俩个属性是 show-summary :summary-method="getSummaries" getSummaries这个是自定义方法函数的方法。

HTML的代码:

show-summary :summary-method="getSummaries的属性要加上,还有一个很重要的一点就是要 必须要在el-table-column中必须是prop来传值"

<el-table :key='tableKey' :data="listData" show-summary :summary-method="getSummaries" v-loading="listLoading" border fit highlight-current-row
    style="width:100%;margin-top:8px" :header-cell-style="{background:'oldlace'}">>
    
     <el-table-column prop="equipmentType" align="center" label="设备类型" min-width="50">
     </el-table-column>
     <el-table-column prop="equipmentName" align="center" label="设备名称" min-width="50">
     </el-table-column>
     <el-table-column prop="equipmentCode" align="center" label="设备编号" min-width="50">
     </el-table-column>
     <el-table-column prop="openRate" align="center" label="开机率" min-width="50">
     </el-table-column>
     <el-table-column prop="planWorkTime" align="center" label="计划工作时间" min-width="50">
     </el-table-column>
     <el-table-column prop="closeTime" align="center" label="关机时间(h)" min-width="50">
     </el-table-column>
     <el-table-column prop="machiningTime" align="center" label="加工时间(h)" min-width="50">
     </el-table-column>
     <el-table-column prop="stopTime" align="center" label="停工时间(h)" min-width="50">
     </el-table-column>
     <el-table-column prop="debugTime" align="center" label="调试时间(h)" min-width="50">
     </el-table-column>
 
    <el-table-column align="center" label="查看" min-width="210">
     <template slot-scope="scope">
     <el-button title="时序图" type="primary" size="mini" @click="profile(scope.row)" v-show="SXTbatshow">时序图</el-button>
     <el-button title="状态时长统计图" type="danger" size="mini" @click="cartogram(scope.row)">状态时长统计图</el-button>
     <el-button title="状态占比图" type="success" size="mini" @click="diagram(scope.row)">状态占比图</el-button>
     </template>
    </el-table-column>
    </el-table>

在script要写的代码:

// 表格总计的时间
 getSummaries(param) {
  const { columns, data } = param;
  /* console.log(1234)
  console.log(param) */ 
  const sums = [];
  columns.forEach((column, index) => {
   if (index === 0) {
   sums[index] = '总计';
   return;
   }
   //this.closeList等等是后台返回的总的数据,然后取值到这里
   switch(column.property) {
   case "closeTime":
   sums[index] = this.closeList + ' h' 
   break;
   case "machiningTime":
   sums[index] = this.machiningTimeList + ' h'
   break;
   case "stopTime":
   sums[index] = this.stopTimeList + ' h' 
   break;
   case "debugTime":
   sums[index] = this.debugTimeList + ' h' 
   break;
   default:
   break;
   }
  });

  return sums;
  },

效果图:

vue element-ui中table合计指定列求和实例

vue element-ui中table合计指定列求和实例

以上这篇vue element-ui中table合计指定列求和实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
把textarea中字符串里含有的回车换行替换成&amp;lt;br&amp;gt;的javascript代码
Apr 20 Javascript
javascript实现 在光标处插入指定内容
May 25 Javascript
jQuery验证Checkbox是否选中的代码 推荐
Sep 04 Javascript
Javascript绝句欣赏 一些经典的js代码
Feb 22 Javascript
收集json解析的四种方法分享
Jan 17 Javascript
完美兼容各大浏览器的jQuery插件实现图片切换特效
Dec 12 Javascript
jquery队列函数用法实例
Dec 16 Javascript
JavaScript判断表单提交时哪个radio按钮被选中的方法
Mar 21 Javascript
JavaScript实现将xml转换成html table表格的方法
Apr 17 Javascript
Node.js 中exports 和 module.exports 的区别
Mar 14 Javascript
jquery鼠标悬停导航下划线滑出效果
Sep 29 jQuery
详解Vue 中 extend 、component 、mixins 、extends 的区别
Dec 20 Javascript
vue 动态添加class,三个以上的条件做判断方式
Nov 02 #Javascript
vue 公共列表选择组件,引用Vant-UI的样式方式
Nov 02 #Javascript
在vant 中使用cell组件 定义图标该图片和位置操作
Nov 02 #Javascript
Vant picker 多级联动操作
Nov 02 #Javascript
vue实现列表拖拽排序的功能
Nov 02 #Javascript
用vue写一个日历
Nov 02 #Javascript
在vue中使用vant TreeSelect分类选择组件操作
Nov 02 #Javascript
You might like
php 删除记录实现代码
2009/03/12 PHP
php微信公众平台配置接口开发程序
2016/09/22 PHP
PHP使用XMLWriter读写xml文件操作详解
2018/07/31 PHP
php实现文章评论系统
2019/02/18 PHP
PHPUnit + Laravel单元测试常用技能
2019/11/06 PHP
TP3.2.3框架使用CKeditor编辑器在页面中上传图片的方法分析
2019/12/31 PHP
jquery 元素控制(追加元素/追加内容)介绍及应用
2013/04/21 Javascript
javascript date格式化示例
2013/09/25 Javascript
jQuery实现简单的日期输入格式化控件
2015/03/12 Javascript
jQuery+jsp实现省市县三级联动效果(附源码)
2015/12/03 Javascript
JavaScript6 let 新语法优势介绍
2016/07/15 Javascript
[原创]SyntaxHighlighter自动识别并加载脚本语言
2017/02/07 Javascript
整理关于Bootstrap排版的慕课笔记
2017/03/29 Javascript
详解使用angular的HttpClient搭配rxjs
2017/09/01 Javascript
JS使用JSON.parse(),JSON.stringify()实现对对象的深拷贝功能分析
2019/03/06 Javascript
Vue项目总结之webpack常规打包优化方案
2019/06/06 Javascript
ionic2.0双击返回键退出应用
2019/09/17 Javascript
Vue中qs插件的使用详解
2020/02/07 Javascript
原生js+canvas实现下雪效果
2020/08/02 Javascript
[16:27]DOTA2 HEROS教学视频教你分分钟做大人-艾欧
2014/06/11 DOTA
Python实现找出数组中第2大数字的方法示例
2018/03/26 Python
python 脚本生成随机 字母 + 数字密码功能
2018/05/26 Python
10 行 Python 代码教你自动发送短信(不想回复工作邮件妙招)
2018/10/11 Python
Django Rest framework认证组件详细用法
2019/07/25 Python
Python 操作 ElasticSearch的完整代码
2019/08/04 Python
python创建子类的方法分析
2019/11/28 Python
使用html5 canvas创建太空游戏的示例
2014/05/08 HTML / CSS
Shein英国:女性时尚网上商店
2019/04/10 全球购物
房地产销售计划书
2014/01/10 职场文书
挂牌仪式主持词
2014/03/20 职场文书
党委班子对照检查材料
2014/08/19 职场文书
2014最新预备党员思想汇报范文:中国梦,我的梦
2014/10/25 职场文书
2014年煤矿工作总结
2014/11/24 职场文书
绵山导游词
2015/02/05 职场文书
Python网络编程之ZeroMQ知识总结
2021/04/25 Python
Redis中有序集合的内部实现方式的详细介绍
2022/03/16 Redis