47a56e40git 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 edgesuseKeywordSearch() - 11 edgesattachmentApi - 10 edgesuseExpenseItemTree() - 10 edgesmoneyOrDash() --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.tspayCardTitle() --calls--> resolveExpenseDisplay() [EXTRACTED]
src/views/payment/PaymentPage.vue → src/hooks/useExpenseItemTree.tsCohesion: 0.05 Nodes (33): reimburseApi, BX_MENU_CATALOG, BxMenuEntry, BxMenuPhase, app, router, routes, MenuItem (+25 more)
Cohesion: 0.08 Nodes (25): actionLoading, actionType, bizKind, confirmAction(), currentItem, fetchPage(), finished, { flatList } (+17 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.07 Nodes (38): detailInvoices, detailSummary, detailUser, fetchInvoices(), fetchWallets(), invFinished, invLoading, InvoiceAtt (+30 more)
Cohesion: 0.07 Nodes (36): activeTab, allLedgers, ensureLedgersLoaded(), fetchInvoices(), fetchLedgersPage(), invFinished, invLoading, InvoiceAtt (+28 more)
Cohesion: 0.13 Nodes (17): advanceApi, activeTab, currentPage, fetchPage(), finished, handleDelete(), handleSubmit(), { keyword, clearKeyword, flushSearch } (+9 more)
Cohesion: 0.07 Nodes (34): activeTab, addActions, advanceFinished, advanceList, advanceLoadingMore, advancePage, advanceRefreshing, advanceStatus (+26 more)
Cohesion: 0.05 Nodes (29): applicantKeyword, applicantLabel, { applicantOptions, loadApplicantOptions }, applicantPickerColumns, auth, balanceInsufficient, DetailLine, detailTotalAmount (+21 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.06 Nodes (44): advanceIssueRecordStatusLabel(), advanceIssueRecordStatusTagClass(), formatApplyDate(), formatApplyDateTime(), formatDate(), formatDateTime(), paymentDetailTicketToneClass(), paymentRecordRawStatus() (+36 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.12 Nodes (22): workflowApi, approverDisplay, buildNodePayload(), formData, handleDelete(), handleSubmit(), isEdit, loading (+14 more)
Cohesion: 0.11 Nodes (22): activeTab, cardTitle(), currentStatus(), fetchList(), finished, { flatList }, handleDelete(), handleSubmit() (+14 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.13 Nodes (14): portalAdminApi, portalAuthApi, portalClient, PortalError, useApplicantOptions(), buildWebEncryptedLoginBody(), auth, clearError() (+6 more)
Cohesion: 0.08 Nodes (22): BizError, bxClient, attachmentApi, BxId, invoiceApi, invoiceWalletApi, SUBMIT_APPROVE_BUTTON_COLOR, AttachmentFile (+14 more)
Cohesion: 0.22 Nodes (8): expenseItemApi, ExpenseItem, formatExpenseName(), pickExpenseItemId(), resolveExpenseDisplay(), useExpenseItemTree(), payCardTitle(), lineExpenseDisplay()
Cohesion: 0.14 Nodes (14): formatAmount(), actualIssuedDisplay(), popupOffsetTotalDisplay(), actualIssuedDisplay(), detailOffsetTotalDisplay(), actualIssuedDisplay(), actualIssuedDisplay(), moneyOrDash() (+6 more)
Cohesion: 0.25 Nodes (7): compilerOptions, allowSyntheticDefaultImports, composite, module, moduleResolution, skipLibCheck, include
Cohesion: 0.33 Nodes (6): confirmIssue(), confirmOffset(), fetchPage(), onLoad(), onRefresh(), remainingOffset()
Cohesion: 0.40 Nodes (5): loadEditData(), onApplicantConfirm(), refreshTitle(), refreshWallet(), todayYmd()
Cohesion: 0.67 Nodes (3): buildInvoicePayload(), onSubmit(), validateReimburseApplyForm()
GlobalComponents, name, private, version, type (+476 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 AllPage.vue to ApprovalPage.vue, RoleManagePage.vue, format.ts, MinePage.vue, AdvanceApprovePage.vue, ReimburseApprovePage.vue, MenuManagePage.vue, UserManagePage.vue, ReimburseDetailPage.vue, ExpenseProjectPage.vue, WfReimbursePage.vue, ReimburseListPage.vue, WfAdvancePage.vue, ApprovalDetailPage.vue, AdvanceDetailPage.vue?
High betweenness centrality (0.053) - this node is a cross-community bridge.formatAmount() connect index.ts to ApprovalPage.vue, PaymentPage.vue, format.ts, MinePage.vue, AdvanceApprovePage.vue, AdvanceIssuePage.vue, ReimburseApprovePage.vue, AllPage.vue, ReimburseDetailPage.vue, ReimburseListPage.vue, ApprovalDetailPage.vue, AdvanceDetailPage.vue?
High betweenness centrality (0.034) - this node is a cross-community bridge.attachmentApi connect AdvanceApplyPage.vue to PaymentPage.vue, InvoiceWalletAdminPage.vue, InvoiceWalletMinePage.vue, AdvanceApprovePage.vue, AdvanceIssuePage.vue, ReimburseApprovePage.vue, ReimburseDetailPage.vue, AdvanceDetailPage.vue?
High betweenness centrality (0.024) - this node is a cross-community bridge.GlobalComponents, name, private to the rest of the system?
481 weakly-connected nodes found - possible documentation gaps or missing edges.HomePage.vue be split into smaller, more focused modules?
Cohesion score 0.05176470588235294 - nodes in this community are weakly interconnected.ApprovalPage.vue be split into smaller, more focused modules?
Cohesion score 0.07956989247311828 - 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.