dedsudiyu 6 days ago
parent
commit
07b5aa900f

+ 8 - 0
pages_safetyEducationExamination/api/index.js

@@ -196,4 +196,12 @@ export const examElLabEduRelationAudit = (data) => {
 		method: 'POST',
 		data: { ...data }
 	})
+};
+//重新开始学习课件
+export const examUserCoursewareLearningRestart = (data) => {
+	return apiResquest({
+		url: `/exam/user/courseware/learning/restart`,
+		method: 'get',
+		data: { ...data }
+	})
 };

+ 34 - 0
pages_safetyEducationExamination/utils/index.js

@@ -1,6 +1,7 @@
 import {
 	examUserExamStart,
 	examUserExamCommitmentConfirm,
+	examUserCoursewareLearningRestart,
 } from '@/pages_safetyEducationExamination/api/index.js'
 
 /**
@@ -144,3 +145,36 @@ export function navigateToExamPlay(examId, attemptId, examKind) {
 		url: `/pages_safetyEducationExamination/views/exam/onlineExamPlay?examId=${encodeURIComponent(examId)}&attemptId=${encodeURIComponent(attemptId)}&examKind=${encodeURIComponent(examKind || '')}`,
 	});
 }
+/**
+ * 学习课件
+ */
+export function goLearning(item){
+	if(item.learnStatus == 2){
+		uni.showModal({
+			title: '提示',
+			content: `该课件已学完,是否重置进度重新学习?`,
+			success: async (res) => {
+				if (res.confirm) {
+					await examUserCoursewareLearningRestartFunction(item.coursewareId);
+				}
+			}
+		});
+	}else{
+		uni.navigateTo({
+			url: `/pages_safetyEducationExamination/views/webViewPage/coursewareLearning?coursewareId=${item.coursewareId}`,
+		});
+	}
+}
+/**
+ * 查询课件是否已学过
+ */
+export async function examUserCoursewareLearningRestartFunction(coursewareId ) {
+	try {
+		const { data } = await examUserCoursewareLearningRestart({coursewareId:coursewareId});
+		if (data.code === 200) {
+			uni.navigateTo({
+				url: `/pages_safetyEducationExamination/views/webViewPage/coursewareLearning?coursewareId=${coursewareId}`,
+			});
+		}
+	} catch (e) { console.error('重新开始学习课件失败', e); }
+}

+ 4 - 1
pages_safetyEducationExamination/views/home/component/academicYearStats.vue

