@{ ViewData["Title"] = "角色功能管理"; Layout = "~/Views/Shared/_AMESLayout.cshtml"; } <style type="text/css"> .layui-table-main .layui-table-cell { /*height: auto !important;*/ white-space: normal; } .layui-table img { max-width: 60px; max-height: 28px; } .layui-tree-main { cursor: pointer; padding-right: 10px; float: left; border-width: 1px; border-style: solid; border-color: #e6e6e6; margin: 10px 0; } </style> <div class="layui-card"> <div class="layui-card-header"> <div class="layui-form"> <div class="layui-form-item "> <div class="layui-inline"><i class="fa fa-file-text-o fa-fw"></i> @ViewBag.Title</div> </div> <div class="layui-form-item layui-layout-left"> <div class="layui-inline"> <label class="layui-form-label">請選擇角色</label> <div class="layui-form-item layui-layout-left" style="width:300px;"> <select id="role" lay-filter="role" lay-verify="required" lay-submit asp-items="@ViewBag.RoleList"> <option value="0">全部</option> </select> </div> <input id="roleId" type="hidden" name="roleId" value="0" /> </div> </div> <div class="layui-form-item layui-layout-right"> <div class="layui-inline layui-show-xs-block"> <button class="layui-btn layui-btn-sm layui-btn-normal" lay-submit lay-filter="querysubmit"> <i class="layui-icon layui-icon-sm"></i> </button> </div> </div> </div> </div> <div class="layui-card-body"> <table class="layui-hide" id="test" lay-filter="test"></table> </div> </div> @section Scripts{ <script type="text/javascript"> layui.use(['form', 'layer'], function () { form = layui.form; form.on('select(role)', function (data) { $("#roleId").val(data.value); var qs = $('button[lay-filter="querysubmit"]'); qs.click(); hg.msghide("刷新数据!"); table && table.reload(); }); }); //监听表单提交事件 hg.form.onsubmit('querysubmit', function (data) { hg.msghide("重新加载数据.."); table && table.reload(data); }); var tableCols = [[ { type: 'checkbox' }, { field: 'roleProgramID', width: 80, title: '编号', sort: true }, { field: 'programID', title: '功能编号', width: 200, sort: true }, { field: 'program', title: '功能代码', width: 200, sort: true, templet: function (d) { return d.program['programNo']; } }, { field: 'module', title: '功能名稱', width: 200, sort: true, templet: function (d) { return d.program['programName']; } }, { field: 'enableFlag', title: '启用状态', sort: true }, { field: 'right', width: 160, title: '操作', fixed: 'right', templet: function (d) { return '<a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="edit">编辑</a> <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>' } }] ]; //通过行tool编辑,lay-event="edit" function edit(obj) { if (obj.data.roleProgramID) { hg.open('修改角色功能', '/SYS/SYS006U/' + obj.data.roleProgramID, 600, 400); } } //通过行tool删除,lay-event="del" function del(obj) { if (obj.data.roleProgramID) { hg.confirm("角色功能:" + obj.data.roleProgramID + ",确定要删除吗?", function () { $.ajax({ url: '/SYS/SYS006D', data: { id: obj.data.roleProgramID }, type: 'POST', success: function (data) { if (data.success) { obj.del(); //只删本地数据 hg.msghide("删除成功!"); } else { hg.msg(data.msg); } }, error: function () { hg.msg("网络请求失败!"); } }); }); } } var toolbar = [{ text: '删除', layuiicon: '', class: 'layui-btn-danger', handler: function (obj, row) { if (obj.checkstatus && obj.checkstatus.data.length > 0) { console.log(obj.checkstatus.data.map(function (x) { return x.roleProgramID }).join(',')) hg.confirm("批量删除所有选中的数据,确定要删除吗?", function () { $.ajax({ url: '/SYS/SYS006DAll', data: { ids: obj.checkstatus.data.map(function (x) { return x.roleProgramID }) }, type: 'POST', success: function (data) { if (data.success) { hg.msg('批量删除成功!'); //重载表格数据 table && table.reload(); } else { //hg.msg(data.msg); hg.msg('批量删除失败!'); } }, error: function () { hg.msg("网络请求失败!"); } }); }); } else { hg.msg('请选中一个或多个复选框,再操作!'); } } }, { text: '添加', layuiicon: '', class: 'layui-btn-normal', handler: function () { var id = roleId.value; hg.open('添加角色功能', '/SYS/SYS006C/' + id, 600, 400); } } ]; //基本数据表格 var table = hg.table.datatable('test', '角色功能管理', '/SYS/GetRoleProgramsByRole/' + roleId.value, {}, tableCols, toolbar, true, 'full-100', ['filter', 'print', 'exports']); </script> }