refactor: 使用前端session来保存当前项目、工作空间、组织的信息,切换后可以在不同的页面使用
This commit is contained in:
parent
a125405b54
commit
2bcdc0ab06
|
@ -49,7 +49,6 @@ public class APIReportController {
|
|||
@PostMapping("/list/{goPage}/{pageSize}")
|
||||
public Pager<List<APIReportResult>> list(@PathVariable int goPage, @PathVariable int pageSize, @RequestBody QueryAPIReportRequest request) {
|
||||
Page<Object> page = PageHelper.startPage(goPage, pageSize, true);
|
||||
request.setWorkspaceId(SessionUtils.getCurrentWorkspaceId());
|
||||
return PageUtils.setPageInfo(page, apiReportService.list(request));
|
||||
}
|
||||
|
||||
|
|
|
@ -36,7 +36,6 @@ public class APIScenarioReportController {
|
|||
@PostMapping("/list/{goPage}/{pageSize}")
|
||||
public Pager<List<APIScenarioReportResult>> list(@PathVariable int goPage, @PathVariable int pageSize, @RequestBody QueryAPIReportRequest request) {
|
||||
Page<Object> page = PageHelper.startPage(goPage, pageSize, true);
|
||||
request.setWorkspaceId(SessionUtils.getCurrentWorkspaceId());
|
||||
return PageUtils.setPageInfo(page, apiReportService.list(request));
|
||||
}
|
||||
|
||||
|
|
|
@ -82,8 +82,6 @@ public class APITestController {
|
|||
@PostMapping("/list/{goPage}/{pageSize}")
|
||||
public Pager<List<APITestResult>> list(@PathVariable int goPage, @PathVariable int pageSize, @RequestBody QueryAPITestRequest request) {
|
||||
Page<Object> page = PageHelper.startPage(goPage, pageSize, true);
|
||||
request.setWorkspaceId(SessionUtils.getCurrentWorkspaceId());
|
||||
request.setProjectId(SessionUtils.getCurrentProjectId());
|
||||
return PageUtils.setPageInfo(page, apiTestService.list(request));
|
||||
}
|
||||
|
||||
|
|
|
@ -53,7 +53,7 @@ public class ApiAutomationController {
|
|||
}});
|
||||
}
|
||||
Page<Object> page = PageHelper.startPage(goPage, pageSize, true);
|
||||
request.setWorkspaceId(SessionUtils.getCurrentWorkspaceId());
|
||||
|
||||
return PageUtils.setPageInfo(page, apiAutomationService.list(request));
|
||||
}
|
||||
|
||||
|
@ -80,7 +80,6 @@ public class ApiAutomationController {
|
|||
@RequiresPermissions("PROJECT_API_SCENARIO:READ")
|
||||
public List<ApiScenarioDTO> list(@PathVariable String projectId) {
|
||||
ApiScenarioRequest request = new ApiScenarioRequest();
|
||||
request.setWorkspaceId(SessionUtils.getCurrentWorkspaceId());
|
||||
request.setProjectId(projectId);
|
||||
return apiAutomationService.list(request);
|
||||
}
|
||||
|
|
|
@ -60,21 +60,18 @@ public class ApiDefinitionController {
|
|||
@RequiresPermissions("PROJECT_API_DEFINITION:READ")
|
||||
public Pager<List<ApiDefinitionResult>> list(@PathVariable int goPage, @PathVariable int pageSize, @RequestBody ApiDefinitionRequest request) {
|
||||
Page<Object> page = PageHelper.startPage(goPage, pageSize, true);
|
||||
request.setWorkspaceId(SessionUtils.getCurrentWorkspaceId());
|
||||
return PageUtils.setPageInfo(page, apiDefinitionService.list(request));
|
||||
}
|
||||
|
||||
@PostMapping("/list/relevance/{goPage}/{pageSize}")
|
||||
public Pager<List<ApiDefinitionResult>> listRelevance(@PathVariable int goPage, @PathVariable int pageSize, @RequestBody ApiDefinitionRequest request) {
|
||||
Page<Object> page = PageHelper.startPage(goPage, pageSize, true);
|
||||
request.setWorkspaceId(SessionUtils.getCurrentWorkspaceId());
|
||||
return PageUtils.setPageInfo(page, apiDefinitionService.listRelevance(request));
|
||||
}
|
||||
|
||||
@PostMapping("/list/relevance/review/{goPage}/{pageSize}")
|
||||
public Pager<List<ApiDefinitionResult>> listRelevanceReview(@PathVariable int goPage, @PathVariable int pageSize, @RequestBody ApiDefinitionRequest request) {
|
||||
Page<Object> page = PageHelper.startPage(goPage, pageSize, true);
|
||||
request.setWorkspaceId(SessionUtils.getCurrentWorkspaceId());
|
||||
return PageUtils.setPageInfo(page, apiDefinitionService.listRelevanceReview(request));
|
||||
}
|
||||
|
||||
|
|
|
@ -8,15 +8,11 @@ import io.metersphere.api.service.ApiTestCaseService;
|
|||
import io.metersphere.base.domain.ApiTestCase;
|
||||
import io.metersphere.base.domain.ApiTestCaseWithBLOBs;
|
||||
import io.metersphere.commons.constants.OperLogConstants;
|
||||
import io.metersphere.commons.constants.RoleConstants;
|
||||
import io.metersphere.commons.utils.PageUtils;
|
||||
import io.metersphere.commons.utils.Pager;
|
||||
import io.metersphere.commons.utils.SessionUtils;
|
||||
import io.metersphere.log.annotation.MsAuditLog;
|
||||
import io.metersphere.track.request.testcase.ApiCaseRelevanceRequest;
|
||||
import io.metersphere.track.service.TestPlanApiCaseService;
|
||||
import org.apache.shiro.authz.annotation.Logical;
|
||||
import org.apache.shiro.authz.annotation.RequiresRoles;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
|
@ -35,14 +31,12 @@ public class ApiTestCaseController {
|
|||
|
||||
@PostMapping("/list")
|
||||
public List<ApiTestCaseResult> list(@RequestBody ApiTestCaseRequest request) {
|
||||
request.setWorkspaceId(SessionUtils.getCurrentWorkspaceId());
|
||||
return apiTestCaseService.list(request);
|
||||
}
|
||||
|
||||
@GetMapping("/findById/{id}")
|
||||
public ApiTestCaseResult single(@PathVariable String id) {
|
||||
ApiTestCaseRequest request = new ApiTestCaseRequest();
|
||||
request.setWorkspaceId(SessionUtils.getCurrentWorkspaceId());
|
||||
request.setId(id);
|
||||
List<ApiTestCaseResult> list = apiTestCaseService.list(request);
|
||||
if (!list.isEmpty()) {
|
||||
|
@ -62,28 +56,24 @@ public class ApiTestCaseController {
|
|||
@PostMapping("/list/{goPage}/{pageSize}")
|
||||
public Pager<List<ApiTestCaseDTO>> listSimple(@PathVariable int goPage, @PathVariable int pageSize, @RequestBody ApiTestCaseRequest request) {
|
||||
Page<Object> page = PageHelper.startPage(goPage, pageSize, true);
|
||||
request.setWorkspaceId(SessionUtils.getCurrentWorkspaceId());
|
||||
return PageUtils.setPageInfo(page, apiTestCaseService.listSimple(request));
|
||||
}
|
||||
|
||||
@GetMapping("/list/{projectId}")
|
||||
public List<ApiTestCaseDTO> list(@PathVariable String projectId) {
|
||||
ApiTestCaseRequest request = new ApiTestCaseRequest();
|
||||
request.setWorkspaceId(SessionUtils.getCurrentWorkspaceId());
|
||||
request.setProjectId(projectId);
|
||||
return apiTestCaseService.listSimple(request);
|
||||
}
|
||||
|
||||
@PostMapping("/get/request")
|
||||
public Map<String, String> listSimple(@RequestBody ApiTestCaseRequest request) {
|
||||
request.setWorkspaceId(SessionUtils.getCurrentWorkspaceId());
|
||||
return apiTestCaseService.getRequest(request);
|
||||
}
|
||||
|
||||
@PostMapping("/get/caseBLOBs/request")
|
||||
public List<ApiTestCaseInfo> getCaseBLOBs(@RequestBody ApiTestCaseRequest request) {
|
||||
|
||||
request.setWorkspaceId(SessionUtils.getCurrentWorkspaceId());
|
||||
List<ApiTestCaseInfo> returnList = apiTestCaseService.findApiTestCaseBLOBs(request);
|
||||
return returnList;
|
||||
}
|
||||
|
|
|
@ -49,13 +49,11 @@ public class APIReportService {
|
|||
|
||||
public List<APIReportResult> list(QueryAPIReportRequest request) {
|
||||
request.setOrders(ServiceUtils.getDefaultOrder(request.getOrders()));
|
||||
request.setProjectId(SessionUtils.getCurrentProjectId());
|
||||
return extApiTestReportMapper.list(request);
|
||||
}
|
||||
|
||||
public List<APIReportResult> recentTest(QueryAPIReportRequest request) {
|
||||
request.setOrders(ServiceUtils.getDefaultOrder(request.getOrders()));
|
||||
request.setProjectId(SessionUtils.getCurrentProjectId());
|
||||
return extApiTestReportMapper.list(request);
|
||||
}
|
||||
|
||||
|
|
|
@ -77,7 +77,6 @@ public class APITestService {
|
|||
|
||||
public List<APITestResult> recentTest(QueryAPITestRequest request) {
|
||||
request.setOrders(ServiceUtils.getDefaultOrder(request.getOrders()));
|
||||
request.setProjectId(SessionUtils.getCurrentProjectId());
|
||||
return extApiTestMapper.list(request);
|
||||
}
|
||||
|
||||
|
@ -412,8 +411,8 @@ public class APITestService {
|
|||
ApiTestExample example = new ApiTestExample();
|
||||
ApiTestExample.Criteria criteria = example.createCriteria();
|
||||
criteria.andIdIn(resourceIds);
|
||||
if (StringUtils.isNotBlank(SessionUtils.getCurrentProjectId())) {
|
||||
criteria.andProjectIdEqualTo(SessionUtils.getCurrentProjectId());
|
||||
if (StringUtils.isNotBlank(request.getProjectId())) {
|
||||
criteria.andProjectIdEqualTo(request.getProjectId());
|
||||
}
|
||||
List<ApiTest> apiTests = apiTestMapper.selectByExample(example);
|
||||
Map<String, String> apiTestMap = apiTests.stream().collect(Collectors.toMap(ApiTest::getId, ApiTest::getName));
|
||||
|
|
|
@ -87,7 +87,6 @@ public class ProjectController {
|
|||
|
||||
@PostMapping("/list/{goPage}/{pageSize}")
|
||||
public Pager<List<ProjectDTO>> getProjectList(@PathVariable int goPage, @PathVariable int pageSize, @RequestBody ProjectRequest request) {
|
||||
request.setWorkspaceId(SessionUtils.getCurrentWorkspaceId());
|
||||
if (StringUtils.isBlank(request.getProjectId())) {
|
||||
List<String> sourceIds = SessionUtils.getUser().getUserGroups().stream().map(UserGroup::getSourceId).collect(Collectors.toList());
|
||||
request.setFilters(new HashMap<String, List<String>>() {{
|
||||
|
@ -106,7 +105,6 @@ public class ProjectController {
|
|||
*/
|
||||
@PostMapping("/list/related")
|
||||
public List<ProjectDTO> getUserProject(@RequestBody ProjectRequest request) {
|
||||
request.setWorkspaceId(SessionUtils.getCurrentWorkspaceId());
|
||||
return projectService.getUserProject(request);
|
||||
}
|
||||
|
||||
|
|
|
@ -32,8 +32,7 @@ public class WorkspaceController {
|
|||
@PostMapping("add")
|
||||
@MsAuditLog(module = "system_workspace", type = OperLogConstants.CREATE, content = "#msClass.getLogDetails(#workspace.id)", msClass = WorkspaceService.class)
|
||||
public Workspace addWorkspace(@RequestBody Workspace workspace) {
|
||||
String currentOrganizationId = SessionUtils.getCurrentOrganizationId();
|
||||
organizationService.checkOrgOwner(currentOrganizationId);
|
||||
organizationService.checkOrgOwner(workspace.getOrganizationId());
|
||||
return workspaceService.saveWorkspace(workspace);
|
||||
}
|
||||
|
||||
|
@ -78,7 +77,6 @@ public class WorkspaceController {
|
|||
|
||||
@PostMapping("list/{goPage}/{pageSize}")
|
||||
public Pager<List<Workspace>> getWorkspaceList(@PathVariable int goPage, @PathVariable int pageSize, @RequestBody WorkspaceRequest request) {
|
||||
request.setOrganizationId(SessionUtils.getCurrentOrganizationId());
|
||||
Page<Object> page = PageHelper.startPage(goPage, pageSize, true);
|
||||
return PageUtils.setPageInfo(page, workspaceService.getWorkspaceList(request));
|
||||
}
|
||||
|
|
|
@ -25,7 +25,6 @@ public class OperatingLogController {
|
|||
@PostMapping("/list/{goPage}/{pageSize}")
|
||||
public Pager<List<OperatingLogDTO>> list(@PathVariable int goPage, @PathVariable int pageSize, @RequestBody OperatingLogRequest request) {
|
||||
Page<Object> page = PageHelper.startPage(goPage, pageSize, true);
|
||||
request.setWorkspaceId(SessionUtils.getCurrentWorkspaceId());
|
||||
return PageUtils.setPageInfo(page, operatingLogService.list(request));
|
||||
}
|
||||
|
||||
|
|
|
@ -61,8 +61,10 @@ public class WorkspaceService {
|
|||
MSException.throwException(Translator.get("workspace_name_is_null"));
|
||||
}
|
||||
// set organization id
|
||||
String currentOrgId = SessionUtils.getCurrentOrganizationId();
|
||||
workspace.setOrganizationId(currentOrgId);
|
||||
if (StringUtils.isBlank(workspace.getOrganizationId())) {
|
||||
String currentOrgId = SessionUtils.getCurrentOrganizationId();
|
||||
workspace.setOrganizationId(currentOrgId);
|
||||
}
|
||||
|
||||
long currentTime = System.currentTimeMillis();
|
||||
|
||||
|
|
|
@ -34,7 +34,6 @@ public class TestCaseReviewApiCaseController {
|
|||
@RequiresPermissions(PermissionConstants.PROJECT_TRACK_REVIEW_READ_RELEVANCE_OR_CANCEL)
|
||||
public Pager<List<ApiTestCaseDTO>> relevanceList(@PathVariable int goPage, @PathVariable int pageSize, @RequestBody ApiTestCaseRequest request) {
|
||||
Page<Object> page = PageHelper.startPage(goPage, pageSize, true);
|
||||
request.setWorkspaceId(SessionUtils.getCurrentWorkspaceId());
|
||||
return PageUtils.setPageInfo(page, testCaseReviewApiCaseService.relevanceList(request));
|
||||
}
|
||||
|
||||
|
|
|
@ -33,7 +33,6 @@ public class TestCaseReviewScenarioCaseController {
|
|||
@PostMapping("/relevance/list/{goPage}/{pageSize}")
|
||||
public Pager<List<ApiScenarioDTO>> relevanceList(@PathVariable int goPage, @PathVariable int pageSize, @RequestBody ApiScenarioRequest request) {
|
||||
Page<Object> page = PageHelper.startPage(goPage, pageSize, true);
|
||||
request.setWorkspaceId(SessionUtils.getCurrentWorkspaceId());
|
||||
return PageUtils.setPageInfo(page, testCaseReviewScenarioCaseService.relevanceList(request));
|
||||
}
|
||||
|
||||
|
|
|
@ -49,8 +49,6 @@ public class TestPlanController {
|
|||
@PostMapping("/list/{goPage}/{pageSize}")
|
||||
@RequiresPermissions("PROJECT_TRACK_PLAN:READ")
|
||||
public Pager<List<TestPlanDTOWithMetric>> list(@PathVariable int goPage, @PathVariable int pageSize, @RequestBody QueryTestPlanRequest request) {
|
||||
String currentWorkspaceId = SessionUtils.getCurrentWorkspaceId();
|
||||
request.setWorkspaceId(currentWorkspaceId);
|
||||
Page<Object> page = PageHelper.startPage(goPage, pageSize, true);
|
||||
return PageUtils.setPageInfo(page, testPlanService.listTestPlan(request));
|
||||
}
|
||||
|
|
|
@ -32,8 +32,6 @@ public class TestPlanReportController {
|
|||
private TestPlanReportService testPlanReportService;
|
||||
@PostMapping("/list/{goPage}/{pageSize}")
|
||||
public Pager<List<TestPlanReportDTO>> list(@PathVariable int goPage, @PathVariable int pageSize, @RequestBody QueryTestPlanReportRequest request) {
|
||||
String currentWorkspaceId = SessionUtils.getCurrentWorkspaceId();
|
||||
request.setWorkspaceId(currentWorkspaceId);
|
||||
Page<Object> page = PageHelper.startPage(goPage, pageSize, true);
|
||||
return PageUtils.setPageInfo(page, testPlanReportService.list(request));
|
||||
}
|
||||
|
|
|
@ -41,7 +41,6 @@ public class TestPlanScenarioCaseController {
|
|||
@PostMapping("/relevance/list/{goPage}/{pageSize}")
|
||||
public Pager<List<ApiScenarioDTO>> relevanceList(@PathVariable int goPage, @PathVariable int pageSize, @RequestBody ApiScenarioRequest request) {
|
||||
Page<Object> page = PageHelper.startPage(goPage, pageSize, true);
|
||||
request.setWorkspaceId(SessionUtils.getCurrentWorkspaceId());
|
||||
return PageUtils.setPageInfo(page, testPlanScenarioCaseService.relevanceList(request));
|
||||
}
|
||||
|
||||
|
|
|
@ -114,7 +114,9 @@ public class TestCaseReviewService {
|
|||
reviewRequest.setUpdateTime(System.currentTimeMillis());
|
||||
reviewRequest.setCreator(SessionUtils.getUser().getId());//创建人
|
||||
reviewRequest.setStatus(TestCaseReviewStatus.Prepare.name());
|
||||
reviewRequest.setProjectId(SessionUtils.getCurrentProjectId());
|
||||
if (StringUtils.isBlank(reviewRequest.getProjectId())) {
|
||||
reviewRequest.setProjectId(SessionUtils.getCurrentProjectId());
|
||||
}
|
||||
testCaseReviewMapper.insert(reviewRequest);
|
||||
// 发送通知
|
||||
String context = getReviewContext(reviewRequest, NoticeConstants.Event.CREATE);
|
||||
|
@ -496,7 +498,6 @@ public class TestCaseReviewService {
|
|||
} else {
|
||||
request.setReviewerId(user.getId());
|
||||
}
|
||||
request.setWorkspaceId(SessionUtils.getCurrentWorkspaceId());
|
||||
request.setProjectId(SessionUtils.getCurrentProjectId());
|
||||
request.setReviewIds(extTestReviewCaseMapper.findRelateTestReviewId(user.getId(), SessionUtils.getCurrentWorkspaceId(), user.getLastProjectId()));
|
||||
|
||||
|
|
|
@ -406,9 +406,8 @@ public class TestCaseService {
|
|||
TestCaseExample testCaseExample = new TestCaseExample();
|
||||
TestCaseExample.Criteria criteria = testCaseExample.createCriteria();
|
||||
criteria.andMaintainerEqualTo(request.getUserId());
|
||||
String projectId = SessionUtils.getCurrentProjectId();
|
||||
if (StringUtils.isNotBlank(projectId)) {
|
||||
criteria.andProjectIdEqualTo(projectId);
|
||||
if (StringUtils.isNotBlank(request.getProjectId())) {
|
||||
criteria.andProjectIdEqualTo(request.getProjectId());
|
||||
testCaseExample.setOrderByClause("update_time desc, sort desc");
|
||||
return testCaseMapper.selectByExample(testCaseExample);
|
||||
}
|
||||
|
|
|
@ -149,7 +149,9 @@ public class TestPlanService {
|
|||
testPlan.setCreateTime(System.currentTimeMillis());
|
||||
testPlan.setUpdateTime(System.currentTimeMillis());
|
||||
testPlan.setCreator(SessionUtils.getUser().getId());
|
||||
testPlan.setProjectId(SessionUtils.getCurrentProjectId());
|
||||
if (StringUtils.isBlank(testPlan.getProjectId())) {
|
||||
testPlan.setProjectId(SessionUtils.getCurrentProjectId());
|
||||
}
|
||||
testPlanMapper.insert(testPlan);
|
||||
|
||||
List<String> userIds = new ArrayList<>();
|
||||
|
@ -172,7 +174,7 @@ public class TestPlanService {
|
|||
|
||||
public List<TestPlan> getTestPlanByName(String name) {
|
||||
TestPlanExample example = new TestPlanExample();
|
||||
example.createCriteria().andWorkspaceIdEqualTo(SessionUtils.getCurrentWorkspaceId())
|
||||
example.createCriteria()
|
||||
.andProjectIdEqualTo(SessionUtils.getCurrentProjectId())
|
||||
.andNameEqualTo(name);
|
||||
return testPlanMapper.selectByExample(example);
|
||||
|
@ -385,9 +387,8 @@ public class TestPlanService {
|
|||
|
||||
public List<TestPlanDTOWithMetric> listTestPlan(QueryTestPlanRequest request) {
|
||||
request.setOrders(ServiceUtils.getDefaultOrder(request.getOrders()));
|
||||
String projectId = SessionUtils.getCurrentProjectId();
|
||||
if (StringUtils.isNotBlank(projectId)) {
|
||||
request.setProjectId(projectId);
|
||||
if (StringUtils.isNotBlank(request.getProjectId())) {
|
||||
request.setProjectId(request.getProjectId());
|
||||
}
|
||||
List<TestPlanDTOWithMetric> testPlans = extTestPlanMapper.list(request);
|
||||
testPlans.forEach(item -> {
|
||||
|
|
|
@ -270,6 +270,7 @@ export default {
|
|||
this.$warning(this.$t('commons.check_project_tip'));
|
||||
return;
|
||||
}
|
||||
this.condition.projectId = getCurrentProjectID();
|
||||
this.result = this.$post(this.buildPagePath(this.queryPath), this.condition, response => {
|
||||
let data = response.data;
|
||||
this.total = data.itemCount;
|
||||
|
|
|
@ -70,6 +70,7 @@ import ReportTriggerModeItem from "../../common/tableItem/ReportTriggerModeItem"
|
|||
import {REPORT_CONFIGS} from "../../common/components/search/search-components";
|
||||
import ShowMoreBtn from "../../track/case/components/ShowMoreBtn";
|
||||
import {_filter, _sort} from "@/common/js/tableUtils";
|
||||
import {getCurrentProjectID} from "@/common/js/utils";
|
||||
|
||||
export default {
|
||||
components: {
|
||||
|
@ -121,7 +122,7 @@ export default {
|
|||
if (this.testId !== 'all') {
|
||||
this.condition.testId = this.testId;
|
||||
}
|
||||
|
||||
this.condition.projectId = getCurrentProjectID();
|
||||
let url = "/api/report/list/" + this.currentPage + "/" + this.pageSize;
|
||||
this.result = this.$post(url, this.condition, response => {
|
||||
let data = response.data;
|
||||
|
|
|
@ -28,7 +28,7 @@
|
|||
{{ item.name }}
|
||||
</span>
|
||||
<i class="el-icon-check"
|
||||
v-if="item.id === currentUserInfo.lastOrganizationId"></i>
|
||||
v-if="item.id === getCurrentOrganizationId()"></i>
|
||||
</el-menu-item>
|
||||
</div>
|
||||
</el-submenu>
|
||||
|
@ -53,7 +53,7 @@
|
|||
<span class="title">
|
||||
{{ item.name }}
|
||||
</span>
|
||||
<i class="el-icon-check" v-if="item.id === currentUserInfo.lastWorkspaceId"></i>
|
||||
<i class="el-icon-check" v-if="item.id === getCurrentWorkspaceId()"></i>
|
||||
</el-menu-item>
|
||||
</div>
|
||||
</el-submenu>
|
||||
|
@ -61,7 +61,8 @@
|
|||
</template>
|
||||
|
||||
<script>
|
||||
import {getCurrentUser, saveLocalStorage} from "@/common/js/utils";
|
||||
import {getCurrentOrganizationId, getCurrentUser, getCurrentWorkspaceId, saveLocalStorage} from "@/common/js/utils";
|
||||
import {ORGANIZATION_ID, PROJECT_ID, WORKSPACE_ID} from "@/common/js/constants";
|
||||
|
||||
export default {
|
||||
name: "MsHeaderOrgWs",
|
||||
|
@ -108,12 +109,14 @@ export default {
|
|||
}
|
||||
},
|
||||
methods: {
|
||||
getCurrentOrganizationId,
|
||||
getCurrentWorkspaceId,
|
||||
initMenuData() {
|
||||
this.$get("/organization/list/userorg/" + encodeURIComponent(this.currentUserId), response => {
|
||||
let data = response.data;
|
||||
this.organizationList = data;
|
||||
this.orgListCopy = data;
|
||||
let org = data.filter(r => r.id === this.currentUser.lastOrganizationId);
|
||||
let org = data.filter(r => r.id === getCurrentOrganizationId());
|
||||
if (org.length > 0) {
|
||||
this.currentOrganizationName = org[0].name;
|
||||
}
|
||||
|
@ -121,14 +124,14 @@ export default {
|
|||
if (!this.currentUser.lastOrganizationId) {
|
||||
return false;
|
||||
}
|
||||
this.$get("/workspace/list/orgworkspace/", response => {
|
||||
this.$get("/workspace/list/orgworkspace/" + getCurrentOrganizationId(), response => {
|
||||
let data = response.data;
|
||||
if (data.length === 0) {
|
||||
this.workspaceList = [{name: this.$t('workspace.none')}];
|
||||
} else {
|
||||
this.workspaceList = data;
|
||||
this.wsListCopy = data;
|
||||
let workspace = data.filter(r => r.id === this.currentUser.lastWorkspaceId);
|
||||
let workspace = data.filter(r => r.id === getCurrentWorkspaceId());
|
||||
if (workspace.length > 0) {
|
||||
this.currentWorkspaceName = workspace[0].name;
|
||||
}
|
||||
|
@ -147,14 +150,11 @@ export default {
|
|||
}
|
||||
this.$post("/user/switch/source/org/" + orgId, {}, response => {
|
||||
saveLocalStorage(response);
|
||||
if (response.data.workspaceId) {
|
||||
localStorage.setItem("workspace_id", response.data.workspaceId);
|
||||
}
|
||||
// if (response.data.lastProjectId) {
|
||||
// localStorage.setItem(PROJECT_ID, response.data.lastProjectId);
|
||||
// } else {
|
||||
// localStorage.removeItem(PROJECT_ID);
|
||||
// }
|
||||
|
||||
sessionStorage.setItem(ORGANIZATION_ID, orgId);
|
||||
sessionStorage.setItem(WORKSPACE_ID, response.data.lastWorkspaceId);
|
||||
sessionStorage.setItem(PROJECT_ID, response.data.lastProjectId);
|
||||
|
||||
this.$router.push('/').then(() => {
|
||||
this.reloadTopMenus();
|
||||
}).catch(err => err);
|
||||
|
@ -167,12 +167,9 @@ export default {
|
|||
}
|
||||
this.$post("/user/switch/source/ws/" + workspaceId, {}, response => {
|
||||
saveLocalStorage(response);
|
||||
localStorage.setItem("workspace_id", workspaceId);
|
||||
// if (response.data.lastProjectId) {
|
||||
// localStorage.setItem(PROJECT_ID, response.data.lastProjectId);
|
||||
// } else {
|
||||
// localStorage.removeItem(PROJECT_ID);
|
||||
// }
|
||||
sessionStorage.setItem(WORKSPACE_ID, workspaceId);
|
||||
sessionStorage.setItem(PROJECT_ID, response.data.lastProjectId);
|
||||
|
||||
this.$router.push('/').then(() => {
|
||||
this.reloadTopMenus();
|
||||
}).catch(err => err);
|
||||
|
|
|
@ -29,6 +29,7 @@ import AboutUs from "./AboutUs";
|
|||
import axios from "axios";
|
||||
import {mapGetters} from "vuex";
|
||||
import {TokenKey} from "@/common/js/constants";
|
||||
import {ORGANIZATION_ID, PROJECT_ID, WORKSPACE_ID} from "@/common/js/constants";
|
||||
|
||||
const requireComponent = require.context('@/business/components/xpack/', true, /\.vue$/);
|
||||
const auth = requireComponent.keys().length > 0 ? requireComponent("./auth/Auth.vue") : {};
|
||||
|
@ -54,10 +55,19 @@ export default {
|
|||
axios.get("/signout").then(response => {
|
||||
if (response.data.success) {
|
||||
localStorage.removeItem(TokenKey);
|
||||
|
||||
sessionStorage.removeItem(ORGANIZATION_ID);
|
||||
sessionStorage.removeItem(WORKSPACE_ID);
|
||||
sessionStorage.removeItem(PROJECT_ID);
|
||||
|
||||
window.location.href = "/login";
|
||||
}
|
||||
}).catch(error => {
|
||||
localStorage.removeItem(TokenKey);
|
||||
|
||||
sessionStorage.removeItem(ORGANIZATION_ID);
|
||||
sessionStorage.removeItem(WORKSPACE_ID);
|
||||
sessionStorage.removeItem(PROJECT_ID);
|
||||
window.location.href = "/login";
|
||||
});
|
||||
},
|
||||
|
|
|
@ -24,7 +24,8 @@
|
|||
|
||||
<script>
|
||||
import SearchList from "@/business/components/common/head/SearchList";
|
||||
import {PROJECT_NAME} from "../../../../common/js/constants";
|
||||
import {PROJECT_NAME} from "@/common/js/constants";
|
||||
import {getCurrentProjectID} from "@/common/js/utils";
|
||||
|
||||
export default {
|
||||
name: "ProjectSwitch",
|
||||
|
@ -34,24 +35,27 @@ export default {
|
|||
components: {SearchList},
|
||||
watch: {
|
||||
currentProject() {
|
||||
localStorage.setItem(PROJECT_NAME, this.currentProject);
|
||||
sessionStorage.setItem(PROJECT_NAME, this.currentProject);
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
getCurrentProjectID,
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
currentProject: this.projectName
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.project-name {
|
||||
display: inline-block;
|
||||
width: 130px;
|
||||
white-space:nowrap;
|
||||
overflow:hidden;
|
||||
text-overflow:ellipsis;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
.el-divider--horizontal {
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
<div class="title">
|
||||
{{ i.name }}
|
||||
</div>
|
||||
<i class="el-icon-check" v-if="i.id === currentProjectId"></i>
|
||||
<i class="el-icon-check" v-if="i.id === getCurrentProjectID()"></i>
|
||||
</template>
|
||||
</el-menu-item>
|
||||
</div>
|
||||
|
@ -26,8 +26,15 @@
|
|||
</template>
|
||||
|
||||
<script>
|
||||
import {getCurrentProjectID, getCurrentUser, getCurrentUserId, saveLocalStorage} from "@/common/js/utils";
|
||||
import {
|
||||
getCurrentProjectID,
|
||||
getCurrentUser,
|
||||
getCurrentUserId,
|
||||
getCurrentWorkspaceId,
|
||||
saveLocalStorage
|
||||
} from "@/common/js/utils";
|
||||
import {mapGetters} from "vuex";
|
||||
import {PROJECT_ID} from "@/common/js/constants";
|
||||
|
||||
export default {
|
||||
name: "SearchList",
|
||||
|
@ -54,17 +61,21 @@ export default {
|
|||
searchArray: [],
|
||||
searchString: '',
|
||||
userId: getCurrentUser().id,
|
||||
currentProjectId: getCurrentProjectID(),
|
||||
}
|
||||
};
|
||||
},
|
||||
watch: {
|
||||
searchString(val) {
|
||||
this.query(val)
|
||||
this.query(val);
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
getCurrentProjectID,
|
||||
init: function () {
|
||||
this.result = this.$post("/project/list/related", {userId: getCurrentUserId()}, response => {
|
||||
let data = {
|
||||
userId: getCurrentUserId(),
|
||||
workspaceId: getCurrentWorkspaceId()
|
||||
};
|
||||
this.result = this.$post("/project/list/related", data, response => {
|
||||
this.items = response.data;
|
||||
this.searchArray = response.data;
|
||||
let projectId = getCurrentProjectID();
|
||||
|
@ -79,7 +90,7 @@ export default {
|
|||
}
|
||||
}
|
||||
this.changeProjectName(projectId);
|
||||
})
|
||||
});
|
||||
},
|
||||
query(queryString) {
|
||||
this.items = queryString ? this.searchArray.filter(this.createFilter(queryString)) : this.searchArray;
|
||||
|
@ -99,6 +110,8 @@ export default {
|
|||
this.currentProjectId = projectId;
|
||||
|
||||
this.$EventBus.$emit('projectChange');
|
||||
// 保存session里的projectId
|
||||
sessionStorage.setItem(PROJECT_ID, projectId);
|
||||
// 刷新路由
|
||||
this.reload();
|
||||
|
||||
|
@ -116,7 +129,7 @@ export default {
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
|
|
@ -116,7 +116,7 @@
|
|||
<script>
|
||||
import MsTablePagination from "../../common/pagination/TablePagination";
|
||||
import MsTableOperator from "../../common/components/MsTableOperator";
|
||||
import {getCurrentProjectID, getCurrentUser, hasRoles} from "@/common/js/utils";
|
||||
import {getCurrentProjectID, getCurrentUser, getCurrentWorkspaceId, hasRoles} from "@/common/js/utils";
|
||||
import {PROJECT_ID, ROLE_TEST_MANAGER, ROLE_TEST_USER, ROLE_TEST_VIEWER, WORKSPACE_ID} from "@/common/js/constants";
|
||||
import MsLogDetail from "./LogDetail";
|
||||
|
||||
|
@ -246,11 +246,11 @@
|
|||
this.getMember();
|
||||
break;
|
||||
case "organization":
|
||||
this.initProject("/project/listAll/" + getCurrentUser().lastWorkspaceId);
|
||||
this.initProject("/project/listAll/" + getCurrentWorkspaceId());
|
||||
this.getMember();
|
||||
break;
|
||||
case "workspace":
|
||||
this.initProject("/project/listAll/" + getCurrentUser().lastWorkspaceId);
|
||||
this.initProject("/project/listAll/" + getCurrentWorkspaceId());
|
||||
this.getMember();
|
||||
break;
|
||||
case "project":
|
||||
|
@ -267,11 +267,11 @@
|
|||
this.getMember();
|
||||
break;
|
||||
case "organization":
|
||||
this.initProject("/project/listAll/" + getCurrentUser().lastWorkspaceId);
|
||||
this.initProject("/project/listAll/" + getCurrentWorkspaceId());
|
||||
this.getMember();
|
||||
break;
|
||||
case "workspace":
|
||||
this.initProject("/project/listAll/" + getCurrentUser().lastWorkspaceId);
|
||||
this.initProject("/project/listAll/" + getCurrentWorkspaceId());
|
||||
this.getMember();
|
||||
break;
|
||||
case "project":
|
||||
|
|
|
@ -249,6 +249,7 @@ export default {
|
|||
if (this.form.id) {
|
||||
saveType = 'update';
|
||||
}
|
||||
this.form.organizationId = getCurrentOrganizationId();
|
||||
this.$post("/workspace/" + saveType, this.form, () => {
|
||||
this.dialogWsAddVisible = false;
|
||||
this.dialogWsUpdateVisible = false;
|
||||
|
@ -298,7 +299,7 @@ export default {
|
|||
},
|
||||
list() {
|
||||
let url = '/workspace/list/' + this.currentPage + '/' + this.pageSize;
|
||||
let lastOrganizationId = this.currentUser.lastOrganizationId;
|
||||
let lastOrganizationId = getCurrentOrganizationId();
|
||||
// let userRole = this.currentUser.userRoles.filter(r => r.sourceId === lastOrganizationId);
|
||||
// if (userRole.length > 0) {
|
||||
// let isOrg_admin = false;
|
||||
|
@ -329,6 +330,7 @@ export default {
|
|||
// this.items = [];
|
||||
// this.total = 0;
|
||||
// }
|
||||
this.condition.organizationId = lastOrganizationId;
|
||||
this.result = this.$post(url, this.condition, response => {
|
||||
let data = response.data;
|
||||
this.items = data.listObject;
|
||||
|
|
|
@ -245,7 +245,7 @@ export default {
|
|||
});
|
||||
},
|
||||
create() {
|
||||
let workspaceId = this.currentUser.lastWorkspaceId;
|
||||
let workspaceId = getCurrentWorkspaceId();
|
||||
this.getOptions();
|
||||
if (!workspaceId) {
|
||||
this.$warning(this.$t('project.please_choose_workspace'));
|
||||
|
|
|
@ -382,7 +382,7 @@ export default {
|
|||
});
|
||||
},
|
||||
create() {
|
||||
let workspaceId = this.currentUser.lastWorkspaceId;
|
||||
let workspaceId = getCurrentWorkspaceId();
|
||||
this.getOptions();
|
||||
if (!workspaceId) {
|
||||
this.$warning(this.$t('project.please_choose_workspace'));
|
||||
|
@ -487,6 +487,7 @@ export default {
|
|||
this.list();
|
||||
},
|
||||
list() {
|
||||
this.condition.workspaceId = getCurrentWorkspaceId();
|
||||
let url = "/project/list/" + this.currentPage + '/' + this.pageSize;
|
||||
this.result = this.$post(url, this.condition, (response) => {
|
||||
let data = response.data;
|
||||
|
|
|
@ -135,7 +135,7 @@
|
|||
import MsDialogFooter from "../../common/components/MsDialogFooter";
|
||||
import {
|
||||
getCurrentOrganizationId, getCurrentProjectID,
|
||||
getCurrentUser,
|
||||
getCurrentUser, getCurrentWorkspaceId,
|
||||
listenGoBack,
|
||||
removeGoBackListener
|
||||
} from "../../../../common/js/utils";
|
||||
|
@ -199,19 +199,19 @@
|
|||
return getCurrentUser();
|
||||
},
|
||||
initTableData() {
|
||||
if (this.currentUser().lastWorkspaceId === null) {
|
||||
if (getCurrentWorkspaceId() === null) {
|
||||
return false;
|
||||
}
|
||||
this.loading = true;
|
||||
let param = {
|
||||
name: this.condition.name,
|
||||
workspaceId: this.currentUser().lastWorkspaceId
|
||||
workspaceId: getCurrentWorkspaceId()
|
||||
};
|
||||
|
||||
this.result = this.$post(this.buildPagePath(this.queryPath), param, response => {
|
||||
let data = response.data;
|
||||
this.tableData = data.listObject;
|
||||
let url = "/user/group/list/ws/" + this.currentUser().lastWorkspaceId;
|
||||
let url = "/user/group/list/ws/" + getCurrentWorkspaceId();
|
||||
for (let i = 0; i < this.tableData.length; i++) {
|
||||
this.$get(url + "/" + encodeURIComponent(this.tableData[i].id), response => {
|
||||
let groups = response.data;
|
||||
|
@ -262,7 +262,7 @@
|
|||
cancelButtonText: this.$t('commons.cancel'),
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
this.result = this.$get('/user/ws/member/delete/' + this.currentUser().lastWorkspaceId + '/' + encodeURIComponent(row.id),() => {
|
||||
this.result = this.$get('/user/ws/member/delete/' + getCurrentWorkspaceId() + '/' + encodeURIComponent(row.id), () => {
|
||||
this.$success(this.$t('commons.remove_success'));
|
||||
this.initTableData();
|
||||
});
|
||||
|
@ -288,7 +288,7 @@
|
|||
email: this.form.email,
|
||||
phone: this.form.phone,
|
||||
groupIds: this.form.groupIds,
|
||||
workspaceId: this.currentUser().lastWorkspaceId
|
||||
workspaceId: getCurrentWorkspaceId()
|
||||
}
|
||||
this.$refs[formName].validate((valid) => {
|
||||
if (valid) {
|
||||
|
@ -306,7 +306,7 @@
|
|||
// name: this.condition.name,
|
||||
// organizationId: this.currentUser().lastOrganizationId
|
||||
// };
|
||||
let wsId = this.currentUser().lastWorkspaceId;
|
||||
let wsId = getCurrentWorkspaceId();
|
||||
if (typeof wsId == "undefined" || wsId == null || wsId == "") {
|
||||
this.$warning(this.$t('workspace.please_select_a_workspace_first'));
|
||||
return false;
|
||||
|
@ -330,7 +330,7 @@
|
|||
let param = {
|
||||
userIds: this.form.userIds,
|
||||
groupIds: this.form.groupIds,
|
||||
workspaceId: this.currentUser().lastWorkspaceId
|
||||
workspaceId: getCurrentWorkspaceId()
|
||||
};
|
||||
this.result = this.$post("user/ws/member/add", param, () => {
|
||||
this.$success(this.$t('commons.save_success'));
|
||||
|
|
|
@ -328,6 +328,7 @@ export default {
|
|||
if (!this.projectId) {
|
||||
return;
|
||||
}
|
||||
this.condition.projectId = getCurrentProjectID();
|
||||
this.cardResult = this.$post(this.buildPagePath(this.queryPath), this.condition, response => {
|
||||
let data = response.data;
|
||||
this.total = data.itemCount;
|
||||
|
|
|
@ -20,6 +20,7 @@ export const ROLE_TEST_MANAGER = 'test_manager';
|
|||
export const ROLE_TEST_USER = 'test_user';
|
||||
export const ROLE_TEST_VIEWER = 'test_viewer';
|
||||
|
||||
export const ORGANIZATION_ID = 'organization_id';
|
||||
export const WORKSPACE_ID = 'workspace_id';
|
||||
export const CURRENT_PROJECT = 'current_project';
|
||||
export const PROJECT_ID = 'project_id';
|
||||
|
|
|
@ -2,6 +2,7 @@ import {
|
|||
COUNT_NUMBER,
|
||||
COUNT_NUMBER_SHALLOW,
|
||||
LicenseKey,
|
||||
ORGANIZATION_ID,
|
||||
ORIGIN_COLOR,
|
||||
ORIGIN_COLOR_SHALLOW,
|
||||
PRIMARY_COLOR,
|
||||
|
@ -12,7 +13,8 @@ import {
|
|||
ROLE_TEST_MANAGER,
|
||||
ROLE_TEST_USER,
|
||||
ROLE_TEST_VIEWER,
|
||||
TokenKey
|
||||
TokenKey,
|
||||
WORKSPACE_ID
|
||||
} from "./constants";
|
||||
import axios from "axios";
|
||||
import {jsPDF} from "jspdf";
|
||||
|
@ -178,13 +180,15 @@ export function checkoutTestManagerOrTestUser() {
|
|||
}
|
||||
|
||||
export function getCurrentOrganizationId() {
|
||||
let user = getCurrentUser();
|
||||
return user.lastOrganizationId;
|
||||
return sessionStorage.getItem(ORGANIZATION_ID);
|
||||
}
|
||||
|
||||
export function getCurrentWorkspaceId() {
|
||||
let user = getCurrentUser();
|
||||
return user.lastWorkspaceId;
|
||||
return sessionStorage.getItem(WORKSPACE_ID);
|
||||
}
|
||||
|
||||
export function getCurrentProjectID() {
|
||||
return sessionStorage.getItem(PROJECT_ID);
|
||||
}
|
||||
|
||||
export function getCurrentUser() {
|
||||
|
@ -196,11 +200,6 @@ export function getCurrentUserId() {
|
|||
return user.id;
|
||||
}
|
||||
|
||||
export function getCurrentProjectID() {
|
||||
let user = getCurrentUser();
|
||||
return user.lastProjectId;
|
||||
}
|
||||
|
||||
export function enableModules(...modules) {
|
||||
for (let module of modules) {
|
||||
let moduleStatus = localStorage.getItem('module_' + module);
|
||||
|
@ -214,6 +213,15 @@ export function enableModules(...modules) {
|
|||
export function saveLocalStorage(response) {
|
||||
// 登录信息保存 cookie
|
||||
localStorage.setItem(TokenKey, JSON.stringify(response.data));
|
||||
if (!sessionStorage.getItem(PROJECT_ID)) {
|
||||
sessionStorage.setItem(PROJECT_ID, response.data.lastProjectId);
|
||||
}
|
||||
if (!sessionStorage.getItem(ORGANIZATION_ID)) {
|
||||
sessionStorage.setItem(ORGANIZATION_ID, response.data.lastOrganizationId);
|
||||
}
|
||||
if (!sessionStorage.getItem(WORKSPACE_ID)) {
|
||||
sessionStorage.setItem(WORKSPACE_ID, response.data.lastWorkspaceId);
|
||||
}
|
||||
let rolesArray = response.data.roles;
|
||||
let roles = rolesArray.map(r => r.id);
|
||||
// 保存角色
|
||||
|
|
Loading…
Reference in New Issue