[测评系统]--前端(用户答题页面)
yj
2024-11-18 0f3a72e00606a7626406fcd76f97098d99686481
src/views/demography/login.vue
@@ -18,11 +18,12 @@
      parasInfos: [],
      parasInfoIds: {},
      formDo: {},
      statusInfo: { '2': this.$t('statusInfo2'), '3': this.$t('statusInfo3'), '4': this.$t('statusInfo4') },
      doUrl: null
      reportTemplateType: null,
      statusInfo: { '2': this.$t('statusInfo2'), '3': this.$t('statusInfo3'), '4': this.$t('statusInfo4') }
    }
  },
  created () {
    // 清除本地存储的语言选项
    let _this = this
    _this.getLangType()
    // 记录登陆日志
@@ -31,12 +32,20 @@
    })
    // 已经答完了不能答题
    examPaperApi.selectTokenId(_this.paraMemberToken).then(re => {
      if (re.response.logoUrl === null || re.response.logoUrl === '') {
        _this.setLogo('none')
      } else {
        _this.setLogo(re.response.logoUrl)
      }
      _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 } })
      } else if (re.response.status !== '1') {
        _this.$router.push({ path: '/exam/exception', query: { name: '', content: _this.statusInfo[re.response.status] } })
      } else {
        _this.doUrl = re.response.doUrl
        // _this.doUrl = re.response.doUrl
        _this.reportTemplateType = re.response.productType
        _this.setProductType(re.response.productType)
        _this.setMemberTocken(_this.paraMemberToken)
        _this.setDoUrl(re.response.doUrl)
        _this.setReportTemplateId(re.response.reportTemplateId)
@@ -53,21 +62,32 @@
        reParam => {
          if (reParam.code !== 1) {
            // 职业兴趣报告特殊化处理 只有中文
            if(_this.doUrl === 'career_interests') {
            if (_this.doUrl === 'career_interests') {
              _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
            }
            // APIFan做特殊处理 只有中文
            if (_this.reportTemplateType === 'API_Fan') {
              _this.$i18n.locale = 'zh'
              _this.setLangType('Chinese')
              _this.$router.push({ path: '/demography/fill/logo', query: { demographyMenber: _this.memberToken, isStart: false, langType: 'Chinese' } })
              return
            }
            // 先选择密码
            _this.$router.push({ path: '/demography/fill/langOption', query: { langSelectValue: _this.langType } })
            _this.$router.push({ path: '/demography/fill/langOption', query: { langSelectValue: _this.langType, fromDo: _this.fromDo } })
            _this.setMemberTocken(_this.paraMemberToken)
            return
          }
          if (reParam.response[0].langType === 'Chinese') {
            this.$i18n.locale = 'zh'
            _this.setLangType('Chinese')
          } else if (reParam.response[0].langType === 'Thai') {
            _this.setLangType('Thai')
            this.$i18n.locale = 'th'
          } else {
            _this.setLangType('English')
            this.$i18n.locale = 'en'
@@ -78,13 +98,16 @@
            let answered = re.response.examItemOrderAndContentList
            if (answered === null) {
              examPaperApi.select(_this.memberToken, _this.langType).then(re => {
                // _this.setFormDo(re.response)
                _this.formDo = re.response
                _this.setDoUrl(re.response.questionTemplateId)
                _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 => {
@@ -98,14 +121,19 @@
    ...mapMutations('exam', ['setDoUrl']),
    ...mapMutations('exam', ['setReportTemplateId']),
    ...mapMutations('user', ['setLangType']),
    ...mapMutations('user', ['getLangType'])
    ...mapMutations('user', ['getLangType']),
    ...mapMutations('user', ['setLogo']),
    ...mapMutations('user', ['setFormDo']),
    ...mapMutations('exam', ['setProductType'])
  },
  computed: {
    ...mapState('user', { memberToken: state => state.memberToken }),
    ...mapState('user', { memberId: state => state.memberId }),
    ...mapState('exam', { doUrl: state => state.doUrl }),
    ...mapState('exam', { reportTemplateId: state => state.reportTemplateId }),
    ...mapState('user', { langType: state => state.langType })
    ...mapState('user', { langType: state => state.langType }),
    ...mapState('exam', { productType: state => state.productType })
  }
}
</script>