[测评系统]--前端(用户答题页面)
1. 人格问卷答题目选项增加边框
2. API-Fan事中提示语解析变量
3. 答题完毕的提示语修改
4. 答题完毕页面增加关闭页面按钮
7个文件已修改
44 ■■■■ 已修改文件
src/lang/en.js 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/lang/th.js 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/lang/zh.js 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/layout/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/exam/components/QuestionEdit.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/exam/paper/finish.vue 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/exam/paper/personality.vue 28 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/lang/en.js
@@ -12,6 +12,7 @@
  guideLanguage: 'Guide language',
  theFirst: 'Question ',
  section: '',
  close: 'close',
  demography: 'Demographic Information',
  required: 'required',
  range32: 'Exceed 200 characters',
src/lang/th.js
@@ -12,6 +12,7 @@
  guideLanguage: 'Guide language',
  theFirst: 'Question ',
  section: '',
  close: 'close',
  demography: 'Demographic Information',
  required: 'required',
  range32: 'Exceed 200 characters',
src/lang/zh.js
@@ -39,6 +39,7 @@
  langOptionChinese: '请先在下拉框处选择语言,然后点击“提交”开始测试。',
  uploadInfo: '正在上传,保存数据,请稍等,不要关闭浏览器...',
  examinee: '测试者:',
  close: '关闭',
  pleaseAnswerCarefully: '*请认真作答',
  pleaseAnswerCarefullyCiaq: '*请认真作答。特别提示,本测验关注的是你对各类活动的兴趣或喜好,而非能力等其他因素!',
  submitTimeout: ':提交后台超时',
@@ -52,7 +53,8 @@
  nextPartInfo: '请稍等,请不要关闭浏览器...',
  partRemailTime: '剩余时间:',
  finishIntelligenceInfo: '您已经完成了认知能力测试问卷,数据已经成功地上传至服务器,并已经保存好。谢谢。',
  finishPersonalityInfo: '您已经完成了人格测试问卷,数据已经成功地上传至服务器,并已经保存好。',
  finishPersonalityInfo: '您已经完成了人格测试问卷,数据已经成功地上传至服务器,并已经保存好。现在您可以点击下面的“关闭”按钮关闭页面',
  finishPersonalityInfo_apifan: '感谢您申请本公司的职位!您已经完成了人格测试问卷,数据已经成功地上传至服务器,已经保存好。现在您可以点击下面的“关闭”按钮关闭页面。',
  finishCareerInterestsInfo: '您已经完成了职业兴趣问卷,数据已经成功地上传至服务器,并已经保存好。',
  finishPersonalityDownInfo: '您可以点击下面红色按钮下载您的结果报告。',
  finishViewReportInfo: '您可以点击下面红色按钮查看您的结果报告。',
src/layout/index.vue
@@ -1,6 +1,6 @@
<template>
  <el-container>
    <el-header height="60" class="student-header header" style="background-color: #3c8dbc">
    <el-header height="60" class="student-header header" style="background-color: #409eff">
      <div class="head-language" v-if="langFlag">
        <!--<lang-select class="right-menu-item" />-->
        <!--国际化的语言选择-->
src/views/exam/components/QuestionEdit.vue
@@ -4,7 +4,7 @@
      <div class="q-title" v-html="qLabel+'&nbsp;&nbsp;'+question.title" style="font-size: 23px"/>
      <div class="q-content">
        <el-radio-group v-model="answer.content" @change="answer.completed = true">
          <el-radio  v-for="item in question.items"  :key="item.prefix"  :label="item.prefix" @change="jumpNext" :disabled="answer.readOnly" style="display:block;">
          <el-radio v-for="item in question.items"  :key="item.prefix"  :label="item.prefix" @change="jumpNext" :disabled="answer.readOnly" style="display:block;border:1px solid #b3b5ba;margin:5px 0px 5px 0px;padding:0px 25px 0px 15px;border-radius:5px;">
            <span class="question-prefix" style="font-size: 18px">{{abcValue[item.prefix]}}.</span>
            <span v-html="item.content" class="q-item-span-content" style="font-size: 18px"></span>
          </el-radio>
src/views/exam/paper/finish.vue
@@ -6,6 +6,7 @@
      <el-main class="align-center">
        <H2 v-if="content!==null && content.trim()!==''">{{content}}</H2>
        <H2 v-else>{{$t('finishMsg')}}</H2>
        <el-button type="danger" @click="closePage" round>{{$t('close')}}</el-button>
        <!-- 新增下载报告提示语 -->
        <H2 v-if ="downDisable">{{$t('finishPersonalityDownInfo')}}</H2>
        <el-button type="danger" v-if ="downDisable" @click="downReport" round>{{$t('down')}}</el-button>
@@ -67,11 +68,16 @@
  beforeDestroy () {
  },
  methods: {
    // 下载报告
    downReport: function () {
      let _this = this
      window.open(_this.downUrl)
    },
    // 关闭页面
    closePage: function () {
      window.close()
    },
    // 预览报告
    viewReport: function () {
      let _this = this
src/views/exam/paper/personality.vue
@@ -142,12 +142,10 @@
            _this.initAnswer()
            _this.formLoading = false
            _this.memberName = _this.form.memberName
            examPaperApi.selectTokenId(_this.memberToken).then(re => {
              _this.answered = re.response.examItemOrderAndContentList
              _this.doTime = re.response.doTime
              _this.timeReduce()
              if (_this.answered !== null) {
                _this.answered.forEach(it => {
                  _this.answer.answerItems[parseInt(it.itemOrder) - 1].content = it.content
@@ -187,11 +185,26 @@
      ).catch(e => {
      })
    }
  },
  mounted () {
  },
  beforeDestroy () {
    window.clearInterval(this.timer)
  },
  watch: {
    guideDescirption: function (newVal, oldVal) {
      // 处理指导语,更换变量
      if (newVal) {
        if (this.form) {
          let productType = this.form.productType
          if (productType === 'APIFan') {
            newVal = newVal.replace('%%company%%', this.form.reportCompany)
            this.guideDescirption = newVal
          }
        }
      }
    }
  },
  methods: {
    formatSeconds (theTime) {
@@ -449,7 +462,16 @@
      } else {
        _this.answer.verifyStatus = 1
        _this.answer.finish = 1
        _this.submitAnswer(_this.$t('finishPersonalityInfo'))
        if (this.form) {
          let productType = this.form.productType
          if (productType === 'APIFan') {
            _this.submitAnswer(_this.$t('finishPersonalityInfo_apifan'))
          } else {
            _this.submitAnswer(_this.$t('finishPersonalityInfo'))
          }
        } else {
          _this.submitAnswer(_this.$t('finishPersonalityInfo'))
        }
      }
    },
    startDo: function () {