[성현모] 테스트리스트 조회 기능 추가

This commit is contained in:
SHM
2025-09-17 15:12:10 +09:00
parent 89fe237e52
commit bdde95386f
8 changed files with 131 additions and 77 deletions

View File

@ -7,6 +7,8 @@
@using Web.Tra.Services
@inject CPXV2LogService CPXV2LogService
@inject PopupService PopupService
@inject NavigationManager Navigation
@inject IJSRuntime JS
<RadzenStack Style="width:100%; background-color:var(--rz-primary-lighter);" class="rz-border-bottom rz-p-3" Orientation="Orientation.Horizontal" AlignItems="AlignItems.Start" JustifyContent="JustifyContent.Start">
<!--Search Block-->
@ -103,21 +105,21 @@
<RadzenStack Style="height:calc(100vh - 29rem);">
@if (tab.Key.EnumTab == EnumTabs.OverviewC1)
{
<TraGrid TDataModel="Overview" DataList="@(tab.Value.Cast<Overview>())" OnClickContextMenu="@OnClickDetailOverviewContextMenu"
<TraGrid TDataModel="Overview" DataList="@(tab.Value.Cast<Overview>())"
OnSelectRow="@OnSelectRowOverview" OnDoubleClickRow="@OnDoubleClickRowOverview" HostColumnMerge>
</TraGrid>
}
@if (tab.Key.EnumTab == EnumTabs.OverviewC1Detail)
{
<TraGrid TDataModel="Overview" DataList="@(tab.Value.Cast<Overview>())" OnClickContextMenu="@OnClickDetailOverviewContextMenu"
<TraGrid TDataModel="Overview" DataList="@(tab.Value.Cast<Overview>())"
OnSelectRow="@OnSelectRowOverview" OnDoubleClickRow="@OnDoubleClickRowDetailOverview" HostColumnMerge>
</TraGrid>
}
@if (tab.Key.EnumTab == EnumTabs.TestHistoryC1)
{
<TraGrid TDataModel="TestHistory" DataList="@(tab.Value.Cast<TestHistory>())" OnClickContextMenu="@OnClickDetailOverviewContextMenu"
<TraGrid TDataModel="TestHistory" DataList="@(tab.Value.Cast<TestHistory>())"
OnSelectRow="@OnSelectRowOverview" OnDoubleClickRow="@OnDoubleClickRowHistory" VisibleRowNo HostColumnMerge="false">
</TraGrid>
}
@ -131,12 +133,12 @@
var history = tab.Key.Parent as TestHistory;
if(history.TestResult.ToLower().Contains("ok") == true)
{
<RadzenLabel Style="width:inherit; height: 5rem; min-height:5rem; background:var(--rz-success); border: solid 2px var(--rz-grid-hover-color); overflow:auto;" class="rz-shadow-1" />
<RadzenLabel Style="width:inherit; height: 5rem; min-height:5rem; background:var(--rz-success); border: solid 2px var(--rz-grid-hover-color); overflow:auto;" class="rz-shadow-1"/>
}
else
{
<RadzenLabel Style="width:inherit; height: 5rem; min-height:5rem; background:var(--rz-danger); border: solid 2px var(--rz-grid-hover-color); overflow:auto;" class="rz-shadow-1" />
}
}
<RadzenCard Style="height: calc(100% - 5rem); overflow:hidden;" class="rz-p-0 rz-pb-2">
<RadzenStack Style="height:100%;">
@ -149,22 +151,27 @@
<RadzenStack Style="padding:1rem; color: var(--rz-grid-hover-color); overflow-y:auto;">
@foreach (var prop in history.GetType().GetProperties())
{
<RadzenStack Style="width:31rem; background-color:transparent;" class="rz-border-bottom rz-p-1 rz-pb-2" Orientation="Orientation.Horizontal">
<span style="width:12rem;">@prop.Name</span>
<span>@prop.GetValue(history)</span>
<RadzenStack Style="width:100%; background-color:transparent;" class="rz-border-bottom rz-p-1 rz-pb-2" Orientation="Orientation.Horizontal">
<span style="width:12rem; min-width:12rem; font-size: 1.3rem;">@prop.Name</span>
<span style="font-size:1.3rem; width:20rem; max-width:20rem; display:inline-block;white-space:normal;word-wrap:break-word;">@prop.GetValue(history)</span>
</RadzenStack>
}
</RadzenStack>
</RadzenStack>
</RadzenCard>
<!--display TestList-->
<RadzenButton ButtonStyle="ButtonStyle.Warning" Text="Display TestList" Click="@(() => OnClickDisplayTestList(history))"></RadzenButton>
}
</RadzenStack>
<!--TestResult-->
<RadzenStack Style="height:inherit;">
<TraGrid TDataModel="ParseTestResult" DataList="@(tab.Value.Cast<ParseTestResult>())" OnClickContextMenu="@OnClickDetailOverviewContextMenu"
HostColumnMerge="false">
@if(tab.Value?.Count > 0)
{
<TraGrid TDataModel="ParseTestResult" DataList="@(tab.Value.Cast<ParseTestResult>())"
HostColumnMerge="false">
</TraGrid>
}
</RadzenStack>
</RadzenStack>
}
@ -318,35 +325,12 @@
int tabId = Tabs.Max(x => x.Key.Id) + 1;
Tabs.AddOrUpdate(
new OrderdTab { Id = tabId, TabName = $"{EnumTabs.TestResultC1}({tabId})", EnumTab = EnumTabs.TestResultC1, Parent = row },
key => s.ParseTestResult.Cast<IDataModel>().ToList(), (key, oldValue) => s.ParseTestResult.Cast<IDataModel>().ToList());
key => s?.ParseTestResult?.Cast<IDataModel>()?.ToList(), (key, oldValue) => s?.ParseTestResult?.Cast<IDataModel>()?.ToList());
tabs.Reload();
SelectedTabIndex = Tabs.Count - 1;
}
private void OnClickDetailOverviewContextMenu()
{
// DetailOverviews = OverviewService.SearchDetailOverview(SelectedDataService.SelectedOverview);
// if (ListTabs.ContainsKey(EnumTabs.OverviewC1Detail.ToString()) == false)
// ListTabs.Add($"{EnumTabs.OverviewC1Detail.ToString()}", EnumTabs.OverviewC1Detail);
// tabs.Reload();
// SelectedTabIndex = ListTabs.Keys.ToList().IndexOf(EnumTabs.OverviewC1Detail.ToString());
}
private void OnClickHistoryContextMenu()
{
// TestHistories = OverviewService.SearchTestHistory(SelectedDataService.SelectedOverview);
// int index = ListTabs.Count(x => x.Key.Contains(EnumTabs.TestHistoryC1.ToString())) + 1;
// ListTabs.Add($"{EnumTabs.TestHistoryC1}({index})", EnumTabs.TestHistoryC1);
// tabs.Reload();
// SelectedTabIndex = ListTabs.Keys.ToList().IndexOf($"{EnumTabs.TestHistoryC1}({index})");
}
void OnClickClose(int tabId)
{
CloseTab(tabId);
@ -372,26 +356,20 @@
{
SelectedTabIndex = Tabs.Count - 1;
}
tabs.Reload();
}
async Task OnChangeMergePartNumberOption()
{
PopupService.OpenIndicator("");
// foreach(var tab in Tabs)
// {
// if (tab.Value == EnumTabs.OverviewC1)
// continue;
// CloseTab(tab.Key.ToString());
// }
await GetOverviews();
await Task.Delay(300);
PopupService.CloseIndicator();
}
async Task OnClickDisplayTestList(TestHistory history)
{
await JS.InvokeVoidAsync("open", $"/testlist/{history.ProductNo}/{history.TestCode}/{SelectionStepVersion}", "_blank");
}
}