Переглянути джерело

Merge branch 'main' of https://gogs.mtavip.com/wangguoyu/uniProject

tanxue 3 тижнів тому
батько
коміт
5343a1dedc

+ 2 - 2
components/questionsChengji/danxuan.vue

@@ -87,12 +87,12 @@
 			if (val.reply && val.reply.trim() !== '') {
 			data.reply = getLetterByIndex(val.reply) ;
 			} else {
-				reply = '未答'
+				data.reply = '未答'
 			}
 			if (val.result) {
 				data.result =  getLetterByIndex(val.result);
 			} else {
-				result = '无答案'
+				data.result = '无答案'
 			}
 			data.contents = val.content.map((item, index) => {
 				return {

+ 2 - 2
components/questionsChengji/duoxuan.vue

@@ -84,7 +84,7 @@
 					}
 				}).join(',')
 			} else {
-				reply = '未答'
+				data.reply = '未答'
 			}
 			if (val.result) {
 				data.result = val.result.map(item => {
@@ -93,7 +93,7 @@
 					}
 				}).join(',')
 			} else {
-				result = '无答案'
+				data.result = '无答案'
 			}
 			data.answer = val.answer;
 			data.score = val.score;

+ 37 - 0
components/questionsChengji/jianda.vue

@@ -7,10 +7,25 @@
 		</view>
 		<!-- 选项区域 -->
 		<textarea class="jianda-textarea-box" placeholder="请输入内容" v-model="question.reply" />
+		
+		<view class="phone-question-answer-box">
+			<view class="phone-line-title">答案解析</view>
+			<view class="btdf-row">本题得分:<text>{{data.score}}</text>分</view>
+			<view class="zqda-row">正确答案:<text>{{data.result}}</text></view>
+			<view class="ndda-row">您的答案:<text>{{data.reply}}</text></view>
+			<view class="dajx-row">答案解析: 
+				<rich-text :nodes="data.answer"></rich-text>
+			</view>
+		</view>
 	</view>
 </template>
 
 <script setup>
+	import {
+		ref,
+		reactive,
+		watch
+	} from 'vue';
 	const props = defineProps({
 		question: {
 			type: Object,
@@ -20,4 +35,26 @@
 			default: false
 		}
 	})
+	const data = reactive({
+		name: '', //题干数据
+		score: '', 
+		result: '', 
+		reply: '', 
+		answer: '', 
+		contents: [], // 选项数据
+	})
+	watch(() => props.question, (val) => formatData(val), {
+		immediate: true
+	})
+	function formatData(val) {
+		if (val) {
+			console.log('val',val);
+			data.name = val.name;
+			data.answer = val.answer;
+			data.score = val.score;
+			data.reply = val.reply;
+			data.result = val.result;
+
+		}
+	}
 </script>

+ 47 - 5
components/questionsChengji/tiankong.vue

@@ -6,14 +6,44 @@
 			<rich-text :nodes="question.name"></rich-text>
 		</view>
 		<!-- 选项区域 -->
-		<view v-for="(item,index) in question.reply" class="tiankong-option-box" :key="index" :class="formatClass(index)">
+		<view v-for="(item,index) in question.reply" class="tiankong-option-box" :key="index"
+			:class="formatClass(index)">
 			<text class="option-question">填空{{index+1}}:</text>
-			<input type="text" v-model="question.reply[index]" class="option-question-text" :placeholder="`请输入填空${index+1}答案`">
+			<input type="text" v-model="question.reply[index]" class="option-question-text"
+				:placeholder="`请输入填空${index+1}答案`">
+		</view>
+
+		<view class="phone-question-answer-box">
+			<view class="phone-line-title">答案解析</view>
+			<view class="btdf-row">本题得分:<text>{{data.score}}</text>分</view>
+			<view class="zqda-row">正确答案:
+				<view v-for="(item,index) in data.result">{{`填空${index+1}`}} : {{item}}</view>
+			</view>
+			<view class="ndda-row">您的答案:
+				<view v-for="(item,index) in data.reply"> {{`填空${index+1}`}}: {{item}}</view>
+			</view>
+			<view class="dajx-row">答案解析:
+				<rich-text :nodes="data.answer"></rich-text>
+			</view>
 		</view>
 	</view>
 </template>
 
 <script setup>
