|
|
@@ -1,114 +1,128 @@
|
|
|
<template>
|
|
|
- <view class="ezy-xuanke-page">
|
|
|
- <!-- 返回区域 -->
|
|
|
- <view class="icon-title-navBar-box">
|
|
|
- <text class="nav-bar-title">选课</text>
|
|
|
- </view>
|
|
|
- <view class="ezy-page-body">
|
|
|
- <!-- 头部区域 -->
|
|
|
+ <view class="ezy-xuanke-page">
|
|
|
+ <!-- 返回区域 -->
|
|
|
+ <view class="icon-title-navBar-box">
|
|
|
+ <text class="nav-bar-title">选课</text>
|
|
|
+ </view>
|
|
|
+ <view class="ezy-page-body">
|
|
|
+ <!-- 头部区域 -->
|
|
|
|
|
|
- <view class="ezy-xueke-tab-box">
|
|
|
- <!-- 动画按钮 -->
|
|
|
- <ezyActiveVue class="ezy-btn-active tab-item" v-for="item in data.list"
|
|
|
- :key="item.value"
|
|
|
- :class="{active: item.value == data.chanpinActiveSelect}"
|
|
|
- @aclick="handleSelectChanpin(item)">
|
|
|
- {{ item.name }}
|
|
|
- </ezyActiveVue>
|
|
|
- </view>
|
|
|
- <!-- 数学列表 -->
|
|
|
- <shuxueListVue v-if="data.chanpinActiveSelect == 1" :list="data.shuxueList"></shuxueListVue>
|
|
|
- <!-- 英语列表 -->
|
|
|
- <yingyuListVue v-if="data.chanpinActiveSelect == 2" :list="data.yingyuList"></yingyuListVue>
|
|
|
- <!-- 语文列表 -->
|
|
|
- <yuwenListVue v-if="data.chanpinActiveSelect == 3" :list="data.yuwenList"></yuwenListVue>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- <custom-tab-bar :show="true" :current-index="currentTabIndex"/>
|
|
|
+ <view class="ezy-xueke-tab-box">
|
|
|
+ <!-- 动画按钮 -->
|
|
|
+ <ezyActiveVue class="ezy-btn-active tab-item" v-for="item in data.list" :key="item.key"
|
|
|
+ :class="{active: item.key == data.chanpinActiveSelect}" @aclick="handleSelectChanpin(item)">
|
|
|
+ {{ item.label }}
|
|
|
+ </ezyActiveVue>
|
|
|
+ </view>
|
|
|
+ <!-- 数学列表 -->
|
|
|
+ <shuxueListVue v-if="data.chanpinActiveSelect == 'shuxue'" :list="data.shuxueList"></shuxueListVue>
|
|
|
+ <!-- 英语列表 -->
|
|
|
+ <yingyuListVue v-if="data.chanpinActiveSelect == 'yingyu'" :list="data.yingyuList"></yingyuListVue>
|
|
|
+ <!-- 语文列表 -->
|
|
|
+ <yuwenListVue v-if="data.chanpinActiveSelect == 'yuwen'" :list="data.yuwenList"></yuwenListVue>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <custom-tab-bar :show="true" :current-index="currentTabIndex" />
|
|
|
</template>
|
|
|
|
|
|
<script setup>
|
|
|
-import {
|
|
|
- reactive, ref
|
|
|
-} from "vue";
|
|
|
-import shuxueListVue from "./components/shuxueList.vue";
|
|
|
-import yingyuListVue from "./components/yingyuList.vue";
|
|
|
-import yuwenListVue from "./components/yuwenList.vue";
|
|
|
-import {
|
|
|
- onLoad,
|
|
|
- onShow
|
|
|
-} from "@dcloudio/uni-app"
|
|
|
-import * as shuxueHttp from "@/api/chanpinShuxue.js"
|
|
|
-import CustomTabBar from "@/components/custom-tabbar/index.vue";
|
|
|
-import ezyActiveVue from "@/components/ezyActive/ezyActive.vue";
|
|
|
-import {getChanpinTongyongIndex} from "../../api/chanpinShuxue";
|
|
|
-import {getFullTimer} from "../../utils/common";
|
|
|
+ import {
|
|
|
+ reactive,
|
|
|
+ ref
|
|
|
+ } from "vue";
|
|
|
+ import shuxueListVue from "./components/shuxueList.vue";
|
|
|
+ import yingyuListVue from "./components/yingyuList.vue";
|
|
|
+ import yuwenListVue from "./components/yuwenList.vue";
|
|
|
+ import {
|
|
|
+ onLoad,
|
|
|
+ onShow
|
|
|
+ } from "@dcloudio/uni-app"
|
|
|
+ import * as shuxueHttp from "@/api/chanpinShuxue.js"
|
|
|
+ import CustomTabBar from "@/components/custom-tabbar/index.vue";
|
|
|
+ import ezyActiveVue from "@/components/ezyActive/ezyActive.vue";
|
|
|
+ import {
|
|
|
+ getChanpinTongyongIndex
|
|
|
+ } from "@/api/chanpinShuxue";
|
|
|
+ import {
|
|
|
+ getFullTimer
|
|
|
+ } from "@/utils/common";
|
|
|
|
|
|
-let currentTabIndex = ref(0)
|
|
|
-const data = reactive({
|
|
|
- list: [
|
|
|
- {
|
|
|
- name: '数学',
|
|
|
- value: 1
|
|
|
- },
|
|
|
- {
|
|
|
- name: '英语',
|
|
|
- value: 2
|
|
|
- },
|
|
|
- {
|
|
|
- name: '语文',
|
|
|
- value: 3
|
|
|
- },
|
|
|
- ],
|
|
|
- chanpinActiveSelect: 1,
|
|
|
+ let currentTabIndex = ref(0)
|
|
|
+ const data = reactive({
|
|
|
+ list: [{
|
|
|
+ key: 'shuxue',
|
|
|
+ label: '数学'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ key: 'yingyu',
|
|
|
+ label: '英语'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ key: 'yuwen',
|
|
|
+ label: '语文'
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ chanpinActiveSelect: 'shuxue',
|
|
|
|
|
|
- shuxueList: [],
|
|
|
-})
|
|
|
+ shuxueList: [],
|
|
|
+ yingyuList: [],
|
|
|
+ yuwenList: [],
|
|
|
+ })
|
|
|
|
|
|
|
|
|
-function getFormatData(data) {
|
|
|
- const shuxue = data.shuxue || {};
|
|
|
- const yingyu = data.yingyu || {};
|
|
|
- const yuwen = data.yuwen || {};
|
|
|
+ function getFormatData(data) {
|
|
|
+ const shuxue = data.shuxue || {};
|
|
|
+ const yingyu = data.yingyu || {};
|
|
|
+ const yuwen = data.yuwen || {};
|
|
|
|
|
|
- return {
|
|
|
- shuxue: Object.entries(shuxue).map(([chanpin, value]) => {
|
|
|
- return { chanpin, value };
|
|
|
- }),
|
|
|
- yingyu:Object.entries(yingyu).map(([chanpin, value]) => {
|
|
|
- return { chanpin, value };
|
|
|
- }),
|
|
|
- yuwen:Object.entries(yuwen).map(([chanpin, value]) => {
|
|
|
- return { chanpin, value };
|
|
|
- }),
|
|
|
- }
|
|
|
-}
|
|
|
+ return {
|
|
|
+ shuxue: Object.entries(shuxue).map(([chanpin, value]) => {
|
|
|
+ return {
|
|
|
+ chanpin,
|
|
|
+ value
|
|
|
+ };
|
|
|
+ }),
|
|
|
+ yingyu: Object.entries(yingyu).map(([chanpin, value]) => {
|
|
|
+ return {
|
|
|
+ chanpin,
|
|
|
+ value
|
|
|
+ };
|
|
|
+ }),
|
|
|
+ yuwen: Object.entries(yuwen).map(([chanpin, value]) => {
|
|
|
+ return {
|
|
|
+ chanpin,
|
|
|
+ value
|
|
|
+ };
|
|
|
+ }),
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
-function getShuxueList() {
|
|
|
- shuxueHttp.getChanpinTongyongIndex().then(res => {
|
|
|
- const result = getFormatData(res.data);
|
|
|
- data.shuxueList = result.shuxue;
|
|
|
- data.yingyuList = result.yingyu;
|
|
|
- data.yuwenList = result.yuwen;
|
|
|
- })
|
|
|
-}
|
|
|
+ function getShuxueList() {
|
|
|
+ shuxueHttp.getChanpinTongyongIndex().then(res => {
|
|
|
+ const result = getFormatData(res.data);
|
|
|
+ data.shuxueList = result.shuxue;
|
|
|
+ data.yingyuList = result.yingyu;
|
|
|
+ data.yuwenList = result.yuwen;
|
|
|
+ })
|
|
|
+ }
|
|
|
|
|
|
-function handleSelectChanpin(item) {
|
|
|
- data.chanpinActiveSelect = item.value
|
|
|
-}
|
|
|
+ function handleSelectChanpin(item) {
|
|
|
+ data.chanpinActiveSelect = item.key
|
|
|
+ }
|
|
|
|
|
|
-onShow(() => {
|
|
|
- currentTabIndex.value = 0;
|
|
|
- data.chanpinActiveSelect = 1;
|
|
|
+ onShow(() => {
|
|
|
+ currentTabIndex.value = 0;
|
|
|
+ data.chanpinActiveSelect = 'shuxue';
|
|
|
|
|
|
- if (getFullTimer() !== `2026-01-28`) {
|
|
|
- //每日刷新
|
|
|
- getShuxueList();
|
|
|
- }
|
|
|
-})
|
|
|
+ if (getFullTimer() !== `2026-01-28`) {
|
|
|
+ //每日刷新
|
|
|
+ getShuxueList();
|
|
|
+ } else {
|
|
|
+ getShuxueList()
|
|
|
+ }
|
|
|
+ })
|
|
|
|
|
|
-onLoad(() => {
|
|
|
- uni.hideTabBar()
|
|
|
- getShuxueList()
|
|
|
-})
|
|
|
+ onLoad(() => {
|
|
|
+ uni.hideTabBar()
|
|
|
+ })
|
|
|
</script>
|