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

@ -36,6 +36,15 @@ interface RoomBaseParamsProps
@observer @observer
export default class RoomBaseParams extends Component<RoomBaseParamsProps, {}> 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() render()
{ {
const { RoomBaseParamsStore, DoorWindowPanelStore } = this.props; const { RoomBaseParamsStore, DoorWindowPanelStore } = this.props;
@ -79,7 +88,7 @@ export default class RoomBaseParams extends Component<RoomBaseParamsProps, {}>
roomBasseEnt instanceof RoomHoleBase && roomBasseEnt instanceof RoomHoleBase &&
<div> <div>
{ {
this.props.DoorWindowTemp && this._TempHasWindow() &&
<WindowTempInfo <WindowTempInfo
store={this.props.DoorWindowPanelStore} store={this.props.DoorWindowPanelStore}
logo={this.props.DoorWindowTemp instanceof TemplateWindowRecord ? this.props.DoorWindowTemp.WindowLogo : this.props.DoorWindowTemp.DoorLogo} 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> </div>
</Collapse> </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'> <div className='BayWindowParam'>
<Divider /> <Divider />
<div className='CollapseOpenTitle' <div className='CollapseOpenTitle'

Loading…
Cancel
Save