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: { 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', set_time_filtering_range: 'Set time filtering range',
filter_range: 'The default value is outside the date filtering range, please reset it!', filter_range: 'The default value is outside the date filtering range, please reset it!',
interval_type: 'Interval type', interval_type: 'Interval type',

View File

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

View File

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

View File

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

View File

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

View File

@ -300,6 +300,7 @@ export default {
relativeToCurrentType, relativeToCurrentType,
around, around,
intervalType, intervalType,
relativeToCurrent,
timeNumRange, timeNumRange,
relativeToCurrentTypeRange, relativeToCurrentTypeRange,
aroundRange, aroundRange,
@ -307,6 +308,7 @@ export default {
return { return {
timeNum, timeNum,
relativeToCurrentType, relativeToCurrentType,
relativeToCurrent,
around, around,
intervalType, intervalType,
timeNumRange, timeNumRange,
@ -421,10 +423,36 @@ export default {
} }
}, },
closeFilter() { closeFilter() {
this.timeRange = cloneDeep(defaultObj); this.timeRange = cloneDeep(this.timeRangeData);
this.$emit("changeData", null); this.$emit("changeData", null);
}, },
changeFilter() { 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)); this.$emit("changeData", cloneDeep(this.timeRange));
}, },
}, },