123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311 |
- ;
- layui.config({
- base: "../../../admin/js/layuiPlugins/"
- }).use(['form', 'layer', 'jquery', 'laypage', 'element', 'table', 'laydate', 'cascade', 'step', 'eleTree', 'laytpl'], function () {
- var form = layui.form,
- layer = layui.layer,
- laypage = layui.laypage,
- $ = layui.jquery,
- table = layui.table,
- element = layui.element,
- laydate = layui.laydate,
- laytpl = layui.laytpl,
- eleTree = layui.eleTree;
- cascade = layui.cascade;
- //自定义验证
- form.verify({
- namelength: [
- /^.{0,18}$/,
- "长度限制在0-18个字符噢"
- ]
- });
- var obj = {
- roleId: ''
- }
- obj.main = function () {
- var _this = this;
- _this.getRole();
- if(!layui.data('auth').data.add){
- $('#addRole').hide();
- }
- }
- obj.getRole = function () {
- var _this = this;
- $.ajax({
- type: "get",
- url: 'roleListUrl',
- success: function (data) {
- if (data.code === 0) {
- var getTpl = roleTpl.innerHTML, view = document.getElementById('roleInfo');
- laytpl(getTpl).render(data, function (html) {
- view.innerHTML = html;
-
- });
- } else {
- parent.layer.msg(res.msg, {
- icon: 1
- });
- }
- }
- });
- }
- function getMenu(id, data, open) {
- eleTree.render({
- elem: '#system' + id,
- data: data,
- showCheckbox: true,
- drag: false,
- accordion: false,
- showIcon: true,
- menuShow: true,
- open: open,
- });
- }
- function getSystem(roleId) {
- $.ajax({
- type: "get",
- url: 'menuListUrl?roleId=' + roleId,
- success: function (data) {
- if (data.code === 0) {
- var getTpl = systemTpl.innerHTML, view = document.getElementById('systemInfo');
- laytpl(getTpl).render(data, function (html) {
- view.innerHTML = html;
- });
- for (let i = 0; i < data.data.length; i++) {
- getMenu(data.data[i].sysId, data.data[i].list, data.data[i].open)
- form.render();
- }
- } else {
- parent.layer.msg(res.msg, {
- icon: 1
- });
- }
- }
- });
- }
- // 点击角色获取菜单权限
- $('#roleInfo').on('click', '.li-item', function () {
- let roleId = $(this).attr('roleId');
- $(this).addClass('active').siblings().removeClass('active');
- obj.roleId = roleId
- if ($(this).children('.role-forbid').length > 0) {
- $('#systemInfo').empty();
- return
- }
- getSystem(obj.roleId);
- })
- // 编辑角色
- $('#roleInfo').on('click', '#roleEdit', function (e) {
- e.stopPropagation();
- let roleId = $(this).parents('.li-item').attr('roleId');
- layer.open({
- type: 2,
- anim: 0,
- title: "添加角色",
- area: ['700px', '350px'],
- fixed: true,
- scrollbar: true,
- maxmin: true,
- content: "add_role.html?id=" + roleId,
- end: function () {
- obj.getRole(obj.regionId)
- }
- });
- })
- // 删除角色
- $('#roleInfo').on('click', '#roleDel', function (e) {
- e.stopPropagation();
- let roleId = $(this).parents('.li-item').attr('roleId');
- layer.confirm('真的删除吗?', function (index) {
- layer.close(index);
- var index1 = layer.msg('删除中,请稍候', {
- icon: 16,
- time: false,
- shade: 0.8
- });
- $.ajax({
- type: "DELETE",
- url: 'roleFormUrl?roleId=' + roleId,
- contentType: 'application/json',
- success: function (res) {
-
- if (!(res.code - 0)) {
- layer.close(index1);
- layer.msg(res.msg, {
- icon: 1
- });
- obj.getRole(obj.regionId)
- } else {
- layer.msg(res.msg, {
- icon: 2
- });
- }
- }
- });
- });
- })
- // 禁用角色
- $('#roleInfo').on('click', '#roleForbid', function (e) {
- e.stopPropagation();
-
- let roleId = $(this).parents('.li-item').attr('roleId')
- let forbidId = {
- id: roleId,
- status: '2'
- }
- layer.confirm('确定禁用吗?', function (index) {
- layer.close(index);
- $.ajax({
- type: "PUT",
- url: 'roleFormUrl',
- data: JSON.stringify(forbidId),
- contentType: 'application/json',
- success: function (res) {
-
- if (!(res.code - 0)) {
- layer.msg('禁用成功', {
- icon: 1
- });
- obj.getRole(obj.regionId)
- } else {
- layer.msg(res.msg, {
- icon: 2
- });
- }
- }
- });
- });
- })
- // 启用角色
- $('#roleInfo').on('click', '#roleEnable', function (e) {
- e.stopPropagation();
-
- let roleId = $(this).parents('.li-item').attr('roleId')
- let forbidId = {
- id: roleId,
- status: '0'
- }
- layer.confirm('确定启用吗?', function (index) {
- layer.close(index);
- $.ajax({
- type: "PUT",
- url: 'roleFormUrl',
- data: JSON.stringify(forbidId),
- contentType: 'application/json',
- success: function (res) {
-
- if (!(res.code - 0)) {
- layer.msg('启用成功', {
- icon: 1
- });
- obj.getRole(obj.regionId)
- } else {
- layer.msg(res.msg, {
- icon: 2
- });
- }
- }
- });
- });
- })
- // 保存菜单权限
- $("#saveMenus").on("click", function () {
- let arr1 = [], sysReqs = [], tempArray = [], parentNode = [];
- $('#systemInfo').find('li').each(function () {
- if ($(this).attr('opened') == 1) {
- sysReqs.push($(this).attr('id'));
- }
- });
- for (let i = 0; i < sysReqs.length; i++) {
- this['ids' + i] = [];
- }
- for (let i = 0; i < sysReqs.length; i++) {
- this['ids' + i] = eleTree.checkedData("#system" + sysReqs[i]);
- $("#system" + sysReqs[i]).find("input[eletree-status='2']").each(function () {
- parentNode.push($(this).val())
- });
- if (this['ids' + i].length == 0) {
- let title = $("#system" + sysReqs[i]).prev().find('h4').text();
- layer.msg(title + '下必须有选中菜单')
- return false;
- }
- for (let j = 0; j < this['ids' + i].length; j++) {
- arr1.push(this['ids' + i][j].id)
- }
- }
- // for (let i = 0; i < arr1.length; i++) {
- // if (tempArray.indexOf(arr1[i]) == -1) {
- // tempArray.push(arr1[i]);
- // }
- // }
- let temp = {
- roleId: obj.roleId,
- menuReq: arr1.concat(parentNode),
- sysReq: sysReqs
- }
-
- $.ajax({
- type: "post",
- url: 'menuFormUrl',
- data: JSON.stringify(temp),
- contentType: 'application/json',
- success: function (res) {
-
- if (!(res.code - 0)) {
- layer.msg(res.msg, {
- icon: 1
- });
- getSystem(obj.roleId);
- } else {
- layer.msg(res.msg, {
- icon: 2
- });
- }
- }
- });
- })
- // 点击开关控制菜单权限 是否可选
- form.on('switch(switchTest)', function (data) {
- if (data.elem.checked == true) {
- data.othis.parents('.group').find('.eleTree-checkbox').removeClass('eleTree-checkbox-disabled')
- data.othis.parents('.group').attr('opened', '1')
- } else {
- data.othis.parents('.group').find('.eleTree-checkbox').addClass('eleTree-checkbox-disabled')
- data.othis.parents('.group').attr('opened', '0')
- }
- });
- // 添加角色
- $("#addRole").on("click", function () {
- var id = this.getAttribute('layId');
- layer.open({
- type: 2,
- anim: 0,
- title: "添加角色",
- area: ['700px', '350px'],
- fixed: true,
- scrollbar: true,
- maxmin: true,
- content: id + ".html",
- end: function () {
- obj.getRole()
- }
- });
- });
- obj.main();
- });
|