浏览代码

修改: 培训课程列表

littleblue55 3 天之前
父节点
当前提交
ff7e2a4bf5
共有 1 个文件被更改,包括 32 次插入34 次删除
  1. 32 34
      pages/goOnEdu/course/courseHome/courseHome.vue

+ 32 - 34
pages/goOnEdu/course/courseHome/courseHome.vue

@@ -34,9 +34,9 @@
 							<u-icon name="clock" size="28"></u-icon>
 							{{ getDateWeek(course.courseDate) }}
 						</view>
-						<view class="course-price" 
-						v-if=" (course.viewMode === '3') || (isMember && course.viewMode==='2')">
-						¥{{ isMember ? course.priceMember : course.price }}元
+						<view class="course-price"
+							v-if=" (course.viewMode === '3') || (isMember && course.viewMode==='2')">
+							¥{{ isMember ? course.priceMember : course.price }}元
 						</view>
 						<view v-else style="height: 30rpx;width: 100%;"></view>
 						<button :class="['button', getButtonClass(course)]">{{ getButtonText(course) }}</button>
@@ -84,9 +84,10 @@
 		keyword: "",
 		pageNumber: 1,
 		pageSize: 10,
+		courseType: ""
 	})
 	const pageNumber = ref(1)
-	const pageSize = ref(20)
+	const pageSize = ref(10)
 	const total = ref(0)
 	const loadMoreStatus = ref('loadmore')
 
@@ -169,36 +170,37 @@
 
 	// 切换搜索框下面的tab
 	function changeTab(index) {
+		// 0618重写,切换时,pageNumber为1
 		currentTab.value = index;
 		courseStore.setCurrentTab(index)
-		if (index === 0) {
-			filterCourses.value = courses.value
-			return
-		}
-		filterCourses.value = courses.value.filter(item => item.courseType == tabsList.value[index].name)
+		pageNumber.value = 1
+		search(searchForm.value.keyword)
 	}
 
 	function toSearch(e) {
+		// 搜索时pageNumber为1
 		pageNumber.value = 1
 		search(e)
 	}
 	// 搜索
 	function search(e) {
-		searchForm.value.keyword = e
-		searchForm.value.pageNumber = pageNumber.value
-		searchForm.value.pageSize = pageSize.value
-		courses.value = pageNumber.value == 1 ? [] : courses.value
+		// 如果是全部,则不传courseType这个值
+		searchForm.value = {
+			keyword: e,
+			pageNumber: pageNumber.value,
+			pageSize: pageSize.value,
+			...(tabsList.value[currentTab.value].code && {
+				courseType: tabsList.value[currentTab.value].code
+			})
+		}
 		loadMoreStatus.value = 'loading'
 		loadCourseList(searchForm.value).then(res => {
 			if (res?.data) {
 				total.value = res.count;
+				// 如果pageNumber为1,清空courses
+				courses.value = pageNumber.value == 1 ? [] : courses.value
 				courses.value = [...courses.value, ...res.data];
-				const i = currentTab.value
-				if (i == 0) {
-					filterCourses.value = [...courses.value];
-				} else {
-					filterCourses.value = courses.value.filter(item => item.courseType == tabsList.value[i].name)
-				}
+				filterCourses.value = courses.value
 				loadMoreStatus.value = total.value === courses.value.length ? 'nomore' : 'loadmore';
 				pageNumber.value++;
 			}
@@ -225,19 +227,16 @@
 		}
 	}
 	// 初始化
-	function init() {
-		loadCourseCate().then(res => {
-			if (res?.data) {
-				tabsList.value = [{
-					code: '',
-					name: '全部'
-				}, ...res.data]
-			}
-		})
-		pageNumber.value = 1;
-		search("");
-		// 初始化页面,获取数据
-		// filterCourses.value = courses.value
+	async function init() {
+		const res = await loadCourseCate()
+		if (res?.data) {
+			tabsList.value = [{
+				code: '',
+				name: '全部',
+			}, ...res.data]
+			pageNumber.value = 1;
+			search("");
+		}
 	}
 
 	function toPage(course) {
@@ -254,7 +253,6 @@
 	}
 	onMounted(() => {
 		isMember.value = authStore.userInfo.isMember === 1 ? true : false
-		// console.log(authStore.userInfo.isMember)
 		init();
 		watch(currentTab, (newValue) => {
 			courseStore.setCurrentTab(newValue); // 如果需要在切换时更新 Pinia 状态
@@ -288,7 +286,7 @@
 
 			.course-image {
 				width: 100%;
-				    height: 100%;
+				height: 100%;
 			}
 
 		}