wtt
2025-08-05 ebef191888d9d2c2a2e7a7f677189164e4eef0b3
WebTM/views/°¸Àý´úÂë/»ªÔ¶/HY_HistogramReport.html
@@ -41,13 +41,19 @@
                                        <input type="text" class="layui-input" name="HBarCode_Set" id="HBarCode_Set">
                                    </div>
                                </div>
                                <div class="layui-inline">
                                    <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>
                                <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="HistogramReport" style = "background-color: black; height: 2000px; width: 100%; display: flex; flex-direction: column; align-items:center;">
                        </div>
                    </form>
@@ -96,6 +102,11 @@
            });
            //#endregion
            //#region AVI复选框
            form.on('checkbox(checkbox_isAVI)', function (data) {
                $("#isAVI").val(data.elem.checked);
            });
            //#endregion
            //#region æœ¬é¡µé¢æ‰€æœ‰è¢«è°ƒç”¨çš„æ–¹æ³•
            //#region åˆå§‹åŒ–界面
@@ -163,9 +174,6 @@
                    HBarCode_PNL_Note = "";
                }
                //清空 å¸ƒå±€ä¸Šå·²ç»åŠ å…¥çš„PCS号
                HPCSNoList = []
                //加载PNL布局直方图
                draw_Histogram(HLayOut_PNL);
@@ -219,6 +227,9 @@
            //#region æ ¹æ®æ•°æ®ç»˜åˆ¶ç›´æ–¹å›¾
            function draw_Histogram(data) {
                //清空 å¸ƒå±€ä¸Šå·²ç»åŠ å…¥çš„PCS号
                HPCSNoList = []
                var HSetNo = "";                                                //记录上一个PCS所属的set号
                var HPosition_x = 0;                                            //记录上一个PCS的行索引
                var HIconUrl = "";                                              //记录PCS图标资源的位置
@@ -254,27 +265,76 @@
                            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 HSetNo_ForRowIndex = data[0]["HSetNo"];
                            for (var j = 0; j < data.length; j++) {
                                if (data[j]["HSetNo"] == HSetNo_ForRowIndex && data[j]["HPosition_x"] == "1") {
                                    //列索引容器
                                    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);
                                } 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";
                            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容器中的按钮
@@ -313,34 +373,68 @@
            //#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;
                                var isAVI = $("#isAVI").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();
                                        }
                                    });
                                } 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');
                                        }
                                    })
                                }
                            });
                        }
                    }
                }
            }
//#endregion