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%,午后集体拉升翻红。华为产业链午后走强…...
为什么顶尖AI团队已弃用Triton+TVM?Cuvil编译器在边缘端低延迟推理中的3大不可替代优势
第一章:Cuvil编译器在Python AI推理中的核心定位与演进逻辑Cuvil编译器并非传统意义上的通用语言编译器,而是专为Python生态中AI模型推理场景深度定制的中间表示(IR)驱动型编译框架。它直面PyTorch/TensorFlow动态图执行开销大、J…...
别再让蜂鸣器只会‘哔哔’叫了!用STM32F103的PWM和电容,DIY你的家电提示音库(附超级玛丽彩蛋)
用STM32F103打造专业级家电提示音库:从单调蜂鸣到沉浸式音效的进阶指南 1. 为什么传统蜂鸣器音效总让人皱眉? 每次听到微波炉完成加热时刺耳的"嘀——"声,或是洗衣机结束运转时机械的"哔哔"提示,总让人有种想…...
LumiPixel模型API接口调用详解:Python/Node.js快速集成
LumiPixel模型API接口调用详解:Python/Node.js快速集成 1. 前言:为什么选择API集成 如果你正在开发一个需要AI生成能力的应用,直接调用现成的模型API可能是最高效的方式。LumiPixel Canvas Quest模型提供了简单易用的API接口,让…...
LLVM Pass快速入门(四):代码插桩
代码插桩项目需求:在函数运行时打印出运行的函数名项目目录如下/MyProject ├── CMakeLists.txt # CMake 配置文件 ├── build/ #构建目录 │ └── test.c #测试编译代码 └── mypass3.cpp # pass 项目代码一,测试代码示例test.c#include <…...
C++ STL 容器线程安全的边界条件
C STL容器线程安全的边界条件探析 在多线程编程中,C标准模板库(STL)容器的高效使用一直是开发者关注的焦点。尽管STL容器在设计上并未原生支持线程安全,但其性能优势使得开发者仍需在并发环境中谨慎使用。理解STL容器线程安全的边…...
Qwen3-Reranker-0.6B保姆级教程:requirements.txt依赖版本兼容性避坑指南
Qwen3-Reranker-0.6B保姆级教程:requirements.txt依赖版本兼容性避坑指南 1. 引言:为什么依赖版本如此重要 当你第一次接触Qwen3-Reranker-0.6B这个强大的重排序模型时,可能会觉得安装过程很简单——不就是运行一个pip install命令吗&#…...
Qwen3-0.6B-FP8实操手册:多轮对话记忆机制与上下文控制技巧
Qwen3-0.6B-FP8实操手册:多轮对话记忆机制与上下文控制技巧 1. 引言:为什么你需要关注对话记忆? 想象一下,你跟一个朋友聊天,聊了十分钟后,你问他:“我们刚才说到哪了?”他一脸茫然…...
实战应用:从零到一,使用快马构建资料更新内容管理系统的完整案例
实战应用:从零到一,使用快马构建资料更新内容管理系统的完整案例 最近接手了一个资料大全的版本更新管理需求,需要搭建一个简单高效的内容管理系统。经过一番摸索,我发现用InsCode(快马)平台可以快速实现这个功能,整个…...
IndexTTS 2.0情感控制效果:用自然语言描述生成对应语气语音
IndexTTS 2.0情感控制效果:用自然语言描述生成对应语气语音 1. 引言:语音合成的革命性突破 想象一下这样的场景:你正在制作一部动画短片,主角需要说一句"我受够了!"——但你不只是想让它"说出来"…...
Lychee Rerank MM惊艳效果:工业图纸图像与技术文档段落的跨模态重排序
Lychee Rerank MM惊艳效果:工业图纸图像与技术文档段落的跨模态重排序 1. 引言:当图纸遇见文字的多模态匹配革命 想象一下这样的场景:你手头有一张复杂的工业设备图纸,需要从海量技术文档中找到与之最匹配的说明段落。传统的关键…...
