Przeglądaj źródła

feat(web-admin): mount instance comment panel on OA detail views

Co-authored-by: Cursor <cursoragent@cursor.com>
zlwu 1 miesiąc temu
rodzic
commit
8248e5ef15

Plik diff jest za duży
+ 203 - 661
web-admin/graphify-out/.graphify_analysis.json


Plik diff jest za duży
+ 1111 - 40
web-admin/graphify-out/.graphify_extract.json


+ 111 - 113
web-admin/graphify-out/GRAPH_REPORT.md

@@ -1,11 +1,11 @@
-# Graph Report - src  (2026-09-18)
+# Graph Report - src  (2026-09-20)
 
 ## Corpus Check
-- Large corpus: 1000 files · ~661,825 words. Semantic extraction will be expensive (many Claude tokens). Consider running on a subfolder, or use --no-semantic to run AST-only.
+- Large corpus: 1001 files · ~663,299 words. Semantic extraction will be expensive (many Claude tokens). Consider running on a subfolder, or use --no-semantic to run AST-only.
 
 ## Summary
-- 3607 nodes · 5144 edges · 72 communities detected
-- Extraction: 78% EXTRACTED · 22% INFERRED · 0% AMBIGUOUS · INFERRED: 1136 edges (avg confidence: 0.8)
+- 3652 nodes · 5246 edges · 72 communities detected
+- Extraction: 78% EXTRACTED · 22% INFERRED · 0% AMBIGUOUS · INFERRED: 1169 edges (avg confidence: 0.8)
 - Token cost: 0 input · 0 output
 
 ## Community Hubs (Navigation)
@@ -52,14 +52,14 @@
 - [[_COMMUNITY_Community 40|Community 40]]
 - [[_COMMUNITY_Community 41|Community 41]]
 - [[_COMMUNITY_Community 42|Community 42]]
+- [[_COMMUNITY_Community 43|Community 43]]
 - [[_COMMUNITY_Community 44|Community 44]]
 - [[_COMMUNITY_Community 45|Community 45]]
 - [[_COMMUNITY_Community 46|Community 46]]
-- [[_COMMUNITY_Community 47|Community 47]]
 - [[_COMMUNITY_Community 48|Community 48]]
 - [[_COMMUNITY_Community 49|Community 49]]
-- [[_COMMUNITY_Community 51|Community 51]]
-- [[_COMMUNITY_Community 54|Community 54]]
+- [[_COMMUNITY_Community 50|Community 50]]
+- [[_COMMUNITY_Community 52|Community 52]]
 - [[_COMMUNITY_Community 55|Community 55]]
 - [[_COMMUNITY_Community 56|Community 56]]
 - [[_COMMUNITY_Community 58|Community 58]]
@@ -83,235 +83,235 @@
 - [[_COMMUNITY_Community 103|Community 103]]
 
 ## God Nodes (most connected - your core abstractions)
-1. `get()` - 319 edges
+1. `get()` - 321 edges
 2. `push()` - 128 edges
-3. `emit()` - 29 edges
+3. `emit()` - 30 edges
 4. `WebSocketClient` - 26 edges
 5. `set()` - 22 edges
 6. `handleDynamicRoutes()` - 20 edges
-7. `parseProtocolStandardImportText()` - 17 edges
-8. `onPick()` - 17 edges
-9. `walkRules()` - 16 edges
-10. `scopeQuery()` - 16 edges
+7. `withFullscreenLoading()` - 17 edges
+8. `parseProtocolStandardImportText()` - 17 edges
+9. `onPick()` - 17 edges
+10. `walkRules()` - 16 edges
 
 ## Surprising Connections (you probably didn't know these)
-- `handleBatchStore()` --calls--> `withFullscreenLoading()`  [INFERRED]
-  views/quality-inspection/storage-release-review/index.vue → utils/fullscreen-loading.ts
+- `handleBatchDelete()` --calls--> `withFullscreenLoading()`  [INFERRED]
+  views/basic-info/cell-sample-type/index.vue → utils/fullscreen-loading.ts
+- `handleBatchDelete()` --calls--> `withFullscreenLoading()`  [INFERRED]
+  views/basic-info/customer/index.vue → utils/fullscreen-loading.ts
 - `formatReceiveAccountLine()` --calls--> `push()`  [INFERRED]
   utils/oa-receive-account-value.ts → views/operations/storage-facility/index.vue
 - `dash()` --calls--> `formatDisplayOrDash()`  [INFERRED]
   components/business/infusion-schedule-outbound-chain-view/index.vue → utils/datetime-display.ts
 - `dash()` --calls--> `formatDisplayOrDash()`  [INFERRED]
   components/business/clinical-schedule-payment-detail/index.vue → utils/datetime-display.ts
-- `displayCell()` --calls--> `formatDisplayOrDash()`  [INFERRED]
-  views/production/waste-output/index.vue → utils/datetime-display.ts
 
 ## Communities
 
 ### Community 0 - "Community 0"
-Cohesion: 0.0
-Nodes (204): fetchAccessLogList(), fetchActiveRegions(), fetchCategoryList(), fetchCategoryParameters(), fetchCellProductPriceList(), fetchCellProductSpecList(), fetchCellProductTypeList(), fetchChannelAccount() (+196 more)
+Cohesion: 0.01
+Nodes (188): fetchAccessLogList(), fetchActiveRegions(), fetchCategoryList(), fetchCategoryParameters(), fetchCellProductPriceList(), fetchCellProductSpecList(), fetchCellProductTypeList(), fetchChannelAccount() (+180 more)
 
 ### Community 1 - "Community 1"
 Cohesion: 0.02
-Nodes (139): fetchDeptTree(), fetchUploadAttachment(), fetchOaFlowPreview(), fetchOaTemplateDetail(), handleReportUpload(), handleReportUpload(), walk(), collectConditionReferencedFields() (+131 more)
+Nodes (107): fetchCheckupInstitutionInvoices(), fetchCheckupInstitutionProjects(), fetchCollectionRegionList(), fetchCreateCheckupInstitution(), fetchCreateCheckupInstitutionInvoice(), fetchCreateCheckupInstitutionProject(), fetchCreateCollectionRegion(), fetchCreateHospital() (+99 more)
 
 ### Community 2 - "Community 2"
 Cohesion: 0.02
