2025-03-21 11:05:42 +08:00

108 lines
3.2 KiB
Go

package view
type DashboardProject struct {
ProjectIncome float64 `json:"project_income"` // 项目收入
ProjectExpense float64 `json:"project_expense"` // 项目支出
ProjectProfit float64 `json:"project_profit"` // 项目利润
ProjectProfitRate string `json:"project_profit_rate"` // 项目利润率
IncomeExpenseEcharts EchartsOption `json:"income_expense_echarts"` // 收支图表
IncomeEcharts EchartsOption `json:"income_echarts"` // 收入图表
ExpenseEcharts EchartsOption `json:"expense_echarts"` // 支出图表
}
type EchartsOption struct {
Title Title `json:"title"`
Color []string `json:"color"`
ToolTip ToolTip `json:"tooltip"`
Grid Grid `json:"grid"`
Legend Legend `json:"legend"`
XAxis []XAxis `json:"xAxis"`
YAxis []YAxis `json:"yAxis"`
BarMaxWidth string `json:"barMaxWidth"`
Label Label `json:"label"`
Series []Series `json:"series"`
}
type Series struct {
Name string `json:"name,omitempty"`
Type string `json:"type,omitempty"`
Data any `json:"data,omitempty"`
ItemStyle ItemStyle `json:"itemStyle,omitempty"`
Radius string `json:"radius,omitempty"`
Label Label `json:"label,omitempty"`
}
type ItemStyle struct {
Normal Normal `json:"normal,omitempty"`
}
type Normal struct {
Color string `json:"color,omitempty"`
}
type Title struct {
Text string `json:"text,omitempty"`
Orient string `json:"orient,omitempty"`
Left string `json:"left,omitempty"`
Top int `json:"top,omitempty"`
FontSize int `json:"fontSize,omitempty"`
TextStyle TextStyle `json:"textStyle,omitempty"`
}
type TextStyle struct {
Color string `json:"color,omitempty"`
FontWeight string `json:"fontWeight,omitempty"`
}
type ToolTip struct {
Trigger string `json:"trigger,omitempty"`
AxisPointer AxisPointer `json:"axisPointer,omitempty"`
}
type AxisPointer struct {
Type string `json:"type,omitempty"`
}
type Grid struct {
Left string `json:"left,omitempty"`
Right string `json:"right,omitempty"`
Bottom string `json:"bottom,omitempty"`
ContainLabel bool `json:"containLabel,omitempty"`
}
type Legend struct {
Left string `json:"left,omitempty"`
Top string `json:"top,omitempty"`
Data []string `json:"data,omitempty"`
}
type XAxis struct {
Type string `json:"type,omitempty"`
Data []string `json:"data,omitempty"`
AxisTick AxisTick `json:"axisTick,omitempty"`
}
type AxisTick struct {
AlignWithLabel bool `json:"alignWithLabel,omitempty"`
}
type YAxis struct {
Name string `json:"name,omitempty"`
Type string `json:"type,omitempty"`
}
type Label struct {
Show bool `json:"show,omitempty"`
Position string `json:"position,omitempty"`
TextStyle TextStyle `json:"textStyle,omitempty"`
Normal LableNormal `json:"normal,omitempty"`
}
type LableNormal struct {
Formatter string `json:"formatter,omitempty"`
TextStyle TextStyle `json:"textStyle,omitempty"`
}
type DataItem struct {
Name string `json:"name,omitempty"`
Value float64 `json:"value,omitempty"`
}