vue3-print打印eletable某一行的数据
主页面的表格
<template><el-table :data="list"><el-table-column label="操作" align="center"><template #default="scope"><el-buttonlinktype="primary"@click="handleType(scope.row)":loading="qrCodeLoading">打印</el-button></template></el-table-column></el-table>// 打印子页面<type ref="qrRef" @success="loadData"/>
</template>
<script>const qrRef = ref()
const qrCodeLoading = ref(false)/** 打印 */
const multiple = ref([])
const handleType = async (row) => {try {multiple.value.push(row)console.log('ss', multiple)qrRef.value.open(multiple)// todo 接口multiple.value = []} catch {} finally {qrCodeLoading.value = false}
}const loadData = async (arg) => {// todo 打印完毕
}</script>
子页面---
<template><Dialogv-model="dialogVisible":title="dialogTitle"width="1000px"height="1200px"@close="handleCloseModal"><e-row><el-button type="success" plain v-print="printObj"><Icon icon="ep:download"/>打印</el-button></e-row><el-row class="row-con" id="printMe"><divv-for="item in tableData":ref="setItemRef":key="item.partCode"style="width: 100%"><div style="border: 2px black; margin-top:105px; margin-left: 54px; margin-right: 55px; margin-bottom: 8px;"><div style="width: 100%; display: flex; flex-direction: row">{{ 需要打印的内容+tableData }}</div></div></div></el-row></Dialog>
</template><script setup lang="ts">
import qrcode from 'qrcode'const dialogVisible = ref(false)
const dialogTitle = ref('条码打印')const handleCloseModal = () => {dialogVisible.value = false
}
const tableData = ref([])onMounted(() => {// console.log(t.userInfo.account)
})const itemRefs = ref([])
const setItemRef = (el) => {if (el) {itemRefs.value.push(el)}
}
const printObj = ref({id: 'printMe',popTitle: '',maxWidth: 302, // 最大宽度extraCss:'https://cdn.bootcdn.net/ajax/libs/animate.css/4.1.1/animate.compat.css, https://cdn.bootcdn.net/ajax/libs/hover.css/2.3.1/css/hover-min.css',extraHead: '<meta http-equiv="Content-Language"content="zh-cn"/>',// extraHead: '<meta http-equiv="Content-Language" content="zh-cn"/>,<style> #printMe { height: 302px !important; } <style>',// 可以传进去 style tag 标签;注意要逗号分隔 解决特定区域不显示问题beforeOpenCallback(vue) {vue.printLoading = trueconsole.log('打开之前')},openCallback(vue) {vue.printLoading = falseconsole.log('执行了打印', vue)},closeCallback(vue) {console.log('关闭了打印工具', vue)}})
const open = (data) => {dialogVisible.value = trueconsole.log('data', data)tableData.value = data.valueconsole.log('tableData', tableData.value)tableData.value.forEach((item) => {//var code = 'your-data' // 替换为你需要生成二维码的数据qrcode.toDataURL(item.partCode, (err, url) => {if (err) {console.error(err)} else {console.log('toDataURL', url)}})})
}
defineExpose({open}) // 提供 open 方法,用于打开弹窗
</script>
<style scoped lang="scss">
.row-con {display: flex;flex-flow: row wrap;
}.printContainer {-webkit-print-color-adjust: exact;/* 打印时表格上边框会消失 貌似是因为 使用伪元素的缘故 */::v-deep(.el-table__inner-wrapper::after) {height: 0px !important;}/* 使用自己的表格上边框 */::v-deep(.el-table__inner-wrapper) {border-top: 1px solid #e5e7eb;}/* 打印时边框太小会被挤没,那让边框变大点就好了*/::v-deep(.el-table__cell) {border-right: 2px solid #e5e7eb;}
}</style>
相关文章:
vue3-print打印eletable某一行的数据
主页面的表格 <template><el-table :data"list"><el-table-column label"操作" align"center"><template #default"scope"><el-buttonlinktype"primary"click"handleType(scope.row)"…...
【Vue】pnpm创建Vue3+Vite项目
初始化项目 (1)cmd切换到指定工作目录,运行pnpm create vue命令,输入项目名称后按需安装组件 (2)使用vs code打开所创建的项目目录,Ctrl~快捷键打开终端,输入pnpm install下载项目…...
springboot配置多数据源
springboot配置多数据源 学习新技术,争做新青年,欢迎围观,河南老乡在上海请,加,微,andyfau2022, ----获取数据源:null,数据源为null时默认使用主数据源的。 1-yml文件…...
无人叉车3d激光slam多房间建图定位异常处理方案-墙体画线地图切分方案
墙体画线地图切分方案 针对问题:墙体两侧特征混淆误匹配,导致建图和定位偏差,表现为过门跳变、外月台走歪等 解决思路:预期的根治方案IGICP需要较长时间完成上线,先使用切分地图的工程化方案,即墙体两侧切…...
ChatGPT+Simple Mind Map生成思维导图:快速提升学习效率
一、告别杂乱笔记,一键生成清晰思维导图! 最近开始学习网络安全,一头扎进了各种协议、漏洞、防御机制的海洋中。信息量巨大,知识点零散,让我很快便陷入了“知识焦虑”——笔记越记越多,却越来越混乱&#…...
Day9 | Java框架 | SpringBoot
Day9 | Java框架 | SpringBoot SpringBoot简介入门程序概述起步依赖 基础配置配置文件格式:3种yaml语法规则yaml数据读取三种格式 多环境启动配置文件参数命令行参数多环境开发控制:Maven & SpringBoot 多环境兼容 配置文件分类:4种 整合…...
Wordpress右下角表单弹出插件
Ultimate Sticky Popup & Widgets Charcoal Making Machine | Equipment for Sale - Kingtiger...
影刀RPA实战:自动化批量生成条形码完整指南
今天我们聊聊使用影刀来实现批量生成条形码,条形码在零售行业运用非常广泛,主要作用表现在产品识别,库存管理,销售管理,防伪保护等,这些作用使其成为现代商业和工业环境中不可或缺的工具,它极大…...
Python Flask简介
简介 Flask 有两个主要依赖:路由、调试和 Web 服务器网关接口(Web Server Gateway Interface,WSGI) 子系统由:Werkzeug 提供模板系统由:Jinja2提供Werkzeug 和 Jinjia2 都是由 Flask 的核心开发者开发而成…...
视频监控平台是如何运作的?EasyCVR视频汇聚平台的高效策略与实践
随着科技的飞速发展,视频监控平台在社会安全、企业管理、智慧城市构建等领域发挥着越来越重要的作用。一个高效的视频监控平台,不仅依赖于先进的硬件设备,更离不开强大的视频处理技术作为支撑。这些平台集成了多种先进的视频技术,…...
欧拉下搭建第三方软件仓库—docker
1.创建新的文件内容 切换目录到etc底下的yum.repos.d目录,创建docker-ce.repo文件 [rootlocalhost yum.repos.d]# cd /etc/yum.repos.d/ [rootlocalhost yum.repos.d]# vim docker-ce.repo 编辑文件,使用阿里源镜像源,镜像源在编辑中需要单独复制 h…...
pcs升压变流一体机
在当今全球积极推进能源转型的大背景下,新能源技术的发展日新月异。其中,PCS 升压变流一体机作为一种关键的能源转换设备,正发挥着越来越重要的作用。它一般可分为10KV与35KV等级的。 PCS 升压变流一体机,全称为 Power Conversion…...
上海泗博EtherNet/IP转PROFIBUS DP网关EPS-320IP成都地铁项目应用案例
背景: 地铁,作为城市的活力脉搏,不仅是衔接城市生活的关键纽带,更是现代城市交通体系中不可或缺的核心组成部分。因此,确保地铁的稳定运行对任何一座城市都至关重要。 上海泗博自动化,作为与成都地铁项目合…...
猫鼠游戏: KaijiK病毒入侵溯源分析
1. 事件背景 近期,网宿平台某客户在使用云主机工作的时候突然出现主机卡顿,连接不稳定,网络断开的情况,并且收到了网宿主机入侵检测产品的告警信息。由于客户没有专职的安全人员,由运维人员兼任安全运营工作ÿ…...
【Hot100算法刷题集】双指针-02-盛水最多的容器(含暴力枚举、双指针法及其合理性证明)
🏠关于专栏:专栏用于记录LeetCode中Hot100专题的所有题目 🎯每日努力一点点,技术变化看得见 题目转载 题目描述 🔒link->题目跳转链接 给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的…...
Spring和Spring FrameWork有什么关系?两者是同一个东西吗?
Spring和Spring Framework之间的关系可以归结为以下几点: 广义与狭义的理解 广义上的Spring: 广义上的Spring泛指以Spring Framework为基础的整个Spring技术栈。Spring已经发展成为一个由多个不同子项目(模块)组成的成熟技术体系…...
windows10 python 解决鼠标右键菜单中没有Edit with IDLE(不使用注册表编辑器)
随便选择一个py文件,右击打开属性。 打开方式:点击更改。 最下面:点击更多应用,点击在这台电脑上查找应用 搜索找到你自己按照的python路径下 Python39\Lib\idlelib\idle.bat 文件 点击打开,结束。...
一些深度学习相关指令
// 服务器上查看所有的环境版本 conda env list// 删除某一个环境 conda remove -n 环境名 --all终端输入命令:nvidia-smi,可以看显卡的使用情况指定使用哪张显卡: os.environ["CUDA_VISIBLE_DEVICES"] 2查看服务器的cuda版本&am…...
Python 实现自动配置华为交换机
Python 实现自动配置华为交换机 在网络运维中,配置交换机是非常重要的一步。如果我们可以使用 Python 来实现配置交换机,那么我们的工作效率将会大大提高。在本文中,我们将学习如何使用 Python 配置华为交换机。 背景知识 华为交换机是一种…...
上海亚商投顾:沪指探底回升 华为产业链午后爆发
上海亚商投顾前言:无惧大盘涨跌,解密龙虎榜资金,跟踪一线游资和机构资金动向,识别短期热点和强势个股。 一.市场情绪 沪指昨日探底回升,深成指、创业板指盘中跌逾1%,午后集体拉升翻红。华为产业链午后走强…...
FFmpeg 低延迟同屏方案
引言 在实时互动需求激增的当下,无论是在线教育中的师生同屏演示、远程办公的屏幕共享协作,还是游戏直播的画面实时传输,低延迟同屏已成为保障用户体验的核心指标。FFmpeg 作为一款功能强大的多媒体框架,凭借其灵活的编解码、数据…...
Java - Mysql数据类型对应
Mysql数据类型java数据类型备注整型INT/INTEGERint / java.lang.Integer–BIGINTlong/java.lang.Long–––浮点型FLOATfloat/java.lang.FloatDOUBLEdouble/java.lang.Double–DECIMAL/NUMERICjava.math.BigDecimal字符串型CHARjava.lang.String固定长度字符串VARCHARjava.lang…...
Vue2 第一节_Vue2上手_插值表达式{{}}_访问数据和修改数据_Vue开发者工具
文章目录 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染2. 插值表达式{{}}3. 访问数据和修改数据4. vue响应式5. Vue开发者工具--方便调试 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染 准备容器引包创建Vue实例 new Vue()指定配置项 ->渲染数据 准备一个容器,例如: …...
ServerTrust 并非唯一
NSURLAuthenticationMethodServerTrust 只是 authenticationMethod 的冰山一角 要理解 NSURLAuthenticationMethodServerTrust, 首先要明白它只是 authenticationMethod 的选项之一, 并非唯一 1 先厘清概念 点说明authenticationMethodURLAuthenticationChallenge.protectionS…...
从零实现STL哈希容器:unordered_map/unordered_set封装详解
本篇文章是对C学习的STL哈希容器自主实现部分的学习分享 希望也能为你带来些帮助~ 那咱们废话不多说,直接开始吧! 一、源码结构分析 1. SGISTL30实现剖析 // hash_set核心结构 template <class Value, class HashFcn, ...> class hash_set {ty…...
基于matlab策略迭代和值迭代法的动态规划
经典的基于策略迭代和值迭代法的动态规划matlab代码,实现机器人的最优运输 Dynamic-Programming-master/Environment.pdf , 104724 Dynamic-Programming-master/README.md , 506 Dynamic-Programming-master/generalizedPolicyIteration.m , 1970 Dynamic-Programm…...
python报错No module named ‘tensorflow.keras‘
是由于不同版本的tensorflow下的keras所在的路径不同,结合所安装的tensorflow的目录结构修改from语句即可。 原语句: from tensorflow.keras.layers import Conv1D, MaxPooling1D, LSTM, Dense 修改后: from tensorflow.python.keras.lay…...
蓝桥杯 冶炼金属
原题目链接 🔧 冶炼金属转换率推测题解 📜 原题描述 小蓝有一个神奇的炉子用于将普通金属 O O O 冶炼成为一种特殊金属 X X X。这个炉子有一个属性叫转换率 V V V,是一个正整数,表示每 V V V 个普通金属 O O O 可以冶炼出 …...
【SSH疑难排查】轻松解决新版OpenSSH连接旧服务器的“no matching...“系列算法协商失败问题
【SSH疑难排查】轻松解决新版OpenSSH连接旧服务器的"no matching..."系列算法协商失败问题 摘要: 近期,在使用较新版本的OpenSSH客户端连接老旧SSH服务器时,会遇到 "no matching key exchange method found", "n…...
mac 安装homebrew (nvm 及git)
mac 安装nvm 及git 万恶之源 mac 安装这些东西离不开Xcode。及homebrew 一、先说安装git步骤 通用: 方法一:使用 Homebrew 安装 Git(推荐) 步骤如下:打开终端(Terminal.app) 1.安装 Homebrew…...
