|
@@ -23,7 +23,7 @@ import TheFavorite from '@/components/the-favorite';
|
|
|
import { useRouter } from 'vue-router';
|
|
|
import TheBook from './component/book';
|
|
|
import { postMessage } from '@/helpers/native-message';
|
|
|
-import CoursewareList from '@/custom-plugins/guide-page/courseware-list'
|
|
|
+import CoursewareList from '@/custom-plugins/guide-page/courseware-list';
|
|
|
import './jquery.min.1.7.js';
|
|
|
import './turn.js';
|
|
|
import MEmpty from '@/components/m-empty';
|
|
@@ -59,7 +59,7 @@ export default defineComponent({
|
|
|
const forms = reactive({
|
|
|
currentGradeNum: 0,
|
|
|
page: 1,
|
|
|
- rows: 10,
|
|
|
+ rows: 999,
|
|
|
type: 'COURSEWARE'
|
|
|
});
|
|
|
const _actions = computed(() => {
|
|
@@ -76,7 +76,7 @@ export default defineComponent({
|
|
|
forms.currentGradeNum = index;
|
|
|
handleChange();
|
|
|
};
|
|
|
-const isShowGuide = ref(false)
|
|
|
+ const isShowGuide = ref(false);
|
|
|
const data = reactive({
|
|
|
list: [] as any[],
|
|
|
loading: false,
|
|
@@ -96,15 +96,13 @@ const isShowGuide = ref(false)
|
|
|
});
|
|
|
if (res?.code === 200 && Array.isArray(res?.data?.rows)) {
|
|
|
data.list = res.data.rows.map((item: any) => {
|
|
|
- const type = BOOK_DATA.bookTypes[item.bookType];
|
|
|
- item.name = `${item.name}(${type})`;
|
|
|
item.load = false;
|
|
|
item.key = Date.now() + item.id;
|
|
|
return item;
|
|
|
});
|
|
|
}
|
|
|
data.loading = false;
|
|
|
- isShowGuide.value = true
|
|
|
+ isShowGuide.value = true;
|
|
|
};
|
|
|
const getFavoriteList = async () => {
|
|
|
data.loading = true;
|
|
@@ -117,9 +115,9 @@ const isShowGuide = ref(false)
|
|
|
});
|
|
|
if (res?.code === 200 && Array.isArray(res?.data?.rows)) {
|
|
|
data.list = res.data.rows.map((item: any) => {
|
|
|
- const type = BOOK_DATA.bookTypes[item.bookType];
|
|
|
- item.name = `${item.name}(${type})`;
|
|
|
+ item.name = `${item.name}`;
|
|
|
item.load = false;
|
|
|
+ item.favoriteFlag = true;
|
|
|
item.key = Date.now() + item.id;
|
|
|
return item;
|
|
|
});
|
|
@@ -136,7 +134,6 @@ const isShowGuide = ref(false)
|
|
|
}
|
|
|
};
|
|
|
const handleChange = () => {
|
|
|
- forms.page = 1;
|
|
|
getData();
|
|
|
};
|
|
|
onMounted(() => {
|
|
@@ -152,6 +149,7 @@ const isShowGuide = ref(false)
|
|
|
await api_lessonCoursewareFavoriteRemove({
|
|
|
lessonCoursewareId: item.id
|
|
|
});
|
|
|
+ getData();
|
|
|
}
|
|
|
};
|
|
|
|
|
@@ -206,10 +204,12 @@ const isShowGuide = ref(false)
|
|
|
class={styles.tabs}
|
|
|
v-model:active={data.tab}
|
|
|
onChange={() => handleChange()}>
|
|
|
- <Tab title="全部教材" name="all"></Tab>
|
|
|
- <Tab name="favorite" v-slots={{
|
|
|
- title:() => (<div id='courseware-2'>我的收藏</div>)
|
|
|
- }}></Tab>
|
|
|
+ <Tab title="全部教材" name="all"></Tab>
|
|
|
+ <Tab
|
|
|
+ name="favorite"
|
|
|
+ v-slots={{
|
|
|
+ title: () => <div id="courseware-2">我的收藏</div>
|
|
|
+ }}></Tab>
|
|
|
</Tabs>
|
|
|
<Popover
|
|
|
v-model:show={popoverShow.value}
|
|
@@ -218,7 +218,11 @@ const isShowGuide = ref(false)
|
|
|
onSelect={onSelect}>
|
|
|
{{
|
|
|
reference: () => (
|
|
|
- <Button class={styles.downBtn} round size="small" {...{id:'courseware-3'}} >
|
|
|
+ <Button
|
|
|
+ class={styles.downBtn}
|
|
|
+ round
|
|
|
+ size="small"
|
|
|
+ {...{ id: 'courseware-3' }}>
|
|
|
{BOOK_DATA.grades[forms.currentGradeNum].text}{' '}
|
|
|
{/* <img class={styles.icon} src={icon_arrow} /> */}
|
|
|
<svg
|
|
@@ -280,55 +284,47 @@ const isShowGuide = ref(false)
|
|
|
]}
|
|
|
key={item.key}
|
|
|
onClick={() => handleOpen(item)}>
|
|
|
- {/* courseware- */}
|
|
|
- {index==0?<NImage
|
|
|
- data-id={item.id}
|
|
|
- {...{id:'courseware-0'}}
|
|
|
-
|
|
|
- class={[styles.cover, item.load ? styles.loaded : '']}
|
|
|
- objectFit="cover"
|
|
|
- src={item.coverImg}
|
|
|
- onLoad={() => {
|
|
|
- item.load = true;
|
|
|
- }}
|
|
|
- onError={() => {
|
|
|
- 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;
|
|
|
- }}
|
|
|
- />}
|
|
|
+ {/* courseware- */}
|
|
|
+ {index == 0 ? (
|
|
|
+ <NImage
|
|
|
+ data-id={item.id}
|
|
|
+ {...{ id: 'courseware-0' }}
|
|
|
+ class={[styles.cover, item.load ? styles.loaded : '']}
|
|
|
+ objectFit="cover"
|
|
|
+ src={item.coverImg}
|
|
|
+ onLoad={() => {
|
|
|
+ item.load = true;
|
|
|
+ }}
|
|
|
+ onError={() => {
|
|
|
+ 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>
|
|
|
- {index==0? <div
|
|
|
- id='courseware-1'
|
|
|
+ <div
|
|
|
+ id={index === 0 ? 'courseware-1' : ''}
|
|
|
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
|
|
|
- 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>}
|
|
|
-
|
|
|
+ <TheFavorite isFavorite={item.favoriteFlag} />
|
|
|
+ </div>
|
|
|
</div>
|
|
|
);
|
|
|
})}
|
|
@@ -347,8 +343,7 @@ const isShowGuide = ref(false)
|
|
|
data.showBook = false;
|
|
|
}}
|
|
|
/>
|
|
|
- {isShowGuide.value? <CoursewareList></CoursewareList>:null}
|
|
|
-
|
|
|
+ {isShowGuide.value ? <CoursewareList></CoursewareList> : null}
|
|
|
</div>
|
|
|
);
|
|
|
}
|