智云srmLayUi(安瑞和瑞琪)(通用版本)
WebSRM/layuiAdmin.std-v1.2.1/src/views/SRM/SRM_BarCodeBillList.html
@@ -118,6 +118,7 @@
                            <!--<button type="button" class="layui-btn layui-btn-sm" lay-event="btn-confirm"><i class="layui-icon layui-icon-ok-circle"></i>确认</button>
                            <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-back"><i class="layui-icon layui-icon-close-fill"></i>驳回</button>
                            <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-details"><i class="layui-icon layui-icon-form"></i>详情</button>-->
                              <button type="button" class="layui-btn layui-btn-sm" id="btn_HideColumn" lay-event="btn-HideColumn"><i class="layui-icon layui-icon-return"></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-Delete"><i class="layui-icon layui-icon-delete"></i>删除</button>
                            <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-exit"><i class="layui-icon layui-icon-return"></i>退出</button>
@@ -190,6 +191,11 @@
                , table = layui.table
                , form = layui.form
                , element = layui.element;
            //不需要显示的字段 可扩展
            var titleData = ["HItemID", "HParentID", "单据号", "日期", "数量", "状态", "单位", "金额"];
            var HModName = "SRM_BarCodeBillList";
            var option = [];
            //常规用法
            laydate.render({
                elem: '#HDate1'
@@ -212,7 +218,8 @@
                // , where: { msg: "", NowPage: 1, OnePage: 10 }
                , cellMinWidth: 100
                , cols: [[
                    { checkbox: true/*, fixed: true*/ }
                    { type: 'checkbox', fixed: 'left', totalRowText: '合计' }
                    //{ checkbox: true/*, fixed: true*/ }
                    , { field: 'sorderid', title: '序号', width: 80/*, fixed: true*/ }
                    , { field: 'HItemID', title: '主键', width: 100, hide: true }
                    , { field: '状态', title: '状态', width: 100, sort: true/*, fixed: true*/ }
@@ -306,7 +313,7 @@
                                , shade: 0.6 //遮罩透明度
                                , maxmin: false //允许全屏最小化
                                , anim: 0 //0-6的动画形式,-1不开启
                                , content: ['../../views/BaseSet/SRM_OpenTmpList.html?linterid=' + sessionStorage["HUserName"] + '&HBarcode=&Type=SRM_POOrderBillList', 'yes']// 安瑞 type ='SRM_POOrderBillList' 原type = 'HBarCodePrint'
                                , content: ['../../views/BaseSet/SRM_OpenTmpList.html?linterid=' + sessionStorage["linterid"] + '&HBarcode=&Type=SRM_POOrderBillList', 'yes']// 安瑞 type ='SRM_POOrderBillList' 原type = 'HBarCodePrint'
                                , resize: false
                            })
                        }
@@ -351,35 +358,112 @@
                                }
                            });
                        })
                        break;
                    case 'btn-HideColumn':
                        get_HideColumn();
                        break;
                    case 'btn-exit':
                        parent.layui.admin.events.closeThisTabs();
                        break;
                };
            });
            //行监听事件
            table.on('row(mainTable)', function (obj) {
                var flag = !obj.tr.find(':checkbox:first').prop('checked');
                obj.tr.find(':checkbox').prop('checked', flag);
                if (flag) {
                    obj.tr.find('.layui-form-checkbox').addClass('layui-form-checked');  //设置复选框选中样式
                    $(obj.tr.selector).attr({ "style": "background:#ceedfa;color:black" });//改变当前tr背景颜色和字体颜色
                } else {
                    obj.tr.find('.layui-form-checkbox').removeClass('layui-form-checked');//取消复选框选中样式
                    $(obj.tr.selector).attr({ "style": "background:" });//取消当前tr颜色
                }
                //mainTable 为表格ID   注意此处如果ID不正确将导致你在监听复选框时获取不到你选择的数据,前面的只是添加或删除选中未选中样式以及设置背景色,字体颜色
                layui.each(table.cache.mainTable, function (i, l) {
                    if (obj.tr.index() == l.LAY_TABLE_INDEX) {
                        l.LAY_CHECKED = flag;
                    }
                });
            });
            ///加载显示数据
            function RoadHBillNo(sqlWhere) {
                var wait = layer.load();//遮罩
                where = sqlWhere;
                $.ajax({
                    type: "POST",
                    url: GetWEBURL() + "GetBarCodeShowList",
                    async: true,
                    data: { "HSupNo": sessionStorage["HUserName"], "sqlWhere": sqlWhere },
                    success: function (result) {
                        ajaxReturnData = JSON.parse(JSON.stringify(result)).data;
                        table.reload('mainTable', {
                            data: ajaxReturnData
                            , height: 'full-10'
                            , page: {
                                curr: _cur_page //必须从第 1 页开始
                            }
                            , loading: false
                            , done: function (index, res) {
                    success: function (data1) {
                        //ajaxReturnData = JSON.parse(JSON.stringify(result)).data;
                        //table.reload('mainTable', {
                        //    data: ajaxReturnData
                        //    , height: 'full-10'
                        //    , page: {
                        //        curr: _cur_page //必须从第 1 页开始
                        //    }
                        //    , loading: false
                        //    , done: function (index, res) {
                        //    }
                        //});
                        if (data1.Message == "获取成功") {
                            var data = [];
                            var col = [];
                            //给空的数组赋值
                            for (var key in data1.list) {
                                data.push({ "id": data1.list[key].ColmCols, "name": data1.list[key].ColmCols, "Type": data1.list[key].ColmType });
                            }
                        });
                            //在列表左边添加勾选框
                            col.push({ type: 'checkbox', fixed: 'left', totalRowText: '合计' });
                            for (var i = 0; i < data.length; i++) {
                                // if (data[i].name == 'HInterID' || data[i].name == 'HBillType' || data[i].name == 'hmainid') {
                                if ($.inArray(data[i].name, titleData) > -1) {
                                    col.push({ field: data[i].id, title: data[i].name, align: 'center', hide: true }); //隐藏id列
                                }
                                else if (data[i].name.indexOf('id') > -1) {
                                    col.push({ field: data[i].id, title: data[i].name, align: 'center', hide: true }); //id列
                                }
                                else {
                                    switch (data[i].Type) {
                                        //int
                                        case 'DateTime':
                                            col.push({ field: data[i].id, title: data[i].name, align: 'center', sort: true, templet: "<div>{{d." + data[i].name + " ==null ?'':layui.util.toDateString(d." + data[i].name + ", 'yyyy-MM-dd')}}</div>", width: 200 });
                                            break;
                                        default:
                                            if (data[i].name == '订单数量' || data[i].name == '已发货数量' || data[i].name == '未发货数量') {
                                                col.push({ field: data[i].id, title: data[i].name, align: 'center', sort: true, width: 200, totalRow: true });
                                            } else if (data[i].name == '供应商交期回复') {
                                                col.push({ field: data[i].id, title: data[i].name, align: 'center', sort: true, width: 200, event: 'HSupSendGoodsDateRemark' });
                                            } else {
                                                col.push({ field: data[i].id, title: data[i].name, align: 'center', sort: true, width: 200 });
                                            }
                                    }
                                }
                            }
                            //动态显示列名
                            option = {
                                elem: '#mainTable'
                                , toolbar: '#toolbarDemo'
                                , cols: [col]
                                , data: data1.data
                                , height: 'full-80'
                                , totalRow: true
                                , page: true
                                , cellMinWidth: 90
                                , limit: 500
                                , limits: [50, 500, 5000, 20000]
                            }
                            table.render(option);
                            //刷新表格数据
                            DisPlay_HideColumn();
                            layer.close(wait);
                        } else {
                            layer.close(wait);
                            layer.alert(data1.Message, { icon: 5 });
                        }
                    },
                    error: function (result) {
                        console.log(result);
@@ -426,6 +510,115 @@
                var type = $(this).data('type');
                active[type] ? active[type].call(this) : '';
            });
            //隐藏列设置
            function get_HideColumn() {
                var colName = "";
                for (var i = 1; i < option.cols[0].length - 1; i++) {
                    colName += option.cols[0][i]["title"] + ",";
                }
                colName = encodeURI(colName.substring(0, colName.length - 1));//对 URI 进行编码
                layer.open({
                    type: 2
                    , skin: "layui-layer-rim" //加上边框
                    , title: "隐藏列设置"  //标题
                    , closeBtn: 1  //窗体右上角关闭 的 样式
                    , shift: 2 //弹出动画
                    , area: ["50%", "90%"] //窗体大小
                    , maxmin: true //设置最大最小按钮是否显示
                    , content: ['../基础资料/隐藏列设置/Gy_GridView_Hide.html?HModName=' + HModName + '&colName=' + colName, "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 = [];//数据库查询出的列数据
                            dataCol = data1.data[0].HGridString.split(',');
                            for (var i = 0; i < dataCol.length; i++) {
                                var dataCols = dataCol[i].split('|');
                                //隐藏列
                                if (dataCols[1] == 1) {
                                    option.cols[0][i + 1]["hide"] = true;
                                }
                                //显示列
                                if (dataCols[1] == 0 && $.inArray(option.cols[0][i + 1]["title"], titleData) == -1) {
                                    option.cols[0][i + 1]["hide"] = false;
                                }
                                //隐藏id
                                //设置列宽
                                if (dataCols[3] > 0) {
                                    if (option.cols[0][i + 1]["field"] == '供应商交期回复') {
                                        option.cols[0][i + 1]["width"] = 120;
                                    } else {
                                        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"] = "";
                                //}
                                //字体所在位置(左 居中 右)
                                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 });
                    }
                })
            }
        });
    </script>
</body>