+	import {
+		ref,
+		reactive,
+		watch
+	} from 'vue';
+	const data = reactive({
+		name: '', //题干数据
+		score: '',
+		result: '',
+		reply: '',
+		answer: '',
+		contents: [], // 选项数据
+	})
+
 	const props = defineProps({
 		question: {
 			type: Object,
@@ -24,12 +54,24 @@
 		}
 	})
 
+	watch(() => props.question, (val) => formatData(val), {
+		immediate: true
+	})
+
+	function formatData(val) {
+		data.reply = val.reply || [];
+		data.result = val.result || [];
+		data.answer = val.answer;
+	
+	}
 	function formatClass(index) {
 		if (props.showError) {
 			return {
-				active_right: props.question.result[index].some(item => item == props.question.reply[index]?props.question.reply[index].trim(): ''),
-				showError: !props.question.result[index].some(item => item == props.question.reply[index]?props.question.reply[index].trim(): '')
+				active_right: props.question.result[index].some(item => item == props.question.reply[index] ? props
+					.question.reply[index].trim() : ''),
+				showError: !props.question.result[index].some(item => item == props.question.reply[index] ? props.question
+					.reply[index].trim() : '')
 			}
 		}
 	}
-</script>
+</script>

+ 1 - 1
components/scroll-list-card-chengji/scroll-list-card-chengji.vue

@@ -9,7 +9,7 @@
 		<view class="timeSpan">及格分:{{data.okScore=== null ? '': data.okScore}}</view>
 		<view class="timeSpan">时间:{{data.answerStartTime === null ? '': data.answerStartTime}}</view>
 		<view @click="lookShijuan(data)">查看试卷</view>
-		<view @click="lookPaiming(data)">查看排名</view>
+	<!-- 	<view @click="lookPaiming(data)">查看排名</view> -->
 	</view>
 </template>
 

+ 2 - 2
pages.json

