Merge remote-tracking branch 'origin/dev' into dev
This commit is contained in:
commit
167c8cd675
|
@ -55,8 +55,8 @@ public class WorkspaceController {
|
|||
}
|
||||
|
||||
@GetMapping("/list/orgworkspace/")
|
||||
public List<Workspace> getWorkspaceListByOrgId() {
|
||||
public List<Workspace> getWorkspaceListByOrgIdAndUserId() {
|
||||
String currentOrganizationId = SessionUtils.getCurrentOrganizationId();
|
||||
return workspaceService.getWorkspaceListByOrgId(currentOrganizationId);
|
||||
return workspaceService.getWorkspaceListByOrgIdAndUserId(currentOrganizationId);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,8 +1,7 @@
|
|||
package io.metersphere.service;
|
||||
|
||||
import io.metersphere.base.domain.UserRole;
|
||||
import io.metersphere.base.domain.Workspace;
|
||||
import io.metersphere.base.domain.WorkspaceExample;
|
||||
import io.metersphere.base.domain.*;
|
||||
import io.metersphere.base.mapper.UserRoleMapper;
|
||||
import io.metersphere.base.mapper.WorkspaceMapper;
|
||||
import io.metersphere.base.mapper.ext.ExtUserRoleMapper;
|
||||
import io.metersphere.commons.constants.RoleConstants;
|
||||
|
@ -28,6 +27,8 @@ public class WorkspaceService {
|
|||
private WorkspaceMapper workspaceMapper;
|
||||
@Resource
|
||||
private ExtUserRoleMapper extUserRoleMapper;
|
||||
@Resource
|
||||
private UserRoleMapper userRoleMapper;
|
||||
|
||||
public Workspace saveWorkspace(Workspace workspace) {
|
||||
if (StringUtils.isBlank(workspace.getName())) {
|
||||
|
@ -100,10 +101,23 @@ public class WorkspaceService {
|
|||
return workspaceMapper.selectByExample(workspaceExample);
|
||||
}
|
||||
|
||||
public List<Workspace> getWorkspaceListByOrgId(String orgId) {
|
||||
public List<Workspace> getWorkspaceListByOrgIdAndUserId(String orgId) {
|
||||
String useId = SessionUtils.getUser().getId();
|
||||
WorkspaceExample workspaceExample = new WorkspaceExample();
|
||||
workspaceExample.createCriteria().andOrganizationIdEqualTo(orgId);
|
||||
return workspaceMapper.selectByExample(workspaceExample);
|
||||
List<Workspace> workspaces = workspaceMapper.selectByExample(workspaceExample);
|
||||
UserRoleExample userRoleExample = new UserRoleExample();
|
||||
userRoleExample.createCriteria().andUserIdEqualTo(useId);
|
||||
List<UserRole> userRoles = userRoleMapper.selectByExample(userRoleExample);
|
||||
List<Workspace> resultWorkspaceList = new ArrayList<>();
|
||||
userRoles.forEach(userRole -> {
|
||||
workspaces.forEach(workspace -> {
|
||||
if (StringUtils.equals(userRole.getSourceId(),workspace.getId())) {
|
||||
resultWorkspaceList.add(workspace);
|
||||
}
|
||||
});
|
||||
});
|
||||
return resultWorkspaceList;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -4,10 +4,10 @@
|
|||
<el-col :span="4">
|
||||
<a class="logo"/>
|
||||
</el-col>
|
||||
<el-col :span="10">
|
||||
<el-col :span="6">
|
||||
<ms-top-menus/>
|
||||
</el-col>
|
||||
<el-col :span="10">
|
||||
<el-col :span="14">
|
||||
<ms-user/>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
<template>
|
||||
<el-row>
|
||||
<el-col :span="10" :offset="8">
|
||||
<el-col :span="14" :offset="6">
|
||||
<el-menu :unique-opened="true" mode="horizontal" router
|
||||
menu-trigger="click"
|
||||
class="header-user-menu"
|
||||
background-color="rgb(44, 42, 72)"
|
||||
text-color="#fff">
|
||||
<el-submenu index="1" popper-class="submenu" v-permission="['org_admin']">
|
||||
<template slot="title">组织</template>
|
||||
<template slot="title">【组织】{{currrentOrganizationName}}</template>
|
||||
<label v-for="(item,index) in organizationList" :key="index">
|
||||
<el-menu-item @click="changeOrg(item)">{{item.name}}
|
||||
<i class="el-icon-check"
|
||||
|
@ -16,7 +16,7 @@
|
|||
</label>
|
||||
</el-submenu>
|
||||
<el-submenu index="2" popper-class="submenu" v-permission="['test_manager', 'test_user', 'test_viewer']">
|
||||
<template slot="title">工作空间</template>
|
||||
<template slot="title">【工作空间】{{currrentWorkspaceName}}</template>
|
||||
<label v-for="(item,index) in workspaceList" :key="index">
|
||||
<el-menu-item @click="changeWs(item)">
|
||||
{{item.name}}
|
||||
|
@ -27,7 +27,7 @@
|
|||
</el-menu>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="3" :offset="3">
|
||||
<el-col :span="2" :offset="2">
|
||||
<el-dropdown size="medium" @command="handleCommand">
|
||||
<span class="dropdown-link">
|
||||
{{currentUser.name}}<i class="el-icon-caret-bottom el-icon--right"/>
|
||||
|
@ -61,7 +61,9 @@
|
|||
],
|
||||
currentUserInfo: {},
|
||||
currentUserId: JSON.parse(Cookies.get(TokenKey)).id,
|
||||
workspaceIds: []
|
||||
workspaceIds: [],
|
||||
currrentOrganizationName: '选择组织',
|
||||
currrentWorkspaceName: '选择工作空间'
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
|
@ -69,16 +71,6 @@
|
|||
let user = Cookies.get(TokenKey);
|
||||
window.console.log(user);
|
||||
return JSON.parse(user);
|
||||
},
|
||||
workspaceParentId() {
|
||||
let result = '';
|
||||
if (this.workspaceIds.includes(this.currentUserInfo.lastSourceId)) {
|
||||
let obj = this.workspaceList.filter(r => r.id === this.currentUserInfo.lastSourceId);
|
||||
if (obj.length > 0) {
|
||||
result = obj[0].organizationId;
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
|
@ -101,7 +93,12 @@
|
|||
let roles = this.currentUser.roles.map(r => r.id);
|
||||
if (roles.indexOf(ROLE_ORG_ADMIN) > -1) {
|
||||
this.$get("/organization/list/userorg/" + this.currentUserId, response => {
|
||||
this.organizationList = response.data;
|
||||
let data = response.data;
|
||||
this.organizationList = data;
|
||||
let org = data.filter(r => r.id === this.currentUser.lastOrganizationId);
|
||||
if (org.length > 0) {
|
||||
this.currrentOrganizationName = org[0].name;
|
||||
}
|
||||
});
|
||||
}
|
||||
if (roles.indexOf(ROLE_TEST_MANAGER) > -1 || roles.indexOf(ROLE_TEST_USER) > -1 || roles.indexOf(ROLE_TEST_VIEWER) > -1) {
|
||||
|
@ -111,6 +108,10 @@
|
|||
this.workspaceList = [{index:'1-1', name: '无工作区间'}]
|
||||
} else {
|
||||
this.workspaceList = data;
|
||||
let workspace = data.filter(r => r.id === this.currentUser.lastWorkspaceId);
|
||||
if (workspace.length > 0) {
|
||||
this.currrentWorkspaceName = workspace[0].name;
|
||||
}
|
||||
}
|
||||
// this.workspaceIds = response.data.map(r = r.id);
|
||||
})
|
||||
|
|
Loading…
Reference in New Issue