!1818 新增:根据板名修改属性添加自动切割,关联切割

pull/1826/MERGE
黄诗津 3 years ago committed by ChenX
parent fe83e44739
commit 3dbf282591

@ -11,6 +11,7 @@ import { UpdateBoardInfoModal } from "../../UI/Components/Board/UpdateBoardInfos
import { AppToaster } from "../../UI/Components/Toaster";
import { DRILL_KEYS } from "../../UI/Store/BoardFindInterface";
import { updateBoardInfoStore } from "../../UI/Store/UpdateBoardInfoStore";
import { CuttingBoardByBoard } from "../BoardCutting/CuttingUtils2";
//根据板件名改属性
export class UpdateBoardInfos implements Command
@ -32,6 +33,8 @@ export class UpdateBoardInfos implements Command
const nameOptionMap = toJS(updateBoardInfoStore.nameOptionMap, { exportMapsAsObjects: false });
const currentOption = nameOptionMap.get(updateBoardInfoStore.currentBoardName);
let knifBoards: Board[] = [];
let knifrefBoards: Board[] = [];
for (let br of brs)
{
@ -39,16 +42,56 @@ export class UpdateBoardInfos implements Command
{
const option = nameOptionMap.get(br.Name);
if (option)
{
UpdateBoardInfos.ModifyBr(br, option);
if (option.condition.autoCutOption.isAutoCut)
{
if (option.condition.autoCutOption.isRelevance)
knifrefBoards.push(br);
else
knifBoards.push(br);
}
}
}
else
{
if (currentOption && br.Name === updateBoardInfoStore.currentBoardName)
{
UpdateBoardInfos.ModifyBr(br, currentOption);
if (currentOption.condition.autoCutOption.isAutoCut)
{
if (currentOption.condition.autoCutOption.isRelevance)
knifrefBoards.push(br);
else
knifBoards.push(br);
}
}
}
}
});
if (knifBoards.length > 0)
{
let meatBoards: Board[] = [];
let boards = new Set(knifBoards);
for (let ent of app.Database.ModelSpace.Entitys)
{
if (!ent.IsErase && ent instanceof Board && !boards.has(ent))
meatBoards.push(ent);
}
CuttingBoardByBoard(meatBoards, knifBoards, false);
}
if (knifrefBoards.length > 0)
{
let meatBoards: Board[] = [];
let boards = new Set(knifrefBoards);
for (let ent of app.Database.ModelSpace.Entitys)
{
if (!ent.IsErase && ent instanceof Board && !boards.has(ent))
meatBoards.push(ent);
}
CuttingBoardByBoard(meatBoards, knifrefBoards);
}
});
}
static ModifyBr(br: Board, option: IUpdateBoardInfosOption)
{

@ -665,7 +665,7 @@ export const DefaultCurve2RecOption: Curve2RecOption = {
Object.freeze(DefaultCurve2RecOption);
export const DefaultUpdateInfoOption: IUpdateBoardInfosOption = {
version: 1,
version: 2,
[EBoardKeyList.BrName]: "",
[EBoardKeyList.RoomName]: "",
[EBoardKeyList.CabinetName]: "",
@ -712,6 +712,7 @@ export const DefaultUpdateInfoOption: IUpdateBoardInfosOption = {
leftDrill: true,
rightDrill: true,
isChaiDan: true,
autoCutOption: { isAutoCut: false, isRelevance: false }
}
};

@ -1,5 +1,5 @@
import { EBoardKeyList } from "../../../Common/BoardKeyList";
import { ComposingType, FaceDirection, IBaseOption, LinesType } from "../../Store/BoardInterface";
import { ComposingType, FaceDirection, IBaseOption, IDrawBoardAutoCutOption, LinesType } from "../../Store/BoardInterface";
export interface IUpdateBoardInfosOption extends IBaseOption
{
@ -53,4 +53,5 @@ export interface IUpdateInfoCondition
leftDrill: boolean;
rightDrill: boolean;
isChaiDan: boolean;
autoCutOption: IDrawBoardAutoCutOption;
}

@ -18,7 +18,7 @@ import { PopoverButton } from '../Common/PopoverButton';
import { CommonModal } from '../Modal/ModalContainer';
import { ModalState } from '../Modal/ModalInterface';
import { ToasterInput } from '../Toaster';
import { Notes } from './BoardCommon';
import { AutoCutCheckbox, Notes } from './BoardCommon';
import { MatColorCom, SealDrillCom } from './BoardFindCommon';
import { BoardModalType } from './BoardModal';
import { InitRectBoardDrillOption } from './CommonBoardOption';
@ -235,6 +235,7 @@ export class UpdateBoardInfoModal extends React.Component<IUpdateBoardInfoModalP
onChange={() => option.isChaiDan = !option.isChaiDan}
/>
</div>
<AutoCutCheckbox autoCutOption={condition.autoCutOption} />
<Checkbox
inline
checked={condition.remarks}

@ -13,6 +13,7 @@ export class UpdateBoardInfosStore extends BoardStore
@observable currentBoardName = "";
@observable isSelectAllDrill = true;
@observable isSelectAllSealed = true;
constructor()
{
super();
@ -113,6 +114,11 @@ export class UpdateBoardInfosStore extends BoardStore
option[name].isChaiDan = true;
option[name].condition.isChaiDan = true;
}
if (option[name].version < 2)
{
option[name].version = 2;
option[name].condition.autoCutOption = { isAutoCut: false, isRelevance: false };
}
if (!option[name].brName)
option[name].condition.brName = false;
if (!option[name].highDrill || option[name].highDrill.length === 0)

Loading…
Cancel
Save