-Nodes (92): batchSavePilotCheckup(), deletePilotCheckupActualItem(), fetchCheckupInstitutionList(), fetchCheckupInstitutionPackageDetail(), fetchCheckupInstitutionPackages(), fetchPilotCheckupDetail(), fetchPilotCheckupList(), fetchUpdatePostBoundRoles() (+84 more)
+Nodes (68): fetchBatchDeleteOaReceiveAccounts(), fetchBatchMarkOaCcTasksRead(), fetchCreateOaReceiveAccount(), fetchDeleteOaReceiveAccount(), fetchMarkOaCcTaskRead(), fetchOaAppDraft(), fetchOaCcUnreadCount(), fetchOaFormAttachments() (+60 more)
 
 ### Community 3 - "Community 3"
 Cohesion: 0.03
-Nodes (72): buildInboundBasicSection(), buildInboundCellStorageViewSections(), buildInboundResearchDonationViewSections(), buildReceptionSection(), buildTransportSection(), resolveInboundProtocolStatus(), buildBaseFields(), buildFeeSection() (+64 more)
+Nodes (75): fetchUploadAttachment(), FireworkSystem, handleReportUpload(), handleReportUpload(), walk(), if(), async(), addDispatchItem() (+67 more)
 
 ### Community 4 - "Community 4"
-Cohesion: 0.02
-Nodes (42): fetchGetMenuList(), useSettingsHandlers(), useSettingsPanel(), useSettingsState(), ComponentLoader, IframeRouteManager, MenuProcessor, RoutePermissionValidator (+34 more)
+Cohesion: 0.03
+Nodes (86): batchSavePilotCheckup(), deletePilotCheckupActualItem(), fetchCheckupInstitutionList(), fetchCheckupInstitutionPackageDetail(), fetchCheckupInstitutionPackages(), fetchPilotCheckupActualItems(), fetchPilotCheckupDetail(), fetchPilotCheckupList() (+78 more)
 
 ### Community 5 - "Community 5"
-Cohesion: 0.02
-Nodes (65): fetchBatchDeleteOaReceiveAccounts(), fetchBatchMarkOaCcTasksRead(), fetchCreateOaReceiveAccount(), fetchDeleteOaReceiveAccount(), fetchMarkOaCcTaskRead(), fetchOaAppDraft(), fetchOaCcUnreadCount(), fetchOaInstanceDetail() (+57 more)
+Cohesion: 0.03
+Nodes (79): fetchEthnicList(), formatNowDatetime(), applyDonationBundleToForm(), createEmptyTransport(), ensureEthnicOptionInList(), handleOpenForAdd(), if(), loadEthnicOptions() (+71 more)
 
 ### Community 6 - "Community 6"
 Cohesion: 0.03
-Nodes (79): fetchEthnicList(), formatNowDatetime(), applyDonationBundleToForm(), createEmptyTransport(), ensureEthnicOptionInList(), handleOpenForAdd(), if(), loadEthnicOptions() (+71 more)
+Nodes (59): buildInboundBasicSection(), buildInboundCellStorageViewSections(), buildInboundResearchDonationViewSections(), buildReceptionSection(), buildTransportSection(), resolveInboundProtocolStatus(), buildBaseFields(), buildInboundBasicSection() (+51 more)
 
 ### Community 7 - "Community 7"
 Cohesion: 0.03
-Nodes (66): fetchFullmoonTodoList(), fetchUpdateFullmoonTodoInsurance(), fetchCollectionProtocolAuditList(), fetchCollectionProtocolDetail(), fetchCollectionProtocolList(), fetchCreateProtocolInvoiceRequest(), fetchInvoiceEligiblePayments(), fetchPaymentDetailList() (+58 more)
+Nodes (57): fetchOaRelatedSummaries(), useSettingsHandlers(), useSettingsPanel(), useSettingsState(), RoutePermissionValidator, useCeremony(), useTheme(), if() (+49 more)
 
 ### Community 8 - "Community 8"
 Cohesion: 0.03
-Nodes (47): handleBlur(), handleFocus(), handleInput(), fetchClinicalPaymentDetail(), fetchClinicalPayments(), fetchClinicalReceiptConfirmed(), fetchClinicalReceiptPending(), fetchClinicalRefundConfirmed() (+39 more)
+Nodes (48): fetchProductionWasteOutputList(), fetchProductionReceptionBySampleCode(), fetchProductionReceptionSubmit(), fetchProductionReceptionUpdate(), handleDialogClose(), branchConditionLines(), nodeSummary(), onAdd() (+40 more)
 
 ### Community 9 - "Community 9"
 Cohesion: 0.03
-Nodes (61): fetchCheckupInstitutionInvoices(), fetchCheckupInstitutionProjects(), fetchCreateCheckupInstitution(), fetchCreateCheckupInstitutionInvoice(), fetchCreateCheckupInstitutionProject(), fetchUpdateCheckupInstitution(), fetchUpdateCheckupInstitutionInvoice(), fetchUpdateCheckupInstitutionProject() (+53 more)
+Nodes (33): fetchGetMenuList(), ComponentLoader, IframeRouteManager, MenuProcessor, RouteRegistry, RouteTransformer, useAppMode(), useAuth() (+25 more)
 
 ### Community 10 - "Community 10"
-Cohesion: 0.03
-Nodes (47): fetchProductionWasteOutputList(), fetchProductionReceptionBySampleCode(), fetchProductionReceptionSubmit(), fetchProductionReceptionUpdate(), handleDialogClose(), handleView(), branchConditionLines(), onAdd() (+39 more)
+Cohesion: 0.02
+Nodes (29): fetchAllConsumablePacks(), fetchAllConsumables(), fetchAllConsumableStockLogs(), fetchAllEquipments(), fetchAllOutputTypes(), fetchAllProcessCategories(), fetchAllProcesses(), fetchAllReagents() (+21 more)
 
 ### Community 11 - "Community 11"
 Cohesion: 0.03
