123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209 |
- using AntDesign;
- using Microsoft.AspNetCore.Components;
- using System;
- using System.Collections.Generic;
- using System.Data;
- using System.Linq;
- using System.Text.Json;
- using System.Threading.Tasks;
- using wispro.sp.web.Services;
- using Blazor.ECharts.Options;
- using Blazor.ECharts.Options.Enum;
- using L = Blazor.ECharts.Options.Series.Line;
- namespace wispro.sp.web.Pages.Report
- {
- public partial class StaffStaticsReport
- {
- private int iType = 0;
- private EChartsOption<L.Line> option;
- private Blazor.ECharts.Components.ELine chart;
- internal class TJType
- {
- public string Name { get; set; }
- public int value { get; set; }
- }
- List<TJType> Types = new List<TJType>
- {
- new TJType { value = 0,Name = "人员每月绩效统计" },
- new TJType { value = 2,Name = "人员每年绩效统计" },
- new TJType { value = 1,Name = "部门每月绩效统计" },
- new TJType { value = 3,Name = "部门每年绩效统计" },
- new TJType { value = 4,Name = "人员专案绩效统计" },
- };
- share.ChartDatas Datas = new share.ChartDatas()
- {
- Title = "初始化标题",
- Datas = new List<share.ChartData>() {
- new share.ChartData(){ type ="部门一", value =1, year="2022-01", CustomerType ="", CustomerYear=""},
- new share.ChartData(){ type ="部门一",value =5, year="2022-02",CustomerType ="", CustomerYear=""},
- new share.ChartData(){ type ="部门二", value =3, year="2022-01", CustomerType ="", CustomerYear=""},
- new share.ChartData(){ type ="部门二",value =4, year="2022-02",CustomerType ="", CustomerYear=""},
- new share.ChartData(){ type ="部门三",value =2.5, year="2022-02",CustomerType ="", CustomerYear=""}
- },
- ATitle = "部门",
- BTitle = "申诉月份"
- };
- private void GetOption()
- {
-
- if (Datas != null)
- {
- List<object> series = new List<object>();
- DataTable dt = Datas.GetTableData();
- foreach (DataRow row in dt.Rows)
- {
- L.Line l = new L.Line();
- l.Name = row[0].ToString();
- List<double> data = new List<double>();
- for (int i = 1; i < dt.Columns.Count; i++)
- {
- double dTem = 0;
- if(!double.TryParse(row[i].ToString(), out dTem))
- {
- dTem = 0;
- }
- data.Add(dTem);
- }
- l.Data = data;
- series.Add(l);
- }
- option = new EChartsOption<L.Line>()
- {
- //Legend = new() {
- // Show = true,
- //},
- Toolbox = new()
- {
- Show = true,
- Feature = new()
- {
- DataView = new()
- {
- ReadOnly = false
- },
- Restore = new(),
- MagicType = new() {
- Type = new()
- {
- MagicTypeType.Bar,
- MagicTypeType.Line,
- MagicTypeType.Stack,
- MagicTypeType.Tiled,
- }
- },
- SaveAsImage = new()
- {
- PixelRatio = 2,
- Name = "保存图片"
- }
- }
- },
- Tooltip = new()
- {
- Trigger = TooltipTrigger.Item,
- Formatter = "{a} <br/>{b}: {c}"
- },
- Title = new()
- {
- Text = Datas.Title
- },
- YAxis = new()
- {
- new()
- {
- Type = AxisType.Value,
- Name = "绩效",
- Position = PositionY.Start,
- AxisLine = new()
- {
- Show = true,
- }
- }
-
- },
- XAxis = new()
- {
- new()
- {
- Type = AxisType.Category,
- Data = Datas.GetYear(),
- Name = Datas.BTitle,
- NameLocation = Location.Middle,
- AxisLabel = new()
- {
- Show = true
- },
-
- }
- },
- Series = series
- };
- }
- }
- [Inject] ReportService reportService { get; set; }
- [Inject] MessageService msgService { get; set; }
- private bool _noIconLoading;
- private async Task OnButtonClick()
- {
- //option = null;
- await GetChartDatas();
-
- Console.WriteLine(chart.OptionRaw);
- }
- private async Task OnButtonClick_1()
- {
- Console.WriteLine(System.Text.Json.JsonSerializer.Serialize(option, new JsonSerializerOptions()
- {
- DefaultIgnoreCondition = System.Text.Json.Serialization.JsonIgnoreCondition.WhenWritingNull
- }));
- await msgService.Success(chart.OptionRaw);
- }
- private async Task GetChartDatas()
- {
- _noIconLoading = true;
- Datas = await reportService.GetStaticReportData(iType);
- GetOption();
- StateHasChanged();
- _noIconLoading = false;
- }
- [Inject] protected IAuthService _authService { get; set; }
- protected async override Task OnInitializedAsync()
- {
- await _authService.CanVisitResource();
- await GetChartDatas();
- await base.OnInitializedAsync();
- }
- private EchartsEventArgs callbackArgs;
- private List<EventType> EventTypes = new List<EventType> { EventType.click };
- private void OnEchartsEvent(EchartsEventArgs args)
- {
- msgService.Info($"您点击了:[{args.SeriesName},{args.Name}]!");
- callbackArgs = args;
- }
- }
- }
|