diff --git a/angular.json b/angular.json index 554bd8f..4f90536 100644 --- a/angular.json +++ b/angular.json @@ -116,6 +116,10 @@ } ], "fileReplacements": [ + { + "replace": "src/assets/images/logo.png", + "with": "src/tenants/tis/assets/images/logo.png" + }, { "replace": "src/environments/environment.ts", "with": "src/environments/environment.tis.ts" @@ -127,6 +131,10 @@ { "replace": "src/app/branding/branding.config.ts", "with": "src/tenants/tis/branding.config.ts" + }, + { + "replace": "src/app/domains/partner", + "with": "" } ], "outputHashing": "all", diff --git a/docker-compose.yml b/docker-compose.yml index 836e833..32f56a0 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -10,7 +10,7 @@ services: DIST_DIR: tis ports: - - "8090:8090" + - "8091:8090" restart: unless-stopped app_default: @@ -19,7 +19,7 @@ services: dockerfile: Dockerfile args: TENANT: default - DIST_DIR: default + DIST_DIR: production ports: - "8090:8090" diff --git a/ngsw-config.json b/ngsw-config.json index 3a7b4a6..5325311 100644 --- a/ngsw-config.json +++ b/ngsw-config.json @@ -2,7 +2,7 @@ "$schema": "./node_modules/@angular/service-worker/config/schema.json", "appData": { "appVersion": "0.0.0", - "buildDate": "2026-05-03T16:17:50.761Z" + "buildDate": "2026-05-04T18:58:47.135Z" }, "assetGroups": [ { diff --git a/public-tis/branding/logo.png b/public-tis/branding/logo.png index f82b4c3..15ca24c 100644 Binary files a/public-tis/branding/logo.png and b/public-tis/branding/logo.png differ diff --git a/public-tis/favicon.ico b/public-tis/favicon.ico index 04bc49e..80cbdb2 100644 Binary files a/public-tis/favicon.ico and b/public-tis/favicon.ico differ diff --git a/public-tis/favicon/apple-touch-icon.png b/public-tis/favicon/apple-touch-icon.png index 107a390..ff5cddf 100644 Binary files a/public-tis/favicon/apple-touch-icon.png and b/public-tis/favicon/apple-touch-icon.png differ diff --git a/public-tis/favicon/favicon-96x96.png b/public-tis/favicon/favicon-96x96.png index 9cc83f1..ac6abe9 100644 Binary files a/public-tis/favicon/favicon-96x96.png and b/public-tis/favicon/favicon-96x96.png differ diff --git a/public-tis/favicon/favicon.ico b/public-tis/favicon/favicon.ico index 04bc49e..80cbdb2 100644 Binary files a/public-tis/favicon/favicon.ico and b/public-tis/favicon/favicon.ico differ diff --git a/public-tis/favicon/favicon.svg b/public-tis/favicon/favicon.svg index 9d8298e..5545738 100644 --- a/public-tis/favicon/favicon.svg +++ b/public-tis/favicon/favicon.svg @@ -1,3 +1 @@ - \ No newline at end of file +RealFaviconGeneratorhttps://realfavicongenerator.net \ No newline at end of file diff --git a/public-tis/favicon/site.webmanifest b/public-tis/favicon/site.webmanifest index 2ac3423..adb661e 100644 --- a/public-tis/favicon/site.webmanifest +++ b/public-tis/favicon/site.webmanifest @@ -1,7 +1,6 @@ { "background_color": "#ffffff", "display": "standalone", - "id": "/", "icons": [ { "purpose": "maskable", @@ -16,9 +15,10 @@ "type": "image/png" } ], - "name": "PSP A - مدیریت صورت‌حساب‌های مالیاتی", - "short_name": "PSP A", - "start_url": "/", + "id": "/", + "name": "تیس - مدیریت صورت‌حساب‌های مالیاتی", "scope": "/", + "short_name": "تیس", + "start_url": "/", "theme_color": "#ffffff" } diff --git a/public-tis/favicon/web-app-manifest-192x192.png b/public-tis/favicon/web-app-manifest-192x192.png index 56bb138..ef50400 100644 Binary files a/public-tis/favicon/web-app-manifest-192x192.png and b/public-tis/favicon/web-app-manifest-192x192.png differ diff --git a/public-tis/favicon/web-app-manifest-512x512.png b/public-tis/favicon/web-app-manifest-512x512.png index f82b4c3..15c5f61 100644 Binary files a/public-tis/favicon/web-app-manifest-512x512.png and b/public-tis/favicon/web-app-manifest-512x512.png differ diff --git a/src/app.config.ts b/src/app.config.ts index 6188ccb..cc109a0 100644 --- a/src/app.config.ts +++ b/src/app.config.ts @@ -53,7 +53,7 @@ export const appConfig: ApplicationConfig = { emptySearchMessage: 'هیچ موردی برای نمایش وجود ندارد', accept: 'تایید', reject: 'رد کردن', - cancel: 'لغو', + cancel: 'انصراف', noFileChosenMessage: 'هیچ فایلی انتخاب نشده است', fileChosenMessage: 'انتخاب فایل', selectionMessage: '{0} مورد انتخاب شده است', diff --git a/src/app/domains/consumer/components/invoices/shared-saleInvoice.component.html b/src/app/domains/consumer/components/invoices/shared-saleInvoice.component.html index 1b54768..125952e 100644 --- a/src/app/domains/consumer/components/invoices/shared-saleInvoice.component.html +++ b/src/app/domains/consumer/components/invoices/shared-saleInvoice.component.html @@ -44,7 +44,7 @@
- +
diff --git a/src/app/domains/consumer/components/invoices/shared-saleInvoice.component.ts b/src/app/domains/consumer/components/invoices/shared-saleInvoice.component.ts index dbac37d..6dfa1b2 100644 --- a/src/app/domains/consumer/components/invoices/shared-saleInvoice.component.ts +++ b/src/app/domains/consumer/components/invoices/shared-saleInvoice.component.ts @@ -68,11 +68,6 @@ export class ConsumerSaleInvoiceSharedComponent { }; columns: IColumn[] = [ - { - field: '', - header: '', - type: 'index', - }, { field: 'name', header: 'عنوان', diff --git a/src/app/domains/consumer/constants/menuItems.const.ts b/src/app/domains/consumer/constants/menuItems.const.ts index 2d6eed7..2df966b 100644 --- a/src/app/domains/consumer/constants/menuItems.const.ts +++ b/src/app/domains/consumer/constants/menuItems.const.ts @@ -18,7 +18,7 @@ export const CONSUMER_MENU_ITEMS = [ routerLink: ['/consumer/poses'], }, { - label: 'لیست فاکتورها', + label: 'فاکتورها', icon: 'pi pi-fw pi-home', routerLink: ['/consumer/sale_invoices'], }, diff --git a/src/app/domains/consumer/modules/businessActivities/components/complexes/form.component.ts b/src/app/domains/consumer/modules/businessActivities/components/complexes/form.component.ts index faf551b..07f9fde 100644 --- a/src/app/domains/consumer/modules/businessActivities/components/complexes/form.component.ts +++ b/src/app/domains/consumer/modules/businessActivities/components/complexes/form.component.ts @@ -1,17 +1,13 @@ // import { CatalogRolesComponent } from '@/shared/catalog/roles'; import { AbstractFormDialog } from '@/shared/abstractClasses'; -import { - NameComponent, - AddressComponent, - BranchCodeComponent, -} from '@/shared/components'; -import { fieldControl } from '@/shared/constants/fields'; +import { AddressComponent, BranchCodeComponent, NameComponent } from '@/shared/components'; +import { SharedDialogComponent } from '@/shared/components/dialog/dialog.component'; import { FormFooterActionsComponent } from '@/shared/components/formFooterActions/form-footer-actions.component'; +import { fieldControl } from '@/shared/constants/fields'; import { Component, inject, Input } from '@angular/core'; import { ReactiveFormsModule } from '@angular/forms'; import { IComplexRequest, IComplexResponse } from '../../models'; import { ConsumerComplexesService } from '../../services/complexes.service'; -import { SharedDialogComponent } from '@/shared/components/dialog/dialog.component'; @Component({ selector: 'consumer-complex-form', @@ -45,7 +41,7 @@ export class ConsumerComplexFormComponent extends AbstractFormDialog< form = this.initForm(); get preparedTitle() { - return `${this.editMode ? 'ویرایش' : 'ایجاد'} شعبه`; + return `${this.editMode ? 'ویرایش' : 'افزودن'} شعبه`; } override ngOnChanges(): void { diff --git a/src/app/domains/consumer/modules/businessActivities/components/complexes/list.component.html b/src/app/domains/consumer/modules/businessActivities/components/complexes/list.component.html index 181a497..6982292 100644 --- a/src/app/domains/consumer/modules/businessActivities/components/complexes/list.component.html +++ b/src/app/domains/consumer/modules/businessActivities/components/complexes/list.component.html @@ -1,11 +1,11 @@ m.SuperAdminUserPosComponent), // // @ts-ignore // meta: { - // title: 'پایانه‌ی فروش', + // title: 'پایانه فروش', // pagePath: (businessId: string, complexId: string, goodId: string) => // `${baseUrl(businessId)}/${goodId}`, // }, diff --git a/src/app/domains/consumer/modules/businessActivities/constants/routes/poses.ts b/src/app/domains/consumer/modules/businessActivities/constants/routes/poses.ts index ef7b1d2..3bcf34c 100644 --- a/src/app/domains/consumer/modules/businessActivities/constants/routes/poses.ts +++ b/src/app/domains/consumer/modules/businessActivities/constants/routes/poses.ts @@ -23,7 +23,7 @@ export const consumerPosesNamedRoutes: NamedRoutes = { import('../../views/poses/single.component').then((m) => m.ConsumerComplexPosPageComponent), // @ts-ignore meta: { - title: 'پایانه‌ی فروش', + title: 'پایانه فروش', pagePath: (businessId: string, complexId: string, posId: string) => `${baseUrl(businessId, complexId)}/${posId}`, }, diff --git a/src/app/domains/consumer/modules/businessActivities/views/single.component.html b/src/app/domains/consumer/modules/businessActivities/views/single.component.html index 49ab86b..8a7278f 100644 --- a/src/app/domains/consumer/modules/businessActivities/views/single.component.html +++ b/src/app/domains/consumer/modules/businessActivities/views/single.component.html @@ -1,7 +1,7 @@
- مدیریت کالاها + مدیریت کالاها
diff --git a/src/app/domains/consumer/modules/customers/components/list.component.html b/src/app/domains/consumer/modules/customers/components/list.component.html index b6a8d08..f42902b 100644 --- a/src/app/domains/consumer/modules/customers/components/list.component.html +++ b/src/app/domains/consumer/modules/customers/components/list.component.html @@ -1,7 +1,7 @@ = { import('../../views/single.component').then((m) => m.ConsumerPosPageComponent), // @ts-ignore meta: { - title: 'پایانه‌ی فروش', + title: 'پایانه فروش', pagePath: (posId: string) => `${baseUrl}/${posId}`, }, }, diff --git a/src/app/domains/consumer/modules/saleInvoices/components/list.component.html b/src/app/domains/consumer/modules/saleInvoices/components/list.component.html index f0dfa43..4b6bdb4 100644 --- a/src/app/domains/consumer/modules/saleInvoices/components/list.component.html +++ b/src/app/domains/consumer/modules/saleInvoices/components/list.component.html @@ -1,5 +1,5 @@ فعالیت اقتصادی - فروشگاه - پایانه‌ی فروشگاهی + شعبه + پایانه فروشگاهی diff --git a/src/app/domains/partner/modules/consumers/components/businessActivities/form-dialog.component.ts b/src/app/domains/partner/modules/consumers/components/businessActivities/form-dialog.component.ts index 731c02c..be60d15 100644 --- a/src/app/domains/partner/modules/consumers/components/businessActivities/form-dialog.component.ts +++ b/src/app/domains/partner/modules/consumers/components/businessActivities/form-dialog.component.ts @@ -1,8 +1,8 @@ import { AbstractDialog } from '@/shared/abstractClasses/abstract-dialog'; +import { SharedDialogComponent } from '@/shared/components/dialog/dialog.component'; import { Component, EventEmitter, Input, Output } from '@angular/core'; import { IBusinessActivityResponse } from '../../models'; import { ConsumerBusinessActivitiesFormComponent } from './form.component'; -import { SharedDialogComponent } from '@/shared/components/dialog/dialog.component'; @Component({ selector: 'partner-consumer-businessActivities-form', @@ -18,7 +18,7 @@ export class ConsumerBusinessActivitiesFormDialogComponent extends AbstractDialo @Input() businessActivityId!: string; get preparedTitle() { - return `${this.editMode ? 'ویرایش' : 'ایجاد'} فعالیت اقتصادی`; + return `${this.editMode ? 'ویرایش' : 'افزودن'} فعالیت اقتصادی`; } onFormSubmit(response: IBusinessActivityResponse) { diff --git a/src/app/domains/partner/modules/consumers/components/businessActivities/form.component.html b/src/app/domains/partner/modules/consumers/components/businessActivities/form.component.html index eb89044..6d156cb 100644 --- a/src/app/domains/partner/modules/consumers/components/businessActivities/form.component.html +++ b/src/app/domains/partner/modules/consumers/components/businessActivities/form.component.html @@ -1,13 +1,13 @@
- - - - - + + + + + @if (!editMode) { اطلاعات لایسنس - + } diff --git a/src/app/domains/partner/modules/consumers/components/businessActivities/form.component.ts b/src/app/domains/partner/modules/consumers/components/businessActivities/form.component.ts index 91834e8..03b6dba 100644 --- a/src/app/domains/partner/modules/consumers/components/businessActivities/form.component.ts +++ b/src/app/domains/partner/modules/consumers/components/businessActivities/form.component.ts @@ -73,6 +73,7 @@ export class ConsumerBusinessActivitiesFormComponent extends AbstractForm< submitForm() { const formValue = this.form.value as IBusinessActivityRequest; + formValue.economic_code = String(formValue.economic_code); if (this.editMode) { return this.service.update(this.consumerId, this.businessActivityId, formValue); } diff --git a/src/app/domains/partner/modules/consumers/components/businessActivities/list.component.html b/src/app/domains/partner/modules/consumers/components/businessActivities/list.component.html index e7f9169..b07873a 100644 --- a/src/app/domains/partner/modules/consumers/components/businessActivities/list.component.html +++ b/src/app/domains/partner/modules/consumers/components/businessActivities/list.component.html @@ -1,10 +1,10 @@ - فروشگاه - پایانه‌ی روشگاهی + شعبه + پایانه‌ فروشگاهی diff --git a/src/app/domains/partner/modules/consumers/components/complexes/form-dialog.component.ts b/src/app/domains/partner/modules/consumers/components/complexes/form-dialog.component.ts index 69fcfc8..0f68c96 100644 --- a/src/app/domains/partner/modules/consumers/components/complexes/form-dialog.component.ts +++ b/src/app/domains/partner/modules/consumers/components/complexes/form-dialog.component.ts @@ -1,8 +1,8 @@ import { AbstractDialog } from '@/shared/abstractClasses/abstract-dialog'; +import { SharedDialogComponent } from '@/shared/components/dialog/dialog.component'; import { Component, EventEmitter, Input, Output } from '@angular/core'; import { IComplexResponse } from '../../models'; import { ConsumerComplexFormContentComponent } from './form.component'; -import { SharedDialogComponent } from '@/shared/components/dialog/dialog.component'; @Component({ selector: 'partner-consumer-complex-form', @@ -19,7 +19,7 @@ export class ConsumerComplexFormDialogComponent extends AbstractDialog { @Input() complexId!: string; get preparedTitle() { - return `${this.editMode ? 'ویرایش' : 'ایجاد'} شعبه`; + return `${this.editMode ? 'ویرایش' : 'افزودن'} شعبه`; } onFormSubmit(response: IComplexResponse) { diff --git a/src/app/domains/partner/modules/consumers/components/complexes/form.component.ts b/src/app/domains/partner/modules/consumers/components/complexes/form.component.ts index f5d7421..8cb66ee 100644 --- a/src/app/domains/partner/modules/consumers/components/complexes/form.component.ts +++ b/src/app/domains/partner/modules/consumers/components/complexes/form.component.ts @@ -1,12 +1,8 @@ // import { CatalogRolesComponent } from '@/shared/catalog/roles'; import { AbstractForm } from '@/shared/abstractClasses'; -import { - NameComponent, - AddressComponent, - BranchCodeComponent, -} from '@/shared/components'; -import { fieldControl } from '@/shared/constants/fields'; +import { AddressComponent, BranchCodeComponent, NameComponent } from '@/shared/components'; import { FormFooterActionsComponent } from '@/shared/components/formFooterActions/form-footer-actions.component'; +import { fieldControl } from '@/shared/constants/fields'; import { Component, inject, Input } from '@angular/core'; import { ReactiveFormsModule } from '@angular/forms'; import { IComplexRequest, IComplexResponse } from '../../models'; @@ -44,7 +40,7 @@ export class ConsumerComplexFormContentComponent extends AbstractForm< form = this.initForm(); get preparedTitle() { - return `${this.editMode ? 'ویرایش' : 'ایجاد'} شعبه`; + return `${this.editMode ? 'ویرایش' : 'افزودن'} شعبه`; } override ngOnChanges(): void { diff --git a/src/app/domains/partner/modules/consumers/components/complexes/list.component.html b/src/app/domains/partner/modules/consumers/components/complexes/list.component.html index 7bf03d4..0efe3bb 100644 --- a/src/app/domains/partner/modules/consumers/components/complexes/list.component.html +++ b/src/app/domains/partner/modules/consumers/components/complexes/list.component.html @@ -1,10 +1,10 @@ اطلاعات اولیه فعالیت اقتصادی - فروشگاه - پایانه‌ی فروشگاهی + شعبه + پایانه فروشگاهی diff --git a/src/app/domains/partner/modules/consumers/components/form-dialog.component.ts b/src/app/domains/partner/modules/consumers/components/form-dialog.component.ts index c2aeb95..9fd1a96 100644 --- a/src/app/domains/partner/modules/consumers/components/form-dialog.component.ts +++ b/src/app/domains/partner/modules/consumers/components/form-dialog.component.ts @@ -1,8 +1,8 @@ import { AbstractDialog } from '@/shared/abstractClasses/abstract-dialog'; +import { SharedDialogComponent } from '@/shared/components/dialog/dialog.component'; import { Component, EventEmitter, Input, Output } from '@angular/core'; import { IPartnerConsumerResponse } from '../models'; import { ConsumerUserFormContentComponent } from './form.component'; -import { SharedDialogComponent } from '@/shared/components/dialog/dialog.component'; @Component({ selector: 'partner-consumer-form', @@ -17,7 +17,7 @@ export class ConsumerUserFormDialogComponent extends AbstractDialog { @Input() consumerId?: string; get preparedTitle() { - return `${this.editMode ? 'ویرایش' : 'ایجاد'} مشتری`; + return `${this.editMode ? 'ویرایش' : 'افزودن'} مشتری`; } onFormSubmit(response: IPartnerConsumerResponse) { diff --git a/src/app/domains/partner/modules/consumers/components/licenses/form.component.ts b/src/app/domains/partner/modules/consumers/components/licenses/form.component.ts index dc564c2..66f678b 100644 --- a/src/app/domains/partner/modules/consumers/components/licenses/form.component.ts +++ b/src/app/domains/partner/modules/consumers/components/licenses/form.component.ts @@ -1,11 +1,11 @@ import { AbstractFormDialog } from '@/shared/abstractClasses'; +import { SharedDialogComponent } from '@/shared/components/dialog/dialog.component'; import { FormFooterActionsComponent } from '@/shared/components/formFooterActions/form-footer-actions.component'; import { UikitFlatpickrJalaliComponent } from '@/uikit'; import { Component, computed, inject, Input } from '@angular/core'; import { ReactiveFormsModule } from '@angular/forms'; import { ILicenseRequest, ILicenseResponse } from '../../models'; import { LicensesService } from '../../services/licenses.service'; -import { SharedDialogComponent } from '@/shared/components/dialog/dialog.component'; @Component({ selector: 'partner-consumer-license-form', @@ -25,7 +25,7 @@ export class ConsumerLicenseFormComponent extends AbstractFormDialog< @Input() licenseId?: string; private service = inject(LicensesService); - preparedTitle = computed(() => `${this.editMode ? 'ویرایش' : 'ایجاد'} لایسنس`); + preparedTitle = computed(() => `${this.editMode ? 'ویرایش' : 'افزودن'} لایسنس`); initForm = () => { const form = this.fb.group({ diff --git a/src/app/domains/partner/modules/consumers/components/poses/form-dialog.component.ts b/src/app/domains/partner/modules/consumers/components/poses/form-dialog.component.ts index 1edcca5..bddcdcf 100644 --- a/src/app/domains/partner/modules/consumers/components/poses/form-dialog.component.ts +++ b/src/app/domains/partner/modules/consumers/components/poses/form-dialog.component.ts @@ -1,8 +1,8 @@ import { AbstractDialog } from '@/shared/abstractClasses/abstract-dialog'; +import { SharedDialogComponent } from '@/shared/components/dialog/dialog.component'; import { Component, EventEmitter, Input, Output } from '@angular/core'; import { IPosResponse } from '../../models'; import { ConsumerPosFormContentComponent } from './form.component'; -import { SharedDialogComponent } from '@/shared/components/dialog/dialog.component'; @Component({ selector: 'partner-consumer-pos-form', @@ -20,7 +20,7 @@ export class ConsumerPosFormDialogComponent extends AbstractDialog { @Input() posId!: string; get preparedTitle() { - return `${this.editMode ? 'ویرایش' : 'ایجاد'} پایانه فروش`; + return `${this.editMode ? 'ویرایش' : 'افزودن'} پایانه فروش`; } onFormSubmit(response: IPosResponse) { diff --git a/src/app/domains/partner/modules/consumers/components/poses/form.component.ts b/src/app/domains/partner/modules/consumers/components/poses/form.component.ts index 36596ae..511fb87 100644 --- a/src/app/domains/partner/modules/consumers/components/poses/form.component.ts +++ b/src/app/domains/partner/modules/consumers/components/poses/form.component.ts @@ -2,16 +2,16 @@ import { MustMatch } from '@/core/validators'; import { AbstractForm } from '@/shared/abstractClasses'; import { - NameComponent, - SharedPasswordInputComponent, DeviceIdComponent, + NameComponent, + PosTypeComponent, ProviderIdComponent, SerialNumberComponent, - PosTypeComponent, + SharedPasswordInputComponent, UsernameComponent, } from '@/shared/components'; -import { fieldControl } from '@/shared/constants/fields'; import { FormFooterActionsComponent } from '@/shared/components/formFooterActions/form-footer-actions.component'; +import { fieldControl } from '@/shared/constants/fields'; import { Component, inject, Input } from '@angular/core'; import { ReactiveFormsModule, Validators } from '@angular/forms'; import { Divider } from 'primeng/divider'; @@ -122,7 +122,7 @@ export class ConsumerPosFormContentComponent extends AbstractForm = { import('../../views/poses/single.component').then((m) => m.PartnerUserPosComponent), // @ts-ignore meta: { - title: 'پایانه‌ی فروش', + title: 'پایانه فروش', pagePath: (consumerId: string, businessId: string, complexId: string, posId: string) => `${baseUrl(consumerId, businessId, complexId)}/${posId}`, }, diff --git a/src/app/domains/partner/modules/consumers/views/businessActivities/single.component.html b/src/app/domains/partner/modules/consumers/views/businessActivities/single.component.html index dca5370..d4ad6c2 100644 --- a/src/app/domains/partner/modules/consumers/views/businessActivities/single.component.html +++ b/src/app/domains/partner/modules/consumers/views/businessActivities/single.component.html @@ -1,7 +1,7 @@
- +
diff --git a/src/app/domains/partner/modules/consumers/views/list.component.html b/src/app/domains/partner/modules/consumers/views/list.component.html index 6f2d189..135ee51 100644 --- a/src/app/domains/partner/modules/consumers/views/list.component.html +++ b/src/app/domains/partner/modules/consumers/views/list.component.html @@ -1,10 +1,10 @@ - +
+ + +
@if (loading()) { diff --git a/src/app/domains/pos/layouts/layout.component.ts b/src/app/domains/pos/layouts/layout.component.ts index b147cb2..b638b76 100644 --- a/src/app/domains/pos/layouts/layout.component.ts +++ b/src/app/domains/pos/layouts/layout.component.ts @@ -14,6 +14,7 @@ import { RouterOutlet } from '@angular/router'; import { MenuItem } from 'primeng/api'; import { Button, ButtonDirective } from 'primeng/button'; import { Card } from 'primeng/card'; +import { Menu } from 'primeng/menu'; import images from 'src/assets/images'; import { PosInfoStore, PosProfileStore } from '../store'; import { PosChooseCardsComponent } from './choose-pos.component'; @@ -30,6 +31,7 @@ import { PosMainMenuSidebarComponent } from './mainMenuSidebar/main-menu-sidebar PosChooseCardsComponent, Button, PosMainMenuSidebarComponent, + Menu, ], }) export class PosLayoutComponent implements AfterViewInit { diff --git a/src/app/domains/superAdmin/modules/consumers/components/accounts/list.component.html b/src/app/domains/superAdmin/modules/consumers/components/accounts/list.component.html index e6375a6..736de9f 100644 --- a/src/app/domains/superAdmin/modules/consumers/components/accounts/list.component.html +++ b/src/app/domains/superAdmin/modules/consumers/components/accounts/list.component.html @@ -1,15 +1,10 @@ diff --git a/src/app/domains/superAdmin/modules/consumers/components/accounts/list.component.ts b/src/app/domains/superAdmin/modules/consumers/components/accounts/list.component.ts index 499d962..a54766d 100644 --- a/src/app/domains/superAdmin/modules/consumers/components/accounts/list.component.ts +++ b/src/app/domains/superAdmin/modules/consumers/components/accounts/list.component.ts @@ -33,7 +33,7 @@ export class ConsumerAccountListComponent extends AbstractList `${item.pos.name} (${item.pos.complex.name} - ${item.pos.complex.business_activity.name})`, }, diff --git a/src/app/domains/superAdmin/modules/consumers/components/businessActivities/form.component.ts b/src/app/domains/superAdmin/modules/consumers/components/businessActivities/form.component.ts index e2cac76..1873ed8 100644 --- a/src/app/domains/superAdmin/modules/consumers/components/businessActivities/form.component.ts +++ b/src/app/domains/superAdmin/modules/consumers/components/businessActivities/form.component.ts @@ -52,7 +52,7 @@ export class ConsumerBusinessActivitiesFormComponent extends AbstractFormDialog< form = this.initForm(); get preparedTitle() { - return `${this.editMode ? 'ویرایش' : 'ایجاد'} فعالیت اقتصادی`; + return `${this.editMode ? 'ویرایش' : 'افزودن'} فعالیت اقتصادی`; } override ngOnChanges(): void { diff --git a/src/app/domains/superAdmin/modules/consumers/components/businessActivities/list.component.html b/src/app/domains/superAdmin/modules/consumers/components/businessActivities/list.component.html index 656ef30..1ea2bd4 100644 --- a/src/app/domains/superAdmin/modules/consumers/components/businessActivities/list.component.html +++ b/src/app/domains/superAdmin/modules/consumers/components/businessActivities/list.component.html @@ -1,17 +1,10 @@ diff --git a/src/app/domains/superAdmin/modules/consumers/components/complexes/form.component.ts b/src/app/domains/superAdmin/modules/consumers/components/complexes/form.component.ts index 42c11be..95cc2b6 100644 --- a/src/app/domains/superAdmin/modules/consumers/components/complexes/form.component.ts +++ b/src/app/domains/superAdmin/modules/consumers/components/complexes/form.component.ts @@ -1,17 +1,13 @@ // import { CatalogRolesComponent } from '@/shared/catalog/roles'; import { AbstractFormDialog } from '@/shared/abstractClasses'; -import { - NameComponent, - AddressComponent, - BranchCodeComponent, -} from '@/shared/components'; -import { fieldControl } from '@/shared/constants/fields'; +import { AddressComponent, BranchCodeComponent, NameComponent } from '@/shared/components'; +import { SharedDialogComponent } from '@/shared/components/dialog/dialog.component'; import { FormFooterActionsComponent } from '@/shared/components/formFooterActions/form-footer-actions.component'; +import { fieldControl } from '@/shared/constants/fields'; import { Component, inject, Input } from '@angular/core'; import { ReactiveFormsModule } from '@angular/forms'; import { IComplexRequest, IComplexResponse } from '../../models'; import { AdminComplexesService } from '../../services/complexes.service'; -import { SharedDialogComponent } from '@/shared/components/dialog/dialog.component'; @Component({ selector: 'superAdmin-consumer-complex-form', @@ -46,7 +42,7 @@ export class ConsumerComplexFormComponent extends AbstractFormDialog< form = this.initForm(); get preparedTitle() { - return `${this.editMode ? 'ویرایش' : 'ایجاد'} شعبه`; + return `${this.editMode ? 'ویرایش' : 'افزودن'} شعبه`; } override ngOnChanges(): void { diff --git a/src/app/domains/superAdmin/modules/consumers/components/complexes/list.component.html b/src/app/domains/superAdmin/modules/consumers/components/complexes/list.component.html index cf55f3b..b305dda 100644 --- a/src/app/domains/superAdmin/modules/consumers/components/complexes/list.component.html +++ b/src/app/domains/superAdmin/modules/consumers/components/complexes/list.component.html @@ -1,17 +1,10 @@ diff --git a/src/app/domains/superAdmin/modules/consumers/components/form.component.ts b/src/app/domains/superAdmin/modules/consumers/components/form.component.ts index 12f078f..daaf493 100644 --- a/src/app/domains/superAdmin/modules/consumers/components/form.component.ts +++ b/src/app/domains/superAdmin/modules/consumers/components/form.component.ts @@ -1,9 +1,9 @@ import { MustMatch } from '@/core/validators'; import { AbstractFormDialog } from '@/shared/abstractClasses'; import { SharedPasswordInputComponent, UsernameComponent } from '@/shared/components'; -import { fieldControl } from '@/shared/constants/fields'; import { SharedDialogComponent } from '@/shared/components/dialog/dialog.component'; import { FormFooterActionsComponent } from '@/shared/components/formFooterActions/form-footer-actions.component'; +import { fieldControl } from '@/shared/constants/fields'; import { Component, computed, inject, Input } from '@angular/core'; import { ReactiveFormsModule, Validators } from '@angular/forms'; import { Divider } from 'primeng/divider'; @@ -29,7 +29,7 @@ export class ConsumerUserFormComponent extends AbstractFormDialog< @Input() consumerId?: string; private service = inject(ConsumersService); - preparedTitle = computed(() => `${this.editMode ? 'ویرایش' : 'ایجاد'} مشتری`); + preparedTitle = computed(() => `${this.editMode ? 'ویرایش' : 'افزودن'} مشتری`); initForm = () => { const form = this.fb.group({ diff --git a/src/app/domains/superAdmin/modules/consumers/components/licenses/form.component.ts b/src/app/domains/superAdmin/modules/consumers/components/licenses/form.component.ts index c457ce8..44e5ae1 100644 --- a/src/app/domains/superAdmin/modules/consumers/components/licenses/form.component.ts +++ b/src/app/domains/superAdmin/modules/consumers/components/licenses/form.component.ts @@ -1,4 +1,5 @@ import { AbstractFormDialog } from '@/shared/abstractClasses'; +import { SharedDialogComponent } from '@/shared/components/dialog/dialog.component'; import { FormFooterActionsComponent } from '@/shared/components/formFooterActions/form-footer-actions.component'; import { UikitFlatpickrJalaliComponent } from '@/uikit'; import { Component, computed, inject, Input } from '@angular/core'; @@ -6,7 +7,6 @@ import { ReactiveFormsModule } from '@angular/forms'; import { PartnerSelectComponent } from '../../../partners/shared/select.component'; import { ILicenseRequest, ILicenseResponse } from '../../models'; import { LicensesService } from '../../services/licenses.service'; -import { SharedDialogComponent } from '@/shared/components/dialog/dialog.component'; @Component({ selector: 'superAdmin-consumer-license-form', @@ -27,7 +27,7 @@ export class ConsumerLicenseFormComponent extends AbstractFormDialog< @Input() licenseId?: string; private service = inject(LicensesService); - preparedTitle = computed(() => `${this.editMode ? 'ویرایش' : 'ایجاد'} لایسنس`); + preparedTitle = computed(() => `${this.editMode ? 'ویرایش' : 'افزودن'} لایسنس`); initForm = () => { const form = this.fb.group({ diff --git a/src/app/domains/superAdmin/modules/consumers/components/poses/form.component.ts b/src/app/domains/superAdmin/modules/consumers/components/poses/form.component.ts index 9ebc490..e2b1ee8 100644 --- a/src/app/domains/superAdmin/modules/consumers/components/poses/form.component.ts +++ b/src/app/domains/superAdmin/modules/consumers/components/poses/form.component.ts @@ -1,19 +1,19 @@ // import { CatalogRolesComponent } from '@/shared/catalog/roles'; import { AbstractFormDialog } from '@/shared/abstractClasses'; import { - NameComponent, DeviceIdComponent, + NameComponent, + PosTypeComponent, ProviderIdComponent, SerialNumberComponent, - PosTypeComponent, } from '@/shared/components'; -import { fieldControl } from '@/shared/constants/fields'; +import { SharedDialogComponent } from '@/shared/components/dialog/dialog.component'; import { FormFooterActionsComponent } from '@/shared/components/formFooterActions/form-footer-actions.component'; +import { fieldControl } from '@/shared/constants/fields'; import { Component, inject, Input } from '@angular/core'; -import { ReactiveFormsModule, Validators } from '@angular/forms'; +import { ReactiveFormsModule } from '@angular/forms'; import { IPosRequest, IPosResponse } from '../../models'; import { AdminPosesService } from '../../services/poses.service'; -import { SharedDialogComponent } from '@/shared/components/dialog/dialog.component'; @Component({ selector: 'superAdmin-consumer-pos-form', @@ -77,7 +77,7 @@ export class ConsumerPosFormComponent extends AbstractFormDialog diff --git a/src/app/domains/superAdmin/modules/consumers/constants/routes/poses.ts b/src/app/domains/superAdmin/modules/consumers/constants/routes/poses.ts index c658e7d..66b4d1e 100644 --- a/src/app/domains/superAdmin/modules/consumers/constants/routes/poses.ts +++ b/src/app/domains/superAdmin/modules/consumers/constants/routes/poses.ts @@ -24,7 +24,7 @@ export const superAdminConsumerPosesNamedRoutes: NamedRoutes = import('../../views/poses/single.component').then((m) => m.SuperAdminUserPosComponent), // @ts-ignore meta: { - title: 'پایانه‌ی فروش', + title: 'پایانه فروش', pagePath: (consumerId: string, businessId: string, complexId: string, posId: string) => `${baseUrl(consumerId, businessId, complexId)}/${posId}`, }, diff --git a/src/app/domains/superAdmin/modules/consumers/views/businessActivities/single.component.html b/src/app/domains/superAdmin/modules/consumers/views/businessActivities/single.component.html index 9361ee3..c456f43 100644 --- a/src/app/domains/superAdmin/modules/consumers/views/businessActivities/single.component.html +++ b/src/app/domains/superAdmin/modules/consumers/views/businessActivities/single.component.html @@ -1,5 +1,5 @@
- +
diff --git a/src/app/domains/superAdmin/modules/consumers/views/complexes/single.component.html b/src/app/domains/superAdmin/modules/consumers/views/complexes/single.component.html index 99bb679..6993e92 100644 --- a/src/app/domains/superAdmin/modules/consumers/views/complexes/single.component.html +++ b/src/app/domains/superAdmin/modules/consumers/views/complexes/single.component.html @@ -1,5 +1,5 @@
- +
diff --git a/src/app/domains/superAdmin/modules/consumers/views/list.component.html b/src/app/domains/superAdmin/modules/consumers/views/list.component.html index 05df5d0..180216d 100644 --- a/src/app/domains/superAdmin/modules/consumers/views/list.component.html +++ b/src/app/domains/superAdmin/modules/consumers/views/list.component.html @@ -1,7 +1,7 @@ - +
diff --git a/src/app/domains/superAdmin/modules/consumers/views/single.component.html b/src/app/domains/superAdmin/modules/consumers/views/single.component.html index ad07b8b..89c638f 100644 --- a/src/app/domains/superAdmin/modules/consumers/views/single.component.html +++ b/src/app/domains/superAdmin/modules/consumers/views/single.component.html @@ -1,5 +1,5 @@
- +
diff --git a/src/app/domains/superAdmin/modules/deviceBrands/components/form.component.ts b/src/app/domains/superAdmin/modules/deviceBrands/components/form.component.ts index 9aff03d..bdaeffb 100644 --- a/src/app/domains/superAdmin/modules/deviceBrands/components/form.component.ts +++ b/src/app/domains/superAdmin/modules/deviceBrands/components/form.component.ts @@ -1,11 +1,11 @@ import { AbstractFormDialog } from '@/shared/abstractClasses'; import { InputComponent } from '@/shared/components'; +import { SharedDialogComponent } from '@/shared/components/dialog/dialog.component'; import { FormFooterActionsComponent } from '@/shared/components/formFooterActions/form-footer-actions.component'; import { Component, computed, inject, Input } from '@angular/core'; import { ReactiveFormsModule, Validators } from '@angular/forms'; import { IDeviceBrandRequest, IDeviceBrandResponse } from '../models'; import { DeviceBrandsService } from '../services/main.service'; -import { SharedDialogComponent } from '@/shared/components/dialog/dialog.component'; @Component({ selector: 'deviceBrand-form', @@ -26,7 +26,7 @@ export class DeviceBrandFormComponent extends AbstractFormDialog< }), }); - preparedTitle = computed(() => `${this.editMode ? 'ویرایش' : 'ایجاد'} برند دستگاه`); + preparedTitle = computed(() => `${this.editMode ? 'ویرایش' : 'افزودن'} برند دستگاه`); override ngOnChanges() { this.form.patchValue(this.initialValues ?? {}); diff --git a/src/app/domains/superAdmin/modules/deviceBrands/views/list.component.html b/src/app/domains/superAdmin/modules/deviceBrands/views/list.component.html index 75ac28c..ac4963a 100644 --- a/src/app/domains/superAdmin/modules/deviceBrands/views/list.component.html +++ b/src/app/domains/superAdmin/modules/deviceBrands/views/list.component.html @@ -1,10 +1,10 @@ `${this.editMode ? 'ویرایش' : 'ایجاد'} شریک تجاری`); + preparedTitle = computed(() => `${this.editMode ? 'ویرایش' : 'افزودن'} شریک تجاری`); changeFile(payload: onSelectFileArgs) { this.logo.set(payload.file); diff --git a/src/app/domains/superAdmin/modules/partners/views/list.component.html b/src/app/domains/superAdmin/modules/partners/views/list.component.html index 2a754b6..b4094ff 100644 --- a/src/app/domains/superAdmin/modules/partners/views/list.component.html +++ b/src/app/domains/superAdmin/modules/partners/views/list.component.html @@ -1,10 +1,10 @@ `${this.editMode ? 'ویرایش' : 'ایجاد'} ارایه‌دهنده`); + preparedTitle = computed(() => `${this.editMode ? 'ویرایش' : 'افزودن'} ارایه‌دهنده`); override ngOnChanges() { this.form.patchValue(this.initialValues ?? {}); diff --git a/src/app/domains/superAdmin/modules/providers/views/list.component.html b/src/app/domains/superAdmin/modules/providers/views/list.component.html index 39bb7d6..ddd25e1 100644 --- a/src/app/domains/superAdmin/modules/providers/views/list.component.html +++ b/src/app/domains/superAdmin/modules/providers/views/list.component.html @@ -1,10 +1,10 @@ - - + > }
diff --git a/src/app/shared/components/formFooterActions/form-footer-actions.component.ts b/src/app/shared/components/formFooterActions/form-footer-actions.component.ts index 8e845c0..b041bd9 100644 --- a/src/app/shared/components/formFooterActions/form-footer-actions.component.ts +++ b/src/app/shared/components/formFooterActions/form-footer-actions.component.ts @@ -8,7 +8,7 @@ import { Button } from 'primeng/button'; }) export class FormFooterActionsComponent { @Input() submitLabel = 'تایید'; - @Input() cancelLabel = 'لغو'; + @Input() cancelLabel = 'انصراف'; @Input() loading = false; @Input() disabled = false; @Output() onSubmit = new EventEmitter(); diff --git a/src/app/shared/components/pageDataList/page-data-list-table-view.component.html b/src/app/shared/components/pageDataList/page-data-list-table-view.component.html index cb3cbf2..256b7f3 100644 --- a/src/app/shared/components/pageDataList/page-data-list-table-view.component.html +++ b/src/app/shared/components/pageDataList/page-data-list-table-view.component.html @@ -20,6 +20,9 @@ + @if (showIndex) { + + } @for (col of columns; track col.header) { + + @if (showIndex) { + {{ i * (currentPage || 1) + 1 }} + } + @for (col of columns; track col.field) { - @if (col.type === "index") { - {{ i * (currentPage || 1) + 1 }} - } @else if (col.type === "thumbnail") { + @if (col.type === "thumbnail") {
{ @Input() expandColumns?: Maybe = null; @Input() dataKey?: string = 'items'; @Input() showPaginator?: boolean; + @Input() showIndex?: boolean = true; @ContentChild('filter', { static: true }) filter!: TemplateRef | null; @ContentChild('paginator', { static: true }) paginator!: TemplateRef | null; diff --git a/src/app/shared/components/table-action-row.component.html b/src/app/shared/components/table-action-row.component.html index 062d519..9129ee3 100644 --- a/src/app/shared/components/table-action-row.component.html +++ b/src/app/shared/components/table-action-row.component.html @@ -6,7 +6,7 @@ variant="outlined" severity="primary" (click)="edit.emit()" - title="ویرایش" + pTooltip="ویرایش" /> } @if (showDelete) { @@ -16,10 +16,10 @@ variant="outlined" severity="danger" (click)="delete.emit()" - title="حذف" + pTooltip="ویرایش" /> } @if (showDetails) { - + } diff --git a/src/app/shared/components/table-action-row.component.ts b/src/app/shared/components/table-action-row.component.ts index 6a3c6cb..839cde0 100644 --- a/src/app/shared/components/table-action-row.component.ts +++ b/src/app/shared/components/table-action-row.component.ts @@ -1,11 +1,12 @@ import { CommonModule } from '@angular/common'; import { Component, EventEmitter, Input, Output } from '@angular/core'; import { Button } from 'primeng/button'; +import { Tooltip } from 'primeng/tooltip'; @Component({ selector: '[table-action-row]', standalone: true, - imports: [CommonModule, Button], + imports: [CommonModule, Button, Tooltip], templateUrl: './table-action-row.component.html', }) export class TableActionRowComponent { diff --git a/src/app/uikit/select-field/select-field.component.ts b/src/app/uikit/select-field/select-field.component.ts index 79892ec..8ae7b53 100644 --- a/src/app/uikit/select-field/select-field.component.ts +++ b/src/app/uikit/select-field/select-field.component.ts @@ -27,7 +27,7 @@ // @Input() optionLabel: string = 'name'; // @Input() label!: string; // @Input() placeholder!: string; -// @Input() addCtaLabel: string = 'ایجاد مورد جدید'; +// @Input() addCtaLabel: string = 'ایجاد مورد'; // @Output() onChange = new EventEmitter>(); // @Output() onSetDefaultDataItem = new EventEmitter(); // } diff --git a/src/environments/environment.prod.ts b/src/environments/environment.prod.ts index f142156..ffd8250 100644 --- a/src/environments/environment.prod.ts +++ b/src/environments/environment.prod.ts @@ -1,8 +1,8 @@ // Development environment configuration export const environment = { production: false, - // apiBaseUrl: 'http://194.59.214.243:5002', - apiBaseUrl: 'http://192.168.128.73:5002', + apiBaseUrl: 'http://194.59.214.243:5002', + // apiBaseUrl: 'http://192.168.128.73:5002', host: 'localhost', port: 5001, enableLogging: false, diff --git a/src/environments/environment.tis.ts b/src/environments/environment.tis.ts index 8718ece..005ef5f 100644 --- a/src/environments/environment.tis.ts +++ b/src/environments/environment.tis.ts @@ -1,8 +1,8 @@ // TIS tenant environment configuration export const environment = { production: true, - // apiBaseUrl: 'http://194.59.214.243:5002', - apiBaseUrl: 'http://192.168.128.73:5002', + apiBaseUrl: 'http://194.59.214.243:5002', + // apiBaseUrl: 'http://192.168.128.73:5002', host: 'localhost', port: 5000, enableLogging: false, diff --git a/src/tenants/tis/assets/images/logo.png b/src/tenants/tis/assets/images/logo.png new file mode 100644 index 0000000..15ca24c Binary files /dev/null and b/src/tenants/tis/assets/images/logo.png differ diff --git a/tailwind.config.js b/tailwind.config.js new file mode 100644 index 0000000..cc27300 --- /dev/null +++ b/tailwind.config.js @@ -0,0 +1,4 @@ +/** @type {import('tailwindcss').Config} */ +module.exports = { + content: ['./src/**/*.{html,ts,scss,css}', './public/**/*.html'], +};