diff --git a/src/mixins/WorkCenterMixin.js b/src/mixins/WorkCenterMixin.js index 6b2896c6..52b86cb3 100644 --- a/src/mixins/WorkCenterMixin.js +++ b/src/mixins/WorkCenterMixin.js @@ -89,7 +89,18 @@ export const WorkCenterMixin = { let timer = setTimeout(() => { clearTimeout(timer) timer = null + Vue.prototype.$isNavigating = true // 设置为正在跳转 this.$router.go(-1) + let timerTwo = setTimeout(() => { + clearTimeout(timerTwo) + timerTwo = null + if (Vue.prototype.$isNavigating) { + console.log('未成功完成跳转') + this.$router.replace('/workCenter/processCenter/processCenter') + } else { + console.log('成功完成跳转') + } + }, 100) // 设置合适的超时时间,确保在路由确实改变后执行 }, 700) }, switchChange (value) { @@ -103,6 +114,9 @@ export const WorkCenterMixin = { * @param next */ beforeRouteEnter (to, from, next) { + console.log('***********beforeRouteEnter') + // 设置一个标志,表示即将跳转 + Vue.prototype.$isNavigating = true if (to.query.taskId) { queryTaskNameByTaskId({taskId: to.query.taskId}).then(res => { if (res.success) { @@ -114,5 +128,11 @@ export const WorkCenterMixin = { } else { next() } + }, + beforeRouteLeave (to, from, next) { + console.log('*********beforeRouteLeave') + // 跳转结束后,清除标志 + Vue.prototype.$isNavigating = false + next() } } diff --git a/src/views/workCenter/enterpriseStandardChange/EnterpriseStandardChangeFlow.vue b/src/views/workCenter/enterpriseStandardChange/EnterpriseStandardChangeFlow.vue index 6a71a5be..d2bc5c10 100644 --- a/src/views/workCenter/enterpriseStandardChange/EnterpriseStandardChangeFlow.vue +++ b/src/views/workCenter/enterpriseStandardChange/EnterpriseStandardChangeFlow.vue @@ -616,9 +616,6 @@ export default { } }) }) - }, - goBack () { - this.$router.go(-1) } } }