liu
3 天以前 91eff4781fa4142d1f62d30a0fa1de5cae424eaf
src/views/mes/pro/task/components/gantt-chart.vue
@@ -168,15 +168,29 @@
    [BarcodeBizTypeEnum.WORKORDER]: 'project',
    [BarcodeBizTypeEnum.TASK]: 'task',
  };
  gantt.parse({
    data: tasks.map((item: any) => ({
  const data = tasks
    .map((item: any) => ({
      ...item,
      type: typeMap[item.type] || item.type,
      start_date: item.startDate ? new Date(item.startDate) : undefined,
      end_date: item.endDate ? new Date(item.endDate) : undefined,
    })),
    links: [],
  });
    }))
    // 过滤缺失/非法日期的任务,避免 dhtmlx-gantt 计算时间轴时抛 valueOf 异常
    .filter(
      (task: any) =>
        task.start_date instanceof Date &&
        task.end_date instanceof Date &&
        !Number.isNaN(task.start_date.getTime()) &&
        !Number.isNaN(task.end_date.getTime()),
    );
  if (data.length === 0) {
    return;
  }
  try {
    gantt.parse({ data, links: [] });
  } catch (error) {
    console.error('甘特图渲染失败:', error);
  }
}
watch(