initial add
This commit is contained in:
491
Fab2ApprovalSystem/Views/ChangeControl/ReadOnlyMeeting.cshtml
Normal file
491
Fab2ApprovalSystem/Views/ChangeControl/ReadOnlyMeeting.cshtml
Normal file
@ -0,0 +1,491 @@
|
||||
@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>
|
Reference in New Issue
Block a user