import { NButton, NForm, NFormItem, NInput, NSelect, NSpace, NSpin, useMessage } from 'naive-ui'; import { defineComponent, onMounted, reactive, ref } from 'vue'; import styles from './index.module.less'; import { gradeToCN } from '/src/utils/contants'; import { classGroupList } from '/src/views/home/api'; import { resetStudentInfo } from '../../api'; import { classArray, getgradeNumList } from '/src/views/classList/contants'; export default defineComponent({ name: 'update-student', props: { row: { type: Object, default: () => ({}) } }, emits: ['close', 'confirm'], setup(props, { emit }) { const message = useMessage(); const state = reactive({ uploading: false, gradeList: [] as any, classList: [] as any }); const forms = reactive({ phone: null, nickname: null, gender: null, currentGradeNum: null, currentClass: null as any }); const gradeNumList = ref(getgradeNumList()); const classArrayRef = ref([...classArray] as any); const formsRef = ref(); const onSubmit = async () => { formsRef.value?.validate(async (err: any) => { if (err) { return; } state.uploading = true; try { await resetStudentInfo({ ...forms, id: props.row.id, schoolId: props.row.schoolId, tenantId: props.row.tenantId }); message.success('修改成功'); emit('confirm'); emit('close'); } catch { // } state.uploading = false; }); }; onMounted(async () => { const row = props.row; if (row.id) { forms.nickname = row.nickname; forms.phone = row.phone; forms.gender = row.gender; forms.currentGradeNum = row.currentGradeNum; forms.currentClass = row.currentClass; } if (forms.currentGradeNum) { const index = gradeNumList.value.findIndex( (item: any) => item.value === forms.currentGradeNum ); if (index === -1) { forms.currentGradeNum = null; } } }); const onlyAllowNumber = (value: string) => !value || /^\d+$/.test(value); return () => (
emit('close')}> 取消 确认
); } });