import ColResult from '@/components/col-result' import { Cell, CellGroup, List, Image, Icon } from 'vant' import { defineComponent } from 'vue' import styles from './live.module.less' import iconLive from '../images/icon-live.png' import request from '@/helpers/request' import dayjs from 'dayjs' import { state } from '@/state' import Tips from './tips' export default defineComponent({ name: 'group', data() { const query = this.$route.query return { list: [], dataShow: true, // 判断是否有数据 loading: false, finished: false, params: { teacherId: query.teacherId, courseType: "GROUP", groupStatus: 'APPLY', page: 1, rows: 20 } } }, mounted() { this.getList() }, methods: { formatTime(time: string) { const timeStr = dayjs(time || new Date()) const weekStr = ['周日', '周一', '周二', '周三', '周四', '周五', '周六'] // console.log(timeStr.day()) return timeStr.format('YYYY-MM-DD') + `(${weekStr[timeStr.day()]})` }, async getList() { try { const params: any = { ...this.params } if (state.version) { params.version = state.version || '' // 处理ios审核版本 params.platform = 'ios-student' } const res = await request.post( '/api-student/courseGroup/queryPageCourseGroup', { data: { ...params } } ) this.loading = false const result = res.data || {} // 处理重复请求数据 if (this.list.length > 0 && result.pageNo === 1) { return } this.list = this.list.concat(result.rows || []) this.finished = result.pageNo >= result.totalPage this.params.page = result.pageNo + 1 this.dataShow = this.list.length > 0 } catch { this.dataShow = false this.finished = true } }, onDetail(item: any) { this.$router.push({ path: '/groupDetail', query: { groupId: item.courseGroupId } }) } }, render() { return (
{this.dataShow ? ( {this.list.map((item: any) => ( this.onDetail(item)} >
开课时间: {this.formatTime(item.salesStartDate)}
{item?.subjectName}
{item.courseGroupName}
{item.studentCount}人学习
{item.coursePrice > 0 && ( <> ¥ {(this as any).$filters.moneyFormat( item.coursePrice )} )} {item.coursePrice > 0 && '/'} {item.courseNum}课时
))}
) : ( )}
) } })