Refactor nested column definitions and improve license info handling

- Updated column definitions in various components to use `nestedOption` instead of `nestedPath` for better clarity and consistency.
- Removed commented-out license status checks and related UI elements from the layout component.
- Simplified license info interface by removing unnecessary properties.
- Enhanced consumer accounts and business activities components to display additional license information.
- Adjusted form components to conditionally include fields based on selected device type.
- Improved the handling of discount calculations in the gold payload form component.
- Added new fields for branch code in complex components and adjusted related views.
- Cleaned up unused console logs in form data utility.
This commit is contained in:
2026-04-24 02:23:47 +03:30
parent e58bcbef57
commit d857361cb7
41 changed files with 268 additions and 121 deletions
@@ -23,14 +23,14 @@ export class ConsumerAccountListComponent extends AbstractList<IConsumerAccountR
field: 'username',
header: 'نام کاربری',
type: 'nested',
nestedPath: 'account.username',
nestedOption: { path: 'account.username' },
},
{ field: 'role', header: 'نوع حساب' },
{
field: 'status',
header: 'وضعیت',
type: 'nested',
nestedPath: 'account.status',
nestedOption: { path: 'account.status' },
},
{
field: 'created_at',
@@ -22,7 +22,7 @@ export class ConsumerBusinessActivitiesComponent extends AbstractList<IBusinessA
@Input() header: IColumn[] = [
{ field: 'id', header: 'شناسه', type: 'id' },
{ field: 'name', header: 'عنوان' },
{ field: 'guild', header: 'صنف', type: 'nested', nestedPath: 'name' },
{ field: 'guild', header: 'صنف', type: 'nested', nestedOption: { path: 'guild.name' } },
{
field: 'created_at',
header: 'تاریخ ایجاد',
@@ -24,10 +24,15 @@ export class ConsumerPosesComponent extends AbstractList<IPosResponse> {
@Input() header: IColumn[] = [
{ field: 'id', header: 'شناسه', type: 'id' },
{ field: 'name', header: 'عنوان' },
{ field: 'serial', header: 'شماره سریال' },
{ field: 'device', header: 'دستگاه', type: 'nested', nestedPath: 'device.name' },
{ field: 'serial_number', header: 'شماره سریال' },
{ field: 'device', header: 'دستگاه', type: 'nested', nestedOption: { path: 'device.name' } },
{ field: 'pos_type', header: 'نوع دستگاه' },
{ field: 'provider', header: 'ارایه‌دهنده', type: 'nested', nestedPath: 'provider.name' },
{
field: 'provider',
header: 'ارایه‌دهنده',
type: 'nested',
nestedOption: { path: 'provider.name' },
},
{ field: 'status', header: 'وضعیت' },
{
field: 'created_at',
@@ -3,6 +3,7 @@
<div class="flex flex-col gap-4">
<div class="grid grid-cols-3 gap-4 items-center">
<app-key-value label="عنوان" [value]="complex()?.name" />
<app-key-value label="کد شعبه" [value]="complex()?.branch_code" />
<app-key-value label="آدرس" [value]="complex()?.address" />
</div>
</div>
@@ -18,7 +18,12 @@ export class DevicesComponent extends AbstractList<IDeviceResponse> {
this.columns = [
{ field: 'id', header: 'شناسه', type: 'id' },
{ field: 'name', header: 'عنوان' },
{ field: 'brand', header: 'برند دستگاه', type: 'nested', nestedPath: 'name' },
{
field: 'brand',
header: 'برند دستگاه',
type: 'nested',
nestedOption: { path: 'brand.name' },
},
{
field: 'created_at',
header: 'تاریخ ایجاد',
@@ -21,7 +21,12 @@ export class GuildGoodsListComponent extends AbstractList<IGuildGoodsResponse> {
{ field: 'image_url', header: 'تصویر', type: 'thumbnail' },
{ field: 'name', header: 'عنوان' },
{ field: 'sku', header: 'شناسه‌ی عمومی' },
{ field: 'category', header: 'دسته‌بندی', type: 'nested', nestedPath: 'category.name' },
{
field: 'category',
header: 'دسته‌بندی',
type: 'nested',
nestedOption: { path: 'category.name' },
},
{
field: 'created_at',
header: 'تاریخ ایجاد',
@@ -23,14 +23,14 @@ export class ConsumerAccountListComponent extends AbstractList<IPartnerAccountRe
field: 'username',
header: 'نام کاربری',
type: 'nested',
nestedPath: 'account.username',
nestedOption: { path: 'account.username' },
},
{ field: 'role', header: 'نوع حساب' },
{
field: 'status',
header: 'وضعیت',
type: 'nested',
nestedPath: 'account.status',
nestedOption: { path: 'account.status' },
},
{
field: 'created_at',