refactor user accounts structure
This commit is contained in:
@@ -0,0 +1 @@
|
||||
export * from './list.component';
|
||||
@@ -0,0 +1 @@
|
||||
<superAdmin-consumer-account-list [consumerId]="consumerId()" />
|
||||
@@ -0,0 +1,41 @@
|
||||
// import { CatalogRoleTagComponent } from '@/shared/catalog/roles';
|
||||
import { BreadcrumbService } from '@/core/services';
|
||||
import { Component, inject, signal } from '@angular/core';
|
||||
import { ActivatedRoute } from '@angular/router';
|
||||
import { ConsumerAccountListComponent } from '../../components/accounts/list.component';
|
||||
import { superAdminConsumersNamedRoutes } from '../../constants';
|
||||
import { superAdminConsumerAccountsNamedRoutes } from '../../constants/routes/accounts';
|
||||
import { ConsumerStore } from '../../store/consumer.store';
|
||||
|
||||
@Component({
|
||||
selector: 'superAdmin-consumer-accounts',
|
||||
templateUrl: './list.component.html',
|
||||
imports: [ConsumerAccountListComponent],
|
||||
})
|
||||
export class ConsumerAccountsComponent {
|
||||
private readonly route = inject(ActivatedRoute);
|
||||
private readonly breadcrumbService = inject(BreadcrumbService);
|
||||
private readonly store = inject(ConsumerStore);
|
||||
|
||||
consumerId = signal<string>(this.route.snapshot.params['consumerId']);
|
||||
|
||||
ngOnInit() {
|
||||
this.setBreadcrumb();
|
||||
}
|
||||
|
||||
setBreadcrumb() {
|
||||
this.breadcrumbService.setItems([
|
||||
{
|
||||
...superAdminConsumersNamedRoutes.consumers.meta,
|
||||
routerLink: superAdminConsumersNamedRoutes.consumers.meta.pagePath!(),
|
||||
},
|
||||
{
|
||||
title: this.store.entity()?.fullname,
|
||||
routerLink: superAdminConsumersNamedRoutes.consumer.meta.pagePath!(this.consumerId()),
|
||||
},
|
||||
{
|
||||
title: superAdminConsumerAccountsNamedRoutes.accounts.meta.title,
|
||||
},
|
||||
]);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
export * from './list.component';
|
||||
+1
@@ -0,0 +1 @@
|
||||
<superAdmin-consumer-businessActivities-list [consumerId]="consumerId()" />
|
||||
+43
@@ -0,0 +1,43 @@
|
||||
// import { CatalogRoleTagComponent } from '@/shared/catalog/roles';
|
||||
import { BreadcrumbService } from '@/core/services';
|
||||
import pageParamsUtils from '@/utils/page-params.utils';
|
||||
import { Component, computed, inject, signal } from '@angular/core';
|
||||
import { ActivatedRoute } from '@angular/router';
|
||||
import { ConsumerBusinessActivitiesComponent } from '../../components/businessActivities/list.component';
|
||||
import { superAdminConsumersNamedRoutes } from '../../constants';
|
||||
import { superAdminConsumerBusinessActivitiesNamedRoutes } from '../../constants/routes/businessActivities';
|
||||
import { ConsumerStore } from '../../store/consumer.store';
|
||||
|
||||
@Component({
|
||||
selector: 'superAdmin-user-businessActivities',
|
||||
templateUrl: './list.component.html',
|
||||
imports: [ConsumerBusinessActivitiesComponent],
|
||||
})
|
||||
export class SuperAdminUserBusinessActivitiesComponent {
|
||||
private readonly route = inject(ActivatedRoute);
|
||||
private readonly breadcrumbService = inject(BreadcrumbService);
|
||||
private readonly consumerStore = inject(ConsumerStore);
|
||||
|
||||
pageParams = computed(() => pageParamsUtils(this.route));
|
||||
consumerId = signal<string>(this.pageParams()['consumerId']);
|
||||
|
||||
ngOnInit() {
|
||||
this.setBreadcrumb();
|
||||
}
|
||||
|
||||
setBreadcrumb() {
|
||||
this.breadcrumbService.setItems([
|
||||
{
|
||||
...superAdminConsumersNamedRoutes.consumers.meta,
|
||||
routerLink: superAdminConsumersNamedRoutes.consumers.meta.pagePath!(),
|
||||
},
|
||||
{
|
||||
title: this.consumerStore.entity()?.fullname,
|
||||
routerLink: superAdminConsumersNamedRoutes.consumer.meta.pagePath!(this.consumerId()),
|
||||
},
|
||||
{
|
||||
title: superAdminConsumerBusinessActivitiesNamedRoutes.businessActivities.meta.title,
|
||||
},
|
||||
]);
|
||||
}
|
||||
}
|
||||
+21
@@ -0,0 +1,21 @@
|
||||
<div class="flex flex-col gap-6">
|
||||
<app-card-data cardTitle="اطلاعات فعالیت اقتصادی" [editable]="true" [(editMode)]="editMode">
|
||||
<div class="flex flex-col gap-4">
|
||||
<div class="grid grid-cols-3 gap-4 items-center">
|
||||
<app-key-value label="عنوان" [value]="businessActivity()?.name" />
|
||||
<app-key-value label="صنف" [value]="businessActivity()?.guild?.name" />
|
||||
</div>
|
||||
</div>
|
||||
</app-card-data>
|
||||
|
||||
<superAdmin-consumer-complexes-list [consumerId]="consumerId()" [businessId]="businessId()" />
|
||||
|
||||
<superAdmin-consumer-businessActivities-form
|
||||
[(visible)]="editMode"
|
||||
[editMode]="true"
|
||||
[consumerId]="consumerId()"
|
||||
[businessActivityId]="businessId()"
|
||||
[initialValues]="businessActivity() || undefined"
|
||||
(onSubmit)="getData()"
|
||||
/>
|
||||
</div>
|
||||
+75
@@ -0,0 +1,75 @@
|
||||
import { BreadcrumbService } from '@/core/services';
|
||||
import { AppCardComponent, KeyValueComponent } from '@/shared/components';
|
||||
import pageParamsUtils from '@/utils/page-params.utils';
|
||||
import { Component, computed, effect, inject, signal } from '@angular/core';
|
||||
import { ActivatedRoute } from '@angular/router';
|
||||
|
||||
import { ConsumerBusinessActivitiesFormComponent } from '../../components/businessActivities/form.component';
|
||||
import { ConsumerComplexesComponent } from '../../components/complexes/list.component';
|
||||
import { superAdminConsumersNamedRoutes } from '../../constants';
|
||||
import { superAdminConsumerBusinessActivitiesNamedRoutes } from '../../constants/routes/businessActivities';
|
||||
import { BusinessActivityStore } from '../../store/businessActivity.store';
|
||||
import { ConsumerStore } from '../../store/consumer.store';
|
||||
|
||||
@Component({
|
||||
selector: 'superAdmin-user-businessActivity',
|
||||
templateUrl: './single.component.html',
|
||||
imports: [
|
||||
AppCardComponent,
|
||||
KeyValueComponent,
|
||||
ConsumerBusinessActivitiesFormComponent,
|
||||
ConsumerComplexesComponent,
|
||||
],
|
||||
})
|
||||
export class SuperAdminUserBusinessActivityComponent {
|
||||
private readonly route = inject(ActivatedRoute);
|
||||
private readonly breadcrumbService = inject(BreadcrumbService);
|
||||
private readonly store = inject(BusinessActivityStore);
|
||||
private readonly consumerStore = inject(ConsumerStore);
|
||||
|
||||
pageParams = computed(() => pageParamsUtils(this.route));
|
||||
|
||||
readonly consumerId = signal<string>(this.pageParams()['consumerId']!);
|
||||
readonly businessId = signal<string>(this.pageParams()['businessActivityId']!);
|
||||
editMode = signal<boolean>(false);
|
||||
|
||||
readonly loading = computed(() => this.store.loading());
|
||||
readonly businessActivity = computed(() => this.store.entity());
|
||||
|
||||
constructor() {
|
||||
effect(() => {
|
||||
if (this.businessActivity()?.id) {
|
||||
this.setBreadcrumb();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
getData() {
|
||||
this.store.getData(this.consumerId(), this.businessId());
|
||||
}
|
||||
|
||||
setBreadcrumb() {
|
||||
this.breadcrumbService.setItems([
|
||||
{
|
||||
...superAdminConsumersNamedRoutes.consumers.meta,
|
||||
routerLink: superAdminConsumersNamedRoutes.consumers.meta.pagePath!(),
|
||||
},
|
||||
{
|
||||
title: this.consumerStore.entity()?.fullname,
|
||||
routerLink: superAdminConsumersNamedRoutes.consumers.meta.pagePath!(this.consumerId()),
|
||||
},
|
||||
{
|
||||
...superAdminConsumerBusinessActivitiesNamedRoutes.businessActivities.meta,
|
||||
routerLink: superAdminConsumerBusinessActivitiesNamedRoutes.businessActivities.meta
|
||||
.pagePath!(this.consumerId()),
|
||||
},
|
||||
{
|
||||
title: this.businessActivity()?.name,
|
||||
routerLink: superAdminConsumerBusinessActivitiesNamedRoutes.businessActivity.meta.pagePath!(
|
||||
this.consumerId(),
|
||||
this.businessId(),
|
||||
),
|
||||
},
|
||||
]);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
export * from './list.component';
|
||||
@@ -0,0 +1 @@
|
||||
<superAdmin-consumer-complexes-list [consumerId]="consumerId()" [businessId]="businessId()" />
|
||||
@@ -0,0 +1,63 @@
|
||||
// import { CatalogRoleTagComponent } from '@/shared/catalog/roles';
|
||||
import { BreadcrumbService } from '@/core/services';
|
||||
import pageParamsUtils from '@/utils/page-params.utils';
|
||||
import { Component, computed, inject, signal } from '@angular/core';
|
||||
import { ActivatedRoute } from '@angular/router';
|
||||
import { ConsumerComplexesComponent } from '../../components/complexes/list.component';
|
||||
import { superAdminConsumersNamedRoutes } from '../../constants';
|
||||
import { superAdminConsumerBusinessActivitiesNamedRoutes } from '../../constants/routes/businessActivities';
|
||||
import { superAdminConsumerComplexesNamedRoutes } from '../../constants/routes/complexes';
|
||||
import { BusinessActivityStore } from '../../store/businessActivity.store';
|
||||
import { ConsumerStore } from '../../store/consumer.store';
|
||||
|
||||
@Component({
|
||||
selector: 'superAdmin-user-complexes',
|
||||
templateUrl: './list.component.html',
|
||||
imports: [ConsumerComplexesComponent],
|
||||
})
|
||||
export class SuperAdminUserComplexesComponent {
|
||||
private readonly route = inject(ActivatedRoute);
|
||||
private readonly breadcrumbService = inject(BreadcrumbService);
|
||||
private readonly consumerStore = inject(ConsumerStore);
|
||||
private readonly businessStore = inject(BusinessActivityStore);
|
||||
|
||||
pageParams = computed(() => pageParamsUtils(this.route));
|
||||
consumerId = signal<string>(this.pageParams()['consumerId']);
|
||||
businessId = signal<string>(this.pageParams()['businessActivityId']);
|
||||
|
||||
ngAfterViewInit() {
|
||||
this.setBreadcrumb();
|
||||
}
|
||||
|
||||
setBreadcrumb() {
|
||||
this.breadcrumbService.setItems([
|
||||
{
|
||||
...superAdminConsumersNamedRoutes.consumers.meta,
|
||||
routerLink: superAdminConsumersNamedRoutes.consumers.meta.pagePath!(),
|
||||
},
|
||||
{
|
||||
title: this.consumerStore.entity()?.fullname,
|
||||
routerLink: superAdminConsumersNamedRoutes.consumer.meta.pagePath!(this.consumerId()),
|
||||
},
|
||||
{
|
||||
title: superAdminConsumerBusinessActivitiesNamedRoutes.businessActivities.meta.title,
|
||||
routerLink: superAdminConsumerBusinessActivitiesNamedRoutes.businessActivities.meta
|
||||
.pagePath!(this.consumerId()),
|
||||
},
|
||||
{
|
||||
title: this.businessStore.entity()?.name,
|
||||
routerLink: superAdminConsumerBusinessActivitiesNamedRoutes.businessActivity.meta.pagePath!(
|
||||
this.consumerId(),
|
||||
this.businessId(),
|
||||
),
|
||||
},
|
||||
{
|
||||
title: superAdminConsumerComplexesNamedRoutes.complexes.meta.title,
|
||||
routerLink: superAdminConsumerComplexesNamedRoutes.complexes.meta.pagePath!(
|
||||
this.consumerId(),
|
||||
this.businessId(),
|
||||
),
|
||||
},
|
||||
]);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
<div class="flex flex-col gap-6">
|
||||
<app-card-data cardTitle="اطلاعات فروشگاه" [editable]="true" [(editMode)]="editMode">
|
||||
<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()?.tax_id" />
|
||||
<app-key-value label="آدرس" [value]="complex()?.address" />
|
||||
</div>
|
||||
</div>
|
||||
</app-card-data>
|
||||
|
||||
<superAdmin-consumer-poses-list [consumerId]="consumerId()" [businessId]="businessId()" [complexId]="complexId()" />
|
||||
|
||||
<superAdmin-consumer-complex-form
|
||||
[(visible)]="editMode"
|
||||
[editMode]="true"
|
||||
[consumerId]="consumerId()"
|
||||
[businessActivityId]="businessId()"
|
||||
[complexId]="complexId()"
|
||||
[initialValues]="complex() || undefined"
|
||||
(onSubmit)="getData()"
|
||||
/>
|
||||
</div>
|
||||
@@ -0,0 +1,94 @@
|
||||
import { BreadcrumbService } from '@/core/services';
|
||||
import { AppCardComponent, KeyValueComponent } from '@/shared/components';
|
||||
import pageParamsUtils from '@/utils/page-params.utils';
|
||||
import { Component, computed, effect, inject, signal } from '@angular/core';
|
||||
import { ActivatedRoute } from '@angular/router';
|
||||
import { ConsumerComplexFormComponent } from '../../components/complexes/form.component';
|
||||
import { ConsumerPosesComponent } from '../../components/poses/list.component';
|
||||
import { superAdminConsumersNamedRoutes } from '../../constants';
|
||||
import { superAdminConsumerBusinessActivitiesNamedRoutes } from '../../constants/routes/businessActivities';
|
||||
import { superAdminConsumerComplexesNamedRoutes } from '../../constants/routes/complexes';
|
||||
import { BusinessActivityStore } from '../../store/businessActivity.store';
|
||||
import { ComplexStore } from '../../store/complex.store';
|
||||
import { ConsumerStore } from '../../store/consumer.store';
|
||||
|
||||
@Component({
|
||||
selector: 'superAdmin-user-complex',
|
||||
templateUrl: './single.component.html',
|
||||
imports: [
|
||||
AppCardComponent,
|
||||
KeyValueComponent,
|
||||
ConsumerComplexFormComponent,
|
||||
ConsumerPosesComponent,
|
||||
],
|
||||
})
|
||||
export class SuperAdminUserComplexComponent {
|
||||
private readonly route = inject(ActivatedRoute);
|
||||
private readonly breadcrumbService = inject(BreadcrumbService);
|
||||
private readonly store = inject(ComplexStore);
|
||||
private readonly consumerStore = inject(ConsumerStore);
|
||||
private readonly businessStore = inject(BusinessActivityStore);
|
||||
|
||||
pageParams = computed(() => pageParamsUtils(this.route));
|
||||
|
||||
readonly consumerId = signal<string>(this.pageParams()['consumerId']!);
|
||||
readonly businessId = signal<string>(this.pageParams()['businessActivityId']!);
|
||||
readonly complexId = signal<string>(this.pageParams()['complexId']!);
|
||||
|
||||
editMode = signal<boolean>(false);
|
||||
|
||||
readonly loading = computed(() => this.store.loading());
|
||||
readonly complex = computed(() => this.store.entity());
|
||||
|
||||
constructor() {
|
||||
effect(() => {
|
||||
if (this.complex()?.id) {
|
||||
this.setBreadcrumb();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
getData() {
|
||||
this.store.getData(this.consumerId(), this.businessId(), this.complexId());
|
||||
}
|
||||
|
||||
setBreadcrumb() {
|
||||
this.breadcrumbService.setItems([
|
||||
{
|
||||
...superAdminConsumersNamedRoutes.consumers.meta,
|
||||
routerLink: superAdminConsumersNamedRoutes.consumers.meta.pagePath!(),
|
||||
},
|
||||
{
|
||||
title: this.consumerStore.entity()?.fullname,
|
||||
routerLink: superAdminConsumersNamedRoutes.consumer.meta.pagePath!(this.consumerId()),
|
||||
},
|
||||
{
|
||||
...superAdminConsumerBusinessActivitiesNamedRoutes.businessActivities.meta,
|
||||
routerLink: superAdminConsumerBusinessActivitiesNamedRoutes.businessActivities.meta
|
||||
.pagePath!(this.consumerId()),
|
||||
},
|
||||
{
|
||||
title: this.businessStore.entity()?.name,
|
||||
routerLink: superAdminConsumerBusinessActivitiesNamedRoutes.businessActivity.meta.pagePath!(
|
||||
this.consumerId(),
|
||||
this.businessId(),
|
||||
),
|
||||
},
|
||||
{
|
||||
...superAdminConsumerComplexesNamedRoutes.complexes.meta,
|
||||
routerLink: superAdminConsumerComplexesNamedRoutes.complexes.meta.pagePath!(
|
||||
this.consumerId(),
|
||||
this.businessId(),
|
||||
),
|
||||
},
|
||||
{
|
||||
title: this.complex()?.name,
|
||||
routerLink: superAdminConsumerComplexesNamedRoutes.complex.meta.pagePath!(
|
||||
this.consumerId(),
|
||||
this.businessId(),
|
||||
this.complexId(),
|
||||
),
|
||||
},
|
||||
]);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
export * from './list.component';
|
||||
export * from './single.component';
|
||||
@@ -0,0 +1,23 @@
|
||||
<app-page-data-list
|
||||
pageTitle="مدیریت مشتریان"
|
||||
[addNewCtaLabel]="'افزودن مشتری جدید'"
|
||||
[columns]="columns"
|
||||
[showAdd]="true"
|
||||
emptyPlaceholderTitle="مشتریای یافت نشد"
|
||||
emptyPlaceholderDescription="برای افزودن مشتری جدید، روی دکمهٔ بالا کلیک کنید."
|
||||
[items]="items()"
|
||||
[loading]="loading()"
|
||||
[showDetails]="true"
|
||||
[showAdd]="true"
|
||||
[showEdit]="true"
|
||||
(onAdd)="openAddForm()"
|
||||
(onDetails)="toSinglePage($event)"
|
||||
(onEdit)="onEditClick($event)"
|
||||
/>
|
||||
<superAdmin-consumer-form
|
||||
[(visible)]="visibleForm"
|
||||
[editMode]="editMode()"
|
||||
[consumerId]="selectedItemForEdit()?.id"
|
||||
[initialValues]="selectedItemForEdit() || undefined"
|
||||
(onSubmit)="refresh()"
|
||||
/>
|
||||
@@ -0,0 +1,41 @@
|
||||
// import { CatalogRoleTagComponent } from '@/shared/catalog/roles';
|
||||
import { AbstractList } from '@/shared/abstractClasses/abstract-list';
|
||||
import { PageDataListComponent } from '@/shared/components/pageDataList/page-data-list.component';
|
||||
import { Component, inject } from '@angular/core';
|
||||
import { Router } from '@angular/router';
|
||||
import { ConsumerUserFormComponent } from '../components/form.component';
|
||||
import { superAdminConsumersNamedRoutes } from '../constants';
|
||||
import { IConsumerResponse } from '../models';
|
||||
import { ConsumersService } from '../services/main.service';
|
||||
|
||||
@Component({
|
||||
selector: 'superAdmin-consumers',
|
||||
templateUrl: './list.component.html',
|
||||
imports: [PageDataListComponent, ConsumerUserFormComponent],
|
||||
})
|
||||
export class ConsumersComponent extends AbstractList<IConsumerResponse> {
|
||||
private readonly service = inject(ConsumersService);
|
||||
private readonly router = inject(Router);
|
||||
|
||||
override setColumns(): void {
|
||||
this.columns = [
|
||||
{ field: 'id', header: 'شناسه' },
|
||||
{ field: 'fullname', header: 'نام' },
|
||||
{ field: 'mobile_number', header: 'شماره موبایل' },
|
||||
{ field: 'status', header: 'وضعیت' },
|
||||
{
|
||||
field: 'created_at',
|
||||
header: 'تاریخ ایجاد',
|
||||
type: 'date',
|
||||
},
|
||||
];
|
||||
}
|
||||
|
||||
override getDataRequest() {
|
||||
return this.service.getAll();
|
||||
}
|
||||
|
||||
toSinglePage(consumer: IConsumerResponse) {
|
||||
this.router.navigateByUrl(superAdminConsumersNamedRoutes.consumer.meta.pagePath!(consumer.id));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
export * from './list.component';
|
||||
@@ -0,0 +1 @@
|
||||
<superAdmin-consumer-poses-list [consumerId]="consumerId()" [businessId]="businessId()" [complexId]="complexId()" />
|
||||
@@ -0,0 +1,85 @@
|
||||
// import { CatalogRoleTagComponent } from '@/shared/catalog/roles';
|
||||
import { BreadcrumbService } from '@/core/services';
|
||||
import pageParamsUtils from '@/utils/page-params.utils';
|
||||
import { Component, computed, inject, signal } from '@angular/core';
|
||||
import { ActivatedRoute } from '@angular/router';
|
||||
import { ConsumerPosesComponent } from '../../components/poses/list.component';
|
||||
import { superAdminConsumersNamedRoutes } from '../../constants';
|
||||
import { superAdminConsumerBusinessActivitiesNamedRoutes } from '../../constants/routes/businessActivities';
|
||||
import { superAdminConsumerComplexesNamedRoutes } from '../../constants/routes/complexes';
|
||||
import { superAdminConsumerPosesNamedRoutes } from '../../constants/routes/poses';
|
||||
import { BusinessActivityStore } from '../../store/businessActivity.store';
|
||||
import { ComplexStore } from '../../store/complex.store';
|
||||
import { ConsumerStore } from '../../store/consumer.store';
|
||||
|
||||
@Component({
|
||||
selector: 'superAdmin-user-poses',
|
||||
templateUrl: './list.component.html',
|
||||
imports: [ConsumerPosesComponent],
|
||||
})
|
||||
export class SuperAdminUserPosesComponent {
|
||||
private readonly route = inject(ActivatedRoute);
|
||||
private readonly breadcrumbService = inject(BreadcrumbService);
|
||||
private readonly consumerStore = inject(ConsumerStore);
|
||||
private readonly businessStore = inject(BusinessActivityStore);
|
||||
private readonly complexStore = inject(ComplexStore);
|
||||
|
||||
pageParams = computed(() => pageParamsUtils(this.route));
|
||||
consumerId = signal<string>(this.pageParams()['consumerId']);
|
||||
businessId = signal<string>(this.pageParams()['businessActivityId']);
|
||||
complexId = signal<string>(this.pageParams()['complexId']);
|
||||
|
||||
ngOnInit() {
|
||||
this.setBreadcrumb();
|
||||
}
|
||||
|
||||
setBreadcrumb() {
|
||||
this.breadcrumbService.setItems([
|
||||
{
|
||||
...superAdminConsumersNamedRoutes.consumers.meta,
|
||||
routerLink: superAdminConsumersNamedRoutes.consumers.meta.pagePath!(),
|
||||
},
|
||||
{
|
||||
title: this.consumerStore.entity()?.fullname,
|
||||
routerLink: superAdminConsumersNamedRoutes.consumer.meta.pagePath!(this.consumerId()),
|
||||
},
|
||||
{
|
||||
title: superAdminConsumerBusinessActivitiesNamedRoutes.businessActivities.meta.title,
|
||||
routerLink: superAdminConsumerBusinessActivitiesNamedRoutes.businessActivities.meta
|
||||
.pagePath!(this.consumerId()),
|
||||
},
|
||||
{
|
||||
title: this.businessStore.entity()?.name,
|
||||
routerLink: superAdminConsumerBusinessActivitiesNamedRoutes.businessActivity.meta.pagePath!(
|
||||
this.consumerId(),
|
||||
this.businessId(),
|
||||
),
|
||||
},
|
||||
|
||||
{
|
||||
title: superAdminConsumerComplexesNamedRoutes.complexes.meta.title,
|
||||
routerLink: superAdminConsumerComplexesNamedRoutes.complexes.meta.pagePath!(
|
||||
this.consumerId(),
|
||||
this.businessId(),
|
||||
),
|
||||
},
|
||||
{
|
||||
title: this.complexStore.entity()?.name,
|
||||
routerLink: superAdminConsumerComplexesNamedRoutes.complex.meta.pagePath!(
|
||||
this.consumerId(),
|
||||
this.businessId(),
|
||||
this.complexId(),
|
||||
),
|
||||
},
|
||||
|
||||
{
|
||||
title: superAdminConsumerPosesNamedRoutes.poses.meta.title,
|
||||
routerLink: superAdminConsumerPosesNamedRoutes.poses.meta.pagePath!(
|
||||
this.consumerId(),
|
||||
this.businessId(),
|
||||
this.complexId(),
|
||||
),
|
||||
},
|
||||
]);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
<div class="flex flex-col gap-6">
|
||||
<app-card-data cardTitle="اطلاعات پایانهی فروش" [editable]="true" [(editMode)]="editMode">
|
||||
<div class="flex flex-col gap-4">
|
||||
<div class="grid grid-cols-3 gap-4 items-center">
|
||||
<app-key-value label="عنوان" [value]="pos()?.name" />
|
||||
</div>
|
||||
</div>
|
||||
</app-card-data>
|
||||
|
||||
<superAdmin-consumer-pos-form
|
||||
[(visible)]="editMode"
|
||||
[editMode]="true"
|
||||
[consumerId]="consumerId()"
|
||||
[businessActivityId]="businessId()"
|
||||
[complexId]="complexId()"
|
||||
[posId]="posId()"
|
||||
[initialValues]="pos() || undefined"
|
||||
(onSubmit)="getData()"
|
||||
/>
|
||||
</div>
|
||||
@@ -0,0 +1,111 @@
|
||||
import { BreadcrumbService } from '@/core/services';
|
||||
import { AppCardComponent, KeyValueComponent } from '@/shared/components';
|
||||
import pageParamsUtils from '@/utils/page-params.utils';
|
||||
import { Component, computed, effect, inject, signal } from '@angular/core';
|
||||
import { ActivatedRoute } from '@angular/router';
|
||||
import { ConsumerPosFormComponent } from '../../components/poses/form.component';
|
||||
import { superAdminConsumersNamedRoutes } from '../../constants';
|
||||
import { superAdminConsumerBusinessActivitiesNamedRoutes } from '../../constants/routes/businessActivities';
|
||||
import { superAdminConsumerComplexesNamedRoutes } from '../../constants/routes/complexes';
|
||||
import { superAdminConsumerPosesNamedRoutes } from '../../constants/routes/poses';
|
||||
import { BusinessActivityStore } from '../../store/businessActivity.store';
|
||||
import { ComplexStore } from '../../store/complex.store';
|
||||
import { ConsumerStore } from '../../store/consumer.store';
|
||||
import { PosStore } from '../../store/pos.store';
|
||||
|
||||
@Component({
|
||||
selector: 'superAdmin-user-pos',
|
||||
templateUrl: './single.component.html',
|
||||
imports: [AppCardComponent, KeyValueComponent, ConsumerPosFormComponent],
|
||||
})
|
||||
export class SuperAdminUserPosComponent {
|
||||
private readonly consumerStore = inject(ConsumerStore);
|
||||
private readonly businessStore = inject(BusinessActivityStore);
|
||||
private readonly complexStore = inject(ComplexStore);
|
||||
private readonly store = inject(PosStore);
|
||||
private readonly route = inject(ActivatedRoute);
|
||||
private readonly breadcrumbService = inject(BreadcrumbService);
|
||||
|
||||
pageParams = computed(() => pageParamsUtils(this.route));
|
||||
|
||||
readonly consumerId = signal<string>(this.pageParams()['consumerId']!);
|
||||
readonly businessId = signal<string>(this.pageParams()['businessActivityId']!);
|
||||
readonly complexId = signal<string>(this.pageParams()['complexId']!);
|
||||
readonly posId = signal<string>(this.pageParams()['posId']!);
|
||||
editMode = signal<boolean>(false);
|
||||
|
||||
constructor() {
|
||||
effect(() => {
|
||||
if (this.pos()?.id) {
|
||||
this.setBreadcrumb();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
readonly loading = computed(() => this.store.loading());
|
||||
readonly pos = computed(() => this.store.entity());
|
||||
|
||||
getData() {
|
||||
this.store.getData(this.businessId(), this.complexId(), this.posId());
|
||||
}
|
||||
|
||||
setBreadcrumb() {
|
||||
this.breadcrumbService.setItems([
|
||||
{
|
||||
...superAdminConsumersNamedRoutes.consumers.meta,
|
||||
routerLink: superAdminConsumersNamedRoutes.consumers.meta.pagePath!(),
|
||||
},
|
||||
{
|
||||
title: this.consumerStore.entity()?.fullname,
|
||||
routerLink: superAdminConsumersNamedRoutes.consumer.meta.pagePath!(this.consumerId()),
|
||||
},
|
||||
{
|
||||
title: superAdminConsumerBusinessActivitiesNamedRoutes.businessActivities.meta.title,
|
||||
routerLink: superAdminConsumerBusinessActivitiesNamedRoutes.businessActivities.meta
|
||||
.pagePath!(this.consumerId()),
|
||||
},
|
||||
{
|
||||
title: this.businessStore.entity()?.name,
|
||||
routerLink: superAdminConsumerBusinessActivitiesNamedRoutes.businessActivity.meta.pagePath!(
|
||||
this.consumerId(),
|
||||
this.businessId(),
|
||||
),
|
||||
},
|
||||
|
||||
{
|
||||
title: superAdminConsumerComplexesNamedRoutes.complexes.meta.title,
|
||||
routerLink: superAdminConsumerComplexesNamedRoutes.complexes.meta.pagePath!(
|
||||
this.consumerId(),
|
||||
this.businessId(),
|
||||
),
|
||||
},
|
||||
{
|
||||
title: this.complexStore.entity()?.name,
|
||||
routerLink: superAdminConsumerComplexesNamedRoutes.complex.meta.pagePath!(
|
||||
this.consumerId(),
|
||||
this.businessId(),
|
||||
this.complexId(),
|
||||
),
|
||||
},
|
||||
|
||||
{
|
||||
title: superAdminConsumerPosesNamedRoutes.poses.meta.title,
|
||||
routerLink: superAdminConsumerPosesNamedRoutes.poses.meta.pagePath!(
|
||||
this.consumerId(),
|
||||
this.businessId(),
|
||||
this.complexId(),
|
||||
),
|
||||
},
|
||||
|
||||
{
|
||||
title: this.pos()?.name,
|
||||
routerLink: superAdminConsumerPosesNamedRoutes.pos.meta.pagePath!(
|
||||
this.consumerId(),
|
||||
this.businessId(),
|
||||
this.complexId(),
|
||||
this.posId(),
|
||||
),
|
||||
},
|
||||
]);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
<div class="flex flex-col gap-6">
|
||||
<app-card-data cardTitle="اطلاعات مشتری" [editable]="true" [(editMode)]="editMode">
|
||||
<ng-template #moreAction> </ng-template>
|
||||
<div class="flex flex-col gap-4">
|
||||
<div class="grid grid-cols-3 gap-4 items-center">
|
||||
<app-key-value label="نام مشتری" [value]="consumer()?.fullname" />
|
||||
<app-key-value label="شماره موبایل" [value]="consumer()?.mobile_number" />
|
||||
<app-key-value label="وضعیت" [value]="consumer()?.status" />
|
||||
</div>
|
||||
</div>
|
||||
</app-card-data>
|
||||
|
||||
<superAdmin-consumer-account-list [consumerId]="consumerId()" />
|
||||
<superAdmin-consumer-businessActivities-list [consumerId]="consumerId()" />
|
||||
|
||||
<superAdmin-consumer-form
|
||||
[(visible)]="editMode"
|
||||
[editMode]="true"
|
||||
[consumerId]="consumerId()"
|
||||
[initialValues]="consumer() || undefined"
|
||||
(onSubmit)="getData()"
|
||||
/>
|
||||
</div>
|
||||
@@ -0,0 +1,57 @@
|
||||
import { BreadcrumbService } from '@/core/services';
|
||||
import { AppCardComponent, KeyValueComponent } from '@/shared/components';
|
||||
import { Component, computed, effect, inject, signal } from '@angular/core';
|
||||
import { ActivatedRoute } from '@angular/router';
|
||||
import { ConsumerAccountListComponent } from '../components/accounts/list.component';
|
||||
import { ConsumerBusinessActivitiesComponent } from '../components/businessActivities/list.component';
|
||||
import { ConsumerUserFormComponent } from '../components/form.component';
|
||||
import { superAdminConsumersNamedRoutes } from '../constants';
|
||||
import { ConsumerStore } from '../store/consumer.store';
|
||||
|
||||
@Component({
|
||||
selector: 'consumer-user',
|
||||
templateUrl: './single.component.html',
|
||||
imports: [
|
||||
AppCardComponent,
|
||||
KeyValueComponent,
|
||||
ConsumerUserFormComponent,
|
||||
ConsumerAccountListComponent,
|
||||
ConsumerBusinessActivitiesComponent,
|
||||
],
|
||||
})
|
||||
export class ConsumerComponent {
|
||||
private readonly store = inject(ConsumerStore);
|
||||
private readonly route = inject(ActivatedRoute);
|
||||
private readonly breadcrumbService = inject(BreadcrumbService);
|
||||
|
||||
readonly consumerId = signal<string>(this.route.snapshot.paramMap.get('consumerId')!);
|
||||
editMode = signal<boolean>(false);
|
||||
|
||||
readonly loading = computed(() => this.store.loading());
|
||||
readonly consumer = computed(() => this.store.entity());
|
||||
|
||||
constructor() {
|
||||
effect(() => {
|
||||
if (this.consumer()?.id) {
|
||||
this.setBreadcrumb();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
getData() {
|
||||
this.store.getData(this.consumerId());
|
||||
}
|
||||
|
||||
setBreadcrumb() {
|
||||
this.breadcrumbService.setItems([
|
||||
{
|
||||
...superAdminConsumersNamedRoutes.consumers.meta,
|
||||
routerLink: superAdminConsumersNamedRoutes.consumers.meta.pagePath!(),
|
||||
},
|
||||
{
|
||||
title: this.consumer()?.fullname,
|
||||
routerLink: superAdminConsumersNamedRoutes.consumer.meta.pagePath!(this.consumerId()),
|
||||
},
|
||||
]);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user