491 lines
20 KiB
Plaintext
491 lines
20 KiB
Plaintext
@model Fab2ApprovalSystem.Models.CCMeeting
|
|
@{
|
|
ViewBag.Title = "Meeting - ReadOnly";
|
|
}
|
|
<link rel="stylesheet" href="/Content/kendo/kendo.blueopal.min.css" />
|
|
|
|
<style>
|
|
table {
|
|
border-spacing: 5px;
|
|
padding: 5px;
|
|
border-color: white;
|
|
}
|
|
</style>
|
|
|
|
<body >
|
|
@using (Html.BeginForm())
|
|
{
|
|
<input type="hidden" id="txtMeetingID" value="@Model.MeetingID" />
|
|
if (Model.Status == 0)
|
|
{
|
|
<div data-spy="affix">
|
|
<div data-spy="affix" data-offset-top="0">
|
|
@*<input type="button" value="Save" class="btn btn-primary btn-xs" id="SaveMeeting" />*@
|
|
<input type="button" value="Back to PCRB" class="btn btn-primary btn-xs" id="BackToCC" />
|
|
</div>
|
|
</div>
|
|
}
|
|
else
|
|
{
|
|
<div data-spy="affix">
|
|
<div data-spy="affix" data-offset-top="0">
|
|
<input type="button" value="Back to PCRB" class="btn btn-primary btn-xs" id="BackToCC" />
|
|
</div>
|
|
</div>
|
|
}
|
|
|
|
<div class="panel panel-default center-block" style="font-size: 10px">
|
|
<div class="panel-body bg-warning">
|
|
<div class="row">
|
|
<div class="col-sm-4">
|
|
<div class="row">
|
|
<div class="col-sm-3">
|
|
|
|
</div>
|
|
<div class="col-sm-3">
|
|
|
|
</div>
|
|
<div class="col-sm-6">
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-sm-4 text-center">
|
|
<font style="color: crimson; font-size:24px;font-weight: bolder">
|
|
Meeting Summary (@(Model.Decision == -1 ? "Open" : (Model.Decision == 0 ? "Closed- NotApproved" : "Closed-Approved")))
|
|
</font>
|
|
</div>
|
|
<div class="col-sm-4">
|
|
<div class="row">
|
|
<div class="col-sm-12">
|
|
<font style="color:crimson">
|
|
@if (Model.RecordLockByName == null)
|
|
{
|
|
<h4>
|
|
<font style="color:red">
|
|
Mode: [Readonly]
|
|
</font>
|
|
</h4>
|
|
}
|
|
else
|
|
{
|
|
<h4>
|
|
<font style="color:red">
|
|
Mode: [Readonly] - Locked for Editing by <font style="color: green; font-weight:bold; font-style:italic">@Model.RecordLockByName</font>
|
|
</font>
|
|
</h4>
|
|
|
|
}
|
|
</font>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="panel panel-default">
|
|
<div class="panel-body bg-warning">
|
|
<div class="row">
|
|
<div class="col-sm-8">
|
|
<label class="control-label">Meeting List:</label>
|
|
@(Html.Kendo().DropDownList()
|
|
.Name("MeetingList")
|
|
.BindTo(new SelectList(ViewBag.MeetingList, "MeetingID", "MeetingInfo"))
|
|
.OptionLabel("Select")
|
|
.HtmlAttributes(new { style = "width: 300px; font-size:10px" })
|
|
)
|
|
<input type="button" value="Display MeetingInfo" class="btn btn-primary btn-xs" id="GetMeeting" />
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="panel panel-default" style="font-size: 10px">
|
|
<div class="panel-body bg-warning">
|
|
<div class="row">
|
|
<div class="col-sm-2">
|
|
<div class="row">
|
|
<div class="col-sm-3">
|
|
<label class="control-label pull-right">Plan #:</label>
|
|
</div>
|
|
<div class="col-sm-9">
|
|
@Html.TextBoxFor(model => model.PlanNumber, "P" + "{0:0000}", new { id = "txtPlanNumber", @class = "k-textbox", Readonly = "Readonly", style = "background-color:lightblue" })
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-sm-4">
|
|
<div class="row">
|
|
<div class="col-sm-3">
|
|
<label class="control-label pull-right">Title</label>
|
|
</div>
|
|
<div class="col-sm-9">
|
|
@Html.TextBoxFor(model => model.Title, new { id = "txtTitle", @class = "k-textbox", Readonly = "Readonly", style = "background-color:lightblue;width:100%" })
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-sm-2">
|
|
<div class="row">
|
|
<div class="col-sm-3">
|
|
<label class="control-label pull-right">Change Level</label>
|
|
</div>
|
|
<div class="col-sm-9">
|
|
@Html.TextBoxFor(model => model.ChangeLevel, new { id = "txtChangeLevel", @class = "k-textbox", Readonly = "Readonly", style = "background-color:lightblue;width:100%" })
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-sm-2">
|
|
<div class="row">
|
|
<div class="col-sm-3">
|
|
<label class="control-label pull-right">PCRB</label>
|
|
</div>
|
|
<div class="col-sm-9">
|
|
@*@Html.TextBoxFor(model => model.PCRB, new { id = "txtPCRB", @class = "k-textbox", Readonly = "Readonly", style = "background-color:lightblue" })*@
|
|
@(Html.Kendo().MultiSelect()
|
|
.Name("PCRValueIDs")
|
|
.BindTo(new SelectList(ViewBag.PCRValues, "PCRValueID", "PCRValueName"))
|
|
.Value(ViewBag.Nothing)
|
|
|
|
)
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<div class="col-sm-2">
|
|
<div class="row">
|
|
<div class="col-sm-3">
|
|
<label class="control-label pull-right">Meeting Date:</label>
|
|
</div>
|
|
<div class="col-sm-9">
|
|
@Html.TextBoxFor(model => model.MeetingDate, "{0:MM/dd/yyy}", new { id = "txtMeetingDate", @class = "k-textbox", Readonly = "Readonly", style = "background-color:lightblue" })
|
|
)
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
|
|
<div class="panel panel-default" style="font-size: 10px">
|
|
<div class="panel-body bg-info">
|
|
<div class="pull-left">
|
|
<h5>
|
|
<font style="color:crimson">
|
|
Attendees
|
|
</font>
|
|
</h5>
|
|
</div>
|
|
|
|
</div>
|
|
<div class="panel-body bg-warning">
|
|
|
|
@(Html.Kendo().Grid<Fab2ApprovalSystem.Models.CCMeetingAttendee>()
|
|
.Name("MeetingAttendees")
|
|
.Columns(columns =>
|
|
{
|
|
columns.Bound(a => a.ID).Visible(false);
|
|
columns.Bound(a => a.MeetingID).Visible(false);
|
|
columns.Bound(a => a.AttendeeName).Width("300px");
|
|
columns.Bound(a => a.JobTitle).Width("100px");
|
|
columns.Bound(a => a.Location).Width("50px");
|
|
|
|
// columns.Command(c => c.Destroy()).Width("40px");
|
|
|
|
|
|
})
|
|
//.ToolBar(toolbar => toolbar.Create().Text("Add Item"))
|
|
.Sortable()
|
|
.Scrollable()
|
|
.Resizable(resize => resize.Columns(true))
|
|
.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.MeetingID).DefaultValue(Model.MeetingID);
|
|
model.Field(a => a.JobTitle).Editable(false);
|
|
})
|
|
.PageSize(50)
|
|
.Read(read => read.Action("GetMeetingAttendees", "ChangeControl", new { meetingID = Model.MeetingID }))
|
|
|
|
|
|
)
|
|
)
|
|
|
|
</div>
|
|
</div>
|
|
<div class="panel-body bg-warning">
|
|
@(Html.Kendo().Grid<Fab2ApprovalSystem.Models.CCMeetingAttachment>()
|
|
.Name("MeetingAttachmentGrid")
|
|
.Columns(columns =>
|
|
{
|
|
columns.Bound(a => a.ID).Visible(false);
|
|
columns.Bound(a => a.MeetingID).Visible(false);
|
|
columns.Bound(a => a.FileGUID).Visible(false);
|
|
columns.Bound(a => a.FileName).Width("100px");
|
|
columns.Bound(a => a.Title).Width("100px");
|
|
columns.Bound(a => a.UploadedByName).Width("50px").Title("Uploaded By");
|
|
columns.Bound(a => a.UploadDateTime).Format("{0:MM/dd/yy hh:mm:ss}").Width("50px").Title("Uploaded Date"); ;
|
|
//columns.Command(c => c.Edit()).Width("80px");
|
|
//columns.Command(c => c.Destroy()).Width("40px");
|
|
columns.Command(c => c.Custom("View Doc").Click("DownloadMeetingAttachment")).Width("40px");
|
|
//columns.Command(c => c.Custom("Upload Doc").Click("UploadMeetingAttachment")).Width("70px");
|
|
})
|
|
|
|
.Resizable(resize => resize.Columns(true))
|
|
.ToolBar(toolbar => toolbar.Create().Text("Add Item"))
|
|
.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.MeetingID).DefaultValue(Model.MeetingID);
|
|
model.Field(a => a.UploadDateTime).Editable(false);
|
|
model.Field(a => a.UploadedByName).Editable(false);
|
|
model.Field(a => a.FileName).Editable(false);
|
|
})
|
|
.PageSize(50)
|
|
.Read(read => read.Action("GetMeetingAttachments", "ChangeControl", new { meetingID = Model.MeetingID }))
|
|
.Create(create => create.Action("InsertMeetingAttachmentItemAttrib", "ChangeControl"))
|
|
//.Destroy(destroy => destroy.Action("DeleteMeetingAttachment", "ChangeControl"))
|
|
//.Update(update => update.Action("UpdateMeetingAttachmentAttrib", "ChangeControl"))
|
|
)
|
|
)
|
|
</div>
|
|
|
|
<div class="panel panel-default">
|
|
<div class="panel-body bg-info">
|
|
<div class="pull-left">
|
|
<table>
|
|
<tr>
|
|
<td style="font-size: 14px; font-weight:bold">
|
|
Decisions:
|
|
</td>
|
|
<td>
|
|
|
|
</td>
|
|
<td>
|
|
<input type="checkbox" id="chkApproved" name="Approved" value="Approved" disabled /> <label for="chkApproved"></label>Approved
|
|
</td>
|
|
<td>
|
|
|
|
</td>
|
|
<td>
|
|
<input type="checkbox" id="chkNotApproved" name="Not Approved" value="Not Approved" disabled /><label for="chkNotApproved"></label>Not Approved
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
<div class="panel-body bg-warning">
|
|
@(Html.Kendo().Grid<Fab2ApprovalSystem.Models.CCDecisionSummary>()
|
|
.Name("DecisionSummary")
|
|
.Columns(columns =>
|
|
{
|
|
columns.Bound(a => a.ID).Visible(false);
|
|
columns.Bound(a => a.DecisionNotes).Width("100px");
|
|
columns.Bound(a => a.ECNLinks).ClientTemplate("#=buildECNLinks(ECNLinks)#").Width("100px");
|
|
columns.Bound(a => a.LotDispoLinks).ClientTemplate("#=buildLotDispoLinks(LotDispoLinks)#").Width("100px");
|
|
|
|
})
|
|
//.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.MeetingID).DefaultValue(Model.MeetingID);
|
|
model.Field(a => a.ECNLinks).Editable(false);
|
|
model.Field(a => a.LotDispoLinks).Editable(false);
|
|
})
|
|
.PageSize(50)
|
|
.Read(read => read.Action("GetDecisionsSummaryList", "ChangeControl", new { meetingID = Model.MeetingID }))
|
|
)
|
|
)
|
|
</div>
|
|
</div>
|
|
<div class="panel panel-default" style="font-size: 11px">
|
|
<div class="panel-body bg-info">
|
|
<div class="pull-left">
|
|
<h5>
|
|
<font style="color:crimson">
|
|
Notes
|
|
</font>
|
|
</h5>
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<div class="row">
|
|
<div class="col-sm-12">
|
|
@Html.TextAreaFor(model => model.Notes, 8, 50, new { id = "txtNotes", @class = "k-textbox", Readonly = "Readonly", style = "background-color:lightblue;width:100%;" })
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="panel panel-default" style="font-size: 10px">
|
|
<div class="panel-body bg-info">
|
|
<div class="pull-left">
|
|
<h5>
|
|
<font style="color:crimson">
|
|
Action Items
|
|
</font>
|
|
</h5>
|
|
</div>
|
|
|
|
</div>
|
|
<div class="panel-body bg-warning">
|
|
@(Html.Kendo().Grid<Fab2ApprovalSystem.Models.CCMeetingActionItem>()
|
|
.Name("MeetingActionItems")
|
|
.Columns(columns =>
|
|
{
|
|
columns.Bound(a => a.ID).Visible(false);
|
|
columns.Bound(a => a.MeetingID).Visible(false);
|
|
columns.Bound(a => a.ActionItemName).Width("300px");
|
|
columns.Bound(a => a.ResponsiblePerson).Width("100px");
|
|
columns.Bound(a => a.Gating).Width("50px");
|
|
columns.Bound(a => a.DueDate).Width("50px").Format("{0:MM/dd/yy}").Width("150px");
|
|
//columns.Command(c => c.Custom("Edit").Click("EditMeetingActionItem")).Width("70px");
|
|
//columns.Command(c => c.Destroy()).Width("40px");
|
|
|
|
|
|
})
|
|
|
|
.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.MeetingID).DefaultValue(Model.MeetingID);
|
|
})
|
|
.PageSize(50)
|
|
.Read(read => read.Action("GetMeetingActionItems", "ChangeControl", new { meetingID = Model.MeetingID }))
|
|
//.Create(create => create.Action("InsertMeetingActionItem", "ChangeControl"))
|
|
//.Destroy(destroy => destroy.Action("DeleteMeetingActionItem", "ChangeControl"))
|
|
//.Update(update => update.Action("UpdateMeetingActionItem", "ChangeControl"))
|
|
)
|
|
)
|
|
|
|
</div>
|
|
</div>
|
|
|
|
|
|
}
|
|
</body>
|
|
|
|
|
|
|
|
<script type="text/javascript">
|
|
|
|
var summaryLinkID;
|
|
var actionItemID;
|
|
var actionItemOperation;
|
|
$(document).ready(function () {
|
|
|
|
if ("@Model.Decision" == 1)
|
|
$('#chkApproved').prop('checked', true);
|
|
else if ("@Model.Decision" == 0)
|
|
$('#chkNotApproved').prop('checked', true);
|
|
})
|
|
|
|
|
|
|
|
|
|
function DownloadMeetingAttachment(e) {
|
|
e.preventDefault();
|
|
|
|
var dataItem = this.dataItem($(e.currentTarget).closest("tr"));
|
|
var fileGUID = dataItem.FileGUID;
|
|
var attachmentID = dataItem.AttachmentID;
|
|
|
|
if (fileGUID != null) {
|
|
window.location = '/ChangeControl/DownloadMeetingFile?fileGuid=' + fileGUID + '&planNumber=' + "@Model.PlanNumber";
|
|
}
|
|
else {
|
|
alert("There is no Attachment to display ")
|
|
}
|
|
}
|
|
|
|
|
|
function UploadAdditionalData(e) {
|
|
e.data =
|
|
{
|
|
attachID: currentAttachmentID
|
|
}
|
|
}
|
|
|
|
|
|
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 buildLotDispoLinks(lotDispos) {
|
|
var template = "";
|
|
if (lotDispos != null) {
|
|
var tempValue = lotDispos.split(',');
|
|
for (var i = 0; i < tempValue.length; i++) {
|
|
template += "<a href='/LotDisposition/Edit?IssueID=" + tempValue[i] + "'> " + tempValue[i] + ",</a>" + " ";
|
|
}
|
|
|
|
}
|
|
return template;
|
|
|
|
}
|
|
|
|
|
|
|
|
$("#BackToCC").on('click', function () {
|
|
|
|
window.location = '/ChangeControl/Edit?issueID=' + "@Model.PlanNumber";
|
|
|
|
})
|
|
|
|
|
|
$("#GetMeeting").on('click', function (e) {
|
|
|
|
e.preventDefault()
|
|
var meetingid = $("#MeetingList").data("kendoDropDownList").value();
|
|
window.location.href = "/ChangeControl/EditMeeting?meetingID=" + meetingid;
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</script> |