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 { observer } from 'mobx-react';
|
||||||
import * as React from 'react';
|
import * as React from 'react';
|
||||||
import { SideBoardStore } from '../../Store/BoardStore';
|
import { app } from '../../../ApplicationServices/Application';
|
||||||
import { SetBoardDataBlock } from './BoardCommon';
|
|
||||||
import { CheckObjectType } from '../../../Common/CheckoutVaildValue';
|
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 =
|
export const LeftRightBoardModal =
|
||||||
(observer((props: { store?: SideBoardStore; }) =>
|
(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 (
|
return (
|
||||||
<SetBoardDataBlock
|
<div >
|
||||||
type={CheckObjectType.BR}
|
<div className="br-lkg">
|
||||||
pars={pars}
|
<div >
|
||||||
uiOption={props.store.UIOption}
|
{
|
||||||
option={props.store.m_Option}
|
sizepars.map(([k, v]) =>
|
||||||
className="lr-br"
|
<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