|
@@ -1,7 +1,7 @@
|
|
|
import { PropType, defineComponent, onMounted, reactive } from 'vue';
|
|
|
import styles from './index.module.less';
|
|
|
import { teacherChapterLessonCoursewareList } from '/src/views/prepare-lessons/api';
|
|
|
-import { NScrollbar, NSpin } from 'naive-ui';
|
|
|
+import { NInput, NScrollbar, NSelect, NSpin } from 'naive-ui';
|
|
|
import CoursewareType from '/src/views/prepare-lessons/model/courseware-type';
|
|
|
import TheEmpty from '/src/components/TheEmpty';
|
|
|
|
|
@@ -16,6 +16,10 @@ export default defineComponent({
|
|
|
type: String,
|
|
|
default: ''
|
|
|
},
|
|
|
+ lessonCoursewareSubjectList: {
|
|
|
+ type: Array,
|
|
|
+ default: () => []
|
|
|
+ },
|
|
|
classId: {
|
|
|
type: String,
|
|
|
default: ''
|
|
@@ -25,13 +29,15 @@ export default defineComponent({
|
|
|
setup(props, { emit }) {
|
|
|
const forms = reactive({
|
|
|
loading: false,
|
|
|
+ subjectId: props.subjectId ? Number(props.subjectId) : '',
|
|
|
tableList: [] as any
|
|
|
});
|
|
|
+
|
|
|
const getDetail = async () => {
|
|
|
forms.loading = true;
|
|
|
try {
|
|
|
// 如果是上课则查询班级声部,预览查询全部
|
|
|
- console.log(props.classId, props.subjectId);
|
|
|
+ // console.log(props.classId, props.subjectId);
|
|
|
const { data } = await teacherChapterLessonCoursewareList({
|
|
|
coursewareDetailKnowledgeId: props.courseId,
|
|
|
subjectId: props.classId ? props.subjectId : null
|
|
@@ -63,10 +69,38 @@ export default defineComponent({
|
|
|
};
|
|
|
|
|
|
onMounted(() => {
|
|
|
+ if (props.subjectId) {
|
|
|
+ const s = Number(props.subjectId);
|
|
|
+ let isE = false;
|
|
|
+ props.lessonCoursewareSubjectList.forEach((item: any) => {
|
|
|
+ if (item.id === s) {
|
|
|
+ isE = true;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ if (!isE) {
|
|
|
+ forms.subjectId = '';
|
|
|
+ }
|
|
|
+ }
|
|
|
getDetail();
|
|
|
});
|
|
|
return () => (
|
|
|
<div class={styles.selectClass}>
|
|
|
+ <div class={styles.searchGroup}>
|
|
|
+ <NSelect
|
|
|
+ options={[
|
|
|
+ { id: '', name: '全部声部' },
|
|
|
+ ...(props.lessonCoursewareSubjectList as any)
|
|
|
+ ]}
|
|
|
+ valueField="id"
|
|
|
+ labelField="name"
|
|
|
+ style={{ width: '220px' }}
|
|
|
+ placeholder={'请选择声部'}
|
|
|
+ v-model:value={forms.subjectId}
|
|
|
+ onUpdate:value={() => {
|
|
|
+ getDetail();
|
|
|
+ }}
|
|
|
+ />
|
|
|
+ </div>
|
|
|
<NSpin show={forms.loading}>
|
|
|
<NScrollbar class={styles.selectClassScroll}>
|
|
|
<div
|