@@ -39,9 +39,12 @@
 
 		},
 		mounted() {
-			this.examElLabEduRelationAcademicYearProgress();
+			// this.examElLabEduRelationAcademicYearProgress();
 		},
 		methods: {
+			resetMethod(){
+				this.examElLabEduRelationAcademicYearProgress();
+			},
 			//年度数据
 			async examElLabEduRelationAcademicYearProgress() {
 				try {

+ 32 - 1
pages_safetyEducationExamination/views/home/component/docResource.vue

@@ -56,6 +56,7 @@
 		examElDisciplineTypeList, 
 		examUserCoursewareLearningList,
 		examElQuestionBankGroupByKnowledgePoint,
+		examUserCoursewareLearningRestart,
 	} from '@/pages_safetyEducationExamination/api/index.js'
 	export default {
 		// components: {
@@ -73,9 +74,13 @@
 			
 		},
 		mounted() {
-			this.examElDisciplineTypeList();
+			// this.examElDisciplineTypeList();
 		},
 		methods: {
+			resetMethod(){
+				this.$set(this,'topCheckIndex',0);
+				this.examElDisciplineTypeList();
+			},
 			goPage(type,item){
 				if(type == 1){
 					//文章列表
@@ -84,6 +89,21 @@
 					});
 				}else if(type == 2){
 					//学习文章
+					if(item.learnStatus == 2){
+						uni.showModal({
+							title: '提示',
+							content: `该课件已学完,是否重置进度重新学习?`,
+							success: async (res) => {
+								if (res.confirm) {
+									await this.examUserCoursewareLearningRestart(item.coursewareId);
+								}
+							}
+						});
+					}else{
+						uni.navigateTo({
+							url: `/pages_safetyEducationExamination/views/webViewPage/coursewareLearning?coursewareId=${item.coursewareId}`,
+						});
+					}
 				}else if(type == 3){
 					//知识点刷题列表(带学科类型参数)
 					uni.navigateTo({
@@ -96,6 +116,17 @@
 					});
 				}
 			},
+			//重新开始学习课件
+			async examUserCoursewareLearningRestart(coursewareId) {
+				try {
+					const { data } = await examUserCoursewareLearningRestart({coursewareId:coursewareId});
+					if (data.code === 200) {
+						uni.navigateTo({
+							url: `/pages_safetyEducationExamination/views/webViewPage/coursewareLearning?coursewareId=${coursewareId}`,
+						});
+					}
+				} catch (e) { console.error('重新开始学习课件失败', e); }
+			},
 			//选项卡切换
 			checkTable(index){
 				if(this.topCheckIndex!=index){

+ 4 - 1
pages_safetyEducationExamination/views/home/component/examTask.vue

@@ -68,9 +68,12 @@
 			}
 		},
 		mounted() {
-			this.loadTaskList();
+			// this.loadTaskList();
 		},
 		methods: {
+			resetMethod(){
+				this.loadTaskList();
+			},
 			goToPage(type, item) {
 				if (type == 1) {
 					uni.navigateTo({ url: '/pages_safetyEducationExamination/views/exam/index' });

+ 4 - 1
pages_safetyEducationExamination/views/home/component/labBinding.vue

@@ -30,9 +30,12 @@
 			}
 		},
 		mounted() {
-			this.loadPendingCount();
+			// this.loadPendingCount();
 		},
 		methods: {
+			resetMethod(){
+				this.loadPendingCount();
+			},
 			async loadPendingCount() {
 				try {
 					const { data } = await examElLabEduRelationAuditList({

+ 4 - 1
pages_safetyEducationExamination/views/home/component/mockPractice.vue

@@ -57,9 +57,12 @@
 			
 		},
 		mounted() {
-			this.examUserPracticeSummary();
+			// this.examUserPracticeSummary();
 		},
 		methods: {
+			resetMethod(){
+				this.examUserPracticeSummary();
+			},
 			goToPage(){
 				uni.navigateTo({
 					url: '/pages_safetyEducationExamination/views/practice/index',

+ 4 - 9
pages_safetyEducationExamination/views/home/component/specialExam.vue

@@ -87,9 +87,12 @@
 			
 		},
 		mounted() {
-			this.examUserExamStudyTaskList();
+			// this.examUserExamStudyTaskList();
 		},
 		methods: {
+			resetMethod(){
+				this.examUserExamStudyTaskList();
+			},
 			goToPage(item) {
 				this.$set(this,'itemData',this.examData);
 				goToExamPage(this.examData, {
@@ -114,14 +117,6 @@
 				});
 			},
 			// 获取任务列表
-			async loadTaskList() {
-				try {
-					const { data } = await examUserExamStudyTaskList({ page: 1, pageSize: 1, examStatus: 2, isSpecialExam: false });
-					if (data.code === 200) {
-						this.$set(this, 'onlineExamList', data.data.records);
-					}
-				} catch (e) { console.error('获取考试任务失败', e); }
-			},
 			async examUserExamStudyTaskList() {
 				try {
 					let obj = { page: 1, pageSize: 1, examStatus: 2, isSpecialExam: true };

+ 43 - 15
pages_safetyEducationExamination/views/home/index.vue

@@ -5,19 +5,19 @@
 			<!-- 用户信息 -->
 			<user-info-card></user-info-card>
 			<!-- 学年数据统计 -->
-			<academic-year-stats></academic-year-stats>
+			<academic-year-stats ref="academicYearStats"></academic-year-stats>
 			<!-- 实验室绑定 -->
-			<lab-binding></lab-binding>
+			<lab-binding ref="labBinding"></lab-binding>
 			<!-- 考试任务 -->
-			<exam-task></exam-task>
+			<exam-task ref="examTask"></exam-task>
 			<!-- 特殊考试 -->
-			<special-exam></special-exam>
+			<special-exam ref="specialExam"></special-exam>
 			<!-- 模拟练习 -->
-			<mock-practice></mock-practice>
+			<mock-practice ref="mockPractice"></mock-practice>
 			<!-- 培训任务 -->
-			<training-task></training-task>
+			<!-- <training-task ref="trainingTask"></training-task> -->
 			<!-- 文档资源 -->
-			<doc-resource></doc-resource>
+			<doc-resource ref="docResource"></doc-resource>
 			<!-- 视频资源 -->
 			<view class="videoResource-component">
 				<view class="card">
@@ -25,7 +25,7 @@
 						<view class="header-left">
 							<view class="card-title">视频学习资源</view>
 						</view>
-						<text class="header-link" @click="goToPage()">更多 ›</text>
+						<text class="header-link" @click="goToPage(1)">更多 ›</text>
 					</view>
 					<view class="card-body">
 						<view class="top-table-box">
@@ -35,7 +35,9 @@
 							{{item.disciplineName}}
 							</view>
 						</view>
-						<view class="for-video-courseware" v-for="(item,index) in videoList" :key="index">
+						<view class="for-video-courseware" 
+						@click="goToPage(2,item)"
+						v-for="(item,index) in videoList" :key="index">
 							<img :src="baseUrl+item.exampleImg">
 							<view class="bottom-text-box">
 								<view>{{item.coursewareName}}</view>
@@ -64,7 +66,11 @@
 	import {
 		examElDisciplineTypeList, 
 		examUserCoursewareLearningList,
+		examUserCoursewareLearningRestart,
 	} from '@/pages_safetyEducationExamination/api/index.js'
+	import {
+		goLearning,
+	} from '@/pages_safetyEducationExamination/utils/index.js'
 	export default {
 		components: {
 			userInfoCard,
@@ -96,18 +102,40 @@
 			
 		},
 		mounted() {
+			console.log('mounted')
+			// this.examElDisciplineTypeList();
+		},
+		onShow(){
+			//刷新-学年数据
+			this.$refs.academicYearStats.resetMethod();
+			//刷新-实验室绑定
+			this.$refs.labBinding.resetMethod();
+			//刷新-考试任务
+			this.$refs.examTask.resetMethod();
+			//刷新-特殊考试
+			this.$refs.specialExam.resetMethod();
+			//刷新-模拟联系
+			this.$refs.mockPractice.resetMethod();
+			//刷新-文档资料
+			this.$refs.docResource.resetMethod();
+			//刷新-视频资料
+			this.$set(this,'topCheckIndex',0);
+			this.$set(this.queryParams,'page',1);
 			this.examElDisciplineTypeList();
 		},
 		methods: {
-			goToPage(){
-				//跳转资源学习列表
-				uni.navigateTo({
-					url: '/pages_safetyEducationExamination/views/study/index',
-				});
+			goToPage(type,item){
+				if(type==1){
+					//跳转资源学习列表
+					uni.navigateTo({
+						url: '/pages_safetyEducationExamination/views/study/index',
+					});
+				}else{
+					goLearning(item);
+				}
 			},
 			//滚动加载
 			scrollGet(){
-				console.log('123')
 				let self = this;
 				if (self.total / self.queryParams.pageSize <= self.queryParams.page) {
 					this.$set(this, 'getDataType', true);

+ 15 - 2
pages_safetyEducationExamination/views/study/index.vue

@@ -89,7 +89,9 @@
 		examUserCoursewareLearningList,
 		examElKnowledgePointTreeList,
 	} from '@/pages_safetyEducationExamination/api/index.js'
-
+	import {
+		goLearning,
+	} from '@/pages_safetyEducationExamination/utils/index.js'
 	// 封面渐变色池
 	const COVER_GRADIENTS = [
 		'linear-gradient(135deg,#ffd666,#fa8c16)',
@@ -283,7 +285,18 @@
 				}
 			},
 			goKnowledgeDetail(item) {
-				// 跳转知识学习详情,传递 coursewareId
+				goLearning(item);
+			},
+			//重新开始学习课件
+			async examUserCoursewareLearningRestart(coursewareId) {
+				try {
+					const { data } = await examUserCoursewareLearningRestart({coursewareId:coursewareId});
+					if (data.code === 200) {
+						uni.navigateTo({
+							url: `/pages_safetyEducationExamination/views/webViewPage/coursewareLearning?coursewareId=${coursewareId}`,
+						});
+					}
+				} catch (e) { console.error('重新开始学习课件失败', e); }
 			},
 		},
 	}

+ 10 - 4
pages_safetyEducationExamination/views/webViewPage/coursewareLearning.vue

@@ -1,7 +1,8 @@
 <!-- 课件学习 -->
 <template>
 	<view id="coursewareLearning-web-view">
-		<web-view v-if="webViewType" :src="baseUrl + dataText"></web-view>
+		<!-- <web-view v-if="webViewType" :src="baseUrl + dataText"></web-view> -->
+		<web-view v-if="webViewType" :src="dataText"></web-view>
 	</view>
 </template>
 
@@ -11,12 +12,17 @@
 		data() {
 			return {
 				webViewType: false,
-				baseUrl: config.saoCodeTypeUrl,
-				dataText:'',
+				dataText:'http://192.168.1.10/#/?pageType=learningMaterials&touken=d050fc42-0005-4eff-a3cc-5c3bb76a1d52&coursewareId=2092529570460073986',
 			}
 		},
 		onLoad(option) {
-			
+			this.$set(this,'dataText',
+				// uni.getStorageSync('cameraExtranetAgent')+
+				'http://192.168.1.8/stream/#/'+
+				'?pageType=learningMaterials&touken='+uni.getStorageSync('token')+
+				'&coursewareId='+option.coursewareId
+			);
+			this.$set(this,'webViewType',true);
 		},
 		mounted() {