@@ -71,14 +71,14 @@
 			"path" : "pages/score/index",
 			"style" :
 			{
-				"navigationBarTitleText" : "成绩"
+				"navigationStyle" : "custom"
 			}
 		},
 		{
 			"path" : "pages/score/kaoshiChengjiInfo",
 			"style" :
 			{
-				"navigationBarTitleText" : "考试成绩"
+					"navigationStyle" : "custom"
 			}
 		},
 		{

+ 0 - 728
pages/score/kaoshiChengjiInfo copy.vue

@@ -1,728 +0,0 @@
-<template>
-	<view class="phone-kaoshi-page">
-		<!-- 导航区域 -->
-		<view class="icon-title-navBar-box">
-			<view @click="handleBack" class="nav-bar-icon"></view>
-			<text class="nav-bar-title">{{data.lxName}}</text>
-		</view>
-		<!-- 第一行 -->
-		<view class="kaoshi-page-title">
-			<view v-if="activeSt" class="title-types">{{dlName}}</view>
-			<view>100分钟</view>
-		</view>
-
-
-		<view class="kaoshi-shiti-content">
-			<!-- 内容区域 -->
-			<!-- 试题区域 -->
-			<view v-if="activeSt">
-				<template v-if="activeSt.stTypeId == 1">
-					<!-- 单选 -->
-					<danxuan :question="activeSt" :key="activeSt.stId"></danxuan>
-				</template>
-				<template v-if="activeSt.stTypeId == 2">
-					<!-- 多选 -->
-					<duoxuan :question="activeSt" :key="activeSt.stId"></duoxuan>
-				</template>
-				<template v-if="activeSt.stTypeId == 3">
-					<!-- 判断 -->
-					<panduan :question="activeSt" :key="activeSt.stId"></panduan>
-				</template>
-				<template v-if="activeSt.stTypeId == 4">
-					<!-- 填空 -->
-					<tiankong :question="activeSt" :key="activeSt.stId"></tiankong>
-				</template>
-				<template v-if="activeSt.stTypeId == 5">
-					<!-- 简答 -->
-					<jianda :question="activeSt" :key="activeSt.stId"></jianda>
-				</template>
-				<template v-if="activeSt.stTypeId == 6">
-					<!-- 阅读 -->
-					<yuedu :question="activeSt" :key="activeSt.stId" @yudu-change="onYueduChange"></yuedu>
-				</template>
-			</view>
-
-		</view>
-
-		<view class="kaoshi-bottom-box">
-			<button class="phone-green-btn bj-btn" hover-class="none" type="default" size="mini"
-				@click="handleBiaoji">{{activeSt && activeSt.marked ? '取标':'标记'}}</button>
-			<view @click="showAnswerCard" class="shiti-num-box">
-				<icon class="shiti-num-icon"></icon>
-				<text
-					class="active-num">{{activeSt ? activeSt.onlyNum: 0}}</text>/<text>{{data.StListForSearch.length}}</text>
-			</view>
-			<button class="phone-white-btn jx-btn" hover-class="none" type="default" size="mini"
-				@click="handleCheckJiexi">解析</button>
-		</view>
-		<template v-if="activeSt">
-			<button type="default" size="mini" hover-class="none" class="phone-green-btn ks-btn-prev"
-				@click="handlePrev" v-if="!isFistStId">上一题</button>
-			<button type="default" size="mini" hover-class="none" class="phone-green-btn ks-btn-next"
-				@click="handleNext" v-if="!isLastStId">下一题</button>
-			<button type="default" size="mini" hover-class="none" class="phone-green-btn ks-btn-next"
-				@click="handleBack" v-if="isLastStId">交卷</button>
-		</template>
-
-		<!-- 答题卡 -->
-		<uni-popup ref="popupRef" background-color="#fff" :animation="false" :is-mask-click="false" :mask-click="false">
-			<view class="answer-card-popup">
-				<view class="icon-title-navBar-box">
-					<view @click="handlePopupBack" class="nav-bar-icon"> </view>
-					<text class="nav-bar-title">答题卡</text>
-				</view>
-				<view class="card-content-box">
-					<view class="answer-card-content" v-for="(paragraph,paragraphIndex) in questionData"
-						:key="paragraphIndex">
-						<view class="paragraph-title">
-							{{paragraph.name}}
-						</view>
-						<view class="paragraph-qa" v-for="(qa,qaIndex) in paragraph.qas" :key="qaIndex"
-							:class="getQaClass(qa)" @click="answerCardItemClick(qa)">{{qa.onlyNum}}
-						</view>
-					</view>
-				</view>
-			</view>
-		</uni-popup>
-		<!--
-		// 倒计时
-		<view v-if="!!data.endSecond">
-			<text>考试倒计时:</text>
-			<uni-countdown :show-day="false" :second="1000" @timeup="onTimeUp" :start="startCountDown"></uni-countdown>
-		</view>
-		-->
-		<!-- 答案解析 -->
-		<scoreAndAnswerVue ref="scoreAnswerRef"></scoreAndAnswerVue>
-		<scoreAndAnswerAdminTiankong ref="scoreAnswerTkRef"></scoreAndAnswerAdminTiankong>
-		<scoreAndAnswerAdminJianda ref="scoreAnswerJdRef"></scoreAndAnswerAdminJianda>
-	</view>
-
-
-
-</template>
-
-<script setup>
-	import {
-		ref,
-		reactive,
-		computed,
-		watch
-	} from "vue";
-	import {
-		onLoad
-	} from "@dcloudio/uni-app";
-	import * as lxApi from "@/api/lianxi.js"
-	import danxuan from "@/components/questions/danxuan.vue";
-	import duoxuan from "@/components/questions/duoxuan.vue";
-	import tiankong from "@/components/questions/tiankong.vue";
-	import panduan from "@/components/questions/panduan.vue";
-	import jianda from "@/components/questions/jianda.vue";
-	import yuedu from "@/components/questions/yuedu.vue";
-	import scoreAndAnswerVue from "@/components/scoreAndAnswer/scoreAndAnswerAdmin.vue";
-	import scoreAndAnswerAdminTiankong from "@/components/scoreAndAnswer/scoreAndAnswerAdminTiankong.vue";
-	import scoreAndAnswerAdminJianda from "@/components/scoreAndAnswer/scoreAndAnswerJianda.vue";
-	import {
-		useQuestionTools
-	} from "@/components/questions/useQuestionTools.js";
-
-	const {
-		checkDanxuanReply,
-		checkDuoxuanReply,
-		checkPanduanReply,
-		checkTiankongReply,
-		getLetterByIndex,
-		checkJiandaReply,
-		checkYueduReply
-	} = useQuestionTools();
-
-	const stTypes = {
-		1: '单选题',
-		2: '多选题',
-		3: '判断题',
-		4: '填空题',
-	}
-
-	const popupRef = ref(null)
-	const scoreAnswerRef = ref(null)
-	const scoreAnswerTkRef = ref(null)
-	const startCountDown = ref(false);
-	const scoreAnswerJdRef = ref(null);
-
-	const data = reactive({
-		lxId: null,
-		lxName: '',
-		stTotal: 0,
-		stScore: 0,
-		biaoji: null,
-		endSecond: 0,
-		pageSize: 0,
-		toggleScreenFlag: 0,
-		toggleScreenSecond: 0,
-		zhuapai: 0,
-		duanluo: [],
-		markDB: [],
-		StListForSearch: [],
-	})
-
-	const yuduIndexQa = ref(null);
-
-	const questionData = ref([]);
-
-	const progress = reactive({
-		dlIndex: 0,
-		dtIndex: 0
-	})
-
-	const dlName = computed(() => {
-		if (data.StListForSearch && activeSt.value) {
-			return data.StListForSearch[activeSt.value.onlyNum - 1].paragraphName
-		} else {
-			return ''
-		}
-	})
-
-	watch(() => data.duanluo, (newVal) => {
-		// 计算已答试题数量
-	}, {
-		deep: true
-	})
-
-	const activeSt = computed(() => {
-		if (questionData.value.length) {
-			return questionData.value.length && questionData.value[progress.dlIndex].qas[progress.dtIndex];
-		} else {
-			return null
-		}
-	})
-
-	const isFistStId = computed(() => {
-		if (data.StListForSearch.length) {
-			return data.StListForSearch[0].stId == activeSt.value.stId
-		} else {
-			return false
-		}
-	});
-	const isLastStId = computed(() => {
-		if (data.StListForSearch.length) {
-			return data.StListForSearch[data.StListForSearch.length - 1].stId == activeSt.value.stId
-		} else {
-			return false
-		}
-	});
-
-	onLoad((option) => {
-	//	data.lxId = option.lxId;
-		data.lxId =6;
-		initKaoshi();
-	})
-
-	function getQaClass(qa) {
-		if (qa.marked && qa.marked === true) {
-			return 'paragraph-qa-block-mark';
-		} else {
-			if (qa.stTypeId == 1) {
-				if (checkDanxuanReply(qa)) {
-					return 'paragraph-qa-block-done';
-				} else {
-					return 'paragraph-qa-block-init';
-				}
-			} else if (qa.stTypeId == 2) {
-				if (checkDuoxuanReply(qa)) {
-					return 'paragraph-qa-block-done';
-				} else {
-					return 'paragraph-qa-block-init';
-				}
-			} else if (qa.stTypeId == 3) {
-				if (checkPanduanReply(qa)) {
-					return 'paragraph-qa-block-done';
-				} else {
-					return 'paragraph-qa-block-init';
-				}
-			} else if (qa.stTypeId == 4) {
-				if (checkTiankongReply(qa)) {
-					return 'paragraph-qa-block-done';
-				} else {
-					return 'paragraph-qa-block-init';
-				}
-			} else if (qa.stTypeId == 5) {
-				if (checkJiandaReply(qa)) {
-					return 'paragraph-qa-block-done';
-				} else {
-					return 'paragraph-qa-block-init';
-				}
-			} else if (qa.stTypeId == 6) {
-				if (checkYueduReply(qa)) {
-					return 'paragraph-qa-block-done';
-				} else {
-					return 'paragraph-qa-block-init';
-				}
-			}
-		}
-	}
-
-	function skipQuestion(dlIndex, dtIndex) {
-		progress.dlIndex = dlIndex;
-		progress.dtIndex = dtIndex;
-		handlePopupBack()
-		// 切换试题时清空阅读提解析
-		yuduIndexQa.value = null;
-	}
-
-	function answerCardItemClick(qa) {
-		const actQa = data.StListForSearch.find(item => item.stId == qa.stId);
-		skipQuestion(actQa.dlIndex, actQa.dtIndex)
-
-	}
-
-	function handleBack() {
-		uni.redirectTo({
-			url: "/pages/admin/Lianxi/list"
-		})
-	}
-
-	function onTimeUp() {
-		console.log('end')
-	}
-
-	function showAnswerCard() {
-		popupRef.value.open('top')
-	}
-
-	function handlePopupBack() {
-		popupRef.value.close()
-	}
-
-	function handlePrev() {
-		const qa = data.StListForSearch.find(item => item.stId == activeSt.value.stId);
-		const index = qa.num - 1;
-		if (index > 0) {
-			const result = data.StListForSearch[index - 1];
-			progress.dlIndex = result.dlIndex;
-			progress.dtIndex = result.dtIndex
-		}
-		// 切换试题时清空阅读提解析
-		yuduIndexQa.value = null;
-	}
-
-	function handleNext() {
-		const qa = data.StListForSearch.find(item => item.stId == activeSt.value.stId);
-		const index = qa.num - 1;
-		if (index < data.StListForSearch.length) {
-			const result = data.StListForSearch[index + 1];
-			progress.dlIndex = result.dlIndex;
-			progress.dtIndex = result.dtIndex
-		}
-		// 切换试题时清空阅读提解析
-		yuduIndexQa.value = null
-	}
-
-	function formatDuanluoList(dlData) {
-		let uIndex = 0; // 试题num
-		let iDuanluo = 0; // 段落num
-		let result = [];
-		for (const duanluo of data.duanluo) {
-			let paragraph = {
-				qas: [],
-			};
-			paragraph.name = duanluo.name;
-
-			let iQa = 0; // 当前试题序号
-			let order = 0; // 当前题型中第几题
-			for (const iDanxuan of duanluo.danxuan) {
-				iDanxuan.type = 'danxuan';
-				iDanxuan.marked = false;
-				iDanxuan.onlyNum = uIndex + 1;
-				iDanxuan.order = order;
-				iDanxuan.iQa = iQa;
-				iDanxuan.reply = iDanxuan.result;
-				paragraph.qas.push(iDanxuan);
-				uIndex++;
-				order++;
-				iQa++;
-
-				data.StListForSearch.push({
-					stId: iDanxuan.stId,
-					paragraphName: paragraph.name,
-					dlIndex: iDuanluo,
-					dtIndex: iDanxuan.iQa,
-					num: iDanxuan.onlyNum
-				})
-			}
-			order = 0;
-			for (const iDuoxuan of duanluo.duoxuan) {
-				iDuoxuan.type = 'duoxuan';
-				iDuoxuan.marked = false;
-				iDuoxuan.onlyNum = uIndex + 1;
-				iDuoxuan.order = order;
-				paragraph.qas.push(iDuoxuan);
-				iDuoxuan.reply = iDuoxuan.result;
-				iDuoxuan.iQa = iQa;
-				uIndex++;
-				order++;
-				iQa++;
-
-				data.StListForSearch.push({
-					stId: iDuoxuan.stId,
-					paragraphName: paragraph.name,
-					dlIndex: iDuanluo,
-					dtIndex: iDuoxuan.iQa,
-					num: iDuoxuan.onlyNum
-				})
-			}
-			order = 0;
-			for (const iPanduan of duanluo.panduan) {
-				iPanduan.type = 'panduan';
-				iPanduan.marked = false;
-				iPanduan.onlyNum = uIndex + 1;
-				iPanduan.order = order;
-				paragraph.qas.push(iPanduan);
-				iPanduan.reply = iPanduan.result;
-				iPanduan.iQa = iQa;
-				uIndex++;
-				order++;
-				iQa++;
-
-				data.StListForSearch.push({
-					stId: iPanduan.stId,
-					paragraphName: paragraph.name,
-					dlIndex: iDuanluo,
-					dtIndex: iPanduan.iQa,
-					num: iPanduan.onlyNum
-				})
-			}
-			order = 0;
-			for (const iTiankong of duanluo.tiankong) {
-				iTiankong.type = 'tiankong';
-				iTiankong.marked = false;
-				iTiankong.onlyNum = uIndex + 1;
-				iTiankong.order = order;
-				paragraph.qas.push(iTiankong);
-				iTiankong.reply = iTiankong.result.map(item => item[0]);
-				iTiankong.iQa = iQa;
-				uIndex++;
-				order++;
-				iQa++;
-
-				data.StListForSearch.push({
-					stId: iTiankong.stId,
-					paragraphName: paragraph.name,
-					dlIndex: iDuanluo,
-					dtIndex: iTiankong.iQa,
-					num: iTiankong.onlyNum
-				})
-			}
-			order = 0;
-			for (const iJianda of duanluo.jianda) {
-				iJianda.marked = false;
-				iJianda.type = 'jianda';
-				iJianda.onlyNum = uIndex + 1;
-				iJianda.order = order;
-				iJianda.iQa = iQa;
-				paragraph.qas.push(iJianda);
-				iJianda.reply = '';
-				uIndex++;
-				order++;
-				iQa++;
-
-				data.StListForSearch.push({
-					stId: iJianda.stId,
-					paragraphName: paragraph.name,
-					dlIndex: iDuanluo,
-					dtIndex: iJianda.iQa,
-					num: iJianda.onlyNum
-				})
-			}
-			order = 0;
-			for (const iYuedu of duanluo.yuedu) {
-				iYuedu.marked = false;
-				iYuedu.type = 'yuedu';
-				iYuedu.onlyNum = uIndex + 1;
-				iYuedu.order = order;
-				iYuedu.iQa = iQa;
-
-				if (iYuedu.duoxuan && iYuedu.duoxuan.length) {
-					iYuedu.duoxuan.map((qIt) => {
-						qIt.reply = qIt.reply || [];
-						return qIt
-					})
-				}
-
-				if (iYuedu.tiankong && iYuedu.tiankong.length) {
-					iYuedu.tiankong.map((qIt) => {
-						qIt.reply = new Array(qIt.count).fill('');
-						return qIt;
-					});
-				}
-
-				paragraph.qas.push(iYuedu);
-				iYuedu.reply = [];
-				uIndex++;
-				order++;
-				iQa++;
-
-				data.StListForSearch.push({
-					stId: iYuedu.stId,
-					paragraphName: paragraph.name,
-					dlIndex: iDuanluo,
-					dtIndex: iYuedu.iQa,
-					num: iYuedu.onlyNum
-				})
-			}
-
-			iDuanluo++;
-			questionData.value.push(paragraph)
-
-			console.log(questionData.value)
-		}
-	}
-
-	function handleBiaoji() {
-		activeSt.value.marked = !activeSt.value.marked;
-	}
-	// 切换阅读小题时更新当前试题解析
-	function onYueduChange(qa) {
-		yuduIndexQa.value = qa;
-	}
-
-	// 校验阅读解析
-	function checkYueduJiexi() {
-		let qa = yuduIndexQa.value;
-		let score = qa.userScore;
-		let reply = '';
-		let result = '';
-		let answer = qa.answer;
-		if (qa.stTypeId == 1) {
-			// 单选题
-			if (qa.reply && qa.reply.trim() !== '') {
-				reply = getLetterByIndex(qa.reply)
-			} else {
-				reply = '未答'
-			}
-
-			if (qa.result) {
-				result = getLetterByIndex(qa.result)
-			} else {
-				result = '无答案'
-			}
-			scoreAnswerRef.value.showPopup({
-				score,
-				reply,
-				result,
-				answer
-			})
-		}
-		if (qa.stTypeId == 2) {
-			// 多选题
-
-			if (qa.reply && qa.reply.length) {
-				reply = qa.reply.map(item => {
-					if (item.trim()) {
-						return getLetterByIndex(item.trim())
-					}
-				}).join(',')
-			} else {
-				reply = '未答'
-			}
-			if (qa.result) {
-				result = qa.result.map(item => {
-					if (item.trim()) {
-						return getLetterByIndex(item.trim())
-					}
-				}).join(',')
-			} else {
-				result = '无答案'
-			}
-			scoreAnswerRef.value.showPopup({
-				score,
-				reply,
-				result,
-				answer
-			})
-		}
-		if (qa.stTypeId == 3) {
-			// 判断题
-			if (qa.reply === '') {
-				reply = '未答'
-			} else if (qa.reply == 0) {
-				reply = '错误'
-			} else if (qa.reply == 1) {
-				reply = '正确'
-			}
-			if (qa.result == 0) {
-				result = '错误'
-			} else if (qa.result == 1) {
-				result = '正确'
-			}
-			scoreAnswerRef.value.showPopup({
-				score,
-				reply,
-				result,
-				answer
-			})
-		}
-		if (qa.stTypeId == 4) {
-			let reply = qa.reply || [];
-			let result = qa.result || [];
-			// 填空题
-			scoreAnswerTkRef.value.showPopup({
-				score,
-				reply,
-				result,
-				answer
-			})
-		}
-		if (qa.stTypeId == 5) {
-			// 简单题
-			let reply = qa.reply ? '未答' : qa.reply;
-			let result = qa.result;
-			scoreAnswerJdRef.value.showPopup({
-				score,
-				reply,
-				result,
-				answer
-			})
-		}
-
-	}
-
-	// 获取解析
-	function handleCheckJiexi() {
-		const qa = activeSt.value;
-		let score = qa.userScore;
-		let reply = '';
-		let result = '';
-		let answer = qa.answer;
-		if (qa.stTypeId == 1) {
-			// 单选题
-			if (qa.reply && qa.reply.trim() !== '') {
-				reply = getLetterByIndex(qa.reply)
-			} else {
-				reply = '未答'
-			}
-
-			if (qa.result) {
-				result = getLetterByIndex(qa.result)
-			} else {
-				result = '无答案'
-			}
-			scoreAnswerRef.value.showPopup({
-				score,
-				reply,
-				result,
-				answer
-			})
-		}
-		if (qa.stTypeId == 2) {
-			// 多选题
-
-			if (qa.reply && qa.reply.length) {
-				reply = qa.reply.map(item => {
-					if (item.trim()) {
-						return getLetterByIndex(item.trim())
-					}
-				}).join(',')
-			} else {
-				reply = '未答'
-			}
-			if (qa.result) {
-				result = qa.result.map(item => {
-					if (item.trim()) {
-						return getLetterByIndex(item.trim())
-					}
-				}).join(',')
-			} else {
-				result = '无答案'
-			}
-			scoreAnswerRef.value.showPopup({
-				score,
-				reply,
-				result,
-				answer
-			})
-		}
-		if (qa.stTypeId == 3) {
-			// 判断题
-			if (qa.reply === '') {
-				reply = '未答'
-			} else if (qa.reply == 0) {
-				reply = '错误'
-			} else if (qa.reply == 1) {
-				reply = '正确'
-			}
-			if (qa.result == 0) {
-				result = '错误'
-			} else if (qa.result == 1) {
-				result = '正确'
-			}
-			scoreAnswerRef.value.showPopup({
-				score,
-				reply,
-				result,
-				answer
-			})
-		}
-		if (qa.stTypeId == 4) {
-			let reply = qa.reply || [];
-			let result = qa.result || [];
-			// 填空题
-			scoreAnswerTkRef.value.showPopup({
-				score,
-				reply,
-				result,
-				answer
-			})
-		}
-		if (qa.stTypeId == 5) {
-			// 简单题
-			let reply = qa.reply;
-			let result = qa.result;
-			scoreAnswerJdRef.value.showPopup({
-				score,
-				reply,
-				result,
-				answer
-			})
-		}
-		if (qa.stTypeId == 6) {
-			// 简单题
-			checkYueduJiexi()
-		}
-
-	}
-
-	function initKaoshi() {
-		lxApi.getLianxiInfo({
-			lxId: data.lxId
-		}).then(res => {
-			const {
-				lxId,
-				lxName,
-				stTotal,
-				stScore,
-				biaoji,
-				endSecond,
-				pageSize,
-				toggleScreenFlag,
-				toggleScreenSecond,
-				zhuapai,
-				duanluoList
-			} = res.data;
-			data.lxId = lxId;
-			data.lxName = lxName;
-			data.stTotal = stTotal;
-			data.stScore = stScore;
-			data.biaoji = biaoji;
-			data.endSecond = endSecond;
-			data.pageSize = pageSize;
-			data.toggleScreenFlag = toggleScreenFlag;
-			data.toggleScreenSecond = toggleScreenSecond;
-			data.zhuapai = zhuapai;
-			data.duanluo = duanluoList;
-			formatDuanluoList(data.duanluo);
-			startCountDown.value = true;
-			uni.setNavigationBarTitle({
-				title: data.lxName
-			});
-		})
-	}
-</script>

+ 11 - 14
pages/score/kaoshiChengjiInfo.vue

@@ -1,10 +1,6 @@
 <template>
 	<view class="phone-kaoshi-page">
-		<!-- 导航区域 -->
-		<view class="icon-title-navBar-box">
-			<view @click="handleBack" class="nav-bar-icon"></view>
-			<text class="nav-bar-title">{{data.lxName}}</text>
-		</view>
+		<customNavbarVue :title="data.name" :show-back-btn="true" @back="handleBack"></customNavbarVue>
 		<!-- 第一行 -->
 		<view class="kaoshi-page-title">
 			<view v-if="activeSt" class="title-types">{{dlName}}</view>
@@ -49,8 +45,6 @@
 			<button type="default" size="mini" hover-class="none" class="phone-green-btn ks-btn-next"
 				@click="handleNext" v-if="!isLastStId">下一题</button>
 		</template>
-		<button class="phone-white-btn jx-btn" hover-class="none" type="default" size="mini"
-			@click="handleCheckJiexi">解析</button>
 		<!-- 答案解析 -->
 		<scoreAndAnswerVue ref="scoreAnswerRef"></scoreAndAnswerVue>
 		<scoreAndAnswerAdminTiankong ref="scoreAnswerTkRef"></scoreAndAnswerAdminTiankong>
@@ -81,6 +75,7 @@
 	import scoreAndAnswerVue from "@/components/scoreAndAnswer/scoreAndAnswerAdmin.vue";
 	import scoreAndAnswerAdminTiankong from "@/components/scoreAndAnswer/scoreAndAnswerAdminTiankong.vue";
 	import scoreAndAnswerAdminJianda from "@/components/scoreAndAnswer/scoreAndAnswerJianda.vue";
+	import customNavbarVue from "@/components/custom-navbar/custom-navbar.vue";
 	import {
 		useQuestionTools
 	} from "@/components/questions/useQuestionTools.js";
@@ -173,16 +168,10 @@
 	onLoad((option) => {
 		data.hisId = option.hisId;
 		data.name = option.name;
-		
+
 		initKaoshi();
 	})
 
-	function handleBack() {
-		uni.redirectTo({
-			url: "/pages/admin/Lianxi/list"
-		})
-	}
-
 	function onTimeUp() {
 		console.log('end')
 	}
@@ -591,6 +580,14 @@
 
 	}
 
+	function handleBack() {
+
+		// uni.redirectTo({
+		// 	url: "/pages/score/index"
+		// })
+	uni.navigateBack()
+	}
+
 	function initKaoshi() {
 		cjApi.lookChengjiView({
 			hisId: data.hisId