import { NButton, NSpace, useMessage, NForm, NFormItem, NCascader } from 'naive-ui'; import { defineComponent, onMounted, reactive, ref, watch } from 'vue'; import styles from '../index.module.less'; import CSelect from '/src/components/CSelect'; import { addClass, getConfiguredSubjects } from '../api'; import { api_getCurrentGradeYear } from '../../studentList/api'; export default defineComponent({ props: { activeRow: { type: Object, default: () => ({ id: '' }) }, gradeYearList: { type: Array, default: () => [] }, gradeNumList: { type: Array, default: () => [] }, classArray: { type: Array, default: () => [] } }, name: 'resetStudent', emits: ['close', 'getList'], setup(props, { emit }) { const data = reactive({ uploading: false }); const message = useMessage(); const foemsRef = ref(); const createClassForm = reactive({ gradeYear: null, currentGradeNum: null, currentClass: null, instrumentId: null }); const gradeYearList = ref([] as any); const subjectList = ref([] as any); const submitForms = () => { foemsRef.value.validate(async (error: any) => { if (error) { return; } data.uploading = true; try { await addClass({ ...createClassForm }); message.success('新增成功'); emit('close'); emit('getList'); data.uploading = false; } catch (e) { console.log(e); } data.uploading = false; }); }; const getYearList = async () => { try { const { data } = await api_getCurrentGradeYear({}); const temp = [ { label: data + 1, value: data + 1 }, { label: data, value: data } ]; gradeYearList.value = temp; } catch { // } }; const getConfigSubject = async () => { try { const { data } = await getConfiguredSubjects({ gradeYear: createClassForm.gradeYear, currentGradeNum: createClassForm.currentGradeNum, currentClass: createClassForm.currentClass }); const temp = data || []; subjectList.value = temp; } catch { // } }; watch( () => [ createClassForm.gradeYear, createClassForm.currentGradeNum, createClassForm.currentClass ], () => { createClassForm.instrumentId = null; getConfigSubject(); } ); onMounted(() => { getYearList(); }); return () => (