iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >vue表格(table)计算总计方式
  • 774
分享到

vue表格(table)计算总计方式

vue tablevue 表格vue表格计算总计vue表格总计 2022-11-13 13:11:16 774人浏览 薄情痞子
摘要

目录Vue 表格计算总计vue table表格合计 ( Element )vue 表格计算总计 <el-table         v-loading="loading"  

vue 表格计算总计

<el-table
        v-loading="loading"
        :summary-method="getSummaries"
        show-summary
        :data="abcList"
        border
        tooltip-effect="darkTable"
      >

首先需要在table标签中添加

:summary-method="getSummaries"  // 调用方法
show-summary  //标签属性
methods: {
  getSummaries(param) {
    const { columns, data } = param
    console.log(columns, data, 'columns,data')
    const sums = []
    columns.forEach((column, index) => {
      // 设置第一列的值为总计
      if (index === 0) {
        sums[index] = '总计'
        return
      }
        sums[3] = this.fORM.result
        sums[3] += '元'
    })
    return sums
   }
}

因为Element上计算总计的方法是计算当前页上金额的总和,稍加修改~

sums[index] = '总计'  
// 把下标为0的列赋值为总计
sums[3] = this.form.result  
// this.form.result为init初始化时从接口中拿到的总计,赋值到下标为3的列上
sums[3] += '元'
// 得到的总计后加上单位元

vue table表格合计 ( Element )

<template>
	<el-card class="box-card">
		<!-- 只合计不做其他处理 -->
		<h2>只合计不做其他处理</h2>
		<el-table :data="tableData6" border show-summary style="width: 100%">
			<el-table-column prop="id" label="ID" width="180" align="center">
			</el-table-column>
			<el-table-column prop="name" label="产品" align="center">
			</el-table-column>
			<el-table-column prop="number" label="数量" align="center">
			</el-table-column>
			<el-table-column prop="price" label="价格" align="center">
			</el-table-column>
			<el-table-column prop="profit" label="利润率" align="center">
			</el-table-column>
		</el-table>
 
		<!-- 简单求和实例处理 -->
		<h2 style="margin-top:100px">简单求和实例处理</h2>
		<el-table :data="tableData6" border :summary-method="getSummaries01" show-summary style="width: 100%;">
			<el-table-column prop="id" label="ID" width="180" align="center">
			</el-table-column>
			<el-table-column prop="name" label="产品" align="center">
			</el-table-column>
			<el-table-column prop="number" label="数量" align="center">
			</el-table-column>
			<el-table-column prop="price" label="价格" align="center">
			</el-table-column>
			<el-table-column prop="profit" label="利润率" align="center">
			</el-table-column>
		</el-table>
 
		<!-- 指定列求和实例处理 -->
		<h2 style="margin-top:100px">指定列求和实例处理</h2>
		<el-table :data="tableData6" border :summary-method="getSummaries02" show-summary style="width: 100%;">
			<el-table-column prop="id" label="ID" width="180" align="center">
			</el-table-column>
			<el-table-column prop="name" label="产品" align="center">
			</el-table-column>
			<el-table-column prop="number" label="数量" align="center">
			</el-table-column>
			<el-table-column prop="price" label="价格" align="center">
				<template slot-scope="scope">
					{{$utils.formSum(scope.row.price, 2, '.', ',')}}
				</template>
			</el-table-column>
			<el-table-column prop="profit" label="利润率" align="center">
				<template slot-scope="scope">
					{{Number(scope.row.profit).toFixed(2)}} %
				</template>
			</el-table-column>
		</el-table>
	</el-card>
