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.hqwc.cn/news/209826.html

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

相关文章

【STM32外设系列】GPS定位模块(ATGM336H)

&#x1f380; 文章作者&#xff1a;二土电子 &#x1f338; 关注公众号获取更多资料&#xff01; &#x1f438; 期待大家一起学习交流&#xff01; 文章目录 一、GPS模块简介二、使用方法2.1 引脚介绍2.2 数据帧介绍2.3 关于不同的启动方式 三、前置知识3.1 strstr函数3.2…

Jenkins+Maven+Gitlab+Tomcat 自动化构建打包、部署

JenkinsMavenGitlabTomcat 自动化构建打包、部署 1、环境需求 本帖针对的是Linux环境&#xff0c;Windows或其他系统也可借鉴。具体只讲述Jenkins配置以及整个流程的实现。 1.JDK&#xff08;或JRE&#xff09;及Java环境变量配置&#xff0c;我用的是JDK1.8.0_144&#xff0…

4.22每日一题(累次积分的计算:交换次序)

注&#xff1a;因为 是积不出的函数&#xff0c;所以先不用算&#xff0c;最后发现&#xff0c;出现dx与dy可以相互抵消&#xff0c;即可算出答案

23. 深度学习 - 多维向量自动求导

Hi, 你好。我是茶桁。 前面几节课中&#xff0c;我们从最初的理解神经网络&#xff0c;到讲解函数&#xff0c;多层神经网络&#xff0c;拓朴排序以及自动求导。 可以说&#xff0c;最难的部分已经过去了&#xff0c;这节课到了我们来收尾的阶段&#xff0c;没错&#xff0c;生…

力扣:175. 组合两个表(Python3)

题目&#xff1a; 表: Person ---------------------- | 列名 | 类型 | ---------------------- | PersonId | int | | FirstName | varchar | | LastName | varchar | ---------------------- personId 是该表的主键&#xff08;具有唯一值的列&#…

挺扎心!好不容易有了一个offer,就因为背调出之前有仲裁记录,offer黄了,这已经是第二次了!...

仲裁记录会影响之后求职吗&#xff1f; 最近有一位程序员向我们讲述了他的遭遇&#xff1a; 大环境不好&#xff0c;好不容易有了一个offer&#xff0c;却因为背调出跟之前公司有仲裁经历&#xff0c;offer黄了&#xff0c;这已经是第二次因为这个原因黄offer了。 他说自己快抑…

【uniapp】部分图标点击事件无反应

比如&#xff1a;点击这个图标在h5都正常&#xff0c;在小程序上无反应 css&#xff1a;也设置z-index&#xff0c;padding 页面上也试过click.native.stop.prevent"changePassword()" 时而可以时而不行&#xff0c; 最后发现是手机里输入键盘的原因&#xff0c;输…

(5秒解决)ImportError: attempted relative import with no known parent package

寻找了很多方法&#xff0c;发现大家把事情讲的复杂了。我这里用最简单的办法来解决父包引用找不到的问题。 报错提示&#xff1a;ImportError: attempted relative import with no known parent package 先给大家看看我的目录结构&#xff0c;model.py和test目录在同一级。tra…

Zoho Bigin和标准版CRM有什么区别?

Zoho Bigin是Zoho公司推出的一款针对小微企业设计的CRM系统&#xff0c;它与Zoho CRM一脉相承&#xff0c;但更加轻量级&#xff0c;快速帮助小微企业实现数字化销售。下面来说说&#xff0c;Zoho Bigin是什么&#xff1f;它适合哪些企业&#xff1f; 什么是Zoho Bigin&#x…

git的用法

目录 一、为什么需要git 二、git基本操作 2.1、初始化git仓库 2.2、配置本地仓库的name和email 2.3、认识工作区、暂存区、版本库 三、git的实际操作 3.1 提交文件 3.2 查看git状态以及具体的修改 3.3 git版本回退 git reset 3.1 撤销修改 四、git分支管理 4.…

git分支命名规范

https://www.cnblogs.com/wq-9/p/16968098.html

腾讯云 小程序 SDK对象存储 COS使用记录,原生小程序写法。

最近做了一个项目&#xff0c;需求是上传文档&#xff0c;文档类型多种&#xff0c;图片&#xff0c;视频&#xff0c;文件&#xff0c;doc,xls,zip,txt 等等,而且文档类型可能是大文件&#xff0c;可能得上百兆&#xff0c;甚至超过1G。 腾讯云文档地址&#xff1a;https://c…