Commit 04ddd5cd authored by chenshouchao's avatar chenshouchao

Merge branch 'feat-20220801' into 'release'

Feat 20220801

See merge request !61
parents b3565326 1f1d2f75
......@@ -9,8 +9,8 @@
import { Tooltip, TooltipProps } from "@mui/material";
import { ThemeProvider, createTheme } from "@mui/material/styles";
interface IMyTooltipProps extends TooltipProps {
title: string;
interface IMyTooltipProps extends Omit<TooltipProps, "title"> {
title?: string | boolean;
}
const theme = createTheme({
......@@ -33,7 +33,7 @@ const theme = createTheme({
});
const MyTooltip = (props: IMyTooltipProps) => {
const { title, children, placement = "top", ...other } = props;
const { title = false, children, placement = "top", ...other } = props;
return (
<ThemeProvider theme={theme}>
<Tooltip
......
......@@ -2,7 +2,7 @@
* @Author: 吴永生#A02208 yongsheng.wu@wholion.com
* @Date: 2022-05-31 10:18:13
* @LastEditors: 吴永生 15770852798@163.com
* @LastEditTime: 2022-08-10 11:06:12
* @LastEditTime: 2022-08-16 15:53:31
* @FilePath: /bkunyun/src/views/Project/ProjectSetting/index.tsx
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
*/
......@@ -115,7 +115,7 @@ const Tabs = (props: IProps) => {
return (
<ThemeProvider theme={theme}>
<TabContext value={value}>
<Box sx={{ borderBottom: 1, borderColor: "#EDEFF2" }}>
<Box sx={{ borderBottom: 1, borderColor: "#dde1e6" }}>
<TabList
onChange={(e: any, val: string) => {
onChange(val);
......
......@@ -37,5 +37,5 @@
.active {
border-left: 3px solid #1370ff;
color: #1370ff;
background-color: #ebedf0;
background-color: #e6eaf0;
}
......@@ -239,10 +239,6 @@ const UpLoaderFile = observer((props: IMoveFileProps) => {
// lineHeight: "20px",
// color: "#8A9099",
// }}
tableBodySx={{
backgroundColor:
fileList.length >= 10 ? "rgba(255, 0, 0, 0.6)" : "",
}}
tableContainerStyle={{
maxHeight: "300px",
}}
......
......@@ -2,7 +2,7 @@
* @Author: 吴永生#A02208 yongsheng.wu@wholion.com
* @Date: 2022-06-21 20:03:56
* @LastEditors: 吴永生 15770852798@163.com
* @LastEditTime: 2022-08-08 16:41:20
* @LastEditTime: 2022-08-17 10:58:02
* @FilePath: /bkunyun/src/views/Project/ProjectSubmitWork/index.tsx
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
*/
......@@ -222,7 +222,7 @@ const ProjectSubmitWork = observer(() => {
promotedParameters,
});
} else {
Message.error("请完善左侧表单再提交");
Message.error("请完善算子信息后提交任务");
}
};
......
......@@ -411,7 +411,7 @@ const ProjectMembers = observer(() => {
<Box className={styles.tabBoxMiddle}>
<img alt="" src={jobCost} />
<div className={styles.tabBoxTime}>
{item.jobCost.toFixed(2)}
{item.jobCost ? item.jobCost.toFixed(2) : "--"}
</div>
</Box>
<Box className={styles.tabBoxJobStatus}>
......
......@@ -51,7 +51,8 @@ const FlowNode = (props: any) => {
return (
(parameters?.length &&
parameters?.filter((item: any) => {
return item.parameterGroup === "in" && !item?.thrown;
return item.parameterGroup === "in";
// return item.parameterGroup === "in" && !item?.thrown;
})) ||
[]
);
......@@ -62,7 +63,8 @@ const FlowNode = (props: any) => {
return (
(parameters?.length &&
parameters?.filter((item: any) => {
return item.parameterGroup === "out" && !item?.thrown;
return item.parameterGroup === "out";
// return item.parameterGroup === "out" && !item?.thrown;
})) ||
[]
);
......
......@@ -77,7 +77,7 @@ const Flow = (props: IProps) => {
/** 原始数据删除线 */
const tasksDeleteLine = useCallback(
(connection: Connection | Edge | any) => {
const result =
let result =
(tasks?.length &&
tasks.map((item) => {
/** 删除batch起始的edges中的一项 === 等于删除了一根连线 */
......@@ -123,6 +123,45 @@ const Flow = (props: IProps) => {
}
})) ||
[];
// 更新批节点下对应流节点的hidden和错误提示
result = result.map((task) => {
if (task.parentNode === connection.target) {
let isCheck = true;
const parametersChange = task.parameters.map((parameter) => {
if (parameter.name === connection.targetHandle) {
const { error, helperText } =
getCustomTemplateParameterCheckResult({
...parameter,
linked: false,
hidden: false,
});
return {
...parameter,
hidden: false,
linked: false,
error,
helperText,
};
} else {
return parameter;
}
});
parametersChange.forEach((parameter) => {
if (
getCustomTemplateParameterCheckResult(parameter).error === true
) {
isCheck = false;
}
});
return {
...task,
isCheck,
parameters: parametersChange,
};
} else {
return task;
}
});
return result;
},
[tasks]
......@@ -472,7 +511,7 @@ const Flow = (props: IProps) => {
/** 连接校验并修改值 */
const connectCheck = useCallback(
(connection: Connection) => {
const newVal =
let newVal =
(tasks?.length &&
tasks?.map((item) => {
if (item.id === connection.source) {
......@@ -499,6 +538,46 @@ const Flow = (props: IProps) => {
}
})) ||
[];
// 更新批节点下对应流节点的hidden和错误提示
newVal = newVal.map((task) => {
if (task.parentNode === connection.target) {
let isCheck = true; // 红点校验
let parametersChange = task.parameters.map((parameter) => {
if (parameter.name === connection.targetHandle) {
const { error, helperText } =
getCustomTemplateParameterCheckResult({
...parameter,
linked: true,
hidden: true,
});
return {
...parameter,
hidden: true,
linked: true,
error,
helperText,
};
} else {
return parameter;
}
});
parametersChange.forEach((parameter) => {
if (
getCustomTemplateParameterCheckResult(parameter).error === true
) {
isCheck = false;
}
});
return {
...task,
isCheck,
parameters: parametersChange,
};
} else {
return task;
}
});
return newVal;
},
[connectModifyParameters, tasks]
......
......@@ -67,6 +67,12 @@ const ParameterSetting = (props: IParameterSettingProps) => {
/** 通过parameter.name删除与之相关联的线 */
const handleHiddenDeleteEdge = useCallback(
(val: ITask[], parameterName: string) => {
let taskParentNode = "";
val.forEach((task) => {
if (task.id === taskId) {
taskParentNode = task.parentNode || "";
}
});
return (
val?.length &&
val?.map((item) => {
......@@ -92,7 +98,11 @@ const ParameterSetting = (props: IParameterSettingProps) => {
const newEdges =
(item?.edges?.length &&
item?.edges?.filter((every) => {
return every.targetHandle !== parameterName;
// 因为存在同名的parameterName 所以增加every.source === taskParentNode判断
return (
every.targetHandle !== parameterName ||
every.source === taskParentNode
);
})) ||
[];
return {
......
......@@ -143,8 +143,9 @@ const WorkFlowEdit = observer((props: IProps) => {
return;
}
let templateConfigInfoClone: ITask[] = _.cloneDeep(templateConfigInfo);
let check = true;
let tasksIsCheck = true; // 整体校验
templateConfigInfoClone.forEach((task) => {
let taskIsCheck = true; // 单个task校验
task.parameters.forEach((parameter) => {
if (task.type === "BATCH" && parameter.thrown) {
return;
......@@ -153,12 +154,14 @@ const WorkFlowEdit = observer((props: IProps) => {
parameter.error = checkResult.error;
parameter.helperText = checkResult.helperText;
if (checkResult.error) {
check = false;
taskIsCheck = false;
tasksIsCheck = false;
}
});
task.isCheck = taskIsCheck;
});
setTemplateConfigInfo(templateConfigInfoClone);
if (!check) {
if (!tasksIsCheck) {
Message.error("工作流校验未通过,请检查!");
} else {
setSaveFormDialog(true);
......
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