refactor: refs #7644 Optimized barcode
gitea/salix/pipeline/pr-master This commit looks good Details

This commit is contained in:
Guillermo Bonet 2024-07-31 11:33:12 +02:00
parent cfebee86f3
commit 1a2ed9ce68
1 changed files with 19 additions and 11 deletions

View File

@ -12,20 +12,28 @@ module.exports = {
const date = new Date();
this.weekNum = moment(date).isoWeek();
this.dayNum = moment(date).day();
this.barcodes = [];
await this.generateAllBarcodes(this.buys);
},
methods: {
getBarcode(id) {
const document = new DOMImplementation().createDocument('http://www.w3.org/1999/xhtml', 'html', null);
const svgNode = document.createElementNS('http://www.w3.org/2000/svg', 'svg');
generateAllBarcodes(buys) {
const uniqueBuyIds = new Set(buys.map(buy => buy.id));
for (let buy of uniqueBuyIds) {
const document = new DOMImplementation().createDocument('http://www.w3.org/1999/xhtml', 'html', null);
const svgNode = document.createElementNS('http://www.w3.org/2000/svg', 'svg');
jsBarcode(svgNode, id, {
xmlDocument: document,
format: 'code128',
displayValue: false,
width: 3.8,
height: 115,
});
return new XMLSerializer().serializeToString(svgNode);
jsBarcode(svgNode, buy, {
xmlDocument: document,
format: 'code128',
displayValue: false,
width: 3.8,
height: 115,
});
this.barcodes.push({id: buy, barcode: new XMLSerializer().serializeToString(svgNode)});
}
},
getBarcode(id) {
return this.barcodes.find(item => item.id === id).barcode;
}
},
props: {