10 小时以前 c9faa6fc186d3a4a01fbc1f7adcb2b487691bcd6
```
feat(workorder): 添加工单工序校验功能

- 引入 getWorkOrderProcessListByWorkOrderId 接口用于获取工单工序列表
- 在确认工单前增加工序存在性校验,避免无工序工单被确认
- 在完成工单前增加工序存在性校验,防止无工序工单被完成
- 为无工序工单提供警告提示,指导用户先维护工序信息
- 优化工单确认和完成流程的业务逻辑验证
```
已修改1个文件
16 ■■■■ 文件已修改
src/views/mes/pro/workorder/modules/form.vue 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/mes/pro/workorder/modules/form.vue
@@ -23,7 +23,7 @@
    getWorkOrder,
    updateWorkOrder,
  } from "#/api/mes/pro/workorder";
  import { batchSaveWorkOrderProcess } from "#/api/mes/pro/workorder/process";
  import { batchSaveWorkOrderProcess, getWorkOrderProcessListByWorkOrderId } from "#/api/mes/pro/workorder/process";
  import { $t } from "#/locales";
  import { BarcodeDetail } from "#/views/wls/barcode/components";
@@ -195,7 +195,13 @@
            }));
            await batchSaveWorkOrderProcess(processList);
          }
          // 3. 确认工单
          // 3. 校验是否有工序
          const processes = await getWorkOrderProcessListByWorkOrderId(formData.value.id);
          if (!processes || processes.length === 0) {
            message.warning('当前订单未配置工序,请先在工单中维护工序信息后再确认');
            return;
          }
          // 4. 确认工单
          await confirmWorkOrder(formData.value.id);
          message.success('订单已确认');
          await modalApi.close();
@@ -208,6 +214,12 @@
      // ---- 完成订单模式 ----
      if (isFinish.value) {
        if (!formData.value?.id) return;
        // 校验是否有工序
        const processes = await getWorkOrderProcessListByWorkOrderId(formData.value.id);
        if (!processes || processes.length === 0) {
          message.warning('当前订单未配置工序,请先在工单中维护工序信息后再完成');
          return;
        }
        try {
          await confirm('确认要完成该订单吗?');
        } catch {