Commit Graph

66 Commits

Author SHA1 Message Date
hasyim_kai
a361922e32 Feat: Add & integrate add, edit, detail page 2025-11-05 13:19:07 +07:00
hasyim_kai
331f4a6b20 Feat: Integrate Control Letter 2025-11-04 16:56:08 +07:00
hasyim_kai
2275f4dc99 Feat: add UI BPJS > Surat Kontrol 2025-10-27 14:01:58 +07:00
hasyim_kai
89e0e7a2c8 Feat: add UI CRUD Surat Kontrol at Rehab Medik > kunjungan > Proses 2025-10-27 10:21:59 +07:00
Abizrh
621c9a237f Merge branch 'dev' of https://github.com/dikstub-rssa/simrs-fe into feat/integrasi-assessment-medis-114 2025-10-22 17:21:09 +07:00
Abizrh
fe08643c0e 🐛 fix (encounter): fetch encounter data instead of patient data 2025-10-22 17:20:06 +07:00
Andsky
fb45932708 Feat/device order 58 (#127)
* feat(combobox): add reusable combobox component with search and selection

Implement a combobox component with search functionality and item selection. The component supports displaying item labels with optional codes, maintains selected item state, and provides customizable placeholders. Items are sorted with selected items first followed by alphabetical order.

* feat(division): add entry form and view components for division management

* feat(division): add division management pages and form validation

- Create new division list and add pages
- Implement form validation using zod and error handling
- Add useFormErrors composable for form error management
- Update division entry form with validation support
- Add error styling in main.css

* refactor(error): move error types to centralized location

Consolidate XError, XErrors, and FormErrors types into a single file for better maintainability and consistency across the codebase.

* feat(unit): add unit management pages and form components

- Create new unit list and add pages under org-src feature
- Implement unit entry form with validation using zod
- Update error types to support readonly path property
- Refactor field component to use shared error type

* ⚠️ refactor (human-src): rename user components to employee

* ⚠️ refactor (sysmenu): rename user menu to employee menu

* feat(installation): add installation entry form and pages

- Create new installation entry form component with validation
- Add installation list and add pages with basic routing
- Implement custom select component for encounter class selection
- Update SelectTrigger styling for better icon positioning

*  feat (employee): add based component & conditional form input

*  feat (form): add stacked layout option for form fields

* 📖 docs (readme): add validation documentation

*  feat (models): define employee and user data models

* refactor(data-table): improve type safety and component rendering

- Replace generic 'any' types with specific type imports for better type safety
- Add optional chaining for funcComponent to prevent potential runtime errors
- Update funcHtml and funcParsed to include rowIndex parameter in callbacks

* feat(division): implement division list with pagination and search

- Add schema validation for query parameters
- Create pagination component with type definitions
- Implement division list view with search functionality
- Add data table configuration for division listing
- Handle pagination state and URL synchronization

* feat (material): add list material

* feat (material): add form material

* feat (material): modify entry form of materiak

* feat(division): add form dialog for creating new division

- Implement dialog form with validation schema for division creation
- Add combobox component for parent division selection
- Include form submission handling with reset and error states
- a11y

* feat(data-table): add size prop to action components

Add size prop configuration to action components in data table to allow consistent sizing. Update dropdown action component to accept size prop with default value.

* refactor(division): extract entry form to separate component and improve form handling

- Move form logic from list component to dedicated entry-form component
- Implement proper form submission and cancellation handlers
- Add type safety with DivisionFormData interface
- Improve form validation using vee-validate
- Refresh data after successful form submission

* feat (material): add zod validation for stock field to ensure number input in entry-form

* feat (material): update logic validate

* feat(division): impl  division list+entry

feat(form): add accessibility improvements to form components

- Add labelFor prop to Label component for better form element association
- Enhance Combobox with ARIA attributes for better screen reader support
- Update form fields with proper IDs and label associations

feat(pagination): adjust button width based on page number length

Add dynamic button sizing for pagination items to accommodate different digit lengths (1-99, 100-999, 1000+). This improves visual consistency when displaying varying page numbers.

feat(modal): add reusable dialog component and refactor division form

- Create new Dialog.vue component with configurable size and outside click prevention
- Replace inline dialog implementation in division list with new Dialog component
- Fix formatting in entry-form.vue

feat(data-table): add click handling for action cells

Implement handleActionCellClick function to manage click events on action cells, triggering dropdown buttons when clicked outside interactive elements. Add cursor-pointer class and click handler to action cells for better UX.

refactor(custom-ui): centralize action event strings in types

Replace hardcoded action event strings with constants from types.ts to improve maintainability and reduce potential typos

feat(confirmation): add reusable confirmation modal components

- Implement base confirmation.vue component with customizable props
- Create record-specific record-confirmation.vue for data operations
- Add comprehensive README.md documentation for usage
- Integrate confirmation flow in division list component

refactor(components): move dialog component to base directory and update imports

The dialog component was moved from custom-ui/modal to base/modal to better reflect its shared usage across the application. All import paths referencing the old location have been updated accordingly.

refactor(select): reorganize imports and adjust conditional formatting

- Reorder imports in Select.vue for better organization
- Adjust logical operator formatting in SelectContent.vue for consistency

* feat(data-table): add skeletonSize prop to customize loading rows

Add optional skeletonSize prop to control the number of skeleton rows displayed during loading. Defaults to 5 if not provided.

* feat: add RBAC role-based access control and permission checks to device index page

* feat (material): update validation of attribute stock

* feat (material): update validation with error label

* feat (device): update entry form of device

* fix(flow): prevent outside click on division form dialog

Add prevent-outside prop to Dialog component to avoid accidental closure

* feat(installation): implement installation list with pagination and search

refactor(installation): move form schema and configuration to separate files
fix(installation): update page title and content display

* refactor(org-src): remove unused division and installation add pages

move to modal based form entry (bcz its simple form)

*  feat (medicine): add medicine management modules

*  enhance (appsidebar): improve sidebar navigation spacing and appearance

*  feat (human-src): implement employee add and index pages with rbac

* ⚠️ refactor (employee): remove unused employee pages

* refactor(pagination): move pagination info display to component and improve layout

- Consolidate pagination info display logic in pagination component
- Remove duplicate computed properties from list components
- Improve pagination layout with better spacing and responsiveness
- Add skeleton loading support to data tables

* feat(unit): implement unit management flow with list and form components

- Add schema validation and default query params for unit management
- Create list view with pagination, search, and delete functionality
- Implement form entry with validation for creating/editing units
- Replace placeholder content with functional unit list component
- Remove unused unit add page and update page titles

* feat(material): change menu material to equipment

* refactor(material): add zod validation for stock field as number and display error message after submit in

* refactor(composables): extract pagination logic into usePaginatedList composable

- Remove duplicate schema.query.ts files from unit, division, and installation components
- Create new usePaginatedList composable to centralize pagination logic
- Update list.vue components to use the new composable
- Maintain same functionality while reducing code duplication

* refactor(material): modify validation uom and item

* fix: resolve conflict at sys.json again

*  feat: register schemas and services

*  feat (pub): add base modal

*  feat (medicine): implement medicine entry form and list

*  feat (medicine): add medicine model and dto

*  feat (medicine): add medicine group model

* ⚠️ refactor (medicine-group): simplify entry form and list configuration

* ⚠️ refactor (medicine-method): simplify entry form and list configuration

*  feat (medicine-method): implement medicine method fetching

* 🐛 fix (medicine-type): fix medicine type list display

*  feat (item): add item and item price modules

* ⚠️ refactor (components): rename flow components to content

* 📖 docs (readme): update component directory structure and descriptions

* feat(integration): adjust route pages based on sys conf

* feat(org-src): replace flow components with content components and add list views

Add new content components for unit, division, and installation with list views, entry forms, and validation schemas. Replace Flow*List components with Content*List components in org-src pages. Includes pagination, search functionality, and CRUD operations for each entity type.

* refactor(tools-equipment): replace flow components with content components

- Update device and material pages to use Content prefixed components instead of Flow
- Add new content components for device and material list/entry functionality
- Maintain same functionality while improving component naming consistency

* refactor(equipment): add modal form to component list

* chore: change sys.json for equipment

* refactor(equipment): change submit flow

* refactor(tools): add modal form

* refactor(tools): change content of tools

* refactor(tools): remove entry flow

*  feat (sys): update side menu items and icons

* feat(sep): add list component

* feat(sep): add form entry

* feat(sep): update form entry

* feat(sep): modify form entry with radio input

* feat(sep): modify form entry with support code input

* feat(sep): modify form entry with calendar select

* feat(sep): update datepicker component

* feat(sep): change to update value from datepicker

*  enhance (lib): adjust libs

*  enhance (pub): adjust form label

*  feat (app): add person form

* 🐛 fix (employee): fix user entry component on employee add page

* feat(division): wip tree select component

feat(division): update division list components and add mock api

- Replace patient API endpoint with division mock endpoint
- Simplify table columns and headers for division list
- Add mock API endpoint for division list with tree/flat format

feat(select-tree): add collapsible tree select component with lazy loading

Implement a tree select component with collapsible sections and lazy loading of child items. Includes:
- Collapsible component wrappers for Vue
- Command component wrappers for combobox functionality
- Tree select item component with loading states
- Example implementation in dev page

todo:
- scroll on overflow
- long text truncate possibly with tooltip
- more than > 5 depth of child
- mutate the children lazy
- integration backend for search based text and return  keys

feat(select-tree): add command-item component for tree selection

adjust hover bg-accent (remove state on-highlighted at styling) to avoid conflict on global component

refactor(select-tree): extract TreeItem interface to shared type file

Move TreeItem interface to a dedicated type file for better code organization and reusability. Update components to import the interface and add styling improvements to the tree-select component.

adjust text size for tree to sm

refactor(select-tree): rename tree-select-item to leaf and improve component

- Rename component to better reflect its purpose as a leaf node
- Improve UI with better spacing and hover states
- Simplify toggle logic using v-model
- Add checkmark icon for selected items

checkpoint

wip

* init specialist feature

* feat(sep): create filter patient + sep

* refactor(api): consolidate query param transformation into utility function

Move URL parameter construction logic from multiple list components to a shared transform function in usePaginatedList. This improves code reuse and maintainability while keeping the same functionality.

Standardize query parameter names to match backend expectations ('page-number' and 'page-size' instead of 'page' and 'pageSize'). Update related schema and default params accordingly.

* feat(sep): update filter function

* feat(sep): update grid column

* init specialist feature

* feat(sep): create filter on sep list

* feat(sep): remove not used variables

* feat(sep): change button export to dropdown

* feat(sep): add table history sep

* feat(combobox): add disabled prop and improve styling

- Add disabled prop to combobox component to support disabled state
- Update styling to include better focus states and border color

* feat(specialist): add installation-unit relationship to specialist form

- Implement installation-unit mapping and filtering logic
- Update entry form to handle installation selection and unit filtering
- Add installation and unit dropdowns with combobox components

* feat(sep): add dialog for confirm delete

* style(form/select): improve select component styling and focus state

- Add focus outline and ring styles to SelectTrigger
- Conditionally apply text color based on modelValue
- Simplify SelectItem template structure

* dev: missing merge conflict

* feat(pagination): add reusable pagination component and update list views

- Create new PaginationView component to standardize pagination display
- Update multiple list components to use the new PaginationView
- Make paginationMeta prop required in list components

* feat(subspecialist): add subspecialist management components and pages

- Implement list view with pagination and search functionality
- Create form for adding subspecialist entries
- Add configuration for subspecialist data validation and dropdown options

* fix(pagination): format record numbers with locale for indonesia

Apply toLocaleString('id-ID') to startRecord and endRecord to display numbers in Indonesian format

* 🐛 fix (auth): redirect unauthenticated users to login page

* feat(public): add setting dark or light mode

* feat(public): implement dark mode

* feat(public): frame padding for dashboard

* fix(select-tree): adjust tree node indentation and alignment logic

- Add level prop to track node hierarchy
- Fix indentation calculation for leaves and nodes
- Simplify alignment logic based on node level

* refactor(division): move entry logic to shared config file

Extract division form configuration and tree logic from entry.vue component into a shared entry.ts file. This improves code organization and reusability while maintaining the same functionality.

*  feat (specialist-intern): add specialist intern feature

* feat(public): add padding dynamic in main frame

* feat(breadcrumb): add breadcrumb component and update header integration

- Implement new breadcrumb component with proper routing handling
- Update header to use new breadcrumb component
- Optimize nuxt config for SPA with router and rendering settings

* feat(material): create model interface of material

* feat(material): create service get for material and uom

* feat(material): modify handlers and service of material

* feat(material): retest material

* feat(material): update with processing

* feat(device): integrate api device

* feat(menu): menu update

* feat(menu): remove bold style from text menu

* feat(menu): remove bold style from children

* fix: testing nuxt config

* feat(public): create block and cell for vue

* feat(public): create field for vue

* feat(public): create label for vue

*  enhance (lib): adjust libs

*  feat (encounter): add entry

*  enhance (public): adjust path

*  feat (nav-header): implement filter component with search and date range

*  feat (encounter): add small entry form for sep

*  feat (rehab): implement rehab registration home component

* chore: refactor entry for equipment and tools

* adjust layout

* adjust some pub components

* adjust some conent

* chore: update nuxt config

* fix: adjustment list and entry for material

* fix: change integrate material

* feat(material): finishing integration of material

* feat(material): add toast

* feat(material): update entry form

* chore: add handler parent

* feat(device): update handler of device

* feat(device): update list

* feat(medicine): add models + service

* feat(medicine): add handlers

* dev, hotfix: change primary color

* dev, hotfix: adjust darkmode primary color

* feat(medicine-method): integrate + refactor entry

* chore: restucture list and entry form

* feat(medicine-method): refactor + integrate

* feat(medicine-group): refactor + integrate

* feat(medicine-group): refactor list

* feat(menu): change menu

* chore: modify service and hanler

* feat(uom): integrate api for uom

* feat(uom): crate form, list and integrate

*  feat (encounter): implement assesment function module

*  feat (pub): adjust data table

*  feat (encounter): add patient search and add functionality to entry form

* feat/layout-cleaning: merapikan style pada layout + custom ui

* feat/menu-structure-update: done

* feat/menu-structure-update-3: adjustment

* feat/tidy-up:
- mengurangi elm yg tidak diperlukan
- menyesuaikan font-size sesuai breakpoint

* feat(medicine): modify entry-form, create handler and service

* feat(medicine): integrate medicine api

* dev: hotfix, build error on importing form

* chore: modify handlers to reusable function

* feat(medicine): finishing form + list

* feat(unit): add unit and installation service models

* feat(unit): add specialist service models

* feat: add specialist, subspecialist and division handlers

* feat(division): create handler for division position

* feat(division): fix schemas

* feat: restructure list

* feat(unit): integrate unit api

* feat(unit): finishing integrate unit

* feat(specialist): integrate specialist

* feat(specialist): finishing integrate specialist

* feat(subspecialist): finishing integrate specialist

* feat/layout-cleaning:
- font responsif untuk navheader
- colon + gap pada doc entry
- ukuran font lebih responsif untuk button

* feat/layout-cleaning: penyesuaian kecil doc-entry

* dev: hotfix, enconter process

* dev: hotfix, avoid ts warning

* dev: hotfix
+ data table
+ genCrudHandler
+ crud-base

* feat/consultation-82: done

* dev: hotfix
+ dropped quick-info patient
+ added quick-info encounter
+ text-area styling

* dev: hotfix refactor
+ merged pub/custom-ui and pub/base into my-ui
- droped pub/custom-ui

* feat/consultation-82: adjustment to refactor

* dev: hotfix, navigation

* dev: hotfix, added userQueryCRUD

* feat/consultation-82: wip

* feat/consulation-82: done

* feat/device-order-58: wip

---------

Co-authored-by: Munawwirul Jamal <57973347+munaja@users.noreply.github.com>
Co-authored-by: Khafid Prayoga <khafidp@pm.me>
Co-authored-by: Abizrh <abizarah857@gmail.com>
Co-authored-by: mrifai-cata <muhammad.rifai@trycata.com>
Co-authored-by: riefive <rie.five@gmail.com>
Co-authored-by: Abizarah | 比周 <106458960+Abizrh@users.noreply.github.com>
Co-authored-by: sharedmaxchat <shared.maxchat@gmail.com>
Co-authored-by: Munawwirul Jamal <munawwirul.jamal@gmail.com>
2025-10-22 07:04:02 +07:00
Munawwirul Jamal
27ab7c2e83 Feat/consultation 82 (#126) 2025-10-21 00:03:22 +07:00
Muhammad Rifai
25d0091a19 Fix Dialog Consultation (#124) 2025-10-20 23:41:23 +07:00
Abizrh
a6f1abb20f enhance (soapi): update payload 2025-10-20 20:26:01 +07:00
Abizrh
77c26171bb Merge branch 'dev' of https://github.com/dikstub-rssa/simrs-fe into feat/integrasi-assessment-medis-114 2025-10-20 20:09:39 +07:00
Abizrh
cb0d73acf4 feat (soapi): integrate early,rehab,function 2025-10-20 17:33:05 +07:00
761fe4e0ed feat/encounter: improved processing needs 2025-10-19 21:57:17 +07:00
cc29ad1ff7 Merge branch 'dev' into feat/encounter 2025-10-19 06:24:44 +07:00
07c5b80199 feat/patient-63: cleaning 2025-10-18 06:55:56 +07:00
8b869f6d4d Merge branch 'dev' into feat/patient-63 2025-10-18 06:53:32 +07:00
723cd2c7b3 dev: compact styling 2025-10-18 06:52:12 +07:00
708d5d6975 feat/patient-63: cleaning and resolve conflict 2025-10-18 06:47:17 +07:00
0c24befd29 Merge branch 'dev' into feat/patient-63 2025-10-17 16:54:30 +07:00
e6717e2b6d dev: hotfix, content header adjustment 2025-10-17 16:53:44 +07:00
6f8eed1280 dev: hotfix, content header adjustment 2025-10-17 16:53:07 +07:00
397d744f34 dev: hotfix, improvements
+ components/pub/my-ui/data-table
+ components/pub/ui/badge
+ lib/date
2025-10-17 16:53:07 +07:00
60f2d8378c dev: hotfix, data table
+ deepFetch for nested field
+ sampel
2025-10-17 16:53:06 +07:00
ad94e1d06f dev: hotfix, styling
+ sidebar
+ modal and dialog
2025-10-17 16:53:06 +07:00
Khafid Prayoga
f4dadd67f8 feat(medical-action-src): add type code selection with strict typing
- Add medicalActionTypeCode constants and type definition
- Update MedicalActionSrc interface to use strict type for type_code
- Implement select dropdown for type code in entry form
- Enable type code validation in schema
2025-10-17 16:23:51 +07:00
Khafid Prayoga
2b8bf55e8a feat(medical-action): implement medical action source management
- Add medical action source list component with pagination and search
- Create CRUD operations for medical action source
- Implement form entry and validation for medical action source
- Add confirmation dialog for delete operations
2025-10-17 13:20:29 +07:00
Khafid Prayoga
7ed5177127 rename directory to match backend service apis 2025-10-17 11:12:20 +07:00
Khafid Prayoga
1b61265f8c feat(diagnose-src): implement diagnose source CRUD functionality
- Add diagnose source list, entry form, and related components
- Create services, handlers, and schemas for diagnose source operations
2025-10-17 11:08:21 +07:00
Khafid Prayoga
1ba37e46e1 feat(mcu-procedure): add procedure source management feature
- Implement procedure source list view with pagination and search
- Add create, read, update, and delete operations for procedure sources
- Include form validation using zod schema
- Set up data table configuration for procedure listing
- Add confirmation dialogs for delete operations
- Update delete record confirmation based on list config delKeyNames
2025-10-17 10:31:03 +07:00
53a1b7d4ae feat/encounter: wip 2025-10-17 02:19:12 +07:00
61a3e8597b dev: hotfix, improvements
+ components/pub/my-ui/data-table
+ components/pub/ui/badge
+ lib/date
2025-10-17 02:18:25 +07:00
a4fb33dc3e dev: hotfix, data table
+ deepFetch for nested field
+ sampel
2025-10-16 16:06:02 +07:00
Khafid Prayoga
070239270e feat(patient): add patient handler and refactor form submission
- Introduce new patient handler using genCrudHandler for CRUD operations
- Refactor patient entry form to use handler for save operations
- Separate form data composition from submission logic
- Handle file uploads and navigation after successful submission
2025-10-16 14:04:00 +07:00
bf831edead dev: hotfix, styling
+ sidebar
+ modal and dialog
2025-10-16 05:28:40 +07:00
Khafid Prayoga
20b96ab7e4 wip: data masih dead pixel upload sukses 2025-10-15 16:37:46 +07:00
Khafid Prayoga
4976916780 Merge branch 'dev' of github.com:dikstub-rssa/simrs-fe into feat/patient-63 2025-10-15 12:45:40 +07:00
32c815a6e5 dev: hotfix, cleaning data-table 2025-10-15 07:37:57 +07:00
Khafid Prayoga
dd0c2864c7 wip: file upload basic 2025-10-14 13:41:15 +07:00
Khafid Prayoga
ed9dcd9753 refactor(select-birth-place): simplify regency selection by removing pagination
Remove pagination and search functionality from regency selection as they're not needed in this context. Replace ComboboxPaginated with simpler Combobox component and adjust useRegencies composable options accordingly.
2025-10-14 13:01:01 +07:00
Khafid Prayoga
bc286f16c8 wip: select regency paginated
todo: search reactive

wip: paginated regency

todo: search bind

wip gess
2025-10-14 11:36:55 +07:00
Khafid Prayoga
c8620e4ed2 Merge branch 'dev' of github.com:dikstub-rssa/simrs-fe into feat/patient-63 2025-10-13 13:13:54 +07:00
Khafid Prayoga
46911514fb refactor: postal region, add new field on list
feat: implement postal region model and update address handling

- Add new PostalRegion model and service
- Replace postalCode with postalRegion in address-related components
- Update schemas and models to use locationType_code consistently
- Add usePostalRegion composable for postal code selection
- Modify patient form to handle address changes more robustly

feat(patient): add ID column and improve date formatting

- Add patient ID column to patient list
- Format dates using 'id-ID' locale in preview
- Update identity number display for foreign patients
- Include passport number for foreign nationals
2025-10-13 13:07:00 +07:00
39cfe08a62 feat/cleaning: complete the pages 2025-10-13 07:35:00 +07:00
cad7ac6a71 dev: hotfix, adjust some inputs 2025-10-12 21:24:35 +07:00
c31b5a61ff Merge branch 'dev' into feat/encounter 2025-10-12 16:15:27 +07:00
Munawwirul Jamal
b649f6cd23 Merge pull request #109 from dikstub-rssa/feat/rehab-medical-assessment-76-new
 feat (soapi): introduce early rehab and function forms
2025-10-12 16:11:57 +07:00
0f7f4f592b feat/encounter: cleaning 2025-10-12 16:10:06 +07:00
f52e516775 dev: hotfix, layout 2025-10-12 13:06:21 +07:00
966dc1c282 dev: hotfix, more standardization 2025-10-12 12:15:52 +07:00
f7b66d2ad8 dev: hotfix, text-size standardization 2025-10-12 11:52:21 +07:00