Browse Source

日期支持加减天数

master
han\hanst 1 week ago
parent
commit
755fd6c712
  1. 2
      src/views/modules/labelSetting/LabelDesigner.vue
  2. 53
      src/views/modules/labelSetting/components/PropertyForm.vue

2
src/views/modules/labelSetting/LabelDesigner.vue

@ -463,7 +463,7 @@ export default {
const defaultElement = {reportId: '', const defaultElement = {reportId: '',
type: '', x: 0, y: 0, data: '', fontSize: 30, bold: false, newline: false, lineRows: 2, 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: 6, step: 1, width: 100, height: 30, previewUrl: '', barcodeType: '', showContent: true, showElement: true, showSerialNumber: true,
showMainSeq: false,parentSerialLabelNo:'', seqName: '', isChecked: false, decimalPlaces: '', showDecimalPlaces: false, thousandsSeparator: false,
showMainSeq: false,parentSerialLabelNo:'', seqName: '', isChecked: false, decimalPlaces: '', showDecimalPlaces: false, thousandsSeparator: false, dateOffsetDays: 0,
// //
fontFamily: 'default', textAlign: 'left', letterSpacing: 0, fontItalic: false, fontUnderline: false fontFamily: 'default', textAlign: 'left', letterSpacing: 0, fontItalic: false, fontUnderline: false
}; };

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

@ -151,7 +151,8 @@
</template> </template>
<!-- 日期类型设置 --> <!-- 日期类型设置 -->
<template v-if="element.dataType === 'date'"> <template v-if="element.dataType === 'date'">
<el-form-item label="日期提取类型">
<div class="form-row">
<el-form-item label="日期提取类型" class="form-item-half">
<el-select v-model="element.dateExtractType" size="mini" style="width: 100%;"> <el-select v-model="element.dateExtractType" size="mini" style="width: 100%;">
<el-option label="完整日期" value="full" /> <el-option label="完整日期" value="full" />
<el-option label="提取年" value="year" /> <el-option label="提取年" value="year" />
@ -162,6 +163,14 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="加减天数" class="form-item-half">
<el-input
v-model="element.dateOffsetDays"
controls-position="right" size="mini"
style="width: 100%;"/>
</el-form-item>
</div>
<template v-if="element.dateExtractType === 'week'"> <template v-if="element.dateExtractType === 'week'">
<el-form-item label="第一周日期"> <el-form-item label="第一周日期">
<el-date-picker <el-date-picker
@ -645,10 +654,8 @@ export default {
comShowLabelSerialInfo,/*标签内容流水号信息的組件*/ comShowLabelSerialInfo,/*标签内容流水号信息的組件*/
}, },
mounted() { mounted() {
//
if (this.element.type === 'text' && !this.element.dataType) {
this.$set(this.element, 'dataType', 'text')
}
//
this.initializeTypeSettings()
// //
this.initializeFontSettings() this.initializeFontSettings()
@ -669,6 +676,7 @@ export default {
'element'() { 'element'() {
// //
this.$nextTick(() => { this.$nextTick(() => {
this.initializeTypeSettings()
if (this.element.type === 'serialNumber') { if (this.element.type === 'serialNumber') {
this.getParentLabelInfo() this.getParentLabelInfo()
} }
@ -676,6 +684,40 @@ export default {
} }
}, },
methods: { methods: {
setElementDefault(key, defaultValue) {
const value = this.element[key]
if (value === undefined || value === null || value === '') {
this.$set(this.element, key, defaultValue)
}
},
initializeTypeSettings() {
if (this.element.type !== 'text') {
return
}
this.setElementDefault('dataType', 'text')
if (this.element.dataType === 'date') {
this.setElementDefault('dateExtractType', 'full')
this.setElementDefault('dateFormat', 'ymd')
this.setElementDefault('dateSeparator', '-')
this.setElementDefault('yearDigits', '4')
this.setElementDefault('monthDayDigits', '2')
this.setElementDefault('firstWeekDate', '')
this.setElementDefault('firstDayOfWeek', '1')
this.setElementDefault('dateOffsetDays', 0)
} else if (this.element.dataType === 'string') {
this.setElementDefault('stringProcessType', 'none')
this.setElementDefault('substringStartLength', '')
this.setElementDefault('substringEndLength', '')
this.setElementDefault('splitCharacter', '')
this.setElementDefault('splitIndex', '0')
this.setElementDefault('replaceFrom', '')
this.setElementDefault('replaceTo', '')
}
},
// //
async getParentLabelInfo() { async getParentLabelInfo() {
if (!this.element.reportId) return null if (!this.element.reportId) return null
@ -713,6 +755,7 @@ export default {
this.$set(this.element, 'monthDayDigits', '2') this.$set(this.element, 'monthDayDigits', '2')
this.$set(this.element, 'firstWeekDate', '') this.$set(this.element, 'firstWeekDate', '')
this.$set(this.element, 'firstDayOfWeek', '1') this.$set(this.element, 'firstDayOfWeek', '1')
this.$set(this.element, 'dateOffsetDays', 0)
} else if (newType === 'string') { } else if (newType === 'string') {
this.$set(this.element, 'stringProcessType', 'none') this.$set(this.element, 'stringProcessType', 'none')
this.$set(this.element, 'substringStartLength', '') this.$set(this.element, 'substringStartLength', '')

Loading…
Cancel
Save