feat(图表): 增加日期解析格式

This commit is contained in:
junjun
2025-03-14 11:24:30 +08:00
committed by xuwei-fit2cloud
parent bb0b2b63eb
commit d52c755bcf
7 changed files with 62 additions and 0 deletions

View File

@@ -356,6 +356,7 @@ public class ChartViewManege {
BeanUtils.copyBean(dto, ele);
dto.setDateStyle("y_M_d");
dto.setDatePattern("date_sub");
dto.setDateShowFormat("y_M_d");
dto.setChartType("bar");
if (dto.getId() == -1L || dto.getDeType() == 0 || dto.getDeType() == 1 || dto.getDeType() == 7) {

View File

@@ -161,6 +161,8 @@ public class Utils {
return "MM" + split + "dd";
case "H_m_s":
return "HH:mm:ss";
case "y_M_d_H":
return "yyyy" + split + "MM" + split + "dd" + " HH";
case "y_M_d_H_m":
return "yyyy" + split + "MM" + split + "dd" + " HH:mm";
case "y_M_d_H_m_s":

View File

@@ -1441,7 +1441,12 @@ export default {
y_W: 'Year Week',
y_M_d: 'Year Month Day',
M_d: 'Month Day',
M: 'Month',
d: 'Day',
H: 'Hours',
H_m: 'Hours Minutes',
H_m_s: 'Hours Minutes Seconds',
y_M_d_H: 'Year Month Day Hours',
y_M_d_H_m: 'Year Month Day Hours Minutes',
y_M_d_H_m_s: 'Year Month Day Hours Minutes Seconds',
date_sub: 'yyyy-MM-dd',

View File

@@ -1406,7 +1406,12 @@ export default {
y_W: '年周',
y_M_d: '年月日',
M_d: '月日',
M: '月',
d: '日',
H: '時',
H_m: '時分',
H_m_s: '時分秒',
y_M_d_H: '年月日時',
y_M_d_H_m: '年月日時分',
y_M_d_H_m_s: '年月日時分秒',
date_sub: 'yyyy-MM-dd',

View File

@@ -1411,7 +1411,12 @@ export default {
y_W: '年周',
y_M_d: '年月日',
M_d: '月日',
M: '月',
d: '日',
H: '时',
H_m: '时分',
H_m_s: '时分秒',
y_M_d_H: '年月日时',
y_M_d_H_m: '年月日时分',
y_M_d_H_m_s: '年月日时分秒',
date_sub: 'yyyy-MM-dd',

View File

@@ -212,6 +212,20 @@ const toggleHide = () => {
const showHideIcon = computed(() => {
return ['table-info', 'table-normal'].includes(props.chart.type) && item.value.hide
})
const dateShowFormatConfig = [
{ name: t('chart.y'), value: 'y', noSplit: true },
{ name: t('chart.y_M'), value: 'y_M', noSplit: false },
{ name: t('chart.y_M_d'), value: 'y_M_d', noSplit: false },
{ name: t('chart.M'), value: 'M', noSplit: true },
{ name: t('chart.M_d'), value: 'M_d', noSplit: false },
{ name: t('chart.d'), value: 'd', noSplit: true },
{ name: t('chart.y_M_d_H'), value: 'y_M_d_H', noSplit: false },
{ name: t('chart.y_M_d_H_m'), value: 'y_M_d_H_m', noSplit: false },
{ name: t('chart.y_M_d_H_m_s'), value: 'y_M_d_H_m_s', noSplit: false },
{ name: t('chart.H'), value: 'H', noSplit: true },
{ name: t('chart.H_m'), value: 'H_m', noSplit: true },
{ name: t('chart.H_m_s'), value: 'H_m_s', noSplit: true }
]
onMounted(() => {
getItemTagType()
})
@@ -531,6 +545,25 @@ onMounted(() => {
</el-icon>
</span>
</el-dropdown-item>
<el-dropdown-item
class="menu-item-padding"
:command="beforeDateStyle('y_M_d_H')"
:divided="
chart.type.includes('bar-range') && ['quota', 'quotaExt'].includes(type)
"
>
<span
class="sub-menu-content"
:class="'y_M_d_H' === item.dateStyle ? 'content-active' : ''"
>
{{ t('chart.y_M_d_H') }}
<el-icon class="sub-menu-content--icon">
<Icon name="icon_done_outlined" v-if="'y_M_d_H' === item.dateStyle"
><icon_done_outlined class="svg-icon"
/></Icon>
</el-icon>
</span>
</el-dropdown-item>
<el-dropdown-item
class="menu-item-padding"
:command="beforeDateStyle('y_M_d_H_m')"

View File

@@ -15,10 +15,21 @@ public class ChartViewFieldBaseDTO extends DatasetTableFieldDTO implements Seria
private String sort;
/**
* 日期解析格式,后端参与聚合运算
*/
private String dateStyle;
/**
* 日期分隔符
*/
private String datePattern;
/**
* 日期显示格式,仅前端图表格式化
*/
private String dateShowFormat;
private Integer extField;
private String chartType;