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省市联动实现代码
Feb 15 Javascript
原生js实现fadein 和 fadeout淡入淡出效果
Jun 05 Javascript
JavaScript判断一个字符串是否包含指定子字符串的方法
Mar 18 Javascript
jquery获取css的color值返回RGB的方法
Dec 18 Javascript
jQuery实现将div中滚动条滚动到指定位置的方法
Aug 10 Javascript
关于RequireJS的简单介绍即使用方法
Oct 20 Javascript
Vue.js组件tabs实现选项卡切换效果
Dec 01 Javascript
Javascript 实现匿名递归的实例代码
May 25 Javascript
关于angularJs清除浏览器缓存的方法
Nov 28 Javascript
vue-cli2.x项目优化之引入本地静态库文件的方法
Jun 19 Javascript
微信小程序可滑动月日历组件使用详解
Oct 21 Javascript
Vue-cli项目部署到Nginx服务器的方法
Nov 01 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中看实例学正则表达式
2006/12/25 PHP
PHP中的按位与和按位或操作示例
2014/01/27 PHP
php实例分享之mysql数据备份
2014/05/19 PHP
标准版Eclipse搭建PHP环境的详细步骤
2015/11/18 PHP
人脸识别测颜值、测脸龄、测相似度微信接口
2016/04/07 PHP
PHP排序算法之归并排序(Merging Sort)实例详解
2018/04/21 PHP
细品javascript 寻址,闭包,对象模型和相关问题
2009/04/27 Javascript
javascript arguments 传递给函数的隐含参数
2009/08/21 Javascript
扩展easyui.datagrid,添加数据loading遮罩效果代码
2010/11/02 Javascript
jQuery中noConflict()用法实例分析
2015/02/08 Javascript
jQuery基于ajax()使用serialize()提交form数据的方法
2015/12/08 Javascript
Node.js 日志处理模块log4js
2016/08/28 Javascript
node.js与C语言 实现遍历文件夹下最大的文件,并输出路径,大小
2017/01/20 Javascript
Ajax跨域实现代码(后台jsp)
2017/01/21 Javascript
AngularJS监听ng-repeat渲染完成的方法
2018/03/20 Javascript
解决Layui数据表格中checkbox位置不居中的方法
2018/08/15 Javascript
原生JS实现多条件筛选
2020/08/19 Javascript
python实现下载指定网址所有图片的方法
2015/08/08 Python
Python2.7简单连接与操作MySQL的方法
2016/04/27 Python
Python字符编码与函数的基本使用方法
2017/09/30 Python
Python统计一个字符串中每个字符出现了多少次的方法【字符串转换为列表再统计】
2019/05/05 Python
ubuntu 16.04下python版本切换的方法
2019/06/14 Python
pandas 使用均值填充缺失值列的小技巧分享
2019/07/04 Python
如何通过50行Python代码获取公众号全部文章
2019/07/12 Python
python实现宿舍管理系统
2019/11/22 Python
为什么称python为胶水语言
2020/06/16 Python
htnl5利用svg页面高斯模糊的方法
2018/07/20 HTML / CSS
金讯Java笔试题目
2013/06/18 面试题
初中生三年学习生活的自我评价
2013/11/03 职场文书
文明礼仪伴我行演讲稿
2014/05/12 职场文书
销售内勤岗位职责
2015/02/10 职场文书
社区党支部公开承诺书
2015/04/29 职场文书
反腐倡廉学习心得体会范文
2015/08/15 职场文书
动画「进击的巨人」第86话播出感谢绘公开
2022/03/21 日漫
pytorch分类模型绘制混淆矩阵以及可视化详解
2022/04/07 Python
使用Redis实现分布式锁的方法
2022/06/16 Redis