feat(过滤组件): 过滤组件时间区间国际化

This commit is contained in:
dataeaseShu 2024-03-19 18:29:44 +08:00
parent 86e662e256
commit 152b41ba1f
6 changed files with 119 additions and 35 deletions

View File

@ -41,6 +41,34 @@ export default {
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: {
upload_limit_format: 'The image format is incorrect. It supports JPG and PNG',
upload_limit_size: 'Picture size shall not exceed'

View File

@ -41,6 +41,34 @@ export default {
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: {
upload_limit_format: '圖片格式錯誤支持JPGPNG',
upload_limit_size: '圖片大小不超過'

View File

@ -45,6 +45,34 @@ export default {
upload_limit_format: '图片格式错误支持JPGPNG',
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: {
dashboard: '首页',
documentation: '文档',

View File

@ -1366,7 +1366,7 @@ export default {
if(this.isInRange(attrs, +startWindowTime, dayjs(+timeStamp)
.startOf('day')
.valueOf())) {
this.openMessageSuccess('默认值必须在时间筛选范围!', 'error')
this.openMessageSuccess(this.$t('time.filter_range'), 'error')
return
}
}

View File

@ -171,7 +171,7 @@
<el-checkbox
v-if="widget.name && ['timeDateRangeWidget'].includes(widget.name)"
v-model="attrs.setTimeRange"
>设置时间筛选范围
>{{ $t('time.set_time_filtering_range') }}
</el-checkbox>
<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" />

View File

@ -1,8 +1,8 @@
<template>
<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="label">区间类型</div>
<div class="label">{{ $t('time.interval_type') }}</div>
<div class="setting-content">
<div class="setting">
<el-radio-group v-model="timeRange.intervalType">
@ -10,7 +10,7 @@
v-for="ele in intervalTypeList"
:key="ele.value"
:label="ele.value"
>{{ ele.label }}</el-radio
>{{ $t(`time.${ele.label}`) }}</el-radio
>
</el-radio-group>
</div>
@ -21,21 +21,21 @@
<div class="setting-content">
<div class="setting">
<el-radio-group v-model="timeRange.regularOrTrends">
<el-radio label="fixed">固定时间</el-radio>
<el-radio label="dynamic">动态时间</el-radio>
<el-radio label="fixed">{{ $t('time.fixed_time') }}</el-radio>
<el-radio label="dynamic">{{ $t('time.dynamic_time') }}</el-radio>
</el-radio-group>
</div>
<template
v-if="dynamicTime && timeRange.intervalType !== 'timeInterval'"
>
<div class="setting">
<div class="setting-label">相对当前</div>
<div class="setting-label">{{ $t('time.relative_to_current') }}</div>
<div class="setting-value select">
<el-select v-model="timeRange.relativeToCurrent">
<el-option
v-for="item in relativeToCurrentList"
:key="item.value"
:label="item.label"
:label="$t(`time.${item.label}`)"
:value="item.value"
/>
</el-select>
@ -53,7 +53,7 @@
<el-option
v-for="item in relativeToCurrentTypeList"
:key="item.value"
:label="item.label"
:label="$t(`time.${item.label}`)"
:value="item.value"
/>
</el-select>
@ -61,7 +61,7 @@
<el-option
v-for="item in aroundList"
:key="item.value"
:label="item.label"
:label="$t(`time.${item.label}`)"
:value="item.value"
/>
</el-select>
@ -72,7 +72,7 @@
v-else-if="dynamicTime && timeRange.intervalType === 'timeInterval'"
>
<div class="setting">
<div class="setting-label">开始时间</div>
<div class="setting-label">{{ $t('time.start_time') }}</div>
<div class="setting-input range">
<el-input-number
v-model="timeRange.timeNum"
@ -84,7 +84,7 @@
<el-option
v-for="item in relativeToCurrentTypeList"
:key="item.value"
:label="item.label"
:label="$t(`time.${item.label}`)"
:value="item.value"
/>
</el-select>
@ -92,14 +92,14 @@
<el-option
v-for="item in aroundList"
:key="item.value"
:label="item.label"
:label="$t(`time.${item.label}`)"
:value="item.value"
/>
</el-select>
</div>
</div>
<div class="setting">
<div class="setting-label">结束时间</div>
<div class="setting-label">{{ $t('time.end_time') }}</div>
<div class="setting-input range">
<el-input-number
v-model="timeRange.timeNumRange"
@ -111,7 +111,7 @@
<el-option
v-for="item in relativeToCurrentTypeList"
:key="item.value"
:label="item.label"
:label="$t(`time.${item.label}`)"
:value="item.value"
/>
</el-select>
@ -119,7 +119,7 @@
<el-option
v-for="item in aroundList"
:key="item.value"
:label="item.label"
:label="$t(`time.${item.label}`)"
:value="item.value"
/>
</el-select>
@ -128,7 +128,7 @@
</template>
</div>
<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'">
<el-date-picker
:disabled="timeRange.regularOrTrends !== 'fixed'"
@ -145,21 +145,21 @@
<div class="label">
<el-checkbox
v-model="timeRange.dynamicWindow"
label="动态查询时间窗口"
:label="$t('time.dynamic_query_time_window')"
/>
</div>
<div
v-if="timeRange.dynamicWindow"
class="setting-content maximum-single-query"
>
单次查询最多
{{ $t('time.maximum_single_query') }}
<el-input-number
v-model="timeRange.maximumSingleQuery"
:min="1"
size="small"
controls-position="right"
/>
{{ $t('time.day') }}
</div>
</div>
<div class="popover-foot">
@ -182,66 +182,66 @@ import { getThisStart, getLastStart, getAround } from "./time-format-dayjs";
import { cloneDeep } from 'lodash-es'
const intervalTypeList = [
{
label: "",
label: "day",
value: "none",
},
{
label: "开始于",
label: "starting_from",
value: "start",
},
{
label: "结束于",
label: "end_at",
value: "end",
},
{
label: "时间区间",
label: "time_interval",
value: "timeInterval",
},
];
const aroundList = [
{
label: "",
label: "ago",
value: "f",
},
{
label: "",
label: "after",
value: "b",
},
];
const relativeToCurrentTypeList = [
{
label: "",
label: "year",
value: "year",
},
{
label: "",
label: "month",
value: "month",
},
{
label: "",
label: "day",
value: "day",
},
];
const relativeToCurrentList = [
{
label: "今天",
label: "today",
value: "today",
},
{
label: "昨天",
label: "yesterday",
value: "yesterday",
},
{
label: "月初",
label: "at_the_beginning_of_the_month",
value: "monthBeginning",
},
{
label: "年初",
label: "at_the_beginning_of_the_year",
value: "yearBeginning",
},
{
label: "自定义",
label: "custom",
value: "custom",
},
];