import TheSticky from '@/components/the-sticky' import { computed, defineComponent, onMounted, reactive } from 'vue' import { useRoute, useRouter } from 'vue-router' import styles from './index.module.less' import ColHeader from '@/components/col-header' import bgImg from './images/time-bg.png' import bgImg2 from './images/day-bg.png' import timeTitle from './images/time-title.png' import dayTitle from './images/day-title.png' import { Tabs, Tab, Image, Icon, Calendar, Cell } from 'vant' import dayjs from 'dayjs' import isBetween from 'dayjs/plugin/isBetween' dayjs.extend(isBetween) import request from '@/helpers/request' import { state as baseState } from '@/state' import studentLogo from '@/common/images/icon_student.png' import emptyLogo from './images/empty-logo.png' import ColResult from '@/components/col-result' import { browser } from '@/helpers/utils' import { postMessage } from '@/helpers/native-message' export default defineComponent({ name: 'ranking-list', setup() { const router = useRouter() const route = useRoute() const state = reactive({ showPopoverTime: false, tabActive: 'timeBill', firstInfo: {} as any, secondInfo: {} as any, threeInfo: {} as any, myInfo: {} as any, list: [] as any, loading: false, beforListShow: true, listShow: true // 是否显示 }) const isDayRank = computed(() => { return state.tabActive === 'dayBill' }) // 初始化周一 const formatWeekDays = (time?: any) => { const week = dayjs(time).day() let startTime = '' let endTime = '' if (week === 0) { // 星期天 startTime = dayjs(time).subtract(6, 'day').format('YYYY-MM-DD') endTime = dayjs(time).format('YYYY-MM-DD') } else if (week === 1) { // 星期一 startTime = dayjs(time).format('YYYY-MM-DD') endTime = dayjs(time).add(6, 'day').format('YYYY-MM-DD') } else { startTime = dayjs(time) .subtract(week - 1, 'day') .format('YYYY-MM-DD') endTime = dayjs(time) .add(7 - week, 'day') .format('YYYY-MM-DD') } return { startTime, endTime } } const forms = reactive({ ...formatWeekDays(), studentIds: baseState.user.data?.userId, orderType: 0, page: 1, rows: 20 }) const getList = async () => { state.loading = true try { const { data } = await request.post( '/api-tenant/studentMusicCompareRecord/rankingList', { data: { ...forms } } ) state.beforListShow = data.detail && data.detail.length > 0 state.myInfo = data.head || {} state.list = data.detail || [] state.firstInfo = state.list.length > 0 ? state.list.splice(0, 1)[0] : {} state.secondInfo = state.list.length > 0 ? state.list.splice(0, 1)[0] : {} state.threeInfo = state.list.length > 0 ? state.list.splice(0, 1)[0] : {} state.listShow = state.list.length > 0 } catch { // } state.loading = false } onMounted(() => { getList() }) return () => (
{state.secondInfo.subjectName}- {state.secondInfo.trainDays}天
) : ({state.secondInfo.subjectName}- {state.secondInfo.trainTime} 分钟
)} > ) : ( <>> )}
{state.firstInfo.subjectName}-{state.firstInfo.trainDays} 天
) : ({state.firstInfo.subjectName}-{state.firstInfo.trainTime} 分钟
)} > ) : ( <>> )}
{state.threeInfo.subjectName}-{state.threeInfo.trainTime} 分钟
*/} {forms.orderType === 2 ? ({state.threeInfo.subjectName}-{state.threeInfo.trainDays} 天
) : ({state.threeInfo.subjectName}-{state.threeInfo.trainTime} 分钟
)} > ) : ( <>> )}
{item.studentName}
{item.subjectName}
{state.myInfo.studentName}
{state.myInfo.subjectName}