-Nodes (56): buildTemporaryViewSections(), buildInsertedSiblingCard(), resolveShowProtocolPaymentAtGroup(), useInboundSiblingNavigation(), shouldApplyTriggerSourceFilter(), useQcWorkOrderTabPage(), appendTaskResultSections(), batchTasksForPanelSlot() (+48 more)
+Nodes (56): fetchMyProductionTasks(), fetchMyQcTaskList(), fetchQcTaskDetail(), fetchQcTaskList(), fetchMineTasksForWorkOrders(), useInboundSiblingNavigation(), shouldApplyTriggerSourceFilter(), useQcWorkOrderTabPage() (+48 more)
 
 ### Community 12 - "Community 12"
-Cohesion: 0.03
-Nodes (50): if(), chipTitle(), confirmPicker(), memberOptionLabel(), removeUser(), resolveUser(), signBadge(), signBadgeText() (+42 more)
+Cohesion: 0.04
+Nodes (53): buildTemporaryViewSections(), buildInsertedSiblingCard(), resolveShowProtocolPaymentAtGroup(), appendTaskResultSections(), batchTasksForPanelSlot(), buildConfiguredOnlySection(), for(), set() (+45 more)
 
 ### Community 13 - "Community 13"
 Cohesion: 0.04
-Nodes (50): fetchMyProductionTasks(), fetchMyQcTaskList(), fetchQcTaskDetail(), fetchQcTaskList(), fetchMineTasksForWorkOrders(), buildMineTableRows(), buildPresetTasksMap(), buildWorkOrderFromTasks() (+42 more)
+Nodes (51): fetchAttachmentDownloadUrl(), qcAttachmentFullUrl(), qcDownloadAttachment(), qcPreviewAttachment(), handleDownloadAttachment(), attachmentFullUrl(), dash(), handleAttachmentDownload() (+43 more)
 
 ### Community 14 - "Community 14"
 Cohesion: 0.04
-Nodes (38): fetchCellSampleTypeList(), fetchCreateCellSampleType(), fetchCreateMenu(), fetchDeleteCellSampleType(), fetchDeleteMenu(), fetchMenuTree(), fetchUpdateCellSampleType(), fetchUpdateMenu() (+30 more)
+Nodes (67): fetchDeptTree(), fetchOaFlowPreview(), fetchOaTemplateDetail(), applySchema(), flowNeedsInitiatorSelect(), loadFlowPreview(), loadUsers(), onPick() (+59 more)
 
 ### Community 15 - "Community 15"
-Cohesion: 0.05
-Nodes (39): fetchCreateQcInspectionItemTemplate(), fetchDeleteQcInspectionItemTemplate(), fetchQcInspectionItemTemplateDetail(), fetchQcInspectionItemTemplateList(), fetchQcInspectionItemTemplatesActive(), fetchUpdateQcInspectionItemTemplate(), fetchQcLabTestItemList(), fetchQcLabTestItemsActive() (+31 more)
+Cohesion: 0.04
+Nodes (43): fetchFullmoonTodoList(), fetchUpdateFullmoonTodoInsurance(), fetchCollectionProtocolAuditList(), fetchCollectionProtocolDetail(), fetchCollectionProtocolList(), fetchCreateProtocolInvoiceRequest(), fetchInvoiceEligiblePayments(), fetchPaymentDetailList() (+35 more)
 
 ### Community 16 - "Community 16"
-Cohesion: 0.07
-Nodes (43): fetchOaRelatedSummaries(), buildFormRows(), buildOaPrintFilename(), buildOaPrintModel(), canvasToPdf(), ensurePlainObject(), exportOaApprovalPdf(), extractUrls() (+35 more)
+Cohesion: 0.04
+Nodes (39): fetchCellSampleTypeList(), fetchCreateCellSampleType(), fetchCreateMenu(), fetchDeleteCellSampleType(), fetchDeleteMenu(), fetchMenuTree(), fetchUpdateCellSampleType(), fetchUpdateMenu() (+31 more)
 
 ### Community 17 - "Community 17"
+Cohesion: 0.05
+Nodes (39): fetchCreateQcInspectionItemTemplate(), fetchDeleteQcInspectionItemTemplate(), fetchQcInspectionItemTemplateDetail(), fetchQcInspectionItemTemplateList(), fetchQcInspectionItemTemplatesActive(), fetchUpdateQcInspectionItemTemplate(), fetchQcLabTestItemList(), fetchQcLabTestItemsActive() (+31 more)
+
+### Community 18 - "Community 18"
+Cohesion: 0.04
+Nodes (33): fetchUpdatePostBoundRoles(), fetchMineQcWorkOrderTabUnfinishedCounts(), fetchOutboundQcDetail(), fetchQcWorkOrderDetail(), fetchQcWorkOrderList(), fetchQcWorkOrdersBySample(), fetchQcWorkOrderTabUnfinishedCounts(), reload() (+25 more)
+
+### Community 19 - "Community 19"
+Cohesion: 0.05
+Nodes (24): handleBlur(), handleFocus(), handleInput(), fetchClinicalReceiptConfirmed(), buildConfirmedParams(), buildPendingParams(), formatAmount(), handleConfirmedReset() (+16 more)
+
+### Community 20 - "Community 20"
 Cohesion: 0.06
 Nodes (37): fetchUserList(), fetchAddTaskStep(), fetchCopyTaskStep(), fetchDeleteTaskStep(), fetchDispatchProductionTaskSteps(), fetchForwardProductionTask(), fetchProductionTaskDetail(), fetchProductionTaskEditorInit() (+29 more)
 
-### Community 18 - "Community 18"
+### Community 21 - "Community 21"
+Cohesion: 0.06
+Nodes (38): completePilotApplication(), deletePilotApplication(), fetchPilotApplicationList(), startPilotApplication(), voidPilotApplication(), fetchClinicalRefundConfirmed(), buildConfirmedParams(), buildPendingParams() (+30 more)
+
+### Community 22 - "Community 22"
 Cohesion: 0.08
 Nodes (37): formatDatetimeToMinute(), handleChineseDatetimePaste(), parseChineseDatetimeText(), parseBirthOrder(), parseChineseNumeral(), addSampleHint(), earliestCollectTime(), isMaternalBloodEmpty() (+29 more)
 
