/*** * 角色管理 * */ var table = $('#table1'); var jsid; $(function() { autosize($('textarea')); $('.tool_bars').authorizeButton(); laydate.render({ elem: '#sc_times', range: '~', theme: '#249fea', }); //左边表格 initTable(); //搜索功能 $('#sc_btns').click(function() { initTable() }) }); //========================添加功能开始========================= function btn_add() { $('.addModel').css('display', 'block'); } //关闭按钮 $('.addBtr').click(function() { $('.addModel').css('display', 'none'); }) //保存按钮 $('.addCun').click(function() { if ($('.add_jsz').val() == '') { $('.addJsz_kong').css('display', 'inline-block'); return; } if ($('#roleCode').val() == '') { $('.addJsc_kong').css('display', 'inline-block'); return; } if ($('#project_num').val() == '' || $('#project_num').val() == 0) { $('.addJsn_kong').css('display', 'inline-block'); return; } if ($.trim($('#project_num').val())) { var val = Number($.trim($('#project_num').val())); if (isNaN(val)) { layer.confirm('项目数量只能输入-1和1到6的正整数', { icon: 2, btn: ['确定'] //按钮 }); return; } if (val != -1 && !(val > 0 && val < 7)) { layer.confirm('项目数量只能输入-1和1到6的正整数', { icon: 2, btn: ['确定'] //按钮 }); return; } } if ($('#roleSort').val() == '') { $('.addJss_kong').css('display', 'inline-block'); return; } if (!regexs.phoneNum.test($.trim($('#roleSort').val()))) { layer.confirm('排序只能输入正整数', { icon: 2, btn: ['确定'] //按钮 }); return; } $('.addModel').css('display', 'none'); ad(); }); function ad() { $.ajax({ type: "post", url: huayi.config.callcenter_url + "configurationapi/api/roleinfo/add", async: true, dataType: 'json', data: { role_name: $('.add_jsz').val(), //角色名称 role_code: $('#roleCode').val(), //角色名称 project_num: $('#project_num').val(), //项目数量 sort: $('#roleSort').val(), //是 int 排序字段 role_remark: $('.add_bz').val(), //备注 }, success: function(data) { if (data.state.toLowerCase() == 'success') { layer.msg("添加成功!"); $('.add_jsz').val(''); //角色名称 $('#roleCode').val(''); //角色名称 $('#roleSort').val(''); //排序 $('.add_bz').val(''); //备注 table.bootstrapTable('refresh'); } } }); } //*************************添加功能结束========================= //========================修改功能开始========================= function btn_edit() { if (jsid) { $('.changeModel').css('display', 'block'); cg(jsid) } else { layer.confirm('请选择修改行!', { icon: 7, btn: ['确定'] }); return; } } //关闭按钮 $('.changeBtr').click(function() { $('.changeModel').css('display', 'none'); }) //保存按钮 $('.changeCun').click(function() { if ($('.change_jsz').val() == '') { $('.change_kong').css('display', 'inline-block'); return; } if ($('#roleCodeEdit').val() == '') { $('.changes_kong').css('display', 'inline-block'); return; } if ($('#project_numEdit').val() == '' || $('#project_numEdit').val() == 0) { $('.changesn_kong').css('display', 'inline-block') return; } if ($.trim($('#project_numEdit').val())) { var val = Number($.trim($('#project_numEdit').val())); if (isNaN(val)) { layer.confirm('项目数量只能输入-1和1到6的正整数', { icon: 2, btn: ['确定'] //按钮 }); return; } if (val != -1 && !(val > 0 && val < 7)) { layer.confirm('项目数量只能输入-1和1到6的正整数', { icon: 2, btn: ['确定'] //按钮 }); return; } } if ($('#roleSortEdit').val() == '') { $('.changess_kong').css('display', 'inline-block') return; } if (!regexs.phoneNum.test($.trim($('#roleSortEdit').val()))) { layer.confirm('排序只能输入正整数', { icon: 2, btn: ['确定'] //按钮 }); return; } $('.changeModel').css('display', 'none'); cc(jsid); }) function cg(jsid) { $.ajax({ type: "get", url: huayi.config.callcenter_url + "configurationapi/api/roleinfo/getdetailes", async: true, dataType: 'json', data: { id: jsid //角色id }, success: function(data) { var con = data.data; if (data.state.toLowerCase() == 'success') { $('.change_jsz').val(con.role_name); $('#roleCodeEdit').val(con.role_code); $('#project_numEdit').val(con.project_num); $('#roleSortEdit').val(con.sort); $('.change_bz').val(con.role_remark); } } }); } function cc(jsid) { $.ajax({ type: "post", url: huayi.config.callcenter_url + "configurationapi/api/roleinfo/update", async: true, dataType: 'json', data: { role_id: jsid, //角色id role_name: $('.change_jsz').val(), //角色名称 role_code: $('#roleCodeEdit').val(), //角色名称 project_num: $('#project_numEdit').val(), //项目数量 sort: $('#roleSortEdit').val(), //是 int 排序字段 role_remark: $('.change_bz').val() //备注 }, success: function(data) { if (data.state.toLowerCase() == 'success') { layer.msg("修改成功!"); $('.change_jsz').val(''); //角色名称 $('#roleCodeEdit').val(''); //角色名称 $('#project_numEdit').val(''); //项目数量 $('#roleSortEdit').val(''); //排序字段 $('.change_bz').val(''); //备注 table.bootstrapTable('refresh'); } } }); } //*************************修改功能结束========================= //========================删除功能开始========================= function btn_delete() { if (jsid) { if (jsid == '5aaa5a54b9c1893cb015df26') { layer.confirm('系统维护不能删除!', { icon: 7, btn: ['确定'] }); return; } layer.confirm('您确定要删除当前角色吗?', { icon: 7, btn: ['确定', '取消'], yes: function(index, layero) { $.ajax({ type: "post", url: huayi.config.callcenter_url + "configurationapi/api/roleinfo/delete", async: true, dataType: 'json', data: { ids: jsid //角色id }, success: function(data) { if (data.state.toLowerCase() == 'success') { layer.msg("删除成功!"); table.bootstrapTable('refresh'); } } }); }, }); } else { layer.confirm('请选择要删除的角色!', { icon: 7, btn: ['确定'] }); return; } } //*************************删除功能结束========================= //右边树形结构 tree(jsid); function tree(jid) { $.get(huayi.config.callcenter_url + "configurationapi/api/rolefunction/getrolefunction", { role_id: jid }, function(result) { result = $.parseJSON(result); $(result.data).each(function(i, n) { if (n.ischecked == true) { n.checked = "true"; } }) $.fn.zTree.init($("#treeDemo"), setting1, result.data); //实例化树形图 }); } var setting1 = { check: { enable: true, chkboxType: { "Y": "ps", //勾选 关联父,关联子 "N": "s" //取消勾选 不关联父,关联子 }, }, data: { simpleData: { enable: true, idKey: "id", pIdKey: "pid", rootPId: 0 } }, callback: { onCheck: zTreeOnClick } }; function zTreeOnClick(event, treeId, treeNode) { var name = treeNode.name; }; //保存权限 function pro(app, jsid) { $.ajax({ type: "post", url: huayi.config.callcenter_url + "configurationapi/api/rolefunction/saverolefunction", async: true, dataType: 'json', data: { role_id: jsid, //角色id ids: app // 选中权限树的id值 }, success: function(data) { if (data.state.toLowerCase() == 'success') { layer.confirm('保存权限成功!', { icon: 1, btn: ['确定'] }); return; } } }); } function btn_save() { var app = []; var ztree = $.fn.zTree.getZTreeObj("treeDemo").getCheckedNodes(true); $.each(ztree, function(i, n) { app.push(n.id); }); if (jsid) { pro(app, jsid); } else { layer.confirm('请选择用户角色!', { icon: 7, btn: ['确定'] }); return; } } function initTable() { //先销毁表格 table.bootstrapTable('destroy'); //初始化表格,动态从服务器加载数据 table.bootstrapTable({ method: "get", //使用get请求到服务器获取数据 url: huayi.config.callcenter_url + "configurationapi/api/roleinfo/getlistbypage", //获取数据的Servlet地址 contentType: "application/x-www-form-urlencoded", striped: true, striped: true, //表格显示条纹 pagination: true, //启动分页 pageSize: 10, //每页显示的记录数 pageNumber: 1, //当前第几页 pageList: [10, 15, 20, 30, 50, 100], //记录数可选列表 search: false, //是否启用查询 showColumns: false, //显示下拉框勾选要显示的列 showRefresh: false, //显示刷新按钮 sidePagination: "server", //表示服务端请求 //设置为undefined可以获取pageNumber,pageSize,searchText,sortName,sortOrder //设置为limit可以获取limit, offset, search, sort, order queryParamsType: "undefined", queryParams: function queryParams(params) { //设置查询参数 var param = { pageindex: params.pageNumber, pagesize: params.pageSize, stime: $('#sc_times').val() && $('#sc_times').val().split(' ~ ')[0], //否 datetime 起始时间 etime: $('#sc_times').val() && $('#sc_times').val().split(' ~ ')[1], //否 datetime 结束时间 keyword: $('#searJsz').val(), //角色名称 }; return param; }, onLoadSuccess: function() { //加载成功时执行 //layer.msg("加载成功"); }, onLoadError: function() { //加载失败时执行 //layer.msg("加载数据失败", { time: 1500, icon: 2 }); } }); } /*选中行添加背景颜色*/ table.on("click-row.bs.table", function(e, row, ele) { $('.success').removeClass('success'); //去除之前选中的行的,选中样式 $(ele).addClass('success'); //添加当前选中的 success样式用于区别 jsid = row.id; tree(jsid); }); function setCode(val, row, index) { var page = table.bootstrapTable("getPageCode"); return page.pageSize * (page.pageNumber - 1) + index + 1; }