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

1965 lines
81 KiB
Plaintext

@model Fab2ApprovalSystem.Models.LTWorkRequest
@{
ViewBag.Title = "Work Request - ReadOnly";
}
@{
Layout = "_LotTravelerLayout.cshtml";
}
<link rel="stylesheet" href="/Content/kendo/kendo.blueopal.min.css" />
<style>
#loading-div-background {
display: none;
position: fixed;
top: 0;
left: 0;
background: #9fc2e1;
width: 100%;
height: 100%;
}
#loading-div {
width: 300px;
height: 150px;
background-color: #70b1eb;
border: 5px solid #1468b3;
text-align: center;
color: #202020;
position: absolute;
left: 50%;
top: 50%;
margin-left: -150px;
margin-top: -100px;
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
behavior: url("/css/pie/PIE.htc"); /* HANDLES IE */
}
table {
border-spacing: 2px;
padding: 3px;
border-color: white;
}
td {
border-color: white;
padding: 4px;
}
</style>
@using (Html.BeginForm())
{
<input type="hidden" id="LTWorkRequestID" value="@Model.ID" />
<input type="hidden" id="DefaultEPISiliconPartNumber" value="@Model.DefaultEPISiliconPartNumber" />
@Html.AntiForgeryToken()
<div class="panel panel-default" 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">
<div class="row">
<div class="col-sm-12">
<font style="color:crimson">
<h4>
Fab2 Special Work Request <font style="color: green; font-weight:bold; font-style:italic">Rev @Model.Revision</font>
</h4>
</font>
</div>
</div>
</div>
<div class="col-sm-4">
<div class="row">
<div class="col-sm-12">
<font style="color:crimson">
@if ((@Model.CurrentStep >= 0 && @Model.CurrentStep <= 2) || (@Model.CurrentStep == 3 && @Model.CloseDate == null))
{
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" style="font-size: 10px">
<div class="panel-body bg-warning">
<div class="row">
<div class="col-sm-12">
<input type="button" value="Print PDF" class="btn btn-warning btn-xs" id="PrintWorkRequestPDF" style="font-size: 10px;" />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<label class="control-label">Revisions:</label>
@(Html.Kendo().DropDownList()
.Name("Revisions")
.BindTo(new SelectList(ViewBag.WorkReqRevisionList, "ID", "RevisionNumber"))
.OptionLabel("Select")
)
<input type="button" value="Display" class="btn btn-warning btn-xs" id="GetRevision" />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<input type="button" value="Approval Log History" class="btn btn-warning btn-xs" id="ApprovalLogHistoryData" />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<input type="button" value="Revision History" class="btn btn-warning btn-xs" id="RevisionHistoryData" />
</div>
</div>
</div>
</div>
<div class="panel panel-default" style="font-size: 10px">
<div class="panel-body bg-info">
<h5>
<font style="color:crimson; font-weight:bold">
Section1: Work Request <font style="color:green; font-weight:bold"> [SWR #:@Model.SWRNumber] [Title:@Model.Title] [Orginator:@Model.OriginatorName] </font>
</font>
<a class="btn btn-xs pull-right alert-danger" id="aSection1" role="button" data-toggle="collapse" href="#collapseSection1" aria-expanded="false" aria-controls="collapseSection1">
Expand
</a>
</h5>
</div>
<div class="collapse" id="collapseSection1">
<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">SWR #:</label>
</div>
<div class="col-sm-9">
@Html.TextBoxFor(model => model.SWRNumber, new { id = "txtSWRNumber", @class = "k-textbox", Readonly = "Readonly", style = "background-color:lightblue" })
</div>
</div>
</div>
<div class="col-sm-6">
<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 = "width:100%" })
</div>
</div>
</div>
<div class="col-sm-4">
<div class="row">
<div class="col-sm-3">
<label class="control-label pull-right">Submit Date:</label>
</div>
<div class="col-sm-9">
@Html.TextBoxFor(model => model.SubmitedDate, new { id = "txtSubmitDate", @class = "k-textbox", Readonly = "Readonly", style = "background-color:lightblue" })
</div>
</div>
</div>
</div>
<div class="row">
<!--NEW ROW=========================================================================================================================================================-->
<div class="col-sm-2">
<div class="row">
<div class="col-sm-3">
<label class="control-label pull-right">Originator:</label>
</div>
<div class="col-sm-9">
@Html.TextBoxFor(model => model.OriginatorName, new { id = "txtOriginatorName", @class = "k-textbox", Readonly = "Readonly", style = "background-color:lightblue" })
@if (Session[GlobalVars.IS_ADMIN] != null)
{
<a href="javascript:undefined" id="lnkReassignOriginator" class="linkbutton edit" title="Re-assign Originator"></a>
}
</div>
</div>
</div>
<div class="col-sm-6">
<div class="row">
<div class="col-sm-3">
<label class="control-label pull-right">Affected Departments:</label>
</div>
<div class="col-sm-9">
@(Html.Kendo().MultiSelectFor(m => m.DepartmentIDs)
.HtmlAttributes(new { Readonly = "Readonly" })
.Name("DepartmentIDs")
.BindTo(new SelectList(ViewBag.Departments, "DepartmentID", "DepartmentName"))
.Value(ViewBag.Nothing)
)
</div>
</div>
</div>
<div class="col-sm-4">
<div class="row">
<div class="col-sm-3">
<label class="control-label pull-right">Affected Modules:</label>
</div>
<div class="col-sm-9">
@(Html.Kendo().MultiSelect()
.HtmlAttributes(new { Readonly = "Readonly" })
.Name("ModuleIDs")
.BindTo(new SelectList(ViewBag.AffectedModules, "ModuleID", "ModuleName"))
.Value(ViewBag.Nothing)
)
</div>
</div>
</div>
</div>
<div class="row">
<!--NEW ROW=========================================================================================================================================================-->
<div class="col-sm-2">
<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.ApprovalStatus, new { id = "txtStatus", @class = "k-textbox", Readonly = "Readonly", style = "background-color:lightblue" })
</div>
</div>
</div>
<div class="col-sm-6">
<div class="row">
<div class="col-sm-3">
<label class="control-label pull-right">Lot Type:</label>
</div>
<div class="col-sm-3">
@(Html.Kendo().DropDownList()
.Name("LotType")
.HtmlAttributes(new { Readonly = "Readonly" })
.DataTextField("Text")
.DataValueField("Value")
.BindTo(new List<SelectListItem>()
{
new SelectListItem()
{
Text = "Select",
Value = "Select"
},
new SelectListItem()
{
Text = "E",
Value = "E"
},
new SelectListItem()
{
Text = "P" ,
Value = "P"
}
}
)
)
</div>
<div class="col-sm-3">
<label class="control-label pull-right">ITAR:</label>
</div>
<div class="col-sm-3">
@Html.CheckBoxFor(model => model.IsITAR, new { @disabled = "disabled" })
</div>
</div>
</div>
<div class="col-sm-4">
<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.PCRBNumber, new { id = "txtPCRBNumber", @class = "k-textbox", Readonly = "Readonly" })
</div>
</div>
</div>
</div>
<div class="row">
<!--NEW ROW=========================================================================================================================================================-->
<div class="col-sm-2">
<div class="row">
<div class="col-sm-3">
<label class="control-label pull-right">Eng Lot Start Req:</label>
</div>
<div class="col-sm-9">
@(Html.Kendo().DropDownList()
.Name("EngLotStartRequired")
.HtmlAttributes(new { Readonly = "Readonly" })
.DataTextField("Text")
.DataValueField("Value")
.BindTo(new List<SelectListItem>()
{
new SelectListItem()
{
Text = "Select",
Value = "-1"
},
new SelectListItem()
{
Text = "Yes",
Value = "1"
},
new SelectListItem()
{
Text = "No",
Value = "0"
}
}
)
.Value(Model.EngLotStartRequired.ToString())
)
</div>
</div>
</div>
<div class="col-sm-6">
<div class="row">
<div class="col-sm-3">
<label class="control-label pull-right">Lot Type Conversion:</label>
</div>
<div class="col-sm-3">
@(Html.Kendo().DropDownList()
.Name("LotTypeConversion")
.HtmlAttributes(new { Readonly = "Readonly" })
.DataTextField("Text")
.DataValueField("Value")
.BindTo(new List<SelectListItem>()
{
new SelectListItem()
{
Text = "Select",
Value = "-1"
},
new SelectListItem()
{
Text = "Yes",
Value = "1"
},
new SelectListItem()
{
Text = "No",
Value = "0"
}
}
)
.Value(Model.LotTypeConversion.ToString())
)
</div>
<div class="col-sm-3">
<label class="control-label pull-right">Qual Lot:</label>
</div>
<div class="col-sm-3">
@(Html.Kendo().DropDownList()
.Name("QualLot")
.HtmlAttributes(new { Readonly = "Readonly" })
.DataTextField("Text")
.DataValueField("Value")
.BindTo(new List<SelectListItem>()
{
new SelectListItem()
{
Text = "Select",
Value = "-1"
},
new SelectListItem()
{
Text = "Yes",
Value = "1"
},
new SelectListItem()
{
Text = "No",
Value = "0"
}
}
)
.Value(Model.QualLot.ToString())
)
</div>
</div>
</div>
</div>
</div>
<div class="panel-body bg-warning">
<div class="row">
<div class="col-sm-1">
<label class="control-label pull-right">Purpose Of Lot/Change Description:</label>
</div>
<div class="col-sm-11">
@Html.TextAreaFor(model => model.PurposeOfRequest, 15, 100, new { id = "txtPurposeOfRequest", @class = "k-textbox", style = "font-size: 11px; width: 100%", Readonly = "Readonly" })
</div>
</div>
</div>
</div>
</div>
<div class="panel panel-default" style="font-size: 10px" id="Sec1A">
<!-- NEW PANEL ===============================================================-->
<div class="panel-body bg-info">
<h5>
<font style="color: crimson; font-weight: bold">
Section1-A: Engineering Wafer Lot Start
</font>
<a class="btn btn-xs pull-right alert-danger" id="aSection1A" role="button" data-toggle="collapse" href="#collapseSection1A" aria-expanded="false" aria-controls="collapseSection1A">
Expand
</a>
</h5>
</div>
<div class="collapse" id="collapseSection1A">
<div class="panel-body bg-warning">
<div class="row">
<div class="col-sm-2">
<div class="col-sm-5">
<label class="control-label pull-right">Start Date:</label>
</div>
<div class="col-sm-7">
@(Html.Kendo().DateTimePickerFor(model => model.PlannedLotStartDate)
.Name("txtPlannedLotStartDate")
.HtmlAttributes(new { Readonly = "Readonly" })
)
</div>
</div>
<div class="col-sm-2">
<div class="col-sm-5">
<label class="control-label pull-right">Sch. Close Date:</label>
</div>
<div class="col-sm-7">
@(Html.Kendo().DateTimePickerFor(model => model.PlannedScheduledCloseDate)
.Name("txtPlannedScheduledCloseDate")
.HtmlAttributes(new { Readonly = "Readonly" })
)
</div>
</div>
<div class="col-sm-2">
<div class="col-sm-5">
<label class="control-label pull-right">Lot Start Charge Dept:</label>
</div>
<div class="col-sm-7">
@Html.TextBoxFor(model => model.ChargeDepartment, new { id = "txtChargeDepartment", @class = "k-textbox", Readonly = "Readonly" })
</div>
</div>
<div class="col-sm-2">
<div class="col-sm-5">
<label class="control-label pull-right">Allocation to use:</label>
</div>
<div class="col-sm-7">
@Html.TextBoxFor(model => model.AllocationToUse, new { id = "txtAllocationToUse", @class = "k-textbox", Readonly = "Readonly" })
</div>
</div>
<div class="col-sm-2">
<div class="col-sm-5">
<label class="control-label pull-right">Predicted Cycle Time:</label>
</div>
<div class="col-sm-7">
@Html.TextBoxFor(model => model.PredictedCyleTime, new { id = "txtPredictedCyleTime", @class = "k-textbox", Readonly = "Readonly" })
</div>
</div>
<div class="col-sm-2">
<div class="col-sm-5">
<label class="control-label pull-right">Total Qty:</label>
</div>
<div class="col-sm-7">
@Html.TextBoxFor(model => model.TotalQty, new { id = "txtTotalQty", @class = "k-textbox" })
</div>
</div>
</div>
</div>
<div>
<div class="row">
<div class="col-sm-12">
@(Html.Kendo().Grid<Fab2ApprovalSystem.ViewModels.LTMaterialViewModel>()
.Name("MaterialList")
.Columns(columns =>
{
columns.Bound(a => a.ID).Visible(false);
columns.Bound(a => a.LTWorkRequestID).Visible(false);
columns.Bound(a => a.WIPPartNumber).Width("50px");
columns.Bound(a => a.EPISiliconPartNumber).Width("50px");
columns.Bound(a => a.Quantity).Width("50px");
columns.Bound(a => a.Supplier).Width("50px");
columns.Bound(a => a.Source).Width("50px");
})
.Resizable(e => e.Columns(true))
.Sortable()
.Scrollable()
.HtmlAttributes(new { style = "width:100%; font-size: 10px" })
.DataSource(dataSource => dataSource
.Ajax()
.ServerOperation(false)
.Events(e => e.Change("RefreshStartQtyData").RequestStart("CheckWIPPartNumber"))
.Model(model =>
{
model.Id(p => p.ID);
model.Field(f => f.WIPPartNumber).DefaultValue(Model.WIPPartNumber).Editable(false);
model.Field(f => f.EPISiliconPartNumber).DefaultValue(Model.DefaultEPISiliconPartNumber);
model.Field(f => f.LTWorkRequestID).DefaultValue(Model.ID);
})
.PageSize(40)
.Read(read => read.Action("GetMaterialDetails", "LotTraveler", new { workRequestID = Model.ID }))
)
.Resizable(resize => resize.Columns(true))
)
</div>
</div>
</div>
<table class="table-condensed" style="width:100%">
<tbody>
<tr>
<td valign="top" width="50%">
<table border="1" width="100%" height="100%" style="font-size:9px">
<tr style="background-color: lightgray; font-weight:bold; font-size:11px">
<td colspan="7" bgcolor="e5e0e0">
Lot Start Check List
</td>
</tr>
<tr>
<td bgcolor="e5e0e0" width="25%">
OnHand/Existing
</td>
<td width="25%">
Silicon
@Html.EditorFor(model => model.SiliconOnHand)
</td>
<td width="25%">
Reticle Set
@Html.EditorFor(model => model.ReticleOnHand)
</td>
<td width="25%">
SPN transfer
@Html.EditorFor(model => model.SPNTransferOnHand)
</td>
</tr>
<tr>
<td bgcolor="e5e0e0" width="25%"></td>
<td width="25%">
Probe Card
@Html.EditorFor(model => model.ProbeCardOnHand)
</td>
<td width="25%">
Probe Recipe
@Html.EditorFor(model => model.ProbeRecipeOnHand)
</td>
<td width="25%">
Process Change Details
@Html.EditorFor(model => model.ProcessChangeDetailsOnHand)
</td>
</tr>
<tr>
<td>
<label class="control-label pull-right">Comments</label>
</td>
<td colspan="6">
@Html.TextAreaFor(model => model.LotStartCheckListComments, 14, 100, new { id = "txtLotStartCheckListComments", @class = "k-textbox", style = "font-size: 11px; width: 100%", ReadOnly = "ReadOnly" })
</td>
</tr>
</table>
</td>
<td valign="top" width="50%">
<table border="1" width="100%" height="100%" style="border-color:lightgrey; font-size:9px">
<tr style="background-color: lightgray; font-weight:bold; font-size:11px">
<td colspan="4" bgcolor="e5e0e0">
Lot Start in SPN
</td>
</tr>
<tr>
<td bgcolor="#e5e0e0" width="15%">
SIGNON
</td>
<td width="30%">
SURP
</td>
<td bgcolor="#e5e0e0" width="15%">
WIP AREA
</td>
<td width="30%">
@Model.WIPArea
</td>
</tr>
<tr>
<td bgcolor="#e5e0e0">
VERB
</td>
<td>
START
</td>
<td bgcolor="#e5e0e0">
Start Date
</td>
<td>
@Model.PlannedLotStartDate
</td>
</tr>
<tr>
<td bgcolor="#e5e0e0">
WIP Lot#
</td>
<td>
@Model.LotNumber
</td>
<td bgcolor="#e5e0e0">
WIP PN#
</td>
<td>
@Model.WIPPartNumber - @Model.PartDescription
</td>
</tr>
<tr>
<td bgcolor="#e5e0e0">
Type
</td>
<td>
@Model.LotType
</td>
<td bgcolor="#e5e0e0">
Process Flow
</td>
<td>
@Model.ProcessFlow
</td>
</tr>
<tr>
<td bgcolor="#e5e0e0">
Start Qty
</td>
<td>
@Model.StartQty
</td>
<td bgcolor="#e5e0e0">
Qual Lot
</td>
<td>
@(Model.QualLot == 1 ? "Y" : "")
</td>
</tr>
<tr>
<td bgcolor="#e5e0e0">
VERB
</td>
<td bgcolor="#e5e0e0">
COMMENT
</td>
<td colspan="2">
@Html.TextAreaFor(model => model.VerbComment, 3, 100, new { id = "txtVerbComment", @class = "k-textbox", style = "font-size: 11px; width: 100%", ReadOnly = "ReadOnly" })
</td>
</tr>
<tr>
<td bgcolor="e5e0e0" colspan="3">
Record Silicon Lot #s in SPN and tape tags to Traveler
</td>
<td>
@(Model.RecordSiliconLotInSPNTapeTagTotrav == 1 ? "Yes" : "No")
</td>
</tr>
<tr>
<td colspan="2" bgcolor="e5e0e0">
Silicon Lot#s: Cassette 1
</td>
<td colspan="2">
@Html.TextAreaFor(model => model.SiliconLotNoCassette1, 3, 100, new { id = "txtSiliconLotNoCassette1", @class = "k-textbox", style = "font-size: 11px; width: 100%", ReadOnly = "ReadOnly" })
</td>
</tr>
</table>
</td>
</tr>
</tbody>
</table>
</div>
<div class="panel-body bg-warning">
<div class="row">
<div class="col-sm-12" >
</div>
</div>
</div>
<div class="panel-body bg-warning">
</div>
</div>
/**/
if (Model.LotCount == 0)
{
<div class="panel panel-default" style="font-size: 10px" id="Sec2">
<!-- NEW PANEL ===============================================================-->
<div class="panel-body bg-info">
<h5>
<font style="color:crimson; font-weight:bold">
Section2: OLHOLD and Engineering Deviation Specified by Originator
</font>
<a class="btn btn-xs pull-right alert-danger" id="aSection2" role="button" data-toggle="collapse" href="#collapseSection2" aria-expanded="false" aria-controls="collapseExample">
Expand
</a>
</h5>
</div>
<div class="collapse" id="collapseSection2">
<div class="panel-body bg-warning">
@(Html.Kendo().Grid<Fab2ApprovalSystem.Models.LTHoldStep>()
.Name("HoldSteps")
.Columns(columns =>
{
columns.Bound(a => a.ID).Visible(false);
columns.Bound(a => a.LTWorkRequestID).Visible(false);
columns.Bound(a => a.BaseFlow).Width("50px");
columns.Bound(a => a.Location).Width("50px");
columns.Bound(a => a.OperSequence).Width("50px");
columns.Bound(a => a.Operation).Width("50px");
columns.Bound(a => a.OperationDescription).Width("100px");
columns.Bound(a => a.ChangeInstructions).ClientTemplate("#=changeNewLine(ChangeInstructions)#").Width("250px");
columns.Bound(a => a.FileNames).ClientTemplate("#=buildLinks(FileNames, SWRNumber, Revision)#").Width("100px");
})
.Resizable(e => e.Columns(true))
.Sortable()
.Scrollable()
.HtmlAttributes(new { style = "height:350px; width:100%; font-size: 8px" })
.DataSource(dataSource => dataSource
.Ajax()
.ServerOperation(false)
.Model(model =>
{
model.Id(p => p.ID);
})
.PageSize(40)
.Read(read => read.Action("GetHoldSteps", "LotTraveler", new { workRequestID = Model.ID }))
)
.Resizable(resize => resize.Columns(true))
)
</div>
</div>
</div>
}
<div class="panel panel-default" style="font-size: 10px">
<div class="panel-body bg-info">
<h5>
<font style="color:crimson; font-weight:bold">
Section3: Document Attachment
</font>
<a class="btn btn-xs pull-right alert-danger" id="aSection3" role="button" data-toggle="collapse" href="#collapseSection3" aria-expanded="false" aria-controls="collapseExample">
Expand
</a>
</h5>
</div>
<div class="collapse" id="collapseSection3">
<div class="panel-body bg-info">
<div class="pull-left">
<button class="btn btn-warning btn-xs" data-toggle="modal" id="UploadWRAttachment" style="font-size:x-small">
Upload Files
</button>
</div>
</div>
<div class="panel-body bg-warning">
@(Html.Kendo().Grid<Fab2ApprovalSystem.Models.LTWorkRequestAttachment>()
.Name("WorkRequestAttachments")
.Columns(columns =>
{
columns.Bound(a => a.ID).Visible(false);
columns.Bound(a => a.FileGUID).Visible(false);
columns.Bound(a => a.FileName).Template(@<text> @Html.ActionLink(@item.FileName.ToString(), null)</text>).Width("100px");
//.ClientTemplate("<a href='" + GlobalVars.AttachmentUrl + "LotTraveler/#=SWRNumber#/#=FileGUID#.#=FileExtension#' target='_blank'>#=FileName#</a>");
columns.Bound(a => a.DocType).Width("50px");
columns.Bound(a => a.Comments).Width("300px");
columns.Bound(a => a.UploadedByName).Width("50px");
columns.Bound(a => a.UploadDateTime).Format("{0:MM/dd/yy hh:mm:ss}").Width("50px");
columns.Command(c => c.Custom("View").Click("DownloadAttachment")).Width("100px");
})
.Resizable(e => e.Columns(true))
.Sortable()
.Scrollable()
.HtmlAttributes(new { style = "width:100%; font-size: 10px" })
.DataSource(dataSource => dataSource
.Ajax()
//.Batch(false)
.ServerOperation(false)
.Model(model =>
{
model.Id(p => p.ID);
model.Field(a => a.UploadDateTime).Editable(false);
model.Field(a => a.UploadedByName).Editable(false);
model.Field(a => a.FileName).Editable(false);
})
.PageSize(50)
.Read(read => read.Action("GetWorkRequestAttachments", "LotTraveler", new { workRequestID = Model.ID }))
)
)
</div>
</div>
</div>
<div class="panel panel-default" style="font-size: 10px">
<div class="panel-body bg-info">
<h5>
<font style="color:crimson; font-weight:bold">
Section4: Approvals
</font>
<a class="btn btn-xs pull-right alert-danger" id="aSection4" role="button" data-toggle="collapse" href="#collapseSection4" aria-expanded="false" aria-controls="collapseExample">
Expand
</a>
</h5>
</div>
<div class="collapse" id="collapseSection4">
<div class="panel-body bg-warning">
@(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);
})
.Sortable()
.Scrollable()
.HtmlAttributes(new { style = "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", "LotTraveler", new { workRequestID = Model.ID, step = Model.CurrentStep }))
)
.Resizable(resize => resize.Columns(true))
)
</div>
</div>
</div>
if (@Model.CloseDate != null)
{
<div class="panel panel-default" style="font-size: 10px">
<div class="panel-body bg-info">
<h5>
<font style="color:crimson; font-weight:bold">
Section5: Lot
</font>
<a class="btn btn-xs pull-right alert-danger" id="aSection5" role="button" data-toggle="collapse" href="#collapseSection5" aria-expanded="false" aria-controls="collapseExample">
Collapse
</a>
</h5>
</div>
<div class="collapse" id="collapseSection5">
<div class="panel-heading">
<table cellspacing="50" cellpadding="50" border="0" width="100%">
<tr>
<td width="10%">
<ul>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" style="font-size: 12px">Lot Options<b class="caret"></b></a>
<ul class="dropdown-menu" style="font-size: 11px">
<li><a href="#" id="showLotSearchFormButton">Search Lots</a></li>
@*<li><a href="#" id="lotAddFormButton">Add Lot</a></li>*@
</ul>
</li>
</ul>
</td>
</tr>
</table>
</div>
<div class="panel-body bg-warning">
<div class="col-sm-offset-0">
@(Html.Kendo().Grid<Fab2ApprovalSystem.Models.LTLot>()
.Name("Lots")
.Columns(columns =>
{
columns.Bound(a => a.ID).Visible(false);
columns.Bound(a => a.WorkRequestID).Visible(false);
columns.Bound(a => a.LotNumber).Width("50px"); ;
columns.Bound(a => a.WIPPartNumber).Width("50px"); ;
columns.Bound(a => a.WaferQty).Width("50px"); ;
columns.Bound(a => a.PartDescription).Width("150px"); ;
columns.Bound(a => a.Process).Width("50px"); ;
columns.Bound(a => a.Location).Width("50px"); ;
columns.Bound(a => a.Operation).Width("50px"); ;
columns.Bound(a => a.LotStatus).Width("25px"); ;
columns.Bound(a => a.LotTravelerCurrentRevision).Width("50px");
columns.Bound(a => a.TravelerStatus).Width("50px");
columns.Bound(a => a.UploadedByName).Width("50px");
columns.Bound(a => a.ID).Template(@<text> @Html.ActionLink(@item.LotNumber.ToString(), null)</text>)
.ClientTemplate("<a href='http://" + GlobalVars.WSR_URL + "/user/wsr2/wsr_lot.php?lot=#=LotNumber#' target='_blank'>View</a>").Title("History").Width("50px");
columns.Bound(p => p.ButtonAttrib).ClientTemplate("#=buildViewButtons(ButtonAttrib)#").Width("50px").Title("");
columns.Bound(p => p.ButtonAttrib).ClientTemplate("#=buildUpdateCreateButtons(ButtonAttrib)#").Width("50px").Title("");
columns.Bound(p => p.ButtonAttrib).ClientTemplate("#=buildUpdateDeleteExecuteButtons(ButtonAttrib)#").Width("50px").Title("");
})
.Sortable()
.Scrollable()
.HtmlAttributes(new { style = "height:200px; width:100%; font-size: 10px" })
.DataSource(dataSource => dataSource
.Ajax()
//.Batch(false)
.ServerOperation(false)
.Events( e => e.Change("LotAdd_AfterChange"))
.Model(model =>
{
model.Id(p => p.ID);
})
.PageSize(20)
.Read(read => read.Action("GetLotList", "LotTraveler", new { workRequestID = Model.ID}))
)
.Resizable(resize => resize.Columns(true))
)
</div>
</div>
</div>
</div>
}
}
<div class="modal fade" id="LotSearchForm" tabindex="0" 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">&times;</button>
<h4 class="modal-title" id="myModalLabel">Lot Search</h4>
</div>
<div class="modal-body ">
<div class="row">
<div class="col-sm-12">
<div class="controls">
<label for="Category">Search By:</label>
</div>
</div>
</div>
<div class="row">
<div class="col-sm-4">
<div class="control-group">
<div class="controls">
<div id="example" class="k-content">
@(Html.Kendo().DropDownList()
.Name("LotCriteria")
.DataTextField("Text")
.DataValueField("Value")
//.Events(e => e.Change("change"))
.BindTo(new List<SelectListItem>() {
new SelectListItem() {
Text = "Lot/DieLotNumber",
Value = "LotNo"
},
new SelectListItem() {
Text = "Location",
Value = "Location"
}
//,new SelectListItem() {
// Text = "Gen",
// Value = "Gen"
//}
})
.Value("1")
)
</div>
</div>
</div>
</div>
<div class="col-sm-4">
<div class="control-group">
<div class="controls">
@Html.TextBox("txtSearch", null, new { @class = "k-textbox" })
</div>
</div>
</div>
<div class="col-sm-4">
<div class="control-group">
<div class="controls">
<input style="margin-top: 5px;" type="button" id='jqxButtonSearchLots' value="Search Lots" />
</div>
</div>
</div>
</div>
<br />
<div class="row">
<div class="col-sm-5">
<div class="control-group">
<div class="controls">
<select multiple id="lstLots" style="height: 250px; width: 200px; font-family: Tahoma; border-color: lightgrey" class="jqx-combobox-multi-item"></select>
<div>
<input style="margin-top: 20px;" type="button" id='jqxButtonAddLots' value="Add Lots" />
</div>
</div>
</div>
</div>
<div class="col-sm-7">
<div class="control-group">
<div class="controls">
<div id='lstSelectedLots' style="height:250px; width:200px; font-family:Tahoma; border-color:lightgrey">
</div>
<div>
<input style="margin-top: 20px;" type="button" id='jqxButtonRemoveLots' value="Remove Lots" />
</div>
</div>
</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="submitSelectLot">Save changes</button>
</div>
</div>
</div>
</div>
<div class="modal fade" id="ApprovalLogHistoryWin" 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">
<h4 class="modal-title" id="myModalLabel">Approval Log History</h4>
</div>
<div class="modal-body">
@(Html.Kendo().Grid<Fab2ApprovalSystem.Models.ApprovalLogHistory>()
.Name("ApprovalLogHistory")
.Columns(columns =>
{
columns.Bound(a => a.ApprovalLogID).Visible(false);
columns.Bound(a => a.FullName);
columns.Bound(a => a.SubRole);
columns.Bound(a => a.Operation);
columns.Bound(a => a.OperationTime).Format("{0:MM/dd/yy hh:mm:ss}");
})
.Sortable()
.Scrollable()
.HtmlAttributes(new { style = "width:100%; font-size: 10px" })
.DataSource(dataSource => dataSource
.Ajax()
.ServerOperation(false)
.Model(model =>
{
model.Id(p => p.ApprovalLogID);
})
.PageSize(50)
.Read(read => read.Action("ApprovalLogHistory_Read", "LotTraveler", new { swrNUmber = Model.SWRNumber }))
)
)
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>
<div class="modal fade" id="RevisionHistoryWin" 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">
<h4 class="modal-title" id="myModalLabel">Revision History</h4>
</div>
<div class="modal-body">
@(Html.Kendo().Grid<Fab2ApprovalSystem.Models.RevisionHistory>()
.Name("RevisionHistory")
.Columns(columns =>
{
columns.Bound(a => a.ID).Visible(false);
columns.Bound(a => a.RevisionedBy);
columns.Bound(a => a.Comments);
columns.Bound(a => a.RevisionCreateDate).Format("{0:MM/dd/yy hh:mm:ss}");
})
.Sortable()
.Scrollable()
.HtmlAttributes(new { style = "width:100%; font-size: 10px" })
.DataSource(dataSource => dataSource
.Ajax()
.ServerOperation(false)
.Model(model =>
{
model.Id(p => p.ID);
})
.PageSize(50)
.Read(read => read.Action("GetWorkRequestRevisionHistory", "LotTraveler", new { swrNUmber = Model.SWRNumber }))
)
)
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>
<div class="modal fade" id="WinAttachDocuments" 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">&times;</button>
<h4 class="modal-title" id="myModalLabel">Select File:</h4>
</div>
<div class="modal-body">
<div class="row">
<div class="col-sm-12">
<label for="WRAttachmentComments">Comments:</label>
<textarea class="form-control" rows="3" id="WRAttachmentComments"></textarea>
</div>
</div>
<div class="row">
<div class="col-sm-4">
<div class="control-group">
<label for="DocumentType">Document Type:</label>
<div class="controls" style="width:200px; font-size: 10px">
<div id="ex" class="k-content">
@(Html.Kendo().DropDownList()
.Name("WRAttachDocType")
.DataTextField("Text")
.DataValueField("Value")
.BindTo(new List<SelectListItem>() {
new SelectListItem() {
Text = "Select",
Value = "Select"
},
new SelectListItem() {
Text = "Instructions",
Value = "Instructions"
},
new SelectListItem() {
Text = "Traveler",
Value = "Traveler"
},
new SelectListItem() {
Text = "Other",
Value = "Other"
}
})
.Value("1")
.HtmlAttributes(new { style = "width:100px;" })
)
</div>
</div>
</div>
</div>
<div class="col-sm-8">
@(Html.Kendo().Upload()
.Name("files")
.Async(a => a
.Save("AttachSaveWorkRequest", "LotTraveler", new { workRequestID = Model.ID, currentRevision = Model.Revision, swrNo = Model.SWRNumber })
.AutoUpload(true)
)
.Events(events => events.Success("RefreshWorkReqAttachmentsGrid").Upload("UploadAdditionalData"))
.ShowFileList(false)
)
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>
<div id="loading-div-background">
<div id="loading-div" class="ui-corner-all">
<img style="height:30px;margin:30px;" src="~/Content/Images/Loading.gif" alt="Creating Traveler, Please Wait...." />
<h4 style="color:crimson;font-weight:bold;">Creating Traveler, Please Wait....</h4>
</div>
</div>
@*<div class="modal fade modal-vertical-centered" id="loading-div-background" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true" data-backdrop="static" data-keyboard="false">
<div class="modal-dialog" style="width: 200px; height: 200px">
<div class="modal-content">
<div class="modal-header">
<h4 style="color:crimson;font-weight:bold;">Creating Traveler, Please Wait....</h4>
</div>
<div class="modal-body">
<img style="height:30px;margin:30px;" src="~/Content/Images/Loading.gif" alt="Creating Traveler, Please Wait...." />
</div>
</div>
</div>
</div>*@
@Html.Partial("_LTReassignOriginator")
<script type="text/javascript">
var holdStepFunction = ""
var holdStepID;
var docType = 6;
var partNumberDropDownCreated = 0;
$(document).ready(function () {
$('#collapseSection5').collapse({
toggle: true
})
displayEmptySelectedLotsList();
$("#loading-div-background").css({ opacity: 0.8 });
$("#files").on('click', function (e) {
if ($("#WRAttachDocType").data("kendoDropDownList").value() == "Select" ||
$("#WRAttachmentComments").val() == '' ) {
alert('Document Type and Comments both needs to filled in before uploading a a file')
e.preventDefault();
}
});
})
$("#aSection1").on('click', function () {
var element = document.getElementById("aSection1");
if (element.innerHTML.trim() == "Collapse")
element.innerHTML = "Expand";
else
element.innerHTML = "Collapse";
})
$("#aSection1A").on('click', function () {
var element = document.getElementById("aSection1A");
if (element.innerHTML.trim() == "Collapse")
element.innerHTML = "Expand";
else
element.innerHTML = "Collapse";
})
$("#aSection2").on('click', function () {
var element = document.getElementById("aSection2");
if (element.innerHTML.trim() == "Collapse")
element.innerHTML = "Expand";
else
element.innerHTML = "Collapse";
})
$("#aSection3").on('click', function () {
var element = document.getElementById("aSection3");
if (element.innerHTML.trim() == "Collapse")
element.innerHTML = "Expand";
else
element.innerHTML = "Collapse";
})
$("#aSection4").on('click', function () {
var element = document.getElementById("aSection4");
if (element.innerHTML.trim() == "Collapse")
element.innerHTML = "Expand";
else
element.innerHTML = "Collapse";
})
$("#aSection5").on('click', function () {
var element = document.getElementById("aSection5");
if (element.innerHTML.trim() == "Collapse")
element.innerHTML = "Expand";
else
element.innerHTML = "Collapse";
})
function RefreshStartQtyData() {
var vgrid = $("#MaterialList").data("kendoGrid");
//Getting grid items
var totalQty = 0;
var items = vgrid.dataSource.data();
for (i = 0; i < items.length; i++) {
var item = items[i];
totalQty = totalQty + item.Quantity;
}
$("#txtStartQty").val(totalQty);
}
$("#GetRevision").on('click', function () {
var id = $("#Revisions").data("kendoDropDownList").value();
$.ajax({
url: "/LotTraveler/GetWorkRequestRevision",
type: "GET",
datatype: "json",
data: {
workRequestID: id
},
success: function (data) {
var url = '@Url.Action("Edit", "LotTraveler", new { issueID = "__id__" })';
url = url.replace('amp;', '');
window.location.href = url.replace('__id__', id);
},
error: function (result) {
alert("Failed " + result);
}
});
})
function CheckWIPPartNumber(e) {
//if ($("#txtWIPPartNumber").val().length == 0) {
// alert("Please enter the WIP PartNumber before adding a hold step");
// return false;
//}
}
function buildLinks(fileNames, swrNumber, revision) {
var template = "";
//var fileName = 4;
//alert(workRequestID);
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='@GlobalVars.AttachmentUrl" + "LotTraveler/" + swrNumber + "/" + fileGuid + "." + fileExtension + "'>" + fileName + "</a><BR>" + " ";
template += "<a href='/LotTraveler/DownloadFile?fileGuid=" + fileGuid + "&swrNumber=" + @Model.SWRNumber + "&typeOfDoc=1" + "'>" + fileName + "</a><BR>" + " ";
}
}
return template;
}
$("#showLotSearchFormButton").on('click', function () {
//$("#lstSearchedLots").jqxListBox('clear');
clearSourceLotsListBox();
$("#lstSelectedLots").jqxListBox('clear');
$('#txtSearch').val('');
$("#LotSearchForm").modal('show');
return false;
})
var clearSourceLotsListBox = function () {
$('#lstLots').each(function () {
this.options.length = 0;
$(this)[0].options.length = 0;
});
}
$("#jqxButtonSearchLots").on('click', function displayLots() {
var searchText = ($("#txtSearch").val());
var searchBy = $("#LotCriteria").data("kendoDropDownList").value();
var url = "/LotTraveler/SearchLots";
$.ajax({
url: url,
type: "GET",
datatype: "json",
data: {
searchText: searchText,
searchBy: searchBy
},
success: function (data) {
clearSourceLotsListBox();
$.each(data, function (index, value) {
$('#lstLots').append($('<option>').text(value).val(index));
});
},
error: function (result) {
alert("Failed " + result);
}
});
});
$("#submitSelectLot").on('click', function () {
var lots;
var templot;
var currLot = "@Model.LotNumber";
var invalidLot = false;
var items = $("#lstSelectedLots").jqxListBox('getItems');
if (items != undefined) {
for (var x = 0; x < items.length; x++) {
//check if the selected lot number is a child of the Mother Lot
templot = items[x].value;
//alert(templot.substring(0, 7) + ' - ' + currLot.substring(0, 7));
if (templot.substring(0, 7) != currLot.substring(0, 7)) {
invalidLot = true;
}
else {
if (lots == undefined)
lots = templot;
else
lots += "~" + templot;
}
};
if (invalidLot)
{
alert("Some or All of the selected lots did not belong to the Mother lot, hence were not added")
}
if (lots != undefined) {
$.ajax({
url: "/LotTraveler/AddLots",
type: "GET",
datatype: "json",
data: {
workRequestID: '@Model.ID',
lotNumbers: lots
},
success: function (data) {
if (data.LotList != null) {
alert('The following Lot Numbers ' + data.LotList + ' cannot be added as they are already present in the list');
}
var grid = $("#Lots").data("kendoGrid");
grid.dataSource.read('@Model.ID');
$("#LotSearchForm").modal('hide');
},
error: function (result) {
alert("Failed " + result);
}
});
}
else
$("#LotSearchForm").modal('hide');
}
return false;
});
function displayEmptySelectedLotsList() {
var source =
{
datatype: "json",
datafields: [
{ name: 'LotNo' }
],
id: 'id'
};
var dataAdapter = new $.jqx.dataAdapter(source);
// Create a jqxListBox
$("#lstSelectedLots").jqxListBox({
multipleextended: true, theme: "arctic", source: dataAdapter, displayMember: "LotNo", valueMember: "LotNo", width: 200, height: 250
});
}
$('#jqxButtonAddLots').on('click', function () {
// get selected items.
var bfound = false;
var lots;
var selected = $('#lstLots option:selected');
var selectedIndices = []; // create an empty array
$.each($('#lstLots option:selected'), function (index, value) { // loop over each option
//selectedIndices.push(index); // add the index to the array
//alert(value.text);
var tempvalue = value.text;
var templabel = value.text;
var itemsAdded = $("#lstSelectedLots").jqxListBox('getItems');
if (itemsAdded != undefined) {
for (var x = 0; x < itemsAdded.length; x++) {
if (itemsAdded[x].label == templabel) {
bfound = true;
break;
};
};
if (!bfound) {
$("#lstSelectedLots").jqxListBox('addItem', { label: tempvalue, value: tempvalue });
if (lots == null)
lots = tempvalue;
else
lots += "~" + tempvalue;
}
bfound = false;
}
else {
$("#lstSelectedLots").jqxListBox('addItem', { label: tempvalue, value: tempvalue });
}
});
});
$('#jqxButtonRemoveLots').on('click', function () {
// get items.
var userids;
var items = $("#lstSelectedLots").jqxListBox('getSelectedItems');
if (items != undefined) {
for (var i = items.length - 1; i >= 0; i--) {
$("#lstSelectedLots").jqxListBox('removeItem', items[i].value);
};
}
});
function RefreshWorkReqAttachmentsGrid() {
var grid = $("#WorkRequestAttachments").data("kendoGrid");
grid.dataSource.read($("@Model.ID").val());
//RefreshHoldStepGrid();
}
function buildUpdateCreateButtons(data) {
//alert(approvalid + ' ');
var ltLotID;
var workRequestID;
var travelerGenerated;
var status;
var temp = data.split('~');
travelerGenerated = temp[0];
ltLotID = temp[1];
workRequestID = temp[2];
status = temp[3];
travelerstatus = temp[4];
var template = "";
//if (travelerstatus == 'Closed')
//{
// template += '<input type="button" value="View Traveler" class="btn btn-warning btn-xs" id="ViewTravlerID" onclick="ViewTraveler(\'' + ltLotID + '\')" style="font-size: 10px;"/>';
//}
//else if (travelerGenerated == 'True') {
if (travelerGenerated == 'True') {
if (travelerstatus != 'Closed')
template += '<input type="button" value="Update Traveler" class="btn btn-warning btn-xs" id="UpdateTravlerID" onclick="DisplayLotTravlerForUpdate(\'' + ltLotID + '\')" style="font-size: 10px;"/>';
}
else {
template += '<input type="button" value="Create Traveler" class="btn btn-warning btn-xs" id="CreateTravelerID" onclick="CreateTraveler(\'' + ltLotID + '\', \'' + workRequestID + '\', \'' + status + '\')" style="font-size: 10px"/>';
}
//alert(template);
return template;
}
function buildUpdateDeleteExecuteButtons(data) {
//alert(approvalid + ' ');
var ltLotID;
var workRequestID;
var travelerGenerated;
var temp = data.split('~');
travelerGenerated = temp[0];
ltLotID = temp[1];
workRequestID = temp[2];
travelerstatus = temp[4];
var template = "";
if (travelerstatus == 'Closed') {
template += '';
}
else if (travelerGenerated == 'True') {
template += '<input type="button" value="Execute Traveler" class="btn btn-warning btn-xs" id="ExecTravelerID" onclick="DisplayLotTravlerForExecute(\'' + ltLotID + '\')" style="font-size: 10px"/>';
}
else {
template += '<input type="button" value="Delete Lot" class="btn btn-warning btn-xs" id="DeleteLotID" onclick="DeleteLot(\'' + ltLotID + '\')" style="font-size: 10px"/>';
}
return template;
}
function buildViewButtons(data)
{
var ltLotID;
var workRequestID;
var travelerGenerated;
var status;
var temp = data.split('~');
travelerGenerated = temp[0];
ltLotID = temp[1].trim();
workRequestID = temp[2];
status = temp[3];
travelerstatus = temp[4];
var template = "";
if (travelerGenerated == 'True') {
template += '<input type="button" value="View Traveler" class="btn btn-warning btn-xs" id="ViewTravlerID" onclick="ViewTraveler(\'' + ltLotID + '\')" style="font-size: 10px;"/>';
}
return template;
}
function ViewTraveler(ltLotID)
{
var url = "@Html.Raw(@Url.Action("LotTravelerReadonly", "LotTraveler", new { ltLotID = "__id__", revisionNumber = "-1" }))";
//url = url.replace('amp;', '');
window.location.href = url.replace('__id__', ltLotID);
}
function DisplayLotTravlerForUpdate(ltLotID) {
$.ajax({
url: "/LotTraveler/DisplayLotTraveler",
type: "GET",
datatype: "json",
contentType: "application/json; charset=utf-8",
data: {
ltLotID: ltLotID
},
success: function (data) {
if (data == 'Update') {
var url = '@Url.Action("LotTravelerUpdate", "LotTraveler", new { ltLotID = "__id__" })';
url = url.replace('amp;', '');
window.location.href = url.replace('__id__', ltLotID);
}
else {
var url = '@Url.Action("LotTravelerReadonly", "LotTraveler", new { ltLotID = "__id__", revisionNumber = "__revID__" })';
var temp = data.split('~');
url = url.replace('__revID__', temp[1])
url = url.replace('amp;', '');
window.location.href = url.replace('__id__', ltLotID);
}
},
error: function (result) {
alert("Failed " + result);
}
});
}
function DisplayLotTravlerForExecute(ltLotID) {
@*var url = '@Url.Action("LotTravelerExecute", "LotTraveler", new { ltLotID = "__id__" })';
window.location.href = url.replace('__id__', ltLotID);*@
$.ajax({
url: "/LotTraveler/DisplayLotTravelerForExecute",
type: "GET",
datatype: "json",
contentType: "application/json; charset=utf-8",
data: {
ltLotID: ltLotID
},
success: function (data) {
if (data == 'Execute') {
var url = '@Url.Action("LotTravelerExecute", "LotTraveler", new { ltLotID = "__id__" })';
url = url.replace('amp;', '');
window.location.href = url.replace('__id__', ltLotID);
}
else {
var url = '@Url.Action("LotTravelerReadonly", "LotTraveler", new { ltLotID = "__id__", revisionNumber = "__revID__" })';
var temp = data.split('~');
url = url.replace('__revID__', temp[1])
url = url.replace('amp;', '');
window.location.href = url.replace('__id__', ltLotID);
}
},
error: function (result) {
alert("Failed " + result);
}
});
}
function CreateTraveler(ltLotID, workRequestID, status) {
status = $.trim(status)
if (status == 'C')
{
alert('Cannot create a Traveler for Closed Lots')
return false;
}
if (status == 'Z') {
alert('Cannot create a Traveler for Zero Wafers Lots')
return false;
}
if (confirm('Are you sure you want to create a Lot Traveler for this lot')) {
//TODO display a processing window
$("#loading-div-background").show()
//$("#loading-div-background").modal('show')
$.ajax({
url: "/LotTraveler/CreateTaveler",
type: "GET",
datatype: "json",
contentType: "application/json; charset=utf-8",
data: {
ltLotID: ltLotID,
workRequestID: workRequestID
},
success: function (data) {
$("#loading-div-background").hide();
//$("#loading-div-background").modal('hide')
var grid = $("#Lots").data("kendoGrid");
grid.dataSource.read('@Model.ID');
alert("Lot Traveler Created!")
},
error: function (result) {
$("#loading-div-background").hide();
alert("Failed " + result);
}
});
}
}
function DeleteLot(ltLotID) {
if (confirm("Are you sure you want to proceed with the DELETE operation")) {
$.ajax({
url: "/LotTraveler/DeleteLot",
type: "GET",
datatype: "json",
contentType: "application/json; charset=utf-8",
data: {
ltLotID: ltLotID
},
success: function () {
var grid = $("#Lots").data("kendoGrid");
grid.dataSource.read('@Model.ID');
alert("Lot Deleted")
},
error: function (result) {
alert("Failed " + result);
}
});
}
}
$('#ApprovalLogHistoryData').on('click', function (e) {
e.preventDefault();
$("#ApprovalLogHistoryWin").modal('show');
return false;
})
$('#RevisionHistoryData').on('click', function (e) {
e.preventDefault();
$("#RevisionHistoryWin").modal('show');
return false;
})
$("#PrintWorkRequestPDF").on('click', function (e) {
e.preventDefault();
var url = '@Url.Action("DisplayWorkRequestPDF", "LotTraveler", new { workRequestID = "__id__" })';
window.open(url.replace('__id__', '@Model.ID', '_blank'));
})
$("#UploadWRAttachment").on('click', function (e) {
e.preventDefault();
$("#WinAttachDocuments").modal('show');
})
function UploadAdditionalData(e)
{
fileData = e;
var files = e.files;
$.each(files, function () {
if (!this.extension.toLowerCase().match(/^(.doc|.docx|.ppt|.pptx|.xls|.xlsx|.xlsm|.pdf|.gif|.jpeg|.jpg|.bmp|.png|.txt)$/)) {
alert("Only Word/PowerPoint/Excel/PDF/Image/Text files can be uploaded!")
e.preventDefault();
}
});
e.data = {
comments: $("#WRAttachmentComments").val(),
docType : $("#WRAttachDocType").data("kendoDropDownList").value()
};
}
function changeNewLine(text) {
if (text != null) {
var regexp = new RegExp('\n', 'g');
return text.replace(regexp, '<br>');
}
else
return '';
}
function LotAdd_AfterChange()
{
var vgrid = $("#Lots").data("kendoGrid");
var items = vgrid.dataSource.data();
var element = document.getElementById("aSection1");
if (items.length > 0) {
$('#Sec2').hide();
$('#Sec1A').hide();
element.innerHTML = "Expand";
}
else {
$('#Sec2').show();
$('#Sec1A').show();
$('#collapseSection1').collapse({
toggle: true
})
element.innerHTML = "Collapse";
}
}
function DownloadAttachment(e) {
e.preventDefault();
var dataItem = this.dataItem($(e.currentTarget).closest("tr"));
var fileGUID = dataItem.FileGUID;
var attachmentID = dataItem.AttachmentID;
window.location = '/LotTraveler/DownloadFile?fileGuid=' + fileGUID + '&swrNumber=' + "@Model.SWRNumber" + "&typeOfDoc=1";
}
</script>