|
@@ -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%;
|
|
|
}
|
|
|
|
|
|
}
|