import OHeader from '@/components/o-header' import OSticky from '@/components/o-sticky' import request from '@/helpers/request' import { state } from '@/state' import { Button, Cell, CellGroup, Picker, Popup, Tab, Tabs } from 'vant' import { defineComponent, nextTick, onMounted, reactive, ref } from 'vue' import styles from './index.module.less' import iconOrchestra from './images/icon-or.png' import MyClass from './my-class' import OEmpty from '@/components/o-empty' import OFullRefresh from '@/components/o-full-refresh' import OrchestraDeeds from './orchestra-deeds' import MyPhoto from './my-photo' import { useRoute, useRouter } from 'vue-router' export default defineComponent({ name: 'my-orchestra', setup(props, ctx) { const route = useRoute() const router = useRouter() const tabActive = ref<'course' | 'photo' | 'deeds'>((route.query as any)?.tab || 'course') const data = reactive({ orchestraList: [] as any[], loading: true, reshLoading: false }) const modelData = reactive({ orchestra: {} as any, orchestraStatus: false }) /** 学生获取我的乐团 */ const getStudentOrchestras = () => { data.loading = true request .post(`${state.platformApi}/orchestra/studentOrchestra`, { // hideLoading: data.reshLoading }) .then((res: any) => { if (Array.isArray(res?.data)) { data.orchestraList = res.data.map((n: any) => { return { ...n, name: n.name || n.orchestraName || '', id: n.id || n.orchestraId || '' } }) modelData.orchestra = data.orchestraList[0] || {} } }) .finally(() => { setTimeout(() => { data.loading = false }, 300) }) } const getTeacherOrchestras = async () => { data.loading = true request .post(`${state.platformApi}/orchestra/teacherOrchestra`, { // hideLoading: data.reshLoading }) .then((res: any) => { if (Array.isArray(res?.data)) { data.orchestraList = res.data.map((n: any) => { return { ...n, name: n.name || n.orchestraName || '', id: n.id || n.orchestraId || '' } }) modelData.orchestra = data.orchestraList[0] || {} } }) .finally(() => { setTimeout(() => { data.loading = false }, 300) }) } const getData = () => { if (state.platformType === 'STUDENT') { getStudentOrchestras() } else if (state.platformType === 'TEACHER') { getTeacherOrchestras() } } onMounted(() => { document.documentElement.style.setProperty('--footer-height', '0px') getData() }) return () => (
{ document.documentElement.style.setProperty('--header-height', height + 'px') }} > { data.reshLoading = true data.orchestraList = [] nextTick(() => { getData() }) }} style="min-height: calc(100vh - var(--van-nav-bar-height) - var(--header-height) - var(--footer-height))" > {!data.loading && !!data.orchestraList.length && ( <> (modelData.orchestraStatus = true)} > {{ icon: () => , title: () =>
{modelData.orchestra.name}
}}
{/*
*/}
)} {!data.loading && !data.orchestraList.length && (
)}
{state.platformType == 'STUDENT' && ['REGISTER', 'LEARNING', 'AUTH'].includes(modelData.orchestra?.status) && ( { document.documentElement.style.setProperty('--footer-height', height + 'px') }} >
{(modelData.orchestra?.status === 'REGISTER' || modelData.orchestra?.status === 'LEARNING') && ( )} {modelData.orchestra?.status === 'AUTH' && ( )}
)} (modelData.orchestraStatus = false)} onConfirm={({ selectedValues }: any) => { const val = selectedValues[0] || '' modelData.orchestraStatus = false if (val == modelData.orchestra?.id) { return } const active = data.orchestraList.find((n: any) => n.id == val) || {} modelData.orchestra = active }} />
) } })