@using Entities.DTO
@using Entities.Contracts
@using Newtonsoft.Json
@using TechHelper.Client.Exam
@using TechHelper.Client.Pages.Exam.QuestionCard
@* @AssignmentQuestion.Id *@
包裹器属性
@AssignmentStructType.Root
@AssignmentStructType.Struct
@AssignmentStructType.Group
@AssignmentStructType.Question
@AssignmentStructType.SubQuestion
@AssignmentStructType.Option
@foreach (var item in QuestionTypes)
{
var qt = item;
@* Style = "@($"background - color:{ item.Value.Color} ")"*@
@item.Value.DisplayName
}
@if (AssignmentQuestion.Question != null)
{
}
@code {
[Parameter]
public AssignmentQuestionDto AssignmentQuestion { get; set; } = new AssignmentQuestionDto();
public QuestionDto TempQuesdto;
Dictionary QuestionTypes = new Dictionary();
[Inject]
private ILocalStorageService LocalStorageService { get; set; }
protected override void OnInitialized()
{
base.OnInitialized();
if (AssignmentQuestion.Question != null)
{
TempQuesdto = AssignmentQuestion.Question;
}
var cs = LocalStorageService.GetItem("GlobalInfo");
var GlobalInfo = JsonConvert.DeserializeObject>(cs);
if(GlobalInfo != null)
{
QuestionTypes = GlobalInfo;
}
}
private void HandleQTSelectedValueChanged(string type)
{
AssignmentQuestion.QType = type;
if (AssignmentQuestion.ChildrenAssignmentQuestion.Count > 0 && AssignmentQuestion.StructType == AssignmentStructType.Group)
{
foreach (var item in AssignmentQuestion.ChildrenAssignmentQuestion)
{
item.QType = type;
if (item.Question != null)
{
item.Question.QType = type;
}
}
}
StateHasChanged();
}
private void HandleSelectedValueChanged(AssignmentStructType type)
{
AssignmentQuestion.StructType = type;
if (type != AssignmentStructType.Question && AssignmentQuestion.Question != null)
{
AssignmentQuestion.Title = AssignmentQuestion.Question.Title;
AssignmentQuestion.Question = null;
}
if (type == AssignmentStructType.Question && AssignmentQuestion.Question == null)
{
if (TempQuesdto != null)
{
AssignmentQuestion.Question = TempQuesdto;
if (AssignmentQuestion.Title == AssignmentQuestion.Question.Title)
{
AssignmentQuestion.Title = "";
}
}
else
AssignmentQuestion.Question = new QuestionDto { };
}
StateHasChanged();
}
}