|
@@ -23,6 +23,7 @@ import {
|
|
} from '../../../api';
|
|
} from '../../../api';
|
|
import Draggable from 'vuedraggable';
|
|
import Draggable from 'vuedraggable';
|
|
import iconDelete from '../../../images/icon-delete.png';
|
|
import iconDelete from '../../../images/icon-delete.png';
|
|
|
|
+import iconAddMusic from '../../../images/icon-add-music.png';
|
|
import { onBeforeRouteUpdate, useRoute, useRouter } from 'vue-router';
|
|
import { onBeforeRouteUpdate, useRoute, useRouter } from 'vue-router';
|
|
import deepClone from '/src/helpers/deep-clone';
|
|
import deepClone from '/src/helpers/deep-clone';
|
|
import CardPreview from '/src/components/card-preview';
|
|
import CardPreview from '/src/components/card-preview';
|
|
@@ -40,10 +41,20 @@ export default defineComponent({
|
|
const router = useRouter();
|
|
const router = useRouter();
|
|
const dialog = useDialog();
|
|
const dialog = useDialog();
|
|
const message = useMessage();
|
|
const message = useMessage();
|
|
|
|
+
|
|
|
|
+ const localStorageSubjectId = localStorage.getItem(
|
|
|
|
+ 'prepareLessonSubjectId'
|
|
|
|
+ );
|
|
|
|
+
|
|
const forms = reactive({
|
|
const forms = reactive({
|
|
className: route.query.name as any,
|
|
className: route.query.name as any,
|
|
classGroupId: route.query.classGroupId,
|
|
classGroupId: route.query.classGroupId,
|
|
- subjectId: route.query.subjectId ? Number(route.query.subjectId) : null,
|
|
|
|
|
|
+ // 选取参数带的,后取缓存
|
|
|
|
+ subjectId: route.query.subjectId
|
|
|
|
+ ? Number(route.query.subjectId)
|
|
|
|
+ : localStorageSubjectId
|
|
|
|
+ ? Number(localStorageSubjectId)
|
|
|
|
+ : null,
|
|
coursewareList: [] as any,
|
|
coursewareList: [] as any,
|
|
loadingStatus: false,
|
|
loadingStatus: false,
|
|
showAttendClass: false,
|
|
showAttendClass: false,
|
|
@@ -281,20 +292,31 @@ export default defineComponent({
|
|
|
|
|
|
// 并且没有声部时才会更新
|
|
// 并且没有声部时才会更新
|
|
if (subjectList.length > 0) {
|
|
if (subjectList.length > 0) {
|
|
|
|
+ // 并且声部在列表中
|
|
|
|
+ const localStorageSubjectId = localStorage.getItem(
|
|
|
|
+ 'prepareLessonSubjectId'
|
|
|
|
+ );
|
|
|
|
+ const subjectId =
|
|
|
|
+ forms.subjectId || localStorageSubjectId
|
|
|
|
+ ? Number(localStorageSubjectId)
|
|
|
|
+ : null;
|
|
// 判断浏览器上面是否有
|
|
// 判断浏览器上面是否有
|
|
const index = subjectList.findIndex(
|
|
const index = subjectList.findIndex(
|
|
- (subject: any) => subject.id == forms.subjectId
|
|
|
|
|
|
+ (subject: any) => subject.id == subjectId
|
|
);
|
|
);
|
|
|
|
|
|
- // 并且声部在列表中
|
|
|
|
- if (forms.subjectId && index >= 0) {
|
|
|
|
- prepareStore.setSubjectId(forms.subjectId);
|
|
|
|
|
|
+ if (subjectId && index >= 0) {
|
|
|
|
+ prepareStore.setSubjectId(subjectId);
|
|
} else {
|
|
} else {
|
|
// 判断是否有缓存
|
|
// 判断是否有缓存
|
|
prepareStore.setSubjectId(subjectList[0].id);
|
|
prepareStore.setSubjectId(subjectList[0].id);
|
|
}
|
|
}
|
|
|
|
|
|
- // console.log(prepareStore.getSubjectId, 'getSubjectId');
|
|
|
|
|
|
+ // 保存
|
|
|
|
+ localStorage.setItem(
|
|
|
|
+ 'prepareLessonSubjectId',
|
|
|
|
+ prepareStore.getSubjectId as any
|
|
|
|
+ );
|
|
}
|
|
}
|
|
};
|
|
};
|
|
|
|
|
|
@@ -367,6 +389,8 @@ export default defineComponent({
|
|
value={prepareStore.getSubjectId}
|
|
value={prepareStore.getSubjectId}
|
|
onUpdate:value={(val: any) => {
|
|
onUpdate:value={(val: any) => {
|
|
prepareStore.setSubjectId(val);
|
|
prepareStore.setSubjectId(val);
|
|
|
|
+ // 保存
|
|
|
|
+ localStorage.setItem('prepareLessonSubjectId', val);
|
|
getList();
|
|
getList();
|
|
}}
|
|
}}
|
|
/>
|
|
/>
|
|
@@ -432,10 +456,10 @@ export default defineComponent({
|
|
<NSpin show={forms.loadingStatus}>
|
|
<NSpin show={forms.loadingStatus}>
|
|
<div
|
|
<div
|
|
class={[
|
|
class={[
|
|
- styles.listSection,
|
|
|
|
- !forms.loadingStatus && forms.coursewareList.length <= 0
|
|
|
|
- ? styles.emptySection
|
|
|
|
- : ''
|
|
|
|
|
|
+ styles.listSection
|
|
|
|
+ // !forms.loadingStatus && forms.coursewareList.length <= 0
|
|
|
|
+ // ? styles.emptySection
|
|
|
|
+ // : ''
|
|
]}>
|
|
]}>
|
|
{forms.coursewareList.length > 0 && (
|
|
{forms.coursewareList.length > 0 && (
|
|
<>
|
|
<>
|
|
@@ -497,13 +521,43 @@ export default defineComponent({
|
|
}}
|
|
}}
|
|
/>
|
|
/>
|
|
))}
|
|
))}
|
|
|
|
+ <div
|
|
|
|
+ class={[
|
|
|
|
+ styles.itemContent,
|
|
|
|
+ styles.addMusicItem,
|
|
|
|
+ 'handle'
|
|
|
|
+ ]}
|
|
|
|
+ onClick={() => {
|
|
|
|
+ // 直接跳转到制谱页面 (临时存储数据)
|
|
|
|
+ sessionStorage.setItem('notation-open-create', '1');
|
|
|
|
+ router.push('/notation');
|
|
|
|
+ }}>
|
|
|
|
+ <img src={iconAddMusic} />
|
|
|
|
+
|
|
|
|
+ <p class={styles.addMusicName}>开始制谱</p>
|
|
|
|
+ </div>
|
|
</div>
|
|
</div>
|
|
)}
|
|
)}
|
|
</>
|
|
</>
|
|
)}
|
|
)}
|
|
|
|
|
|
- {!forms.loadingStatus && forms.coursewareList.length <= 0 && (
|
|
|
|
|
|
+ {/* {!forms.loadingStatus && forms.coursewareList.length <= 0 && (
|
|
<TheEmpty description="暂无课件" />
|
|
<TheEmpty description="暂无课件" />
|
|
|
|
+ )} */}
|
|
|
|
+ {forms.coursewareList.length <= 0 && (
|
|
|
|
+ <div class={styles.list}>
|
|
|
|
+ <div
|
|
|
|
+ class={[styles.itemContent, styles.addMusicItem, 'handle']}
|
|
|
|
+ onClick={() => {
|
|
|
|
+ // 直接跳转到制谱页面 (临时存储数据)
|
|
|
|
+ sessionStorage.setItem('notation-open-create', '1');
|
|
|
|
+ router.push('/notation');
|
|
|
|
+ }}>
|
|
|
|
+ <img src={iconAddMusic} />
|
|
|
|
+
|
|
|
|
+ <p class={styles.addMusicName}>开始制谱</p>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
)}
|
|
)}
|
|
</div>
|
|
</div>
|
|
</NSpin>
|
|
</NSpin>
|
|
@@ -710,8 +764,6 @@ export default defineComponent({
|
|
forms.removeVisiable1 = false;
|
|
forms.removeVisiable1 = false;
|
|
forms.isEdit = true;
|
|
forms.isEdit = true;
|
|
// prepareStore.setCoursewareList([]);
|
|
// prepareStore.setCoursewareList([]);
|
|
-
|
|
|
|
- console.log(prepareStore.getCoursewareList, 'getCourseware1');
|
|
|
|
}}>
|
|
}}>
|
|
确定
|
|
确定
|
|
</NButton>
|
|
</NButton>
|