import MHeader from '@/components/m-header'; import MSticky from '@/components/m-sticky'; import { ActionBar, Cell, CellGroup, DropdownItem, DropdownMenu, Icon, Image, List } from 'vant'; import { defineComponent, onMounted, reactive, ref } from 'vue'; import styles from './index.module.less'; import DropDownModal from './drop-down-modal'; import iconSetting from '@/common/images/icon-setting.png'; import iconMusic from '@/common/images/icon-music.png'; import iconTeacher from '@/common/images/icon-teacher-default.png'; import iconEmpty from './images/icon-empty.png'; import MImagePreview from '@/components/m-image-preview'; import SkeletonModal from './skeleton-modal'; import MEmpty from '@/components/m-empty'; import MFullRefresh from '@/components/m-full-refresh'; import { useRouter } from 'vue-router'; import request from '@/helpers/request'; import dayjs from 'dayjs'; export default defineComponent({ name: 'site-management', setup() { const router = useRouter(); const dropDownItemRef = ref(); const dropDownItemRef1 = ref(); const forms = reactive({ isClick: false, titleTimeValue: [], titleOrchestraValue: '', listState: { dataShow: true, // 判断是否有数据 loading: true, finished: false, refreshing: false }, params: { startTime: null, endTime: null, musicGroupId: '', page: 1, rows: 20 }, timeColumns: [], orchestraColumns: [{ text: '全部乐团', value: '' }], // imageShow: false, startPosition: 0, imagePreview: [] as string[], pointCourseStatus: false, // 红点 list: [] }); const getInitTimer = (week = 4) => { const tempTimer: any = []; for (let i = 0; i < week; i++) { const startDay = dayjs() .subtract(i, 'week') .startOf('week') .add(1, 'day'); const endDay = dayjs().subtract(i, 'week').endOf('week').add(1, 'day'); tempTimer.push({ text: startDay.format('YYYY/MM/DD') + ' - ' + endDay.format('YYYY/MM/DD'), value: [startDay.format('YYYY-MM-DD'), endDay.format('YYYY-MM-DD')] }); } // console.log(tempTimer, 'tempTimer'); forms.timeColumns = tempTimer; forms.titleTimeValue = tempTimer[0].value; }; const onDropDownClose = (item: any) => { item.value && item.value.toggle(); }; const formatName = (type: string) => { if (type === 'orchestra') { let name = ''; forms.orchestraColumns.forEach((item: any) => { if (forms.titleOrchestraValue === item.value) { name = item.text; } }); return name; } }; const getList = async () => { try { if (forms.isClick) return; forms.isClick = true; const { data } = await request.post( '/api-web/classGroup/teachingPointCourse', { data: { ...forms.params, startTime: forms.titleTimeValue[0] || null, endTime: forms.titleTimeValue[1] || null } } ); const result = data || {}; // 判断是否有数据 if (forms.listState.refreshing) { forms.list = result.rows || []; } else { forms.list = forms.list.concat(result.rows || []); } forms.listState.finished = result.pageNo >= result.totalPage; forms.params.page = result.pageNo + 1; } catch { forms.listState.finished = true; } finally { forms.listState.dataShow = forms.list.length > 0; forms.listState.refreshing = false; forms.listState.loading = false; forms.isClick = false; } }; // 红点 const teachingPointCourse = async () => { try { const { data } = await request.post( '/api-web/classGroup/teachingPointRemind' ); forms.pointCourseStatus = data || false; } catch { // } }; // 乐团列表 const musicGroupPage = async () => { try { const { data } = await request.get( '/api-web/cooperationOrgan/musicGroupPage' ); (data || []).forEach((item: any) => { forms.orchestraColumns.push({ text: item.name, value: item.id }); }); } catch { // } }; const onRefresh = () => { forms.params.page = 1; getList(); }; onMounted(async () => { musicGroupPage(); getInitTimer(); await getList(); teachingPointCourse(); }); return () => (
{item.musicGroupName}
{item.teachingPoint}
) }}老师未上传照片~
老师未上传照片~