feat(过滤组件): 过滤组件时间区间国际化
This commit is contained in:
parent
86e662e256
commit
152b41ba1f
@ -41,6 +41,34 @@ export default {
|
|||||||
finish: 'Finish'
|
finish: 'Finish'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
time: {
|
||||||
|
set_time_filtering_range: 'Set time filtering range',
|
||||||
|
filter_range: 'The default value must be within the time filtering range',
|
||||||
|
interval_type: 'Interval type',
|
||||||
|
fixed_time: 'Fixed time',
|
||||||
|
dynamic_time: 'Dynamic time',
|
||||||
|
relative_to_current: 'Relative to current',
|
||||||
|
start_time: 'start time',
|
||||||
|
end_time: 'End time',
|
||||||
|
preview: 'preview',
|
||||||
|
maximum_single_query: 'Maximum single query',
|
||||||
|
day: 'day',
|
||||||
|
dynamic_query_time_window: 'Dynamic query time window',
|
||||||
|
nothing: 'nothing',
|
||||||
|
starting_from: 'Starting from',
|
||||||
|
end_at: 'End at',
|
||||||
|
time_interval: 'Time interval',
|
||||||
|
ago: 'ago',
|
||||||
|
after: 'after',
|
||||||
|
year: 'year',
|
||||||
|
month: 'month',
|
||||||
|
day: 'day',
|
||||||
|
today: 'today',
|
||||||
|
yesterday: 'yesterday',
|
||||||
|
at_the_beginning_of_the_month: 'At the beginning of the month',
|
||||||
|
at_the_beginning_of_the_year: 'At the beginning of the year',
|
||||||
|
custom: 'custom',
|
||||||
|
},
|
||||||
track: {
|
track: {
|
||||||
upload_limit_format: 'The image format is incorrect. It supports JPG and PNG',
|
upload_limit_format: 'The image format is incorrect. It supports JPG and PNG',
|
||||||
upload_limit_size: 'Picture size shall not exceed'
|
upload_limit_size: 'Picture size shall not exceed'
|
||||||
|
|||||||
@ -41,6 +41,34 @@ export default {
|
|||||||
finish: '完成'
|
finish: '完成'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
time: {
|
||||||
|
set_time_filtering_range: '設定時間篩選範圍',
|
||||||
|
filter_range: '預設值必須在時間篩選範圍',
|
||||||
|
interval_type: '區間類型',
|
||||||
|
fixed_time: '固定時間',
|
||||||
|
dynamic_time: '動態時間',
|
||||||
|
relative_to_current: '相對當前',
|
||||||
|
start_time: '開始',
|
||||||
|
end_time: '結束時間',
|
||||||
|
preview: '預覽',
|
||||||
|
maximum_single_query: '單次査詢最多',
|
||||||
|
day: '天',
|
||||||
|
dynamic_query_time_window: '動態査詢時間視窗',
|
||||||
|
nothing: '無',
|
||||||
|
starting_from: '開始於',
|
||||||
|
end_at: '結束於',
|
||||||
|
time_interval: '時間區間',
|
||||||
|
ago: '前',
|
||||||
|
after: '後',
|
||||||
|
year: '年',
|
||||||
|
month: '月',
|
||||||
|
day: '日',
|
||||||
|
today: '今天',
|
||||||
|
yesterday: '昨天',
|
||||||
|
at_the_beginning_of_the_month: '月初',
|
||||||
|
at_the_beginning_of_the_year: '年初',
|
||||||
|
custom: '自定義',
|
||||||
|
},
|
||||||
track: {
|
track: {
|
||||||
upload_limit_format: '圖片格式錯誤,支持JPG,PNG',
|
upload_limit_format: '圖片格式錯誤,支持JPG,PNG',
|
||||||
upload_limit_size: '圖片大小不超過'
|
upload_limit_size: '圖片大小不超過'
|
||||||
|
|||||||
@ -45,6 +45,34 @@ export default {
|
|||||||
upload_limit_format: '图片格式错误,支持JPG,PNG',
|
upload_limit_format: '图片格式错误,支持JPG,PNG',
|
||||||
upload_limit_size: '图片大小不超过'
|
upload_limit_size: '图片大小不超过'
|
||||||
},
|
},
|
||||||
|
time: {
|
||||||
|
set_time_filtering_range: '设置时间筛选范围',
|
||||||
|
filter_range: '默认值必须在时间筛选范围',
|
||||||
|
interval_type: '区间类型',
|
||||||
|
fixed_time: '固定时间',
|
||||||
|
dynamic_time: '动态时间',
|
||||||
|
relative_to_current: '相对当前',
|
||||||
|
start_time: '开始时间',
|
||||||
|
end_time: '结束时间',
|
||||||
|
preview: '预览',
|
||||||
|
maximum_single_query: '单次查询最多',
|
||||||
|
day: '天',
|
||||||
|
dynamic_query_time_window: '动态查询时间窗口',
|
||||||
|
nothing: '无',
|
||||||
|
starting_from: '开始于',
|
||||||
|
end_at: '结束于',
|
||||||
|
time_interval: '时间区间',
|
||||||
|
ago: '前',
|
||||||
|
after: '后',
|
||||||
|
year: '年',
|
||||||
|
month: '月',
|
||||||
|
day: '日',
|
||||||
|
today: '今天',
|
||||||
|
yesterday: '昨天',
|
||||||
|
at_the_beginning_of_the_month: '月初',
|
||||||
|
at_the_beginning_of_the_year: '年初',
|
||||||
|
custom: '自定义',
|
||||||
|
},
|
||||||
route: {
|
route: {
|
||||||
dashboard: '首页',
|
dashboard: '首页',
|
||||||
documentation: '文档',
|
documentation: '文档',
|
||||||
|
|||||||
@ -1366,7 +1366,7 @@ export default {
|
|||||||
if(this.isInRange(attrs, +startWindowTime, dayjs(+timeStamp)
|
if(this.isInRange(attrs, +startWindowTime, dayjs(+timeStamp)
|
||||||
.startOf('day')
|
.startOf('day')
|
||||||
.valueOf())) {
|
.valueOf())) {
|
||||||
this.openMessageSuccess('默认值必须在时间筛选范围!', 'error')
|
this.openMessageSuccess(this.$t('time.filter_range'), 'error')
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -171,7 +171,7 @@
|
|||||||
<el-checkbox
|
<el-checkbox
|
||||||
v-if="widget.name && ['timeDateRangeWidget'].includes(widget.name)"
|
v-if="widget.name && ['timeDateRangeWidget'].includes(widget.name)"
|
||||||
v-model="attrs.setTimeRange"
|
v-model="attrs.setTimeRange"
|
||||||
>设置时间筛选范围
|
>{{ $t('time.set_time_filtering_range') }}
|
||||||
</el-checkbox>
|
</el-checkbox>
|
||||||
<el-popover :disabled="!attrs.setTimeRange" popper-class="popover-setting-parent" ref="popoverSetting" :visible-arrow="false" placement="bottom-start" :width="452" trigger="click">
|
<el-popover :disabled="!attrs.setTimeRange" popper-class="popover-setting-parent" ref="popoverSetting" :visible-arrow="false" placement="bottom-start" :width="452" trigger="click">
|
||||||
<RangeFilterTime @changeData="changeData" :timeRangeData="attrs.timeRange" />
|
<RangeFilterTime @changeData="changeData" :timeRangeData="attrs.timeRange" />
|
||||||
|
|||||||
@ -1,8 +1,8 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="set-time-filtering-range">
|
<div class="set-time-filtering-range">
|
||||||
<div class="title">设置时间筛选范围</div>
|
<div class="title">{{ $t('time.set_time_filtering_range') }}</div>
|
||||||
<div class="list-item">
|
<div class="list-item">
|
||||||
<div class="label">区间类型</div>
|
<div class="label">{{ $t('time.interval_type') }}</div>
|
||||||
<div class="setting-content">
|
<div class="setting-content">
|
||||||
<div class="setting">
|
<div class="setting">
|
||||||
<el-radio-group v-model="timeRange.intervalType">
|
<el-radio-group v-model="timeRange.intervalType">
|
||||||
@ -10,7 +10,7 @@
|
|||||||
v-for="ele in intervalTypeList"
|
v-for="ele in intervalTypeList"
|
||||||
:key="ele.value"
|
:key="ele.value"
|
||||||
:label="ele.value"
|
:label="ele.value"
|
||||||
>{{ ele.label }}</el-radio
|
>{{ $t(`time.${ele.label}`) }}</el-radio
|
||||||
>
|
>
|
||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
</div>
|
</div>
|
||||||
@ -21,21 +21,21 @@
|
|||||||
<div class="setting-content">
|
<div class="setting-content">
|
||||||
<div class="setting">
|
<div class="setting">
|
||||||
<el-radio-group v-model="timeRange.regularOrTrends">
|
<el-radio-group v-model="timeRange.regularOrTrends">
|
||||||
<el-radio label="fixed">固定时间</el-radio>
|
<el-radio label="fixed">{{ $t('time.fixed_time') }}</el-radio>
|
||||||
<el-radio label="dynamic">动态时间</el-radio>
|
<el-radio label="dynamic">{{ $t('time.dynamic_time') }}</el-radio>
|
||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
</div>
|
</div>
|
||||||
<template
|
<template
|
||||||
v-if="dynamicTime && timeRange.intervalType !== 'timeInterval'"
|
v-if="dynamicTime && timeRange.intervalType !== 'timeInterval'"
|
||||||
>
|
>
|
||||||
<div class="setting">
|
<div class="setting">
|
||||||
<div class="setting-label">相对当前</div>
|
<div class="setting-label">{{ $t('time.relative_to_current') }}</div>
|
||||||
<div class="setting-value select">
|
<div class="setting-value select">
|
||||||
<el-select v-model="timeRange.relativeToCurrent">
|
<el-select v-model="timeRange.relativeToCurrent">
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in relativeToCurrentList"
|
v-for="item in relativeToCurrentList"
|
||||||
:key="item.value"
|
:key="item.value"
|
||||||
:label="item.label"
|
:label="$t(`time.${item.label}`)"
|
||||||
:value="item.value"
|
:value="item.value"
|
||||||
/>
|
/>
|
||||||
</el-select>
|
</el-select>
|
||||||
@ -53,7 +53,7 @@
|
|||||||
<el-option
|
<el-option
|
||||||
v-for="item in relativeToCurrentTypeList"
|
v-for="item in relativeToCurrentTypeList"
|
||||||
:key="item.value"
|
:key="item.value"
|
||||||
:label="item.label"
|
:label="$t(`time.${item.label}`)"
|
||||||
:value="item.value"
|
:value="item.value"
|
||||||
/>
|
/>
|
||||||
</el-select>
|
</el-select>
|
||||||
@ -61,7 +61,7 @@
|
|||||||
<el-option
|
<el-option
|
||||||
v-for="item in aroundList"
|
v-for="item in aroundList"
|
||||||
:key="item.value"
|
:key="item.value"
|
||||||
:label="item.label"
|
:label="$t(`time.${item.label}`)"
|
||||||
:value="item.value"
|
:value="item.value"
|
||||||
/>
|
/>
|
||||||
</el-select>
|
</el-select>
|
||||||
@ -72,7 +72,7 @@
|
|||||||
v-else-if="dynamicTime && timeRange.intervalType === 'timeInterval'"
|
v-else-if="dynamicTime && timeRange.intervalType === 'timeInterval'"
|
||||||
>
|
>
|
||||||
<div class="setting">
|
<div class="setting">
|
||||||
<div class="setting-label">开始时间</div>
|
<div class="setting-label">{{ $t('time.start_time') }}</div>
|
||||||
<div class="setting-input range">
|
<div class="setting-input range">
|
||||||
<el-input-number
|
<el-input-number
|
||||||
v-model="timeRange.timeNum"
|
v-model="timeRange.timeNum"
|
||||||
@ -84,7 +84,7 @@
|
|||||||
<el-option
|
<el-option
|
||||||
v-for="item in relativeToCurrentTypeList"
|
v-for="item in relativeToCurrentTypeList"
|
||||||
:key="item.value"
|
:key="item.value"
|
||||||
:label="item.label"
|
:label="$t(`time.${item.label}`)"
|
||||||
:value="item.value"
|
:value="item.value"
|
||||||
/>
|
/>
|
||||||
</el-select>
|
</el-select>
|
||||||
@ -92,14 +92,14 @@
|
|||||||
<el-option
|
<el-option
|
||||||
v-for="item in aroundList"
|
v-for="item in aroundList"
|
||||||
:key="item.value"
|
:key="item.value"
|
||||||
:label="item.label"
|
:label="$t(`time.${item.label}`)"
|
||||||
:value="item.value"
|
:value="item.value"
|
||||||
/>
|
/>
|
||||||
</el-select>
|
</el-select>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="setting">
|
<div class="setting">
|
||||||
<div class="setting-label">结束时间</div>
|
<div class="setting-label">{{ $t('time.end_time') }}</div>
|
||||||
<div class="setting-input range">
|
<div class="setting-input range">
|
||||||
<el-input-number
|
<el-input-number
|
||||||
v-model="timeRange.timeNumRange"
|
v-model="timeRange.timeNumRange"
|
||||||
@ -111,7 +111,7 @@
|
|||||||
<el-option
|
<el-option
|
||||||
v-for="item in relativeToCurrentTypeList"
|
v-for="item in relativeToCurrentTypeList"
|
||||||
:key="item.value"
|
:key="item.value"
|
||||||
:label="item.label"
|
:label="$t(`time.${item.label}`)"
|
||||||
:value="item.value"
|
:value="item.value"
|
||||||
/>
|
/>
|
||||||
</el-select>
|
</el-select>
|
||||||
@ -119,7 +119,7 @@
|
|||||||
<el-option
|
<el-option
|
||||||
v-for="item in aroundList"
|
v-for="item in aroundList"
|
||||||
:key="item.value"
|
:key="item.value"
|
||||||
:label="item.label"
|
:label="$t(`time.${item.label}`)"
|
||||||
:value="item.value"
|
:value="item.value"
|
||||||
/>
|
/>
|
||||||
</el-select>
|
</el-select>
|
||||||
@ -128,7 +128,7 @@
|
|||||||
</template>
|
</template>
|
||||||
</div>
|
</div>
|
||||||
<div class="parameters" :class="dynamicTime && 'setting'">
|
<div class="parameters" :class="dynamicTime && 'setting'">
|
||||||
<div class="setting-label" v-if="dynamicTime">预览</div>
|
<div class="setting-label" v-if="dynamicTime">{{ $t('time.preview') }}</div>
|
||||||
<div :class="dynamicTime ? 'setting-value' : 'w100'">
|
<div :class="dynamicTime ? 'setting-value' : 'w100'">
|
||||||
<el-date-picker
|
<el-date-picker
|
||||||
:disabled="timeRange.regularOrTrends !== 'fixed'"
|
:disabled="timeRange.regularOrTrends !== 'fixed'"
|
||||||
@ -145,21 +145,21 @@
|
|||||||
<div class="label">
|
<div class="label">
|
||||||
<el-checkbox
|
<el-checkbox
|
||||||
v-model="timeRange.dynamicWindow"
|
v-model="timeRange.dynamicWindow"
|
||||||
label="动态查询时间窗口"
|
:label="$t('time.dynamic_query_time_window')"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
v-if="timeRange.dynamicWindow"
|
v-if="timeRange.dynamicWindow"
|
||||||
class="setting-content maximum-single-query"
|
class="setting-content maximum-single-query"
|
||||||
>
|
>
|
||||||
单次查询最多
|
{{ $t('time.maximum_single_query') }}
|
||||||
<el-input-number
|
<el-input-number
|
||||||
v-model="timeRange.maximumSingleQuery"
|
v-model="timeRange.maximumSingleQuery"
|
||||||
:min="1"
|
:min="1"
|
||||||
size="small"
|
size="small"
|
||||||
controls-position="right"
|
controls-position="right"
|
||||||
/>
|
/>
|
||||||
天
|
{{ $t('time.day') }}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="popover-foot">
|
<div class="popover-foot">
|
||||||
@ -182,66 +182,66 @@ import { getThisStart, getLastStart, getAround } from "./time-format-dayjs";
|
|||||||
import { cloneDeep } from 'lodash-es'
|
import { cloneDeep } from 'lodash-es'
|
||||||
const intervalTypeList = [
|
const intervalTypeList = [
|
||||||
{
|
{
|
||||||
label: "无",
|
label: "day",
|
||||||
value: "none",
|
value: "none",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: "开始于",
|
label: "starting_from",
|
||||||
value: "start",
|
value: "start",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: "结束于",
|
label: "end_at",
|
||||||
value: "end",
|
value: "end",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: "时间区间",
|
label: "time_interval",
|
||||||
value: "timeInterval",
|
value: "timeInterval",
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
const aroundList = [
|
const aroundList = [
|
||||||
{
|
{
|
||||||
label: "前",
|
label: "ago",
|
||||||
value: "f",
|
value: "f",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: "后",
|
label: "after",
|
||||||
value: "b",
|
value: "b",
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
const relativeToCurrentTypeList = [
|
const relativeToCurrentTypeList = [
|
||||||
{
|
{
|
||||||
label: "年",
|
label: "year",
|
||||||
value: "year",
|
value: "year",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: "月",
|
label: "month",
|
||||||
value: "month",
|
value: "month",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: "日",
|
label: "day",
|
||||||
value: "day",
|
value: "day",
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
const relativeToCurrentList = [
|
const relativeToCurrentList = [
|
||||||
{
|
{
|
||||||
label: "今天",
|
label: "today",
|
||||||
value: "today",
|
value: "today",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: "昨天",
|
label: "yesterday",
|
||||||
value: "yesterday",
|
value: "yesterday",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: "月初",
|
label: "at_the_beginning_of_the_month",
|
||||||
value: "monthBeginning",
|
value: "monthBeginning",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: "年初",
|
label: "at_the_beginning_of_the_year",
|
||||||
value: "yearBeginning",
|
value: "yearBeginning",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: "自定义",
|
label: "custom",
|
||||||
value: "custom",
|
value: "custom",
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user