This commit is contained in:
zlwu committed 2026-07-07 12:32:07 +08:00
1 parent f4bbe3e06e
commit df53d05193
12 files changed
+117 -44

No files matched your search

-1
View File
@@ -1 +0,0 @@
60896
+17 -17
View File
@@ -14824,56 +14824,56 @@
"label": "onStepListDrop()",
"file_type": "code",
"source_file": "views/production/production-work-order/TaskExecutionDialog.vue",
"source_location": "L655"
"source_location": "L656"
},
{
"id": "production_work_order_taskexecutiondialog_handleforwardsuccess",
"label": "handleForwardSuccess()",
"file_type": "code",
"source_file": "views/production/production-work-order/TaskExecutionDialog.vue",
"source_location": "L660"
"source_location": "L661"
},
{
"id": "production_work_order_taskexecutiondialog_openforwarddialog",
"label": "openForwardDialog()",
"file_type": "code",
"source_file": "views/production/production-work-order/TaskExecutionDialog.vue",
"source_location": "L666"
"source_location": "L667"
},
{
"id": "production_work_order_taskexecutiondialog_savetaskoutputsmanual",
"label": "saveTaskOutputsManual()",
"file_type": "code",
"source_file": "views/production/production-work-order/TaskExecutionDialog.vue",
"source_location": "L671"
"source_location": "L672"
},
{
"id": "production_work_order_taskexecutiondialog_savetaskattachmentsmanual",
"label": "saveTaskAttachmentsManual()",
"file_type": "code",
"source_file": "views/production/production-work-order/TaskExecutionDialog.vue",
"source_location": "L675"
"source_location": "L676"
},
{
"id": "production_work_order_taskexecutiondialog_savetaskequipmentmanual",
"label": "saveTaskEquipmentManual()",
"file_type": "code",
"source_file": "views/production/production-work-order/TaskExecutionDialog.vue",
"source_location": "L679"
"source_location": "L680"
},
{
"id": "production_work_order_taskexecutiondialog_if",
"label": "if()",
"file_type": "code",
"source_file": "views/production/production-work-order/TaskExecutionDialog.vue",
"source_location": "L684"
"source_location": "L685"
},
{
"id": "production_work_order_taskexecutiondialog_stepseqclass",
"label": "stepSeqClass()",
"file_type": "code",
"source_file": "views/production/production-work-order/TaskExecutionDialog.vue",
"source_location": "L703"
"source_location": "L704"
},
{
"id": "views_production_production_work_order_edittaskinfodialog_vue",
@@ -45845,7 +45845,7 @@
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "views/production/production-work-order/TaskExecutionDialog.vue",
"source_location": "L655",
"source_location": "L656",
"weight": 1.0
},
{
@@ -45854,7 +45854,7 @@
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "views/production/production-work-order/TaskExecutionDialog.vue",
"source_location": "L660",
"source_location": "L661",
"weight": 1.0
},
{
@@ -45863,7 +45863,7 @@
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "views/production/production-work-order/TaskExecutionDialog.vue",
"source_location": "L666",
"source_location": "L667",
"weight": 1.0
},
{
@@ -45872,7 +45872,7 @@
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "views/production/production-work-order/TaskExecutionDialog.vue",
"source_location": "L671",
"source_location": "L672",
"weight": 1.0
},
{
@@ -45881,7 +45881,7 @@
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "views/production/production-work-order/TaskExecutionDialog.vue",
"source_location": "L675",
"source_location": "L676",
"weight": 1.0
},
{
@@ -45890,7 +45890,7 @@
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "views/production/production-work-order/TaskExecutionDialog.vue",
"source_location": "L679",
"source_location": "L680",
"weight": 1.0
},
{
@@ -45899,7 +45899,7 @@
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "views/production/production-work-order/TaskExecutionDialog.vue",
"source_location": "L684",
"source_location": "L685",
"weight": 1.0
},
{
@@ -45908,7 +45908,7 @@
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "views/production/production-work-order/TaskExecutionDialog.vue",
"source_location": "L703",
"source_location": "L704",
"weight": 1.0
},
{
@@ -63886,7 +63886,7 @@
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "views/production/production-work-order/TaskExecutionDialog.vue",
"source_location": "L663",
"source_location": "L664",
"weight": 1.0
},
{
+1 -1
View File
@@ -1,7 +1,7 @@
# Graph Report - src (2026-07-07)
## Corpus Check
- Large corpus: 852 files · ~563,397 words. Semantic extraction will be expensive (many Claude tokens). Consider running on a subfolder, or use --no-semantic to run AST-only.
- Large corpus: 852 files · ~563,510 words. Semantic extraction will be expensive (many Claude tokens). Consider running on a subfolder, or use --no-semantic to run AST-only.
## Summary
- 2862 nodes · 4009 edges · 59 communities detected
+17 -17
View File
@@ -19060,7 +19060,7 @@
"label": "onStepListDrop()",
"file_type": "code",
"source_file": "views/production/production-work-order/TaskExecutionDialog.vue",
"source_location": "L655",
"source_location": "L656",
"id": "production_work_order_taskexecutiondialog_onsteplistdrop",
"community": 9,
"norm_label": "onsteplistdrop()"
@@ -19069,7 +19069,7 @@
"label": "handleForwardSuccess()",
"file_type": "code",
"source_file": "views/production/production-work-order/TaskExecutionDialog.vue",
"source_location": "L660",
"source_location": "L661",
"id": "production_work_order_taskexecutiondialog_handleforwardsuccess",
"community": 9,
"norm_label": "handleforwardsuccess()"
@@ -19078,7 +19078,7 @@
"label": "openForwardDialog()",
"file_type": "code",
"source_file": "views/production/production-work-order/TaskExecutionDialog.vue",
"source_location": "L666",
"source_location": "L667",
"id": "production_work_order_taskexecutiondialog_openforwarddialog",
"community": 9,
"norm_label": "openforwarddialog()"
@@ -19087,7 +19087,7 @@
"label": "saveTaskOutputsManual()",
"file_type": "code",
"source_file": "views/production/production-work-order/TaskExecutionDialog.vue",
"source_location": "L671",
"source_location": "L672",
"id": "production_work_order_taskexecutiondialog_savetaskoutputsmanual",
"community": 9,
"norm_label": "savetaskoutputsmanual()"
@@ -19096,7 +19096,7 @@
"label": "saveTaskAttachmentsManual()",
"file_type": "code",
"source_file": "views/production/production-work-order/TaskExecutionDialog.vue",
"source_location": "L675",
"source_location": "L676",
"id": "production_work_order_taskexecutiondialog_savetaskattachmentsmanual",
"community": 9,
"norm_label": "savetaskattachmentsmanual()"
@@ -19105,7 +19105,7 @@
"label": "saveTaskEquipmentManual()",
"file_type": "code",
"source_file": "views/production/production-work-order/TaskExecutionDialog.vue",
"source_location": "L679",
"source_location": "L680",
"id": "production_work_order_taskexecutiondialog_savetaskequipmentmanual",
"community": 9,
"norm_label": "savetaskequipmentmanual()"
@@ -19114,7 +19114,7 @@
"label": "if()",
"file_type": "code",
"source_file": "views/production/production-work-order/TaskExecutionDialog.vue",
"source_location": "L684",
"source_location": "L685",
"id": "production_work_order_taskexecutiondialog_if",
"community": 9,
"norm_label": "if()"
@@ -19123,7 +19123,7 @@
"label": "stepSeqClass()",
"file_type": "code",
"source_file": "views/production/production-work-order/TaskExecutionDialog.vue",
"source_location": "L703",
"source_location": "L704",
"id": "production_work_order_taskexecutiondialog_stepseqclass",
"community": 9,
"norm_label": "stepseqclass()"
@@ -42304,7 +42304,7 @@
"confidence": "INFERRED",
"confidence_score": 0.8,
"source_file": "views/production/production-work-order/TaskExecutionDialog.vue",
"source_location": "L663",
"source_location": "L664",
"weight": 1.0,
"_src": "production_work_order_taskexecutiondialog_handleforwardsuccess",
"_tgt": "widget_settingitem_emit",
@@ -62883,7 +62883,7 @@
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "views/production/production-work-order/TaskExecutionDialog.vue",
"source_location": "L655",
"source_location": "L656",
"weight": 1.0,
"_src": "views_production_production_work_order_taskexecutiondialog_vue",
"_tgt": "production_work_order_taskexecutiondialog_onsteplistdrop",
@@ -62895,7 +62895,7 @@
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "views/production/production-work-order/TaskExecutionDialog.vue",
"source_location": "L660",
"source_location": "L661",
"weight": 1.0,
"_src": "views_production_production_work_order_taskexecutiondialog_vue",
"_tgt": "production_work_order_taskexecutiondialog_handleforwardsuccess",
@@ -62907,7 +62907,7 @@
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "views/production/production-work-order/TaskExecutionDialog.vue",
"source_location": "L666",
"source_location": "L667",
"weight": 1.0,
"_src": "views_production_production_work_order_taskexecutiondialog_vue",
"_tgt": "production_work_order_taskexecutiondialog_openforwarddialog",
@@ -62919,7 +62919,7 @@
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "views/production/production-work-order/TaskExecutionDialog.vue",
"source_location": "L671",
"source_location": "L672",
"weight": 1.0,
"_src": "views_production_production_work_order_taskexecutiondialog_vue",
"_tgt": "production_work_order_taskexecutiondialog_savetaskoutputsmanual",
@@ -62931,7 +62931,7 @@
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "views/production/production-work-order/TaskExecutionDialog.vue",
"source_location": "L675",
"source_location": "L676",
"weight": 1.0,
"_src": "views_production_production_work_order_taskexecutiondialog_vue",
"_tgt": "production_work_order_taskexecutiondialog_savetaskattachmentsmanual",
@@ -62943,7 +62943,7 @@
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "views/production/production-work-order/TaskExecutionDialog.vue",
"source_location": "L679",
"source_location": "L680",
"weight": 1.0,
"_src": "views_production_production_work_order_taskexecutiondialog_vue",
"_tgt": "production_work_order_taskexecutiondialog_savetaskequipmentmanual",
@@ -62955,7 +62955,7 @@
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "views/production/production-work-order/TaskExecutionDialog.vue",
"source_location": "L684",
"source_location": "L685",
"weight": 1.0,
"_src": "views_production_production_work_order_taskexecutiondialog_vue",
"_tgt": "production_work_order_taskexecutiondialog_if",
@@ -62967,7 +62967,7 @@
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "views/production/production-work-order/TaskExecutionDialog.vue",
"source_location": "L703",
"source_location": "L704",
"weight": 1.0,
"_src": "views_production_production_work_order_taskexecutiondialog_vue",
"_tgt": "production_work_order_taskexecutiondialog_stepseqclass",
+6 -6
View File
@@ -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": 1783393157.5275621,
"/Users/wuzilong/work/00code/zkxw/web-admin/src/types/import/auto-imports.d.ts": 1783392799.8502862,
"/Users/wuzilong/work/00code/zkxw/web-admin/src/types/import/components.d.ts": 1783394766.287882,
"/Users/wuzilong/work/00code/zkxw/web-admin/src/types/import/auto-imports.d.ts": 1783394698.1355608,
"/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": 1782394569.8806834,
"/Users/wuzilong/work/00code/zkxw/web-admin/src/composables/useAttachmentDropZone.ts": 1782873161.9839864,
@@ -317,7 +317,7 @@
"/Users/wuzilong/work/00code/zkxw/web-admin/src/views/cell-storage/protocol/ProtocolStatusChangeDialog.vue": 1782894806.0188534,
"/Users/wuzilong/work/00code/zkxw/web-admin/src/views/cell-storage/protocol/ProtocolViewDialog.vue": 1783330003.107557,
"/Users/wuzilong/work/00code/zkxw/web-admin/src/views/cell-storage/protocol/ProtocolAttachmentReadonly.vue": 1782893854.403395,
"/Users/wuzilong/work/00code/zkxw/web-admin/src/views/cell-storage/protocol/ProtocolFormDialog.vue": 1783337815.786408,
"/Users/wuzilong/work/00code/zkxw/web-admin/src/views/cell-storage/protocol/ProtocolFormDialog.vue": 1783393773.5269098,
"/Users/wuzilong/work/00code/zkxw/web-admin/src/views/cell-storage/protocol/ProtocolAuditDialog.vue": 1782893854.3675368,
"/Users/wuzilong/work/00code/zkxw/web-admin/src/views/cell-storage/sample-info/index.vue": 1782893854.321358,
"/Users/wuzilong/work/00code/zkxw/web-admin/src/views/cell-storage/sample-reception-info/index.vue": 1782893854.265202,
@@ -403,13 +403,13 @@
"/Users/wuzilong/work/00code/zkxw/web-admin/src/views/production/production-work-order/DispatchQcWorkOrderDialog.vue": 1782893852.9989007,
"/Users/wuzilong/work/00code/zkxw/web-admin/src/views/production/production-work-order/SampleReceptionDialog.vue": 1782894085.3789353,
"/Users/wuzilong/work/00code/zkxw/web-admin/src/views/production/production-work-order/TaskEquipmentPanel.vue": 1782893853.803821,
"/Users/wuzilong/work/00code/zkxw/web-admin/src/views/production/production-work-order/TaskExecutionDialog.vue": 1783393562.7058115,
"/Users/wuzilong/work/00code/zkxw/web-admin/src/views/production/production-work-order/TaskExecutionDialog.vue": 1783395073.68483,
"/Users/wuzilong/work/00code/zkxw/web-admin/src/views/production/production-work-order/EditTaskInfoDialog.vue": 1782893853.6561613,
"/Users/wuzilong/work/00code/zkxw/web-admin/src/views/production/production-work-order/TaskOutputList.vue": 1782893853.4938636,
"/Users/wuzilong/work/00code/zkxw/web-admin/src/views/production/production-work-order/TaskOutputList.vue": 1783395073.7065923,
"/Users/wuzilong/work/00code/zkxw/web-admin/src/views/production/production-work-order/DispatchTaskDialog.vue": 1782893853.4321866,
"/Users/wuzilong/work/00code/zkxw/web-admin/src/views/production/production-work-order/TaskPaperAttachmentsPanel.vue": 1782893853.2361045,
"/Users/wuzilong/work/00code/zkxw/web-admin/src/views/production/production-work-order/WorkOrderTaskSubList.vue": 1782893853.2094715,
"/Users/wuzilong/work/00code/zkxw/web-admin/src/views/production/production-work-order/TaskOutputProductDialog.vue": 1782893853.1137185,
"/Users/wuzilong/work/00code/zkxw/web-admin/src/views/production/production-work-order/TaskOutputProductDialog.vue": 1783395103.1997178,
"/Users/wuzilong/work/00code/zkxw/web-admin/src/views/production/production-work-order/ProductionWorkOrderCardList.vue": 1783328174.4363172,
"/Users/wuzilong/work/00code/zkxw/web-admin/src/views/production/production-work-order/ForwardTaskDialog.vue": 1782893852.8302743,
"/Users/wuzilong/work/00code/zkxw/web-admin/src/views/production/production-work-order/ProductionWorkOrderQcViewDialog.vue": 1782893852.7941833,
@@ -0,0 +1 @@
{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_web_admin_src_views_production_production_work_order_taskexecutiondialog_vue", "label": "TaskExecutionDialog.vue", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/production/production-work-order/TaskExecutionDialog.vue", "source_location": "L1"}, {"id": "production_work_order_taskexecutiondialog_onsteplistdrop", "label": "onStepListDrop()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/production/production-work-order/TaskExecutionDialog.vue", "source_location": "L656"}, {"id": "production_work_order_taskexecutiondialog_handleforwardsuccess", "label": "handleForwardSuccess()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/production/production-work-order/TaskExecutionDialog.vue", "source_location": "L661"}, {"id": "production_work_order_taskexecutiondialog_openforwarddialog", "label": "openForwardDialog()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/production/production-work-order/TaskExecutionDialog.vue", "source_location": "L667"}, {"id": "production_work_order_taskexecutiondialog_savetaskoutputsmanual", "label": "saveTaskOutputsManual()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/production/production-work-order/TaskExecutionDialog.vue", "source_location": "L672"}, {"id": "production_work_order_taskexecutiondialog_savetaskattachmentsmanual", "label": "saveTaskAttachmentsManual()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/production/production-work-order/TaskExecutionDialog.vue", "source_location": "L676"}, {"id": "production_work_order_taskexecutiondialog_savetaskequipmentmanual", "label": "saveTaskEquipmentManual()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/production/production-work-order/TaskExecutionDialog.vue", "source_location": "L680"}, {"id": "production_work_order_taskexecutiondialog_if", "label": "if()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/production/production-work-order/TaskExecutionDialog.vue", "source_location": "L685"}, {"id": "production_work_order_taskexecutiondialog_stepseqclass", "label": "stepSeqClass()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/production/production-work-order/TaskExecutionDialog.vue", "source_location": "L704"}], "edges": [{"source": "users_wuzilong_work_00code_zkxw_web_admin_src_views_production_production_work_order_taskexecutiondialog_vue", "target": "production_work_order_taskexecutiondialog_onsteplistdrop", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/production/production-work-order/TaskExecutionDialog.vue", "source_location": "L656", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_web_admin_src_views_production_production_work_order_taskexecutiondialog_vue", "target": "production_work_order_taskexecutiondialog_handleforwardsuccess", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/production/production-work-order/TaskExecutionDialog.vue", "source_location": "L661", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_web_admin_src_views_production_production_work_order_taskexecutiondialog_vue", "target": "production_work_order_taskexecutiondialog_openforwarddialog", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/production/production-work-order/TaskExecutionDialog.vue", "source_location": "L667", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_web_admin_src_views_production_production_work_order_taskexecutiondialog_vue", "target": "production_work_order_taskexecutiondialog_savetaskoutputsmanual", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/production/production-work-order/TaskExecutionDialog.vue", "source_location": "L672", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_web_admin_src_views_production_production_work_order_taskexecutiondialog_vue", "target": "production_work_order_taskexecutiondialog_savetaskattachmentsmanual", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/production/production-work-order/TaskExecutionDialog.vue", "source_location": "L676", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_web_admin_src_views_production_production_work_order_taskexecutiondialog_vue", "target": "production_work_order_taskexecutiondialog_savetaskequipmentmanual", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/vLine truncated
@@ -0,0 +1 @@
{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_web_admin_src_views_production_production_work_order_taskoutputlist_vue", "label": "TaskOutputList.vue", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/production/production-work-order/TaskOutputList.vue", "source_location": "L1"}], "edges": [], "raw_calls": []}
@@ -0,0 +1 @@
{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_web_admin_src_views_cell_storage_protocol_protocolformdialog_vue", "label": "ProtocolFormDialog.vue", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/cell-storage/protocol/ProtocolFormDialog.vue", "source_location": "L1"}, {"id": "protocol_protocolformdialog_ensuretransfertypeoptions", "label": "ensureTransferTypeOptions()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/cell-storage/protocol/ProtocolFormDialog.vue", "source_location": "L988"}, {"id": "protocol_protocolformdialog_fmtmoney", "label": "fmtMoney()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/cell-storage/protocol/ProtocolFormDialog.vue", "source_location": "L994"}, {"id": "protocol_protocolformdialog_haslockedpaymentdetails", "label": "hasLockedPaymentDetails()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/cell-storage/protocol/ProtocolFormDialog.vue", "source_location": "L1015"}, {"id": "protocol_protocolformdialog_createemptytransport", "label": "createEmptyTransport()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/cell-storage/protocol/ProtocolFormDialog.vue", "source_location": "L1086"}, {"id": "protocol_protocolformdialog_fullfileurl", "label": "fullFileUrl()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/cell-storage/protocol/ProtocolFormDialog.vue", "source_location": "L1104"}, {"id": "protocol_protocolformdialog_loadethnicoptions", "label": "loadEthnicOptions()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/cell-storage/protocol/ProtocolFormDialog.vue", "source_location": "L1111"}, {"id": "protocol_protocolformdialog_ensureethnicoptioninlist", "label": "ensureEthnicOptionInList()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/cell-storage/protocol/ProtocolFormDialog.vue", "source_location": "L1122"}, {"id": "protocol_protocolformdialog_initpaymentdetailexpandflags", "label": "initPaymentDetailExpandFlags()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/cell-storage/protocol/ProtocolFormDialog.vue", "source_location": "L1153"}, {"id": "protocol_protocolformdialog_paymentdetailsummary", "label": "paymentDetailSummary()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/cell-storage/protocol/ProtocolFormDialog.vue", "source_location": "L1159"}, {"id": "protocol_protocolformdialog_togglepaymentdetailexpand", "label": "togglePaymentDetailExpand()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/cell-storage/protocol/ProtocolFormDialog.vue", "source_location": "L1186"}, {"id": "protocol_protocolformdialog_resetform", "label": "resetForm()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/cell-storage/protocol/ProtocolFormDialog.vue", "source_location": "L1279"}, {"id": "protocol_protocolformdialog_scrolltosection", "label": "scrollToSection()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/cell-storage/protocol/ProtocolFormDialog.vue", "source_location": "L1355"}, {"id": "protocol_protocolformdialog_normalizesamplerow", "label": "normalizeSampleRow()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/cell-storage/protocol/ProtocolFormDialog.vue", "source_location": "L1366"}, {"id": "protocol_protocolformdialog_removepaymentdetail", "label": "removePaymentDetail()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/cell-storage/protocol/ProtocolFormDialog.vue", "source_location": "L1389"}, {"id": "protocol_protocolformdialog_addpaymentdetail", "label": "addPaymentDetail()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/cell-storage/protocol/ProtocolFormDialog.vue", "source_location": "L1396"}, {"id": "protocol_protocolformdialog_defaultinstallmentstartdateymd", "label": "defaultInstallmentStartDateYmd()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/cell-storage/protocol/ProtocolFormDialog.vue", "source_location": "L1426"}, {"id": "protocol_protocolformdialog_datetimetoymd", "label": "datetimeToYmd()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/cell-storage/protocol/ProtocolFormDialog.vue", "source_location": "L1436"}, {"id": "protocol_protocolformdialog_isfqnumericfieldempty", "label": "isFqNumericFieldEmpty()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/cell-storage/protocol/ProtocolFormDialog.vue", "source_location": "L1444"}, {"id": "protocol_protocolformdialog_applyLine truncated
@@ -0,0 +1 @@
{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_web_admin_src_views_production_production_work_order_taskoutputproductdialog_vue", "label": "TaskOutputProductDialog.vue", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/production/production-work-order/TaskOutputProductDialog.vue", "source_location": "L1"}], "edges": [], "raw_calls": []}
@@ -424,6 +424,7 @@
:loading="false"
:disabled="readonly"
hide-save-footer
:lab-storage-code="editor.taskDetail.value?.labStorageCode || ''"
:unit-options="editor.itemUnitOptions.value"
:unit-options-loading="editor.itemUnitOptionsLoading.value"
@update:items="(items: Record<string, any>[]) => (editor.taskOutputs.value = items)"
@@ -125,6 +125,7 @@
<TaskOutputProductDialog
v-model="dialogVisible"
:edit-item="editingItem"
:lab-storage-code="labStorageCode"
:occupied-slot-ids="dialogOccupiedSlotIds"
:existing-product-codes="dialogExistingProductCodes"
@confirm="handleDialogConfirm"
@@ -156,8 +157,10 @@
saving?: boolean
/** 任务执行弹窗:保存按钮由外层底栏承载 */
hideSaveFooter?: boolean
/** 任务关联实验室入库编码(产出新增弹窗造血干一键填充) */
labStorageCode?: string
}>(),
{ disabled: false, saving: false, hideSaveFooter: false }
{ disabled: false, saving: false, hideSaveFooter: false, labStorageCode: '' }
)
const emit = defineEmits<{
@@ -268,6 +268,14 @@
</div>
</el-form>
<template #footer>
<el-button
v-if="!isEdit"
class="btn-ghost"
@click="handleHscQuickFill"
>
<el-icon><MagicStick /></el-icon>
造血干一键填充
</el-button>
<el-button class="btn-ghost" @click="emit('update:modelValue', false)">
<el-icon><Close /></el-icon>
取消
@@ -281,7 +289,7 @@
</template>
<script setup lang="ts">
import { Close, Check } from '@element-plus/icons-vue'
import { Close, Check, MagicStick } from '@element-plus/icons-vue'
import { ElMessage } from 'element-plus'
import { fetchCellProductTypeList } from '@/api/admin'
import { fetchMaxPassageProductSeq, fetchMaxProductSuffixSeq, fetchCheckCellProductCode } from '@/api/cell-product'
@@ -314,9 +322,13 @@
viability: number | undefined
}
const STORAGE_PRODUCT_TYPE_NAME = '存储'
const props = defineProps<{
modelValue: boolean
editItem?: Record<string, any> | null
/** 任务关联的实验室入库编码(造血干一键填充) */
labStorageCode?: string
/** 本任务其他产出已占用的储物格(编辑时父级已排除当前条) */
occupiedSlotIds?: string[]
/** 本任务其他产出已使用的产品编码(编辑时父级已排除当前条,含未保存项) */
@@ -472,6 +484,7 @@
const originalProductCode = ref('')
const productLines = ref<ProductLine[]>([createEmptyProductLine()])
let lineCodeSyncToken = 0
let skipLineCodeAutoSync = false
const formData = reactive({
cellProductId: '',
@@ -613,9 +626,62 @@
/** 按入库份数同步明细行,并重算产品编码 */
async function applyProductCodeToLines() {
syncProductLines()
if (skipLineCodeAutoSync) return
await syncLineCodesFromBase()
}
function resolveStorageProductTypeOption() {
return productTypeOptions.value.find(
(item) =>
item.productTypeName === STORAGE_PRODUCT_TYPE_NAME ||
item.productTypeCode === STORAGE_PRODUCT_TYPE_NAME
)
}
async function ensureStorageProductTypeSelected() {
let match = resolveStorageProductTypeOption()
if (!match) {
await remoteSearchProductTypes(STORAGE_PRODUCT_TYPE_NAME)
match = resolveStorageProductTypeOption()
}
if (!match) {
ElMessage.warning(`未找到产品类型「${STORAGE_PRODUCT_TYPE_NAME}」,请手动选择`)
return false
}
formData.productTypeId = match.id
ensureProductTypeInOptions(match.id, match.productTypeName, match.productTypeCode)
return true
}
async function handleHscQuickFill() {
const labCode = (props.labStorageCode || '').trim()
if (!labCode) {
ElMessage.warning('暂无实验室入库编码,无法一键填充')
return
}
skipLineCodeAutoSync = true
try {
formData.productCode = labCode
formData.productName = labCode
formData.batchNo = labCode
const typeReady = await ensureStorageProductTypeSelected()
syncProductLines()
productLines.value.forEach((line) => {
line.productCode = labCode
})
await nextTick()
productLines.value.forEach((line) => {
line.productCode = labCode
})
formRef.value?.clearValidate?.()
if (typeReady) {
ElMessage.success('已填充造血干默认值')
}
} finally {
skipLineCodeAutoSync = false
}
}
function onDialogOpened() {
if (props.editItem) {
populateFormFromEditItem(props.editItem)