Commit 3dac4b99 authored by wuyongsheng's avatar wuyongsheng

Merge branch 'feat-20220801' of http://120.77.149.83/root/bkunyun into feat-20220801

parents 1ef99876 7fa06947
......@@ -208,7 +208,7 @@ const ConfigForm = (props: ConfigFormProps) => {
[styles.required]: parameter.required,
})}
>
{parameter.name}
{parameter.title}
<span className={styles.parameterDataType}>
{parameter.classTypeName}
</span>
......
......@@ -11,6 +11,7 @@ export interface IParameter {
hidden: boolean; // 使用模板时是否展示 true 不展示 用户不需要填写
id?: string;
name: string; // 参数名称
title: string; // 参数名称
required: boolean; // 是否必填
defaultValue: any; // 默认值
domType: IDomType; // 前端组件类型
......
......@@ -583,12 +583,31 @@ const Flow = (props: IProps) => {
[connectModifyParameters, tasks]
);
// 获取算子类型 批算还是流算子
const getTaskType = useCallback(
(taskId: string) => {
let type = "";
tasks?.forEach((task) => {
if (task.id === taskId) {
type = task.type;
}
});
return type;
},
[tasks]
);
/** 已经连接线啦 */
const onConnect = useCallback(
(connection: Connection) => {
const { inputClassType, outClassType } = getClassType(connection);
let result: ITask[] = [];
if (inputClassType === outClassType) {
if (
getTaskType(connection.source as string) === "FLOW" ||
getTaskType(connection.target as string) === "FLOW"
) {
return;
} else if (inputClassType === outClassType) {
result = connectCheck(connection) as ITask[];
} else {
Message.error("端口数据类型不一致,无法连接!");
......@@ -596,7 +615,14 @@ const Flow = (props: IProps) => {
}
setTasks && setTasks(result);
},
[Message, connectCheck, getClassType, setTasks, tasksDeleteLine]
[
Message,
connectCheck,
getClassType,
setTasks,
tasksDeleteLine,
getTaskType,
]
);
/** 点击连线 */
......
......@@ -442,7 +442,7 @@ const ParameterSetting = (props: IParameterSettingProps) => {
[styles.required]: parameter.required,
})}
>
{parameter.name}
{parameter.title}
</div>
<div className={styles.parameterClassTypeName}>
{parameter.classTypeName}
......@@ -569,7 +569,7 @@ const ParameterSetting = (props: IParameterSettingProps) => {
[styles.required]: parameter.required,
})}
>
{parameter.name}
{parameter.title}
</div>
<div className={styles.inOutParameterdataType}>
{parameter.classTypeName}
......@@ -614,7 +614,7 @@ const ParameterSetting = (props: IParameterSettingProps) => {
[styles.required]: parameter.required,
})}
>
{parameter.name}
{parameter.title}
</div>
<div className={styles.inOutParameterdataType}>
{parameter.classTypeName}
......
......@@ -6,7 +6,7 @@
* @FilePath: /bkunyun/src/views/Project/ProjectSubmitWork/index.tsx
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
*/
import React, { useCallback, useEffect, useState } from "react";
import React, { useCallback, useEffect, useState, useMemo } from "react";
import ArrowBackIosNewIcon from "@mui/icons-material/ArrowBackIosNew";
import IconButton from "@mui/material/IconButton";
import _ from "lodash";
......@@ -55,6 +55,7 @@ const WorkFlowEdit = observer((props: IProps) => {
const [oldversion, setOldersion] = useState(""); // 编辑是自定义模板的老版本
const [description, setDescription] = useState(""); // 自定义模板描述
const [creator, setCreator] = useState(""); // 自定义模板创建人
const [operatingArea, setOperatingArea] = useState<'form'|'flow'>('form') // 当前操作区域
const [leftContentType, setLeftContentType] = useState("list"); // 页面左侧展示的是算子列表还是参数设置
const [popperTitle, setPopperTitle] = useState(
......@@ -62,6 +63,14 @@ const WorkFlowEdit = observer((props: IProps) => {
"返回后,当前页面已填写内容将不保存,确认返回吗?"
);
// 是否要监听删除时间
const listenState = useMemo(()=>{
if(operatingArea === 'form') {
return false
}
return !saveFormDialog && !showCustomOperator
}, [operatingArea, saveFormDialog, showCustomOperator])
// 编辑时获取模板详情的方法
const { run: fetchTemplateConfigInfoRun } = useMyRequest(
fetchTemplateConfigInfo,
......@@ -206,7 +215,12 @@ const WorkFlowEdit = observer((props: IProps) => {
</div>
</div>
<div className={styles.swContent}>
<div className={styles.swFormBox}>
<div
className={styles.swFormBox}
onClick={() => {
setOperatingArea('form');
}}
>
<div className={styles.radiosBox}>
<RadioGroupOfButtonStyle
radioOptions={radioOptions}
......@@ -243,13 +257,19 @@ const WorkFlowEdit = observer((props: IProps) => {
+
</div>
</div>
<div className={styles.swFlowBox} id="workFlowEditRight">
<div
className={styles.swFlowBox}
id="workFlowEditRight"
onClick={() => {
setOperatingArea('flow');
}}
>
<Flow
tasks={templateConfigInfo}
setTasks={setTemplateConfigInfo}
type="edit"
onFlowNodeClick={handleNodeClick}
ListenState={!saveFormDialog && !showCustomOperator}
ListenState={listenState}
/>
</div>
</div>
......
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