@amirjalili1374/ui-kit 1.2.0 → 1.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +11 -11
- package/package.json +3 -3
- package/src/assets/fonts/A Massir Spray.ttf +0 -0
- package/src/assets/fonts/BYekan.ttf +0 -0
- package/src/assets/fonts/BYekan.woff +0 -0
- package/src/assets/fonts/BYekan.woff2 +0 -0
- package/src/assets/fonts/Dima Shekasteh 2 Free.ttf +0 -0
- package/src/assets/fonts/Dima Shekasteh Free Regular.ttf +0 -0
- package/src/assets/fonts/IRANSansWeb.ts +0 -1
- package/src/assets/fonts/IRANSansWeb.ttf +0 -0
- package/src/assets/fonts/IRANSansXBlack.ttf +0 -0
- package/src/assets/fonts/IRANSansXBold.ttf +0 -0
- package/src/assets/fonts/IRANSansXDemiBold.ttf +0 -0
- package/src/assets/fonts/IRANSansXExtraBold.ttf +0 -0
- package/src/assets/fonts/IRANSansXLight.ttf +0 -0
- package/src/assets/fonts/IRANSansXMedium.ttf +0 -0
- package/src/assets/fonts/IRANSansXRegular.ttf +0 -0
- package/src/assets/fonts/IRANSansXThin.ttf +0 -0
- package/src/assets/fonts/IRANSansXUltraLight.ttf +0 -0
- package/src/assets/fonts/IranNastaliq.ttf +0 -0
- package/src/assets/fonts/Vazir-Medium-FD.ttf +0 -0
- package/src/assets/fonts/Vazir-Medium-FD.woff +0 -0
- package/src/assets/fonts/Vazir-Medium-FD.woff2 +0 -0
- package/src/assets/fonts/Vazir-Regular-FD.eot +0 -0
- package/src/assets/fonts/kalamehBold.woff +0 -0
- package/src/assets/fonts/kalamehBold.woff2 +0 -0
- package/src/assets/fonts/kalamehHeavy.woff +0 -0
- package/src/assets/fonts/kalamehHeavy.woff2 +0 -0
- package/src/assets/fonts/kalamehLight.woff +0 -0
- package/src/assets/fonts/kalamehLight.woff2 +0 -0
- package/src/assets/fonts/kalamehRegular.woff +0 -0
- package/src/assets/fonts/kalamehRegular.woff2 +0 -0
- package/src/assets/images/auth/social-google.svg +0 -6
- package/src/assets/images/favicon.svg +0 -18
- package/src/assets/images/icons/icon-card.svg +0 -5
- package/src/assets/images/logos/logo.svg +0 -12
- package/src/assets/images/logos/logolight.svg +0 -12
- package/src/assets/images/maintenance/img-error-bg.svg +0 -34
- package/src/assets/images/maintenance/img-error-blue.svg +0 -43
- package/src/assets/images/maintenance/img-error-purple.svg +0 -42
- package/src/assets/images/maintenance/img-error-text.svg +0 -27
- package/src/assets/images/profile/profile-user-account-svgrepo-com.svg +0 -12
- package/src/assets/images/profile/user-round.svg +0 -15
- package/src/assets/images/template/template-01.ts +0 -1
- package/src/assets/images/vectors/colorized-bg.svg +0 -40
- package/src/assets/images/vectors/logo_stroke_1px.svg +0 -26
- package/src/assets/images/vectors/logo_stroke_2px.svg +0 -26
- package/src/assets/scss/components/_approval-sections.scss +0 -75
- package/src/assets/styles/fonts.scss +0 -77
- package/src/components/Loading.vue +0 -88
- package/src/components/common/AppStepper.vue +0 -139
- package/src/components/shared/BaseBreadcrumb.vue +0 -55
- package/src/components/shared/BaseIcon.vue +0 -27
- package/src/components/shared/ConfirmDialog.vue +0 -72
- package/src/components/shared/CustomAutocomplete.vue +0 -306
- package/src/components/shared/CustomDataTable.vue +0 -1859
- package/src/components/shared/DescriptionInput.vue +0 -204
- package/src/components/shared/DownloadButton.vue +0 -169
- package/src/components/shared/MoneyInput.vue +0 -105
- package/src/components/shared/PdfViewer.vue +0 -645
- package/src/components/shared/ShamsiDatePicker.vue +0 -444
- package/src/components/shared/UiChildCard.vue +0 -17
- package/src/components/shared/UiParentCard.vue +0 -21
- package/src/components/shared/VPriceTextField.vue +0 -136
- package/src/composables/useDataTable.ts +0 -152
- package/src/composables/usePermissions.ts +0 -90
- package/src/composables/useRouteGuard.ts +0 -36
- package/src/composables/useTableActions.ts +0 -207
- package/src/composables/useTableHeaders.ts +0 -172
- package/src/composables/useTableSelection.ts +0 -201
- package/src/constants/enums/approval.ts +0 -13
- package/src/constants/enums/booleanEnum.ts +0 -11
- package/src/constants/enums/contractType.ts +0 -11
- package/src/constants/enums/lcProductType.ts +0 -21
- package/src/constants/enums/repaymentType.ts +0 -11
- package/src/directives/v-digit-limit.ts +0 -15
- package/src/directives/v-permission.ts +0 -31
- package/src/features/index.ts +0 -48
- package/src/index.ts +0 -119
- package/src/plugins/key-clock.ts +0 -39
- package/src/plugins/mdi-icon.ts +0 -31
- package/src/plugins/vuetify.ts +0 -74
- package/src/scss/_override.scss +0 -72
- package/src/scss/_variables.scss +0 -124
- package/src/scss/components/_VButtons.scss +0 -23
- package/src/scss/components/_VCard.scss +0 -20
- package/src/scss/components/_VCustomDataTable.scss +0 -282
- package/src/scss/components/_VField.scss +0 -9
- package/src/scss/components/_VInput.scss +0 -17
- package/src/scss/components/_VNavigationDrawer.scss +0 -3
- package/src/scss/components/_VShadow.scss +0 -3
- package/src/scss/components/_VStepper.scss +0 -235
- package/src/scss/components/_VTabs.scss +0 -11
- package/src/scss/components/_VTextField.scss +0 -40
- package/src/scss/components/_approval.scss +0 -128
- package/src/scss/layout/_container.scss +0 -147
- package/src/scss/layout/_sidebar.scss +0 -138
- package/src/scss/layout/_topbar.scss +0 -39
- package/src/scss/pages/_dashboards.scss +0 -97
- package/src/scss/style.scss +0 -21
- package/src/services/apiService.ts +0 -59
- package/src/services/axiosInstance.ts +0 -14
- package/src/stores/customizer.ts +0 -55
- package/src/stores/permissions.ts +0 -237
- package/src/theme/darkThemes/DarkModernTheme.ts +0 -54
- package/src/theme/darkThemes/DarkOrangeTheme.ts +0 -53
- package/src/theme/darkThemes/DarkPurpleTheme.ts +0 -54
- package/src/theme/darkThemes/DarkRedTheme.ts +0 -54
- package/src/theme/darkThemes/DarkSilverTheme.ts +0 -53
- package/src/theme/darkThemes/DarkSteelTealGreen.ts +0 -53
- package/src/theme/darkThemes/DarkTealTheme.ts +0 -52
- package/src/theme/lightThemes/ModernTheme.ts +0 -55
- package/src/theme/lightThemes/OrangeTheme.ts +0 -54
- package/src/theme/lightThemes/PurpleTheme.ts +0 -54
- package/src/theme/lightThemes/RedTheme.ts +0 -55
- package/src/theme/lightThemes/SilverTheme.ts +0 -55
- package/src/theme/lightThemes/SteelTealGreen.ts +0 -54
- package/src/theme/lightThemes/TealTheme.ts +0 -54
- package/src/types/approval/approvalType.ts +0 -473
- package/src/types/cartable/cartableTypes.ts +0 -169
- package/src/types/componentTypes/DataTableType.ts +0 -14
- package/src/types/componentTypes/DataTableTypes.ts +0 -130
- package/src/types/enums/global.ts +0 -267
- package/src/types/jalaali-js.d.ts +0 -6
- package/src/types/models/Base.ts +0 -4
- package/src/types/models/env.d.ts +0 -10
- package/src/types/models/person.ts +0 -13
- package/src/types/models/userInfo.ts +0 -29
- package/src/types/preApproval/preApprovalTypes.ts +0 -67
- package/src/types/shims-tabler-icons.d.ts +0 -58
- package/src/types/themeTypes/ThemeType.ts +0 -47
- package/src/types/vue-apexcharts.d.ts +0 -1
- package/src/types/vue3-print-nb.d.ts +0 -1
- package/src/types/vue_tabler_icon.d.ts +0 -10
- package/src/utils/NationalCodeValidator.ts +0 -33
- package/src/utils/date-convertor.ts +0 -40
- package/src/utils/greetingUtils.ts +0 -97
- package/src/utils/helpers/fake-backend.ts +0 -68
- package/src/utils/helpers/fetch-wrapper.ts +0 -86
- package/src/utils/number-formatter.ts +0 -33
- package/src/validators/nationalCodeRule.ts +0 -6
|
@@ -1,130 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Enhanced type definitions for CustomDataTable component
|
|
3
|
-
* Replaces all 'any' types with proper TypeScript types
|
|
4
|
-
*/
|
|
5
|
-
import type { Ref } from 'vue';
|
|
6
|
-
|
|
7
|
-
export interface TableItem {
|
|
8
|
-
id?: string | number | null;
|
|
9
|
-
[key: string]: unknown;
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
export interface Header {
|
|
13
|
-
title: string;
|
|
14
|
-
key: string;
|
|
15
|
-
align?: 'start' | 'center' | 'end';
|
|
16
|
-
sortable?: boolean;
|
|
17
|
-
editable?: boolean;
|
|
18
|
-
filterable?: boolean;
|
|
19
|
-
width?: number;
|
|
20
|
-
hidden?: boolean;
|
|
21
|
-
defaultValue?: unknown;
|
|
22
|
-
isDate?: boolean;
|
|
23
|
-
style?: Record<string, string>;
|
|
24
|
-
translate?: boolean;
|
|
25
|
-
options?: Array<{ title: string; value: string | number | boolean }>;
|
|
26
|
-
conditionalStyle?: (value: unknown, item: TableItem) => Record<string, string>;
|
|
27
|
-
nestedKey?: string;
|
|
28
|
-
customRenderer?: (item: TableItem) => string | number | boolean;
|
|
29
|
-
formatter?: (value: unknown, item: TableItem) => string;
|
|
30
|
-
type?: string;
|
|
31
|
-
autocompleteItems?: any[] | Ref<any[] | undefined> | ((context?: Record<string, any>) => any[] | undefined);
|
|
32
|
-
autocompleteItemTitle?: string;
|
|
33
|
-
autocompleteItemValue?: string;
|
|
34
|
-
autocompleteReturnObject?: boolean;
|
|
35
|
-
autocompleteMultiple?: boolean;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
export interface CustomAction {
|
|
39
|
-
title: string;
|
|
40
|
-
component: any; // Vue component - keeping as any for Vue component types
|
|
41
|
-
condition?: (item: TableItem) => boolean;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
export interface CustomButtonAction {
|
|
45
|
-
label: string;
|
|
46
|
-
color?: string;
|
|
47
|
-
onClick: (item: TableItem) => void;
|
|
48
|
-
disabled?: boolean;
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
export interface PaginationConfig {
|
|
52
|
-
page: number;
|
|
53
|
-
size: number;
|
|
54
|
-
totalElements: number;
|
|
55
|
-
totalPages: number;
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
export interface TableRoutes {
|
|
59
|
-
[key: string]: string;
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
export interface TableQueryParams {
|
|
63
|
-
[key: string]: unknown;
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
export interface DownloadLink {
|
|
67
|
-
[key: string]: string;
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
export interface DataTableProps {
|
|
71
|
-
apiResource: string;
|
|
72
|
-
headers: Header[];
|
|
73
|
-
actions?: ('create' | 'edit' | 'delete' | 'view')[];
|
|
74
|
-
routes?: TableRoutes | ((item: TableItem) => TableRoutes);
|
|
75
|
-
downloadLink?: DownloadLink;
|
|
76
|
-
formComponent?: any; // Vue component
|
|
77
|
-
customActions?: CustomAction[];
|
|
78
|
-
customButtons?: CustomButtonAction[];
|
|
79
|
-
customButtonsFn?: (item: TableItem) => CustomButtonAction[];
|
|
80
|
-
filterComponent?: any; // Vue component
|
|
81
|
-
autoFetch?: boolean;
|
|
82
|
-
queryParams?: TableQueryParams;
|
|
83
|
-
showPagination?: boolean;
|
|
84
|
-
height: number;
|
|
85
|
-
pagination?: PaginationConfig | boolean;
|
|
86
|
-
showRefreshButton?: boolean;
|
|
87
|
-
title?: string;
|
|
88
|
-
selectable?: boolean;
|
|
89
|
-
multiSelect?: boolean;
|
|
90
|
-
selectedItems?: TableItem[];
|
|
91
|
-
uniqueKey?: string | ((item: TableItem) => string | number);
|
|
92
|
-
pageSize?: number;
|
|
93
|
-
groupBy?: string | ((item: TableItem) => string | number);
|
|
94
|
-
groupHeaderTemplate?: (groupKey: string | number, groupItems: TableItem[]) => string;
|
|
95
|
-
defaultExpanded?: boolean;
|
|
96
|
-
defaultSelected?: string;
|
|
97
|
-
dateWithTimezone?: boolean;
|
|
98
|
-
bulkMode?: boolean;
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
export interface ApiResponse<T = TableItem> {
|
|
102
|
-
data: {
|
|
103
|
-
content: T[];
|
|
104
|
-
page: {
|
|
105
|
-
totalElements: number;
|
|
106
|
-
totalPages: number;
|
|
107
|
-
number: number;
|
|
108
|
-
size: number;
|
|
109
|
-
};
|
|
110
|
-
};
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
export interface FilterModel {
|
|
114
|
-
[key: string]: unknown;
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
export interface SortConfig {
|
|
118
|
-
key: string;
|
|
119
|
-
order: 'asc' | 'desc';
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
export interface GroupedItems {
|
|
123
|
-
[key: string]: TableItem[];
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
export interface SelectionState {
|
|
127
|
-
selectedItems: TableItem[];
|
|
128
|
-
isAllSelected: boolean;
|
|
129
|
-
isIndeterminate: boolean;
|
|
130
|
-
}
|
|
@@ -1,267 +0,0 @@
|
|
|
1
|
-
// boolean status
|
|
2
|
-
export const Global = {
|
|
3
|
-
TRUE: true,
|
|
4
|
-
FALSE: false
|
|
5
|
-
} as const;
|
|
6
|
-
|
|
7
|
-
export type BooleanStatus = (typeof Global)[keyof typeof Global];
|
|
8
|
-
|
|
9
|
-
export const BooleanEnumOptions = [
|
|
10
|
-
{ title: '✅', value: Global.TRUE },
|
|
11
|
-
{ title: '❌', value: Global.FALSE }
|
|
12
|
-
];
|
|
13
|
-
|
|
14
|
-
// request type status
|
|
15
|
-
export const requestTypeStatusEnum = [
|
|
16
|
-
{ title: 'LOAN', value: 'LOAN' },
|
|
17
|
-
{ title: 'LC', value: 'LC' },
|
|
18
|
-
{ title: 'OBLIGATION', value: 'OBLIGATION' }
|
|
19
|
-
] as const;
|
|
20
|
-
|
|
21
|
-
export type requestTypeStatus = typeof requestTypeStatusEnum[number]['value'];
|
|
22
|
-
|
|
23
|
-
export const RequestTypeStatusOptions = [
|
|
24
|
-
{ title: 'تسهیلات', value: 'LOAN' },
|
|
25
|
-
{ title: 'اعتبار اسنادی', value: 'LC' },
|
|
26
|
-
{ title: 'ضمانت نامه', value: 'OBLIGATION' }
|
|
27
|
-
];
|
|
28
|
-
|
|
29
|
-
// relation type
|
|
30
|
-
|
|
31
|
-
export const RelationTypeEnum = {
|
|
32
|
-
ASKER: 'ASKER',
|
|
33
|
-
GUARANTOR: 'GUARANTOR'
|
|
34
|
-
} as const;
|
|
35
|
-
|
|
36
|
-
export type RelationType = (typeof RelationTypeEnum)[keyof typeof RelationTypeEnum];
|
|
37
|
-
|
|
38
|
-
export const RelationTypeOptions = [
|
|
39
|
-
{ title: 'متقاضی', value: RelationTypeEnum.ASKER },
|
|
40
|
-
{ title: 'ضامن', value: RelationTypeEnum.GUARANTOR },
|
|
41
|
-
];
|
|
42
|
-
|
|
43
|
-
// action type
|
|
44
|
-
|
|
45
|
-
export const ActionTypeEnum = {
|
|
46
|
-
APPROVED:'APPROVED',
|
|
47
|
-
REJECTED:'REJECTED',
|
|
48
|
-
REFERRED:'REFERRED',
|
|
49
|
-
CORRECTED:'CORRECTED',
|
|
50
|
-
CREATED:'CREATED',
|
|
51
|
-
CLOSED:'CLOSED',
|
|
52
|
-
PASSED:'PASSED',
|
|
53
|
-
REFERRED_FOR_SIGNED:'REFERRED_FOR_SIGNED',
|
|
54
|
-
} as const;
|
|
55
|
-
|
|
56
|
-
export type ActionType = (typeof ActionTypeEnum)[keyof typeof ActionTypeEnum];
|
|
57
|
-
|
|
58
|
-
export const ActionTypeOptions = [
|
|
59
|
-
{ title: 'تایید', value: ActionTypeEnum.APPROVED },
|
|
60
|
-
{ title: 'رد', value: ActionTypeEnum.REJECTED },
|
|
61
|
-
{ title: 'ارجاع', value: ActionTypeEnum.REFERRED },
|
|
62
|
-
{ title: 'اصلاح', value: ActionTypeEnum.CORRECTED },
|
|
63
|
-
{ title: 'ایجاد', value: ActionTypeEnum.CREATED },
|
|
64
|
-
{ title: 'اتمام', value: ActionTypeEnum.CLOSED },
|
|
65
|
-
{ title: 'ارسال برای ابلاغ', value: ActionTypeEnum.PASSED },
|
|
66
|
-
{ title: 'ارجاع برای امضا', value: ActionTypeEnum.REFERRED_FOR_SIGNED },
|
|
67
|
-
];
|
|
68
|
-
|
|
69
|
-
// loan request status
|
|
70
|
-
export const LoanRequestStatusEnum = {
|
|
71
|
-
TEMPORARY_REGISTRATION:'TEMPORARY_REGISTRATION',
|
|
72
|
-
APPROVED:'APPROVED',
|
|
73
|
-
REJECTED:'REJECTED',
|
|
74
|
-
AWAITING_START_CARTABLE:'AWAITING_START_CARTABLE',
|
|
75
|
-
CORRECT_FROM_REGION:'CORRECT_FROM_REGION',
|
|
76
|
-
CORRECT_FROM_BRANCH:'CORRECT_FROM_BRANCH',
|
|
77
|
-
} as const;
|
|
78
|
-
|
|
79
|
-
export type LoanRequestStatus = (typeof LoanRequestStatusEnum)[keyof typeof LoanRequestStatusEnum];
|
|
80
|
-
|
|
81
|
-
export const LoanRequestStatusOptions = [
|
|
82
|
-
{ title: 'ثبت موقت', value: LoanRequestStatusEnum.TEMPORARY_REGISTRATION },
|
|
83
|
-
{ title: 'تایید شده', value: LoanRequestStatusEnum.APPROVED },
|
|
84
|
-
{ title: 'رد شده', value: LoanRequestStatusEnum.REJECTED },
|
|
85
|
-
{ title: 'انتظار برای شروع فرایند', value: LoanRequestStatusEnum.AWAITING_START_CARTABLE },
|
|
86
|
-
{ title: 'اصلاح از منطقه', value: LoanRequestStatusEnum.CORRECT_FROM_REGION },
|
|
87
|
-
{ title: 'اصلاح از شعبه', value: LoanRequestStatusEnum.CORRECT_FROM_BRANCH },
|
|
88
|
-
];
|
|
89
|
-
|
|
90
|
-
// file type
|
|
91
|
-
|
|
92
|
-
export const FileTypeEnum = {
|
|
93
|
-
NATIONAL_CARD:'NATIONAL_CARD',
|
|
94
|
-
IDENTITY_CERTIFICATE:'IDENTITY_CERTIFICATE',
|
|
95
|
-
DECLARATION:'DECLARATION',
|
|
96
|
-
BUSINESS_LICENSE:'BUSINESS_LICENSE',
|
|
97
|
-
EMPLOYMENT_CERTIFICATE:'EMPLOYMENT_CERTIFICATE',
|
|
98
|
-
DEDUCTION_FROM_SALARY:'DEDUCTION_FROM_SALARY',
|
|
99
|
-
PROOF_IF_RESIDENCE:'PROOF_IF_RESIDENCE',
|
|
100
|
-
CONFIRM_POST_OFFICE:'CONFIRM_POST_OFFICE',
|
|
101
|
-
} as const;
|
|
102
|
-
|
|
103
|
-
export type fileType = (typeof FileTypeEnum)[keyof typeof FileTypeEnum];
|
|
104
|
-
|
|
105
|
-
export const FileTypeOptions = [
|
|
106
|
-
{ title: 'کارت ملی', value: FileTypeEnum.NATIONAL_CARD },
|
|
107
|
-
{ title: 'شناسنامه', value: FileTypeEnum.IDENTITY_CERTIFICATE },
|
|
108
|
-
{ title: 'اساسنامه حقوقی', value: FileTypeEnum.DECLARATION },
|
|
109
|
-
{ title: 'جواز کسب', value: FileTypeEnum.BUSINESS_LICENSE },
|
|
110
|
-
{ title: 'گواهی اشتغال به کار', value: FileTypeEnum.EMPLOYMENT_CERTIFICATE },
|
|
111
|
-
{ title: 'کسر ار حقوق', value: FileTypeEnum.DEDUCTION_FROM_SALARY },
|
|
112
|
-
{ title: 'مدارک محل سکونت', value: FileTypeEnum.PROOF_IF_RESIDENCE },
|
|
113
|
-
{ title: 'تاییده پست', value: FileTypeEnum.CONFIRM_POST_OFFICE },
|
|
114
|
-
];
|
|
115
|
-
|
|
116
|
-
// credit type
|
|
117
|
-
|
|
118
|
-
export const CreditTypeEnum = {
|
|
119
|
-
SIGHT_PAYMENT: 'SIGHT_PAYMENT',
|
|
120
|
-
DEFERRED_PAYMENT: 'DEFERRED_PAYMENT'
|
|
121
|
-
} as const;
|
|
122
|
-
|
|
123
|
-
export type CreditType = (typeof CreditTypeEnum)[keyof typeof CreditTypeEnum];
|
|
124
|
-
|
|
125
|
-
export const CreditTypeOptions = [
|
|
126
|
-
{ title: 'دیداری', value: CreditTypeEnum.SIGHT_PAYMENT },
|
|
127
|
-
{ title: 'مدت دار', value: CreditTypeEnum.DEFERRED_PAYMENT },
|
|
128
|
-
];
|
|
129
|
-
|
|
130
|
-
// lc type
|
|
131
|
-
|
|
132
|
-
export const LcTypeEnum = {
|
|
133
|
-
EXPORT: 'EXPORT',
|
|
134
|
-
IMPORT: 'IMPORT'
|
|
135
|
-
} as const;
|
|
136
|
-
|
|
137
|
-
export type LcType = (typeof LcTypeEnum)[keyof typeof LcTypeEnum];
|
|
138
|
-
|
|
139
|
-
export const LcTypeOptions = [
|
|
140
|
-
{ title: 'داخلی', value: LcTypeEnum.EXPORT },
|
|
141
|
-
{ title: 'وارداتی', value: LcTypeEnum.IMPORT },
|
|
142
|
-
];
|
|
143
|
-
|
|
144
|
-
// lc type
|
|
145
|
-
export const CartableStatusTypeEnum = {
|
|
146
|
-
IN_PROGRESS: 'IN_PROGRESS',
|
|
147
|
-
ACCEPTED: 'ACCEPTED',
|
|
148
|
-
REJECTED: 'REJECTED',
|
|
149
|
-
CLOSED: 'CLOSED'
|
|
150
|
-
} as const;
|
|
151
|
-
|
|
152
|
-
export type CartableStatusType = (typeof CartableStatusTypeEnum)[keyof typeof CartableStatusTypeEnum];
|
|
153
|
-
|
|
154
|
-
export const CartableStatusTypeOptions = [
|
|
155
|
-
{ title: 'در حال بررسی', value: CartableStatusTypeEnum.IN_PROGRESS },
|
|
156
|
-
{ title: 'تایید شده', value: CartableStatusTypeEnum.ACCEPTED },
|
|
157
|
-
{ title: 'رد شده', value: CartableStatusTypeEnum.REJECTED },
|
|
158
|
-
{ title: 'بسته شده', value: CartableStatusTypeEnum.CLOSED },
|
|
159
|
-
];
|
|
160
|
-
|
|
161
|
-
// Credit Contract Type
|
|
162
|
-
|
|
163
|
-
export const CreditContractTypeEnum = {
|
|
164
|
-
SIGHT_PAYMENT: 'SIGHT_PAYMENT',
|
|
165
|
-
SIGHT_PAYMENT_EXPORT: 'SIGHT_PAYMENT_EXPORT',
|
|
166
|
-
DEFERRED_PAYMENT: 'DEFERRED_PAYMENT',
|
|
167
|
-
DEFERRED_PAYMENT_EXPORT: 'DEFERRED_PAYMENT_EXPORT'
|
|
168
|
-
} as const;
|
|
169
|
-
|
|
170
|
-
export type CreditContractType = (typeof CreditContractTypeEnum)[keyof typeof CreditContractTypeEnum];
|
|
171
|
-
|
|
172
|
-
export const CreditContractTypeOptions = [
|
|
173
|
-
{ title: 'داخلی دیداری', value: CreditContractTypeEnum.SIGHT_PAYMENT },
|
|
174
|
-
{ title: 'دیداری وارداتی', value: CreditContractTypeEnum.SIGHT_PAYMENT_EXPORT },
|
|
175
|
-
{ title: 'داخلی مدت دار', value: CreditContractTypeEnum.DEFERRED_PAYMENT },
|
|
176
|
-
{ title: 'وارداتی مدت دار', value: CreditContractTypeEnum.DEFERRED_PAYMENT_EXPORT },
|
|
177
|
-
];
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
// department type
|
|
181
|
-
export const DepartmentypeEnum = {
|
|
182
|
-
BRANCH : 'BRANCH',
|
|
183
|
-
HEADQUARTERS: 'HEADQUARTERS',
|
|
184
|
-
CORPBANKINGORREGION: 'CORPBANKINGORREGION',
|
|
185
|
-
} as const;
|
|
186
|
-
|
|
187
|
-
export type DepartmentType = (typeof DepartmentypeEnum)[keyof typeof DepartmentypeEnum];
|
|
188
|
-
|
|
189
|
-
export const DepartmentTypeOptions = [
|
|
190
|
-
{ title: 'شعبه', value: DepartmentypeEnum.BRANCH},
|
|
191
|
-
{ title: 'ستاد', value: DepartmentypeEnum.HEADQUARTERS },
|
|
192
|
-
{ title: 'منطقه', value: DepartmentypeEnum.CORPBANKINGORREGION },
|
|
193
|
-
];
|
|
194
|
-
|
|
195
|
-
// customer type enum
|
|
196
|
-
export const CustomerTypeEnum = {
|
|
197
|
-
Corporate : 'Corporate',
|
|
198
|
-
Individual: 'Individual',
|
|
199
|
-
} as const;
|
|
200
|
-
|
|
201
|
-
export type CustomerType = (typeof CustomerTypeEnum)[keyof typeof CustomerTypeEnum];
|
|
202
|
-
|
|
203
|
-
export const CustomerTypeOptions = [
|
|
204
|
-
{ title: 'حقوقی', value: CustomerTypeEnum.Corporate},
|
|
205
|
-
{ title: 'حقیقی', value: CustomerTypeEnum.Individual },
|
|
206
|
-
];
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
// customer type enum
|
|
211
|
-
export const RoleTypeEnum = {
|
|
212
|
-
SMPUSER : 'SMPUSER',
|
|
213
|
-
SMPUSERREGION : 'SMPUSERREGION',
|
|
214
|
-
SMPADMIN: 'SMPADMIN',
|
|
215
|
-
SMPSIGNER: 'SMPSIGNER',
|
|
216
|
-
SMPCOORDINATOR: 'SMPCOORDINATOR',
|
|
217
|
-
SMPSIGNERCC: 'SMPSIGNERCC',
|
|
218
|
-
SMPCOORDINATORCC: 'SMPCOORDINATORCC',
|
|
219
|
-
SMPSIGNERSC: 'SMPSIGNERSC',
|
|
220
|
-
SMPCOORDINATORSC: 'SMPCOORDINATORSC',
|
|
221
|
-
SMPSIGNEREC: 'SMPSIGNEREC',
|
|
222
|
-
SMPCOORDINATOREC: 'SMPCOORDINATOREC',
|
|
223
|
-
SMPSIGNERBC: 'SMPSIGNERBC',
|
|
224
|
-
SMPCOORDINATORBC: 'SMPCOORDINATORBC',
|
|
225
|
-
SMPUSERCM: 'SMPUSERCM',
|
|
226
|
-
SMPCOORDINATORCM: 'SMPCOORDINATORCM',
|
|
227
|
-
SMPALTSIGNERCC: 'SMPALTSIGNERCC',
|
|
228
|
-
SMPALTCOORDINATORCC: 'SMPALTCOORDINATORCC',
|
|
229
|
-
SMPCOORDINATORREGION: 'SMPCOORDINATORREGION',
|
|
230
|
-
SMPCOORDINATORPLANCC: 'SMPCOORDINATORPLANCC',
|
|
231
|
-
SMPCOORDINATORKBCC: 'SMPCOORDINATORKBCC',
|
|
232
|
-
SMPCOORDINATORCORPCC: 'SMPCOORDINATORCORPCC',
|
|
233
|
-
SMPCOORDINATORRETAILCC: 'SMPCOORDINATORRETAILCC',
|
|
234
|
-
SMPCMSIGNERMEMBER: 'SMPCMSIGNERMEMBER',
|
|
235
|
-
SMPREGIONSIGNERMEMBER: 'SMPREGIONSIGNERMEMBER',
|
|
236
|
-
SMPBRANCHSIGNERMEMBER: 'SMPBRANCHSIGNERMEMBER',
|
|
237
|
-
} as const;
|
|
238
|
-
|
|
239
|
-
export type RoleType = (typeof RoleTypeEnum)[keyof typeof RoleTypeEnum];
|
|
240
|
-
|
|
241
|
-
export const RoleTypeOptions = [
|
|
242
|
-
{ title: 'کارشناس سماپ-شعبه', value: RoleTypeEnum.SMPUSER},
|
|
243
|
-
{ title: 'کارشناس سماپ-منطقه', value: RoleTypeEnum.SMPUSERREGION},
|
|
244
|
-
{ title: 'ادمین سامانه سماپ', value: RoleTypeEnum.SMPADMIN },
|
|
245
|
-
{ title: 'امضادار سماپ-شعبه', value: RoleTypeEnum.SMPSIGNER },
|
|
246
|
-
{ title: 'دبیر سامانه سماپ-شعبه', value: RoleTypeEnum.SMPCOORDINATOR },
|
|
247
|
-
{ title: 'امضادار سماپ-کمیته مرکزی', value: RoleTypeEnum.SMPSIGNERCC },
|
|
248
|
-
{ title: 'دبیر سماپ-کمیته مرکزی', value: RoleTypeEnum.SMPCOORDINATORCC },
|
|
249
|
-
{ title: 'امضادار سماپ-کمیته عالی', value: RoleTypeEnum.SMPSIGNERSC },
|
|
250
|
-
{ title: 'دبیر سماپ-کمیته عالی', value: RoleTypeEnum.SMPCOORDINATORSC },
|
|
251
|
-
{ title: 'امضادار سماپ-کمیته هیات عامل', value: RoleTypeEnum.SMPSIGNEREC },
|
|
252
|
-
{ title: 'دبیر سماپ-کمیته هیات عامل', value: RoleTypeEnum.SMPCOORDINATOREC },
|
|
253
|
-
{ title: 'امضادار سماپ-کمیته هیات مدیره', value: RoleTypeEnum.SMPSIGNERBC },
|
|
254
|
-
{ title: 'دبیر سماپ-کمیته هیات مدیره', value: RoleTypeEnum.SMPCOORDINATORBC },
|
|
255
|
-
{ title: 'کارشناس سماپ-مدیریت اعتبارات', value: RoleTypeEnum.SMPUSERCM },
|
|
256
|
-
{ title: 'دبیر سماپ-مدیریت اعتبارات', value: RoleTypeEnum.SMPCOORDINATORCM },
|
|
257
|
-
{ title: 'جانشین امضادار سماپ-کمیته مرکزی', value: RoleTypeEnum.SMPALTSIGNERCC },
|
|
258
|
-
{ title: 'جانشین دبیر سماپ-کمیته مرکزی', value: RoleTypeEnum.SMPALTCOORDINATORCC },
|
|
259
|
-
{ title: 'دبیر سامانه سماپ-منطقه', value: RoleTypeEnum.SMPCOORDINATORREGION },
|
|
260
|
-
{ title: 'دبیر سماپ-کمیته مرکز-اداره طرح', value: RoleTypeEnum.SMPCOORDINATORPLANCC },
|
|
261
|
-
{ title: 'دبیر سماپ-کمیته مرکز-اداره دانش بنیان', value: RoleTypeEnum.SMPCOORDINATORKBCC },
|
|
262
|
-
{ title: 'دبیر سماپ-کمیته مرکز-اداره کلان', value: RoleTypeEnum.SMPCOORDINATORCORPCC },
|
|
263
|
-
{ title: 'دبیر سماپ- کمیته مرکز-اداره خرد', value: RoleTypeEnum.SMPCOORDINATORRETAILCC },
|
|
264
|
-
{ title: 'عضو امضادار مدیریت اعتبارات', value: RoleTypeEnum.SMPCMSIGNERMEMBER },
|
|
265
|
-
{ title: 'عضو امضادار منطقه', value: RoleTypeEnum.SMPREGIONSIGNERMEMBER },
|
|
266
|
-
{ title: 'عضو امضادار شعیه', value: RoleTypeEnum.SMPBRANCHSIGNERMEMBER },
|
|
267
|
-
];
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
// src/types/jalaali-js.d.ts
|
|
2
|
-
declare module 'jalaali-js' {
|
|
3
|
-
export function toJalaali(gy: number, gm: number, gd: number): { jy: number; jm: number; jd: number };
|
|
4
|
-
export function toGregorian(jy: number, jm: number, jd: number): { gy: number; gm: number; gd: number };
|
|
5
|
-
}
|
|
6
|
-
|
package/src/types/models/Base.ts
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import type { CustomizerDTO } from '@/types/models/person';
|
|
2
|
-
|
|
3
|
-
export interface UserInfoResponse {
|
|
4
|
-
name: string;
|
|
5
|
-
sub: string;
|
|
6
|
-
emailVerified: boolean;
|
|
7
|
-
issuer: string | null;
|
|
8
|
-
branchName: string;
|
|
9
|
-
preferredUsername: string;
|
|
10
|
-
nonce: string;
|
|
11
|
-
sid: string;
|
|
12
|
-
branchCode: string;
|
|
13
|
-
audience: string[];
|
|
14
|
-
acr: string;
|
|
15
|
-
azp: string;
|
|
16
|
-
authTime: string;
|
|
17
|
-
fullName: string;
|
|
18
|
-
position: string;
|
|
19
|
-
expiration: string;
|
|
20
|
-
sessionState: string;
|
|
21
|
-
issuedAt: string;
|
|
22
|
-
jti: string;
|
|
23
|
-
authorities: string[];
|
|
24
|
-
username: string;
|
|
25
|
-
email: string | null;
|
|
26
|
-
roles: string[];
|
|
27
|
-
lotusRoles: string[];
|
|
28
|
-
customizer: CustomizerDTO
|
|
29
|
-
}
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
// Types for the store
|
|
2
|
-
export interface CreditApprovalFinancialSummaryDTO {
|
|
3
|
-
createdAt: string | null;
|
|
4
|
-
updatedAt: string | null;
|
|
5
|
-
createdBy: string | null;
|
|
6
|
-
updatedBy: string | null;
|
|
7
|
-
id: number | null;
|
|
8
|
-
cartableId: number | null;
|
|
9
|
-
employmentCount: number;
|
|
10
|
-
exportValue: number;
|
|
11
|
-
operatingRevenue: number;
|
|
12
|
-
operatingCosts: number;
|
|
13
|
-
goodsPurchased: number;
|
|
14
|
-
operatingProfit: number;
|
|
15
|
-
netProfit: number;
|
|
16
|
-
currentRatio: number;
|
|
17
|
-
otherRatio: number;
|
|
18
|
-
tradeReceivables: number;
|
|
19
|
-
inventoryValue: number;
|
|
20
|
-
totalAssets: number;
|
|
21
|
-
shareholdersEquity: number;
|
|
22
|
-
retainedEarnings: number;
|
|
23
|
-
debtRatio: number;
|
|
24
|
-
hasReturnedChecks: boolean;
|
|
25
|
-
guaranteeOutstanding: number;
|
|
26
|
-
creditOutstanding: number;
|
|
27
|
-
debtOutstanding: number;
|
|
28
|
-
lastVisit: string;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
export interface ApplicantRequestDTO {
|
|
32
|
-
letterNo: string;
|
|
33
|
-
letterDate: string;
|
|
34
|
-
reqDescription: string;
|
|
35
|
-
}
|
|
36
|
-
export interface ConditionsDTO {
|
|
37
|
-
otherConditionsAndObservations: string
|
|
38
|
-
}
|
|
39
|
-
export interface CreditApprovalLastDecisionDTO {
|
|
40
|
-
createdAt: string | null;
|
|
41
|
-
updatedAt: string | null;
|
|
42
|
-
createdBy: string | null;
|
|
43
|
-
updatedBy: string | null;
|
|
44
|
-
id: number | null;
|
|
45
|
-
cartableId: number | null;
|
|
46
|
-
finalApprovalReference: string;
|
|
47
|
-
attachedByLetterNo: string;
|
|
48
|
-
attachedByLetterNoDate: string;
|
|
49
|
-
regionOrCorpBankingSuggestion: string;
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
export interface PreApprovalState {
|
|
53
|
-
creditApprovalFinancialSummaryDTO: CreditApprovalFinancialSummaryDTO | null;
|
|
54
|
-
creditApprovalLastDecisionDTO: CreditApprovalLastDecisionDTO | null;
|
|
55
|
-
loading: boolean;
|
|
56
|
-
error: string | null;
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
export interface CreditSuggestionData {
|
|
60
|
-
templateBody: string;
|
|
61
|
-
conditions: string;
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
export interface CreditSuggestionDescriptionData {
|
|
65
|
-
description: string;
|
|
66
|
-
cartableId: number;
|
|
67
|
-
}
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
declare module '@tabler/icons-vue' {
|
|
2
|
-
import { DefineComponent } from 'vue'
|
|
3
|
-
export const IconAlertCircle: DefineComponent
|
|
4
|
-
export const IconSquareRoundedCheckFilled: DefineComponent
|
|
5
|
-
export const IconChevronUp: DefineComponent
|
|
6
|
-
export const IconChevronDown: DefineComponent
|
|
7
|
-
export const IconChevronRight: DefineComponent
|
|
8
|
-
export const IconArrowBadgeLeft : DefineComponent
|
|
9
|
-
export const IconChevronLeft: DefineComponent
|
|
10
|
-
export const IconArchive: DefineComponent
|
|
11
|
-
export const IconCopy: DefineComponent
|
|
12
|
-
export const IconDownload: DefineComponent
|
|
13
|
-
export const IconFileExport: DefineComponent
|
|
14
|
-
export const IconRefresh: DefineComponent
|
|
15
|
-
export const IconBell: DefineComponent
|
|
16
|
-
export const IconSettings: DefineComponent
|
|
17
|
-
export const IconSearch: DefineComponent
|
|
18
|
-
export const IconMenu2: DefineComponent
|
|
19
|
-
export const IconAdjustmentsHorizontal: DefineComponent
|
|
20
|
-
export const IconX: DefineComponent
|
|
21
|
-
export const IconLogout: DefineComponent
|
|
22
|
-
export const IconUser: DefineComponent
|
|
23
|
-
export const IconBuildingStore: DefineComponent
|
|
24
|
-
export const IconSend: DefineComponent
|
|
25
|
-
export const IconMailbox: DefineComponent
|
|
26
|
-
export const IconPhoto: DefineComponent
|
|
27
|
-
export const IconBookmarkEdit: DefineComponent
|
|
28
|
-
export const IconClipboardData: DefineComponent
|
|
29
|
-
export const IconDatabase: DefineComponent
|
|
30
|
-
export const IconFileSymlink: DefineComponent
|
|
31
|
-
export const IconHome: DefineComponent
|
|
32
|
-
export const IconPencilPlus: DefineComponent
|
|
33
|
-
export const IconTableShare : DefineComponent
|
|
34
|
-
export const IconCheck : DefineComponent
|
|
35
|
-
export const IconPencil : DefineComponent
|
|
36
|
-
export const IconClock : DefineComponent
|
|
37
|
-
export const IconTrash : DefineComponent
|
|
38
|
-
export const IconChevronsUp : DefineComponent
|
|
39
|
-
export const IconChevronsDown : DefineComponent
|
|
40
|
-
export const IconMessageQuestion : DefineComponent
|
|
41
|
-
export const IconShieldCancel : DefineComponent
|
|
42
|
-
export const IconSquareChevronRight : DefineComponent
|
|
43
|
-
export const IconMinus: DefineComponent
|
|
44
|
-
export const IconPlus: DefineComponent
|
|
45
|
-
export const IconPrinter: DefineComponent
|
|
46
|
-
export const IconMaximize: DefineComponent
|
|
47
|
-
export const IconMinimize: DefineComponent
|
|
48
|
-
export const IconFileText: DefineComponent
|
|
49
|
-
export const IconDeviceFloppy: DefineComponent
|
|
50
|
-
export const IconUserCircle: DefineComponent
|
|
51
|
-
export const IconCalendar: DefineComponent
|
|
52
|
-
export const IconCircleCheck: DefineComponent
|
|
53
|
-
export const IconRefresh: DefineComponent
|
|
54
|
-
export const IconSun: DefineComponent
|
|
55
|
-
export const IconMoon: DefineComponent
|
|
56
|
-
export const IconPalette : DefineComponent
|
|
57
|
-
export const IconCheckupList : DefineComponent
|
|
58
|
-
}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
export type ThemeTypes = {
|
|
2
|
-
name: string;
|
|
3
|
-
dark: boolean;
|
|
4
|
-
variables?: object;
|
|
5
|
-
colors: {
|
|
6
|
-
primary?: string;
|
|
7
|
-
secondary?: string;
|
|
8
|
-
info?: string;
|
|
9
|
-
success?: string;
|
|
10
|
-
accent?: string;
|
|
11
|
-
warning?: string;
|
|
12
|
-
error?: string;
|
|
13
|
-
lightprimary?: string;
|
|
14
|
-
lightsecondary?: string;
|
|
15
|
-
lightsuccess?: string;
|
|
16
|
-
lighterror?: string;
|
|
17
|
-
lightwarning?: string;
|
|
18
|
-
darkprimary?: string;
|
|
19
|
-
darksecondary?: string;
|
|
20
|
-
darkText?: string;
|
|
21
|
-
lightText?: string;
|
|
22
|
-
borderLight?: string;
|
|
23
|
-
inputBorder?: string;
|
|
24
|
-
containerBg?: string;
|
|
25
|
-
surface?: string;
|
|
26
|
-
background?: string;
|
|
27
|
-
'on-surface-variant'?: string;
|
|
28
|
-
facebook?: string;
|
|
29
|
-
twitter?: string;
|
|
30
|
-
linkedin?: string;
|
|
31
|
-
gray100?: string;
|
|
32
|
-
primary200?: string;
|
|
33
|
-
secondary200?: string;
|
|
34
|
-
white?: string;
|
|
35
|
-
// Additional color variations
|
|
36
|
-
primary300?: string;
|
|
37
|
-
primary400?: string;
|
|
38
|
-
primary500?: string;
|
|
39
|
-
primary600?: string;
|
|
40
|
-
primary700?: string;
|
|
41
|
-
primary800: string;
|
|
42
|
-
primary900: string;
|
|
43
|
-
secondary400?: string;
|
|
44
|
-
secondary600?: string;
|
|
45
|
-
secondary800?: string;
|
|
46
|
-
};
|
|
47
|
-
};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
declare module 'vue3-apexcharts';
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
declare module 'vue3-print-nb';
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
export class NationalCodeValidator {
|
|
2
|
-
static isValid(nationalCode: string, customerType: 'Real' | 'Legal'): boolean {
|
|
3
|
-
// Check length based on customer type
|
|
4
|
-
if (customerType === 'Real' && !/^\d{10}$/.test(nationalCode)) return false;
|
|
5
|
-
if (customerType === 'Legal' && !/^\d{11}$/.test(nationalCode)) return false;
|
|
6
|
-
|
|
7
|
-
// For Legal customers, we only check the length and invalid patterns
|
|
8
|
-
if (customerType === 'Legal') {
|
|
9
|
-
const invalidCodes = [
|
|
10
|
-
'00000000000', '11111111111', '22222222222', '33333333333',
|
|
11
|
-
'44444444444', '55555555555', '66666666666', '77777777777',
|
|
12
|
-
'88888888888', '99999999999'
|
|
13
|
-
];
|
|
14
|
-
return !invalidCodes.includes(nationalCode);
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
// For Real customers, we do the full validation
|
|
18
|
-
const invalidCodes = [
|
|
19
|
-
'0000000000', '1111111111', '2222222222', '3333333333',
|
|
20
|
-
'4444444444', '5555555555', '6666666666', '7777777777',
|
|
21
|
-
'8888888888', '9999999999'
|
|
22
|
-
];
|
|
23
|
-
if (invalidCodes.includes(nationalCode)) return false;
|
|
24
|
-
|
|
25
|
-
// Calculate checksum for Real customers
|
|
26
|
-
const digits = nationalCode.split('').map(Number);
|
|
27
|
-
const check = digits[9];
|
|
28
|
-
const sum = digits.slice(0, 9).reduce((acc, digit, index) => acc + digit * (10 - index), 0);
|
|
29
|
-
const remainder = sum % 11;
|
|
30
|
-
|
|
31
|
-
return (remainder < 2 && check === remainder) || (remainder >= 2 && check === 11 - remainder);
|
|
32
|
-
}
|
|
33
|
-
}
|