Commit d0c45cef authored by chenshouchao's avatar chenshouchao

feat: getCustomTemplateParameterCheckResult方法增加连线逻辑判断

parent 31a3b1a3
......@@ -119,7 +119,7 @@ const AddTemplate = (props: any) => {
<Typography
sx={{ fontSize: "12px", fontWeight: "400", color: "#8A9099" }}
>
暂未相关模版
暂无相关模版
</Typography>
</Box>
)}
......
......@@ -21,6 +21,8 @@ import { ITask } from "../Project/ProjectSubmitWork/interface";
import _ from "lodash";
import { saveUserSpec } from "@/api/workbench_api";
import useMyRequest from "@/hooks/useMyRequest";
import MyDialog from "@/components/mui/Dialog";
import MyInput from "@/components/mui/MyInput";
import { getCustomTemplateParameterCheckResult } from "./util";
import styles from "./index.module.css";
......@@ -44,7 +46,7 @@ const WorkFlowEdit = (props: IProps) => {
const { onBack } = props;
const Message = useMessage();
const [templateConfigInfo, setTemplateConfigInfo] = useState<ITask[]>([]);
const [saveFormDialog, setSaveFormDialog] = useState(false);
const [leftContentType, setLeftContentType] = useState("list");
const [popperTitle, setPopperTitle] = useState(
"返回后,当前页面已填写内容将不保存,确认返回吗?"
......@@ -99,12 +101,13 @@ const WorkFlowEdit = (props: IProps) => {
Message.error("工作流校验未通过,请检查!");
} else {
console.log("弹表单窗");
saveUserSpecRun({
title: "自定义模板标题",
version: "1.0.0",
description: "这里是描述",
tasks: templateConfigInfoClone,
});
setSaveFormDialog(true);
// saveUserSpecRun({
// title: "自定义模板标题",
// version: "1.0.0",
// description: "这里是描述",
// tasks: templateConfigInfoClone,
// });
}
};
......@@ -194,6 +197,10 @@ const WorkFlowEdit = (props: IProps) => {
onCancel={handleCancel}
onConfirm={handleConfirm}
/>
<MyDialog open={saveFormDialog} title="保存自定义模板">
{/* <MyInput></MyInput> */}
<div>这是表单</div>
</MyDialog>
</div>
);
};
......
......@@ -4,6 +4,7 @@ export const getCustomTemplateParameterCheckResult = (
): {
error: boolean;
helperText: string;
deleteLine?: boolean; // 自动将该线删除
} => {
let error = false;
let helperText = "";
......@@ -14,6 +15,73 @@ export const getCustomTemplateParameterCheckResult = (
helperText,
}
}
// 1. 当该输入为必填项时:
// 1.1 若为“启用”状态,则表示该输入的值交由用户在使用时填写。故该输入的节点入口在右侧编辑区内不允许连线,若已有连线则自动将该线删除。
// 1.2 若为“关闭”状态,则表示该输入的值是上一步批算子的结果。故该输入的节点入口在右侧编辑区内必须有连线。(若编辑者没有为该节点入口添加连线,则错误提示“该输入为必填,需在右侧视图编辑区连接输入文件或重新改回“开启”状态”;若连上线了则无需错误提示。)
// 2. 当该输入为选填项时:
// 2.1 若为“启用”状态,则表示该输入的值交由用户在使用时填写。故该输入的节点入口在右侧编辑区内不允许连线,若已有连线则自动将该线删除。
// 2.2 若为“关闭”状态,则表示该输入的值是上一步批算子的结果,又因为其为选填项,所以这线可连可不连,不做限制。
// 输入校验
if (parameter.parameterGroup === "in") {
if (parameter.required) {
if (!parameter.hidden && parameter.isLine) {
return {
error,
helperText,
deleteLine: true,
}
} else if (!parameter.hidden && !parameter.isLine) {
return {
error,
helperText,
deleteLine: false,
}
} else if (parameter.hidden && parameter.isLine) {
return {
error,
helperText,
deleteLine: false,
}
} else if (parameter.hidden && !parameter.isLine) {
return {
error: true,
helperText: '该输入为必填,需在右侧视图编辑区连接输入文件或重新改回“开启”状态”',
deleteLine: false,
}
}
} else {
if (!parameter.hidden && parameter.isLine) {
return {
error,
helperText,
deleteLine: true,
}
} else if (!parameter.hidden && !parameter.isLine) {
return {
error,
helperText,
deleteLine: false,
}
} else if (parameter.hidden && parameter.isLine) {
return {
error,
helperText,
deleteLine: false,
}
} else if (parameter.hidden && !parameter.isLine) {
return {
error,
helperText,
deleteLine: false,
}
}
}
}
// 表单校验
if (parameter.required) {
// 提交任务时不展示
......@@ -35,6 +103,7 @@ export const getCustomTemplateParameterCheckResult = (
helperText,
};
}
// isLine
// 有值才做validators旋律校验
if (parameter.defaultValue) {
if (Array.isArray(parameter.validators)) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment