From 64352347cdeab2f4f5c1d5e3fa32548bfad1a682 Mon Sep 17 00:00:00 2001 From: zhouwx <1175765986@qq.com> Date: 星期一, 14 十月 2024 09:21:21 +0800 Subject: [PATCH] 打印、导出 --- src/views/onlineEducation/classCertManage/index.vue | 69 ++++++++++++++++++++++++++++++---- 1 files changed, 60 insertions(+), 9 deletions(-) diff --git a/src/views/onlineEducation/classCertManage/index.vue b/src/views/onlineEducation/classCertManage/index.vue index 851b40b..6f188f0 100644 --- a/src/views/onlineEducation/classCertManage/index.vue +++ b/src/views/onlineEducation/classCertManage/index.vue @@ -69,7 +69,7 @@ <template #default="scope"> <el-button size="mini" type="text" style="color: #1890ff" @click="viewPic(scope.row)">查看</el-button> <el-button size="mini" type="text" style="color: #1890ff" @click="downloadByBlob(scope.row)">下载</el-button> - <el-button size="mini" type="text" style="color: #1890ff">打印</el-button> + <el-button size="mini" type="text" style="color: #1890ff" @click="print(scope.row)">打印</el-button> </template> </el-table-column> </el-table> @@ -92,10 +92,26 @@ </el-image> </div> </el-dialog> + <el-dialog + :visible.sync="printDialog" + width="500px" + :before-close="handlePrintClose"> + <div style="display: flex;flex-direction: column;align-items: flex-end"> + <el-button type="primary" style="margin-bottom: 5px" v-print="'#printPic'">打印</el-button> + </div> + <div style="display: flex;justify-content: center" ref="printPic" id="printPic"> + <el-image + style="width: 85%; height: auto;margin-top: 10px" + :src="printUrl" + > + </el-image> + </div> + </el-dialog> </div> </template> <script> + import { listBatch, listQuestion } from '@/api/onlineEducation/student' import { listPlatSelect } from '@/api/onlineEducation/plat' import moment from 'moment/moment' @@ -128,17 +144,34 @@ trainOrgList: [], jsonData: [], json_fields: { - ID: "id", - 姓名: "name", - 身份证号: "idcard", - 推送平台: "institutionName", - 所属机构: "trainOrgName", - 批次: "batchName", - 证书生成时间: "certTime", + 'ID': { + field: 'id', + callback: value => { + return ' '+value + } + }, + '姓名': "name", + '身份证号': { + field: 'idcard', + callback: value => { + return ' '+value + } + }, + '推送平台': "institutionName", + '所属机构': { + field: 'trainOrgName', + callback: value => { + return ' '+value + } + }, + '批次': "batchName", + '证书生成时间': "certTime", }, picDialog: false, viewUrl: '', - srcList: [] + srcList: [], + printDialog: false, + printUrl: '', }; }, created() { @@ -226,6 +259,15 @@ // this.srcList = [] this.picDialog = false }, + handlePrintClose() { + this.printUrl = '' + this.printDialog = false + }, + print(val){ + this.printUrl = val.certUrl + + this.printDialog = true + }, downloadByBlob(val) { let image = new Image() image.setAttribute('crossOrigin', 'anonymous') @@ -254,3 +296,12 @@ } }; </script> +<style media="printPic" scoped> +@page { + margin: 0; /* this affects the margin in the printer settings */ + display: block; + width: 100%; + overflow: hidden; +} + +</style> -- Gitblit v1.9.2