WebTM/views/°¸Àý´úÂë/»ªÔ¶/HY_HistogramReport.html
@@ -15,6 +15,26 @@
    <script src="../../../layuiadmin/PubCustom.js"></script>
    <script src="../../../layuiadmin/zgqCustom/zgqCustom.js"></script>
    <script src="../../../layuiadmin/HideButton.js"></script>
    <style>
        .loader {
            border: 8px solid #f3f3f3; /* Light grey */
            border-top: 8px solid #3498db; /* Blue */
            border-radius: 50%;
            width: 50px;
            height: 50px;
            animation: spin 2s linear infinite;
        }
        @keyframes spin {
            0% {
                transform: rotate(0deg);
            }
            100% {
                transform: rotate(360deg);
            }
        }
    </style>
</head>
<body>
    <div class="layui-fluid">
@@ -41,13 +61,28 @@
                                        <input type="text" class="layui-input" name="HBarCode_Set" id="HBarCode_Set">
                                    </div>
                                </div>
                                <div class="layui-inline" style="display:none;">
                                    <div class="layui-input-block" style="margin-left: 0px;">
                                        <input type="checkbox" name="checkbox_isAVI" id="checkbox_isAVI" lay-skin="primary" lay-filter="checkbox_isAVI" checked title="AVI">
                                        <input type="hidden" value="true" name="isAVI" id="isAVI" lay-verify="isAVI">
                                    </div>
                                </div>
                                <div class="layui-inline">
                                    <div class="layui-input-block" style="margin-left: 0px;">
                                        <input type="checkbox" name="checkbox_HBatchDeleteFlag" id="checkbox_HBatchDeleteFlag" lay-skin="primary" lay-filter="checkbox_HBatchDeleteFlag" title="批量划废启动标记">
                                        <input type="hidden" value="false" name="HBatchDeleteFlag" id="HBatchDeleteFlag" lay-verify="HBatchDeleteFlag">
                                        <button type="button" id="HBatchDelete_submit" class="layui-btn layui-btn-normal layui-btn-radius" lay-submit="" lay-filter="HBatchDelete_submit">批量划废</button>
                                    </div>
                                </div>
                                <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnSearch" id="btnSearch">
                                    <i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>
                                </button>
                                <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnReSearch" id="btnReSearch" style="padding:0 5px">重置</button>
                            </div>
                        </div>
                        <div id="HistogramReport" style = "background-color: black; height: 2000px; width: 100%; display: flex; justify-content: center; ">
                        <div id="HBadLabelNameList">
                        </div>
                        <div id="HistogramReport" style = "background-color: black; height: 5000px; width: 100%; display: flex; flex-direction: column; align-items:center;">
                        </div>
                    </form>
@@ -75,6 +110,14 @@
            var HBarCode_PNL_Note = "";                             //记录查询后的PNL条码编号
            var HLayOut_PNL = [];                                   //PNL布局信息数据
            var HPCSNoList = [];                                    //记录布局上已经加入的PCS号
            var HBatchDeletePCSList = [];                           //批量划废PCS列表
            var HBadLabelNameList = ["AOI1", "AOI2", "AOI3", "AOI4", "AVI", "MRB", "电测"];                           //检验站别标签名称数组
            var HBadInfo = {};                                                                                        //检验站别对应不良数量
            for (var i = 0; i < HBadLabelNameList.length; i++) {
                HBadInfo[HBadLabelNameList[i]] = 0;
            }
            //#endregion
            //#region è¿›å…¥é¡µé¢å³åŠ è½½
