@model Fab2ApprovalSystem.Models.LTWorkRequest @{ ViewBag.Title = "Work Request"; } @{ Layout = "_LotTravelerLayout.cshtml"; } @using (Html.BeginForm()) { @Html.AntiForgeryToken()
@if (@Model.IsCurrentRevision) { if (ViewBag.IsApprover == "true") {
@**@
} else {
} }

Fab2 Special Work Request Rev @Model.Revision

@**@
@*@(Html.Kendo().DropDownList() .Name("Revisions") .BindTo(new SelectList(ViewBag.WorkReqRevisionList, "ID", "RevisionNumber")) .OptionLabel("Select") )*@
@**@
         @(Html.Kendo().DropDownList() .Name("Revisions") .BindTo(new SelectList(ViewBag.WorkReqRevisionList, "ID", "RevisionNumber")) .OptionLabel("Select") )                  
Section1: Work Request
@Html.TextBoxFor(model => model.SWRNumber, new { id = "txtSWRNumber", @class = "k-textbox", Readonly = "Readonly", style = "background-color:lightblue" })
@Html.TextBoxFor(model => model.Title, new { id = "txtTitle", @class = "k-textbox", Readonly = "Readonly", style = "width:100%" })
@Html.TextBoxFor(model => model.SubmitedDate, new { id = "txtSubmitDate", @class = "k-textbox", Readonly = "Readonly", style = "background-color:lightblue" })
@Html.TextBoxFor(model => model.OriginatorName, new { id = "txtOriginatorName", @class = "k-textbox", Readonly = "Readonly", style = "background-color:lightblue" })
@(Html.Kendo().MultiSelectFor(m => m.DepartmentIDs) .HtmlAttributes(new { Readonly = "Readonly" }) .Name("DepartmentIDs") .BindTo(new SelectList(ViewBag.Departments, "DepartmentID", "DepartmentName")) .Value(ViewBag.Nothing) )
@(Html.Kendo().MultiSelect() .HtmlAttributes(new { Readonly = "Readonly" }) .Name("ModuleIDs") .BindTo(new SelectList(ViewBag.AffectedModules, "ModuleID", "ModuleName")) .Value(ViewBag.Nothing) )
@Html.TextBoxFor(model => model.ApprovalStatus, new { id = "txtStatus", @class = "k-textbox", Readonly = "Readonly", style = "background-color:lightblue" })
@(Html.Kendo().DropDownList() .Name("LotType") .HtmlAttributes(new { Readonly = "Readonly" }) .DataTextField("Text") .DataValueField("Value") .BindTo(new List() { new SelectListItem() { Text = "Select", Value = "Select" }, new SelectListItem() { Text = "E", Value = "E" }, new SelectListItem() { Text = "P" , Value = "P" } } ) .Value(Model.LotType.ToString()) )
@Html.CheckBoxFor(model => model.IsITAR, new { @disabled = "disabled" })
@Html.TextBoxFor(model => model.PCRBNumber, new { id = "txtPCRBNumber", @class = "k-textbox", Readonly = "Readonly" })
@(Html.Kendo().DropDownList() .Name("EngLotStartRequired") .HtmlAttributes(new { Readonly = "Readonly" }) .DataTextField("Text") .DataValueField("Value") .BindTo(new List() { new SelectListItem() { Text = "Select", Value = "-1" }, new SelectListItem() { Text = "Yes", Value = "1" }, new SelectListItem() { Text = "No", Value = "0" } } ) .Value(Model.EngLotStartRequired.ToString()) )
@(Html.Kendo().DropDownList() .Name("LotTypeConversion") .HtmlAttributes(new { Readonly = "Readonly" }) .DataTextField("Text") .DataValueField("Value") .BindTo(new List() { new SelectListItem() { Text = "Select", Value = "-1" }, new SelectListItem() { Text = "Yes", Value = "1" }, new SelectListItem() { Text = "No", Value = "0" } } ) .Value(Model.LotTypeConversion.ToString()) )
@(Html.Kendo().DropDownList() .Name("QualLot") .HtmlAttributes(new { Readonly = "Readonly" }) .DataTextField("Text") .DataValueField("Value") .BindTo(new List() { new SelectListItem() { Text = "Select", Value = "-1" }, new SelectListItem() { Text = "Yes", Value = "1" }, new SelectListItem() { Text = "No", Value = "0" } } ) .Value(Model.QualLot.ToString()) )
@Html.TextAreaFor(model => model.PurposeOfRequest, 15, 100, new { id = "txtPurposeOfRequest", @class = "k-textbox", Readonly = "Readonly", style = "font-size: 11px; width: 100%" })
Section1-A: Engineering Wafer Lot Start
@Html.TextBoxFor(model => model.LotNumber, new { id = "txtLotNumber", @class = "k-textbox" })
@(Html.Kendo().DateTimePickerFor(model => model.PlannedLotStartDate) .Name("txtPlannedLotStartDate"))
@(Html.Kendo().DateTimePickerFor(model => model.PlannedScheduledCloseDate) .Name("txtPlannedScheduledCloseDate"))
@Html.TextBoxFor(model => model.TotalQty, new { id = "txtTotalQty", @class = "k-textbox", Readonly = "Readonly" })
@Html.TextBoxFor(model => model.ChargeDepartment, new { id = "txtChargeDepartment", @class = "k-textbox" })
@(Html.Kendo().DropDownList() .Name("AllocationToUse") .DataTextField("Text") .DataValueField("Value") .BindTo(new List() { new SelectListItem() { Text = "Select", Value = "Select" }, new SelectListItem() { Text = "ATV", Value = "ATV" }, new SelectListItem() { Text = "HiRel", Value = "HiRel" }, new SelectListItem() { Text = "IPC", Value = "IPC" }, new SelectListItem() { Text = "PMD", Value = "PMD" }, new SelectListItem() { Text = "Fab", Value = "Fab" }, new SelectListItem() { Text = "Silicon", Value = "Silicon" } } ) .Value((Model.AllocationToUse == null ? "Select" : Model.AllocationToUse.ToString())) )
@Html.TextBoxFor(model => model.PredictedCyleTime, new { id = "txtPredictedCyleTime", @class = "k-textbox" })
@(Html.Kendo().Grid() .Name("MaterialList") .Columns(columns => { columns.Bound(a => a.ID).Visible(false); columns.Bound(a => a.PreviousMaterialID).Visible(false); columns.Bound(a => a.LTWorkRequestID).Visible(false); columns.Bound(a => a.WIPPartNumber).Width("10%x"); columns.Bound(a => a.EPISiliconPartNumber).Width("10%"); columns.Bound(a => a.Quantity).Width("10%"); columns.Bound(a => a.Supplier).Width("30%"); columns.Bound(a => a.Source).Width("30%"); columns.Command(command => { command.Custom("Edits").Text("Edit").Click("UpdateMaterialRevision"); }).Width("5%"); columns.Command(command => { command.Custom("Deletes").Text("Delete").Click("DeleteMaterialRevision"); }).Width("5%"); }) .Sortable() .Scrollable() .HtmlAttributes(new { style = "height:250px; width:100%; font-size: 8px" }) .DataSource(dataSource => dataSource .Ajax() .ServerOperation(false) .Events(e => e.Change("RefreshStartQtyData")) .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)) )
Lot Start Check List
OnHand/Existing Silicon @Html.EditorFor(model => model.SiliconOnHand, new { Readonly = "Readonly" }) Reticle Set @Html.EditorFor(model => model.ReticleOnHand) SPN transfer @Html.EditorFor(model => model.SPNTransferOnHand)
Probe Card @Html.EditorFor(model => model.ProbeCardOnHand) Probe Recipe @Html.EditorFor(model => model.ProbeRecipeOnHand) Process Change Details @Html.EditorFor(model => model.ProcessChangeDetailsOnHand)
@Html.TextAreaFor(model => model.LotStartCheckListComments, 14, 100, new { id = "txtLotStartCheckListComments", @class = "k-textbox", style = "font-size: 11px; width: 100%" })
Lot Start in SPN
SIGNON SURP WIP AREA @Model.WIPArea
VERB START Start Date @Model.PlannedLotStartDate
WIP Lot# @Model.LotNumber WIP PN# @Model.WIPPartNumber - @Model.PartDescription
Type @Model.LotType Process Flow @Model.ProcessFlow
Start Qty @Model.StartQty Qual Lot @(Model.QualLot == 1 ? "Y" : "")
VERB COMMENT @Html.TextAreaFor(model => model.VerbComment, 3, 100, new { id = "txtVerbComment", @class = "k-textbox", style = "font-size: 11px; width: 100%" })
Record Silicon Lot #s in SPN and tape tags to Traveler @(Html.Kendo().DropDownList() .Name("RecordSiliconLotInSPNTapeTagTotrav") .DataTextField("Text") .DataValueField("Value") .BindTo(new List() { new SelectListItem() { Text = "Select", Value = "-1" }, new SelectListItem() { Text = "Yes", Value = "1" }, new SelectListItem() { Text = "No", Value = "0" } } ) .Value(Model.RecordSiliconLotInSPNTapeTagTotrav.ToString()) )
Silicon Lot#s: Cassette 1 @Html.TextAreaFor(model => model.SiliconLotNoCassette1, 3, 100, new { id = "txtSiliconLotNoCassette1", @class = "k-textbox", style = "font-size: 11px; width: 100%" })
/**/
Section2: OLHOLD and Engineering Deviation Specified by Originator
@(Html.Kendo().Grid() .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("25px"); 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"); columns.Command(c => c.Custom("Upload File").Click("UploadHoldStepAttachment")).Width("50px"); columns.Command(c => c.Custom("Edit").Click("EditHoldStep")).Width("50px"); columns.Command(c => c.Custom("Delete").Click("DeleteHoldStep")).Width("50px"); }) .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)) )
Section3: Document Attachment
@(Html.Kendo().Grid() .Name("WorkRequestAttachments") .Columns(columns => { columns.Bound(a => a.ID).Visible(false); columns.Bound(a => a.FileGUID).Visible(false); columns.Bound(a => a.FileName).Template(@ @Html.ActionLink(@item.FileName.ToString(), null)).Width("100px"); //.ClientTemplate("#=FileName#"); 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("AttachEdit").Text("Edit").Click("EditWrkReqAttach")).Width("100px"); columns.Command(c => c.Custom("AttachDelete").Text("Delete").Click("DeleteWrkReqAttach")).Width("100px"); columns.Command(c => c.Custom("View").Click("DownloadAttachment")).Width("100px"); }) .Resizable(e => e.Columns(true)) .Sortable() .Scrollable() .HtmlAttributes(new { style = "height:125; width:100%; font-size: 10px" }) .DataSource(dataSource => dataSource .Ajax() //.Batch(false) .ServerOperation(false) .Events(events => events.RequestEnd("RefreshHoldStepGrid")) .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 })) //.Update(update => update.Action("UpdateWorkRequestAttachment", "LotTraveler")) ) )
@if (ViewBag.IsApprover == "true" && Model.CurrentStep == 3) { }
@if (GlobalVars.IsAdminValueNotNull(Session)) { if (GlobalVars.IsAdmin(Session) && (Request.IsAuthenticated)) { @(Html.Kendo().Grid() .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.Bound(p => p.Status).ClientTemplate("#=buildButtons(Status)#"); 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", "LotTraveler", new { workRequestID = Model.ID, step = Model.CurrentStep })) ) .Resizable(resize => resize.Columns(true)) ) } else { @(Html.Kendo().Grid() .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 = "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", "LotTraveler", new { workRequestID = Model.ID, step = Model.CurrentStep })) ) .Resizable(resize => resize.Columns(true)) ) } }
} @**@