Browse Source

支持当前日期

master
han\hanst 5 days ago
parent
commit
c60840bda7
  1. 32
      src/views/modules/labelSetting/components/PropertyForm.vue

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

@ -153,7 +153,19 @@
<!-- 日期类型设置 --> <!-- 日期类型设置 -->
<template v-if="element.dataType === 'date'"> <template v-if="element.dataType === 'date'">
<div class="form-row"> <div class="form-row">
<el-form-item label="日期提取类型" class="form-item-half">
<el-form-item label="数据源" class="form-item-half">
<el-select
v-model="element.dateSourceType"
size="mini"
style="width: 100%;"
@change="onDateSourceTypeChange"
>
<el-option label="字段值" value="field" />
<el-option label="当前日期" value="current" />
</el-select>
</el-form-item>
<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" />
@ -700,6 +712,7 @@ export default {
this.setElementDefault('dataType', 'text') this.setElementDefault('dataType', 'text')
if (this.element.dataType === 'date') { if (this.element.dataType === 'date') {
this.setElementDefault('dateSourceType', this.inferDateSourceType(this.element.data))
this.setElementDefault('dateExtractType', 'full') this.setElementDefault('dateExtractType', 'full')
this.setElementDefault('dateFormat', 'ymd') this.setElementDefault('dateFormat', 'ymd')
this.setElementDefault('dateSeparator', '-') this.setElementDefault('dateSeparator', '-')
@ -751,6 +764,7 @@ export default {
onDataTypeChange(newType) { onDataTypeChange(newType) {
// //
if (newType === 'date') { if (newType === 'date') {
this.$set(this.element, 'dateSourceType', this.inferDateSourceType(this.element.data))
this.$set(this.element, 'dateExtractType', 'full') this.$set(this.element, 'dateExtractType', 'full')
this.$set(this.element, 'dateFormat', 'ymd') this.$set(this.element, 'dateFormat', 'ymd')
this.$set(this.element, 'dateSeparator', '-') this.$set(this.element, 'dateSeparator', '-')
@ -772,6 +786,22 @@ export default {
} }
}, },
inferDateSourceType(dataValue) {
return dataValue === '#{CURRENT_DATE_YYYY-MM-DD}' ? 'current' : 'field'
},
onDateSourceTypeChange(sourceType) {
if (sourceType === 'current') {
if (this.element.data && this.element.data !== '#{CURRENT_DATE_YYYY-MM-DD}') {
this.$set(this.element, 'dateFieldDataBackup', this.element.data)
}
this.$set(this.element, 'data', '#{CURRENT_DATE_YYYY-MM-DD}')
} else if (this.element.data === '#{CURRENT_DATE_YYYY-MM-DD}') {
const backupData = this.element.dateFieldDataBackup || ''
this.$set(this.element, 'data', backupData)
}
},
handleSelectImage() { handleSelectImage() {
// //
if (this.$refs.fileInput) { if (this.$refs.fileInput) {

Loading…
Cancel
Save