Ready to Test
This commit is contained in:
92
Archive/Views/Export/Index.cshtml
Normal file
92
Archive/Views/Export/Index.cshtml
Normal file
@ -0,0 +1,92 @@
|
||||
@using OI.Metrology.Shared.ViewModels
|
||||
@model OI.Metrology.Shared.ViewModels.Export
|
||||
@{
|
||||
ViewData["Title"] = "Export Data";
|
||||
}
|
||||
|
||||
<style>
|
||||
td {
|
||||
padding-bottom: 2em;
|
||||
padding-right: 1em;
|
||||
}
|
||||
</style>
|
||||
|
||||
<h3>Export Data</h3>
|
||||
|
||||
<hr />
|
||||
|
||||
<form asp-controller="Export" asp-action="ExportData" method="post" class="form-inline">
|
||||
<div class="form-group">
|
||||
<label for="ToolType">Tool Type</label>
|
||||
<div class="form-control" id="ToolType"></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="StartDate">Start Time</label>
|
||||
<div class="form-control mb-2 mr-sm-2" id="StartDateControl"></div>
|
||||
<div class="form-control mb-2 mr-sm-2" id="StartTimeControl"></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="EndDate">End Time</label>
|
||||
<div class="form-control mb-2 mr-sm-2" id="EndDateControl"></div>
|
||||
<div class="form-control mb-2 mr-sm-2" id="EndTimeControl"></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<button type="submit" class="btn btn-primary">Export Data</button>
|
||||
</div>
|
||||
|
||||
<div asp-validation-summary="ModelOnly" class="text-danger"></div>
|
||||
|
||||
</form>
|
||||
|
||||
<script>
|
||||
|
||||
$(document).ready(function () {
|
||||
|
||||
$("#ToolType").igCombo({
|
||||
dataSource: '@Url.Content("~/api/tooltypes")',
|
||||
responseDataKey: "Results",
|
||||
textKey: "ToolTypeName",
|
||||
valueKey: "ID",
|
||||
mode: "dropdown",
|
||||
width: 150,
|
||||
itemsRendered: function (evt, ui) {
|
||||
LoadHeaderGrid();
|
||||
},
|
||||
selectionChanged: LoadHeaderGrid
|
||||
});
|
||||
|
||||
var startTime = new Date("@Model.StartTime.ToString("yyyy-MM-ddTHH:mm")");
|
||||
|
||||
$("#StartDateControl").igDatePicker({
|
||||
dateInputFormat: "date",
|
||||
value: startTime,
|
||||
width: 125,
|
||||
inputName: "StartDate",
|
||||
});
|
||||
|
||||
$("#StartTimeControl").igTimePicker({
|
||||
dateInputFormat: "time",
|
||||
value: startTime,
|
||||
width: 110,
|
||||
inputName: "StartTime",
|
||||
});
|
||||
|
||||
var endTime = new Date("@Model.EndTime.ToString("yyyy-MM-ddTHH:mm")");
|
||||
|
||||
$("#EndDateControl").igDatePicker({
|
||||
dateInputFormat: "date",
|
||||
value: endTime,
|
||||
width: 125,
|
||||
inputName: "EndDate",
|
||||
});
|
||||
|
||||
$("#EndTimeControl").igTimePicker({
|
||||
dateInputFormat: "time",
|
||||
value: endTime,
|
||||
width: 110,
|
||||
inputName: "EndTime",
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
</script>
|
77
Archive/Views/Pages/AwaitingDispo.cshtml
Normal file
77
Archive/Views/Pages/AwaitingDispo.cshtml
Normal file
@ -0,0 +1,77 @@
|
||||
|
||||
@{
|
||||
ViewData["Title"] = "Awaiting Disposition";
|
||||
}
|
||||
|
||||
<h4>Awaiting Disposition</h4>
|
||||
|
||||
<div style="height: 450px;">
|
||||
<table id="grid"></table>
|
||||
</div>
|
||||
|
||||
<div class="row" style="margin-top: 10px; margin-bottom: 20px;">
|
||||
<div class="col-xs-1">
|
||||
<input type="button" id="OpenButton" value="Open" />
|
||||
</div>
|
||||
<div class="col-xs-1">
|
||||
<input type="button" id="RefreshButton" value="Refresh" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
$(document).ready(function () {
|
||||
|
||||
$("#grid").igGrid({
|
||||
autoGenerateColumns: false,
|
||||
width: "70%",
|
||||
height: "100%",
|
||||
primaryKey: "PK",
|
||||
columns: [
|
||||
{ key: "PK", dataType: "string", hidden: true, },
|
||||
{ key: "ID", dataType: "number", hidden: true, },
|
||||
{ key: "ToolTypeID", dataType: "number", hidden: true, },
|
||||
{ headerText: "Tool Type", key: "ToolType", dataType: "string", width: "15%" },
|
||||
{ key: "Tool", dataType: "string", width: "10%" },
|
||||
{ key: "Reactor", dataType: "string", width: "10%" },
|
||||
{ key: "RDS", dataType: "string", width: "10%" },
|
||||
{ key: "PSN", dataType: "string", width: "10%" },
|
||||
{ key: "Layer", dataType: "string", width: "10%" },
|
||||
{ key: "Zone", dataType: "string", width: "10%" },
|
||||
{ key: "InsertDate", dataType: "date", width: "10%", format: "dateTime" },
|
||||
{ key: "Expiration", dataType: "date", width: "10%", format: "dateTime" }
|
||||
],
|
||||
dataSource: "@Url.Content("~/api/awaitingdispo/")",
|
||||
responseDataKey: "Results",
|
||||
tabIndex: 1,
|
||||
features: [
|
||||
{ name: "Selection", mode: "row", multipleSelection: false },
|
||||
{ name: "Filtering", type: "local"},
|
||||
{ name: "Sorting", type:"local"},
|
||||
]
|
||||
});
|
||||
|
||||
function LoadRunInfo() {
|
||||
var row = $("#grid").igGrid("selectedRow");
|
||||
if (row == null)
|
||||
return;
|
||||
var data = $("#grid").igGrid("findRecordByKey", row.id);
|
||||
if (data == null)
|
||||
return;
|
||||
var targetURL = "@Url.Action("RunInfo")?tooltypeid=" + data.ToolTypeID + "&headerid=" + data.ID;
|
||||
window.location.href = targetURL;
|
||||
}
|
||||
|
||||
$("#RefreshButton").click(function () {
|
||||
$("#grid").igGrid("dataBind");
|
||||
});
|
||||
|
||||
$("#OpenButton").click(LoadRunInfo);
|
||||
|
||||
$("#grid").on("dblclick", "tr", LoadRunInfo);
|
||||
});
|
||||
|
||||
setInterval(function () {
|
||||
$("#RefreshButton").click();
|
||||
}, 60000);
|
||||
|
||||
</script>
|
3
Archive/Views/Pages/Home.cshtml
Normal file
3
Archive/Views/Pages/Home.cshtml
Normal file
@ -0,0 +1,3 @@
|
||||
@{
|
||||
ViewData["Title"] = "Metrology Home Page";
|
||||
}
|
133
Archive/Views/Pages/RunHeaders.cshtml
Normal file
133
Archive/Views/Pages/RunHeaders.cshtml
Normal file
@ -0,0 +1,133 @@
|
||||
|
||||
@{
|
||||
ViewData["Title"] = "Run Headers";
|
||||
}
|
||||
|
||||
<style>
|
||||
html, body {
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
div.container-fluid {
|
||||
height: 90%;
|
||||
}
|
||||
|
||||
#HeaderGrid, #FieldsGrid {
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.FieldTitle {
|
||||
font-weight: bold;
|
||||
}
|
||||
</style>
|
||||
|
||||
<h4>Run Headers</h4>
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<td>
|
||||
<label for="ToolType">Tool Type:</label>
|
||||
</td>
|
||||
<td>
|
||||
<div id="ToolType"></div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<table width="100%" height="80%">
|
||||
<tr>
|
||||
<td width="50%">
|
||||
<table id="HeaderGrid"></table>
|
||||
</td>
|
||||
<td width="50%">
|
||||
<table id="FieldsGrid"></table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<script>
|
||||
|
||||
function LoadHeaderGrid() {
|
||||
|
||||
var toolTypeID = $("#ToolType").igCombo("value");
|
||||
|
||||
var gridCreated = $("#HeaderGrid").data("igGrid");
|
||||
if (gridCreated)
|
||||
$("#HeaderGrid").igGrid("destroy");
|
||||
|
||||
ClearFieldsGrid();
|
||||
|
||||
var headerURL = "@Url.Content("~/api/tooltypes/")" + toolTypeID + "/headertitles";
|
||||
|
||||
$("#HeaderGrid").igGrid({
|
||||
autoGenerateColumns: false,
|
||||
primaryKey: "ID",
|
||||
height: "100%",
|
||||
width: "100%",
|
||||
features: [
|
||||
{ name: "Paging", type: "local", recordCountKey: "TotalRows", pageSize: 25, pageSizeUrlKey: "pageSize", "pageIndexUrlKey": "page", showPageSizeDropDown: false },
|
||||
{ name: "Selection", mode: "row", rowSelectionChanged: HeaderSelectionChanged },
|
||||
{ name: "Filtering", type: "local" }
|
||||
],
|
||||
columns: [
|
||||
{ key: "ID", dataType: "number", hidden: true},
|
||||
{ key: "Title", dataType: "string", width: "80%" },
|
||||
{ key: "InsertDate", dataType: "date", format: "dateTime", width: "20%" }
|
||||
],
|
||||
dataSource: headerURL,
|
||||
responseDataKey: "Results",
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
function ClearFieldsGrid() {
|
||||
var gridCreated = $("#FieldsGrid").data("igGrid");
|
||||
if (gridCreated)
|
||||
$("#FieldsGrid").igGrid("destroy");
|
||||
}
|
||||
|
||||
function HeaderSelectionChanged(evt, ui) {
|
||||
|
||||
var toolTypeID = $("#ToolType").igCombo("value");
|
||||
|
||||
ClearFieldsGrid();
|
||||
|
||||
var url = "@Url.Content("~/api/tooltypes/")" + toolTypeID + "/headers/" + ui.row.id + "/fields";
|
||||
|
||||
$("#FieldsGrid").igGrid({
|
||||
autoGenerateColumns: false,
|
||||
primaryKey: "Column",
|
||||
height: "100%",
|
||||
width: "100%",
|
||||
features: [
|
||||
{ name: 'Resizing' }
|
||||
],
|
||||
columns: [
|
||||
{ key: "Column", dataType: "string", width: "20%", columnCssClass: "FieldTitle", },
|
||||
{ key: "Value", dataType: "string", }
|
||||
],
|
||||
enableHoverStyles: false,
|
||||
dataSource: url,
|
||||
responseDataKey: "Results",
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
$(document).ready(function () {
|
||||
|
||||
$("#ToolType").igCombo({
|
||||
dataSource: '@Url.Content("~/api/tooltypes")',
|
||||
responseDataKey: "Results",
|
||||
textKey: "ToolTypeName",
|
||||
valueKey: "ID",
|
||||
mode: "dropdown",
|
||||
width: 150,
|
||||
dataBound: function (evt, ui) {
|
||||
$("#ToolType").igCombo("index", 0);
|
||||
LoadHeaderGrid();
|
||||
},
|
||||
selectionChanged: LoadHeaderGrid,
|
||||
});
|
||||
|
||||
});
|
||||
</script>
|
534
Archive/Views/Pages/RunInfo.cshtml
Normal file
534
Archive/Views/Pages/RunInfo.cshtml
Normal file
@ -0,0 +1,534 @@
|
||||
@model OI.Metrology.Shared.ViewModels.RunInfo
|
||||
@{
|
||||
ViewData["Title"] = "Run Information";
|
||||
}
|
||||
<style>
|
||||
#HeaderGridDiv, #
|
||||
Div {
|
||||
font-size: 12px;
|
||||
}
|
||||
</style>
|
||||
|
||||
<h4>Run Information</h4>
|
||||
|
||||
<form class="form-inline mb-4">
|
||||
<div class="form-group">
|
||||
<label for="ToolType">Tool Type</label>
|
||||
<div class="form-control" id="ToolType"></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="StartDate">Start Time</label>
|
||||
<div class="form-control mb-2 mr-sm-2" id="StartDate"></div>
|
||||
<div class="form-control mb-2 mr-sm-2" id="StartTime"></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="EndDate">End Time</label>
|
||||
<div class="form-control mb-2 mr-sm-2" id="EndDate"></div>
|
||||
<div class="form-control mb-2 mr-sm-2" id="EndTime"></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<input class="btn btn-primary" type="button" value="Load Headers" id="LoadHeadersButton" />
|
||||
</div>
|
||||
@*<div class="form-group">
|
||||
<label class="form-check-label" for="chkAutoRefresh">
|
||||
Auto-Refresh
|
||||
</label>
|
||||
<input class="form-check-input" type="checkbox" id="chkAutoRefresh">
|
||||
</div>*@
|
||||
@*This checkbox below is for archive flag.*@
|
||||
@*<div class="form-group">
|
||||
<label class="form-check-label" for="isArchive">
|
||||
Archive
|
||||
</label>
|
||||
<input class="form-check-input" type="checkbox" id="isArchive">
|
||||
</div>*@
|
||||
</form>
|
||||
|
||||
<div style="height: 300px;" id="HeaderGridDiv">
|
||||
<span id="ToolTypeID" hidden></span>
|
||||
<table id="HeaderGrid"></table>
|
||||
</div>
|
||||
|
||||
<div class="row" style="margin-top: 10px; margin-bottom: 20px;">
|
||||
<div class="col-xs-1">
|
||||
<input type="button" class="btn" id="GetDataButton" value="Get Data" disabled />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="DetailsDiv" hidden>
|
||||
|
||||
<span id="HeaderId"></span>
|
||||
<span id="HeaderAttachmentId"></span>
|
||||
<span id="HeaderDate"></span>
|
||||
<span id="SPHeaderID"></span>
|
||||
<div style="padding-bottom: 20px;" id="DetailsGridDiv">
|
||||
<table id="DetailsGrid"></table>
|
||||
</div>
|
||||
|
||||
<div id="ExportDiv" style="margin-top: 10px;">
|
||||
<input type="button" value="Send to OpenInsight" id="OIExportButton" />
|
||||
<span id="OIExportResult" style="margin-left: 10px; font-weight: bold; color: #366b02;"></span>
|
||||
</div>
|
||||
|
||||
<p style="text-align: center; margin-top: 20px;">
|
||||
<iframe id="DataAttachmentFrame" style="height:900px; border-width:thin; margin-right: 10px;" hidden></iframe>
|
||||
<iframe id="HeaderAttachmentFrame" style="height:900px; border-width:thin;" hidden></iframe>
|
||||
</p>
|
||||
|
||||
</div>
|
||||
|
||||
<script>
|
||||
|
||||
var toolType = null;
|
||||
var toolTypeMetaData = null;
|
||||
|
||||
function LoadHeaderGrid() {
|
||||
|
||||
var toolTypeID = $("#ToolType").igCombo("value");
|
||||
|
||||
$("#ToolTypeID").text(toolTypeID);
|
||||
|
||||
HideDetailsDiv();
|
||||
DisableHeaderButtons();
|
||||
|
||||
$("#HeaderId").text("");
|
||||
$("#HeaderAttachmentId").text("");
|
||||
$("#HeaderDate").text("");
|
||||
$("#SPHeaderID").text("");
|
||||
|
||||
var gridCreated = $("#HeaderGrid").data("igGrid");
|
||||
if (gridCreated)
|
||||
$("#HeaderGrid").igGrid("destroy");
|
||||
|
||||
$.ajax({
|
||||
type: "GET",
|
||||
url: "@Url.Content("~/api/tooltypes/")" + toolTypeID + "?sortby=grid",
|
||||
success: function (r) {
|
||||
if ((r.Results == null) || (r.Results.ToolType == null) || (r.Results.Metadata == null))
|
||||
ShowErrorMessage("Invalid tool type: " + toolTypeID);
|
||||
else {
|
||||
toolType = r.Results.ToolType;
|
||||
toolTypeMetaData = r.Results.Metadata;
|
||||
|
||||
RequestHeaderData();
|
||||
}
|
||||
},
|
||||
error: function (e) {
|
||||
DisplayWSMessage("error", "There was an error getting tooltype info.", e);
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
function DisableHeaderButtons() {
|
||||
$("#GetDataButton").prop("disabled", true);
|
||||
$("#ReviewButton").prop("disabled", true);
|
||||
}
|
||||
|
||||
function EnableHeaderButtons() {
|
||||
$("#GetDataButton").prop("disabled", false);
|
||||
$("#ReviewButton").prop("disabled", false);
|
||||
}
|
||||
|
||||
function HideDetailsDiv() {
|
||||
$("#DetailsDiv").prop("hidden", true);
|
||||
$("#DataAttachmentFrame").prop("src", "");
|
||||
}
|
||||
|
||||
function ShowDetailsDiv() {
|
||||
$("#DetailsDiv").prop("hidden", false);
|
||||
|
||||
$("#ExportDiv").prop("hidden", true);
|
||||
if ((toolType != null) && (toolType.OIExportSPName != null) && (toolType.OIExportSPName.length > 0)) {
|
||||
$("#ExportDiv").prop("hidden", false);
|
||||
$("#OIExportButton").prop("disabled", false);
|
||||
$("#OIExportResult").text('');
|
||||
}
|
||||
|
||||
$("#DataAttachmentFrame").prop("hidden", true);
|
||||
$("#HeaderAttachmentFrame").prop("hidden", true);
|
||||
if (toolType != null) {
|
||||
var visibleFrames = 0;
|
||||
if (toolType.DisplayDataAttachment && toolType.DisplayDataAttachment.length > 0) {
|
||||
visibleFrames += 1;
|
||||
$("#DataAttachmentFrame").prop("hidden", false);
|
||||
}
|
||||
if (toolType.DisplayHeaderAttachment && toolType.DisplayHeaderAttachment.length > 0) {
|
||||
visibleFrames += 1;
|
||||
$("#HeaderAttachmentFrame").prop("hidden", false);
|
||||
}
|
||||
var frameWidth = (98 / visibleFrames) + "%";
|
||||
$("#DataAttachmentFrame,#HeaderAttachmentFrame").css('width', frameWidth);
|
||||
}
|
||||
}
|
||||
|
||||
function HeaderSelectionChanged(evt, ui) {
|
||||
if (ui.row.index >= 0) {
|
||||
if ($("#HeaderId").text() == ui.row.id) {
|
||||
EnableHeaderButtons();
|
||||
return;
|
||||
}
|
||||
}
|
||||
DisableHeaderButtons();
|
||||
HideDetailsDiv();
|
||||
if (ui.row.index >= 0) {
|
||||
EnableHeaderButtons();
|
||||
$("#HeaderId").text(ui.row.id);
|
||||
var rowData = ui.owner.grid.dataSource.dataView()[ui.row.index];
|
||||
$("#HeaderAttachmentId").text(rowData.AttachmentID);
|
||||
$("#HeaderDate").text(rowData.Date);
|
||||
$("#SPHeaderID").text(rowData.Title);
|
||||
}
|
||||
}
|
||||
|
||||
function CancelHandler(evt, ui) {
|
||||
return false;
|
||||
}
|
||||
|
||||
function DetailSelectionChanged(evt, ui) {
|
||||
|
||||
$("#DataAttachmentFrame").prop("src", "");
|
||||
|
||||
if (ui.row.index >= 0) {
|
||||
var rowData = ui.owner.grid.dataSource.dataView()[ui.row.index];
|
||||
var toolTypeID = $("#ToolTypeID").text();
|
||||
var attachmentUrlBase = '@Url.Content("~/api/tooltypes/")' + toolTypeID;
|
||||
var attachmentId = rowData.AttachmentID;
|
||||
var test = rowData.date
|
||||
if ((attachmentId == null) || (attachmentId === ''))
|
||||
return;
|
||||
|
||||
if ((toolType.DisplayDataAttachment == null) || (toolType.DisplayDataAttachment === ''))
|
||||
return;
|
||||
|
||||
$("#DataAttachmentFrame").prop("src", attachmentUrlBase + "/data/files/" + attachmentId + "/" + toolType.DisplayDataAttachment);
|
||||
//if (CheckArchive()) {
|
||||
// $("#DataAttachmentFrame").prop("src", attachmentUrlBase + "/data/files/" + attachmentId + "/" + toolType.DisplayDataAttachment);
|
||||
//}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
function LoadHeaderAttachment() {
|
||||
|
||||
|
||||
var toolTypeID = $("#ToolTypeID").text();
|
||||
|
||||
var attachmentUrlBase = '@Url.Content("~/api/tooltypes/")' + toolTypeID;
|
||||
var attachmentId = $("#HeaderAttachmentId").text();
|
||||
var dateToUse = new Date($("#HeaderDate").text());
|
||||
var month = dateToUse.getMonth + 1;
|
||||
var year = dateToUse.getFullYear;
|
||||
if ((attachmentId == null) || (attachmentId === '') || (toolType.DisplayHeaderAttachment == null) || (toolType.DisplayHeaderAttachment === '')) {
|
||||
$("#HeaderAttachmentFrame").prop("src", "");
|
||||
} else {
|
||||
$("#HeaderAttachmentFrame").prop("src", attachmentUrlBase + "/header/files/" + attachmentId + "/" + toolType.DisplayHeaderAttachment + "?isArchive=true&date="+dateToUse);
|
||||
}
|
||||
$("#DataAttachmentFrame").prop("src", "");
|
||||
}
|
||||
|
||||
@*function MarkAsReviewed() {
|
||||
|
||||
var toolTypeId = $("#ToolTypeID").text();
|
||||
var headerId = $("#HeaderId").text();
|
||||
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: "@Url.Content("~/api/awaitingdispo/markasreviewed")?tooltypeid=" + toolTypeId + "&headerid=" + headerId,
|
||||
success: function () {
|
||||
},
|
||||
error: function (e, ajaxOptions, ex) {
|
||||
DisplayWSMessage("error", "There was an error marking header as reviewed.", e, ex);
|
||||
$("#ReviewButton").prop("disabled", false);
|
||||
}
|
||||
});
|
||||
}*@
|
||||
function CheckDate() {
|
||||
var date = new Date($("#HeaderDate").text());
|
||||
return date;
|
||||
}
|
||||
function LoadDetails() {
|
||||
|
||||
|
||||
|
||||
ShowDetailsDiv();
|
||||
|
||||
LoadHeaderAttachment();
|
||||
var dateToUse = $("#HeaderDate").text();
|
||||
var gridCreated = $("#DetailsGrid").data("igGrid");
|
||||
if (gridCreated)
|
||||
$("#DetailsGrid").igGrid("destroy");
|
||||
var dateID = Date.parse($("#HeaderDate").text());
|
||||
var cutoffDt = Date.parse('2019-07-08')
|
||||
var headerId = $("#HeaderId").text();
|
||||
var toolTypeID = $("#ToolTypeID").text();
|
||||
var spHeaderID = $("#SPHeaderID").text();
|
||||
if (dateID < cutoffDt) {
|
||||
detailsURL = "@Url.Content("~/api/tooltypes/")" + toolTypeID + "/headers/" + spHeaderID + "/data/isSharePoint";
|
||||
}
|
||||
else {
|
||||
var detailsURL = "@Url.Content("~/api/tooltypes/")" + toolTypeID + "/headers/" + headerId + "/data";
|
||||
}
|
||||
//Changed from here
|
||||
//if (CheckArchive() == true) {
|
||||
// detailsURL = detailsURL + "?isArchive=true";
|
||||
//}
|
||||
|
||||
//Changed to here
|
||||
var gridColumns = [
|
||||
{ key: "AttachmentID", dataType: "string", hidden: true },
|
||||
{ key: "Title", dataType: "string", hidden: true },
|
||||
];
|
||||
|
||||
for (var i = 0; i < toolTypeMetaData.length; i++)
|
||||
{
|
||||
var f = toolTypeMetaData[i];
|
||||
if ((f.Header == false) && (f.GridDisplayOrder > 0)) {
|
||||
var col = {
|
||||
key: f.ColumnName,
|
||||
headerText: f.DisplayTitle,
|
||||
width: "150px",
|
||||
};
|
||||
if (f.GridAttributes != null)
|
||||
jQuery.extend(col, JSON.parse(f.GridAttributes));
|
||||
if (col.formatter != null) {
|
||||
if (col.formatter == "boolToYesNo")
|
||||
col.formatter = boolToYesNo;
|
||||
else
|
||||
col.formatter = null;
|
||||
}
|
||||
gridColumns.push(col);
|
||||
}
|
||||
}
|
||||
var date = toolTypeMetaData[2];
|
||||
|
||||
var gridParms = {
|
||||
autoGenerateColumns: false,
|
||||
primaryKey: "ID",
|
||||
features: [
|
||||
{ name: "Selection", mode: "row", rowSelectionChanging: DetailSelectionChanged },
|
||||
{ name: "Resizing" },
|
||||
{ name: "Sorting", type: "local" }
|
||||
],
|
||||
columns: gridColumns,
|
||||
dataSource: detailsURL,
|
||||
responseDataKey: "Results",
|
||||
//dataBound: MarkAsReviewed,
|
||||
|
||||
};
|
||||
|
||||
if ((toolType != null) && (toolType.DataGridAttributes != null)) {
|
||||
jQuery.extend(gridParms, JSON.parse(toolType.DataGridAttributes));
|
||||
}
|
||||
|
||||
$("#DetailsGrid").igGrid(gridParms);
|
||||
}
|
||||
|
||||
var initialHeaderId = @Model.HeaderID;
|
||||
var initialHeaderAttachmentId = "@Model.HeaderAttachmentID";
|
||||
|
||||
|
||||
|
||||
function RequestHeaderData()
|
||||
{
|
||||
var startDate = $("#StartDate").igDatePicker("value");
|
||||
var startTime = $("#StartTime").igTimePicker("value");
|
||||
|
||||
var endDate = $("#EndDate").igDatePicker("value");
|
||||
var endTime = $("#EndTime").igTimePicker("value");
|
||||
|
||||
var parms = {
|
||||
datebegin: new Date(
|
||||
startDate.getFullYear(), startDate.getMonth(), startDate.getDate(),
|
||||
startTime.getHours(), startTime.getMinutes(), startTime.getSeconds()).toISOString(),
|
||||
dateend: new Date(
|
||||
endDate.getFullYear(), endDate.getMonth(), endDate.getDate(),
|
||||
endTime.getHours(), endTime.getMinutes(), endTime.getSeconds()).toISOString(),
|
||||
}
|
||||
|
||||
var headerId = 0;
|
||||
if (initialHeaderId > 0) {
|
||||
headerId = initialHeaderId;
|
||||
parms.headerid = headerId;
|
||||
//isArchive = CheckArchive()
|
||||
$("#HeaderId").text(headerId);
|
||||
$("#HeaderAttachmentId").text(initialHeaderAttachmentId);
|
||||
initialHeaderId = -1;
|
||||
}
|
||||
|
||||
var headerURL = "@Url.Content("~/api/tooltypes/")" + toolType.ID + "/headers?" + $.param(parms);
|
||||
|
||||
//if (CheckArchive() == true) {
|
||||
// headerURL = headerURL + "&isArchive=true";
|
||||
//}
|
||||
|
||||
var gridColumns = [
|
||||
{ key: "ID", dataType: "number", hidden: true },
|
||||
{ key: "AttachmentID", dataType: "string", hidden: true },
|
||||
{ key: "Title", dataType: "string", hidden: true },
|
||||
];
|
||||
|
||||
for (var i = 0; i < toolTypeMetaData.length; i++)
|
||||
{
|
||||
var f = toolTypeMetaData[i];
|
||||
if ((f.Header == true) && (f.GridDisplayOrder > 0)) {
|
||||
var col = {
|
||||
key: f.ColumnName,
|
||||
headerText: f.DisplayTitle,
|
||||
width: "150px",
|
||||
};
|
||||
if (f.GridAttributes != null)
|
||||
jQuery.extend(col, JSON.parse(f.GridAttributes));
|
||||
if (col.formatter != null) {
|
||||
if (col.formatter == "boolToYesNo")
|
||||
col.formatter = boolToYesNo;
|
||||
else
|
||||
col.formatter = null;
|
||||
}
|
||||
gridColumns.push(col);
|
||||
}
|
||||
}
|
||||
|
||||
var gridParms = {
|
||||
autoGenerateColumns: false,
|
||||
primaryKey: "ID",
|
||||
height: "100%",
|
||||
width: "100%",
|
||||
features: [
|
||||
{ name: "Paging", type: "local", recordCountKey: "TotalRows", pageSize: 100, pageSizeList : [50, 100, 250, 500], pageSizeUrlKey: "pageSize", "pageIndexUrlKey": "page" },
|
||||
{ name: "Selection", mode: "row", rowSelectionChanged: HeaderSelectionChanged },
|
||||
{ name: "Filtering", type: "local" },
|
||||
{ name: 'Resizing' },
|
||||
{ name: "Sorting", type:"local"}
|
||||
],
|
||||
columns: gridColumns,
|
||||
dataSource: headerURL,
|
||||
responseDataKey: "Results",
|
||||
};
|
||||
|
||||
if ((toolType != null) && (toolType.HeaderGridAttributes != null)) {
|
||||
jQuery.extend(gridParms, JSON.parse(toolType.HeaderGridAttributes));
|
||||
}
|
||||
|
||||
$("#HeaderGrid").igGrid(gridParms);
|
||||
|
||||
if (headerId > 0) {
|
||||
LoadDetails();
|
||||
}
|
||||
}
|
||||
|
||||
function ReviewButton() {
|
||||
|
||||
var toolTypeId = $("#ToolTypeID").text();
|
||||
var headerId = parseInt($("#HeaderId").text());
|
||||
|
||||
$("#ReviewButton").prop("disabled", true);
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: "@Url.Content("~/api/awaitingdispo/markasawaiting")?tooltypeid=" + toolTypeId + "&headerid=" + headerId,
|
||||
success: function (e) {
|
||||
DisplayWSMessage("info", "Marked as awaiting disposition",e);
|
||||
$("#ReviewButton").prop("disabled", false);
|
||||
},
|
||||
error: function (e, ajaxOptions, ex) {
|
||||
DisplayWSMessage("error", "There was an error marking header as awaiting disposition.", e, ex);
|
||||
$("#ReviewButton").prop("disabled", false);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function OIExportButton() {
|
||||
|
||||
var headerId = $("#HeaderId").text();
|
||||
var toolTypeID = $("#ToolTypeID").text();
|
||||
|
||||
$("#OIExportButton").prop("disabled", true);
|
||||
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: "@Url.Content("~/api/tooltypes/")" + toolTypeID + "/headers/" + headerId + "/oiexport",
|
||||
success: function (r) {
|
||||
$("#OIExportResult").text("Exported!");
|
||||
},
|
||||
error: function (e, ajaxOptions, ex) {
|
||||
DisplayWSMessage("error", "There was an error exporting.", e, ex);
|
||||
$("#OIExportButton").prop("disabled", false);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function SetInitialDateTimes() {
|
||||
|
||||
var startTime = new Date(Date.now() - 6 * 60 * 60 * 1000);//6 hours back from now
|
||||
|
||||
$("#StartDate").igDatePicker({
|
||||
dateInputFormat: "date",
|
||||
value: startTime,
|
||||
width: 125
|
||||
});
|
||||
|
||||
$("#StartTime").igTimePicker({
|
||||
dateInputFormat: "time",
|
||||
value: startTime,
|
||||
width: 110
|
||||
});
|
||||
|
||||
var endTime = new Date(Date.now());
|
||||
|
||||
$("#EndDate").igDatePicker({
|
||||
dateInputFormat: "date",
|
||||
value: endTime,
|
||||
width: 125
|
||||
});
|
||||
|
||||
$("#EndTime").igTimePicker({
|
||||
dateInputFormat: "time",
|
||||
value: endTime,
|
||||
width: 110
|
||||
});
|
||||
}
|
||||
//function CheckArchive() {
|
||||
// var isArchive = new Boolean(false);
|
||||
|
||||
// isArchive = document.getElementById("isArchive").checked;
|
||||
|
||||
// return isArchive;
|
||||
//}
|
||||
$(document).ready(function () {
|
||||
|
||||
$("#ToolType").igCombo({
|
||||
dataSource: '@Url.Content("~/api/tooltypes")',
|
||||
responseDataKey: "Results",
|
||||
textKey: "ToolTypeName",
|
||||
valueKey: "ID",
|
||||
mode: "dropdown",
|
||||
width: 150,
|
||||
itemsRendered: function (evt, ui) {
|
||||
LoadHeaderGrid();
|
||||
},
|
||||
selectionChanged: LoadHeaderGrid,
|
||||
initialSelectedItems: [ { value: @Model.ToolTypeID } ]
|
||||
});
|
||||
|
||||
SetInitialDateTimes();
|
||||
|
||||
$("#HeaderGrid").on("dblclick", "tr", LoadDetails);
|
||||
|
||||
$("#LoadHeadersButton").click(LoadHeaderGrid);
|
||||
|
||||
$("#GetDataButton").click(LoadDetails);
|
||||
|
||||
$("#ReviewButton").click(ReviewButton);
|
||||
|
||||
$("#OIExportButton").click(OIExportButton);
|
||||
|
||||
//setInterval(function () {
|
||||
// if ($("#chkAutoRefresh").is(':checked')) {
|
||||
// SetInitialDateTimes();
|
||||
// $("#LoadHeadersButton").click();
|
||||
// }
|
||||
// }, 180000);
|
||||
|
||||
});
|
||||
|
||||
</script>
|
92
Archive/Views/Shared/_Layout.cshtml
Normal file
92
Archive/Views/Shared/_Layout.cshtml
Normal file
@ -0,0 +1,92 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width" />
|
||||
<title>@ViewBag.Title</title>
|
||||
|
||||
<script src="~/js/modernizr-3.6.0-custom.js" type="text/javascript" asp-append-version="true"></script>
|
||||
|
||||
<link href="~/styles/bootstrap.min.css" rel="stylesheet" asp-append-version="true" />
|
||||
<link href="~/igniteui/css/themes/bootstrap3/default/infragistics.theme.css" rel="stylesheet" asp-append-version="true" />
|
||||
<link href="~/igniteui/css/structure/infragistics.css" rel="stylesheet" asp-append-version="true" />
|
||||
<link href="~/styles/site.css" rel="stylesheet" asp-append-version="true" />
|
||||
|
||||
<script src="~/js/jquery-3.6.0.min.js" type="text/javascript" asp-append-version="true"></script>
|
||||
<script src="~/js/jquery-ui.min.js" type="text/javascript" asp-append-version="true"></script>
|
||||
<script src="~/igniteui/js/infragistics.core.js" type="text/javascript" asp-append-version="true"></script>
|
||||
<script src="~/igniteui/js/infragistics.lob.js" type="text/javascript" asp-append-version="true"></script>
|
||||
<script src="~/igniteui/js/infragistics.dv.js" type="text/javascript" asp-append-version="true"></script>
|
||||
|
||||
<script src="~/js/common.js" type="text/javascript" asp-append-version="true"></script>
|
||||
<script>
|
||||
$(document).ready(function () {
|
||||
if (location.pathname == "/") {
|
||||
route = "/AwaitingDispo";
|
||||
}
|
||||
else {
|
||||
route = location.pathname;
|
||||
}
|
||||
$('ul.nav.navbar-nav').find('a[href="' + route + '"]')
|
||||
.closest('li').addClass('alert-info');
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
@{
|
||||
bool isTestDatabase = false;
|
||||
object testDatabaseValue = ViewBag.IsTestDatabase;
|
||||
if (testDatabaseValue != null)
|
||||
{
|
||||
Boolean.TryParse(Convert.ToString(testDatabaseValue), out isTestDatabase);
|
||||
}
|
||||
|
||||
}
|
||||
<div class="navbar navbar-fixed-top @(isTestDatabase ? "test-database" : "" )">
|
||||
<div class="container-fluid">
|
||||
<div class="navbar-header">
|
||||
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
</button>
|
||||
<div class="navbar-brand">
|
||||
<a href="/"><img src="~/images/IFX_LOGO_RGB.png" height="20" /></a>
|
||||
OI Metrology Viewer - ARCHIVE
|
||||
</div>
|
||||
</div>
|
||||
@if (isTestDatabase)
|
||||
{
|
||||
<p class="navbar-text hidden-xs hidden-sm">
|
||||
<span class="test-database-text">TEST DATABASE</span>
|
||||
</p>
|
||||
}
|
||||
<div class="navbar-collapse collapse">
|
||||
<ul class="nav navbar-nav">
|
||||
@*<li>@Html.ActionLink("Awaiting Disposition", "AwaitingDispo", "Pages", new { area = "" })</li>*@
|
||||
<li>@Html.ActionLink("Run Information", "RunInfo", "Pages", new { area = "" }, null)</li>
|
||||
<li>@Html.ActionLink("Run Headers", "RunHeaders", "Pages", new { area = "" }, null)</li>
|
||||
<li>@Html.ActionLink("Export", "Index", "Export", new { area = "" }, null)</li>
|
||||
</ul>
|
||||
<p class="navbar-text navbar-right">
|
||||
@User.Identity.Name
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="container-fluid body-content">
|
||||
@RenderBody()
|
||||
<hr />
|
||||
<footer>
|
||||
<p>© @DateTime.Now.Year - Infineon Technologies</p>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
<div id="MessageModal"></div>
|
||||
|
||||
<script src="~/js/bootstrap.min.js" type="text/javascript" asp-append-version="true"></script>
|
||||
<script src="~/js/respond.min.js" type="text/javascript" asp-append-version="true"></script>
|
||||
@RenderSection("scripts", required: false)
|
||||
</body>
|
||||
</html>
|
||||
|
2
Archive/Views/_ViewImports.cshtml
Normal file
2
Archive/Views/_ViewImports.cshtml
Normal file
@ -0,0 +1,2 @@
|
||||
@using OI.Metrology
|
||||
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
|
3
Archive/Views/_ViewStart.cshtml
Normal file
3
Archive/Views/_ViewStart.cshtml
Normal file
@ -0,0 +1,3 @@
|
||||
@{
|
||||
Layout = "_Layout";
|
||||
}
|
Reference in New Issue
Block a user