【新增】完成temu标签组件
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
import { hiprint } from 'vue-plugin-hiprint'
|
||||
export const customProvider = function (options) {
|
||||
var addElementTypes = function (context) {
|
||||
const addElementTypes = function (context) {
|
||||
context.removePrintElementTypes('customProvider')
|
||||
context.addPrintElementTypes('customProvider', [
|
||||
new hiprint.PrintElementTypeGroup('', [
|
||||
@@ -9,31 +9,48 @@ export const customProvider = function (options) {
|
||||
title: 'temu条码',
|
||||
data: 'XS888888888',
|
||||
type: 'html',
|
||||
formatter: function (title, options, templateData) {
|
||||
console.log(options, templateData)
|
||||
var elId = 'barCode-' + new Date().getTime()
|
||||
formatter: function (data, options, templateData, e, x, target) {
|
||||
console.log(data, options, templateData)
|
||||
const elId = options.elId || 'barCode-' + new Date().getTime()
|
||||
|
||||
// eslint-disable-next-line no-undef
|
||||
$('body').append('<svg id="' + elId + '"></svg>')
|
||||
|
||||
// eslint-disable-next-line no-undef
|
||||
JsBarcode('#'+ elId, '96778555251', {
|
||||
format: "CODE128B",
|
||||
width: 2,
|
||||
height: options.height * 0.6 + 4,
|
||||
height: parseInt(hinnn.pt.toPx(options.height - 20).toString()) * 0.6 - 3,
|
||||
margin: 0,
|
||||
displayValue: false
|
||||
})
|
||||
options.elId = `${elId}`
|
||||
|
||||
// eslint-disable-next-line no-undef
|
||||
const codeHtml = $(`#${elId}`).html()
|
||||
// eslint-disable-next-line no-undef
|
||||
$(`#${elId}`).remove()
|
||||
// eslint-disable-next-line no-undef
|
||||
$('document').on('resize', `#${elId}`, e => {
|
||||
console.log(e)
|
||||
});
|
||||
const resizeObserver = new ResizeObserver(() => {
|
||||
JsBarcode('#'+ elId, '96778555251', {
|
||||
format: "CODE128B",
|
||||
width: 2,
|
||||
height: parseInt(hinnn.pt.toPx(options.height - 20).toString()) * 0.6 - 3,
|
||||
margin: 0,
|
||||
displayValue: false
|
||||
})
|
||||
|
||||
const codeWidth = $(`#temuBarCode-${elId} .temuBarCode-code`).width()
|
||||
$(`#${elId}`).css('width', codeWidth + 'px')
|
||||
})
|
||||
|
||||
setTimeout(() => {
|
||||
const node = document.getElementById(`temuBarCode-${elId}`)
|
||||
if (node) {
|
||||
resizeObserver.observe(node)
|
||||
}
|
||||
}, 20)
|
||||
var html = `
|
||||
<div class="temuBarCode">
|
||||
<div class="temuBarCode" id="temuBarCode-${elId}">
|
||||
<div class="temuBarCode-top">
|
||||
<div class="hiprint-printElement-text-content hiprint-printElement-content">(AA+AAA)*20PCS</div>
|
||||
<div class="hiprint-printElement-text-content hiprint-printElement-content">AA 20PCS+AAA 20PCS</div>
|
||||
@@ -55,7 +72,8 @@ export const customProvider = function (options) {
|
||||
},
|
||||
options: {
|
||||
width: 316,
|
||||
height: 120
|
||||
height: 120,
|
||||
elId: ''
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -99,6 +117,6 @@ export const customProvider = function (options) {
|
||||
])
|
||||
}
|
||||
return {
|
||||
addElementTypes: addElementTypes
|
||||
addElementTypes
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user