VUE 生成二维码

npm install qrcodejs2 --save

vue文件中引入插件:

    <-- 发货表头 -->
	  <el-row>
          <el-col
            :span="23"
            style="margin-bottom: 10px"
          >
            <ul class="master">
              <li>
                <span style="font-weight:bold;">供应商:</span>
                <span>{{ supplierFullName }}</span>
                <span style="font-weight:bold;margin-left:120px;">发货日期:</span>
                <span>{{ parseTime(deliveryDate,'{y}-{m}-{d}') }}</span>
              </li>
              <li>
                <span style="font-weight:bold;">发货号:</span>
                <span>{{ existDeliveryNo }}</span>
                <span style="font-weight:bold;margin-left:35px;">合同号码:</span>
                <span>{{ existContractNo }}</span>
              </li>
            </ul>
          </el-col>
          
		  <-- 二维码区域 -->	
          <el-col :span="1">
            <div class="qrbarcode">
              <div id="qrCode" ref="qrCodeDiv"></div>
            </div>
          </el-col>
          
      </el-row>
        
      <-- 发货明细 -->
      <el-table class="detail" ref="deliveryTable" :data="orderDelivery" stripe border>
      ...
	  </el-table>

```bash
<script>
  // 引入插件
   import QRCode from 'qrcodejs2'
	
   data() {
     return {
      ...
      // 定义二维码对象
      qrcode: null,
      // 定义二维码输出内容
      qrtext: ''
    }
   },
   mounted() {
    // 初始化,获取数据,并生成二维码
    this.doInit()
   },
   methods: {
    doInit() {
      // 查询送货数据
      querySupplierOrderDelivery().then(data => {
        
        if (data != null && data.length > 0) {
          ...
          this.qrtext = ''
          // 根据获取的明细数据拼出二维码数据
          data.forEach(element => {
            this.qrtext = this.qrtext + element.deliveryNo + ',' + element.orderNo + ',' +
            element.orderItem + ',' + element.supplierOrder.materialCode + ',' + element.deliveryQty + '|'
          })
          this.$nextTick(() => {
            // 如果二维码对象为空,则进行创建,否则直接对二维码数据进行赋值
            if (this.qrcode == null) {
              this.qrcode = new QRCode(this.$refs.qrCodeDiv, {
                text: this.qrtext,
                width: 100,
                height: 100,
                colorDark: '#333333', // 二维码颜色
                colorLight: '#ffffff', // 二维码背景色
                correctLevel: QRCode.CorrectLevel.L // 容错率,L/M/H
              })
            } else {
              this.qrcode.makeCode(this.qrtext)
            }
          })
        }
	  // 出错处理
      }).catch(err => {
		...
      })
    }
</script>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值