feat(视图):为日期维度,增加日期显示与格式转换功能

This commit is contained in:
junjie
2021-06-01 15:44:33 +08:00
parent 89c758a50a
commit 4cbe01ca16
8 changed files with 175 additions and 5 deletions

View File

@@ -692,7 +692,17 @@ export default {
chart_pie_rose: 'Rose Pie',
chart_funnel: 'Funnel',
chart_radar: 'Radar',
chart_gauge: 'Gauge'
chart_gauge: 'Gauge',
dateStyle: '日期顯示',
datePattern: '日期格式',
y: 'Year',
y_M: 'Year Month',
y_M_d: 'Year Month Day',
H_m_s: 'Hour Minute Second',
y_M_d_H_m: 'Year Month Day Hour Minute',
y_M_d_H_m_s: 'Year Month Day Hour Minute Second',
date_sub: 'yyyy-MM-dd',
date_split: 'yyyy/MM/dd'
},
dataset: {
sheet_warn: 'There are multiple sheet pages, and the first one is extracted by default',

View File

@@ -692,7 +692,17 @@ export default {
chart_pie_rose: '南丁格爾玫瑰圖',
chart_funnel: '漏鬥圖',
chart_radar: '雷達圖',
chart_gauge: '儀表盤'
chart_gauge: '儀表盤',
dateStyle: '日期顯示',
datePattern: '日期格式',
y: '年',
y_M: '年月',
y_M_d: '年月日',
H_m_s: '時分秒',
y_M_d_H_m: '年月日時分',
y_M_d_H_m_s: '年月日時分秒',
date_sub: 'yyyy-MM-dd',
date_split: 'yyyy/MM/dd'
},
dataset: {
sheet_warn: '有多個sheet頁面默認抽取第一個',

View File

@@ -692,7 +692,17 @@ export default {
chart_pie_rose: '南丁格尔玫瑰图',
chart_funnel: '漏斗图',
chart_radar: '雷达图',
chart_gauge: '仪表盘'
chart_gauge: '仪表盘',
dateStyle: '日期显示',
datePattern: '日期格式',
y: '年',
y_M: '年月',
y_M_d: '年月日',
H_m_s: '时分秒',
y_M_d_H_m: '年月日时分',
y_M_d_H_m_s: '年月日时分秒',
date_sub: 'yyyy-MM-dd',
date_split: 'yyyy/MM/dd'
},
dataset: {
sheet_warn: '有多个Sheet页默认抽取第一个',

View File

@@ -26,6 +26,44 @@
<el-dropdown-item icon="el-icon-files" :command="beforeClickItem('filter')">
<span>{{ $t('chart.filter') }}...</span>
</el-dropdown-item>
<el-dropdown-item v-show="item.deType === 1" divided>
<el-dropdown placement="right-start" size="mini" style="width: 100%" @command="dateStyle">
<span class="el-dropdown-link inner-dropdown-menu">
<span>
<i class="el-icon-c-scale-to-original" />
<span>{{ $t('chart.dateStyle') }}</span>
<span class="summary-span">({{ $t('chart.'+item.dateStyle) }})</span>
</span>
<i class="el-icon-arrow-right el-icon--right" />
</span>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item :command="beforeDateStyle('y')">{{ $t('chart.y') }}</el-dropdown-item>
<el-dropdown-item :command="beforeDateStyle('y_M')">{{ $t('chart.y_M') }}</el-dropdown-item>
<el-dropdown-item :command="beforeDateStyle('y_M_d')">{{ $t('chart.y_M_d') }}</el-dropdown-item>
<el-dropdown-item :command="beforeDateStyle('H_m_s')">{{ $t('chart.H_m_s') }}</el-dropdown-item>
<el-dropdown-item :command="beforeDateStyle('y_M_d_H_m')">{{ $t('chart.y_M_d_H_m') }}</el-dropdown-item>
<el-dropdown-item :command="beforeDateStyle('y_M_d_H_m_s')">{{ $t('chart.y_M_d_H_m_s') }}</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</el-dropdown-item>
<el-dropdown-item v-show="item.deType === 1">
<el-dropdown placement="right-start" size="mini" style="width: 100%" @command="datePattern">
<span class="el-dropdown-link inner-dropdown-menu">
<span>
<i class="el-icon-timer" />
<span>{{ $t('chart.datePattern') }}</span>
<span class="summary-span">({{ $t('chart.'+item.datePattern) }})</span>
</span>
<i class="el-icon-arrow-right el-icon--right" />
</span>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item :command="beforeDatePattern('date_sub')">{{ $t('chart.date_sub') }}(1990-01-01)</el-dropdown-item>
<el-dropdown-item :command="beforeDatePattern('date_split')">{{ $t('chart.date_split') }}(1990/01/01)</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</el-dropdown-item>
<el-dropdown-item icon="el-icon-edit-outline" divided :command="beforeClickItem('rename')">
<span>{{ $t('chart.show_name_set') }}</span>
</el-dropdown-item>
@@ -91,6 +129,26 @@ export default {
type: type
}
},
dateStyle(param) {
// console.log(param)
this.item.dateStyle = param.type
this.$emit('onDimensionItemChange', this.item)
},
beforeDateStyle(type) {
return {
type: type
}
},
datePattern(param) {
// console.log(param)
this.item.datePattern = param.type
this.$emit('onDimensionItemChange', this.item)
},
beforeDatePattern(type) {
return {
type: type
}
},
editFilter() {
this.item.index = this.index
this.$emit('editItemFilter', this.item)
@@ -129,4 +187,16 @@ export default {
span {
font-size: 12px;
}
.summary-span{
margin-left: 4px;
color: #878d9f;;
}
.inner-dropdown-menu{
display: flex;
justify-content: space-between;
align-items: center;
width: 100%
}
</style>

View File

@@ -469,6 +469,12 @@ export default {
// if (!ele.summary || ele.summary === '') {
// ele.summary = 'sum'
// }
if (!ele.dateStyle || ele.dateStyle === '') {
ele.dateStyle = 'y_M_d'
}
if (!ele.datePattern || ele.datePattern === '') {
ele.datePattern = 'date_sub'
}
if (!ele.sort || ele.sort === '') {
ele.sort = 'none'
}