[测评系统]--前端(用户答题页面)
yj
2024-11-25 a778d5e53e74b2170e37607b2536a957dbc1d664
src/views/demography/index.vue
@@ -1,4 +1,3 @@
<meta charset="utf-8" name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0"/>
<template>
  <div class="demography">
    <div hidden>{{goLangType}}</div>
@@ -59,19 +58,21 @@
          <el-form-item :label="item.paramName"
                        :prop="'data.'+index+'.paramValue'"
                        :rules="[{ required: true, message: $t('required'),trigger: 'change'}]">
            <el-select v-model="item.paramValue" :placeholder= "$t('pleaseSelect')">
            <el-select v-model="item.paramValue" :placeholder= "$t('pleaseSelect')" :popper-append-to-body="false">
              <el-option
                v-for="itemIter in item.dictData"
                :key="itemIter.dictValue"
                :label="itemIter.dictLabel"
                :value="itemIter.dictValue">
                :value="itemIter.dictValue"
                :title="itemIter.dictLabel">
                <span>{{ itemIter.dictLabel }}</span>
              </el-option>
            </el-select>
          </el-form-item>
        </div>
        <div v-if="item.types=='select' && item.isRequired !='1'">
          <el-form-item :label="item.paramName">
            <el-select v-model="item.paramValue" :placeholder= "$t('pleaseSelect')">
            <el-select v-model="item.paramValue" :placeholder= "$t('pleaseSelect')" :popper-append-to-body="false">
              <el-option
                v-for="itemIter in item.dictData"
                :key="itemIter.dictValue"
@@ -106,18 +107,29 @@
      paramsInfo: {},
      parasInfos: [],
      parasInfoIds: {},
      formDo: {},
      // formDo: {},
      submitDisable: false,
      isStart: this.$route.query.isStart === 'true'
    }
  },
  created () {
    const langType = this.$route.query.langType
    if (langType && (langType === 'Chinese' || langType === 'English' || langType === 'Thai')) {
      this.setLangType(langType)
    } else {
      this.setLangType('English')
    }
  },
  beforeDestroy () {
  },
  beforeUpdate () {
  },
  updated () {
  },
  methods: {
    submitDemography: function () {
      let _this = this
      _this.submitDisable = true
      console.log( this.$refs.demographyMenber)
      this.$refs.demographyMenber.validate(vaild => {
        if (vaild) {
          _this.parasInfos = []
@@ -131,7 +143,7 @@
            _paramsInfo.paramId = _this.demographyMenber.data[i].paramId
            _paramsInfo.paramName = _this.demographyMenber.data[i].paramName
            _paramsInfo.paramValue = _this.demographyMenber.data[i].paramValue
            if (_paramsInfo.paramValue.trim() === '') {
            if (!_paramsInfo.paramValue) {
              continue
            }
            _this.parasInfos.push(_paramsInfo)
@@ -139,13 +151,13 @@
          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 } })
              }).catch(e => {
                _this.$message.error(_this.$t('noquestionMsg'))
              })
@@ -191,7 +203,9 @@
      })
    },
    ...mapMutations('user', ['setMemberTocken']),
    ...mapMutations('exam', ['setDoUrl'])
    ...mapMutations('exam', ['setDoUrl']),
    ...mapMutations('user', ['setLangType']),
    ...mapMutations('user', ['setFormDo'])
  },
  computed: {
    ...mapState('user', { memberToken: state => state.memberToken }),
@@ -217,4 +231,27 @@
  .align-center {
    text-align: center
  }
/*  .product-style /deep/ .el-select-dropdown__item {
    width: 300px;
    display: inline-block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }*/
  //样式修改部分
  .el-select .el-select-dropdown .el-scrollbar .el-select-dropdown__wrap .el-scrollbar__view .el-select-dropdown__item{
    white-space: pre-wrap;
    color: #606266;
    height: auto;
    font-weight: normal;
    width: 300px;
  }
  /*.el-select .el-select-dropdown .el-scrollbar .el-select-dropdown__wrap .el-scrollbar__view .el-select-dropdown__item.selected{
    background: #0090FF;
    color: #fff;
    font-weight: 700
  }*/
</style>