import { defineComponent, onMounted, reactive } from 'vue'; import styles from './index.module.less'; import { NButton, NImage, NInput, NModal, NScrollbar, NSelect, NSpace, NSpin, useDialog, useMessage } from 'naive-ui'; import AddTeaching, { BOOK_DATA } from '/src/views/natural-resources/model/add-teaching'; import { lessonCoursewarePage, lessonCoursewareRemove, musicTagTree } from '../../../api'; import iconUploadBg from '../images/icon-upload-bg.svg'; import { useCatchStore } from '/src/store/modules/catchData'; import { useThrottleFn } from '@vueuse/core'; export default defineComponent({ name: 'select-lessonware', emits: ['close', 'confirm'], setup(props, { emit }) { const catchStore = useCatchStore(); const dialog = useDialog(); const message = useMessage(); const forms = reactive({ loading: false, list: [] as any[], teachingStatus: false, musicTagList: [] as any[], selectItem: {} as any, bookVersionId: null, keyword: null, currentGradeNum: null // bookType: null }); const getLessonCourseware = async () => { forms.loading = true; try { const { data } = await lessonCoursewarePage({ page: 1, rows: 99, type: 'COURSEWARE', enableFlag: 1, bookVersionId: forms.bookVersionId, keyword: forms.keyword, currentGradeNum: forms.currentGradeNum // bookType: forms.bookType }); forms.list = data.rows; } catch { // } forms.loading = false; }; // 删除教材 const onDelete = async (item: any) => { dialog.warning({ title: '提示', content: '是否删除该教材?', positiveText: '确定', negativeText: '取消', onPositiveClick: async () => { try { await lessonCoursewareRemove({ id: item.id }); message.success('删除成功'); } catch { // } } }); }; const throttledFn = useThrottleFn(() => getLessonCourseware(), 500); const onDetail = (item: any) => { emit('confirm', item); emit('close'); }; onMounted(async () => { // 获取教材分类列表 try { const { data } = await musicTagTree({}); console.log(data); const temp = data || []; temp.forEach((item: any) => { forms.musicTagList.push({ id: item.id, name: item.name }); }); } catch { // } getLessonCourseware(); }); return () => (