feat(professors): add nationalId required field to professor form and table

This commit is contained in:
2026-08-15 19:07:09 +03:30
parent 73670703bb
commit dc867883f2
2 changed files with 38 additions and 6 deletions
+32 -6
View File
@@ -20,9 +20,14 @@
<InputText v-model.trim="form.surname" class="w-full text-sm" />
</div>
<div class="col-12 md:col-6 flex flex-column gap-2">
<label class="font-semibold text-sm">{{ $t('users.nationalId') }} *</label>
<InputText v-model.trim="form.nationalIdCode" class="w-full text-sm" dir="ltr" />
</div>
<div class="col-12 md:col-6 flex flex-column gap-2">
<label class="font-semibold text-sm">{{ $t('users.phone') }} *</label>
<InputText v-model.trim="form.phone" class="w-full text-sm" dir="ltr" />
<InputText v-model.trim="form.phoneNumber" class="w-full text-sm" dir="ltr" />
</div>
<div class="col-12 md:col-6 flex flex-column gap-2">
@@ -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');
@@ -25,6 +25,12 @@
</template>
</Column>
<Column field="nationalIdCode" header="کد ملی">
<template #body="{ data }">
{{ toPersianDigits(data.nationalIdCode || data.nationalId) || '-' }}
</template>
</Column>
<Column field="specialization" header="تخصص">
<template #body="{ data }">
<Tag :value="data.specialization || 'عمومی'" severity="secondary" />