</template>

 
<script>
	export default {
		data() {
			return {
				tableData6: [{
					id: '12987122',
					name: '袜子',
					number: '234',
					price: '3',
					profit: '10.9'
				}, {
					id: '12987123',
					name: '鞋子',
					number: '165',
					price: '343.8',
					profit: '12.00'
				}, {
					id: '12987124',
					name: '裤子',
					number: '324',
					price: '249.0',
					profit: '9'
				}, {
					id: '12987125',
					name: '腰带',
					number: '621',
					price: '342.0',
					profit: '17.00'
				}, {
					id: '12987126',
					name: '手镯',
					number: '539',
					price: '43421',
					profit: '153333'
				}]
			};
		},
		methods: {
			//格式化数字,格式化金额
			// formSum: function(number, decimals, dec_point, thousands_sep) {
			//   
			//   number = (number + '').replace(/[^0-9+-Ee.]/g, '');
			//   var n = !isFinite(+number) ? 0 : +number,
			//     prec = !isFinite(+decimals) ? 0 : Math.abs(decimals),
			//     sep = (typeof thousands_sep === 'undefined') ? ',' : thousands_sep,
			//     dec = (typeof dec_point === 'undefined') ? '.' : dec_point,
			//     s = '',
			//     toFixedFix = function(n, prec) {
			//       var k = Math.pow(10, prec);
			//       return '' + Math.ceil(n * k) / k;
			//     };
			//   s = (prec ? toFixedFix(n, prec) : '' + Math.round(n)).split('.');
			//   var re = /(-?\d+)(\d{3})/;
			//   while (re.test(s[0])) {
			//     s[0] = s[0].replace(re, "$1" + sep + "$2");
			//   }
			//   if ((s[1] || '').length < prec) {
			//     s[1] = s[1] || '';
			//     s[1] += new Array(prec - s[1].length + 1).join('0');
			//   }
			//   return s.join(dec);
			// }
			
 
			//简单求和实例处理
			getSummaries01(param) {
				const {
					columns,
					data
				} = param;
				const sums = [];
				columns.forEach((column, index) => {
					if (index === 0) {
						sums[index] = '总价';
						return;
					}
					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);
						sums[index] += ' 元';
					} else {
						sums[index] = 'N/A';
					}
				});
				return sums;
			},
 
 
 
			//指定列求和实例处理
			getSummaries02(param) {
				const {
					columns,
					data
				} = param;
				const sums = [];
				columns.forEach((column, index) => {
					if (index === 0) {
						sums[index] = '总价';
					} else if (index === 3) { //对价格做处理:保留两位小数
						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);
							sums[index] = this.$utils.formSum(sums[index], 2, '.', ',');
						} else {
							sums[index] = '/';
						}
					} else if (index === 4) { //对利润率做处理:保留两位小数
						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);
							sums[index] = sums[index].toFixed(2);
							sums[index] += ' %';
						} else {
							sums[index] = '/';
						}
					} else {
						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] = '/';
						}
					}
				});
				return sums;
			}
		}
	};
</script>

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

--结束END--

本文标题: vue表格(table)计算总计方式