-### Community 19 - "Community 19"
+### Community 23 - "Community 23"
 Cohesion: 0.06
 Nodes (22): fetchQcMaterialBatchDetail(), fetchQcMaterialBatchList(), fetchQcMaterialBatchOptions(), fetchQcMaterialList(), fetchQcMaterialOptions(), fetchUpdateQcMaterialBatch(), fetchMarkQcMaterialUsageFullyUsed(), financeAttachmentsToUrlString() (+14 more)
 
-### Community 20 - "Community 20"
+### Community 24 - "Community 24"
 Cohesion: 0.06
 Nodes (26): fetchProductionTaskList(), createEmptySnapshots(), normalizeConfiguredReagents(), normalizeConsumables(), normalizeDataCollections(), normalizeReagents(), normalizeStepOutputs(), serializeAttachments() (+18 more)
 
-### Community 21 - "Community 21"
+### Community 25 - "Community 25"
 Cohesion: 0.1
 Nodes (2): WebSocketClient, TableCache
 
-### Community 22 - "Community 22"
+### Community 26 - "Community 26"
 Cohesion: 0.08
 Nodes (33): fetchRefreshToken(), toLogin(), base64ToBytes(), bytesToBase64(), decryptJson(), deriveKey(), encryptJson(), fromBase64Url() (+25 more)
 
-### Community 23 - "Community 23"
+### Community 27 - "Community 27"
 Cohesion: 0.07
 Nodes (13): fetchProductionWorkOrderQcInfo(), dash(), fmtMoney(), auditorDisplay(), dash(), ensureUnitsInOptions(), expressName(), formatYm() (+5 more)
 
-### Community 24 - "Community 24"
-Cohesion: 0.08
-Nodes (30): fetchCreateCustomer(), fetchCustomerList(), fetchDeleteCustomer(), fetchUpdateCustomer(), updateInfusionScheduleStatus(), handleAdd(), handleDelete(), handleDropdownCommand() (+22 more)
-
-### Community 25 - "Community 25"
+### Community 28 - "Community 28"
 Cohesion: 0.09
 Nodes (8): getDefaultLanguage(), checkStorageCompatibility(), StorageConfig, getSystemStorage(), getSysVersion(), StorageKeyManager, StorageCompatibilityManager, validateStorageData()
 
-### Community 26 - "Community 26"
-Cohesion: 0.08
-Nodes (20): fetchAttachmentDownloadUrl(), attachmentFullUrl(), dash(), handleAttachmentDownload(), handleAttachmentPreview(), ensureUniqueZipEntryName(), fetchAttachmentBlob(), getAttachmentExtension() (+12 more)
+### Community 29 - "Community 29"
+Cohesion: 0.1
+Nodes (28): buildFormRows(), buildOaPrintFilename(), buildOaPrintModel(), canvasToPdf(), ensurePlainObject(), exportOaApprovalPdf(), extractUrls(), formatFieldValue() (+20 more)
 
-### Community 27 - "Community 27"
+### Community 30 - "Community 30"
 Cohesion: 0.08
 Nodes (22): fetchMineProductionWorkOrderTabStepCounts(), fetchMineProductionWorkOrderTabStepCountsDeduped(), fetchProductionWorkOrderCellProductOptions(), fetchProductionWorkOrderDetail(), fetchProductionWorkOrderList(), fetchProductionWorkOrderQcDispatchOptions(), fetchProductionWorkOrderTabStepCounts(), fetchProductionWorkOrderTabStepCountsDeduped() (+14 more)
 
-### Community 28 - "Community 28"
+### Community 31 - "Community 31"
 Cohesion: 0.07
 Nodes (19): fetchDeleteMaterialBatch(), fetchMaterialBatchList(), fetchMaterialBatchOptions(), fetchMaterialList(), fetchMaterialOptions(), fetchUpdateMaterialBatch(), fetchMaterialUsageList(), fetchMyMaterialUsageList() (+11 more)
 
-### Community 29 - "Community 29"
-Cohesion: 0.09
-Nodes (28): completePilotApplication(), deletePilotApplication(), fetchPilotApplicationList(), startPilotApplication(), voidPilotApplication(), clearTableSelection(), handleBatchComplete(), handleBatchStart() (+20 more)
-
-### Community 30 - "Community 30"
+### Community 32 - "Community 32"
 Cohesion: 0.09
 Nodes (22): fetchOaAppList(), fetchOaGroupList(), fetchPublishOaApp(), loadData(), loadGroups(), resetForm(), onSuccess(), goBack() (+14 more)
 
-### Community 31 - "Community 31"
+### Community 33 - "Community 33"
 Cohesion: 0.1
 Nodes (21): displayPeople(), nodeStatusText(), personLines(), personStatusHint(), personTitle(), showNodeComment(), signBadge(), signBadgeText() (+13 more)
 
-### Community 32 - "Community 32"
+### Community 34 - "Community 34"
 Cohesion: 0.11
 Nodes (21): fetchGetMenuCodes(), fetchGetUserInfo(), fetchLogin(), fetchUpdateProfile(), fetchUploadProfileAvatar(), fetchWxQrStatus(), fetchUserInfo(), buildWebEncryptedLoginBody() (+13 more)
 
-### Community 33 - "Community 33"
-Cohesion: 0.09
-Nodes (12): fetchMineQcWorkOrderTabUnfinishedCounts(), fetchOutboundQcDetail(), fetchQcWorkOrderDetail(), fetchQcWorkOrderList(), fetchQcWorkOrdersBySample(), fetchQcWorkOrderTabUnfinishedCounts(), reload(), reloadTabCounts() (+4 more)
-
-### Community 34 - "Community 34"
+### Community 35 - "Community 35"
 Cohesion: 0.1
 Nodes (12): fetchOutboundReleaseMaterial(), fetchOutboundReleaseReviewDetail(), fetchOutboundReleaseReviewList(), fetchReleaseReviewList(), handleReset(), handleSearch(), handleTabChange(), handleToggleSelect() (+4 more)
 
