diff --git a/src/DatabaseServices/Template/TempateUtils.ts b/src/DatabaseServices/Template/TempateUtils.ts index 9fd93579c..3ff56b141 100644 --- a/src/DatabaseServices/Template/TempateUtils.ts +++ b/src/DatabaseServices/Template/TempateUtils.ts @@ -1176,11 +1176,13 @@ export async function ReplaceTemplate(oldTemp: TemplateRecord, newTemp: Template let positioning = oldTemp.Positioning; // if (!(positioning instanceof PositioningTemporary && oldTemp.Parent && !oldTemp.Parent.IsErase)) newTemp.Positioning = positioning; - let en = oldTemp.AllEntitys[0]; - GetEntityInfo(en, option); //获取实体信息 - - followAttribute(option, newTemp);//房名、柜名、板名跟随 + if (option) + { + let en = oldTemp.AllEntitys[0]; + GetEntityInfo(en, option); //获取实体信息 + followAttribute(option, newTemp);//房名、柜名、板名跟随 + } if (oldTemp?.Parent?.Object) { @@ -1301,7 +1303,7 @@ function IsEqualBH(parent: TemplateRecord, target: TemplateRecord): boolean return bh2.value === bh1.value;//父节点已经计算出值 } -export async function SetTemplatePositionAndSetParent(spaceParse: ISpaceParse, template: TemplateRecord, isAddDeepNode = true) +export async function SetTemplatePositionAndSetParent(spaceParse: ISpaceParse, template: TemplateRecord, isAddDeepNode = true, option?: IGetRoomInfo) { if (spaceParse instanceof ClampSpaceParse) { @@ -1320,7 +1322,7 @@ export async function SetTemplatePositionAndSetParent(spaceParse: ISpaceParse, t else if (spaceParse.VisualSpaceBox) { let vstemplate = spaceParse.VisualSpaceBox.Template.Object as TemplateVisualSpace; - ReplaceTemplate(vstemplate, template, true, false); + ReplaceTemplate(vstemplate, template, true, false, option); DeleteTempate(vstemplate); } else diff --git a/src/UI/Components/Template/TemplateComponent.tsx b/src/UI/Components/Template/TemplateComponent.tsx index 42060910f..cb14ee1a1 100644 --- a/src/UI/Components/Template/TemplateComponent.tsx +++ b/src/UI/Components/Template/TemplateComponent.tsx @@ -448,7 +448,7 @@ export class TemplateManage extends React.Component { template.WParam.expr = ""; template.HParam.expr = ""; - await SetTemplatePositionAndSetParent(parse, template); + await SetTemplatePositionAndSetParent(parse, template, true, this.option); } } };