Jonathan Ouellette 580e90f6a2 initial add
2022-09-27 14:10:30 -07:00

787 lines
35 KiB
Plaintext

@model Fab2ApprovalSystem.ViewModels.ChangeControlViewModel
@{
ViewBag.Title = "Edit";
}
<style>
table {
border-spacing: 5px;
padding: 5px;
border-color: white;
}
</style>
<script src="~/Scripts/common.js"> </script>
<link rel="stylesheet" href="/Content/kendo/kendo.blueopal.min.css" />
<body>
@using (Html.BeginForm())
{
@Html.AntiForgeryToken()
<div>
<div class="panel panel-default center-block" data-spy="affix">
<input type="button" value="Back to PCRB List" class="btn btn-primary btn-xs" id="PCRBList" />
</div>
</div>
<div class="panel panel-default center-block" style="font-size: 10px">
<div class="panel-body bg-warning">
<div class="row">
<div class="col-sm-4">
<div class="row">
<div class="col-sm-3">
</div>
<div class="col-sm-3">
</div>
<div class="col-sm-6">
</div>
</div>
</div>
<div class="col-sm-4 text-center">
<div class="row">
<div class="col-sm-12 center-block">
<font style="color: crimson; font-size:24px;font-weight: bolder">
Change Control @(Model.Status == 0 ? "" : " (Closed)")
</font>
</div>
</div>
</div>
<div class="col-sm-4">
<div class="row">
<div class="col-sm-12">
<font style="color:crimson">
@if (Model.RecordLockByName == null)
{
<h4>
<font style="color:red">
Mode: [Readonly]
</font>
</h4>
}
else
{
<h4>
<font style="color:red">
Mode: [Readonly] - Locked for Editing by <font style="color: green; font-weight:bold; font-style:italic">@Model.RecordLockByName</font>
</font>
</h4>
}
</font>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="panel panel-default">
<div class="panel-body bg-warning">
<div class="row">
<div class="col-sm-8">
<label class="control-label">Meeting List:</label>
@(Html.Kendo().DropDownList()
.Name("MeetingList")
.BindTo(new SelectList(ViewBag.MeetingList, "MeetingID", "MeetingInfo"))
.OptionLabel("Select")
.HtmlAttributes(new { style ="width: 300px; font-size:10px" })
)
<input type="button" value="Display MeetingInfo" class="btn btn-primary btn-xs" id="GetMeeting" />
</div>
<div class="col-sm-2 pull-right" style="color:crimson; font-weight:bold">
@(Model.Status == 1 ? "Completed Date:" + Model.ClosedDate.Value.ToString("MM/dd/yyyy") : (Model.Status == 2 ? "Cancelled Date:" + Model.ClosedDate.Value.ToString("MM/dd/yyyy") : ""))
</div>
<div class="col-sm-2 pull-right" style="color:crimson; font-weight:bold">
Status: @(Model.Status == 0 ? "NA" : (Model.Status == 1 ? "Completed" : "Cancelled"))
</div>
</div>
</div>
</div>
<div class="panel panel-default" style="font-size: 10px">
<div class="panel-body bg-warning">
<div class="row">
<div class="col-sm-2">
<div class="row">
<div class="col-sm-3">
<label class="control-label pull-right">Plan #:</label>
</div>
<div class="col-sm-9">
@Html.TextBoxFor(model => model.PlanNumber, "P" + "{0:0000}", new { id = "txtPlanNumber", @class = "k-textbox", Readonly = "Readonly", style = "background-color:lightblue" })
</div>
</div>
</div>
<div class="col-sm-4">
<div class="row">
<div class="col-sm-3">
<label class="control-label pull-right">Title</label>
</div>
<div class="col-sm-9">
@Html.TextBoxFor(model => model.Title, new { id = "txtTitle", @class = "k-textbox", Readonly = "Readonly", style = "background-color:lightblue; width:100%" })
</div>
</div>
</div>
<div class="col-sm-2">
<div class="row">
<div class="col-sm-3">
<label class="control-label pull-right">Owner:</label>
</div>
<div class="col-sm-9">
@Html.TextBoxFor(model => model.OwnerName, new { id = "txtOwner", @class = "k-textbox", Readonly = "Readonly", style = "background-color:lightblue" })
@if (Session[GlobalVars.IS_ADMIN] != null)
{
<a href="javascript:undefined" id="lnkReassignOwner" class="linkbutton edit" title="Re-assign Owner"></a>
}
</div>
</div>
</div>
<div class="col-sm-2">
<div class="row">
<div class="col-sm-3">
<label class="control-label pull-right">Change Level:</label>
</div>
<div class="form-control-static col-sm-9">
@(Html.Kendo().DropDownList()
.Name("ChangeLevel")
.DataTextField("Text")
.DataValueField("Value")
.BindTo(new List<SelectListItem>()
{
new SelectListItem()
{
Text = "Select",
Value = "-1"
},
new SelectListItem()
{
Text = "1",
Value = "1"
},
new SelectListItem()
{
Text = "2",
Value = "2"
}
,
new SelectListItem()
{
Text = "3",
Value = "3"
}
}
)
.Value(Model.ChangeLevel.ToString())
)
</div>
</div>
</div>
<div class="col-sm-2">
<div class="row">
<div class="col-sm-3">
<label class="control-label pull-right">Export Control:</label>
</div>
<div class="col-sm-9">
@(Html.Kendo().DropDownList()
.Name("IsITAR")
.DataTextField("Text")
.DataValueField("Value")
.BindTo(new List<SelectListItem>()
{
new SelectListItem()
{
Text = "Select",
Value = "-1"
},
new SelectListItem()
{
Text = "Yes",
Value = "1"
},
new SelectListItem()
{
Text = "No",
Value = "0"
}
}
)
.Value(Model.IsITAR.ToString())
)
</div>
</div>
</div>
</div>
</div>
</div>
<table class="table-condensed" style="width: 100%; font-size: 10px; border-color: lightgrey;">
<tbody>
<tr>
<td>
<div class="panel panel-default" style="font-size: 10px">
<div class="panel-info" style="font-size: 11px">
<div class="panel-heading">
<h5 style="font-weight:600">Description of Change</h5>
</div>
</div>
<div class="panel-body bg-warning">
<div class="form-horizontal col-sm-12">
@Html.TextAreaFor(model => model.ReasonForChange, 15, 30, new { id = "txtReasonForChange", @class = "form-control", Readonly = "Readonly", style = "background-color:lightblue; font-size: 11px;width: 100%;" })
</div>
</div>
</div>
</td>
<td>
<div class="panel panel-default" style="font-size: 10px">
<div class="panel-info" style="font-size: 11px">
<div class="panel-heading">
<h5 style="font-weight:600">Reason For Change</h5>
</div>
</div>
<div class="panel-body bg-warning">
<div class="form-horizontal col-sm-12">
@Html.TextAreaFor(model => model.ChangeDescription, 15, 30, new { id = "txtChangeDescription", @class = "form-control", Readonly = "Readonly", style = "background-color:lightblue; font-size: 11px;width: 100%;" })
</div>
</div>
</div>
</td>
</tr>
</tbody>
</table>
<table class="table-condensed" style="width: 100%; font-size: 10px; background-color:#95c7c3; border-color: lightgrey; " border="1" cellpadding="1">
<tbody>
<tr style="background-color:#e5e0e0">
<td width="10%" style="font-weight:bold">
</td>
<td>
<div class="panel-info" style="font-size: 11px">
<div class="panel-heading">
<h5 style="font-weight:600">Affected by Change</h5>
</div>
</div>
</td>
</tr>
<tr>
<td bgcolor="e5e0e0" width="10%">
<div class="panel-body bg-success">
Generations
</div>
</td>
<td width="80%">
@(Html.Kendo().MultiSelect()
.Name("GenerationIDs")
.BindTo(new SelectList(ViewBag.Generations, "GenerationID", "Generation"))
.Value(ViewBag.Nothing)
)
</td>
@*<td width="10%">
<button class="btn btn-warning btn-xs" data-toggle="modal" id="editGens" style="font-size:x-small">
Edit
</button>
</td>*@
</tr>
<tr>
<td bgcolor="e5e0e0" width="10%">
<div class="panel-body bg-success">
Notes:
</div>
</td>
<td width="80%">
@Html.TextAreaFor(model => model.Notes, 5, 50, new { id = "txtNotes", @class = "k-textbox", Readonly = "Readonly", style = "background-color:lightblue; width:100%;" })
</td>
</tr>
<tr>
<td bgcolor="e5e0e0" width="10%">
<div class="panel-body bg-success">
Part Numbers
</div>
</td>
<td width="80%">
<table width="100%">
<tr>
<td>
@*<table width="100%" border="0">
<tr>
<td>
Medical(A5)
</td>
<td>
@(Html.Kendo().DropDownList()
.Name("IsMedical")
.DataTextField("Text")
.DataValueField("Value")
.BindTo(new List<SelectListItem>()
{
new SelectListItem()
{
Text = "Select",
Value = "-1"
},
new SelectListItem()
{
Text = "Yes",
Value = "1"
},
new SelectListItem()
{
Text = "No",
Value = "0"
}
}
)
.Value(Model.IsMedical.ToString())
)
</td>
</tr>
<tr>
<td>
Radhard(A6)
</td>
<td>
@(Html.Kendo().DropDownList()
.Name("IsRadHard")
.DataTextField("Text")
.DataValueField("Value")
.BindTo(new List<SelectListItem>()
{
new SelectListItem()
{
Text = "Select",
Value = "-1"
},
new SelectListItem()
{
Text = "Yes",
Value = "1"
},
new SelectListItem()
{
Text = "No",
Value = "0"
}
}
)
.Value(Model.IsRadHard.ToString())
)
</td>
</tr>
<tr>
<td>
Automotive(A3/A4)
</td>
<td>
@(Html.Kendo().DropDownList()
.Name("IsAutomotive")
.DataTextField("Text")
.DataValueField("Value")
.BindTo(new List<SelectListItem>()
{
new SelectListItem()
{
Text = "Select",
Value = "-1"
},
new SelectListItem()
{
Text = "Yes",
Value = "1"
},
new SelectListItem()
{
Text = "No",
Value = "0"
}
}
)
.Value(Model.IsAutomotive.ToString())
)
</td>
</tr>
</table>*@
</td>
<td>
<table width="100%">
<tr>
<td>
<div class="panel-body bg-success">
Part Numbers List
</div>
</td>
</tr>
<tr>
<td>
@Html.TextAreaFor(model => model.PartNumbers, 5, 50, new { id = "txtPartNumber", @class = "k-textbox", Readonly = "Readonly", style = "background-color:lightblue; width:100%; height=100%" })
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td bgcolor="e5e0e0" width="10%">
<div class="panel-body bg-success">
Tool Type
</div>
</td>
<td width="80%">
@Html.TextAreaFor(model => model.ToolTypes, 5, 50, new { id = "txtToolTypes", @class = "k-textbox", Readonly = "Readonly",style = "background-color:lightblue; width:100%;" })
</td>
@*<td width="10%">
<button class="btn btn-warning btn-xs" data-toggle="modal" id="editToolTypes" style="font-size:x-small">
Edit
</button>
</td>*@
</tr>
<tr>
<td bgcolor="e5e0e0" width="10%">
<div class="panel-body bg-success">
Processes
</div>
</td>
<td width="80%">
@(Html.Kendo().MultiSelect()
.Name("ProcessIDs")
.BindTo(new SelectList(ViewBag.Processes, "ProcessID", "Process"))
.Value(ViewBag.Nothing)
)
</td>
@*<td width="10%">
<button class="btn btn-warning btn-xs" data-toggle="modal" id="editProcesses" style="font-size:x-small">
Edit
</button>
</td>*@
</tr>
<tr>
<td bgcolor="e5e0e0" width="10%">
<div class="panel-body bg-success">
Logistics
</div>
</td>
<td width="80%">
@(Html.Kendo().MultiSelect()
.Name("LogisticsIDs")
.BindTo(new SelectList(ViewBag.Logistics, "LogisticsID", "Logistics"))
.Value(ViewBag.Nothing)
)
</td>
@*<td width="10%">
<button class="btn btn-warning btn-xs" data-toggle="modal" id="editLogistics" style="font-size:x-small">
Edit
</button>
</td>*@
</tr>
</tbody>
</table>
<div class="panel panel-default" style="font-size: 10px">
<div class="panel-body bg-info">
<div class="pull-left">
<h5>
<font style="color:crimson">
Documents Attachments
</font>
</h5>
</div>
</div>
<div class="panel-body bg-warning">
@(Html.Kendo().Grid<Fab2ApprovalSystem.Models.CCAttachment>()
.Name("ChangeControlAttachmentGrid")
.Columns(columns =>
{
columns.Bound(a => a.ID).Visible(false);
columns.Bound(a => a.FileGUID).Visible(false);
columns.Bound(a => a.FileName).Template(@<text> @Html.ActionLink(@item.FileName.ToString(), null)</text>).Width("100px");
columns.Bound(a => a.Title).Width("300px");
columns.Bound(a => a.UploadedByName).Width("50px");
columns.Bound(a => a.UploadDateTime).Format("{0:MM/dd/yy hh:mm:ss}").Width("50px");
columns.Command(c => c.Custom("View Doc").Click("DownloadCCAttachment")).Width("100px"); ;
})
.Resizable(resize => resize.Columns(true))
.Sortable()
.Scrollable()
.HtmlAttributes(new { style = "height:125; width:100%; font-size: 11px" })
.DataSource(dataSource => dataSource
.Ajax()
//.Batch(false)
.ServerOperation(false)
.Model(model =>
{
model.Id(p => p.ID);
model.Field(a => a.UploadDateTime).Editable(false);
model.Field(a => a.UploadedByName).Editable(false);
model.Field(a => a.FileName).Editable(false);
})
.PageSize(50)
.Read(read => read.Action("GetCCAttachments", "ChangeControl", new { planNumber = Model.PlanNumber }))
)
)
}
</div>
</div>
<div class="panel panel-default" style="font-size: 10px">
<div class="panel-body bg-info">
<div class="pull-left">
<h5>
<font style="color:crimson">
Decision Summary List
</font>
</h5>
</div>
</div>
<div class="panel-body bg-warning">
@(Html.Kendo().Grid<Fab2ApprovalSystem.Models.MeetingDecisionSummaryList>()
.Name("DecisionSummaryList")
.Columns(columns =>
{
columns.Bound(a => a.PCRB).Width("100px");
columns.Bound(a => a.MeetingDate).Width("100px");
columns.Bound(a => a.DecisionNotes).ClientTemplate("#=ProcessLinkBreaks(DecisionNotes)#").Width("500px");
columns.Bound(a => a.ECNLinks).ClientTemplate("#=DisplayECNLinks(ECNLinks)#").Width("100px");
columns.Bound(a => a.LotDispoLinks).ClientTemplate("#=DisplayLotDispoLinks(LotDispoLinks)#").Width("100px");
})
.Resizable(resize => resize.Columns(true))
.Sortable()
.Scrollable()
.HtmlAttributes(new { style = "height:125; width:100%; font-size: 11px; valign:top" })
.DataSource(dataSource => dataSource
.Ajax()
//.Batch(false)
.ServerOperation(false)
.Model(model =>
{
//model.Id(p => p.ID);
})
.PageSize(50)
.Read(read => read.Action("GetMeetingDecisionSummaryList", "ChangeControl", new { planNumber = Model.PlanNumber }))
)
)
</div>
</div>
<div class="panel panel-default" style="font-size: 10px">
<div class="panel-body bg-info">
<div class="pull-left">
<h5>
<font style="color:crimson">
Action Items
</font>
</h5>
</div>
</div>
<div class="panel-body bg-warning">
<div id="userListdiv" class="k-content">
@(Html.Kendo().Grid<Fab2ApprovalSystem.Models.CCMeetingActionItemAll>()
.Name("MeetingActionItemsAll")
.Columns(columns =>
{
columns.Bound(a => a.ID).Visible(false);
columns.Bound(a => a.MeetingID).Visible(false);
columns.Bound(a => a.PCRB).Width("50px");
columns.Bound(a => a.ActionItemName).Width("300px");
columns.Bound(a => a.ResponsiblePerson).Width("100px");
columns.Bound(a => a.Gating).Width("50px");
columns.Bound(a => a.DueDate).Width("50px").Format("{0:MM/dd/yy}").Width("50px");
columns.Bound(a => a.Updates).Width("200px");
columns.Bound(a => a.ClosedStatus).ClientTemplate("<input type='checkbox' disabled #= ClosedStatus ? checked='checked':'' # class='chkbx' />").Width("50px");
columns.Bound(a => a.ClosedDate).Width("50px").Format("{0:MM/dd/yy}").Width("150px");
columns.Bound(a => a.FileName).Width("100px");
columns.Command(c => c.Custom("View Doc").Click("DownloadActionItemAttachment")).Width("75px");
})
.Editable(editable => editable.Mode(GridEditMode.InLine))
.HtmlAttributes(new { style = "height: 500px;" })
.Scrollable()
.Resizable(resize => resize.Columns(true))
.Sortable()
.Pageable(pageable => pageable
.Refresh(true)
.PageSizes(true)
.ButtonCount(5))
.DataSource(dataSource => dataSource
.Ajax()
.Model(model =>
{
model.Id(p => p.ID);
model.Field(a => a.MeetingID).Editable(false);
model.Field(a => a.PCRB).Editable(false);
model.Field(a => a.ActionItemName).Editable(false);
model.Field(a => a.ResponsiblePerson).Editable(false);
model.Field(a => a.Gating).Editable(false);
model.Field(a => a.DueDate).Editable(false);
model.Field(a => a.ClosedDate).Editable(false);
})
.PageSize(50)
.Read(read => read.Action("GetMeetingActionItems_All", "ChangeControl", new { planNumber = Model.PlanNumber }))
)
)
</div>
</div>
</div>
}
</body>
@Html.Partial("_CCReassignOwner")
<script type="text/javascript">
function DownloadCCAttachment(e) {
e.preventDefault();
var dataItem = this.dataItem($(e.currentTarget).closest("tr"));
var fileGUID = dataItem.FileGUID;
var attachmentID = dataItem.AttachmentID;
if (fileGUID != null) {
window.location = '/ChangeControl/DownloadCCFile?fileGuid=' + fileGUID + '&planNumber=' + "@Model.PlanNumber";
}
else {
alert("There is no Attachment to display ")
}
}
function ProcessLinkBreaks(data) {
var template = "";
if (data != null) {
var tempValue = data.split('~');
for (var i = 0; i < tempValue.length; i++) {
var value = tempValue[i];
template += value + "<BR>" + " ";
}
}
return template;
}
function DisplayECNLinks(data) {
var template = "";
if (data != null) {
var tempValue = data.split('~');
for (var i = 0; i < tempValue.length; i++) {
var value = tempValue[i];
if (value != null) {
var newtempValue = value.split(',');
var newtemplate = "";
for (var i = 0; i < newtempValue.length; i++) {
newtemplate += "<a href='/ECN/Edit?IssueID=" + newtempValue[i].trim() + "'>" + newtempValue[i] + ", </a>" + " ";
}
}
template += newtemplate + "<BR>" + " ";
}
}
return template;
}
function DisplayLotDispoLinks(data) {
var template = "";
if (data != null) {
var tempValue = data.split('~');
for (var i = 0; i < tempValue.length; i++) {
var value = tempValue[i];
if (value != null) {
var newtempValue = value.split(',');
var newtemplate = "";
for (var i = 0; i < newtempValue.length; i++) {
newtemplate += "<a href='/LotDisposition/Edit?IssueID=" + newtempValue[i] + "'> " + newtempValue[i] + ", </a>" + " ";
}
}
template += newtemplate + "<BR>" + " ";
}
}
return template;
}
$("#GetMeeting").on('click', function (e) {
e.preventDefault()
var meetingid = $("#MeetingList").data("kendoDropDownList").value();
window.location.href = "/ChangeControl/EditMeeting?meetingID=" + meetingid;
})
$("#PCRBList").on('click', function () {
var url = '@Url.Action("ChangeControlList", "Home")';
window.location = url;
})
function DownloadActionItemAttachment(e) {
e.preventDefault();
var dataItem = this.dataItem($(e.currentTarget).closest("tr"));
var fileGUID = dataItem.FileGUID;
var attachmentID = dataItem.AttachmentID;
if (fileGUID != null) {
window.location = '/ChangeControl/DownloadActionItemFile?fileGuid=' + fileGUID + '&planNumber=' + "@Model.PlanNumber";
}
else {
alert("There is no Attachment to display ")
}
}
</script>