duhe
2025-06-26 222e62df3dfecb71d669b2509e4e8822638791a6
WebTM/views/°¸Àý´úÂë/»ªÔ¶/HY_HistogramReport.html
@@ -47,7 +47,7 @@
                                <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="HistogramReport" style = "background-color: black; height: 2000px; width: 100%; display: flex; justify-content: center;">
                        </div>
                    </form>
@@ -74,6 +74,7 @@
            var HBarCode_PNL_Note = "";                             //记录查询后的PNL条码编号
            var HLayOut_PNL = [];                                   //PNL布局信息数据
            var HPCSNoList = [];                                    //记录布局上已经加入的PCS号
            //#endregion
            //#region è¿›å…¥é¡µé¢å³åŠ è½½
@@ -215,6 +216,9 @@
            //#region æ ¹æ®æ•°æ®ç»˜åˆ¶ç›´æ–¹å›¾
            function draw_Histogram(data) {
                //清空 å¸ƒå±€ä¸Šå·²ç»åŠ å…¥çš„PCS号
                HPCSNoList = []
                var HSetNo = "";                                                //记录上一个PCS所属的set号
                var HPosition_x = 0;                                            //记录上一个PCS的行索引
                var HIconUrl = "";                                              //记录PCS图标资源的位置
@@ -236,101 +240,121 @@
                //遍历生成直方图
                for (var i = 0; i < data.length; i++) {
                    //如果当前PCS所属的set号 ä¸Žè®°å½•çš„ ä¸Šä¸€ä¸ªPCS所属的set号 ä¸ä¸€è‡´ï¼Œåˆ™éœ€è¦åˆ›å»ºæ–°çš„set容器
                    if (data[i]["HSetNo"] != HSetNo) {
                        //获取直方图容器对象
                        var HContainerElement = document.getElementById(HContainerElementID);
                    if ($.inArray(data[i]["HPCSNo"], HPCSNoList) > -1) {
                        continue;
                    } else {
                        HPCSNoList.push(data[i]["HPCSNo"]);
                        //set容器
                        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;";
                        //将set容器添加到直方图容器对象中
                        HContainerElement.appendChild(HContainerElement_Set);
                        //如果当前PCS所属的set号 ä¸Žè®°å½•çš„ ä¸Šä¸€ä¸ªPCS所属的set号 ä¸ä¸€è‡´ï¼Œåˆ™éœ€è¦åˆ›å»ºæ–°çš„set容器
                        if (data[i]["HSetNo"] != HSetNo) {
                            //获取直方图容器对象
                            var HContainerElement = document.getElementById(HContainerElementID);
                        //记录 å½“前set容器id
                        HCurrentElementID_Set = data[i]["HSetNo"];
                            //set容器
                            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;margin-top:50px;";
                            //将set容器添加到直方图容器对象中
                            HContainerElement.appendChild(HContainerElement_Set);
                            //记录 å½“前set容器id
                            HCurrentElementID_Set = data[i]["HSetNo"];
                        }
                        //根据 å½“前set容器id èŽ·å– å½“前set容器对象
                        var HCurrentElement_Set = document.getElementById(HCurrentElementID_Set);
                        //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);
                        }
                        //PCS数据维护按钮
                        var HButtonElement_PCS = document.createElement('button');                              //PCS容器中的按钮
                        HButtonElement_PCS.id = data[i]["HPCSNo"] + "_Button";
                        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 {
                            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);
                        //将PCS容器添加到set容器对象中
                        HCurrentElement_Set.appendChild(HContainerElement_PCS);
                        HSetNo = data[i]["HSetNo"];
                        HPosition_x = data[i]["HPosition_x"];
                    }
                    //根据 å½“前set容器id èŽ·å– å½“前set容器对象
                    var HCurrentElement_Set = document.getElementById(HCurrentElementID_Set);
                    //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);
                    }
                    //PCS数据维护按钮
                    var HButtonElement_PCS = document.createElement('button');                              //PCS容器中的按钮
                    HButtonElement_PCS.id = data[i]["HPCSNo"] + "_Button";
                    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 {
                        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);
                    //将PCS容器添加到set容器对象中
                    HCurrentElement_Set.appendChild(HContainerElement_PCS);
                    HSetNo = data[i]["HSetNo"];
                    HPosition_x = data[i]["HPosition_x"];
                };
            }
            //#endregion
            //#region è®¾ç½®PCS的监听事件
            function set_buttonClickListener(data) {
                for (var i = 0; i < data.length; i++) {
                    var elementID = data[i]["HPCSNo"] + "_Button";
                    var element = document.getElementById(elementID);
                //清空 å¸ƒå±€ä¸Šå·²ç»åŠ å…¥çš„PCS号
                HPCSNoList = []
                    if (element == null) {
                for (var i = 0; i < data.length; i++) {
                    if ($.inArray(data[i]["HPCSNo"], HPCSNoList) > -1) {
                        continue;
                    } else {
                        element.addEventListener('click', function (event) {
                            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号
                        HPCSNoList.push(data[i]["HPCSNo"]);
                            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"]
                            })
                        });
                        var elementID = data[i]["HPCSNo"] + "_Button";
                        var element = document.getElementById(elementID);
                        if (element == null) {
                            continue;
                        } else {
                            element.addEventListener('click', function (event) {
                                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;
                                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');
                                    }
                                })
                            });
                        }
                    }
                }
            }
//#endregion