本文链接: https://www.lsjlt.com/news/171276.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • vue表格(table)计算总计方式
    目录vue 表格计算总计vue table表格合计 ( Element )vue 表格计算总计 <el-table         v-loading="loading"   ...
    99+
    2022-11-13
    vue table vue 表格 vue表格计算总计 vue表格总计
  • antd vue table表格内容如何格式化
    目录antd vue table表格内容格式化如下面的性别和打印状态antd table表格组件基本使用借用官方文档数据,展示下Demoantd vue table表格内容格式化 目...
    99+
    2024-04-02
  • Vue表格组件Vxe-table使用技巧总结
    目录前言1、树形结构配置:2、获取全局table对象:3、使用多选框注意事项:4、编辑行或单元格注意事项:5、表尾数据合并问题:6、仅显示已勾选功能讲解:7、解决初始数据半选中状态失...
    99+
    2024-04-02
  • 【设计模式】揭秘 VUE 计算属性中的设计模式
    Observer 模式 Observer 模式是一种设计模式,允许对象观察另一个对象的内部状态并做出相应的反应。在 VUE 中,我们可以使用计算属性来实现 Observer 模式。当被观察对象的属性发生改变时,计算属性会自动重新计算并触...
    99+
    2024-02-20
    VUE 计算属性 设计模式 Observer 模式 Memoization 模式 State 模式
  • vue2.0中vue-cli如何实现全选、单选计算总价格
    这篇文章给大家分享的是有关vue2.0中vue-cli如何实现全选、单选计算总价格的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。由于工作的需要并鉴于网上的vue2.0中vue-c...
    99+
    2024-04-02
  • Python实现计算AUC的三种方式总结
    目录介绍实现代码方法补充介绍 AUC(Area Under Curve)被定义为ROC曲线下与坐标轴围成的面积,显然这个面积的数值不会大于1。又由于ROC曲线一般都处于y=x这条直线...
    99+
    2024-04-02
  • vue计算属性computed方法内传参方式
    目录vue计算属性computed方法内传参计算属性computed与method的区别什么是计算属性?computed实例computed与method的区别关于传参问题vue计算...
    99+
    2022-11-13
    vue计算属性传参 vue computed方法内传参 vue computed传参
  • 利用Python实现读取Word表格计算汇总并写入Excel
    目录前言一、首先导入包二、读评价表所在的目录文件三、读word文件,处理word中的表格数据四、统计计算五、将统计计算结果写入汇总Excel完整代码总结前言 快过年了,又到了公司年底...
    99+
    2024-04-02
  • Vue实现购物车计算总价功能
    用Vue实现一个购物车计算总价的功能,供大家参考,具体内容如下 代码 html <div id="app">         <div class="panel ...
    99+
    2024-04-02
  • Vue3计算属性和异步计算属性方式
    目录一、简要介绍二、计算属性核心源码 三、异步计算属性核心源码一、简要介绍 不论是计算属性,还是异步计算属性,都是依托于Vue3整体的响应式原理实现的。其核心依旧是Reac...
    99+
    2024-04-02
  • 阿里云数据库租用价格计算方式
    阿里云数据库是阿里巴巴集团提供的云数据库服务,它提供了包括关系型数据库、NoSQL数据库等多种数据库类型。对于许多企业和个人来说,选择阿里云数据库租用可以有效降低硬件成本、提高数据安全性。本文将详细介绍阿里云数据库租用价格的计算方式。 一、...
    99+
    2023-12-10
    阿里 方式 数据库
  • js拖拉表格实现内容计算
    本文实例为大家分享了js拖拉表格实现内容计算的具体代码,供大家参考,具体内容如下 前言 制作网页版Excel H5新增功能:可拖拉-draggable, ...
    99+
    2024-04-02
  • F.conv2d pytorch卷积计算方式
    目录F.conv2d pytorch卷积计算可以这样理解卷积的主要问题F.Conv2d和nn.Conv2d总结F.conv2d pytorch卷积计算 Pytorch里一般小写的都是...
    99+
    2023-02-21
    pytorch F.conv2d pytorch卷积计算 pytorch卷积
  • 计算机中磁盘分区格式变成RAW格式的解决方法
    这篇文章将为大家详细讲解有关计算机中磁盘分区格式变成RAW格式的解决方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。            &...
    99+
    2023-06-14
  • Java如何计算数学表达式
    这篇文章主要为大家展示了“Java如何计算数学表达式”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Java如何计算数学表达式”这篇文章吧。Java字符串转换成算术表达式计算并输出结果,通过这个工...
    99+
    2023-05-30
    java
  • IP地址的计算方式
    这篇文章主要讲解了“IP地址的计算方式”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“IP地址的计算方式”吧!第一关已知一个ip地址是192.168.1.1,子网掩码是255.255.255....
    99+
    2023-06-03
  • 如何实现前端表格自动计算
    这篇文章将为大家详细讲解有关如何实现前端表格自动计算,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。序言当我的团队进行税务系统模块开发的时候,我发现他们需要花费80%的时间去解决计算问题,尤其体现在表格(G...
    99+
    2023-06-08
  • 怎么利用Python实现读取Word表格计算汇总并写入Excel
    这篇文章将为大家详细讲解有关怎么利用Python实现读取Word表格计算汇总并写入Excel,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。前言快过年了,又到了公司年底评级的时候了。今年的评级...
    99+
    2023-06-28
  • php回溯算法计算组合总和的方法
    本文小编为大家详细介绍“php回溯算法计算组合总和的方法”,内容详细,步骤清晰,细节处理妥当,希望这篇“php回溯算法计算组合总和的方法”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识...
    99+
    2024-04-02
  • 使用python计算方差方式——pandas.series.std()
    目录如何计算方差Python计算方差、标准差方差、标准差1、方差2、标准差如何计算方差 简单展示一下pandas里怎么计算方差: 官方文档: def def_std(df):   f...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作