|
@@ -3,7 +3,8 @@ import {
|
|
defineComponent,
|
|
defineComponent,
|
|
onBeforeMount,
|
|
onBeforeMount,
|
|
onMounted,
|
|
onMounted,
|
|
- reactive
|
|
|
|
|
|
+ reactive,
|
|
|
|
+ ref
|
|
} from 'vue';
|
|
} from 'vue';
|
|
import styles from './index.module.less';
|
|
import styles from './index.module.less';
|
|
import icon_back from './image/icon_back.svg';
|
|
import icon_back from './image/icon_back.svg';
|
|
@@ -22,7 +23,7 @@ import TheFavorite from '@/components/the-favorite';
|
|
import { useRouter } from 'vue-router';
|
|
import { useRouter } from 'vue-router';
|
|
import TheBook from './component/book';
|
|
import TheBook from './component/book';
|
|
import { postMessage } from '@/helpers/native-message';
|
|
import { postMessage } from '@/helpers/native-message';
|
|
-
|
|
|
|
|
|
+import CoursewareList from '@/custom-plugins/guide-page/courseware-list'
|
|
import './jquery.min.1.7.js';
|
|
import './jquery.min.1.7.js';
|
|
import './turn.js';
|
|
import './turn.js';
|
|
|
|
|
|
@@ -72,7 +73,7 @@ export default defineComponent({
|
|
forms.currentGradeNum = index;
|
|
forms.currentGradeNum = index;
|
|
handleChange();
|
|
handleChange();
|
|
};
|
|
};
|
|
-
|
|
|
|
|
|
+const isShowGuide = ref(false)
|
|
const data = reactive({
|
|
const data = reactive({
|
|
list: [] as any[],
|
|
list: [] as any[],
|
|
favoriteList: [] as any[],
|
|
favoriteList: [] as any[],
|
|
@@ -97,6 +98,7 @@ export default defineComponent({
|
|
return item;
|
|
return item;
|
|
});
|
|
});
|
|
}
|
|
}
|
|
|
|
+ isShowGuide.value = true
|
|
};
|
|
};
|
|
const getFavoriteList = async () => {
|
|
const getFavoriteList = async () => {
|
|
const res = await api_lessonCoursewareFavoriteage({
|
|
const res = await api_lessonCoursewareFavoriteage({
|
|
@@ -196,8 +198,10 @@ export default defineComponent({
|
|
class={styles.tabs}
|
|
class={styles.tabs}
|
|
v-model:active={data.tab}
|
|
v-model:active={data.tab}
|
|
onChange={() => handleChange()}>
|
|
onChange={() => handleChange()}>
|
|
- <Tab title="全部教材" name="all"></Tab>
|
|
|
|
- <Tab title="我的收藏" name="favorite"></Tab>
|
|
|
|
|
|
+ <Tab title="全部教材" name="all"></Tab>
|
|
|
|
+ <Tab name="favorite" v-slots={{
|
|
|
|
+ title:() => (<div id='courseware-2'>我的收藏</div>)
|
|
|
|
+ }}></Tab>
|
|
</Tabs>
|
|
</Tabs>
|
|
<Popover
|
|
<Popover
|
|
class={styles.popover}
|
|
class={styles.popover}
|
|
@@ -205,7 +209,7 @@ export default defineComponent({
|
|
onSelect={onSelect}>
|
|
onSelect={onSelect}>
|
|
{{
|
|
{{
|
|
reference: () => (
|
|
reference: () => (
|
|
- <Button class={styles.downBtn} round size="small">
|
|
|
|
|
|
+ <Button class={styles.downBtn} round size="small" {...{id:'courseware-3'}} >
|
|
{BOOK_DATA.grades[forms.currentGradeNum].text}{' '}
|
|
{BOOK_DATA.grades[forms.currentGradeNum].text}{' '}
|
|
<img class={styles.icon} src={icon_arrow} />
|
|
<img class={styles.icon} src={icon_arrow} />
|
|
</Button>
|
|
</Button>
|
|
@@ -227,8 +231,10 @@ export default defineComponent({
|
|
]}
|
|
]}
|
|
key={item.key}
|
|
key={item.key}
|
|
onClick={() => handleOpen(item)}>
|
|
onClick={() => handleOpen(item)}>
|
|
- <NImage
|
|
|
|
|
|
+ {/* courseware- */}
|
|
|
|
+ {index==0?<NImage
|
|
data-id={item.id}
|
|
data-id={item.id}
|
|
|
|
+ id='courseware-0'
|
|
class={[styles.cover, item.load ? styles.loaded : '']}
|
|
class={[styles.cover, item.load ? styles.loaded : '']}
|
|
objectFit="cover"
|
|
objectFit="cover"
|
|
src={item.coverImg}
|
|
src={item.coverImg}
|
|
@@ -238,9 +244,22 @@ export default defineComponent({
|
|
onError={() => {
|
|
onError={() => {
|
|
item.load = true;
|
|
item.load = true;
|
|
}}
|
|
}}
|
|
- />
|
|
|
|
|
|
+ />: <NImage
|
|
|
|
+ data-id={item.id}
|
|
|
|
+ class={[styles.cover, item.load ? styles.loaded : '']}
|
|
|
|
+ objectFit="cover"
|
|
|
|
+ src={item.coverImg}
|
|
|
|
+ onLoad={() => {
|
|
|
|
+ item.load = true;
|
|
|
|
+ }}
|
|
|
|
+ onError={() => {
|
|
|
|
+ item.load = true;
|
|
|
|
+ }}
|
|
|
|
+ />}
|
|
|
|
+
|
|
<div class={styles.name}>{item.name}</div>
|
|
<div class={styles.name}>{item.name}</div>
|
|
- <div
|
|
|
|
|
|
+ {index==0? <div
|
|
|
|
+ id='courseware-1'
|
|
class={styles.favoriteBtn}
|
|
class={styles.favoriteBtn}
|
|
onClick={(e: Event) => {
|
|
onClick={(e: Event) => {
|
|
e.stopPropagation();
|
|
e.stopPropagation();
|
|
@@ -249,7 +268,17 @@ export default defineComponent({
|
|
dubounce(() => handleFavorite(item));
|
|
dubounce(() => handleFavorite(item));
|
|
}}>
|
|
}}>
|
|
<TheFavorite isFavorite={data.tab !== 'all' ? true : item.favoriteFlag} />
|
|
<TheFavorite isFavorite={data.tab !== 'all' ? true : item.favoriteFlag} />
|
|
- </div>
|
|
|
|
|
|
+ </div>: <div
|
|
|
|
+ class={styles.favoriteBtn}
|
|
|
|
+ onClick={(e: Event) => {
|
|
|
|
+ e.stopPropagation();
|
|
|
|
+ if (data.tab !== 'all') return;
|
|
|
|
+ item.favoriteFlag = !item.favoriteFlag;
|
|
|
|
+ dubounce(() => handleFavorite(item));
|
|
|
|
+ }}>
|
|
|
|
+ <TheFavorite isFavorite={data.tab !== 'all' ? true : item.favoriteFlag} />
|
|
|
|
+ </div>}
|
|
|
|
+
|
|
</div>
|
|
</div>
|
|
);
|
|
);
|
|
})}
|
|
})}
|
|
@@ -264,6 +293,8 @@ export default defineComponent({
|
|
data.showBook = false;
|
|
data.showBook = false;
|
|
}}
|
|
}}
|
|
/>
|
|
/>
|
|
|
|
+ {isShowGuide.value? <CoursewareList></CoursewareList>:null}
|
|
|
|
+
|
|
</div>
|
|
</div>
|
|
);
|
|
);
|
|
}
|
|
}
|