This commit is contained in:
etoai 2025-05-19 18:45:13 +08:00
parent 4339fbfe40
commit 03dbaad1b8
8 changed files with 52 additions and 37 deletions

View File

@ -89,6 +89,13 @@
</exclusion>
</exclusions>
</dependency>
<!-- 热部署 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
</dependencies>
<profiles>

View File

@ -18,6 +18,7 @@ public class PieHandler extends YoyChartHandler {
chartHandlerManager.registerChartHandler(this.getRender(), "pie-rose", this);
chartHandlerManager.registerChartHandler(this.getRender(), "pie-donut", this);
chartHandlerManager.registerChartHandler(this.getRender(), "pie-donut-rose", this);
chartHandlerManager.registerChartHandler(this.getRender(), "donut", this); // 添加这行
}
@Override

View File

@ -13,6 +13,7 @@ export default {
rewrite: path => path.replace(/^\/api/, 'de2api')
}
},
port: 8080
port: 8080,
hmr: { overlay: false }
}
}

View File

@ -15,6 +15,7 @@ module.exports = {
// 单个参数的箭头函数不加括号 x => x
arrowParens: 'avoid',
// 对象大括号内两边是否加空格 { a:0 }
bracketSpacing: true,
bracketSpacing: true,
endOfLine: "auto",
}

View File

@ -1460,6 +1460,13 @@ export const CHART_TYPE_CONFIGS = [
title: t('chart.chart_pie_donut'),
icon: 'pie-donut'
},
{
render: 'antv',
category: 'distribute',
value: 'donut',
title: t('chart.chart_donut'),
icon: 'pie-donut'
},
{
render: 'antv',
category: 'distribute',

View File

@ -0,0 +1,25 @@
import { Pie } from './pie'
import type { PieOptions } from '@antv/g2plot/esm/plots/pie'
import { parseJson } from '@/views/chart/components/js/util'
import type { Chart } from '@/views/chart/components/js/panel/types/chart'
export class Donut extends Pie {
propertyInner = {
...super.propertyInner,
'basic-style-selector': ['colors', 'alpha', 'radius', 'innerRadius', 'topN', 'seriesColor']
}
protected configBasicStyle(chart: Chart, options: PieOptions): PieOptions {
const tmp = super.configBasicStyle(chart, options)
const { basicStyle } = parseJson(chart.customAttr)
return {
...tmp,
radius: basicStyle.radius / 100,
innerRadius: basicStyle.innerRadius / 100
}
}
constructor() {
super('donut')
}
}

View File

@ -1,35 +0,0 @@
import * as echarts from 'echarts'
export class EchartsPie {
properties = PIE_EDITOR_PROPERTY
propertyInner = {
...PIE_EDITOR_PROPERTY_INNER,
'basic-style-selector': ['colors', 'alpha', 'radius', 'topN', 'seriesColor'],
'tooltip-selector': [...PIE_EDITOR_PROPERTY_INNER['tooltip-selector'], 'carousel']
}
async drawChart(drawOptions) {
const { container, data } = drawOptions
const chart = echarts.init(container)
const pieOptions = {
series: [
{
type: 'pie',
data: data,
radius: ['0%', '75%'],
label: {
show: true,
formatter: '{b}: {c} ({d}%)'
}
}
],
tooltip: {
trigger: 'item',
formatter: '{a} <br/>{b}: {c} ({d}%)'
}
}
chart.setOption(pieOptions)
return chart
}
}

View File

@ -0,0 +1,8 @@
{
"folders": [
{
"path": "."
}
],
"settings": {}
}