作答,被甄别后立即跳转功能,不能跳转时,显示了问题,应该显示被甄别页;
This commit is contained in:
@@ -52,6 +52,7 @@
|
|||||||
:survey="questionsData.survey"
|
:survey="questionsData.survey"
|
||||||
isAnswer/>
|
isAnswer/>
|
||||||
</div>
|
</div>
|
||||||
|
<JumpLoading v-else-if="[-20004, -20011, -20016].includes(questionsData.action?.code)" />
|
||||||
<!-- 密码 -->
|
<!-- 密码 -->
|
||||||
<div v-else-if="questionsData.action?.code === 20015" class="action">
|
<div v-else-if="questionsData.action?.code === 20015" class="action">
|
||||||
<password :sn="$route.query.sn" @success="getQuetions" isMobile />
|
<password :sn="$route.query.sn" @success="getQuetions" isMobile />
|
||||||
|
|||||||
@@ -37,6 +37,7 @@
|
|||||||
:survey="questionsData.survey"
|
:survey="questionsData.survey"
|
||||||
isAnswer/>
|
isAnswer/>
|
||||||
</div>
|
</div>
|
||||||
|
<JumpLoading v-else-if="[-20004, -20011, -20016].includes(questionsData.action?.code)" />
|
||||||
<!-- 密码 -->
|
<!-- 密码 -->
|
||||||
<div v-else-if="questionsData.action?.code === 20015" class="action">
|
<div v-else-if="questionsData.action?.code === 20015" class="action">
|
||||||
<password :sn="$route.query.sn" @success="getQuetions" />
|
<password :sn="$route.query.sn" @success="getQuetions" />
|
||||||
|
|||||||
24
src/views/Answer/components/JumpLoading.vue
Normal file
24
src/views/Answer/components/JumpLoading.vue
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
<script setup>
|
||||||
|
import { inject, onBeforeUnmount } from 'vue'
|
||||||
|
|
||||||
|
|
||||||
|
const questionsData = inject('questionsData') // 问卷数据
|
||||||
|
|
||||||
|
let timer = setTimeout(() => {
|
||||||
|
questionsData.value.action.code = -1 * questionsData.value.action.code
|
||||||
|
timer = null
|
||||||
|
}, 5e3)
|
||||||
|
|
||||||
|
onBeforeUnmount(() => timer && clearTimeout(timer))
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<template>
|
||||||
|
<a-spin :spinning="true" class="jump-loading-page"></a-spin>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<style scoped lang="scss">
|
||||||
|
.jump-loading-page {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
@@ -5,13 +5,14 @@ import QuestionsMob from "../QuestionsMob.vue";
|
|||||||
import PfeButton from "../../../../components/PfeButton.vue";
|
import PfeButton from "../../../../components/PfeButton.vue";
|
||||||
import QLast from "../../questions/QLast.vue";
|
import QLast from "../../questions/QLast.vue";
|
||||||
import Password from "../../questions/Password/Index.vue";
|
import Password from "../../questions/Password/Index.vue";
|
||||||
|
import JumpLoading from '../JumpLoading.vue'
|
||||||
|
|
||||||
import LangTranslate from "../LangTranslate.vue";
|
import LangTranslate from "../LangTranslate.vue";
|
||||||
import { getLanguage } from "../../components/js/language";
|
import { getLanguage } from "../../components/js/language";
|
||||||
import {useStore} from "vuex";
|
import {useStore} from "vuex";
|
||||||
|
|
||||||
export default defineComponent({
|
export default defineComponent({
|
||||||
components: { QuestionsPc, QuestionsMob, PfeButton, QLast, Password, LangTranslate },
|
components: { QuestionsPc, QuestionsMob, PfeButton, QLast, Password, LangTranslate, JumpLoading },
|
||||||
props: {
|
props: {
|
||||||
// 是否移动端
|
// 是否移动端
|
||||||
isMobile: {
|
isMobile: {
|
||||||
|
|||||||
@@ -731,8 +731,7 @@ export default defineComponent({
|
|||||||
|
|
||||||
// 跳转链接
|
// 跳转链接
|
||||||
if (countTime <= 0 && url) {
|
if (countTime <= 0 && url) {
|
||||||
page.value += 2; // 防止 QuestionsMob QuestionPc 组件里显示最后一页
|
questionsData.value.action.code = -1 * code; // 防止 AnswerMob AnswerPc 组件里显示最后一页
|
||||||
questionsData.value.action.code = 9999999; // 防止 AnswerMob AnswerPc 组件里显示最后一页
|
|
||||||
|
|
||||||
url = url.replaceAll('#sn#', questionsData.value.answer.sn);
|
url = url.replaceAll('#sn#', questionsData.value.answer.sn);
|
||||||
url = url.replaceAll('#user#', questionsData.value.answer.respondent);
|
url = url.replaceAll('#user#', questionsData.value.answer.respondent);
|
||||||
|
|||||||
Reference in New Issue
Block a user