5187 lines
230 KiB
Plaintext
5187 lines
230 KiB
Plaintext
@model Fab2ApprovalSystem.Models.CorrectiveAction
|
|
|
|
@{
|
|
ViewBag.Title = "Edit";
|
|
}
|
|
|
|
<style>
|
|
table {
|
|
border-spacing: 5px;
|
|
padding: 5px;
|
|
border-color: white;
|
|
vertical-align: top;
|
|
}
|
|
|
|
.k-header .k-link {
|
|
text-align: center;
|
|
vertical-align: top;
|
|
}
|
|
|
|
.k-grid-edit-row input {
|
|
width: 100%;
|
|
}
|
|
|
|
.k-grid .k-grid-header .k-header .k-link {
|
|
height: auto;
|
|
}
|
|
|
|
.k-grid .k-grid-header .k-header {
|
|
white-space: normal;
|
|
}
|
|
|
|
.k-grid .k-edit-cell input {
|
|
width: 100%;
|
|
}
|
|
|
|
#cover-spin {
|
|
position: fixed;
|
|
width: 100%;
|
|
left: 0;
|
|
right: 0;
|
|
top: 0;
|
|
bottom: 0;
|
|
background-color: rgba(255,255,255,0.7);
|
|
z-index: 9999;
|
|
display: none;
|
|
}
|
|
|
|
@@-webkit-keyframes spin {
|
|
from {
|
|
-webkit-transform: rotate(0deg);
|
|
}
|
|
|
|
to {
|
|
-webkit-transform: rotate(360deg);
|
|
}
|
|
}
|
|
|
|
@@keyframes spin {
|
|
from {
|
|
transform: rotate(0deg);
|
|
}
|
|
|
|
to {
|
|
transform: rotate(360deg);
|
|
}
|
|
}
|
|
|
|
#cover-spin::after {
|
|
content: '';
|
|
display: block;
|
|
position: absolute;
|
|
left: 48%;
|
|
top: 40%;
|
|
width: 40px;
|
|
height: 40px;
|
|
border-style: solid;
|
|
border-color: black;
|
|
border-top-color: transparent;
|
|
border-width: 4px;
|
|
border-radius: 50%;
|
|
-webkit-animation: spin .8s linear infinite;
|
|
animation: spin .8s linear infinite;
|
|
}
|
|
#documentControls{
|
|
z-index:9998;
|
|
}
|
|
</style>
|
|
|
|
<link rel="stylesheet" href="/Content/kendo/kendo.blueopal.min.css" />
|
|
<link rel="stylesheet" href="~/Content/kendogridcustom.css" />
|
|
|
|
<body onload="StartTimers();" onmousemove="ResetTimers();" onkeydown="ResetTimers();">
|
|
<div id="cover-spin">
|
|
|
|
</div>
|
|
@using (Html.BeginForm())
|
|
{
|
|
<input type="hidden" id="currentStep" value="@Model.CurrentStep" />
|
|
<input type="hidden" id="CANo" value="@Model.CANo" />
|
|
<input type="hidden" id="workFlowNumber" value="@Model.WorkFlowNumber" />
|
|
<input type="hidden" id="approvalStatus" value="@Model.ApprovalStatus" />
|
|
<div id="documentControls">
|
|
@if (ViewBag.IsApprover == "true")
|
|
{
|
|
<div data-spy="affix" data-offset-top="0" data-offset-bottom="500">
|
|
<input type="button" value="Approve" class="btn btn-success btn-xs" id="ApproveDocument" />
|
|
<input type="button" value="Reject" class="btn btn-warning btn-xs" id="RejectDocument" />
|
|
<input type="button" value="Back to CA List" class="btn btn-primary btn-xs" id="CAList" />
|
|
<input type="button" value="Save" class="btn btn-primary btn-xs" id="SaveCorrectiveAction" />
|
|
<input type="button" value="Section Approval Log" class="btn btn-primary btn-xs" id="ShowSectionApprovalLog" />
|
|
</div>
|
|
}
|
|
else
|
|
{
|
|
<div>
|
|
<div class="panel panel-default center-block" data-spy="affix">
|
|
<input type="button" value="Back to CA List" class="btn btn-primary btn-xs" id="CAList" />
|
|
<input type="button" value="Save" class="btn btn-primary btn-xs" id="SaveCorrectiveAction" />
|
|
<input type="button" value="Section Approval Log" class="btn btn-primary btn-xs" id="ShowSectionApprovalLog" />
|
|
</div>
|
|
</div>
|
|
}
|
|
</div>
|
|
@Html.AntiForgeryToken()
|
|
|
|
|
|
<div class="panel panel-default center-block" style="font-size: 10px">
|
|
<div class="panel-body bg-warning">
|
|
<div class="row">
|
|
<div class="col-sm-12 text-center">
|
|
<font style="color: crimson; font-size:24px;font-weight: bolder">
|
|
Corrective Action
|
|
</font>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="panel panel-default" style="font-size: 10px">
|
|
<div class="panel-body bg-danger">
|
|
<h5>Basic Information</h5>
|
|
</div>
|
|
<div class="panel-body bg-warning">
|
|
<div class="row">
|
|
|
|
|
|
<div class="col-sm-3">
|
|
<div class="row">
|
|
<div class="col-sm-3">
|
|
<label class="control-label pull-right">CA #:</label>
|
|
</div>
|
|
<div class="col-sm-9">
|
|
@Html.TextBoxFor(model => model.CANoDisp, new { id = "txtCANo", @class = "k-textbox", Readonly = "Readonly", style = "background-color:lightblue" })
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-sm-3">
|
|
<div class="row">
|
|
<div class="col-sm-3">
|
|
<label class="control-label pull-right">*Title:</label>
|
|
</div>
|
|
<div class="col-sm-9">
|
|
@Html.TextAreaFor(model => model.CATitle, new { id = "txtCATitle", @class = "k-textbox", style = "width:100%" })
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col-sm-3">
|
|
<div class="row">
|
|
<div class="col-sm-3">
|
|
<label class="control-label pull-right">*Requestor:</label>
|
|
</div>
|
|
<div class="col-sm-9">
|
|
@(Html.Kendo().DropDownList()
|
|
.Name("RequestorList")
|
|
.BindTo(new SelectList(ViewBag.UserList, "UserID", "UserName"))
|
|
.OptionLabel("Select")
|
|
.HtmlAttributes(new { style = " font-size:10px" })
|
|
.Value(Model.RequestorID.ToString())
|
|
)
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col-sm-3">
|
|
<div class="row">
|
|
<div class="col-sm-3">
|
|
<label class="control-label pull-right">D0 IssueDate:</label>
|
|
</div>
|
|
<div class="form-control-static col-sm-9">
|
|
@Html.TextBoxFor(model => model.IssueDate, new { id = "txtIssueDate", @class = "k-textbox", Readonly = "Readonly", style = "background-color:lightblue" })
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="col-sm-3">
|
|
<div class="row">
|
|
<div class="col-sm-3">
|
|
<label class="control-label pull-right">*CA Assignee:</label>
|
|
</div>
|
|
<div class="col-sm-9">
|
|
@(Html.Kendo().DropDownList()
|
|
.Name("D1AssigneeList")
|
|
//.BindTo(new SelectList(ViewBag.UserList, "D1AssigneeID", "D1AssigneeName"))
|
|
.BindTo(new SelectList(ViewBag.UserList, "UserID", "UserName"))
|
|
.OptionLabel("Select")
|
|
.HtmlAttributes(new { style = "font-size:10px" })
|
|
.Value(Model.D1AssigneeID.ToString())
|
|
)
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-sm-3">
|
|
<div class="row">
|
|
<div class="col-sm-3">
|
|
<label class="control-label pull-right">*CA Source:</label>
|
|
</div>
|
|
<div class="col-sm-9">
|
|
@(Html.Kendo().DropDownList()
|
|
.Name("CASourceList")
|
|
.BindTo(new SelectList(ViewBag.CASourceList, "CASourceID", "CASourceName"))
|
|
.OptionLabel("Select")
|
|
.HtmlAttributes(new { style = "font-size:10px" })
|
|
.Value(Model.CASourceID.ToString())
|
|
)
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col-sm-3">
|
|
<div class="row">
|
|
<div class="col-sm-3">
|
|
<label class="control-label pull-right">Departments:</label>
|
|
</div>
|
|
<div class="col-sm-9">
|
|
@(Html.Kendo().MultiSelect()
|
|
.Name("ModuleIDs")
|
|
.BindTo(new SelectList(ViewBag.ModuleList, "ModuleID", "ModuleName"))
|
|
.HtmlAttributes(new { style = "font-size:10px" })
|
|
.Value(ViewBag.Nothing)
|
|
)
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col-sm-3">
|
|
<div class="row">
|
|
<div class="col-sm-3">
|
|
<label class="control-label pull-right">Status:</label>
|
|
</div>
|
|
<div class="col-sm-9">
|
|
@Html.TextBoxFor(model => model.StatusName, new { id = "txtStatusName", @class = "k-textbox", Readonly = "Readonly", style = "background-color:lightblue" })
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="col-sm-3">
|
|
<div class="row">
|
|
<div class="col-sm-3">
|
|
<label class="control-label pull-right">*CA QA:</label>
|
|
</div>
|
|
<div class="col-sm-9">
|
|
@(Html.Kendo().DropDownList()
|
|
.Name("D1QAList")
|
|
//.BindTo(new SelectList(ViewBag.UserList, "D1QAID", "D1QAName"))
|
|
.BindTo(new SelectList(ViewBag.UserList, "UserID", "UserName"))
|
|
.OptionLabel("Select")
|
|
.HtmlAttributes(new { style = "font-size:10px" })
|
|
.Value(Model.QAID.ToString())
|
|
)
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-sm-3">
|
|
<div class="row">
|
|
<div class="col-sm-3">
|
|
<label class="control-label pull-right">*CA Due Date:</label>
|
|
</div>
|
|
<div class="col-sm-9">
|
|
@if (Model.D8DueDate != null)
|
|
{
|
|
@Html.TextBoxFor(model => model.D8DueDate, new { id = "txtD8DueDate", @class = "k-textbox", Readonly = "Readonly", style = "background-color:lightblue" })
|
|
}
|
|
else
|
|
{
|
|
@(Html.Kendo().DatePickerFor(model => model.D8DueDate)
|
|
.Name("txtD8DueDate")
|
|
)
|
|
}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col-sm-3">
|
|
<div class="row">
|
|
<div class="col-sm-3">
|
|
<label class="control-label pull-right">Tool:</label>
|
|
</div>
|
|
<div class="col-sm-9">
|
|
@Html.TextBoxFor(model => model.Tools, new { id = "txtTool", @class = "k-textbox" })
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col-sm-3">
|
|
<div class="row">
|
|
<div class="col-sm-3">
|
|
<label class="control-label pull-right">Approval Date:</label>
|
|
</div>
|
|
<div class="col-sm-9">
|
|
@Html.TextBoxFor(model => model.ApprovedDate, new { id = "txtApprovedDate", @class = "k-textbox", Readonly = "Readonly", style = "background-color:lightblue" })
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="col-sm-3">
|
|
<div class="row">
|
|
<div class="col-sm-3">
|
|
<label class="control-label pull-right">Related MRB:</label>
|
|
</div>
|
|
<div class="col-sm-9">
|
|
@Html.TextBoxFor(model => model.RelatedMRB, new { id = "txtRelatedMRB", @class = "k-textbox" })
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col-sm-3">
|
|
<div class="row">
|
|
<div class="col-sm-3">
|
|
<label class="control-label pull-right">Related Audit#:</label>
|
|
</div>
|
|
<div class="col-sm-9">
|
|
<a href='/Audit/Edit?IssueID=@Model.RelatedAudit'>@Functions.ReturnAuditNoStringFormat(@Model.RelatedAudit) </a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col-sm-3">
|
|
<div class="row">
|
|
<div class="col-sm-3">
|
|
<label class="control-label pull-right">CA Type:</label>
|
|
</div>
|
|
<div class="col-sm-9">
|
|
|
|
@(Html.Kendo().DropDownList()
|
|
.Name("CATypeList")
|
|
|
|
.DataTextField("Text")
|
|
.DataValueField("Value")
|
|
.BindTo(new List<SelectListItem>()
|
|
{
|
|
new SelectListItem()
|
|
{
|
|
Text = "Upto D0",
|
|
Value = "D0"
|
|
},
|
|
new SelectListItem()
|
|
{
|
|
Text = "Upto D3",
|
|
Value = "D3"
|
|
},
|
|
new SelectListItem()
|
|
{
|
|
Text = "Upto D6",
|
|
Value = "D6"
|
|
}
|
|
,
|
|
new SelectListItem()
|
|
{
|
|
Text = "Upto D8",
|
|
Value = "D8"
|
|
}
|
|
}
|
|
)
|
|
.Value(Model.CAType)
|
|
)
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="col-sm-3">
|
|
<div class="row">
|
|
<div class="col-sm-3">
|
|
<label class="control-label pull-right">Related Audit Findings:</label>
|
|
</div>
|
|
<div class="col-sm-9">
|
|
@Html.TextArea("txtRelatedAuditFindings", (string)(ViewBag.AuditFinding), new { @class = "form-control", name = "txtRelatedAuditFindings", Readonly = "Readonly", style = "background-color:lightblue" })
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col-sm-3">
|
|
<div class="row">
|
|
<div class="col-sm-3">
|
|
<label class="control-label pull-right">Related Audit Finding Categories:</label>
|
|
</div>
|
|
<div class="col-sm-9">
|
|
@(Html.Kendo().MultiSelect()
|
|
.Name("RelatedAuditFindingsCategories")
|
|
.BindTo(new SelectList(ViewBag.AuditFindingCategoriesOptions, "AuditFindingCategoryID", "AuditFindingCategoryName"))
|
|
.HtmlAttributes(new { style = " font-size:10px", Readonly = "Readonly" })
|
|
.Value(ViewBag.AuditFindingCategories)
|
|
)
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-sm-3">
|
|
<div class="row">
|
|
<div class="col-sm-3">
|
|
<label class="control-label pull-right">Related Audit Violated Clause:</label>
|
|
</div>
|
|
<div class="col-sm-9">
|
|
@Html.TextBox("txtRelatedViolatedClause", (string)(ViewBag.ViolatedClause), new { @class = "form-control", name = "txtRelatedAuditFindings", Readonly = "Readonly", style = "background-color:lightblue" })
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-sm-3">
|
|
<div class="row">
|
|
<div class="col-sm-3">
|
|
<label class="control-label pull-right">CA Ready:</label>
|
|
</div>
|
|
<div class="col-sm-9">
|
|
@Html.EditorFor(model => model.CASubmitted)
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="panel-body bg-warning">
|
|
<div class="form-group">
|
|
<label class="control-label">Affected Documents:</label>
|
|
<div class="col-sm-12">
|
|
@(Html.Kendo().Upload()
|
|
.Name("files")
|
|
.Async(a => a
|
|
.Save("AttachSave", "CorrectiveAction", new { caNo = Model.CANo })
|
|
.AutoUpload(true)
|
|
)
|
|
.ShowFileList(false)
|
|
.Events(events => events
|
|
.Success("onFileUploadSuccess")
|
|
.Upload("CheckFileType")
|
|
.Error("onFileUploadError")
|
|
)
|
|
)
|
|
@(Html.Kendo().Grid<Fab2ApprovalSystem.Models.CA_Attachment>()
|
|
.Name("Attachments")
|
|
.Columns(columns =>
|
|
{
|
|
columns.Bound(a => a.ID).Visible(false);
|
|
columns.Bound(a => a.CANo).Visible(false);
|
|
columns.Bound(a => a.FileGUID).Visible(false);
|
|
columns.Bound(a => a.FileName);
|
|
columns.Bound(a => a.UploadedByName);
|
|
columns.Bound(a => a.UploadDateTime).Format("{0:MM/dd/yy hh:mm:ss}");
|
|
columns.Command(command => command.Custom("View").Click("DownloadCAAttachment"));
|
|
columns.Command(command => command.Custom("Delete").Click("DeleteCAAttachment"));
|
|
|
|
})
|
|
.Scrollable()
|
|
.Sortable()
|
|
.HtmlAttributes(new { style = "height:300px; width:100%; font-size: 10px", Readonly = "Readonly" })
|
|
.DataSource(dataSource => dataSource
|
|
.Ajax()
|
|
//.Batch(false)
|
|
.ServerOperation(false)
|
|
.Events(events => events.Error("error_handler"))
|
|
.Model(model =>
|
|
{
|
|
model.Id(p => p.ID);
|
|
})
|
|
.PageSize(50)
|
|
.Read(read => read.Action("Attachment_Read", "CorrectiveAction", new { caNO = Model.CANo }))
|
|
.Destroy(destroy => destroy.Action("DeleteCAAttachment", "CorrectionAction"))
|
|
)
|
|
)
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div id="D0ScrollPoint"></div>
|
|
<div class="panel panel-default" style="font-size: 10px">
|
|
<div class="panel-body bg-danger">
|
|
<table style="margin-top:20px">
|
|
<tr>
|
|
<td>
|
|
<h5>
|
|
<font style="color: crimson; font-weight: bold">
|
|
D0 - Pipeline Analysis
|
|
</font>
|
|
|
|
</h5>
|
|
</td>
|
|
<td>
|
|
<ul>
|
|
<li>Pipeline analysis (where is the suspect product?)</li>
|
|
<li>Provide Emergency Response Actions.</li>
|
|
<li>Evaluate the processing data for applicable lots.</li>
|
|
</ul>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
<a class="btn btn-xs pull-right alert-info" id="SectionD2" role="button" data-toggle="collapse" href="#collapseSectionD0" aria-expanded="true" aria-controls="collapseSectionD0">
|
|
Show/Hide
|
|
</a>
|
|
</div>
|
|
<div class="collapse" id="collapseSectionD0">
|
|
<div class="panel-body bg-warning" style="font-size: 14px">
|
|
<label class="control-label ">D0 Completed:</label>
|
|
@Html.EditorFor(model => model.D0Completed)
|
|
<label class="control-label ">D0 Approved:</label>
|
|
@Html.EditorFor(model => model.D0Approved)
|
|
@if (ViewBag.IsSectionApprover == true && Model.D0Completed == true && Model.D0Approved != true)
|
|
{
|
|
<input type="button" class="btn" value="Approve" id="ApproveD0" />
|
|
<input type="button" class="btn" value="Reject" id="RejectD0" />
|
|
}
|
|
</div>
|
|
<div class="panel-body bg-warning">
|
|
<div class="row">
|
|
<div class="col-sm-6">
|
|
<font style="color: black; font-size:11px;font-weight: bolder">
|
|
*D0-Comments
|
|
</font>
|
|
@Html.TextAreaFor(model => model.D0Comments, 20, 30, new { id = "d0Comments", @class = "k-textbox", style = "font-size: 10px;width: 100%;" })
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
<div class="panel panel-default" style="font-size: 10px">
|
|
<div class="panel-body bg-danger">
|
|
<table style="margin-top:20px">
|
|
<tr>
|
|
<td>
|
|
<h5>
|
|
<font style="color: crimson; font-weight: bold">
|
|
D1 - Establish the Team
|
|
</font>
|
|
|
|
</h5>
|
|
</td>
|
|
<td>
|
|
<ul>
|
|
<li>Identify Team members.</li>
|
|
<li>Identify Team Captain.</li>
|
|
<li>Identify Team Sponsor.</li>
|
|
</ul>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
<a class="btn btn-xs pull-right alert-info" id="SectionD2" role="button" data-toggle="collapse" href="#collapseSectionD1" aria-expanded="true" aria-controls="collapseSectionD1">
|
|
Show/Hide
|
|
</a>
|
|
</div>
|
|
<div class="collapse" id="collapseSectionD1">
|
|
<div class="panel-body bg-warning">
|
|
<div class="row">
|
|
<div class="col-sm-3">
|
|
<label class="control-label pull-right">*CA Team Members:</label>
|
|
</div>
|
|
<div class="col-sm-9">
|
|
@(Html.Kendo().MultiSelect()
|
|
.Name("TeamMemberIDs")
|
|
//.BindTo(new SelectList(ViewBag.UserList, "TeamMemberID", "TeamMemberName"))
|
|
.BindTo(new SelectList(ViewBag.UserList, "UserID", "UserName"))
|
|
.Value(ViewBag.Nothing)
|
|
)
|
|
</div>
|
|
<div class="col-sm-3">
|
|
<label class="control-label pull-right">*CA Team Captain:</label>
|
|
</div>
|
|
<div class="col-sm-9">
|
|
@(Html.Kendo().DropDownList()
|
|
.Name("TeamCaptainList")
|
|
.BindTo(new SelectList(ViewBag.UserList, "UserID", "UserName"))
|
|
.OptionLabel("Select")
|
|
.HtmlAttributes(new { style = " font-size:10px" })
|
|
.Value(Model.TeamCaptainID.ToString())
|
|
)
|
|
</div>
|
|
<div class="col-sm-3">
|
|
<label class="control-label pull-right">*CA Sponsor:</label>
|
|
</div>
|
|
<div class="col-sm-9">
|
|
@(Html.Kendo().DropDownList()
|
|
.Name("CASponsorList")
|
|
.BindTo(new SelectList(ViewBag.UserList, "UserID", "UserName"))
|
|
.OptionLabel("Select")
|
|
.HtmlAttributes(new { style = " font-size:10px" })
|
|
.Value(Model.CASponsorID.ToString())
|
|
)
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
<div class="panel panel-default" style="font-size: 10px">
|
|
<div class="panel-body bg-danger">
|
|
|
|
<table style="margin-top:20px">
|
|
<tr>
|
|
<td>
|
|
<h5>
|
|
<font style="color: crimson; font-weight: bold">
|
|
D2 - Describe the Problem
|
|
</font>
|
|
|
|
</h5>
|
|
</td>
|
|
<td>
|
|
<ul>
|
|
<li>Analyze existing data.</li>
|
|
<li>Report lot codes and date codes.</li>
|
|
<li>Identify "What is wrong with what".</li>
|
|
<li>Prepare Problem Description.</li>
|
|
<li>Develop "Is/Is Not" worksheet (1 of 4).</li>
|
|
</ul>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
<a class="btn btn-xs pull-right alert-info" id="SectionD2" role="button" data-toggle="collapse" href="#collapseSectionD2" aria-expanded="true" aria-controls="collapseSectionD2">
|
|
Show/Hide
|
|
</a>
|
|
|
|
</div>
|
|
<div class="collapse" id="collapseSectionD2">
|
|
<div class="panel-body bg-warning">
|
|
<div class="row">
|
|
|
|
|
|
<div class="col-sm-3">
|
|
<div class="row">
|
|
<div class="col-sm-3">
|
|
<label class="control-label pull-right">Customer Name:</label>
|
|
</div>
|
|
<div class="col-sm-9">
|
|
@Html.TextBoxFor(model => model.CustomerName, new { id = "txtCustomerName", @class = "k-textbox", style = "width:100%" })
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-sm-3">
|
|
<div class="row">
|
|
<div class="col-sm-3">
|
|
<label class="control-label pull-right">Customer Part#:</label>
|
|
</div>
|
|
<div class="col-sm-9">
|
|
@Html.TextBoxFor(model => model.CustomerPartNo, new { id = "txtCustomerPartNo", @class = "k-textbox", style = "width:100%" })
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
<div class="row">
|
|
|
|
|
|
<div class="col-sm-3">
|
|
<div class="row">
|
|
<div class="col-sm-3">
|
|
<label class="control-label pull-right">IFX Part#:</label>
|
|
</div>
|
|
<div class="col-sm-9">
|
|
@Html.TextBoxFor(model => model.IFXPartNo, new { id = "txtIFXPartNo", @class = "k-textbox", style = "width:100%" })
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
</div>
|
|
<div class="row">
|
|
|
|
|
|
<div class="col-sm-3">
|
|
<div class="row">
|
|
<div class="col-sm-3">
|
|
<label class="control-label pull-right">Part Qty:</label>
|
|
</div>
|
|
<div class="col-sm-9">
|
|
@Html.TextBoxFor(model => model.PartQty, new { id = "txtPartQty", @class = "k-textbox", style = "width:100%" })
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-sm-3">
|
|
<div class="row">
|
|
<div class="col-sm-3">
|
|
<label class="control-label pull-right">Invoice #:</label>
|
|
</div>
|
|
<div class="col-sm-9">
|
|
@Html.TextBoxFor(model => model.InvoiceNo, new { id = "txtInvoiceNo", @class = "k-textbox", style = "width:100%" })
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
</div>
|
|
<div class="row">
|
|
|
|
|
|
<div class="col-sm-3">
|
|
<div class="row">
|
|
<div class="col-sm-3">
|
|
<label class="control-label pull-right">Purchase Order #:</label>
|
|
</div>
|
|
<div class="col-sm-9">
|
|
@Html.TextBoxFor(model => model.PurchaseOrderNo, new { id = "txtPurchaseOrderNo", @class = "k-textbox", style = "width:100%" })
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-sm-3">
|
|
<div class="row">
|
|
<div class="col-sm-3">
|
|
<label class="control-label pull-right">Sales Order #:</label>
|
|
</div>
|
|
<div class="col-sm-9">
|
|
@Html.TextBoxFor(model => model.SalesOrderNo, new { id = "txtSalesOrderNo", @class = "k-textbox", style = "width:100%" })
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
</div>
|
|
<div class="row">
|
|
<div class="col-sm-3">
|
|
<div class="row">
|
|
<div class="col-sm-3">
|
|
<label class="control-label pull-right">Dollar Impact:</label>
|
|
</div>
|
|
<div class="col-sm-9">
|
|
@Html.TextBoxFor(model => model.DollarImpact, new { id = "txtDollarImpact", @class = "k-textbox", style = "width:100%" })
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="col-sm-3">
|
|
<div class="row">
|
|
<div class="col-sm-3">
|
|
<label class="control-label pull-right">*Background Info:</label>
|
|
</div>
|
|
<div class="col-sm-9">
|
|
@Html.TextAreaFor(model => model.BackgroundInfo, 20, 30, new { id = "txtBackgroundInfo", @class = "k-textbox", style = "font-size: 10px;width: 100%;" })
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-sm-3">
|
|
<div class="row">
|
|
<div class="col-sm-3">
|
|
<label class="control-label pull-right">*Analysis:</label>
|
|
</div>
|
|
<div class="col-sm-9">
|
|
@Html.TextAreaFor(model => model.Analysis, 20, 30, new { id = "txtAnalysis", @class = "k-textbox", style = "font-size: 10px;width: 100%;" })
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-sm-3">
|
|
<div class="row">
|
|
<div class="col-sm-3">
|
|
<label class="control-label pull-right">*Visual Verification:</label>
|
|
</div>
|
|
<div class="col-sm-9">
|
|
@Html.TextAreaFor(model => model.VisualVerification, 20, 30, new { id = "txtVisualVerification", @class = "k-textbox", style = "font-size: 10px;width: 100%;" })
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
<div id="D3ScrollPoint"></div>
|
|
<div class="panel panel-default" style="font-size: 10px">
|
|
<div class="panel-body bg-danger">
|
|
<table style="margin-top:20px">
|
|
<tr>
|
|
<td>
|
|
<h5>
|
|
<font style="color: crimson; font-weight: bold">
|
|
D3 - Develop Interim Containment Actions (ICAs)
|
|
</font>
|
|
|
|
</h5>
|
|
</td>
|
|
<td>
|
|
<ul>
|
|
<li>Check Team Composition.</li>
|
|
<li>Description of containment action.</li>
|
|
<li>Verify ICAs prior to implementation.</li>
|
|
<li>Implement ICA activities or quantify the risk to the customer.</li>
|
|
</ul>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<a class="btn btn-xs pull-right alert-info" id="SectionD3" role="button" data-toggle="collapse" href="#collapseSectionD3" aria-expanded="true" aria-controls="collapseSectionD3">
|
|
Show/Hide
|
|
</a>
|
|
</div>
|
|
<div class="collapse" id="collapseSectionD3">
|
|
<div class="panel-body bg-warning">
|
|
<div class="row">
|
|
<div class="col-sm-2" style="font-size: 14px">
|
|
<label class="control-label ">D3 Completed:</label>
|
|
@Html.EditorFor(model => model.D3Completed)
|
|
<label class="control-label ">D3 Approved:</label>
|
|
@Html.EditorFor(model => model.D3Approved)
|
|
@if (ViewBag.IsSectionApprover == true && Model.D3Completed == true && Model.D3Approved != true)
|
|
{
|
|
<input type="button" class="btn" value="Approve" id="ApproveD3" />
|
|
<input type="button" class="btn" value="Reject" id="RejectD3" />
|
|
}
|
|
</div>
|
|
<div class="col-sm-3" style="font-size: 14px">
|
|
<label class="control-label ">D3 Due Date:</label>
|
|
@*@Html.EditorFor(model => model.D3DueDate, new { id = "txtD3DueDate", @class = "k-textbox", Readonly = "Readonly", style = "background-color:lightblue" })*@
|
|
@Html.TextBoxFor(model => model.D3DueDate, new { id = "txtD3DueDate", @class = "k-textbox", Readonly = "Readonly", style = "background-color:lightblue" })
|
|
</div>
|
|
<div class="col-sm-6 pull-right">
|
|
@Html.ActionLink("Link to blank forms (FTA, Fish Bone 5Whys, Is/Is Not)", "DownloadTemplatesFiles")
|
|
|
|
</div>
|
|
|
|
</div>
|
|
<div class="row">
|
|
<div class="col-sm-3">
|
|
<div class="row">
|
|
<div class="col-sm-3">
|
|
<label class="control-label pull-right">*Interim Containment Action:</label>
|
|
</div>
|
|
<div class="col-sm-9">
|
|
@Html.TextAreaFor(model => model.InterimContainmentAction, 20, 30, new { id = "txtInterimContainmentAction", @class = "k-textbox", style = "font-size: 10px;width: 100%;" })
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-sm-3">
|
|
<div class="row">
|
|
<div class="col-sm-3">
|
|
<label class="control-label pull-right">*ICA Verification Results:</label>
|
|
</div>
|
|
<div class="col-sm-9">
|
|
@Html.TextAreaFor(model => model.ICAVerificationResults, 20, 30, new { id = "txtICAVerificationResults", @class = "k-textbox", style = "font-size: 10px;width: 100%;" })
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-sm-3">
|
|
<div class="row">
|
|
<div class="col-sm-3">
|
|
<label class="control-label pull-right">*ICA Validation Activities:</label>
|
|
</div>
|
|
<div class="col-sm-9">
|
|
@Html.TextAreaFor(model => model.ICAValidationActivities, 20, 30, new { id = "txtICAValidationActivities", @class = "k-textbox", style = "font-size: 10px;width: 100%;" })
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div id="D4ScrollPoint"></div>
|
|
<div class="panel panel-default" style="font-size: 10px">
|
|
<div class="panel-body bg-danger">
|
|
|
|
<table style="margin-top:20px">
|
|
<tr>
|
|
<td>
|
|
<h5>
|
|
<font style="color: crimson; font-weight: bold">
|
|
D4 - Define and Verify Root Cause and Escape Point.
|
|
</font>
|
|
|
|
</h5>
|
|
</td>
|
|
<td>
|
|
<ul>
|
|
<li>Check Team Composition.</li>
|
|
<li>Perform Comparative Analysis (2 of 4).</li>
|
|
<li>Develop root cause theories (3 of 4).</li>
|
|
<li>Evaluate each potential root cause against the Problem Description (4 of 4).</li>
|
|
<li>Identify the "Escape Point" where the effect of the root cause could have been detected.</li>
|
|
<li>Report on DOEs, flow charts, fishbone diagrams.</li>
|
|
</ul>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
<a class="btn btn-xs pull-right alert-info" id="SectionD4" role="button" data-toggle="collapse" href="#collapseSectionD4" aria-expanded="false" aria-controls="collapseSectionD4">
|
|
Show/Hide
|
|
</a>
|
|
|
|
</div>
|
|
<div class="collapse" id="collapseSectionD4">
|
|
<div class="panel-body bg-warning">
|
|
@*<div class="row">*@
|
|
<div class="col-sm-6 pull-left">
|
|
<label class="control-label ">D4 Completed:</label>
|
|
@Html.EditorFor(model => model.D4Completed)
|
|
<label class="control-label ">D4 Approved:</label>
|
|
@Html.EditorFor(model => model.D4Approved)
|
|
@if (ViewBag.IsSectionApprover == true && Model.D4Completed == true && Model.D4Approved != true)
|
|
{
|
|
<input type="button" class="btn" value="Approve" id="ApproveD4" />
|
|
<input type="button" class="btn" value="Reject" id="RejectD4" />
|
|
}
|
|
</div>
|
|
<div class="panel-body bg-warning" style="font-size: 14px">
|
|
|
|
</div>
|
|
<div class="col-sm-6 pull-right">
|
|
@Html.ActionLink("Link to blank forms (FTA, Fish Bone 5Whys, Is/Is Not)", "DownloadTemplatesFiles")
|
|
</div>
|
|
|
|
@*</div>*@
|
|
<div class="row">
|
|
<div class="col-sm-6">
|
|
<div class="row">
|
|
<div class="col-sm-12">
|
|
<font style="color: crimson;">
|
|
Enter in at least one root cause.
|
|
</font>
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
|
|
<div class="col-sm-12">
|
|
<label class="control-label pull-left">Root Cause 1:</label>
|
|
@Html.TextAreaFor(model => model.D4RootCause1, 5, 30, new { id = "txtD4RootCause1", @class = "k-textbox", style = "font-size: 10px;width: 100%;" })
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="col-sm-12">
|
|
<label class="control-label pull-left">Root Cause 2:</label>
|
|
@Html.TextAreaFor(model => model.D4RootCause2, 5, 30, new { id = "txtD4RootCause2", @class = "k-textbox", style = "font-size: 10px;width: 100%;" })
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="col-sm-12">
|
|
<label class="control-label pull-left">Root Cause 3:</label>
|
|
@Html.TextAreaFor(model => model.D4RootCause3, 5, 30, new { id = "txtD4RootCause3", @class = "k-textbox", style = "font-size: 10px;width: 100%;" })
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="col-sm-12">
|
|
<label class="control-label pull-left">Root Cause4:</label>
|
|
@Html.TextAreaFor(model => model.D4RootCause4, 5, 30, new { id = "txtD4RootCause4", @class = "k-textbox", style = "font-size: 10px;width: 100%;" })
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col-sm-6" style="font-size: 10px">
|
|
<div class="row">
|
|
|
|
<div class="col-sm-12">
|
|
@(Html.Kendo().Upload()
|
|
.Name("D4Files")
|
|
.Async(a => a
|
|
.Save("D4FilesAttachSave", "CorrectiveAction", new { caNo = Model.CANo })
|
|
.AutoUpload(true)
|
|
)
|
|
.ShowFileList(false)
|
|
.Events(events => events
|
|
.Success("onD4FileUploadSuccess")
|
|
.Upload("CheckFileType")
|
|
)
|
|
)
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
|
|
<div class="col-sm-12">
|
|
|
|
|
|
|
|
@(Html.Kendo().Grid<Fab2ApprovalSystem.Models.CA_Attachment>()
|
|
.Name("D4Attachments")
|
|
.Columns(columns =>
|
|
{
|
|
columns.Bound(a => a.ID).Visible(false);
|
|
columns.Bound(a => a.CANo).Visible(false);
|
|
columns.Bound(a => a.FileGUID).Visible(false);
|
|
columns.Bound(a => a.FileName);
|
|
columns.Bound(a => a.UploadedByName);
|
|
columns.Bound(a => a.UploadDateTime).Format("{0:MM/dd/yy hh:mm:ss}");
|
|
columns.Command(command => command.Custom("View").Click("DownloadCAAttachment"));
|
|
columns.Command(command => command.Custom("Delete").Click("DeleteD4CAAttachment"));
|
|
|
|
})
|
|
|
|
.Sortable()
|
|
.Scrollable()
|
|
.HtmlAttributes(new { style = "height:300px; width:100%; font-size: 10px" })
|
|
.DataSource(dataSource => dataSource
|
|
.Ajax()
|
|
//.Batch(false)
|
|
.ServerOperation(false)
|
|
.Events(events => events.Error("error_handler"))
|
|
.Model(model =>
|
|
{
|
|
model.Id(p => p.ID);
|
|
})
|
|
.PageSize(50)
|
|
.Read(read => read.Action("GetD4AttachmentList", "CorrectiveAction", new { caNO = Model.CANo }))
|
|
|
|
)
|
|
)
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="col-sm-6">
|
|
<div class="row">
|
|
<div class="col-sm-12">
|
|
<label class="control-label pull-left">*Root Cause Verification:</label>
|
|
@Html.TextAreaFor(model => model.RootCauseVerification, 5, 30, new { id = "txtRootCauseVerification", @class = "k-textbox", style = "font-size: 10px;width: 100%;" })
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="col-sm-12">
|
|
<label class="control-label pull-left">*Escape Point:</label>
|
|
@Html.TextAreaFor(model => model.EscapePoint, 5, 30, new { id = "txtEscapePoint", @class = "k-textbox", style = "font-size: 10px;width: 100%;" })
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div id="D5ScrollPoint"></div>
|
|
<div class="panel panel-default" style="font-size: 10px">
|
|
|
|
<div class="panel-body bg-danger">
|
|
<table style="margin-top:20px">
|
|
<tr>
|
|
<td>
|
|
<h5>
|
|
<font style="color: crimson; font-weight: bold">
|
|
Corrective/Preventitive Action D5/D6/D7
|
|
</font>
|
|
|
|
</h5>
|
|
</td>
|
|
<td>
|
|
<h5>
|
|
D5
|
|
</h5>
|
|
<ul>
|
|
<li>Check Team Composition.</li>
|
|
<li>Select best PCAs for removal of root causes.</li>
|
|
<li>Select best PCAs for elimination of escape points.</li>
|
|
<li>Verify that all actions will be successful without causing undesirable effects.</li>
|
|
<li>Provide necessary process change notification for applicable changes.</li>
|
|
<li>Provide assessment of risk to the customer.</li>
|
|
</ul>
|
|
</td>
|
|
<td>
|
|
<h5>
|
|
D6
|
|
</h5>
|
|
<ul>
|
|
<li>Implement PCAs identified in D5.</li>
|
|
<li>Perform Comparative Analysis (2 of 4).</li>
|
|
<li>Remove applicable ICAs.</li>
|
|
<li>Validate the PCAs and monitor long-term effects.</li>
|
|
</ul>
|
|
</td>
|
|
<td>
|
|
<h5>
|
|
D7
|
|
</h5>
|
|
<ul>
|
|
<li>Address the cause of the cause (systems changes).</li>
|
|
<li>Modify necessary systems to prevent recurrence.</li>
|
|
<li>Review the impact on FMEA.</li>
|
|
<li>Review Impact on Process Control Plan.</li>
|
|
</ul>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
<a class="btn btn-xs pull-right alert-info" id="SectionD5D6" role="button" data-toggle="collapse" href="#collapseSectionD5D6" aria-expanded="true" aria-controls="collapseSectionD5D6">
|
|
Show/Hide
|
|
</a>
|
|
</div>
|
|
<div class="collapse" id="collapseSectionD5D6">
|
|
<div class="panel-body bg-warning">
|
|
<div class="row">
|
|
<div class="col-sm-4" style="font-size: 14px">
|
|
<label class="control-label ">D5/D6/D7 Completed:</label>
|
|
@Html.EditorFor(model => model.D5Completed)
|
|
|
|
<label class="control-label ">D5/D6/D7 Approved:</label>
|
|
@Html.EditorFor(model => model.D5Approved)
|
|
|
|
|
|
<label class="control-label ">D5/D6/D7 Validated:</label>
|
|
@Html.EditorFor(model => model.D6Validated)
|
|
|
|
@if (ViewBag.IsSectionApprover == true && Model.D5Completed == true && Model.D5Approved != true)
|
|
{
|
|
|
|
<input type="button" class="btn" value="Approve" id="ApproveD5D6D7" />
|
|
<input type="button" class="btn" value="Reject" id="RejectD5D6D7" />
|
|
|
|
}
|
|
</div>
|
|
<div class="col-sm-3" style="font-size: 14px">
|
|
<label class="control-label ">D5/D6/D7 Due Date:</label>
|
|
@*@Html.EditorFor(model => model.D3DueDate, new { id = "txtD3DueDate", @class = "k-textbox", Readonly = "Readonly", style = "background-color:lightblue" })*@
|
|
@Html.TextBoxFor(model => model.D5D7DueDate, new { id = "txtD5D7DueDate", @class = "k-textbox", Readonly = "Readonly", style = "background-color:lightblue" })
|
|
</div>
|
|
</div>
|
|
@*<table>
|
|
<tr>
|
|
<td>
|
|
<label class="control-label ">D5/D6/D7 Completed:</label>
|
|
@Html.EditorFor(model => model.D5Completed)
|
|
</td>
|
|
<td>
|
|
<label class="control-label ">D5/D6/D7 Approved:</label>
|
|
@Html.EditorFor(model => model.D5Approved)
|
|
</td>
|
|
<td>
|
|
<label class="control-label ">D5/D6/D7 Validated:</label>
|
|
@Html.EditorFor(model => model.D6Validated)
|
|
</td>
|
|
@if (ViewBag.IsSectionApprover == true && Model.D5Completed == true && Model.D5Approved != true)
|
|
{
|
|
<td><input type="button" class="btn" value="Approve" id="ApproveD5D6D7" /></td>
|
|
<td><input type="button" class="btn" value="Reject" id="RejectD5D6D7" /></td>
|
|
|
|
|
|
}
|
|
</tr>
|
|
</table>*@
|
|
|
|
|
|
|
|
</div>
|
|
<div class="panel-body bg-warning">
|
|
<div class="row">
|
|
<div class="col-sm-12">
|
|
<font style="color: crimson;">
|
|
Enter in at least corrective/preventitive action item.
|
|
</font>
|
|
</div>
|
|
</div>
|
|
<div>
|
|
@if (!Model.D5Completed)
|
|
{
|
|
<input type="button" id="AddD5D6CorrectiveActionItem" value="Add D5-D6-D7 Corrective/Preventitive Action Item" class="btn btn-primary btn-xs" />
|
|
}
|
|
|
|
</div>
|
|
@if (!Model.D5Completed)
|
|
{
|
|
@(Html.Kendo().Grid<Fab2ApprovalSystem.Models.D5D6CorrectivetAction>()
|
|
.Name("D5D6CorrectivetActions")
|
|
.Columns(columns =>
|
|
{
|
|
columns.Bound(a => a.ID).Visible(false);
|
|
columns.Bound(a => a.CurrentResponsibilityOwnerID).Visible(false);
|
|
columns.Bound(a => a.ResponsibilityOwnerID).Visible(false);
|
|
columns.Bound(a => a.ImprovementID).Visible(false);
|
|
columns.Bound(a => a.CorrectiveAction).Width("500px");
|
|
columns.Bound(a => a.AssignedDate).Format("{0:MM/dd/yy}").Width("50px");
|
|
columns.Bound(a => a.CARequired).Width("50px").Title("Choose").Visible(false);
|
|
columns.Bound(a => a.ActionType).Width("50px").Title("Action Type");
|
|
columns.Bound(a => a.Result).Width("100px");
|
|
columns.Bound(a => a.ECNLinks).ClientTemplate("#=buildECNLinks(ECNLinks)#").Width("100px");
|
|
columns.Bound(a => a.AttachmentLinks).ClientTemplate("#=buildLinks(AttachmentLinks, CANo)#").Width("100px");
|
|
columns.Bound(a => a.ResponsibilityOwnerName).Width("100px");
|
|
columns.Bound(a => a.ECD).Width("100px").Format("{0:MM/dd/yy hh:mm:ss}");
|
|
columns.Bound(a => a.ImplementedDate).Width("100px").Format("{0:MM/dd/yy hh:mm:ss}");
|
|
columns.Bound(a => a.Improvement).Width("150px").Format("{0:MM/dd/yy hh:mm:ss}");
|
|
//columns.Command(c => c.Custom("Add-Remove File").Click("UploadD5D6CAAttachment")).Width("150px");
|
|
columns.Command(c => c.Custom("Edit").Click("EditD5D6CorrectivetActionItem")).Width("70px");
|
|
|
|
columns.Command(c => c.Custom("Delete").Click("DeletetD5D6CorrectivetActionItem")).Width("70px");
|
|
})
|
|
//.ToolBar(toolbar => toolbar.Create().Text("Add Item"))
|
|
.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.CANo).DefaultValue(Model.CANo);
|
|
|
|
|
|
})
|
|
.PageSize(50)
|
|
.Read(read => read.Action("GetD5D6CorrectivetActionList", "CorrectiveAction", new { caNo = Model.CANo }))
|
|
)
|
|
)
|
|
}
|
|
else if (Model.D5Completed && !Model.D5Approved)
|
|
{
|
|
@(Html.Kendo().Grid<Fab2ApprovalSystem.Models.D5D6CorrectivetAction>()
|
|
.Name("D5D6CorrectivetActions")
|
|
.Columns(columns =>
|
|
{
|
|
columns.Bound(a => a.ID).Visible(false);
|
|
columns.Bound(a => a.CurrentResponsibilityOwnerID).Visible(false);
|
|
columns.Bound(a => a.ResponsibilityOwnerID).Visible(false);
|
|
columns.Bound(a => a.ImprovementID).Visible(false);
|
|
columns.Bound(a => a.CorrectiveAction).Width("500px");
|
|
columns.Bound(a => a.AssignedDate).Format("{0:MM/dd/yy}").Width("50px");
|
|
columns.Bound(a => a.CARequired).Width("50px").Title("Choose").Visible(false);
|
|
columns.Bound(a => a.ActionType).Width("50px").Title("Action Type");
|
|
columns.Bound(a => a.Result).Width("100px");
|
|
columns.Bound(a => a.ECNLinks).ClientTemplate("#=buildECNLinks(ECNLinks)#").Width("100px");
|
|
columns.Bound(a => a.AttachmentLinks).ClientTemplate("#=buildLinks(AttachmentLinks, CANo)#").Width("100px");
|
|
columns.Bound(a => a.ResponsibilityOwnerName).Width("100px");
|
|
columns.Bound(a => a.ECD).Width("100px").Format("{0:MM/dd/yy hh:mm:ss}");
|
|
columns.Bound(a => a.ImplementedDate).Width("100px").Format("{0:MM/dd/yy hh:mm:ss}");
|
|
columns.Bound(a => a.Improvement).Width("150px").Format("{0:MM/dd/yy hh:mm:ss}");
|
|
//columns.Command(c => c.Custom("Add-Remove File").Click("UploadD5D6CAAttachment")).Width("150px");
|
|
//columns.Command(c => c.Custom("Edit").Click("EditD5D6CorrectivetActionItem")).Width("70px");
|
|
|
|
//columns.Command(c => c.Custom("Delete").Click("DeletetD5D6CorrectivetActionItem")).Width("70px");
|
|
|
|
})
|
|
//.ToolBar(toolbar => toolbar.Create().Text("Add Item"))
|
|
.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.CANo).DefaultValue(Model.CANo);
|
|
|
|
|
|
})
|
|
.PageSize(50)
|
|
.Read(read => read.Action("GetD5D6CorrectivetActionList", "CorrectiveAction", new { caNo = Model.CANo }))
|
|
)
|
|
)
|
|
}
|
|
else if (Model.D5Completed && Model.D5Approved && !Model.D6Validated)
|
|
{
|
|
@(Html.Kendo().Grid<Fab2ApprovalSystem.Models.D5D6CorrectivetAction>()
|
|
.Name("D5D6CorrectivetActions")
|
|
.Columns(columns =>
|
|
{
|
|
columns.Bound(a => a.ID).Visible(false);
|
|
columns.Bound(a => a.CurrentResponsibilityOwnerID).Visible(false);
|
|
columns.Bound(a => a.ResponsibilityOwnerID).Visible(false);
|
|
columns.Bound(a => a.ImprovementID).Visible(false);
|
|
columns.Bound(a => a.CorrectiveAction).Width("500px");
|
|
columns.Bound(a => a.AssignedDate).Format("{0:MM/dd/yy}").Width("50px");
|
|
columns.Bound(a => a.CARequired).Width("50px").Title("Choose").Visible(false);
|
|
columns.Bound(a => a.ActionType).Width("50px").Title("Action Type");
|
|
columns.Bound(a => a.Result).Width("100px");
|
|
columns.Bound(a => a.ECNLinks).ClientTemplate("#=buildECNLinks(ECNLinks)#").Width("100px");
|
|
columns.Bound(a => a.AttachmentLinks).ClientTemplate("#=buildLinks(AttachmentLinks, CANo)#").Width("100px");
|
|
columns.Bound(a => a.ResponsibilityOwnerName).Width("100px");
|
|
columns.Bound(a => a.ECD).Width("100px").Format("{0:MM/dd/yy hh:mm:ss}");
|
|
columns.Bound(a => a.ImplementedDate).Width("100px").Format("{0:MM/dd/yy hh:mm:ss}");
|
|
columns.Bound(a => a.Improvement).Width("150px").Format("{0:MM/dd/yy hh:mm:ss}");
|
|
columns.Command(c => c.Custom("Edit").Click("EditD5D6CorrectivetActionItem")).Width("70px");
|
|
})
|
|
|
|
.Resizable(resize => resize.Columns(true))
|
|
.Sortable()
|
|
.Scrollable()
|
|
.HtmlAttributes(new { style = "height:125; width:100%; font-size: 11px" })
|
|
.DataSource(dataSource => dataSource
|
|
.Ajax()
|
|
.ServerOperation(false)
|
|
.Model(model =>
|
|
{
|
|
model.Id(p => p.ID);
|
|
model.Field(a => a.CANo).DefaultValue(Model.CANo);
|
|
})
|
|
.PageSize(50)
|
|
.Read(read => read.Action("GetD5D6CorrectivetActionList", "CorrectiveAction", new { caNo = Model.CANo }))
|
|
)
|
|
)
|
|
}
|
|
else if (Model.D6Validated)
|
|
{
|
|
@(Html.Kendo().Grid<Fab2ApprovalSystem.Models.D5D6CorrectivetAction>()
|
|
.Name("D5D6CorrectivetActions")
|
|
.Columns(columns =>
|
|
{
|
|
columns.Bound(a => a.ID).Visible(false);
|
|
columns.Bound(a => a.CurrentResponsibilityOwnerID).Visible(false);
|
|
columns.Bound(a => a.ResponsibilityOwnerID).Visible(false);
|
|
columns.Bound(a => a.ImprovementID).Visible(false);
|
|
columns.Bound(a => a.CorrectiveAction).Width("500px");
|
|
columns.Bound(a => a.AssignedDate).Format("{0:MM/dd/yy}").Width("50px");
|
|
columns.Bound(a => a.CARequired).Width("50px").Title("Choose").Visible(false);
|
|
columns.Bound(a => a.ActionType).Width("50px").Title("Action Type");
|
|
columns.Bound(a => a.Result).Width("100px");
|
|
columns.Bound(a => a.ECNLinks).ClientTemplate("#=buildECNLinks(ECNLinks)#").Width("100px");
|
|
columns.Bound(a => a.AttachmentLinks).ClientTemplate("#=buildLinks(AttachmentLinks, CANo)#").Width("100px");
|
|
columns.Bound(a => a.ResponsibilityOwnerName).Width("100px");
|
|
columns.Bound(a => a.ECD).Width("100px").Format("{0:MM/dd/yy hh:mm:ss}");
|
|
columns.Bound(a => a.ImplementedDate).Width("100px").Format("{0:MM/dd/yy hh:mm:ss}");
|
|
columns.Bound(a => a.Improvement).Width("150px").Format("{0:MM/dd/yy hh:mm:ss}");
|
|
|
|
})
|
|
.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.CANo).DefaultValue(Model.CANo);
|
|
})
|
|
.PageSize(50)
|
|
.Read(read => read.Action("GetD5D6CorrectivetActionList", "CorrectiveAction", new { caNo = Model.CANo }))
|
|
)
|
|
)
|
|
}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div id="D8ScrollPoint"></div>
|
|
<div class="panel panel-default" style="font-size: 10px">
|
|
<div class="panel-body bg-danger">
|
|
|
|
<table style="margin-top:20px">
|
|
<tr>
|
|
<td>
|
|
<h5>
|
|
<font style="color: crimson; font-weight: bold">
|
|
D8 - Congratulate the team.
|
|
</font>
|
|
</h5>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
<a class="btn btn-xs pull-right alert-info" id="SectionD8" role="button" data-toggle="collapse" href="#collapseSectionD8" aria-expanded="true" aria-controls="collapseSectionD8">
|
|
Show/Hide
|
|
</a>
|
|
</div>
|
|
<div class="collapse" id="collapseSectionD8">
|
|
<div class="panel-body bg-warning">
|
|
<label class="control-label ">D8 Completed:</label>
|
|
@Html.EditorFor(model => model.D8Completed)
|
|
<label class="control-label ">D8 Approved:</label>
|
|
@Html.EditorFor(model => model.D8Approved)
|
|
@if (ViewBag.IsSectionApprover == true && Model.D8Completed == true && Model.D8Approved != true)
|
|
{
|
|
<input type="button" class="btn" value="Approve" id="ApproveD8" />
|
|
<input type="button" class="btn" value="Reject" id="RejectD8" />
|
|
}
|
|
</div>
|
|
<div class="panel-body bg-warning">
|
|
<div class="row">
|
|
<div class="col-sm-6 text-left">
|
|
<font style="color: black; font-size:12px;font-weight: bolder">
|
|
How we recognized the team:
|
|
</font>
|
|
@Html.TextAreaFor(model => model.D8TeamRecognition, 3, 100, new { id = "txtD8TeamRecognition", @class = "k-textbox", style = "font-size: 10px;width: 100%;" })
|
|
</div>
|
|
|
|
<div class="col-sm-6">
|
|
<font style="color: black; font-size:12px;font-weight: bolder">
|
|
*Lessons Learned:
|
|
</font>
|
|
@Html.TextAreaFor(model => model.D8LessonsLearned, 3, 100, new { id = "txtD8LessonsLearned", @class = "k-textbox", style = "font-size: 10px;width: 100%;" })
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="panel panel-default" style="font-size: 10px">
|
|
<div class="panel-body bg-danger">
|
|
<h5>
|
|
<font style="color: crimson; font-weight: bold">
|
|
Follow Up
|
|
</font>
|
|
<a class="btn btn-xs pull-right alert-info" id="FollowUpSection" role="button" data-toggle="collapse" href="#collapseSectionFollowUp" aria-expanded="true" aria-controls="collapseSectionFollowUp">
|
|
Show/Hide
|
|
</a>
|
|
</h5>
|
|
</div>
|
|
<div class="collapse" id="collapseSectionFollowUp">
|
|
<div class="panel-body bg-warning">
|
|
<div class="row">
|
|
<div class="col-sm-6 text-left">
|
|
<font style="color: black; font-size:12px;font-weight: bolder">
|
|
Follow Up Due Date
|
|
</font>
|
|
@(Html.Kendo().DatePickerFor(model => model.FollowUpDate)
|
|
.Name("txtFollowUpDate")
|
|
.Format("yyyy-MM-dd")
|
|
)
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="panel panel-default" style="font-size: 10px">
|
|
@if (true)
|
|
{
|
|
<div class="panel-heading">
|
|
@if (ViewBag.IsApprover == "true")
|
|
{
|
|
<button class="k-textbox" data-toggle="modal" id="reAssignApprovers">
|
|
Re-Assign Approvers
|
|
</button>
|
|
<button class="k-textbox" data-toggle="modal" id="additionalApprovers">
|
|
Additional Approvers
|
|
</button>
|
|
}
|
|
else if ((((bool)Session[GlobalVars.IS_ADMIN] && (Request.IsAuthenticated))) && Model.ClosedDate == null)
|
|
{
|
|
<button class="k-textbox" data-toggle="modal" id="additionalApprovers">
|
|
Additional Approvers
|
|
</button>
|
|
}
|
|
|
|
</div>
|
|
<div class="panel-body bg-warning">
|
|
<div class="col-sm-offset-0">
|
|
@if ((bool)Session[GlobalVars.IS_ADMIN] && (Request.IsAuthenticated))
|
|
{
|
|
@(Html.Kendo().Grid<Fab2ApprovalSystem.ViewModels.ApproversListViewModel>()
|
|
.Name("ApproversList")
|
|
.Columns(columns =>
|
|
{
|
|
columns.Bound(a => a.UserID).Visible(false);
|
|
columns.Bound(a => a.ApprovalID).Visible(false);
|
|
columns.Bound(a => a.FullName);
|
|
columns.Bound(a => a.RoleName);
|
|
columns.Bound(a => a.SubRoleName);
|
|
columns.Bound(a => a.Status);
|
|
columns.Bound(a => a.AssignedDate).Format("{0:MM/dd/yy hh:mm:ss}"); ;
|
|
columns.Bound(a => a.CompletedDate).Format("{0:MM/dd/yy hh:mm:ss}"); ;
|
|
columns.Bound(a => a.Comments);
|
|
columns.Command(command => command.Custom("Re-Assign").Click("showReAssignRole")).Width("100px");
|
|
|
|
})
|
|
.Sortable()
|
|
.Scrollable()
|
|
.HtmlAttributes(new { style = "height:200px; width:100%; font-size: 10px" })
|
|
.DataSource(dataSource => dataSource
|
|
.Ajax()
|
|
//.Batch(false)
|
|
.ServerOperation(false)
|
|
.Model(model =>
|
|
{
|
|
model.Id(p => p.ApprovalID);
|
|
})
|
|
.PageSize(20)
|
|
.Read(read => read.Action("GetApproversList", "CorrectiveAction", new { issueID = Model.CANo, step = Model.CurrentStep }))
|
|
)
|
|
.Resizable(resize => resize.Columns(true))
|
|
)
|
|
}
|
|
else
|
|
{
|
|
@(Html.Kendo().Grid<Fab2ApprovalSystem.ViewModels.ApproversListViewModel>()
|
|
.Name("ApproversList")
|
|
.Columns(columns =>
|
|
{
|
|
columns.Bound(a => a.UserID).Visible(false);
|
|
columns.Bound(a => a.ApprovalID).Visible(false);
|
|
columns.Bound(a => a.FullName);
|
|
columns.Bound(a => a.RoleName);
|
|
columns.Bound(a => a.SubRoleName);
|
|
columns.Bound(a => a.Status);
|
|
columns.Bound(a => a.AssignedDate).Format("{0:MM/dd/yy hh:mm:ss}"); ;
|
|
columns.Bound(a => a.CompletedDate).Format("{0:MM/dd/yy hh:mm:ss}"); ;
|
|
columns.Bound(a => a.Comments);
|
|
//columns.Command(command => command.Custom("Re-Assign").Click("showReAssignRole")).Width("100px");
|
|
|
|
})
|
|
.Sortable()
|
|
.Scrollable()
|
|
.HtmlAttributes(new { style = "height:200px; width:100%; font-size: 10px" })
|
|
.DataSource(dataSource => dataSource
|
|
.Ajax()
|
|
//.Batch(false)
|
|
.ServerOperation(false)
|
|
.Model(model =>
|
|
{
|
|
model.Id(p => p.ApprovalID);
|
|
})
|
|
.PageSize(20)
|
|
.Read(read => read.Action("GetApproversList", "CorrectiveAction", new { issueID = Model.CANo, step = Model.CurrentStep }))
|
|
)
|
|
.Resizable(resize => resize.Columns(true))
|
|
)
|
|
}
|
|
</div>
|
|
</div>
|
|
}
|
|
</div>
|
|
}
|
|
|
|
|
|
|
|
|
|
<div class="modal fade" id="D3ContainmentActionForm" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true" data-backdrop="static">
|
|
<div class="modal-dialog">
|
|
<div class="modal-content" style="width: 700px">
|
|
<div class="modal-header" style="background-color: #e4daa1; font-size: 15px;">
|
|
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
|
|
<h4 class="modal-title" id="myModalLabel">Edit Containment Action:</h4>
|
|
</div>
|
|
<div class="modal-body" style="background-color: #75adc6; font-size: 12px;">
|
|
<table>
|
|
<tr>
|
|
<td width="25%">
|
|
<table class="table-condensed" border="0" width="100%">
|
|
<tr>
|
|
<td width="100%" colspan="2">
|
|
<label for="txtECN">Enter ECN#:</label>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td>
|
|
@Html.TextBox("txtECN", null, new { @class = "k-textbox", style = "width:100%" })
|
|
</td>
|
|
<td>
|
|
<input type="button" id='AddECN' value="Add ECN" />
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td colspan="2">
|
|
<select multiple id="lstECNs" style="height: 250px; width: 100%; font-family: Tahoma; border-color: lightgrey"></select>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
|
|
<td colspan="2">
|
|
<input type="button" id='RemoveECN' value="Remove ECN" />
|
|
</td>
|
|
</tr>
|
|
|
|
</table>
|
|
</td>
|
|
<td width="75%">
|
|
<table class="table-condensed" border="0" width="100%">
|
|
<tr>
|
|
<td width="25%">
|
|
<label for="txtContainmentAction">Containment Action:</label>
|
|
</td>
|
|
<td width="75%">
|
|
@Html.TextArea("txtContainmentAction", null, 5, 6, new { @class = "k-textbox", style = "width:100%" })
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td width="25%">
|
|
<label for="txtResult">Result:</label>
|
|
</td>
|
|
<td width="75%">
|
|
@Html.TextBox("txtResult", null, new { @class = "k-textbox", style = "width:100%" })
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td width="25%">
|
|
<label for="ResponsibilityOwner">Responsibility Owner:</label>
|
|
</td>
|
|
<td width="75%">
|
|
@(Html.Kendo().DropDownList()
|
|
.Name("ResponsibilityOwnerIds")
|
|
.BindTo(new SelectList(ViewBag.UserList, "UserID", "UserName"))
|
|
.Value(ViewBag.Nothing)
|
|
.OptionLabel("Select")
|
|
)
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td width="25%">
|
|
<label for="txtECD">ECD:</label>
|
|
</td>
|
|
<td width="75%">
|
|
@(Html.Kendo().DatePicker()
|
|
.Name("txtECD")
|
|
)
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td width="25%">
|
|
<label for="txtImplementedDate">Implemented Date:</label>
|
|
</td>
|
|
<td width="75%">
|
|
@(Html.Kendo().DatePicker()
|
|
.Name("txtImplementedDate")
|
|
)
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
|
|
|
|
|
|
</div>
|
|
<div class="modal-footer" style="background-color: #e4daa1; font-size: 15px;">
|
|
<button type="button" class="btn btn-default" data-dismiss="modal">Cancel</button>
|
|
<button type="button" class="btn btn-primary" id="SaveD3ContainmentAction">OK</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<div class="modal fade" id="D5D6CorrectiveActionForm" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true" data-backdrop="static">
|
|
<div class="modal-dialog">
|
|
<div class="modal-content" style="width: 800px">
|
|
<div class="modal-header" style="background-color: #e4daa1; font-size: 15px;">
|
|
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
|
|
<h4 class="modal-title" id="myModalLabel">Edit Corrective Action:</h4>
|
|
</div>
|
|
<div class="modal-body" style="background-color: #75adc6; font-size: 12px;">
|
|
<table width="100%">
|
|
<tr>
|
|
<td width="20%">
|
|
<input type="hidden" value="" id="hiddenItemNumber" />
|
|
<table class="table-condensed" border="0" width="100%">
|
|
<tr>
|
|
<td width="100%" colspan="2">
|
|
@if (Model.D5Approved)
|
|
{
|
|
<label for="txtD5D6ECN">*Enter ECN#:</label>
|
|
}
|
|
else
|
|
{
|
|
<label for="txtD5D6ECN">Enter ECN#:</label>
|
|
}
|
|
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td colspan="2">
|
|
@(Html.Kendo().MultiSelect()
|
|
.Name("lstD5D6ECNs")
|
|
//.BindTo(new SelectList(ViewBag.UserList, "TeamMemberID", "TeamMemberName"))
|
|
.BindTo(new SelectList(ViewBag.ECNList, "IssueID", "IssueID"))
|
|
.Value(ViewBag.Nothing)
|
|
)
|
|
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td colspan="2">
|
|
<button type="button" class="btn btn-default" id="uploadAIAttachments">Attachments</button>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td width="80%">
|
|
<table class="table-condensed" border="0" width="100%">
|
|
<tr>
|
|
<td width="40%" class="pull-right">
|
|
<label for="txtD5D6CorrectiveAction">*Corrective Action:</label>
|
|
</td>
|
|
<td width="60%">
|
|
@Html.TextArea("txtD5D6CorrectiveAction", "", 5, 20, new { @class = "k-textbox", style = "width:100%" })
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td width="40%" class="pull-right">
|
|
@if (Model.D5Approved)
|
|
{
|
|
<label for="txtD5D6Result">*Result:</label>
|
|
}
|
|
else
|
|
{
|
|
<label for="txtD5D6Result">Result:</label>
|
|
}
|
|
|
|
</td>
|
|
<td>
|
|
@*@Html.TextBox("txtD5D6Result", null, new { @class = "k-textbox", style = "width:100%" })*@
|
|
@Html.TextArea("txtD5D6Result", "", 10, 40 , new { @class = "k-textbox", style = "width:100%" })
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td width="40%" class="pull-right">
|
|
<label for="ResponsibilityOwner">*Responsibility Owner:</label>
|
|
</td>
|
|
<td width="60%">
|
|
@(Html.Kendo().DropDownList()
|
|
.Name("D5D6ResponsibilityOwnerIds")
|
|
.BindTo(new SelectList(ViewBag.UserList, "UserID", "UserName"))
|
|
.Value(ViewBag.Nothing)
|
|
.OptionLabel("Select")
|
|
)
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td width="40%" class="pull-right">
|
|
<label for="txtD5D6ECD">*ECD:</label>
|
|
</td>
|
|
<td width="60%">
|
|
@(Html.Kendo().DatePicker()
|
|
.Name("txtD5D6ECD")
|
|
)
|
|
|
|
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td width="40%" class="pull-right">
|
|
@if (Model.D5Approved)
|
|
{
|
|
<label for="txtD5D6ImplementedDate">*Implemented Date:</label>
|
|
}
|
|
else
|
|
{
|
|
<label for="txtD5D6ImplementedDate">Implemented Date:</label>
|
|
}
|
|
|
|
</td>
|
|
<td width="60%">
|
|
@(Html.Kendo().DatePicker()
|
|
.Name("txtD5D6ImplementedDate")
|
|
)
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td width="40%" class="pull-right">
|
|
<label for="txtChoose">*Action Type:</label>
|
|
</td>
|
|
<td width="60%">
|
|
@(Html.Kendo().DropDownList()
|
|
.Name("txtActionType")
|
|
|
|
.DataTextField("Text")
|
|
.DataValueField("Value")
|
|
.BindTo(new List<SelectListItem>()
|
|
{
|
|
new SelectListItem()
|
|
{
|
|
Text = "Corrective",
|
|
Value = "Corrective"
|
|
},
|
|
new SelectListItem()
|
|
{
|
|
Text = "Preventitive",
|
|
Value = "Preventitive"
|
|
}
|
|
}
|
|
)
|
|
.Value("0")
|
|
)
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
|
|
|
|
|
|
<td>
|
|
<input type="hidden" id="CARequired" value="1" />
|
|
</td>
|
|
|
|
</tr>
|
|
<tr>
|
|
<td width="40%" class="pull-right">
|
|
<label for="txtImprovement">*Improvement Category:</label>
|
|
</td>
|
|
<td width="60%">
|
|
@(Html.Kendo().MultiSelect()
|
|
.Name("D5D6ImprovementIDs")
|
|
.BindTo(new SelectList(ViewBag.D5D6ImprovementIDs, "D5D6ImprovementID", "D5D6ImprovementName"))
|
|
.Value(ViewBag.Nothing)
|
|
.HtmlAttributes(new { style = "font-size:12px" })
|
|
)
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="modal-footer" style="background-color: #e4daa1; font-size: 15px;">
|
|
<button type="button" class="btn btn-default" data-dismiss="modal">Cancel</button>
|
|
<button type="button" class="btn btn-primary" id="SaveD5D6CorrectivetAction">OK</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="modal fade" id="AddD5D6AttachmentForm" data-url='@Url.Action("GetD5D6CAItem")' tabindex="0" role="dialog" aria-hidden="true" data-backdrop="static">
|
|
<div class="modal-dialog modal-lg">
|
|
<div class="modal-content">
|
|
<div class="modal-header" style="background-color: #e4daa1; font-size: 15px;">
|
|
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
|
|
<h4 class="modal-title" id="myModalLabel">Upload Attachments D5-D6 CA:</h4>
|
|
</div>
|
|
<div class="modal-body" id="D5D6AttachmentContainer" style="background-color: #75adc6; font-size: 12px;">
|
|
@Html.Partial("_D5D6CAAttachment", Model.D5D6CorrectivetAction)
|
|
</div>
|
|
<div class="modal-footer" style="background-color: #e4daa1; font-size: 15px;">
|
|
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="modal fade" id="SectionApprovalLog" tabindex="0" role="dialog" aria-hidden="true" data-backdrop="static">
|
|
<div class="modal-dialog modal-lg">
|
|
<div class="modal-content">
|
|
<div class="modal-header" style="background-color: #e4daa1; font-size: 15px;">
|
|
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
|
|
<h4 class="modal-title" id="myModalLabel">Section Approval Log:</h4>
|
|
</div>
|
|
<div class="modal-body" id="SectionApprovalLogContainer" style="background-color: #75adc6; font-size: 12px;">
|
|
@(Html.Kendo().Grid<Fab2ApprovalSystem.Models.CASectionApproval>()
|
|
.Name("SectionApprovalList")
|
|
.Columns(columns =>
|
|
{
|
|
columns.Bound(a => a.Fullname);
|
|
columns.Bound(a => a.DSection);
|
|
columns.Bound(a => a.ApprovalStatus);
|
|
columns.Bound(a => a.DateAssigned).Format("{0:MM/dd/yy hh:mm:ss}"); ;
|
|
columns.Bound(a => a.DateCompleted).Format("{0:MM/dd/yy hh:mm:ss}"); ;
|
|
columns.Bound(a => a.Comments);
|
|
|
|
})
|
|
.Sortable()
|
|
.Scrollable()
|
|
.HtmlAttributes(new { style = "width:100%; font-size: 10px" })
|
|
.DataSource(dataSource => dataSource
|
|
.Ajax()
|
|
//.Batch(false)
|
|
.ServerOperation(false)
|
|
//.Model(model =>
|
|
//{
|
|
// model.Id(p => p.);
|
|
//})
|
|
.PageSize(300)
|
|
.Read(read => read.Action("GetSectionApprovalLog", "CorrectiveAction", new { caNo = Model.CANo }))
|
|
)
|
|
.Resizable(resize => resize.Columns(true))
|
|
)
|
|
|
|
|
|
</div>
|
|
<div class="modal-footer" style="background-color: #e4daa1; font-size: 15px;">
|
|
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="modal fade" id="D7PreventiveActionForm" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true" data-backdrop="static">
|
|
<div class="modal-dialog">
|
|
<div class="modal-content" style="width: 800px">
|
|
<div class="modal-header" style="background-color: #e4daa1; font-size: 15px;">
|
|
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
|
|
<h4 class="modal-title" id="myModalLabel">Edit Preventive Action:</h4>
|
|
</div>
|
|
<div class="modal-body" style="background-color: #75adc6; font-size: 12px;">
|
|
<table width="100%">
|
|
<tr>
|
|
<td width="20%">
|
|
<table class="table-condensed" border="0" width="100%">
|
|
<tr>
|
|
<td width="100%" colspan="2">
|
|
<label for="txtD7ECN">Enter ECN#:</label>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td>
|
|
@Html.TextBox("txtD7ECN", null, new { @class = "k-textbox", style = "width:100%" })
|
|
</td>
|
|
<td>
|
|
<input width:100%" type="button" id='D7AddECN' value="Add ECN" />
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td colspan="2">
|
|
<select multiple id="lstD7ECNs" style="height: 250px; width: 100%; font-family: Tahoma; border-color: lightgrey"></select>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
|
|
<td colspan="2">
|
|
<input type="button" id='D7RemoveECN' value="Remove ECN" />
|
|
</td>
|
|
</tr>
|
|
|
|
</table>
|
|
</td>
|
|
<td width="80%">
|
|
<table class="table-condensed" border="0" width="100%">
|
|
<tr>
|
|
<td width="40%" class="pull-right">
|
|
<label for="txtPreventiveAction">Preventive Action:</label>
|
|
</td>
|
|
<td width="60%">
|
|
@Html.TextArea("txtPreventiveAction", "", 5, 20, new { @class = "k-textbox", style = "width:100%" })
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td width="40%" class="pull-right">
|
|
<label for="txtD7Result">Result:</label>
|
|
</td>
|
|
<td>
|
|
@Html.TextBox("txtD7Result", null, new { @class = "k-textbox", style = "width:100%" })
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td width="40%" class="pull-right">
|
|
<label for="ResponsibilityOwner">Responsibility Owner:</label>
|
|
</td>
|
|
<td width="60%">
|
|
@(Html.Kendo().DropDownList()
|
|
.Name("D7ResponsibilityOwnerIds")
|
|
.BindTo(new SelectList(ViewBag.UserList, "UserID", "UserName"))
|
|
.Value(ViewBag.Nothing)
|
|
.OptionLabel("Select")
|
|
)
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td width="40%" class="pull-right">
|
|
<label for="txtD5D6ECD">ECD:</label>
|
|
</td>
|
|
<td width="60%">
|
|
@(Html.Kendo().DatePicker()
|
|
.Name("txtD7ECD")
|
|
)
|
|
|
|
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td width="40%" class="pull-right">
|
|
<label for="txtD7ImplementedDate">Implemented Date:</label>
|
|
</td>
|
|
<td width="60%">
|
|
@(Html.Kendo().DatePicker()
|
|
.Name("txtD7ImplementedDate")
|
|
)
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
|
|
|
|
|
|
</div>
|
|
<div class="modal-footer" style="background-color: #e4daa1; font-size: 15px;">
|
|
<button type="button" class="btn btn-default" data-dismiss="modal">Cancel</button>
|
|
<button type="button" class="btn btn-primary" id="SaveD7PreventiveAction">OK</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="modal fade" id="AddD7AttachmentForm" data-url='@Url.Action("GetD7PAItem")' tabindex="0" role="dialog" aria-hidden="true" data-backdrop="static">
|
|
<div class="modal-dialog modal-lg">
|
|
<div class="modal-content">
|
|
<div class="modal-header" style="background-color: #e4daa1; font-size: 15px;">
|
|
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
|
|
<h4 class="modal-title" id="myModalLabel">Upload Attachments D7 PA:</h4>
|
|
</div>
|
|
<div class="modal-body" id="D7AttachmentContainer" style="background-color: #75adc6; font-size: 12px;">
|
|
@Html.Partial("_D7PAAttachment", Model.D7PreventiveAction)
|
|
</div>
|
|
<div class="modal-footer" style="background-color: #e4daa1; font-size: 15px;">
|
|
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
<div class="modal fade" id="ApprovalComments" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true" data-backdrop="static">
|
|
<div class="modal-dialog">
|
|
<div class="modal-content">
|
|
<div class="modal-header">
|
|
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
|
|
<h4 class="modal-title" id="myModalLabel">Enter Approval Comments:</h4>
|
|
</div>
|
|
<div class="modal-body">
|
|
<textarea class="form-control" rows="3" id="approvalComments"></textarea>
|
|
</div>
|
|
<div class="modal-footer">
|
|
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
|
|
<button type="button" class="btn btn-primary" id="submitApprovalComments">Confirm Approval</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="modal fade" id="RejectComments" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true" data-backdrop="static">
|
|
<div class="modal-dialog">
|
|
<div class="modal-content">
|
|
<div class="modal-header">
|
|
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
|
|
<h4 class="modal-title" id="myModalLabel">Enter Reject Comments:</h4>
|
|
</div>
|
|
<div class="modal-body">
|
|
<textarea class="form-control" rows="3" id="rejectComments"></textarea>
|
|
</div>
|
|
<div class="modal-footer">
|
|
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
|
|
<button type="button" class="btn btn-primary" id="submitRejectComments">Confirm Reject</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="modal fade" id="SectionRejectComments" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true" data-backdrop="static">
|
|
<div class="modal-dialog">
|
|
<div class="modal-content">
|
|
|
|
<div class="modal-header">
|
|
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
|
|
<h4 class="modal-title" id="myModalLabel">Enter Section Rejection Comments:</h4>
|
|
</div>
|
|
<div class="modal-body">
|
|
<textarea class="form-control" rows="3" id="sectionRejectComments"></textarea>
|
|
</div>
|
|
<div class="modal-footer">
|
|
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
|
|
<button type="button" class="btn btn-primary" id="submitSectionComments">Confirm Rejection</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="modal fade" id="ReAssignApproval" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true" data-backdrop="static">
|
|
<div class="modal-dialog">
|
|
<div class="modal-content">
|
|
<div class="modal-header">
|
|
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
|
|
<h4 class="modal-title" id="myModalLabel">Re-Assign for Approval From: <label class="bg-danger" id="ReAssignApproverFromLabel">Me</label></h4>
|
|
|
|
</div>
|
|
<div class="modal-body">
|
|
<div class="control-group">
|
|
<div class="controls">
|
|
<h4 class="modal-title" id="myModalLabel">Re-Assign for Approval to:</h4>
|
|
<div id='lstReAssignApproval'>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="modal-footer">
|
|
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
|
|
<button type="button" class="btn btn-primary" id="ConfirmReAssignment">Confirm Re-assignment</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="modal fade" id="AdditionalApproval" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true" data-backdrop="static">
|
|
<div class="modal-dialog">
|
|
<div class="modal-content">
|
|
<div class="modal-header">
|
|
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
|
|
<h4 class="modal-title" id="myModalLabel">Add New Approvers:</h4>
|
|
</div>
|
|
<div class="modal-body">
|
|
<div class="control-group">
|
|
<div class="controls">
|
|
<div id='lstAdditionalApproval'>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="modal-footer">
|
|
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
|
|
<button type="button" class="btn btn-primary" id="additionalApproval">Confirm Additional Approver</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</body>
|
|
@if (ViewBag.IsSectionApprover == true && Model.D0Completed == true && Model.D0Approved != true)
|
|
{
|
|
<script>
|
|
document.getElementById("D0ScrollPoint").scrollIntoView();
|
|
</script>
|
|
}
|
|
@if (ViewBag.IsSectionApprover == true && Model.D3Completed == true && Model.D3Approved != true)
|
|
{
|
|
<script>
|
|
document.getElementById("D3ScrollPoint").scrollIntoView();
|
|
</script>
|
|
}
|
|
@if (ViewBag.IsSectionApprover == true && Model.D4Completed == true && Model.D4Approved != true)
|
|
{
|
|
<script>
|
|
document.getElementById("D4ScrollPoint").scrollIntoView();
|
|
</script>
|
|
}
|
|
@if ((ViewBag.IsSectionApprover == true && Model.D5Completed == true && Model.D5Approved != true) || (ViewBag.IsAIAssignee == true && Model.D5Approved == true))
|
|
{
|
|
<script>
|
|
|
|
document.getElementById("D5ScrollPoint").scrollIntoView();
|
|
</script>
|
|
}
|
|
@if (ViewBag.IsSectionApprover == true && Model.D8Completed == true && Model.D8Approved != true)
|
|
{
|
|
<script>
|
|
document.getElementById("D8ScrollPoint").scrollIntoView();
|
|
</script>
|
|
}
|
|
|
|
<script type="text/javascript">
|
|
var d3ContainmentActionOperation;
|
|
var d5CorrectiveActionOperation;
|
|
var d7PrevetativeActionOperation;
|
|
|
|
var d3ContainmenActionID;
|
|
var d5CorrectiveActionID;
|
|
var d7PreventiveActionID;
|
|
|
|
var triggerApproval = false;
|
|
var triggerApprovalSection = false;
|
|
var sectionApproval = false;
|
|
var currentResponsibilityOwnerID = '';
|
|
var currentD5D6AttachmentLinks;
|
|
var currentD7AttachmentLinks;
|
|
var currentRejectingSection = '';
|
|
var currentUserId = @((int)Session[GlobalVars.SESSION_USERID])
|
|
var currentRequestor = @(Model.RequestorID);
|
|
|
|
|
|
$("div.k-multiselect-wrap input.k-input").attr("autocomplete", "off");
|
|
|
|
|
|
|
|
$(document).ready(function(){
|
|
|
|
ShowSectionsOnLoad();
|
|
|
|
if ($('#CASubmitted').is(':checked')) {
|
|
$('#CASubmitted').attr("disabled", true);
|
|
}
|
|
|
|
if ($('#D0Completed').is(':checked')) {
|
|
$('#D0Completed').attr("disabled", true);
|
|
|
|
$('#txtCATitle').attr("disabled", true);
|
|
$("#RequestorList").data("kendoDropDownList").enable(false);
|
|
|
|
//$('#ModuleIDs').attr("disabled", true);
|
|
$('#CASourceList').attr("disabled", true);
|
|
$('#D1AssigneeList').data("kendoDropDownList").enable(false);
|
|
$('#D1QAList').data("kendoDropDownList").enable(false);
|
|
$('#CASourceList').data("kendoDropDownList").enable(false);
|
|
$('#ModuleIDs').data("kendoMultiSelect").enable(false);
|
|
$('#txtD8DueDate').attr("disabled", true);
|
|
$('#txtTool').attr("disabled", true);
|
|
$('#txtApprovedDate').attr("disabled", true);
|
|
$('#txtRelatedMRB').attr("disabled", true);
|
|
$('#CATypeList').data("kendoDropDownList").enable(false);
|
|
$('#d0Comments').attr("disabled", true);
|
|
}
|
|
|
|
|
|
|
|
//if ($('#D0Approved').is(':checked'))
|
|
$('#D0Approved').attr("disabled", true);
|
|
|
|
if ($('#D3Completed').is(':checked')) {
|
|
$('#D3Completed').attr("disabled", true);
|
|
|
|
$('#TeamMemberIDs').data("kendoMultiSelect").enable(false);
|
|
$('#TeamCaptainList').data("kendoDropDownList").enable(false);
|
|
$('#CASponsorList').data("kendoDropDownList").enable(false);
|
|
|
|
$('#txtCustomerName').attr("disabled", true);
|
|
$('#txtCustomerPartNo').attr("disabled", true);
|
|
$('#txtIFXPartNo').attr("disabled", true);
|
|
$('#txtPartQty').attr("disabled", true);
|
|
$('#txtInvoiceNo').attr("disabled", true);
|
|
$('#txtPurchaseOrderNo').attr("disabled", true);
|
|
$('#txtSalesOrderNo').attr("disabled", true);
|
|
$('#txtDollarImpact').attr("disabled", true);
|
|
$('#txtBackgroundInfo').attr("disabled", true);
|
|
$('#txtAnalysis').attr("disabled", true);
|
|
$('#txtVisualVerification').attr("disabled", true);
|
|
$('#txtInterimContainmentAction').attr("disabled", true);
|
|
$('#txtICAVerificationResults').attr("disabled", true);
|
|
$('#txtICAValidationActivities').attr("disabled", true);
|
|
|
|
}
|
|
|
|
|
|
//if ($('#D3Approved').is(':checked'))
|
|
$('#D3Approved').attr("disabled", true);
|
|
|
|
if ($('#D4Completed').is(':checked')) {
|
|
$('#D4Completed').attr("disabled", true);
|
|
|
|
$('#txtD4RootCause1').attr("disabled", true);
|
|
$('#txtD4RootCause2').attr("disabled", true);
|
|
$('#txtD4RootCause3').attr("disabled", true);
|
|
$('#txtD4RootCause4').attr("disabled", true);
|
|
$('#txtRootCauseVerification').attr("disabled", true);
|
|
$('#txtEscapePoint').attr("disabled", true);
|
|
}
|
|
$('#D4Approved').attr("disabled",true);
|
|
|
|
if ($('#D5Completed').is(':checked')) {
|
|
$('#D5Completed').attr("disabled", true);
|
|
|
|
}
|
|
|
|
|
|
$('#D5Approved').attr("disabled", true);
|
|
|
|
if ($('#D6Validated').is(':checked'))
|
|
$('#D6Validated').attr("disabled",true);
|
|
|
|
if ($('#D8Completed').is(':checked')) {
|
|
$('#D8Completed').attr("disabled", true);
|
|
$('#txtD8TeamRecognition').attr("disabled", true);
|
|
$('#txtD8LessonsLearned').attr("disabled", true);
|
|
}
|
|
|
|
$('#D8Approved').attr("disabled", true);
|
|
|
|
})
|
|
function ShowSectionsOnLoad() {
|
|
var data = ReturnModelObject();
|
|
if (data.CAType == 'D0') {
|
|
$('#collapseSectionD0').collapse("show")
|
|
|
|
}
|
|
if (data.CAType == 'D3') {
|
|
$('#collapseSectionD0').collapse("show")
|
|
$('#collapseSectionD1').collapse("show")
|
|
$('#collapseSectionD2').collapse("show")
|
|
$('#collapseSectionD3').collapse("show")
|
|
}
|
|
if (data.CAType == 'D6') {
|
|
$('#collapseSectionD0').collapse("show")
|
|
$('#collapseSectionD1').collapse("show")
|
|
$('#collapseSectionD2').collapse("show")
|
|
$('#collapseSectionD3').collapse("show")
|
|
$('#collapseSectionD4').collapse("show")
|
|
$('#collapseSectionD5D6').collapse("show")
|
|
}
|
|
if (data.CAType == 'D8') {
|
|
$('#collapseSectionD0').collapse("show")
|
|
$('#collapseSectionD1').collapse("show")
|
|
$('#collapseSectionD2').collapse("show")
|
|
$('#collapseSectionD3').collapse("show")
|
|
$('#collapseSectionD4').collapse("show")
|
|
$('#collapseSectionD5D6').collapse("show")
|
|
$('#collapseSectionD8').collapse("show")
|
|
}
|
|
if (data.D8Completed) {
|
|
$('#collapseSectionFollowUp').collapse("show")
|
|
}
|
|
}
|
|
function ShowSections() {
|
|
var data = ReturnModelObject();
|
|
var isD0Vis = $('#collapseSectionD0').is(":visible");
|
|
var isD1Vis = $('#collapseSectionD1').is(":visible");
|
|
var isD2Vis = $('#collapseSectionD2').is(":visible");
|
|
var isD3Vis = $('#collapseSectionD3').is(":visible");
|
|
var isD4Vis = $('#collapseSectionD4').is(":visible");
|
|
var isD5D6Vis = $('#collapseSectionD5D6').is(":visible");
|
|
var isD8Vis = $('#collapseSectionD8').is(":visible");
|
|
var isFollowUpVis = $('#collapseSectionFollowUp').is(":visible");
|
|
|
|
if (data.CAType == 'D0') {
|
|
if (!isD0Vis) {
|
|
$('#collapseSectionD0').collapse("toggle")
|
|
}
|
|
if (isD1Vis) {
|
|
$('#collapseSectionD1').collapse("toggle")
|
|
}
|
|
if (isD2Vis) {
|
|
$('#collapseSectionD2').collapse("toggle")
|
|
}
|
|
if (isD3Vis) {
|
|
$('#collapseSectionD3').collapse("toggle")
|
|
}
|
|
if (isD4Vis) {
|
|
$('#collapseSectionD4').collapse("toggle")
|
|
}
|
|
if (isD5D6Vis) {
|
|
$('#collapseSectionD5D6').collapse("toggle")
|
|
}
|
|
if (isD8Vis) {
|
|
$('#collapseSectionD8').collapse("toggle")
|
|
}
|
|
|
|
}
|
|
if (data.CAType == 'D3') {
|
|
if (!isD0Vis) {
|
|
$('#collapseSectionD0').collapse("toggle")
|
|
}
|
|
if (!isD1Vis) {
|
|
$('#collapseSectionD1').collapse("toggle")
|
|
}
|
|
if (!isD2Vis) {
|
|
$('#collapseSectionD2').collapse("toggle")
|
|
}
|
|
if (!isD3Vis) {
|
|
$('#collapseSectionD3').collapse("toggle")
|
|
}
|
|
if (isD4Vis) {
|
|
$('#collapseSectionD4').collapse("toggle")
|
|
}
|
|
if (isD5D6Vis) {
|
|
$('#collapseSectionD5D6').collapse("toggle")
|
|
}
|
|
if (isD8Vis) {
|
|
$('#collapseSectionD8').collapse("toggle")
|
|
}
|
|
|
|
}
|
|
if (data.CAType == 'D4') {
|
|
if (!isD0Vis) {
|
|
$('#collapseSectionD0').collapse("toggle")
|
|
}
|
|
if (!isD1Vis) {
|
|
$('#collapseSectionD1').collapse("toggle")
|
|
}
|
|
if (!isD2Vis) {
|
|
$('#collapseSectionD2').collapse("toggle")
|
|
}
|
|
if (!isD3Vis) {
|
|
$('#collapseSectionD3').collapse("toggle")
|
|
}
|
|
if (!isD4Vis) {
|
|
$('#collapseSectionD4').collapse("toggle")
|
|
}
|
|
if (isD5D6Vis) {
|
|
$('#collapseSectionD5D6').collapse("toggle")
|
|
}
|
|
if (isD8Vis) {
|
|
$('#collapseSectionD8').collapse("toggle")
|
|
}
|
|
|
|
}
|
|
if (data.CAType == 'D6') {
|
|
if (!isD0Vis) {
|
|
$('#collapseSectionD0').collapse("toggle")
|
|
}
|
|
if (!isD1Vis) {
|
|
$('#collapseSectionD1').collapse("toggle")
|
|
}
|
|
if (!isD2Vis) {
|
|
$('#collapseSectionD2').collapse("toggle")
|
|
}
|
|
if (!isD3Vis) {
|
|
$('#collapseSectionD3').collapse("toggle")
|
|
}
|
|
if (!isD4Vis) {
|
|
$('#collapseSectionD4').collapse("toggle")
|
|
}
|
|
if (!isD5D6Vis) {
|
|
$('#collapseSectionD5D6').collapse("toggle")
|
|
}
|
|
if (isD8Vis) {
|
|
$('#collapseSectionD8').collapse("toggle")
|
|
}
|
|
|
|
}
|
|
if (data.CAType == 'D8') {
|
|
if (!isD0Vis) {
|
|
$('#collapseSectionD0').collapse("toggle")
|
|
}
|
|
if (!isD1Vis) {
|
|
$('#collapseSectionD1').collapse("toggle")
|
|
}
|
|
if (!isD2Vis) {
|
|
$('#collapseSectionD2').collapse("toggle")
|
|
}
|
|
if (!isD3Vis) {
|
|
$('#collapseSectionD3').collapse("toggle")
|
|
}
|
|
if (!isD4Vis) {
|
|
$('#collapseSectionD4').collapse("toggle")
|
|
}
|
|
if (!isD5D6Vis) {
|
|
$('#collapseSectionD5D6').collapse("toggle")
|
|
}
|
|
if (!isD8Vis) {
|
|
$('#collapseSectionD8').collapse("toggle")
|
|
}
|
|
|
|
}
|
|
if (data.D8Completed) {
|
|
if (!isFollowUpVis) {
|
|
$('#collapseSectionFollowUp').collapse("toggle")
|
|
}
|
|
}
|
|
}
|
|
function HideAllSections() {
|
|
//$('.collapse').collapse("hide");
|
|
//$('.collapse').collapse("dispose");
|
|
//$('#collapseSectionD1').collapse("hide");
|
|
//$('#collapseSectionD2').collapse("hide");
|
|
//$('#collapseSectionD3').collapse("hide");
|
|
//$('#collapseSectionD4').collapse("hide");
|
|
//$('#collapseSectionD5D6').collapse("hide");
|
|
//$('#collapseSectionD8').collapse("hide");
|
|
}
|
|
function checkCanCompleteCA()
|
|
{
|
|
|
|
var data = ReturnModelObject();
|
|
if ((data.CAType == "D0" && data.D0Completed) ||
|
|
(data.CAType == "D3" && data.D3Approved) ||
|
|
(data.CAType == "D6" && data.D6Validated) ||
|
|
(data.CAType == "D8" && data.D8Approved) )
|
|
|
|
{
|
|
if ('@ViewBag.Is8DQA' == "true" || '@ViewBag.CanCompleteCA' == "true")
|
|
{
|
|
return true;
|
|
|
|
}
|
|
else
|
|
{
|
|
alert("Only a QA or the Owner is allowed to complete the CA");
|
|
return false;
|
|
|
|
}
|
|
}
|
|
return true;
|
|
}
|
|
|
|
|
|
|
|
var validateD0 = function () {
|
|
|
|
var message = '';
|
|
var dataItem = ReturnModelObject();
|
|
if (!$('#CASubmitted').is(":checked")) { message += "CA Needs to be marked as ready.\n"; }
|
|
if (dataItem.CATitle == '') { message += "CA Title\n"; }
|
|
if (dataItem.RequestorID == '') { message += "RequestorID\n"; }
|
|
if (dataItem.D1AssigneeID == '') { message += "Assignee\n"; }
|
|
if (dataItem.CASourceID == '') { message += "CA Source\n"; }
|
|
if (dataItem.ModuleID == '') { message += "Module\n"; }
|
|
if (dataItem.D8DueDate == '') { message += "CA Due Date\n"; }
|
|
if (dataItem.D0Comments == '') { message += "D0 Comments\n"; }
|
|
//if (dataItem.TeamMemberIDs == '') { message += "Team Members\n"; }
|
|
|
|
if (message != '')
|
|
message = "Please enter the following fields to complete D0\n" + message;
|
|
|
|
|
|
return message;
|
|
}
|
|
|
|
|
|
var validateD3 = function(){
|
|
|
|
var message = '';
|
|
var dataItem = ReturnModelObject();
|
|
if (dataItem.CATitle == ''){ message += "CA Title\n";}
|
|
if (dataItem.RequestorID == ''){message += "RequestorID\n";}
|
|
if (dataItem.D1AssigneeID == ''){message += "Assignee\n";}
|
|
if (dataItem.CASourceID == ''){message += "CA Source\n";}
|
|
if (dataItem.ModuleID == ''){message += "Module\n";}
|
|
if (dataItem.D8DueDate == ''){message += "CA Due Date\n";}
|
|
if (dataItem.TeamMemberIDs == ''){message += "Team Members\n";}
|
|
//if (dataItem.D2ProblemDescription == '') message += "Problem Description\n";
|
|
//if (dataItem.RiskAssessmentAreaIDs == '') message += "Risk Assessment\n";
|
|
if (dataItem.BackgroundInfo == '') message += "Background Info\n";
|
|
if (dataItem.Analysis == '') message += "Analysis\n";
|
|
if (dataItem.VisualVerification == '') message += "Visual Verification Info\n";
|
|
if (dataItem.InterimContainmentAction == '') message += "Interim Containment Actions Info\n";
|
|
if (dataItem.ICAVerificationResults == '') message += "ICA Verification Results\n";
|
|
if (dataItem.ICAValidationActivities == '') message += "ICA Validation Activities\n";
|
|
//if (dataItem.D3RiskAssessmentNotes == '')message += "Notes\n";
|
|
|
|
if (message != '')
|
|
message = "Please enter the following fields to complete D3\n" + message;
|
|
|
|
|
|
return message;
|
|
}
|
|
var validateD3Approval = function () {
|
|
|
|
var message = '';
|
|
//var dataItem = ReturnModelObject();
|
|
//if (dataItem.CATitle == '') { message += "CA Title\n"; }
|
|
//if (dataItem.RequestorID == '') { message += "RequestorID\n"; }
|
|
//if (dataItem.D1AssigneeID == '') { message += "Assignee\n"; }
|
|
//if (dataItem.CASourceID == '') { message += "CA Source\n"; }
|
|
//if (dataItem.ModuleID == '') { message += "Module\n"; }
|
|
//if (dataItem.D8DueDate == '') { message += "CA Due Date\n"; }
|
|
//if (dataItem.TeamMemberIDs == '') { message += "Team Members\n"; }
|
|
//if (dataItem.D2ProblemDescription == '') message += "Problem Description\n";
|
|
//if (dataItem.RiskAssessmentAreaIDs == '') message += "Risk Assessment\n";
|
|
//if (dataItem.D3RiskAssessmentNotes == '')message += "Notes\n";
|
|
|
|
if (message != '')
|
|
message = "Please enter the following fields to complete D3\n" + message;
|
|
|
|
|
|
return message;
|
|
}
|
|
|
|
var validateD4 = function () {
|
|
|
|
var message = '';
|
|
var dataItem = ReturnModelObject();
|
|
if (dataItem.CATitle == '') { message += "CA Title\n"; }
|
|
if (dataItem.RequestorID == '') { message += "RequestorID\n"; }
|
|
if (dataItem.D1AssigneeID == '') { message += "Assignee\n"; }
|
|
if (dataItem.CASourceID == '') { message += "CA Source\n"; }
|
|
if (dataItem.ModuleID == '') { message += "Module\n"; }
|
|
if (dataItem.D8DueDate == '') { message += "CA Due Date\n"; }
|
|
if (dataItem.TeamMemberIDs == '') { message += "Team Members\n"; }
|
|
//if (dataItem.D2ProblemDescription == '') message += "Problem Description\n";
|
|
//if (dataItem.RiskAssessmentAreaIDs == '') message += "Risk Assessment\n";
|
|
if (dataItem.BackgroundInfo == '') message += "Background Info\n";
|
|
if (dataItem.Analysis == '') message += "Analysis\n";
|
|
if (dataItem.VisualVerification == '') message += "Visual Verification Info\n";
|
|
if (dataItem.InterimContainmentAction == '') message += "Interim Containment Actions Info\n";
|
|
if (dataItem.ICAVerificationResults == '') message += "ICA Verification Results\n";
|
|
if (dataItem.ICAValidationActivities == '') message += "ICA Validation Activities\n";
|
|
//if (dataItem.D3RiskAssessmentNotes == '')message += "Notes\n";
|
|
|
|
if (dataItem.D4RootCause1 == '' && dataItem.D4RootCause2 == '' && dataItem.D4RootCause3 == '' && dataItem.D4RootCause4 == '') message += "At least one root cause must be entered\n";
|
|
if (dataItem.RootCauseVerification == '') message += "Root Cause Verification\n";
|
|
if (dataItem.EscapePoint == '') message += "Escape Point\n";
|
|
|
|
|
|
if (message != '')
|
|
message = "Please enter the following fields to complete D3\n" + message;
|
|
|
|
|
|
return message;
|
|
}
|
|
|
|
validateD5 = function(){
|
|
var vgrid = $("#D5D6CorrectivetActions").data("kendoGrid");
|
|
//Getting grid items
|
|
var items = vgrid.dataSource.data();
|
|
var errorMsg = '';
|
|
|
|
if (items.length == 0) {
|
|
alert("Please enter at least one Corrective/Preventitive action...\n");
|
|
return false;
|
|
}
|
|
// iterate through the Grid
|
|
for (i = 0; i < items.length; i++) {
|
|
|
|
var item = items[i];
|
|
|
|
if (item.CARequired == "Yes")
|
|
{
|
|
if (item.ECD == null){
|
|
errorMsg += 'ECD \n';
|
|
}
|
|
|
|
if (item.Improvement == null){
|
|
errorMsg += 'ECD \n';
|
|
}
|
|
|
|
if (item.ResponsibilityOwnerName == null){
|
|
errorMsg = 'Responsibility Owner \n';
|
|
}
|
|
}
|
|
|
|
if (errorMsg != ''){
|
|
alert('Please enter the following fields before validating D5 \n' + errorMsg)
|
|
return false;
|
|
}
|
|
|
|
}
|
|
|
|
return true;
|
|
|
|
}
|
|
var validateD4Approval = function () {
|
|
|
|
var message = '';
|
|
//var dataItem = ReturnModelObject();
|
|
//if (dataItem.CATitle == '') { message += "CA Title\n"; }
|
|
//if (dataItem.RequestorID == '') { message += "RequestorID\n"; }
|
|
//if (dataItem.D1AssigneeID == '') { message += "Assignee\n"; }
|
|
//if (dataItem.CASourceID == '') { message += "CA Source\n"; }
|
|
//if (dataItem.ModuleID == '') { message += "Module\n"; }
|
|
//if (dataItem.D8DueDate == '') { message += "CA Due Date\n"; }
|
|
//if (dataItem.TeamMemberIDs == '') { message += "Team Members\n"; }
|
|
//if (dataItem.D2ProblemDescription == '') message += "Problem Description\n";
|
|
//if (dataItem.RiskAssessmentAreaIDs == '') message += "Risk Assessment\n";
|
|
//if (dataItem.D3RiskAssessmentNotes == '')message += "Notes\n";
|
|
|
|
if (message != '')
|
|
message = "Please enter the following fields to approve D4\n" + message;
|
|
|
|
|
|
return message;
|
|
}
|
|
var validateD5Approval = function () {
|
|
|
|
var message = '';
|
|
//var dataItem = ReturnModelObject();
|
|
//if (dataItem.CATitle == '') { message += "CA Title\n"; }
|
|
//if (dataItem.RequestorID == '') { message += "RequestorID\n"; }
|
|
//if (dataItem.D1AssigneeID == '') { message += "Assignee\n"; }
|
|
//if (dataItem.CASourceID == '') { message += "CA Source\n"; }
|
|
//if (dataItem.ModuleID == '') { message += "Module\n"; }
|
|
//if (dataItem.D8DueDate == '') { message += "CA Due Date\n"; }
|
|
//if (dataItem.TeamMemberIDs == '') { message += "Team Members\n"; }
|
|
//if (dataItem.D2ProblemDescription == '') message += "Problem Description\n";
|
|
//if (dataItem.RiskAssessmentAreaIDs == '') message += "Risk Assessment\n";
|
|
//if (dataItem.D3RiskAssessmentNotes == '')message += "Notes\n";
|
|
|
|
if (message != '')
|
|
message = "Please enter the following fields to approve D5/D6/D7\n" + message;
|
|
|
|
|
|
return message;
|
|
}
|
|
validateD6 = function(){
|
|
var vgrid = $("#D5D6CorrectivetActions").data("kendoGrid");
|
|
//Getting grid items
|
|
var items = vgrid.dataSource.data();
|
|
var errorMsg = '';
|
|
for (i = 0; i < items.length; i++) {
|
|
|
|
var item = items[i];
|
|
if (item.CARequired == "Yes")
|
|
{
|
|
if (item.ECD == null){
|
|
errorMsg += 'ECD \n';
|
|
}
|
|
|
|
if (item.ImplementedDate == null){
|
|
errorMsg += 'ImplementedDate \n';
|
|
}
|
|
|
|
|
|
if (item.ECNLinks == null && item.AttachmentLinks == null){
|
|
errorMsg += 'ECNs or Attachments \n';
|
|
}
|
|
|
|
if (item.ResponsibilityOwnerName == null){
|
|
errorMsg += 'Responsibility Owner \n';
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (item.ECD == null){
|
|
errorMsg += 'ECD \n';
|
|
}
|
|
|
|
if (item.ImplementedDate == null){
|
|
errorMsg += 'ImplementedDate \n';
|
|
}
|
|
|
|
if (item.ResponsibilityOwnerName == null){
|
|
errorMsg += 'Responsibility Owner \n';
|
|
}
|
|
|
|
}
|
|
|
|
if (errorMsg != ''){
|
|
alert('Please enter the following fields before validating D6 \n' + errorMsg)
|
|
return false;
|
|
}
|
|
|
|
}
|
|
|
|
return true;
|
|
}
|
|
|
|
|
|
|
|
validateD7 = function(){
|
|
var vgrid = $("#D7PreventiveActions").data("kendoGrid");
|
|
//Getting grid items
|
|
var items = vgrid.dataSource.data();
|
|
var errorMsg = '';
|
|
for (i = 0; i < items.length; i++) {
|
|
|
|
var item = items[i];
|
|
|
|
if (item.ECD == null){
|
|
errorMsg += 'ECD \n';
|
|
}
|
|
|
|
if (item.ImplementedDate == null){
|
|
errorMsg = 'ImplementedDate \n';
|
|
}
|
|
if (item.ECNLinks == null && item.AttachmentLinks == null){
|
|
errorMsg += 'ECNs oR Attachments \n';
|
|
}
|
|
|
|
if (item.ResponsibilityOwnerName == null){
|
|
errorMsg += 'Responsibility Owner \n';
|
|
}
|
|
|
|
if (errorMsg != ''){
|
|
alert('Please enter the following fields before completing D7 \n' + errorMsg)
|
|
return false;
|
|
}
|
|
|
|
}
|
|
|
|
return true;
|
|
}
|
|
var validateD8 = function () {
|
|
|
|
var message = '';
|
|
var dataItem = ReturnModelObject();
|
|
if (!$('#D6Validated').is(":checked")) message += "D5/D6/D7 Needs to be validated\n."
|
|
if (dataItem.CATitle == '') { message += "CA Title\n"; }
|
|
if (dataItem.RequestorID == '') { message += "RequestorID\n"; }
|
|
if (dataItem.D1AssigneeID == '') { message += "Assignee\n"; }
|
|
if (dataItem.CASourceID == '') { message += "CA Source\n"; }
|
|
if (dataItem.ModuleID == '') { message += "Module\n"; }
|
|
if (dataItem.D8DueDate == '') { message += "CA Due Date\n"; }
|
|
if (dataItem.TeamMemberIDs == '') { message += "Team Members\n"; }
|
|
//if (dataItem.D2ProblemDescription == '') message += "Problem Description\n";
|
|
//if (dataItem.RiskAssessmentAreaIDs == '') message += "Risk Assessment\n";
|
|
if (dataItem.BackgroundInfo == '') message += "Background Info\n";
|
|
if (dataItem.Analysis == '') message += "Analysis\n";
|
|
if (dataItem.VisualVerification == '') message += "Visual Verification Info\n";
|
|
if (dataItem.InterimContainmentAction == '') message += "Interim Containment Actions Info\n";
|
|
if (dataItem.ICAVerificationResults == '') message += "ICA Verification Results\n";
|
|
if (dataItem.ICAValidationActivities == '') message += "ICA Validation Activities\n";
|
|
//if (dataItem.D3RiskAssessmentNotes == '')message += "Notes\n";
|
|
|
|
if (dataItem.D4RootCause1 == '' && dataItem.D4RootCause2 == '' && dataItem.D4RootCause3 == '' && dataItem.D4RootCause4 == '') message += "At least one root cause must be entered\n";
|
|
if (dataItem.RootCauseVerification == '') message += "Root Cause Verification\n";
|
|
if (dataItem.EscapePoint == '') message += "Escape Point\n";
|
|
|
|
if (dataItem.D8LessonsLearned == '') message += "Lessons Learned\n"
|
|
|
|
|
|
if (message != '')
|
|
message = "Please enter the following fields to complete D8\n" + message;
|
|
|
|
|
|
return message;
|
|
}
|
|
var validateD8Approval = function () {
|
|
|
|
var message = '';
|
|
//var dataItem = ReturnModelObject();
|
|
//if (dataItem.CATitle == '') { message += "CA Title\n"; }
|
|
//if (dataItem.RequestorID == '') { message += "RequestorID\n"; }
|
|
//if (dataItem.D1AssigneeID == '') { message += "Assignee\n"; }
|
|
//if (dataItem.CASourceID == '') { message += "CA Source\n"; }
|
|
//if (dataItem.ModuleID == '') { message += "Module\n"; }
|
|
//if (dataItem.D8DueDate == '') { message += "CA Due Date\n"; }
|
|
//if (dataItem.TeamMemberIDs == '') { message += "Team Members\n"; }
|
|
//if (dataItem.D2ProblemDescription == '') message += "Problem Description\n";
|
|
//if (dataItem.RiskAssessmentAreaIDs == '') message += "Risk Assessment\n";
|
|
//if (dataItem.D3RiskAssessmentNotes == '')message += "Notes\n";
|
|
|
|
if (message != '')
|
|
message = "Please enter the following fields to complete D8\n" + message;
|
|
|
|
|
|
return message;
|
|
}
|
|
|
|
$('#CATypeList').on('change', function () {
|
|
HideAllSections();
|
|
|
|
ShowSections();
|
|
})
|
|
$('#D0Completed').on('change', function () {
|
|
data = ReturnModelObject();
|
|
if (currentUserId == data.D1AssigneeID) {
|
|
var message = validateD0();
|
|
if (message == '') {
|
|
TriggerSectionApproval('D0')
|
|
}
|
|
else {
|
|
$('#D0Completed').prop('checked', false);
|
|
|
|
alert(message);
|
|
|
|
}
|
|
}
|
|
else {
|
|
$('#D0Completed').prop('checked', false);
|
|
alert('Only the 8D assignee can complete a section')
|
|
}
|
|
})
|
|
$('#ApproveD0').on('click', function () {
|
|
$('#cover-spin').show(0);
|
|
if (!$('#D0Completed').is(":checked")) {
|
|
//$('#D3Completed').prop('checked', false);
|
|
alert("D0 must be completed before it can be approved.")
|
|
$('#cover-spin').hide(0);
|
|
//$('#D3Approved').prop('checked', false);
|
|
return;
|
|
}
|
|
//$('#D0Approved').prop('checked', true);
|
|
ApproveSection('D0')
|
|
//if (!checkCanCompleteCA()) {
|
|
// $('#D0Complete').prop('checked', false);
|
|
// return;
|
|
//}
|
|
|
|
})
|
|
$('#RejectD0').on('click', function () {
|
|
if (!$('#D0Completed').is(":checked")) {
|
|
alert("D0 must be completed before it can be rejected.")
|
|
$('#cover-spin').hide(0);
|
|
return;
|
|
}
|
|
currentRejectingSection = 'D0';
|
|
$('#D0Completed').prop('checked', false);
|
|
$("#SectionRejectComments").modal('show');
|
|
})
|
|
$('#D3Completed').on('change', function () {
|
|
$('#cover-spin').show(0);
|
|
data = ReturnModelObject();
|
|
if (data.D0Approved != true) {
|
|
alert('D0 must be approved before D3 can be completed.');
|
|
$('#D3Completed').prop('checked', false);
|
|
$('#cover-spin').hide(0);
|
|
return
|
|
}
|
|
if (currentUserId == data.D1AssigneeID) {
|
|
var message = validateD3();
|
|
if (message == '') {
|
|
//trigger QA Approval here
|
|
$('#D3Completed').attr("disabled", true);
|
|
TriggerSectionApproval('D3')
|
|
}
|
|
else {
|
|
$('#D3Completed').prop('checked', false);
|
|
alert(message);
|
|
$('#cover-spin').hide(0);
|
|
return
|
|
}
|
|
if (!$('#D0Completed').is(":checked")) {
|
|
$('#D3Completed').prop('checked', false);
|
|
alert("Please complete D0 before completing D3")
|
|
$('#cover-spin').hide(0);
|
|
return;
|
|
}
|
|
}
|
|
else {
|
|
$('#D3Completed').prop('checked', false);
|
|
alert('Only the 8D assignee can complete a section')
|
|
}
|
|
})
|
|
|
|
$('#D3Approved').on('change', function () {
|
|
|
|
if (!$('#D3Completed').is(":checked")) {
|
|
$('#D3Completed').prop('checked', false);
|
|
alert("Please complete D3 before approving D3")
|
|
$('#D3Approved').prop('checked', false);
|
|
return;
|
|
}
|
|
if (true) {
|
|
|
|
}
|
|
|
|
var message = validateD3Approval();
|
|
if (message == '') {
|
|
if (!checkCanCompleteCA()) {
|
|
$('#D3Approved').prop('checked', false);
|
|
return;
|
|
}
|
|
}
|
|
else {
|
|
$('#D3Approved').prop('checked', false);
|
|
alert(message);
|
|
|
|
}
|
|
})
|
|
$('#ApproveD3').on('click', function () {
|
|
|
|
if (!$('#D3Completed').is(":checked")) {
|
|
//$('#D3Completed').prop('checked', false);
|
|
alert("D3 must be completed before it can be approved.")
|
|
//$('#D3Approved').prop('checked', false);
|
|
return;
|
|
}
|
|
|
|
var message = validateD3Approval();
|
|
if (message == '') {
|
|
//$('#D3Approved').prop('checked', true);
|
|
ApproveSection('D3')
|
|
|
|
}
|
|
//if (message == '') {
|
|
// if (!checkCanCompleteCA()) {
|
|
// $('#D3Approved').prop('checked', false);
|
|
// return;
|
|
// }
|
|
//}
|
|
//else {
|
|
// $('#D3Approved').prop('checked', false);
|
|
// alert(message);
|
|
|
|
//}
|
|
})
|
|
$('#RejectD3').on('click', function () {
|
|
|
|
if (!$('#D3Completed').is(":checked")) {
|
|
//$('#D3Completed').prop('checked', false);
|
|
alert("D3 must be completed before it can be rejected.")
|
|
//$('#D3Approved').prop('checked', false);
|
|
return;
|
|
}
|
|
currentRejectingSection = 'D3';
|
|
$('#D3Completed').prop('checked', false);
|
|
$("#SectionRejectComments").modal('show');
|
|
})
|
|
function ApproveSection(dSection) {
|
|
$('#cover-spin').show(0);
|
|
var data = ReturnModelObject();
|
|
var sendInfo = {
|
|
issueID: data.CANo,
|
|
dSection: dSection
|
|
};
|
|
$.ajax({
|
|
url: '/CorrectiveAction/ApproveSection',
|
|
type: "POST",
|
|
contentType: "application/json; charset=utf-8",
|
|
data: JSON.stringify(sendInfo),
|
|
success: function (result) {
|
|
|
|
if (result.indexOf("Successfully Saved") < 0) {
|
|
|
|
alert("There was an error while saving the data.Please re-load the page and check if your changes were saved \n. If the changes were not saved please contact the system administrator");
|
|
|
|
}
|
|
else {
|
|
if (result.indexOf("Last Approver") < 0) {
|
|
$('#' + dSection + 'Approved').prop('checked', false);
|
|
}
|
|
else {
|
|
$('#' + dSection + 'Approved').prop('checked', true);
|
|
//ApproveSection('D5D6D7');
|
|
if (dSection == 'D5D6D7') {
|
|
$('#D5Approved').prop('checked', true);
|
|
TriggerSectionValidation('D5D6D7Validation')
|
|
}
|
|
|
|
|
|
//StartD6D7Validation();
|
|
}
|
|
//
|
|
SaveCA();
|
|
@*alert(result);
|
|
if (result.indexOf("Approval initiated") >= 0) {
|
|
var url = '@Url.Action("Edit", "CorrectiveAction", new { issueID = "__id__" })';
|
|
url = url.replace('amp;', '');
|
|
window.location.href = url.replace('__id__', "@Model.CANo");
|
|
}
|
|
else {
|
|
SetStageCompletionCheckBoxes();
|
|
if (data.D1AssigneeID != '' && ('@Model.Status' == 0)) {
|
|
$("#txtStatusName").val("D1");
|
|
}
|
|
}*@
|
|
}
|
|
|
|
},
|
|
error: function (jqXHR, textStatus, errorThrown) {
|
|
alert("There was an error while saving the data.Please re-load the page and check if your changes were saved \n. If the changes were not saved please contact the system administrator");
|
|
}
|
|
|
|
})
|
|
}
|
|
function ValidateSection(dSection) {
|
|
$('#cover-spin').show(0);
|
|
var data = ReturnModelObject();
|
|
var sendInfo = {
|
|
issueID: data.CANo,
|
|
dSection: dSection
|
|
};
|
|
$.ajax({
|
|
url: '/CorrectiveAction/ApproveSection',
|
|
type: "POST",
|
|
contentType: "application/json; charset=utf-8",
|
|
data: JSON.stringify(sendInfo),
|
|
success: function (result) {
|
|
|
|
if (result.indexOf("Successfully Saved") < 0) {
|
|
|
|
alert("There was an error while saving the data.Please re-load the page and check if your changes were saved \n. If the changes were not saved please contact the system administrator");
|
|
|
|
}
|
|
else {
|
|
if (result.indexOf("Last Approver") < 0) {
|
|
$('#' + dSection + 'Approved').prop('checked', false);
|
|
}
|
|
else {
|
|
$('#D6Validated').prop('checked', true);
|
|
//ApproveSection('D5D6D7');
|
|
|
|
|
|
//StartD6D7Validation();
|
|
}
|
|
//
|
|
SaveCA();
|
|
@* alert(result);
|
|
if (result.indexOf("Approval initiated") >= 0) {
|
|
var url = '@Url.Action("Edit", "CorrectiveAction", new { issueID = "__id__" })';
|
|
url = url.replace('amp;', '');
|
|
window.location.href = url.replace('__id__', "@Model.CANo");
|
|
}
|
|
else {
|
|
SetStageCompletionCheckBoxes();
|
|
if (data.D1AssigneeID != '' && ('@Model.Status' == 0)) {
|
|
$("#txtStatusName").val("D1");
|
|
}
|
|
}*@
|
|
}
|
|
|
|
},
|
|
error: function (jqXHR, textStatus, errorThrown) {
|
|
alert("There was an error while saving the data.Please re-load the page and check if your changes were saved \n. If the changes were not saved please contact the system administrator");
|
|
$('#cover-spin').hide(0);
|
|
}
|
|
|
|
})
|
|
}
|
|
$('#D4Completed').on('change', function () {
|
|
data = ReturnModelObject();
|
|
if (currentUserId == data.D1AssigneeID) {
|
|
if (!$('#D3Approved').is(":checked")) {
|
|
$('#D4Completed').prop('checked', false);
|
|
alert("D3 must be approved before D4 can be completed.")
|
|
return;
|
|
}
|
|
|
|
var message = validateD4();
|
|
if (message == '') {
|
|
TriggerSectionApproval('D4')
|
|
}
|
|
else {
|
|
$('#D4Completed').prop('checked', false);
|
|
alert(message);
|
|
return
|
|
}
|
|
}
|
|
else {
|
|
$('#D4Completed').prop('checked', false);
|
|
alert('Only the 8D assignee can complete a section')
|
|
}
|
|
|
|
|
|
|
|
})
|
|
$('#ApproveD4').on('click', function () {
|
|
|
|
if (!$('#D4Completed').is(":checked")) {
|
|
//$('#D3Completed').prop('checked', false);
|
|
alert("D4 must be completed before it can be approved.")
|
|
//$('#D3Approved').prop('checked', false);
|
|
return;
|
|
}
|
|
|
|
var message = validateD4Approval();
|
|
if (message == '') {
|
|
//$('#D4Approved').prop('checked', true);
|
|
ApproveSection('D4')
|
|
|
|
}
|
|
|
|
|
|
})
|
|
$('#RejectD4').on('click', function () {
|
|
|
|
if (!$('#D4Completed').is(":checked")) {
|
|
alert("D4 must be completed before it can be rejected.")
|
|
return;
|
|
}
|
|
currentRejectingSection = 'D4';
|
|
$('#D4Completed').prop('checked', false);
|
|
$("#SectionRejectComments").modal('show');
|
|
})
|
|
//$('#D5Completed').on('change', function () {
|
|
|
|
// if (!$('#D4Completed').is(":checked"))
|
|
// {
|
|
// $('#D5Completed').prop('checked', false);
|
|
// alert("Please complete D4 before completing D5")
|
|
|
|
// }
|
|
|
|
// if (!validateD5())
|
|
// {
|
|
// $('#D5Completed').prop('checked', false);
|
|
// }
|
|
|
|
//})
|
|
$('#D5Completed').on('change', function () {
|
|
data = ReturnModelObject();
|
|
if (currentUserId == data.D1AssigneeID) {
|
|
if (!$('#D4Approved').is(":checked")) {
|
|
$('#D5Completed').prop('checked', false);
|
|
alert("D4 must be approved before D5 can be completed.")
|
|
return;
|
|
}
|
|
|
|
if (!validateD5()) {
|
|
$('#D5Completed').prop('checked', false);
|
|
return;
|
|
}
|
|
TriggerSectionApproval('D5D6D7');
|
|
}
|
|
else {
|
|
$('#D5Completed').prop('checked', false);
|
|
alert('Only the 8D assignee can complete a section')
|
|
}
|
|
//var message = validateD3();
|
|
|
|
})
|
|
|
|
//$('#D5Approved').on('change', function () {
|
|
|
|
// if (!$('#D5Completed').is(":checked")) {
|
|
// $('#D5Approved').prop('checked', false);
|
|
// alert("Please complete D5 before approving D5")
|
|
|
|
// }
|
|
|
|
// if (!validateD5()) {
|
|
// $('#D5Completed').prop('checked', false);
|
|
// }
|
|
|
|
//})
|
|
$('#ApproveD5D6D7').on('click', function () {
|
|
$('#cover-spin').show(0);
|
|
if (!$('#D5Completed').is(":checked")) {
|
|
//$('#D3Completed').prop('checked', false);
|
|
alert("D5 must be completed before it can be approved.")
|
|
//$('#D3Approved').prop('checked', false);
|
|
$('#cover-spin').hide(0);
|
|
return;
|
|
}
|
|
|
|
var message = validateD5Approval();
|
|
if (message == '') {
|
|
//$('#D3Approved').prop('checked', true);
|
|
ApproveSection('D5D6D7');
|
|
//TriggerSectionValidation('D5D6D7Validation')
|
|
|
|
}
|
|
//$('#cover-spin').hide(0);
|
|
})
|
|
$('#D6Validated').on('change', function () {
|
|
data = ReturnModelObject();
|
|
if (currentUserId == data.RequestorID || '@ViewBag.Is8DQA' == "true" || '@ViewBag.CanCompleteCA' == "true") {
|
|
if (!checkCanCompleteCA()) {
|
|
$('#D6Validated').prop('checked', false);
|
|
$('#cover-spin').hide(0);
|
|
return;
|
|
}
|
|
|
|
if (!$('#D5Approved').is(":checked")) {
|
|
$('#D6Validated').prop('checked', false);
|
|
$('#cover-spin').hide(0);
|
|
alert("D5 Must be approved by QA.")
|
|
|
|
return;
|
|
}
|
|
|
|
if (!validateD6()) {
|
|
$('#D6Validated').prop('checked', false);
|
|
$('#cover-spin').hide(0);
|
|
return;
|
|
}
|
|
}
|
|
else {
|
|
|
|
$('#D6Validated').prop('checked', false);
|
|
alert('Only the 8D requestor or QA can validate')
|
|
$('#cover-spin').hide(0);
|
|
return;
|
|
|
|
}
|
|
ValidateSection('D5D6D7Validation')
|
|
//$('#cover-spin').hide(0);
|
|
})
|
|
|
|
|
|
$('#D7Completed').on('change', function () {
|
|
|
|
if (!$('#D6Validated').is(":checked"))
|
|
{
|
|
$('#D7Completed').prop('checked', false);
|
|
alert("Please validate D6 before completing D7")
|
|
|
|
}
|
|
|
|
if (!validateD7())
|
|
{
|
|
$('#D7Validated').prop('checked', false);
|
|
}
|
|
|
|
})
|
|
$('#D5D6D7Approve').on('click', function () {
|
|
|
|
if (!$('#D5Completed').is(":checked")) {
|
|
alert("D5 must be completed before it can be approved.")
|
|
return;
|
|
}
|
|
|
|
var message = validateD5Approval();
|
|
if (message == '') {
|
|
ApproveSection('D5')
|
|
|
|
}
|
|
|
|
|
|
})
|
|
$('#RejectD5D6D7').on('click', function () {
|
|
|
|
if (!$('#D5Completed').is(":checked")) {
|
|
alert("D5/D6/D7 must be completed before it can be rejected.")
|
|
return;
|
|
}
|
|
currentRejectingSection = 'D5D6D7';
|
|
$('#D5Completed').prop('checked', false);
|
|
$("#SectionRejectComments").modal('show');
|
|
})
|
|
$('#D8Completed').on('change', function () {
|
|
$('#cover-spin').show(0);
|
|
data = ReturnModelObject();
|
|
if (currentUserId == data.D1AssigneeID) {
|
|
var message = validateD8();
|
|
if (message == '') {
|
|
TriggerSectionApproval('D8')
|
|
}
|
|
else {
|
|
$('#D8Completed').prop('checked', false);
|
|
alert(message);
|
|
$('#cover-spin').hide(0);
|
|
}
|
|
}
|
|
else {
|
|
$('#D8Completed').prop('checked', false);
|
|
alert('Only the 8D assignee can complete a section')
|
|
$('#cover-spin').hide(0);
|
|
}
|
|
})
|
|
$('#ApproveD8').on('click', function () {
|
|
$('#cover-spin').show(0);
|
|
if (!$('#D8Completed').is(":checked")) {
|
|
alert("D8 must be completed before it can be approved.")
|
|
$('#cover-spin').hide(0);
|
|
return;
|
|
}
|
|
|
|
var message = validateD8Approval();
|
|
if (message == '') {
|
|
//$('#D8Approved').prop('checked', true);
|
|
ApproveSection('D8')
|
|
|
|
}
|
|
})
|
|
$('#RejectD8').on('click', function () {
|
|
|
|
if (!$('#D8Completed').is(":checked")) {
|
|
alert("D8 must be completed before it can be rejected.")
|
|
return;
|
|
}
|
|
currentRejectingSection = 'D8';
|
|
$('#D8Completed').prop('checked', false);
|
|
$("#SectionRejectComments").modal('show');
|
|
})
|
|
function TriggerSectionApproval(section) {
|
|
$('#cover-spin').show(0);
|
|
var data = ReturnModelObject();
|
|
var confirmationMessage = "Submit " + section + " completion for approval?";
|
|
|
|
if (!confirm(confirmationMessage)) {
|
|
$('#' + section + 'Completed').prop('checked', false);
|
|
if (section == 'D5D6D7') {
|
|
$('#D5Completed').prop('checked', false);
|
|
}
|
|
$('#cover-spin').hide(0);
|
|
return;
|
|
}
|
|
else {
|
|
data.TriggerSectionApproval = true;
|
|
data.SectionApproval = section;
|
|
//alert('getting here')
|
|
$.ajax({
|
|
url: '/CorrectiveAction/Edit',
|
|
type: "POST",
|
|
contentType: "application/json; charset=utf-8",
|
|
data: JSON.stringify(data),
|
|
success: function (result) {
|
|
|
|
if (result.indexOf("Successfully Saved") < 0) {
|
|
|
|
alert("There was an error while saving the data.Please re-load the page and check if your changes were saved \n. If the changes were not saved please contact the system administrator");
|
|
|
|
}
|
|
else {
|
|
alert(result);
|
|
if (result.indexOf("Approval initiated") >= 0) {
|
|
var url = '@Url.Action("ReadOnlyCA", "CorrectiveAction", new { caNo = "__id__" })';
|
|
url = url.replace('amp;', '');
|
|
window.location.href = url.replace('__id__', "@Model.CANo");
|
|
}
|
|
else {
|
|
SetStageCompletionCheckBoxes();
|
|
if (data.D1AssigneeID != '' && ('@Model.Status' == 0)) {
|
|
$("#txtStatusName").val("D1");
|
|
}
|
|
}
|
|
}
|
|
|
|
},
|
|
error: function (jqXHR, textStatus, errorThrown) {
|
|
alert("There was an error while saving the data.Please re-load the page and check if your changes were saved \n. If the changes were not saved please contact the system administrator");
|
|
}
|
|
|
|
})
|
|
}
|
|
|
|
return false;
|
|
}
|
|
function TriggerSectionValidation(section) {
|
|
$('#cover-spin').show(0);
|
|
|
|
var data = ReturnModelObject();
|
|
|
|
data.TriggerSectionApproval = true;
|
|
data.SectionApproval = section;
|
|
$.ajax({
|
|
url: '/CorrectiveAction/Edit',
|
|
type: "POST",
|
|
contentType: "application/json; charset=utf-8",
|
|
data: JSON.stringify(data),
|
|
success: function (result) {
|
|
|
|
if (result.indexOf("Successfully Saved") < 0) {
|
|
|
|
alert("There was an error while saving the data.Please re-load the page and check if your changes were saved \n. If the changes were not saved please contact the system administrator");
|
|
|
|
}
|
|
else {
|
|
alert(result);
|
|
if (result.indexOf("Validation initiated") >= 0) {
|
|
|
|
var url = '@Url.Action("Edit", "CorrectiveAction", new { issueID = "__id__" })';
|
|
url = url.replace('amp;', '');
|
|
window.location.href = url.replace('__id__', "@Model.CANo");
|
|
$('#cover-spin').hide(0);
|
|
}
|
|
else {
|
|
SetStageCompletionCheckBoxes();
|
|
if (data.D1AssigneeID != '' && ('@Model.Status' == 0)) {
|
|
$("#txtStatusName").val("D1");
|
|
}
|
|
$('#cover-spin').hide(0);
|
|
}
|
|
}
|
|
|
|
},
|
|
error: function (jqXHR, textStatus, errorThrown) {
|
|
$('#cover-spin').hide(0);
|
|
alert("There was an error while saving the data.Please re-load the page and check if your changes were saved \n. If the changes were not saved please contact the system administrator");
|
|
}
|
|
|
|
})
|
|
|
|
return false;
|
|
}
|
|
function SaveCA() {
|
|
$('#cover-spin').show(0);
|
|
var data = ReturnModelObject();
|
|
var confirmationMessage = "This CA is set to type " + data.CAType + " and you have completed " + data.CAType + ";Are you sure you want to complete the 8D.\n The 8D will be submitted for Approval, No changes to the document will be allowed after this, except by the Approvers";
|
|
if ((data.CAType == "D0" && data.D0Approved) ||
|
|
(data.CAType == "D3" && data.D3Approved) ||
|
|
(data.CAType == "D6" && data.D6Validated) ||
|
|
(data.CAType == "D8" && data.D8Approved))
|
|
{
|
|
data.TriggerApproval = true;
|
|
}
|
|
|
|
|
|
|
|
$.ajax({
|
|
url: '/CorrectiveAction/Edit',
|
|
type: "POST",
|
|
contentType: "application/json; charset=utf-8",
|
|
data: JSON.stringify(data),
|
|
success: function (result) {
|
|
|
|
if (result.indexOf("Successfully Saved") < 0 && result.indexOf("User is not authorized") < 0) {
|
|
|
|
alert("There was an error while saving the data.Please re-load the page and check if your changes were saved \n. If the changes were not saved please contact the system administrator");
|
|
|
|
}
|
|
if (result.indexOf("User is not authorized") >= 0) {
|
|
alert("User is not authorized to make changes to this CA. Must be designated either a Requestor, Assignee, or QA by the requestor.")
|
|
}
|
|
else
|
|
{
|
|
alert(result);
|
|
if (result.indexOf("Successfully Saved") >= 0)
|
|
{
|
|
$('#cover-spin').hide(0);
|
|
var url = '@Url.Action("ReadOnlyCA", "CorrectiveAction", new { caNo = "__id__" })';
|
|
url = url.replace('amp;', '');
|
|
window.location.href = url.replace('__id__', "@Model.CANo");
|
|
}
|
|
else
|
|
{
|
|
SetStageCompletionCheckBoxes();
|
|
if (data.D1AssigneeID != '' && ('@Model.Status' == 0))
|
|
{
|
|
$("#txtStatusName").val("D1");
|
|
}
|
|
$('#cover-spin').hide(0);
|
|
}
|
|
}
|
|
|
|
},
|
|
error: function (jqXHR, textStatus, errorThrown) {
|
|
alert("There was an error while saving the data.Please re-load the page and check if your changes were saved \n. If the changes were not saved please contact the system administrator");
|
|
$('#cover-spin').hide(0);
|
|
}
|
|
|
|
})
|
|
|
|
return false;
|
|
|
|
|
|
|
|
}
|
|
$("#CASubmitted").on('click', function () {
|
|
var submittedValue = $("#CASubmitted").val();
|
|
if (submittedValue) {
|
|
//If checkbox is now selected as true
|
|
caAssignee = $("#D1AssigneeList").val();
|
|
caQa = $("#D1QAList").val();
|
|
title = $("#txtCATitle").val();
|
|
caSource = $("#CASourceList").val();
|
|
caDueDate = $("#txtD8DueDate").val();
|
|
caRequestor = $("#RequestorList").val();
|
|
var errorMessage = '';
|
|
if (caAssignee == '') {
|
|
errorMessage += 'CA Assignee is missing! \n'
|
|
}
|
|
if (caQa == '') {
|
|
errorMessage += 'CA QA is missing! \n'
|
|
}
|
|
if (title == '') {
|
|
errorMessage += 'CA Title is missing! \n'
|
|
}
|
|
if (caSource == '') {
|
|
errorMessage += 'CA Source is missing! \n'
|
|
}
|
|
if (caDueDate == '') {
|
|
errorMessage += 'CA D8 Due Date is missing! \n'
|
|
}
|
|
if (caRequestor == '') {
|
|
errorMessage += 'CA Requestor is missing! \n'
|
|
}
|
|
|
|
if (errorMessage != '') {
|
|
//Uncheck CA Ready Checkbox
|
|
//Display reason what's missing'
|
|
$("#CASubmitted").prop('checked', false);
|
|
alert('Error! Not able to select CA Ready!\n The following fields must be completed:\n ' + errorMessage);
|
|
|
|
}
|
|
}
|
|
|
|
|
|
});
|
|
$("#SaveCorrectiveAction").on('click', function (e) {
|
|
$('#cover-spin').show(0);
|
|
e.preventDefault();
|
|
|
|
var data = ReturnModelObject();
|
|
var confirmationMessage = "This CA is set to type " + data.CAType + " and you have completed " + data.CAType + ";Are you sure you want to complete the 8D.\n The 8D will be submitted for Approval, No changes to the document will be allowed after this, except by the Approvers";
|
|
|
|
if (data.CASubmitted) {
|
|
$('#CASubmitted').attr("disabled", true);
|
|
}
|
|
|
|
if ((data.CAType == "D0" && data.D0Approved) ||
|
|
(data.CAType == "D3" && data.D3Approved) ||
|
|
(data.CAType == "D6" && data.D7Approved) ||
|
|
(data.CAType == "D8" && data.D8Approved) )
|
|
{
|
|
if (!confirm(confirmationMessage))
|
|
return;
|
|
else
|
|
{
|
|
data.TriggerApproval = true;
|
|
}
|
|
}
|
|
|
|
$.ajax({
|
|
url: '/CorrectiveAction/Edit',
|
|
type: "POST",
|
|
contentType: "application/json; charset=utf-8",
|
|
data: JSON.stringify(data),
|
|
success: function (result) {
|
|
|
|
if (result.indexOf("Successfully Saved") < 0 && result.indexOf("User is not authorized") < 0) {
|
|
|
|
alert("There was an error while saving the data.Please re-load the page and check if your changes were saved \n. If the changes were not saved please contact the system administrator");
|
|
$('#cover-spin').hide(0);
|
|
}
|
|
if (result.indexOf("User is not authorized") >= 0) {
|
|
alert("User is not authorized to make changes to this CA. Must be designated either a Requestor, Assignee, or QA by the requestor.")
|
|
$('#cover-spin').hide(0);
|
|
}
|
|
else
|
|
{
|
|
alert(result);
|
|
$('#cover-spin').hide(0);
|
|
if (result.indexOf("Approval initiated") >= 0)
|
|
{
|
|
var url = '@Url.Action("Edit", "CorrectiveAction", new { issueID = "__id__" })';
|
|
url = url.replace('amp;', '');
|
|
window.location.href = url.replace('__id__', "@Model.CANo");
|
|
}
|
|
else
|
|
{
|
|
SetStageCompletionCheckBoxes();
|
|
if (data.D1AssigneeID != '' && ('@Model.Status' == 0))
|
|
{
|
|
$("#txtStatusName").val("D1");
|
|
}
|
|
}
|
|
}
|
|
|
|
},
|
|
error: function (jqXHR, textStatus, errorThrown) {
|
|
alert("There was an error while saving the data.Please re-load the page and check if your changes were saved \n. If the changes were not saved please contact the system administrator");
|
|
$('#cover-spin').hide(0);
|
|
}
|
|
|
|
})
|
|
|
|
return false;
|
|
|
|
|
|
})
|
|
|
|
var SetStageCompletionCheckBoxes = function(){
|
|
|
|
if ($('#D3Completed').is(':checked'))
|
|
$('#D3Completed').attr("disabled",true);
|
|
|
|
if ($('#D4Completed').is(':checked'))
|
|
$('#D4Completed').attr("disabled",true);
|
|
|
|
if ($('#D5Completed').is(':checked'))
|
|
$('#D5Completed').attr("disabled", true);
|
|
if ($('#D5Approved').is(':checked'))
|
|
$('#D5Approved').attr("disabled", true);
|
|
|
|
if ($('#D6Validated').is(':checked'))
|
|
$('#D6Validated').attr("disabled",true);
|
|
|
|
if ($('#D7Completed').is(':checked'))
|
|
$('#D7Completed').attr("disabled",true);
|
|
|
|
if ($('#D8Completed').is(':checked'))
|
|
$('#D8Completed').attr("disabled",true);
|
|
|
|
}
|
|
var ReturnModelObject = function () {
|
|
var isCASubmitted;
|
|
if ($('#CASubmitted').is(':checked'))
|
|
isCASubmitted = 1;
|
|
else
|
|
isCASubmitted = 0;
|
|
|
|
var isD0Completed
|
|
if ($('#D0Completed').is(':checked'))
|
|
isD0Completed = 1;
|
|
else
|
|
isD0Completed = 0;
|
|
|
|
var isD0Approved
|
|
if ($('#D0Approved').is(':checked')) {
|
|
isD0Approved = 1;
|
|
}
|
|
else
|
|
isD0Approved = 0;
|
|
|
|
var isD3Completed
|
|
if ($('#D3Completed').is(':checked'))
|
|
isD3Completed = 1;
|
|
else
|
|
isD3Completed = 0;
|
|
|
|
var isD3Approved
|
|
if ($('#D3Approved').is(':checked'))
|
|
isD3Approved = 1;
|
|
else
|
|
isD3Approved = 0;
|
|
|
|
var isD4Completed;
|
|
if ($('#D4Completed').is(':checked'))
|
|
isD4Completed = 1;
|
|
else
|
|
isD4Completed = 0;
|
|
var isD4Approved;
|
|
if ($('#D4Approved').is(':checked'))
|
|
isD4Approved = 1;
|
|
else
|
|
isD4Approved = 0;
|
|
|
|
var isD5Completed;
|
|
if ($('#D5Completed').is(':checked'))
|
|
isD5Completed = 1;
|
|
else
|
|
isD5Completed = 0;
|
|
|
|
var isD5Approved;
|
|
if ($('#D5Approved').is(':checked'))
|
|
isD5Approved = 1;
|
|
else
|
|
isD5Approved = 0;
|
|
|
|
var isD6Validated;
|
|
if ($('#D6Validated').is(':checked'))
|
|
isD6Validated = 1;
|
|
else
|
|
isD6Validated = 0;
|
|
|
|
var isD7Completed;
|
|
if ($('#D7Completed').is(':checked'))
|
|
isD7Completed = 1;
|
|
else
|
|
isD7Completed = 0;
|
|
|
|
var isD8Completed;
|
|
if ($('#D8Completed').is(':checked'))
|
|
isD8Completed = 1;
|
|
else
|
|
isD8Completed = 0;
|
|
var isD8Approved;
|
|
if ($('#D8Approved').is(':checked'))
|
|
isD8Approved = 1;
|
|
else
|
|
isD8Approved = 0;
|
|
|
|
var objectData = {
|
|
CANo: "@Model.CANo",
|
|
CATitle: $("#txtCATitle").val(),
|
|
RequestorID: $("#RequestorList").data("kendoDropDownList").value(),
|
|
IssueDate: $("#txtIssueDate").val(),
|
|
CurrentD1AssigneeID: '@Model.CurrentD1AssigneeID',
|
|
D1AssigneeID: $("#D1AssigneeList").data("kendoDropDownList").value(),
|
|
CASourceID: $("#CASourceList").data("kendoDropDownList").value(),
|
|
ModuleIDs: $("#ModuleIDs").data("kendoMultiSelect").value(),
|
|
QAID: $("#D1QAList").data("kendoDropDownList").value(),
|
|
D8DueDate: $("#txtD8DueDate").val(),
|
|
Tools: $("#txtTool").val(),
|
|
ApprovedDate: $("#txtApprovedDate").val(),
|
|
TeamMemberIDs: $("#TeamMemberIDs").data("kendoMultiSelect").value(),
|
|
RelatedMRB: $("#txtRelatedMRB").val(),
|
|
RelatedAudit: $("#txtRelatedAudit").val(),
|
|
CAType : $("#CATypeList").data("kendoDropDownList").value(),
|
|
WorkFlowNumber: $("#workFlowNumber").val(),
|
|
TeamCaptainID: $("#TeamCaptainList").data("kendoDropDownList").value(),
|
|
CASponsorID: $("#CASponsorList").data("kendoDropDownList").value(),
|
|
CASubmitted: isCASubmitted,
|
|
|
|
//D0
|
|
D0Comments : $("#d0Comments").val(),
|
|
D0Completed: isD0Completed,
|
|
D0Approved: isD0Approved,
|
|
//d2
|
|
CustomerName: $("#txtCustomerName").val(),
|
|
CustomerPartNo: $("#txtCustomerPartNo").val(),
|
|
IFXPartNo: $("#txtIFXPartNo").val(),
|
|
PartQty: $("#txtPartQty").val(),
|
|
InvoiceNo: $("#txtInvoiceNo").val(),
|
|
PurchaseOrderNo: $("#txtPurchaseOrderNo").val(),
|
|
SalesOrderNo: $("#txtSalesOrderNo").val(),
|
|
DollarImpact: $("#txtDollarImpact").val(),
|
|
BackgroundInfo: $("#txtBackgroundInfo").val(),
|
|
Analysis: $("#txtAnalysis").val(),
|
|
VisualVerification: $("#txtVisualVerification").val(),
|
|
|
|
//d3
|
|
InterimContainmentAction: $("#txtInterimContainmentAction").val(),
|
|
ICAVerificationResults: $("#txtICAVerificationResults").val(),
|
|
ICAValidationActivities: $("#txtICAValidationActivities").val(),
|
|
|
|
//d4
|
|
RootCauseVerification: $("#txtRootCauseVerification").val(),
|
|
EscapePoint: $("#txtEscapePoint").val(),
|
|
|
|
D2ProblemDescription: $("#txtD2ProblemDescription").val(),
|
|
RiskAssessmentAreaIDs : '',
|
|
D3RiskAssessmentNotes: $("#txtD3RiskAssessmentNotes").val(),
|
|
D0Completed: isD0Completed,
|
|
D3Completed: isD3Completed,
|
|
D3Approved: isD3Approved,
|
|
D4RootCause1: $("#txtD4RootCause1").val(),
|
|
D4RootCause2: $("#txtD4RootCause2").val(),
|
|
D4RootCause3: $("#txtD4RootCause3").val(),
|
|
D4RootCause4: $("#txtD4RootCause4").val(),
|
|
D4Completed: isD4Completed,
|
|
D4Approved: isD4Approved,
|
|
D5Completed: isD5Completed,
|
|
D5Approved: isD5Approved,
|
|
D6Validated: isD6Validated,
|
|
D7Completed: isD7Completed,
|
|
D8Completed: isD8Completed,
|
|
D8Approved: isD8Approved,
|
|
|
|
D8TeamRecognition: $("#txtD8TeamRecognition").val(),
|
|
D8LessonsLearned: $("#txtD8LessonsLearned").val(),
|
|
|
|
//Follow Up
|
|
FollowUpDate: $("#txtFollowUpDate").val(),
|
|
|
|
TriggerApproval: triggerApproval,
|
|
TriggerSectionApproval: triggerApprovalSection,
|
|
SectionApproval: sectionApproval
|
|
}
|
|
|
|
return objectData;
|
|
}
|
|
|
|
|
|
|
|
$("#CAList").on('click', function () {
|
|
var url = '@Url.Action("CorrectiveActionList", "Home")';
|
|
window.location = url;
|
|
})
|
|
|
|
|
|
|
|
|
|
function buildECNLinks(ECNs) {
|
|
var template = "";
|
|
if (ECNs != null) {
|
|
var tempValue = ECNs.split(',');
|
|
for (var i = 0; i < tempValue.length; i++) {
|
|
template += "<a href='/ECN/Edit?IssueID=" + tempValue[i] + "'> " + tempValue[i] + ",</a>" + " ";
|
|
}
|
|
|
|
}
|
|
return template;
|
|
|
|
}
|
|
|
|
|
|
function EditD3ContainmentActionItem(e) {
|
|
var ecdDate;
|
|
var tempecdDate;
|
|
|
|
var implementDate;
|
|
var tempimplementDate;
|
|
|
|
d3ContainmentActionOperation = "Edit";
|
|
clearECNListBox();
|
|
var dataItem = this.dataItem($(e.currentTarget).closest("tr"));
|
|
d3ContainmenActionID = dataItem.ID;
|
|
var ecnLinks = dataItem.ECNLinks;
|
|
|
|
if (dataItem.ECD != null) {
|
|
tempecdDate = new Date(dataItem.ECD);
|
|
ecdDate = (tempecdDate.getMonth() + 1) + '/' + tempecdDate.getDate() + '/' + tempecdDate.getFullYear();
|
|
}
|
|
else
|
|
ecdDate = '';
|
|
|
|
if (dataItem.ImplementedDate != null) {
|
|
tempimplementDate = new Date(dataItem.ImplementedDate);
|
|
implementDate = (tempimplementDate.getMonth() + 1) + '/' + tempimplementDate.getDate() + '/' + tempimplementDate.getFullYear();
|
|
}
|
|
else
|
|
implementDate = '';
|
|
|
|
currentResponsibilityOwnerID = dataItem.CurrentResponsibilityOwnerID;
|
|
$("#txtContainmentAction").val(dataItem.ContainmentAction);
|
|
$("#txtResult").val(dataItem.Result);
|
|
$("#ResponsibilityOwnerIds").data("kendoDropDownList").value(dataItem.ResponsibilityOwnerID);
|
|
$("#txtECD").val(ecdDate);
|
|
$("#txtImplementedDate").val(implementDate);
|
|
SetECN_SelectedListBox(ecnLinks);
|
|
|
|
$("#D3ContainmentActionForm").modal('show');
|
|
|
|
e.preventDefault();
|
|
}
|
|
|
|
|
|
$("#AddD3ContainmentActionItem").on('click', function(e){
|
|
d3ContainmentActionOperation = "Add";
|
|
clearECNListBox();
|
|
$("#txtContainmentAction").val('');
|
|
$("#txtResult").val('');
|
|
$("#ResponsibilityOwnerIds").data("kendoDropDownList").value(0);
|
|
$("#txtECD").val('');
|
|
$("#txtImplementedDate").val('');
|
|
|
|
$("#D3ContainmentActionForm").modal('show');
|
|
|
|
e.preventDefault();
|
|
|
|
})
|
|
|
|
var clearECNListBox = function () {
|
|
$('#lstECNs').each(function () {
|
|
this.options.length = 0;
|
|
$(this)[0].options.length = 0;
|
|
});
|
|
|
|
}
|
|
|
|
function SetECN_SelectedListBox(ECNs) {
|
|
|
|
var innerHtml = '';
|
|
if (ECNs != null) {
|
|
var selectedECNs = ECNs.split(',');
|
|
for (i in selectedECNs) {
|
|
innerHtml += '<option value="' + selectedECNs[i].trim() + '">' + selectedECNs[i].trim() + '</option>';
|
|
}
|
|
$('#lstECNs').append(innerHtml);
|
|
}
|
|
}
|
|
|
|
|
|
$("#SaveD3ContainmentAction").on('click', function(e){
|
|
|
|
e.preventDefault();
|
|
var ecns = "";
|
|
var lds = "";
|
|
|
|
$('#lstECNs option').each(function () {
|
|
if (ecns.length == 0)
|
|
ecns = this.value;
|
|
else
|
|
ecns += ', ' + this.value;
|
|
});
|
|
|
|
if ($("#ResponsibilityOwnerIds").data("kendoDropDownList").value() != '' && $("#txtECD").val() == '')
|
|
{
|
|
alert('Please enter the ECD while entering the Responsible Owner');
|
|
return false;
|
|
}
|
|
|
|
|
|
var url;
|
|
if (d3ContainmentActionOperation == "Edit")
|
|
url = "/CorrectiveAction/UpdateD3ContainmentAction";
|
|
else
|
|
url = "/CorrectiveAction/InsertD3ContainmentAction";
|
|
|
|
$.ajax({
|
|
url: url,
|
|
type: "POST",
|
|
datatype: "json",
|
|
data: {
|
|
ID: d3ContainmenActionID,
|
|
CANo: @Model.CANo,
|
|
ContainmentAction: $("#txtContainmentAction").val(),
|
|
Result: $("#txtResult ").val(),
|
|
ECNLinks:ecns,
|
|
CurrentResponsibilityOwnerID: currentResponsibilityOwnerID,
|
|
ResponsibilityOwnerID:$("#ResponsibilityOwnerIds").data("kendoDropDownList").value(),
|
|
ECD:$("#txtECD").val(),
|
|
ImplementedDate: $("#txtImplementedDate").val()
|
|
},
|
|
success: function (data) {
|
|
|
|
var grid = $("#D3ContainmentActions").data("kendoGrid");
|
|
grid.dataSource.read($("@Model.CANo").val());
|
|
|
|
|
|
},
|
|
error: function (result) {
|
|
alert("Failed " + result);
|
|
}
|
|
});
|
|
|
|
|
|
$("#D3ContainmentActionForm").modal('hide');
|
|
|
|
})
|
|
|
|
$("#AddECN").on('click', function () {
|
|
|
|
$('#lstECNs').append('<option value="' + $("#txtECN").val() + '">' + $("#txtECN").val() + '</option>');
|
|
})
|
|
|
|
$("#RemoveECN").on('click', function (e) {
|
|
|
|
e.preventDefault();
|
|
$("#lstECNs option:selected").remove();
|
|
})
|
|
|
|
|
|
function DeleteD3ContainmentActionItem(e)
|
|
{
|
|
|
|
e.preventDefault();
|
|
if (confirm("Are you sure you want to delete this Action Item?")) {
|
|
var dataItem = this.dataItem($(e.currentTarget).closest("tr"));
|
|
|
|
var d3ContainmentActionID = dataItem.ID;
|
|
|
|
$.ajax({
|
|
url: "/CorrectiveAction/DeletetD3ContainmentActionItem",
|
|
type: "POST",
|
|
datatype: "json",
|
|
data: {
|
|
d3ContainmentActionID: d3ContainmentActionID
|
|
},
|
|
success: function (data) {
|
|
var grid = $("#D3ContainmentActions").data("kendoGrid");
|
|
grid.dataSource.read($('@Model.CANo').val());
|
|
},
|
|
error: function (result) {
|
|
alert("Failed " + result);
|
|
}
|
|
});
|
|
}
|
|
}
|
|
|
|
|
|
|
|
function error_handler(e) {
|
|
if (e.errors) {
|
|
var message = "Errors:\n";
|
|
$.each(e.errors, function (key, value) {
|
|
if ('errors' in value) {
|
|
$.each(value.errors, function () {
|
|
message += this + "\n";
|
|
});
|
|
}
|
|
});
|
|
alert(message);
|
|
}
|
|
}
|
|
|
|
function CheckFileType(e) {
|
|
var files = e.files;
|
|
$.each(files, function () {
|
|
|
|
if (!this.extension.toLowerCase().match(/^(.doc|.docx|.ppt|.pptx|.xls|.xlsx|.pdf|.gif|.jpeg|.jpg|.bmp|.png|.txt|.slddrw|.sldprt)$/)) {
|
|
alert("Only Word/PowerPoint/Excel/PDF/Image/Text files can be uploaded!")
|
|
e.preventDefault();
|
|
}
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
function onD2FileUploadSuccess(e) {
|
|
var grid = $("#D2Attachments").data("kendoGrid");
|
|
grid.dataSource.read("@Model.CANo");
|
|
}
|
|
|
|
|
|
|
|
function DownloadCAAttachment(e) {
|
|
e.preventDefault();
|
|
|
|
var dataItem = this.dataItem($(e.currentTarget).closest("tr"));
|
|
var fileName = dataItem.FileGUID;
|
|
var fileGUID = dataItem.FileGUID;
|
|
|
|
window.location = '/CorrectiveAction/DownloadCAAttachment?fileGuid=' + fileGUID + '&caNo=' + @Model.CANo;
|
|
|
|
}
|
|
|
|
function onFileUploadSuccess(e) {
|
|
//alert(e.message);
|
|
var grid = $("#Attachments").data("kendoGrid");
|
|
grid.dataSource.read($('#txtCANo').val());
|
|
}
|
|
function onFileUploadError(e) {
|
|
alert("Error Uploading File!!! Please Try Again...");
|
|
var grid = $("#Attachments").data("kendoGrid");
|
|
grid.dataSource.read($('#txtCANo').val());
|
|
}
|
|
|
|
function onD4FileUploadSuccess(e) {
|
|
var grid = $("#D4Attachments").data("kendoGrid");
|
|
grid.dataSource.read("@Model.CANo");
|
|
}
|
|
|
|
function DeleteCAAttachment(e) {
|
|
e.preventDefault();
|
|
if (confirm("Are you sure you want to delete this Attachment?")) {
|
|
var dataItem = this.dataItem($(e.currentTarget).closest("tr"));
|
|
var fileName = dataItem.FileGUID;
|
|
var attachmentID = dataItem.ID;
|
|
|
|
$.ajax({
|
|
url: "/CorrectiveAction/DeleteCAAttachment",
|
|
type: "POST",
|
|
datatype: "json",
|
|
data: {
|
|
attachmentID: attachmentID
|
|
},
|
|
success: function (data) {
|
|
var grid = $("#Attachments").data("kendoGrid");
|
|
grid.dataSource.read("@Model.CANo");
|
|
},
|
|
error: function (result) {
|
|
alert("Failed " + result);
|
|
}
|
|
});
|
|
}
|
|
}
|
|
|
|
function DeleteD2CAAttachment(e) {
|
|
e.preventDefault();
|
|
if (confirm("Are you sure you want to delete this Attachment?")) {
|
|
var dataItem = this.dataItem($(e.currentTarget).closest("tr"));
|
|
var fileName = dataItem.FileGUID;
|
|
var attachmentID = dataItem.ID;
|
|
|
|
$.ajax({
|
|
url: "/CorrectiveAction/DeleteCAAttachment",
|
|
type: "POST",
|
|
datatype: "json",
|
|
data: {
|
|
attachmentID: attachmentID
|
|
},
|
|
success: function (data) {
|
|
var grid = $("#D2Attachments").data("kendoGrid");
|
|
grid.dataSource.read("@Model.CANo");
|
|
},
|
|
error: function (result) {
|
|
alert("Failed " + result);
|
|
}
|
|
});
|
|
}
|
|
}
|
|
|
|
function DeleteD4CAAttachment(e) {
|
|
e.preventDefault();
|
|
if (confirm("Are you sure you want to delete this Attachment?")) {
|
|
var dataItem = this.dataItem($(e.currentTarget).closest("tr"));
|
|
var fileName = dataItem.FileGUID;
|
|
var attachmentID = dataItem.ID;
|
|
|
|
$.ajax({
|
|
url: "/CorrectiveAction/DeleteCAAttachment",
|
|
type: "POST",
|
|
datatype: "json",
|
|
data: {
|
|
attachmentID: attachmentID
|
|
},
|
|
success: function (data) {
|
|
var grid = $("#D4Attachments").data("kendoGrid");
|
|
grid.dataSource.read("@Model.CANo");
|
|
},
|
|
error: function (result) {
|
|
alert("Failed " + result);
|
|
}
|
|
});
|
|
}
|
|
}
|
|
|
|
|
|
function buildLinks(fileNames, caNo) {
|
|
var template = "";
|
|
if (fileNames != null) {
|
|
var tempValue = fileNames.split(',');
|
|
for (var i = 0; i < tempValue.length; i++) {
|
|
var tempValue2 = tempValue[i].split('~');
|
|
|
|
var fileName = tempValue2[0];
|
|
var fileGuid = tempValue2[1];
|
|
|
|
var tempFile = fileName.split('.');
|
|
var fileExtension = tempFile[tempFile.length - 1];
|
|
|
|
template += "<a href='/CorrectiveAction/DownloadCAAttachment?fileGuid=" + fileGuid + "&caNo=" + @Model.CANo + "'>" + fileName + "</a><BR>" + " ";
|
|
|
|
|
|
}
|
|
|
|
}
|
|
return template;
|
|
}
|
|
|
|
|
|
var d5d6CAItemID;
|
|
var caD5D6Operation;
|
|
$("#ShowSectionApprovalLog").on('click', function () {
|
|
$("#SectionApprovalLog").modal('show');
|
|
})
|
|
|
|
$("#AddD5D6CorrectiveActionItem").on('click', function (e) {
|
|
|
|
clearD5D6CAForm();
|
|
caD5D6Operation = 'Add';
|
|
$("#D5D6CorrectiveActionForm").modal("show");
|
|
})
|
|
|
|
|
|
|
|
function EditD5D6CorrectivetActionItem(e)
|
|
{
|
|
var ecdDate;
|
|
var tempecdDate;
|
|
|
|
var implementDate;
|
|
var tempimplementDate;
|
|
|
|
var dataItem = this.dataItem($(e.currentTarget).closest("tr"));
|
|
d5d6CAItemID = dataItem.ID;
|
|
var correctivetAction = dataItem.CorrectiveAction;
|
|
var ActionType = dataItem.ActionType;
|
|
var result = dataItem.Result;
|
|
var ecnLnks = dataItem.ECNLinks;
|
|
ecnLnks = ECNsFromStringToList(ecnLnks);
|
|
var attachmentLinks = dataItem.AttachmentLinks;
|
|
currentD5D6AttachmentLinks = attachmentLinks;
|
|
currentResponsibilityOwnerID = dataItem.CurrentResponsibilityOwnerID;
|
|
var ResponsibilityOwnerID = dataItem.ResponsibilityOwnerID;
|
|
var ecd = dataItem.ECD;
|
|
|
|
if (dataItem.ECD != null) {
|
|
tempecdDate = new Date(dataItem.ECD);
|
|
ecdDate = (tempecdDate.getMonth() + 1) + '/' + tempecdDate.getDate() + '/' + tempecdDate.getFullYear();
|
|
}
|
|
else
|
|
ecdDate = '';
|
|
|
|
if (dataItem.ImplementedDate != null) {
|
|
tempimplementDate = new Date(dataItem.ImplementedDate);
|
|
implementDate = (tempimplementDate.getMonth() + 1) + '/' + tempimplementDate.getDate() + '/' + tempimplementDate.getFullYear();
|
|
}
|
|
else
|
|
implementDate = '';
|
|
|
|
|
|
caD5D6Operation = 'Edit';
|
|
clearD5D6CAForm();
|
|
$("#hiddenItemNumber").val(d5d6CAItemID);
|
|
$("#txtD5D6CorrectiveAction").val(correctivetAction);
|
|
$("#txtD5D6Result").val(result);
|
|
$("#D5D6ResponsibilityOwnerIds").data("kendoDropDownList").value(ResponsibilityOwnerID);
|
|
$("#txtD5D6ECD").val(ecdDate);
|
|
$("#txtD5D6ImplementedDate").val(implementDate);
|
|
$("#txtActionType").data("kendoDropDownList").value(ActionType == "Corrective" ? "1" : "2");
|
|
$("#D5D6ResponsibilityOwnerIds").data("kendoDropDownList").value(ResponsibilityOwnerID);
|
|
document.getElementById("CARequired").value = 1
|
|
$("#lstD5D6ECNs").data("kendoMultiSelect").value(ecnLnks)
|
|
|
|
var tempImpIDs;
|
|
var data;
|
|
var dataArray;
|
|
|
|
|
|
$("#D5D6ImprovementIDs").data("kendoMultiSelect").value("");
|
|
|
|
if (dataItem.ImprovementID != null) {
|
|
tempImpIDs = dataItem.ImprovementID.split(',');
|
|
|
|
|
|
var attValues = new Array();
|
|
for (i in tempImpIDs) {
|
|
attValues[i] = tempImpIDs[i]
|
|
}
|
|
}
|
|
|
|
$("#D5D6ImprovementIDs").data("kendoMultiSelect").value(attValues);
|
|
|
|
e.preventDefault();
|
|
$("#D5D6CorrectiveActionForm").modal("show");
|
|
|
|
|
|
}
|
|
|
|
$("#SaveD5D6CorrectivetAction").on('click', function () {
|
|
$('#cover-spin').show(0);
|
|
var objectData = ReturnD5D6CAObject();
|
|
var url = "";
|
|
|
|
if (!validateD5D6SaveForm(objectData)) {
|
|
$('#cover-spin').hide(0);
|
|
return false;
|
|
}
|
|
|
|
if (objectData.ResponsibilityOwnerID != '' && objectData.ECD == '')
|
|
{
|
|
alert('Please enter the ECD while entering the Responsible Owner');
|
|
$('#cover-spin').hide(0);
|
|
return false;
|
|
}
|
|
if (objectData.ImplementedDate != null && objectData.ImplementedDate != '') {
|
|
objectData.IsImplemented = true;
|
|
}
|
|
|
|
if (caD5D6Operation == 'Add') {
|
|
url = "/CorrectiveAction/InsertD5D6CAItem";
|
|
}
|
|
else {
|
|
url = "/CorrectiveAction/UpdateD5D6CAItem";
|
|
}
|
|
$.ajax({
|
|
url: url,
|
|
type: "POST",
|
|
contentType: "application/json; charset=utf-8",
|
|
data: JSON.stringify(objectData),
|
|
success: function (objdata) {
|
|
$('#cover-spin').hide(0);
|
|
var grid = $("#D5D6CorrectivetActions").data("kendoGrid");
|
|
grid.dataSource.read($("@Model.CANo").val());
|
|
$("#D5D6CorrectiveActionForm").modal("hide");
|
|
|
|
|
|
},
|
|
error: function (result) {
|
|
alert("Failed " + result);
|
|
$("#D5D6CorrectiveActionForm").modal("hide");
|
|
$('#cover-spin').hide(0);
|
|
}
|
|
});
|
|
|
|
|
|
})
|
|
|
|
$("#uploadAIAttachments").on('click', function (e) {
|
|
e.preventDefault();
|
|
var itemId = $("#hiddenItemNumber").val();
|
|
if (itemId == '') {
|
|
alert('Please save the Action Item before attempting to upload a document...');
|
|
return;
|
|
}
|
|
var currentd5d6caID = itemId;
|
|
|
|
var url = $('#AddD5D6AttachmentForm').data('url');
|
|
url = url + '?d5d6caID=' + currentd5d6caID;
|
|
$.ajax({
|
|
url: url,
|
|
type: "GET",
|
|
datatype: "json",
|
|
success: function (data) {
|
|
|
|
$('#D5D6AttachmentContainer').html(data);
|
|
$("#AddD5D6AttachmentForm").modal('show')
|
|
|
|
},
|
|
error: function (result) {
|
|
alert("Failed " + result);
|
|
}
|
|
});
|
|
})
|
|
validateD5D6SaveForm = function(data){
|
|
var errorMessage = '';
|
|
if (data.ResponsibilityOwnerID == '')
|
|
{
|
|
errorMessage += 'Responsible Owner\n';
|
|
}
|
|
if (data.CorrectiveAction == '') {
|
|
errorMessage += 'Corrective Action \n';
|
|
}
|
|
if (data.ECD == '')
|
|
{
|
|
errorMessage += 'ECD \n';
|
|
}
|
|
if (data.ImprovementID == ',')
|
|
{
|
|
errorMessage += 'Improvement Category \n';
|
|
}
|
|
if (data.ActionType == '') {
|
|
errorMessage += 'Action Type \n';
|
|
}
|
|
if (errorMessage != '')
|
|
{
|
|
alert('The following fields are required: \n' + errorMessage ) ;
|
|
return false;
|
|
}
|
|
|
|
if (data.ImplementedDate != '')
|
|
{
|
|
if (data.ECNLinks == '' && currentD5D6AttachmentLinks == null)
|
|
{
|
|
errorMessage += 'ECN or Attachment Link';
|
|
}
|
|
|
|
if (errorMessage != '')
|
|
{
|
|
alert('The following fields are required if the [Implemented Date] field is filled \n' + errorMessage ) ;
|
|
return false;
|
|
}
|
|
}
|
|
if (data.CorrectiveAction.length > 1000) {
|
|
$('#cover-spin').hide(0);
|
|
alert("Corrective Action field must be less than 1000 characters! Data not saved!");
|
|
return false;
|
|
}
|
|
if (data.Result.length > 1000) {
|
|
$('#cover-spin').hide(0);
|
|
alert("Result field must be less than 1000 characters! Data not saved!");
|
|
return false;
|
|
}
|
|
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
|
|
|
|
function ReturnD5D6CAObject() {
|
|
var ecns;
|
|
ecns = "";
|
|
var _ECNs = $("#lstD5D6ECNs").data("kendoMultiSelect").value();
|
|
ecns = ECNsToStringExplode(_ECNs);
|
|
|
|
var d5d6ImprovementIDs = $("#D5D6ImprovementIDs").data("kendoMultiSelect").value()
|
|
d5d6ImprovementIDs = d5d6ImprovementIDs.join();
|
|
if (caD5D6Operation == 'Add') {
|
|
var objectData = {
|
|
ID: 0,
|
|
CANo: '@Model.CANo',
|
|
CorrectiveAction: $("#txtD5D6CorrectiveAction").val(),
|
|
CARequired: document.getElementById("CARequired").value,
|
|
Result: $("#txtD5D6Result").val(),
|
|
ECNLinks: ecns,
|
|
ECD: $("#txtD5D6ECD").val(),
|
|
ImplementedDate: $("#txtD5D6ImplementedDate").val(),
|
|
IsImplemented: false,
|
|
ActionType: $("#txtActionType").data("kendoDropDownList").value(),
|
|
CurrentResponsibilityOwnerID: currentResponsibilityOwnerID,
|
|
ResponsibilityOwnerID: $("#D5D6ResponsibilityOwnerIds").data("kendoDropDownList").value(),
|
|
ImprovementID: d5d6ImprovementIDs + ','
|
|
}
|
|
|
|
}
|
|
else {
|
|
var objectData = {
|
|
ID: d5d6CAItemID,
|
|
CANo: '@Model.CANo',
|
|
CorrectiveAction: $("#txtD5D6CorrectiveAction").val(),
|
|
//CARequired:$("#CARequired").data("kendoDropDownList").value(),
|
|
CARequired: document.getElementById("CARequired").value,
|
|
Result: $("#txtD5D6Result").val(),
|
|
ECNLinks: ecns,
|
|
ECD: $("#txtD5D6ECD").val(),
|
|
ImplementedDate: $("#txtD5D6ImplementedDate").val(),
|
|
IsImplemented: false,
|
|
ActionType: $("#txtActionType").data("kendoDropDownList").value(),
|
|
CurrentResponsibilityOwnerID: currentResponsibilityOwnerID,
|
|
ResponsibilityOwnerID: $("#D5D6ResponsibilityOwnerIds").data("kendoDropDownList").value(),
|
|
ImprovementID: d5d6ImprovementIDs + ','
|
|
}
|
|
}
|
|
|
|
return objectData;
|
|
}
|
|
function ECNsToStringExplode(ECNList) {
|
|
var ecnListToReturn = ''
|
|
|
|
ECNList.forEach(function (item) {
|
|
if (ecnListToReturn == '') {
|
|
ecnListToReturn = item
|
|
}
|
|
else {
|
|
ecnListToReturn = ecnListToReturn + ',' + item;
|
|
}
|
|
|
|
|
|
})
|
|
|
|
return ecnListToReturn;
|
|
}
|
|
function ECNsFromStringToList(ECNList) {
|
|
if (ECNList == '' || ECNList == null) {
|
|
return '';
|
|
}
|
|
var ecnArray = ECNList.split(',');
|
|
|
|
return ecnArray;
|
|
}
|
|
function clearD5D6CAForm() {
|
|
$("#hiddenItemNumber").val('');
|
|
$("#txtD5D6CorrectiveAction").val('');
|
|
$("#txtD5D6Result").val('');
|
|
$("#D5D6ResponsibilityOwnerIds").data("kendoDropDownList").value(0);
|
|
$("#txtD5D6ECD").val('');
|
|
$("#txtD5D6ImplementedDate").val('');
|
|
document.getElementById("CARequired").value = 0,
|
|
$("#D5D6ImprovementIDs").data("kendoMultiSelect").value("");
|
|
$('#lstD5D6ECNs').data("kendoMultiSelect").value("");
|
|
}
|
|
|
|
|
|
|
|
|
|
function DeletetD5D6CorrectivetActionItem(e)
|
|
{
|
|
|
|
e.preventDefault();
|
|
var dataItem = this.dataItem($(e.currentTarget).closest("tr"));
|
|
if (dataItem.ImplementedDate != null) {
|
|
alert('Unable to delete implemented actions.');
|
|
return;
|
|
}
|
|
if (confirm("Are you sure you want to delete this Audit Finding?")) {
|
|
|
|
|
|
var d5d6CAID = dataItem.ID;
|
|
|
|
$.ajax({
|
|
url: "/CorrectiveAction/DeleteD5D6CAItem",
|
|
type: "POST",
|
|
datatype: "json",
|
|
data: {
|
|
d5d6CAID: d5d6CAID
|
|
},
|
|
success: function (data) {
|
|
var grid = $("#D5D6CorrectivetActions").data("kendoGrid");
|
|
grid.dataSource.read($('@Model.CANo').val());
|
|
},
|
|
error: function (result) {
|
|
alert("Failed " + result);
|
|
}
|
|
});
|
|
}
|
|
}
|
|
function UploadD5D6CAAttachment(e) {
|
|
alert('functioning');
|
|
e.preventDefault();
|
|
var dataItem = this.dataItem($(e.currentTarget).closest("tr"));
|
|
var currentd5d6caID = dataItem.ID;
|
|
|
|
var url = $('#AddD5D6AttachmentForm').data('url');
|
|
url = url + '?d5d6caID=' + currentd5d6caID;
|
|
$.ajax({
|
|
url: url,
|
|
type: "GET",
|
|
datatype: "json",
|
|
success: function (data) {
|
|
|
|
$('#D5D6AttachmentContainer').html(data);
|
|
$("#AddD5D6AttachmentForm").modal('show')
|
|
|
|
},
|
|
error: function (result) {
|
|
alert("Failed " + result);
|
|
}
|
|
});
|
|
|
|
}
|
|
|
|
/// D7=================================================================================================================================================================
|
|
|
|
|
|
var d7PAItemID;
|
|
var paD7Operation;
|
|
|
|
$("#D7AddECN").on('click', function () {
|
|
|
|
$('#lstD7ECNs').append('<option value="' + $("#txtD7ECN").val() + '">' + $("#txtD7ECN").val() + '</option>');
|
|
})
|
|
|
|
$("#D7RemoveECN").on('click', function (e) {
|
|
|
|
e.preventDefault();
|
|
$("#lstD7ECNs option:selected").remove();
|
|
})
|
|
|
|
$("#AddD7PreventiveActionItem").on('click', function (e) {
|
|
|
|
clearD7PAForm();
|
|
paD7Operation = 'Add';
|
|
$("#D7PreventiveActionForm").modal("show");
|
|
})
|
|
|
|
|
|
|
|
function EditD7PreventiveActionItem(e)
|
|
{
|
|
var ecdDate;
|
|
var tempecdDate;
|
|
|
|
var implementDate;
|
|
var tempimplementDate;
|
|
|
|
var dataItem = this.dataItem($(e.currentTarget).closest("tr"));
|
|
d7PAItemID = dataItem.ID;
|
|
var preventivetAction = dataItem.PreventiveAction;
|
|
|
|
var result = dataItem.Result;
|
|
var ecnLnks = dataItem.ECNLinks;
|
|
var attachmentLinks = dataItem.AttachmentLinks;
|
|
currentD7AttachmentLinks = attachmentLinks;
|
|
currentResponsibilityOwnerID = dataItem.CurrentResponsibilityOwnerID;
|
|
var ResponsibilityOwnerID = dataItem.ResponsibilityOwnerID;
|
|
var ecd = dataItem.ECD;
|
|
|
|
|
|
|
|
if (dataItem.ECD != null) {
|
|
tempecdDate = new Date(dataItem.ECD);
|
|
ecdDate = (tempecdDate.getMonth() + 1) + '/' + tempecdDate.getDate() + '/' + tempecdDate.getFullYear();
|
|
}
|
|
else
|
|
ecdDate = '';
|
|
|
|
if (dataItem.ImplementedDate != null) {
|
|
tempimplementDate = new Date(dataItem.ImplementedDate);
|
|
implementDate = (tempimplementDate.getMonth() + 1) + '/' + tempimplementDate.getDate() + '/' + tempimplementDate.getFullYear();
|
|
}
|
|
else
|
|
implementDate = '';
|
|
|
|
|
|
paD7Operation = 'Edit';
|
|
clearD7PAForm();
|
|
|
|
$("#txtPreventiveAction").val(preventivetAction);
|
|
$("#txtD7Result").val(result);
|
|
$("#D7ResponsibilityOwnerIds").data("kendoDropDownList").value(ResponsibilityOwnerID);
|
|
$("#txtD7ECD").val(ecdDate);
|
|
$("#txtD7ImplementedDate").val(implementDate);
|
|
$("#D7ResponsibilityOwnerIds").data("kendoDropDownList").value(ResponsibilityOwnerID);;
|
|
|
|
SetD7ECN_SelectedListBox(ecnLnks);
|
|
|
|
var tempImpIDs;
|
|
var data;
|
|
var dataArray;
|
|
|
|
|
|
|
|
e.preventDefault();
|
|
$("#D7PreventiveActionForm").modal("show");
|
|
|
|
|
|
}
|
|
|
|
$("#SaveD7PreventiveAction").on('click', function () {
|
|
|
|
var objectData = ReturnD7PAObject();
|
|
var url = "";
|
|
|
|
validateD7SaveForm(objectData);
|
|
|
|
if (objectData.ResponsibilityOwnerID != '' && objectData.ECD == '')
|
|
{
|
|
alert('Please enter the ECD while entering the Responsible Owner');
|
|
return false;
|
|
}
|
|
|
|
if (paD7Operation == 'Add') {
|
|
url = "/CorrectiveAction/InsertD7PAItem";
|
|
}
|
|
else {
|
|
url = "/CorrectiveAction/UpdateD7PAItem";
|
|
}
|
|
|
|
$.ajax({
|
|
url: url,
|
|
type: "POST",
|
|
contentType: "application/json; charset=utf-8",
|
|
data: JSON.stringify(objectData),
|
|
success: function (objdata) {
|
|
var grid = $("#D7PreventiveActions").data("kendoGrid");
|
|
grid.dataSource.read($("@Model.CANo").val());
|
|
$("#D7PreventiveActionForm").modal("hide");
|
|
|
|
|
|
},
|
|
error: function (result) {
|
|
alert("Failed " + result);
|
|
$("#D7PreventiveActionForm").modal("hide");
|
|
}
|
|
});
|
|
|
|
|
|
})
|
|
|
|
|
|
function ReturnD7PAObject() {
|
|
var ecns;
|
|
ecns = "";
|
|
$('#lstD7ECNs option').each(function () {
|
|
if (ecns.length == 0)
|
|
ecns = this.value;
|
|
else
|
|
ecns += ', ' + this.value;
|
|
});
|
|
|
|
|
|
if (paD7Operation == 'Add') {
|
|
var objectData = {
|
|
ID: 0,
|
|
CANo: '@Model.CANo',
|
|
PreventiveAction: $("#txtPreventiveAction").val(),
|
|
Result: $("#txtD7Result").val(),
|
|
ECNLinks: ecns,
|
|
ECD: $("#txtD7ECD").val(),
|
|
ImplementedDate: $("#txtD7ImplementedDate").val(),
|
|
CurrentResponsibilityOwnerID: currentResponsibilityOwnerID,
|
|
ResponsibilityOwnerID: $("#D7ResponsibilityOwnerIds").data("kendoDropDownList").value()
|
|
}
|
|
|
|
}
|
|
else {
|
|
var objectData = {
|
|
ID: d7PAItemID,
|
|
CANo: '@Model.CANo',
|
|
PreventiveAction: $("#txtPreventiveAction").val(),
|
|
Result: $("#txtD7Result").val(),
|
|
ECNLinks: ecns,
|
|
ECD: $("#txtD7ECD").val(),
|
|
ImplementedDate: $("#txtD7ImplementedDate").val(),
|
|
CurrentResponsibilityOwnerID: currentResponsibilityOwnerID,
|
|
ResponsibilityOwnerID: $("#D7ResponsibilityOwnerIds").data("kendoDropDownList").value()
|
|
}
|
|
}
|
|
|
|
return objectData;
|
|
}
|
|
|
|
|
|
validateD7SaveForm = function(data){
|
|
var errorMessage = '';
|
|
|
|
if (data.ImplementedDate != '')
|
|
{
|
|
if (data.ECNLinks == '' && currentD7AttachmentLinks == null)
|
|
{
|
|
errorMessage += 'ECN or Attachment Link';
|
|
}
|
|
|
|
if (errorMessage != '')
|
|
{
|
|
alert('The following fields are required if the [Implemented Date] field is filled \n' + errorMessage ) ;
|
|
return false;
|
|
}
|
|
}
|
|
|
|
|
|
}
|
|
|
|
function clearD7PAForm() {
|
|
$("#txtPreventiveAction").val('');
|
|
$("#txtD7Result").val('');
|
|
$("#D7ResponsibilityOwnerIds").data("kendoDropDownList").value(0);
|
|
$("#txtD7ECD").val('');
|
|
$("#txtD7ImplementedDate").val('');
|
|
|
|
|
|
$('#lstD7ECNs').each(function () {
|
|
this.options.length = 0;
|
|
$(this)[0].options.length = 0;
|
|
});
|
|
}
|
|
|
|
|
|
|
|
function DeleteD7PreventiveActionItem(e)
|
|
{
|
|
|
|
e.preventDefault();
|
|
if (confirm("Are you sure you want to delete this Audit Finding?")) {
|
|
var dataItem = this.dataItem($(e.currentTarget).closest("tr"));
|
|
|
|
var d7PAID = dataItem.ID;
|
|
|
|
$.ajax({
|
|
url: "/CorrectiveAction/DeleteD7PAItem",
|
|
type: "POST",
|
|
datatype: "json",
|
|
data: {
|
|
d7PAID: d7PAID
|
|
},
|
|
success: function (data) {
|
|
var grid = $("#D7PreventiveActions").data("kendoGrid");
|
|
grid.dataSource.read($('@Model.CANo').val());
|
|
},
|
|
error: function (result) {
|
|
alert("Failed " + result);
|
|
}
|
|
});
|
|
}
|
|
}
|
|
|
|
function SetD7ECN_SelectedListBox(ECNs) {
|
|
|
|
var innerHtml = '';
|
|
if (ECNs != null) {
|
|
var selectedECNs = ECNs.split(',');
|
|
for (i in selectedECNs) {
|
|
innerHtml += '<option value="' + selectedECNs[i].trim() + '">' + selectedECNs[i].trim() + '</option>';
|
|
}
|
|
$('#lstD7ECNs').append(innerHtml);
|
|
}
|
|
}
|
|
|
|
|
|
function UploadD7PAAttachment(e) {
|
|
e.preventDefault();
|
|
var dataItem = this.dataItem($(e.currentTarget).closest("tr"));
|
|
var currentd7paID = dataItem.ID;
|
|
|
|
var url = $('#AddD7AttachmentForm').data('url');
|
|
url = url + '?d7paID=' + currentd7paID;
|
|
$.ajax({
|
|
url: url,
|
|
type: "GET",
|
|
datatype: "json",
|
|
success: function (data) {
|
|
|
|
$('#D7AttachmentContainer').html(data);
|
|
$("#AddD7AttachmentForm").modal('show')
|
|
|
|
},
|
|
error: function (result) {
|
|
alert("Failed " + result);
|
|
}
|
|
});
|
|
|
|
}
|
|
|
|
|
|
$(window).bind("beforeunload", function () {
|
|
//return confirm("Do you really want to close?");
|
|
$.ajax({
|
|
url: "/CorrectiveAction/ReleaseLockOnDocument",
|
|
type: "GET",
|
|
datatype: "json",
|
|
data: {
|
|
issueID: ("@Model.CANo")
|
|
},
|
|
success: function () {
|
|
},
|
|
error: function (result) {
|
|
alert("ReleaseLockOnDocument - Failed " + result);
|
|
}
|
|
});
|
|
|
|
|
|
})
|
|
|
|
$("#SectionD2D3").on('click', function () {
|
|
var element = document.getElementById("SectionD2D3");
|
|
if (element.innerHTML.trim() == "Show/Hide")
|
|
element.innerHTML = "Collapse";
|
|
else
|
|
element.innerHTML = "Show/Hide";
|
|
})
|
|
|
|
$("#SectionD4").on('click', function () {
|
|
var element = document.getElementById("SectionD4");
|
|
if (element.innerHTML.trim() == "Show/Hide")
|
|
element.innerHTML = "Collapse";
|
|
else
|
|
element.innerHTML = "Show/Hide";
|
|
})
|
|
|
|
$("#SectionD5D6").on('click', function () {
|
|
var element = document.getElementById("SectionD5D6");
|
|
if (element.innerHTML.trim() == "Show/Hide")
|
|
element.innerHTML = "Collapse";
|
|
else
|
|
element.innerHTML = "Show/Hide";
|
|
})
|
|
|
|
$("#SectionD7").on('click', function () {
|
|
var element = document.getElementById("SectionD7");
|
|
if (element.innerHTML.trim() == "Show/Hide")
|
|
element.innerHTML = "Collapse";
|
|
else
|
|
element.innerHTML = "Show/Hide";
|
|
})
|
|
|
|
$("#SectionD8").on('click', function () {
|
|
var element = document.getElementById("SectionD8");
|
|
if (element.innerHTML.trim() == "Show/Hide")
|
|
element.innerHTML = "Collapse";
|
|
else
|
|
element.innerHTML = "Show/Hide";
|
|
})
|
|
$("#FollowUpSection").on('click', function () {
|
|
var element = document.getElementById("FollowUpSection");
|
|
if (element.innerHTML.trim() == "Show/Hide")
|
|
element.innerHTML = "Collapse";
|
|
else
|
|
element.innerHTML = "Show/Hide";
|
|
})
|
|
|
|
var docType = 9;
|
|
|
|
$('#reAssignApprovers').on('click', function () {
|
|
// reset this variable to indicate that the current Approver of the document is the person Re-Assigning it to someone else.
|
|
reAssignFromUserid = "";
|
|
|
|
var url = "/CorrectiveAction/GetAllUsersList";
|
|
var source =
|
|
{
|
|
datatype: "json",
|
|
datafields: [
|
|
{ name: 'UserID' },
|
|
{ name: 'FullName' }
|
|
],
|
|
id: 'id',
|
|
url: url,
|
|
};
|
|
var dataAdapter = new $.jqx.dataAdapter(source);
|
|
// Create a jqxListBox
|
|
$("#lstReAssignApproval").jqxListBox({
|
|
multipleextended: false, theme: "arctic", source: dataAdapter, displayMember: "FullName", valueMember: "UserID", width: 200, height: 250
|
|
});
|
|
|
|
$("#ReAssignApproval").modal('show');
|
|
return false;
|
|
});
|
|
|
|
|
|
$('#ConfirmReAssignment').on('click', function () {
|
|
// get selected items.
|
|
var bfound = false;
|
|
var userids;
|
|
var itemsToAdd = $('#lstReAssignApproval').jqxListBox('getSelectedItems');
|
|
|
|
if (itemsToAdd.length > 0) {
|
|
for (var i = 0; i < itemsToAdd.length; i++) {
|
|
if (itemsToAdd[i].label != undefined) {
|
|
var tempvalue = itemsToAdd[i].value;
|
|
var templabel = itemsToAdd[i].label;
|
|
if (userids == null)
|
|
userids = tempvalue;
|
|
else
|
|
userids += "~" + tempvalue;
|
|
}
|
|
};
|
|
//
|
|
if (userids != null) {
|
|
//alert(reAssignFromUserid);
|
|
if (reAssignFromUserid != '') {
|
|
ReAssignApprovalByAdmin(userids);
|
|
}
|
|
else {
|
|
ReAssignApproval(userids);
|
|
}
|
|
}
|
|
$("#ReAssignApproval").modal('hide');
|
|
|
|
return false;
|
|
}
|
|
|
|
});
|
|
|
|
var ReAssignApproval = function (userids) {
|
|
|
|
|
|
var urlString = '/CorrectiveAction/ReAssignApproval';
|
|
$.ajax({
|
|
type: "Post",
|
|
url: urlString,
|
|
data: {
|
|
userIDs: userids,
|
|
issueID: $("#CANo").val(),
|
|
step: $("#currentStep").val(),
|
|
docType: docType
|
|
},
|
|
success: function (result) {
|
|
|
|
var url = '@Url.Action("ReadOnlyCA", "CorrectiveAction", new { caNo = "__id__" })';
|
|
url = url.replace('amp;', '');
|
|
window.location.href = url.replace('__id__', $("#CANo").val());
|
|
},
|
|
error: function (result) {
|
|
alert("Failed " + result);
|
|
}
|
|
|
|
});
|
|
};
|
|
|
|
var ReAssignApprovalByAdmin = function (userids) {
|
|
var urlString = '/CorrectiveAction/ReAssignApproverByAdmin';
|
|
|
|
$.ajax({
|
|
type: "Post",
|
|
url: urlString,
|
|
data: {
|
|
issueID: $("#CANo").val(),
|
|
reAssignApproverFrom: reAssignFromUserid,
|
|
reAssignApproverTo: userids,
|
|
step: $("#currentStep").val(),
|
|
docType: docType
|
|
},
|
|
success: function (result) {
|
|
|
|
var url = '@Url.Action("ReadOnlyCA", "CorrectiveAction", new { caNo = "__id__" })';
|
|
url = url.replace('amp;', '');
|
|
window.location.href = url.replace('__id__', $("#CANo").val());
|
|
|
|
}
|
|
|
|
});
|
|
};
|
|
|
|
|
|
|
|
|
|
//Region Additional Aprovers
|
|
$('#additionalApprovers').on('click', function () {
|
|
|
|
var searchText = ($("#txtSearch").val());
|
|
var url = "/CorrectiveAction/GetAllUsersList";
|
|
var source =
|
|
{
|
|
datatype: "json",
|
|
datafields: [
|
|
{ name: 'UserID' },
|
|
{ name: 'FullName' }
|
|
],
|
|
id: 'id',
|
|
url: url,
|
|
};
|
|
var dataAdapter = new $.jqx.dataAdapter(source);
|
|
// Create a jqxListBox
|
|
$("#lstAdditionalApproval").jqxListBox({
|
|
multipleextended: true, theme: "arctic", source: dataAdapter, displayMember: "FullName", valueMember: "UserID", width: 200, height: 250
|
|
});
|
|
|
|
$("#AdditionalApproval").modal('show');
|
|
return false;
|
|
})
|
|
|
|
|
|
$('#additionalApproval').on('click', function () {
|
|
// get selected items.
|
|
var bfound = false;
|
|
var userids;
|
|
var itemsToAdd = $('#lstAdditionalApproval').jqxListBox('getSelectedItems');
|
|
if (itemsToAdd.length > 0) {
|
|
for (var i = 0; i < itemsToAdd.length; i++) {
|
|
if (itemsToAdd[i].label != undefined) {
|
|
var tempvalue = itemsToAdd[i].value;
|
|
var templabel = itemsToAdd[i].label;
|
|
if (userids == null)
|
|
userids = tempvalue;
|
|
else
|
|
userids += "~" + tempvalue;
|
|
}
|
|
};
|
|
if (userids != null) {
|
|
AssignAdditionalApproval(userids);
|
|
}
|
|
$("#AdditionalApproval").modal('hide');
|
|
return false;
|
|
}
|
|
});
|
|
|
|
var AssignAdditionalApproval = function (userids) {
|
|
|
|
var urlString = '/CorrectiveAction/AddAdditionalApproval';
|
|
$.ajax({
|
|
type: "Post",
|
|
url: urlString,
|
|
data: {
|
|
userIDs: userids,
|
|
issueID: $("#CANo").val(),
|
|
step: $("#currentStep").val(),
|
|
docType: docType
|
|
},
|
|
success: function (result) {
|
|
var grid = $("#ApproversList").data("kendoGrid");
|
|
grid.dataSource.read($("#CANo").val(), $("#currentStep").val());
|
|
|
|
},
|
|
error: function (result) {
|
|
alert("Failed " + result);
|
|
}
|
|
|
|
});
|
|
|
|
};
|
|
|
|
function showReAssignRole(e) {
|
|
e.preventDefault();
|
|
var dataItem = this.dataItem($(e.currentTarget).closest("tr"));
|
|
$('#ReAssignApproverFromLabel').text(dataItem.FullName);
|
|
var issueID = $("#CANo").val();
|
|
reAssignFromUserid = dataItem.UserID;
|
|
|
|
//if (dataItem.Status != 'Pending')
|
|
if (dataItem.Status.indexOf("Pending") < 0)
|
|
alert("Cannot ReAssign, because it is not in a Pending state");
|
|
else
|
|
{
|
|
var url = "/CorrectiveAction/GetAllUsersList";
|
|
var source =
|
|
{
|
|
datatype: "json",
|
|
datafields: [
|
|
{ name: 'UserID' },
|
|
{ name: 'FullName' }
|
|
],
|
|
id: 'id',
|
|
url: url,
|
|
};
|
|
var dataAdapter = new $.jqx.dataAdapter(source);
|
|
// Create a jqxListBox
|
|
$("#lstReAssignApproval").jqxListBox({
|
|
multipleextended: false, theme: "arctic", source: dataAdapter, displayMember: "FullName", valueMember: "UserID", width: 200, height: 250
|
|
});
|
|
|
|
$("#ReAssignApproval").modal('show');
|
|
return false;
|
|
|
|
//alert(dataItem.FullName);
|
|
}
|
|
}
|
|
|
|
var ReAssignApprovalByAdmin = function (userids) {
|
|
var urlString = '/CorrectiveAction/ReAssignApproverByAdmin';
|
|
//if (arrayOfValues.length == 0)
|
|
// return false;
|
|
|
|
$.ajax({
|
|
type: "Post",
|
|
url: urlString,
|
|
data: {
|
|
issueID: $("#CANo").val(),
|
|
reAssignApproverFrom: reAssignFromUserid,
|
|
reAssignApproverTo: userids,
|
|
step: $("#currentStep").val()
|
|
},
|
|
success: function (result) {
|
|
|
|
//var grid = $("#ApproversList").data("kendoGrid");
|
|
//grid.dataSource.read($('#txtIssueID').val(), $("#currentStep").val());
|
|
var url = '@Url.Action("Edit", "CorrectiveAction", new { issueID = "__id__" })';
|
|
url = url.replace('amp;', '');
|
|
window.location.href = url.replace('__id__', $("#CANo").val());
|
|
|
|
}
|
|
|
|
});
|
|
};
|
|
|
|
$('#ApproveDocument').on('click', function () {
|
|
$('#submitApprovalComments').attr("disabled", false);
|
|
$("#ApprovalComments").modal('show');
|
|
return false;
|
|
});
|
|
|
|
$('#submitApprovalComments').on('click', function () {
|
|
$('#cover-spin').show(0);
|
|
$('#submitApprovalComments').attr("disabled", true);
|
|
$.ajax({
|
|
url: "/CorrectiveAction/Approve",
|
|
type: "GET",
|
|
datatype: "json",
|
|
data: {
|
|
issueID: $("#CANo").val(),
|
|
currentStep: $("#currentStep").val(),
|
|
comments: $("#approvalComments").val()
|
|
},
|
|
success: function (data) {
|
|
$("#ApprovalComments").modal('hide');
|
|
var url = '@Url.Action("ReadOnlyCA", "CorrectiveAction", new { caNo = "__id__" })';
|
|
url = url.replace('amp;', '');
|
|
window.location.href = url.replace('__id__', $("#CANo").val());
|
|
},
|
|
error: function (data) {
|
|
$("#ApprovalComments").modal('hide');
|
|
var url = '@Url.Action("ReadOnlyCA", "CorrectiveAction", new { caNo = "__id__" })';
|
|
url = url.replace('amp;', '');
|
|
window.location.href = url.replace('__id__', $("#CANo").val());
|
|
}
|
|
|
|
});
|
|
});
|
|
|
|
|
|
$('#RejectDocument').on('click', function () {
|
|
$('#submitRejectComments').attr("disabled", false);
|
|
$("#RejectComments").modal('show');
|
|
return false;
|
|
});
|
|
|
|
|
|
$('#submitRejectComments').on('click', function () {
|
|
$('#cover-spin').show(0);
|
|
if ($("#rejectComments").val() == '')
|
|
{
|
|
alert("Please enter a valid reason for the Reject");
|
|
$('#cover-spin').hide(0);
|
|
return false;
|
|
}
|
|
|
|
$('#submitRejectComments').attr("disabled", false);
|
|
$.ajax({
|
|
url: "/CorrectiveAction/Reject",
|
|
type: "GET",
|
|
datatype: "json",
|
|
data: {
|
|
issueID: $("#CANo").val(),
|
|
currentStep: $("#currentStep").val(),
|
|
comments: $("#rejectComments").val()
|
|
},
|
|
success: function (data) {
|
|
$("#RejectComments").modal('hide');
|
|
var url = '@Url.Action("Edit", "CorrectiveAction", new { issueID = "__id__" })';
|
|
url = url.replace('amp;', '');
|
|
window.location.href = url.replace('__id__', $("#CANo").val());
|
|
|
|
},
|
|
error: function (result) {
|
|
$('#submitRejectComments').attr("disabled", false);
|
|
alert("Server error, Please Reject the document again");
|
|
}
|
|
|
|
});
|
|
});
|
|
$('#submitSectionComments').on('click', function () {
|
|
//alert('getting to rejection');
|
|
$('#cover-spin').show(0);
|
|
if ($("#sectionRejectComments").val() == '')
|
|
{
|
|
alert("Please enter a valid reason for the Reject");
|
|
$('#cover-spin').hide(0);
|
|
return false;
|
|
}
|
|
|
|
$('#submitRejectComments').attr("disabled", false);
|
|
$.ajax({
|
|
url: "/CorrectiveAction/RejectSection",
|
|
type: "POST",
|
|
datatype: "json",
|
|
data: {
|
|
issueID: $("#CANo").val(),
|
|
dSection: currentRejectingSection,
|
|
comments: $("#sectionRejectComments").val()
|
|
},
|
|
success: function (data) {
|
|
SaveCA();
|
|
@*$("#SectionRejectComments").modal('hide');
|
|
var url = '@Url.Action("Edit", "CorrectiveAction", new { issueID = "__id__" })';
|
|
url = url.replace('amp;', '');
|
|
window.location.href = url.replace('__id__', $("#CANo").val());*@
|
|
|
|
},
|
|
error: function (result) {
|
|
$('#submitRejectComments').attr("disabled", false);
|
|
alert("Server error, Please Reject the document again");
|
|
}
|
|
|
|
});
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</script>
|
|
|