change
This commit is contained in:
@@ -2,85 +2,138 @@
|
||||
@using Blazored.TextEditor
|
||||
@using System.Text.RegularExpressions
|
||||
@using TechHelper.Client.Pages.Exam
|
||||
<MudPaper Class="d-flex flex-column flex-grow-1">
|
||||
<MudPaper class="d-flex flex-grow-0 flex-column">
|
||||
<MudPaper Class="d-flex flex-column flex-grow-1 pa-4" Elevation="0" Style="background-color:#ffffff55">
|
||||
|
||||
@if (@lode == true)
|
||||
{
|
||||
<MudStack Row="true">
|
||||
<MudProgressLinear Color="Color.Primary" Indeterminate="true" />
|
||||
</MudStack>
|
||||
<MudPaper Class="d-flex flex-column flex-grow-0 mb-4" Elevation="1" Style="background-color:#FFFFFF22">
|
||||
|
||||
}
|
||||
<MudButtonGroup Color="Color.Primary" Variant="Variant.Filled">
|
||||
<MudButton OnClick="GetHTML">One</MudButton>
|
||||
<MudButton OnClick="ParseQuestions">ParseQuestions</MudButton>
|
||||
<MudButton OnClick="ParseXML">ParseXML</MudButton>
|
||||
<MudButton OnClick="ParseWithAI">ParseWithAI</MudButton>
|
||||
<MudButton OnClick="ReCorrectXMLAsync">ReCorrectXML</MudButton>
|
||||
<MudButton OnClick="ReCorrectXMLAsync">AplyAIResult</MudButton>
|
||||
<MudButton OnClick="ReCorrectXMLAsync">Save</MudButton>
|
||||
<MudButton OnClick="ReCorrectXMLAsync">Public</MudButton>
|
||||
<MudButton OnClick="CopyToClipboard">Copy</MudButton>
|
||||
</MudButtonGroup>
|
||||
<MudPaper Class="d-flex flex-row flex-grow-0 justify-content-between mb-4" Elevation="1" Style="background-color:#FFFFFF22">
|
||||
<MudButtonGroup Variant="Variant.Filled" OverrideStyles="true" Class="pa-2">
|
||||
<MudButton OnClick="TriggerFullAIParsingProcessAsync" Disabled="@_isProcessing"
|
||||
Style="background-color: var(--mud-palette-primary); color: white;">
|
||||
@if (_isProcessing)
|
||||
{
|
||||
<MudProgressCircular Indeterminate="true" Size="Size.Small" Class="mr-2" />
|
||||
}
|
||||
**全自动流程 (AI)**
|
||||
</MudButton>
|
||||
<MudButton Variant="Variant.Outlined" Color="Color.Secondary" OnClick="GetEditorTextContentAsync" Disabled="@_isProcessing">
|
||||
获取编辑器HTML
|
||||
</MudButton>
|
||||
|
||||
<MudButton Variant="Variant.Outlined" Color="Color.Secondary" OnClick="DivideExamContentByAIAsync" Disabled="@_isProcessing">
|
||||
AI 分割题组 (仅文本)
|
||||
</MudButton>
|
||||
|
||||
<MudButton Variant="Variant.Outlined" Color="Color.Secondary" OnClick="ConvertDividedXmlToQuestionList" Disabled="@_isProcessing">
|
||||
转换为题组列表
|
||||
</MudButton>
|
||||
|
||||
<MudButton Variant="Variant.Outlined" Color="Color.Secondary" OnClick="ParseEachQuestionGroupAsync" Disabled="@_isProcessing">
|
||||
AI 解析每个题组 (仅文本)
|
||||
</MudButton>
|
||||
|
||||
<MudButton Variant="Variant.Outlined" Color="Color.Secondary" OnClick="ConvertParsedXmlsToQuestionGroups" Disabled="@_isProcessing">
|
||||
转换为题组对象
|
||||
</MudButton>
|
||||
|
||||
<MudButton Variant="Variant.Outlined" Color="Color.Tertiary" OnClick="CopyToClipboard" Disabled="@_isProcessing">
|
||||
复制当前结果
|
||||
</MudButton>
|
||||
|
||||
|
||||
</MudButtonGroup>
|
||||
|
||||
<MudButtonGroup Variant="Variant.Filled" OverrideStyles="true" Class="pa-2">
|
||||
<MudButton Variant="Variant.Outlined" Color="Color.Info" Disabled="@_isProcessing">
|
||||
保存
|
||||
</MudButton>
|
||||
<MudButton Variant="Variant.Outlined" Color="Color.Success" Disabled="@_isProcessing">
|
||||
发布
|
||||
</MudButton>
|
||||
</MudButtonGroup>
|
||||
</MudPaper>
|
||||
<MudPaper Style="background-color:#FFFFFF22">
|
||||
<MudText Typo="Typo.body2" Class="mt-2 ml-2">**当前状态:** @_processingStatusMessage</MudText>
|
||||
</MudPaper>
|
||||
</MudPaper>
|
||||
<MudPaper Class="d-flex flex-row flex-grow-1 overflow-hidden">
|
||||
|
||||
<MudPaper Class="d-flex flex-row flex-grow-1 overflow-hidden" Elevation="0" Style="background-color:#FFFFFF77">
|
||||
|
||||
<MudPaper Class="d-flex flex-column flex-grow-1 mr-4" Style="min-width: 400px; max-width: 70%;background-color:#FFFFFFaa" Elevation="2">
|
||||
<MudTabs Elevation="0" Rounded="true" PanelClass="pa-4 flex-grow-1 justify-content-around overflow-auto" Style="background-color:#FFFFFF11"
|
||||
Class="flex-grow-1 d-flex flex-column overflow-auto">
|
||||
|
||||
<MudPaper Width="33%" Class="d-flex flex-column flex-grow-1 overflow-auto">
|
||||
<MudTabPanel Text="编辑器内容" Icon="@Icons.Material.Filled.Edit" Style="background-color:#FFFFFF11">
|
||||
|
||||
<MudText Typo="Typo.h6">编辑器原始HTML/文本内容:</MudText>
|
||||
<MudTextField T="string" @bind-value="@_editorHtmlContent" MaxLines="20" Variant="Variant.Outlined" AutoGrow="true" />
|
||||
</MudTabPanel>
|
||||
|
||||
<MudTabPanel Text="分割XML" Icon="@Icons.Material.Filled.Code">
|
||||
<MudText Typo="Typo.h6">AI 分割后的原始XML内容:</MudText>
|
||||
<MudTextField T="string" @bind-value="@_rawDividedExamXmlContent" MaxLines="20" Variant="Variant.Outlined" AutoGrow="true" />
|
||||
|
||||
</MudTabPanel>
|
||||
|
||||
@if (QuestionS != null && QuestionS.Any())
|
||||
{
|
||||
@foreach (var item in QuestionS)
|
||||
{
|
||||
<QuestionGroupDisplay QuestionGroup="item" IsNested="false" />
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
<MudText Typo="Typo.body1">暂无试题内容。</MudText>
|
||||
}
|
||||
<MudTabPanel Text="题组列表" Icon="@Icons.Material.Filled.List">
|
||||
@if (_dividedQuestionGroupList != null && _dividedQuestionGroupList.Items.Any())
|
||||
{
|
||||
<MudText Typo="Typo.h6">转换为题组列表 (StringsList):</MudText>
|
||||
@foreach (var item in _dividedQuestionGroupList.Items)
|
||||
{
|
||||
<MudTextField T="string" Value="@item" MaxLines="5" Variant="Variant.Outlined" Class="mb-2" AutoGrow="true" />
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
<MudText Typo="Typo.body1">将分割XML转换为题组列表 (StringsList) 后将显示在此处。</MudText>
|
||||
}
|
||||
</MudTabPanel>
|
||||
|
||||
@* Tab 4: 每个题组的原始 XML (Raw Parsed XMLs) *@
|
||||
<MudTabPanel Text="解析XML" Icon="@Icons.Material.Filled.Article">
|
||||
<ChildContent>
|
||||
<MudText Typo="Typo.h6">AI 解析的每个题组原始XML内容:</MudText>
|
||||
@for (int i = 0; i < _rawParsedQuestionXmls.Count; i++)
|
||||
{
|
||||
int index = i; // 捕获迭代变量
|
||||
<MudCard Class="mb-3" Style="background-color:#ffffff88">
|
||||
<MudCardHeader>
|
||||
<MudCardActions>
|
||||
<MudButton Variant="Variant.Filled" Color="Color.Primary" OnClick="(() => DeleteFromParse(index))">删除</MudButton>
|
||||
</MudCardActions>
|
||||
</MudCardHeader>
|
||||
<MudCardContent>
|
||||
<MudTextField Class="ma-0" AutoGrow="true" @bind-Value="_rawParsedQuestionXmls[index]" Variant="Variant.Outlined" />
|
||||
</MudCardContent>
|
||||
</MudCard>
|
||||
}
|
||||
|
||||
</ChildContent>
|
||||
</MudTabPanel>
|
||||
|
||||
@* Tab 5: 最终的 QuestionGroup 对象 *@
|
||||
<MudTabPanel Text="最终结果" Icon="@Icons.Material.Filled.Check">
|
||||
@if (_finalQuestionGroups != null && _finalQuestionGroups.Any())
|
||||
{
|
||||
<MudText Typo="Typo.h6">最终解析的题组对象:</MudText>
|
||||
@foreach (var item in _finalQuestionGroups)
|
||||
{
|
||||
<QuestionGroupDisplay QuestionGroup="item" IsNested="false" />
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
<MudText Typo="Typo.body1">最终解析为 QuestionGroup 对象的试题内容将显示在此处。</MudText>
|
||||
}
|
||||
</MudTabPanel>
|
||||
|
||||
</MudTabs>
|
||||
</MudPaper>
|
||||
|
||||
|
||||
|
||||
<MudPaper Width="33%" Class="d-flex flex-column flex-grow-1 justify-content-between overflow-auto">
|
||||
<MudText Typo="Typo.body1">@ProgStatues</MudText>
|
||||
|
||||
@for (int i = 0; i < ParseResult.Count; i++)
|
||||
{
|
||||
int index = i;
|
||||
<MudCard Style="background-color:#ffffff88">
|
||||
<MudCardHeader>
|
||||
<MudCardActions>
|
||||
<MudButton Variant="Variant.Filled" Color ="Color.Primary" OnClick="(()=>DeleteFromParse(index))"> Delete </MudButton>
|
||||
</MudCardActions>
|
||||
</MudCardHeader>
|
||||
<MudCardContent>
|
||||
|
||||
<MudTextField Class="ma-3" AutoGrow="true" @bind-Value="ParseResult[index]"></MudTextField>
|
||||
</MudCardContent>
|
||||
</MudCard>
|
||||
}
|
||||
<MudText>@Error</MudText>
|
||||
</MudPaper>
|
||||
|
||||
|
||||
|
||||
<MudPaper Width="33%" Class="d-flex flex-column flex-grow-1 overflow-auto">
|
||||
|
||||
|
||||
|
||||
<BlazoredTextEditor @ref="@QuillHtml">
|
||||
<ToolbarContent>
|
||||
<MudPaper Class="d-flex flex-column flex-grow-1" Style="min-width: 200px; max-width: 30%; background-color:#FFFFFF77;" Elevation="2">
|
||||
<BlazoredTextEditor @ref="@_quillHtmlEditor" EditorCssStyle="height: 93%;" >
|
||||
<ToolbarContent >
|
||||
<select class="ql-header">
|
||||
<option selected=""></option>
|
||||
<option value="1"></option>
|
||||
@@ -107,17 +160,10 @@
|
||||
<button class="ql-link"></button>
|
||||
</span>
|
||||
</ToolbarContent>
|
||||
|
||||
<EditorContent>
|
||||
<EditorContent >
|
||||
</EditorContent>
|
||||
</BlazoredTextEditor>
|
||||
|
||||
</MudPaper>
|
||||
|
||||
|
||||
|
||||
</MudPaper>
|
||||
|
||||
|
||||
|
||||
</MudPaper>
|
Reference in New Issue
Block a user