118118 />
119119 </el-form-item >
120120
121+ <el-form-item label =" 入学时间" prop =" admissionDate" >
122+ <el-date-picker
123+ v-model =" editFormModel.admissionDate"
124+ type =" date"
125+ value-format =" YYYY-MM-DD"
126+ placeholder =" 请选择入学时间"
127+ />
128+ </el-form-item >
129+
121130 <el-form-item label =" 手机号" prop =" telephone" >
122131 <el-input v-model =" editFormModel.telephone" placeholder =" 请输入手机号" />
123132 </el-form-item >
@@ -169,7 +178,9 @@ import {
169178 collegeOptions ,
170179 degreeMap ,
171180 degreeOptions ,
181+ ethnicOptions ,
172182 ethnicMap ,
183+ genderOptions ,
173184 genderMap ,
174185 majorMap ,
175186 majorOptions ,
@@ -226,6 +237,9 @@ const editFormRef = ref<FormInstance>()
226237const editFormModel = reactive <UpdateOwnProfilePayload >({
227238 degree: ' ' ,
228239 grade: ' ' ,
240+ gender: ' ' ,
241+ nationality: ' ' ,
242+ admissionDate: ' ' ,
229243 political: ' ' ,
230244 marry: ' ' ,
231245 apartment: ' ' ,
@@ -258,17 +272,19 @@ const punishRows = computed(() =>
258272 ownPunishList .value .map ((item ) => ({
259273 ... item ,
260274 category: mapCodeToLabel (punishTypeMap , item .category ),
261- })),
275+ }))
262276)
263277
264278const scholarshipRows = computed (() =>
265279 ownScholarshipList .value .map ((item ) => ({
266280 ... item ,
267281 type: mapCodeToLabel (fundTypeMap , item .type ),
268- })),
282+ }))
269283)
270284
271285const selectFields: EditFieldConfig [] = [
286+ { key: ' gender' , label: ' 性别' , options: genderOptions },
287+ { key: ' nationality' , label: ' 民族' , options: ethnicOptions },
272288 { key: ' marry' , label: ' 婚姻状况' , options: marryOptions },
273289 { key: ' major' , label: ' 专业' , options: majorOptions },
274290 { key: ' degree' , label: ' 学历' , options: degreeOptions },
@@ -414,6 +430,9 @@ const getPersonalInfoValue = (item: PersonalInfoItem) => {
414430const syncEditForm = () => {
415431 editFormModel .degree = ownProfile .value .degree || ' '
416432 editFormModel .grade = ownProfile .value .grade || ' '
433+ editFormModel .gender = ownProfile .value .gender || ' '
434+ editFormModel .nationality = ownProfile .value .nationality || ' '
435+ editFormModel .admissionDate = ownProfile .value .admissionDate || ' '
417436 editFormModel .political = ownProfile .value .political || ' '
418437 editFormModel .marry = ownProfile .value .marry || ' '
419438 editFormModel .apartment = ownProfile .value .apartment || ' '
@@ -432,7 +451,7 @@ watch(
432451 () => {
433452 syncEditForm ()
434453 },
435- { immediate: true , deep: true },
454+ { immediate: true , deep: true }
436455)
437456
438457const openEditDialog = () => {
@@ -447,7 +466,11 @@ const saveProfileEdit = async () => {
447466
448467 await editFormRef .value .validate ()
449468 try {
450- const response = await userStore .updateOwnProfile ({ ... editFormModel })
469+ const payload: UpdateOwnProfilePayload = { ... editFormModel }
470+ // if (payload.admissionDate && !payload.admissionDate.includes(' ')) {
471+ // payload.admissionDate = `${payload.admissionDate} 00:00:00`
472+ // }
473+ const response = await userStore .updateOwnProfile (payload )
451474 if (response .code === 200 ) {
452475 ElMessage .success (' 信息更新成功' )
453476 editDialogVisible .value = false
0 commit comments