| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150 | <template>	<uni-popup ref="popupRef" :animation="false" :is-mask-click="false"	 mask-background-color="rgba(255, 255, 255, 0.6);" class="ezy-popup-width-all">		<view class="ezy-result-page">			<view class="icon-title-navBar-box">				<view @click="handleBack" class="nav-bar-icon"></view>				<view class="nav-bar-title">成绩</view>			</view>			<view class="shiti-frame-box">				<w-swiper :list="list" :positionIndex="current" class="result-exam-swiper">					<template v-slot:default="{item,index}">						<view class="body" v-if="item.mta_show">							<danxuan :question="item" showError v-if="item.type == '1'"></danxuan>							<panduan :question="item" showError v-if="item.type == '2'"></panduan>							<tiankong :question="item" showError v-if="item.type == '3'" :placeholders="item.placeholders"></tiankong>							<view class="answer-content-box">								<view class="answer-dtjx-row">									<view class="answer-title"></view>									<!-- 答案解析 -->									<view @click="showJiexiPopup(item)" class="answer-btn"></view>								</view>								<view class="answer-btn-box" v-if="item.type!=3">									<!-- 你的答案 -->									<view class="answer-item-left">										<text class="answer-item-title">您的答案</text>										<text class="answer-item-error">{{showAnswerReply(item)}}</text>										<view class="answer-line"></view>									</view>									<!-- 答案 -->									<view class="answer-item-right">										<text class="answer-item-title">正确答案</text>										<text class="answer-item-correct">{{showAnswerResult(item)}}</text>									</view>								</view>								<view  v-else>									<!-- 答案 -->									<view class="tiankong-answer-content-box">										<!-- <text class="answer-item-title">正确答案</text> -->										<view v-for="(ict,cindex) in showAnswerResult(item)" :key="cindex" class="tiankong-answer-row">										  <text>{{cindex+1}}. </text>										  <text v-for="(xItem,xindex) in ict" :key="xindex">											<text > {{xItem}} </text>											<text v-if="xindex != ict.length-1">/</text>										  </text>										</view>									</view>								</view>															</view>						</view>					</template>				</w-swiper>			</view>			</view>		<!-- 解析浮层数据 -->		<questionJiexi ref="jiexiRef"></questionJiexi>	</uni-popup></template><script setup>	import questionJiexi from '@/components/questionJiexi/questionJiexi.vue';	import wSwiper from '@/components/wSwiper/wSwiper.vue';	import danxuan from "@/components/question/danxuan.vue";	import panduan from "@/components/question/panduan.vue";	import tiankong from "@/components/question/tiankong.vue";	import {		useQuestionTools	} from "@/components/question/useQuestionTools.js";		const {		getLetterByIndex	} = useQuestionTools();	import {		ref	} from "vue";	const props = defineProps({		list: {			type: Array,		},	})	const emits = defineEmits(['back'])	const current = ref(0)	const popupRef = ref(null)	const jiexiRef = ref(null);	// 切换成绩	function showPopup() {		popupRef.value.open()	}  function closePopup() {    popupRef.value.close()  }	// 展示	function showJiexiPopup(data) {		jiexiRef.value.showPopup(data);	}	function handleBack() {		// 从 单元测试 到 岛 的路由参数		emits('back')	}	function showAnswerResult(item) {		if (item.type == 1) {			// 单选题			return getLetterByIndex(item.result)		} else if (item.type == 2){			if (item.result == 1) {				return '正确'			} else {				return '错误'			}		} else {			return item.result		}	}			function showAnswerReply(item) {		if (item.type == 1) {      if (item.reply == null) {        return '未答'      }			// 单选题			return getLetterByIndex(item.reply)		} else if (item.type == 2){      if (item.reply == null) {        return '未答'      }			if (item.reply == 1) {				return '正确'			} else {				return '错误'			}		} else {			return item.reply		}	}	defineExpose({		showPopup,    closePopup	})</script>
 |