From 007cf1f804a452c5eb556a1494f4c2792cce40c4 Mon Sep 17 00:00:00 2001 From: ISMAIL MASSERAN Date: Sun, 2 Aug 2026 09:56:01 +0800 Subject: [PATCH] DONE: investment types crud for admin; remove logger when login --- src/components/ui/field/FieldLabel.vue | 8 +- src/main/side-menu.ts | 3 + .../components/InvestmentTypeForm.vue | 227 +++++++++++++++ .../composables/useInvestmentTypeList.ts | 74 +++++ src/modules/investment/index.ts | 2 + src/modules/investment/menu.ts | 10 + .../investment/pages/InvestmentTypeCreate.vue | 75 +++++ .../investment/pages/InvestmentTypeEdit.vue | 104 +++++++ .../investment/pages/InvestmentTypeList.vue | 261 ++++++++++++++++++ src/modules/investment/routes.ts | 34 +++ .../services/investment-type.service.ts | 75 +++++ .../investment/types/investment-type.types.ts | 45 +++ .../investment/utils/investment-type.utils.ts | 46 +++ src/router/index.ts | 2 + 14 files changed, 965 insertions(+), 1 deletion(-) create mode 100644 src/modules/investment/components/InvestmentTypeForm.vue create mode 100644 src/modules/investment/composables/useInvestmentTypeList.ts create mode 100644 src/modules/investment/index.ts create mode 100644 src/modules/investment/menu.ts create mode 100644 src/modules/investment/pages/InvestmentTypeCreate.vue create mode 100644 src/modules/investment/pages/InvestmentTypeEdit.vue create mode 100644 src/modules/investment/pages/InvestmentTypeList.vue create mode 100644 src/modules/investment/routes.ts create mode 100644 src/modules/investment/services/investment-type.service.ts create mode 100644 src/modules/investment/types/investment-type.types.ts create mode 100644 src/modules/investment/utils/investment-type.utils.ts diff --git a/src/components/ui/field/FieldLabel.vue b/src/components/ui/field/FieldLabel.vue index 3ae5b56..91b70b8 100644 --- a/src/components/ui/field/FieldLabel.vue +++ b/src/components/ui/field/FieldLabel.vue @@ -3,13 +3,19 @@ import { cn } from "@mykopkb/core/utils/cn"; import { Label } from "@/components/ui/label"; import { fieldLabel } from "@mykopkb/core/styles/field.styles"; -const { class: className, ...props } = defineProps<{ +const { + class: className, + required = false, + ...props +} = defineProps<{ class?: string; + required?: boolean; }>(); diff --git a/src/main/side-menu.ts b/src/main/side-menu.ts index 8958ae5..2a120c8 100644 --- a/src/main/side-menu.ts +++ b/src/main/side-menu.ts @@ -7,6 +7,7 @@ import { dashboardMenu } from '@/modules/dashboard/menu' import { externalSystemMenu } from '@/modules/external-system/menu' import { activityLogMenu } from '@/modules/activity-log/menu' import { feedbackMenu } from '@/modules/feedback' +import { investmentMenu } from '@/modules/investment' export type { Menu } @@ -22,6 +23,8 @@ const mainMenu: (string | Menu)[] = [ 'Pentadbiran', ...membershipApplicationMenu, ...userMenu, + 'Akaun', + ...investmentMenu, ] export default mainMenu diff --git a/src/modules/investment/components/InvestmentTypeForm.vue b/src/modules/investment/components/InvestmentTypeForm.vue new file mode 100644 index 0000000..b1cd7ef --- /dev/null +++ b/src/modules/investment/components/InvestmentTypeForm.vue @@ -0,0 +1,227 @@ + + +