|  | @@ -22,21 +22,27 @@ import maleIcon from '../images/maleIcon.png';
 | 
	
		
			
				|  |  |  import femaleIcon from '../images/femaleIcon.png';
 | 
	
		
			
				|  |  |  import { useUserStore } from '/src/store/modules/users';
 | 
	
		
			
				|  |  |  import { api_teacherUpdate } from '/src/api/user';
 | 
	
		
			
				|  |  | -import { resetStudentInfo } from '../api'
 | 
	
		
			
				|  |  | +import { resetStudentInfo } from '../api';
 | 
	
		
			
				|  |  |  import UploadFile from '/src/components/upload-file';
 | 
	
		
			
				|  |  | +import {
 | 
	
		
			
				|  |  | +  getgradeNumList,
 | 
	
		
			
				|  |  | +  classArray
 | 
	
		
			
				|  |  | +} from '@/views/classList/contants';
 | 
	
		
			
				|  |  |  export default defineComponent({
 | 
	
		
			
				|  |  |    name: 'setting-personInfo',
 | 
	
		
			
				|  |  | -  props:{
 | 
	
		
			
				|  |  | -    studentInfo:{
 | 
	
		
			
				|  |  | -      type:Object,
 | 
	
		
			
				|  |  | -      default: () => (
 | 
	
		
			
				|  |  | -        { nickname:'',
 | 
	
		
			
				|  |  | -      currentGradeNum:'',
 | 
	
		
			
				|  |  | -      gender:null,
 | 
	
		
			
				|  |  | -      phone:'',
 | 
	
		
			
				|  |  | -      id:''
 | 
	
		
			
				|  |  | -   })
 | 
	
		
			
				|  |  | -  }},
 | 
	
		
			
				|  |  | +  props: {
 | 
	
		
			
				|  |  | +    studentInfo: {
 | 
	
		
			
				|  |  | +      type: Object,
 | 
	
		
			
				|  |  | +      default: () => ({
 | 
	
		
			
				|  |  | +        nickname: '',
 | 
	
		
			
				|  |  | +        currentGradeNum: '',
 | 
	
		
			
				|  |  | +        gender: null,
 | 
	
		
			
				|  |  | +        phone: '',
 | 
	
		
			
				|  |  | +        id: '',
 | 
	
		
			
				|  |  | +        currentClass: ''
 | 
	
		
			
				|  |  | +      })
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +  },
 | 
	
		
			
				|  |  |    setup(props) {
 | 
	
		
			
				|  |  |      const message = useMessage();
 | 
	
		
			
				|  |  |      const userStore = useUserStore();
 | 
	
	
		
			
				|  | @@ -53,20 +59,26 @@ export default defineComponent({
 | 
	
		
			
				|  |  |        phone: props.studentInfo.phone,
 | 
	
		
			
				|  |  |        gender: props.studentInfo.gender,
 | 
	
		
			
				|  |  |        id: props.studentInfo.id,
 | 
	
		
			
				|  |  | -      classGroupName:props.studentInfo.classGroupName
 | 
	
		
			
				|  |  | +      currentGradeNum: props.studentInfo.currentGradeNum,
 | 
	
		
			
				|  |  | +      currentClass: props.studentInfo.currentClass
 | 
	
		
			
				|  |  |      });
 | 
	
		
			
				|  |  | +    const gradeNumList = ref(getgradeNumList())
 | 
	
		
			
				|  |  |      const data = reactive({
 | 
	
		
			
				|  |  |        disabled: true,
 | 
	
		
			
				|  |  |        openChangePwd: false,
 | 
	
		
			
				|  |  |        uploadShow: true
 | 
	
		
			
				|  |  |      });
 | 
	
		
			
				|  |  | -    watch(()=>props.studentInfo,(val)=>{
 | 
	
		
			
				|  |  | -      studentForm.nickname= val.nickname as any
 | 
	
		
			
				|  |  | -      studentForm.phone=val.phone
 | 
	
		
			
				|  |  | -      studentForm.gender= val.gender
 | 
	
		
			
				|  |  | -      studentForm.id= val.id
 | 
	
		
			
				|  |  | -      studentForm.classGroupName=val.classGroupName
 | 
	
		
			
				|  |  | -    })
 | 
	
		
			
				|  |  | +    watch(
 | 
	
		
			
				|  |  | +      () => props.studentInfo,
 | 
	
		
			
				|  |  | +      val => {
 | 
	
		
			
				|  |  | +        studentForm.nickname = val.nickname as any;
 | 
	
		
			
				|  |  | +        studentForm.phone = val.phone;
 | 
	
		
			
				|  |  | +        studentForm.gender = val.gender;
 | 
	
		
			
				|  |  | +        studentForm.id = val.id;
 | 
	
		
			
				|  |  | +        studentForm.currentGradeNum = val.currentGradeNum;
 | 
	
		
			
				|  |  | +        studentForm.currentClass = val.currentClass;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +    );
 | 
	
		
			
				|  |  |      // onMounted(() => {});
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      const handleSave = () => {
 | 
	
	
		
			
				|  | @@ -74,19 +86,19 @@ export default defineComponent({
 | 
	
		
			
				|  |  |          if (err) {
 | 
	
		
			
				|  |  |            return;
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | -        await resetStudentInfo({...props.studentInfo,...studentForm});
 | 
	
		
			
				|  |  | +        await resetStudentInfo({ ...props.studentInfo, ...studentForm });
 | 
	
		
			
				|  |  |          data.disabled = true;
 | 
	
		
			
				|  |  |          message.success('修改成功');
 | 
	
		
			
				|  |  |        });
 | 
	
		
			
				|  |  |      };
 | 
	
		
			
				|  |  | -    const cancel = ()=>{
 | 
	
		
			
				|  |  | -      studentForm.nickname = props.studentInfo.nickname
 | 
	
		
			
				|  |  | -      studentForm.phone = props.studentInfo.phone
 | 
	
		
			
				|  |  | -      studentForm.gender = props.studentInfo.gender
 | 
	
		
			
				|  |  | -      studentForm.classGroupName = props.studentInfo.classGroupName
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -      data.disabled = true
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | +    const cancel = () => {
 | 
	
		
			
				|  |  | +      studentForm.nickname = props.studentInfo.nickname;
 | 
	
		
			
				|  |  | +      studentForm.phone = props.studentInfo.phone;
 | 
	
		
			
				|  |  | +      studentForm.gender = props.studentInfo.gender;
 | 
	
		
			
				|  |  | +      studentForm.currentGradeNum = props.studentInfo.currentGradeNum;
 | 
	
		
			
				|  |  | +      studentForm.currentClass = props.studentInfo.currentClass;
 | 
	
		
			
				|  |  | +      data.disabled = true;
 | 
	
		
			
				|  |  | +    };
 | 
	
		
			
				|  |  |      return () => (
 | 
	
		
			
				|  |  |        <div class={styles.infoWrap}>
 | 
	
		
			
				|  |  |          <div class={styles.setInfo}>
 | 
	
	
		
			
				|  | @@ -142,13 +154,27 @@ export default defineComponent({
 | 
	
		
			
				|  |  |                  </NFormItem>
 | 
	
		
			
				|  |  |                </NGi>
 | 
	
		
			
				|  |  |                <NGi>
 | 
	
		
			
				|  |  | -                <NFormItem label="年级班级" path="sex">
 | 
	
		
			
				|  |  | -                <NInput
 | 
	
		
			
				|  |  | +                <NFormItem label="年级" path="">
 | 
	
		
			
				|  |  | +                  <NSelect
 | 
	
		
			
				|  |  |                      bordered={!data.disabled}
 | 
	
		
			
				|  |  | -                    disabled={true}
 | 
	
		
			
				|  |  | -                    placeholder="年级班级"
 | 
	
		
			
				|  |  | -                    v-model:value={studentForm.classGroupName}></NInput>
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | +                    class={styles.select}
 | 
	
		
			
				|  |  | +                    showArrow={!data.disabled}
 | 
	
		
			
				|  |  | +                    placeholder="请选择年级"
 | 
	
		
			
				|  |  | +                    options={gradeNumList.value as any}
 | 
	
		
			
				|  |  | +                    v-model:value={studentForm.currentGradeNum}
 | 
	
		
			
				|  |  | +                  />
 | 
	
		
			
				|  |  | +                </NFormItem>
 | 
	
		
			
				|  |  | +              </NGi>
 | 
	
		
			
				|  |  | +              <NGi>
 | 
	
		
			
				|  |  | +                <NFormItem label="班级" path="">
 | 
	
		
			
				|  |  | +                  <NSelect
 | 
	
		
			
				|  |  | +                    bordered={!data.disabled}
 | 
	
		
			
				|  |  | +                    class={styles.select}
 | 
	
		
			
				|  |  | +                    showArrow={!data.disabled}
 | 
	
		
			
				|  |  | +                    placeholder="请选择班级"
 | 
	
		
			
				|  |  | +                    options={classArray}
 | 
	
		
			
				|  |  | +                    v-model:value={studentForm.currentClass}
 | 
	
		
			
				|  |  | +                  />
 | 
	
		
			
				|  |  |                  </NFormItem>
 | 
	
		
			
				|  |  |                </NGi>
 | 
	
		
			
				|  |  |              </NGrid>
 | 
	
	
		
			
				|  | @@ -165,7 +191,7 @@ export default defineComponent({
 | 
	
		
			
				|  |  |            </NSpace>
 | 
	
		
			
				|  |  |          ) : (
 | 
	
		
			
				|  |  |            <NSpace class={styles.btnList} align="center" justify="end">
 | 
	
		
			
				|  |  | -            <NButton class={styles.btn} onClick={() => ( cancel())}>
 | 
	
		
			
				|  |  | +            <NButton class={styles.btn} onClick={() => cancel()}>
 | 
	
		
			
				|  |  |                取消
 | 
	
		
			
				|  |  |              </NButton>
 | 
	
		
			
				|  |  |              <NButton
 |