From c99f9976a5ef9d8974105feb8fc0580a10adf98c Mon Sep 17 00:00:00 2001 From: QYF-GitLab1 <1940665526@qq.com> Date: 星期一, 23 十二月 2024 14:58:49 +0800 Subject: [PATCH] 111 --- packageBookService/pages/bookServices/examination/questionList/index.wxml | 121 ++++++++++++++++++++++++--------------- 1 files changed, 74 insertions(+), 47 deletions(-) diff --git a/packageBookService/pages/bookServices/examination/questionList/index.wxml b/packageBookService/pages/bookServices/examination/questionList/index.wxml index 33d32c5..bfc5f67 100644 --- a/packageBookService/pages/bookServices/examination/questionList/index.wxml +++ b/packageBookService/pages/bookServices/examination/questionList/index.wxml @@ -2,35 +2,43 @@ <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> + <text class="title-name">{{questionList[showIndex].type}}</text><text wx:if="{{questionList[showIndex].score}}" 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 class="swiper" bindanimationfinish="changeSwiper" current="{{currentIndex}}"> + <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;"> <!-- 棰樺彿 --> <text>{{item.number}}.</text> + <!-- 鍚姏棰� --> + <view wx:if="{{item.questionType == 'singleChoice' && item.src}}"> + <rich-text nodes="{{item.stem.stemTxt }}" /> + <view style="margin-top: {{item.stem.stemTxt ? '10rpx' : ''}};" class="audio-play-box" bind:tap="audioPlay" data-src="{{item.src}}"> + <image src="{{isPlay ? '/static/images/resourceDetailsMyAudio/zanting@2x.png' : '/static/images/resourceDetailsMyAudio/play@2x.png'}}" mode="aspectFit"></image> + </view> + </view> + <!-- 浠呮枃瀛� --> - <view wx:if="{{item.stemStyle == 'Txt' && item.questionType != 'completion'}}">{{item.stem.stemTxt}}</view> + <view class="title-content text-space" wx:elif="{{item.stemStyle == 'Txt' && item.questionType != 'completion'}}">{{item.stem.stemTxt}}</view> <!-- 浠呭浘鐗� --> - <view wx:elif="{{item.stemStyle == 'Image'}}"> - <t-image src="{{item.stem.stemImage}}" /> + <view wx:elif="{{item.stemStyle == 'Image'}}" class="title-content"> + <image src="{{item.stem.stemImage}}" mode="aspectFit" /> </view> <!-- 鍥剧墖鍔犳枃瀛� --> - <view wx:elif="{{item.stemStyle == 'TxtAndImage'}}" class="title-TxtAndImage"> - <text>{{item.stem.stemTxt}}</text> - <t-image src="{{item.stem.stemImage}}" /> + <view wx:elif="{{item.stemStyle == 'TxtAndImage'}}" class="title-content text-space"> + <view>{{item.stem.stemTxt}}</view> + <image src="{{item.stem.stemImage}}" mode="aspectFit" /> </view> <!-- 瀵屾枃鏈� --> - <view wx:elif="{{item.stemStyle == 'RichText'}} " class="title-RichText"> - <rich-text nodes="{{item.stem.stemTxt}}"></rich-text> + <view wx:elif="{{item.stemStyle == 'RichText'}} " class="title-content"> + <mp-html content="{{item.stem.stemTxt}}" /> </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> - <text wx:else>{{inputItem}}</text> + <t-input disabled="{{item.isComplete}}" borderless bind:change="onChangeInput" data-value="{{item.option}}" data-id="{{item.id}}" data-index="{{inputItem.num}}" class="title-input {{isNight ? 'input-night-color' : ''}}" 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 class="text-space">{{inputItem}}</text> </view> </view> </view> @@ -40,72 +48,88 @@ <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' :'' }}"> + <view style="font-size: {{sliderValue || 32}}rpx;" class="radio-item {{(answerType == 'option' || answerType == 'mock' ) && !submitStatus && item.userAnswer == contentItem.value ? 'radio-active' : isNight ? 'night' :''}} {{item.userAnswer == contentItem.value && submitStatus ? item.isRight ? 'radio-correct' : 'radio-error' :''}}"> <!-- 浠呮枃瀛� --> - <text wx:if="{{item.optionStyle == 'Txt'}}">{{contentItem.value}}銆亄{contentItem.txt}}</text> + <text wx:if="{{item.optionStyle == 'Txt' && item.questionType == 'singleChoice'}}" class="text-space">{{contentItem.value}}銆亄{contentItem.txt}}</text> + <text wx:if="{{item.optionStyle == 'Txt' && item.questionType == 'judge'}}" class="text-space">{{contentItem.value}}</text> <!-- 浠呭浘鐗� --> <view wx:if="{{item.optionStyle == 'Image'}}" class="fl-center"> <text>{{contentItem.value}}銆�</text> - <t-image src="{{contentItem.img}}" /> + <image src="{{contentItem.img}}" mode="aspectFit" /> </view> <!-- 鏂囧瓧鍔犲浘鐗� --> - <view wx:if="{{item.optionStyle == 'TxtAndImage'}}" class="fl-center"> - <text>{{contentItem.value}}銆�</text> - <text>{{contentItem.txt}}</text> - <t-image src="{{contentItem.img}}" /> + <view wx:if="{{item.optionStyle == 'TxtAndImage'}}" class="fl-center" class="TxtAndImage-box"> + <text class="text-space">{{contentItem.value}}銆�</text> + <view class="radio-textimg">{{contentItem.txt}}</view> + <image src="{{contentItem.img}}" mode="aspectFit" /> </view> <!-- 瀵屾枃鏈� --> - <view wx:if="{{item.optionStyle == 'RichText'}}"> + <view wx:if="{{item.optionStyle == 'RichText'}}" class="judge-rich-box"> <text>{{contentItem.value}}銆�</text> - <rich-text nodes="{{contentItem.txt}}"></rich-text> + <rich-text nodes="{{ contentItem.txt}}" style="display: flex; align-items: center; width: 100%"></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}}"> + <t-checkbox-group 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 disabled="{{item.isComplete}}" icon="rectangle" block="{{false}}" class="t-checkbox" value="{{contentItem.value}}" style="background-color:{{isNight ? '#222' :'#F9F9F9'}}; "> <!-- 浠呮枃瀛� --> - <text wx:if="{{item.optionStyle == 'Txt'}}" style="color:{{ isNight ? '#fff' : '#000'}}">{{contentItem.value}}銆亄{contentItem.txt}}</text> + <view class="fl-center mh text-space" wx:if="{{item.optionStyle == 'Txt'}}" style="color:{{ isNight ? '#fff' : '#000'}};font-size:{{sliderValue || 32}}rpx;"> + <text>{{contentItem.value}}</text> + <text class="check-text-box">{{contentItem.txt}}</text> + </view> + <!-- 浠呭浘鐗� --> - <view wx:if="{{item.optionStyle == 'Image'}}" class="fl-center"> - <text>{{contentItem.value}}銆�</text> - <t-image src="{{contentItem.img}}" /> + <view wx:if="{{item.optionStyle == 'Image'}}" class="fl-center mh"> + <text style="color:{{ isNight ? '#fff' : '#000'}};font-size:{{sliderValue || 32}}rpx;">{{contentItem.value}}銆�</text> + <image src="{{contentItem.img}}" mode="aspectFit" /> </view> <!-- 鏂囧瓧鍔犲浘鐗� --> - <view wx:if="{{item.optionStyle == 'TxtAndImage'}}" class="fl-center"> - <text>{{contentItem.value}}銆�</text> - <text>{{contentItem.txt}}</text> - <t-image src="{{contentItem.img}}" /> + <view wx:if="{{item.optionStyle == 'TxtAndImage'}}" class="fl-center mh text-space"> + <text style="color:{{ isNight ? '#fff' : '#000'}};font-size:{{sliderValue || 32}}rpx;">{{contentItem.value}}銆�</text> + <text style="color:{{ isNight ? '#fff' : '#000'}};font-size:{{sliderValue || 32}}rpx;">{{contentItem.txt}}</text> + <image src="{{contentItem.img}}" wx:if="{{contentItem.img}}" mode="aspectFit" /> </view> <!-- 瀵屾枃鏈� --> - <view wx:if="{{item.optionStyle == 'RichText'}}"> + <view wx:if="{{item.optionStyle == 'RichText'}}" class="check-rich-box mh"> <text>{{contentItem.value}}銆�</text> - <rich-text nodes="{{contentItem.txt}}"></rich-text> + <rich-text nodes="{{contentItem.txt}}" class="multipleChoice"></rich-text> </view> </t-checkbox> </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 {{isNight ? 'textarea-night-color' :''}}" wx:elif="{{item.questionType == 'shortAnswer'}}" t-class="external-class" placeholder="璇疯緭鍏ユ枃瀛�" bordered maxlength="500" disableDefaultPadding="{{true}}" indicator style="background-color:{{isNight ? '#000' : '#fff'}}; " /> + </view> + <!-- 鎴戠殑閿欓銆佹敹钘忔ā寮忎笅锛屾煡鐪嬭В鏋愭寜閽� --> + <view wx:if="{{(answerType == 'collectQuestion' || answerType == 'errorQuestion') && (item.questionType == 'multipleChoice' || item.questionType == 'completion' || item.questionType == 'shortAnswer')}}" style="margin-left: 40rpx"> + <t-button theme="primary" class="view-parsing" bind:tap="viewParsing">鏌ョ湅瑙f瀽</t-button> </view> <!-- 鍗曢�夈�佸閫夎В鏋� --> <view class="analysis" wx:if="{{item.isComplete && (item.questionType == 'singleChoice' || item.questionType == 'judge' || item.questionType == 'multipleChoice')}}"> - <view class="analysis-answer"> + <view class="analysis-answer {{sliderValue >35 ? 'fl-cl' : '' }}"> <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> + <text style="font-size: {{sliderValue || 40}}rpx;">{{item.answer}}</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'}}"> + <view class="answer-center {{item.isRight ? 'answer-correct' : 'answer-error'}} {{sliderValue <= 35 ? 'marginL' : ''}}" 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'}};"> - <text style="font-size: {{sliderValue || 32}}rpx;">绛旀瑙f瀽锛�</text> + <text style="font-size: {{sliderValue || 32}}rpx;" class="answer-analysis">绛旀瑙f瀽锛�</text> <rich-text style="font-size: {{sliderValue || 32}}rpx;" nodes="{{item.analysisCon}}" class="analysis-content"></rich-text> </view> </view> @@ -113,24 +137,27 @@ <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 wx:if="{{item.questionType == 'shortAnswer'}}" class="short-answer-fz" style="color:{{isNight ? '#fff' : '#000'}};font-size:{{sliderValue || 32}}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> </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> + <text class="short-answer-fz {{item.isRight ? 'answer-correct' : 'answer-error'}}" style="font-size:{{sliderValue || 32}}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> + <view class="short-answer-mr" style="margin-bottom: 50rpx"> + <text class="short-answer-fz;" style="color:{{isNight ? '#fff' : '#000'}};font-size:{{sliderValue || 32}}rpx;">绛旀瑙f瀽锛�</text> <rich-text nodes="{{item.analysisCon}}" style="font-size:{{sliderValue || 28}}rpx;;color:{{isNight ? '#fff' : '#000'}}"></rich-text> </view> </view> </swiper-item> - <swiper-item wx:if="{{answerType !== 'collectQuestion'}}"> - <text>娌℃湁鏇村浜嗐�傘�傘��</text> + <swiper-item wx:if="{{noData}}"> + <view class="noData"> + <!-- <t-empty icon="folder-open" description="鏆傛棤鏁版嵁" /> --> + <empty /> + </view> </swiper-item> </swiper> </view> \ No newline at end of file -- Gitblit v1.9.1