1
yusijie
2024-05-06 62f346794d27086f41f7ce901bdd11eead5249c8
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="set_HideColumn"><i class="layui-icon layui-icon-form"></i>列设置</button>
                            </div>
                        </script>
                    </form>
@@ -129,27 +130,42 @@
                , laypage = layui.laypage
                , laydate = layui.laydate
                , util = layui.util
            var resultTableHead = []; //获取列表头字段自定义列数组
            //获取传递的参数
            var params = get_UrlVars();
            var HInterID = params.HInterID;      //单据内码
            var HBillType = params.HBillType;     //单据类型
            var HInterID = params.HInterID;                                       //单据内码
            var HBillType = params.HBillType;                                     //单据类型
            var HBillNo = params.HBillNo;       //单据号
            var sWhere = HInterID + ",'" + HBillType + "','" + HBillNo + "'";     //拼接传递的参数
            //表格渲染参数
            var col = [];
            var option = [];
            //模块名称
            var HModName = "Kf_BarCodeDetailQuery";
            //#endregion
            //#region è¿›å…¥é¡µé¢åŠ è½½
            //初始化表单插件
            set_InitFrom();
            //初始化界面
            set_ClearBill(sWhere);
            //#endregion
            //#region è§¦å‘事件:包括form.on(){}格式的所有点击事件、选择事件等
            //头工具栏事件
            table.on('toolbar(mainTable)', function (obj) {
                var checkStatus = table.checkStatus(obj.config.id);
                switch (obj.event) {
                    //列设置
                    case 'set_HideColumn': get_HideColumn();
                        break;
                    case 'btn-view':
                        break;
                    case 'btn-print':
                        break;
                };
            });
            //// æŸ¥è¯¢æŒ‰é’®
            //form.on('submit(btnSearch)', function (data) {
            //    /*get_FastQuery();*/
@@ -199,59 +215,23 @@
                        $("#HBillType").val("委外加工出库单");
                        break;
                }
                resultTableHead = []; //清空表头列,防止重复渲染
                //初始查询
                //初始化表格渲染参数
                set_InitGrid();
                //为表格渲染参数赋值数据并进行渲染
                get_Display(sWhere);
            }
            // åˆå§‹åŒ–表单
            function set_InitFrom() {
                //laydate.render({
                //    elem: '#HStartDate'
                //});
                //laydate.render({
                //    elem: '#HEndDate'
                //});
                //$("#HStartDate").val(Format(new Date(new Date() - 1000 * 60 * 60 * 24 * 30), "yyyy-MM-dd"));
                //$("#HEndDate").val(Format(new Date(), "yyyy-MM-dd"));
                //隐藏勾选字段
                DisPlay_HideColumn();
            }
            //region åˆå§‹åŒ–表格方法
            function set_InitGrid(sWhere) {
                //填充表格头数组
                var data = resultTableHead;
                cols_arr[0] = [];
                cols_arr[0][0] = { checkbox: true, fixed: true, totalRowText: '合计' };
                for (var i = 0; i < data.length; i++) {
                    if (data[i].name == 'HItemID') {
                        cols_arr[0][i + 1] = { field: data[i].id, title: data[i].name, align: 'center', hide: true }; //隐藏id列
                    }
                    else {
                        switch (data[i].name) {
                            //int
                            case '数量':
                                cols_arr[0][i + 1] = { field: data[i].id, title: data[i].name, align: 'center', totalRow: true, sort: true };
                                break;
                            //Decimal
                            //case 'Decimal':
                            //    cols_arr[0][i + 1] = { field: data[i].id, title: data[i].name, align: 'center', totalRow: true, sort: true };
                            //    break;
                            default:
                                cols_arr[0][i + 1] = { field: data[i].id, title: data[i].name, align: 'center', sort: true };
                        }
                    }
                }
            function set_InitGrid() {
                //填充表格数据
                table.render({
                option = {
                    elem: '#mainTable',
                    url: GetWEBURL() + '/Kf_ICStockInOutBill/Kf_BarCodeDetailQuery',
                    toolbar: '#toolbarDemo', //开启头部工具栏,并为其绑定左侧模板
                    title: '出入口单据条码明细',
                    cols: cols_arr,    //填充表格头数据,
                    title: '单据条码明细',
                    cols: [[]],    //填充表格头数据,
                    id: 'mainTable', //表格id
                    where: { "sWhere": sWhere }, //扩展参数,可以传数据到后台
                    page: false,   //关闭分页
                    totalRow: true, //开启合计
                    limit: 50,     //一页能够显示的最大数目
@@ -271,10 +251,8 @@
                    done: function (res) {   //返回数据执行回调函数
                        layer.close(layer.index);    //返回数据关闭loading
                    }
                });
                sWhere = {};
                };
            }
            //进入页面显示的缓存列表
            function get_Display(sWhere) {
@@ -288,16 +266,150 @@
                    async: false,
                    dataType: "json",//数据类型可以为 text xml json  script  jsonp
                    success: function (data1) {
                        //获取表格列表表头的数组
                        col[0] = { checkbox: true, fixed: true, totalRowText: '合计' };
                        for (var key in data1.list) {
                            resultTableHead.push({ "id": data1.list[key].ColmCols, "name": data1.list[key].ColmCols, "Type": data1.list[key].ColmType });
                            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 {
                                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 };
                                        break;
                                    default:
                                        col[1 + parseInt(key)] = { field: data1.list[key].ColmCols, title: data1.list[key].ColmCols, width: 200, sort: true };
                                }
                            }
                        }
                        set_InitGrid(sWhere);
                        //为表格渲染的参数设定值
                        option.cols = [col];
                        option.data = data1.data;
                        table.render(option);
                    }, error: function (err) {
                        layer.alert(err.Message, { icon: 5 });
                    }
                });
            }
            //隐藏列设置
            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++) {
                                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 });
                    }
                })
            }
            //// é‡ç½®è¿‡æ»¤æ¡ä»¶
            //function set_ClearQuery() {
            //    //$("#HStartDate").val(Format(new Date(new Date() - 1000 * 60 * 60 * 24 * 30), "yyyy-MM-dd"));