108 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			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"`
 | |
| }
 |