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 --- src/views/exam/paper/career_interests.vue | 71 ++++++++++++++++++++++++++++++----- 1 files changed, 61 insertions(+), 10 deletions(-) diff --git a/src/views/exam/paper/career_interests.vue b/src/views/exam/paper/career_interests.vue index 8acacb7..9b8e622 100644 --- a/src/views/exam/paper/career_interests.vue +++ b/src/views/exam/paper/career_interests.vue @@ -1,8 +1,8 @@ <template> <div> - <el-container class="app-item-contain"> - <el-header class="align-center" v-if="guide"> - <h1></h1> + <el-container class="app-item-contain is-vertical"> + <el-header class="align-center" v-if="guide" style="height: 50px;padding: 1%;margin-top: 4%"> + <H2 v-html="$t('guide')"></H2> </el-header> <el-main style="padding-top: 3%;"> <div v-html="guideDescirption" v-if="guide" :style="ismobile?'padding-top: 2%;margin-top: 5%;':'padding-top: 2%;margin: 0 auto;width:66%'"></div> @@ -16,14 +16,15 @@ <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" - :answer="answer.answerItems[questionItem.itemOrder-1]" :qLabel="itemOrder+'/'+itemSize"/> + <QuestionEdit @callSelected="callSelected" @callNextSubject="nextSubject" :qType="questionItem.questionType" :question="questionItem" + :answer="answer.answerItems[questionItem.itemOrder-1]" :qLabel="questionItem.serialNumber+'/'+questionItem.serialNumberCount"/> </el-form-item> <hr style="border : 0.5px dashed #b3d8ff;" /> - <div style="color: red;font-size: smaller">{{$t('pleaseAnswerCarefully')}}</div> + <div style="color: red;font-size: smaller" v-if="partOrder == 1">{{$t('pleaseAnswerCarefullyCiaq')}}</div> + <div style="color: red;font-size: smaller" v-if="partOrder != 1">{{$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> @@ -87,7 +88,9 @@ submitDisable: true, doTime: 0, preDisable: false, + preDisable2: false, nextDisable: false, + nextDisable2: false, partOrder: 0, parts: [], guideTitle: '', @@ -105,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 @@ -117,9 +120,15 @@ _this.itemOrder = _this.form.titleItems[0].questionItems[0].itemOrder _this.timeReduce() _this.initAnswer() + _this.initPartSize() _this.formLoading = false _this.memberName = _this.form.memberName _this.itemSize = _this.form.titleItems[0].questionItems.length + + // 灞曠ず鎸囧璇� + if (_this.form.parts[0].signals.length !== 0) { + _this.showNextGuide(_this.form.parts[0].signals[0], false) + } } else { _this.formLoading = true // 闃叉鍒锋柊鎴愪簡涓嶅悓鐨勮瑷� @@ -140,6 +149,7 @@ _this.questionItem = _this.form.titleItems[0].questionItems[_this.order] _this.partOrder = _this.questionItem.partOrder _this.initAnswer() + _this.initPartSize() _this.formLoading = false _this.memberName = _this.form.memberName @@ -247,6 +257,36 @@ } } }, + initPartSize: function () { + // 鍒濆鍖栭鐩簭鍙� 姣忎釜鍒嗙墖浠�0寮�濮� + let _this = this + let serialNumber = 1 + let partOrder = 1 + for (let i = 0; i < _this.form.titleItems[0].questionItems.length; i++) { + if (_this.form.titleItems[0].questionItems[i].partOrder === partOrder) { + _this.form.titleItems[0].questionItems[i].serialNumber = serialNumber + _this.form.titleItems[0].questionItems[i].serialNumberCount = _this.getPartCount(partOrder) + serialNumber++ + } else { + partOrder = _this.form.titleItems[0].questionItems[i].partOrder + serialNumber = 1 + _this.form.titleItems[0].questionItems[i].serialNumber = serialNumber + _this.form.titleItems[0].questionItems[i].serialNumberCount = _this.getPartCount(partOrder) + serialNumber++ + } + } + }, + getPartCount: function (partOrder) { + // 鏁版嵁缁熻 + let _this = this + let sum = 0 + _this.form.titleItems[0].questionItems.forEach(function (elem, index) { + if (elem.partOrder === partOrder) { + sum += 1 + } + }) + return sum + }, isContentNotEmpty: function (num) { let _this = this return _this.answer.answerItems[num].content !== '' && _this.answer.answerItems[num].content !== null && _this.answer.answerItems[num].content.trim() !== '' @@ -323,6 +363,8 @@ }, nextSubject: function () { let _this = this + _this.preDisable2 = true + _this.nextDisable2 = true _this.isShowGuide(false) let nowPartOrder = _this.partOrder // 璁剧疆涓婁竴棰樼殑缁撴潫鏃堕棿 @@ -353,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 @@ -376,9 +417,18 @@ } else { this.nextQuestionOrder(nowPartOrder) } + _this.preDisable2 = false + _this.nextDisable2 = false }).catch(e => { _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 @@ -399,6 +449,7 @@ }, preSubject () { let _this = this + _this.nextDisable2 = false _this.isShowGuide(false) if (_this.order > 0) { // 娓呯┖鏈鐨勯�夋嫨 -- Gitblit v1.9.1