el-table表格排序(需要后端判别),el-table导出功能(向后端发送请求)

(1)表格排序

(2)简单的table导出功能(需要后台支撑)必须要有iframe

(3)页面所有代码:

<template><div class="mainContainer"><el-form:model="form"ref="form"label-width="100px"label-position="left"class="scoreForm"><el-form-item class="examTopdiv"><el-col :span="8"><el-form-item label="时间"><el-col :span="11"><el-form-item prop="startTime"><el-date-pickersize="small"type="date"placeholder="选择日期"v-model="form.startTime"></el-date-picker></el-form-item></el-col><el-col class="line" :span="2">-</el-col><el-col :span="11"><el-form-item prop="endTime"><el-date-pickersize="small"type="date"placeholder="选择日期"v-model="form.endTime"></el-date-picker></el-form-item></el-col></el-form-item></el-col><el-col :span="5"><el-form-item label="人员姓名" prop="userName" class="name"><el-inputsize="small"v-model="form.userName"placeholder="姓名"maxlength="20"></el-input></el-form-item></el-col><el-col :span="3"><el-form-item style="display: inline-block"><el-form-item label="学号" prop="studentNo" class="name"><el-inputsize="small"v-model="form.studentNo"placeholder=""maxlength="20"></el-input></el-form-item></el-form-item></el-col><el-col :span="8" class="colMain"><el-button size="small" @click="onSearch" class="operBtn"><i class="el-icon-query1 el-icon--left"></i>查询</el-button><el-button size="small" @click="onResetForm" class="operBtn"><i class="el-icon-reset1 el-icon--left"></i>重置</el-button><el-button class="exportButton" size="small" @click="onExportTable"><i class="el-icon-expert1 el-icon--left"></i>导出</el-button></el-col></el-form-item></el-form><el-tablev-loading="loading"element-loading-text="拼命加载中"element-loading-spinner="el-icon-loading"element-loading-background="transparent":data="tableData"empty-text=" "borderid="mainTable"stripeheight="calc(100% - 90px)"style="width: 100%"@sort-change="sortChange"><el-table-columntype="index"align="center"label="序号":index="indexMethod"width="80"></el-table-column><el-table-columnprop="userName"align="center"label="姓名"sortable="custom"></el-table-column><el-table-columnprop="studentNo"align="center"sortable="custom"label="学号"></el-table-column><el-table-columnprop="duration"align="center"label="练习时长"sortable="custom"></el-table-column><el-table-columnprop="avgScore"align="center"sortable="custom"label="平均分"></el-table-column></el-table><paginationv-show="total > 0":total="total":page.sync="form.pageIndex":limit.sync="form.pageSize"@pagination="getAllExamData"/><!-- <PDFExport:dialogPDFExportFormVisible.sync="dialogPDFExportFormVisible"@handleFormVisible="setPDFExportFormVisible":PDFExportData.sync="selectPDFExportData"></PDFExport> --><iframe id="export" style="display: none"></iframe> </div>
</template><script>
// import PDFExport from "@/views/sim/score/pdfExport.vue";
import pagination from "@/components/Pagination";
import { pagePersonStat } from "@/api/sim/personnelStatistics.js";export default {components: { pagination },data() {return {form: {startTime: this.$timeManage.days90Time().startTime,endTime: this.$timeManage.days90Time().endTime,studentNo: "",userName: "",trainType: "1",pageIndex: 0,pageSize: 20,sortField: "",sortOrder: "",},loading: true,examNames: [],total: 0,dialogFormVisible: false,dialogPDFExportFormVisible: false,manualScoreDlgVisible: false,selectData: "", //详情页面传递值manualSelectData: null,score: "",selectPDFExportData: "", //pdf导出页面传递值tableData: [],};},methods: {// 分页序号indexMethod(index) {index = index + 1 + this.form.pageIndex * this.form.pageSize;return index;},// 查询所有表格信息getAllExamData() {if (this.form.startTime > this.form.endTime &&this.form.startTime != null &&this.form.endTime != null) {this.$message.error("开始时间不能大于结束时间");this.loading = false;} else {pagePersonStat(this.form).then((res) => {this.tableData = res.data.data;this.total = res.data.total;this.loading = false;});}},//分数详情页面detailScore(index, row) {this.dialogFormVisible = true;this.selectData = row.exerId;this.score = row.totalGrade;},// 导出pdf页面exportPdf(index, row) {// console.log("222222" + row.exerId)this.selectPDFExportData = row.exerId;this.dialogPDFExportFormVisible = true;},addManualScore(index, row) {this.manualSelectData = row.exerId;this.manualScoreDlgVisible = true;},//父组件事件setFormVisible(val) {//console.log("子组件的值======" + JSON.stringify(val));this.dialogFormVisible = val.dialogFormVisible;this.getAllExamData();},//父组件事件setPDFExportFormVisible(val) {this.dialogPDFExportFormVisible = val.dialogPDFExportFormVisible;},setManualFormVisible(val) {this.manualScoreDlgVisible = val.dialogFormVisible;this.getAllExamData();},// 重置onResetForm() {this.resetForm();this.getAllExamData();},resetForm() {this.$refs["form"].resetFields();},// 查询onSearch() {this.loading = true;var result = this.$timeManage.validate90Days(this.form.startTime,this.form.endTime);if (result != "true") {this.$message({type: "error",message: result,});this.loading = false;} else {this.getAllExamData();}},// 导出表格onExportTable() {if (this.tableData == null || this.tableData.length == 0) {this.$message({type: "warning",message: "数据为空,不能导出!",});return;}let tempForm = JSON.parse(JSON.stringify(this.form));let titleName = "人员统计";titleName = encodeURI(titleName);let dataStr = encodeURI(JSON.stringify(tempForm));document.getElementById("export").src ="/les/excel/back/export?serviceName=personStatExport&title=" +titleName +"&vars=" +dataStr;},//表头排序sortChange(param) {this.form.sortField = param.prop;var order = param.order;if (order == "ascending") {this.form.sortOrder = "asc";} else if (order == "descending") {this.form.sortOrder = "desc";}this.getAllExamData();},},created() {},mounted() {this.getAllExamData();},
};
</script><style scoped>
.examTopdiv {height: 40px;line-height: 40px;/* background: linear-gradient(to right,#88bfcf, #b6e0d7); */background: #3b424d;margin-bottom: 0px;
}.examTopdiv >>> .el-form-item__content {line-height: 40px;margin-left: 0px;
}
/* .examTopdiv .el-input__inner{background: #e6e6e6;border-radius: 0px;border: 1px solid #B3B3B3;
} */
.examTopdiv > .el-form-item__content {margin-left: 0px !important;
}
.examTopdiv >>> .el-form-item__label {line-height: 40px;font-size: 14px;text-align: right;
}
.exportButton {margin-right: 16px;
}
.examHeader {height: 40px !important;
}
.examTopdiv >>> .line {text-align: center;
}.formHeader {height: 40px !important;
}/* .el-table th{background: #b4ded7;color: #606266;} */
/* #mainTable .el-table th>.cell{font-size: 18px;} */.mainContainer {height: calc(100vh - 100px);overflow: hidden;
}.colMain {text-align: right;
}.examTopdiv >>> .el-date-editor.el-input,
.examTopdiv >>> .el-date-editor.el-input__inner {width: 100%;
}
.scoreForm {margin-bottom: 10px;
}.el-icon-expert1 {width: 16px;height: 16px;vertical-align: middle;background: url("../../../assets/target/expert.png") no-repeat;
}.el-icon-reset1 {width: 16px;height: 16px;vertical-align: middle;background: url("../../../assets/target/reset.png") no-repeat;
}.el-icon-query1 {width: 16px;height: 16px;vertical-align: middle;background: url("../../../assets/target/query.png") no-repeat;
}/* .operBtn {font-Size:16px;width: 113px;height: 38px;vertical-align: middle;opacity: 1;border: none;background: url("../../../assets/menu/corner.png");
}.operBtn:focus,.operBtn:hover{text-shadow: 0 0 10px rgb(58, 135, 235),0 0 20px rgb(58, 135, 235),0 0 30px rgb(58, 135, 235),0 0 40px rgb(58, 135, 235);
} */.el-icon-check1 {width: 16px;height: 16px;vertical-align: middle;background: url("../../../assets/target/check.png") no-repeat;
}.el-icon-preview1 {width: 16px;height: 16px;vertical-align: middle;background: url("../../../assets/target/preview.png") no-repeat;
}.el-icon--left {padding-right: 6px;padding-bottom: 6px;
}.el-icon--right {padding-right: 5px;padding-bottom: 6px;
}
</style><style>
.examTopdiv > .el-form-item__content {margin-left: 0px !important;
}.el-input__inner {border: #2d3035 1px solid;
}
</style>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/162588.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用Pytorch从零开始构建DCGAN

在本文中&#xff0c;我们将深入研究生成建模的世界&#xff0c;并使用流行的 PyTorch 框架探索 DCGAN&#xff08;生成对抗网络 (GAN) 的一种变体&#xff09;的实现。具体来说&#xff0c;我们将使用 CelebA 数据集&#xff08;名人面部图像的集合&#xff09;来生成逼真的合…

网络安全等级保护收费标准?

不同省份价格会略有不同&#xff0c;二级等保一般不低于5万元;三级等保不低于9万元&#xff0c;个别省份也可能7万也能办理&#xff0c;根据企业实际情况和省市选定的代理机构确定。 等级保护二级? 第二级等保是指信息系统受到破坏后&#xff0c;会对公民、法人和其他组织的合…

《YOLOv8创新改进》专栏指导书册 手把手创新教程

&#x1f680;&#x1f680;&#x1f680;YOLOv8改进专栏&#xff1a;http://t.csdnimg.cn/hGhVK 学姐带你学习YOLOv8&#xff0c;从入门到创新&#xff0c;轻轻松松搞定科研&#xff1b; 本专栏为订阅者提供答疑服务&#xff0c;每一篇提供源代码和详细的每一个步骤改进地方。…

Navicat 技术指引 | 适用于 GaussDB 的模型功能

Navicat Premium&#xff08;16.2.8 Windows版或以上&#xff09; 已支持对 GaussDB 主备版的管理和开发功能。它不仅具备轻松、便捷的可视化数据查看和编辑功能&#xff0c;还提供强大的高阶功能&#xff08;如模型、结构同步、协同合作、数据迁移等&#xff09;&#xff0c;这…

工业交换机具备哪些功能?

在工业网络中&#xff0c;工业交换机起着至关重要的作用&#xff0c;具备多样功能和广泛的应用。 1、工业交换机的作用是实现不同网络设备之间的互联。它能够连接各种不同类型的设备&#xff0c;如计算机、服务器、传感器和监控设备&#xff0c;实现设备间的相互通信和数据传输…

应用高斯高通滤波器提取图像轮廓

任务要求&#xff1a; 图为HALCON中的例图“tooth_rim”&#xff0c;请用高斯高通滤波器提取图像的轮廓。 任务分析&#xff1a; 图像的边缘对应频谱的高频部分&#xff0c;可以通过构造一个高频滤波器&#xff0c;过滤掉图像的低频部分&#xff0c;从而得到图像的边缘。HALC…

苹果怎么关闭悬浮球?让我来解答您的疑惑!

悬浮球是苹果设备上的一种可进行自定义的快捷操作功能&#xff0c;它可以位于手机屏幕的任意位置&#xff0c;以浮动的方式显示。然而&#xff0c;有时候悬浮球对某些朋友来说可能会变得多余&#xff0c;那么苹果怎么关闭悬浮球呢&#xff1f;接下来&#xff0c;小编将为大家揭…

docker compose搭建渗透测试vulstudy靶场示例

前言 渗透测试&#xff08;Penetration test&#xff09;即网络安全工程师/安全测试工程师/渗透测试工程师通过模拟黑客&#xff0c;在合法授权范围内&#xff0c;通过信息搜集、漏洞挖掘、权限提升等行为&#xff0c;对目标对象进行安全测试&#xff08;或攻击&#xff09;&am…

详解——菱形继承及菱形虚拟继承

目录 一&#xff0c;菱形继承 1.1单继承 1.2多继承 1.3菱形继承 1.4菱形继承的问题 1.5虚拟继承解决数据冗余和二义性的原理 二.继承的总结和反思 一&#xff0c;菱形继承 C三大特性——继承-CSDN博客 1.1单继承 单继承&#xff1a;一个子类只有一个直接父类时称这个继…

anaconda安装配置

创建分区 conda create -n cpu 安装Cpu版本 https://pytorch.org/ conda install pytorch torchvision torchaudio cpuonly -c pytorch 激活环境 conda activate cpu 验证 退出当前分区 conda deactivate 安装GPU版本 创建分区conda create -n gpu 激活环境 conda…

Java面向对象(高级)-- final关键字的使用

文章目录 一、 final的意义二、 final的使用&#xff08;1&#xff09; final修饰类&#xff08;2&#xff09; final修饰方法&#xff08;3&#xff09; final修饰变量1. 修饰成员变量1.1 举例11.2 举例2 2. 修饰局部变量2.1 举例12.2 举例2 &#xff08;4&#xff09;final搭…

java协程操作mysql数据库

我的项目&#xff1a; nanshaws/nettyWeb: 复习一下netty&#xff0c;并打算做一个web项目出来 (github.com) 最近在项目中分别添加了虚拟线程操作mysql数据库&#xff0c;和用协程操作mysql数据库 同理先跟我这个博客操作一下前面的&#xff1a;就单纯代码的时候进行修改&a…

TikTok与精神健康:社交媒体在压力时代的作用

在当今数字化和社交化的时代&#xff0c;社交媒体已成为人们生活中不可或缺的一部分。其中&#xff0c;TikTok作为一款备受欢迎的短视频应用&#xff0c;不仅改变了人们的娱乐方式&#xff0c;也对精神健康产生了深远的影响。 本文将深入探讨TikTok在压力时代对精神健康的作用…

2023年中国油田工程建设市场规模现状及行业竞争分析[图]

油田工程建设是在确定油气田有开发生产的价值的基础上&#xff0c;进行系统的工程建设&#xff0c;油田工程建设包括井场建设、管道施工、土石方工程、道路建设及绿化等服务。 油田工程建设主要内容 资料来源&#xff1a;共研产业咨询&#xff08;共研网&#xff09; 油田服务…

抖音商城小程序源码系统 附带完整的搭建教程

大家好啊&#xff0c;今天小编来给大家分享一款抖音商城小程序源码系统。这可是当下最热门的的项目之一。。抖音作为国内最大的短视频平台之一&#xff0c;拥有庞大的用户群体和丰富的社交功能。为了满足用户在抖音上购物和交易的需求&#xff0c;抖音商城小程序应运而生。 以…

租车系统开发/多功能租车平台微信小程序源码/汽车租赁系统源码/汽车租赁小程序系统

源码介绍&#xff1a; 多功能租车平台微信小程序源码&#xff0c;作为汽车租赁、摩托车租车平台系统源码&#xff0c;是小程序系统。基于微信小程序的汽车租赁系统源码。 开发环境及工具&#xff1a; 大等于jdk1.8&#xff0c;大于mysql5.5&#xff0c;idea&#xff08;eclip…

拆解:淘宝客新玩法之微信淘礼金创建怎么做

最近看到一种新的淘宝客玩法&#xff0c;迫不及待的想分享给大家。微信公众号查券大家都不陌生&#xff0c;也有不少人都在做这个。最近看到有人在做微信公众号创建淘礼金。之所以说这个玩法新是因为目前大多数淘客还在做返利。返利有周期长、提现有门槛等痛点。 微信公众号创建…

基于Springcloud微服务框架智慧工地系统源码

建筑行业快速发展&#xff0c;各建筑工程的建设规模在不断扩大&#xff0c;各岗位工作人员的工作内容所涉及的方面也越来越广泛。随着信息技术水平不断提高,人工记录的方式已经不能够满足大项目的管理要求&#xff0c;就此&#xff0c;创造出一种新型的施工管理技术——智慧工地…

携程token

网址&#xff1a;https://flights.ctrip.com/ 记录一下这个要我狗命的token 原本以为解决验证码就能继续查机票信息&#xff0c;奈何太年轻&#xff0c;或者说原本以为这个头部信息的token不重要&#xff0c;其实还是很重要的。 关于查价格 &#xff0c;如果说查询频繁之后就…

小型内衣裤洗衣机哪个牌子好?性价比小型洗衣机推荐

内衣内裤应该如何清洗才能实现在不伤衣的同时有能够洗干净呢&#xff1f;其实除了使用温水搭配手洗以外&#xff0c;还有一些清洗方式&#xff0c;那就是选择一台专门为内衣定制的内衣洗衣机。目前内衣洗衣机由于精致小巧&#xff0c;方便安装&#xff0c;方便使用&#xff0c;…