From 7f4105bc2f1d4f8562e1cb9776ce49f8be0c98d2 Mon Sep 17 00:00:00 2001 From: yj <2077506045@qq.com> Date: 星期二, 03 十二月 2024 13:46:37 +0800 Subject: [PATCH] 更新CAQ优化,适配低分辨率设备 --- src/views/exam/paper/personality.vue | 78 ++++++++++++++++++++++++++++++++++----- 1 files changed, 68 insertions(+), 10 deletions(-) diff --git a/src/views/exam/paper/personality.vue b/src/views/exam/paper/personality.vue index dc2ae2d..bca5994 100644 --- a/src/views/exam/paper/personality.vue +++ b/src/views/exam/paper/personality.vue @@ -16,14 +16,14 @@ <div class="align-center"><span style="font-size: small; float: left">{{$t('examinee')}}{{memberName}}</span><span style="margin-top: 0px;padding-right: 11%">鈼弡{form.name}}鈼�</span></div> <hr style="border : 1px dashed #b3d8ff;" /> <el-form-item :key="itemOrder" label-width="1px"> - <QuestionEdit @callNextSubject="nextSubject" :qType="questionItem.questionType" :question="questionItem" + <QuestionEdit @callSelected="callSelected" @callNextSubject="nextSubject" :qType="questionItem.questionType" :question="questionItem" :answer="answer.answerItems[questionItem.itemOrder-1]" :qLabel="itemOrder+'/'+itemSize"/> </el-form-item> <hr style="border : 0.5px dashed #b3d8ff;" /> <div style="color: red;font-size: smaller">{{$t('pleaseAnswerCarefully')}}</div> <el-row class="do-align-center" v-if="order < problemLength"> - <el-button @click="preSubject" type="warning" v-if ="preDisable" round>{{$t('lastQuestion')}}</el-button> - <el-button @click="nextSubject" type="primary" v-if ="nextDisable" round>{{$t('nextQuestion')}}</el-button> + <el-button @click="preSubject" type="warning" v-if ="preDisable" :disabled="preDisable2" round>{{$t('lastQuestion')}}</el-button> + <el-button @click="nextSubject" type="primary" v-if ="nextDisable" :disabled="nextDisable2" round>{{$t('nextQuestion')}}</el-button> </el-row> <el-row class="do-align-center" v-else> <el-button @click="preSubject" type="warning" v-if ="preDisable" round>{{$t('lastQuestion')}}</el-button> @@ -88,7 +88,9 @@ submitDisable: true, doTime: 0, preDisable: false, + preDisable2: false, nextDisable: false, + nextDisable2: false, partOrder: 0, parts: [], guideTitle: '', @@ -101,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 @@ -142,12 +145,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 @@ -192,6 +193,20 @@ }, beforeDestroy () { window.clearInterval(this.timer) + }, + watch: { + guideDescirption: function (newVal, oldVal) { + // 澶勭悊鎸囧璇紝鏇存崲鍙橀噺 + if (newVal) { + if (this.form) { + let productType = this.form.productType + if (productType === 'API_Fan') { + newVal = newVal.replace('%%company%%', this.form.reportCompany) + this.guideDescirption = newVal + } + } + } + } }, methods: { formatSeconds (theTime) { @@ -314,6 +329,8 @@ }, nextSubject: function () { let _this = this + _this.preDisable2 = true + _this.nextDisable2 = true _this.isShowGuide(false) let nowPartOrder = _this.partOrder // 璁剧疆涓婁竴棰樼殑缁撴潫鏃堕棿 @@ -344,6 +361,7 @@ } this.answer.answerItems[_this.order].readOnly = true let answerSubmit = _this.getSubmitAnswerValue(nowPartOrder) + // 宸茬粡绛斿埌浜嗘渶鍚庝竴棰樹簡,涓嶇敤鑷姩璺冲埌涓嬩竴棰� if (this.order + 1 > this.problemLength) { this.submitDisable = false @@ -375,12 +393,21 @@ } else { this.nextQuestionOrder(nowPartOrder) } + _this.preDisable2 = false + _this.nextDisable2 = false }).catch(e => { if (_this.isNotEmpty(loading)) { loading.close() } _this.reloadPage(e) + _this.preDisable2 = false + _this.nextDisable2 = false }) + }, + callSelected: function () { + let _this = this + _this.preDisable2 = true + _this.nextDisable2 = true }, getSubmitAnswerValue (nowPartOrder) { let _this = this @@ -400,8 +427,16 @@ }, preSubject () { let _this = this + _this.nextDisable2 = false _this.isShowGuide(false) if (_this.order > 0) { + // 娓呯┖鏈鐨勯�夋嫨 + _this.answer.answerItems[_this.order].content = null + _this.answer.answerItems[_this.order].completed = false + _this.answer.answerItems[_this.order].questionReport = null + _this.answer.answerItems[_this.order].readOnly = false + + // 璁剧疆鍥炲埌涓婁竴棰� let num = --_this.order _this.itemOrder = _this.form.titleItems[0].questionItems[num].itemOrder _this.questionItem = _this.form.titleItems[0].questionItems[num] @@ -442,7 +477,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 === 'API_Fan') { + _this.submitAnswer(_this.$t('finishPersonalityInfo_apifan')) + } else { + _this.submitAnswer(_this.$t('finishPersonalityInfo')) + } + } else { + _this.submitAnswer(_this.$t('finishPersonalityInfo')) + } } }, startDo: function () { @@ -464,7 +508,18 @@ examPaperAnswerApi.answerSubmit(answerSubmit, _this.memberToken).then(re => { loading.close() if (re.code === 1) { - _this.$router.push({ path: '/exam/finish', query: { name: _this.form.name, content: mess, tokenId: _this.memberToken } }) + // 鐗规畩澶勭悊 LAQ娴嬭瘯鍖� MAQ+CAQ + if (_this.form.name.indexOf('LAQ') !== -1) { + examPaperApi.select(_this.memberToken, _this.langType).then(re => { + _this.form = re.response + this.setFormDo(_this.form) + _this.$router.push({ path: '/guide/index', query: { formDo: _this.form } }) + }).catch(e => { + _this.$message.error(_this.$t('noquestionMsg')) + }) + } else { + _this.$router.push({ path: '/exam/finish', query: { name: _this.form.name, content: mess, tokenId: _this.memberToken } }) + } } else { _this.$message.error(re.message + '/exam/finish') } @@ -523,7 +578,9 @@ 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']), + ...mapMutations('user', ['setFormDo']) }, computed: { ...mapGetters('enumItem', ['enumFormat']), @@ -531,6 +588,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