From 5e4bed2d67b26eeb7eab4d176bfabe3f527836e4 Mon Sep 17 00:00:00 2001
From: yj <2077506045@qq.com>
Date: 星期五, 19 七月 2024 13:48:29 +0800
Subject: [PATCH] 修复答题刷新与CAQ分片2从第2题开始bug

---
 dist-20240704.zip                         |    0 
 src/store/modules/user.js                 |   45 +++++++++--
 src/layout/index.vue                      |   20 ++--
 src/views/exam/paper/intelligence.vue     |    4 
 src/views/exam/paper/exercise.vue         |   24 ++++--
 src/utils/request.js                      |    2 
 src/views/exam/paper/finish.vue           |    2 
 src/views/exam/paper/job.vue              |    2 
 dist-20240705.zip                         |    0 
 src/views/exam/paper/career_interests.vue |    5 -
 src/views/exam/paper/guide.vue            |   56 +++++++++----
 src/views/demography/index.vue            |   17 ++--
 src/views/exam/paper/personality.vue      |   11 +-
 src/views/demography/langOption.vue       |    7 -
 src/views/demography/login.vue            |   13 +-
 15 files changed, 128 insertions(+), 80 deletions(-)

diff --git a/dist-20240704.zip b/dist-20240704.zip
new file mode 100644
index 0000000..30ec4be
--- /dev/null
+++ b/dist-20240704.zip
Binary files differ
diff --git a/dist-20240705.zip b/dist-20240705.zip
new file mode 100644
index 0000000..36c97e8
--- /dev/null
+++ b/dist-20240705.zip
Binary files differ
diff --git a/src/layout/index.vue b/src/layout/index.vue
index 8e5475e..0805f89 100644
--- a/src/layout/index.vue
+++ b/src/layout/index.vue
@@ -49,12 +49,10 @@
     }
   },
   created () {
-    console.log('鐜鍙橀噺锛�')
-    console.log(process.env)
   },
   watch: {
     logo: function (val) {
-      let sessionLogoUrl = sessionStorage.getItem('logoUrl')
+      let sessionLogoUrl = localStorage.getItem('logoUrl')
       if (this.productType === 'API_Fan') {
         this.logoUrl = require('@/assets/logo-apifan.png')
       } else if (val === 'none') {
@@ -66,18 +64,18 @@
       } else if (sessionLogoUrl !== null) {
         this.logoUrl = sessionLogoUrl
       }
-      sessionStorage.setItem('logoUrl', this.logoUrl)
-      sessionStorage.setItem('backgroundColor', this.backgroundColor)
+      localStorage.setItem('logoUrl', this.logoUrl)
+      localStorage.setItem('backgroundColor', this.backgroundColor)
     }
   },
   mounted () {
-    let sessionLogoUrl = sessionStorage.getItem('logoUrl')
-    let sessionBackgroundColor = sessionStorage.getItem('backgroundColor')
+    let sessionLogoUrl = localStorage.getItem('logoUrl')
+    let sessionBackgroundColor = localStorage.getItem('backgroundColor')
     if (sessionLogoUrl !== null) {
       this.logoUrl = sessionLogoUrl
       this.backgroundColor = sessionBackgroundColor
     }
-    sessionStorage.setItem('backgroundColor', this.backgroundColor)
+    localStorage.setItem('backgroundColor', this.backgroundColor)
     window.addEventListener('beforeunload', this.handleBeforeUnload)
   },
   beforeDestroy () {
@@ -85,7 +83,7 @@
   },
   methods: {
     handleBeforeUnload: function () {
-      sessionStorage.setItem('logoUrl', this.logoUrl)
+      localStorage.setItem('logoUrl', this.logoUrl)
     },
     logout: function () {
       window.opener = null
@@ -116,7 +114,7 @@
     // logoUrl: function () {
     //   console.log('this.logo')
     //   console.log(this.logo)
-    //   let sessionLogoUrl = this.setLogo(sessionStorage.getItem('logoUrl'))
+    //   let sessionLogoUrl = this.setLogo(localStorage.getItem('logoUrl'))
     //   if (this.productType === 'API_Fan') {
     //     return require('@/assets/logo-apifan.png')
     //   } else if (this.logo === 'none') {
@@ -124,7 +122,7 @@
     //   } else if (this.logo === null && sessionLogoUrl !== null) {
     //     return sessionLogoUrl
     //   } else {
-    //     sessionStorage.setItem('logoUrl', this.logo)
+    //     localStorage.setItem('logoUrl', this.logo)
     //     return this.logo
     //   }
     // },
diff --git a/src/store/modules/user.js b/src/store/modules/user.js
index 9bef01a..34247b6 100644
--- a/src/store/modules/user.js
+++ b/src/store/modules/user.js
@@ -1,5 +1,6 @@
 import Cookies from 'js-cookie'
 import userApi from '@/api/user'
+import examPaperApi from '@/api/examPaper'
 // initial state
 const state = {
   userName: Cookies.get('studentUserName'),
@@ -8,7 +9,9 @@
   logo: null,
   messageCount: 0,
   memberToken: Cookies.get('memberTocken'),
-  langType: 'English',
+  // langType: localStorage.getItem('langType') || 'English',
+  langType: Cookies.get('langType') || 'English',
+  formDo: localStorage.getItem('formDo') && JSON.parse(localStorage.getItem('formDo')),
   langFlag: true,
   memberId: null
 }
@@ -43,22 +46,48 @@
   setMemberId (state, memberId) {
     state.memberId = memberId
   },
+
+  setFormDo (state, formDo) {
+    if (formDo) {
+      localStorage.setItem('formDo', JSON.stringify(formDo), { expires: 30 })
+    } else {
+      localStorage.setItem('formDo', formDo, { expires: 30 })
+    }
+    state.formDo = formDo
+  },
+  getFormDo (state) {
+    // 濡傛灉涓嶅寘鍚玤uide鍒欓噸鏂拌幏鍙�
+    if (!state.formDo || !Object.hasOwn(state.formDo, 'guide')) {
+      state.formDo = localStorage.getItem('formDo') && JSON.parse(localStorage.getItem('formDo'))
+      if (state.formDo && Object.hasOwn(state.formDo, 'guide')) {
+        return
+      }
+      if (!state.memberToken || !state.langType) {
+        return
+      }
+      examPaperApi.select(state.memberToken, state.langType).then(re => {
+        state.formDo = re.response
+        localStorage.setItem('formDo', JSON.stringify(state.formDo), { expires: 30 })
+      }).catch(e => {
+        console.error('鑾峰彇formDo澶辫触', e)
+      })
+    }
+  },
   setLangType (state, paraLangType) {
     state.langType = paraLangType
-		if(paraLangType == 'Chinese'){
-			Cookies.set('language', 'zh', { expires: 30 })
-		} else {
-			Cookies.set('language', 'en', { expires: 30 })
-		}
+    Cookies.set('langType', paraLangType, { expires: 30 })
+    if (paraLangType === 'Chinese') {
+      Cookies.set('language', 'zh', { expires: 30 })
+    } else {
+      Cookies.set('language', 'en', { expires: 30 })
+    }
   },
   getLangType () {
     let language = (navigator.language || navigator.browserLanguage).toLowerCase()
     if (language === 'zh-cn') {
       state.langType = 'Chinese'
-      console.log(language)
     } else {
       state.langType = 'English'
-      console.log(language)
     }
   },
   setLangFlag (state, paraLangFlag) {
diff --git a/src/utils/request.js b/src/utils/request.js
index b2b4ee7..340de8a 100644
--- a/src/utils/request.js
+++ b/src/utils/request.js
@@ -2,8 +2,6 @@
 import vue from 'vue'
 
 const request = function (loadtip, query) {
-  console.log(query.baseURL)
-  console.log(query.url)
   let loading
   if (loadtip) {
     loading = vue.prototype.$loading({
diff --git a/src/views/demography/index.vue b/src/views/demography/index.vue
index 99fe45b..812865f 100644
--- a/src/views/demography/index.vue
+++ b/src/views/demography/index.vue
@@ -107,21 +107,18 @@
       paramsInfo: {},
       parasInfos: [],
       parasInfoIds: {},
-      formDo: {},
+      // formDo: {},
       submitDisable: false,
       isStart: this.$route.query.isStart === 'true'
     }
   },
   created () {
-    const langType = localStorage.getItem('langType')
-    if (langType) {
+    const langType = this.$route.query.langType
+    if (langType && (langType === 'Chinese' || langType === 'English' || langType === 'Thai')) {
       this.setLangType(langType)
-    } else {
-      localStorage.setItem('langType', this.langType)
     }
   },
   beforeDestroy () {
-    localStorage.removeItem('langType')
   },
   beforeUpdate () {
   },
@@ -152,13 +149,14 @@
           demographyApi.submitDemography(_this.memberToken, _this.langType, _this.parasInfos).then(function (result) {
             if (result && result.code === 1) {
               examPaperApi.select(_this.memberToken, _this.langType).then(re => {
-                _this.formDo = re.response
+                _this.setFormDo(re.response)
                 _this.setDoUrl(re.response.questionTemplateId)
                 if (_this.isStart) {
                   _this.$router.push({ path: '/exam/' + _this.doUrl })
                   return
                 }
-                _this.$router.push({ path: '/guide/index', query: { formDo: _this.formDo } });
+                // _this.$router.push({ path: '/guide/index', query: { formDo: _this.formDo } })
+                _this.$router.push({ path: '/guide/index' })
               }).catch(e => {
                 _this.$message.error(_this.$t('noquestionMsg'))
               })
@@ -205,7 +203,8 @@
     },
     ...mapMutations('user', ['setMemberTocken']),
     ...mapMutations('exam', ['setDoUrl']),
-    ...mapMutations('user', ['setLangType'])
+    ...mapMutations('user', ['setLangType']),
+    ...mapMutations('user', ['setFormDo'])
   },
   computed: {
     ...mapState('user', { memberToken: state => state.memberToken }),
diff --git a/src/views/demography/langOption.vue b/src/views/demography/langOption.vue
index 25a9f98..63f8457 100644
--- a/src/views/demography/langOption.vue
+++ b/src/views/demography/langOption.vue
@@ -32,7 +32,7 @@
     return {
       langTypes: [],
       langSelectValue: this.$route.query.langSelectValue,
-      fromDo: this.$route.query.fromDo,
+      // fromDo: this.$route.query.fromDo,
       langWelcome: this.$t('langWelcomeChinese'),
       langOption: this.$t('langOptionChinese'),
       timer: null,
@@ -41,7 +41,6 @@
     }
   },
   created: function () {
-
     let _this = this
     window.clearInterval(this.timer)
     _this.getLangType()
@@ -78,7 +77,7 @@
     submitLangOption: function () {
       let _this = this
       _this.setLangType(_this.langSelectValue)
-      _this.$router.push({ path: '/demography/fill/index', query: { demographyMenber: _this.memberToken, isStart: false } })
+      _this.$router.push({ path: '/demography/fill/index', query: { demographyMenber: _this.memberToken, isStart: false, langType: _this.langSelectValue } })
       window.clearInterval(this.timer)
     },
     getLangAndRportTemplateId () {
@@ -92,7 +91,6 @@
             demographyApi.queryLangList(_this.memberToken, _this.reportTemplateId).then(function (result) {
               if (result && result.code === 1) {
                 _this.langTypes = result.response
-                console.log("longTypes", _this.langTypes)
               }
             }
             ).catch(e => {
@@ -111,6 +109,7 @@
           _this.$message.error(_this.$t('noquestionMsg'))
         })
       }
+      
     },
     ...mapMutations('user', ['setMemberTocken']),
     ...mapMutations('user', ['setLangType']),
diff --git a/src/views/demography/login.vue b/src/views/demography/login.vue
index 38b8c51..f5d909d 100644
--- a/src/views/demography/login.vue
+++ b/src/views/demography/login.vue
@@ -17,14 +17,13 @@
       paramsInfo: {},
       parasInfos: [],
       parasInfoIds: {},
-      formDo: {},
+      // formDo: {},
       reportTemplateType: null,
       statusInfo: { '2': this.$t('statusInfo2'), '3': this.$t('statusInfo3'), '4': this.$t('statusInfo4') }
     }
   },
   created () {
     // 娓呴櫎鏈湴瀛樺偍鐨勮瑷�閫夐」
-    localStorage.removeItem('langType')
     let _this = this
     _this.getLangType()
     // 璁板綍鐧婚檰鏃ュ織
@@ -38,7 +37,6 @@
       } else {
         _this.setLogo(re.response.logoUrl)
       }
-      console.log(re.response)
       _this.setProductType(re.response.productType)
       if (re.response.finish === 1) {
         _this.$router.push({ path: '/exam/finish', query: { name: '', content: _this.$t('finishMsg'), tokenId: _this.paraMemberToken } })
@@ -67,7 +65,7 @@
             if (_this.doUrl === 'career_interests' || _this.doUrl === 'job') {
               _this.$i18n.locale = 'zh'
               _this.setLangType('Chinese')
-              _this.$router.push({ path: '/demography/fill/index', query: { demographyMenber: _this.memberToken, isStart: false } })
+              _this.$router.push({ path: '/demography/fill/index', query: { demographyMenber: _this.memberToken, isStart: false, langType: 'Chinese' } })
               return
             }
 
@@ -97,13 +95,15 @@
             let answered = re.response.examItemOrderAndContentList
             if (answered === null) {
               examPaperApi.select(_this.memberToken, _this.langType).then(re => {
-                _this.formDo = re.response
+                _this.setFormDo(re.response)
                 _this.setDoUrl(re.response.questionTemplateId)
-                _this.$router.push({ path: '/guide/index', query: { formDo: _this.formDo } })
+                // _this.$router.push({ path: '/guide/index', query: { formDo: _this.formDo } })
+                _this.$router.push({ path: '/guide/index' })
               }).catch(e => {
                 _this.$message.error(_this.$t('noquestionMsg'))
               })
             } else {
+              // 鍚﹀垯娓呴櫎fromDo
               _this.$router.push({ path: '/exam/' + _this.doUrl })
             }
           }).catch(e => {
@@ -119,6 +119,7 @@
     ...mapMutations('user', ['setLangType']),
     ...mapMutations('user', ['getLangType']),
     ...mapMutations('user', ['setLogo']),
+    ...mapMutations('user', ['setFormDo']),
     ...mapMutations('exam', ['setProductType'])
 
   },
diff --git a/src/views/exam/paper/career_interests.vue b/src/views/exam/paper/career_interests.vue
index 3a79cce..9b8e622 100644
--- a/src/views/exam/paper/career_interests.vue
+++ b/src/views/exam/paper/career_interests.vue
@@ -108,7 +108,7 @@
     _this.ismobile = /ipad|iphone|midp|rv:1.2.3.4|ucweb|android|windows ce|windows mobile/.test(navigator.userAgent.toLowerCase())
     // 澶氳瑷�
     _this.setLangFlag(false)
-    _this.form = this.$route.query.formDo
+    _this.form = undefined
     if (_this.form !== {} && _this.form !== undefined) {
       _this.formLoading = true
       _this.remainTime = _this.form.suggestTime * 60
@@ -127,7 +127,6 @@
 
       // 灞曠ず鎸囧璇�
       if (_this.form.parts[0].signals.length !== 0) {
-        console.log('棣栭鎻愮ず璇�')
         _this.showNextGuide(_this.form.parts[0].signals[0], false)
       }
     } else {
@@ -198,7 +197,6 @@
       ).catch(e => {
       })
     }
-    console.log(' _this.partOrder:'+_this.partOrder)
   },
   mounted () {
   },
@@ -397,7 +395,6 @@
       }
       this.answer.answerItems[_this.order].readOnly = true
       let answerSubmit = _this.getSubmitAnswerValue(nowPartOrder)
-      console.log(answerSubmit)
       // 宸茬粡绛斿埌浜嗘渶鍚庝竴棰樹簡,涓嶇敤鑷姩璺冲埌涓嬩竴棰�
       if (this.order + 1 > this.problemLength) {
         this.submitDisable = false
diff --git a/src/views/exam/paper/exercise.vue b/src/views/exam/paper/exercise.vue
index 6ac470e..cb533f3 100644
--- a/src/views/exam/paper/exercise.vue
+++ b/src/views/exam/paper/exercise.vue
@@ -1,6 +1,6 @@
 <template>
-  <div>
-    <el-container  class="app-item-contain">
+  <div v-loading.fullscreen.lock="!formDo">
+    <el-container  class="app-item-contain" v-if="formDo">
       <el-main style="padding-top: 3%;">
         <el-form :model="form" ref="form" label-width="100%">
           <el-row :key="index"  v-for="(titleItem,index) in titleItems">
@@ -59,10 +59,10 @@
   components: { QuestionEdit },
   data () {
     return {
-      formDo: this.$route.query.formDo,
-      memberName: this.$route.query.formDo.memberName,
+      // formDo: this.$route.query.formDo,
+      memberName: '',
       form: {
-        name: this.$route.query.formDo.name
+        name: ''
       },
       itemOrder: 1,
       itemSize: 3,
@@ -81,6 +81,7 @@
     }
   },
   created: function () {
+    this.getFormDo()
     this.initQuestion()
   },
   mounted () {
@@ -88,10 +89,15 @@
   beforeDestroy () {
   },
   watch: {
+    'formDo': function (newVal, oldVal) {
+      this.initQuestion()
+    }
   },
   methods: {
     // 鍒濆鍖栭鐩�
     initQuestion () {
+      this.memberName = this.formDo.memberName
+      this.form.name = this.formDo.name
       this.titleItems = [
         {
           questionItems: []
@@ -138,15 +144,17 @@
     doExam () {
       let _this = this
       examPaperApi.updateTestMemberStatus(_this.memberToken).then(re => {
-        _this.$router.push({ path: '/exam/' + _this.doUrl, query: { formDo: _this.$route.query.formDo } })
+        _this.$router.push({ path: '/exam/' + _this.doUrl, query: { formDo: _this.formDo } })
       }).catch(re => {
         _this.$message.error(re.message + ' 鏇存柊鐘舵�佸け璐�')
       })
-    }
+    },
+    ...mapMutations('user', ['getFormDo'])
   },
   computed: {
     ...mapState('exam', { doUrl: state => state.doUrl }),
-    ...mapState('user', { memberToken: state => state.memberToken })
+    ...mapState('user', { memberToken: state => state.memberToken }),
+    ...mapState('user', { formDo: state => state.formDo })
   }
 }
 </script>
diff --git a/src/views/exam/paper/finish.vue b/src/views/exam/paper/finish.vue
index b485457..b0ff0d9 100644
--- a/src/views/exam/paper/finish.vue
+++ b/src/views/exam/paper/finish.vue
@@ -44,9 +44,7 @@
         _this.downDisable = true
         // 璁剧疆涓嬭浇璺緞
         _this.downUrl = '/api/exam/paper/download?fileName=' + re.msg + '&delete=false'
-        console.log(re)
       } else {
-        console.log(re)
       }
     })
 
diff --git a/src/views/exam/paper/guide.vue b/src/views/exam/paper/guide.vue
index 6ab4db6..8b60709 100644
--- a/src/views/exam/paper/guide.vue
+++ b/src/views/exam/paper/guide.vue
@@ -1,11 +1,12 @@
 <template>
-  <div>
-    <el-container class="app-item-contain">
+  <div v-loading.fullscreen.lock="!formDo">
+    <el-container class="app-item-contain" v-if="formDo">
       <el-header class="align-center" style="height: 50px;padding: 1%;margin-top: 4%">
         <H2 v-html="$t('guide')" v-if="formDo.questionTemplateId !== 'job' || formDo.questionTemplateId !== 'values'"></H2>
       </el-header>
       <el-main style="padding-top:0%">
-        <div v-html="formDo.guide"></div>
+        <div v-html="formDo.guide">
+        </div>
         <el-row class="do-align-center">
           <el-button v-if="formDo.questionTemplateId !== 'personality'" @click="doExam" type="primary" round>{{$t('startDo')}}</el-button>
           <el-button v-if="formDo.questionTemplateId === 'job'" @click="openExplain" type="danger" round>{{$t('openJobDesc')}}</el-button>
@@ -17,27 +18,27 @@
 </template>
 
 <script>
-import { mapState } from 'vuex'
+import { mapState, mapMutations } from 'vuex'
 import examPaperApi from '@/api/examPaper'
 export default {
   data () {
     return {
-      formDo: this.$route.query.formDo
+      // formDo: this.$route.query.formDo,
+      loading: false
     }
   },
   created () {
+    this.getFormDo()
   },
   mounted () {
-    // 鏇挎崲APIFan鎸囧璇腑鐨勫彉閲�
-    if (this.formDo.productType === 'API_Fan') {
-      let guide = this.formDo.guide
-      guide = guide.replace('%%fullName%%', this.formDo.memberName)
-      guide = guide.replace('%%company%%', this.formDo.reportCompany)
-      this.formDo.guide = guide
-    }
+    // this.swapGuide()
   },
   beforeDestroy () {
-    window.clearInterval(this.timer)
+  },
+  watch: {
+    'formDo': function (newVal, oldVal) {
+      this.loading = false
+    }
   },
   methods: {
     doExam: function () {
@@ -45,9 +46,11 @@
       examPaperApi.updateTestMemberStatus(_this.memberToken).then(re => {
         // LAQ鐗规畩澶勭悊
         if (_this.formDo.name.indexOf('LAQ') !== -1) {
-          _this.$router.push({ path: '/exam/' + _this.formDo.questionTemplateId, query: { formDo: _this.$route.query.formDo } })
+          // _this.$router.push({ path: '/exam/' + _this.formDo.questionTemplateId, query: { formDo: _this.formDo } })
+          _this.$router.push({ path: '/exam/' + _this.formDo.questionTemplateId })
         } else {
-          _this.$router.push({ path: '/exam/' + _this.doUrl, query: { formDo: _this.$route.query.formDo } })
+          // _this.$router.push({ path: '/exam/' + _this.doUrl, query: { formDo: _this.formDo } })
+          _this.$router.push({ path: '/exam/' + _this.doUrl })
         }
       }).catch(re => {
         _this.$message.error(re.message + ' 鏇存柊鐘舵�佸け璐�')
@@ -61,12 +64,29 @@
     // 鎵撳紑缁冧範椤甸潰
     openExercise: function () {
       let _this = this
-      _this.$router.push({ path: '/exam/exercise', query: { formDo: _this.$route.query.formDo } })
-    }
+      // _this.$router.push({ path: '/exam/exercise', query: { formDo: _this.formDo } })
+      _this.$router.push({ path: '/exam/exercise' })
+    },
+
+    // 鏇挎崲guide鐨勫��
+    swapGuide: function () {
+      // 鏇挎崲APIFan鎸囧璇腑鐨勫彉閲�
+      if (this.formDo.productType === 'API_Fan') {
+        let guide = this.formDo.guide
+        guide = guide.replace('%%fullName%%', this.formDo.memberName)
+        guide = guide.replace('%%company%%', this.formDo.reportCompany)
+        this.formDo.guide = guide
+      }
+    },
+
+    ...mapMutations('user', ['getLangType']),
+    ...mapMutations('user', ['getFormDo'])
   },
   computed: {
     ...mapState('exam', { doUrl: state => state.doUrl }),
-    ...mapState('user', { memberToken: state => state.memberToken })
+    ...mapState('user', { memberToken: state => state.memberToken }),
+    ...mapState('user', { langType: state => state.langType }),
+    ...mapState('user', { formDo: state => state.formDo })
   }
 }
 </script>
diff --git a/src/views/exam/paper/intelligence.vue b/src/views/exam/paper/intelligence.vue
index 0ec0938..478a1ad 100644
--- a/src/views/exam/paper/intelligence.vue
+++ b/src/views/exam/paper/intelligence.vue
@@ -413,10 +413,10 @@
     },
     nextQuestion: function (nowPartOrder) {
       let _this = this
-      let num = ++_this.order
+      let num = _this.order + 1
       // 璺冲埌娌℃湁绛旂殑棰樼洰鐨勬
       while (_this.isContentNotEmpty(num) && num !== _this.answer.answerItems.length - 1) {
-        num = ++_this.order
+        num = _this.order + 1
         this.getEmptySubjct(num)
       }
       this.determineWhetherIntelligenceTitle()
diff --git a/src/views/exam/paper/job.vue b/src/views/exam/paper/job.vue
index 98b0fe8..2f13c62 100644
--- a/src/views/exam/paper/job.vue
+++ b/src/views/exam/paper/job.vue
@@ -105,7 +105,7 @@
     let _this = this
     // 澶氳瑷�
     _this.setLangFlag(false)
-    _this.form = this.$route.query.formDo
+    _this.form = undefined
     if (_this.form !== {} && _this.form !== undefined) {
       _this.formLoading = true
       _this.remainTime = _this.form.suggestTime * 60
diff --git a/src/views/exam/paper/personality.vue b/src/views/exam/paper/personality.vue
index 9c28327..a2d8e4a 100644
--- a/src/views/exam/paper/personality.vue
+++ b/src/views/exam/paper/personality.vue
@@ -103,12 +103,13 @@
     }
   },
   created: function () {
+    // this.getFormDo()
     let _this = this
     _this.ismobile = /ipad|iphone|midp|rv:1.2.3.4|ucweb|android|windows ce|windows mobile/.test(navigator.userAgent.toLowerCase())
     // 澶氳瑷�
     _this.setLangFlag(false)
-    _this.form = this.$route.query.formDo
-    if (_this.form !== {} && _this.form !== undefined) {
+    _this.form = undefined
+    if (_this.form && _this.form !== {} && _this.form !== undefined) {
       _this.formLoading = true
       _this.remainTime = _this.form.suggestTime * 60
       _this.problemLength = _this.form.titleItems[0].questionItems.length - 1
@@ -187,7 +188,6 @@
       ).catch(e => {
       })
     }
-
   },
   mounted () {
   },
@@ -510,7 +510,6 @@
         if (re.code === 1) {
           // 鐗规畩澶勭悊 LAQ娴嬭瘯鍖� MAQ+CAQ
           if (_this.form.name.indexOf('LAQ') !== -1) {
-            console.log('绛斿畬棰�,鐪嬬湅瑕佷笉瑕佸幓CAQ1')
             examPaperApi.select(_this.memberToken, _this.langType).then(re => {
               _this.form = re.response
               _this.$router.push({ path: '/guide/index', query: { formDo: _this.form } })
@@ -578,7 +577,8 @@
       return _this.form.titleItems[0].questionItems[_this.order].partOrder !== _this.form.titleItems[0].questionItems[_this.order - 1].partOrder
     },
     ...mapMutations('user', ['setLangType']),
-    ...mapMutations('user', ['setLangFlag'])
+    ...mapMutations('user', ['setLangFlag']),
+    ...mapMutations('user', ['getFormDo'])
   },
   computed: {
     ...mapGetters('enumItem', ['enumFormat']),
@@ -586,6 +586,7 @@
     ...mapState('user', { memberToken: state => state.memberToken }),
     ...mapState('user', { langType: state => state.langType }),
     ...mapState('user', { langFlag: state => state.langFlag }),
+    ...mapState('user', { formDo: state => state.formDo }),
     ...mapState('exam', { doUrl: state => state.doUrl })
   }
 }

--
Gitblit v1.9.1