-### Community 35 - "Community 35"
+### Community 36 - "Community 36"
 Cohesion: 0.12
 Nodes (15): addCopyButton(), highlightCode(), insertLineNumbers(), isBlockProcessed(), markBlockAsProcessed(), processBlock(), setupHighlightDirective(), setupRippleDirective() (+7 more)
 
-### Community 36 - "Community 36"
+### Community 37 - "Community 37"
+Cohesion: 0.13
+Nodes (8): chipTitle(), confirmPicker(), memberOptionLabel(), removeUser(), resolveUser(), signBadge(), signBadgeText(), updateSelect()
+
+### Community 38 - "Community 38"
 Cohesion: 0.2
 Nodes (14): applyFlagToRule(), applySchema(), countRules(), getActiveRule(), getDesigner(), getSetupState(), onMessage(), readFlag() (+6 more)
 
-### Community 37 - "Community 37"
+### Community 39 - "Community 39"
+Cohesion: 0.16
+Nodes (14): fetchCreateEnvDetectItem(), fetchDeleteEnvDetectItem(), fetchEnvDetectItemDetail(), fetchEnvDetectItemList(), fetchEnvDetectItemsActive(), fetchUpdateEnvDetectItem(), handleAdd(), handleBatchDelete() (+6 more)
+
+### Community 40 - "Community 40"
 Cohesion: 0.12
 Nodes (6): setupOaConfirmationKit(), ensureOaKitMenu(), setupOaLeaveKit(), setupOaOvertimeKit(), setupOaResignationKit(), setupOaTripKit()
 
-### Community 38 - "Community 38"
+### Community 41 - "Community 41"
 Cohesion: 0.16
 Nodes (10): useTable(), useTableImpl(), getColumnChecks(), useTableColumns(), createErrorHandler(), createSmartDebounce(), defaultResponseAdapter(), extractPagination() (+2 more)
 
-### Community 39 - "Community 39"
+### Community 42 - "Community 42"
+Cohesion: 0.17
+Nodes (14): fetchCreateCustomer(), fetchCustomerList(), fetchDeleteCustomer(), fetchUpdateCustomer(), handleAdd(), handleBatchDelete(), handleDelete(), handleDropdownCommand() (+6 more)
+
+### Community 43 - "Community 43"
 Cohesion: 0.27
 Nodes (14): useChart(), useChartComponent(), useChartOps(), colourBlend(), getCssVar(), getDarkColor(), getLightColor(), handleElementThemeColor() (+6 more)
 
-### Community 40 - "Community 40"
+### Community 44 - "Community 44"
 Cohesion: 0.33
 Nodes (13): buildProtocolPaymentFlowSteps(), dash(), financeReceiptTime(), formatAmount(), hasFinanceReceipt(), hasFinanceRefund(), hasReceiptSubmit(), hasRefundSubmit() (+5 more)
 
-### Community 41 - "Community 41"
+### Community 45 - "Community 45"
 Cohesion: 0.19
 Nodes (6): fetchServiceOrderTxnList(), handleReset(), handleSearch(), handleTabChange(), loadData(), switchTab()
 
-### Community 42 - "Community 42"
+### Community 46 - "Community 46"
 Cohesion: 0.24
 Nodes (10): buildPrintDocumentHtml(), cleanupPrintIframe(), embedSopImagesAsDataUrls(), getSopA4ContentHeightPx(), getSopA4EditorHeightPx(), normalizeSopCheckboxes(), prepareSopHtmlForPrint(), printSopHtml() (+2 more)
 
-### Community 44 - "Community 44"
-Cohesion: 0.15
-Nodes (4): fetchNextDonationSampleCode(), fetchResearchDonationAuditList(), fetchResearchDonationDetail(), fetchResearchDonationList()
-
-### Community 45 - "Community 45"
-Cohesion: 0.27
-Nodes (10): nodeSummary(), createDefaultFlow(), createEndNode(), createNode(), ensureFlowRoot(), newId(), normalizeCcAssigneeTypes(), removeChildNode() (+2 more)
-
-### Community 46 - "Community 46"
-Cohesion: 0.33
-Nodes (7): buildSheetColumns(), downloadOaHistoryExcel(), exportTimestamp(), pad(), sanitizeFilename(), styleHeaderCell(), writeHeaderRows()
+### Community 48 - "Community 48"
+Cohesion: 0.42
+Nodes (9): buildPaymentFlowSteps(), dash(), formatAmount(), hasFinanceReceipt(), hasFinanceRefund(), hasReceiptSubmit(), hasRefundSubmit(), receiptSubmitTime() (+1 more)
 
-### Community 47 - "Community 47"
+### Community 49 - "Community 49"
 Cohesion: 0.31
 Nodes (4): isSlotAvailable(), resolveStorageSlotRangeFill(), slotFacilityNodeId(), sortBoxSlots()
 
-### Community 48 - "Community 48"
+### Community 50 - "Community 50"
 Cohesion: 0.25
 Nodes (2): handleTouchEnd(), setTransition()
 
-### Community 49 - "Community 49"
-Cohesion: 0.28
-Nodes (1): FireworkSystem
-
-### Community 51 - "Community 51"
+### Community 52 - "Community 52"
 Cohesion: 0.28
 Nodes (4): isActiveHistoryInstance(), isUploadPreviewLabel(), previewColumnMinWidth(), syncWorktabTitle()
 
-### Community 54 - "Community 54"
-Cohesion: 0.29
-Nodes (4): if(), emptyTripLeg(), buildTripKitChildren(), uniqueId()
-
 ### Community 55 - "Community 55"
 Cohesion: 0.39
 Nodes (6): isIgnorableScriptError(), normalizeErrorMessage(), registerPromiseErrorHandler(), registerResourceErrorHandler(), scriptErrorHandler(), setupErrorHandle()
@@ -397,11 +397,9 @@ Cohesion: 1.0
 Nodes (2): emptyTabCounts(), useQcWorkOrderTabUnfinishedCounts()
 
 ## Knowledge Gaps
