From 1b10d3eaba5c1bad0ffc6558aa89019705d219ca Mon Sep 17 00:00:00 2001 From: weizhiqiang <598748873@qq.com> Date: Sun, 27 Nov 2022 15:21:08 +0800 Subject: [PATCH] =?UTF-8?q?=E5=9B=A2=E9=98=9F=E6=A8=A1=E6=9D=BF=E7=AE=A1?= =?UTF-8?q?=E7=90=86=E5=AE=8C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../js/teamTemplate/teamTemplateAdd.js | 76 +++- .../js/teamTemplate/teamTemplateDetails.js | 137 +++++++ .../js/teamTemplate/teamTemplateEdit.js | 375 ++++++++++++++---- .../js/teamTemplate/teamTemplateList.js | 18 +- .../codeRule/businessDataCodeRuleConfig.html | 2 +- .../tpl/teamTemplate/teamTemplateDetails.html | 84 ++++ .../tpl/teamTemplate/teamTemplateEdit.html | 69 +++- .../customer/teamObjectPermissionUtil.js | 46 +++ .../template/json/skyeyeClassEnum.json | 4 +- .../template/json/sysServiceMation.json | 4 + 10 files changed, 722 insertions(+), 93 deletions(-) create mode 100644 common/src/main/resources/template/js/teamTemplate/teamTemplateDetails.js create mode 100644 common/src/main/resources/template/tpl/teamTemplate/teamTemplateDetails.html diff --git a/common/src/main/resources/template/js/teamTemplate/teamTemplateAdd.js b/common/src/main/resources/template/js/teamTemplate/teamTemplateAdd.js index 0be5f1dac..c96f582a4 100644 --- a/common/src/main/resources/template/js/teamTemplate/teamTemplateAdd.js +++ b/common/src/main/resources/template/js/teamTemplate/teamTemplateAdd.js @@ -13,6 +13,8 @@ layui.config({ form = layui.form; textool.init({eleId: 'remark', maxlength: 200}); var treeTableData = []; + // 已经选中的权限对应关系 + var checkTrueList = []; skyeyeClassEnumUtil.showEnumDataListByClassName("teamObjectType", 'select', "objectType", '', form); skyeyeClassEnumUtil.showEnumDataListByClassName("commonEnable", 'radio', "enabled", '', form); @@ -88,26 +90,35 @@ layui.config({ function reloadTreeTable() { var data = $.extend(true, [], treeTableData); tableTree.reload("messageTable", {data: data}); + restCheckbox(); loadAuthList(); } loadAuthList(); form.on('select(objectType)', function(data) { + checkTrueList = []; loadAuthList(); }); matchingLanguage(); form.render(); form.on('submit(formAddBean)', function (data) { - console.log(treeTableData) if (winui.verifyForm(data.elem)) { + var teamRoleList = getTeamRoleList(); + if (teamRoleList.length == 0) { + winui.window.msg('团队成员不能为空', {icon: 2, time: 2000}); + return false; + } + var teamObjectPermissionList = getTeamObjectPermissionList(); var params = { - dictName: $("#dictName").val(), - dictCode: $("#dictCode").val(), + name: $("#name").val(), + objectType: $("#objectType").val(), enabled: $("#enabled input:radio:checked").val(), remark: $("#remark").val(), + teamRoleList: JSON.stringify(teamRoleList), + teamObjectPermissionList: JSON.stringify(teamObjectPermissionList) }; - AjaxPostUtil.request({url: reqBasePath + "writeDictTypeMation", params: params, type: 'json', method: "POST", callback: function (json) { + AjaxPostUtil.request({url: reqBasePath + "writeTeamTemplate", params: params, type: 'json', method: "POST", callback: function (json) { parent.layer.close(index); parent.refreshCode = '0'; }}); @@ -115,6 +126,50 @@ layui.config({ return false; }); + function getTeamRoleList() { + var teamRoleList = []; + $.each(treeTableData, function (i, item) { + var teamRole = {}; + if (item.pId == '0') { + // 角色 + teamRole['roleId'] = item.id; + // 查询这个角色下的用户 + var roleUserList = []; + $.each(treeTableData, function (j, bean) { + if (bean.pId == item.id) { + roleUserList.push({ + userId: bean.id + }); + } + }); + teamRole['teamRoleUserList'] = roleUserList; + teamRoleList.push(teamRole); + } + }); + return teamRoleList; + } + + function getTeamObjectPermissionList() { + var checkRow = $("#authList input[type='checkbox']:checked"); + var teamObjectPermissionList = []; + $.each(checkRow, function (i, item) { + var id = $(item).attr('id'); + var str = id.split('_'); + var authGroupKey = str[0]; + var authKey = str[1]; + var roleId = str[2]; + var userId = str[3]; + teamObjectPermissionList.push({ + permissionKey: authGroupKey, + permissionValue: authKey, + ownerId: isNull(userId) ? roleId : userId, + ownerKey: isNull(userId) ? sysServiceMation["dictData"]["key"] : sysServiceMation["userInfo"]["key"], + fromType: 1 + }); + }); + return teamObjectPermissionList; + } + function loadAuthList() { var data = $.extend(true, [], treeTableData); var objectType = $('#objectType').val(); @@ -130,14 +185,12 @@ layui.config({ }); form.on('checkbox(checkClick)', function(obj) { - // var checkRow = $("#useTable input[type='checkbox'][name='tableCheckRow']:checked"); var id = $(this).attr('id'); var str = id.split('_'); var authGroupKey = str[0]; var authKey = str[1]; var roleId = str[2]; var userId = str[3]; - var checkBoxId = authGroupKey + '_' + authKey + '_' + roleId + '_' + userId; var name = authGroupKey + '_' + authKey + '_' + roleId; var _table = $(`div[lay-id='${authGroupKey}']`); if (isNull(userId)) { @@ -157,10 +210,21 @@ layui.config({ $(`input[id='${name}_']`).prop("checked", false); } } + + restCheckbox(); form.render('checkbox'); }); } + function restCheckbox() { + // 将所有选中的重新放入 checkTrueList 中,防止出现操作成员信息时无法回显 + var checkRow = $("#authList input[type='checkbox']:checked"); + checkTrueList = []; + $.each(checkRow, function (i, item) { + checkTrueList.push($(item).attr('id')); + }); + } + function loadAuthTreeTable(id, cols, data) { tableTree.render({ id: id, diff --git a/common/src/main/resources/template/js/teamTemplate/teamTemplateDetails.js b/common/src/main/resources/template/js/teamTemplate/teamTemplateDetails.js new file mode 100644 index 000000000..957b31399 --- /dev/null +++ b/common/src/main/resources/template/js/teamTemplate/teamTemplateDetails.js @@ -0,0 +1,137 @@ + +layui.config({ + base: basePath, + version: skyeyeVersion +}).extend({ + window: 'js/winui.window' +}).define(['window', 'jquery', 'winui', 'tableTreeDj', 'form'], function (exports) { + winui.renderColor(); + var index = parent.layer.getFrameIndex(window.name); + var $ = layui.$, + tableTree = layui.tableTreeDj, + form = layui.form; + var treeTableData = []; + // 已经选中的权限对应关系 + var checkTrueList = []; + + showGrid({ + id: "showForm", + url: reqBasePath + "queryTeamTemplateById", + params: {id: parent.rowId}, + pagination: false, + method: "GET", + template: $("#showTemplate").html(), + ajaxSendLoadBefore: function(hdb, json) { + json.bean.enabled = skyeyeClassEnumUtil.getEnumDataNameByClassName('commonEnable', 'id', json.bean.enabled, 'name'); + json.bean.objectTypeName = skyeyeClassEnumUtil.getEnumDataNameByClassName('teamObjectType', 'id', json.bean.objectType, 'name'); + json.bean.remark = stringManipulation.textAreaShow(json.bean.remark); + }, + ajaxSendAfter: function (json) { + loadTreeTable(); + // 解析成员信息 + $.each(json.bean.teamRoleList, function (i, item) { + treeTableData.push({ + id: item.roleId, + pId: '0', + name: item.name + }); + $.each(item.teamRoleUserList, function (j, bean) { + treeTableData.push({ + id: bean.userId, + pId: item.roleId, + name: bean.userMation.name, + departmentName: bean.userMation.departmentName, + phone: bean.userMation.phone, + email: bean.userMation.email + }); + }); + }); + + // 解析权限信息 + $.each(json.bean.teamObjectPermissionList, function (i, item) { + var authGroupKey = item.permissionKey; + var authKey = item.permissionValue; + var checkParams = getInPoingArr(treeTableData, "id", item.ownerId); + if (checkParams != null) { + var roleId = checkParams.pId == '0' ? checkParams.id : checkParams.pId; + var userId = checkParams.pId == '0' ? '' : checkParams.id; + var id = authGroupKey + '_' + authKey + '_' + roleId + '_' + userId; + checkTrueList.push(id); + } + }); + + reloadTreeTable(json.bean.objectType); + matchingLanguage(); + form.render(); + } + }); + + function loadTreeTable() { + tableTree.render({ + id: 'messageTable', + elem: '#messageTable', + data: [], + // 该参数不能删除,分页参数无效,目前只能通过设置10000来保证当前页最大的数据量 + limit: 10000, + cols: [[ + { field: 'name', title: '名称', width: 160 }, + { field: 'departmentName', title: '部门', width: 120 }, + { field: 'phone', title: '联系方式', width: 140 }, + { field: 'email', title: '邮箱', width: 200 } + ]], + done: function(json) { + matchingLanguage(); + } + }, { + keyId: 'id', + keyPid: 'pId', + title: 'name', + defaultShow: true, + }); + } + + // 刷新成员树表格 + function reloadTreeTable(objectType) { + var data = $.extend(true, [], treeTableData); + tableTree.reload("messageTable", {data: data}); + loadAuthList(objectType); + } + + function loadAuthList(objectType) { + var data = $.extend(true, [], treeTableData); + // 加载该受用类型的团队可以设置哪些权限 + var colsList = teamObjectPermissionUtil.getAuthColsDetails(objectType); + $('#authList').html(getDataUseHandlebars($('#authTableTemplate').html(), {list: colsList})); + $.each(colsList, function (i, item) { + // 给数据设置权限组的key, + $.each(data, function (j, bean) { + bean.authGroupKey = item.id; + }); + loadAuthTreeTable(item.id, item.cols, data); + }); + + $.each(checkTrueList, function (i, id) { + $(`div[id='${id}']`).html(``); + }); + } + + function loadAuthTreeTable(id, cols, data) { + tableTree.render({ + id: id, + elem: '#' + id, + data: data, + // 该参数不能删除,分页参数无效,目前只能通过设置10000来保证当前页最大的数据量 + limit: 10000, + cols: [cols], + }, { + keyId: 'id', + keyPid: 'pId', + title: 'name', + defaultShow: true, + }); + } + + $("body").on("click", "#cancle", function() { + parent.layer.close(index); + }); +}); \ No newline at end of file diff --git a/common/src/main/resources/template/js/teamTemplate/teamTemplateEdit.js b/common/src/main/resources/template/js/teamTemplate/teamTemplateEdit.js index 55b2a8097..d058eea14 100644 --- a/common/src/main/resources/template/js/teamTemplate/teamTemplateEdit.js +++ b/common/src/main/resources/template/js/teamTemplate/teamTemplateEdit.js @@ -4,83 +4,318 @@ layui.config({ version: skyeyeVersion }).extend({ window: 'js/winui.window' -}).define(['window', 'jquery', 'winui', 'textool'], function (exports) { +}).define(['window', 'jquery', 'winui', 'textool', 'tableTreeDj', 'form'], function (exports) { winui.renderColor(); - layui.use(['form'], function (form) { - var index = parent.layer.getFrameIndex(window.name); - var $ = layui.$, - textool = layui.textool; - - showGrid({ - id: "showForm", - url: reqBasePath + "queryDictTypeMationById", - params: {id: parent.rowId}, - pagination: false, - method: "GET", - template: $("#showTemplate").html(), - ajaxSendLoadBefore: function(hdb, json){ - json.bean.remark = stringManipulation.textAreaShow(json.bean.remark); - }, - ajaxSendAfter: function (json) { - - skyeyeClassEnumUtil.showEnumDataListByClassName("commonEnable", 'radio', "enabled", json.bean.enabled, form); - - form.on('radio(dictType)', function (data) { - var val = data.value; - if (val == 1) { - $("#chooseLevel").parent().parent().remove(); - } else if (val == 2) { - $("#dictTypeBox").after( - `
- -
- -
例如:多级字典为三级,这里设置为2,那么只有二级和二级的所有子层级可以选择
-
-
`); - } + var index = parent.layer.getFrameIndex(window.name); + var $ = layui.$, + textool = layui.textool, + tableTree = layui.tableTreeDj, + form = layui.form; + var treeTableData = []; + // 已经选中的权限对应关系 + var checkTrueList = []; + + showGrid({ + id: "showForm", + url: reqBasePath + "queryTeamTemplateById", + params: {id: parent.rowId}, + pagination: false, + method: "GET", + template: $("#showTemplate").html(), + ajaxSendLoadBefore: function(hdb, json) { + json.bean.remark = stringManipulation.textAreaShow(json.bean.remark); + }, + ajaxSendAfter: function (json) { + skyeyeClassEnumUtil.showEnumDataListByClassName("teamObjectType", 'select', "objectType", json.bean.objectType, form); + skyeyeClassEnumUtil.showEnumDataListByClassName("commonEnable", 'radio', "enabled", json.bean.enabled, form); + + loadTreeTable(); + // 解析成员信息 + $.each(json.bean.teamRoleList, function (i, item) { + treeTableData.push({ + id: item.roleId, + pId: '0', + name: item.name }); + $.each(item.teamRoleUserList, function (j, bean) { + treeTableData.push({ + id: bean.userId, + pId: item.roleId, + name: bean.userMation.name, + departmentName: bean.userMation.departmentName, + phone: bean.userMation.phone, + email: bean.userMation.email + }); + }); + }); - if (json.bean.dictType == 2) { - $("#dictTypeBox").after( - `
- -
- -
例如:多级字典为三级,这里设置为2,那么只有二级和二级的所有子层级可以选择
-
-
`); + // 解析权限信息 + $.each(json.bean.teamObjectPermissionList, function (i, item) { + var authGroupKey = item.permissionKey; + var authKey = item.permissionValue; + var checkParams = getInPoingArr(treeTableData, "id", item.ownerId); + if (checkParams != null) { + var roleId = checkParams.pId == '0' ? checkParams.id : checkParams.pId; + var userId = checkParams.pId == '0' ? '' : checkParams.id; + var id = authGroupKey + '_' + authKey + '_' + roleId + '_' + userId; + checkTrueList.push(id); } - $("input:radio[name=dictType][value=" + json.bean.dictType + "]").attr("checked", true); + }); - textool.init({eleId: 'remark', maxlength: 200}); + reloadTreeTable(); + textool.init({eleId: 'remark', maxlength: 200}); + matchingLanguage(); + form.render(); + form.on('submit(formEditBean)', function (data) { + if (winui.verifyForm(data.elem)) { + var teamRoleList = getTeamRoleList(); + if (teamRoleList.length == 0) { + winui.window.msg('团队成员不能为空', {icon: 2, time: 2000}); + return false; + } + var teamObjectPermissionList = getTeamObjectPermissionList(); + var params = { + id: parent.rowId, + name: $("#name").val(), + objectType: $("#objectType").val(), + enabled: $("#enabled input:radio:checked").val(), + remark: $("#remark").val(), + teamRoleList: JSON.stringify(teamRoleList), + teamObjectPermissionList: JSON.stringify(teamObjectPermissionList) + }; + AjaxPostUtil.request({url: reqBasePath + "writeTeamTemplate", params: params, type: 'json', method: "POST", callback: function (json) { + parent.layer.close(index); + parent.refreshCode = '0'; + }}); + } + return false; + }); + } + }); + + function loadTreeTable() { + tableTree.render({ + id: 'messageTable', + elem: '#messageTable', + data: [], + // 该参数不能删除,分页参数无效,目前只能通过设置10000来保证当前页最大的数据量 + limit: 10000, + cols: [[ + { field: 'name', title: '名称', width: 160 }, + { field: 'departmentName', title: '部门', width: 120 }, + { field: 'phone', title: '联系方式', width: 140 }, + { field: 'email', title: '邮箱', width: 200 }, + { title: systemLanguage["com.skyeye.operation"][languageType], fixed: 'right', align: 'center', width: 150, toolbar: '#tableBar' } + ]], + done: function(json) { matchingLanguage(); - form.render(); - form.on('submit(formEditBean)', function (data) { - if (winui.verifyForm(data.elem)) { - var dictType = $("input[name='dictType']:checked").val(); - var params = { - id: parent.rowId, - dictName: $("#dictName").val(), - dictCode: $("#dictCode").val(), - enabled: $("#enabled input:radio:checked").val(), - dictType: dictType, - chooseLevel: dictType == 1 ? 1 : $('#chooseLevel').val(), - remark: $("#remark").val(), - }; - AjaxPostUtil.request({url: reqBasePath + "writeDictTypeMation", params: params, type: 'json', method: "POST", callback: function (json) { - parent.layer.close(index); - parent.refreshCode = '0'; - }}); - } - return false; - }); - } + } + }, { + keyId: 'id', + keyPid: 'pId', + title: 'name', + defaultShow: true, + }); + + tableTree.getTable().on('tool(messageTable)', function (obj) { + var data = obj.data; + var layEvent = obj.event; + if (layEvent === 'removeRole') { + // 移除角色和该角色下的用户 + $.each(treeTableData, function(index, item) { + if (item.id == data.id || item.pId == data.id) { + treeTableData.splice(index, 1); + } + }); + restCheckbox(); + reloadTreeTable(); + } else if (layEvent === 'addUser') { // 添加成员 + var roleId = data.id; + systemCommonUtil.userReturnList = []; + systemCommonUtil.chooseOrNotMy = "1"; // 人员列表中是否包含自己--1.包含;其他参数不包含 + systemCommonUtil.chooseOrNotEmail = "2"; // 人员列表中是否必须绑定邮箱--1.必须;其他参数没必要 + systemCommonUtil.checkType = "1"; // 人员选择类型,1.多选;其他。单选 + systemCommonUtil.openSysUserStaffChoosePage(function (userReturnList) { + var userList = [].concat(userReturnList); + $.each(userList, function (i, item) { + // 一个用户在一个团队中只能属于一个角色 + var checkParams = getInPoingArr(treeTableData, "id", item.id); + if (checkParams == null) { + item['pId'] = roleId; + treeTableData.push(item); + } + }); + restCheckbox(); + reloadTreeTable(); + }); + } else if (layEvent === 'removeUser') { // 移除成员 + var roleId = data.pId; + var userId = data.id; + $.each(treeTableData, function(index, item) { + if (!isNull(item) && item.pId == roleId && item.id == userId) { + treeTableData.splice(index, 1); + } + }); + restCheckbox(); + reloadTreeTable(); + } + }); + } + + // 刷新成员树表格 + function reloadTreeTable() { + var data = $.extend(true, [], treeTableData); + tableTree.reload("messageTable", {data: data}); + loadAuthList(); + } + + loadAuthList(); + form.on('select(objectType)', function(data) { + checkTrueList = []; + loadAuthList(); + }); + + function getTeamRoleList() { + var teamRoleList = []; + $.each(treeTableData, function (i, item) { + var teamRole = {}; + if (item.pId == '0') { + // 角色 + teamRole['roleId'] = item.id; + // 查询这个角色下的用户 + var roleUserList = []; + $.each(treeTableData, function (j, bean) { + if (bean.pId == item.id) { + roleUserList.push({ + userId: bean.id + }); + } + }); + teamRole['teamRoleUserList'] = roleUserList; + teamRoleList.push(teamRole); + } + }); + return teamRoleList; + } + + function getTeamObjectPermissionList() { + var checkRow = $("#authList input[type='checkbox']:checked"); + var teamObjectPermissionList = []; + $.each(checkRow, function (i, item) { + var id = $(item).attr('id'); + var str = id.split('_'); + var authGroupKey = str[0]; + var authKey = str[1]; + var roleId = str[2]; + var userId = str[3]; + teamObjectPermissionList.push({ + permissionKey: authGroupKey, + permissionValue: authKey, + ownerId: isNull(userId) ? roleId : userId, + ownerKey: isNull(userId) ? sysServiceMation["dictData"]["key"] : sysServiceMation["userInfo"]["key"], + fromType: 1 + }); }); - - $("body").on("click", "#cancle", function() { - parent.layer.close(index); - }); + return teamObjectPermissionList; + } + + function loadAuthList() { + var data = $.extend(true, [], treeTableData); + var objectType = $('#objectType').val(); + // 加载该受用类型的团队可以设置哪些权限 + var colsList = teamObjectPermissionUtil.getAuthCols(objectType); + $('#authList').html(getDataUseHandlebars($('#authTableTemplate').html(), {list: colsList})); + $.each(colsList, function (i, item) { + // 给数据设置权限组的key, + $.each(data, function (j, bean) { + bean.authGroupKey = item.id; + }); + loadAuthTreeTable(item.id, item.cols, data); + }); + + $.each(checkTrueList, function (i, id) { + $(`input[id='${id}']`).prop("checked", true); + }); + form.render('checkbox'); + + form.on('checkbox(checkClick)', function(obj) { + var id = $(this).attr('id'); + var str = id.split('_'); + var authGroupKey = str[0]; + var authKey = str[1]; + var roleId = str[2]; + var userId = str[3]; + var name = authGroupKey + '_' + authKey + '_' + roleId; + var _table = $(`div[lay-id='${authGroupKey}']`); + if (isNull(userId)) { + // 如果用户id为空,代表点击的是角色的选择box,需要把name是这个的都选中 + if (obj.elem.checked) { + _table.find(`input[name='${name}']`).prop("checked", true); + } else { + _table.find(`input[name='${name}']`).prop("checked", false); + } + } else { + if (obj.elem.checked) { + if (_table.find(`input[name='${name}']:checked`).length + == _table.find(`input[name='${name}']`).length - 1) { + $(`input[id='${name}_']`).prop("checked", true); + } + } else { + $(`input[id='${name}_']`).prop("checked", false); + } + } + + restCheckbox(); + form.render('checkbox'); + }); + } + + function restCheckbox() { + // 将所有选中的重新放入 checkTrueList 中,防止出现操作成员信息时无法回显 + var checkRow = $("#authList input[type='checkbox']:checked"); + checkTrueList = []; + $.each(checkRow, function (i, item) { + checkTrueList.push($(item).attr('id')); + }); + } + + function loadAuthTreeTable(id, cols, data) { + tableTree.render({ + id: id, + elem: '#' + id, + data: data, + // 该参数不能删除,分页参数无效,目前只能通过设置10000来保证当前页最大的数据量 + limit: 10000, + cols: [cols], + }, { + keyId: 'id', + keyPid: 'pId', + title: 'name', + defaultShow: true, + }); + } + + $("body").on("click", "#addRole", function() { + _openNewWindows({ + url: "../../tpl/sysDictData/sysDictDataSelectChoose.html?sysDictType=teamRole", + title: '选择角色', + pageId: "sysDictDataSelectChoose", + area: ['50vw', '50vh'], + callBack: function (refreshCode, turnData) { + var checkParams = getInPoingArr(treeTableData, "id", turnData.id); + if (checkParams == null) { + turnData["pId"] = '0'; + turnData["lay_is_open"] = true; + treeTableData.push(turnData); + reloadTreeTable(); + } else { + winui.window.msg("角色重复", {icon: 2, time: 2000}); + } + }}); + }); + + $("body").on("click", "#cancle", function() { + parent.layer.close(index); }); }); \ No newline at end of file diff --git a/common/src/main/resources/template/js/teamTemplate/teamTemplateList.js b/common/src/main/resources/template/js/teamTemplate/teamTemplateList.js index e75f255e5..99ffea264 100644 --- a/common/src/main/resources/template/js/teamTemplate/teamTemplateList.js +++ b/common/src/main/resources/template/js/teamTemplate/teamTemplateList.js @@ -26,7 +26,9 @@ layui.config({ limit: getLimit(), cols: [[ { title: systemLanguage["com.skyeye.serialNumber"][languageType], type: 'numbers' }, - { field: 'name', title: '名称', width: 200 }, + { field: 'name', title: '名称', align: 'left', width: 200, templet: function (d) { + return '' + d.name + ''; + }}, { field: 'objectType', title: '适用类型', width: 150, templet: function (d) { return skyeyeClassEnumUtil.getEnumDataNameByCodeAndKey("teamObjectType", 'id', d.objectType, 'name'); }}, @@ -58,6 +60,8 @@ layui.config({ del(data, obj); } else if (layEvent === 'edit') { // 编辑 edit(data); + } else if (layEvent === 'select') { // 详情 + select(data); } }); @@ -86,6 +90,18 @@ layui.config({ }}); } + // 详情 + function select(data) { + rowId = data.id; + _openNewWindows({ + url: "../../tpl/teamTemplate/teamTemplateDetails.html", + title: systemLanguage["com.skyeye.detailsPageTitle"][languageType], + pageId: "teamTemplateDetails", + area: ['90vw', '90vh'], + callBack: function (refreshCode) { + }}); + } + // 新增 $("body").on("click", "#addBean", function() { _openNewWindows({ diff --git a/common/src/main/resources/template/tpl/codeRule/businessDataCodeRuleConfig.html b/common/src/main/resources/template/tpl/codeRule/businessDataCodeRuleConfig.html index a21cffab1..5e0ab07a9 100644 --- a/common/src/main/resources/template/tpl/codeRule/businessDataCodeRuleConfig.html +++ b/common/src/main/resources/template/tpl/codeRule/businessDataCodeRuleConfig.html @@ -19,7 +19,7 @@
{{@key}}
-
+
{{#each @this}}
diff --git a/common/src/main/resources/template/tpl/teamTemplate/teamTemplateDetails.html b/common/src/main/resources/template/tpl/teamTemplate/teamTemplateDetails.html new file mode 100644 index 000000000..4bc0127ac --- /dev/null +++ b/common/src/main/resources/template/tpl/teamTemplate/teamTemplateDetails.html @@ -0,0 +1,84 @@ + + + + + + + + + +
+
+ +
+
+ + + + + + + + + + \ No newline at end of file diff --git a/common/src/main/resources/template/tpl/teamTemplate/teamTemplateEdit.html b/common/src/main/resources/template/tpl/teamTemplate/teamTemplateEdit.html index a57fbbbe6..d32cc3fd6 100644 --- a/common/src/main/resources/template/tpl/teamTemplate/teamTemplateEdit.html +++ b/common/src/main/resources/template/tpl/teamTemplate/teamTemplateEdit.html @@ -15,18 +15,22 @@ + + + + \ No newline at end of file diff --git a/web/src/main/resources/template/assets/lib/layui/customer/teamObjectPermissionUtil.js b/web/src/main/resources/template/assets/lib/layui/customer/teamObjectPermissionUtil.js index 2c7525479..4a09e7d22 100644 --- a/web/src/main/resources/template/assets/lib/layui/customer/teamObjectPermissionUtil.js +++ b/web/src/main/resources/template/assets/lib/layui/customer/teamObjectPermissionUtil.js @@ -47,6 +47,52 @@ var teamObjectPermissionUtil = { }); return result; } + }, + + getAuthColsDetails: function (objectType) { + if (isNull(objectType)) { + return []; + } else { + var teamObjectType = skyeyeClassEnumUtil.getEnumDataListByClassName("teamObjectType").rows; + var pageAuthList = getInPoingArr(teamObjectType, "id", objectType, "pageAuth"); + if (pageAuthList == null) { + return []; + } + var result = []; + $.each(pageAuthList, function(i, enumKey) { + var map = { + id: enumKey, + title: skyeyeClassEnum[enumKey].name + }; + // 获取枚举中需要鉴权的内容 + var authBtnJson = skyeyeClassEnumUtil.getEnumDataListByClassName(enumKey).rows; + var cols = []; + cols.push({ + field: 'name', + title: '名称', + width: 160 + }); + $.each(authBtnJson, function(j, item) { + cols.push({ + field: item.id, + title: item.name, + align: 'center', + width: 140, + templet: function(row) { + var roleId = row.pId == '0' ? row.id : row.pId; + var authGroupKey = row.authGroupKey; + var authKey = $(this)[0].field; + var userId = row.pId == '0' ? '' : row.id; + var checkBoxId = authGroupKey + '_' + authKey + '_' + roleId + '_' + userId; + return `
`; + } + }); + }); + map['cols'] = cols; + result.push(map); + }); + return result; + } } } diff --git a/web/src/main/resources/template/json/skyeyeClassEnum.json b/web/src/main/resources/template/json/skyeyeClassEnum.json index 1dd79e6b0..c1b165e6c 100644 --- a/web/src/main/resources/template/json/skyeyeClassEnum.json +++ b/web/src/main/resources/template/json/skyeyeClassEnum.json @@ -23,6 +23,8 @@ "skyeyeView": {"name": "视图枚举", "className": "skyeye-pro#com.skyeye.common.SkyeyeViewEnum"}, - "contactsAuthEnum": {"name": "联系人", "className": "skyeye-pro#com.skyeye.contacts.classenum.ContactsAuthEnum"} + "teamObjectType": {"name": "团队适用对象枚举", "className": "skyeye-pro#com.skyeye.team.classenum.TeamObjectTypeEnum"}, + "contactsAuthEnum": {"name": "联系人", "className": "skyeye-pro#com.skyeye.contacts.classenum.ContactsAuthEnum"}, + "documentAuthEnum": {"name": "文档", "className": "skyeye-pro#com.skyeye.document.classenum.DocumentAuthEnum"} } \ No newline at end of file diff --git a/web/src/main/resources/template/json/sysServiceMation.json b/web/src/main/resources/template/json/sysServiceMation.json index 213649bee..d6ec114ee 100644 --- a/web/src/main/resources/template/json/sysServiceMation.json +++ b/web/src/main/resources/template/json/sysServiceMation.json @@ -63,5 +63,9 @@ "bossInterviewQuit": {"name": "离职申请", "key": "com.skyeye.service.impl.BossInterviewQuitServiceImpl"}, "bossInterviewJobTransfer": {"name": "岗位调动申请", "key": "com.skyeye.service.impl.BossInterviewJobTransferServiceImpl"}, + "userInfo": {"name": "用户信息", "key": "com.skyeye.personnel.service.impl.SysEveUserServiceImpl"}, + + "dictData": {"name": "数据字典", "key": "com.skyeye.eve.service.impl.SysDictDataServiceImpl"}, + "contacts": {"name": "联系人", "key": "com.skyeye.contacts.service.impl.ContactsServiceImpl"} } \ No newline at end of file -- GitLab