diff --git a/src/locales/fa.json b/src/locales/fa.json
index dc38570..42f2a02 100644
--- a/src/locales/fa.json
+++ b/src/locales/fa.json
@@ -65,6 +65,8 @@
"postalCode": "کد پستی",
"education": "میزان تحصیلات و رشته",
"parentPhoneNumber": "تلفن همراه والد",
+ "cardNumber": "شماره کارت",
+ "shabaNumber": "شماره شبا (IBAN)",
"address": "آدرس",
"tabInfo": "اطلاعات شخصی",
"tabCourses": "دورههای ثبتنامی",
@@ -78,7 +80,9 @@
"addProfessor": "افزودن استاد جدید",
"editProfessor": "ویرایش اطلاعات استاد",
"bio": "بیوگرافی / رزومه",
- "expertise": "تخصص ها"
+ "expertise": "تخصص ها",
+ "cardNumber": "شماره کارت",
+ "shabaNumber": "شماره شبا (IBAN)"
},
"courses": {
"title": "دورههای آموزشی",
diff --git a/src/views/professors/ProfessorFormView.vue b/src/views/professors/ProfessorFormView.vue
index 24abab7..0119b09 100644
--- a/src/views/professors/ProfessorFormView.vue
+++ b/src/views/professors/ProfessorFormView.vue
@@ -35,6 +35,16 @@
+
+
+
+
+
+
+
+
+
+
@@ -73,6 +83,8 @@ const form = reactive({
nationalIdCode: '',
phoneNumber: '',
email: '',
+ cardNumber: '',
+ shabaNumber: '',
bio: ''
});
@@ -87,6 +99,8 @@ const fetchProfessor = async () => {
nationalIdCode: data.nationalIdCode || data.nationalId || '',
phoneNumber: data.phoneNumber || data.phone || '',
email: data.email || '',
+ cardNumber: data.cardNumber || '',
+ shabaNumber: data.shabaNumber || data.iban || '',
bio: data.bio || ''
});
} catch (err) {
@@ -115,6 +129,8 @@ const handleSubmit = async () => {
nationalIdCode: form.nationalIdCode,
phoneNumber: form.phoneNumber,
email: form.email || undefined,
+ cardNumber: form.cardNumber || undefined,
+ shabaNumber: form.shabaNumber || undefined,
bio: form.bio || undefined
};
if (isEditMode.value) {
diff --git a/src/views/settings/SettingsView.vue b/src/views/settings/SettingsView.vue
index 856d044..e758e5f 100644
--- a/src/views/settings/SettingsView.vue
+++ b/src/views/settings/SettingsView.vue
@@ -419,7 +419,8 @@
- نمونه فایلها: raw-data/import-data.json،
+ نمونه فایلها: raw-data/professors-import.json،
+ raw-data/import-data.json،
raw-data/taksa-tir-1405-import.json
و raw-data/taksa-tir-1405-payments-import.json
@@ -430,6 +431,9 @@
>
نتیجه آخرین بارگذاری
+ -
+ استاد جدید: {{ importResult.stats?.professorsCreated ?? 0 }} — بهروزرسانی: {{ importResult.stats?.professorsUpdated ?? 0 }} — رد شده: {{ importResult.stats?.professorsSkipped ?? 0 }}
+
- دوره جدید: {{ importResult.stats?.coursesCreated ?? 0 }} — بازاستفاده: {{ importResult.stats?.coursesReused ?? 0 }}
- کلاس جدید: {{ importResult.stats?.classesCreated ?? 0 }} — بازاستفاده: {{ importResult.stats?.classesReused ?? 0 }}
- کاربر جدید: {{ importResult.stats?.studentsCreated ?? 0 }} — بهروزرسانی: {{ importResult.stats?.studentsUpdated ?? 0 }}
diff --git a/src/views/users/UserDetailView.vue b/src/views/users/UserDetailView.vue
index 6d5d362..e29e418 100644
--- a/src/views/users/UserDetailView.vue
+++ b/src/views/users/UserDetailView.vue
@@ -80,6 +80,14 @@
تحصیلات
{{ user.education || '-' }}
+
+ شماره کارت
+ {{ user.cardNumber || '-' }}
+
+
+ شماره شبا (IBAN)
+ {{ user.shabaNumber || user.iban || '-' }}
+
آدرس سکونت
{{ user.address || '-' }}
diff --git a/src/views/users/UserFormView.vue b/src/views/users/UserFormView.vue
index a3bee70..d44a0d1 100644
--- a/src/views/users/UserFormView.vue
+++ b/src/views/users/UserFormView.vue
@@ -99,6 +99,16 @@
/>
+
+
+
+
+
+
+
+
+
+
@@ -275,6 +285,8 @@ const form = reactive({
postalCode: '',
education: '',
parentPhoneNumber: '',
+ cardNumber: '',
+ shabaNumber: '',
address: '',
username: '',
password: '',
@@ -296,6 +308,8 @@ const buildPayload = () => {
postalCode: form.postalCode || undefined,
education: form.education || undefined,
parentPhoneNumber: form.parentPhoneNumber || undefined,
+ cardNumber: form.cardNumber || undefined,
+ shabaNumber: form.shabaNumber || undefined,
address: form.address || undefined,
adminNotes: (form.adminNotes || []).map((n) => String(n).trim()).filter(Boolean)
};
@@ -347,6 +361,8 @@ const fetchUser = async () => {
postalCode: data.postalCode || '',
education: data.education || '',
parentPhoneNumber: data.parentPhoneNumber || '',
+ cardNumber: data.cardNumber || '',
+ shabaNumber: data.shabaNumber || data.iban || '',
address: data.address || '',
username: data.username || '',
password: '',