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

This commit is contained in:
chenjianxing 2020-05-29 16:46:32 +08:00
parent 18eee8c2a6
commit 1f84e55ce7
6 changed files with 67 additions and 24 deletions

View File

@ -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"));
}
}
}

View File

@ -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"));
}
}
}

View File

@ -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"));
}
}
}

View File

@ -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() {

View File

@ -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');
});
},

View File

@ -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() {