yxj
2025-08-27 527ae2316190aad5885bf8f4d2ec2704746e2ac2
WebTM/views/°¸Àý´úÂë/»ªÔ¶/HY_HistogramReport.html
@@ -41,10 +41,17 @@
                                        <input type="text" class="layui-input" name="HBarCode_Set" id="HBarCode_Set">
                                    </div>
                                </div>
                                <div class="layui-inline">
                                <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">
@@ -52,6 +59,8 @@
                                </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="HBadLabelNameList">
                        </div>
                        <div id="HistogramReport" style = "background-color: black; height: 2000px; width: 100%; display: flex; flex-direction: column; align-items:center;">
@@ -81,6 +90,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 è¿›å…¥é¡µé¢å³åŠ è½½
@@ -102,22 +119,45 @@
            });
            //#endregion
            //#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 æœ¬é¡µé¢æ‰€æœ‰è¢«è°ƒç”¨çš„æ–¹æ³•
            //#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 = "";
@@ -182,6 +222,9 @@
                //清空PNL布局数据
                HLayOut_PNL = [];
                //清空批量划废PCS清单
                HBatchDeletePCSList = [];
                //关闭加载遮罩
                layer.close(ajaxLoad);
@@ -293,6 +336,13 @@
                                        //将列索引容器添加到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);
@@ -347,21 +397,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:" + 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 {
                        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);
@@ -373,6 +436,9 @@
                        HPosition_x = data[i]["HPosition_x"];
                    }
                };
                //设置 æ£€éªŒç«™åˆ«æ ‡ç­¾
                setBadInfoLabel();
            }
            //#endregion
@@ -393,6 +459,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按钮元素
@@ -403,23 +470,24 @@
                                var title = "PNL条码编号:" + HBarCode_PNL_Note + ";set号:" + SetNo + ";PCS号:" + PCSNo;
                                var isAVI = $("#isAVI").val();
                                var HBatchDeleteFlag = $("#HBatchDeleteFlag").val();
                                if (isAVI=="true") {
                                    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=6&linterid=&HSouceBillType=10004&HBarCode_PNL=' + HBarCode_PNL_Note + "&HSetNo=" + SetNo + "&HPCSNo=" + PCSNo,
                                        end: function () {
                                            //刷新页面,
                                            get_FastQuery();
                                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
@@ -436,16 +504,226 @@
                                    })
                                }
                            });
                            // ä¸ºå…ƒç´ æ·»åŠ 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;
                                    }
                                    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 title = HBatchDeletePCSList[i].title;
                            var HBarCode_PNL_Note = HBatchDeletePCSList[i].HBarCode;
                            var SetNo = HBatchDeletePCSList[i].HSetNo;
                            var PCSNo = HBatchDeletePCSList[i].HPCSNo;
                            layer.open({
                                type: 2,
                                skin: 'layui-layer-rim', //加上边框
                                title: 'AVI新增(' + title + ')',
                                closeBtn: 1,
                                shift: 2,
                                area: ['1px', '1px'],
                                maxmin: true,
                                content: '../../质量管理/PNL检验信息/QC_CheckNote_PNL_TempEdit.html?OperationType=8&linterid=&HSouceBillType=10004&HBarCode_PNL=' + HBarCode_PNL_Note + "&HSetNo=" + SetNo + "&HPCSNo=" + PCSNo + "&HBadReason=" + encodeURIComponent(HBadReason),
                                end: function () {
                                    $("#btnSearch").trigger('click');
                                }
                            });
                        }
                        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
            //#endregion
        });
    </script>
</body>