zlwu hace 4 meses
padre
commit
d39e53d843

+ 1 - 1
backend/app.pid

@@ -1 +1 @@
-46205
+57892

+ 6 - 4
backend/app/crud/research_donation.py

@@ -1186,16 +1186,18 @@ def change_status(
 
     current = obj.donation_status or ""
     ns = (new_status or "").strip()
-    allowed = _VALID_TRANSITIONS.get(current, [])
-    if ns not in allowed:
-        raise ValueError(f"状态 {current} 不可转为 {ns}")
+    if current != ns:
+        allowed = _VALID_TRANSITIONS.get(current, [])
+        if ns not in allowed:
+            raise ValueError(f"状态 {current} 不可转为 {ns}")
 
     now = datetime.now()
     if isinstance(time_val, str):
         time_val = parse_datetime(time_val)
     effective_time = time_val or now
 
-    obj.donation_status = ns
+    if current != ns:
+        obj.donation_status = ns
     obj.update_by = user_id
     obj.update_time = now
 

La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 493 - 652
web-admin/graphify-out/.graphify_analysis.json


+ 7 - 143
web-admin/graphify-out/.graphify_extract.json

@@ -5075,54 +5075,26 @@
       "source_file": "components/business/clinical-payment-confirm-timeline/index.vue",
       "source_location": "L1"
     },
-    {
-      "id": "clinical_payment_confirm_timeline_index_dash",
-      "label": "dash()",
-      "file_type": "code",
-      "source_file": "components/business/clinical-payment-confirm-timeline/index.vue",
-      "source_location": "L231"
-    },
-    {
-      "id": "clinical_payment_confirm_timeline_index_isblockfield",
-      "label": "isBlockField()",
-      "file_type": "code",
-      "source_file": "components/business/clinical-payment-confirm-timeline/index.vue",
-      "source_location": "L256"
-    },
-    {
-      "id": "clinical_payment_confirm_timeline_index_inlinefields",
-      "label": "inlineFields()",
-      "file_type": "code",
-      "source_file": "components/business/clinical-payment-confirm-timeline/index.vue",
-      "source_location": "L260"
-    },
-    {
-      "id": "clinical_payment_confirm_timeline_index_blockfields",
-      "label": "blockFields()",
-      "file_type": "code",
-      "source_file": "components/business/clinical-payment-confirm-timeline/index.vue",
-      "source_location": "L264"
-    },
     {
       "id": "clinical_payment_confirm_timeline_index_showstepcontent",
       "label": "showStepContent()",
       "file_type": "code",
       "source_file": "components/business/clinical-payment-confirm-timeline/index.vue",
-      "source_location": "L268"
+      "source_location": "L247"
     },
     {
       "id": "clinical_payment_confirm_timeline_index_protocolpaymodelabel",
       "label": "protocolPayModeLabel()",
       "file_type": "code",
       "source_file": "components/business/clinical-payment-confirm-timeline/index.vue",
-      "source_location": "L284"
+      "source_location": "L263"
     },
     {
       "id": "clinical_payment_confirm_timeline_index_formatprotocolamount",
       "label": "formatProtocolAmount()",
       "file_type": "code",
       "source_file": "components/business/clinical-payment-confirm-timeline/index.vue",
-      "source_location": "L289"
+      "source_location": "L268"
     },
     {
       "id": "components_business_outbound_material_readonly_panel_index_vue",
@@ -28099,121 +28071,13 @@
       "source_location": "L400",
       "weight": 1.0
     },