@@ -96,17 +139,45 @@
            });
            //#endregion
            //#region æœ¬é¡µé¢æ‰€æœ‰è¢«è°ƒç”¨çš„æ–¹æ³•
            //#region æ‰¹é‡åˆ’废
            form.on('submit(HBatchDelete_submit)', function (data) {
                batchDelete();
            });
            //#endregion
            //#region AVI复选框
            form.on('checkbox(checkbox_isAVI)', function (data) {
                $("#isAVI").val(data.elem.checked);
            });
            //#endregion
            //#region æ‰¹é‡åˆ’废启动标记 å¤é€‰æ¡†
            form.on('checkbox(checkbox_HBatchDeleteFlag)', function (data) {
                $("#HBatchDeleteFlag").val(data.elem.checked);
                if (data.elem.checked) {
                    $('#HBatchDelete_submit').removeClass("layui-btn-disabled").attr("disabled", false);
                } else {
                    HBatchDeletePCSList = [];
                    $("#btnSearch").trigger('click');
                    $('#HBatchDelete_submit').addClass("layui-btn-disabled").attr("disabled", true);
                }
            });
            //#endregion
            //#endregion
            //#region æœ¬é¡µé¢æ‰€æœ‰è¢«è°ƒç”¨çš„æ–¹æ³•
            //#region åˆå§‹åŒ–界面
            function set_ClearBill() {
                //查询
                get_FastQuery(1);
                //Organ();
                $('#HBatchDelete_submit').addClass("layui-btn-disabled").attr("disabled", true);
            }
            //#endregion
            //#endregion
            //#region æŸ¥è¯¢
            function get_Display(sql) {
                var ModRightNameCheck = "";
@@ -171,6 +242,9 @@
                //清空PNL布局数据
                HLayOut_PNL = [];
                //清空批量划废PCS清单
                HBatchDeletePCSList = [];
                //关闭加载遮罩
                layer.close(ajaxLoad);
@@ -254,27 +328,92 @@
                            var HContainerElement_Set = document.createElement('div');                              //set容器
                            HContainerElement_Set.id = data[i]["HSetNo"];                                           //set容器的id为set号
                            HContainerElement_Set.className = "layui-inline";
                            HContainerElement_Set.style = "margin-left:20px;";
                            HContainerElement_Set.style = "margin-left:20px;margin-top:20px;";
                            //在每一个set上的各个列最上方增加列索引
                            var HColIndexList = [];
                            var HSetNo_ForRowIndex = data[0]["HSetNo"];
                            for (var j = 0; j < data.length; j++) {
                                if (data[j]["HSetNo"] == HSetNo_ForRowIndex && data[j]["HPosition_x"] == "1") {
                                    if ($.inArray(data[j]["HPosition_y"], HColIndexList) == -1) {
                                        HColIndexList.push(data[j]["HPosition_y"], HColIndexList);
                                        //列索引容器
                                        var HContainerElement_RowIndex = document.createElement('div');                                 //列索引容器
                                        HContainerElement_RowIndex.style = "border: 2px solid black;color:white;";
                                        HContainerElement_RowIndex.className = "layui-inline";
                                        //列索引按钮
                                        var HButtonElement_RowIndex = document.createElement('div');                                 //列索引容器中的按钮
                                        HButtonElement_RowIndex.className = "layui-btn layuiadmin-btn-order";
                                        HButtonElement_RowIndex.style = "background-color:black;color:white;width:18px;";
                                        HButtonElement_RowIndex.innerHTML = data[j]["HPosition_y"];
                                        //将列索引按钮添加到列索引容器对象中
                                        HContainerElement_RowIndex.appendChild(HButtonElement_RowIndex);
                                        //将列索引容器添加到set容器对象中
                                        HContainerElement_Set.appendChild(HContainerElement_RowIndex);
                                    }
                                    if (j == data.length - 1) {
                                        var HBrElement_PCS = document.createElement('br');
                                        HContainerElement_Set.appendChild(HBrElement_PCS);
                                        break;
                                    }
                                } else {
                                    var HBrElement_PCS = document.createElement('br');
                                    HContainerElement_Set.appendChild(HBrElement_PCS);
                                    break;
                                }
                            }
                            //将set容器添加到直方图容器对象中
                            HContainerElement.appendChild(HContainerElement_Set);
                            //记录 å½“前set容器id
                            HCurrentElementID_Set = data[i]["HSetNo"];
                        }
                        //根据 å½“前set容器id èŽ·å– å½“前set容器对象
                        var HCurrentElement_Set = document.getElementById(HCurrentElementID_Set);
                        //在每一个set上的各个行前增加行索引
                        if ((data[i]["HSetNo"] == HCurrentElementID_Set && data[i]["HPosition_x"] != HPosition_x) || (data[i]["HSetNo"] == HCurrentElementID_Set && data[i]["HPosition_x"] == "1" && data[i]["HPosition_y"] == "1")) {             //相同set容器中,当前PCS的行索引与上一个PCS的行索引不一致,则换行,并设置列坐标
                            //列索引容器
                            var HContainerElement_ColIndex = document.createElement('div');                                 //行索引容器
                            HContainerElement_ColIndex.style = "border: 2px solid black;color:white;";
                            HContainerElement_ColIndex.className = "layui-inline";
                            if (data[i]["HPosition_x"] * 1 < 10) {
                                HContainerElement_ColIndex.innerHTML = "0" +  data[i]["HPosition_x"];
                            } else {
                                HContainerElement_ColIndex.innerHTML = data[i]["HPosition_x"];
                            }
                            if (data[i]["HSetNo"] == HSetNo && data[i]["HPosition_x"] != HPosition_x) {                     //相同set容器中,当前PCS的行索引与上一个PCS的行索引不一致,则换行
                                var HBrElement_PCS = document.createElement('br');
                                HCurrentElement_Set.appendChild(HBrElement_PCS);
                            }
                            //将行索引容器容器添加到set容器对象中
                            HCurrentElement_Set.appendChild(HContainerElement_ColIndex);
                        }
                        //PCS容器
                        var HContainerElement_PCS = document.createElement('div');                              //PCS容器
                        HContainerElement_PCS.id = data[i]["HPCSNo"];                                           //PCS容器的id为PCS号
                        HContainerElement_PCS.style = "border: 2px solid black;";      //设置PCS的图标
                        HContainerElement_PCS.className = "layui-inline";
                        if (data[i]["HSetNo"] == HSetNo && data[i]["HPosition_x"] != HPosition_x) {             //相同set容器中,当前PCS的行索引与上一个PCS的行索引不一致,则换行
                            var HBrElement_PCS = document.createElement('br');
                            HCurrentElement_Set.appendChild(HBrElement_PCS);
                        }
                        //if (data[i]["HSetNo"] == HSetNo && data[i]["HPosition_x"] != HPosition_x) {             //相同set容器中,当前PCS的行索引与上一个PCS的行索引不一致,则换行
                        //    var HBrElement_PCS = document.createElement('br');
                        //    HCurrentElement_Set.appendChild(HBrElement_PCS);
                        //}
                        //PCS数据维护按钮
                        var HButtonElement_PCS = document.createElement('button');                              //PCS容器中的按钮
