import OHeader from '@/components/o-header' import { Cell, CellGroup, Grid, GridItem, Image, List, Picker, Popup, Tag } from 'vant' import { defineComponent, onMounted, reactive } from 'vue' import { useRoute, useRouter } from 'vue-router' import styles from './index.module.less' import iconTeacher from '@common/images/icon_teacher.png' import iconMessage from '@common/images/icon-muit-message.png' import { postMessage } from '@/helpers/native-message' import iconPhoneDefaut from '@/school/orchestra/images/icon-photo-default.png' import iconChange from './images/icon_change.png' import request from '@/helpers/request' import OEmpty from '@/components/o-empty' export default defineComponent({ name: 'my-orchestra', setup() { const router = useRouter() const route = useRoute() const state = reactive({ isLoading: false, list: [] as any, listState: { dataShow: true, // 判断是否有数据 loading: false, finished: false }, params: { page: 1, rows: 20 }, orchestraStatus: false, orchestraList: [] as any, selectOrchestra: {} as any }) const onSearch = () => { state.params.page = 1 state.list = [] state.listState.dataShow = true // 判断是否有数据 state.listState.loading = false state.listState.finished = false getList() } // 班级列表 const getList = async () => { try { if (state.isLoading) return state.isLoading = true const res = await request.post('/api-student/orchestraPhotoAlbum/page', { data: { ...state.params, orchestraId: state.selectOrchestra.orchestraId } }) state.listState.loading = false const result = res.data || {} // 处理重复请求数据 if (state.list.length > 0 && result.current === 1) { return } const rows = result.rows || [] state.list = state.list.concat(rows) state.listState.finished = result.current >= result.pages state.params.page = result.current + 1 state.listState.dataShow = state.list.length > 0 state.isLoading = false } catch { state.listState.dataShow = false state.listState.finished = true state.isLoading = false } } const onDetail = (item: any) => { router.push({ path: '/photo-detail', query: { photoId: item.id, name: item.name } }) } const getOrchestras = async () => { try { const { data } = await request.post('/api-student/orchestra/studentOrchestra', {}) console.log(data) state.orchestraList = data || [] if (data && data.length > 0) { state.selectOrchestra = data[0] console.log(state.selectOrchestra) // 判断是否有乐团 await getList() } } catch { // } } const onMessage = async (item: any) => { console.log(item) postMessage({ api: 'joinChatGroup', content: { type: 'multi', // single 单人 multi 多人 id: item.imGroupId } }) } onMounted(async () => { await getOrchestras() }) return () => (
{item.completeCourseNum || 0}/{item.totalCourseNum || 0}
课程
{item.completeTrainingNum || 0}/{item.totalTrainingNum || 0}
课后练习
{item.completeUnitTestNum || 0}/{item.totalUnitTestNum || 0}
单元测试
{item.name}
{item.photoCount}张