43d53cb9git rev-parse HEAD and compare to check if the graph is stale.graphify update . after code changes (no API cost).formatAmount() - 28 edgesstatusLabel() - 19 edgescompilerOptions - 18 edgesresolveExpenseDisplay() - 17 edgesformatApplyDateTime() - 14 edgesadvanceApi - 11 edgesreimburseApi - 11 edgesattachmentApi - 11 edgesuseKeywordSearch() - 11 edgesuseExpenseItemTree() - 10 edgesactualIssuedDisplay() --calls--> formatAmount() [EXTRACTED]
src/views/advance/AdvanceListPage.vue → src/utils/format.tsmoneyOrDash() --calls--> formatAmount() [EXTRACTED]
src/views/reimburse/ReimburseListPage.vue → src/utils/format.tsallReimburseLineSubtitle() --calls--> resolveExpenseDisplay() [EXTRACTED]
src/views/all/AllPage.vue → src/hooks/useExpenseItemTree.tsreimburseLineSubtitle() --calls--> resolveExpenseDisplay() [EXTRACTED]
src/views/approval/ApprovalPage.vue → src/hooks/useExpenseItemTree.tsmineReimburseLineSubtitle() --calls--> resolveExpenseDisplay() [EXTRACTED]
src/views/mine/MinePage.vue → src/hooks/useExpenseItemTree.tsCohesion: 0.05 Nodes (33): reimburseApi, BX_MENU_CATALOG, BxMenuEntry, BxMenuPhase, app, router, routes, MenuItem (+25 more)
Cohesion: 0.05 Nodes (38): formatAmount(), actualIssuedDisplay(), popupOffsetTotalDisplay(), actualIssuedDisplay(), detailOffsetTotalDisplay(), actualIssuedDisplay(), moneyOrDash(), actionLoading (+30 more)
Cohesion: 0.05 Nodes (33): activeTab, actualAmount, detailApplyAttachments, detailData, detailLoading, detailOffsetAttachments, detailOffsetRecords, detailPayAttachments (+25 more)
Cohesion: 0.06 Nodes (36): allUsers, collectAllParentIds(), currentPage, editingId, finished, form, handleAssignUserSubmit(), handleDelete() (+28 more)
Cohesion: 0.06 Nodes (40): useKeywordSearch(), UseKeywordSearchOptions, detailInvoices, detailSummary, detailUser, fetchInvoices(), fetchWallets(), invFinished (+32 more)
Cohesion: 0.08 Nodes (20): activeTab, allLedgers, invFinished, invLoading, InvoiceAtt, invoices, invPage, invRefreshing (+12 more)
Cohesion: 0.13 Nodes (18): advanceApi, activeTab, actualIssuedDisplay(), currentPage, fetchPage(), finished, handleDelete(), handleSubmit() (+10 more)
Cohesion: 0.07 Nodes (34): activeTab, addActions, advanceFinished, advanceList, advanceLoadingMore, advancePage, advanceRefreshing, advanceStatus (+26 more)
Cohesion: 0.04 Nodes (33): applicantKeyword, applicantLabel, { applicantOptions, loadApplicantOptions }, applicantPickerColumns, attachItems, auth, balanceInsufficient, DetailLine (+25 more)
Cohesion: 0.06 Nodes (32): actionLoading, actionType, activeTab, confirmAction(), currentItem, detailData, downloadPopupFile(), fetchPage() (+24 more)
Cohesion: 0.06 Nodes (27): activeTab, actualAmount, confirmIssue(), detailApplyAttachments, detailData, detailIssueAttachments, detailOffsetRecords, fetchList() (+19 more)
Cohesion: 0.07 Nodes (31): actionLoading, actionType, activeTab, cardTitle(), confirmAction(), currentItem, detailData, fetchPage() (+23 more)
Cohesion: 0.07 Nodes (26): Props, Props, variantClass, menuTypeLabel(), editingId, form, handleDelete(), handleSubmit() (+18 more)
Cohesion: 0.07 Nodes (29): currentPage, editingId, finished, form, handleDelete(), handleSearch(), handleSubmit(), handleToggleStatus() (+21 more)
Cohesion: 0.09 Nodes (27): activeTab, allReimburseCardTitle(), allReimburseLineSubtitle(), allRows, displayList, displayPage, extractRows(), filteredList (+19 more)
Cohesion: 0.07 Nodes (30): actionButtons, applyAttachments, approvals, canWithdraw, checkResubmitPrompt(), deleteLoading, detail, detailTab (+22 more)
Cohesion: 0.09 Nodes (24): dialogMode, dialogTitle, expandedIds, expenseTree, form, handleDelete(), handleSubmit(), isEdit (+16 more)
Cohesion: 0.08 Nodes (25): dependencies, axios, dayjs, jsencrypt, pinia, vant, @vant/use, vue (+17 more)
Cohesion: 0.06 Nodes (36): workflowApi, portalAdminApi, portalAuthApi, portalClient, PortalError, useApplicantOptions(), buildWebEncryptedLoginBody(), approverDisplay (+28 more)
Cohesion: 0.08 Nodes (30): expenseItemApi, ExpenseItem, formatExpenseName(), pickExpenseItemId(), resolveExpenseDisplay(), useExpenseItemTree(), payCardTitle(), lineExpenseDisplay() (+22 more)
Cohesion: 0.12 Nodes (22): approverDisplay, approverKeyword, buildNodePayload(), formData, handleDelete(), handleSubmit(), isEdit, loading (+14 more)
Cohesion: 0.07 Nodes (23): actionType, advanceOffsetRecords, advanceOffsetTotalDisplay, approvals, bizType, detail, detailTab, dialogSubmitting (+15 more)
Cohesion: 0.10 Nodes (20): paymentApi, actionLoading, approvals, AttachmentInfo, attachments, checkResubmitPrompt(), detail, detailTab (+12 more)
Cohesion: 0.09 Nodes (21): compilerOptions, allowImportingTsExtensions, baseUrl, isolatedModules, jsx, lib, module, moduleResolution (+13 more)
Cohesion: 0.16 Nodes (15): advanceIssueRecordStatusLabel(), advanceIssueRecordStatusTagClass(), formatApplyDate(), formatDate(), paymentDetailTicketToneClass(), paymentRecordRawStatus(), paymentRecordStatusLabel(), paymentRecordStatusTagClass() (+7 more)
Cohesion: 0.13 Nodes (14): SUBMIT_APPROVE_BUTTON_COLOR, attachment, attachmentAccept, fieldErr, form, isEdit, loadEditData(), onSubmit() (+6 more)
Cohesion: 0.17 Nodes (8): BizError, bxClient, attachmentApi, BxId, invoiceApi, invoiceWalletApi, AttachmentFile, useAttachment()
Cohesion: 0.22 Nodes (9): ensureLedgersLoaded(), fetchLedgersPage(), ledgers, loadSummary(), onInvoiceRefresh(), onLedgerLoad(), onLedgerRefresh(), onUploadBeforeClose() (+1 more)
Cohesion: 0.25 Nodes (7): compilerOptions, allowSyntheticDefaultImports, composite, module, moduleResolution, skipLibCheck, include
Cohesion: 0.29 Nodes (7): fetchInvoices(), invoiceFiles(), isImage(), kickInvoicePreviewLoads(), normalizeInvoiceFiles(), onInvoiceLoad(), openAttachment()
Cohesion: 0.33 Nodes (6): confirmIssue(), confirmOffset(), fetchPage(), onLoad(), onRefresh(), remainingOffset()
Cohesion: 0.24 Nodes (10): buildAttachItems(), confirmInvoicePicker(), invoiceFileList(), isImageFileType(), kickAttachPreviews(), loadEditData(), onApplicantConfirm(), refreshTitle() (+2 more)
Cohesion: 0.67 Nodes (3): buildInvoicePayload(), onSubmit(), validateReimburseApplyForm()
GlobalComponents, name, private, version, type (+480 more)
These have ≤1 connection - possible missing edges or undocumented components.graphify query to explore isolated nodes.Questions this graph is uniquely positioned to answer:
statusLabel() connect LoginPage.vue to ApprovalPage.vue, RoleManagePage.vue, format.ts, MinePage.vue, AdvanceApprovePage.vue, ReimburseApprovePage.vue, MenuManagePage.vue, UserManagePage.vue, AllPage.vue, ReimburseDetailPage.vue, ExpenseProjectPage.vue, WfReimbursePage.vue, ReimburseListPage.vue, WfAdvancePage.vue, ApprovalDetailPage.vue, AdvanceDetailPage.vue?
High betweenness centrality (0.052) - this node is a cross-community bridge.attachmentApi connect useExpenseItemTree.ts to PaymentPage.vue, InvoiceWalletAdminPage.vue, InvoiceWalletMinePage.vue, ReimburseApplyPage.vue, AdvanceApprovePage.vue, AdvanceIssuePage.vue, ReimburseApprovePage.vue, ReimburseDetailPage.vue, AdvanceDetailPage.vue?
High betweenness centrality (0.037) - this node is a cross-community bridge.formatAmount() connect ApprovalPage.vue to PaymentPage.vue, format.ts, MinePage.vue, AdvanceApprovePage.vue, AdvanceIssuePage.vue, ReimburseApprovePage.vue, AllPage.vue, ReimburseDetailPage.vue, ReimburseListPage.vue, ApprovalDetailPage.vue, AdvanceDetailPage.vue, LoginPage.vue?
High betweenness centrality (0.033) - this node is a cross-community bridge.GlobalComponents, name, private to the rest of the system?
485 weakly-connected nodes found - possible documentation gaps or missing edges.HomePage.vue be split into smaller, more focused modules?
Cohesion score 0.05052790346907994 - nodes in this community are weakly interconnected.ApprovalPage.vue be split into smaller, more focused modules?
Cohesion score 0.05496828752642706 - nodes in this community are weakly interconnected.PaymentPage.vue be split into smaller, more focused modules?
Cohesion score 0.046511627906976744 - nodes in this community are weakly interconnected.