@@ -282,21 +421,34 @@
                        HButtonElement_PCS.setAttribute('lay-filter', data[i]["HPCSNo"] + "_Button");
                        HButtonElement_PCS.type = "button";
                        HButtonElement_PCS.className = "layui-btn layuiadmin-btn-order";
                        if (data[i]["HIsBadFlag"] == "1" && data[i]["HCheckProc"] == "炬森VRS内层") {
                            HButtonElement_PCS.style = "background-image: url('" + HIconUrl + "'); background-size: cover; background-position: center; background-repeat: no-repeat;background-color:red;";
                        }
                        else if (data[i]["HIsBadFlag"] == "1" && data[i]["HCheckProc"] == "炬森VRS外层") {
                            HButtonElement_PCS.style = "background-image: url('" + HIconUrl + "'); background-size: cover; background-position: center; background-repeat: no-repeat;background-color:orange;";
                        }
                        else if (data[i]["HIsBadFlag"] == "1" && data[i]["HCheckProc"] == "AVI") {
                            HButtonElement_PCS.style = "background-image: url('" + HIconUrl + "'); background-size: cover; background-position: center; background-repeat: no-repeat;background-color:yellow;";
                        }
                        else if (data[i]["HIsBadFlag"] == "1" && data[i]["HCheckProc"] == "电测") {
                            HButtonElement_PCS.style = "background-image: url('" + HIconUrl + "'); background-size: cover; background-position: center; background-repeat: no-repeat;background-color:green;";
                        }
                        else {
                        if (data[i]["HIsBadFlag"] == "1") {
                            HButtonElement_PCS.style = "background-image: url('" + HIconUrl + "'); background-size: cover; background-position: center; background-repeat: no-repeat;background-color:" + data[i]["HPCSColor"] + ";";
                            //统计检验站别对应不良数量
                            if (typeof (HBadInfo[data[i]["HCheckProcName"]]) != "undefined") {
                                HBadInfo[data[i]["HCheckProcName"]] += 1;
                            }
                        } else {
                            HButtonElement_PCS.style = "background-image: url('" + HIconUrl + "'); background-size: cover; background-position: center; background-repeat: no-repeat;background-color:black;";
                        }
                        //if (data[i]["HIsBadFlag"] == "1" && data[i]["HCheckProc"] == "炬森VRS内层") {
                        //    HButtonElement_PCS.style = "background-image: url('" + HIconUrl + "'); background-size: cover; background-position: center; background-repeat: no-repeat;background-color:" + data[i]["HColorStr"] + ";";
                        //}
                        //else if (data[i]["HIsBadFlag"] == "1" && data[i]["HCheckProc"] == "炬森VRS外层") {
                        //    HButtonElement_PCS.style = "background-image: url('" + HIconUrl + "'); background-size: cover; background-position: center; background-repeat: no-repeat;background-color:orange;";
                        //}
                        //else if (data[i]["HIsBadFlag"] == "1" && data[i]["HCheckProc"] == "AVI") {
                        //    HButtonElement_PCS.style = "background-image: url('" + HIconUrl + "'); background-size: cover; background-position: center; background-repeat: no-repeat;background-color:yellow;";
                        //}
                        //else if (data[i]["HIsBadFlag"] == "1" && data[i]["HCheckProc"] == "电测") {
                        //    HButtonElement_PCS.style = "background-image: url('" + HIconUrl + "'); background-size: cover; background-position: center; background-repeat: no-repeat;background-color:green;";
                        //}
                        //else {
                        //    HButtonElement_PCS.style = "background-image: url('" + HIconUrl + "'); background-size: cover; background-position: center; background-repeat: no-repeat;background-color:black;";
                        //}
                        ////将PCS数据维护按钮添加到PCS容器对象中
                        HContainerElement_PCS.appendChild(HButtonElement_PCS);
@@ -308,6 +460,9 @@
                        HPosition_x = data[i]["HPosition_x"];
                    }
                };
                //设置 æ£€éªŒç«™åˆ«æ ‡ç­¾
                setBadInfoLabel();
            }
            //#endregion
