vue+element 动态生成二维码并选择批量打印表格内容

下载生成二维码的插件(vue-qr)

vue-qr

npm install vue-qr --save

下载打印库(printJS)

PrintJS

npm install print-js --save

在main.js里引入

引入vue-qr的两种方式

// vue2.0  引入Vue-qr
import VueQr from 'vue-qr'
 
// vue3.0  引入Vue-qr
import vueQr from 'vue-qr/src/packages/vue-qr.vue'
new Vue({
    components: {VueQr}
})

引入print JS库

import print from 'print-js'

在项目页面中使用  

<el-table-column label="防伪码" width="170" align="center">
    <template slot-scope = "scope" >
            <!-- 生成二维码 -->
                <vue-qr
                :ref="'ref'+scope.row.securityId"
                :size="80"
                :margin="0"
                :auto-color="true"
                :dot-scale="1"
                :text = "'http://www.baidu.com?param='+scope.row.securityCode"
              />      
    </template>
</el-table-column>

<script>
import VueQr from 'vue-qr'

export default {
  components:{
    VueQr
  },
  data(){
    return:{
      // 选中的数组
      ids: [],
      // 非单个禁用
      single: true,
      // 非多个禁用
      multiple: true,

      // 打印的内容
      printable:[]
    }  
  }
}

// 多选框事件 选中数据
   handleSelectionChange(selection) {
     this.multipleSelection = selection;
     this.ids = selection.map(item => item.securityId)
     this.single = selection.length!=1
     this.multiple = !selection.length
     // 获取生成之后的二维码Src
     this.printable=selection.map(item => this.$refs['ref'+item.securityId].$el.src)
     console.log(this.printable);
     console.log(this.multipleSelection);
    },

 // 批量打印按钮点击事件
    handlePrinter(){
      printJS({
        // 把勾选的img图片放入下面数组打印
        printable:this.printable,
        // 打印类型
        type:'image',
        // 二维码样式
        imageStyle:'margin:0px; padding:0px; width:40%; height:40%; display: block;         
        margin: 0 auto; padding-top:12%'
      })
    }
</script>

效果图

上面代码省略了大量ElementUI的布局  只留关键代码

大体思路是:

先使用Vue-qr标签生成二维码进行渲染 

在多选方法里面获取选中行的二维码Src

因为批量打印接收的是一个数组 所以需要把选中获取到的Src传到数组里

调用打印方法进行批量打印数组内选中的Src

目前很多打印插件都不能一次批量打印多个  只有print这个库可以  大部分生成二维码工具生成后是canvas  画布是不支持打印的  需要转换成img之后再进行打印

饮用水票分销转让平台功能清单 应用 模块 一级模块 描述 备注 平台管理 系统管理 菜单管理 系统菜单数据维护 角色权限管理 配置平台相关角色以及对应的权限 参数管理 设置系统基础单数据参数 日志管理 管理日常操作日志,用于系统分析及异常追踪 用户管理 用户管理 分销或者采购用户 A类、B类,C类用户根据销售量 水站管理 给水站分配帐号 用户管理 平台用户管理 包括平台运维管理人员信息维护 普通用户管理 小程序购买水票、充值、商品兑换的人员 经销商管理 维护经销商基本信息,处理审核经销商申请 商品管理 水票发布 平台发布水票销售产品供用户采购,生成编号(可追溯) A类(平台直购)、B类水票,B类水票用户购买的时候水票品类已确定 兑换商品 用于以物换物商品兑换 商品发布 平台发布可兑换的商品,兑换的商品只能用水票交易消费 水产品发布 平台发布可售卖的水产品,用户用水票交易,交易提交后自动分配到水站,由水站进行配送 申诉管理 申诉处理 用户上传视频/图片凭证,平台进行审核,24小时无法完成,则原路退回 订单管理 需求订单 用户发布产生的需求订单 采购订单 用户发布产生的采购订单,订单&客户&水票唯一 订水订单 用户线上兑换的水产品订单 兑换订单 用户线上兑换的商城商口订单 参数设置 A类B类C类用户每天交易数量交易次设置阀值,奖励兑换是公司或系统转让 当天买入水票不能卖出 参数设置 等级设置 根据直推人数、团队人数、团队消费额设置经销商等级(一级、二级、三级) 分佣设置 根据不同的等级设置不同的消费返佣参数设置 兑换券设置 设置兑换券兑换规则以及使用规则(包括新增指定消费数兑换券数以及派发规则) 财务管理 根据实际业务需要做相应的功能定制 兑换券管理 查看用户兑换券数量以及兑换、使用明细 用户财务汇总 查询统计用户时间段内的消费情况,以及当前充值、提现、水贝、水票的情况 经销商财务管理 查询统计经销商的团队消费情况以及返佣情况 报表管理 交易报告 展示平台交易量汇总,可导出Excel 订单汇总 客户订单汇总报表,总数明细,支持复核,活跃用户 帮我写一个这些需求的app用vue
03-18
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值