@model AMESCoreStudio.WebApi.Models.AMES.InspectionResultMaster @{ ViewData["Title"] = "SPC005C"; Layout = "~/Views/Shared/_AMESLayout.cshtml"; //Layout = "~/Views/Shared/_FormLayout.cshtml"; } <style> /* .control-label { justify-content: flex-end !important; } */ .layui-table-cell { overflow: visible !important; } td .layui-form-select { margin-top: -10px; margin-left: -10px; margin-right: -10px; } </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 id="modelform" method="post"> <div asp-validation-summary="ModelOnly" class="text-danger"></div> <input type="hidden" id="InspectionID" asp-for="InspectionID" value="@ViewBag.MasterID" /> <input type="hidden" id="InspectionFormID" asp-for="InspectionFormID" value="@ViewBag.FormID" /> <input type="hidden" asp-for="CreateUserID" value="@ViewBag.UserID" /> <input type="hidden" asp-for="UpdateUserID" value="@ViewBag.UserID" /> <input type="hidden" asp-for="CreateDate" value="@System.DateTime.Now" /> <input type="hidden" asp-for="UpdateDate" value="@System.DateTime.Now" /> <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"> <span asp-validation-for="WipNo" class="text-danger offset-sm-3 my-sm-1"></span> </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"> <span asp-validation-for="ItemNo" class="text-danger offset-sm-3 my-sm-1"></span> </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"> <span asp-validation-for="BarcodeNo" class="text-danger offset-sm-3 my-sm-1"></span> </div> </div> <input type="hidden" asp-for="StatusNo" value="T" /> </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" method="post"> <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='result' lay-verify='' lay-search='' class="layui-form" lay-filter="result"> <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" class="layui-input" style=" margin-top: -10px; margin-left: -10px; margin-right: -10px;" lay-vertype="tips" name="input_Test" value="" lay-event="inputTest" lay-filter="inputTest"> </script> @*線別*@ <script type="text/html" id="selectLine"> <select name='line' lay-verify='' lay-search='' asp-items="@ViewBag.LineList" class="layui-form" lay-filter="line"> </select> </script> @*站別*@ <script type="text/html" id="selectStation"> <select name='station' lay-verify='' lay-search='' asp-items="@ViewBag.StationList" class="layui-form" lay-filter="station"> </select> </script> @*插件位置*@ <script type="text/html" id="inputLocation"> <input type="text" class="layui-input" style=" margin-top: -10px; margin-left: -10px; margin-right: -10px;" lay-vertype="tips" name="input_Loca" value="" lay-event="inputTest" lay-filter="inputLoca"> </script> @*缺失單位*@ <script type="text/html" id="selectDept"> <select name='station' lay-verify='' lay-search='' asp-items="@ViewBag.FactoryUnit" class="layui-form" lay-filter="DeptList"> </select> </script> @*缺失人員*@ <script type="text/html" id="selectUser"> <select name='station' lay-verify='' lay-search='' asp-items="@ViewBag.UserList" class="layui-form" lay-filter="UserList"> </select> </script> <script type="text/javascript"> ////保存 $('#querysubmit').click(function () { var WipNo = $("#WipNo").val(); var ItemNo = $("#ItemNo").val(); var BarcodeNo = $("#BarcodeNo").val(); if (!WipNo) { return false; } else if (!ItemNo) { return false; } else if (!BarcodeNo) { return false; } else insertMaster("C"); }); ////暫存 $('#querysubmitTmp').click(function () { var WipNo = $("#WipNo").val(); var ItemNo = $("#ItemNo").val(); var BarcodeNo = $("#BarcodeNo").val(); if (!WipNo) { return false; } else if (!ItemNo) { return false; } else if (!BarcodeNo) { return false; } else insertMaster("T"); }); function insertMaster(status) { var model = $("#modelform").serializeArray(); //console.info(model); var InspectionID; var InspectionFormID; var CreateUserID; var UpdateUserID; var CreateDate; var UpdateDate; var WipNo; var ItemNo; var BarcodeNo; var StatusNo; if (model.length > 0) { //console.log(model); InspectionID = model[0].value; InspectionFormID = model[1].value; CreateUserID = model[2].value; UpdateUserID = model[3].value; CreateDate = model[4].value; UpdateDate = model[5].value; WipNo = model[6].value; ItemNo = model[7].value; BarcodeNo = model[8].value; StatusNo = status; console.log('789'); $.post("/SPC/SPC005TSAVE", { 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(); if (modeltable.length > 0) { console.log('length'); 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 (!Regex.test(text)) { 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/SPC005ListSave", { 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); } }); } } } } $('#WipNo').focusout(function () { var data = $("#WipNo").val(); if (data) { $.ajax({ url: "/SPC/GetWipAtt", dataType: 'json', data: { id: data }, contentType: "application/json", type: 'get', success: function (result) { if (result.data) { $("#ItemNo").val(result.data.itemNO); $('#BarcodeNo').focus(); } else { alert("查無資料,請確認工單是否正確!"); $("#WipNo").val(""); return false; } }, error: function () { alert("查無資料,請確認工單是否正確!"); $("#WipNo").val(""); return false; } }); } }); //BarcodeNo $("#WipNo").keypress(function (e) { if (code == 13) { var data = $("#WipNo").val(); if (data) { console.log("data=" + data); $.ajax({ url: "/SPC/GetWipAtt", dataType: 'json', data: { id: data }, contentType: "application/json", type: 'get', success: function (result) { if (result.data) { //console.info(result.data);//確認itemNO/modelNO $("#ItemNo").val(result.data.itemNO); //BarcodeNo $('#BarcodeNo').focus(); } else { alert("查無資料,請確認工單是否正確!"); $("#WipNo").val(""); //$('#WipNo').focus(); return false; } }, error: function () { alert("查無資料,請確認工單是否正確!"); $("#WipNo").val(""); //$('#WipNo').focus(); return false; } }); } else { alert("請填寫工單!"); return false; } } }); $("#ItemNo").keypress(function (e) { if (code == 13) { var data = $("#WipNo").val(); if (data) { $('#BarcodeNo').focus(); } else { alert("請填寫工單!"); $('#WipNo').focus(); return false; } } }); $("#BarcodeNo").keypress(function (e) { if (code == 13) { var data = $("#WipNo").val(); if (!data) { alert("請填寫工單!"); $('#WipNo').focus(); return false; } } }); 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 = $("#InspectionFormID").val(); table.render({ elem: '#test', url: '/SPC/GetInspectionItemsByFormID?id=' + formID, id: 'test', toolbar: '#toolBar', height:720, //defaultToolbar: ['filter', 'print', 'exports'], //title: 'test', //where: where, page: false, cols: [[ { field: 'inspectionItemID', width: 50, title: '#', }, { field: 'inspectionItemName', title: '項目', align: 'left' }, { field: 'inspectionItemValue', title: '標準值', align: 'left' }, { field: 'inspectionResult', title: '稽核結果', width: 100, align: "left", templet: '#selectResult' }, { field: 'line', title: '線別', width: 100, align: "left", templet: '#selectLine' }, { field: 'station', title: '站別', width: 100, align: "left", templet: '#selectStation' }, { 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: 'note', title: '備註', width: 250, align: "left", templet: '#inputTest' }, { field: 'right', width: 100, title: '操作', fixed: 'right', templet: function (d) { return '<a class="layui-btn layui-btn-normal layui-btn-xs layui-icon layui-icon-edit" lay-event="edit">上傳圖片</a> ' } } ]], 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'); }); 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 === '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); } } }); 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); }); }); $(document).ready(function () { var error = '@Html.ValidationMessage("error")'; if ($(error).text() != '') { parent.hg.msg(error); } }); </script> }