|
@@ -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
|