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 相关文章推荐
JavaScript 加号(+)运算符号
Dec 06 Javascript
json原理分析及实例介绍
Nov 29 Javascript
javascript 函数及作用域总结介绍
Nov 12 Javascript
cookie中的path与domain属性详解
Dec 18 Javascript
关于javascript的一些知识以及循环详解
Sep 12 Javascript
快速掌握jQuery插件开发
Jan 19 Javascript
ES6中module模块化开发实例浅析
Apr 06 Javascript
jQuery ajax读取本地json文件的实例
Oct 31 jQuery
layui之select的option叠加问题的解决方法
Mar 08 Javascript
jquery轻量级数字动画插件countUp.js使用详解
Oct 17 jQuery
node.js制作一个简单的登录拦截器
Feb 10 Javascript
Postman环境变量全局变量使用方法详解
Aug 13 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/06/03 PHP
php使用cookie实现记住登录状态
2015/04/27 PHP
PHP时间类完整实例(非常实用)
2015/12/25 PHP
详解WordPress中添加和执行动作的函数使用方法
2015/12/29 PHP
Zend Framework入门之环境配置及第一个Hello World示例(附demo源码下载)
2016/03/21 PHP
php+redis在实际项目中HTTP 500: Internal Server Error故障排除
2017/02/05 PHP
PHP fclose函数用法总结
2019/02/15 PHP
JavaScript DOM学习第四章 getElementByTagNames
2010/02/19 Javascript
js实现div闪烁原理及实现代码
2014/06/24 Javascript
javascript使用switch case实现动态改变超级链接文字及地址
2014/12/16 Javascript
对javascript继承的理解
2016/10/11 Javascript
JS经典正则表达式笔试题汇总
2016/12/15 Javascript
浅谈事件冒泡、事件委托、jQuery元素节点操作、滚轮事件与函数节流
2017/07/22 jQuery
详解webpack 入门与解析
2018/04/09 Javascript
JavaScript递归函数定义与用法实例分析
2019/01/24 Javascript
vue工程全局设置ajax的等待动效的方法
2019/02/22 Javascript
原生js实现抽奖小游戏
2019/06/27 Javascript
Vue使用lodop实现打印小结
2019/07/06 Javascript
JavaScript 继承 封装 多态实现及原理详解
2019/07/29 Javascript
微信小程序实现星级评价
2019/11/20 Javascript
js闭包和垃圾回收机制示例详解
2021/03/01 Javascript
[01:01:42]Secret vs Optic Supermajor 胜者组 BO3 第二场 6.4
2018/06/05 DOTA
Python 网页解析HTMLParse的实例详解
2017/08/10 Python
Python之ReportLab绘制条形码和二维码的实例
2018/01/15 Python
由Python编写的MySQL管理工具代码实例
2019/04/09 Python
Python树莓派学习笔记之UDP传输视频帧操作详解
2019/11/15 Python
关于多元线性回归分析——Python&amp;SPSS
2020/02/24 Python
Python3+selenium实现cookie免密登录的示例代码
2020/03/18 Python
美国专业级皮肤病和spa品质护肤品的高级零售网站:SkinCareRx
2017/02/06 全球购物
linux面试题参考答案(6)
2016/06/23 面试题
餐饮部总监岗位职责范文
2014/02/13 职场文书
应聘会计求职信
2014/06/11 职场文书
门卫岗位职责说明书
2014/08/18 职场文书
党员群众路线学习心得体会
2014/11/04 职场文书
2015年勤工助学工作总结
2015/04/29 职场文书
2019年家电促销广告语集锦
2019/10/21 职场文书