|
@@ -1,17 +1,24 @@
|
|
|
import { defineComponent, onMounted, reactive, ref } from 'vue';
|
|
|
import styles from './index.module.less';
|
|
|
import { NIcon, NSpin, NScrollbar, NModal } from 'naive-ui';
|
|
|
-import { lessonCoursewareDetail, lessonCoursewarePage } from '../../api';
|
|
|
+import {
|
|
|
+ lessonCoursewareDetail,
|
|
|
+ lessonCoursewarePage,
|
|
|
+ tagUseCourseware
|
|
|
+} from '../../api';
|
|
|
import SelectLessonware from './select-lessonware';
|
|
|
import TheEmpty from '/src/components/TheEmpty';
|
|
|
import { usePrepareStore } from '/src/store/modules/prepareLessons';
|
|
|
+import { useUserStore } from '/src/store/modules/users';
|
|
|
|
|
|
export default defineComponent({
|
|
|
name: 'directory-main',
|
|
|
setup() {
|
|
|
const prepareStore = usePrepareStore();
|
|
|
+ const userStore = useUserStore();
|
|
|
const show = ref(true);
|
|
|
const forms = reactive({
|
|
|
+ showSelectBookStatus: false,
|
|
|
coursewareStatus: false
|
|
|
});
|
|
|
|
|
@@ -19,14 +26,30 @@ export default defineComponent({
|
|
|
try {
|
|
|
const { data } = await lessonCoursewarePage({
|
|
|
page: 1,
|
|
|
- rows: 1,
|
|
|
+ rows: 99,
|
|
|
type: 'COURSEWARE',
|
|
|
enableFlag: 1
|
|
|
});
|
|
|
-
|
|
|
- if (data.rows.length > 0) {
|
|
|
- prepareStore.setBaseCourseware(data.rows[0]);
|
|
|
+ const result = data.rows || [];
|
|
|
+ if (result.length > 0) {
|
|
|
+ // 判断是否有默认数据
|
|
|
+ const selectItem = result.find(
|
|
|
+ (item: any) =>
|
|
|
+ item.id === userStore.getUserInfo?.lastUseCoursewareId
|
|
|
+ );
|
|
|
+ let id: any = null;
|
|
|
+ // console.log(userStore.getUserInfo?.lastUseCoursewareId, result);
|
|
|
+ if (selectItem) {
|
|
|
+ prepareStore.setBaseCourseware(selectItem);
|
|
|
+ id = selectItem.id;
|
|
|
+ } else {
|
|
|
+ prepareStore.setBaseCourseware(result[0]);
|
|
|
+ id = result[0]?.id;
|
|
|
+ }
|
|
|
+ setLastUseCoursewareId(id);
|
|
|
}
|
|
|
+
|
|
|
+ forms.showSelectBookStatus = true;
|
|
|
} catch {
|
|
|
//
|
|
|
}
|
|
@@ -40,6 +63,7 @@ export default defineComponent({
|
|
|
id: baseCourseware.id
|
|
|
});
|
|
|
const tempList: any = data.lessonList || [];
|
|
|
+
|
|
|
tempList.forEach((item: any, index: number) => {
|
|
|
item.selected = false;
|
|
|
if (index === 0) {
|
|
@@ -58,6 +82,15 @@ export default defineComponent({
|
|
|
}
|
|
|
};
|
|
|
|
|
|
+ const setLastUseCoursewareId = async (id: any) => {
|
|
|
+ try {
|
|
|
+ await tagUseCourseware({ coursewareId: id });
|
|
|
+ userStore.getInfo();
|
|
|
+ } catch {
|
|
|
+ //
|
|
|
+ }
|
|
|
+ };
|
|
|
+
|
|
|
onMounted(async () => {
|
|
|
show.value = true;
|
|
|
await getLessonCourseware();
|
|
@@ -66,14 +99,14 @@ export default defineComponent({
|
|
|
});
|
|
|
return () => (
|
|
|
<div class={styles.directoryList}>
|
|
|
- {prepareStore.getBaseCourseware.id && (
|
|
|
+ {forms.showSelectBookStatus && (
|
|
|
<div
|
|
|
class={styles['select-directory']}
|
|
|
onClick={() => (forms.coursewareStatus = true)}>
|
|
|
<span
|
|
|
class={['cr-ellipsis']}
|
|
|
title={prepareStore.getBaseCourseware.name}>
|
|
|
- {prepareStore.getBaseCourseware.name}
|
|
|
+ {prepareStore.getBaseCourseware.name || '请选择教材'}
|
|
|
</span>
|
|
|
<NIcon class={styles.iconArrow}>
|
|
|
<svg
|
|
@@ -189,6 +222,7 @@ export default defineComponent({
|
|
|
onConfirm={(item: any) => {
|
|
|
prepareStore.setBaseCourseware(item);
|
|
|
getLessonCoursewareDetail();
|
|
|
+ setLastUseCoursewareId(item.id);
|
|
|
}}
|
|
|
/>
|
|
|
</NModal>
|