mirror of
https://github.com/dataease/dataease.git
synced 2025-02-25 03:52:59 +08:00
perf(仪表板-日期范围过滤器): 优化时分秒精度设置
This commit is contained in:
parent
7a650c49b4
commit
8b616deb94
@ -230,8 +230,9 @@ export default {
|
|||||||
}
|
}
|
||||||
let start = values[0]
|
let start = values[0]
|
||||||
let end = values[1]
|
let end = values[1]
|
||||||
start = timeSection(start, 'date')[0]
|
start = timeSection(start, 'datetime', this.labelFormat)[0]
|
||||||
end = timeSection(end, 'date')[1]
|
end = timeSection(end, 'datetime', this.labelFormat)[1]
|
||||||
|
|
||||||
const results = [start, end]
|
const results = [start, end]
|
||||||
return results
|
return results
|
||||||
} else {
|
} else {
|
||||||
@ -264,9 +265,6 @@ export default {
|
|||||||
.coustom-date-picker {
|
.coustom-date-picker {
|
||||||
border:1px solid var(--BrDateColor, #dfe4ed) !important;
|
border:1px solid var(--BrDateColor, #dfe4ed) !important;
|
||||||
background: var(--BgDateColor, #FFFFFF) !important;
|
background: var(--BgDateColor, #FFFFFF) !important;
|
||||||
// .popper__arrow::after{
|
|
||||||
// border-bottom-color: var(--BgDateColor, #FFFFFF) !important;
|
|
||||||
// }
|
|
||||||
|
|
||||||
.popper__arrow,
|
.popper__arrow,
|
||||||
.popper__arrow::after {
|
.popper__arrow::after {
|
||||||
|
@ -269,23 +269,24 @@ class TimeDateRangeServiceImpl extends WidgetService {
|
|||||||
if (!values || values.length === 0) {
|
if (!values || values.length === 0) {
|
||||||
return []
|
return []
|
||||||
}
|
}
|
||||||
|
const componentType = element.options.attrs.showTime ? 'datetimerange' : 'daterange'
|
||||||
|
let labelFormat = 'yyyy-MM-dd'
|
||||||
|
if (element.options.attrs.showTime && element.options.attrs.accuracy) {
|
||||||
|
labelFormat = labelFormat + ' ' + element.options.attrs.accuracy
|
||||||
|
}
|
||||||
if (element.options.attrs.type === 'daterange') {
|
if (element.options.attrs.type === 'daterange') {
|
||||||
if (values.length !== 2) {
|
if (values.length !== 2) {
|
||||||
return null
|
return null
|
||||||
}
|
}
|
||||||
let start = values[0]
|
let start = values[0]
|
||||||
let end = values[1]
|
let end = values[1]
|
||||||
start = timeSection(start, 'date')[0]
|
|
||||||
end = timeSection(end, 'date')[1]
|
start = timeSection(start, 'datetime', labelFormat)[0]
|
||||||
|
end = timeSection(end, 'datetime', labelFormat)[1]
|
||||||
const results = [start, end]
|
const results = [start, end]
|
||||||
return results
|
return results
|
||||||
} else {
|
} else {
|
||||||
const value = values[0]
|
const value = values[0]
|
||||||
const componentType = element.options.attrs.showTime ? 'datetimerange' : 'daterange'
|
|
||||||
let labelFormat = 'yyyy-MM-dd'
|
|
||||||
if (element.options.attrs.showTime && element.options.attrs.accuracy) {
|
|
||||||
labelFormat = labelFormat + ' ' + element.options.attrs.accuracy
|
|
||||||
}
|
|
||||||
|
|
||||||
return timeSection(parseFloat(value), componentType || element.options.attrs.type, labelFormat)
|
return timeSection(parseFloat(value), componentType || element.options.attrs.type, labelFormat)
|
||||||
}
|
}
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
<el-form-item :label="$t('dynamic_time.set_default')">
|
<el-form-item :label="$t('dynamic_time.set_default')">
|
||||||
<el-radio-group v-model="element.options.attrs.default.isDynamic" @change="dynamicChange">
|
<el-radio-group v-model="element.options.attrs.default.isDynamic" @change="dynamicChange">
|
||||||
<el-radio :label="false">{{ $t('dynamic_time.fix') }}</el-radio>
|
<el-radio :label="false">{{ $t('dynamic_time.fix') }}</el-radio>
|
||||||
<el-radio :label="true">{{ $t('dynamic_time.dynamic') }}</el-radio>
|
<el-radio :label="true" :disabled="isTimeWidget && element.options.attrs.showTime">{{ $t('dynamic_time.dynamic') }}</el-radio>
|
||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
@ -136,7 +136,8 @@
|
|||||||
<el-form-item v-if="element.options.attrs.default.isDynamic" :label="$t('dynamic_time.preview')">
|
<el-form-item v-if="element.options.attrs.default.isDynamic" :label="$t('dynamic_time.preview')">
|
||||||
<el-date-picker
|
<el-date-picker
|
||||||
v-model="dval"
|
v-model="dval"
|
||||||
:type="element.options.attrs.type"
|
:type="componentType"
|
||||||
|
:format="labelFormat"
|
||||||
disabled
|
disabled
|
||||||
class="relative-time"
|
class="relative-time"
|
||||||
placeholder=""
|
placeholder=""
|
||||||
@ -177,6 +178,27 @@ export default {
|
|||||||
dval: null
|
dval: null
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
computed: {
|
||||||
|
|
||||||
|
isTimeWidget() {
|
||||||
|
const widget = ApplicationContext.getService(this.element.serviceName)
|
||||||
|
return widget.isTimeWidget && widget.isTimeWidget()
|
||||||
|
},
|
||||||
|
componentType() {
|
||||||
|
let result = 'daterange'
|
||||||
|
if (this.isTimeWidget && this.element.options.attrs.showTime) {
|
||||||
|
result = 'datetimerange'
|
||||||
|
}
|
||||||
|
return result
|
||||||
|
},
|
||||||
|
labelFormat() {
|
||||||
|
const result = 'yyyy-MM-dd'
|
||||||
|
if (this.isTimeWidget && this.element.options.attrs.showTime && this.element.options.attrs.accuracy) {
|
||||||
|
return result + ' ' + this.element.options.attrs.accuracy
|
||||||
|
}
|
||||||
|
return result
|
||||||
|
}
|
||||||
|
},
|
||||||
created() {
|
created() {
|
||||||
this.setDval()
|
this.setDval()
|
||||||
},
|
},
|
||||||
|
Loading…
Reference in New Issue
Block a user