import { NButton, NForm, NFormItem, NInput, NScrollbar, NSelect, NSpace, useMessage } from 'naive-ui'; import { TransitionGroup, defineComponent, reactive, ref } from 'vue'; import styles from './index.module.less'; import UploadFile from '@/components/upload-file'; import { nextTick } from 'vue'; import { scrollToErrorForm } from '@/utils'; import { api_lessonCoursewareSave } from '../../api'; import iconUpload from '../../images/icon-upload.png'; import iconAdd from '../../images/icon-add.svg'; import iconMenu from '../../images/icon-menu.png'; import btnAdd from '../../images/btn-add.svg'; import btnDelete from '../../images/btn-delete.svg'; import btnUp from '../../images/btn-up.svg'; import btnDown from '../../images/btn-down.svg'; import btnRemove from '../../images/btn-remove.svg'; export const BOOK_DATA = { grades: [ { label: '一年级', value: 1 }, { label: '二年级', value: 2 }, { label: '三年级', value: 3 }, { label: '四年级', value: 4 }, { label: '五年级', value: 5 }, { label: '六年级', value: 6 }, { label: '七年级', value: 7 }, { label: '八年级', value: 8 }, { label: '九年级', value: 9 } ], bookTypes: [ { label: '上册', value: 'LAST' }, { label: '下册', value: 'NEXT' } ] }; /** 添加单元 */ const createLesson = () => { return { key: 'item' + Date.now(), name: '', // 单元名称 lessonTargetDesc: '', // 课时目标描述 knowledgeList: [ { key: Date.now() + '' + 0, name: '' // 章节名称 } ] // 章节信息 }; }; const initState = () => ({ id: null, // 教材id name: '', currentGradeNum: null, bookType: null, // 上下册 coverImg: '', // 封面 enableFlag: true, // 状态 type: 'COURSEWARE', // 教材类型:COURSEWARE,THEORY,可用值:COURSEWARE,THEORY lessonList: [createLesson()] // 单元列表 }); export default defineComponent({ name: 'addNatural', emits: ['close'], setup(props, { emit }) { const message = useMessage(); const data = reactive({ uploading: false }); const formRef = ref(); const form = reactive(initState()); const handleSave = () => { formRef.value?.validate((err: any) => { if (err) { nextTick(scrollToErrorForm); return; } handleSubmit(); }); }; const handleSubmit = async () => { data.uploading = true; try { await api_lessonCoursewareSave(form); Object.assign(form, initState()); message.success('添加成功'); emit('close', true); } catch { // } data.uploading = false; }; return () => (
请上传教材封面