diff --git a/frontend/app/features/schedules/SchedulePage.tsx b/frontend/app/features/schedules/SchedulePage.tsx
index a378aa0..bee3ac3 100644
--- a/frontend/app/features/schedules/SchedulePage.tsx
+++ b/frontend/app/features/schedules/SchedulePage.tsx
@@ -449,37 +449,38 @@ export default function SchedulePage({
linkSourceId={linkSourceId}
onCancelLink={() => setLinkSourceId(null)}
/>
-
{
- event.preventDefault();
- event.dataTransfer.dropEffect = "copy";
- }}
- onDrop={onCanvasDrop}
- onClick={(event) => {
- // 画布实际内容位于 surface/SVG 子元素中,不能只比较 currentTarget;
- // 点击节点或连线时保留选择,点击其余空白位置则返回调度方案基本信息。
- const target = event.target as Element;
- if (
- target.closest(".schedule-node") ||
- target.matches(".schedule-edge-line, .schedule-edge-hit")
- ) return;
- setSelectedNodeId(null);
- setSelectedEdgeId(null);
- }}
- >
+
{
+ event.preventDefault();
+ event.dataTransfer.dropEffect = "copy";
+ }}
+ onDrop={onCanvasDrop}
+ onClick={(event) => {
+ // 画布实际内容位于 surface/SVG 子元素中,不能只比较 currentTarget;
+ // 点击节点或连线时保留选择,点击其余空白位置则返回调度方案基本信息。
+ const target = event.target as Element;
+ if (
+ target.closest(".schedule-node") ||
+ target.matches(".schedule-edge-line, .schedule-edge-hit")
+ ) return;
+ setSelectedNodeId(null);
+ setSelectedEdgeId(null);
+ }}
>
+
{schedule && (
))}
-
- {!schedule ? (
-
+
+
+ {!schedule ? (
+
+
还没有选中调度方案
点击"新建"创建一个调度,然后拖入稳定版本脚本。
@@ -616,14 +619,16 @@ export default function SchedulePage({
新建调度
- ) : schedule.nodes.length === 0 ? (
-
+
+ ) : schedule.nodes.length === 0 ? (
+
+
从稳定版本开始编排
把左侧脚本卡片拖到这里,或双击卡片快速加入。
- ) : null}
-
+
+ ) : null}