@{
    ViewBag.Title = "权限组设置";
    Layout = "~/Views/Shared/_LayoutTable.cshtml";
}
<body>
    <div class="container-fluid">
        <div class="row-fluid">
            <div class="col-md-6">
                <button id="btnNewGroupRights" class="btn btn-default"><i class="glyphicon glyphicon-plus"></i> 新增权限组</button>
                <table id="GroupRightsTable"></table>
            </div>
            <div class="col-md-6">
                <div id="toolbar">
                    <span>权限组（<span id="codeName" style="color:red"></span>）</span>
                    <button id="btnSelectRights" class="btn btn-default"><i class="glyphicon glyphicon-th-list"></i> 选择权限</button>
                </div>
                <table id="SelectRightsTable"></table>
            </div>
        </div>
    </div>
    <input type="hidden" id="limitId" />
    <script type="text/javascript">
    /*绑定权限组*/
    function BindGroupRightsTable() {
        $('#GroupRightsTable').bootstrapTable({
            url: '../WLTManage/GetRightsGroup',         //请求后台的URL（*）
            method: 'post',                      //请求方式（*）
            toolbar: '#btnNewGroupRights',                //工具按钮用哪个容器
            striped: true,                      //是否显示行间隔色
            pagination: true,                   //是否显示分页（*）
            sortOrder: "asc",                   //排序方式
            sidePagination: "server",           //分页方式：client客户端分页，server服务端分页（*）
            pageNumber: 1,                       //初始化加载第一页，默认第一页
            pageSize: 15,                       //每页的记录行数（*）
            pageList: [15, 30, 50],        //可供选择的每页的行数（*）
            minimumCountColumns: 2,  //最少允许的列数
            height: $(window).height() - 100,
            uniqueId: "btypeid",            //每一行的唯一标识，一般为主键列
            clickToSelect: true,              //是否启用点击选中行
            sortable: true,                     //是否启用排序
            silentSort: true,
            cache: false,                       //是否使用缓存，默认为true，所以一般情况下需要设置一下这个属性（*）
            search: false,                       //是否显示表格搜索，此搜索是客户端搜索，不会进服务端，所以，个人感觉意义不大
            strictSearch: false,
            paginationFirstText: '首页',
            paginationLastText: '末页',
            paginationPreText: '上一页',
            paginationNextText: '下一页',
            showColumns: false,            //是否显示所有的列
            showRefresh: false,              //是否显示刷新按钮
            showToggle: false,                     //是否显示详细视图和列表视图的切换按钮
             cardView: false,                    //是否显示详细视图
            detailView: false,                   //是否显示父子表
            queryParams: function (params) {
                return {
                    pagesize: params.limit,//页面大小
                    page: params.offset, //页码
                };
            },//传递参数（*）
            columns: [
                {
                    field: "index", title: "序号", align: "center", width: 50, edit: false, formatter: function (value, row, index) {
                        return row.index = index + 1; //返回行号
                    }
                },
                { field: 'LimitCode', title: '编号' },
                {
                    field: 'LimitName', title: '权限组名称', width:200, formatter: function (value, row, index) {
                        return "<a href='#'>" + value + "</a>";
                    }
                },
                {
                    field: 'Edit', title: '编辑', width: 100, align: "center", formatter: function (value, row, index) {
                        return "<button class='btn btn-sm'><i class='glyphicon glyphicon-edit'></i> 编辑</button>"
                    }
                },
                {
                    field: 'del', title: '操作', width: 100, align: "center", formatter: function (value, row, index) {
                        return "<button class='btn btn-sm' ><i class='glyphicon glyphicon-trash'></i> 删除</button>"
                    }
                }
            ],
            onClickCell: function (field, value, row, e) {
                if (field == "LimitName") {
                    $("#codeName").text(row["LimitName"]);
                    $("#limitId").val(row["Id"]);
                    $('#SelectRightsTable').bootstrapTable("refresh", {
                        url: '../WLTManage/GetLimitGroupSet?LimitId=' + row["Id"]
                    })
                } else if (field == "Edit") {
                    layer.confirm('<table class="table table-bordered table-striped table-hover">'
                        + '<tr><td>权限组编号:</td><td><input id="txtLimitCode" type="text"   maxlength ="18"  value="' + row["LimitCode"] + '" /></td></tr>'
                           + '<tr><td>权限组名称:</td><td><input id="txtLimitName" type="text"    maxlength ="18"  value="' + row["LimitName"] + '" /></td></tr>'
                            + '<tr><td>备注：</td><td><input id="txtComment" type="text"   value="' + row["Comment"] + '" /></td></tr>'
                        + '</table>', { title: '编辑权限组'}, function (index) {
                            var limitCode = $("#txtLimitCode").val();
                            var limitName = $("#txtLimitName").val();
                            var comment = $("#txtComment").val();
                            if (limitCode == row["LimitCode"] && limitName == row["LimitName"] && comment == row["Comment"]) { layer.close(index); return; }
                            $.ajax({
                                url: "../WLTManage/EditLimitGroup",
                                data: {
                                    LimitId: row["Id"],
                                    limitCode: limitCode,
                                    limitName: limitName,
                                    comment: comment
                                },
                                datatype: "text",
                                type: "post",
                                success: function (data) {
                                    if (data == "ok") {
                                        layer.msg("权限组修改成功", { icon: 1, time: 2000 });
                                        $('#GroupRightsTable').bootstrapTable("refresh");
                                        if (row["Id"] == $("#limitId").val()) {
                                            $("#codeName").text(limitName);
                                        }
                                        layer.close(index);
                                    } else if (data == "exist") {
                                        layer.msg("权限组编号或权限组名称已存在", { icon: 2, time: 2000 });
                                    } else {
                                        layer.msg("权限组修改失败", { icon: 2, time: 2000 });
                                        layer.close(index);
                                    }
                                }, error: function () {
                                    layer.msg("权限组保存失败", { icon: 2, time: 2000 });
                                    layer.close(index);
                                }
                            })
                        })
                } else if (field == "del") {
                    layer.confirm("确定删除？", { title: '删除', icon: 2 }, function (index) {
                        var limitId = row["Id"];
                        $.ajax({
                            url: "../WLTManage/DelLimitGroup",
                            data: {
                                limitId: limitId
                            },
                            datatype: "text",
                            type: "post",
                            success: function (data) {
                                if (data == "ok") {
                                    $('#GroupRightsTable').bootstrapTable("refresh");
                                    if (limitId == $("#limitId").val()) {
                                        $("#codeName").text("");
                                        $('#SelectRightsTable').bootstrapTable("refresh");
                                    }
                                    layer.close(index);
                                }
                            },
                            error: function () {

                            }
                        })

                    })
                }
            }
        });
    }
    /*绑定权限列表*/
    function BindSelectRightsTable() {
        $('#SelectRightsTable').bootstrapTable({
            url: '../WLTManage/GetLimitGroupSet',         //请求后台的URL（*）
            method: 'post',                      //请求方式（*）
            toolbar: '#toolbar',                //工具按钮用哪个容器
            striped: true,                      //是否显示行间隔色
            pagination: true,                   //是否显示分页（*）
            sortOrder: "asc",                   //排序方式
            sidePagination: "server",           //分页方式：client客户端分页，server服务端分页（*）
            pageNumber: 1,                       //初始化加载第一页，默认第一页
            pageSize: 15,                       //每页的记录行数（*）
            pageList: [15, 30, 50],        //可供选择的每页的行数（*）
            minimumCountColumns: 2,  //最少允许的列数
            height: $(window).height() - 100,
            uniqueId: "btypeid",            //每一行的唯一标识，一般为主键列
            clickToSelect: true,              //是否启用点击选中行
            sortable: true,                     //是否启用排序
            silentSort: true,
            cache: false,                       //是否使用缓存，默认为true，所以一般情况下需要设置一下这个属性（*）
            search: false,                       //是否显示表格搜索，此搜索是客户端搜索，不会进服务端，所以，个人感觉意义不大
            strictSearch: false,
            paginationFirstText: '首页',
            paginationLastText: '末页',
            paginationPreText: '上一页',
            paginationNextText: '下一页',
            showColumns: false,            //是否显示所有的列
            showRefresh: false,              //是否显示刷新按钮
            showToggle: false,                     //是否显示详细视图和列表视图的切换按钮
             cardView: false,                    //是否显示详细视图
            detailView: false,                   //是否显示父子表
            queryParams: function (params) {
                return {
                    pagesize: params.limit,//页面大小
                    page: params.offset, //页码
                };
            },
            columns: [
                {
                    field: "index", title: "序号", align: "center", width: 50, edit: false, formatter: function (value, row, index) {
                        return row.index = index + 1; //返回行号
                    }
                },
                { field: 'LimitName', title: '权限' },
                {
                    field: 'cz', title: '操作', width: 100, formatter: function (value, row, index) {
                        return "<button class='btn btn-sm'><i class='glyphicon glyphicon-trash'></i> 删除</button>";
                    }
                }
            ],
            onClickCell: function (field, value, row, e) {
                if (field == "cz") {
                    $.ajax({
                        url: "../WLTManage/UpdateLimitGroupSet",
                        data: {
                            LimitValue: "0",
                            LimitId: row["LimitId"],
                            Sort: row["Sort"],
                            LimitType: row["LimitType"]
                        },
                        datatype: "text",
                        type: "post",
                        error: function () {
                            layer.mag("操作失败", { cion: 2, time: 2000 });
                        }, success: function (data) {
                            if (data == "ok") {
                                layer.msg("删除成功", { time: 1500 });
                                $('#SelectRightsTable').bootstrapTable("refresh")
                            }
                        }
                    })
                }
            }
        });

    }
    $(function () {
        BindSelectRightsTable();
        BindGroupRightsTable();
        $(window).resize(function () {
            $('#GroupRightsTable').bootstrapTable('resetView');
            $('#SelectRightsTable').bootstrapTable('resetView');
        });
        //新增权限组按钮
        $("#btnNewGroupRights").on("click", function () {
            layer.open({
                type: 2,
                title: '<i class="fa fa-plus"></i> 权限组新增',
                shadeClose: false,
                shade: 0.5,
                area: ['60%', '400px'],
                content: '../WLTManage/NewGroupUserRights'
            });
        })
        //选择权限按钮
        $("#btnSelectRights").on("click", function () {
            if (!$("#codeName").text().trim()) {
                layer.msg("选择权限组", { icon: 2, time: 2000 });
                return;
            }
            layer.open({
                type: 2,
                title: '选择权限',
                shadeClose: false,
                shade: 0.5,
                area: ['80%', '90%'],
                content: '../WLTManage/SelectGroupUserRights',
                cancel: function (index) {
                    $('#SelectRightsTable').bootstrapTable("refresh", {
                        url: '../WLTManage/GetLimitGroupSet?LimitId=' + $("#limitId").val()
                    })
                }
            });
        })
    });
    </script>
</body>