@@ -328,6 +483,7 @@
                        if (element == null) {
                            continue;
                        } else {
                            // ä¸ºå…ƒç´ æ·»åŠ contextmenu å·¦å‡» äº‹ä»¶ç›‘听器
                            element.addEventListener('click', function (event) {
                                var PCSNo_Button = event.currentTarget.id;                                                  //获取触发事件的元素的ID
                                var PCSElement_Button = document.getElementById(PCSNo_Button);                              //获取PCS按钮元素
@@ -337,30 +493,385 @@
                                var SetNo = SetElement_Div.id;                                                              //set号
                                var title = "PNL条码编号:" + HBarCode_PNL_Note + ";set号:" + SetNo + ";PCS号:" + PCSNo;
                                layer.open({
                                    type: 2
                                    , skin: "layui-layer-rim" //加上边框
                                    , title: "PCS检验信息维护(" + title + ")"  //标题
                                    , closeBtn: 1  //窗体右上角关闭 çš„ æ ·å¼
                                    , shift: 2 //弹出动画
                                    , area: ["50%", "80%"] //窗体大小
                                    , maxmin: true //设置最大最小按钮是否显示
                                    , content: ['./HY_HistogramReport_ForPCSCheckNote.html?HBarCode_PNL=' + HBarCode_PNL_Note + "&HSetNo=" + SetNo + "&PCSNo=" + PCSNo, "yes"]
                                    , end: function () {
                                        $("#btnSearch").trigger('click');
                                var HBatchDeleteFlag = $("#HBatchDeleteFlag").val();
                                if (HBatchDeleteFlag == "true") {
                                    var temp = {
                                        "HBarCode": HBarCode_PNL_Note
                                        , "HSetNo": SetNo
                                        , "HPCSNo": PCSNo
                                        , "title": "PNL条码编号:" + HBarCode_PNL_Note + ";set号:" + SetNo + ";PCS号:" + PCSNo
                                    }
                                })
                                    for (var i = 0; i < HBatchDeletePCSList.length; i++) {
                                        if (temp.title == HBatchDeletePCSList[i].title) {
                                            HBatchDeletePCSList.splice(i, 1);
                                            $('#' + PCSNo_Button).removeClass("layui-btn-disabled");
                                            return;
                                        }
                                    }
                                    HBatchDeletePCSList.push(temp);
                                    $('#' + PCSNo_Button).addClass("layui-btn-disabled");
                                } else {
                                    layer.open({
                                        type: 2
                                        , skin: "layui-layer-rim" //加上边框
                                        , title: "PCS检验信息维护(" + title + ")"  //标题
                                        , closeBtn: 1  //窗体右上角关闭 çš„ æ ·å¼
                                        , shift: 2 //弹出动画
                                        , area: ["50%", "80%"] //窗体大小
                                        , maxmin: true //设置最大最小按钮是否显示
                                        , content: ['./HY_HistogramReport_ForPCSCheckNote.html?HBarCode_PNL=' + HBarCode_PNL_Note + "&HSetNo=" + SetNo + "&PCSNo=" + PCSNo, "yes"]
                                        , end: function () {
                                            $("#btnSearch").trigger('click');
                                        }
                                    })
                                }
                            });
                            // ä¸ºå…ƒç´ æ·»åŠ contextmenu å³å‡» äº‹ä»¶ç›‘听器
                            element.addEventListener('contextmenu', function (event) {
                                // é˜»æ­¢é»˜è®¤çš„上下文菜单显示
                                event.preventDefault();
                                var PCSNo_Button = event.currentTarget.id;                                                  //获取触发事件的元素的ID
                                var PCSElement_Button = document.getElementById(PCSNo_Button);                              //获取PCS按钮元素
                                var PCSElement_Div = PCSElement_Button.parentElement;                                       //获取PCS按钮元素所在的PCS容器元素
                                var SetElement_Div = PCSElement_Div.parentElement;                                          //获取PCS容器元素所在的set容器元素
                                var PCSNo = PCSElement_Div.id;                                                              //PCS号
                                var SetNo = SetElement_Div.id;                                                              //set号
                                var title = "PNL条码编号:" + HBarCode_PNL_Note + ";set号:" + SetNo + ";PCS号:" + PCSNo;
                                //多次右击时,去除上一次的select组件
                                var HSelectElement_old = document.getElementById("HBadReason");
                                if (HSelectElement_old != null) {
                                    document.body.removeChild(HSelectElement_old);
                                }
                                // ä¾‹å¦‚,创建一个自定义菜单
                                var HSelectElement = document.createElement('select');
                                HSelectElement.style.width = "100px";
                                HSelectElement.style.height = "20px";
                                HSelectElement.style.position = 'absolute';
                                HSelectElement.style.left = event.pageX + 'px';
                                HSelectElement.style.top = event.pageY + 'px';
                                HSelectElement.id = "HBadReason";
                                HSelectElement.name = "HBadReason";
                                HSelectElement.setAttribute('lay-filter', 'HBadReason');
                                HSelectElement.className = "layui-fluid layui-col-md12 layui-card-body layui-form layui-collapse layui-colla-item ayui-input-inline";
                                document.body.appendChild(HSelectElement);
                                setInitSelect_BadReason();
                                //不良原因选择控件 å€¼å˜åŒ–监听
                                const selectElement = document.getElementById('HBadReason');
                                selectElement.addEventListener('change', function () {
                                    var HBadReason = $("#HBadReason").val();
                                    if (HBadReason == "") {
                                        var HSelectElement = document.getElementById("HBadReason");
                                        if (HSelectElement != null) {
                                            document.body.removeChild(HSelectElement);
                                        }
                                        return;
                                    }
                                    if (!judgeRepeatDataByPNLAndPCS(HBarCode_PNL_Note, PCSNo)) {
                                        layer.msg("该PCS已经存在不良记录,禁止重复标记!!", { icon: 5 });
                                        var HSelectElement = document.getElementById("HBadReason");
                                        if (HSelectElement != null) {
                                            document.body.removeChild(HSelectElement);
                                        }
                                        return;
                                    }
                                    layer.open({
                                        type: 2,
                                        skin: 'layui-layer-rim', //加上边框
                                        title: 'AVI新增(' + title + ')',
                                        closeBtn: 1,
                                        shift: 2,
                                        area: ['100%', '100%'],
                                        maxmin: true,
                                        content: '../../质量管理/PNL检验信息/QC_CheckNote_PNL_TempEdit.html?OperationType=7&linterid=&HSouceBillType=10004&HBarCode_PNL=' + HBarCode_PNL_Note + "&HSetNo=" + SetNo + "&HPCSNo=" + PCSNo + "&HBadReason=" + encodeURIComponent(HBadReason),
                                        end: function () {
                                            //刷新页面,
                                            get_FastQuery();
                                        }
                                    });
                                    var HSelectElement = document.getElementById("HBadReason");
                                    if (HSelectElement != null) {
                                        document.body.removeChild(HSelectElement);
                                    }
                                });
                                //不良原因选择控件 å¤±ç„¦æ—¶ç§»é™¤æŽ§ä»¶
                                selectElement.focus();
                                selectElement.addEventListener('blur', function () {
                                    var HSelectElement = document.getElementById("HBadReason");
                                    if (HSelectElement != null) {
                                        document.body.removeChild(HSelectElement);
                                    }
                                });
                            });
                        }
                    }
                }
            }
