fix: 仪表板过滤组件国际化

This commit is contained in:
fit2cloud-chenyw 2021-07-22 15:27:44 +08:00
parent 403ccd7215
commit d3494ea3cb
16 changed files with 152 additions and 32 deletions

View File

@ -4,10 +4,10 @@
ref="dateRef"
v-model="options.value"
:type="options.attrs.type"
:range-separator="options.attrs.rangeSeparator"
:start-placeholder="options.attrs.startPlaceholder"
:end-placeholder="options.attrs.endPlaceholder"
:placeholder="options.attrs.placeholder"
:range-separator="$t(options.attrs.rangeSeparator)"
:start-placeholder="$t(options.attrs.startPlaceholder)"
:end-placeholder="$t(options.attrs.endPlaceholder)"
:placeholder="$t(options.attrs.placeholder)"
style="min-height: 36px;"
@change="dateChange"
/>

View File

@ -4,7 +4,7 @@
v-if="options!== null && options.attrs!==null"
v-model="values"
resize="vertical"
:placeholder="options.attrs.placeholder"
:placeholder="$t(options.attrs.placeholder)"
@keypress.enter.native="search"
@dblclick="setEdit"
>

View File

@ -3,11 +3,11 @@
<el-form v-if="options!== null && options.attrs!==null" ref="form" :model="form" :rules="rules">
<div class="de-number-range-container">
<el-form-item prop="min">
<el-input v-model="form.min" :placeholder="options.attrs.placeholder" @change="handleMinChange" />
<el-input v-model="form.min" :placeholder="$t(options.attrs.placeholder_min)" @change="handleMinChange" />
</el-form-item>
<span>~</span>
<span>{{ $t('denumberrange.split_placeholder') }}</span>
<el-form-item prop="max">
<el-input v-model="form.max" :placeholder="options.attrs.placeholder" @change="handleMaxChange" />
<el-input v-model="form.max" :placeholder="$t(options.attrs.placeholder_max)" @change="handleMaxChange" />
</el-form-item>
</div>
</el-form>
@ -40,12 +40,12 @@ export default {
form: { min: '', max: '' },
rules: {
min: [
{ required: true, message: this.$t('denumberrange.please_key_min'), trigger: 'blur' },
// { required: true, message: this.$t('denumberrange.please_key_min'), trigger: 'blur' },
{ validator: this.validateCom, trigger: 'blur' },
{ validator: this.validateMin, trigger: 'blur' }
],
max: [
{ required: true, message: this.$t('denumberrange.please_key_max'), trigger: 'blur' },
// { required: true, message: this.$t('denumberrange.please_key_max'), trigger: 'blur' },
{ validator: this.validateCom, trigger: 'blur' },
{ validator: this.validateMax, trigger: 'blur' }
]
@ -98,6 +98,7 @@ export default {
this.$refs.form.validateField('min')
},
validateCom(rule, value, callback) {
if (!value) return callback()
const one = Number(value)
if (Number.isInteger(one)) {
if (one < MIN_NUMBER) {
@ -110,6 +111,7 @@ export default {
return callback(new Error(this.$t('denumberrange.must_int')))
},
validateMin(rule, value, callback) {
if (!value) return callback()
const one = Number(value)
const max = Number(this.form.max)
if (!max || one < max) {
@ -118,6 +120,7 @@ export default {
return callback(new Error(this.$t('denumberrange.min_out_max')))
},
validateMax(rule, value, callback) {
if (!value) return callback()
const one = Number(value)
const min = Number(this.form.min)
if (!min || one > min) {
@ -141,7 +144,27 @@ export default {
value: [this.form.min, this.form.max],
operator: this.operator
}
this.inDraw && this.$store.commit('addViewFilter', param)
if (this.form.min && this.form.max) {
this.inDraw && this.$store.commit('addViewFilter', param)
return
}
if (!this.form.min && !this.form.max) {
param.value = []
this.inDraw && this.$store.commit('addViewFilter', param)
return
}
if (this.form.min) {
param.value = [this.form.min]
param.operator = 'ge'
this.inDraw && this.$store.commit('addViewFilter', param)
return
}
if (this.form.max) {
param.value = [this.form.max]
param.operator = 'le'
this.inDraw && this.$store.commit('addViewFilter', param)
return
}
}
}
}
@ -151,7 +174,7 @@ export default {
.de-number-range-container {
display: inline;
>>>div.el-form-item {
width: calc(50% - 5px) !important;
width: calc(50% - 10px) !important;
display: inline-block;
padding: 0 5px;
}

View File

@ -7,7 +7,7 @@
:collapse-tags="showNumber"
:clearable="!options.attrs.multiple"
:multiple="options.attrs.multiple"
:placeholder="options.attrs.placeholder"
:placeholder="$t(options.attrs.placeholder)"
:popper-append-to-body="inScreen"
@change="changeValue"
>

View File

@ -2,14 +2,15 @@ import { WidgetService } from '../service/WidgetService'
const leftPanel = {
icon: 'iconfont icon-zuoce-qujian',
label: '数值区间',
label: 'denumberrange.label',
defaultClass: 'text-filter'
}
const dialogPanel = {
options: {
attrs: {
placeholder: '请输入整数',
placeholder_min: 'denumberrange.please_key_min',
placeholder_max: 'denumberrange.please_key_max',
viewIds: []
},
value: ''

View File

@ -3,7 +3,7 @@ import { WidgetService } from '../service/WidgetService'
const leftPanel = {
icon: 'iconfont icon-xialakuang',
label: '数字下拉',
label: 'denumberselect.label',
defaultClass: 'text-filter'
}
@ -11,7 +11,7 @@ const dialogPanel = {
options: {
attrs: {
multiple: false,
placeholder: '请选择',
placeholder: 'denumberselect.placeholder',
datas: [],
key: 'id',
label: 'text',

View File

@ -2,14 +2,14 @@ import { WidgetService } from '../service/WidgetService'
const leftPanel = {
icon: 'iconfont icon-shuru',
label: '文本搜索',
label: 'deinputsearch.label',
defaultClass: 'text-filter'
}
const dialogPanel = {
options: {
attrs: {
placeholder: '请输入关键字',
placeholder: 'deinputsearch.placeholder',
viewIds: []
},

View File

@ -3,7 +3,7 @@ import { WidgetService } from '../service/WidgetService'
const leftPanel = {
icon: 'iconfont icon-xialakuang',
label: '文本下拉',
label: 'detextselect.label',
defaultClass: 'text-filter'
}
@ -11,7 +11,7 @@ const dialogPanel = {
options: {
attrs: {
multiple: false,
placeholder: '请选择',
placeholder: 'detextselect.placeholder',
viewIds: [],
datas: [],
key: 'id',

View File

@ -2,7 +2,7 @@ import { WidgetService } from '../service/WidgetService'
const leftPanel = {
icon: 'iconfont icon-riqi',
label: '日期范围',
label: 'dedaterange.label',
defaultClass: 'time-filter'
}
@ -10,9 +10,9 @@ const dialogPanel = {
options: {
attrs: {
type: 'daterange',
rangeSeparator: '',
startPlaceholder: '开始日期',
endPlaceholder: '结束日期',
rangeSeparator: 'dedaterange.split_placeholder',
startPlaceholder: 'dedaterange.to_placeholder',
endPlaceholder: 'dedaterange.from_placeholder',
viewIds: []
},
value: ''

View File

@ -2,7 +2,7 @@ import { WidgetService } from '../service/WidgetService'
const leftPanel = {
icon: 'iconfont icon-ri',
label: '日期',
label: 'dedate.label',
defaultClass: 'time-filter'
}
@ -10,7 +10,7 @@ const dialogPanel = {
options: {
attrs: {
type: 'date',
placeholder: '请选择日期',
placeholder: 'dedate.placeholder',
viewIds: []
},
value: ''

View File

@ -2,7 +2,7 @@ import { WidgetService } from '../service/WidgetService'
const leftPanel = {
icon: 'iconfont icon-yue',
label: '年月',
label: 'deyearmonth.label',
defaultClass: 'time-filter'
}
@ -10,7 +10,7 @@ const dialogPanel = {
options: {
attrs: {
type: 'month',
placeholder: '请选择年月',
placeholder: 'deyearmonth.placeholder',
viewIds: []
},
value: ''

View File

@ -2,7 +2,7 @@ import { WidgetService } from '../service/WidgetService'
const leftPanel = {
icon: 'iconfont icon-nian',
label: '年份',
label: 'deyear.label',
defaultClass: 'time-filter'
}
@ -10,7 +10,7 @@ const dialogPanel = {
options: {
attrs: {
type: 'year',
placeholder: '请选择年份',
placeholder: 'deyear.placeholder',
viewIds: []
},
value: ''

View File

@ -1289,6 +1289,8 @@ export default {
channel_inner_msg: 'On site news'
},
denumberrange: {
label: 'Number range',
split_placeholder: 'To',
please_key_min: 'Please key min value',
please_key_max: 'Please key max value',
out_of_min: 'The min value cannot be less than the min integer -2³²',
@ -1296,5 +1298,35 @@ export default {
must_int: 'Please key interger',
min_out_max: 'The min value must be less than the max value',
max_out_min: 'The max value must be more than the min value'
},
denumberselect: {
label: 'Number selector',
placeholder: 'Please select'
},
deinputsearch: {
label: 'Text search',
placeholder: 'Please key keyword'
},
detextselect: {
label: 'Text selector',
placeholder: 'Please select'
},
dedaterange: {
label: 'Date range',
to_placeholder: 'End date',
from_placeholder: 'Start date',
split_placeholder: 'To'
},
dedate: {
label: 'Date',
placeholder: 'Please select date'
},
deyearmonth: {
label: 'Month',
placeholder: 'Please select month'
},
deyear: {
label: 'Year',
placeholder: 'Please select year'
}
}

View File

@ -1289,6 +1289,8 @@ export default {
channel_inner_msg: '站內消息'
},
denumberrange: {
label: '數值區間',
split_placeholder: '至',
please_key_min: '請輸入最小值',
please_key_max: '請輸入最大值',
out_of_min: '最小值不能小于最小整數-2³²',
@ -1296,5 +1298,35 @@ export default {
must_int: '請輸入整數',
min_out_max: '最小值必須小于最大值',
max_out_min: '最大值必須大于最小值'
},
denumberselect: {
label: '數字下拉',
placeholder: '請選擇'
},
deinputsearch: {
label: '文本搜索',
placeholder: '請輸入關鍵字'
},
detextselect: {
label: '文本下拉',
placeholder: '請選擇'
},
dedaterange: {
label: '日期範圍',
to_placeholder: '結束日期',
from_placeholder: '開始日期',
split_placeholder: '至'
},
dedate: {
label: '日期',
placeholder: '請選擇日期'
},
deyearmonth: {
label: '年月',
placeholder: '請選擇年月'
},
deyear: {
label: '年份',
placeholder: '請選擇年份'
}
}

View File

@ -1291,6 +1291,8 @@ export default {
channel_inner_msg: '站内消息'
},
denumberrange: {
label: '数值区间',
split_placeholder: '至',
please_key_min: '请输入最小值',
please_key_max: '请输入最大值',
out_of_min: '最小值不能小于最小整数-2³²',
@ -1298,5 +1300,35 @@ export default {
must_int: '请输入整数',
min_out_max: '最小值必须小于最大值',
max_out_min: '最大值必须大于最小值'
},
denumberselect: {
label: '数字下拉',
placeholder: '请选择'
},
deinputsearch: {
label: '文本搜索',
placeholder: '请输入关键字'
},
detextselect: {
label: '文本下拉',
placeholder: '请选择'
},
dedaterange: {
label: '日期范围',
to_placeholder: '结束日期',
from_placeholder: '开始日期',
split_placeholder: '至'
},
dedate: {
label: '日期',
placeholder: '请选择日期'
},
deyearmonth: {
label: '年月',
placeholder: '请选择年月'
},
deyear: {
label: '年份',
placeholder: '请选择年份'
}
}

View File

@ -19,7 +19,7 @@
<div class="filter-widget-icon">
<i :class="(widget.icon || 'el-icon-setting') + ' widget-icon-i'" />
</div>
<div class="filter-widget-text">{{ widget.label }}</div>
<div class="filter-widget-text">{{ $t(widget.label) || widget.label }}</div>
</div>
</div>
</div>