duhe
2025-07-16 e0a3147306ae60177b1582a17253d147df88ab0c
WebTM/views/ÌõÂëÃ÷ϸ/Kf_BarCodeDetailQuery.html
@@ -103,6 +103,7 @@
                            <div class="layui-btn-container">
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-view"><i class="layui-icon layui-icon-tips"></i>预览</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-print"><i class="layui-icon layui-icon-print"></i>打印</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-save"><i class="layui-icon layui-icon-print"></i>保存</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="set_HideColumn"><i class="layui-icon layui-icon-form"></i>列设置</button>
                            </div>
                        </script>
@@ -161,131 +162,72 @@
                    case 'btn-view':
                        break;
                    case 'btn-print':
                        get_PrintReport();
                        break;
                    case 'btn-save':
                        save();
                        break;
                };
            });
            //隐藏列设置
            function get_HideColumn() {
                var colName = "";
                var contentUrl = "";
                for (var i = 1; i < option.cols[0].length - 1; i++) {
                    colName += option.cols[0][i]["title"] + ",";
                }
                var urlStr = window.document.location.pathname;//获取文件路径
                var urlLen = urlStr.split('/');
                for (var i = 0; i < urlLen.length - 4; i++) {
                    contentUrl += "../";
                }
                colName = encodeURI(colName.substring(0, colName.length - 1));//对 URI è¿›è¡Œç¼–码
            //#region ç›‘听单元格编辑  å•元格编辑后 å˜æ›´
            table.on('edit(mainTable)', function (obj) {
                //数值格式校验工具
                var ref = /^\d+(\.\d+)?$/;          //非负数正则表达式
                var temp = "";
                topScroll = $('#mainTable').next('.layui-table-view').find('.layui-table-body').scrollTop();//获取滚动条位置
                // å•元格编辑之前的值
                var oldText = $(this).prev().text();
                var value = obj.value //得到修改后的值
                    , data = obj.data //得到所在行所有键值
                    , field = obj.field; //得到字段
                //layer.msg('[ID: ' + data.id + '] ' + field + ' å­—段更改为:' + value);
                contentUrl += '基础资料/隐藏列设置/Gy_GridView_Hide.html?HModName=' + HModName + '&colName=' + colName;
                layer.open({
                    type: 2
                    , skin: "layui-layer-rim" //加上边框
                    , title: "隐藏列设置"  //标题
                    , closeBtn: 1  //窗体右上角关闭 çš„ æ ·å¼
                    , shift: 2 //弹出动画
                    , area: ["50%", "90%"] //窗体大小
                    , maxmin: true //设置最大最小按钮是否显示
                    , content: [contentUrl, "yes"]
                    , btn: ["确定", "取消"]
                    , btn1: function (index, laero) {
                        //刷新表格数据
                        DisPlay_HideColumn();
                        //更新表格缓存的数据
                        layer.close(index);//关闭弹窗
                    }
                })
            }
            //显示列数据
            function DisPlay_HideColumn() {
                $.ajax({
                    url: GetWEBURL() + '/Xt_grdAlignment_WMES/grdAlignmentWMESList',
                    type: "GET",
                    data: { "HModName": HModName, "user": sessionStorage["HUserName"] },
                    success: function (data1) {
                        if (data1.data.length != 0) {
                            var dataCol = [];//数据库查询出的列数据
                            var titleData = ["hmainid", "hsupid", "hsecmanagerid", "hkeeperid", "HDeptID", "hsubid", "hmaterid", "hunitid", "hwhid"];//不需要显示的字段 å¯æ‰©å±•
                            dataCol = data1.data[0].HGridString.split(',');
                            for (var i = 0; i < option.cols[0].length - 2; i++) {
                                var dataCols = dataCol[i].split('|');
                                //隐藏列
                                if (dataCols[1] == 1) {
                                    option.cols[0][i + 1]["hide"] = true;
                                }
                                //设置列宽
                                if (dataCols[3] > 0) {
                                    option.cols[0][i + 1]["width"] = dataCols[3];
                                }
                                //设置内容字体大小
                                if (data1.data[0].HFontSize != 0) {
                                    option.cols[0][i + 1]["style"] = "font-size:" + data1.data[0].HFontSize + "px;";
                                } else {
                                    option.cols[0][i + 1]["style"] = "font-size:100%";
                                }
                                //设置列宽
                                //if (data1.data[0].HColumnWidth != 0) {
                                //    option.cols[0][i + 1]["width"] = data1.data[0].HColumnWidth + "px;";
                                //} else {
                                //    option.cols[0][i + 1]["width"] = "";
                                //}
                                //显示列
                                if (dataCols[1] == 0 && $.inArray(option.cols[0][i + 1]["title"], titleData) == -1) {
                                    option.cols[0][i + 1]["hide"] = false;
                                }
                                //字体所在位置(å·¦ å±…中 å³)
                                switch (dataCols[2]) {
                                    case "L":
                                        option.cols[0][i + 1]["align"] = "left";
                                        break;
                                    case "M":
                                        option.cols[0][i + 1]["align"] = "center";
                                        break;
                                    case "R":
                                        option.cols[0][i + 1]["align"] = "right";
                                        break;
                                }
                            }
                            //取消冻结列
                            for (var i = 1; i < option.cols[0].length - 1; i++) {
                                if (option.cols[0][i]["fixed"] != null) {
                                    option.cols[0][i]["fixed"] = null;
                                }
                                else {
                                    break;
                                }
                            }
                            //冻结列
                            if (data1.data[0].HFixCols != 0) {
                                for (var i = 0; i < data1.data[0].HFixCols; i++) {
                                    if ($.inArray(option.cols[0][i + 1]["title"], titleData) != -1) {
                                        data1.data[0].HFixCols += 1;
                                    }
                                    option.cols[0][i + 1]["fixed"] = "left";
                                }
                            }
                switch (field) {
                    case "HMaterialJQty":                                                       //数量
                        //数据格式校验
                        temp = value + "";
                        if (!ref.test(temp)) {
                            //恢复数据到编辑前
                            obj.update({
                                HMaterialJQty: oldText
                            });
                            table.render(option);
                        } else {
                            table.render(option);
                            layer.msg("重量_维护 è¯·è¾“入不小于0的数字!");
                            return;
                        }
                    }, error: function () {
                        layer.alert("接口请求失败!", { icon: 5 });
                    }
                })
            }
                        break;
                    case "HWeight_TL":                                                       //数量
                        //数据格式校验
                        temp = value + "";
                        if (!ref.test(temp) || temp == 0) {
                            //恢复数据到编辑前
                            obj.update({
                                HWeight_TL: oldText
                            });
                            table.render(option);
                            layer.msg("投料克重_维护 è¯·è¾“入大于0的数字!");
                            return;
                        }
                        break;
                    case "HWeight_CP":                                                       //数量
                        //数据格式校验
                        temp = value + "";
                        if (!ref.test(temp)) {
                            //恢复数据到编辑前
                            obj.update({
                                HWeight_CP: oldText
                            });
                            table.render(option);
                            layer.msg("实际克重_维护 è¯·è¾“入不小于0的数字!");
                            return;
                        }
                        break;
                    default:
                }
            });
            //#endregion
            //// æŸ¥è¯¢æŒ‰é’®
            //form.on('submit(btnSearch)', function (data) {
            //    /*get_FastQuery();*/
@@ -391,7 +333,17 @@
                        for (var key in data1.list) {
                            if (data1.list[key].ColmCols == "HItemID") {
                                col[1 + parseInt(key)] = { field: data1.list[key].ColmCols, title: data1.list[key].ColmCols, width: 200, align: 'center', hide: true };
                            } else {
                            }
                            else if (data1.list[key].ColmCols == "HMaterialJQty") {
                                col[1 + parseInt(key)] = { field: data1.list[key].ColmCols, title: "重量维护", width: 200, align: 'center',edit:true};
                            }
                            else if (data1.list[key].ColmCols == "HWeight_TL") {
                                col[1 + parseInt(key)] = { field: data1.list[key].ColmCols, title: "投料克重维护", width: 200, align: 'center',edit: true };
                            }
                            else if (data1.list[key].ColmCols == "HWeight_CP") {
                                col[1 + parseInt(key)] = { field: data1.list[key].ColmCols, title: "实际克重维护", width: 200, align: 'center',edit: true };
                            }
                            else {
                                switch (data1.list[key].ColmCols) {
                                    case "数量":
                                        col[1 + parseInt(key)] = { field: data1.list[key].ColmCols, title: data1.list[key].ColmCols, width: 200, align: 'center', totalRow: true, sort: true };
@@ -401,6 +353,7 @@
                                }
                            }
                        }
                        //为表格渲染的参数设定值
                        option.cols = [col];
                        option.data = data1.data;
@@ -411,6 +364,247 @@
                });
            }
            //隐藏列设置
            function get_HideColumn() {
                var colName = "";
                var contentUrl = "";
                for (var i = 1; i < option.cols[0].length - 1; i++) {
                    colName += option.cols[0][i]["title"] + ",";
                }
                var urlStr = window.document.location.pathname;//获取文件路径
                var urlLen = urlStr.split('/');
                for (var i = 0; i < urlLen.length - 4; i++) {
                    contentUrl += "../";
                }
                colName = encodeURI(colName.substring(0, colName.length - 1));//对 URI è¿›è¡Œç¼–码
                contentUrl += '基础资料/隐藏列设置/Gy_GridView_Hide.html?HModName=' + HModName + '&colName=' + colName;
                layer.open({
                    type: 2
                    , skin: "layui-layer-rim" //加上边框
                    , title: "隐藏列设置"  //标题
                    , closeBtn: 1  //窗体右上角关闭 çš„ æ ·å¼
                    , shift: 2 //弹出动画
                    , area: ["50%", "90%"] //窗体大小
                    , maxmin: true //设置最大最小按钮是否显示
                    , content: [contentUrl, "yes"]
                    , btn: ["确定", "取消"]
                    , btn1: function (index, laero) {
                        //刷新表格数据
                        DisPlay_HideColumn();
                        //更新表格缓存的数据
                        layer.close(index);//关闭弹窗
                    }
                })
            }
            //显示列数据
            function DisPlay_HideColumn() {
                $.ajax({
                    url: GetWEBURL() + '/Xt_grdAlignment_WMES/grdAlignmentWMESList',
                    type: "GET",
                    data: { "HModName": HModName, "user": sessionStorage["HUserName"] },
                    success: function (data1) {
                        if (data1.data.length != 0) {
                            var dataCol = [];//数据库查询出的列数据
                            var titleData = ["hmainid", "hsupid", "hsecmanagerid", "hkeeperid", "HDeptID", "hsubid", "hmaterid", "hunitid", "hwhid"];//不需要显示的字段 å¯æ‰©å±•
                            dataCol = data1.data[0].HGridString.split(',');
                            for (var i = 0; i < option.cols[0].length - 2; i++) {
                                if (i >= dataCol.length) {
                                    continue;
                                }
                                var dataCols = dataCol[i].split('|');
                                //隐藏列
                                if (dataCols[1] == 1) {
                                    option.cols[0][i + 1]["hide"] = true;
                                }
                                //设置列宽
                                if (dataCols[3] > 0) {
                                    option.cols[0][i + 1]["width"] = dataCols[3];
                                }
                                //设置内容字体大小
                                if (data1.data[0].HFontSize != 0) {
                                    option.cols[0][i + 1]["style"] = "font-size:" + data1.data[0].HFontSize + "px;";
                                } else {
                                    option.cols[0][i + 1]["style"] = "font-size:100%";
                                }
                                //设置列宽
                                //if (data1.data[0].HColumnWidth != 0) {
                                //    option.cols[0][i + 1]["width"] = data1.data[0].HColumnWidth + "px;";
                                //} else {
                                //    option.cols[0][i + 1]["width"] = "";
                                //}
                                //显示列
                                if (dataCols[1] == 0 && $.inArray(option.cols[0][i + 1]["title"], titleData) == -1) {
                                    option.cols[0][i + 1]["hide"] = false;
                                }
                                //字体所在位置(å·¦ å±…中 å³)
                                switch (dataCols[2]) {
                                    case "L":
                                        option.cols[0][i + 1]["align"] = "left";
                                        break;
                                    case "M":
                                        option.cols[0][i + 1]["align"] = "center";
                                        break;
                                    case "R":
                                        option.cols[0][i + 1]["align"] = "right";
                                        break;
                                }
                            }
                            //取消冻结列
                            for (var i = 1; i < option.cols[0].length - 1; i++) {
                                if (option.cols[0][i]["fixed"] != null) {
                                    option.cols[0][i]["fixed"] = null;
                                }
                                else {
                                    break;
                                }
                            }
                            //冻结列
                            if (data1.data[0].HFixCols != 0) {
                                for (var i = 0; i < data1.data[0].HFixCols; i++) {
                                    if ($.inArray(option.cols[0][i + 1]["title"], titleData) != -1) {
                                        data1.data[0].HFixCols += 1;
                                    }
                                    option.cols[0][i + 1]["fixed"] = "left";
                                }
                            }
                            table.render(option);
                        } else {
                            table.render(option);
                        }
                    }, error: function () {
                        layer.alert("接口请求失败!", { icon: 5 });
                    }
                })
            }
            //#region æ‰“印
            function get_PrintReport() {
                var checkStatus = table.checkStatus('mainTable')
                    , data = checkStatus.data;
                if (checkStatus.data.length > 0) {
                    var sWhere_Temp = "";
                    var HBarCodeStrList = "";
                    for (var i = 0; i < checkStatus.data.length; i++) {
                        HBarCodeStrList += "''" + checkStatus.data[i]["条码"] + "'',";
                    }
                    if (HBarCodeStrList.length > 0) {
                        HBarCodeStrList = HBarCodeStrList.substring(0, HBarCodeStrList.length - 1);
                    }
                    sWhere_Temp += HInterID + ",'" + HBillType + "','" + HBillNo + "',' and æ¡ç  in (" + HBarCodeStrList + ")'";
                    layer.open({
                        type: 2
                        , area: ['50%', '50%']
                        , title: '打印模版选择'
                        , shade: 0.6 //遮罩透明度
                        , maxmin: false //允许全屏最小化
                        , anim: 0 //0-6的动画形式,-1不开启
                        , content: ['../BaseSet/SRM_OpenTmpList.html?sWhere=' + sWhere_Temp + '&MyMsg=' + sWhere_Temp + '&Type=Kf_BarCodeDetailQuery', 'yes']
                        , resize: false
                    })
                }
                else {
                    layer.msg('请选择数据打印!');
                }
            }
            //#endregion
            //#region ä¿å­˜
            function save() {
                var data_temp = option.data;
                for (var i = 0; i < data_temp.length; i++) {
                    data_temp[i]["HInterID"] = HInterID;
                    data_temp[i]["HBillNo"] = HBillNo;
                    data_temp[i]["HBillType"] = HBillType;
                    data_temp[i]["HBarCode"] = data_temp[i]["条码"];
                }
                if (!AllowLoadData(data_temp)) {
                    return;
                }
                var sSubStr = JSON.stringify(option.data);
                //拼接参数
                var sMainSub = sSubStr + ";" + sessionStorage["HUserName"];
                var index = layer.load();
                $.ajax({
                    type: "POST",
                    url: GetWEBURL() + "/Kf_ICStockInOutBill/Kf_BarCodeDetailQuery_saveData", //方法所在页面和方法名
                    async: true,
                    data: { "msg": sMainSub },
                    dataType: "json",
                    success: function (data) {
                        if (data.count == 1) { // è¯´æ˜ŽéªŒè¯æˆåŠŸäº†ï¼Œ
                            layer.msg(data.Message, { icon: 1 });
                            layer.close(index);
                        }
                        else {
                            layer.alert(data.Message, { icon: 5 });
                            layer.close(index);
                        }
                    },
                    error: function (err) {
                        layer.alert("错误:" + err, { icon: 5 });
                        layer.close(index);
                    }
                });
            }
            //#endregion
            //#region æ•°æ®æ ¡éªŒ
            function AllowLoadData(data) {
                //数值格式校验工具
                var ref = /^\d+(\.\d+)?$/;          //非负数正则表达式
                var temp = "";
                //#region å­è¡¨ æ•°æ®æ£€éªŒ
                for (var i = 0; i < data.length; i++) {
                    //重量格式校验
                    temp = option.data[i]["HMaterialJQty"] + "";
                    //if (temp == "0") {
                    //    layer.msg("第" + (i+1) + "行:重量_维护 ä¸èƒ½ä¸º0!");
                    //    return false;
                    //} else
                        if (!ref.test(temp)) {
                        layer.msg("第" + (i+1) + "行:重量_维护 è¯·è¾“入不小于0的数字!");
                        return false;
                    }
                    //实际克重格式校验
                    temp = option.data[i]["HWeight_CP"] + "";
                    //if (temp == "0") {
                    //    layer.msg("第" + (i + 1) + "行:实际克重_维护 ä¸èƒ½ä¸º0!");
                    //    return false;
                    //} else
                        if (!ref.test(temp)) {
                        layer.msg("第" + (i + 1) + "行:实际克重_维护 è¯·è¾“入不小于0的数字!");
                        return false;
                    }
                    //投料克重格式校验
                    temp = option.data[i]["HWeight_TL"] + "";
                    if (temp == "0") {
                        layer.msg("第" + (i + 1) + "行:投料克重_维护 ä¸èƒ½ä¸º0!");
                        return false;
                    } else if (!ref.test(temp)) {
                        layer.msg("第" + (i + 1) + "行:投料克重_维护 è¯·è¾“入大于0的数字!");
                        return false;
                    }
                }
                return true;
            }
            //#endregion
            //// é‡ç½®è¿‡æ»¤æ¡ä»¶
            //function set_ClearQuery() {
            //    //$("#HStartDate").val(Format(new Date(new Date() - 1000 * 60 * 60 * 24 * 30), "yyyy-MM-dd"));