Browse Source

文本换行

master
han\hanst 5 months ago
parent
commit
4a4caab6cc
  1. 9
      src/utils/zplGenerator.js
  2. 10
      src/views/modules/labelSetting/components/PropertyForm.vue

9
src/utils/zplGenerator.js

@ -124,9 +124,10 @@ export class ZPLGenerator {
if (element.isChecked) { if (element.isChecked) {
zpl.push(`^FO${x-60},${y}^GB45,45,2,B,0^FS ^FO${x-50},${y+10}^AJN,35,35^FD√^FS `) zpl.push(`^FO${x-60},${y}^GB45,45,2,B,0^FS ^FO${x-50},${y+10}^AJN,35,35^FD√^FS `)
} }
const lineWidth = Math.max(1, Math.round((element.lineWidth || 200) * this.dpi / 25.4))
// 基础文本 // 基础文本
const textCommand = element.newline const textCommand = element.newline
? `^FO${x},${y}^FB${element.lineWidth},${element.lineRows},0^CFJ,${element.fontSize}^FD${element.data}^FS`
? `^FO${x},${y}^FB${lineWidth},${element.lineRows},0^CFJ,${element.fontSize}^FD${element.data}^FS`
: `^FO${x},${y}^FD${element.data}^FS` : `^FO${x},${y}^FD${element.data}^FS`
zpl.push(textCommand) zpl.push(textCommand)
@ -134,9 +135,9 @@ export class ZPLGenerator {
// 加粗效果(通过偏移重复打印实现) // 加粗效果(通过偏移重复打印实现)
if (element.bold) { if (element.bold) {
const boldCommands = element.newline ? [ const boldCommands = element.newline ? [
`^FO${x + 1},${y}^FB${element.lineWidth},${element.lineRows},0^CFJ,${element.fontSize}^FD${element.data}^FS`,
`^FO${x},${y + 1}^FB${element.lineWidth},${element.lineRows},0^CFJ,${element.fontSize}^FD${element.data}^FS`,
`^FO${x + 1},${y + 1}^FB${element.lineWidth},${element.lineRows},0^CFJ,${element.fontSize}^FD${element.data}^FS`
`^FO${x + 1},${y}^FB${lineWidth},${element.lineRows},0^CFJ,${element.fontSize}^FD${element.data}^FS`,
`^FO${x},${y + 1}^FB${lineWidth},${element.lineRows},0^CFJ,${element.fontSize}^FD${element.data}^FS`,
`^FO${x + 1},${y + 1}^FB${lineWidth},${element.lineRows},0^CFJ,${element.fontSize}^FD${element.data}^FS`
] : [ ] : [
`^FO${x + 1},${y}^FD${element.data}^FS`, `^FO${x + 1},${y}^FD${element.data}^FS`,
`^FO${x},${y + 1}^FD${element.data}^FS`, `^FO${x},${y + 1}^FD${element.data}^FS`,

10
src/views/modules/labelSetting/components/PropertyForm.vue

@ -11,7 +11,9 @@
</el-button> </el-button>
</div> </div>
</el-form-item> </el-form-item>
<el-form-item label="" class="form-item-half">
<el-checkbox v-model="element.isChecked" size="small" class="inline-checkbox">打勾</el-checkbox>
</el-form-item>
<el-form-item label="字体大小"> <el-form-item label="字体大小">
<div class="font-size-row"> <div class="font-size-row">
<el-input style="margin-right: 36px" <el-input style="margin-right: 36px"
@ -26,13 +28,10 @@
<el-checkbox v-model="element.newline" size="small" class="inline-checkbox">自动换行</el-checkbox> <el-checkbox v-model="element.newline" size="small" class="inline-checkbox">自动换行</el-checkbox>
</div> </div>
</el-form-item> </el-form-item>
<el-form-item label="" class="form-item-half">
<el-checkbox v-model="element.isChecked" size="small" class="inline-checkbox">打勾</el-checkbox>
</el-form-item>
<template v-if="element.newline"> <template v-if="element.newline">
<div class="form-row"> <div class="form-row">
<el-form-item label="文本宽度" class="form-item-half">
<el-form-item label="文本宽度(mm)" class="form-item-half">
<el-input <el-input
v-model="element.lineWidth" v-model="element.lineWidth"
:min="50" :min="50"
@ -492,7 +491,6 @@ export default {
padding: 3px 6px; padding: 3px 6px;
background: #f8f9fa; background: #f8f9fa;
border-radius: 3px; border-radius: 3px;
border-left: 2px solid #409eff;
} }
.form-tip .tip-warning { .form-tip .tip-warning {

Loading…
Cancel
Save