feat: show session and payment stats after JSON data import
Update the settings import copy and result counts to match the expanded import payload.
This commit is contained in:
@@ -261,7 +261,7 @@
|
|||||||
<div class="flex-grow-1">
|
<div class="flex-grow-1">
|
||||||
<h2 class="text-lg font-bold text-color m-0 mb-1">وارد کردن دادهها</h2>
|
<h2 class="text-lg font-bold text-color m-0 mb-1">وارد کردن دادهها</h2>
|
||||||
<p class="text-sm text-muted m-0 line-height-3">
|
<p class="text-sm text-muted m-0 line-height-3">
|
||||||
فایل JSON ساختاریافته دورهها، کلاسها و کاربران را بارگذاری کنید. دادههای قبلی حذف نمیشوند؛ موارد تکراری بهروزرسانی یا به کلاس اضافه میشوند.
|
فایل JSON ساختاریافته دورهها، کلاسها، کاربران، جلسات، حضور و غیاب و پرداختها را بارگذاری کنید. دادههای قبلی حذف نمیشوند؛ موارد تکراری بهروزرسانی یا به کلاس اضافه میشوند.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -295,7 +295,8 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<p class="text-xs text-muted m-0 line-height-3">
|
<p class="text-xs text-muted m-0 line-height-3">
|
||||||
نمونه فایل آماده: <code dir="ltr">raw-data/import-data.json</code>
|
نمونه فایلها: <code dir="ltr">raw-data/import-data.json</code>
|
||||||
|
و <code dir="ltr">raw-data/taksa-tir-1405-import.json</code>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<div
|
<div
|
||||||
@@ -308,6 +309,9 @@
|
|||||||
<li>کلاس جدید: {{ importResult.stats?.classesCreated ?? 0 }} — بازاستفاده: {{ importResult.stats?.classesReused ?? 0 }}</li>
|
<li>کلاس جدید: {{ importResult.stats?.classesCreated ?? 0 }} — بازاستفاده: {{ importResult.stats?.classesReused ?? 0 }}</li>
|
||||||
<li>کاربر جدید: {{ importResult.stats?.studentsCreated ?? 0 }} — بهروزرسانی: {{ importResult.stats?.studentsUpdated ?? 0 }}</li>
|
<li>کاربر جدید: {{ importResult.stats?.studentsCreated ?? 0 }} — بهروزرسانی: {{ importResult.stats?.studentsUpdated ?? 0 }}</li>
|
||||||
<li>ثبتنام در کلاس: {{ importResult.stats?.enrollmentsAdded ?? 0 }} — رد شده: {{ importResult.stats?.studentsSkipped ?? 0 }}</li>
|
<li>ثبتنام در کلاس: {{ importResult.stats?.enrollmentsAdded ?? 0 }} — رد شده: {{ importResult.stats?.studentsSkipped ?? 0 }}</li>
|
||||||
|
<li>جلسه جدید: {{ importResult.stats?.sessionsCreated ?? 0 }} — بازاستفاده: {{ importResult.stats?.sessionsReused ?? 0 }}</li>
|
||||||
|
<li>حضور و غیاب: {{ importResult.stats?.attendanceRecords ?? 0 }} — بدون کاربر: {{ importResult.stats?.attendanceSkipped ?? 0 }}</li>
|
||||||
|
<li>پرداخت جدید: {{ importResult.stats?.paymentsCreated ?? 0 }} — بهروزرسانی: {{ importResult.stats?.paymentsUpdated ?? 0 }} — بازاستفاده: {{ importResult.stats?.paymentsReused ?? 0 }}</li>
|
||||||
<li v-if="importResult.warnings?.length">هشدارها: {{ importResult.warnings.length }}</li>
|
<li v-if="importResult.warnings?.length">هشدارها: {{ importResult.warnings.length }}</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
@@ -531,7 +535,7 @@ const confirmImport = () => {
|
|||||||
if (!selectedFile.value) return;
|
if (!selectedFile.value) return;
|
||||||
confirm.require({
|
confirm.require({
|
||||||
header: 'وارد کردن دادهها',
|
header: 'وارد کردن دادهها',
|
||||||
message: 'دورهها، کلاسها و کاربران از فایل JSON به پایگاه داده افزوده میشوند. دادههای موجود حذف نمیشوند. ادامه میدهید؟',
|
message: 'دورهها، کلاسها، کاربران، جلسات، حضور و غیاب و پرداختها از فایل JSON به پایگاه داده افزوده میشوند. دادههای موجود حذف نمیشوند. ادامه میدهید؟',
|
||||||
icon: 'pi pi-upload',
|
icon: 'pi pi-upload',
|
||||||
acceptLabel: 'بارگذاری',
|
acceptLabel: 'بارگذاری',
|
||||||
rejectLabel: 'انصراف',
|
rejectLabel: 'انصراف',
|
||||||
|
|||||||
Reference in New Issue
Block a user