!2064 修复:户型子节点删除时,替换模板错误问题

pull/2067/head
林三 2 years ago committed by ChenX
parent 1d63fa2522
commit 4ba7069fea

@ -14,6 +14,7 @@ import { Board } from "../../../DatabaseServices/Entity/Board";
import { Entity } from "../../../DatabaseServices/Entity/Entity";
import { PositioningClampSpace } from "../../../DatabaseServices/Template/Positioning/PositioningClampSpace";
import { TemplateVisualSpace } from "../../../DatabaseServices/Template/ProgramTempate/TemplateVisualSpace";
import { TemplateWindowRecord } from "../../../DatabaseServices/Template/ProgramTempate/TemplateWindowRecord";
import { DeleteTempate } from "../../../DatabaseServices/Template/TempateUtils";
import { TemplateRecord } from "../../../DatabaseServices/Template/TemplateRecord";
import { TemplateSplitType } from "../../../DatabaseServices/Template/TemplateType";
@ -281,11 +282,18 @@ export class TemplateParamPanel extends React.Component<{}, {}>
private DeleteTreeNode = async (nodeData: ITreeNode) =>
{
let tr = nodeData.nodeData as TemplateRecord;
let parentTemp = tr.Parent?.Object;
await CommandWrap(async () =>
{
DeleteTempate(tr);
if (tr.Parent?.Object)
await (tr.Parent.Object as TemplateRecord).UpdateTemplateTree();
//不支持单独删除某个窗 删除Temp下的所有窗
if (parentTemp instanceof TemplateWindowRecord)
DeleteTempate(parentTemp);
else
{
DeleteTempate(tr);
if (parentTemp)
await (parentTemp as TemplateRecord).UpdateTemplateTree();
}
}, "删除模板节点");
};

@ -36,6 +36,15 @@ interface RoomBaseParamsProps
@observer
export default class RoomBaseParams extends Component<RoomBaseParamsProps, {}>
{
_TempHasWindow(): boolean
{
let window = this.props.DoorWindowTemp?.Children[0];
if (window && !window.IsErase)
return true;
else
return false;
}
render()
{
const { RoomBaseParamsStore, DoorWindowPanelStore } = this.props;
@ -79,7 +88,7 @@ export default class RoomBaseParams extends Component<RoomBaseParamsProps, {}>
roomBasseEnt instanceof RoomHoleBase &&
<div>
{
this.props.DoorWindowTemp &&
this._TempHasWindow() &&
<WindowTempInfo
store={this.props.DoorWindowPanelStore}
logo={this.props.DoorWindowTemp instanceof TemplateWindowRecord ? this.props.DoorWindowTemp.WindowLogo : this.props.DoorWindowTemp.DoorLogo}
@ -159,7 +168,10 @@ export default class RoomBaseParams extends Component<RoomBaseParamsProps, {}>
</div>
</Collapse>
{
this.props.DoorWindowTemp && this.props.DoorWindowTemp instanceof TemplateWindowRecord && this.props.DoorWindowTemp.WpDists && !(this.props.DoorWindowTemp.WpDists.every(d => d === 0)) &&
this._TempHasWindow() &&
this.props.DoorWindowTemp instanceof TemplateWindowRecord &&
this.props.DoorWindowTemp.WpDists &&
!(this.props.DoorWindowTemp.WpDists.every(d => d === 0)) &&
<div className='BayWindowParam'>
<Divider />
<div className='CollapseOpenTitle'

Loading…
Cancel
Save