@using Entities.DTO
@using TechHelper.Client.Services
BETA版本
@StudentSubmissionDetail.AverageScore
总数:
@StudentSubmissionDetail.TotalQuestions
总分:
150
排名:
@StudentSubmissionDetail.TotalRank
平均:
@StudentSubmissionDetail.ClassAverageScore
成绩的整体分布情况
类型分布
课时分布
@* 成绩趋势
分值区间
Success
Warning
Error
Dark *@
@code {
private AxisChartOptions _axisChartOptions = new AxisChartOptions
{
};
private ChartOptions options = new ChartOptions
{
InterpolationOption = InterpolationOption.NaturalSpline,
YAxisFormat = "c2",
ShowLegend = false,
YAxisLines = false,
XAxisLines = false,
XAxisLabelPosition = XAxisLabelPosition.None,
YAxisLabelPosition = YAxisLabelPosition.None,
YAxisTicks = 100,
ShowLabels = false,
ShowLegendLabels = false
};
public List Series = new List()
{
new ChartSeries() { Name = "类型错误数量分布", Data = new double[] { 35, 41, 35, 51, 49, 62, 69, 91, 148 } },
};
public string[] XAxisLabels = { "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep" };
Random random = new Random();
protected override void OnInitialized()
{
options.InterpolationOption = InterpolationOption.NaturalSpline;
options.YAxisFormat = "c2";
options.ShowLegend = false;
options.YAxisLines = false;
options.XAxisLines = false;
options.XAxisLabelPosition = XAxisLabelPosition.None;
options.YAxisLabelPosition = YAxisLabelPosition.None;
options.ShowLabels = false;
options.ShowLegendLabels = false;
options.LineStrokeWidth = 1;
_axisChartOptions.MatchBoundsToSize = true;
Series[0].LineDisplayType = LineDisplayType.Area;
}
[Parameter]
public Guid SubmissionID { get; set; } = Guid.Empty;
private StudentSubmissionDetailDto StudentSubmissionDetail { get; set; } = new StudentSubmissionDetailDto();
private IReadOnlyCollection _selected;
#pragma warning restore 1998
#nullable restore
#line (82, 8) - (143, 1) "D:\AllWX\AllC\TechHelper\TechHelper.Client\Pages\Common\Exam\SubmissionInfoCard.razor"
[Inject]
public IStudentSubmissionDetailService StudentSubmissionDetailService { get; set; }
[Inject]
public ISnackbar Snackbar { get; set; }
protected override async Task OnInitializedAsync()
{
if (SubmissionID != Guid.Empty)
{
StudentSubmissionDetailDto result;
try
{
result = await StudentSubmissionDetailService.GetSubmissionDetailAsync(SubmissionID);
if (result != null)
{
StudentSubmissionDetail = result;
XAxisLabels = result.ErrorTypeDistribution.Keys.ToArray();
Series.Clear();
Series.Add(new ChartSeries
{
Name = "类型错误数量分布",
Data = result.ErrorTypeDistribution.Values.Select(d => (double)d).ToArray()
});
Series.Add(new ChartSeries
{
Name = "类型错误成绩分布",
Data = result.ErrorTypeScoreDistribution.Values.Select(d => (double)d).ToArray()
});
}
}
catch (Exception ex)
{
Snackbar.Add($"获取提交错误, 请重试, {ex.Message}", Severity.Warning);
}
}
}
private void HandleSelectedValuesChanged(IReadOnlyCollection selected)
{
Series.ForEach(x => x.Visible = false);
foreach (var item in selected)
{
var sv = Series.FirstOrDefault(predicate: x => x.Name == item);
if (sv != null)
{
sv.Visible = true;
}
}
}
}