Merge pull request #8827 from dataease/pr@dev_bug_fix

Pr@dev bug fix
This commit is contained in:
dataeaseShu 2024-04-01 15:24:10 +08:00 committed by GitHub
commit 37284940d8
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
7 changed files with 562 additions and 369 deletions

File diff suppressed because it is too large Load Diff

View File

@ -42,6 +42,9 @@ export default {
}
},
time: {
end_time_start_time: 'The end time must be greater than or equal to the start time',
passing_parameters: 'Empty data does not support passing parameters',
not_supported: 'After binding parameters, passing empty data is not supported',
set_time_filtering_range: 'Set time filtering range',
filter_range: 'The default value is outside the date filtering range, please reset it!',
interval_type: 'Interval type',

View File

@ -42,6 +42,9 @@ export default {
}
},
time: {
end_time_start_time: '結束時間必須大於或等於開始時間',
passing_parameters: '空數據不支持傳參數',
not_supported: '綁定參數後,不支持傳空數據',
set_time_filtering_range: '設定時間篩選範圍',
filter_range: '預設值超出日期篩選範圍內,請重新設定!',
interval_type: '區間類型',

View File

@ -46,6 +46,9 @@ export default {
upload_limit_size: '图片大小不超过'
},
time: {
end_time_start_time: '结束时间必须大于或等于开始时间',
passing_parameters: '空数据不支持传参数',
not_supported: '空数据不支持传参数',
set_time_filtering_range: '设置时间筛选范围',
filter_range: '默认值超出日期筛选范围内,请重新设置!',
interval_type: '区间类型',

View File

@ -557,6 +557,7 @@ export default {
<el-input
v-if="item.type === 'input' && item.settings.inputType !== 'number'"
v-model="item.value"
:key="item.id + item.settings.inputType"
:type="item.settings.inputType"
:required="item.settings.required"
:placeholder="item.settings.placeholder"
@ -565,6 +566,7 @@ export default {
<el-input-number
v-if="item.type === 'input' && item.settings.inputType === 'number'"
v-model="item.value"
:key="item.id + item.settings.inputType"
:required="item.settings.required"
:placeholder="item.settings.placeholder"
style="width: 100%"
@ -574,6 +576,7 @@ export default {
<el-input
v-else-if="item.type === 'textarea'"
v-model="item.value"
:key="item.id + 'textarea'"
type="textarea"
:required="item.settings.required"
:placeholder="item.settings.placeholder"
@ -582,6 +585,7 @@ export default {
<el-select
v-else-if="item.type === 'select'"
v-model="item.value"
:key="item.id + 'select'"
:required="item.settings.required"
:placeholder="item.settings.placeholder"
style="width: 100%"
@ -599,6 +603,7 @@ export default {
<el-radio-group
v-else-if="item.type === 'radio'"
v-model="item.value"
:key="item.id + 'radio'"
:required="item.settings.required"
style="width: 100%"
size="small"
@ -613,6 +618,7 @@ export default {
<el-checkbox-group
v-else-if="item.type === 'checkbox'"
v-model="item.value"
:key="item.id + 'checkbox'"
:required="item.settings.required"
size="small"
>
@ -626,6 +632,7 @@ export default {
<el-date-picker
v-else-if="item.type === 'date' && !item.settings.enableTime"
v-model="item.value"
:key="item.id + 'date'"
:required="item.settings.required"
type="date"
:placeholder="item.settings.placeholder"
@ -635,6 +642,7 @@ export default {
<el-date-picker
v-else-if="item.type === 'date' && item.settings.enableTime"
v-model="item.value"
:key="item.id + 'dateEnableTime'"
:required="item.settings.required"
type="datetime"
:placeholder="item.settings.placeholder"
@ -645,6 +653,7 @@ export default {
v-else-if="item.type === 'dateRange' && !item.settings.enableTime"
v-model="item.value"
:required="item.settings.required"
:key="item.id + 'dateRangeEnableTime'"
type="daterange"
:range-separator="item.settings.rangeSeparator"
:start-placeholder="item.settings.startPlaceholder"
@ -656,6 +665,7 @@ export default {
v-else-if="item.type === 'dateRange' && item.settings.enableTime"
v-model="item.value"
:required="item.settings.required"
:key="item.id + 'datetimerangeRangeEnableTime'"
type="datetimerange"
:range-separator="item.settings.rangeSeparator"
:start-placeholder="item.settings.startPlaceholder"

View File

@ -122,11 +122,21 @@
</div>
</template>
<div class="check-item">
<el-checkbox
v-if="widget.name && ['textSelectWidget', 'textSelectGridWidget'].includes(widget.name)"
v-model="attrs.showEmpty"
>{{ $t('panel.show_empty') }}
</el-checkbox>
<el-tooltip
class="box-item"
effect="dark"
:content="$t('time.passing_parameters')"
placement="top"
manual
v-model="visibleShowEmpty"
>
<el-checkbox
v-if="widget.name && ['textSelectWidget', 'textSelectGridWidget'].includes(widget.name)"
:disabled="attrs.enableParameters"
v-model="attrs.showEmpty"
><span @mouseenter="handlerVisibleShowEmpty" @mouseleave="handlerVisibleShowEmpty">{{ $t('panel.show_empty') }}</span>
</el-checkbox>
</el-tooltip>
</div>
<div class="check-item">
<el-checkbox
@ -184,13 +194,22 @@
</el-popover>
</div>
<div class="check-item">
<el-checkbox
v-if="showParams"
v-model="attrs.enableParameters"
@change="enableParametersChange"
><span>
{{ $t('panel.binding_parameters') }} </span>
</el-checkbox>
<el-tooltip
manual
v-model="visibleEnableParameters"
>
<template #content>
<span>{{ $t('time.not_supported') }}</span>
</template>
<el-checkbox
v-if="showParams"
:disabled="attrs.showEmpty"
v-model="attrs.enableParameters"
@change="enableParametersChange"
><span @mouseenter="handlerVisibleEnableParameters" @mouseleave="handlerVisibleEnableParameters">
{{ $t('panel.binding_parameters') }} </span>
</el-checkbox>
</el-tooltip>
<el-popover
placement="bottom-end"
:disabled="!attrs.enableParameters"
@ -320,6 +339,8 @@ export default {
{ label: this.$t('dataset.start_time'), name: 'start' },
{ label: this.$t('dataset.end_time'), name: 'end' }
],
visibleEnableParameters: false,
visibleShowEmpty: false,
showParams: false,
isRangeParamWidget: false,
attrs: null,
@ -422,6 +443,16 @@ export default {
}
},
methods: {
handlerVisibleEnableParameters() {
if (this.attrs.showEmpty) {
this.visibleEnableParameters = !this.visibleEnableParameters
}
},
handlerVisibleShowEmpty() {
if (this.attrs.enableParameters) {
this.visibleShowEmpty = !this.visibleShowEmpty
}
},
changeDynamicParams(val, name) {
const start = this.attrs.startParameters ? JSON.parse(JSON.stringify(this.attrs.startParameters)) : []

View File

@ -300,6 +300,7 @@ export default {
relativeToCurrentType,
around,
intervalType,
relativeToCurrent,
timeNumRange,
relativeToCurrentTypeRange,
aroundRange,
@ -307,6 +308,7 @@ export default {
return {
timeNum,
relativeToCurrentType,
relativeToCurrent,
around,
intervalType,
timeNumRange,
@ -421,10 +423,36 @@ export default {
}
},
closeFilter() {
this.timeRange = cloneDeep(defaultObj);
this.timeRange = cloneDeep(this.timeRangeData);
this.$emit("changeData", null);
},
changeFilter() {
const {
timeNum,
relativeToCurrentType,
around,
intervalType,
timeNumRange,
regularOrTrends,
relativeToCurrentTypeRange,
aroundRange,
} = this.timeRange;
if (intervalType === "timeInterval" && regularOrTrends === 'dynamic') {
const startTime = getAround(
relativeToCurrentType,
around === "f" ? "subtract" : "add",
timeNum,
);
const endTime = getAround(
relativeToCurrentTypeRange,
aroundRange === "f" ? "subtract" : "add",
timeNumRange,
);
if (+endTime < +startTime) {
this.$message.error(this.$t('time.end_time_start_time'));
return;
}
}
this.$emit("changeData", cloneDeep(this.timeRange));
},
},