diff --git a/src/utils/zplGenerator.js b/src/utils/zplGenerator.js
index 0e8ee9c..58991e7 100644
--- a/src/utils/zplGenerator.js
+++ b/src/utils/zplGenerator.js
@@ -199,7 +199,7 @@ export class ZPLGenerator {
case 'month':
return String(date.getMonth() + 1)
case 'day':
- return String(date.getDate())
+ return this.formatExtractDay(date, element)
case 'week':
return this.calculateWeekNumber(date, element.firstDayOfWeek)
case 'weekday':
@@ -255,9 +255,7 @@ export class ZPLGenerator {
const month = monthDayDigits === '1'
? String(date.getMonth() + 1)
: String(date.getMonth() + 1).padStart(2, '0')
- const day = monthDayDigits === '1'
- ? String(date.getDate())
- : String(date.getDate()).padStart(2, '0')
+ const day = this.formatFullDateDay(date, element, monthDayDigits)
if (dateFormat === 'dmy') {
return `${day}${separator}${month}${separator}${year}`
@@ -268,6 +266,36 @@ export class ZPLGenerator {
return `${year}${separator}${month}${separator}${day}`
}
+ formatExtractDay(date, element) {
+ if (this.isTenDayPeriodMode(element)) {
+ return this.mapDayToTenDayPeriod(date.getDate())
+ }
+ return String(date.getDate())
+ }
+
+ formatFullDateDay(date, element, monthDayDigits) {
+ if (this.isTenDayPeriodMode(element)) {
+ return this.mapDayToTenDayPeriod(date.getDate())
+ }
+ return monthDayDigits === '1'
+ ? String(date.getDate())
+ : String(date.getDate()).padStart(2, '0')
+ }
+
+ isTenDayPeriodMode(element) {
+ return (element.firstWeekDate || 'normal') === 'xun'
+ }
+
+ mapDayToTenDayPeriod(dayOfMonth) {
+ if (dayOfMonth <= 10) {
+ return '01'
+ }
+ if (dayOfMonth <= 20) {
+ return '11'
+ }
+ return '21'
+ }
+
parseDateString(dateStr) {
if (!dateStr || typeof dateStr !== 'string') {
return null
diff --git a/src/views/modules/labelSetting/LabelDesigner.vue b/src/views/modules/labelSetting/LabelDesigner.vue
index 58aac97..05431f4 100644
--- a/src/views/modules/labelSetting/LabelDesigner.vue
+++ b/src/views/modules/labelSetting/LabelDesigner.vue
@@ -462,13 +462,16 @@ export default {
// 修复:对每个元素补全属性,保证响应式
const defaultElement = {reportId: '',
type: '', x: 0, y: 0, data: '', fontSize: 30, bold: false, newline: false, lineRows: 2,
- lineWidth: 200, digits: 6, step: 1, width: 100, height: 30, previewUrl: '', barcodeType: '', showContent: true, showElement: true, showSerialNumber: true,
+ lineWidth: 200, digits: 2, step: 1, width: 100, height: 30, previewUrl: '', barcodeType: '', showContent: true, showElement: true, showSerialNumber: false,
showMainSeq: false,parentSerialLabelNo:'', seqName: '', isChecked: false, decimalPlaces: '', showDecimalPlaces: false, thousandsSeparator: false, roundHalfUp: true, dateOffsetDays: 0,
// 字体相关属性
fontFamily: 'default', textAlign: 'left', letterSpacing: 0, fontItalic: false, fontUnderline: false
};
this.elements = (data.data || []).map(item => {
const element = Object.assign({}, defaultElement, item);
+ if (typeof element.showSerialNumber === 'string') {
+ element.showSerialNumber = element.showSerialNumber === 'true'
+ }
// 为一维码元素确保有新属性和合理的毫米默认值
if (element.type === 'onecode') {
if (!element.barcodeType) element.barcodeType = 'CODE128';
@@ -479,9 +482,15 @@ export default {
if (element.showSerialNumber === undefined || element.showSerialNumber === null || element.showSerialNumber === '') {
element.showSerialNumber = true;
}
- // 如果是字符串类型,转换为布尔值
- if (typeof element.showSerialNumber === 'string') {
- element.showSerialNumber = element.showSerialNumber === 'true';
+ } else if (element.type === 'text' && element.dataType === 'date') {
+ if (element.showSerialNumber === undefined || element.showSerialNumber === null || element.showSerialNumber === '') {
+ element.showSerialNumber = false
+ }
+ if (element.digits === undefined || element.digits === null || element.digits === '') {
+ element.digits = 2
+ }
+ if (element.step === undefined || element.step === null || element.step === '') {
+ element.step = 1
}
}
return element;
@@ -528,8 +537,9 @@ export default {
newline: false,
lineRows: 2,
lineWidth: 200,
- digits: 6,
+ digits: 2,
step: 1,
+ showSerialNumber: false
}
// 根据类型设置默认尺寸和特殊属性
diff --git a/src/views/modules/labelSetting/com_add_update_customer_label.vue b/src/views/modules/labelSetting/com_add_update_customer_label.vue
index 13e7256..987c173 100644
--- a/src/views/modules/labelSetting/com_add_update_customer_label.vue
+++ b/src/views/modules/labelSetting/com_add_update_customer_label.vue
@@ -6,14 +6,13 @@