-- **Thin community `Community 21`** (42 nodes): `WebSocketClient`, `.calculateReconnectDelay()`, `.clearAllTimers()`, `.clearConnectionTimers()`, `.clearTimer()`, `.close()`, `.closeCurrentSocketForReconnect()`, `.connect()`, `.connectionStatusText()`, `.constructor()`, `.destroyInstance()`, `.flushMessageQueue()`, `.getInstance()`, `.getReadyStateText()`, `.handleClose()`, `.handleConnectionTimeout()`, `.handleError()`, `.handleMessage()`, `.handleOpen()`, `.init()`, `.isWebSocketConnected()`, `.reconnect()`, `.resetHeartbeat()`, `.send()`, `.startHeartbeat()`, `.startPing()`, `TableCache`, `.cleanupExpired()`, `.clear()`, `.clearByTags()`, `.clearCurrentSearch()`, `.clearPagination()`, `.constructor()`, `.evictLRU()`, `.generateKey()`, `.generateTags()`, `.get()`, `.getStats()`, `.log()`, `.set()`, `index.ts`, `tableCache.ts`
-  Too small to be a meaningful cluster - may be noise or needs more connections extracted.
-- **Thin community `Community 48`** (9 nodes): `cleanupEventListeners()`, `handleTouchEnd()`, `handleTouchMove()`, `handleTouchStart()`, `handleWheelScroll()`, `if()`, `setTransition()`, `setupEventListeners()`, `index.vue`
+- **Thin community `Community 25`** (42 nodes): `WebSocketClient`, `.calculateReconnectDelay()`, `.clearAllTimers()`, `.clearConnectionTimers()`, `.clearTimer()`, `.close()`, `.closeCurrentSocketForReconnect()`, `.connect()`, `.connectionStatusText()`, `.constructor()`, `.destroyInstance()`, `.flushMessageQueue()`, `.getInstance()`, `.getReadyStateText()`, `.handleClose()`, `.handleConnectionTimeout()`, `.handleError()`, `.handleMessage()`, `.handleOpen()`, `.init()`, `.isWebSocketConnected()`, `.reconnect()`, `.resetHeartbeat()`, `.send()`, `.startHeartbeat()`, `.startPing()`, `TableCache`, `.cleanupExpired()`, `.clear()`, `.clearByTags()`, `.clearCurrentSearch()`, `.clearPagination()`, `.constructor()`, `.evictLRU()`, `.generateKey()`, `.generateTags()`, `.get()`, `.getStats()`, `.log()`, `.set()`, `index.ts`, `tableCache.ts`
   Too small to be a meaningful cluster - may be noise or needs more connections extracted.
-- **Thin community `Community 49`** (9 nodes): `FireworkSystem`, `.constructor()`, `.createFirework()`, `.createParticle()`, `.getAvailableParticle()`, `.initializePool()`, `.preloadAllImages()`, `.preloadImage()`, `index.vue`
+- **Thin community `Community 50`** (9 nodes): `cleanupEventListeners()`, `handleTouchEnd()`, `handleTouchMove()`, `handleTouchStart()`, `handleWheelScroll()`, `if()`, `setTransition()`, `setupEventListeners()`, `index.vue`
   Too small to be a meaningful cluster - may be noise or needs more connections extracted.
 - **Thin community `Community 56`** (8 nodes): `TableHeightCalculator`, `.calculate()`, `.calculateOffset()`, `.calculatePaginationOffset()`, `.constructor()`, `.getHeaderHeight()`, `useTableHeight()`, `useTableHeight.ts`
   Too small to be a meaningful cluster - may be noise or needs more connections extracted.
@@ -443,17 +441,17 @@ Nodes (2): emptyTabCounts(), useQcWorkOrderTabUnfinishedCounts()
 ## Suggested Questions
 _Questions this graph is uniquely positioned to answer:_
 
-- **Why does `push()` connect `Community 1` to `Community 0`, `Community 2`, `Community 3`, `Community 5`, `Community 6`, `Community 7`, `Community 9`, `Community 11`, `Community 12`, `Community 13`, `Community 15`, `Community 16`, `Community 17`, `Community 18`, `Community 20`, `Community 21`, `Community 22`, `Community 23`, `Community 26`, `Community 27`, `Community 29`, `Community 30`, `Community 31`, `Community 33`, `Community 45`, `Community 46`, `Community 49`?**
-  _High betweenness centrality (0.327) - this node is a cross-community bridge._
-- **Why does `get()` connect `Community 0` to `Community 1`, `Community 2`, `Community 5`, `Community 6`, `Community 7`, `Community 8`, `Community 9`, `Community 10`, `Community 11`, `Community 12`, `Community 13`, `Community 14`, `Community 15`, `Community 16`, `Community 17`, `Community 19`, `Community 20`, `Community 23`, `Community 24`, `Community 27`, `Community 28`, `Community 29`, `Community 30`, `Community 32`, `Community 33`, `Community 34`, `Community 41`, `Community 44`, `Community 47`, `Community 60`?**
-  _High betweenness centrality (0.260) - this node is a cross-community bridge._
-- **Why does `handleDynamicRoutes()` connect `Community 4` to `Community 32`, `Community 33`, `Community 3`, `Community 5`, `Community 16`, `Community 27`?**
-  _High betweenness centrality (0.035) - this node is a cross-community bridge._
-- **Are the 318 inferred relationships involving `get()` (e.g. with `resolveStorageSlotRangeFill()` and `buildNodeCodePathFromFlat()`) actually correct?**
-  _`get()` has 318 INFERRED edges - model-reasoned connections that need verification._
+- **Why does `push()` connect `Community 3` to `Community 0`, `Community 1`, `Community 2`, `Community 4`, `Community 5`, `Community 6`, `Community 7`, `Community 8`, `Community 11`, `Community 12`, `Community 13`, `Community 14`, `Community 15`, `Community 17`, `Community 18`, `Community 20`, `Community 22`, `Community 24`, `Community 25`, `Community 26`, `Community 27`, `Community 29`, `Community 30`, `Community 32`, `Community 33`, `Community 37`?**
+  _High betweenness centrality (0.335) - this node is a cross-community bridge._
+- **Why does `get()` connect `Community 0` to `Community 1`, `Community 2`, `Community 4`, `Community 5`, `Community 7`, `Community 8`, `Community 10`, `Community 11`, `Community 12`, `Community 14`, `Community 15`, `Community 16`, `Community 17`, `Community 18`, `Community 19`, `Community 20`, `Community 21`, `Community 23`, `Community 24`, `Community 27`, `Community 30`, `Community 31`, `Community 32`, `Community 34`, `Community 35`, `Community 39`, `Community 42`, `Community 45`, `Community 49`, `Community 60`?**
+  _High betweenness centrality (0.277) - this node is a cross-community bridge._
+- **Why does `computeWorkOrderPlannedStartTimeRange()` connect `Community 24` to `Community 3`?**
+  _High betweenness centrality (0.039) - this node is a cross-community bridge._
+- **Are the 320 inferred relationships involving `get()` (e.g. with `resolveStorageSlotRangeFill()` and `buildNodeCodePathFromFlat()`) actually correct?**
+  _`get()` has 320 INFERRED edges - model-reasoned connections that need verification._
 - **Are the 127 inferred relationships involving `push()` (e.g. with `refreshQcMenuBadges()` and `collectLeafFacilityNodesInTreeOrder()`) actually correct?**
   _`push()` has 127 INFERRED edges - model-reasoned connections that need verification._
