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 相关文章推荐
jQuery EasyUI API 中文文档 - ComboTree组合树
Oct 11 Javascript
jQuery基本过滤选择器使用介绍
Apr 18 Javascript
详解jQuery中的元素的属性和相关操作
Aug 14 Javascript
老生常谈 js中this的指向
Jun 30 Javascript
原生js实现放大镜
Feb 20 Javascript
原生JS京东轮播图代码
Mar 22 Javascript
label+input实现按钮开关切换效果的实例
Aug 16 Javascript
详解mpvue中使用vant时需要注意的onChange事件的坑
May 16 Javascript
vue读取本地的excel文件并显示在网页上方法示例
May 29 Javascript
利用node 判断打开的是文件 还是 文件夹的实例
Jun 10 Javascript
Vue组件简易模拟实现购物车
Dec 21 Vue.js
vue3弹出层V3Popup实例详解
Jan 04 Vue.js
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
让Nginx支持ThinkPHP的URL重写和PATHINFO的方法分享
2011/08/08 PHP
简单的php缓存类分享     php缓存机制
2014/01/22 PHP
memcache一致性hash的php实现方法
2015/03/05 PHP
JavaScript 版本自动生成文章摘要
2008/07/23 Javascript
var与Javascript变量隐式声明
2009/09/17 Javascript
优化innerHTML操作(提高代码执行效率)
2011/08/20 Javascript
javascript重复绑定事件造成的后果说明
2013/03/02 Javascript
JS正则表达式验证数字代码
2014/01/28 Javascript
JS将光标聚焦在文本最后的实现代码
2014/03/28 Javascript
AngularJS 与百度地图的结合实例
2016/10/20 Javascript
javascript实现Emrips反质数枚举的示例代码
2017/12/06 Javascript
JS中touchstart事件与click事件冲突的解决方法
2018/03/12 Javascript
vue-router 起步步骤详解
2019/03/26 Javascript
关于js陀螺仪的理解分析
2019/04/11 Javascript
详解微信小程序胶囊按钮返回|首页自定义导航栏功能
2019/06/14 Javascript
JavaScript生成一个不重复的ID的方法示例
2019/09/16 Javascript
python语言使用技巧分享
2016/05/31 Python
Python机器学习库scikit-learn安装与基本使用教程
2018/06/25 Python
python调用虹软2.0第三版的具体使用
2019/02/22 Python
pandas的qcut()方法详解
2019/07/06 Python
PYTHON绘制雷达图代码实例
2019/10/15 Python
Python类继承和多态原理解析
2020/02/05 Python
Numpy中np.random.rand()和np.random.randn() 用法和区别详解
2020/10/23 Python
2020年10款优秀的Python第三方库,看看有你中意的吗?
2021/01/12 Python
HTML5 canvas基本绘图之绘制阴影效果
2016/06/27 HTML / CSS
HTML5 表单验证失败的提示语问题
2017/07/13 HTML / CSS
有关HTML5页面在iPhoneX适配问题
2017/11/13 HTML / CSS
诺心蛋糕官网:LE CAKE
2018/08/25 全球购物
万豪国际住宅与别墅集团:Homes & Villas by Marriott International
2020/10/08 全球购物
万代美国官网:PREMIUM BANDAI USA
2020/09/11 全球购物
人力资源总监工作说明
2014/03/03 职场文书
考试作弊检讨书1000字(5篇)
2014/10/19 职场文书
2014企业年终工作总结
2014/12/23 职场文书
领导欢迎词范文
2015/01/26 职场文书
学校重阳节活动总结
2015/03/24 职场文书
幼儿园小班工作总结2015
2015/04/25 职场文书