diff --git a/backend/src/main/resources/permission.json b/backend/src/main/resources/permission.json index f49a859cd5..aeb4b16c4b 100644 --- a/backend/src/main/resources/permission.json +++ b/backend/src/main/resources/permission.json @@ -858,11 +858,11 @@ }, { "id": "PROJECT_PERFORMANCE_TEST", - "name": "性能测试" + "name": "测试" }, { "id": "PROJECT_PERFORMANCE_REPORT", - "name": "性能测试报告" + "name": "报告" } ] } \ No newline at end of file diff --git a/frontend/src/business/components/settings/system/group/EditPermission.vue b/frontend/src/business/components/settings/system/group/EditPermission.vue index 7888ec332c..94365a327a 100644 --- a/frontend/src/business/components/settings/system/group/EditPermission.vue +++ b/frontend/src/business/components/settings/system/group/EditPermission.vue @@ -16,7 +16,8 @@ label="功能菜单" width="180"> import GroupOperator from "@/business/components/settings/system/group/GroupOperator"; import GroupPermission from "@/business/components/settings/system/group/GroupPermission"; -import {USER_GROUP_SCOPE} from "@/common/js/table-constants"; +import {PROJECT_GROUP_SCOPE, USER_GROUP_SCOPE} from "@/common/js/table-constants"; export default { name: "EditPermission", @@ -83,24 +84,38 @@ export default { let data = result.data; if (data) { this.tableData = data.permissions; - for (let i = 0; i < this.tableData.length; i++) { - if (i === 0) { - this.spanArr.push(1); - this.pos = 0 - } else { - // 判断当前元素与上一个元素是否相同 - if (this.tableData[i].type === this.tableData[i - 1].type) { - this.spanArr[this.pos] += 1; - this.spanArr.push(0); - } else { - this.spanArr.push(1); - this.pos = i; - } - } - } + this._getUniteMenu(); } }) }, + _getUniteMenu() { + let menu = ['TRACK', 'API', 'PERFORMANCE']; + for (let i = 0; i < this.tableData.length; i++) { + if (i === 0) { + this.spanArr.push(1); + this.pos = 0 + } else { + // 判断当前元素与上一个元素是否相同 + let sign = false; + if (this.tableData[i].type !== 'PROJECT') { + sign = this.tableData[i].type === this.tableData[i - 1].type; + } else { + sign = !menu.includes(this.tableData[i].resource.id.split('_')[1]) ? + true : this.tableData[i].resource.id.split('_')[1] === this.tableData[i - 1].resource.id.split('_')[1] + } + if (sign) { + this.spanArr[this.pos] += 1; + this.spanArr.push(0); + } else { + this.spanArr.push(1); + this.pos = i; + } + } + } + }, + _computedMenuName(resource) { + return PROJECT_GROUP_SCOPE[resource.id.split('_')[1]] ? PROJECT_GROUP_SCOPE[resource.id.split('_')[1]] : '项目'; + }, onSubmit() { let param = {}; let permissions = []; diff --git a/frontend/src/common/js/table-constants.js b/frontend/src/common/js/table-constants.js index fd986e545e..50243f6dbf 100644 --- a/frontend/src/common/js/table-constants.js +++ b/frontend/src/common/js/table-constants.js @@ -97,3 +97,9 @@ export const USER_GROUP_SCOPE = { 'WORKSPACE': '工作空间', 'PROJECT': '项目' } + +export const PROJECT_GROUP_SCOPE = { + 'TRACK': '测试跟踪', + 'API': '接口测试', + 'PERFORMANCE': '性能测试' +}