|
@@ -1,4 +1,4 @@
|
|
-import { defineComponent, onMounted, reactive, ref } from 'vue';
|
|
|
|
|
|
+import { defineComponent, onMounted, reactive, ref, watch } from 'vue';
|
|
import styles from '../index.module.less';
|
|
import styles from '../index.module.less';
|
|
import {
|
|
import {
|
|
NImage,
|
|
NImage,
|
|
@@ -22,10 +22,22 @@ import maleIcon from '../images/maleIcon.png';
|
|
import femaleIcon from '../images/femaleIcon.png';
|
|
import femaleIcon from '../images/femaleIcon.png';
|
|
import { useUserStore } from '/src/store/modules/users';
|
|
import { useUserStore } from '/src/store/modules/users';
|
|
import { api_teacherUpdate } from '/src/api/user';
|
|
import { api_teacherUpdate } from '/src/api/user';
|
|
|
|
+import { resetStudentInfo } from '../api'
|
|
import UploadFile from '/src/components/upload-file';
|
|
import UploadFile from '/src/components/upload-file';
|
|
export default defineComponent({
|
|
export default defineComponent({
|
|
name: 'setting-personInfo',
|
|
name: 'setting-personInfo',
|
|
- setup() {
|
|
|
|
|
|
+ props:{
|
|
|
|
+ studentInfo:{
|
|
|
|
+ type:Object,
|
|
|
|
+ default: () => (
|
|
|
|
+ { nickname:'',
|
|
|
|
+ currentGradeNum:'',
|
|
|
|
+ gender:null,
|
|
|
|
+ phone:'',
|
|
|
|
+ id:''
|
|
|
|
+ })
|
|
|
|
+ }},
|
|
|
|
+ setup(props) {
|
|
const message = useMessage();
|
|
const message = useMessage();
|
|
const userStore = useUserStore();
|
|
const userStore = useUserStore();
|
|
const formOptions = reactive({
|
|
const formOptions = reactive({
|
|
@@ -36,24 +48,25 @@ export default defineComponent({
|
|
areaList: [] as any[]
|
|
areaList: [] as any[]
|
|
});
|
|
});
|
|
const formRef = ref();
|
|
const formRef = ref();
|
|
- const teacherForm = reactive({
|
|
|
|
- provinceCode: '', // 省份编码
|
|
|
|
- cityCode: '', // 城市编码
|
|
|
|
- regionCode: '', // 区域编码
|
|
|
|
- nickname: userStore.info.nickname,
|
|
|
|
- phone: userStore.info.phone,
|
|
|
|
- gender: userStore.info.gender,
|
|
|
|
- schoolId: userStore.info.schoolInfos?.[0]?.id,
|
|
|
|
- tenantId: userStore.info.schoolInfos?.[0]?.tenantId,
|
|
|
|
- id: userStore.info.id,
|
|
|
|
- avatar: userStore.info.avatar
|
|
|
|
|
|
+ const studentForm = reactive({
|
|
|
|
+ nickname: props.studentInfo.nickname as any,
|
|
|
|
+ phone: props.studentInfo.phone,
|
|
|
|
+ gender: props.studentInfo.gender,
|
|
|
|
+ id: props.studentInfo.id,
|
|
|
|
+ classGroupName:props.studentInfo.classGroupName
|
|
});
|
|
});
|
|
const data = reactive({
|
|
const data = reactive({
|
|
disabled: true,
|
|
disabled: true,
|
|
openChangePwd: false,
|
|
openChangePwd: false,
|
|
uploadShow: true
|
|
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
|
|
|
|
+ })
|
|
// onMounted(() => {});
|
|
// onMounted(() => {});
|
|
|
|
|
|
const handleSave = () => {
|
|
const handleSave = () => {
|
|
@@ -61,17 +74,23 @@ export default defineComponent({
|
|
if (err) {
|
|
if (err) {
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
- await api_teacherUpdate(teacherForm);
|
|
|
|
- console.log(teacherForm);
|
|
|
|
- userStore.getInfo();
|
|
|
|
|
|
+ await resetStudentInfo({...props.studentInfo,...studentForm});
|
|
data.disabled = true;
|
|
data.disabled = true;
|
|
message.success('修改成功');
|
|
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
|
|
|
|
+ }
|
|
return () => (
|
|
return () => (
|
|
<div class={styles.infoWrap}>
|
|
<div class={styles.infoWrap}>
|
|
<div class={styles.setInfo}>
|
|
<div class={styles.setInfo}>
|
|
- <NForm ref={formRef} model={teacherForm} disabled={data.disabled}>
|
|
|
|
|
|
+ <NForm ref={formRef} model={studentForm} disabled={data.disabled}>
|
|
<NGrid cols={4} x-gap="100">
|
|
<NGrid cols={4} x-gap="100">
|
|
<NGi>
|
|
<NGi>
|
|
<NFormItem
|
|
<NFormItem
|
|
@@ -85,7 +104,7 @@ export default defineComponent({
|
|
<NInput
|
|
<NInput
|
|
bordered={!data.disabled}
|
|
bordered={!data.disabled}
|
|
placeholder="请填写老师姓名"
|
|
placeholder="请填写老师姓名"
|
|
- v-model:value={teacherForm.nickname}></NInput>
|
|
|
|
|
|
+ v-model:value={studentForm.nickname}></NInput>
|
|
</NFormItem>
|
|
</NFormItem>
|
|
</NGi>
|
|
</NGi>
|
|
<NGi>
|
|
<NGi>
|
|
@@ -107,7 +126,7 @@ export default defineComponent({
|
|
<NInput
|
|
<NInput
|
|
bordered={!data.disabled}
|
|
bordered={!data.disabled}
|
|
placeholder="请填写老师手机号"
|
|
placeholder="请填写老师手机号"
|
|
- v-model:value={teacherForm.phone}></NInput>
|
|
|
|
|
|
+ v-model:value={studentForm.phone}></NInput>
|
|
</NFormItem>
|
|
</NFormItem>
|
|
</NGi>
|
|
</NGi>
|
|
<NGi>
|
|
<NGi>
|
|
@@ -118,20 +137,18 @@ export default defineComponent({
|
|
showArrow={!data.disabled}
|
|
showArrow={!data.disabled}
|
|
placeholder="请选择性别"
|
|
placeholder="请选择性别"
|
|
options={formOptions.sexs}
|
|
options={formOptions.sexs}
|
|
- v-model:value={teacherForm.gender}
|
|
|
|
|
|
+ v-model:value={studentForm.gender}
|
|
/>
|
|
/>
|
|
</NFormItem>
|
|
</NFormItem>
|
|
</NGi>
|
|
</NGi>
|
|
<NGi>
|
|
<NGi>
|
|
<NFormItem label="年级班级" path="sex">
|
|
<NFormItem label="年级班级" path="sex">
|
|
- <NSelect
|
|
|
|
|
|
+ <NInput
|
|
bordered={!data.disabled}
|
|
bordered={!data.disabled}
|
|
- class={styles.select}
|
|
|
|
- showArrow={!data.disabled}
|
|
|
|
- placeholder="请选择性别"
|
|
|
|
- options={formOptions.sexs}
|
|
|
|
- v-model:value={teacherForm.gender}
|
|
|
|
- />
|
|
|
|
|
|
+ disabled={true}
|
|
|
|
+ placeholder="年级班级"
|
|
|
|
+ v-model:value={studentForm.classGroupName}></NInput>
|
|
|
|
+
|
|
</NFormItem>
|
|
</NFormItem>
|
|
</NGi>
|
|
</NGi>
|
|
</NGrid>
|
|
</NGrid>
|
|
@@ -148,7 +165,7 @@ export default defineComponent({
|
|
</NSpace>
|
|
</NSpace>
|
|
) : (
|
|
) : (
|
|
<NSpace class={styles.btnList} align="center" justify="end">
|
|
<NSpace class={styles.btnList} align="center" justify="end">
|
|
- <NButton class={styles.btn} onClick={() => (data.disabled = true)}>
|
|
|
|
|
|
+ <NButton class={styles.btn} onClick={() => ( cancel())}>
|
|
取消
|
|
取消
|
|
</NButton>
|
|
</NButton>
|
|
<NButton
|
|
<NButton
|