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

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>
&nbsp;&nbsp;
</td>
<td>
<input type="checkbox" id="chkApproved" name="Approved" value="Approved" disabled /> <label for="chkApproved"></label>Approved
</td>
<td>
&nbsp;&nbsp;
</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>