提交 1f84e55c 编写于 作者: C chenjianxing

解决全屏对话框浏览器回退问题

上级 18eee8c2
......@@ -130,13 +130,15 @@ public class ProjectService {
}
private void checkProjectExist (Project project) {
ProjectExample example = new ProjectExample();
example.createCriteria()
.andNameEqualTo(project.getName())
.andWorkspaceIdEqualTo(SessionUtils.getCurrentWorkspaceId())
.andIdNotEqualTo(project.getId());
if (projectMapper.selectByExample(example).size() > 0) {
MSException.throwException(Translator.get("project_name_already_exists"));
if (project.getName() != null) {
ProjectExample example = new ProjectExample();
example.createCriteria()
.andNameEqualTo(project.getName())
.andWorkspaceIdEqualTo(SessionUtils.getCurrentWorkspaceId())
.andIdNotEqualTo(project.getId());
if (projectMapper.selectByExample(example).size() > 0) {
MSException.throwException(Translator.get("project_name_already_exists"));
}
}
}
......
......@@ -97,13 +97,15 @@ public class TestCaseService {
}
private void checkTestCaseExist (TestCaseWithBLOBs testCase) {
TestCaseExample example = new TestCaseExample();
example.createCriteria()
.andNameEqualTo(testCase.getName())
.andProjectIdEqualTo(testCase.getProjectId())
.andIdNotEqualTo(testCase.getId());
if (testCaseMapper.selectByExample(example).size() > 0) {
MSException.throwException(Translator.get("test_case_already_exists"));
if (testCase.getName() != null) {
TestCaseExample example = new TestCaseExample();
example.createCriteria()
.andNameEqualTo(testCase.getName())
.andProjectIdEqualTo(testCase.getProjectId())
.andIdNotEqualTo(testCase.getId());
if (testCaseMapper.selectByExample(example).size() > 0) {
MSException.throwException(Translator.get("test_case_already_exists"));
}
}
}
......
......@@ -95,13 +95,15 @@ public class TestPlanService {
}
private void checkTestPlanExist (TestPlan testPlan) {
TestPlanExample example = new TestPlanExample();
example.createCriteria()
.andNameEqualTo(testPlan.getName())
.andWorkspaceIdEqualTo(SessionUtils.getCurrentWorkspaceId())
.andIdNotEqualTo(testPlan.getId());
if (testPlanMapper.selectByExample(example).size() > 0) {
MSException.throwException(Translator.get("plan_name_already_exists"));
if (testPlan.getName() != null) {
TestPlanExample example = new TestPlanExample();
example.createCriteria()
.andNameEqualTo(testPlan.getName())
.andWorkspaceIdEqualTo(SessionUtils.getCurrentWorkspaceId())
.andIdNotEqualTo(testPlan.getId());
if (testPlanMapper.selectByExample(example).size() > 0) {
MSException.throwException(Translator.get("plan_name_already_exists"));
}
}
}
......
......@@ -232,11 +232,23 @@
}
},
methods: {
handleClose(done) {
listenGoBack() {
//监听浏览器返回操作,关闭该对话框
if (window.history && window.history.pushState) {
history.pushState(null, null, document.URL);
window.addEventListener('popstate', this.goBack, false);
}
},
goBack() {
this.handleClose();
},
handleClose() {
//移除监听,防止监听其他页面
window.removeEventListener('popstate', this.goBack, false);
this.showDialog = false;
},
cancel() {
this.showDialog = false;
this.handleClose();
this.$emit('refreshTable');
},
statusChange(status) {
......@@ -299,6 +311,7 @@
},
openTestCaseEdit(testCase) {
this.showDialog = true;
this.listenGoBack();
this.initData(testCase);
},
initTest() {
......
......@@ -91,6 +91,16 @@
}
},
methods: {
listenGoBack() {
//监听浏览器返回操作,关闭该对话框
if (window.history && window.history.pushState) {
history.pushState(null, null, document.URL);
window.addEventListener('popstate', this.goBack, false);
}
},
goBack() {
this.handleClose();
},
open(id, isReport) {
if (isReport) {
this.isReport = isReport;
......@@ -112,6 +122,7 @@
this.initComponents();
}
this.showDialog = true;
this.listenGoBack();
},
initComponents() {
this.componentMap.forEach((value, key) =>{
......@@ -134,6 +145,7 @@
});
},
handleClose() {
window.removeEventListener('popstate', this.goBack, false);
this.showDialog = false;
},
change(evt) {
......@@ -221,7 +233,7 @@
}
this.$post(url + this.type, param, () =>{
this.$success(this.$t('commons.save_success'));
this.showDialog = false;
this.handleClose();
this.$emit('refresh');
});
},
......
......@@ -78,12 +78,23 @@
}
},
methods: {
listenGoBack() {
//监听浏览器返回操作,关闭该对话框
if (window.history && window.history.pushState) {
history.pushState(null, null, document.URL);
window.addEventListener('popstate', this.goBack, false);
}
},
goBack() {
this.handleClose();
},
open(id) {
if (id) {
this.reportId = id;
}
this.getReport();
this.showDialog = true;
this.listenGoBack();
},
getReport() {
this.result = this.$get('/case/report/get/' + this.reportId, response => {
......@@ -113,6 +124,7 @@
});
},
handleClose() {
window.removeEventListener('popstate', this.goBack, false);
this.showDialog = false;
},
handleEdit() {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册