提交 d3494ea3 authored 作者: fit2cloud-chenyw's avatar fit2cloud-chenyw

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

上级 403ccd72
...@@ -4,10 +4,10 @@ ...@@ -4,10 +4,10 @@
ref="dateRef" ref="dateRef"
v-model="options.value" v-model="options.value"
:type="options.attrs.type" :type="options.attrs.type"
:range-separator="options.attrs.rangeSeparator" :range-separator="$t(options.attrs.rangeSeparator)"
:start-placeholder="options.attrs.startPlaceholder" :start-placeholder="$t(options.attrs.startPlaceholder)"
:end-placeholder="options.attrs.endPlaceholder" :end-placeholder="$t(options.attrs.endPlaceholder)"
:placeholder="options.attrs.placeholder" :placeholder="$t(options.attrs.placeholder)"
style="min-height: 36px;" style="min-height: 36px;"
@change="dateChange" @change="dateChange"
/> />
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
v-if="options!== null && options.attrs!==null" v-if="options!== null && options.attrs!==null"
v-model="values" v-model="values"
resize="vertical" resize="vertical"
:placeholder="options.attrs.placeholder" :placeholder="$t(options.attrs.placeholder)"
@keypress.enter.native="search" @keypress.enter.native="search"
@dblclick="setEdit" @dblclick="setEdit"
> >
......
...@@ -3,11 +3,11 @@ ...@@ -3,11 +3,11 @@
<el-form v-if="options!== null && options.attrs!==null" ref="form" :model="form" :rules="rules"> <el-form v-if="options!== null && options.attrs!==null" ref="form" :model="form" :rules="rules">
<div class="de-number-range-container"> <div class="de-number-range-container">
<el-form-item prop="min"> <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> </el-form-item>
<span>~</span> <span>{{ $t('denumberrange.split_placeholder') }}</span>
<el-form-item prop="max"> <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> </el-form-item>
</div> </div>
</el-form> </el-form>
...@@ -40,12 +40,12 @@ export default { ...@@ -40,12 +40,12 @@ export default {
form: { min: '', max: '' }, form: { min: '', max: '' },
rules: { rules: {
min: [ 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.validateCom, trigger: 'blur' },
{ validator: this.validateMin, trigger: 'blur' } { validator: this.validateMin, trigger: 'blur' }
], ],
max: [ 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.validateCom, trigger: 'blur' },
{ validator: this.validateMax, trigger: 'blur' } { validator: this.validateMax, trigger: 'blur' }
] ]
...@@ -98,6 +98,7 @@ export default { ...@@ -98,6 +98,7 @@ export default {
this.$refs.form.validateField('min') this.$refs.form.validateField('min')
}, },
validateCom(rule, value, callback) { validateCom(rule, value, callback) {
if (!value) return callback()
const one = Number(value) const one = Number(value)
if (Number.isInteger(one)) { if (Number.isInteger(one)) {
if (one < MIN_NUMBER) { if (one < MIN_NUMBER) {
...@@ -110,6 +111,7 @@ export default { ...@@ -110,6 +111,7 @@ export default {
return callback(new Error(this.$t('denumberrange.must_int'))) return callback(new Error(this.$t('denumberrange.must_int')))
}, },
validateMin(rule, value, callback) { validateMin(rule, value, callback) {
if (!value) return callback()
const one = Number(value) const one = Number(value)
const max = Number(this.form.max) const max = Number(this.form.max)
if (!max || one < max) { if (!max || one < max) {
...@@ -118,6 +120,7 @@ export default { ...@@ -118,6 +120,7 @@ export default {
return callback(new Error(this.$t('denumberrange.min_out_max'))) return callback(new Error(this.$t('denumberrange.min_out_max')))
}, },
validateMax(rule, value, callback) { validateMax(rule, value, callback) {
if (!value) return callback()
const one = Number(value) const one = Number(value)
const min = Number(this.form.min) const min = Number(this.form.min)
if (!min || one > min) { if (!min || one > min) {
...@@ -141,7 +144,27 @@ export default { ...@@ -141,7 +144,27 @@ export default {
value: [this.form.min, this.form.max], value: [this.form.min, this.form.max],
operator: this.operator 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 { ...@@ -151,7 +174,7 @@ export default {
.de-number-range-container { .de-number-range-container {
display: inline; display: inline;
>>>div.el-form-item { >>>div.el-form-item {
width: calc(50% - 5px) !important; width: calc(50% - 10px) !important;
display: inline-block; display: inline-block;
padding: 0 5px; padding: 0 5px;
} }
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
:collapse-tags="showNumber" :collapse-tags="showNumber"
:clearable="!options.attrs.multiple" :clearable="!options.attrs.multiple"
:multiple="options.attrs.multiple" :multiple="options.attrs.multiple"
:placeholder="options.attrs.placeholder" :placeholder="$t(options.attrs.placeholder)"
:popper-append-to-body="inScreen" :popper-append-to-body="inScreen"
@change="changeValue" @change="changeValue"
> >
......
...@@ -2,14 +2,15 @@ import { WidgetService } from '../service/WidgetService' ...@@ -2,14 +2,15 @@ import { WidgetService } from '../service/WidgetService'
const leftPanel = { const leftPanel = {
icon: 'iconfont icon-zuoce-qujian', icon: 'iconfont icon-zuoce-qujian',
label: '数值区间', label: 'denumberrange.label',
defaultClass: 'text-filter' defaultClass: 'text-filter'
} }
const dialogPanel = { const dialogPanel = {
options: { options: {
attrs: { attrs: {
placeholder: '请输入整数', placeholder_min: 'denumberrange.please_key_min',
placeholder_max: 'denumberrange.please_key_max',
viewIds: [] viewIds: []
}, },
value: '' value: ''
......
...@@ -3,7 +3,7 @@ import { WidgetService } from '../service/WidgetService' ...@@ -3,7 +3,7 @@ import { WidgetService } from '../service/WidgetService'
const leftPanel = { const leftPanel = {
icon: 'iconfont icon-xialakuang', icon: 'iconfont icon-xialakuang',
label: '数字下拉', label: 'denumberselect.label',
defaultClass: 'text-filter' defaultClass: 'text-filter'
} }
...@@ -11,7 +11,7 @@ const dialogPanel = { ...@@ -11,7 +11,7 @@ const dialogPanel = {
options: { options: {
attrs: { attrs: {
multiple: false, multiple: false,
placeholder: '请选择', placeholder: 'denumberselect.placeholder',
datas: [], datas: [],
key: 'id', key: 'id',
label: 'text', label: 'text',
......
...@@ -2,14 +2,14 @@ import { WidgetService } from '../service/WidgetService' ...@@ -2,14 +2,14 @@ import { WidgetService } from '../service/WidgetService'
const leftPanel = { const leftPanel = {
icon: 'iconfont icon-shuru', icon: 'iconfont icon-shuru',
label: '文本搜索', label: 'deinputsearch.label',
defaultClass: 'text-filter' defaultClass: 'text-filter'
} }
const dialogPanel = { const dialogPanel = {
options: { options: {
attrs: { attrs: {
placeholder: '请输入关键字', placeholder: 'deinputsearch.placeholder',
viewIds: [] viewIds: []
}, },
......
...@@ -3,7 +3,7 @@ import { WidgetService } from '../service/WidgetService' ...@@ -3,7 +3,7 @@ import { WidgetService } from '../service/WidgetService'
const leftPanel = { const leftPanel = {
icon: 'iconfont icon-xialakuang', icon: 'iconfont icon-xialakuang',
label: '文本下拉', label: 'detextselect.label',
defaultClass: 'text-filter' defaultClass: 'text-filter'
} }
...@@ -11,7 +11,7 @@ const dialogPanel = { ...@@ -11,7 +11,7 @@ const dialogPanel = {
options: { options: {
attrs: { attrs: {
multiple: false, multiple: false,
placeholder: '请选择', placeholder: 'detextselect.placeholder',
viewIds: [], viewIds: [],
datas: [], datas: [],
key: 'id', key: 'id',
......
...@@ -2,7 +2,7 @@ import { WidgetService } from '../service/WidgetService' ...@@ -2,7 +2,7 @@ import { WidgetService } from '../service/WidgetService'
const leftPanel = { const leftPanel = {
icon: 'iconfont icon-riqi', icon: 'iconfont icon-riqi',
label: '日期范围', label: 'dedaterange.label',
defaultClass: 'time-filter' defaultClass: 'time-filter'
} }
...@@ -10,9 +10,9 @@ const dialogPanel = { ...@@ -10,9 +10,9 @@ const dialogPanel = {
options: { options: {
attrs: { attrs: {
type: 'daterange', type: 'daterange',
rangeSeparator: '', rangeSeparator: 'dedaterange.split_placeholder',
startPlaceholder: '开始日期', startPlaceholder: 'dedaterange.to_placeholder',
endPlaceholder: '结束日期', endPlaceholder: 'dedaterange.from_placeholder',
viewIds: [] viewIds: []
}, },
value: '' value: ''
......
...@@ -2,7 +2,7 @@ import { WidgetService } from '../service/WidgetService' ...@@ -2,7 +2,7 @@ import { WidgetService } from '../service/WidgetService'
const leftPanel = { const leftPanel = {
icon: 'iconfont icon-ri', icon: 'iconfont icon-ri',
label: '日期', label: 'dedate.label',
defaultClass: 'time-filter' defaultClass: 'time-filter'
} }
...@@ -10,7 +10,7 @@ const dialogPanel = { ...@@ -10,7 +10,7 @@ const dialogPanel = {
options: { options: {
attrs: { attrs: {
type: 'date', type: 'date',
placeholder: '请选择日期', placeholder: 'dedate.placeholder',
viewIds: [] viewIds: []
}, },
value: '' value: ''
......
...@@ -2,7 +2,7 @@ import { WidgetService } from '../service/WidgetService' ...@@ -2,7 +2,7 @@ import { WidgetService } from '../service/WidgetService'
const leftPanel = { const leftPanel = {
icon: 'iconfont icon-yue', icon: 'iconfont icon-yue',
label: '年月', label: 'deyearmonth.label',
defaultClass: 'time-filter' defaultClass: 'time-filter'
} }
...@@ -10,7 +10,7 @@ const dialogPanel = { ...@@ -10,7 +10,7 @@ const dialogPanel = {
options: { options: {
attrs: { attrs: {
type: 'month', type: 'month',
placeholder: '请选择年月', placeholder: 'deyearmonth.placeholder',
viewIds: [] viewIds: []
}, },
value: '' value: ''
......
...@@ -2,7 +2,7 @@ import { WidgetService } from '../service/WidgetService' ...@@ -2,7 +2,7 @@ import { WidgetService } from '../service/WidgetService'
const leftPanel = { const leftPanel = {
icon: 'iconfont icon-nian', icon: 'iconfont icon-nian',
label: '年份', label: 'deyear.label',
defaultClass: 'time-filter' defaultClass: 'time-filter'
} }
...@@ -10,7 +10,7 @@ const dialogPanel = { ...@@ -10,7 +10,7 @@ const dialogPanel = {
options: { options: {
attrs: { attrs: {
type: 'year', type: 'year',
placeholder: '请选择年份', placeholder: 'deyear.placeholder',
viewIds: [] viewIds: []
}, },
value: '' value: ''
......
...@@ -1289,6 +1289,8 @@ export default { ...@@ -1289,6 +1289,8 @@ export default {
channel_inner_msg: 'On site news' channel_inner_msg: 'On site news'
}, },
denumberrange: { denumberrange: {
label: 'Number range',
split_placeholder: 'To',
please_key_min: 'Please key min value', please_key_min: 'Please key min value',
please_key_max: 'Please key max value', please_key_max: 'Please key max value',
out_of_min: 'The min value cannot be less than the min integer -2³²', out_of_min: 'The min value cannot be less than the min integer -2³²',
...@@ -1296,5 +1298,35 @@ export default { ...@@ -1296,5 +1298,35 @@ export default {
must_int: 'Please key interger', must_int: 'Please key interger',
min_out_max: 'The min value must be less than the max value', 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' 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'
} }
} }
...@@ -1289,6 +1289,8 @@ export default { ...@@ -1289,6 +1289,8 @@ export default {
channel_inner_msg: '站內消息' channel_inner_msg: '站內消息'
}, },
denumberrange: { denumberrange: {
label: '數值區間',
split_placeholder: '至',
please_key_min: '請輸入最小值', please_key_min: '請輸入最小值',
please_key_max: '請輸入最大值', please_key_max: '請輸入最大值',
out_of_min: '最小值不能小于最小整數-2³²', out_of_min: '最小值不能小于最小整數-2³²',
...@@ -1296,5 +1298,35 @@ export default { ...@@ -1296,5 +1298,35 @@ export default {
must_int: '請輸入整數', must_int: '請輸入整數',
min_out_max: '最小值必須小于最大值', min_out_max: '最小值必須小于最大值',
max_out_min: '最大值必須大于最小值' 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: '請選擇年份'
} }
} }
...@@ -1291,6 +1291,8 @@ export default { ...@@ -1291,6 +1291,8 @@ export default {
channel_inner_msg: '站内消息' channel_inner_msg: '站内消息'
}, },
denumberrange: { denumberrange: {
label: '数值区间',
split_placeholder: '至',
please_key_min: '请输入最小值', please_key_min: '请输入最小值',
please_key_max: '请输入最大值', please_key_max: '请输入最大值',
out_of_min: '最小值不能小于最小整数-2³²', out_of_min: '最小值不能小于最小整数-2³²',
...@@ -1298,5 +1300,35 @@ export default { ...@@ -1298,5 +1300,35 @@ export default {
must_int: '请输入整数', must_int: '请输入整数',
min_out_max: '最小值必须小于最大值', min_out_max: '最小值必须小于最大值',
max_out_min: '最大值必须大于最小值' 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: '请选择年份'
} }
} }
...@@ -19,7 +19,7 @@ ...@@ -19,7 +19,7 @@
<div class="filter-widget-icon"> <div class="filter-widget-icon">
<i :class="(widget.icon || 'el-icon-setting') + ' widget-icon-i'" /> <i :class="(widget.icon || 'el-icon-setting') + ' widget-icon-i'" />
</div> </div>
<div class="filter-widget-text">{{ widget.label }}</div> <div class="filter-widget-text">{{ $t(widget.label) || widget.label }}</div>
</div> </div>
</div> </div>
</div> </div>
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论