|
@@ -22,7 +22,7 @@ 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 { api_getCurrentGradeYear, resetStudentInfo } from '../api';
|
|
|
import UploadFile from '/src/components/upload-file';
|
|
|
import { getgradeNumList, classArray } from '@/views/classList/contants';
|
|
|
import { useRoute } from 'vue-router';
|
|
@@ -44,7 +44,6 @@ export default defineComponent({
|
|
|
setup(props) {
|
|
|
const route = useRoute();
|
|
|
const message = useMessage();
|
|
|
- const userStore = useUserStore();
|
|
|
const loading = ref();
|
|
|
const formOptions = reactive({
|
|
|
sexs: [
|
|
@@ -56,6 +55,10 @@ export default defineComponent({
|
|
|
const formRef = ref();
|
|
|
const showUpdate = ref(false);
|
|
|
const gradeNumList = ref(getgradeNumList());
|
|
|
+ const gradeYearList = ref([] as any);
|
|
|
+ const historyClassStudent = ref(
|
|
|
+ props.studentInfo.historyClassStudent || ''
|
|
|
+ );
|
|
|
const formatGradeNum = () => {
|
|
|
if (props.studentInfo.currentGradeNum) {
|
|
|
const index = gradeNumList.value.findIndex(
|
|
@@ -70,6 +73,18 @@ export default defineComponent({
|
|
|
return null;
|
|
|
}
|
|
|
};
|
|
|
+ const initGrade = (gradeYear: any) => {
|
|
|
+ // 判断学年数组里面是否有存在,如果没有则追加数据
|
|
|
+ const hasGradeYear = gradeYearList.value.findIndex(
|
|
|
+ (i: any) => i.value === gradeYear
|
|
|
+ );
|
|
|
+ if (hasGradeYear === -1 && gradeYear) {
|
|
|
+ gradeYearList.value.push({
|
|
|
+ label: gradeYear,
|
|
|
+ value: gradeYear
|
|
|
+ });
|
|
|
+ }
|
|
|
+ };
|
|
|
const studentForm = reactive({
|
|
|
upgradeFlag: (route.query.upgradeFlag as any) == 0 ? 1 : 0, // 是否为历史班
|
|
|
nickname: props.studentInfo.nickname as any,
|
|
@@ -77,10 +92,12 @@ export default defineComponent({
|
|
|
gender: props.studentInfo.gender,
|
|
|
id: props.studentInfo.id,
|
|
|
currentGradeNum: formatGradeNum(),
|
|
|
+ gradeYear: props.studentInfo.gradeYear,
|
|
|
currentClass: props.studentInfo.currentClass
|
|
|
});
|
|
|
|
|
|
const classArrayRef = ref([...classArray] as any);
|
|
|
+
|
|
|
const data = reactive({
|
|
|
disabled: true,
|
|
|
openChangePwd: false,
|
|
@@ -96,9 +113,16 @@ export default defineComponent({
|
|
|
studentForm.id = val.id;
|
|
|
studentForm.currentGradeNum = formatGradeNum();
|
|
|
studentForm.currentClass = val.currentClass;
|
|
|
+ studentForm.gradeYear = val.gradeYear;
|
|
|
+
|
|
|
+ console.log(props.studentInfo, 'props.studentInfo');
|
|
|
+ initGrade(val.gradeYear);
|
|
|
}
|
|
|
);
|
|
|
- // onMounted(() => {});
|
|
|
+ onMounted(async () => {
|
|
|
+ await getYearList();
|
|
|
+ initGrade(props.studentInfo.gradeYear);
|
|
|
+ });
|
|
|
|
|
|
const handleSave = () => {
|
|
|
loading.value = true;
|
|
@@ -123,9 +147,29 @@ export default defineComponent({
|
|
|
studentForm.gender = props.studentInfo.gender;
|
|
|
studentForm.currentGradeNum = formatGradeNum();
|
|
|
studentForm.currentClass = props.studentInfo.currentClass;
|
|
|
+ studentForm.gradeYear = props.studentInfo.gradeYear;
|
|
|
data.disabled = true;
|
|
|
};
|
|
|
|
|
|
+ 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 onlyAllowNumber = (value: string) => !value || /^\d+$/.test(value);
|
|
|
return () => (
|
|
|
<div class={styles.infoWrap}>
|
|
@@ -185,6 +229,18 @@ export default defineComponent({
|
|
|
</NFormItem>
|
|
|
</NGi>
|
|
|
<NGi>
|
|
|
+ <NFormItem label="学年" path="">
|
|
|
+ <NSelect
|
|
|
+ bordered={!data.disabled}
|
|
|
+ class={styles.select}
|
|
|
+ showArrow={!data.disabled}
|
|
|
+ placeholder="请选择学年"
|
|
|
+ options={gradeYearList.value as any}
|
|
|
+ v-model:value={studentForm.gradeYear}
|
|
|
+ />
|
|
|
+ </NFormItem>
|
|
|
+ </NGi>
|
|
|
+ <NGi>
|
|
|
<NFormItem label="年级" path="">
|
|
|
<NSelect
|
|
|
bordered={!data.disabled}
|
|
@@ -218,6 +274,7 @@ export default defineComponent({
|
|
|
class={styles.btn}
|
|
|
strong
|
|
|
color="#f24433"
|
|
|
+ disabled={historyClassStudent.value}
|
|
|
onClick={() => (data.disabled = false)}>
|
|
|
修改信息
|
|
|
</NButton>
|