@model AMESCoreStudio.Web.ViewModels.PCS.WipDataViewModel @{ ViewData["Title"] = "PCS034"; Layout = "~/Views/Shared/_AMESLayout.cshtml"; } <style> .control-label { justify-content: flex-end !important; } .text-error { color: #dc3545 !important; } .my-read-only-class { cursor: not-allowed; } </style> <div class="layui-card"> <div class="col-sm-12"> <form id="formPCS034" enctype="multipart/form-data" method="post" asp-action="PCS034" class="layui-form"> <div asp-validation-summary="ModelOnly" class="text-danger"></div> <input asp-for="wipInfo.WipID" type="hidden" value="@Model.wipInfo.WipID" /> <input asp-for="wipInfo.UnitNO" type="hidden" value="@Model.wipInfo.UnitNO" /> <input asp-for="wipInfo.WipNO" type="hidden" value="@Model.wipInfo.WipNO" /> <input asp-for="wipAtt.ItemNO" type="hidden" value="@Model.wipAtt.ItemNO" /> <input asp-for="wipInfo.CompleteQTY" type="hidden" value="@Model.wipInfo.CompleteQTY" /> <input asp-for="wipBarcodeOther.OtherID" type="hidden" value="@if(Model.wipBarcodeOther != null){ @Model.wipBarcodeOther.OtherID }" /> <input asp-for="wipMAC.WipNO" type="hidden" value="@if(Model.wipMAC != null){ @Model.wipMAC.WipNO }" /> <div class="layui-form-item " style="padding-left:30px"> <input @(Model.wipInfo.InputFlag == "Y" ? "checked" : "") type="checkbox" name="wipInfo.InputFlag" title="判斷前製程是否已經投入" /> </div> <div class="layui-form-item"> <div class="layui-inline"> <label asp-for="wipInfo.WipNO" class="layui-form-label"></label> <div class="layui-input-inline"> <input asp-for="wipInfo.WipNO" class="layui-input" autocomplete="off" disabled /> <span asp-validation-for="wipInfo.WipNO" class="layui-bg-red"></span> </div> <label asp-for="wipInfo.WipSEQ" class="layui-form-label"></label> <div class="layui-input-inline"> <select asp-for="wipInfo.WipSEQ" asp-items="@ViewBag.WipSEQTypeList" class=""></select> </div> <label asp-for="wipAtt.ItemNO" class="layui-form-label"></label> <div class="layui-input-inline"> <input asp-for="wipAtt.ItemNO" class="layui-input" autocomplete="off" disabled /> <span asp-validation-for="wipAtt.ItemNO" class="layui-bg-red"></span> </div> <label asp-for="wipInfo.PlanQTY" class="layui-form-label"></label> <div class="layui-input-inline"> <input asp-for="wipInfo.PlanQTY" class="layui-input" autocomplete="off" /> <span asp-validation-for="wipInfo.PlanQTY" class="layui-bg-red"></span> </div> </div> </div> <div class="layui-form-item"> <div class="layui-inline"> <label asp-for="wipInfo.WipType" class="layui-form-label"></label> <div class="layui-input-inline"> <select disabled asp-for="wipInfo.WipType" asp-items="@ViewBag.GetWipTypeList" class=""></select> </div> <label asp-for="wipInfo.ProductTypeID" class="layui-form-label"></label> <div class="layui-input-inline"> <select asp-for="wipInfo.ProductTypeID" asp-items="@ViewBag.ProductTypesList"></select> </div> <label asp-for="wipInfo.Werks" class="layui-form-label"></label> <div class="layui-input-inline"> <select asp-for="wipInfo.Werks" asp-items="@ViewBag.FactoryInfoList" style="color: #dc3545 !important;"></select> </div> <label asp-for="wipInfo.WerksNO" class="layui-form-label"></label> <div class="layui-input-inline"> <input asp-for="wipInfo.WerksNO" class="layui-input" autocomplete="off" /> <span asp-validation-for="wipInfo.WerksNO" class="layui-bg-red"></span> </div> </div> </div> <div class="layui-form-item"> <div class="layui-inline"> <label class="layui-form-label">客戶類別</label> <div class="layui-input-inline"> <input @(Model.wipInfo.CustomerMedical == "Y" ? "checked" : "") name="wipInfo.CustomerMedical" type="checkbox" title="醫療" /> <input @(Model.wipInfo.CustomerVIP == "Y" ? "checked" : "") name="wipInfo.CustomerVIP" type="checkbox" title="VIP" /> </div> <label asp-for="wipInfo.CustomerNO" class="layui-form-label"></label> <div class="layui-input-inline"> <input asp-for="wipInfo.CustomerNO" class="layui-input" autocomplete="off" /> <span asp-validation-for="wipInfo.CustomerNO" class="layui-bg-red"></span> </div> <label asp-for="wipInfo.CustomerItemNO" class="layui-form-label"></label> <div class="layui-input-inline"> <input asp-for="wipInfo.CustomerItemNO" class="layui-input" autocomplete="off" /> </div> <label asp-for="wipInfo.Sales" class="layui-form-label"></label> <div class="layui-input-inline"> <input asp-for="wipInfo.Sales" class="layui-input" autocomplete="off" /> </div> </div> </div> <div class="layui-form-item"> <div class="layui-inline"> <label asp-for="wipInfo.UnitNO" class="layui-form-label"></label> <div class="layui-input-inline"> <select disabled lay-filter="unit" asp-for="wipInfo.UnitNO" asp-items="@ViewBag.FactoryUnitByWipNo" class=""></select> </div> <input id="unitNo" type="hidden" asp-for="wipInfo.UnitNO" /> <label asp-for="wipInfo.LineID" class="layui-form-label"></label> <div class="layui-input-inline"> <select lay-filter="lind" asp-for="wipInfo.LineID" asp-items="@ViewBag.LineInfoList" class=""> </select> </div> <input id="lindID" type="hidden" name="lindID" value="" /> <label asp-for="wipInfo.RelatedWONO" class="layui-form-label"></label> <div class="layui-input-inline"> <input asp-for="wipInfo.RelatedWONO" class="layui-input" /> </div> <label asp-for="wipInfo.OrderNO" class="layui-form-label"></label> <div class="layui-input-inline"> <input asp-for="wipInfo.OrderNO" class="layui-input" /> </div> </div> </div> <div class="layui-form-item"> <label asp-for="wipInfo.Remarks" class="layui-form-label"></label> <div class="layui-input-block"> <textarea asp-for="wipInfo.Remarks" class="layui-textarea"></textarea> </div> </div> <div class="layui-form-item"> <label asp-for="wipInfo.Description" class="layui-form-label"></label> <div class="layui-input-block"> <input asp-for="wipInfo.Description" class="layui-input" /> </div> </div> <div class="layui-form-item" style="padding-left:30px"> <input @(Model.wipInfo.ModelCheck == "Y" ? "checked" : "") type="checkbox" title="混線投入機種檢查" name="wipInfo.ModelCheck" /> <input @(Model.wipInfo.ECNCheck == "Y" ? "checked" : "") type="checkbox" title="混線投入ECN相同檢查" name="wipInfo.ECNCheck" /> <input @(Model.wipInfo.Priority == "Y" ? "checked" : "") type="checkbox" title="線上強制工單" name="wipInfo.Priority" /> </div> <div class="layui-tab layui-tab-brief"> <ul class="layui-tab-title"> <li class="layui-this">工單屬性</li> <li>序號編碼</li> <li>Keypart組合</li> <li>生產流程</li> <li id="board">板卡-工程資訊</li> <li id="system">工程資訊</li> <li>治具組合</li> <li>SOP文件</li> <li>標籤選項</li> <li>上傳檔案</li> </ul> <div class="layui-tab-content"> @* 工單屬性sheet *@ <div class="layui-tab-item layui-show"> <div class="layui-form-item"> <div class="layui-inline"> <label asp-for="wipAtt.ModelNO" class="layui-form-label"></label> <div class="layui-input-inline"> <input asp-for="wipAtt.ModelNO" class="layui-input" /> </div> <label asp-for="wipAtt.WipProcess" class="layui-form-label"></label> <div class="layui-input-inline"> <select asp-for="wipAtt.WipProcess" asp-items="@ViewBag.ProcessTypeList" class=""></select> </div> <label asp-for="wipAtt.Side" class="layui-form-label"></label> <div class="layui-input-inline"> <select asp-for="wipAtt.Side" asp-items="@ViewBag.MFGTypeList" class=""></select> </div> </div> </div> <div class="layui-form-item"> <div class="layui-inline"> <label asp-for="wipAtt.Boards" class="layui-form-label"></label> <div class="layui-input-inline"> <input asp-for="wipAtt.Boards" class="layui-input" /> </div> <label asp-for="wipInfo.BoxCNT" class="layui-form-label"></label> <div class="layui-input-inline"> <input asp-for="wipInfo.BoxCNT" class="layui-input" /> </div> </div> </div> <div class="layui-form-item"> <div class="layui-inline"> <label asp-for="wipAtt.ECN" class="layui-form-label"></label> <div class="layui-input-inline"> <input asp-for="wipAtt.ECN" class="layui-input" /> </div> <label asp-for="wipAtt.EAN" class="layui-form-label"></label> <div class="layui-input-inline"> <input asp-for="wipAtt.EAN" class="layui-input" /> </div> </div> </div> <div class="layui-form-item"> <div class="layui-inline"> <label asp-for="wipInfo.WipScheduleDate" class="layui-form-label"></label> <div class="layui-input-inline"> <input asp-for="wipInfo.WipScheduleDate" class="layui-input" readonly="" /> </div> <label asp-for="wipInfo.WipDueDate" class="layui-form-label"></label> <div class="layui-input-inline"> <input asp-for="wipInfo.WipDueDate" class="layui-input" readonly="" /> </div> </div> </div> </div> @* 序號編碼sheet *@ <div class="layui-tab-item"> <label class="layui-form-label">生產序號</label> <table id="MydataTable" class="layui-table"> <thead> <tr> <th> 起始生產序號 </th> <th> 結束生產序號 </th> </tr> </thead> <tbody> @foreach (var index in Model.wipBarcodes) { <tr> <td> @index.StartNO </td> <td> @index.EndNO </td> </tr> } </tbody> </table> @*<div class="layui-form-item"> <div class="layui-inline"> <label class="layui-form-label">生產序號</label> <div class="layui-input-inline"> <input asp-for="wipBarcode.StartNO" class="layui-input" /> </div> <div class="layui-form-mid">-</div> <div class="layui-input-inline"> <input asp-for="wipBarcode.EndNO" class="layui-input" /> </div> <div class="layui-input-inline"> <input id="GetBarCode" class="layui-btn layui-btn-primary layui-border-blue layui-btn-sm" type="button" value="產生條碼" /> </div> </div> </div>*@ <div class="layui-form-item"> <div class="layui-inline"> <label class="layui-form-label">出貨序號</label> <div class="layui-input-inline"> <input asp-for="wipBarcodeOther.StartNO" class="layui-input" readonly="readonly" /> </div> <div class="layui-form-mid">-</div> <div class="layui-input-inline"> <input asp-for="wipBarcodeOther.EndNO" class="layui-input" readonly="readonly" /> </div> <div id="barcodeOtherDiv" style="display:inline;"> <label class="layui-form-label">lotNo</label> <div class="layui-input-inline" style="width:100px;"> <input id="lotNo" class="layui-input" style="width:100px;" type="text" /> </div> <div class="layui-input-inline"> <input id="GetBarcodeOther" class="layui-btn layui-btn-primary layui-border-blue layui-btn-sm" type="button" value="產生出貨序號" /> </div> </div> </div> </div> <div class="layui-form-item"> <div class="layui-inline"> <label class="layui-form-label">MAC</label> <div class="layui-input-inline"> <input asp-for="wipMAC.StartNO" class="layui-input" /> </div> <div class="layui-form-mid">-</div> <div class="layui-input-inline"> <input asp-for="wipMAC.EndNO" class="layui-input" /> </div> <div class="layui-input-inline"> <input id="GetMAC" class="layui-btn layui-btn-primary layui-border-blue layui-btn-sm" type="button" value="產生MAC" /> </div> </div> </div> <div class="layui-form-item"> <label class="layui-form-label">備註</label> <div class="layui-input-block"> <textarea asp-for="wipBarcode.Remarks" class="layui-textarea" type="text"></textarea> </div> </div> </div> @* Keypart組合sheet *@ <div class="layui-tab-item"> <a id="KPTableAdd" class="layui-btn layui-btn-xs layui-icon layui-icon-add-circle">新增</a> <input type="hidden" value=@Model.WipKps.Count() id="WipKpCount" /> <table id="KPTable" class="layui-table"> @{ int k = 0; } <thead> <tr> <th> KP料號名稱 </th> <th> KP料號NO </th> <th> 順序 </th> <th> 前置碼 </th> <th> 長度 </th> <th> 生產單位代號 </th> <th> </th> </tr> </thead> <tbody> @foreach (var index in Model.WipKps) { <tr> <td> <input name="WipKps[@k].WipKpID" type="hidden" value="@index.WipKpID" /> <input onkeypress="if( event.keyCode == 13 ) { return false; }" class="layui-input" asp-for="@index.KpName" name="WipKps[@k].KpName" /> </td> <td> <select asp-for="@index.KpNo" name="WipKps[@k].KpNo" asp-items="@ViewBag.ItemsList" class=""></select> </td> <td> <input onkeypress="if( event.keyCode == 13 ) { return false; }" class="layui-input" asp-for="@index.KpSeq" name="WipKps[@k].KpSeq" /> </td> <td> <input onkeypress="if( event.keyCode == 13 ) { return false; }" class="layui-input" asp-for="@index.Title" name="WipKps[@k].Title" /> </td> <td> <input onkeypress="if( event.keyCode == 13 ) { return false; }" class="layui-input" asp-for="@index.Length" name="WipKps[@k].Length" /> </td> <td> <select asp-for="@index.UnitNo" name="WipKps[@k].UnitNo" asp-items="@ViewBag.FactoryUnitByWipNo" class=""></select> </td> <td> <a class="layui-btn layui-btn-danger layui-btn-xs layui-icon layui-icon-delete" onclick="Remove(this);">刪除</a> </td> </tr> k++; } </tbody> </table> <div style="text-align: right"> <input type="submit" value="生管確認" name="action" class="layui-btn" /> </div> </div> @* 生產流程sheet *@ <div class="layui-tab-item"> <div class="layui-form-item"> <div class="layui-inline"> <label asp-for="wipInfo.FlowRuleID" as class="layui-form-label"></label> <div class="layui-input-inline"> <select lay-filter="flow" asp-for="wipInfo.FlowRuleID" asp-items="@ViewBag.MaterialFlowRule" class=""></select> </div> <input id="flowId" type="hidden" name="flowId" value=@Model.wipInfo.FlowRuleID /> </div> <div class="layui-inline"> <input @(Model.wipInfo.SFISFlowCk == "Y" ? "checked" : "") type="checkbox" title="途程確認" name="wipInfo.SFISFlowCk" /> </div> <div class="layui-form-item"> <label class="layui-form-label">作業流程註解</label> <div class="layui-input-block"> <textarea placeholder="請輸入作業流程註解" asp-for="wipInfo.FlowRemark" class="layui-textarea"></textarea> </div> </div> <table class="layui-hide" id="ruleStation" lay-filter="ruleStation"></table> </div> </div> @* 板卡-工程資訊sheet *@ <div class="layui-tab-item"> <div class="layui-form-item"> <div class="layui-inline"> <label class="layui-form-label" asp-for="wipBoard.Engineer"></label> <div class="layui-input-inline"> <input class="layui-input" asp-for="wipBoard.Engineer" onchange="getUserName(this);" /> </div> <label class="layui-form-label">姓名</label> <div class="layui-input-inline"> <input class="layui-input" asp-for="wipBoard.Engineer_Name" readonly="readonly" /> </div> <div class="layui-input-inline" style="display: flex;align-items: center;height: 35px;"> <input asp-for="itemNoCT1" type="hidden" value="@Model.itemNoCT1" /> @if (!string.IsNullOrWhiteSpace(Model.itemNoCT1)) { <span style="color:red">有維護標準工時</span> } else { <span style="color:red">**無維護標準工時**</span> } </div> </div> </div> <div class="layui-form-item"> <div class="layui-inline"> <label class="layui-form-label">SMD點紅膠</label> <div class="layui-input-block"> <cl-checkbox asp-items="@ViewBag.GetCheckboxSMD" asp-for="wipBoard.SMDs" asp-skin="defult"></cl-checkbox> </div> </div> </div> <div class="layui-form-item"> <label class="layui-form-label">SMD點紅膠備註</label> <div class="layui-input-block"> <input asp-for="wipBoard.SmdRemarks" class="layui-input" type="text" /> </div> </div> <div class="layui-form-item"> <div class="layui-inline"> <label class="layui-form-label">SMD點防焊膠</label> <div class="layui-input-block"> <cl-checkbox asp-items="@ViewBag.GetCheckboxSMDSolderMa" asp-for="wipBoard.SmdSolderMasks" asp-skin="defult"></cl-checkbox> </div> </div> </div> <div class="layui-form-item"> <label class="layui-form-label">SMD點防焊膠備註</label> <div class="layui-input-block"> <input asp-for="wipBoard.SmdSMRemarks" class="layui-input" type="text" /> </div> </div> <div class="layui-form-item"> <div class="layui-inline"> <label class="layui-form-label">DIP</label> <div class="layui-input-block"> <cl-checkbox asp-items="@ViewBag.GetCheckboxDIP" asp-for="wipBoard.DipSides" asp-skin="defult"></cl-checkbox> <input @if (Model.wipBoard != null) { @(Model.wipBoard.DipCarrier == "Y" ? "checked" : "") } type="checkbox" title="CARRIER" name="wipBoard.DipCarrier" /> <input @if (Model.wipBoard != null) { @(Model.wipBoard.DipTape == "Y" ? "checked" : "") } type="checkbox" title="貼付膠帶" name="wipBoard.DipTape" /> <input @if (Model.wipBoard != null) { @(Model.wipBoard.DipSolderMask == "Y" ? "checked" : "") } type="checkbox" title="點防焊膠" name="wipBoard.DipSolderMask" /> </div> </div> </div> <div class="layui-form-item"> <label class="layui-form-label">DIP備註</label> <div class="layui-input-block"> <input asp-for="wipBoard.DipRemarks" class="layui-input" type="text" /> </div> </div> <div class="layui-form-item"> <div class="layui-inline"> <label class="layui-form-label">燒錄</label> <div class="layui-input-inline"> <input @if (Model.wipBoard != null) { @(Model.wipBoard.Burn == "Y" ? "checked" : "") } type="checkbox" title="是否燒入" name="wipBoard.Burn" /> </div> <label class="layui-form-label">燒機位置</label> <div class="layui-input-inline"> <input asp-for="wipBoard.BurnLocation" class="layui-input" /> </div> </div> </div> <div class="layui-form-item"> <label class="layui-form-label">燒錄備註</label> <div class="layui-input-block"> <input asp-for="wipBoard.BurnRemarks" class="layui-input" type="text" /> </div> </div> <div class="layui-form-item"> <div class="layui-inline"> <label class="layui-form-label">零件烘烤</label> <div class="layui-input-inline"> <input @if (Model.wipBoard != null) { @(Model.wipBoard.ISPartsBake == "Y" ? "checked" : "") } type="checkbox" title="零件是否需要烘烤" name="wipBoard.ISPartsBake" /> </div> <label class="layui-form-label">零件烘烤溫度</label> <div class="layui-input-inline" style="width:100px"> <select asp-items="@ViewBag.GetPartsBakeTypeList" asp-for="wipBoard.PartsBake" class=""></select> </div> <label class="layui-form-label">零件烘烤時間</label> <div class="layui-input-inline" style="width:100px"> <input asp-for="wipBoard.PartsBakeTime" class="layui-input" /> </div> <div class="layui-input-inline"> <input @if (Model.wipBoard != null) { @(Model.wipBoard.PartsBakeOvertime == "Y" ? "checked" : "") } type="checkbox" title="零件烘烤超過48hrs" name="wipBoard.PartsBakeOvertime" /> </div> </div> </div> <div class="layui-form-item"> <label class="layui-form-label">零件烘烤備註</label> <div class="layui-input-block"> <input asp-for="wipBoard.PartsBakeRemarks" class="layui-input" type="text" /> </div> </div> <div class="layui-form-item"> <div class="layui-inline"> <label class="layui-form-label">PCB烘烤</label> <div class="layui-input-inline"> <input @if (Model.wipBoard != null) { @(Model.wipBoard.ISPcbBake == "Y" ? "checked" : "") } type="checkbox" title="PCB是否需要烘烤" name="wipBoard.ISPcbBake" /> </div> <div class="layui-input-inline"> <select asp-items="@ViewBag.GetPCBBakeTypeSelect" asp-for="wipBoard.PcbBake" class=""></select> </div> </div> </div> <div class="layui-form-item"> <label class="layui-form-label">PCB烘烤備註</label> <div class="layui-input-block"> <input asp-for="wipBoard.PcbBakeRemarks" class="layui-input" type="text" /> </div> </div> <div class="layui-form-item"> <div class="layui-inline"> <label class="layui-form-label" asp-for="wipBoard.SolderPaste"></label> <div class="layui-input-inline" style="width:500px;"> <select asp-items="@ViewBag.GetSolderPasteSelect" asp-for="wipBoard.SolderPaste"></select> </div> </div> </div> <div class="layui-form-item"> <label class="layui-form-label">錫膏備註</label> <div class="layui-input-block"> <input asp-for="wipBoard.SolderPasteRemarks" class="layui-input" type="text" /> </div> </div> <div class="layui-form-item"> <div class="layui-inline"> <label class="layui-form-label">PCB加工</label> <div class="layui-input-inline"> <select asp-items="@ViewBag.GetPCBProcessingTypeSelect" asp-for="wipBoard.PcbProcessing" class=""></select> </div> </div> </div> <div class="layui-form-item"> <label class="layui-form-label">PCB加工備註</label> <div class="layui-input-block"> <input asp-for="wipBoard.PcbProcessingRemarks" class="layui-input" type="text" /> </div> </div> <div class="layui-form-item"> <div class="layui-inline"> <div class="layui-input-inline"> <label asp-for="wipBoard.BiRatio" class="layui-form-label"></label> <div class="layui-input-block"> <input asp-for="wipBoard.BiRatio" class="layui-input" /> </div> </div> <div class="layui-input-inline"> <label asp-for="wipBoard.BiTemperature" class="layui-form-label"></label> <div class="layui-input-block"> <input asp-for="wipBoard.BiTemperature" class="layui-input" /> </div> </div> <div class="layui-input-inline"> <label asp-for="wipBoard.BiTime" class="layui-form-label"></label> <div class="layui-input-block"> <input asp-for="wipBoard.BiTime" class="layui-input" /> </div> </div> </div> </div> <div class="layui-form-item"> <label class="layui-form-label">燒機備註</label> <div class="layui-input-block"> <input asp-for="wipBoard.BiRemarks" class="layui-input" type="text" /> </div> </div> <div class="layui-form-item"> <div class="layui-inline"> <label asp-for="wipBoard.BiosVer" class="layui-form-label"></label> <div class="layui-input-inline"> <input asp-for="wipBoard.BiosVer" class="layui-input" placeholder="請輸入BIOS" /> <span asp-validation-for="wipBoard.BiosVer" class="layui-bg-red"></span> </div> </div> </div> <div class="layui-form-item"> <label class="layui-form-label">BIOS備註</label> <div class="layui-input-block"> <input asp-for="wipBoard.BiosRemarks" class="layui-input" type="text" /> </div> </div> <div class="layui-form-item"> <div class="layui-inline"> <label asp-for="wipBoard.Checksum" class="layui-form-label"></label> <div class="layui-input-inline"> <input asp-for="wipBoard.Checksum" class="layui-input" placeholder="請輸入Checksum" /> <span asp-validation-for="wipBoard.Checksum" class="layui-bg-red"></span> </div> </div> </div> <div class="layui-form-item"> <label class="layui-form-label">Check Sum備註</label> <div class="layui-input-block"> <input asp-for="wipBoard.CsRemarks" class="layui-input" type="text" /> </div> </div> </div> @* 系統-工程資訊sheet *@ <div class="layui-tab-item"> <div class="layui-form-item"> <div class="layui-inline"> <label class="layui-form-label" asp-for="wipSystem.Engineer"></label> <div class="layui-input-inline"> <input style="background-color: #acdbe36b" class="layui-input" asp-for="wipSystem.Engineer" onchange="getUserName(this);" /> </div> <label class="layui-form-label">姓名</label> <div class="layui-input-inline"> <input class="layui-input" asp-for="wipSystem.Engineer_Name" readonly="readonly" /> </div> <div class="layui-input-inline" style="display: flex;align-items: center;height: 35px;"> <input asp-for="itemNoCT1" type="hidden" value="@Model.itemNoCT1" /> @if (!string.IsNullOrWhiteSpace(Model.itemNoCT1)) { <span style="color:red">有維護標準工時</span> } else { <span style="color:red">**無維護標準工時**</span> } </div> </div> </div> <div class="layui-form-item"> <div class="layui-inline"> <label class="layui-form-label">Power Mode</label> <div class="layui-input-inline"> <select asp-for="wipSystem.PowerModeType" asp-items="@ViewBag.GetWipSystemPMTypeSelect" class=""></select> </div> <div class="layui-input-inline"> <input class="layui-input" oninput="let p=this.selectionStart;this.value=this.value.toUpperCase();this.setSelectionRange(p, p);" asp-for="wipSystem.PowerMode" autocomplete="off" /> </div> </div> </div> <div class="layui-form-item"> <label class="layui-form-label">PLM生產備註</label> <div class="layui-input-block"> <textarea class="layui-textarea" asp-for="wipSystem.PowerMode_Desc" readonly="readonly"></textarea> </div> </div> <div class="layui-form-item"> <div class="layui-inline"> <label asp-for="wipSystem.BiRatio" class="layui-form-label"></label> <div class="layui-input-inline"> <input style="background-color: #acdbe36b" asp-for="wipSystem.BiRatio" class="layui-input" /> </div> <label asp-for="wipSystem.BiTime" class="layui-form-label"></label> <div class="layui-input-inline"> <input asp-for="wipSystem.BiTime" class="layui-input" /> </div> <div class="layui-form-mid layui-word-aux">小時</div> <label asp-for="wipSystem.BiTemperature" class="layui-form-label"></label> <div class="layui-input-inline" style="width:150px;"> <select asp-for="wipSystem.BiTemperature" asp-items="@ViewBag.GetWipBITemperatuerSelect" class=""></select> </div> <label asp-for="wipSystem.BI_OS" class="layui-form-label"></label> <div class="layui-input-inline" style="width:200px;"> <select asp-for="wipSystem.BI_OS" asp-items="@ViewBag.GetWipBI_OSSelect" class=""></select> </div> </div> </div> <div class="layui-form-item"> <label asp-for="wipSystem.BiMemo" class="layui-form-label"></label> <div class="layui-input-block"> <textarea asp-for="wipSystem.BiMemo" class="layui-textarea"></textarea> </div> </div> <div class="layui-form-item"> <div class="layui-inline"> <label class="layui-form-label">BIOS</label> <div class="layui-input-inline" style="width:150px"> <select asp-for="wipSystem.BiosType" asp-items="@ViewBag.GetWipSystemTypeSelect" class=""></select> </div> <div class="layui-input-inline" style="width:150px;"> <input style="background-color: #acdbe36b" class="layui-input autocomplete" onkeypress="if( event.keyCode == 13 ) { return false; }" oninput="let p=this.selectionStart;this.value=this.value.toUpperCase();this.setSelectionRange(p, p);" asp-for="wipSystem.Bios" autocomplete="off" /> </div> <div class="layui-input-inline" style="width:300px;"> <input class="layui-input" asp-for="wipSystem.Bios_Desc" readonly="readonly" /> </div> <label class="layui-form-label">Ver.</label> <div class="layui-input-inline" style="width:80px;"> <input asp-for="wipSystem.BiosVer" class="layui-input" /> </div> <label class="layui-form-label">CS.</label> <div class="layui-input-inline" style="width:80px;"> <input asp-for="wipSystem.Checksum" style="width:80px;" class="layui-input" /> </div> </div> </div> <div class="layui-form-item"> <div class="layui-inline"> <label class="layui-form-label">EC</label> <div class="layui-input-inline" style="width:150px;"> <select asp-for="wipSystem.ECType" asp-items="@ViewBag.GetWipSystemTypeSelect" class=""></select> </div> <div class="layui-input-inline" style="width:150px"> <input style="background-color: #acdbe36b" class="layui-input autocomplete" onkeypress="if( event.keyCode == 13 ) { return false; }" oninput="let p=this.selectionStart;this.value=this.value.toUpperCase();this.setSelectionRange(p, p);" asp-for="wipSystem.Ec" autocomplete="off" /> </div> <div class="layui-input-inline" style="width:300px;"> <input class="layui-input" asp-for="wipSystem.Ec_Desc" readonly="readonly" /> </div> </div> </div> <div class="layui-form-item"> <div class="layui-inline"> <label class="layui-form-label">FW</label> <div class="layui-input-inline" style="width:150px;"> <select asp-for="wipSystem.FWType" asp-items="@ViewBag.GetWipSystemTypeSelect" class=""></select> </div> <div class="layui-input-inline" style="width:150px"> <input style="background-color: #acdbe36b" class="layui-input autocomplete" onkeypress="if( event.keyCode == 13 ) { return false; }" oninput="let p=this.selectionStart;this.value=this.value.toUpperCase();this.setSelectionRange(p, p);" asp-for="wipSystem.Fw" autocomplete="off" /> </div> <div class="layui-input-inline" style="width: 300px;"> <input class="layui-input" asp-for="wipSystem.Fw_Desc" readonly="readonly" /> </div> </div> </div> <div class="layui-form-item"> <div class="layui-inline"> <label class="layui-form-label">FW1</label> <div class="layui-input-inline" style="width:150px;"> <select asp-for="wipSystem.FW1Type" asp-items="@ViewBag.GetWipSystemTypeSelect" class=""></select> </div> <div class="layui-input-inline" style="width:150px;"> <input class="layui-input autocomplete" onkeypress="if( event.keyCode == 13 ) { return false; }" asp-for="wipSystem.Fw1" oninput="let p=this.selectionStart;this.value=this.value.toUpperCase();this.setSelectionRange(p, p);" autocomplete="off" /> </div> <div class="layui-input-inline" style="width: 300px; "> <input class="layui-input" asp-for="wipSystem.Fw1_Desc" readonly="readonly" /> </div> </div> </div> <div class="layui-form-item"> <div class="layui-inline"> <label class="layui-form-label">FW2</label> <div class="layui-input-inline" style="width:150px;"> <select asp-for="wipSystem.FW2Type" asp-items="@ViewBag.GetWipSystemTypeSelect" class=""></select> </div> <div class="layui-input-inline" style="width:150px;"> <input class="layui-input autocomplete" onkeypress="if( event.keyCode == 13 ) { return false; }" asp-for="wipSystem.Fw2" oninput="let p=this.selectionStart;this.value=this.value.toUpperCase();this.setSelectionRange(p, p);" autocomplete="off" /> </div> <div class="layui-input-inline" style="width: 300px;"> <input class="layui-input" asp-for="wipSystem.Fw2_Desc" readonly="readonly" /> </div> </div> </div> <div class="layui-form-item"> <div class="layui-inline"> <label class="layui-form-label" asp-for="wipSystem.OsVer"></label> <div class="layui-input-inline" style="width:150px;"> <select asp-for="wipSystem.OsType" asp-items="@ViewBag.GetWipSystemTypeSelect" class=""></select> </div> <div class="layui-input-inline" style="width:150px;"> <input class="layui-input autocomplete" onkeypress="if( event.keyCode == 13 ) { return false; }" asp-for="wipSystem.OsVer" oninput="let p=this.selectionStart;this.value=this.value.toUpperCase();this.setSelectionRange(p, p);" autocomplete="off" /> </div> <div class="layui-input-inline" style="width: 300px;"> <input class="layui-input" asp-for="wipSystem.OsVer_Desc" readonly="readonly" /> </div> </div> </div> <div class="layui-form-item"> <div class="layui-inline"> <label class="layui-form-label" asp-for="wipSystem.Cpu"></label> <div class="layui-input-inline"> <input class="layui-input" asp-for="wipSystem.Cpu" autocomplete="off" /> </div> <label class="layui-form-label" asp-for="wipSystem.Ram"></label> <div class="layui-input-inline"> <input class="layui-input" asp-for="wipSystem.Ram" autocomplete="off" /> </div> </div> </div> <div class="layui-form-item"> <div class="layui-inline"> <label class="layui-form-label">FINE_PACKAGE</label> <div class="layui-input-inline"> <input @if (Model.wipSystem != null) { @(Model.wipSystem.FinePackage == "Y" ? "checked" : "") } type="checkbox" title="是否為精裝" name="wipSystem.FinePackage" /> </div> </div> </div> <div class="layui-form-item"> <div class="layui-inline"> <label class="layui-form-label" asp-for="wipSystem.DmiBi"></label> <div class="layui-input-inline "> <select style="background-color: #acdbe36b" asp-for="wipSystem.DmiBi" asp-items="@ViewBag.GetWipSystemDMITypeSelect" class=""></select> </div> <label class="layui-form-label" asp-for="wipSystem.DmiBiMemo"></label> <div class="layui-input-inline" style="width: 500px;"> <input class="layui-input" asp-for="wipSystem.DmiBiMemo" /> </div> </div> </div> <div class="layui-form-item"> <label class="layui-form-label" asp-for="wipSystem.Jumper"></label> <div class="layui-input-block"> <input class="layui-input" asp-for="wipSystem.Jumper" autocomplete="off" /> </div> </div> <div class="layui-form-item"> <label class="layui-form-label">組裝備註</label> <div class="layui-input-block"> <textarea class="layui-textarea" asp-for="wipSystem.BabMemo"></textarea> </div> </div> <div class="layui-form-item"> <label class="layui-form-label">測試備註</label> <div class="layui-input-block"> <textarea class="layui-textarea" asp-for="wipSystem.TestMemo"></textarea> </div> </div> <div class="layui-form-item"> <label class="layui-form-label">包裝備註</label> <div class="layui-input-block"> <textarea class="layui-textarea" asp-for="wipSystem.PackingMemo"></textarea> </div> </div> </div> @* 治具組合sheet *@ <div class="layui-tab-item"> <a id="OutfitTableAdd" class="layui-btn layui-btn-xs layui-icon layui-icon-add-circle">新增</a> <input type="hidden" value=@Model.WipOutfits.Count() id="WipOutfitCount" /> <table id="OutfitTable" class="layui-table"> @{ int l = 0; } <thead> <tr> <th> 治具種類 </th> <th> 生產單位 </th> <th> 流程站別 </th> <th> </th> </tr> </thead> <tbody> @foreach (var index in Model.WipOutfits) { <tr> <td> <input name="WipOutfits[@l].WipOutfitID" type="hidden" value="@index.WipOutfitID" /> <select asp-for="@index.PartNo" name="WipOutfits[@l].PartNo" asp-items="@ViewBag.OutfitCommodityInfo" class=""></select> </td> <td> <select asp-for="@index.UnitNo" name="WipOutfits[@l].UnitNo" asp-items="@ViewBag.FactoryUnitByWipNo" class=""></select> </td> <td> <select asp-for="@index.StationID" name="WipOutfits[@l].StationID" asp-items="@ViewBag.RuleStationByWipNoUnitNoList" class=""></select> </td> <td> <a class="layui-btn layui-btn-danger layui-btn-xs layui-icon layui-icon-delete" onclick="Remove(this);">刪除</a> </td> </tr> l++; } </tbody> </table> </div> @* SOP文件 sheet *@ <div class="layui-tab-item" lay-filter="test2"> <a id="SopTableAdd" class="layui-btn layui-btn-xs layui-icon layui-icon-add-circle">新增</a> <input type="hidden" value=@Model.WipSops.Count() id="WipSopCount" /> <table id="SopTable" class="layui-table"> @{ int i = 0; } <thead> <tr> <th style="width:50%;"> SOP文件敘述 </th> @*<th> 檔案路徑 </th>*@ <th> SOP類型 </th> <th> 生產單位 </th> <th> </th> </tr> </thead> <tbody> @foreach (var index in Model.WipSops) { <tr> <td> <input name="WipSops[@i].WipSOPID" type="hidden" value="@index.WipSOPID" /> <input onkeypress="if( event.keyCode == 13 ) { return false; }" class="layui-input" asp-for="@index.SOPName" name="WipSops[@i].SOPName" /> </td> @*<td> <input onkeypress="if( event.keyCode == 13 ) { return false; }" class="layui-input" asp-for="@index.SOPPath" name="WipSops[@i].SOPPath" /> </td>*@ <td> <select asp-for="@index.SOPType" name="WipSops[@i].SOPType" asp-items="@ViewBag.GetSOPTypeSelect" class=""></select> </td> <td> <select asp-for="@index.UnitNo" name="WipSops[@i].UnitNo" asp-items="@ViewBag.FactoryUnitByWipNo" class=""></select> </td> <td> <a class="layui-btn layui-btn-danger layui-btn-xs layui-icon layui-icon-delete" onclick="Remove(this);">刪除</a> </td> </tr> i++; } </tbody> </table> <div style="text-align: right"> <input type="submit" value="工程確認" name="action" class="layui-btn" /> </div> </div> @* 標籤選項sheet *@ <div class="layui-tab-item"> <div class="layui-form-item"> <label class="layui-form-label">列印方式</label> <cl-radio asp-items="@ViewBag.GetCheckboxPrintMode" asp-for="wipLabel.PrintMode"></cl-radio> </div> <div class="layui-form-item"> <label class="layui-form-label">列印張數</label> <div class="layui-input-inline" style="width: 100px;"> <input class="layui-input" asp-for="wipLabel.PrintPage" /> </div> <div class="layui-form-mid layui-word-aux">張</div> </div> <div class="layui-form-item"> <label class="layui-form-label">認證LOGO</label> <div class="layui-input-block"> <cl-checkbox asp-items="@ViewBag.GetCheckboxApproveLogo" asp-for="wipLabel.ApproveLogos" asp-skin="defult"></cl-checkbox> </div> </div> <div class="layui-form-item"> <label class="layui-form-label">公司LOGO</label> <div class="layui-input-block"> <cl-radio asp-items="@ViewBag.GetCheckboxCompanyLogo" asp-for="wipLabel.CompanyLogo"></cl-radio> </div> </div> <div class="layui-form-item"> <label class="layui-form-label">工單屬性</label> <div class="layui-input-block"> <cl-radio asp-items="@ViewBag.GetCheckboxWipAttr" asp-for="wipLabel.WipAttr"></cl-radio> <input class="layui-input" style="width:200px;display:inline;" asp-for="wipLabel.NonstandardWoMemo" /> </div> </div> <div class="layui-form-item"> <label class="layui-form-label">備註</label> <div class="layui-input-block"> <textarea asp-for="wipLabel.Remarks" class="layui-textarea"></textarea> </div> </div> <div style="text-align:right"> <input type="submit" value="製造確認" name="action" class="layui-btn" /> </div> </div> @* 上傳資料sheet *@ <div class="layui-tab-item"> <span style="color:red">**預覽只能顯示圖檔、PDF、文字檔**</span> <div class="layui-form-item"> <table lay-filter="demo" class="layui-table"> <thead> <tr> <th lay-data="{field:'username', width:100}">檔案名稱</th> <th lay-data="{field:'experience', width:80, sort:true}">檔案路徑</th> <th lay-data="{field:'right', width:80, sort:true}">預覽</th> <th lay-data="{field:'right', width:80, sort:true}">下載</th> </tr> </thead> <tbody> @foreach (var index in Model.wipInfoBlobs) { <tr> <td> <span id="FileName">@index.ImageName</span> </td> <td> <span id="Filepath">@index.Filepath</span> </td> <td> <a class="layui-btn layui-btn-normal layui-btn-xs layui-icon layui-icon-read" onclick="show(this)">預覽</a> </td> <td> <a class="layui-btn layui-btn-normal layui-btn-xs" onclick="filedownload(this)">下載</a> </td> </tr> } </tbody> </table> </div> <div class="layui-form-item"> <div class="layui-inline"> <label class="layui-form-label" asp-for="wipInfoBlob.ImageName">檔案</label> <label class="layui-btn"> <input type="file" name="formFile"> </label> <input type="hidden" asp-for="wipInfoBlob.ImageName"> </div> </div> </div> </div> </div> <span style="color: firebrick;word-break: break-all;" class="text-danger offset-sm-3">@Html.ValidationMessage("error")</span> <div class="layui-form-item"> <div style="text-align:center"> <input type="submit" value="保存" name="action" class="layui-btn" /> </div> </div> </form> </div> </div> @section Scripts { <script type="text/javascript"> $('#formPCS034').on('keyup keypress', function (e) { var keyCode = e.keyCode || e.which; var localName = e.target.localName; if (keyCode === 13 && localName != 'textarea') { e.preventDefault(); return false; } }); $(document).ready(function () { var error = '@Html.ValidationMessage("error")'; if ($(error).text() != '') { parent.hg.msg(error); } RuleStation($("#flowId").val()); // 安勤統一只Show工程資訊 $("#system").show(); $("#board").hide(); if ("@ViewBag.WipSpecial" == "N") { if ($("#unitNo").val() == "B" || $("#unitNo").val() == "P" || $("#unitNo").val() == "T") { $("#system").show(); $("#board").hide(); } else { $("#system").hide(); $("#board").show(); } } // DIV 出貨序號 if ($('#wipBarcodeOther_StartNO').val() != "" && $('#wipBarcodeOther_EndNO').val() != "") { $("#barcodeOtherDiv").hide(); } // DIV MAC if ($('#wipMAC_StartNO').val() != "" && $('#wipMAC_EndNO').val() != "") { $("#GetMAC").hide(); } getLineInfoList($("#unitNo").val()); // 產生條碼 $('#GetBarCode').click(function () { var wipNO = $('#wipInfo_WipNO').val().toUpperCase(); var planQTY = $('#wipInfo_PlanQTY').val(); if (wipNO == '' || !wipNO) { parent.hg.msg("請輸入工單號碼"); return; } if (planQTY == '' || !planQTY || planQTY == 0) { parent.hg.msg("請確認計畫數量"); return; } $("#wipBarcode_StartNO").val(wipNO + PrefixInteger(1, 4)); $("#wipBarcode_EndNO").val(wipNO + PrefixInteger(planQTY, 4)); }); // 產生出貨序號 $("#GetBarcodeOther").click(function (event) { var itemNo = $('#wipAtt_ItemNO').val(); var planQTY = $('#wipInfo_PlanQTY').val(); var lotNo = $('#lotNo').val(); var wipShcDate = $('#wipInfo_WipScheduleDate').val().replace(/\//g, '-'); if (itemNo == '' || !itemNo) { parent.hg.msg("請輸入料號"); return; } if (planQTY == '' || !planQTY || planQTY == 0) { parent.hg.msg("請確認計畫數量"); return; } if (wipShcDate == '') { parent.hg.msg("請確認預計開工日期有填寫"); return; } if (lotNo == '' || !lotNo) { lotNo = getLotNo(); } $.ajax({ url: '@Url.Action("GetBarcodeOther", "PCS")', dataType: 'json', data: { "itemNo": itemNo, "lotNo": lotNo, "num": planQTY, "wipNo": '@Model.wipInfo.WipNO', "wipShcDate": wipShcDate }, cache: false, type: "POST", success: function (result) { // 錯誤訊息 if (!result.success) { parent.hg.msg(result.msg); } else { $("#wipBarcodeOther_StartNO").val(result.data.startNO); $("#wipBarcodeOther_EndNO").val(result.data.endNO); $("#barcodeOtherDiv").hide(); } }, error: function (jqXHR, textStatus, errorThrown) { alert("Found error when using Ajax!!"); } }); }); // 產生MAC $("#GetMAC").click(function (event) { var wipNO = $('#wipAtt_ItemNO').val(); var planQTY = $('#wipInfo_PlanQTY').val(); if (wipNO == '' || !wipNO) { parent.hg.msg("請輸入料號"); return; } if (planQTY == '' || !planQTY || planQTY == 0) { parent.hg.msg("請確認計畫數量"); return; } $.ajax({ url: '@Url.Action("GetMAC", "PCS")', dataType: 'json', data: { "itemno": $("#wipAtt_ItemNO").val(), "planQTY": $('#wipInfo_PlanQTY').val() }, cache: false, type: "POST", success: function (data, textStatus, jqXHR) { if (data._msg != undefined) { parent.hg.msg(data._msg); } else { $("#wipMAC_StartNO").val(data.mix); $("#wipMAC_EndNO").val(data.max); $("#wipMAC_StartNO").attr("readonly", "readonly"); $("#wipMAC_EndNO").attr("readonly", "readonly"); } }, error: function (jqXHR, textStatus, errorThrown) { alert("Found error when using Ajax!!"); } }); }); function PrefixInteger(num, length) { return (Array(length).join('0') + num).slice(-length); }; }); layui.config({ base: '/js/' //假设这是test.js所在的目录 }).extend({ //设定模块别名 autocomplete: 'layAutoComplete' }); layui.use(['form', 'laydate', 'element', 'table', 'autocomplete'], function () { var form = layui.form, laydate = layui.laydate, layer = layui.layer, element = layui.element, table = layui.table; laydate.render({ elem: '#wipInfo_WipScheduleDate' , trigger: 'click' , format: 'yyyy/MM/dd' , theme: 'grid' }); laydate.render({ elem: '#wipInfo_WipDueDate' , trigger: 'click' , format: 'yyyy/MM/dd' , theme: 'grid' }); // PLM料號關鍵字 $(".autocomplete").each(function () { layui.autocomplete({ element: this, display: 'meterialNo', shortcut: 'modelName', num: 2, count: 10, url: '/PCS/getPLMMeterialAutoComplete', query: {}, resArray: 'data', done: function (item) { $(this.element).closest('div.layui-inline').find('input[id*=' + this.element.id + '_Desc]').val(item.meterialDesc); } }); $(this).change(function () { var txt = $(this).val(); if (txt.length == 0) { $(this).closest('div.layui-inline').find('input[id*=' + this.id + '_Desc]').val(''); } }); }) // PowerMode layui.autocomplete({ element: '#wipSystem_PowerMode', display: 'meterialNo', shortcut: 'modelName', num: 2, count: 10, url: '/PCS/getPLMMeterialAutoComplete', query: {}, resArray: 'data', done: function (item) { $('#wipSystem_PowerMode_Desc').val(item.productionMemo); } }); form.on('select(flow)', function (data) { $("#flowId").val(data.value); RuleStation(data.value); }); }); //通过行tool编辑,lay-event="show" function show(obj) { var Path = $(obj).closest("TR").find('span[id*=Filepath]').text();; var FileName = $(obj).closest("TR").find('span[id*=FileName]').text();; layui.use('layer', function () { var layer = layui.layer; layer.open({ type: 2, title: '預覽文件', shadeClose: true,//点击遮罩关闭层 shade: 0.8, area: ['90%', '90%'], zIndex: 19891014, content: "../../" + Path + FileName }); }); }; // 檔案下載 function filedownload(obj) { var Path = $(obj).closest("TR").find('span[id*=Filepath]').text(); var FileName = $(obj).closest("TR").find('span[id*=FileName]').text(); filePath = `/PCS/FileDownload?Path=${Path}&FileName=${FileName}`; console.log(filePath); $(obj).attr("href", filePath); }; function getFlowRuleList(data) { $.ajax( { url: "@Url.Action("GetMaterialFlowRuleJson", "PCS")", dataType: 'json', data: { "itemno": $("#wipAtt_ItemNO").val(), "unit_no": $("#wipInfo_UnitNO").val() }, type: 'post', success: function (result) { console.info(result.data); $("#wipInfo_FlowRuleID").empty();//清空下拉框的值 $.each(result.data, function (index, item) { $("#wipInfo_FlowRuleID").append($("<option>").text(item.text).val(item.value)) }); layui.form.render("select");//重新渲染 固定写法 }, error: function (result) { alert(result); } }); }; function getLineInfoList(data) { $.ajax( { url: "@Url.Action("GetUnitLineJson", "BAS")", dataType: 'json', data: { "unit_no": $("#wipInfo_UnitNO").val() }, type: 'post', success: function (result) { console.info(result.data); var value = $("#wipInfo_LineID").val(); $("#wipInfo_LineID").empty();//清空下拉框的值 $.each(result.data, function (index, item) { $("#wipInfo_LineID").append($("<option>").text(item.text).val(item.value)) }); //$("#wipInfo_LineID option:eq(1)").attr("selected", 'selected'); //默认选择第一个选项 $("#wipInfo_LineID option[value=" + value + "]").prop("selected", true); layui.form.render("select");//重新渲染 固定写法 }, error: function (result) { alert(result); } }); }; //UserName function getUserName(val) { if (val.value.length != 0) { $.ajax( { url: "@Url.Action("getUserName", "SYS")", dataType: 'json', data: { "userNo": val.value }, type: 'post', success: function (result) { $(val).closest('div.layui-inline').find('input[id*=' + val.id + '_Name]').val(result.data); }, error: function (result) { alert(result); } }); } }; // RuleStation 備註 function RuleStation(NewID) { $.ajax( { url: "@Url.Action("getMaterialFlowRuleRemark", "PCS")", dataType: 'json', data: { "itemno": $("#wipAtt_ItemNO").val(), "unit_no": $("#wipInfo_UnitNO").val(), "flowID": NewID }, type: 'post', success: function (result) { $("#wipInfo_FlowRemark").val(result.data); }, error: function (result) { alert(result); } }); if (NewID == null) { NewID = 0; } var OldID = $("#flowId").val(); var tableCols_rule = [[ { field: 'unitNoName', width: 150, title: '生產單位', sort: true }, { field: 'flowRuleName', title: '流程名稱', width: 200, sort: true }, { field: 'stationDesc', title: '站別描述', sort: true }, { field: 'sequence', title: '站別順序', width: 200, sort: true }, { field: 'stationType', title: '站別類型', width: 200, sort: true },] ]; var tableruleStation = hg.table.datatable('ruleStation', '', '/PCS/GetRuleStationByWipNo?wipNo=' + $("#wipInfo_WipNO").val() + '&newID=' + NewID + '&oldID=' + OldID, {}, tableCols_rule, '', false, 'full-100'); tableruleStation; } // KPTableAdd $('#KPTableAdd').click(); $('#KPTableAdd').on('click', function () { let No = parseInt($('#WipKpCount').val()); var FactoryUnit = getFactoryUnitByWipNoList(); var Select = "<select name=WipKps[" + No + "].UnitNo>"; $.each(FactoryUnit, function (index, item) { Select += '<option value=' + item.value + '>' + item.text + '</option>'; }); Select += '</select>'; var Items = getItemsList(); var SelectKPNo = "<select name=WipKps[" + No + "].KpNo>"; $.each(Items, function (index, item) { SelectKPNo += '<option value=' + item.value + '>' + item.text + '</option>'; }); SelectKPNo += '</select>'; var contactdiv = '<tr>' + '<td><input type="hidden" value="" name="WipKps[' + No + '].WipKpID" />' + '<input onkeypress="if( event.keyCode == 13 ) { return false; }" class="layui-input" name="WipKps[' + No + '].KpName" /></td>' + '<td>' + SelectKPNo + '</td>' + '<td><input onkeypress="if( event.keyCode == 13 ) { return false; }" class="layui-input" name="WipKps[' + No + '].KpSeq" value=' + (No + 1) + ' /></td>' + '<td><input onkeypress="if( event.keyCode == 13 ) { return false; }" class="layui-input" name="WipKps[' + No + '].Title" /></td>' + '<td><input onkeypress="if( event.keyCode == 13 ) { return false; }" class="layui-input" name="WipKps[' + No + '].Length" /></td>' + '<td>' + Select + '</td>' + '<td><a class="layui-btn layui-btn-danger layui-btn-xs layui-icon layui-icon-delete" onclick="Remove(this);">刪除</a></td>' + '</tr>'; $('#KPTable').append(contactdiv); $('#WipKpCount').val(No + 1); layui.form.render("select");//重新渲染 固定写法 }); // OutfitTableAdd $('#OutfitTableAdd').click(); $('#OutfitTableAdd').on('click', function () { let No = parseInt($('#WipOutfitCount').val()); var FactoryUnit = getFactoryUnitByWipNoList(); var Select = "<select name=WipOutfits[" + No + "].UnitNo>"; $.each(FactoryUnit, function (index, item) { Select += '<option value=' + item.value + '>' + item.text + '</option>'; }); Select += '</select>'; var OutfitCommodity = getOutfitCommodityList(); var SelectPartNo = "<select name=WipOutfits[" + No + "].PartNo>"; $.each(OutfitCommodity, function (index, item) { SelectPartNo += '<option value=' + item.value + '>' + item.text + '</option>'; }); SelectPartNo += '</select>'; var RuleStation = getRuleStationByFlowID(); var SelectStation = "<select name=WipOutfits[" + No + "].StationID>"; $.each(RuleStation, function (index, item) { SelectStation += '<option value=' + item.value + '>' + item.text + '</option>'; }); SelectStation += '</select>'; var contactdiv = '<tr>' + '<td><input type="hidden" value="" name="WipOutfits[' + No + '].WipOutfitID" />' + SelectPartNo + '</td>' + '<td>' + Select + '</td>' + '<td>' + SelectStation + '</td>' + '<td><a class="layui-btn layui-btn-danger layui-btn-xs layui-icon layui-icon-delete" onclick="Remove(this);">刪除</a></td>' + '</tr>'; $('#OutfitTable').append(contactdiv); $('#WipOutfitCount').val(No + 1); layui.form.render("select");//重新渲染 固定写法 }); // SopTableAdd $('#SopTableAdd').click(); $('#SopTableAdd').on('click', function () { let No = parseInt($('#WipSopCount').val()); var FactoryUnit = getFactoryUnitByWipNoList(); var SOPType = getSOPType(); var Select = "<select name=WipSops[" + No + "].UnitNo>"; $.each(FactoryUnit, function (index, item) { Select += '<option value=' + item.value + '>' + item.text + '</option>'; }); Select += '</select>'; var SelectSOPType = "<select name=WipSops[" + No + "].SOPType>"; $.each(SOPType, function (index, item) { SelectSOPType += '<option value=' + item.value + '>' + item.text + '</option>'; }); SelectSOPType += '</select>'; var contactdiv = '<tr>' + '<td><input type="hidden" value="" name="WipSops[' + No + '].WipSOPID" />' + '<input onkeypress="if( event.keyCode == 13 ) { return false; }" class="layui-input" name="WipSops[' + No + '].SOPName" /></td>' + /* '<td><input onkeypress="if( event.keyCode == 13 ) { return false; }" class="layui-input" name="WipSops[' + No + '].SOPPath" /></td>' +*/ '<td>' + SelectSOPType + '</td>' + '<td>' + Select + '</td>' + '<td><a class="layui-btn layui-btn-danger layui-btn-xs layui-icon layui-icon-delete" onclick="Remove(this);">刪除</a></td>' + '</tr>'; $('#SopTable').append(contactdiv); $('#WipSopCount').val(No + 1); layui.form.render("select");//重新渲染 固定写法 }); // Table 刪除 function Remove(button) { //Determine the reference of the Row using the Button. hg.confirm("確認要刪除此筆資料嗎?", function () { var row = $(button).closest("TR"); var id = $(button).closest("TR").find('input[type=hidden]').val(); //var table = $(button).closest("TABLE")[0]; //$("#KPTable")[0]; $(button).closest("TR").find('input[type=hidden]').val(-1); row.hide(); }); //table.deleteRow(row[0].rowIndex); }; //生產單位By工單號碼選單 function getFactoryUnitByWipNoList() { var a; $.ajax( { url: "@Url.Action("GetFactoryUnitByWipNoJson", "PCS")", dataType: 'json', data: { "wipNo": $("#wipInfo_WipNO").val() }, async: false, type: 'post', success: function (result) { a = result.data; }, error: function (result) { alert(result); } }); return a; }; //KP Items 選單 function getItemsList() { var b; $.ajax( { url: "@Url.Action("getKpItemsJson", "PCS")", dataType: 'json', data: {}, async: false, type: 'post', success: function (result) { b = result.data; }, error: function (result) { alert(result); } }); return b; }; //治具種類 function getOutfitCommodityList() { var a; $.ajax( { url: "@Url.Action("GetOutfitCommodityInfoJson", "PCS")", dataType: 'json', data: {}, async: false, type: 'post', success: function (result) { a = result.data; }, error: function (result) { alert(result); } }); return a; }; //流程ID對應作業站 function getRuleStationByFlowID(data) { var b; $.ajax( { url: "@Url.Action("GetRuleStationByWipNoUnitNoJson", "PCS")", dataType: 'json', data: { "wipNo": $("#wipInfo_WipNO").val() }, async: false, type: 'post', success: function (result) { b = result.data; }, error: function (result) { alert(result); } }); return b; }; //SOPType function getSOPType() { var a; $.ajax( { url: "@Url.Action("GetSOPTypeJson", "PCS")", dataType: 'json', data: {}, async: false, type: 'post', success: function (result) { a = result.data; }, error: function (result) { alert(result); } }); return a; } function getLotNo() { var b = ""; $.ajax( { url: "@Url.Action("GetFactoryInfoes", "BAS")", dataType: 'json', data: {}, async: false, type: 'get', success: function (result) { $.each(result.data, function (index, item) { if ($("#wipInfo_Werks").val() == item.factoryID) { b = item.factoryNo.substr(2, 2); } }); }, }); return b; } </script> }