重构作业结构:优化实体模型、DTO映射和前端界面
Some checks failed
TechAct / explore-gitea-actions (push) Failing after 13s

- 重构AppMainStruct、AssignmentQuestion、Question等实体模型
- 更新相关DTO以匹配新的数据结构
- 优化前端页面布局和组件
- 添加全局信息和笔记功能相关代码
- 更新数据库迁移和程序配置
This commit is contained in:
SpecialX
2025-09-04 15:43:33 +08:00
parent 730b0ba04b
commit 6a65281850
58 changed files with 5459 additions and 244 deletions

View File

@@ -1,104 +1,26 @@

@using TechHelper.Client.Pages.Common.Exam;
@using TechHelper.Client.Pages.Student.BaseInfoCard;
@using TechHelper.Client.Pages.Common;
<MudPaper Class="w-100 h-100 d-flex flex-row">
<MudPaper Class="flex-grow-1 mx-2 d-flex flex-column">
<AssignmentInfoCard></AssignmentInfoCard>
<MudPaper Class="d-flex flex-row">
<NotifyCard></NotifyCard>
<HomeworkCard></HomeworkCard>
<NotifyCard></NotifyCard>
<HomeworkCard></HomeworkCard>
</MudPaper>
<StudentSubmissionPreviewTableCard></StudentSubmissionPreviewTableCard>
</MudPaper>
<MudPaper Width="300px" Class="mx-2 align-content-center d-flex flex-column flex-grow-1">
<HeadIconCard></HeadIconCard>
<TotalErrorQuestionType></TotalErrorQuestionType>
<MudPaper Class="flex-grow-1 w-100 h-100 ma-auto">
<MudGrid Class="w-100 h-100">
<MudItem xs="12" sm="4">
<MudPaper Style="background-color:transparent" Class="w-100 justify-content-center">
<MudChart ChartType="ChartType.Donut" Width="200px" Height="200px" InputData="@data" InputLabels="@labels" Class="ma-auto">
<CustomGraphics>
<text class="donut-inner-text" x="50%" y="35%" dominant-baseline="middle" text-anchor="middle" fill="black" font-family="Helvetica" font-size="20">Total</text>
<text class="donut-inner-text" x="50%" y="50%" dominant-baseline="middle" text-anchor="middle" fill="black" font-family="Helvetica" font-size="50">@data.Sum().ToString()</text>
</CustomGraphics>
</MudChart>
</MudPaper>
<MudPaper Style="background-color:transparent" Class="w-100 pa-5">
<TechHelper.Client.Pages.Common.SimpleCard Style="background-color:#ff4081">
<BodyContent>
<MudText>BodyContent</MudText>
</BodyContent>
<TitleContent>
<MudText>TitleContent</MudText>
</TitleContent>
<FooterContent>
<MudText>FooterContent</MudText>
</FooterContent>
</TechHelper.Client.Pages.Common.SimpleCard>
<TechHelper.Client.Pages.Common.SimpleCard Style="background-color:#1ec8a5">
<BodyContent>
<MudText>BodyContent</MudText>
</BodyContent>
<TitleContent>
<MudText>TitleContent</MudText>
</TitleContent>
<FooterContent>
<MudText>FooterContent</MudText>
</FooterContent>
</TechHelper.Client.Pages.Common.SimpleCard>
<TechHelper.Client.Pages.Common.SimpleCard Style="background-color:#4680ff">
<TitleContent>
<MudText Typo="Typo.body1">TitleContent</MudText>
</TitleContent>
<BodyContent>
<MudText Typo="Typo.button"><b>BodyContent</b></MudText>
</BodyContent>
<FooterContent>
<MudText Typo="Typo.body2">leran about this curson</MudText>
</FooterContent>
</TechHelper.Client.Pages.Common.SimpleCard>
</MudPaper>
</MudItem>
<MudItem xs="12" sm="8">
<MudPaper Style="background-color:transparent" Class="w-100 h-100">
<TechHelper.Client.Pages.Common.SimpleCard Style="background-color:#c2bef8" Height="350px">
<TitleContent>
<MudText Typo="Typo.button"><b>Visits Summary:</b></MudText>
</TitleContent>
<BodyContent>
<MudChart ChartType="ChartType.Line" LegendPosition="Position.Left" Class="pt-55" ChartSeries="@Series" XAxisLabels="@XAxisLabels" Height="110%" Width="100%" AxisChartOptions="_axisChartOptions" ChartOptions="options"></MudChart>
</BodyContent>
<FooterContent>
<MudText Typo="Typo.body2">leran about this curson</MudText>
</FooterContent>
</TechHelper.Client.Pages.Common.SimpleCard>
@* <TechHelper.Client.Pages.Common.SimpleCard Style="background-color:#c2bef8" Height="100%">
<TitleContent>
<MudText Typo="Typo.button"><b>Visits Summary:</b></MudText>
</TitleContent>
<BodyContent>
<MudDataGrid Items="@Elements" Filterable="true" FilterMode="@_filterMode" FilterCaseSensitivity="@_caseSensitivity">
<Columns>
<PropertyColumn Property="x => x.Number" Title="Nr" Filterable="false" />
<PropertyColumn Property="x => x.Sign" />
<PropertyColumn Property="x => x.Name" />
<PropertyColumn Property="x => x.Position" Filterable="false" />
<PropertyColumn Property="x => x.Molar" Title="Molar mass" />
<PropertyColumn Property="x => x.Group" Title="Category" />
</Columns>
<PagerContent>
<MudDataGridPager T="Element" />
</PagerContent>
</MudDataGrid>
</BodyContent>
<FooterContent>
<MudText Typo="Typo.body2">leran about this curson</MudText>
</FooterContent>
</TechHelper.Client.Pages.Common.SimpleCard> *@
</MudPaper>
</MudItem>
</MudGrid>
</MudPaper>
</MudPaper>
@code {
public double[] data = { 25, 77, 28, 5 };
public string[] labels = { "Oil", "Coal", "Gas", "Biomass" };