From 1268f6e35f06d322e166082f766cdaf19719d32e Mon Sep 17 00:00:00 2001 From: Thanaphon Frappet Date: Tue, 11 Mar 2025 09:57:27 +0700 Subject: [PATCH] refactor: bind form crud --- .../04_property-management/FormProperty.vue | 124 ++++++++++++++++++ src/layouts/DrawerComponent.vue | 10 +- src/pages/04_property-managment/MainPage.vue | 1 + .../04_property-managment/PropertyDialog.vue | 78 +++++------ src/stores/property/types.ts | 3 +- 5 files changed, 177 insertions(+), 39 deletions(-) create mode 100644 src/components/04_property-management/FormProperty.vue diff --git a/src/components/04_property-management/FormProperty.vue b/src/components/04_property-management/FormProperty.vue new file mode 100644 index 00000000..49613f13 --- /dev/null +++ b/src/components/04_property-management/FormProperty.vue @@ -0,0 +1,124 @@ + + + + + diff --git a/src/layouts/DrawerComponent.vue b/src/layouts/DrawerComponent.vue index 6d9f0e06..27aecf8b 100644 --- a/src/layouts/DrawerComponent.vue +++ b/src/layouts/DrawerComponent.vue @@ -120,7 +120,15 @@ onMounted(async () => { ), }, { label: 'workflow', route: '/workflow' }, - { label: 'property', route: '/property' }, + { + label: 'property', + route: '/property', + hidden: !( + role.value.includes('admin') || + role.value.includes('head_of_admin') || + role.value.includes('system') + ), + }, { label: 'productService', route: '/product-service' }, { label: 'customer', route: '/customer-management' }, { label: 'agencies', route: '/agencies-management' }, diff --git a/src/pages/04_property-managment/MainPage.vue b/src/pages/04_property-managment/MainPage.vue index e341f100..511186d6 100644 --- a/src/pages/04_property-managment/MainPage.vue +++ b/src/pages/04_property-managment/MainPage.vue @@ -126,6 +126,7 @@ function assignFormData(propertyData: Property) { nameEN: propertyData.nameEN, type: propertyData.type, status: propertyData.status, + registeredBranchId: propertyData.registeredBranchId, }), ); } diff --git a/src/pages/04_property-managment/PropertyDialog.vue b/src/pages/04_property-managment/PropertyDialog.vue index 3782afb7..fe2b6fb0 100644 --- a/src/pages/04_property-managment/PropertyDialog.vue +++ b/src/pages/04_property-managment/PropertyDialog.vue @@ -2,6 +2,7 @@ import DialogForm from 'src/components/DialogForm.vue'; import SideMenu from 'src/components/SideMenu.vue'; import DrawerInfo from 'src/components/DrawerInfo.vue'; +import FormProperty from 'src/components/04_property-management/FormProperty.vue'; import { UndoButton, SaveButton, @@ -9,6 +10,7 @@ import { DeleteButton, } from 'src/components/button'; import { Property } from 'src/stores/property/types'; +import { DialogFormContainer, DialogHeader } from 'src/components/dialog'; const model = defineModel({ required: true, default: false }); const drawerModel = defineModel('drawerModel', { @@ -43,44 +45,40 @@ defineEmits<{ }>();