@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">&#xe669;</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;">&#xe66e;</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>


}