-    {
-      "source": "components_business_clinical_payment_confirm_timeline_index_vue",
-      "target": "views_cell_storage_protocol_protocolattachmentreadonly_vue",
-      "relation": "imports_from",
-      "confidence": "EXTRACTED",
-      "source_file": "components/business/clinical-payment-confirm-timeline/index.vue",
-      "source_location": "L187",
-      "weight": 1.0
-    },
-    {
-      "source": "components_business_clinical_payment_confirm_timeline_index_vue",
-      "target": "users_wuzilong_work_00code_zkxw_web_admin_src_config_pilot_biz_type",
-      "relation": "imports_from",
-      "confidence": "EXTRACTED",
-      "source_file": "components/business/clinical-payment-confirm-timeline/index.vue",
-      "source_location": "L188",
-      "weight": 1.0
-    },
-    {
-      "source": "components_business_clinical_payment_confirm_timeline_index_vue",
-      "target": "users_wuzilong_work_00code_zkxw_web_admin_src_utils_mask_sensitive",
-      "relation": "imports_from",
-      "confidence": "EXTRACTED",
-      "source_file": "components/business/clinical-payment-confirm-timeline/index.vue",
-      "source_location": "L189",
-      "weight": 1.0
-    },
-    {
-      "source": "components_business_clinical_payment_confirm_timeline_index_vue",
-      "target": "users_wuzilong_work_00code_zkxw_web_admin_src_utils_status_tag_registry",
-      "relation": "imports_from",
-      "confidence": "EXTRACTED",
-      "source_file": "components/business/clinical-payment-confirm-timeline/index.vue",
-      "source_location": "L190",
-      "weight": 1.0
-    },
-    {
-      "source": "components_business_clinical_payment_confirm_timeline_index_vue",
-      "target": "users_wuzilong_work_00code_zkxw_web_admin_src_utils_clinical_payment_flow_steps",
-      "relation": "imports_from",
-      "confidence": "EXTRACTED",
-      "source_file": "components/business/clinical-payment-confirm-timeline/index.vue",
-      "source_location": "L191",
-      "weight": 1.0
-    },
-    {
-      "source": "components_business_clinical_payment_confirm_timeline_index_vue",
-      "target": "users_wuzilong_work_00code_zkxw_web_admin_src_utils_protocol_payment_flow_steps",
-      "relation": "imports_from",
-      "confidence": "EXTRACTED",
-      "source_file": "components/business/clinical-payment-confirm-timeline/index.vue",
-      "source_location": "L197",
-      "weight": 1.0
-    },
-    {
-      "source": "components_business_clinical_payment_confirm_timeline_index_vue",
-      "target": "users_wuzilong_work_00code_zkxw_web_admin_src_utils_protocol_payment_labels",
-      "relation": "imports_from",
-      "confidence": "EXTRACTED",
-      "source_file": "components/business/clinical-payment-confirm-timeline/index.vue",
-      "source_location": "L198",
-      "weight": 1.0
-    },
-    {
-      "source": "components_business_clinical_payment_confirm_timeline_index_vue",
-      "target": "users_wuzilong_work_00code_zkxw_web_admin_src_utils_money_format",
-      "relation": "imports_from",
-      "confidence": "EXTRACTED",
-      "source_file": "components/business/clinical-payment-confirm-timeline/index.vue",
-      "source_location": "L206",
-      "weight": 1.0
-    },
-    {
-      "source": "components_business_clinical_payment_confirm_timeline_index_vue",
-      "target": "clinical_payment_confirm_timeline_index_dash",
-      "relation": "contains",
-      "confidence": "EXTRACTED",
-      "source_file": "components/business/clinical-payment-confirm-timeline/index.vue",
-      "source_location": "L231",
-      "weight": 1.0
-    },
-    {
-      "source": "components_business_clinical_payment_confirm_timeline_index_vue",
-      "target": "clinical_payment_confirm_timeline_index_isblockfield",
-      "relation": "contains",
-      "confidence": "EXTRACTED",
-      "source_file": "components/business/clinical-payment-confirm-timeline/index.vue",
-      "source_location": "L256",
-      "weight": 1.0
-    },
-    {
-      "source": "components_business_clinical_payment_confirm_timeline_index_vue",
-      "target": "clinical_payment_confirm_timeline_index_inlinefields",
-      "relation": "contains",
-      "confidence": "EXTRACTED",
-      "source_file": "components/business/clinical-payment-confirm-timeline/index.vue",
-      "source_location": "L260",
-      "weight": 1.0
-    },
-    {
-      "source": "components_business_clinical_payment_confirm_timeline_index_vue",
-      "target": "clinical_payment_confirm_timeline_index_blockfields",
-      "relation": "contains",
-      "confidence": "EXTRACTED",
-      "source_file": "components/business/clinical-payment-confirm-timeline/index.vue",
-      "source_location": "L264",
-      "weight": 1.0
-    },
     {
       "source": "components_business_clinical_payment_confirm_timeline_index_vue",
       "target": "clinical_payment_confirm_timeline_index_showstepcontent",
       "relation": "contains",
       "confidence": "EXTRACTED",
       "source_file": "components/business/clinical-payment-confirm-timeline/index.vue",
-      "source_location": "L268",
+      "source_location": "L247",
       "weight": 1.0
     },
     {
@@ -28222,7 +28086,7 @@
       "relation": "contains",
       "confidence": "EXTRACTED",
       "source_file": "components/business/clinical-payment-confirm-timeline/index.vue",
-      "source_location": "L284",
+      "source_location": "L263",
       "weight": 1.0
     },
     {
@@ -28231,7 +28095,7 @@
       "relation": "contains",
       "confidence": "EXTRACTED",
       "source_file": "components/business/clinical-payment-confirm-timeline/index.vue",
-      "source_location": "L289",
+      "source_location": "L268",
       "weight": 1.0
     },
     {
@@ -52995,7 +52859,7 @@
       "confidence": "INFERRED",
       "confidence_score": 0.8,
       "source_file": "components/business/clinical-payment-confirm-timeline/index.vue",
-      "source_location": "L291",
+      "source_location": "L270",
       "weight": 1.0
     },
     {

+ 132 - 98
web-admin/graphify-out/GRAPH_REPORT.md

@@ -1,10 +1,10 @@
 # Graph Report - src  (2026-06-18)
 
 ## Corpus Check
-- Large corpus: 784 files · ~521,882 words. Semantic extraction will be expensive (many Claude tokens). Consider running on a subfolder, or use --no-semantic to run AST-only.
+- Large corpus: 784 files · ~521,751 words. Semantic extraction will be expensive (many Claude tokens). Consider running on a subfolder, or use --no-semantic to run AST-only.
 
 ## Summary
-- 2606 nodes · 3626 edges · 48 communities detected
+- 2602 nodes · 3621 edges · 54 communities detected
 - Extraction: 78% EXTRACTED · 22% INFERRED · 0% AMBIGUOUS · INFERRED: 795 edges (avg confidence: 0.8)
 - Token cost: 0 input · 0 output
 
@@ -47,16 +47,22 @@
 - [[_COMMUNITY_Community 36|Community 36]]
 - [[_COMMUNITY_Community 37|Community 37]]
 - [[_COMMUNITY_Community 38|Community 38]]
-- [[_COMMUNITY_Community 41|Community 41]]
+- [[_COMMUNITY_Community 39|Community 39]]
+- [[_COMMUNITY_Community 40|Community 40]]
 - [[_COMMUNITY_Community 42|Community 42]]
 - [[_COMMUNITY_Community 43|Community 43]]
+- [[_COMMUNITY_Community 45|Community 45]]
 - [[_COMMUNITY_Community 46|Community 46]]
-- [[_COMMUNITY_Community 47|Community 47]]
 - [[_COMMUNITY_Community 49|Community 49]]
 - [[_COMMUNITY_Community 50|Community 50]]
-- [[_COMMUNITY_Community 52|Community 52]]
+- [[_COMMUNITY_Community 51|Community 51]]
+- [[_COMMUNITY_Community 53|Community 53]]
+- [[_COMMUNITY_Community 54|Community 54]]
+- [[_COMMUNITY_Community 56|Community 56]]
 - [[_COMMUNITY_Community 58|Community 58]]
-- [[_COMMUNITY_Community 60|Community 60]]
+- [[_COMMUNITY_Community 59|Community 59]]
+- [[_COMMUNITY_Community 64|Community 64]]
+- [[_COMMUNITY_Community 66|Community 66]]
 
 ## God Nodes (most connected - your core abstractions)
 1. `get()` - 265 edges
@@ -73,240 +79,266 @@
 ## Surprising Connections (you probably didn't know these)
 - `buildInboundMetaFields()` --calls--> `push()`  [INFERRED]
   utils/production-work-order-card-meta.ts → views/operations/storage-facility/index.vue
-- `handleDownloadAttachment()` --calls--> `downloadAttachmentFile()`  [INFERRED]
-  views/pilot-service/infusion-schedule-management/InfusionScheduleHandoverDialog.vue → utils/download-attachment.ts
-- `handleDownloadAttachment()` --calls--> `downloadAttachmentFile()`  [INFERRED]
-  views/pilot-service/outbound-release-review/OutboundReleaseReviewDialog.vue → utils/download-attachment.ts
+- `formatAmount()` --calls--> `formatMoneyDisplay()`  [INFERRED]
+  views/pilot-service/clinical-payment-confirm/index.vue → utils/money-format.ts
+- `defaultInstallmentRatios()` --calls--> `push()`  [INFERRED]
+  utils/protocol-payment-installment.ts → views/operations/storage-facility/index.vue
+- `calcUnpaidAmountsByRatios()` --calls--> `push()`  [INFERRED]
+  utils/protocol-payment-installment.ts → views/operations/storage-facility/index.vue
 - `subscribeTokenRefresh()` --calls--> `push()`  [INFERRED]
   utils/http/index.ts → views/operations/storage-facility/index.vue
-- `fetchSampleReceptionCheckItemList()` --calls--> `get()`  [INFERRED]
-  api/sample-reception-check-item.ts → views/production/process/ProcessRouteTab.vue
 
 ## Communities
 
 ### Community 0 - "Community 0"
 Cohesion: 0.01
-Nodes (170): fetchAccessLogList(), fetchActiveRegions(), fetchCategoryList(), fetchCategoryParameters(), fetchCellProductPriceList(), fetchChannelAccount(), fetchChannelAgreementPrices(), fetchChannelAgreements() (+162 more)
+Nodes (142): fetchAccessLogList(), fetchActiveRegions(), fetchCategoryList(), fetchCategoryParameters(), fetchCellProductPriceList(), fetchChannelAccount(), fetchChannelAgreementPrices(), fetchChannelAgreements() (+134 more)
 
 ### Community 1 - "Community 1"
-Cohesion: 0.01
-Nodes (36): fetchCheckupInstitutionInvoices(), fetchCheckupInstitutionList(), fetchCheckupInstitutionProjects(), fetchCreateCheckupInstitution(), fetchCreateCheckupInstitutionInvoice(), fetchCreateCheckupInstitutionProject(), fetchDeleteProjectSystemItem(), fetchGetRoleList() (+28 more)
-
-### Community 2 - "Community 2"
 Cohesion: 0.02
-Nodes (71): fetchFullmoonTodoList(), fetchInfusionScheduleMgmtDetail(), fetchUpdateFullmoonTodoInsurance(), fetchAttachmentDownloadUrl(), fetchCollectionProtocolAuditList(), fetchCollectionProtocolDetail(), fetchCollectionProtocolList(), fetchCreateProtocolInvoiceRequest() (+63 more)
+Nodes (64): fetchUploadAttachment(), fetchMyProductionTasks(), fetchMyQcTaskList(), fetchQcTaskDetail(), fetchQcTaskList(), FireworkSystem, reload(), handleReportUpload() (+56 more)
 
-### Community 3 - "Community 3"
+### Community 2 - "Community 2"
 Cohesion: 0.03
 Nodes (50): fetchGetMenuList(), fetchGetMenuCodes(), fetchGetUserInfo(), fetchLogin(), fetchUpdateProfile(), fetchUploadProfileAvatar(), IframeRouteManager, MenuProcessor (+42 more)
 
+### Community 3 - "Community 3"
+Cohesion: 0.02
+Nodes (42): fetchAllConsumablePacks(), fetchAllConsumables(), fetchAllConsumableStockLogs(), fetchAllEquipments(), fetchAllOutputTypes(), fetchAllProcessCategories(), fetchAllProcesses(), fetchAllReagents() (+34 more)
+
 ### Community 4 - "Community 4"
-Cohesion: 0.04
-Nodes (78): fetchUploadAttachment(), reload(), handleReportUpload(), handleReportUpload(), walk(), buildBaseFields(), buildFeeSection(), buildInboundBasicSection() (+70 more)
+Cohesion: 0.03
+Nodes (52): fetchCheckupInstitutionInvoices(), fetchCheckupInstitutionList(), fetchCheckupInstitutionProjects(), fetchCreateCheckupInstitution(), fetchCreateCheckupInstitutionInvoice(), fetchCreateCheckupInstitutionProject(), fetchUpdateCheckupInstitution(), fetchUpdateCheckupInstitutionInvoice() (+44 more)
 
 ### Community 5 - "Community 5"
-Cohesion: 0.03
-Nodes (55): fetchCellSampleTypeList(), fetchCreateCellSampleType(), fetchDeleteCellSampleType(), fetchUpdateCellSampleType(), submitOutboundReleaseReview(), fetchConsumablePackDetail(), fetchConsumablePackList(), fetchCreateConsumablePack() (+47 more)
+Cohesion: 0.04
+Nodes (72): batchSavePilotCheckup(), deletePilotCheckupActualItem(), fetchCheckupInstitutionPackageDetail(), fetchCheckupInstitutionPackages(), fetchPilotCheckupDetail(), markPilotCheckupChecked(), savePilotCheckup(), savePilotCheckupActualItems() (+64 more)
 
 ### Community 6 - "Community 6"
-Cohesion: 0.04
-Nodes (74): batchSavePilotCheckup(), deletePilotCheckupActualItem(), fetchCheckupInstitutionPackageDetail(), fetchCheckupInstitutionPackages(), fetchPilotCheckupActualItems(), fetchPilotCheckupDetail(), fetchPilotCheckupReserveItems(), markPilotCheckupChecked() (+66 more)
+Cohesion: 0.03
+Nodes (42): fetchEthnicList(), fetchDeleteMaterialBatch(), fetchMaterialBatchList(), fetchMaterialBatchOptions(), fetchMaterialList(), fetchMaterialOptions(), fetchUpdateMaterialBatch(), fetchMaterialUsageList() (+34 more)
 
 ### Community 7 - "Community 7"
 Cohesion: 0.04
-Nodes (54): fetchCreateCustomer(), fetchCustomerList(), fetchDeleteCustomer(), fetchUpdateCustomer(), updateInfusionScheduleStatus(), fetchProductionTaskList(), handleAdd(), handleDelete() (+46 more)
+Nodes (51): fetchCreateCustomer(), fetchCustomerList(), fetchDeleteCustomer(), fetchUpdateCustomer(), updateInfusionScheduleStatus(), fetchProductionTaskList(), handleDelete(), handleDropdownCommand() (+43 more)
 
 ### Community 8 - "Community 8"
 Cohesion: 0.04
-Nodes (42): fetchMyProductionTasks(), fetchMyQcTaskList(), fetchQcTaskDetail(), fetchQcTaskList(), for(), set(), annotateForkEdges(), chainApiToElements() (+34 more)
+Nodes (25): handleBlur(), handleFocus(), handleInput(), formatAmount(), formatProtocolAmount(), fmtMoney(), auditorDisplay(), dash() (+17 more)
 
 ### Community 9 - "Community 9"
 Cohesion: 0.04
-Nodes (26): handleBlur(), handleFocus(), handleInput(), formatAmount(), formatAmount(), formatProtocolAmount(), fmtMoney(), auditorDisplay() (+18 more)
+Nodes (31): useSettingsHandlers(), useSettingsPanel(), useSettingsState(), ComponentLoader, RoutePermissionValidator, RouteTransformer, useCeremony(), useTheme() (+23 more)
 
 ### Community 10 - "Community 10"
-Cohesion: 0.05
-Nodes (44): fetchCellProductSpecList(), fetchCellProductTypeList(), fetchStorageSlotSelectOptions(), collectIds(), RoutePermissionValidator, applyProductCodeToLines(), calcExpiryFromFreeze(), createEmptyProductLine() (+36 more)
+Cohesion: 0.04
+Nodes (44): fetchFullmoonTodoList(), fetchUpdateFullmoonTodoInsurance(), fetchCollectionProtocolAuditList(), fetchCollectionProtocolDetail(), fetchCollectionProtocolList(), fetchCreateProtocolInvoiceRequest(), fetchInvoiceEligiblePayments(), fetchPaymentDetailList() (+36 more)
 
 ### Community 11 - "Community 11"
-Cohesion: 0.05
-Nodes (34): fetchClinicalPaymentDetail(), fetchClinicalPayments(), fetchClinicalReceiptConfirmed(), fetchClinicalReceiptPending(), fetchClinicalRefundConfirmed(), fetchClinicalRefundPending(), fetchOrderAdjusts(), fetchOrderDetail() (+26 more)
+Cohesion: 0.04
+Nodes (36): fetchAttachmentDownloadUrl(), qcAttachmentFullUrl(), qcDownloadAttachment(), qcPreviewAttachment(), handleDownloadAttachment(), attachmentFullUrl(), handleAttachmentDownload(), handleAttachmentPreview() (+28 more)
 
 ### Community 12 - "Community 12"
-Cohesion: 0.05
-Nodes (31): fetchDeleteQcMaterialBatch(), fetchQcMaterialBatchList(), fetchQcMaterialBatchOptions(), fetchQcMaterialList(), fetchQcMaterialOptions(), fetchUpdateQcMaterialBatch(), fetchMarkQcMaterialUsageFullyUsed(), fetchMyQcMaterialUsageList() (+23 more)
+Cohesion: 0.04
+Nodes (35): fetchClinicalPaymentDetail(), fetchClinicalPayments(), fetchClinicalReceiptConfirmed(), fetchClinicalReceiptPending(), fetchClinicalRefundConfirmed(), fetchClinicalRefundPending(), fetchOrderAdjusts(), fetchOrderDetail() (+27 more)
 
 ### Community 13 - "Community 13"
-Cohesion: 0.05
-Nodes (34): fetchCreateMenu(), fetchDeleteMenu(), fetchMenuTree(), fetchUpdateMenu(), buildInboundBasicSection(), buildInboundCellStorageViewSections(), buildInboundResearchDonationViewSections(), buildReceptionSection() (+26 more)
+Cohesion: 0.06
+Nodes (38): buildBaseFields(), buildFeeSection(), buildInboundBasicSection(), buildInboundCellStorageProductionViewSections(), buildInboundResearchDonationProductionViewSections(), buildOutboundBasicExperimentProductionViewSections(), buildOutboundClinicalProductionViewSections(), buildOutboundDetail() (+30 more)
 
 ### Community 14 - "Community 14"
 Cohesion: 0.06
 Nodes (11): fetchGetLatestUpgradeLog(), getDefaultLanguage(), checkStorageCompatibility(), StorageConfig, getSystemStorage(), getSysVersion(), StorageKeyManager, StorageCompatibilityManager (+3 more)
 
 ### Community 15 - "Community 15"
-Cohesion: 0.04
-Nodes (28): fetchEthnicList(), formatNowDatetime(), formatHandoverUserLabel(), formatNowDatetime(), fullFileUrl(), handleDownloadAttachment(), handlePreviewAttachment(), isVideoFile() (+20 more)
+Cohesion: 0.06
+Nodes (29): fetchCreateMenu(), fetchDeleteMenu(), fetchMenuTree(), fetchUpdateMenu(), collectIds(), buildInboundBasicSection(), buildInboundCellStorageViewSections(), buildInboundResearchDonationViewSections() (+21 more)
 
 ### Community 16 - "Community 16"
-Cohesion: 0.1
-Nodes (2): WebSocketClient, TableCache
+Cohesion: 0.06
+Nodes (26): fetchDeleteQcMaterialBatch(), fetchQcMaterialBatchList(), fetchQcMaterialBatchOptions(), fetchQcMaterialList(), fetchQcMaterialOptions(), fetchUpdateQcMaterialBatch(), fetchMarkQcMaterialUsageFullyUsed(), financeAttachmentsToUrlString() (+18 more)
 
 ### Community 17 - "Community 17"
-Cohesion: 0.08
-Nodes (33): fetchRefreshToken(), toLogin(), base64ToBytes(), bytesToBase64(), decryptJson(), deriveKey(), encryptJson(), fromBase64Url() (+25 more)
+Cohesion: 0.09
+Nodes (41): applyFqParamsChange(), buildFqAmounts(), countByStatus(), evaluateFqParamsChange(), formatMoneySummary(), generateInitialFqDetails(), getPaidInstallmentRows(), isSameFqParams() (+33 more)
 
 ### Community 18 - "Community 18"
-Cohesion: 0.08
-Nodes (27): fetchUserOptions(), fetchSampleReceptionCheckItemList(), fetchSampleReceptionCheckItemsActive(), fetchAllocateLabStorageCodes(), fetchSampleReceptionBySampleCode(), fetchSampleReceptionDetail(), fetchSampleReceptionPendingList(), fetchSampleReceptionReceivedList() (+19 more)
+Cohesion: 0.1
+Nodes (2): WebSocketClient, TableCache
 
 ### Community 19 - "Community 19"
 Cohesion: 0.08
-Nodes (20): maskIdCard(), buildBasicExperimentApplicationFields(), buildDefaultApplicationFields(), buildOutboundPilotContextSections(), applicationStatusLabel(), applicationStatusTagType(), cellProductStatusLabel(), cellProductStatusTagType() (+12 more)
+Nodes (33): fetchRefreshToken(), toLogin(), base64ToBytes(), bytesToBase64(), decryptJson(), deriveKey(), encryptJson(), fromBase64Url() (+25 more)
 
 ### Community 20 - "Community 20"
 Cohesion: 0.08
-Nodes (29): fetchCreateUser(), fetchDeleteUser(), fetchDeptTree(), fetchPostBoundUserIds(), fetchResetPassword(), fetchRoleOptions(), fetchUpdateUser(), fetchUserDetail() (+21 more)
+Nodes (27): fetchUserOptions(), fetchSampleReceptionCheckItemList(), fetchSampleReceptionCheckItemsActive(), fetchAllocateLabStorageCodes(), fetchSampleReceptionBySampleCode(), fetchSampleReceptionDetail(), fetchSampleReceptionPendingList(), fetchSampleReceptionReceivedList() (+19 more)
 
 ### Community 21 - "Community 21"
 Cohesion: 0.09
-Nodes (28): completePilotApplication(), deletePilotApplication(), fetchPilotApplicationList(), startPilotApplication(), voidPilotApplication(), clearTableSelection(), handleBatchComplete(), handleBatchStart() (+20 more)
+Nodes (27): completePilotApplication(), deletePilotApplication(), fetchPilotApplicationList(), startPilotApplication(), voidPilotApplication(), handleBatchComplete(), handleBatchStart(), handleBatchVoid() (+19 more)
 
 ### Community 22 - "Community 22"
-Cohesion: 0.07
-Nodes (18): fetchDictDataOptions(), fetchDeleteMaterialBatch(), fetchMaterialBatchList(), fetchMaterialBatchOptions(), fetchMaterialList(), fetchMaterialOptions(), fetchUpdateMaterialBatch(), fetchMaterialUsageList() (+10 more)
-
-### Community 23 - "Community 23"
 Cohesion: 0.1
 Nodes (27): fetchUserList(), fetchAddTaskStep(), fetchCopyTaskStep(), fetchDeleteTaskStep(), fetchForwardProductionTask(), fetchProductionTaskDetail(), fetchReassignProductionTask(), fetchReorderTaskSteps() (+19 more)
 
+### Community 23 - "Community 23"
+Cohesion: 0.11
+Nodes (27): fetchCellProductSpecList(), fetchCellProductTypeList(), fetchMaxPassageProductSeq(), handleAdd(), resetForm(), applyProductCodeToLines(), calcExpiryFromFreeze(), createEmptyProductLine() (+19 more)
+
 ### Community 24 - "Community 24"
-Cohesion: 0.12
-Nodes (15): addCopyButton(), highlightCode(), insertLineNumbers(), isBlockProcessed(), markBlockAsProcessed(), processBlock(), setupHighlightDirective(), setupRippleDirective() (+7 more)
+Cohesion: 0.13
+Nodes (20): fetchCreateUser(), fetchDeleteUser(), fetchResetPassword(), fetchUpdateUser(), fetchUserDetail(), formatUserDeptDisplay(), handleAdd(), handleBatchDelete() (+12 more)
 
 ### Community 25 - "Community 25"
 Cohesion: 0.12
-Nodes (7): FireworkSystem, buildInboundMetaFields(), getCardMetaConfig(), getCardMetaConfigForLegacyTab(), parseReceptionTime(), receptionOver24HoursLabel(), receptionOver24HoursTagType()
+Nodes (15): addCopyButton(), highlightCode(), insertLineNumbers(), isBlockProcessed(), markBlockAsProcessed(), processBlock(), setupHighlightDirective(), setupRippleDirective() (+7 more)
 
 ### Community 26 - "Community 26"
-Cohesion: 0.16
-Nodes (14): fetchCreateEnvDetectItem(), fetchDeleteEnvDetectItem(), fetchEnvDetectItemDetail(), fetchEnvDetectItemList(), fetchEnvDetectItemsActive(), fetchUpdateEnvDetectItem(), handleAdd(), handleBatchDelete() (+6 more)
+Cohesion: 0.13
+Nodes (18): fetchCellSampleTypeList(), fetchCreateCellSampleType(), fetchDeleteCellSampleType(), fetchUpdateCellSampleType(), handleAdd(), handleDelete(), handleDropdownCommand(), handleEdit() (+10 more)
 
 ### Community 27 - "Community 27"
-Cohesion: 0.2
-Nodes (2): ComponentLoader, RouteTransformer
+Cohesion: 0.11
+Nodes (11): fetchOutboundReleaseMaterial(), fetchOutboundReleaseReviewDetail(), fetchOutboundReleaseReviewList(), fetchReleaseReviewList(), handleReset(), handleSearch(), handleToggleSelect(), loadData() (+3 more)
 
 ### Community 28 - "Community 28"
 Cohesion: 0.16
-Nodes (10): useTable(), useTableImpl(), getColumnChecks(), useTableColumns(), createErrorHandler(), createSmartDebounce(), defaultResponseAdapter(), extractPagination() (+2 more)
+Nodes (14): fetchCreateEnvDetectItem(), fetchDeleteEnvDetectItem(), fetchEnvDetectItemDetail(), fetchEnvDetectItemList(), fetchEnvDetectItemsActive(), fetchUpdateEnvDetectItem(), handleAdd(), handleBatchDelete() (+6 more)
 
 ### Community 29 - "Community 29"
-Cohesion: 0.27
-Nodes (14): useChart(), useChartComponent(), useChartOps(), colourBlend(), getCssVar(), getDarkColor(), getLightColor(), handleElementThemeColor() (+6 more)
+Cohesion: 0.12
+Nodes (12): fetchApproveTask(), fetchBusinessAllTasks(), fetchCompletedTasks(), fetchDesignerData(), fetchInstanceDetail(), fetchMyInstances(), fetchPendingTasks(), fetchProcessDefList() (+4 more)
 
 ### Community 30 - "Community 30"
-Cohesion: 0.14
-Nodes (8): useSettingsHandlers(), useSettingsPanel(), useSettingsState(), useCeremony(), useTheme(), themeAnimation(), toggleTheme(), toggleTransition()
+Cohesion: 0.16
+Nodes (10): useTable(), useTableImpl(), getColumnChecks(), useTableColumns(), createErrorHandler(), createSmartDebounce(), defaultResponseAdapter(), extractPagination() (+2 more)
 
 ### Community 31 - "Community 31"
-Cohesion: 0.33
-Nodes (13): buildProtocolPaymentFlowSteps(), dash(), financeReceiptTime(), formatAmount(), hasFinanceReceipt(), hasFinanceRefund(), hasReceiptSubmit(), hasRefundSubmit() (+5 more)
+Cohesion: 0.27
+Nodes (14): useChart(), useChartComponent(), useChartOps(), colourBlend(), getCssVar(), getDarkColor(), getLightColor(), handleElementThemeColor() (+6 more)
 
 ### Community 32 - "Community 32"
-Cohesion: 0.22
-Nodes (9): fullFileUrl(), handleDownloadAttachment(), handlePreviewAttachment(), isVideoFile(), normalizeDisplayValue(), resolveReviewCellType(), resolveReviewQuantity(), resolveReviewSpecText() (+1 more)
+Cohesion: 0.33
+Nodes (13): buildProtocolPaymentFlowSteps(), dash(), financeReceiptTime(), formatAmount(), hasFinanceReceipt(), hasFinanceRefund(), hasReceiptSubmit(), hasRefundSubmit() (+5 more)
 
 ### Community 33 - "Community 33"
 Cohesion: 0.19
 Nodes (6): fetchServiceOrderTxnList(), handleReset(), handleSearch(), handleTabChange(), loadData(), switchTab()
 
 ### Community 35 - "Community 35"
-Cohesion: 0.21
-Nodes (7): handleReset(), handleSearch(), handleToggleSelect(), loadData(), onReviewSubmitted(), rowId(), isSelected()
-
-### Community 36 - "Community 36"
 Cohesion: 0.18
 Nodes (3): normalizeStepSubTables(), parseEquipmentIds(), syncEquipmentNamesFromOptions()
 
+### Community 36 - "Community 36"
+Cohesion: 0.17
+Nodes (3): fetchResearchDonationAuditList(), fetchResearchDonationDetail(), fetchResearchDonationList()
+
 ### Community 37 - "Community 37"
+Cohesion: 0.24
+Nodes (6): buildInboundMetaFields(), getCardMetaConfig(), getCardMetaConfigForLegacyTab(), parseReceptionTime(), receptionOver24HoursLabel(), receptionOver24HoursTagType()
+
+### Community 38 - "Community 38"
 Cohesion: 0.42
 Nodes (9): buildPaymentFlowSteps(), dash(), formatAmount(), hasFinanceReceipt(), hasFinanceRefund(), hasReceiptSubmit(), hasRefundSubmit(), receiptSubmitTime() (+1 more)
 
-### Community 38 - "Community 38"
+### Community 39 - "Community 39"
+Cohesion: 0.2
+Nodes (3): fetchProductionWorkOrderCellProductOptions(), fetchProductionWorkOrderDetail(), fetchProductionWorkOrderList()
+
+### Community 40 - "Community 40"
 Cohesion: 0.25
 Nodes (2): handleTouchEnd(), setTransition()
 
-### Community 41 - "Community 41"
+### Community 42 - "Community 42"
+Cohesion: 0.31
+Nodes (4): annotateForkEdges(), chainApiToElements(), walkAncestorBranch(), walkAncestorParents()
+
+### Community 43 - "Community 43"
 Cohesion: 0.28
 Nodes (4): fetchMyProductionMaterialConsumptions(), handleReset(), handleSearch(), loadData()
 
-### Community 42 - "Community 42"
+### Community 45 - "Community 45"
 Cohesion: 0.39
 Nodes (6): isIgnorableScriptError(), normalizeErrorMessage(), registerPromiseErrorHandler(), registerResourceErrorHandler(), scriptErrorHandler(), setupErrorHandle()
 
-### Community 43 - "Community 43"
+### Community 46 - "Community 46"
 Cohesion: 0.36
 Nodes (1): TableHeightCalculator
 
-### Community 46 - "Community 46"
+### Community 49 - "Community 49"
 Cohesion: 0.33
 Nodes (2): logApiCryptoBootInfo(), maskSecret()
 
-### Community 47 - "Community 47"
+### Community 50 - "Community 50"
+Cohesion: 0.29
+Nodes (2): fetchLeaveDetail(), fetchLeaveList()
+
+### Community 51 - "Community 51"
 Cohesion: 0.47
 Nodes (3): isPaymentDueWithinWarnWindow(), parsePaymentDueYmd(), startOfLocalDay()
 
-### Community 49 - "Community 49"
+### Community 53 - "Community 53"
 Cohesion: 0.5
 Nodes (2): formatProtocolDocDeleteConfirm(), formatProtocolDocSubject()
 
-### Community 50 - "Community 50"
+### Community 54 - "Community 54"
 Cohesion: 0.5
 Nodes (2): focusInput(), handleKeydown()
 
-### Community 52 - "Community 52"
+### Community 56 - "Community 56"
 Cohesion: 0.67
 Nodes (2): if(), logSidebarMenu()
 
 ### Community 58 - "Community 58"
+Cohesion: 0.5
+Nodes (1): fetchSampleSmsNotificationList()
+
+### Community 59 - "Community 59"
+Cohesion: 0.5
+Nodes (1): fetchQcSmsList()
+
+### Community 64 - "Community 64"
 Cohesion: 1.0
 Nodes (2): getSettingDefaults(), resetToDefaults()
 
-### Community 60 - "Community 60"
+### Community 66 - "Community 66"
 Cohesion: 1.0
 Nodes (2): copyTextToClipboard(), copyTextWithFallback()
 
 ## Knowledge Gaps
-- **Thin community `Community 16`** (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`
+- **Thin community `Community 18`** (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 40`** (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 46`** (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.
-- **Thin community `Community 27`** (17 nodes): `ComponentLoader`, `.constructor()`, `.createEmptyComponent()`, `.createErrorComponent()`, `.load()`, `.loadIframe()`, `.loadLayout()`, `.load()`, `RouteTransformer`, `.extractFirstSegment()`, `.handleFirstLevelRoute()`, `.handleIframeRoute()`, `.handleNormalRoute()`, `.isFirstLevelRoute()`, `.transform()`, `ComponentLoader.ts`, `RouteTransformer.ts`
+- **Thin community `Community 49`** (7 nodes): `App.vue`, `main.ts`, `refreshButtonAutoIcons()`, `refreshPanelTitleIcons()`, `logApiCryptoBootInfo()`, `maskSecret()`, `console.ts`
   Too small to be a meaningful cluster - may be noise or needs more connections extracted.
-- **Thin community `Community 38`** (9 nodes): `cleanupEventListeners()`, `handleTouchEnd()`, `handleTouchMove()`, `handleTouchStart()`, `handleWheelScroll()`, `if()`, `setTransition()`, `setupEventListeners()`, `index.vue`
+- **Thin community `Community 50`** (7 nodes): `fetchCreateLeave()`, `fetchDeleteLeave()`, `fetchLeaveDetail()`, `fetchLeaveList()`, `fetchSubmitLeave()`, `fetchUpdateLeave()`, `leave.ts`
   Too small to be a meaningful cluster - may be noise or needs more connections extracted.
-- **Thin community `Community 43`** (8 nodes): `TableHeightCalculator`, `.calculate()`, `.calculateOffset()`, `.calculatePaginationOffset()`, `.constructor()`, `.getHeaderHeight()`, `useTableHeight()`, `useTableHeight.ts`
+- **Thin community `Community 53`** (5 nodes): `formatProtocolDocBatchDeleteConfirm()`, `formatProtocolDocDeleteConfirm()`, `formatProtocolDocSubject()`, `getProtocolDocTypeLabel()`, `protocol-doc-label.ts`
   Too small to be a meaningful cluster - may be noise or needs more connections extracted.
-- **Thin community `Community 46`** (7 nodes): `App.vue`, `main.ts`, `refreshButtonAutoIcons()`, `refreshPanelTitleIcons()`, `logApiCryptoBootInfo()`, `maskSecret()`, `console.ts`
+- **Thin community `Community 54`** (5 nodes): `focusInput()`, `handleKeydown()`, `if()`, `search()`, `index.vue`
   Too small to be a meaningful cluster - may be noise or needs more connections extracted.
-- **Thin community `Community 49`** (5 nodes): `formatProtocolDocBatchDeleteConfirm()`, `formatProtocolDocDeleteConfirm()`, `formatProtocolDocSubject()`, `getProtocolDocTypeLabel()`, `protocol-doc-label.ts`
+- **Thin community `Community 56`** (4 nodes): `if()`, `logSidebarMenu()`, `index.vue`, `SidebarSubmenu.vue`
   Too small to be a meaningful cluster - may be noise or needs more connections extracted.
-- **Thin community `Community 50`** (5 nodes): `focusInput()`, `handleKeydown()`, `if()`, `search()`, `index.vue`
+- **Thin community `Community 58`** (4 nodes): `fetchGenerateSms()`, `fetchSampleSmsNotificationList()`, `fetchToggleSmsNotified()`, `sample-sms-notification.ts`
   Too small to be a meaningful cluster - may be noise or needs more connections extracted.
-- **Thin community `Community 52`** (4 nodes): `if()`, `logSidebarMenu()`, `index.vue`, `SidebarSubmenu.vue`
+- **Thin community `Community 59`** (4 nodes): `fetchGenerateQcSms()`, `fetchQcSmsList()`, `fetchToggleQcSmsNotified()`, `qc-sms-notification.ts`
   Too small to be a meaningful cluster - may be noise or needs more connections extracted.
-- **Thin community `Community 58`** (3 nodes): `getSettingDefaults()`, `resetToDefaults()`, `setting.ts`
+- **Thin community `Community 64`** (3 nodes): `getSettingDefaults()`, `resetToDefaults()`, `setting.ts`
   Too small to be a meaningful cluster - may be noise or needs more connections extracted.
-- **Thin community `Community 60`** (3 nodes): `copyTextToClipboard()`, `copyTextWithFallback()`, `copy-text.ts`
+- **Thin community `Community 66`** (3 nodes): `copyTextToClipboard()`, `copyTextWithFallback()`, `copy-text.ts`
   Too small to be a meaningful cluster - may be noise or needs more connections extracted.
 
 ## Suggested Questions
 _Questions this graph is uniquely positioned to answer:_
 
-- **Why does `get()` connect `Community 0` to `Community 1`, `Community 2`, `Community 3`, `Community 4`, `Community 5`, `Community 6`, `Community 7`, `Community 8`, `Community 10`, `Community 11`, `Community 12`, `Community 13`, `Community 14`, `Community 15`, `Community 18`, `Community 20`, `Community 21`, `Community 22`, `Community 23`, `Community 26`, `Community 33`, `Community 41`?**
-  _High betweenness centrality (0.372) - this node is a cross-community bridge._
-- **Why does `push()` connect `Community 4` to `Community 1`, `Community 2`, `Community 5`, `Community 6`, `Community 7`, `Community 8`, `Community 9`, `Community 10`, `Community 13`, `Community 14`, `Community 15`, `Community 16`, `Community 17`, `Community 19`, `Community 20`, `Community 21`, `Community 25`?**
-  _High betweenness centrality (0.190) - this node is a cross-community bridge._
-- **Why does `fetchGetUserInfo()` connect `Community 3` to `Community 0`?**
-  _High betweenness centrality (0.035) - this node is a cross-community bridge._
+- **Why does `get()` connect `Community 0` to `Community 1`, `Community 2`, `Community 3`, `Community 4`, `Community 5`, `Community 6`, `Community 7`, `Community 9`, `Community 10`, `Community 12`, `Community 14`, `Community 15`, `Community 16`, `Community 17`, `Community 20`, `Community 21`, `Community 22`, `Community 23`, `Community 24`, `Community 26`, `Community 27`, `Community 28`, `Community 29`, `Community 33`, `Community 36`, `Community 39`, `Community 42`, `Community 43`, `Community 50`, `Community 58`, `Community 59`?**
+  _High betweenness centrality (0.353) - this node is a cross-community bridge._
+- **Why does `push()` connect `Community 1` to `Community 0`, `Community 3`, `Community 4`, `Community 37`, `Community 6`, `Community 7`, `Community 8`, `Community 9`, `Community 10`, `Community 5`, `Community 13`, `Community 14`, `Community 15`, `Community 17`, `Community 18`, `Community 19`, `Community 21`, `Community 23`?**
+  _High betweenness centrality (0.182) - this node is a cross-community bridge._
 - **Are the 264 inferred relationships involving `get()` (e.g. with `buildNodeCodePathFromFlat()` and `collectLeafFacilityNodesInTreeOrder()`) actually correct?**
   _`get()` has 264 INFERRED edges - model-reasoned connections that need verification._
 - **Are the 63 inferred relationships involving `push()` (e.g. with `collectLeafFacilityNodesInTreeOrder()` and `formatDetectMethods()`) actually correct?**
@@ -314,4 +346,6 @@ _Questions this graph is uniquely positioned to answer:_
 - **Are the 26 inferred relationships involving `emit()` (e.g. with `handleSubmit()` and `handleBlur()`) actually correct?**
   _`emit()` has 26 INFERRED edges - model-reasoned connections that need verification._
 - **Should `Community 0` be split into smaller, more focused modules?**
-  _Cohesion score 0.01 - nodes in this community are weakly interconnected._
+  _Cohesion score 0.01 - nodes in this community are weakly interconnected._
+- **Should `Community 1` be split into smaller, more focused modules?**
+  _Cohesion score 0.02 - nodes in this community are weakly interconnected._

La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
web-admin/graphify-out/graph.html


+ 2 - 2
web-admin/graphify-out/manifest.json

@@ -17,7 +17,7 @@
   "/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": 1781751183.0156817,
+  "/Users/wuzilong/work/00code/zkxw/web-admin/src/types/import/components.d.ts": 1781751579.773679,
   "/Users/wuzilong/work/00code/zkxw/web-admin/src/types/import/auto-imports.d.ts": 1781750962.589443,
   "/Users/wuzilong/work/00code/zkxw/web-admin/src/types/store/index.ts": 1781272556.364766,
   "/Users/wuzilong/work/00code/zkxw/web-admin/src/types/router/index.ts": 1781272556.3652694,
@@ -195,7 +195,7 @@
   "/Users/wuzilong/work/00code/zkxw/web-admin/src/components/business/protocol-finance-confirm-fields/index.vue": 1781585388.6311953,
   "/Users/wuzilong/work/00code/zkxw/web-admin/src/components/business/protocol-finance-confirm-fields/finance-attachments.ts": 1781272556.6256514,
   "/Users/wuzilong/work/00code/zkxw/web-admin/src/components/business/qc-task-view-dialog/index.vue": 1781590356.7882614,
-  "/Users/wuzilong/work/00code/zkxw/web-admin/src/components/business/clinical-payment-confirm-timeline/index.vue": 1781751294.9953463,
+  "/Users/wuzilong/work/00code/zkxw/web-admin/src/components/business/clinical-payment-confirm-timeline/index.vue": 1781751829.1650536,
   "/Users/wuzilong/work/00code/zkxw/web-admin/src/components/business/outbound-material-readonly-panel/index.vue": 1781604188.1794512,
   "/Users/wuzilong/work/00code/zkxw/web-admin/src/components/business/dialog-form-body/index.vue": 1781272556.6276903,
   "/Users/wuzilong/work/00code/zkxw/web-admin/src/components/business/clinical-payment-submit-readonly/index.vue": 1781566692.993364,

+ 1 - 0
web-admin/src/graphify-out/cache/ast/3cfb22d49bcf74dd66779d180ac3b456bcf6b9d556f3470935233af22f6ba7b9.json

@@ -0,0 +1 @@
+{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_web_admin_src_types_import_components_d_ts", "label": "components.d.ts", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/types/import/components.d.ts", "source_location": "L1"}], "edges": [], "raw_calls": []}

La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 0 - 0
web-admin/src/graphify-out/cache/ast/b978d9b6ff73d93f310830bca2e2c83a47b48f4a042f26b76278904d0e65cdcd.json


Algunos archivos no se mostraron porque demasiados archivos cambiaron en este cambio