|
@@ -104,7 +104,8 @@
|
|
|
list.push({
|
|
|
code: item.code,
|
|
|
parameter: this.identification + '?code=' + item.code + '&type=' + this.batchQrCodeDialogData.type,
|
|
|
- codeName: item.name
|
|
|
+ codeName: item.name,
|
|
|
+ roomName: item.roomName
|
|
|
})
|
|
|
})
|
|
|
this.$set(this, 'codeList', list)
|
|
@@ -124,12 +125,50 @@
|
|
|
myCanvas.clearRect(0, 0, 300, 240)
|
|
|
myCanvas.fillRect(0, 0, 300, 240)
|
|
|
//绘制二维码
|
|
|
- myCanvas.drawImage(img, 50, 0)
|
|
|
+ // myCanvas.drawImage(img, 50, 0)
|
|
|
+ myCanvas.drawImage(img, 50, 35)
|
|
|
//设置水印
|
|
|
myCanvas.font = 'bold 14px \'Fira Sans\''
|
|
|
myCanvas.fillStyle = 'rgba(0,0,0,1)' //水印颜色
|
|
|
+ myCanvas.textAlign = 'center'
|
|
|
//绘制水印
|
|
|
- myCanvas.fillText(item.codeName, (300 - (item.codeName.length * 14)) / 2, 215) //左下
|
|
|
+ let list = [];
|
|
|
+ for(let i=0;i<item.codeName.length;i++){
|
|
|
+ if(i == 0 || i == 15){
|
|
|
+ list.push(item.codeName[i])
|
|
|
+ }else{
|
|
|
+ if(i<15){
|
|
|
+ list[0] = list[0]+item.codeName[i];
|
|
|
+ }else{
|
|
|
+ list[1] = list[1]+item.codeName[i];
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(item.roomName){
|
|
|
+ if(!list[1]){
|
|
|
+ let name = list[0] +' ('+item.roomName+')'
|
|
|
+ // myCanvas.fillText(name, (300/2), 215) //左下
|
|
|
+ myCanvas.fillText(name, (300/2), 30) //左下
|
|
|
+ }else{
|
|
|
+ let name = list[1] +' ('+item.roomName+')'
|
|
|
+ // myCanvas.fillText(list[0], (300/2), 210) //左下
|
|
|
+ // myCanvas.fillText(name, (300/2), 225) //左下
|
|
|
+ myCanvas.fillText(list[0], (300/2), 25) //左下
|
|
|
+ myCanvas.fillText(name, (300/2), 40) //左下
|
|
|
+ }
|
|
|
+ }else{
|
|
|
+ if(!list[1]){
|
|
|
+ let name = list[0]
|
|
|
+ // myCanvas.fillText(name, (300/2), 215) //左下
|
|
|
+ myCanvas.fillText(name, (300/2), 30) //左下
|
|
|
+ }else{
|
|
|
+ let name = list[1]
|
|
|
+ // myCanvas.fillText(list[0], (300/2), 210) //左下
|
|
|
+ // myCanvas.fillText(name, (300/2), 225) //左下
|
|
|
+ myCanvas.fillText(list[0], (300/2), 25) //左下
|
|
|
+ myCanvas.fillText(name, (300/2), 40) //左下
|
|
|
+ }
|
|
|
+ }
|
|
|
})
|
|
|
}, 100)
|
|
|
})
|
|
@@ -141,9 +180,11 @@
|
|
|
let zip = new JSZip()
|
|
|
this.codeList.forEach((item,index) => {
|
|
|
let canvas = this.$refs['canvas' + item.code][0];
|
|
|
+ let name = item.roomName?item.codeName+' ('+item.roomName+')':item.codeName;
|
|
|
const base64Img = canvas.toDataURL('image/png')
|
|
|
// 这个images文件目录中创建一个base64数据为imgData的图像,图像名是index序号 + item.codeName实验室名称 + '.gif'
|
|
|
- zip.file((index+1)+'_'+item.codeName+'.gif', base64Img.replace(/^data:image\/(png|jpg);base64,/, ""), { base64: true })
|
|
|
+ // zip.file((index+1)+'_'+item.codeName+'.gif', base64Img.replace(/^data:image\/(png|jpg);base64,/, ""), { base64: true })
|
|
|
+ zip.file((index+1)+'_'+name+'.gif', base64Img.replace(/^data:image\/(png|jpg);base64,/, ""), { base64: true })
|
|
|
})
|
|
|
// 把打包内容异步转成blob二进制格式
|
|
|
zip.generateAsync({ type: 'blob' }).then(function(content) {
|
|
@@ -175,6 +216,7 @@
|
|
|
.batch-qr-code-dialog {
|
|
|
z-index: 10000;
|
|
|
font-weight: 500;
|
|
|
+ overflow: hidden;
|
|
|
.for-code-max-box {
|
|
|
max-height: 500px;
|
|
|
.for-code-box {
|