update many things

This commit is contained in:
2026-05-04 20:02:10 +03:30
parent 797aecd489
commit ec452bca22
72 changed files with 1375 additions and 606 deletions
@@ -1,5 +1,5 @@
<app-page-data-list
pageTitle="گزارش شارژ‌های ثبت شده‌ی کاربر"
pageTitle="لیست شارژ‌ کاربر"
[columns]="columns"
emptyPlaceholderTitle="تا به حال شارژ کاربری انجام نشده‌ است"
[items]="items()"
@@ -17,15 +17,16 @@ export class AdminPartnerChargeAccountListComponent extends AbstractList<IAdminP
override setColumns(): void {
this.columns = [
{ field: 'tracking_code', header: 'کد پیگیری' },
{ field: 'charged_license_count', header: 'تعداد شارژ کاربر' },
{ field: 'remained_license_count', header: 'شارژ باقی مانده' },
{ field: 'charged_license_count', header: 'تعداد شارژ کاربر', type: 'number' },
{ field: 'remained_license_count', header: 'شارژ باقی مانده', type: 'number' },
{
field: 'activation_count',
header: 'مقدار مصرف شده',
type: 'number',
},
{
field: 'activation_expires_at',
header: 'تاریخ انقضای فروش',
header: 'تاریخ انقضا فروش',
type: 'date',
dateOption: {
expiredMode: true,
@@ -1,5 +1,5 @@
<app-page-data-list
pageTitle="گزارش شارژ‌های ثبت شده‌ی لایسنس‌ها"
pageTitle="لیست شارژ‌ لایسنس‌"
[columns]="columns"
emptyPlaceholderTitle="تا به حال شارژ لایسنسی انجام نشده‌ است"
[items]="items()"
@@ -18,15 +18,16 @@ export class AdminPartnerChargeLicenseTransactionListComponent extends AbstractL
override setColumns(): void {
this.columns = [
{ field: 'tracking_code', header: 'کد پیگیری' },
{ field: 'charged_license_count', header: 'لایسنس‌های خریداری شده' },
{ field: 'remained_license_count', header: 'لایسنس‌های باقی‌مانده' },
{ field: 'charged_license_count', header: 'لایسنس خریداری شده', type: 'number' },
{ field: 'remained_license_count', header: 'لایسنس باقی‌مانده', type: 'number' },
{
field: 'activation_count',
header: 'لایسنس‌های فروخته شده',
header: 'لایسنس فروخته شده',
type: 'number',
},
{
field: 'activation_expires_at',
header: 'تاریخ انقضای فروش',
header: 'تاریخ انقضا فروش',
type: 'date',
dateOption: {
expiredMode: true,
@@ -1,5 +1,5 @@
<app-page-data-list
pageTitle="لیست لایسنس‌های فروخته شده"
pageTitle="لیست لایسنس فروخته شده"
[columns]="columns"
emptyPlaceholderTitle="تا به حال لایسنسی فروخته نشده‌ است"
[items]="items()"
@@ -27,11 +27,11 @@ export class AdminPartnerLicensesComponent extends AbstractList<IPartnerActivate
},
{
field: 'license',
header: 'تعداد کاربر قابل تعریف',
header: 'تعداد کاربر مجاز',
type: 'nested',
nestedOption: { path: 'license.accounts_limit' },
nestedOption: { path: 'license.accounts_limit', type: 'number' },
},
{ field: 'expires_at', header: 'تاریخ انقضای لایسنس', type: 'date' },
{ field: 'expires_at', header: 'تاریخ انقضا لایسنس', type: 'date' },
];
}
@@ -35,7 +35,7 @@ export class PartnersComponent extends AbstractList<IPartnerResponse> {
},
{
field: 'license_renew',
header: 'تعداد لایسنس‌های تمدیدی',
header: 'تعداد لایسنس تمدیدی',
customDataModel: this.licensesRenewStatus,
},
{ field: 'status', header: 'وضعیت' },
@@ -8,12 +8,52 @@
<div class="grid grid-cols-3 gap-4 items-center">
<app-key-value label="عنوان شریک تجاری" [value]="partner()?.name" />
<app-key-value label="کد شریک تجاری" [value]="partner()?.code" />
<div class="col-span-3 grid grid-cols-3 gap-4 mt-6">
<partner-license-info-template
title="لایسنس‌ها"
[total]="partner()?.licenses_status?.total || 0"
[expired]="partner()?.licenses_status?.expired || 0"
[activated]="partner()?.licenses_status?.used || 0"
[remained]="
(partner()?.licenses_status?.total || 0) -
(partner()?.licenses_status?.used || 0) -
(partner()?.licenses_status?.expired || 0)
"
/>
<partner-license-info-template
title="شارژ کاربران"
[total]="partner()?.account_quota_status?.total || 0"
[expired]="partner()?.account_quota_status?.expired || 0"
[activated]="partner()?.account_quota_status?.used || 0"
[remained]="
(partner()?.account_quota_status?.total || 0) -
(partner()?.account_quota_status?.used || 0) -
(partner()?.account_quota_status?.expired || 0)
"
/>
<partner-license-info-template
title="تمدید لایسنس‌ها"
[total]="partner()?.license_renew_status?.total || 0"
[expired]="partner()?.license_renew_status?.expired || 0"
[activated]="partner()?.license_renew_status?.used || 0"
[remained]="
(partner()?.license_renew_status?.total || 0) -
(partner()?.license_renew_status?.used || 0) -
(partner()?.license_renew_status?.expired || 0)
"
/>
</div>
<!--
<p-divider align="center" class="col-span-3">اطلاعات لایسنس‌ها</p-divider>
<app-key-value label="مجموع لایسنس‌های خریداری شده" [value]="partner()?.licenses_status?.total" />
<app-key-value label="مجموع لایسنس‌های منقضی شده" [value]="partner()?.licenses_status?.expired" />
<app-key-value label="مجموع لایسنس‌های فروخته شده" [value]="partner()?.licenses_status?.used" />
<app-key-value type="number" label="مجموع لایسنس خریداری شده" [value]="partner()?.licenses_status?.total" />
<app-key-value type="number" label="مجموع لایسنس منقضی شده" [value]="partner()?.licenses_status?.expired" />
<app-key-value type="number" label="مجموع لایسنس فروخته شده" [value]="partner()?.licenses_status?.used" />
<app-key-value
label="مجموع لایسنس‌های باقی‌مانده"
type="number"
label="مجموع لایسنس باقی‌مانده"
[value]="
(partner()?.licenses_status?.total || 0) -
(partner()?.licenses_status?.used || 0) -
@@ -21,10 +61,19 @@
"
/>
<p-divider align="center" class="col-span-3">اطلاعات شارژ کاربران</p-divider>
<app-key-value label="مجموع کاربران خریداری شده" [value]="partner()?.account_quota_status?.total" />
<app-key-value label="مجموع کاربران منقضی شده" [value]="partner()?.account_quota_status?.expired" />
<app-key-value label="مجموع کاربران فروخته شده" [value]="partner()?.account_quota_status?.used" />
<app-key-value
type="number"
label="مجموع کاربران خریداری شده"
[value]="partner()?.account_quota_status?.total"
/>
<app-key-value
type="number"
label="مجموع کاربران منقضی شده"
[value]="partner()?.account_quota_status?.expired"
/>
<app-key-value type="number" label="مجموع کاربران فروخته شده" [value]="partner()?.account_quota_status?.used" />
<app-key-value
type="number"
label="مجموع کاربران باقی‌مانده"
[value]="
(partner()?.account_quota_status?.total || 0) -
@@ -33,17 +82,18 @@
"
/>
<p-divider align="center" class="col-span-3">اطلاعات تمدید لایسنس‌ها</p-divider>
<app-key-value label="مجموع تمدید خریداری شده" [value]="partner()?.license_renew_status?.total" />
<app-key-value label="مجموع تمدید منقضی شده" [value]="partner()?.license_renew_status?.expired" />
<app-key-value label="مجموع تمدید فروخته شده" [value]="partner()?.license_renew_status?.used" />
<app-key-value type="number" label="مجموع تمدید خریداری شده" [value]="partner()?.license_renew_status?.total" />
<app-key-value type="number" label="مجموع تمدید منقضی شده" [value]="partner()?.license_renew_status?.expired" />
<app-key-value type="number" label="مجموع تمدید فروخته شده" [value]="partner()?.license_renew_status?.used" />
<app-key-value
type="number"
label="مجموع تمدید باقی‌مانده"
[value]="
(partner()?.license_renew_status?.total || 0) -
(partner()?.license_renew_status?.used || 0) -
(partner()?.license_renew_status?.expired || 0)
"
/>
/>-->
</div>
</div>
</app-card-data>
@@ -1,9 +1,9 @@
import { BreadcrumbService } from '@/core/services';
import { PartnerLicenseInfoTemplateComponent } from '@/domains/partner/modules/dashboard/components/licenseInfo/license-info-template.component';
import { AppCardComponent, KeyValueComponent } from '@/shared/components';
import { Component, computed, effect, inject, signal } from '@angular/core';
import { ActivatedRoute } from '@angular/router';
import { Button } from 'primeng/button';
import { Divider } from 'primeng/divider';
import { ConsumerAccountListComponent } from '../components/accounts/list.component';
import { PartnerChargeLicenseFormDialogComponent } from '../components/charge-license-form-dialog.component';
import { AdminPartnerChargeAccountFormDialogComponent } from '../components/chargeAccount/charge-account-form-dialog.component';
@@ -28,7 +28,7 @@ import { PartnerStore } from '../store/partner.store';
PartnerChargeLicenseFormDialogComponent,
AdminPartnerLicensesComponent,
AdminPartnerChargeLicenseTransactionListComponent,
Divider,
PartnerLicenseInfoTemplateComponent,
],
})
export class PartnerComponent {