-- **Are the 28 inferred relationships involving `emit()` (e.g. with `handleSubmit()` and `handleDialogClose()`) actually correct?**
-  _`emit()` has 28 INFERRED edges - model-reasoned connections that need verification._
+- **Are the 29 inferred relationships involving `emit()` (e.g. with `handleSubmit()` and `handleDialogClose()`) actually correct?**
+  _`emit()` has 29 INFERRED edges - model-reasoned connections that need verification._
 - **Are the 21 inferred relationships involving `set()` (e.g. with `buildNodeCodePathFromFlat()` and `collectLeafFacilityNodesInTreeOrder()`) actually correct?**
   _`set()` has 21 INFERRED edges - model-reasoned connections that need verification._

Plik diff jest za duży
+ 1 - 1
web-admin/graphify-out/graph.html


Plik diff jest za duży
+ 112 - 112
web-admin/graphify-out/graph.json


+ 11 - 10
web-admin/graphify-out/manifest.json

@@ -17,8 +17,8 @@
   "/Users/wuzilong/work/00code/zkxw/web-admin/src/types/common/index.ts": 1781272556.3597305,
   "/Users/wuzilong/work/00code/zkxw/web-admin/src/types/directive/directive.d.ts": 1781272556.3601494,
   "/Users/wuzilong/work/00code/zkxw/web-admin/src/types/api/api.d.ts": 1781272556.3606477,
-  "/Users/wuzilong/work/00code/zkxw/web-admin/src/types/import/components.d.ts": 1789708405.9863644,
-  "/Users/wuzilong/work/00code/zkxw/web-admin/src/types/import/auto-imports.d.ts": 1789711366.3105218,
+  "/Users/wuzilong/work/00code/zkxw/web-admin/src/types/import/components.d.ts": 1789911088.6384528,
+  "/Users/wuzilong/work/00code/zkxw/web-admin/src/types/import/auto-imports.d.ts": 1789907807.4396596,
   "/Users/wuzilong/work/00code/zkxw/web-admin/src/types/store/index.ts": 1787887312.735774,
   "/Users/wuzilong/work/00code/zkxw/web-admin/src/types/router/index.ts": 1787887320.8486114,
   "/Users/wuzilong/work/00code/zkxw/web-admin/src/composables/useAttachmentActions.ts": 1788162977.6691713,
@@ -355,15 +355,16 @@
   "/Users/wuzilong/work/00code/zkxw/web-admin/src/components/oa-approval/OaFormDesignerEmbed.vue": 1785145511.6925569,
   "/Users/wuzilong/work/00code/zkxw/web-admin/src/components/oa-approval/OaRelatedApproval.vue": 1786415204.9434047,
   "/Users/wuzilong/work/00code/zkxw/web-admin/src/components/oa-approval/OaProgressChain.vue": 1786600903.7654822,
-  "/Users/wuzilong/work/00code/zkxw/web-admin/src/components/oa-approval/OaInstanceDetailDialog.vue": 1786415214.1541882,
+  "/Users/wuzilong/work/00code/zkxw/web-admin/src/components/oa-approval/OaInstanceDetailDialog.vue": 1789911136.0278683,
   "/Users/wuzilong/work/00code/zkxw/web-admin/src/components/oa-approval/OaResignationKit.vue": 1785405000.8028867,
   "/Users/wuzilong/work/00code/zkxw/web-admin/src/components/oa-approval/OaConfirmationKit.vue": 1785403411.176012,
+  "/Users/wuzilong/work/00code/zkxw/web-admin/src/components/oa-approval/OaCommentPanel.vue": 1789911096.5911582,
   "/Users/wuzilong/work/00code/zkxw/web-admin/src/components/oa-approval/OaOwnerPersonSelect.vue": 1785401010.5990565,
   "/Users/wuzilong/work/00code/zkxw/web-admin/src/components/oa-approval/OaStartFormDialog.vue": 1786590587.9781795,
   "/Users/wuzilong/work/00code/zkxw/web-admin/src/components/oa-approval/OaDeptSelect.vue": 1785382264.265851,
   "/Users/wuzilong/work/00code/zkxw/web-admin/src/components/oa-approval/OaTripItinerary.vue": 1785489392.2403016,
   "/Users/wuzilong/work/00code/zkxw/web-admin/src/components/oa-approval/OaMoneyField.vue": 1785382264.3025115,
-  "/Users/wuzilong/work/00code/zkxw/web-admin/src/components/oa-approval/OaFcUpload.vue": 1788163046.3696945,
+  "/Users/wuzilong/work/00code/zkxw/web-admin/src/components/oa-approval/OaFcUpload.vue": 1789908673.1100113,
   "/Users/wuzilong/work/00code/zkxw/web-admin/src/components/oa-approval/OaOwnerDeptSelect.vue": 1785401021.3290825,
   "/Users/wuzilong/work/00code/zkxw/web-admin/src/components/oa-approval/OaAppIconPicker.vue": 1785996996.907459,
   "/Users/wuzilong/work/00code/zkxw/web-admin/src/components/oa-approval/OaTripKit.vue": 1785412919.2794502,
