mirror of https://gitee.com/cf-fz/WebCAD.git
!1681 新增:收口条,单板,层板,左右侧板,板件属性界面等添加尺寸拾取功能
parent
83690b5e3b
commit
9c98cdd38f
@ -1,21 +1,107 @@
|
||||
import { Button, Label } from '@blueprintjs/core';
|
||||
import { observer } from 'mobx-react';
|
||||
import * as React from 'react';
|
||||
import { SideBoardStore } from '../../Store/BoardStore';
|
||||
import { SetBoardDataBlock } from './BoardCommon';
|
||||
import { app } from '../../../ApplicationServices/Application';
|
||||
import { CheckObjectType } from '../../../Common/CheckoutVaildValue';
|
||||
|
||||
import { Board } from '../../../DatabaseServices/Entity/Board';
|
||||
import { PromptStatus } from '../../../Editor/PromptResult';
|
||||
import { SideBoardStore } from '../../Store/BoardStore';
|
||||
import { SetBoardDataBlock, SetBoardDataItem } from './BoardCommon';
|
||||
|
||||
export const LeftRightBoardModal =
|
||||
(observer((props: { store?: SideBoardStore; }) =>
|
||||
{
|
||||
let pars = [["height", "柜高"], ["width", "柜深"], ["thickness", "板厚"], ["spaceSize", "总宽"], ["leftShrink", "左内缩"], ["rightShrink", "右内缩"]];
|
||||
let sizepars = [["height", "柜高"], ["width", "柜深"], ["thickness", "板厚"]];
|
||||
let pars = [["leftShrink", "左内缩"], ["rightShrink", "右内缩"]];
|
||||
|
||||
let getSizeValue = async (optKey: string) =>
|
||||
{
|
||||
app.Editor.ModalManage.ToggleShow();
|
||||
app.Editor.MaskManage.Clear();
|
||||
let distRes = await app.Editor.GetDistance({
|
||||
Msg: "点取距离或者输入"
|
||||
});
|
||||
if (distRes.Status === PromptStatus.OK)
|
||||
{
|
||||
let dist: number;
|
||||
if (optKey === "spaceSize")
|
||||
dist = distRes.Distance;
|
||||
else
|
||||
dist = Math.abs(distRes.Distance);
|
||||
const store = props.store;
|
||||
if (optKey === 'spaceSize' || dist !== 0)
|
||||
store.m_Option[optKey] = parseFloat(dist.toFixed(2));
|
||||
store.UpdateOption({ option: store.m_Option });
|
||||
}
|
||||
app.Editor.ModalManage.ToggleShow();
|
||||
app.Editor.MaskManage.ShowMask();
|
||||
};
|
||||
let getlrBoardValue = async () =>
|
||||
{
|
||||
app.Editor.ModalManage.ToggleShow();
|
||||
app.Editor.MaskManage.Clear();
|
||||
const store = props.store;
|
||||
|
||||
let brRes = await app.Editor.GetEntity({ Msg: "选择板件", NotNone: true, Filter: { filterTypes: [Board] } });
|
||||
if (brRes.Status === PromptStatus.OK)
|
||||
{
|
||||
let br = brRes.Entity as Board;
|
||||
store.m_Option.height = parseFloat(br.Height.toFixed(2));
|
||||
store.m_Option.width = parseFloat(br.Width.toFixed(2));
|
||||
store.m_Option.thickness = parseFloat(br.Thickness.toFixed(2));
|
||||
store.UpdateOption({ option: store.m_Option });
|
||||
}
|
||||
app.Editor.ModalManage.ToggleShow();
|
||||
app.Editor.MaskManage.ShowMask();
|
||||
};
|
||||
return (
|
||||
<SetBoardDataBlock
|
||||
type={CheckObjectType.BR}
|
||||
pars={pars}
|
||||
uiOption={props.store.UIOption}
|
||||
option={props.store.m_Option}
|
||||
className="lr-br"
|
||||
/>
|
||||
<div >
|
||||
<div className="br-lkg">
|
||||
<div >
|
||||
{
|
||||
sizepars.map(([k, v]) =>
|
||||
<Label >
|
||||
<SetBoardDataItem
|
||||
type={CheckObjectType.BR}
|
||||
optKey={k}
|
||||
option={props.store.m_Option}
|
||||
uiOption={props.store.UIOption}
|
||||
title={v}
|
||||
/>
|
||||
<Button
|
||||
icon="arrow-right"
|
||||
onClick={() => getSizeValue(k)}
|
||||
/>
|
||||
</Label>
|
||||
)
|
||||
}
|
||||
</div>
|
||||
<Button text="拾取" intent="success" onClick={() => getlrBoardValue()} />
|
||||
</div>
|
||||
<div>
|
||||
<Label className="interval">
|
||||
<SetBoardDataItem
|
||||
type={CheckObjectType.BR}
|
||||
optKey={"spaceSize"}
|
||||
option={props.store.m_Option}
|
||||
uiOption={props.store.UIOption}
|
||||
title={"总宽"}
|
||||
/>
|
||||
<Button
|
||||
icon="arrow-right"
|
||||
onClick={() => getSizeValue("spaceSize")}
|
||||
/>
|
||||
</Label>
|
||||
</div>
|
||||
<div>
|
||||
<SetBoardDataBlock
|
||||
type={CheckObjectType.BR}
|
||||
pars={pars}
|
||||
uiOption={props.store.UIOption}
|
||||
option={props.store.m_Option}
|
||||
className="lr-br"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
}));
|
||||
|
Loading…
Reference in new issue