//#endregion
        });
            //#endregion
            //#region è®¾ç½®ä¸è‰¯æ ‡ç­¾
            function setBadInfoLabel() {
                //获取标签容器
                var HBadLabelNameListElement = document.getElementById("HBadLabelNameList");
                if (HBadLabelNameListElement != null) {
                    // éåŽ†æ ‡ç­¾å®¹å™¨å¯¹è±¡ä¸­çš„æ‰€æœ‰å­å…ƒç´ å¹¶ä»ŽDOM中移除
                    while (HBadLabelNameListElement.firstChild) {
                        HBadLabelNameListElement.removeChild(HBadLabelNameListElement.firstChild);
                    }
                    for (var i = 0; i < HBadLabelNameList.length; i++) {
                        //set容器
                        var labelElement= document.createElement('div');                                        //标签
                        labelElement.id = HBadLabelNameList[i];                                                 //标签的id
                        labelElement.style = "font-size: 20px; color: red;margin-left:50px;display: inline;";
                        labelElement.innerHTML = HBadLabelNameList[i] + ":" + HBadInfo[HBadLabelNameList[i]];
                        //将标签添加到标签容器对象中
                        HBadLabelNameListElement.appendChild(labelElement);
                    }
                }
                for (var i = 0; i < HBadLabelNameList.length; i++) {
                    HBadInfo[HBadLabelNameList[i]] = 0;
                }
            }
            //#endregion
            //#region ä¸è‰¯åŽŸå› ä¸‹æ‹‰åˆ—è¡¨åˆå§‹åŒ–
            function setInitSelect_BadReason() {
                //获取登录页组织列
                var ModRightNameCheck = "";
                var sql = "select * from Gy_BadReason where HCheckEmp <> '' and ISNULL(HStopEmp,'') = '' ";
                $.ajax({
                    url: GetWEBURL() + '/CommonModel/searchMethod',
                    async: false,
                    type: "GET",
                    data: { "sql": sql, "user": sessionStorage["HUserName"], "ModRightNameCheck": ModRightNameCheck },
                    success: function (result) {
                        if (result.count == 1) { // è¯´æ˜ŽéªŒè¯æˆåŠŸäº†ï¼Œ
                            var data = result.data;
                            var Organization = "";
                            Organization += '<option  style="color:blue;" value=""></option>';
                            for (var i = 0; i < data.length; i++) {
                                Organization += '<option  style="color:blue;" value="' + data[i].HName + '">' + data[i].HName + '</option>';
                            }
                            $("#HBadReason").append(Organization);
                            form.render('select');
                        }
                        layer.closeAll("loading");
                    }
                });
            }
        //#endregion
            //#region æ‰¹é‡åˆ’废
            function batchDelete() {
                if (HBatchDeletePCSList.length > 0) {
                    ////多次批量划废时,去除上一次的select组件
                    //var HSelectElement_old = document.getElementById("HBadReason");
                    //if (HSelectElement_old != null) {
                    //    document.body.removeChild(HSelectElement_old);
                    //}
                    // ä¾‹å¦‚,创建一个自定义菜单
                    var HSelectElement = document.createElement('select');
                    HSelectElement.style.width = "100px";
                    HSelectElement.style.height = "20px";
                    HSelectElement.style.position = 'absolute';
                    HSelectElement.style.left = event.pageX + 'px';
                    HSelectElement.style.top = event.pageY + 'px';
                    HSelectElement.id = "HBadReason";
                    HSelectElement.name = "HBadReason";
                    HSelectElement.setAttribute('lay-filter', 'HBadReason');
                    HSelectElement.className = "layui-fluid layui-col-md12 layui-card-body layui-form layui-collapse layui-colla-item ayui-input-inline";
                    document.body.appendChild(HSelectElement);
                    setInitSelect_BadReason();
                    //不良原因选择控件 å€¼å˜åŒ–监听
                    const selectElement = document.getElementById('HBadReason');
                    selectElement.addEventListener('change', function () {
                        var HBadReason = $("#HBadReason").val();
                        if (HBadReason == "") {
                            var HSelectElement = document.getElementById("HBadReason");
                            if (HSelectElement != null) {
                                document.body.removeChild(HSelectElement);
                            }
                            layer.alert("批量作废失败,未选择不良项目!!!", { icon: 5 });
                            return;
                        }
                        for (var i = 0; i < HBatchDeletePCSList.length; i++) {
                            var HBarCode_PNL_Note = HBatchDeletePCSList[i].HBarCode;
                            var PCSNo = HBatchDeletePCSList[i].HPCSNo;
                            if (!judgeRepeatDataByPNLAndPCS(HBarCode_PNL_Note, PCSNo)) {
                                layer.msg("PCS【" + PCSNo + "】已经存在不良记录,禁止重复标记!!", { icon: 5 });
                                var HSelectElement = document.getElementById("HBadReason");
                                if (HSelectElement != null) {
                                    document.body.removeChild(HSelectElement);
                                }
                                return;
                            }
                        }
                        //获取需要上传的检验信息列表
                        var HDataList_submit = [];
                        for (var i = 0; i < HBatchDeletePCSList.length; i++) {
                            var title = HBatchDeletePCSList[i].title;
                            var HBarCode_PNL_Note = HBatchDeletePCSList[i].HBarCode;
                            var SetNo = HBatchDeletePCSList[i].HSetNo;
                            var PCSNo = HBatchDeletePCSList[i].HPCSNo;
                            var data = {
                                HBarCode: HBarCode_PNL_Note
                                , HSetNo: SetNo
                                , HPCSNo: PCSNo
                                , HCheckProc: "MRB"
                                , HPageIndex: "L4"
                                , HBadReason: HBadReason
                                , HPosition_x: "0"
                                , HPosition_y: "0"
                                , HItemID: "0"
                                , HMakeDate: Format(new Date(), "yyyy-MM-dd")
                                , HMaker: sessionStorage["HUserName"]
                            }
                            HDataList_submit.push(data);
                        }
                        batchDelete_Submit(HDataList_submit);
                        HBatchDeletePCSList = [];
                        $("#btnSearch").trigger('click');
                        var HSelectElement = document.getElementById("HBadReason");
                        if (HSelectElement != null) {
                            document.body.removeChild(HSelectElement);
                        }
                    });
                    //不良原因选择控件 å¤±ç„¦æ—¶ç§»é™¤æŽ§ä»¶
                    selectElement.focus();
                    selectElement.addEventListener('blur', function () {
                        var HSelectElement = document.getElementById("HBadReason");
                        if (HSelectElement != null) {
                            document.body.removeChild(HSelectElement);
                        }
                    });
                } else {
                    layer.alert("当前未选中需要划废的PCS!!!", { icon: 5 });
                }
            }
            //#endregion
            //#region æ‰¹é‡åˆ’废-上传检验信息记录
            function batchDelete_Submit(HDataList_submit) {
                var msg = "";                                               //返回信息
                //遍历上传
                var submitList = [];                                        //上传数据列表
                var submitCount = 100;                                      //单次可上传数量+1
                for (var i = 0; i < HDataList_submit.length; i++) {
                    if ((i + 1) % submitCount > 0 && i + 1 != HDataList_submit.length) {
                        submitList.push(HDataList_submit[i]);
                    } else {
                        //打开加载遮罩
                        var index = layer.open({
                            type: 1, // page å±‚类型
                            area: ['20%', '20%'],
                            shade: 0.6, // é®ç½©é€æ˜Žåº¦
                            shadeClose: false, // ç‚¹å‡»é®ç½©åŒºåŸŸï¼Œä¸å…³é—­å¼¹å±‚
                            maxmin: false, // ä¸å…è®¸å…¨å±æœ€å°åŒ–
                            anim: 0, // 0-6 çš„动画形式,-1 ä¸å¼€å¯
                            content: '<div style="padding: 12px;">正在运算,请耐心等待!!!<div class="loader" style="height:10px;width:10px;"></div></div>'
                        });
                        submitList.push(HDataList_submit[i]);
                        var sMainStr = JSON.stringify(submitList) + ';' + sessionStorage["HUserName"];
                        $.ajax({
                            type: "POST",
                            url: GetWEBURL() + "/QC_CheckNote_PNL_TempController/BatchAddBill", //方法所在页面和方法名
                            async: false,
                            data: { "oMain": sMainStr },
                            dataType: "json",
                            success: function (data) {
                                if (data.count == 1) {
                                    //关闭加载遮罩
                                    layer.close(index);
                                }
                                else {
                                    for (var j = 0; j < submitList.length; j++) {
                                        msg += "【" + submitList.HPCSNo + "】";
                                    }
                                    msg += "上传失败,原因:" + data.Message + ";";
                                    //关闭加载遮罩
                                    layer.close(index);
                                }
                            },
                            error: function (err) {
                                for (var j = 0; j < submitList.length; j++) {
                                    msg += "【" + submitList.HPCSNo + "】";
                                }
                                msg += "上传失败,原因:" + err.Message + ";";
                                //关闭加载遮罩
                                layer.close(index);
                            }
                        });
                        submitList = [];
                    }
                }
                if (msg.length > 0) {
                    layer.alert(msg, { icon: 5 });
                    return false;
                } else {
                    return true;
                }
            }
            //#endregion
            //#region åˆ¤æ–­è¯¥PNL下的该PCS是否已经存在不良记录。若存在,则不允许继续生成。
            function judgeRepeatDataByPNLAndPCS(HBarCode_Temp, HPCSNo_Temp) {
                var flag = true;
                var sql = "select HBarCode from QC_CheckNote_PNL_Temp where HBarCode = '" + HBarCode_Temp + "' and HPCSNo = '" + HPCSNo_Temp + "' ";
                sql += " union select HBarCode from QC_CheckNote_PNL_His where HBarCode = '" + HBarCode_Temp + "' and HPCSNo = '" + HPCSNo_Temp + "' ";
                var ModRightNameCheck = "";
                $.ajax({
                    url: GetWEBURL() + '/CommonModel/searchMethod',
                    async: false,
                    type: "GET",
                    data: { "sql": sql, "user": sessionStorage["HUserName"], "ModRightNameCheck": ModRightNameCheck },
                    success: function (data1) {
                        if (data1.count == 1) {
                            if (data1.data.length > 0) {
                                flag = false;
                            }
                        } else {
                            flag = false;
                        }
                    }, error: function (e) {
                        flag = false;
                    }
                });
                return flag;
            }
            //#endregion
            //#endregion
        });
    </script>
</body>