flowchart TD
  S[用户点击订单行: 编辑工艺] --> R1[建议先设置 selectedRow = row<br/>当前源码依赖 row-click 已触发]
  R1 --> D1[打开 dialogcasual<br/>loading = true]

  D1 --> P1[getitemdata（row.订单编号）]
  P1 --> SP1[工艺管理_获取物料原料信息]
  SP1 --> F1{U_MoType == 机加件?}
  F1 -->|是| M1[写入 itemdata<br/>子件编码/名称/计划数量/材质/基本数量/存货量]
  F1 -->|否| M0[过滤掉]

  D1 --> P2[editProcesssearch（row）]
  P2 --> SP2[工艺管理_生产工艺_查询生产工艺<br/>入参: 物料编号, 订单编号]
  SP2 --> T5[tableData5 = 当前生产工艺明细]

  T5 --> P3[getProcess]
  P3 --> SP3[MES_ProcessManagement_ProcessGet<br/>入参: 工艺编号='']
  SP3 --> G1[tableData4/filteredTableData4<br/>左侧工序基础库]

  T5 --> P4[getbasedata]
  P4 --> SP4[设备管理_设备信息_查询]
  SP4 --> B1{按设备类型名称分类}
  B1 -->|量具| BJ[basedatagj<br/>工装量具选项]
  B1 -->|机床| BC[basedatajc<br/>指定机床选项]
  B1 -->|车间| BW[basedatacj<br/>车间选项]

  T5 --> P5[fninsertidx]
  P5 --> C1{存在空工艺名称行?}
  C1 -->|是| I1[insertidx = 空行 id<br/>左侧选工序时填入占位]
  C1 -->|否| I0[insertidx 保持或为 0]
  P5 --> C2{工卡量具/指定机床为逗号字符串?}
  C2 -->|是| I2[split，map Number<br/>转换为多选数组]
  C2 -->|否| I3[保持原值]

  I1 --> READY[编辑弹窗可操作]
  I0 --> READY
  I2 --> READY
  I3 --> READY

  READY --> OP1[查看图纸]
  READY --> OP2[新增/插入/删除/排序工序]
  READY --> OP3[编辑工时/设备/车间/属性/说明/备注]
  READY --> OP4[保存/启用]
  READY --> OP5[保存为标准工艺]
  READY --> OP6[整套或单条下发任务]

  classDef start fill:#E8F3FF,stroke:#2B6CB0,color:#111;
  classDef proc fill:#FFF7E6,stroke:#C47F00,color:#111;
  classDef api fill:#EAF8EA,stroke:#2F855A,color:#111;
  classDef decision fill:#F3E8FF,stroke:#6B46C1,color:#111;
  classDef output fill:#F0FFF4,stroke:#38A169,color:#111;
  class S,D1,READY start;
  class P1,P2,P3,P4,P5,R1,OP1,OP2,OP3,OP4,OP5,OP6 proc;
  class SP1,SP2,SP3,SP4 api;
  class F1,B1,C1,C2 decision;
  class M1,M0,T5,G1,BJ,BC,BW,I1,I0,I2,I3 output;

