From dc867883f20aabba9e4637f4b1c5389d16fb0a47 Mon Sep 17 00:00:00 2001 From: Kavehhn174 Date: Sat, 15 Aug 2026 19:07:09 +0330 Subject: [PATCH] feat(professors): add nationalId required field to professor form and table --- src/views/professors/ProfessorFormView.vue | 38 ++++++++++++++++++---- src/views/professors/ProfessorListView.vue | 6 ++++ 2 files changed, 38 insertions(+), 6 deletions(-) diff --git a/src/views/professors/ProfessorFormView.vue b/src/views/professors/ProfessorFormView.vue index 4f55757..24abab7 100644 --- a/src/views/professors/ProfessorFormView.vue +++ b/src/views/professors/ProfessorFormView.vue @@ -20,9 +20,14 @@ +
+ + +
+
- +
@@ -65,7 +70,8 @@ const isSubmitting = ref(false); const form = reactive({ name: '', surname: '', - phone: '', + nationalIdCode: '', + phoneNumber: '', email: '', bio: '' }); @@ -78,7 +84,8 @@ const fetchProfessor = async () => { Object.assign(form, { name: data.name || '', surname: data.surname || '', - phone: data.phone || '', + nationalIdCode: data.nationalIdCode || data.nationalId || '', + phoneNumber: data.phoneNumber || data.phone || '', email: data.email || '', bio: data.bio || '' }); @@ -88,14 +95,33 @@ const fetchProfessor = async () => { }; const handleSubmit = async () => { - if (!form.name || !form.surname) { showError('نام و نام خانوادگی الزامی است'); return; } + if (!form.name || !form.surname) { + showError('نام و نام خانوادگی الزامی است'); + return; + } + if (!form.nationalIdCode) { + showError('کد ملی الزامی است'); + return; + } + if (!form.phoneNumber) { + showError('شماره همراه الزامی است'); + return; + } isSubmitting.value = true; try { + const payload = { + name: form.name, + surname: form.surname, + nationalIdCode: form.nationalIdCode, + phoneNumber: form.phoneNumber, + email: form.email || undefined, + bio: form.bio || undefined + }; if (isEditMode.value) { - await professorApi.update(professorId, form); + await professorApi.update(professorId, payload); showSuccess('اطلاعات استاد با موفقیت ویرایش شد'); } else { - await professorApi.create(form); + await professorApi.create(payload); showSuccess('استاد جدید با موفقیت ایجاد شد'); } router.push('/professors'); diff --git a/src/views/professors/ProfessorListView.vue b/src/views/professors/ProfessorListView.vue index 840db00..9fd34e3 100644 --- a/src/views/professors/ProfessorListView.vue +++ b/src/views/professors/ProfessorListView.vue @@ -25,6 +25,12 @@ + + + +