From 6a444f6b67a5ecd80623405bf0616d7330418239 Mon Sep 17 00:00:00 2001 From: 闫增涛 <1829501689@qq.com> Date: 星期二, 26 三月 2024 17:43:13 +0800 Subject: [PATCH] 答题器bug修改 --- packageBookService/pages/bookServices/examination/questionList/index.wxml | 286 +++++++++++++++++++++++++++++++++++++++------- packageBookService/pages/bookServices/detail/buyResource/index.js | 6 packageBookService/pages/bookServices/examination/examination.js | 10 + packageBookService/pages/bookServices/detail/index.js | 6 4 files changed, 251 insertions(+), 57 deletions(-) diff --git a/packageBookService/pages/bookServices/detail/buyResource/index.js b/packageBookService/pages/bookServices/detail/buyResource/index.js index bc7e7eb..3bd55b0 100644 --- a/packageBookService/pages/bookServices/detail/buyResource/index.js +++ b/packageBookService/pages/bookServices/detail/buyResource/index.js @@ -329,12 +329,12 @@ for (let i = 0; i < data.length; i++) { if (index < 3) { const item = data[i] - if (item.childrenFolderCount > 0) { + if (item.children && item.children.length > 0) { result.push(item.id) for (let j = 0; j < item.children.length; j++) { if (index < 3) { const childrenItme = item.children[j] - if (item.childrenCount > 0) { + if (item.children && item.children.length > 0) { result.push(childrenItme.id) index += 1 } @@ -342,7 +342,7 @@ break } } - } else if (item.childrenCount > 0) { + } else if (item.children && item.children.length > 0) { result.push(item.id) index += 1 } diff --git a/packageBookService/pages/bookServices/detail/index.js b/packageBookService/pages/bookServices/detail/index.js index 8e525fa..711cb30 100644 --- a/packageBookService/pages/bookServices/detail/index.js +++ b/packageBookService/pages/bookServices/detail/index.js @@ -705,12 +705,12 @@ for (let i = 0; i < data.length; i++) { if (index < 3) { const item = data[i] - if (item.childrenFolderCount > 0) { + if (item.children && item.children.length > 0) { result.push(item.id) for (let j = 0; j < item.children.length; j++) { if (index < 3) { const childrenItme = item.children[j] - if (item.childrenCount > 0) { + if (item.children && item.children.length > 0) { result.push(childrenItme.id) index += 1 } @@ -718,7 +718,7 @@ break } } - } else if (item.childrenCount > 0) { + } else if (item.children && item.children.length > 0) { result.push(item.id) index += 1 } diff --git a/packageBookService/pages/bookServices/examination/examination.js b/packageBookService/pages/bookServices/examination/examination.js index 9b5823d..7683e2a 100644 --- a/packageBookService/pages/bookServices/examination/examination.js +++ b/packageBookService/pages/bookServices/examination/examination.js @@ -439,10 +439,10 @@ }) if (this.data.answerType == 'option') { if (this.data) - this.startCountdown() - this.setData({ - countdownTime: 2 * 60 * 60 * 1000 - }) + // this.startCountdown() + this.setData({ + countdownTime: 2 * 60 * 60 * 1000 + }) // 娴嬭瘯绛旈 await this.getCollectIdList() // 鑾峰彇鏀惰棌id鍒楄〃 await this.getErrorList() // 鑾峰彇閿欓id鍒楄〃 @@ -793,6 +793,8 @@ }) }) } + // 鏈夐鐩啀寮�濮嬪�掕鏃� + if (this.data.questionDataList.length) this.startCountdown() this.setData({ loading: false }) diff --git a/packageBookService/pages/bookServices/examination/questionList/index.wxml b/packageBookService/pages/bookServices/examination/questionList/index.wxml index 33d32c5..7d4b93f 100644 --- a/packageBookService/pages/bookServices/examination/questionList/index.wxml +++ b/packageBookService/pages/bookServices/examination/questionList/index.wxml @@ -1,55 +1,124 @@ <!--pages/bookServices/examination/questionList/index.wxml--> -<view class="question-list" style="background-color:{{isNight ? '#222' : '#fff'}}"> +<view + class="question-list" + style="background-color:{{isNight ? '#222' : '#fff'}}" +> <!-- 棰樺瀷title --> - <view class="question-title" wx:if="{{questionList[showIndex].type}}" style="background-color:{{isNight ? '#222' : '#fff'}}"> - <text class="title-name">{{questionList[showIndex].type}}</text><text class="title-score" style="color: {{isNight ? '#fff' : '#000'}};">(姣忛{{questionList[showIndex].score}}鍒�)</text> + <view + class="question-title" + wx:if="{{questionList[showIndex].type}}" + style="background-color:{{isNight ? '#222' : '#fff'}}" + > + <text class="title-name">{{questionList[showIndex].type}}</text + ><text class="title-score" style="color: {{isNight ? '#fff' : '#000'}};" + >(姣忛{{questionList[showIndex].score}}鍒�)</text + > </view> <!-- 棰樼洰鍒楄〃 --> <swiper class="swiper" bind:change="changeSwiper" current="{{currentIndex}}"> - <swiper-item wx:for="{{questionList}}" wx:key="id" style="overflow-y: auto;"> + <swiper-item wx:for="{{questionList}}" wx:key="id" style="overflow-y: auto"> <!-- 棰樺共 --> - <view class="question-stem title-score" style="color: {{isNight ? '#fff' : '#000'}}; font-size: {{sliderValue || 32}}rpx;"> + <view + class="question-stem title-score" + style="color: {{isNight ? '#fff' : '#000'}}; font-size: {{sliderValue || 32}}rpx;" + > <!-- 棰樺彿 --> <text>{{item.number}}.</text> <!-- 浠呮枃瀛� --> - <view wx:if="{{item.stemStyle == 'Txt' && item.questionType != 'completion'}}">{{item.stem.stemTxt}}</view> + <view + wx:if="{{item.stemStyle == 'Txt' && item.questionType != 'completion'}}" + >{{item.stem.stemTxt}}</view + > <!-- 浠呭浘鐗� --> <view wx:elif="{{item.stemStyle == 'Image'}}"> <t-image src="{{item.stem.stemImage}}" /> </view> <!-- 鍥剧墖鍔犳枃瀛� --> - <view wx:elif="{{item.stemStyle == 'TxtAndImage'}}" class="title-TxtAndImage"> + <view + wx:elif="{{item.stemStyle == 'TxtAndImage'}}" + class="title-TxtAndImage" + > <text>{{item.stem.stemTxt}}</text> <t-image src="{{item.stem.stemImage}}" /> </view> <!-- 瀵屾枃鏈� --> - <view wx:elif="{{item.stemStyle == 'RichText'}} " class="title-RichText"> + <view + wx:elif="{{item.stemStyle == 'RichText'}} " + class="title-RichText" + > <rich-text nodes="{{item.stem.stemTxt}}"></rich-text> </view> <!-- 濉┖棰� --> <view wx:if="{{item.questionType == 'completion'}}"> - <view class="completion-box" wx:for="{{item.stem}}" wx:for-item="inputItem" wx:for-index="inputIndex" wx:key="inputIndex"> - <t-input disabled="{{item.isComplete}}" bind:change="onChangeInput" data-value="{{item.option}}" data-id="{{item.id}}" data-index="{{inputItem.num}}" class="title-input" style="border: 2rpx solid rgba(220,220,220,1);border-radius: 12rpx;background-color:{{isNight ? '#000' : '#fff'}}; " placeholder-style="{{placeholderstyle}}" wx:if="{{inputItem.data == 'input'}}" placeholder="璇疯緭鍏ユ枃瀛�" value="{{item.userAnswer[inputItem.num]}}"></t-input> + <view + class="completion-box" + wx:for="{{item.stem}}" + wx:for-item="inputItem" + wx:for-index="inputIndex" + wx:key="inputIndex" + > + <t-input + disabled="{{item.isComplete}}" + bind:change="onChangeInput" + data-value="{{item.option}}" + data-id="{{item.id}}" + data-index="{{inputItem.num}}" + class="title-input" + style="border: 2rpx solid rgba(220,220,220,1);border-radius: 12rpx;background-color:{{isNight ? '#000' : '#fff'}}; " + placeholder-style="{{placeholderstyle}}" + wx:if="{{inputItem.data == 'input'}}" + placeholder="璇疯緭鍏ユ枃瀛�" + value="{{item.userAnswer[inputItem.num]}}" + ></t-input> <text wx:else>{{inputItem}}</text> </view> </view> </view> <!-- 绛旈鍖哄煙 --> - <view class="question-answer {{item.questionType == 'shortAnswer' ? 'textarea-center' : ''}}"> + <view + class="question-answer {{item.questionType == 'shortAnswer' ? 'textarea-center' : ''}}" + > <!-- 鍗曢�夐 --> - <t-radio-group wx:if="{{item.questionType == 'singleChoice' || item.questionType == 'judge'}}" defaultValue="{{item.userAnswer}}" disabled="{{item.isComplete}}" bind:change="onChangeRadio" class="radio-group" data-value="{{item.option}}" data-id="{{item.id}}"> - <view wx:for="{{item.option}}" wx:for-item="contentItem" wx:for-index="contentIndex" wx:key="contentIndex"> - <t-radio value="{{contentItem.value}}" icon="none" placement="right" borderless style="background-color: {{isNight ? '#222' : '#fff'}}"> - <view style="font-size: {{sliderValue || 32}}rpx;" class="radio-item {{(answerType == 'option' || answerType == 'mock' ) && !submitStatus && item.userAnswer == contentItem.value ? 'radio-active' : isNight ? 'night' :''}} {{ (item.answer == contentItem.value && item.answer == item.userAnswer && submitStatus) ? 'radio-correct' : (item.userAnswer == contentItem.value && item.userAnswer != item.answer && submitStatus) ?'radio-error' :'' }}"> + <t-radio-group + wx:if="{{item.questionType == 'singleChoice' || item.questionType == 'judge'}}" + defaultValue="{{item.userAnswer}}" + disabled="{{item.isComplete}}" + bind:change="onChangeRadio" + class="radio-group" + data-value="{{item.option}}" + data-id="{{item.id}}" + > + <view + wx:for="{{item.option}}" + wx:for-item="contentItem" + wx:for-index="contentIndex" + wx:key="contentIndex" + > + <t-radio + value="{{contentItem.value}}" + icon="none" + placement="right" + borderless + style="background-color: {{isNight ? '#222' : '#fff'}}" + > + <view + style="font-size: {{sliderValue || 32}}rpx;" + class="radio-item {{(answerType == 'option' || answerType == 'mock' ) && !submitStatus && item.userAnswer == contentItem.value ? 'radio-active' : isNight ? 'night' :''}} {{ (item.answer == contentItem.value && item.answer == item.userAnswer && submitStatus) ? 'radio-correct' : (item.userAnswer == contentItem.value && item.userAnswer != item.answer && submitStatus) ?'radio-error' :'' }}" + > <!-- 浠呮枃瀛� --> - <text wx:if="{{item.optionStyle == 'Txt'}}">{{contentItem.value}}銆亄{contentItem.txt}}</text> + <text wx:if="{{item.optionStyle == 'Txt'}}" + >{{contentItem.value}}銆亄{contentItem.txt}}</text + > <!-- 浠呭浘鐗� --> <view wx:if="{{item.optionStyle == 'Image'}}" class="fl-center"> <text>{{contentItem.value}}銆�</text> <t-image src="{{contentItem.img}}" /> </view> <!-- 鏂囧瓧鍔犲浘鐗� --> - <view wx:if="{{item.optionStyle == 'TxtAndImage'}}" class="fl-center"> + <view + wx:if="{{item.optionStyle == 'TxtAndImage'}}" + class="fl-center" + > <text>{{contentItem.value}}銆�</text> <text>{{contentItem.txt}}</text> <t-image src="{{contentItem.img}}" /> @@ -59,27 +128,65 @@ <text>{{contentItem.value}}銆�</text> <rich-text nodes="{{contentItem.txt}}"></rich-text> </view> - <text wx:if="{{submitStatus && (item.answer == contentItem.value && item.answer == item.userAnswer)}}">瀵�</text> - <text wx:if="{{ submitStatus && (item.userAnswer == contentItem.value && item.userAnswer != item.answer)}}">閿�</text> + <text + wx:if="{{submitStatus && (item.answer == contentItem.value && item.answer == item.userAnswer)}}" + >瀵�</text + > + <text + wx:if="{{ submitStatus && (item.userAnswer == contentItem.value && item.userAnswer != item.answer)}}" + >閿�</text + > </view> </t-radio> </view> </t-radio-group> <!-- 澶氶�夐 --> - <t-checkbox-group disabled="{{item.isComplete}}" class="checkbox-group" wx:elif="{{item.questionType == 'multipleChoice'}}" t-class="box" borderless bind:change="onChangeRadio" data-value="{{item.option}}" data-id="{{item.id}}" defaultValue="{{item.userAnswer}}"> - <view wx:for="{{item.option}}" wx:for-item="contentItem" wx:for-index="contentIndex" wx:key="contentIndex"> - <t-checkbox block="{{false}}" value="{{contentItem.value}}" style="background-color:{{isNight ? '#000' :'#fff'}}; "> + <t-checkbox-group + disabled="{{item.isComplete}}" + class="checkbox-group" + wx:elif="{{item.questionType == 'multipleChoice'}}" + t-class="box" + borderless + bind:change="onChangeRadio" + data-value="{{item.option}}" + data-id="{{item.id}}" + defaultValue="{{item.userAnswer}}" + > + <view + wx:for="{{item.option}}" + wx:for-item="contentItem" + wx:for-index="contentIndex" + wx:key="contentIndex" + > + <t-checkbox + block="{{false}}" + value="{{contentItem.value}}" + style="background-color:{{isNight ? '#000' :'#fff'}}; " + > <!-- 浠呮枃瀛� --> - <text wx:if="{{item.optionStyle == 'Txt'}}" style="color:{{ isNight ? '#fff' : '#000'}}">{{contentItem.value}}銆亄{contentItem.txt}}</text> + <text + wx:if="{{item.optionStyle == 'Txt'}}" + style="color:{{ isNight ? '#fff' : '#000'}}" + >{{contentItem.value}}銆亄{contentItem.txt}}</text + > <!-- 浠呭浘鐗� --> <view wx:if="{{item.optionStyle == 'Image'}}" class="fl-center"> - <text>{{contentItem.value}}銆�</text> + <text style="color:{{ isNight ? '#fff' : '#000'}}" + >{{contentItem.value}}銆�</text + > <t-image src="{{contentItem.img}}" /> </view> <!-- 鏂囧瓧鍔犲浘鐗� --> - <view wx:if="{{item.optionStyle == 'TxtAndImage'}}" class="fl-center"> - <text>{{contentItem.value}}銆�</text> - <text>{{contentItem.txt}}</text> + <view + wx:if="{{item.optionStyle == 'TxtAndImage'}}" + class="fl-center" + > + <text style="color:{{ isNight ? '#fff' : '#000'}}" + >{{contentItem.value}}銆�</text + > + <text style="color:{{ isNight ? '#fff' : '#000'}}" + >{{contentItem.txt}}</text + > <t-image src="{{contentItem.img}}" /> </view> <!-- 瀵屾枃鏈� --> @@ -91,41 +198,126 @@ </view> </t-checkbox-group> <!-- 绠�绛� 缈昏瘧 --> - <t-textarea disabled="{{item.isComplete}}" value="{{item.userAnswer}}" bind:change="onChangeRadio" data-value="{{item.option}}" data-id="{{item.id}}" class="option-textarea" wx:elif="{{item.questionType == 'shortAnswer'}}" t-class="external-class" placeholder="璇疯緭鍏ユ枃瀛�" bordered maxlength="500" disableDefaultPadding="{{true}}" indicator style="background-color:{{isNight ? '#000' : '#fff'}}; " /> + <t-textarea + disabled="{{item.isComplete}}" + value="{{item.userAnswer}}" + bind:change="onChangeRadio" + data-value="{{item.option}}" + data-id="{{item.id}}" + class="option-textarea" + wx:elif="{{item.questionType == 'shortAnswer'}}" + t-class="external-class" + placeholder="璇疯緭鍏ユ枃瀛�" + bordered + maxlength="500" + disableDefaultPadding="{{true}}" + indicator + style="background-color:{{isNight ? '#000' : '#fff'}}; " + /> </view> <!-- 鍗曢�夈�佸閫夎В鏋� --> - <view class="analysis" wx:if="{{item.isComplete && (item.questionType == 'singleChoice' || item.questionType == 'judge' || item.questionType == 'multipleChoice')}}"> + <view + class="analysis" + wx:if="{{item.isComplete && (item.questionType == 'singleChoice' || item.questionType == 'judge' || item.questionType == 'multipleChoice')}}" + > <view class="analysis-answer"> - <view class="answer-correct answer-center" style="font-size: {{sliderValue || 32}}rpx;"> + <view + class="answer-correct answer-center" + style="font-size: {{sliderValue || 32}}rpx;" + > <text class="analysis-title-box">姝g‘绛旀锛�</text> - <rich-text nodes="{{item.answer}}" style="font-size: {{sliderValue || 40}}rpx;"></rich-text> + <rich-text + nodes="{{item.answer}}" + style="font-size: {{sliderValue || 40}}rpx;" + ></rich-text> </view> - <view class="answer-center marginL {{item.isRight ? 'answer-correct' : 'answer-error'}}" wx:if="{{item.questionType !== 'shortAnswer'}}"> - <text class="analysis-title-box" style="font-size: {{sliderValue || 32}}rpx;">鎮ㄧ殑绛旀锛�</text><text class="answer-text" style="font-size: {{sliderValue || 40}}rpx;">{{item.userAnswer}}</text> + <view + class="answer-center marginL {{item.isRight ? 'answer-correct' : 'answer-error'}}" + wx:if="{{item.questionType !== 'shortAnswer'}}" + > + <text + class="analysis-title-box" + style="font-size: {{sliderValue || 32}}rpx;" + >鎮ㄧ殑绛旀锛�</text + ><text + class="answer-text" + style="font-size: {{sliderValue || 40}}rpx;" + >{{item.userAnswer}}</text + > </view> </view> - <view class="analysis-text" wx:if="{{item.analysisCon}}" style="color: {{isNight ? '#fff' : '#000'}};"> + <view + class="analysis-text" + wx:if="{{item.analysisCon}}" + style="color: {{isNight ? '#fff' : '#000'}};" + > <text style="font-size: {{sliderValue || 32}}rpx;">绛旀瑙f瀽锛�</text> - <rich-text style="font-size: {{sliderValue || 32}}rpx;" nodes="{{item.analysisCon}}" class="analysis-content"></rich-text> + <rich-text + style="font-size: {{sliderValue || 32}}rpx;" + nodes="{{item.analysisCon}}" + class="analysis-content" + ></rich-text> </view> </view> <!-- 濉┖銆佺畝绛旇В鏋� --> - <view class="analysis" wx:if="{{(item.questionType == 'shortAnswer' || item.questionType == 'completion') && item.isComplete}}"> - <view style="display: {{item.questionType == 'completion' ? 'flex' : 'block'}}"> - <text wx:if="{{item.questionType == 'completion'}}" class="short-answer-fz answer-correct" style="font-size:{{sliderValue || 32}}rpx;">姝g‘绛旀:</text> - <text wx:if="{{item.questionType == 'shortAnswer'}}" class="short-answer-fz" style="color:{{isNight ? '#fff' : '#000'}};font-size:{{sliderValue || 28}}rpx;"> + <view + class="analysis" + wx:if="{{(item.questionType == 'shortAnswer' || item.questionType == 'completion') && item.isComplete}}" + > + <view + style="display: {{item.questionType == 'completion' ? 'flex' : 'block'}}" + > + <text + wx:if="{{item.questionType == 'completion'}}" + class="short-answer-fz answer-correct" + style="font-size:{{sliderValue || 32}}rpx;" + >姝g‘绛旀:</text + > + <text + wx:if="{{item.questionType == 'shortAnswer'}}" + class="short-answer-fz" + style="color:{{isNight ? '#fff' : '#000'}};font-size:{{sliderValue || 28}}rpx;" + > 鍙傝�冪瓟妗堬細 </text> - <rich-text wx:if="{{item.questionType == 'shortAnswer'}}" nodes="{{item.answer}}" style="font-size:{{sliderValue || 28}}rpx; color:{{item.questionType == 'completion' ? '#1FBC1F' : isNight ? '#fff' : '#000'}}"></rich-text> - <view wx:if="{{item.questionType == 'completion'}}" style="font-size:{{sliderValue || 28}}rpx;" class="short-answer-fz answer-correct">{{item.answer}}</view> + <rich-text + wx:if="{{item.questionType == 'shortAnswer'}}" + nodes="{{item.answer}}" + style="font-size:{{sliderValue || 28}}rpx; color:{{item.questionType == 'completion' ? '#1FBC1F' : isNight ? '#fff' : '#000'}}" + ></rich-text> + <view + wx:if="{{item.questionType == 'completion'}}" + style="font-size:{{sliderValue || 28}}rpx;" + class="short-answer-fz answer-correct" + >{{item.answer}}</view + > </view> - <view wx:if="{{item.questionType == 'completion'}}" class="short-answer-mr" style="display: {{item.questionType == 'completion' ? 'flex' : 'block'}}"> - <text class="short-answer-fz {{item.isRight ? 'answer-correct' : 'answer-error'}}" style="font-size:{{sliderValue || 28}}rpx;">鎮ㄧ殑绛旀锛�</text> - <view class="short-answer-fz {{item.isRight ? 'answer-correct' : 'answer-error'}}" style="color:{{isNight ? '#fff' : '#000'}};font-size:{{sliderValue || 28}}rpx;">{{item.userAnswer}}</view> + <view + wx:if="{{item.questionType == 'completion'}}" + class="short-answer-mr" + style="display: {{item.questionType == 'completion' ? 'flex' : 'block'}}" + > + <text + class="short-answer-fz {{item.isRight ? 'answer-correct' : 'answer-error'}}" + style="font-size:{{sliderValue || 28}}rpx;" + >鎮ㄧ殑绛旀锛�</text + > + <view + class="short-answer-fz {{item.isRight ? 'answer-correct' : 'answer-error'}}" + style="color:{{isNight ? '#fff' : '#000'}};font-size:{{sliderValue || 28}}rpx;" + >{{item.userAnswer}}</view + > </view> <view class="short-answer-mr"> - <text class="short-answer-fz;" style="color:{{isNight ? '#fff' : '#000'}};font-size:{{sliderValue || 28}}rpx;">绛旀瑙f瀽锛�</text> - <rich-text nodes="{{item.analysisCon}}" style="font-size:{{sliderValue || 28}}rpx;;color:{{isNight ? '#fff' : '#000'}}"></rich-text> + <text + class="short-answer-fz;" + style="color:{{isNight ? '#fff' : '#000'}};font-size:{{sliderValue || 28}}rpx;" + >绛旀瑙f瀽锛�</text + > + <rich-text + nodes="{{item.analysisCon}}" + style="font-size:{{sliderValue || 28}}rpx;;color:{{isNight ? '#fff' : '#000'}}" + ></rich-text> </view> </view> </swiper-item> @@ -133,4 +325,4 @@ <text>娌℃湁鏇村浜嗐�傘�傘��</text> </swiper-item> </swiper> -</view> \ No newline at end of file +</view> -- Gitblit v1.9.1