fix: 工况库 一维表格 学科
This commit is contained in:
@@ -255,15 +255,25 @@ export const translateLoadcaseTree = (list: any[]) => {
|
||||
});
|
||||
return arr;
|
||||
};
|
||||
export const extractLeafNodesWithParentTypes = (list: any[] | undefined): any[] => {
|
||||
export const extractLeafNodesWithParentTypes = (
|
||||
list: any[] | undefined,
|
||||
disciplineAsLevel: boolean = false
|
||||
): any[] => {
|
||||
const result: any[] = [];
|
||||
const typeToField: Record<string, string> = {
|
||||
workspace: 'workspaceName',
|
||||
discipline: 'disciplineName',
|
||||
machine: 'machineName',
|
||||
task: 'taskName',
|
||||
performance: 'performanceName',
|
||||
};
|
||||
const typeToField: Record<string, string> = disciplineAsLevel
|
||||
? {
|
||||
workspace: 'workspaceName',
|
||||
discipline: 'disciplineName',
|
||||
machine: 'machineName',
|
||||
task: 'taskName',
|
||||
performance: 'performanceName',
|
||||
}
|
||||
: {
|
||||
workspace: 'workspaceName',
|
||||
machine: 'machineName',
|
||||
task: 'taskName',
|
||||
performance: 'performanceName',
|
||||
};
|
||||
const typeToCodeField: Record<string, string> = {
|
||||
workspace: 'workspaceCode',
|
||||
task: 'taskCode',
|
||||
@@ -344,6 +354,16 @@ export const extractLeafNodesWithParentTypes = (list: any[] | undefined): any[]
|
||||
extraProps[field] = null;
|
||||
}
|
||||
});
|
||||
if (!disciplineAsLevel) {
|
||||
const reversedParents = [...parents].reverse();
|
||||
const taskParent = reversedParents.find((p) => p && p.nodeType === NODE_TYPE.TASK);
|
||||
const taskNode = taskParent || (node.nodeType === NODE_TYPE.TASK ? node : null);
|
||||
if (taskNode && taskNode.discipline) {
|
||||
extraProps['disciplineName'] = taskNode.discipline;
|
||||
} else {
|
||||
extraProps['disciplineName'] = null;
|
||||
}
|
||||
}
|
||||
const copy = {
|
||||
...mergedNode,
|
||||
parentNodeTypes: uniqueTypes,
|
||||
|
||||
Reference in New Issue
Block a user