diff --git a/backend/app.pid b/backend/app.pid index 2f9e06ef8..67574bd38 100644 --- a/backend/app.pid +++ b/backend/app.pid @@ -1 +1 @@ -68778 +81932 diff --git a/backend/app/api/production.py b/backend/app/api/production.py index 540e98b80..4a77ba39d 100644 --- a/backend/app/api/production.py +++ b/backend/app/api/production.py @@ -43,6 +43,7 @@ from app.schemas.production_task import ( TaskStepDataCollectionItem, TaskInputItem, TaskOutputItem, + TaskStepReorderBody, ) from app.schemas.cell_product import CellProductCreate, CellProductUpdate @@ -1435,6 +1436,39 @@ async def delete_production_task_step( return error_response(400, str(e)) +@router.put("/production-tasks/step/reorder") +async def reorder_production_task_steps( + body: TaskStepReorderBody, + _user: dict = Depends(require_admin_or_super_admin), + db: Session = Depends(get_db), +): + try: + production_task_svc.reorder_task_steps(db, body.task_id, body.step_ids) + return success_response(None, message="排序成功") + except ValueError as e: + return error_response(400, str(e)) + + +@router.post("/production-tasks/{task_id}/steps/{step_id}/copy") +async def copy_production_task_step( + task_id: str, + step_id: str, + user: dict = Depends(require_admin_or_super_admin), + db: Session = Depends(get_db), +): + try: + tenant_no = _get_tenant_no(db, user) + step_data = production_task_svc.copy_task_step( + db, + step_id=step_id, + tenant_no=tenant_no, + user_id=user.get("user_id"), + ) + return success_response(step_data, message="复制成功") + except ValueError as e: + return error_response(400, str(e)) + + @router.put("/production-tasks/{task_id}/steps/{step_id}/reagents") async def replace_task_step_reagents( task_id: str, diff --git a/backend/app/crud/cell_product.py b/backend/app/crud/cell_product.py index 2aea6168d..8c7106053 100644 --- a/backend/app/crud/cell_product.py +++ b/backend/app/crud/cell_product.py @@ -304,7 +304,7 @@ def update_cell_product( if hasattr(data, "viability") and data.viability is not None: obj.viability = data.viability if data.product_status is not None and data.product_status != obj.product_status: - allowed = {"frozen": {"sold", "used"}} + allowed = {"frozen": {"sold", "used", "voided"}} from_status = obj.product_status to_status = data.product_status if from_status not in allowed or to_status not in allowed[from_status]: diff --git a/backend/app/crud/production_task.py b/backend/app/crud/production_task.py index 64c7e4236..6b7ef6357 100644 --- a/backend/app/crud/production_task.py +++ b/backend/app/crud/production_task.py @@ -10,6 +10,7 @@ from sqlalchemy.orm import Session from app.core.utils import generate_uuid from app.models.models import ( + BizProcessRoute, BizProcessRouteStep, BizProcessRouteStepConsumable, BizProcessRouteStepDataCollection, @@ -348,7 +349,19 @@ def list_production_tasks( .limit(page_size) .all() ) - return [_task_to_dict(x) for x in rows], int(total) + items = [_task_to_dict(x) for x in rows] + # 批量补充路线名称 + route_ids = [x.route_id for x in rows if x.route_id] + if route_ids: + route_map = { + r.id: r.route_name + for r in db.query(BizProcessRoute.id, BizProcessRoute.route_name) + .filter(BizProcessRoute.id.in_(route_ids)) + .all() + } + for item, row in zip(items, rows): + item["routeName"] = route_map.get(row.route_id, "") + return items, int(total) def get_production_task_detail(db: Session, task_id: str, tenant_no: str) -> Optional[Dict[str, Any]]: @@ -690,6 +703,124 @@ def set_task_outputs( db.commit() +def reorder_task_steps(db: Session, task_id: str, step_ids: List[str]) -> None: + now = datetime.now() + for idx, sid in enumerate(step_ids): + step = db.query(BizProductionTaskStep).filter( + and_(BizProductionTaskStep.id == sid, BizProductionTaskStep.task_id == task_id, + BizProductionTaskStep.del_flag == 0) + ).first() + if step: + step.step_order = idx + 1 + step.update_time = now + db.add(step) + db.commit() + + +def copy_task_step(db: Session, step_id: str, *, tenant_no: str = "zkxw", + user_id: Optional[str] = None) -> Dict[str, Any]: + """复制生产任务步骤,插入到原步骤之后,名称追加(复制)""" + src = db.query(BizProductionTaskStep).filter( + and_(BizProductionTaskStep.id == step_id, BizProductionTaskStep.del_flag == 0) + ).first() + if not src: + raise ValueError("步骤不存在") + + now = datetime.now() + new_order = src.step_order + 1 + + # 后续步骤 step_order +1 + later_steps = db.query(BizProductionTaskStep).filter( + and_( + BizProductionTaskStep.task_id == src.task_id, + BizProductionTaskStep.del_flag == 0, + BizProductionTaskStep.step_order > src.step_order, + ) + ).order_by(BizProductionTaskStep.step_order.asc()).all() + for ls in later_steps: + ls.step_order += 1 + ls.update_time = now + db.add(ls) + + # 创建新步骤 + new_name = (src.process_name or "").strip() + if not new_name.endswith("(复制)"): + new_name += "(复制)" + new_step = BizProductionTaskStep( + id=generate_uuid(), task_id=src.task_id, + step_order=new_order, + process_code=src.process_code, category_id=src.category_id, + process_name=new_name, description=src.description, + equipment_name=src.equipment_name, estimated_duration=src.estimated_duration, + actual_duration=src.actual_duration, sop_ids=src.sop_ids, + step_status="dzx", + tenant_no=tenant_no, order_num=0, + remark=src.remark, create_by=user_id, create_dept_id="", + create_time=now, update_by=user_id, update_time=now, del_flag=0, + ) + db.add(new_step) + db.flush() + + # 复制子表:试剂(从生产任务步骤试剂表复制) + for r in db.query(BizProductionTaskStepReagent).filter( + and_(BizProductionTaskStepReagent.step_id == step_id, BizProductionTaskStepReagent.del_flag == 0) + ).all(): + db.add(BizProductionTaskStepReagent( + id=generate_uuid(), step_id=new_step.id, tenant_no=tenant_no, + reagent_code=r.reagent_code, reagent_name=r.reagent_name, + spec=r.spec, standard_usage=r.standard_usage, + actual_usage=r.actual_usage, + unit=r.unit, is_key_material=r.is_key_material, + remark=r.remark, + order_num=0, create_by=user_id, create_dept_id="", + create_time=now, update_by=user_id, update_time=now, del_flag=0, + )) + + # 复制子表:耗材 + for c in db.query(BizProductionTaskStepConsumable).filter( + and_(BizProductionTaskStepConsumable.step_id == step_id, BizProductionTaskStepConsumable.del_flag == 0) + ).all(): + db.add(BizProductionTaskStepConsumable( + id=generate_uuid(), step_id=new_step.id, tenant_no=tenant_no, + consumable_code=c.consumable_code, consumable_name=c.consumable_name, + spec_model=c.spec_model, standard_usage=c.standard_usage, + actual_usage=c.actual_usage, + unit=c.unit, is_required=c.is_required, + remark=c.remark, + order_num=0, create_by=user_id, create_dept_id="", + create_time=now, update_by=user_id, update_time=now, del_flag=0, + )) + + # 复制子表:产出 + for o in db.query(BizProductionTaskStepOutput).filter( + and_(BizProductionTaskStepOutput.step_id == step_id, BizProductionTaskStepOutput.del_flag == 0) + ).all(): + db.add(BizProductionTaskStepOutput( + id=generate_uuid(), step_id=new_step.id, tenant_no=tenant_no, + output_type_id=o.output_type_id, output_name=o.output_name, + output_barcode=o.output_barcode, + remark=o.remark, + order_num=0, create_by=user_id, create_dept_id="", + create_time=now, update_by=user_id, update_time=now, del_flag=0, + )) + + # 复制子表:数据采集 + for d in db.query(BizProductionTaskStepDataCollection).filter( + and_(BizProductionTaskStepDataCollection.step_id == step_id, BizProductionTaskStepDataCollection.del_flag == 0) + ).all(): + db.add(BizProductionTaskStepDataCollection( + id=generate_uuid(), step_id=new_step.id, tenant_no=tenant_no, + collection_name=d.collection_name, unit=d.unit, + collection_value=d.collection_value, + remark=d.remark, + order_num=0, create_by=user_id, create_dept_id="", + create_time=now, update_by=user_id, update_time=now, del_flag=0, + )) + + db.commit() + return _step_to_dict(new_step) + + def total_pages(total: int, page_size: int) -> int: if total <= 0: return 0 diff --git a/backend/app/models/models.py b/backend/app/models/models.py index 2824f9505..28793a046 100644 --- a/backend/app/models/models.py +++ b/backend/app/models/models.py @@ -2135,7 +2135,7 @@ class BizCellProduct(Base): freeze_date = Column(DateTime, nullable=True, comment="冻存日期") expected_cell_count = Column(Numeric(18, 4), nullable=True, comment="预计细胞数量(单位:亿)") viability = Column(Numeric(5, 2), nullable=True, comment="活性(百分比,0~100)") - product_status = Column(String(16), nullable=True, default="frozen", comment="产品状态 frozen已冻存/sold已售卖/used已使用") + product_status = Column(String(16), nullable=True, default="frozen", comment="产品状态 frozen已冻存/sold已售卖/used已使用/voided已作废") source_type = Column(String(32), nullable=True, default="production", comment="来源类型 production生产 qc质检") production_task_id = Column(String(64), nullable=True, comment="生产任务ID") quantity = Column(Numeric(18, 4), nullable=True, comment="数量") diff --git a/backend/app/schemas/cell_product.py b/backend/app/schemas/cell_product.py index d2a30b89e..9c15f3659 100644 --- a/backend/app/schemas/cell_product.py +++ b/backend/app/schemas/cell_product.py @@ -118,8 +118,8 @@ class CellProductUpdate(BaseModel): @field_validator("product_status") @classmethod def validate_status(cls, v): - if v is not None and v not in ("frozen", "sold", "used"): - raise ValueError("状态必须为 frozen/sold/used") + if v is not None and v not in ("frozen", "sold", "used", "voided"): + raise ValueError("状态必须为 frozen/sold/used/voided") return v diff --git a/backend/app/schemas/production_task.py b/backend/app/schemas/production_task.py index 5e6b96c10..d1b759830 100644 --- a/backend/app/schemas/production_task.py +++ b/backend/app/schemas/production_task.py @@ -1,4 +1,4 @@ -from pydantic import BaseModel +from pydantic import BaseModel, ConfigDict, Field from typing import Optional, List from datetime import datetime @@ -6,7 +6,7 @@ from datetime import datetime class ProductionTaskCreate(BaseModel): work_order_id: str task_name: Optional[str] = None - route_id: str + route_id: Optional[str] = None description: Optional[str] = None remark: Optional[str] = None @@ -91,3 +91,9 @@ class TaskOutputItem(BaseModel): unit: Optional[str] = None remark: Optional[str] = None attachments: Optional[str] = None + + +class TaskStepReorderBody(BaseModel): + model_config = ConfigDict(populate_by_name=True) + task_id: str = Field(..., alias="taskId") + step_ids: List[str] = Field(..., alias="stepIds") diff --git a/openspec/changes/zkxw-engineering-standards/specs/coding-conventions/spec.md b/openspec/changes/zkxw-engineering-standards/specs/coding-conventions/spec.md index a5646b27e..a69225879 100644 --- a/openspec/changes/zkxw-engineering-standards/specs/coding-conventions/spec.md +++ b/openspec/changes/zkxw-engineering-standards/specs/coding-conventions/spec.md @@ -36,6 +36,20 @@ - **WHEN** 增加新表或字段 - **THEN** 仓库 SHALL 包含可复现的 schema 片段或迁移,且与 OpenSpec `database-conventions` 中的公共字段规则一致 +### Requirement: 单文件行数上限 + +前端(`web-admin`)与后端(`backend`)的单个源码文件 SHALL 不超过 500 行。当文件因功能增长接近或超过此限制时,SHALL 将其拆分为多个职责单一的小文件(如:前端提取子组件、composable 或工具函数;后端按领域拆分 service、crud 模块或辅助函数)。配置文件、类型声明文件、SQL 脚本与自动生成文件不在此限制范围内。 + +#### Scenario: 前端页面文件增长 + +- **WHEN** 一个 Vue 组件文件超过 500 行 +- **THEN** SHALL 将弹窗、复杂表格、可复用面板等拆分为独立子组件或 composable 函数,确保主入口文件在 500 行以内 + +#### Scenario: 后端模块文件增长 + +- **WHEN** 一个 Python 模块文件(api route、service、crud 等)超过 500 行 +- **THEN** SHALL 按领域或功能边界拆分为多个子模块(如 `crud/production_task.py` → `crud/production_task.py` + `crud/production_task_step.py`),确保单个文件在 500 行以内 + ### Requirement: 提交说明可读性 提交信息 SHALL 使用完整句子说明「改了什么、为何」,并符合仓库 Conventional Commits / commitlint 类型约束。 diff --git a/web-admin/graphify-out/.graphify_analysis.json b/web-admin/graphify-out/.graphify_analysis.json index b0e980887..6407d1abe 100644 --- a/web-admin/graphify-out/.graphify_analysis.json +++ b/web-admin/graphify-out/.graphify_analysis.json @@ -91,7 +91,6 @@ "api_admin_fetchdeletestorageslot", "api_admin_fetchdeletetenant", "api_admin_fetchdeleteunit", - "api_admin_fetchdepttree", "api_admin_fetchdictdatalist", "api_admin_fetchdictdataoptions", "api_admin_fetchdicttypelist", @@ -105,7 +104,6 @@ "api_admin_fetchinsuranceprojectprices", "api_admin_fetchitemunitlist", "api_admin_fetchnotdeletedregions", - "api_admin_fetchpostbounduserids", "api_admin_fetchpostlist", "api_admin_fetchproductbannerlist", "api_admin_fetchproductdetail", @@ -179,25 +177,6 @@ "api_cell_product_ts", "api_chinaregion_fetchchinaregiontree", "api_chinaregion_ts", - "api_collection_protocol_fetchcollectionprotocolauditlist", - "api_collection_protocol_fetchcollectionprotocoldetail", - "api_collection_protocol_fetchcollectionprotocollist", - "api_collection_protocol_fetchcreatecollectionprotocol", - "api_collection_protocol_fetchdeletecollectionprotocol", - "api_collection_protocol_fetchpaymentdetaillist", - "api_collection_protocol_fetchreceiptconfirmedlist", - "api_collection_protocol_fetchreceiptconfirmlist", - "api_collection_protocol_fetchreceiptconfirmsubmit", - "api_collection_protocol_fetchrefundconfirmedlist", - "api_collection_protocol_fetchrefundconfirmlist", - "api_collection_protocol_fetchrefundconfirmsubmit", - "api_collection_protocol_fetchsubmitprotocolaudit", - "api_collection_protocol_fetchsubmitreceiptfinance", - "api_collection_protocol_fetchsubmitreceiptfinancebatch", - "api_collection_protocol_fetchsubmitrefundfinance", - "api_collection_protocol_fetchsubmitrefundfinancebatch", - "api_collection_protocol_fetchupdatecollectionprotocol", - "api_collection_protocol_ts", "api_qc_item_param_fetchqcitemparams", "api_qc_item_param_fetchsaveqcitemparams", "api_qc_item_param_ts", @@ -207,12 +186,6 @@ "api_qc_task_result_fetchqctaskmaterialusages", "api_qc_task_result_fetchqctaskresults", "api_qc_task_result_ts", - "api_qc_third_party_item_fetchcreateqcthirdpartyitem", - "api_qc_third_party_item_fetchdeleteqcthirdpartyitem", - "api_qc_third_party_item_fetchqcthirdpartyitemlist", - "api_qc_third_party_item_fetchqcthirdpartyitemsactive", - "api_qc_third_party_item_fetchupdateqcthirdpartyitem", - "api_qc_third_party_item_ts", "api_qc_work_order_fetchconfigureqcworkorder", "api_qc_work_order_fetchqcworkorderdetail", "api_qc_work_order_fetchqcworkorderlist", @@ -223,112 +196,28 @@ "api_sample_reception_fetchsamplereceptionsubmit", "api_sample_reception_fetchsamplereceptionupdate", "api_sample_reception_ts", - "clean_room_index_loaddeptdata", + "api_system_fetchcreatecomment", + "api_system_fetchcreateupgradelog", + "api_system_fetchdeletecomment", + "api_system_fetchdeleteupgradelog", + "api_system_fetchgetallupgradelogs", + "api_system_fetchgetchinamapdata", + "api_system_fetchgetcomments", + "api_system_fetchgetcurrentversion", + "api_system_fetchgetsystemconfig", + "api_system_fetchgetupgradelogs", + "api_system_fetchupdateupgradelog", + "api_system_ts", "modules_user_dialog_initformdata", "modules_user_dialog_loadrolelist", - "post_index_handleview", "process_route_index_get", "project_price_system_index_if", "site_index_loaddictoptions", - "user_index_loaddepttree", "user_index_loadroleoptions", "views_pilot_service_project_price_system_index_vue", "views_system_user_modules_user_dialog_vue" ], "1": [ - "api_admin_fetchgetmenulist", - "api_auth_fetchgetmenucodes", - "api_auth_fetchgetuserinfo", - "api_auth_fetchlogin", - "api_auth_fetchlogout", - "api_auth_fetchrefreshtoken", - "api_auth_ts", - "art_work_tab_index_clicktab", - "core_iframeroutemanager_iframeroutemanager", - "core_iframeroutemanager_iframeroutemanager_clear", - "core_iframeroutemanager_iframeroutemanager_constructor", - "core_iframeroutemanager_iframeroutemanager_findbypath", - "core_iframeroutemanager_iframeroutemanager_getall", - "core_iframeroutemanager_iframeroutemanager_getinstance", - "core_iframeroutemanager_iframeroutemanager_save", - "core_menuprocessor_menuprocessor", - "core_menuprocessor_menuprocessor_buildfullpath", - "core_menuprocessor_menuprocessor_filteremptymenus", - "core_menuprocessor_menuprocessor_filtermenubycodes", - "core_menuprocessor_menuprocessor_filtermenubyroles", - "core_menuprocessor_menuprocessor_getmenulist", - "core_menuprocessor_menuprocessor_isnavigableroute", - "core_menuprocessor_menuprocessor_isvalidabsolutepath", - "core_menuprocessor_menuprocessor_logpatherror", - "core_menuprocessor_menuprocessor_normalizemenucode", - "core_menuprocessor_menuprocessor_normalizemenupaths", - "core_menuprocessor_menuprocessor_processbackendmenu", - "core_menuprocessor_menuprocessor_processfrontendmenu", - "core_menuprocessor_menuprocessor_resolvedefaultredirect", - "core_menuprocessor_menuprocessor_validatemenulist", - "core_menuprocessor_menuprocessor_validatemenupaths", - "core_routeregistry_routeregistry", - "core_routeregistry_routeregistry_constructor", - "core_routeregistry_routeregistry_getremoveroutefns", - "core_routeregistry_routeregistry_isregistered", - "core_routeregistry_routeregistry_markasregistered", - "core_routeregistry_routeregistry_register", - "core_routeregistry_routeregistry_unregister", - "core_routetransformer_routetransformer_constructor", - "core_useappmode_useappmode", - "core_useauth_useauth", - "core_usecommon_usecommon", - "guards_aftereach_setupaftereachguard", - "guards_beforeeach_closeloading", - "guards_beforeeach_fetchuserinfo", - "guards_beforeeach_getpendingloading", - "guards_beforeeach_getrouteinitfailed", - "guards_beforeeach_handledynamicroutes", - "guards_beforeeach_handleloginstatus", - "guards_beforeeach_handlerootpathredirect", - "guards_beforeeach_handlerouteguard", - "guards_beforeeach_isstaticroute", - "guards_beforeeach_isunauthorizederror", - "guards_beforeeach_resetpendingloading", - "guards_beforeeach_resetrouteinitstate", - "guards_beforeeach_resetrouterstate", - "guards_beforeeach_setupbeforeeachguard", - "hooks_core_useappmode_ts", - "hooks_core_useauth_ts", - "hooks_core_usecommon_ts", - "http_error_ishttperror", - "navigation_route_getfirstmenupath", - "navigation_route_getfirstsecondlevelmenupath", - "navigation_route_isiframe", - "navigation_route_isnavigablemenuitem", - "navigation_route_isworkbenchmenuitem", - "navigation_route_isworkbenchroute", - "navigation_route_normalizepath", - "navigation_worktab_setworktab", - "router_core_iframeroutemanager_ts", - "router_core_menuprocessor_ts", - "router_core_routeregistry_ts", - "router_guards_aftereach_ts", - "router_guards_beforeeach_ts", - "router_index_initrouter", - "router_index_ts", - "router_sidebar_menu_filter_filtersidebarroutes", - "router_sidebar_menu_filter_issidebarnavigableroute", - "ui_animation_themeanimation", - "ui_animation_toggletheme", - "ui_animation_toggletransition", - "utils_loginrsa_buildwebencryptedloginbody", - "utils_loginrsa_ts", - "utils_navigation_route_ts", - "utils_navigation_worktab_ts", - "utils_router_configurenprogress", - "utils_router_formatmenutitle", - "utils_router_setpagetitle", - "utils_router_sidebar_menu_filter_ts", - "utils_router_ts", - "utils_ui_animation_ts" - ], - "2": [ "api_admin_fetchbatchgenerateprotocolnos", "api_admin_fetchbatchgeneratesamplecodes", "api_admin_fetchbatchissueprotocolnos", @@ -407,6 +296,7 @@ "sample_code_index_openbatchgenerate", "sample_code_index_openbatchissue", "sample_code_index_resetform", + "site_index_handlebatchdelete", "utils_fullscreen_loading_ts", "utils_fullscreen_loading_withfullscreenloading", "views_basic_info_collection_protocol_no_index_vue", @@ -417,7 +307,133 @@ "views_research_donation_list_donationstatuschangedialog_vue", "views_system_product_index_vue" ], + "2": [ + "api_auth_fetchgetuserinfo", + "art_work_tab_index_cleanupeventlisteners", + "art_work_tab_index_clicktab", + "art_work_tab_index_closeworktab", + "art_work_tab_index_handletouchend", + "art_work_tab_index_handletouchmove", + "art_work_tab_index_handletouchstart", + "art_work_tab_index_handlewheelscroll", + "art_work_tab_index_settransition", + "art_work_tab_index_setupeventlisteners", + "components_core_layouts_art_work_tab_index_vue", + "core_iframeroutemanager_iframeroutemanager", + "core_iframeroutemanager_iframeroutemanager_clear", + "core_iframeroutemanager_iframeroutemanager_constructor", + "core_iframeroutemanager_iframeroutemanager_findbypath", + "core_iframeroutemanager_iframeroutemanager_getall", + "core_iframeroutemanager_iframeroutemanager_getinstance", + "core_iframeroutemanager_iframeroutemanager_save", + "core_menuprocessor_menuprocessor_logpatherror", + "core_menuprocessor_menuprocessor_validatemenulist", + "core_routeregistry_routeregistry", + "core_routeregistry_routeregistry_constructor", + "core_routeregistry_routeregistry_getremoveroutefns", + "core_routeregistry_routeregistry_isregistered", + "core_routeregistry_routeregistry_markasregistered", + "core_routeregistry_routeregistry_register", + "core_routeregistry_routeregistry_unregister", + "core_routetransformer_routetransformer_constructor", + "core_usecommon_usecommon", + "guards_aftereach_setupaftereachguard", + "guards_beforeeach_closeloading", + "guards_beforeeach_fetchuserinfo", + "guards_beforeeach_getpendingloading", + "guards_beforeeach_getrouteinitfailed", + "guards_beforeeach_handledynamicroutes", + "guards_beforeeach_handleloginstatus", + "guards_beforeeach_handlerootpathredirect", + "guards_beforeeach_handlerouteguard", + "guards_beforeeach_isstaticroute", + "guards_beforeeach_isunauthorizederror", + "guards_beforeeach_resetpendingloading", + "guards_beforeeach_resetrouteinitstate", + "guards_beforeeach_resetrouterstate", + "guards_beforeeach_setupbeforeeachguard", + "hooks_core_usecommon_ts", + "http_error_ishttperror", + "navigation_route_getfirstmenupath", + "navigation_route_getfirstsecondlevelmenupath", + "navigation_route_isiframe", + "navigation_route_isnavigablemenuitem", + "navigation_route_isworkbenchmenuitem", + "navigation_route_isworkbenchroute", + "navigation_route_normalizepath", + "navigation_worktab_setworktab", + "router_core_iframeroutemanager_ts", + "router_core_routeregistry_ts", + "router_guards_aftereach_ts", + "router_guards_beforeeach_ts", + "router_index_initrouter", + "router_index_ts", + "router_sidebar_menu_filter_filtersidebarroutes", + "router_sidebar_menu_filter_issidebarnavigableroute", + "utils_navigation_route_ts", + "utils_navigation_worktab_ts", + "utils_router_configurenprogress", + "utils_router_formatmenutitle", + "utils_router_setpagetitle", + "utils_router_sidebar_menu_filter_ts", + "utils_router_ts" + ], "3": [ + "api_admin_fetchdepttree", + "api_admin_fetchpostbounduserids", + "art_fireworks_effect_index_fireworksystem", + "art_fireworks_effect_index_fireworksystem_constructor", + "art_fireworks_effect_index_fireworksystem_createfirework", + "art_fireworks_effect_index_fireworksystem_createparticle", + "art_fireworks_effect_index_fireworksystem_getavailableparticle", + "art_fireworks_effect_index_fireworksystem_initializepool", + "art_fireworks_effect_index_fireworksystem_preloadallimages", + "art_fireworks_effect_index_fireworksystem_preloadimage", + "art_page_content_index_reload", + "clean_room_index_formatuserlabel", + "clean_room_index_loaddeptdata", + "clean_room_index_onpersonselectchange", + "components_business_dialog_form_body_index_vue", + "components_core_layouts_art_fireworks_effect_index_vue", + "components_core_layouts_art_page_content_index_vue", + "http_index_subscribetokenrefresh", + "navigation_jump_handlemenujump", + "navigation_jump_openexternallink", + "post_index_collectallpostbinddeptids", + "post_index_collectpostbinddeptsubtreeids", + "post_index_expandpostbinddepttree", + "post_index_findpostbinddeptnodebyid", + "post_index_handleview", + "process_route_index_if", + "process_route_index_set", + "role_index_walk", + "site_index_formatcontactuserlabel", + "storage_facility_index_if", + "storage_facility_index_push", + "user_index_loaddepttree", + "utils_category_path_display_ensurecategorypathdataloaded", + "utils_category_path_display_formatcategorypathlabel", + "utils_category_path_display_ts", + "utils_fetch_paged_list_fetchallpagedrecords", + "utils_fetch_paged_list_ts", + "utils_navigation_jump_ts", + "utils_protocol_payment_installment_addmonthsymd", + "utils_protocol_payment_installment_alignfqpaymentdetailsfordisplay", + "utils_protocol_payment_installment_calcinstallmentdueamounts", + "utils_protocol_payment_installment_sortfqpaymentdetails", + "utils_protocol_payment_installment_syncfqpaymentdetailrowcount", + "utils_protocol_payment_installment_ts", + "utils_tree_path_buildpathlabelmapfromtreeroots", + "utils_tree_path_buildtreepathlabelfromflat", + "utils_tree_path_findtreeselectshortlabel", + "utils_tree_path_resolvetreepathdisplay", + "utils_tree_path_ts", + "views_operations_storage_facility_index_vue", + "views_production_process_route_index_vue", + "views_system_post_index_vue", + "views_system_role_index_vue" + ], + "4": [ "api_production_fetchaddroutestep", "api_production_fetchallconsumablepacks", "api_production_fetchallconsumables", @@ -472,7 +488,7 @@ "api_production_fetchupdatestepreagents", "api_production_ts" ], - "4": [ + "5": [ "api_admin_fetchaccessloglist", "api_admin_fetchcleanroomlist", "api_admin_fetchcreateaccesslog", @@ -508,7 +524,6 @@ "clean_room_index_resolvepersonforedit", "site_index_getsitetypelabel", "site_index_handleadd", - "site_index_handlebatchdelete", "site_index_handledelete", "site_index_handledialogclose", "site_index_handleedit", @@ -525,51 +540,99 @@ "views_operations_clean_room_index_vue", "views_system_site_index_vue" ], - "5": [ - "art_fireworks_effect_index_fireworksystem", - "art_fireworks_effect_index_fireworksystem_constructor", - "art_fireworks_effect_index_fireworksystem_createfirework", - "art_fireworks_effect_index_fireworksystem_createparticle", - "art_fireworks_effect_index_fireworksystem_getavailableparticle", - "art_fireworks_effect_index_fireworksystem_initializepool", - "art_fireworks_effect_index_fireworksystem_preloadallimages", - "art_fireworks_effect_index_fireworksystem_preloadimage", - "art_page_content_index_reload", - "clean_room_index_formatuserlabel", - "clean_room_index_onpersonselectchange", - "components_core_layouts_art_fireworks_effect_index_vue", - "components_core_layouts_art_page_content_index_vue", - "http_index_subscribetokenrefresh", - "navigation_jump_handlemenujump", - "navigation_jump_openexternallink", - "process_route_index_if", - "process_route_index_set", - "role_index_walk", - "site_index_formatcontactuserlabel", - "storage_facility_index_if", - "storage_facility_index_push", - "utils_category_path_display_ensurecategorypathdataloaded", - "utils_category_path_display_formatcategorypathlabel", - "utils_category_path_display_ts", - "utils_fetch_paged_list_fetchallpagedrecords", - "utils_fetch_paged_list_ts", - "utils_navigation_jump_ts", - "utils_protocol_payment_installment_addmonthsymd", - "utils_protocol_payment_installment_alignfqpaymentdetailsfordisplay", - "utils_protocol_payment_installment_calcinstallmentdueamounts", - "utils_protocol_payment_installment_sortfqpaymentdetails", - "utils_protocol_payment_installment_syncfqpaymentdetailrowcount", - "utils_protocol_payment_installment_ts", - "utils_tree_path_buildpathlabelmapfromtreeroots", - "utils_tree_path_buildtreepathlabelfromflat", - "utils_tree_path_findtreeselectshortlabel", - "utils_tree_path_resolvetreepathdisplay", - "utils_tree_path_ts", - "views_operations_storage_facility_index_vue", - "views_production_process_route_index_vue", - "views_system_role_index_vue" - ], "6": [ + "category_index_catch", + "category_index_collectids", + "category_index_handlecategorytableselectionchange", + "category_index_handleview", + "components_core_layouts_art_settings_panel_composables_usesettingshandlers_ts", + "components_core_layouts_art_settings_panel_composables_usesettingspanel_ts", + "components_core_layouts_art_settings_panel_composables_usesettingsstate_ts", + "composables_usesettingshandlers_usesettingshandlers", + "composables_usesettingspanel_usesettingspanel", + "composables_usesettingsstate_usesettingsstate", + "core_iframeroutemanager_iframeroutemanager_add", + "core_routepermissionvalidator_routepermissionvalidator", + "core_routepermissionvalidator_routepermissionvalidator_buildmenupathset", + "core_routepermissionvalidator_routepermissionvalidator_checkpathprefix", + "core_routepermissionvalidator_routepermissionvalidator_haspermission", + "core_routepermissionvalidator_routepermissionvalidator_isdynamicroutematch", + "core_routepermissionvalidator_routepermissionvalidator_matchroute", + "core_routepermissionvalidator_routepermissionvalidator_validatepath", + "core_routevalidator_routevalidator_loglayouterror", + "core_useceremony_useceremony", + "core_usetheme_initializetheme", + "core_usetheme_usetheme", + "hooks_core_useceremony_ts", + "hooks_core_usetheme_ts", + "router_core_routepermissionvalidator_ts", + "table_tablecache_tablecache", + "table_tablecache_tablecache_cleanupexpired", + "table_tablecache_tablecache_clear", + "table_tablecache_tablecache_clearbytags", + "table_tablecache_tablecache_clearcurrentsearch", + "table_tablecache_tablecache_clearpagination", + "table_tablecache_tablecache_constructor", + "table_tablecache_tablecache_evictlru", + "table_tablecache_tablecache_generatekey", + "table_tablecache_tablecache_generatetags", + "table_tablecache_tablecache_get", + "table_tablecache_tablecache_getstats", + "table_tablecache_tablecache_set", + "ui_animation_themeanimation", + "ui_animation_toggletheme", + "ui_animation_toggletransition", + "utils_table_tablecache_ts", + "utils_ui_animation_ts", + "views_system_category_index_vue" + ], + "7": [ + "api_admin_fetchcreatecustomer", + "api_admin_fetchcreatemenu", + "api_admin_fetchcustomerlist", + "api_admin_fetchdeletecustomer", + "api_admin_fetchdeletemenu", + "api_admin_fetchmenutree", + "api_admin_fetchupdatecustomer", + "api_admin_fetchupdatemenu", + "components_business_system_view_dialog_index_vue", + "customer_index_handleadd", + "customer_index_handlebatchdelete", + "customer_index_handledelete", + "customer_index_handleedit", + "customer_index_handlereset", + "customer_index_handlesearch", + "customer_index_handleselectionchange", + "customer_index_handlesubmit", + "customer_index_handleview", + "customer_index_loaddata", + "customer_index_resetform", + "dept_index_get", + "dept_index_postorder", + "dept_index_preorder", + "material_index_pad", + "menu_index_applytreeexpand", + "menu_index_handleadd", + "menu_index_handleaddchild", + "menu_index_handledelete", + "menu_index_handledialogclose", + "menu_index_handleedit", + "menu_index_handlereset", + "menu_index_handlesearch", + "menu_index_handleselectionchange", + "menu_index_handlesubmit", + "menu_index_handleview", + "menu_index_loaddata", + "menu_index_resetform", + "menu_index_toggleexpand", + "qc_material_index_pad", + "views_basic_info_customer_index_vue", + "views_cell_storage_material_index_vue", + "views_quality_inspection_qc_material_index_vue", + "views_system_dept_index_vue", + "views_system_menu_index_vue" + ], + "8": [ "art_screen_lock_index_tologin", "http_crypto_base64tobytes", "http_crypto_bytestobase64", @@ -610,7 +673,7 @@ "utils_http_error_ts", "utils_http_index_ts" ], - "7": [ + "9": [ "locales_index_getdefaultlanguage", "locales_index_ts", "storage_storage_checkstoragecompatibility", @@ -648,7 +711,44 @@ "utils_storage_storage_key_manager_ts", "utils_storage_storage_ts" ], - "8": [ + "10": [ + "api_production_work_order_fetchcompleteproductionworkorder", + "api_production_work_order_fetchproductionworkorderdetail", + "api_production_work_order_fetchproductionworkorderlist", + "api_production_work_order_ts", + "components_business_dialog_detail_skeleton_index_vue", + "components_business_product_view_dialog_index_vue", + "components_business_sample_qc_info_cards_index_vue", + "list_donationviewdialog_auditordisplay", + "list_donationviewdialog_dash", + "list_donationviewdialog_expressname", + "list_donationviewdialog_formatmetric", + "list_donationviewdialog_formatym", + "list_donationviewdialog_formatymd", + "list_donationviewdialog_if", + "list_donationviewdialog_samplereceptionchecklist", + "list_donationviewdialog_sampletypename", + "list_donationviewdialog_sitename", + "list_donationviewdialog_unitname", + "product_view_dialog_index_formatmeasureview", + "product_view_dialog_index_iscategoryenabled", + "product_view_dialog_index_newbannerclientkey", + "product_view_dialog_index_normalizeid", + "production_work_order_index_formatmetric", + "production_work_order_index_handlereceptionattachmentpreview", + "production_work_order_index_handlereset", + "production_work_order_index_handlesearch", + "production_work_order_index_layoutworkordertable", + "production_work_order_index_loaddata", + "protocol_protocolattachmentreadonly_resolvefileurl", + "protocol_protocolviewdialog_dash", + "protocol_protocolviewdialog_handleclosed", + "views_cell_storage_protocol_protocolattachmentreadonly_vue", + "views_cell_storage_protocol_protocolviewdialog_vue", + "views_production_production_work_order_index_vue", + "views_research_donation_list_donationviewdialog_vue" + ], + "11": [ "components_core_layouts_art_settings_panel_widget_settingitem_vue", "modules_user_search_handlereset", "modules_user_search_handlesearch", @@ -684,78 +784,7 @@ "widget_settingitem_emit", "widget_settingitem_if" ], - "9": [ - "api_admin_fetchcreatemenu", - "api_admin_fetchdeletemenu", - "api_admin_fetchmenutree", - "api_admin_fetchupdatemenu", - "components_business_dialog_form_body_index_vue", - "components_business_system_view_dialog_index_vue", - "dept_index_get", - "dept_index_postorder", - "dept_index_preorder", - "material_index_pad", - "menu_index_applytreeexpand", - "menu_index_handleadd", - "menu_index_handleaddchild", - "menu_index_handledelete", - "menu_index_handledialogclose", - "menu_index_handleedit", - "menu_index_handlereset", - "menu_index_handlesearch", - "menu_index_handleselectionchange", - "menu_index_handlesubmit", - "menu_index_handleview", - "menu_index_loaddata", - "menu_index_resetform", - "menu_index_toggleexpand", - "post_index_collectallpostbinddeptids", - "post_index_collectpostbinddeptsubtreeids", - "post_index_expandpostbinddepttree", - "post_index_findpostbinddeptnodebyid", - "qc_material_index_pad", - "views_cell_storage_material_index_vue", - "views_quality_inspection_qc_material_index_vue", - "views_system_dept_index_vue", - "views_system_menu_index_vue", - "views_system_post_index_vue" - ], - "10": [ - "api_admin_fetchcollectionregionlist", - "api_admin_fetchcreatecollectionregion", - "api_admin_fetchcreatehospital", - "api_admin_fetchdeletecollectionregion", - "api_admin_fetchdeletehospital", - "api_admin_fetchhospitallist", - "api_admin_fetchupdatecollectionregion", - "api_admin_fetchupdatehospital", - "api_production_work_order_fetchcompleteproductionworkorder", - "api_production_work_order_fetchproductionworkorderdetail", - "api_production_work_order_fetchproductionworkorderlist", - "api_production_work_order_ts", - "collection_region_index_handleadd", - "collection_region_index_handleaddhospital", - "collection_region_index_handledelete", - "collection_region_index_handledeletehospital", - "collection_region_index_handleedit", - "collection_region_index_handleedithospital", - "collection_region_index_handlereset", - "collection_region_index_handlesearch", - "collection_region_index_handleselectionchange", - "collection_region_index_handleview", - "collection_region_index_loaddata", - "collection_region_index_loadhospitals", - "collection_region_index_onhospitaldialogclosed", - "collection_region_index_onhospitalselectionchange", - "collection_region_index_openhospitaldialog", - "collection_region_index_submithospital", - "collection_region_index_submitregion", - "production_work_order_index_handlecomplete", - "production_work_order_index_handleview", - "views_basic_info_collection_region_index_vue", - "views_production_production_work_order_index_vue" - ], - "11": [ + "12": [ "api_business_fetchadjustorder", "api_business_fetchassigndelivery", "api_business_fetchattachmentdownloadurl", @@ -771,6 +800,7 @@ "api_business_fetchuploadproductimage", "api_business_ts", "components_business_qc_task_view_dialog_index_vue", + "production_work_order_index_handlereceptionattachmentdownload", "qc_task_index_canfillresult", "qc_task_index_clearmaterialrow", "qc_task_index_formatmetric", @@ -789,69 +819,34 @@ "utils_download_attachment_ts", "views_quality_inspection_qc_task_index_vue" ], - "12": [ - "api_system_fetchcreatecomment", - "api_system_fetchcreateupgradelog", - "api_system_fetchdeletecomment", - "api_system_fetchdeleteupgradelog", - "api_system_fetchgetallupgradelogs", - "api_system_fetchgetchinamapdata", - "api_system_fetchgetcomments", - "api_system_fetchgetcurrentversion", - "api_system_fetchgetlatestupgradelog", - "api_system_fetchgetsystemconfig", - "api_system_fetchgetupgradelogs", - "api_system_fetchupdateupgradelog", - "api_system_ts", - "storage_storage_config_storageconfig_generatestoragekey", - "sys_upgrade_systemupgrade", - "sys_upgrade_versionmanager", - "sys_upgrade_versionmanager_buildupgrademessage", - "sys_upgrade_versionmanager_cleanuplegacydata", - "sys_upgrade_versionmanager_executeupgrade", - "sys_upgrade_versionmanager_findlegacystorage", - "sys_upgrade_versionmanager_getstoredversion", - "sys_upgrade_versionmanager_isfirstvisit", - "sys_upgrade_versionmanager_issameversion", - "sys_upgrade_versionmanager_normalizeversion", - "sys_upgrade_versionmanager_performlogout", - "sys_upgrade_versionmanager_processupgrade", - "sys_upgrade_versionmanager_setstoredversion", - "sys_upgrade_versionmanager_shouldrequirerelogin", - "sys_upgrade_versionmanager_shouldskipupgrade", - "sys_upgrade_versionmanager_showupgradenotification", - "utils_sys_upgrade_ts" - ], "13": [ - "category_index_catch", - "category_index_collectids", - "category_index_handlecategorytableselectionchange", - "category_index_handleview", - "core_iframeroutemanager_iframeroutemanager_add", - "core_routepermissionvalidator_routepermissionvalidator", - "core_routepermissionvalidator_routepermissionvalidator_buildmenupathset", - "core_routepermissionvalidator_routepermissionvalidator_checkpathprefix", - "core_routepermissionvalidator_routepermissionvalidator_haspermission", - "core_routepermissionvalidator_routepermissionvalidator_isdynamicroutematch", - "core_routepermissionvalidator_routepermissionvalidator_matchroute", - "core_routepermissionvalidator_routepermissionvalidator_validatepath", - "core_routevalidator_routevalidator_loglayouterror", - "router_core_routepermissionvalidator_ts", - "table_tablecache_tablecache", - "table_tablecache_tablecache_cleanupexpired", - "table_tablecache_tablecache_clear", - "table_tablecache_tablecache_clearbytags", - "table_tablecache_tablecache_clearcurrentsearch", - "table_tablecache_tablecache_clearpagination", - "table_tablecache_tablecache_constructor", - "table_tablecache_tablecache_evictlru", - "table_tablecache_tablecache_generatekey", - "table_tablecache_tablecache_generatetags", - "table_tablecache_tablecache_get", - "table_tablecache_tablecache_getstats", - "table_tablecache_tablecache_set", - "utils_table_tablecache_ts", - "views_system_category_index_vue" + "api_admin_fetchgetmenulist", + "api_auth_fetchgetmenucodes", + "api_auth_fetchlogin", + "api_auth_fetchlogout", + "api_auth_fetchrefreshtoken", + "api_auth_ts", + "core_menuprocessor_menuprocessor", + "core_menuprocessor_menuprocessor_buildfullpath", + "core_menuprocessor_menuprocessor_filteremptymenus", + "core_menuprocessor_menuprocessor_filtermenubycodes", + "core_menuprocessor_menuprocessor_filtermenubyroles", + "core_menuprocessor_menuprocessor_getmenulist", + "core_menuprocessor_menuprocessor_isnavigableroute", + "core_menuprocessor_menuprocessor_isvalidabsolutepath", + "core_menuprocessor_menuprocessor_normalizemenucode", + "core_menuprocessor_menuprocessor_normalizemenupaths", + "core_menuprocessor_menuprocessor_processbackendmenu", + "core_menuprocessor_menuprocessor_processfrontendmenu", + "core_menuprocessor_menuprocessor_resolvedefaultredirect", + "core_menuprocessor_menuprocessor_validatemenupaths", + "core_useappmode_useappmode", + "core_useauth_useauth", + "hooks_core_useappmode_ts", + "hooks_core_useauth_ts", + "router_core_menuprocessor_ts", + "utils_loginrsa_buildwebencryptedloginbody", + "utils_loginrsa_ts" ], "14": [ "api_ethnic_fetchethniclist", @@ -883,30 +878,32 @@ "views_research_donation_list_donationformdialog_vue" ], "15": [ - "components_business_dialog_detail_skeleton_index_vue", - "components_business_product_view_dialog_index_vue", - "components_business_sample_qc_info_cards_index_vue", - "list_donationviewdialog_auditordisplay", - "list_donationviewdialog_dash", - "list_donationviewdialog_expressname", - "list_donationviewdialog_formatmetric", - "list_donationviewdialog_formatym", - "list_donationviewdialog_formatymd", - "list_donationviewdialog_if", - "list_donationviewdialog_samplereceptionchecklist", - "list_donationviewdialog_sampletypename", - "list_donationviewdialog_sitename", - "list_donationviewdialog_unitname", - "product_view_dialog_index_formatmeasureview", - "product_view_dialog_index_iscategoryenabled", - "product_view_dialog_index_newbannerclientkey", - "product_view_dialog_index_normalizeid", - "protocol_protocolattachmentreadonly_resolvefileurl", - "protocol_protocolviewdialog_dash", - "protocol_protocolviewdialog_handleclosed", - "views_cell_storage_protocol_protocolattachmentreadonly_vue", - "views_cell_storage_protocol_protocolviewdialog_vue", - "views_research_donation_list_donationviewdialog_vue" + "api_admin_fetchcollectionregionlist", + "api_admin_fetchcreatecollectionregion", + "api_admin_fetchcreatehospital", + "api_admin_fetchdeletecollectionregion", + "api_admin_fetchdeletehospital", + "api_admin_fetchhospitallist", + "api_admin_fetchupdatecollectionregion", + "api_admin_fetchupdatehospital", + "collection_region_index_handleadd", + "collection_region_index_handleaddhospital", + "collection_region_index_handledelete", + "collection_region_index_handledeletehospital", + "collection_region_index_handleedit", + "collection_region_index_handleedithospital", + "collection_region_index_handlereset", + "collection_region_index_handlesearch", + "collection_region_index_handleselectionchange", + "collection_region_index_handleview", + "collection_region_index_loaddata", + "collection_region_index_loadhospitals", + "collection_region_index_onhospitaldialogclosed", + "collection_region_index_onhospitalselectionchange", + "collection_region_index_openhospitaldialog", + "collection_region_index_submithospital", + "collection_region_index_submitregion", + "views_basic_info_collection_region_index_vue" ], "16": [ "business_highlight_addcopybutton", @@ -955,26 +952,25 @@ "views_system_user_index_vue" ], "18": [ - "art_work_tab_index_cleanupeventlisteners", - "art_work_tab_index_closeworktab", - "art_work_tab_index_handletouchend", - "art_work_tab_index_handletouchmove", - "art_work_tab_index_handletouchstart", - "art_work_tab_index_handlewheelscroll", - "art_work_tab_index_settransition", - "art_work_tab_index_setupeventlisteners", - "components_core_layouts_art_settings_panel_composables_usesettingshandlers_ts", - "components_core_layouts_art_settings_panel_composables_usesettingspanel_ts", - "components_core_layouts_art_settings_panel_composables_usesettingsstate_ts", - "components_core_layouts_art_work_tab_index_vue", - "composables_usesettingshandlers_usesettingshandlers", - "composables_usesettingspanel_usesettingspanel", - "composables_usesettingsstate_usesettingsstate", - "core_useceremony_useceremony", - "core_usetheme_initializetheme", - "core_usetheme_usetheme", - "hooks_core_useceremony_ts", - "hooks_core_usetheme_ts" + "api_system_fetchgetlatestupgradelog", + "storage_storage_config_storageconfig_generatestoragekey", + "sys_upgrade_systemupgrade", + "sys_upgrade_versionmanager", + "sys_upgrade_versionmanager_buildupgrademessage", + "sys_upgrade_versionmanager_cleanuplegacydata", + "sys_upgrade_versionmanager_executeupgrade", + "sys_upgrade_versionmanager_findlegacystorage", + "sys_upgrade_versionmanager_getstoredversion", + "sys_upgrade_versionmanager_isfirstvisit", + "sys_upgrade_versionmanager_issameversion", + "sys_upgrade_versionmanager_normalizeversion", + "sys_upgrade_versionmanager_performlogout", + "sys_upgrade_versionmanager_processupgrade", + "sys_upgrade_versionmanager_setstoredversion", + "sys_upgrade_versionmanager_shouldrequirerelogin", + "sys_upgrade_versionmanager_shouldskipupgrade", + "sys_upgrade_versionmanager_showupgradenotification", + "utils_sys_upgrade_ts" ], "19": [ "api_workflow_fetchapprovetask", @@ -998,6 +994,27 @@ "views_system_workflow_components_approvaldialog_vue" ], "20": [ + "api_collection_protocol_fetchcollectionprotocolauditlist", + "api_collection_protocol_fetchcollectionprotocoldetail", + "api_collection_protocol_fetchcollectionprotocollist", + "api_collection_protocol_fetchcreatecollectionprotocol", + "api_collection_protocol_fetchdeletecollectionprotocol", + "api_collection_protocol_fetchpaymentdetaillist", + "api_collection_protocol_fetchreceiptconfirmedlist", + "api_collection_protocol_fetchreceiptconfirmlist", + "api_collection_protocol_fetchreceiptconfirmsubmit", + "api_collection_protocol_fetchrefundconfirmedlist", + "api_collection_protocol_fetchrefundconfirmlist", + "api_collection_protocol_fetchrefundconfirmsubmit", + "api_collection_protocol_fetchsubmitprotocolaudit", + "api_collection_protocol_fetchsubmitreceiptfinance", + "api_collection_protocol_fetchsubmitreceiptfinancebatch", + "api_collection_protocol_fetchsubmitrefundfinance", + "api_collection_protocol_fetchsubmitrefundfinancebatch", + "api_collection_protocol_fetchupdatecollectionprotocol", + "api_collection_protocol_ts" + ], + "21": [ "core_usetable_usetable", "core_usetable_usetableimpl", "core_usetablecolumns_getcolumnchecks", @@ -1016,7 +1033,7 @@ "table_tableutils_updatepaginationfromresponse", "utils_table_tableutils_ts" ], - "21": [ + "22": [ "core_componentloader_componentloader", "core_componentloader_componentloader_constructor", "core_componentloader_componentloader_createemptycomponent", @@ -1035,7 +1052,7 @@ "router_core_componentloader_ts", "router_core_routetransformer_ts" ], - "22": [ + "23": [ "core_usechart_usechart", "core_usechart_usechartcomponent", "core_usechart_usechartops", @@ -1053,24 +1070,6 @@ "ui_colors_setelementthemecolor", "utils_ui_colors_ts" ], - "23": [ - "api_admin_fetchcreatecustomer", - "api_admin_fetchcustomerlist", - "api_admin_fetchdeletecustomer", - "api_admin_fetchupdatecustomer", - "customer_index_handleadd", - "customer_index_handlebatchdelete", - "customer_index_handledelete", - "customer_index_handleedit", - "customer_index_handlereset", - "customer_index_handlesearch", - "customer_index_handleselectionchange", - "customer_index_handlesubmit", - "customer_index_handleview", - "customer_index_loaddata", - "customer_index_resetform", - "views_basic_info_customer_index_vue" - ], "24": [ "api_production_task_fetchaddtaskstep", "api_production_task_fetchcreateproductiontask", @@ -1207,6 +1206,14 @@ "api_sample_reception_check_item_ts" ], "36": [ + "api_qc_third_party_item_fetchcreateqcthirdpartyitem", + "api_qc_third_party_item_fetchdeleteqcthirdpartyitem", + "api_qc_third_party_item_fetchqcthirdpartyitemlist", + "api_qc_third_party_item_fetchqcthirdpartyitemsactive", + "api_qc_third_party_item_fetchupdateqcthirdpartyitem", + "api_qc_third_party_item_ts" + ], + "37": [ "api_qc_third_party_company_fetchcreateqcthirdpartycompany", "api_qc_third_party_company_fetchdeleteqcthirdpartycompany", "api_qc_third_party_company_fetchqcthirdpartycompanylist", @@ -1214,7 +1221,7 @@ "api_qc_third_party_company_fetchupdateqcthirdpartycompany", "api_qc_third_party_company_ts" ], - "37": [ + "38": [ "api_qc_lab_test_item_fetchcreateqclabtestitem", "api_qc_lab_test_item_fetchdeleteqclabtestitem", "api_qc_lab_test_item_fetchqclabtestitemlist", @@ -1222,7 +1229,7 @@ "api_qc_lab_test_item_fetchupdateqclabtestitem", "api_qc_lab_test_item_ts" ], - "38": [ + "39": [ "api_qc_task_fetchcompleteqctask", "api_qc_task_fetchqctaskdetail", "api_qc_task_fetchqctasklist", @@ -1230,7 +1237,7 @@ "api_qc_task_fetchupdateqctaskattachments", "api_qc_task_ts" ], - "39": [ + "40": [ "sample_reception_index_isetatodayorearlier", "sample_reception_index_pad", "sample_reception_index_parseetalocaldate", @@ -1238,673 +1245,673 @@ "sample_reception_index_startoflocalday", "views_quality_inspection_sample_reception_index_vue" ], - "40": [ + "41": [ "art_global_search_index_focusinput", "art_global_search_index_handlekeydown", "art_global_search_index_if", "art_global_search_index_search", "components_core_layouts_art_global_search_index_vue" ], - "41": [ + "42": [ "art_sidebar_menu_index_if", "art_sidebar_menu_index_logsidebarmenu", "components_core_layouts_art_menus_art_sidebar_menu_index_vue", "components_core_layouts_art_menus_art_sidebar_menu_widget_sidebarsubmenu_vue" ], - "42": [ + "43": [ "config_setting_getsettingdefaults", "config_setting_resettodefaults", "config_setting_ts" ], - "43": [ + "44": [ "config_modules_component_ts", "modules_component_getenabledglobalcomponents", "modules_component_getglobalcomponentbykey" ], - "44": [ + "45": [ "utils_user_avatar_defaultavatarpathbyrole", "utils_user_avatar_resolveuseravatarurl", "utils_user_avatar_ts" ], - "45": [ + "46": [ "utils_status_tag_registry_createlabelgetter", "utils_status_tag_registry_createtagtypegetter", "utils_status_tag_registry_ts" ], - "46": [ + "47": [ "form_responsive_calculateresponsivespan", "form_responsive_createresponsivespancalculator", "utils_form_responsive_ts" ], - "47": [ + "48": [ "art_line_chart_index_clearanimationtimers", "art_line_chart_index_if", "components_core_charts_art_line_chart_index_vue" ], - "48": [ + "49": [ "components_core_layouts_art_header_bar_index_vue", "components_core_layouts_art_header_bar_widget_artusermenu_vue", "widget_artusermenu_getrolename" ], - "49": [ + "50": [ "art_text_scroll_index_handlecontentclick", "art_text_scroll_index_measuresizes", "components_core_text_effect_art_text_scroll_index_vue" ], - "50": [ + "51": [ "components_business_order_operate_dialog_bridge_index_vue", "order_operate_dialog_bridge_index_handlemessage", "order_operate_dialog_bridge_index_postopen" ], - "51": [ + "52": [ "core_uselayoutheight_useautolayoutheight", "core_uselayoutheight_uselayoutheight", "hooks_core_uselayoutheight_ts" ], - "52": [ + "53": [ "utils_sort_order_fetchnextsortorder", "utils_sort_order_ts" ], - "53": [ + "54": [ "utils_mask_sensitive_maskidcard", "utils_mask_sensitive_ts" ], - "54": [ + "55": [ "ui_ep_icon_map_resolveepicon", "utils_ui_ep_icon_map_ts" ], - "55": [ + "56": [ "ui_tabs_gettabconfig", "utils_ui_tabs_ts" ], - "56": [ + "57": [ "ui_loading_getloadingbackground", "utils_ui_loading_ts" ], - "57": [ + "58": [ "art_search_bar_index_if", "components_core_forms_art_search_bar_index_vue" ], - "58": [ + "59": [ "art_form_index_if", "components_core_forms_art_form_index_vue" ], - "59": [ + "60": [ "art_wang_editor_index_onsuccess", "components_core_forms_art_wang_editor_index_vue" ], - "60": [ + "61": [ "art_donut_chart_card_index_formatnumber", "components_core_cards_art_donut_chart_card_index_vue" ], - "61": [ + "62": [ "art_k_line_chart_index_getactualcolors", "components_core_charts_art_k_line_chart_index_vue" ], - "62": [ + "63": [ "art_bar_chart_index_creategradientcolor", "components_core_charts_art_bar_chart_index_vue" ], - "63": [ + "64": [ "art_h_bar_chart_index_creategradientcolor", "components_core_charts_art_h_bar_chart_index_vue" ], - "64": [ + "65": [ "art_basic_banner_index_generatemeteors", "components_core_banners_art_basic_banner_index_vue" ], - "65": [ + "66": [ "components_core_layouts_art_settings_panel_composables_usesettingsconfig_ts", "composables_usesettingsconfig_usesettingsconfig" ], - "66": [ + "67": [ "components_core_layouts_art_menus_art_horizontal_menu_index_vue", "components_core_layouts_art_menus_art_horizontal_menu_widget_horizontalsubmenu_vue" ], - "67": [ + "68": [ "components_business_protocol_finance_confirm_fields_finance_attachments_ts", "protocol_finance_confirm_fields_finance_attachments_financeattachmentstourlstring" ], - "68": [ + "69": [ "components_business_order_operate_local_dialog_index_vue", "order_operate_local_dialog_index_handlemessage" ], - "69": [ + "70": [ "core_usefastenter_usefastenter", "hooks_core_usefastenter_ts" ], - "70": [ + "71": [ "core_useheaderbar_useheaderbar", "hooks_core_useheaderbar_ts" ], - "71": [ + "72": [ "fullmoon_todo_index_for", "views_cell_storage_fullmoon_todo_index_vue" ], - "72": [ + "73": [ "designer_flowdesigner_createedge", "views_system_workflow_designer_flowdesigner_vue" ], - "73": [ + "74": [ "views_pilot_service_channel_channelviewdialog_vue", "views_pilot_service_channel_index_vue" ], - "74": [ + "75": [ "store_index_initstore", "store_index_ts" ], - "75": [ + "76": [ "env_d_ts" ], - "76": [ + "77": [ "shims_loose_d_ts" ], - "77": [ + "78": [ "types_api_d_ts" ], - "78": [ + "79": [ "types_index_ts" ], - "79": [ + "80": [ "types_config_index_ts" ], - "80": [ + "81": [ "types_component_chart_ts" ], - "81": [ + "82": [ "types_component_index_ts" ], - "82": [ + "83": [ "types_common_response_ts" ], - "83": [ + "84": [ "types_common_index_ts" ], - "84": [ + "85": [ "types_directive_directive_d_ts" ], - "85": [ + "86": [ "types_api_api_d_ts" ], - "86": [ + "87": [ "types_import_components_d_ts" ], - "87": [ + "88": [ "types_import_auto_imports_d_ts" ], - "88": [ + "89": [ "types_store_index_ts" ], - "89": [ + "90": [ "types_router_index_ts" ], - "90": [ + "91": [ "config_index_ts" ], - "91": [ + "92": [ "config_modules_festival_ts" ], - "92": [ + "93": [ "config_modules_headerbar_ts" ], - "93": [ + "94": [ "config_modules_fastenter_ts" ], - "94": [ + "95": [ "config_assets_images_ts" ], - "95": [ + "96": [ "plugins_echarts_ts" ], - "96": [ + "97": [ "plugins_index_ts" ], - "97": [ + "98": [ "mock_upgrade_changelog_ts" ], - "98": [ + "99": [ "mock_temp_articlelist_ts" ], - "99": [ + "100": [ "mock_temp_commentlist_ts" ], - "100": [ + "101": [ "mock_temp_formdata_ts" ], - "101": [ + "102": [ "mock_temp_commentdetail_ts" ], - "102": [ + "103": [ "enums_formenum_ts" ], - "103": [ + "104": [ "enums_appenum_ts" ], - "104": [ + "105": [ "utils_patch_el_select_filterable_ts" ], - "105": [ + "106": [ "utils_index_ts" ], - "106": [ + "107": [ "utils_qc_labels_ts" ], - "107": [ + "108": [ "utils_ui_emojo_ts" ], - "108": [ + "109": [ "utils_ui_index_ts" ], - "109": [ + "110": [ "utils_ui_iconify_loader_ts" ], - "110": [ + "111": [ "utils_form_index_ts" ], - "111": [ + "112": [ "utils_constants_links_ts" ], - "112": [ + "113": [ "utils_constants_index_ts" ], - "113": [ + "114": [ "utils_navigation_index_ts" ], - "114": [ + "115": [ "utils_storage_index_ts" ], - "115": [ + "116": [ "utils_sys_mittbus_ts" ], - "116": [ + "117": [ "utils_sys_index_ts" ], - "117": [ + "118": [ "utils_table_tableconfig_ts" ], - "118": [ + "119": [ "utils_http_status_ts" ], - "119": [ + "120": [ "components_core_tables_art_table_index_vue" ], - "120": [ + "121": [ "components_core_tables_art_table_header_index_vue" ], - "121": [ + "122": [ "components_core_forms_art_button_more_index_vue" ], - "122": [ + "123": [ "components_core_forms_art_excel_import_index_vue" ], - "123": [ + "124": [ "components_core_forms_art_excel_export_index_vue" ], - "124": [ + "125": [ "components_core_forms_art_drag_verify_index_vue" ], - "125": [ + "126": [ "components_core_forms_art_button_table_index_vue" ], - "126": [ + "127": [ "components_core_widget_art_icon_button_index_vue" ], - "127": [ + "128": [ "components_core_cards_art_bar_chart_card_index_vue" ], - "128": [ + "129": [ "components_core_cards_art_data_list_card_index_vue" ], - "129": [ + "130": [ "components_core_cards_art_timeline_list_card_index_vue" ], - "130": [ + "131": [ "components_core_cards_art_stats_card_index_vue" ], - "131": [ + "132": [ "components_core_cards_art_image_card_index_vue" ], - "132": [ + "133": [ "components_core_cards_art_progress_card_index_vue" ], - "133": [ + "134": [ "components_core_cards_art_line_chart_card_index_vue" ], - "134": [ + "135": [ "components_core_charts_art_scatter_chart_index_vue" ], - "135": [ + "136": [ "components_core_charts_art_dual_bar_compare_chart_index_vue" ], - "136": [ + "137": [ "components_core_charts_art_ring_chart_index_vue" ], - "137": [ + "138": [ "components_core_charts_art_radar_chart_index_vue" ], - "138": [ + "139": [ "components_core_others_art_watermark_index_vue" ], - "139": [ + "140": [ "components_core_others_art_menu_right_index_vue" ], - "140": [ + "141": [ "components_core_banners_art_card_banner_index_vue" ], - "141": [ + "142": [ "components_core_layouts_art_global_component_index_vue" ], - "142": [ + "143": [ "components_core_layouts_art_settings_panel_index_vue" ], - "143": [ + "144": [ "components_core_layouts_art_settings_panel_widget_themesettings_vue" ], - "144": [ + "145": [ "components_core_layouts_art_settings_panel_widget_settingheader_vue" ], - "145": [ + "146": [ "components_core_layouts_art_settings_panel_widget_menustylesettings_vue" ], - "146": [ + "147": [ "components_core_layouts_art_settings_panel_widget_basicsettings_vue" ], - "147": [ + "148": [ "components_core_layouts_art_settings_panel_widget_settingdrawer_vue" ], - "148": [ + "149": [ "components_core_layouts_art_settings_panel_widget_settingactions_vue" ], - "149": [ + "150": [ "components_core_layouts_art_settings_panel_widget_colorsettings_vue" ], - "150": [ + "151": [ "components_core_layouts_art_settings_panel_widget_menulayoutsettings_vue" ], - "151": [ + "152": [ "components_core_layouts_art_settings_panel_widget_sectiontitle_vue" ], - "152": [ + "153": [ "components_core_layouts_art_settings_panel_widget_boxstylesettings_vue" ], - "153": [ + "154": [ "components_core_layouts_art_settings_panel_widget_containersettings_vue" ], - "154": [ + "155": [ "components_core_layouts_art_chat_window_index_vue" ], - "155": [ + "156": [ "components_core_layouts_art_menus_art_mixed_menu_index_vue" ], - "156": [ + "157": [ "components_core_layouts_art_notification_index_vue" ], - "157": [ + "158": [ "components_core_layouts_art_fast_enter_index_vue" ], - "158": [ + "159": [ "components_core_layouts_art_breadcrumb_index_vue" ], - "159": [ + "160": [ "components_core_theme_theme_svg_index_vue" ], - "160": [ + "161": [ "components_core_views_result_artresultpage_vue" ], - "161": [ + "162": [ "components_core_views_exception_artexception_vue" ], - "162": [ + "163": [ "components_core_views_login_authtopbar_vue" ], - "163": [ + "164": [ "components_core_views_login_loginleftview_vue" ], - "164": [ + "165": [ "components_core_text_effect_art_festival_text_scroll_index_vue" ], - "165": [ + "166": [ "components_core_base_art_svg_icon_index_vue" ], - "166": [ + "167": [ "components_core_base_art_back_to_top_index_vue" ], - "167": [ + "168": [ "components_core_base_art_logo_index_vue" ], - "168": [ + "169": [ "components_core_media_art_video_player_index_vue" ], - "169": [ + "170": [ "components_core_media_art_cutter_img_index_vue" ], - "170": [ + "171": [ "components_business_protocol_finance_confirm_fields_index_vue" ], - "171": [ + "172": [ "components_business_protocol_payment_detail_readonly_index_vue" ], - "172": [ + "173": [ "hooks_index_ts" ], - "173": [ + "174": [ "views_auth_login_index_vue" ], - "174": [ + "175": [ "views_cell_storage_refund_confirm_index_vue" ], - "175": [ + "176": [ "views_cell_storage_protocol_index_vue" ], - "176": [ + "177": [ "views_cell_storage_payment_info_index_vue" ], - "177": [ + "178": [ "views_cell_storage_storage_cert_index_vue" ], - "178": [ + "179": [ "views_cell_storage_protocol_audit_index_vue" ], - "179": [ + "180": [ "views_cell_storage_payment_confirm_index_vue" ], - "180": [ + "181": [ "views_cell_storage_material_stock_log_index_vue" ], - "181": [ + "182": [ "views_outside_iframe_vue" ], - "182": [ + "183": [ "views_operations_demo_index_vue" ], - "183": [ + "184": [ "views_operations_exhibition_appointment_index_vue" ], - "184": [ + "185": [ "views_research_donation_audit_index_vue" ], - "185": [ + "186": [ "views_research_donation_list_index_vue" ], - "186": [ + "187": [ "views_dashboard_console_index_vue" ], - "187": [ + "188": [ "views_system_tenant_index_vue" ], - "188": [ + "189": [ "views_system_order_index_vue" ], - "189": [ + "190": [ "views_system_unit_index_vue" ], - "190": [ + "191": [ "views_system_express_index_vue" ], - "191": [ + "192": [ "views_system_user_detail_vue" ], - "192": [ + "193": [ "views_system_workflow_my_applications_index_vue" ], - "193": [ + "194": [ "views_system_workflow_task_pending_index_vue" ], - "194": [ + "195": [ "views_system_workflow_task_completed_index_vue" ], - "195": [ + "196": [ "views_system_workflow_components_processstatustag_vue" ], - "196": [ + "197": [ "views_system_workflow_process_index_vue" ], - "197": [ + "198": [ "views_system_dict_index_vue" ], - "198": [ + "199": [ "views_system_leave_index_vue" ], - "199": [ + "200": [ "views_production_output_type_index_vue" ], - "200": [ + "201": [ "views_production_cell_product_index_vue" ], - "201": [ + "202": [ "views_production_sop_index_vue" ], - "202": [ + "203": [ "views_production_production_task_index_vue" ], - "203": [ + "204": [ "views_production_reagent_index_vue" ], - "204": [ + "205": [ "views_production_consumable_pack_index_vue" ], - "205": [ + "206": [ "views_production_consumable_index_vue" ], - "206": [ + "207": [ "views_production_process_index_vue" ], - "207": [ + "208": [ "views_production_process_category_index_vue" ], - "208": [ + "209": [ "views_index_index_vue" ], - "209": [ + "210": [ "views_quality_inspection_qc_work_order_index_vue" ], - "210": [ + "211": [ "views_quality_inspection_sample_reception_check_item_index_vue" ], - "211": [ + "212": [ "views_quality_inspection_lab_test_item_index_vue" ], - "212": [ + "213": [ "views_quality_inspection_qc_material_usage_index_vue" ], - "213": [ + "214": [ "views_quality_inspection_third_party_company_index_vue" ], - "214": [ + "215": [ "views_exception_500_index_vue" ], - "215": [ + "216": [ "views_exception_403_index_vue" ], - "216": [ + "217": [ "views_exception_404_index_vue" ], - "217": [ + "218": [ "views_pilot_service_cell_product_type_index_vue" ], - "218": [ + "219": [ "views_pilot_service_checkup_institution_index_vue" ], - "219": [ + "220": [ "views_pilot_service_checkup_institution_checkuppackagepanel_vue" ], - "220": [ + "221": [ "views_pilot_service_cell_product_price_index_vue" ], - "221": [ + "222": [ "views_pilot_service_cell_product_spec_index_vue" ], - "222": [ + "223": [ "views_basic_info_cell_sample_type_index_vue" ], - "223": [ + "224": [ "views_basic_info_insurance_company_index_vue" ], - "224": [ + "225": [ "assets_svg_loading_ts" ], - "225": [ + "226": [ "store_modules_worktab_ts" ], - "226": [ + "227": [ "store_modules_table_ts" ], - "227": [ + "228": [ "store_modules_menu_ts" ], - "228": [ + "229": [ "store_modules_setting_ts" ], - "229": [ + "230": [ "store_modules_user_ts" ], - "230": [ + "231": [ "router_routesalias_ts" ], - "231": [ + "232": [ "router_core_index_ts" ], - "232": [ + "233": [ "router_modules_sqxp_ts" ], - "233": [ + "234": [ "router_modules_index_ts" ], - "234": [ + "235": [ "router_modules_exception_ts" ], - "235": [ + "236": [ "router_routes_staticroutes_ts" ], - "236": [ + "237": [ "router_routes_asyncroutes_ts" ] }, "cohesion": { "0": 0.01, "1": 0.03, - "2": 0.03, - "3": 0.04, - "4": 0.05, - "5": 0.06, - "6": 0.09, - "7": 0.09, - "8": 0.13, - "9": 0.08, - "10": 0.08, - "11": 0.07, - "12": 0.09, - "13": 0.09, + "2": 0.04, + "3": 0.05, + "4": 0.04, + "5": 0.05, + "6": 0.06, + "7": 0.06, + "8": 0.09, + "9": 0.09, + "10": 0.07, + "11": 0.13, + "12": 0.06, + "13": 0.1, "14": 0.1, - "15": 0.11, + "15": 0.1, "16": 0.12, "17": 0.14, - "18": 0.1, + "18": 0.19, "19": 0.12, - "20": 0.16, - "21": 0.2, - "22": 0.27, - "23": 0.17, + "20": 0.11, + "21": 0.16, + "22": 0.2, + "23": 0.27, "24": 0.14, "25": 0.15, "26": 0.17, @@ -1920,20 +1927,20 @@ "36": 0.33, "37": 0.33, "38": 0.33, - "39": 0.53, - "40": 0.5, - "41": 0.67, - "42": 1.0, - "43": 0.67, - "44": 1.0, - "45": 0.67, + "39": 0.33, + "40": 0.53, + "41": 0.5, + "42": 0.67, + "43": 1.0, + "44": 0.67, + "45": 1.0, "46": 0.67, "47": 0.67, "48": 0.67, "49": 0.67, "50": 0.67, "51": 0.67, - "52": 1.0, + "52": 0.67, "53": 1.0, "54": 1.0, "55": 1.0, @@ -2117,7 +2124,8 @@ "233": 1.0, "234": 1.0, "235": 1.0, - "236": 1.0 + "236": 1.0, + "237": 1.0 }, "gods": [ { @@ -2172,17 +2180,6 @@ } ], "surprises": [ - { - "source": "handleBatchDelete()", - "target": "withFullscreenLoading()", - "source_files": [ - "views/system/site/index.vue", - "utils/fullscreen-loading.ts" - ], - "confidence": "INFERRED", - "relation": "calls", - "why": "inferred connection - not explicitly stated in source; connects across different repos/directories; bridges separate communities; peripheral node `handleBatchDelete()` unexpectedly reaches hub `withFullscreenLoading()`" - }, { "source": "handleBatchDelete()", "target": "withFullscreenLoading()", @@ -2226,6 +2223,17 @@ "confidence": "INFERRED", "relation": "calls", "why": "inferred connection - not explicitly stated in source; connects across different repos/directories; bridges separate communities; peripheral node `fetchLeaveDetail()` unexpectedly reaches hub `get()`" + }, + { + "source": "fetchSampleReceptionCheckItemList()", + "target": "get()", + "source_files": [ + "api/sample-reception-check-item.ts", + "views/production/process-route/index.vue" + ], + "confidence": "INFERRED", + "relation": "calls", + "why": "inferred connection - not explicitly stated in source; connects across different repos/directories; bridges separate communities; peripheral node `fetchSampleReceptionCheckItemList()` unexpectedly reaches hub `get()`" } ] } \ No newline at end of file diff --git a/web-admin/graphify-out/.graphify_extract.json b/web-admin/graphify-out/.graphify_extract.json index c5f54fc94..b90d43883 100644 --- a/web-admin/graphify-out/.graphify_extract.json +++ b/web-admin/graphify-out/.graphify_extract.json @@ -8324,18 +8324,53 @@ "source_location": "L1" }, { - "id": "production_work_order_index_handleview", - "label": "handleView()", + "id": "production_work_order_index_layoutworkordertable", + "label": "layoutWorkOrderTable()", "file_type": "code", "source_file": "views/production/production-work-order/index.vue", - "source_location": "L319" + "source_location": "L280" }, { - "id": "production_work_order_index_handlecomplete", - "label": "handleComplete()", + "id": "production_work_order_index_loaddata", + "label": "loadData()", "file_type": "code", "source_file": "views/production/production-work-order/index.vue", - "source_location": "L325" + "source_location": "L285" + }, + { + "id": "production_work_order_index_handlesearch", + "label": "handleSearch()", + "file_type": "code", + "source_file": "views/production/production-work-order/index.vue", + "source_location": "L302" + }, + { + "id": "production_work_order_index_handlereset", + "label": "handleReset()", + "file_type": "code", + "source_file": "views/production/production-work-order/index.vue", + "source_location": "L307" + }, + { + "id": "production_work_order_index_handlereceptionattachmentpreview", + "label": "handleReceptionAttachmentPreview()", + "file_type": "code", + "source_file": "views/production/production-work-order/index.vue", + "source_location": "L345" + }, + { + "id": "production_work_order_index_handlereceptionattachmentdownload", + "label": "handleReceptionAttachmentDownload()", + "file_type": "code", + "source_file": "views/production/production-work-order/index.vue", + "source_location": "L350" + }, + { + "id": "production_work_order_index_formatmetric", + "label": "formatMetric()", + "file_type": "code", + "source_file": "views/production/production-work-order/index.vue", + "source_location": "L354" }, { "id": "views_production_consumable_pack_index_vue", @@ -23834,20 +23869,200 @@ }, { "source": "views_production_production_work_order_index_vue", - "target": "production_work_order_index_handleview", - "relation": "contains", + "target": "element_plus", + "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "views/production/production-work-order/index.vue", - "source_location": "L319", + "source_location": "L227", "weight": 1.0 }, { "source": "views_production_production_work_order_index_vue", - "target": "production_work_order_index_handlecomplete", + "target": "element_plus", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "views/production/production-work-order/index.vue", + "source_location": "L228", + "weight": 1.0 + }, + { + "source": "views_production_production_work_order_index_vue", + "target": "icons_vue", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "views/production/production-work-order/index.vue", + "source_location": "L229", + "weight": 1.0 + }, + { + "source": "views_production_production_work_order_index_vue", + "target": "users_wuzilong_work_00code_zkxw_web_admin_src_api_production_work_order", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "views/production/production-work-order/index.vue", + "source_location": "L230", + "weight": 1.0 + }, + { + "source": "views_production_production_work_order_index_vue", + "target": "users_wuzilong_work_00code_zkxw_web_admin_src_api_production_task", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "views/production/production-work-order/index.vue", + "source_location": "L236", + "weight": 1.0 + }, + { + "source": "views_production_production_work_order_index_vue", + "target": "users_wuzilong_work_00code_zkxw_web_admin_src_api_production", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "views/production/production-work-order/index.vue", + "source_location": "L239", + "weight": 1.0 + }, + { + "source": "views_production_production_work_order_index_vue", + "target": "users_wuzilong_work_00code_zkxw_web_admin_src_utils_qc_labels", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "views/production/production-work-order/index.vue", + "source_location": "L243", + "weight": 1.0 + }, + { + "source": "views_production_production_work_order_index_vue", + "target": "views_cell_storage_protocol_protocolattachmentreadonly_vue", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "views/production/production-work-order/index.vue", + "source_location": "L248", + "weight": 1.0 + }, + { + "source": "views_production_production_work_order_index_vue", + "target": "components_business_system_view_dialog_index_vue", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "views/production/production-work-order/index.vue", + "source_location": "L249", + "weight": 1.0 + }, + { + "source": "views_production_production_work_order_index_vue", + "target": "components_business_system_view_dialog_index_vue", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "views/production/production-work-order/index.vue", + "source_location": "L250", + "weight": 1.0 + }, + { + "source": "views_production_production_work_order_index_vue", + "target": "element_plus", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "views/production/production-work-order/index.vue", + "source_location": "L251", + "weight": 1.0 + }, + { + "source": "views_production_production_work_order_index_vue", + "target": "users_wuzilong_work_00code_zkxw_web_admin_src_utils_download_attachment", + "relation": "imports_from", + "confidence": "EXTRACTED", + "source_file": "views/production/production-work-order/index.vue", + "source_location": "L252", + "weight": 1.0 + }, + { + "source": "views_production_production_work_order_index_vue", + "target": "production_work_order_index_layoutworkordertable", "relation": "contains", "confidence": "EXTRACTED", "source_file": "views/production/production-work-order/index.vue", - "source_location": "L325", + "source_location": "L280", + "weight": 1.0 + }, + { + "source": "views_production_production_work_order_index_vue", + "target": "production_work_order_index_loaddata", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "views/production/production-work-order/index.vue", + "source_location": "L285", + "weight": 1.0 + }, + { + "source": "views_production_production_work_order_index_vue", + "target": "production_work_order_index_handlesearch", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "views/production/production-work-order/index.vue", + "source_location": "L302", + "weight": 1.0 + }, + { + "source": "views_production_production_work_order_index_vue", + "target": "production_work_order_index_handlereset", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "views/production/production-work-order/index.vue", + "source_location": "L307", + "weight": 1.0 + }, + { + "source": "views_production_production_work_order_index_vue", + "target": "production_work_order_index_handlereceptionattachmentpreview", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "views/production/production-work-order/index.vue", + "source_location": "L345", + "weight": 1.0 + }, + { + "source": "views_production_production_work_order_index_vue", + "target": "production_work_order_index_handlereceptionattachmentdownload", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "views/production/production-work-order/index.vue", + "source_location": "L350", + "weight": 1.0 + }, + { + "source": "views_production_production_work_order_index_vue", + "target": "production_work_order_index_formatmetric", + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "views/production/production-work-order/index.vue", + "source_location": "L354", + "weight": 1.0 + }, + { + "source": "production_work_order_index_loaddata", + "target": "production_work_order_index_layoutworkordertable", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "views/production/production-work-order/index.vue", + "source_location": "L298", + "weight": 1.0 + }, + { + "source": "production_work_order_index_handlesearch", + "target": "production_work_order_index_loaddata", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "views/production/production-work-order/index.vue", + "source_location": "L304", + "weight": 1.0 + }, + { + "source": "production_work_order_index_handlereset", + "target": "production_work_order_index_loaddata", + "relation": "calls", + "confidence": "EXTRACTED", + "source_file": "views/production/production-work-order/index.vue", + "source_location": "L311", "weight": 1.0 }, { @@ -30159,33 +30374,23 @@ "weight": 1.0 }, { - "source": "production_work_order_index_handleview", - "target": "api_production_work_order_fetchproductionworkorderdetail", + "source": "production_work_order_index_loaddata", + "target": "api_production_work_order_fetchproductionworkorderlist", "relation": "calls", "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "views/production/production-work-order/index.vue", - "source_location": "L320", + "source_location": "L288", "weight": 1.0 }, { - "source": "production_work_order_index_handlecomplete", - "target": "api_production_work_order_fetchcompleteproductionworkorder", + "source": "production_work_order_index_handlereceptionattachmentdownload", + "target": "utils_download_attachment_downloadattachmentfile", "relation": "calls", "confidence": "INFERRED", "confidence_score": 0.8, "source_file": "views/production/production-work-order/index.vue", - "source_location": "L327", - "weight": 1.0 - }, - { - "source": "production_work_order_index_handlecomplete", - "target": "collection_region_index_loaddata", - "relation": "calls", - "confidence": "INFERRED", - "confidence_score": 0.8, - "source_file": "views/production/production-work-order/index.vue", - "source_location": "L329", + "source_location": "L351", "weight": 1.0 }, { diff --git a/web-admin/graphify-out/GRAPH_REPORT.md b/web-admin/graphify-out/GRAPH_REPORT.md index 6b1efa39f..b08d7eba5 100644 --- a/web-admin/graphify-out/GRAPH_REPORT.md +++ b/web-admin/graphify-out/GRAPH_REPORT.md @@ -1,11 +1,11 @@ # Graph Report - src (2026-05-21) ## Corpus Check -- Large corpus: 577 files · ~298,996 words. Semantic extraction will be expensive (many Claude tokens). Consider running on a subfolder, or use --no-semantic to run AST-only. +- Large corpus: 577 files · ~299,569 words. Semantic extraction will be expensive (many Claude tokens). Consider running on a subfolder, or use --no-semantic to run AST-only. ## Summary -- 1405 nodes · 1759 edges · 42 communities detected -- Extraction: 78% EXTRACTED · 22% INFERRED · 0% AMBIGUOUS · INFERRED: 387 edges (avg confidence: 0.8) +- 1410 nodes · 1768 edges · 43 communities detected +- Extraction: 78% EXTRACTED · 22% INFERRED · 0% AMBIGUOUS · INFERRED: 386 edges (avg confidence: 0.8) - Token cost: 0 input · 0 output ## Community Hubs (Navigation) @@ -50,7 +50,8 @@ - [[_COMMUNITY_Community 40|Community 40]] - [[_COMMUNITY_Community 41|Community 41]] - [[_COMMUNITY_Community 42|Community 42]] -- [[_COMMUNITY_Community 44|Community 44]] +- [[_COMMUNITY_Community 43|Community 43]] +- [[_COMMUNITY_Community 45|Community 45]] ## God Nodes (most connected - your core abstractions) 1. `get()` - 153 edges @@ -65,8 +66,6 @@ 10. `StorageConfig` - 10 edges ## Surprising Connections (you probably didn't know these) -- `handleBatchDelete()` --calls--> `withFullscreenLoading()` [INFERRED] - views/system/site/index.vue → utils/fullscreen-loading.ts - `handleBatchDelete()` --calls--> `withFullscreenLoading()` [INFERRED] views/basic-info/customer/index.vue → utils/fullscreen-loading.ts - `handleUnauthorizedResponse()` --calls--> `fetchRefreshToken()` [INFERRED] @@ -75,72 +74,74 @@ api/leave.ts → views/production/process-route/index.vue - `fetchLeaveDetail()` --calls--> `get()` [INFERRED] api/leave.ts → views/production/process-route/index.vue +- `fetchSampleReceptionCheckItemList()` --calls--> `get()` [INFERRED] + api/sample-reception-check-item.ts → views/production/process-route/index.vue ## Communities ### Community 0 - "Community 0" Cohesion: 0.01 -Nodes (83): fetchActiveRegions(), fetchCategoryList(), fetchCategoryParameters(), fetchCellProductPriceList(), fetchCellProductSpecList(), fetchCellProductTypeList(), fetchCellSampleTypeList(), fetchChannelAgreementPrices() (+75 more) +Nodes (74): fetchActiveRegions(), fetchCategoryList(), fetchCategoryParameters(), fetchCellProductPriceList(), fetchCellProductSpecList(), fetchCellProductTypeList(), fetchCellSampleTypeList(), fetchChannelAgreementPrices() (+66 more) ### Community 1 - "Community 1" Cohesion: 0.03 -Nodes (40): fetchGetMenuList(), fetchGetMenuCodes(), fetchGetUserInfo(), fetchLogin(), fetchRefreshToken(), clickTab(), IframeRouteManager, MenuProcessor (+32 more) +Nodes (57): fetchBatchGenerateProtocolNos(), fetchBatchGenerateSampleCodes(), fetchBatchIssueProtocolNos(), fetchBatchIssueSampleCodes(), fetchCollectionProtocolNoList(), fetchCreateCollectionProtocolNo(), fetchCreateSampleCode(), fetchDeleteCollectionProtocolNo() (+49 more) ### Community 2 - "Community 2" -Cohesion: 0.03 -Nodes (56): fetchBatchGenerateProtocolNos(), fetchBatchGenerateSampleCodes(), fetchBatchIssueProtocolNos(), fetchBatchIssueSampleCodes(), fetchCollectionProtocolNoList(), fetchCreateCollectionProtocolNo(), fetchCreateSampleCode(), fetchDeleteCollectionProtocolNo() (+48 more) +Cohesion: 0.04 +Nodes (31): fetchGetUserInfo(), clickTab(), handleTouchEnd(), setTransition(), IframeRouteManager, RouteRegistry, useCommon(), setupAfterEachGuard() (+23 more) ### Community 3 - "Community 3" +Cohesion: 0.05 +Nodes (32): fetchDeptTree(), fetchPostBoundUserIds(), FireworkSystem, reload(), formatUserLabel(), loadDeptData(), onPersonSelectChange(), subscribeTokenRefresh() (+24 more) + +### Community 4 - "Community 4" Cohesion: 0.04 Nodes (18): fetchAllConsumablePacks(), fetchAllConsumables(), fetchAllOutputTypes(), fetchAllProcessCategories(), fetchAllProcesses(), fetchAllReagents(), fetchAllSopDocuments(), fetchConsumableList() (+10 more) -### Community 4 - "Community 4" -Cohesion: 0.05 -Nodes (40): fetchAccessLogList(), fetchCleanRoomList(), fetchCreateAccessLog(), fetchCreateCleanRoom(), fetchCreateSite(), fetchDeleteAccessLog(), fetchDeleteCleanRoom(), fetchDeleteSite() (+32 more) - ### Community 5 - "Community 5" -Cohesion: 0.06 -Nodes (24): FireworkSystem, reload(), formatUserLabel(), onPersonSelectChange(), subscribeTokenRefresh(), handleMenuJump(), openExternalLink(), set() (+16 more) +Cohesion: 0.05 +Nodes (39): fetchAccessLogList(), fetchCleanRoomList(), fetchCreateAccessLog(), fetchCreateCleanRoom(), fetchCreateSite(), fetchDeleteAccessLog(), fetchDeleteCleanRoom(), fetchDeleteSite() (+31 more) ### Community 6 - "Community 6" +Cohesion: 0.06 +Nodes (11): collectIds(), useSettingsHandlers(), useSettingsPanel(), useSettingsState(), RoutePermissionValidator, useCeremony(), useTheme(), TableCache (+3 more) + +### Community 7 - "Community 7" +Cohesion: 0.06 +Nodes (28): fetchCreateCustomer(), fetchCreateMenu(), fetchCustomerList(), fetchDeleteCustomer(), fetchDeleteMenu(), fetchMenuTree(), fetchUpdateCustomer(), fetchUpdateMenu() (+20 more) + +### Community 8 - "Community 8" Cohesion: 0.09 Nodes (31): toLogin(), base64ToBytes(), bytesToBase64(), decryptJson(), deriveKey(), encryptJson(), fromBase64Url(), hexToBytes() (+23 more) -### Community 7 - "Community 7" +### Community 9 - "Community 9" Cohesion: 0.09 Nodes (8): getDefaultLanguage(), checkStorageCompatibility(), StorageConfig, getSystemStorage(), getSysVersion(), StorageKeyManager, StorageCompatibilityManager, validateStorageData() -### Community 8 - "Community 8" +### Community 10 - "Community 10" +Cohesion: 0.07 +Nodes (15): fetchProductionWorkOrderDetail(), fetchProductionWorkOrderList(), auditorDisplay(), dash(), expressName(), formatYm(), formatYmd(), sampleTypeName() (+7 more) + +### Community 11 - "Community 11" Cohesion: 0.13 Nodes (4): handleReset(), handleSearch(), WebSocketClient, emit() -### Community 9 - "Community 9" -Cohesion: 0.08 -Nodes (19): fetchCreateMenu(), fetchDeleteMenu(), fetchMenuTree(), fetchUpdateMenu(), postorder(), preorder(), applyTreeExpand(), handleAdd() (+11 more) - -### Community 10 - "Community 10" -Cohesion: 0.08 -Nodes (23): fetchCollectionRegionList(), fetchCreateCollectionRegion(), fetchCreateHospital(), fetchDeleteCollectionRegion(), fetchDeleteHospital(), fetchHospitalList(), fetchUpdateCollectionRegion(), fetchUpdateHospital() (+15 more) - -### Community 11 - "Community 11" -Cohesion: 0.07 -Nodes (13): fetchAttachmentDownloadUrl(), fetchOrderAdjusts(), fetchOrderDetail(), fetchOrderItems(), fetchOrderList(), fetchPriceVersionDetail(), fetchSystemConfig(), handleReceptionAttachmentDownload() (+5 more) - ### Community 12 - "Community 12" -Cohesion: 0.09 -Nodes (9): fetchGetAllUpgradeLogs(), fetchGetChinaMapData(), fetchGetComments(), fetchGetCurrentVersion(), fetchGetLatestUpgradeLog(), fetchGetSystemConfig(), fetchGetUpgradeLogs(), systemUpgrade() (+1 more) +Cohesion: 0.06 +Nodes (14): fetchAttachmentDownloadUrl(), fetchOrderAdjusts(), fetchOrderDetail(), fetchOrderItems(), fetchOrderList(), fetchPriceVersionDetail(), fetchSystemConfig(), handleReceptionAttachmentDownload() (+6 more) ### Community 13 - "Community 13" -Cohesion: 0.09 -Nodes (3): collectIds(), RoutePermissionValidator, TableCache +Cohesion: 0.1 +Nodes (8): fetchGetMenuList(), fetchGetMenuCodes(), fetchLogin(), fetchRefreshToken(), MenuProcessor, useAppMode(), useAuth(), buildWebEncryptedLoginBody() ### Community 14 - "Community 14" Cohesion: 0.1 Nodes (13): fetchEthnicList(), addSample(), applyDonationBundleToForm(), confirmBatchTransportApply(), createEmptyTransport(), ensureDonationProtocolNoInOptions(), ensureEthnicOptionInList(), handleOpenForAdd() (+5 more) ### Community 15 - "Community 15" -Cohesion: 0.11 -Nodes (9): auditorDisplay(), dash(), expressName(), formatYm(), formatYmd(), sampleTypeName(), siteName(), unitName() (+1 more) +Cohesion: 0.1 +Nodes (18): fetchCollectionRegionList(), fetchCreateCollectionRegion(), fetchCreateHospital(), fetchDeleteCollectionRegion(), fetchDeleteHospital(), fetchHospitalList(), fetchUpdateCollectionRegion(), fetchUpdateHospital() (+10 more) ### Community 16 - "Community 16" Cohesion: 0.12 @@ -151,29 +152,29 @@ Cohesion: 0.14 Nodes (17): fetchCreateUser(), fetchDeleteUser(), fetchResetPassword(), fetchUpdateUser(), fetchUserDetail(), formatUserDeptDisplay(), handleAdd(), handleDelete() (+9 more) ### Community 18 - "Community 18" -Cohesion: 0.1 -Nodes (7): handleTouchEnd(), setTransition(), useSettingsHandlers(), useSettingsPanel(), useSettingsState(), useCeremony(), useTheme() +Cohesion: 0.19 +Nodes (3): fetchGetLatestUpgradeLog(), systemUpgrade(), VersionManager ### Community 19 - "Community 19" Cohesion: 0.12 Nodes (12): fetchApproveTask(), fetchBusinessAllTasks(), fetchCompletedTasks(), fetchDesignerData(), fetchInstanceDetail(), fetchMyInstances(), fetchPendingTasks(), fetchProcessDefList() (+4 more) ### Community 20 - "Community 20" +Cohesion: 0.11 +Nodes (8): fetchCollectionProtocolAuditList(), fetchCollectionProtocolDetail(), fetchCollectionProtocolList(), fetchPaymentDetailList(), fetchReceiptConfirmedList(), fetchReceiptConfirmList(), fetchRefundConfirmedList(), fetchRefundConfirmList() + +### Community 21 - "Community 21" Cohesion: 0.16 Nodes (10): useTable(), useTableImpl(), getColumnChecks(), useTableColumns(), createErrorHandler(), createSmartDebounce(), defaultResponseAdapter(), extractPagination() (+2 more) -### Community 21 - "Community 21" +### Community 22 - "Community 22" Cohesion: 0.2 Nodes (2): ComponentLoader, RouteTransformer -### Community 22 - "Community 22" +### Community 23 - "Community 23" Cohesion: 0.27 Nodes (14): useChart(), useChartComponent(), useChartOps(), colourBlend(), getCssVar(), getDarkColor(), getLightColor(), handleElementThemeColor() (+6 more) -### Community 23 - "Community 23" -Cohesion: 0.17 -Nodes (12): fetchCreateCustomer(), fetchCustomerList(), fetchDeleteCustomer(), fetchUpdateCustomer(), handleAdd(), handleBatchDelete(), handleDelete(), handleReset() (+4 more) - ### Community 24 - "Community 24" Cohesion: 0.14 Nodes (2): fetchProductionTaskDetail(), fetchProductionTaskList() @@ -216,38 +217,42 @@ Nodes (2): fetchSampleReceptionCheckItemList(), fetchSampleReceptionCheckItemsAc ### Community 36 - "Community 36" Cohesion: 0.33 -Nodes (2): fetchQcThirdPartyCompanyList(), fetchQcThirdPartyCompanyOptions() +Nodes (2): fetchQcThirdPartyItemList(), fetchQcThirdPartyItemsActive() ### Community 37 - "Community 37" Cohesion: 0.33 -Nodes (2): fetchQcLabTestItemList(), fetchQcLabTestItemsActive() +Nodes (2): fetchQcThirdPartyCompanyList(), fetchQcThirdPartyCompanyOptions() ### Community 38 - "Community 38" Cohesion: 0.33 -Nodes (2): fetchQcTaskDetail(), fetchQcTaskList() +Nodes (2): fetchQcLabTestItemList(), fetchQcLabTestItemsActive() ### Community 39 - "Community 39" +Cohesion: 0.33 +Nodes (2): fetchQcTaskDetail(), fetchQcTaskList() + +### Community 40 - "Community 40" Cohesion: 0.53 Nodes (4): isEtaTodayOrEarlier(), parseEtaLocalDate(), sampleReceptionRowClassName(), startOfLocalDay() -### Community 40 - "Community 40" +### Community 41 - "Community 41" Cohesion: 0.5 Nodes (2): focusInput(), handleKeydown() -### Community 41 - "Community 41" +### Community 42 - "Community 42" Cohesion: 0.67 Nodes (2): if(), logSidebarMenu() -### Community 42 - "Community 42" +### Community 43 - "Community 43" Cohesion: 1.0 Nodes (2): getSettingDefaults(), resetToDefaults() -### Community 44 - "Community 44" +### Community 45 - "Community 45" Cohesion: 1.0 Nodes (2): defaultAvatarPathByRole(), resolveUserAvatarUrl() ## Knowledge Gaps -- **Thin community `Community 21`** (17 nodes): `ComponentLoader`, `.constructor()`, `.createEmptyComponent()`, `.createErrorComponent()`, `.load()`, `.loadIframe()`, `.loadLayout()`, `.load()`, `RouteTransformer`, `.extractFirstSegment()`, `.handleFirstLevelRoute()`, `.handleIframeRoute()`, `.handleNormalRoute()`, `.isFirstLevelRoute()`, `.transform()`, `ComponentLoader.ts`, `RouteTransformer.ts` +- **Thin community `Community 22`** (17 nodes): `ComponentLoader`, `.constructor()`, `.createEmptyComponent()`, `.createErrorComponent()`, `.load()`, `.loadIframe()`, `.loadLayout()`, `.load()`, `RouteTransformer`, `.extractFirstSegment()`, `.handleFirstLevelRoute()`, `.handleIframeRoute()`, `.handleNormalRoute()`, `.isFirstLevelRoute()`, `.transform()`, `ComponentLoader.ts`, `RouteTransformer.ts` Too small to be a meaningful cluster - may be noise or needs more connections extracted. - **Thin community `Community 24`** (14 nodes): `fetchAddTaskStep()`, `fetchCreateProductionTask()`, `fetchDeleteTaskStep()`, `fetchProductionTaskDetail()`, `fetchProductionTaskList()`, `fetchReplaceStepConsumables()`, `fetchReplaceStepDataCollection()`, `fetchReplaceStepReagents()`, `fetchSetTaskInputs()`, `fetchSetTaskOutputs()`, `fetchUpdateProductionTask()`, `fetchUpdateProductionTaskStatus()`, `fetchUpdateTaskStep()`, `production-task.ts` Too small to be a meaningful cluster - may be noise or needs more connections extracted. @@ -261,29 +266,31 @@ Nodes (2): defaultAvatarPathByRole(), resolveUserAvatarUrl() Too small to be a meaningful cluster - may be noise or needs more connections extracted. - **Thin community `Community 35`** (6 nodes): `fetchCreateSampleReceptionCheckItem()`, `fetchDeleteSampleReceptionCheckItem()`, `fetchSampleReceptionCheckItemList()`, `fetchSampleReceptionCheckItemsActive()`, `fetchUpdateSampleReceptionCheckItem()`, `sample-reception-check-item.ts` Too small to be a meaningful cluster - may be noise or needs more connections extracted. -- **Thin community `Community 36`** (6 nodes): `fetchCreateQcThirdPartyCompany()`, `fetchDeleteQcThirdPartyCompany()`, `fetchQcThirdPartyCompanyList()`, `fetchQcThirdPartyCompanyOptions()`, `fetchUpdateQcThirdPartyCompany()`, `qc-third-party-company.ts` +- **Thin community `Community 36`** (6 nodes): `fetchCreateQcThirdPartyItem()`, `fetchDeleteQcThirdPartyItem()`, `fetchQcThirdPartyItemList()`, `fetchQcThirdPartyItemsActive()`, `fetchUpdateQcThirdPartyItem()`, `qc-third-party-item.ts` Too small to be a meaningful cluster - may be noise or needs more connections extracted. -- **Thin community `Community 37`** (6 nodes): `fetchCreateQcLabTestItem()`, `fetchDeleteQcLabTestItem()`, `fetchQcLabTestItemList()`, `fetchQcLabTestItemsActive()`, `fetchUpdateQcLabTestItem()`, `qc-lab-test-item.ts` +- **Thin community `Community 37`** (6 nodes): `fetchCreateQcThirdPartyCompany()`, `fetchDeleteQcThirdPartyCompany()`, `fetchQcThirdPartyCompanyList()`, `fetchQcThirdPartyCompanyOptions()`, `fetchUpdateQcThirdPartyCompany()`, `qc-third-party-company.ts` Too small to be a meaningful cluster - may be noise or needs more connections extracted. -- **Thin community `Community 38`** (6 nodes): `fetchCompleteQcTask()`, `fetchQcTaskDetail()`, `fetchQcTaskList()`, `fetchStartQcTask()`, `fetchUpdateQcTaskAttachments()`, `qc-task.ts` +- **Thin community `Community 38`** (6 nodes): `fetchCreateQcLabTestItem()`, `fetchDeleteQcLabTestItem()`, `fetchQcLabTestItemList()`, `fetchQcLabTestItemsActive()`, `fetchUpdateQcLabTestItem()`, `qc-lab-test-item.ts` Too small to be a meaningful cluster - may be noise or needs more connections extracted. -- **Thin community `Community 40`** (5 nodes): `focusInput()`, `handleKeydown()`, `if()`, `search()`, `index.vue` +- **Thin community `Community 39`** (6 nodes): `fetchCompleteQcTask()`, `fetchQcTaskDetail()`, `fetchQcTaskList()`, `fetchStartQcTask()`, `fetchUpdateQcTaskAttachments()`, `qc-task.ts` Too small to be a meaningful cluster - may be noise or needs more connections extracted. -- **Thin community `Community 41`** (4 nodes): `if()`, `logSidebarMenu()`, `index.vue`, `SidebarSubmenu.vue` +- **Thin community `Community 41`** (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 42`** (3 nodes): `getSettingDefaults()`, `resetToDefaults()`, `setting.ts` +- **Thin community `Community 42`** (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 44`** (3 nodes): `defaultAvatarPathByRole()`, `resolveUserAvatarUrl()`, `user-avatar.ts` +- **Thin community `Community 43`** (3 nodes): `getSettingDefaults()`, `resetToDefaults()`, `setting.ts` + Too small to be a meaningful cluster - may be noise or needs more connections extracted. +- **Thin community `Community 45`** (3 nodes): `defaultAvatarPathByRole()`, `resolveUserAvatarUrl()`, `user-avatar.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 9`, `Community 10`, `Community 11`, `Community 12`, `Community 14`, `Community 17`, `Community 19`, `Community 23`, `Community 24`, `Community 26`, `Community 27`, `Community 28`, `Community 33`, `Community 35`, `Community 36`, `Community 37`, `Community 38`?** - _High betweenness centrality (0.265) - this node is a cross-community bridge._ -- **Why does `push()` connect `Community 5` to `Community 0`, `Community 1`, `Community 8`, `Community 9`, `Community 12`, `Community 13`, `Community 14`?** - _High betweenness centrality (0.074) - this node is a cross-community bridge._ -- **Why does `fetchGetLatestUpgradeLog()` connect `Community 12` to `Community 0`?** +- **Why does `get()` connect `Community 0` to `Community 1`, `Community 2`, `Community 3`, `Community 4`, `Community 5`, `Community 7`, `Community 10`, `Community 12`, `Community 13`, `Community 14`, `Community 15`, `Community 17`, `Community 18`, `Community 19`, `Community 20`, `Community 24`, `Community 26`, `Community 27`, `Community 28`, `Community 33`, `Community 35`, `Community 36`, `Community 37`, `Community 38`, `Community 39`?** + _High betweenness centrality (0.259) - this node is a cross-community bridge._ +- **Why does `push()` connect `Community 3` to `Community 0`, `Community 2`, `Community 6`, `Community 11`, `Community 14`, `Community 18`?** + _High betweenness centrality (0.085) - this node is a cross-community bridge._ +- **Why does `fetchGetLatestUpgradeLog()` connect `Community 18` to `Community 0`?** _High betweenness centrality (0.043) - this node is a cross-community bridge._ - **Are the 152 inferred relationships involving `get()` (e.g. with `buildTreePathLabelFromFlat()` and `alignFqPaymentDetailsForDisplay()`) actually correct?** _`get()` has 152 INFERRED edges - model-reasoned connections that need verification._ diff --git a/web-admin/graphify-out/graph.html b/web-admin/graphify-out/graph.html index 3a166e107..98fb3f32f 100644 --- a/web-admin/graphify-out/graph.html +++ b/web-admin/graphify-out/graph.html @@ -57,12 +57,12 @@
-请选择左侧步骤查看详情
+入库生产工单管理,查看工单详情并完成待配置工单。
+入库生产工单管理,查看工单详情、派发生产任务并完成待配置工单。