@model AMESCoreStudio.WebApi.Models.AMES.InspectionResultMaster @{ ViewData["Title"] = "SPC005U"; Layout = "~/Views/Shared/_AMESLayout.cshtml"; //Layout = "~/Views/Shared/_FormLayout.cshtml"; } <style> .layui-table-cell { overflow: visible !important; } td .layui-form-select { margin-top: -10px; margin-left: -10px; margin-right: -10px; } .layui-table-cell { height:auto; overflow:visible; text-overflow:inherit; white-space:normal } </style> <div class="layui-card"> <div class="layui-card-body"> <label class="layui-form-label" value="@ViewBag.FormName"></label> <label class="layui-form-label" value="@ViewBag.InspectionForm"></label> <form class="layui-form" id="modelform"> <div asp-validation-summary="ModelOnly" class="text-danger"></div> <input type="hidden" id="InspectionID" asp-for="InspectionID" /> <input type="hidden" id="InspectionFormID" asp-for="InspectionFormID" /> <input type="hidden" id="CreateUserID" asp-for="CreateUserID" /> <input type="hidden" asp-for="UpdateUserID" value="@ViewBag.UserID" /> <input type="hidden" id="CreateDate" asp-for="CreateDate" /> <input type="hidden" asp-for="UpdateDate" value="@System.DateTime.Now" /> <input type="hidden" asp-for="StatusNo" /> <input type="hidden" id="ModelNo" value="" /> <div class="form-inline "> <div class="layui-form-item"> <label>填寫人員: @ViewBag.UserName</label> <div class="layui-form-item"> <div class="layui-input-inline"> <label asp-for="WipNo" class="control-label col-sm-2"></label> <input id="WipNo" asp-for="WipNo" type="text" class="layui-input" readonly> </div> <div class="layui-input-inline"> <label asp-for="ItemNo" class="control-label col-sm-2"></label> <input id="ItemNo" asp-for="ItemNo" class="layui-input" readonly> </div> <div class="layui-input-inline"> <label asp-for="BarcodeNo" class="control-label col-sm-2"></label> <input id="BarcodeNo" asp-for="BarcodeNo" class="layui-input" readonly> </div> <div class="layui-input-inline" style="width:25%;"> <label class="control-label col-sm-2">PLMENC</label> <div> <input type="text" readonly style="width:80%;display:inline" class="layui-input" id="PLMECN" /> <a id="GetPLMECN" class="layui-btn layui-btn-sm layui-btn-normal" style="padding: 0 5px;" title="刷新PLM_ECN"> <i class="layui-icon layui-icon-sm"></i> </a> </div> </div> <div class="layui-input-inline" style="display:inline ; padding-block: 30px; width:auto;"> <a class="sms" href="#" target="_blank"> <i class="layui-icon layui-icon-template"></i><cite>SMS異常紀錄</cite></a> <a class="qazone" href="#" target="_blank"> <i class="layui-icon layui-icon-template"></i><cite>QAZone異常紀錄</cite></a> </div> <div class="layui-form-item"> <div class="layui-inline"> <div class="layui-input-inline"> <label asp-for="WipNo" class="control-label col-sm-2">線別</label> <select id="theLine" lay-event="theLine" lay-filter="theLine" lay-submit asp-items="@ViewBag.LineList"> </select> </div> <div class="layui-inline"> <label asp-for="WipNo" class="control-label col-sm-2">站別:</label> <select id="theStation" lay-event="theStation" lay-filter="theStation" lay-submit asp-items="@ViewBag.StationList"> </select> </div> <div class="layui-inline"> <div class="layui-input-inline" style="width:200px"> <input lay-filter="show" lay-skin="primary" type="checkbox" value="" title="勾選確認顯示線別/站別" /> </div> </div> <div class="layui-inline"> <span style="color: firebrick;word-break: break-all;" class="text-danger offset-sm-3">@Html.ValidationMessage("error")</span> <button id="querysubmitTmp" class="layui-btn tt">暫存</button> <button id="querysubmit" class="layui-btn tt">儲存</button> </div> </div> </div> </div> @*<div class="layui-form-item"> <div class="layui-inline"> <label class="layui-form-label">線別:</label> <div class="layui-input-inline" style="width:100px"> <select id="theLine" lay-event="theLine" lay-filter="theLine" lay-submit asp-items="@ViewBag.LineList"> </select> </div> </div> <div class="layui-inline"> <label class="layui-form-label">站別:</label> <div class="layui-input-inline" style="width:100px"> <select id="theStation" lay-event="theStation" lay-filter="theStation" lay-submit asp-items="@ViewBag.StationList"> </select> </div> </div> <div class="layui-inline"> <div class="layui-input-inline" style="width:200px"> <input lay-filter="show" lay-skin="primary" type="checkbox" value="" title="勾選確認顯示線別/站別" /> </div> </div> </div>*@ </div> @*<div class="layui-inline"> <div class="layui-form-item"> <span style="color: firebrick;word-break: break-all;" class="text-danger offset-sm-3">@Html.ValidationMessage("error")</span> <button id="querysubmitTmp" class="layui-btn tt">暫存</button> <button id="querysubmit" class="layui-btn tt">儲存</button> </div> </div>*@ </form> <form id="modeltable"> <table class="layui-hide" id="test" lay-filter="test" lay-data="{id:'test'}"></table> </form> </div> </div> @section Scripts { @{ await Html.RenderPartialAsync("_ValidationScriptsPartial"); await Html.RenderPartialAsync("_FileinputScriptsPartial"); } @*回復*@ <script type="text/html" id="selectResult"> <select name="selectResult" lay-filter="selectResult" id="selectResult" data-value={{d.result}} class="layui-form"> <option value="NA">N/A</option> <option value="P">PASS</option> <option value="F">FAIL </option> </select> </script> @*備註*@ <script type="text/html" id="inputTest"> <input type="text" name="inputTest" lay-filter="inputTest" id="inputTest" data-value={{d.missingRemark}} class="layui-input" style=" margin-top: -10px; margin-left: -10px; margin-right: -10px;"> </script> @*線別*@ <script type="text/html" id="selectLine"> <select name="selectLine" lay-filter="selectLine" id="selectLine" data-value={{d.lineID}} asp-items="@ViewBag.LineList" class="layui-form"> </select> </script> @*站別*@ <script type="text/html" id="selectStation"> <select name="selectStation" lay-filter="selectStation" id="selectStation" data-value={{d.ruleStationID}} asp-items="@ViewBag.StationList" class="layui-form"> </select> </script> @*插件位置*@ <script type="text/html" id="inputLocation"> <input type="text" name="inputLocation" lay-filter="inputLocation" id="inputLocation" data-value={{d.location}} class="layui-input" style=" margin-top: -10px; margin-left: -10px; margin-right: -10px;"> </script> @*缺失單位*@ <script type="text/html" id="selectDept"> <select name="selectDept" lay-filter="selectDept" id="selectDept" data-value={{d.missingUnitNo}} asp-items="@ViewBag.FactoryUnit" class="layui-form"> </select> </script> @*缺失人員*@ <script type="text/html" id="selectUser"> <select name="selectUser" lay-filter="selectUser" id="selectUser" data-value={{d.missingUserID}} lay-search='' asp-items="@ViewBag.UserList" class="layui-form"> </select> </script> @* <script type="text/html" id="selectUser"> <input type="text" name="selectUser" lay-filter="selectUser" id="selectUser" data-value={{d.missingUserID}} class="layui-input" style=" margin-top: -10px; margin-left: -10px; margin-right: -10px;"> </script> <script type="text/html" id="selectUser"> <input type="text" name="selectUser" lay-filter="selectUser" id="selectUser" data-value={{d.missingUserID}} class="layui-input" style=" margin-top: -10px; margin-left: -10px; margin-right: -10px;"> </script>*@ <script type="text/javascript"> ////儲存 $('#querysubmit').click(function () { var WipNo = $("#WipNo").val(); var ItemNo = $("#ItemNo").val(); var BarcodeNo = $("#BarcodeNo").val(); if (!WipNo && !ItemNo && !BarcodeNo) { return false; } else insertMaster("C"); }); ////暫存 $('#querysubmitTmp').click(function () { var WipNo = $("#WipNo").val(); var ItemNo = $("#ItemNo").val(); var BarcodeNo = $("#BarcodeNo").val(); if (!WipNo && !ItemNo && !BarcodeNo) { return false; } else insertMaster("T"); }); function insertMaster(status) { var InspectionID = $("#InspectionID").val(); var InspectionFormID = $("#InspectionFormID").val(); var WipNo = $("#WipNo").val(); var ItemNo = $("#ItemNo").val(); var BarcodeNo = $("#BarcodeNo").val(); var CreateUserID = $("#CreateUserID").val(); var UpdateUserID = $("#CreateUserID").val(); var CreateDate = $("#CreateDate").val(); var UpdateDate = $("#CreateDate").val(); var StatusNo; InspectionID = InspectionID; InspectionFormID = InspectionFormID; CreateUserID = CreateUserID; UpdateUserID = UpdateUserID; CreateDate = CreateDate; UpdateDate = UpdateDate; WipNo = WipNo; ItemNo = ItemNo; BarcodeNo = BarcodeNo; StatusNo = status; $.post("/SPC/SPC005USAVE", { InspectionID: InspectionID, InspectionFormID: InspectionFormID, CreateUserID: CreateUserID, UpdateUserID: UpdateUserID, CreateDate: CreateDate, UpdateDate: UpdateDate, WipNo: WipNo, ItemNo: ItemNo, BarcodeNo: BarcodeNo, StatusNo: StatusNo }, function (data) { console.log(data); if (data.success) { console.log("master:data.success"); insertList(data.msg); } }).success(function () { alert("second success"); }) .error(function () { alert("error"); }) .complete(function () { alert("complete"); }); }; function insertList(id) { console.log('insertList'); var tableDas = layui.table.cache["test"]; var modeltable = $("#modeltable").serializeArray(); console.log(modeltable); if (modeltable.length > 0) { var InspectionID; var InspectionItemID; var LineID; var RuleStationID; var Result; var MissingRemark; var CreateUserID; var UpdateUserID; var CreateDate; var UpdateDate; var MissingUnitNo; var MissingUserID; var MissingRemark; for (var i = 0; i < modeltable.length - 1; i++) { var test = i / 7; var cc = i % 7 == 0; if (!cc) { InspectionID = ''; InspectionItemID = ''; Result = ''; LineID = ''; RuleStationID = ''; MissingRemark = ''; } else { console.log('else'); InspectionID = id; InspectionItemID = tableDas[test].inspectionItemID; Result = modeltable[i + 0].value; LineID = modeltable[i + 1].value; RuleStationID = modeltable[i + 2].value; Location = modeltable[i + 3].value; MissingUnitNo = modeltable[i + 4].value; MissingUserID = modeltable[i + 5].value; MissingRemark = modeltable[i + 6].value; CreateUserID = 0; UpdateUserID = 0; CreateDate = ''; UpdateDate = ''; console.log('post'); $.post("/SPC/SPC005UListSAVE", { InspectionID: InspectionID, InspectionItemID: InspectionItemID, LineID: LineID, RuleStationID: RuleStationID, Result: Result, Area: '', Location: Location, MissingUnitNo: MissingUnitNo, MissingStationID: '', MissingUserID: MissingUserID, MissingType: '', MissingRemark: MissingRemark, Method: '', PeplyReason: '', PeplyMethod: '', PeplyUserID: '', CreateUserID: CreateUserID, UpdateUserID: UpdateUserID, CreateDate: CreateDate, UpdateDate: UpdateDate, }, function (data) { if (i = modeltable.length - 2) { parent.hg.msg("修改成功!"); window.parent.location.reload(); //parent.layer.table.render(); var index = parent.layer.getFrameIndex(window.name); parent.layer.close(index); } }); } } } } layui.use(['form', 'layer', 'table', 'laytpl', 'laydate'], function () { var layer = layui.layer, $ = layui.jquery, form = layui.form, table = layui.table, laytpl = layui.laytpl, laydate = layui.laydate; itemslist(); function itemslist() { var formID = $("#InspectionID").val(); table.render({ elem: '#test', // url: '/SPC/GetInspectionResultDetails?id=' + formID, url: '/SPC/GetInspectionResultDetailsAndBolb?id=' + formID, id: 'test', toolbar: '#toolBar', height: 720, page: false, cols: [[ { field: 'inspectionItemID', width: 50, title: '#', }, { field: 'inspectionItem', title: '項目', align: 'left', sort: true, templet: function (d) { return d.inspectionItem['inspectionItemName']; } }, { field: 'inspectionItem', title: '標準值', align: 'left', sort: true, templet: function (d) { return d.inspectionItem['inspectionItemValue']; } }, { field: 'result', title: '稽核結果', width: 100, align: "left", templet: '#selectResult' }, { field: 'lineID', title: '線別', width: 100, align: "left", templet: '#selectLine', style: 'display:none' }, { field: 'ruleStationID', title: '站別', width: 100, align: "left", templet: '#selectStation', style: 'display:none' }, { field: 'location', title: '零件位置', width: 100, align: "left", templet: '#inputLocation' }, { field: 'missingUnitNo', title: '缺失單位', width: 100, align: "left", templet: '#selectDept' }, { field: 'missingUserID', title: '缺失人員', width: 100, align: "left", templet: '#selectUser' }, { field: 'missingRemark', title: '備註', width: 250, align: "left", templet: '#inputTest' },//templet: '#inputTest' { field: 'right', width: 120, title: '操作', fixed: 'right', templet: function (d) { var btn = '<a class="layui-btn layui-btn-normal layui-btn-xs layui-icon layui-icon-edit" lay-event="edit">上傳圖片</a> '; if (d.stations.newCno > 0) btn = btn + '<i class="layui-icon" style="font-size: 20px;"></i> ' ; return btn; } } ]], done: function (res, curr, count) { $(".layui-table-main tr").each(function (index, val) { $($(".layui-table-fixed .layui-table-body tbody tr")[index]).height($(val).height()); }); layui.each($('select'), function (index, item) { var elem = $(item); elem.val(elem.data('value')).parents('div.layui-table-cell').css('overflow', 'visible'); }); layui.each($('input[name="inputTest"]'), function (index, item) { var elem = $(item); elem.val(elem.data('value')).parents('div.layui-table-cell').css('overflow', 'visible'); }); layui.each($('input[name="inputLocation"]'), function (index, item) { var elem = $(item); elem.val(elem.data('value')).parents('div.layui-table-cell').css('overflow', 'visible'); }); form.render(); } }); } /*表格列表操作*/ table.on('tool(test)', function (obj) { var data = obj.data, layEvent = obj.event; if (layEvent === 'inputTest') { layui.$(this).on('input porpertychange', function (e) { var val = layui.$(this).val(); var name = layui.$(this).attr('name'); data[name] = val obj.update(data);//更新行对象数据 //console.log(data); }) } else if (layEvent === 'inputLocation') { layui.$(this).on('input porpertychange', function (e) { var val = layui.$(this).val(); var name = layui.$(this).attr('name'); data[name] = val obj.update(data);//更新行对象数据 //console.log(data); }) } else if (layEvent === 'edit') { var id = $("#InspectionID").val(); if (obj.data.inspectionItemID) { layer.open({ type: 2 //此處以iframe舉例 , title: '上傳文件' , area: ['480px', '400px'] , shade: 0 , maxmin: true , offset: 'auto'//顯示座標-auto居中 , content: "/SPC/SPC005R?id=" + id + "&itemID=" + obj.data.inspectionItemID //, btn: ['關閉'] , yes: function () { //layer.close(); if (layer.confirm('確定要關閉麼')) { layer.close(index); } // $(that).click(); } , zIndex: 19891014 //layer.zIndex //重點1 , success: function (layero) { layer.setTop(layero); //重點2 } }); //hg.open('上傳文件', '/SPC/SPC005R?id=' + id + '&itemID=' + obj.data.inspectionItemID, 1080, 640); } } }); $('table.layui-table thead tr th:nth-child(5)').addClass('layui-hide'); $('table.layui-table thead tr th:nth-child(6)').addClass('layui-hide'); form.on('select(line)', function (data) { //获取下拉框选中的值 var score = data.value; //获取下拉框对应行的分数单元格 var scoreId = $(data.elem).parent().parent().parent().find('[data-field="score"] div') //将下拉框选中的值赋给对应的分数栏 //scoreId.text(score); console.log(data); }); form.on('select(station)', function (data) { //获取下拉框选中的值 var score = data.value; //获取下拉框对应行的分数单元格 var scoreId = $(data.elem).parent().parent().parent().find('[data-field="score"] div') //将下拉框选中的值赋给对应的分数栏 //scoreId.text(score); console.log(data); }); form.on('select(theLine)', function (data) { //'#line'只更改第一行 //'#line '更改全部 var select = 'dd[lay-value=' + data.value + ']'; $('#selectLine ').each(function () { $(this).siblings("div.layui-form-select").find('dl').find(select).click(); }); }); form.on('select(theStation)', function (data) { //'#station'只更改第一行 //'#station '更改全部 var select = 'dd[lay-value=' + data.value + ']'; var changeselect = $('#selectStation ').siblings("div.layui-form-select").find('dl').find(select).click(); }); form.on('checkbox(show)', function (data) { console.log(data.elem.checked); //是否被选中,true 或者 false if (data.elem.checked) { $("[data-field='lineID']").css('display', 'inline-block'); $("[data-field='ruleStationID']").css('display', 'inline-block'); $('table.layui-table thead tr th:nth-child(5)').removeClass('layui-hide'); $('table.layui-table thead tr th:nth-child(6)').removeClass('layui-hide'); } else { $("[data-field='lineID']").css('display', 'none'); $("[data-field='ruleStationID']").css('display', 'none'); $('table.layui-table thead tr th:nth-child(5)').addClass('layui-hide'); $('table.layui-table thead tr th:nth-child(6)').addClass('layui-hide'); } }); }); // PLM_ECN $("#GetPLMECN").on("click", function () { var ItemNo = $("#ItemNo").val(); $.ajax({ url: `http://plm935fs01:50786/RMA_GetLocation/QueryLastReleaseECN?item=${ItemNo}`, type: "Get", data: {}, success: function (result) { alert(resut.d); $('#PLMECN').val(result.d); }, error: function (result) { alert(`呼叫API失敗`); } }); }); // SMS異常 $(".sms").click(function () { var ModelNo = $("#ModelNo").val(); $(".sms").attr("href", "https://sms.avalue.com.tw/SMS/SUP/SFIS_SMS001.aspx?MODEL_NO=" + ModelNo); var tempwindow = window.open('_blank'); // 先打開頁面 tempwindow.location = $(this).attr("href"); // 後更改頁面地址 }); // QAZone異常 $(".qazone").click(function () { var ItemNo = $("#ItemNo").val(); $(".qazone").attr("href", `http://qazone.avalue.com.tw/qazone/sfislinktocfqr.aspx?QA_PRDID=${ItemNo}&QF=2`); var tempwindow = window.open('_blank'); // 先打開頁面 tempwindow.location = $(this).attr("href"); // 後更改頁面地址 }); $(document).ready(function () { var error = '@Html.ValidationMessage("error")'; if ($(error).text() != '') { parent.hg.msg(error); } if ($("#ModelNo").val() == "") { var data = $("#WipNo").val(); if (data) { $.ajax({ url: "/SPC/GetWipAtt", dataType: 'json', data: { id: data }, async: false, contentType: "application/json", type: 'get', success: function (result) { if (result.data) { $("#ModelNo").val(result.data.modelNO); } else { alert("查無資料,請確認工單是否正確!"); $("#WipNo").val(""); return false; } }, error: function () { alert("查無資料,請確認工單是否正確!"); $("#WipNo").val(""); return false; } }); } }; }); </script> }