<template> 
 | 
  <div> 
 | 
    <vol-box 
 | 
      v-model="showDetialBox" 
 | 
      :lazy="true" 
 | 
      width="300px" 
 | 
      :padding="15" 
 | 
      title="打印" 
 | 
    > 
 | 
      <div 
 | 
        id="printContent" 
 | 
        style="display: flex; justify-content: center; align-items: center" 
 | 
      > 
 | 
        <div 
 | 
          style="display: flex; justify-content: center; align-items: center" 
 | 
        > 
 | 
          <VueQrcode id="qrcode" :value="palletCode" :size="200"></VueQrcode> 
 | 
        </div> 
 | 
      </div> 
 | 
      <div id="palletcode"> 
 | 
        <span 
 | 
          style="display: flex; justify-content: center; align-items: center" 
 | 
          >{{ palletCode }}</span 
 | 
        > 
 | 
      </div> 
 | 
  
 | 
      <template #footer> 
 | 
        <el-button type="primary" size="small" @click="print()">打印</el-button> 
 | 
        <el-button type="danger" size="small" @click="showDetialBox = false" 
 | 
          >关闭</el-button 
 | 
        > 
 | 
      </template> 
 | 
    </vol-box> 
 | 
  </div> 
 | 
</template> 
 | 
   
 | 
  <script> 
 | 
import VolBox from "@/components/basic/VolBox.vue"; 
 | 
import VueQrcode from "vue-qrcode"; 
 | 
import QRCode from "qrcode"; 
 | 
export default { 
 | 
  components: { VolBox, VueQrcode }, 
 | 
  data() { 
 | 
    return { 
 | 
      showDetialBox: false, 
 | 
      row: null, 
 | 
      qrcodeDataURL: "", 
 | 
      palletCode: "", 
 | 
    }; 
 | 
  }, 
 | 
  methods: { 
 | 
    open(row) { 
 | 
      this.row = row; 
 | 
      this.showDetialBox = true; 
 | 
      if (row && row.palletCode) { 
 | 
        this.palletCode = row.palletCode; 
 | 
      } 
 | 
    }, 
 | 
    print() { 
 | 
      let printContent = document.getElementById("printContent"); 
 | 
      let palletcode=document.getElementById("palletcode"); 
 | 
      var printWindow = window.open("", ""); 
 | 
      printWindow.document.write(printContent.innerHTML); 
 | 
      printWindow.document.write(palletcode.innerHTML); 
 | 
      printWindow.document.close(); 
 | 
      printWindow.focus(); 
 | 
      printWindow.print(); 
 | 
      printWindow.close(); 
 | 
      this.http 
 | 
            .post("api/palletCodeInfo/PrintStatusUp?printCode="+this.palletCode, null, "数据处理中") 
 | 
            .then((x) => { 
 | 
              if (!x.status) return this.$message.error(x.message); 
 | 
              this.$message.success("操作成功"); 
 | 
              this.$parent.refresh(); 
 | 
              this.showDetialBox = false; 
 | 
            }); 
 | 
    }, 
 | 
  }, 
 | 
  created() {}, 
 | 
}; 
 | 
</script> 
 | 
   
 | 
  <style scoped> 
 | 
.el-col { 
 | 
  border-radius: 4px; 
 | 
} 
 | 
  
 | 
.grid-content { 
 | 
  border-radius: 4px; 
 | 
  min-height: 36px; 
 | 
} 
 | 
  
 | 
.content-text { 
 | 
  display: flex; 
 | 
  align-items: center; 
 | 
  justify-content: center; 
 | 
} 
 | 
  
 | 
.right-text { 
 | 
  display: flex; 
 | 
  align-items: center; 
 | 
  justify-content: flex-end; 
 | 
} 
 | 
</style> 
 | 
  <style> 
 | 
.el-table .warning-row { 
 | 
  background: #e6a23c; 
 | 
} 
 | 
  
 | 
.el-table .success-row { 
 | 
  background: #f0f9eb; 
 | 
} 
 | 
  
 | 
.el-table .error-row { 
 | 
  background: #f56c6c; 
 | 
} 
 | 
  
 | 
canvas { 
 | 
  display: block; 
 | 
  margin: auto; 
 | 
} 
 | 
</style> 
 |