@@ -418,7 +419,7 @@
   "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/cell-product.ts": 1785290097.6330564,
   "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/sample-sms-notification.ts": 1781272556.666838,
   "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/production-waste-output.ts": 1787023802.604376,
-  "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/oaApproval.ts": 1787892852.5955176,
+  "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/oaApproval.ts": 1789910946.122377,
   "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/material-stock-check.ts": 1781427280.4992144,
   "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/research-donation.ts": 1782893816.502791,
   "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/qc-task.ts": 1783327864.9737554,
@@ -435,7 +436,7 @@
   "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/sample-reception.ts": 1782719389.581961,
   "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/auth.ts": 1789711364.4677992,
   "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/qc-work-order.ts": 1787193626.7833252,
-  "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/auth/login/index.vue": 1789711416.2312732,
+  "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/auth/login/index.vue": 1789715240.9777095,
   "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/cell-storage/refund-confirm/index.vue": 1782893854.3402505,
   "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/cell-storage/my-material-usage/index.vue": 1782893854.311591,
   "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/cell-storage/protocol/index.vue": 1788315818.1102333,
@@ -512,7 +513,7 @@
   "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/oa-approval/history/index.vue": 1788163164.291932,
   "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/oa-approval/mine/index.vue": 1786416848.7317674,
   "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/oa-approval/designer/index.vue": 1786415778.485927,
-  "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/oa-approval/instances/detail.vue": 1785990793.1733682,
+  "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/oa-approval/instances/detail.vue": 1789911134.5706506,
   "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/oa-approval/cc/index.vue": 1786416869.1902819,
   "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/oa-approval/apps/index.vue": 1785993209.2907894,
   "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/oa-approval/pending/index.vue": 1786416827.4376934,
@@ -721,9 +722,9 @@
   "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/basic-info/cell-sample-type/index.vue": 1783326449.043507,
   "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/basic-info/cell-sample-type/SampleCodeTab.vue": 1783326449.0444326,
   "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/basic-info/insurance-company/index.vue": 1782893851.6212523,
-  "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/basic-info/collection-protocol-no/index.vue": 1782893851.573797,
+  "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/basic-info/collection-protocol-no/index.vue": 1789716962.6334765,
   "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/basic-info/customer/index.vue": 1783326449.0455372,
-  "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/basic-info/collection-region/index.vue": 1789702500.075,
+  "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/basic-info/collection-region/index.vue": 1789718560.3677728,
   "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/basic-info/collection-region/CollectionProtocolNoTab.vue": 1783326449.0493598,
   "/Users/wuzilong/work/00code/zkxw/web-admin/src/assets/svg/loading.ts": 1781272558.486104,
   "/Users/wuzilong/work/00code/zkxw/web-admin/src/store/index.ts": 1781272559.227605,
@@ -745,7 +746,7 @@
   "/Users/wuzilong/work/00code/zkxw/web-admin/src/router/core/RoutePermissionValidator.ts": 1781272559.4235668,
   "/Users/wuzilong/work/00code/zkxw/web-admin/src/router/core/index.ts": 1781272559.424284,
   "/Users/wuzilong/work/00code/zkxw/web-admin/src/router/core/IframeRouteManager.ts": 1781272559.425215,
-  "/Users/wuzilong/work/00code/zkxw/web-admin/src/router/modules/sqxp.ts": 1789696342.9507763,
+  "/Users/wuzilong/work/00code/zkxw/web-admin/src/router/modules/sqxp.ts": 1789716949.8381162,
   "/Users/wuzilong/work/00code/zkxw/web-admin/src/router/modules/index.ts": 1781272559.5419338,
   "/Users/wuzilong/work/00code/zkxw/web-admin/src/router/modules/exception.ts": 1781272559.549901,
   "/Users/wuzilong/work/00code/zkxw/web-admin/src/router/routes/staticRoutes.ts": 1781272559.596198,

+ 10 - 0
web-admin/src/components/oa-approval/OaInstanceDetailDialog.vue

@@ -33,6 +33,15 @@
           <pre v-else-if="!loading" class="oa-detail-dlg__json">{{ prettyForm }}</pre>
         </div>
       </section>
+      <section class="oa-detail-dlg__section">
+        <OaCommentPanel
+          v-if="detail?.id"
+          :instance-id="detail.id"
+          :instance-status="detail.status || ''"
+          :comments="detail.comments || []"
+          @refresh="load"
+        />
+      </section>
       <section class="oa-detail-dlg__section oa-detail-dlg__section--progress">
         <OaProgressChain :items="timelineItems" />
       </section>
@@ -51,6 +60,7 @@
   import { Close } from '@element-plus/icons-vue'
   import { ElMessage } from 'element-plus'
   import { fetchOaInstanceDetail } from '@/api/oaApproval'
+  import OaCommentPanel from '@/components/oa-approval/OaCommentPanel.vue'
   import OaProgressChain from '@/components/oa-approval/OaProgressChain.vue'
   import {
     OA_FC_DEFAULT_GUTTER,

+ 11 - 0
web-admin/src/views/oa-approval/instances/detail.vue

@@ -90,6 +90,16 @@
           </div>
         </section>
 
+        <section class="oa-detail__section">
+          <OaCommentPanel
+            v-if="detail?.id"
+            :instance-id="detail.id"
+            :instance-status="detail.status || ''"
+            :comments="detail.comments || []"
+            @refresh="load"
+          />
+        </section>
+
         <section class="oa-detail__section oa-detail__section--progress">
           <OaProgressChain :items="timelineItems" />
         </section>
@@ -203,6 +213,7 @@
     fetchTransferOaTask,
     fetchWithdrawOaInstance
   } from '@/api/oaApproval'
+  import OaCommentPanel from '@/components/oa-approval/OaCommentPanel.vue'
   import OaProgressChain from '@/components/oa-approval/OaProgressChain.vue'
   import { MAX_ADMIN_LIST_PAGE_SIZE } from '@/utils/fetch-paged-list'
   import { useUserStore } from '@/store/modules/user'

Niektóre pliki nie zostały wyświetlone z powodu dużej ilości zmienionych plików