!1613 增强:<矩形变板>增加背板使用模块功能

pull/1640/MERGE
林三 3 years ago committed by ChenX
parent 89b9b0c0d4
commit 40ce9ef354

@ -1,4 +1,4 @@
import { Button, Classes } from '@blueprintjs/core'; import { Button, Classes, Intent } from '@blueprintjs/core';
import { observer } from 'mobx-react'; import { observer } from 'mobx-react';
import React from 'react'; import React from 'react';
import { Vector3 } from 'three'; import { Vector3 } from 'three';
@ -8,6 +8,7 @@ import { EBoardKeyList } from '../../../Common/BoardKeyList';
import { KeyBoard } from '../../../Common/KeyEnum'; import { KeyBoard } from '../../../Common/KeyEnum';
import { ToFixed } from '../../../Common/Utils'; import { ToFixed } from '../../../Common/Utils';
import { Board } from '../../../DatabaseServices/Entity/Board'; import { Board } from '../../../DatabaseServices/Entity/Board';
import { GetOnlineTemplate } from '../../../DatabaseServices/Template/TempateUtils';
import { TemplateRecord } from '../../../DatabaseServices/Template/TemplateRecord'; import { TemplateRecord } from '../../../DatabaseServices/Template/TemplateRecord';
import { PromptStatus } from '../../../Editor/PromptResult'; import { PromptStatus } from '../../../Editor/PromptResult';
import { userConfig } from '../../../Editor/UserConfig'; import { userConfig } from '../../../Editor/UserConfig';
@ -15,6 +16,7 @@ import { BoardModalType } from '../../../UI/Components/Board/BoardModal';
import { GetCompoentObjectIdString } from '../../../UI/Components/ComponentObjectId'; import { GetCompoentObjectIdString } from '../../../UI/Components/ComponentObjectId';
import { ModalFooter, ModalHeader } from '../../../UI/Components/Modal/ModalContainer'; import { ModalFooter, ModalHeader } from '../../../UI/Components/Modal/ModalContainer';
import { ModalState } from '../../../UI/Components/Modal/ModalInterface'; import { ModalState } from '../../../UI/Components/Modal/ModalInterface';
import { AppToaster } from '../../../UI/Components/Toaster';
import '../Modals/Rec2Br.less'; import '../Modals/Rec2Br.less';
import { GetOptionState, R2BConfigComponent } from '../R2bConfigComponent'; import { GetOptionState, R2BConfigComponent } from '../R2bConfigComponent';
import { R2BProcessComponent } from '../R2BProcessComponent'; import { R2BProcessComponent } from '../R2BProcessComponent';
@ -32,7 +34,19 @@ export class Rec2BrModal extends React.Component<{ store: Rec2BrStore; }, {}>
{ {
if (app.Editor.ModalManage.CurrentModalKey !== GetCompoentObjectIdString(Rec2BrModal)) return; if (app.Editor.ModalManage.CurrentModalKey !== GetCompoentObjectIdString(Rec2BrModal)) return;
if (e.keyCode === KeyBoard.Enter || e.keyCode === KeyBoard.Space) if (e.keyCode === KeyBoard.Enter || e.keyCode === KeyBoard.Space)
this._CheckTemp().then(() =>
{
if (this.props.store.m_Option.backBrUseTemplate && !this.props.store.m_Option.backBrTemplateId)
{
AppToaster.show({
message: "请选择模板!",
timeout: 5000,
intent: Intent.WARNING
});
return;
}
this.props.store.OnOk(ModalState.Ok); this.props.store.OnOk(ModalState.Ok);
});
e.stopPropagation(); e.stopPropagation();
return true; return true;
}) })
@ -128,10 +142,22 @@ export class Rec2BrModal extends React.Component<{ store: Rec2BrStore; }, {}>
className="LeftRightBtn bp3-intent-success" className="LeftRightBtn bp3-intent-success"
text="确定" text="确定"
onClick={() => onClick={() =>
{
this._CheckTemp().then(() =>
{ {
if (this.props.store.m_Option.drillType === "") if (this.props.store.m_Option.drillType === "")
this.props.store.m_Option.drillType = selectOptions[0]; this.props.store.m_Option.drillType = selectOptions[0];
if (this.props.store.m_Option.backBrUseTemplate && !this.props.store.m_Option.backBrTemplateId)
{
AppToaster.show({
message: "请选择模板!",
timeout: 5000,
intent: Intent.WARNING
});
return;
}
store.OnOk(ModalState.Ok); store.OnOk(ModalState.Ok);
});
}} }}
/> />
<Button <Button
@ -150,4 +176,25 @@ export class Rec2BrModal extends React.Component<{ store: Rec2BrStore; }, {}>
</div> </div>
); );
} }
async _CheckTemp()
{
if (this.props.store.m_Option.backBrTemplateId && this.props.store.m_Option.backBrTemplate === null && this.props.store.m_Option.backBrUseTemplate)
{
let temp = await GetOnlineTemplate(this.props.store.m_Option.backBrTemplateId);
if (!temp)
{
AppToaster.show({
message: "你保存的背板模板已丢失,请重新选择模板后保存配置!",
timeout: 5000,
intent: Intent.DANGER
});
this.props.store.m_Option.backBrTemplateId = "";
}
else
{
this.props.store.m_Option.backBrTemplate = temp;
}
}
}
} }

@ -5,9 +5,12 @@ import { GetRectData } from "../../Common/CurveUtils";
import { safeEval } from "../../Common/eval"; import { safeEval } from "../../Common/eval";
import { Buy2To3 } from "../../Common/HostUrl"; import { Buy2To3 } from "../../Common/HostUrl";
import { matrixSetVector } from "../../Common/Matrix4Utils"; import { matrixSetVector } from "../../Common/Matrix4Utils";
import { DuplicateRecordCloning } from "../../Common/Status";
import { FixDigits } from "../../Common/Utils"; import { FixDigits } from "../../Common/Utils";
import { Board } from "../../DatabaseServices/Entity/Board"; import { Board } from "../../DatabaseServices/Entity/Board";
import { Polyline } from "../../DatabaseServices/Entity/Polyline"; import { Polyline } from "../../DatabaseServices/Entity/Polyline";
import { HardwareCompositeEntity } from "../../DatabaseServices/Hardware/HardwareCompositeEntity";
import { PositioningBoardSpace } from "../../DatabaseServices/Template/Positioning/PositioningBoardSpace";
import { TemplateRecord } from "../../DatabaseServices/Template/TemplateRecord"; import { TemplateRecord } from "../../DatabaseServices/Template/TemplateRecord";
import { Command } from "../../Editor/CommandMachine"; import { Command } from "../../Editor/CommandMachine";
import { PromptStatus } from "../../Editor/PromptResult"; import { PromptStatus } from "../../Editor/PromptResult";
@ -106,7 +109,7 @@ export class Polyline2Board implements Command
this.fontDis = option.cabinetCurtail;//0; this.fontDis = option.cabinetCurtail;//0;
this.backBoardThick = option.backBrThick;//18; this.backBoardThick = option.backBrThick;//18;
this.backIsTemplate = option.backBrUseTemplate;//false; this.backIsTemplate = option.backBrUseTemplate;//false;
// this.backTemplate = option.backBrTemplate; this.backTemplate = option.backBrTemplate;
this.backBoardMoveDis = option.backBrFrontMove;//0; this.backBoardMoveDis = option.backBrFrontMove;//0;
this.isUseBoardNameToAttr = false; this.isUseBoardNameToAttr = false;
this.moveBackLen = option.backBrBiggerThanHeight; this.moveBackLen = option.backBrBiggerThanHeight;
@ -181,7 +184,6 @@ export class Polyline2Board implements Command
matrixSetVector(this.SpaceOCS, 2, y); matrixSetVector(this.SpaceOCS, 2, y);
let allBoards: Board[] = []; let allBoards: Board[] = [];
let layerVerBoards: Board[] = this.DrawBoard(otherPls); let layerVerBoards: Board[] = this.DrawBoard(otherPls);
let tzdj = this.DrawBoard(facePls, false, 4);//条子或地脚板 let tzdj = this.DrawBoard(facePls, false, 4);//条子或地脚板
allBoards.push(...tzdj); allBoards.push(...tzdj);
@ -217,6 +219,8 @@ export class Polyline2Board implements Command
let storeOption = this.store.m_Option; let storeOption = this.store.m_Option;
for (let b of allBoards) for (let b of allBoards)
{
if (b instanceof Board)
{ {
b.KnifeRadius = this.knifeRadius; b.KnifeRadius = this.knifeRadius;
b.GroovesAddDepth = this.grooveDepth; b.GroovesAddDepth = this.grooveDepth;
@ -242,6 +246,7 @@ export class Polyline2Board implements Command
} }
b.BoardProcessOption.remarks = remarks; b.BoardProcessOption.remarks = remarks;
} }
}
let cabGroup: Board[][] = []; let cabGroup: Board[][] = [];
@ -319,7 +324,6 @@ export class Polyline2Board implements Command
else else
others.push(br);//层板立板 others.push(br);//层板立板
} }
if (others.length > 0)//空的组没意义 if (others.length > 0)//空的组没意义
cabGroup.push(others); cabGroup.push(others);
@ -563,6 +567,71 @@ export class Polyline2Board implements Command
if (!nameOption) continue; if (!nameOption) continue;
UpdateBoardInfos.ModifyBr(b, nameOption); UpdateBoardInfos.ModifyBr(b, nameOption);
} }
let tempIsHCE = false;//替换模板是否为复合模块
//背板模块替换
if (this.backIsTemplate)
{
if (!this.backTemplate) return;
let newBackBoards: Board[] = [];
for (let i = 0; i < backBoards.length; i++)
{
let en = backBoards[i];
let template = app.Database.WblockCloneObejcts([this.backTemplate], app.Database.TemplateTable, new Map(), DuplicateRecordCloning.Ignore)[0] as TemplateRecord;
let pos = new PositioningBoardSpace();
pos.ObjectId = en.Id;
template.Positioning = pos;
template.LParam.expr = "";
template.WParam.expr = "";
template.HParam.expr = "";
template.PYParam.expr = "";
template.RXParam.expr = "-90";
await template.UpdateTemplateTree();
for (let br of template.AllEntitys)
{
//柜名跟随
if (br instanceof Board)
{
if (storeOption.iscabinetName)
if (!this.isMultiBackCab)
br.BoardProcessOption.cabinetName = storeOption.cabinetName + (i + 1);
else
br.BoardProcessOption.cabinetName = storeOption.cabinetName;
}
else if (br instanceof HardwareCompositeEntity)
{
tempIsHCE = true;
if (storeOption.iscabinetName)
{
br.WriteAllObjectRecord();
if (!this.isMultiBackCab)
br.HardwareOption.cabinetName = storeOption.cabinetName + (i + 1);
else
br.HardwareOption.cabinetName = storeOption.cabinetName;
}
}
newBackBoards.push(br as Board);
}
pos.ObjectId.Object.Erase();
}
backBoards = newBackBoards;
for (let i = 0; i < backBoards.length; i++)
{
//其他属性跟随
if (backBoards[i] instanceof Board)
{
backBoards[i].BoardProcessOption.material = storeOption.material;
backBoards[i].BoardProcessOption.color = storeOption.color;
backBoards[i].BoardProcessOption.boardName = storeOption.boardMatName;
backBoards[i].BoardProcessOption.roomName = storeOption.roomName;
}
}
}
if (this.behindIsRelative) if (this.behindIsRelative)
{ {
@ -571,13 +640,16 @@ export class Polyline2Board implements Command
CuttingBoardByBoard(layerVerBoards, backBoards); CuttingBoardByBoard(layerVerBoards, backBoards);
} }
else else
{
for (let br of layerVerBoards) for (let br of layerVerBoards)
{ {
//柜体内缩 //柜体内缩
CurtailFunc(br, this.fontDis); CurtailFunc(br, this.fontDis);
if (!tempIsHCE)
br.Subtract(backBoards); br.Subtract(backBoards);
} }
} }
}
DrawBoard(pls: Polyline[], isBack = false, color?: number): Board[] DrawBoard(pls: Polyline[], isBack = false, color?: number): Board[]
{ {

@ -1,11 +1,20 @@
import { Rec2BrStore } from "./Rec2BrStore"; import { Button, Card, Checkbox, H5, Intent } from "@blueprintjs/core";
import { observable } from "mobx";
import { observer } from "mobx-react"; import { observer } from "mobx-react";
import React from 'react'; import React from 'react';
import { SetBoardDataItem, SetBoardDataBlock } from "../../UI/Components/Board/BoardCommon"; import { app } from "../../ApplicationServices/Application";
import { CheckObjectType } from "../../Common/CheckoutVaildValue"; import { CheckObjectType } from "../../Common/CheckoutVaildValue";
import { Card, H5, Checkbox } from "@blueprintjs/core"; import { SetBoardDataBlock, SetBoardDataItem } from "../../UI/Components/Board/BoardCommon";
import { ModalState } from "../../UI/Components/Modal/ModalInterface";
import { TemplateManage } from "../../UI/Components/Template/TemplateComponent";
import { TempalteEditorStore } from "../../UI/Store/TemplateEditorStore";
import { ParseBoardName } from "./ParseBoardNamePanel"; import { ParseBoardName } from "./ParseBoardNamePanel";
import { Rec2BrStore } from "./Rec2BrStore";
export interface R2bReplaceProps
{
isR2bReplace: boolean;
}
export enum GetOptionState export enum GetOptionState
{ {
@ -24,6 +33,8 @@ interface IR2BConfigComponentProps
@observer @observer
export class R2BConfigComponent extends React.Component<IR2BConfigComponentProps> export class R2BConfigComponent extends React.Component<IR2BConfigComponentProps>
{ {
@observable isSelectBackTemp = false;
render() render()
{ {
const store = this.props.store; const store = this.props.store;
@ -106,6 +117,32 @@ export class R2BConfigComponent extends React.Component<IR2BConfigComponentProps
uiOption={store.UIOption} uiOption={store.UIOption}
/> />
<Checkbox label="是否关联切割" checked={store.m_Option.behindIsRelative} onChange={() => store.m_Option.behindIsRelative = !store.m_Option.behindIsRelative} /> <Checkbox label="是否关联切割" checked={store.m_Option.behindIsRelative} onChange={() => store.m_Option.behindIsRelative = !store.m_Option.behindIsRelative} />
<div>
<Checkbox label="使用背板模块"
checked={store.m_Option.backBrUseTemplate}
onChange={() => store.m_Option.backBrUseTemplate = !store.m_Option.backBrUseTemplate}
style={{ float: "left", marginTop: 5 }}
/>
<Button
text={store.m_Option.backBrTemplateId ? "已选择模板" : "未选择模板"}
intent={Intent.SUCCESS}
style={{ marginLeft: 15 }}
onClick={async () =>
{
let modal = app.Editor.ModalManage.CurrentModal;
let tempalteStore = TempalteEditorStore.GetInstance() as TempalteEditorStore;
app.Editor.ModalManage.RenderModeless(TemplateManage, { tempalteStore, R2bReplace: { isR2bReplace: true } });
let state = await app.Editor.ModalManage.Wait();
if (state.Status !== ModalState.Ok)
return;
modal.Focus();
store.m_Option.backBrTemplateId = state.Data.tempId;
store.m_Option.backBrTemplate = state.Data.temp;
}}
/>
</div>
</div> </div>
<ParseBoardName store={store} /> <ParseBoardName store={store} />
</Card > </Card >

@ -50,6 +50,7 @@ export interface IRec2BrOption extends IParseBoardNameOption
backBrUseTemplate: boolean; backBrUseTemplate: boolean;
backBrTemplate: TemplateRecord;//背板模板 backBrTemplate: TemplateRecord;//背板模板
backBrTemplateId: string;
//材料信息 //材料信息
//刀半径 //刀半径
//槽加长 //槽加长

@ -1,11 +1,11 @@
import { BoardStore } from "../../UI/Store/BoardStore"; import { action, observable, toJS } from "mobx";
import { CheckoutValid, CheckObjectType } from "../../Common/CheckoutVaildValue"; import { CheckObjectType, CheckoutValid } from "../../Common/CheckoutVaildValue";
import { DataAdapter } from "../../Common/DataAdapter"; import { DataAdapter } from "../../Common/DataAdapter";
import { observable, toJS, action } from "mobx"; import { DefaultR2bOption } from "../../Editor/DefaultConfig";
import { IConfigOption } from "../../UI/Components/Board/UserConfig"; import { IConfigOption } from "../../UI/Components/Board/UserConfig";
import { BoardStore } from "../../UI/Store/BoardStore";
import { updateBoardInfoStore } from "../../UI/Store/UpdateBoardInfoStore"; import { updateBoardInfoStore } from "../../UI/Store/UpdateBoardInfoStore";
import { IRec2BrOption } from "./R2bInterface"; import { IRec2BrOption } from "./R2bInterface";
import { DefaultR2bOption } from "../../Editor/DefaultConfig";
export class Rec2BrStore extends BoardStore<IRec2BrOption> export class Rec2BrStore extends BoardStore<IRec2BrOption>
{ {
@ -31,6 +31,7 @@ export class Rec2BrStore extends BoardStore<IRec2BrOption>
SaveConfig() SaveConfig()
{ {
let newConfig: IConfigOption = {}; let newConfig: IConfigOption = {};
this.m_Option.backBrTemplate = null;
newConfig.option = toJS(this.m_Option); newConfig.option = toJS(this.m_Option);
return newConfig; return newConfig;
} }
@ -52,7 +53,7 @@ export class Rec2BrStore extends BoardStore<IRec2BrOption>
} }
} }
@action @action
UpdateOption(cof: IConfigOption<IRec2BrOption>) async UpdateOption(cof: IConfigOption<IRec2BrOption>)
{ {
if (cof.option.version < 2) if (cof.option.version < 2)
{ {
@ -65,6 +66,13 @@ export class Rec2BrStore extends BoardStore<IRec2BrOption>
cof.option.behindIsRelative = false; cof.option.behindIsRelative = false;
cof.option.footerThickness = 18; cof.option.footerThickness = 18;
} }
if (cof.option.version < 4)
{
cof.option.backBrTemplateId = "";
cof.option.version = 4;
}
else
this.m_Option.backBrTemplateId = cof.option.backBrTemplateId;
let grooveOption = cof.option.grooveOption; let grooveOption = cof.option.grooveOption;
delete cof.option.grooveOption; delete cof.option.grooveOption;
@ -76,7 +84,6 @@ export class Rec2BrStore extends BoardStore<IRec2BrOption>
const names = updateBoardInfoStore.configsNames; const names = updateBoardInfoStore.configsNames;
if (names.length > 0 && !names.includes(this.m_Option.configName)) if (names.length > 0 && !names.includes(this.m_Option.configName))
this.m_Option.configName = names[0]; this.m_Option.configName = names[0];
} }
InitConfigs() InitConfigs()
{ {

@ -681,7 +681,7 @@ export const DefaultParseBoardNameOPtion: IParseBoardNameOption = {
Object.freeze(DefaultParseBoardNameOPtion); Object.freeze(DefaultParseBoardNameOPtion);
export const DefaultR2bOption: IRec2BrOption = { export const DefaultR2bOption: IRec2BrOption = {
version: 2, version: 4,
cabinetDeep: 400, cabinetDeep: 400,
cabinetBrThick: 18, cabinetBrThick: 18,
cabinetCurtail: 0, cabinetCurtail: 0,
@ -711,6 +711,7 @@ export const DefaultR2bOption: IRec2BrOption = {
sealedUp: "1", sealedUp: "1",
backBrUseTemplate: false, backBrUseTemplate: false,
backBrTemplate: null, backBrTemplate: null,
backBrTemplateId: "",
remarks: Array.from({ length: 12 }, () => ["", ""]), remarks: Array.from({ length: 12 }, () => ["", ""]),
maxThickness: 20, maxThickness: 20,
useBrName: true, useBrName: true,

@ -6,6 +6,7 @@ import { Matrix4, Vector3 } from 'three';
import { AutoCutting } from '../../../Add-on/BoardCutting/AutoCuttingReactor'; import { AutoCutting } from '../../../Add-on/BoardCutting/AutoCuttingReactor';
import { ITempTagProps, templateTagCommand } from '../../../Add-on/Template/TemplateTagCommand'; import { ITempTagProps, templateTagCommand } from '../../../Add-on/Template/TemplateTagCommand';
import { ReadAutoCutConfig, UploadAutoCutConfig } from '../../../Add-on/TemplateSearch'; import { ReadAutoCutConfig, UploadAutoCutConfig } from '../../../Add-on/TemplateSearch';
import { R2bReplaceProps } from '../../../Add-on/twoD2threeD/R2bConfigComponent';
import { app } from '../../../ApplicationServices/Application'; import { app } from '../../../ApplicationServices/Application';
import { EBoardKeyList } from '../../../Common/BoardKeyList'; import { EBoardKeyList } from '../../../Common/BoardKeyList';
import { TemplateUrls } from '../../../Common/HostUrl'; import { TemplateUrls } from '../../../Common/HostUrl';
@ -41,6 +42,7 @@ import { TempalteEditorStore } from '../../Store/TemplateEditorStore';
import { AutoCutCheckbox } from '../Board/BoardCommon'; import { AutoCutCheckbox } from '../Board/BoardCommon';
import { MenuItem } from '../ContextMenu/MenuItem'; import { MenuItem } from '../ContextMenu/MenuItem';
import { ModalHeader } from '../Modal/ModalContainer'; import { ModalHeader } from '../Modal/ModalContainer';
import { ModalState } from '../Modal/ModalInterface';
import { CommonPanel, IDirectoryProps } from '../SourceManage/CommonPanel'; import { CommonPanel, IDirectoryProps } from '../SourceManage/CommonPanel';
import { HandleDirComponent } from '../SourceManage/HandleDirComponent'; import { HandleDirComponent } from '../SourceManage/HandleDirComponent';
import { AppToaster } from '../Toaster'; import { AppToaster } from '../Toaster';
@ -54,6 +56,7 @@ export interface ITemplateManage
{ {
store?: TempalteEditorStore; store?: TempalteEditorStore;
currentTag?: ITempTagProps; currentTag?: ITempTagProps;
R2bReplace?: R2bReplaceProps;
} }
@observer @observer
@ -84,6 +87,7 @@ export class TemplateManage extends React.Component<ITemplateManage, {}> {
} }
private renderNav = () => private renderNav = () =>
{ {
if (this.props.R2bReplace) return;
return ( return (
<> <>
<Button <Button
@ -142,6 +146,7 @@ export class TemplateManage extends React.Component<ITemplateManage, {}> {
}; };
private renderMenuItems = () => private renderMenuItems = () =>
{ {
if (this.props.R2bReplace) return;
return ( return (
<MenuItem icon="cloud-upload" text="创建模块" <MenuItem icon="cloud-upload" text="创建模块"
onClick={this.startCreateTemplate} onClick={this.startCreateTemplate}
@ -248,6 +253,11 @@ export class TemplateManage extends React.Component<ITemplateManage, {}> {
}; };
private handleInsert = async (isByBasePt: boolean) => private handleInsert = async (isByBasePt: boolean) =>
{ {
if (this.props.R2bReplace)
{
this.handleR2bRepalce();
return;
}
if (!isByBasePt && this.currentTemplateInfo.isKuGan) if (!isByBasePt && this.currentTemplateInfo.isKuGan)
{ {
if (kuGanStore.HasInvailValue()) if (kuGanStore.HasInvailValue())
@ -699,6 +709,18 @@ export class TemplateManage extends React.Component<ITemplateManage, {}> {
app.Editor.MaskManage.ShowMask(); app.Editor.MaskManage.ShowMask();
app.Editor.MaskManage.OnFocusEvent(); app.Editor.MaskManage.OnFocusEvent();
}; };
//R2B 背板模块替换
private handleR2bRepalce = async () =>
{
let temp = await GetOnlineTemplate(this.currentTemplateInfo.id);
if (temp)
app.Editor.ModalManage.m_PromisRes({ Status: ModalState.Ok, Data: { temp: temp, tempId: this.currentTemplateInfo.id } });
else
app.Editor.ModalManage.m_PromisRes({ Status: ModalState.Cancel });
app.Editor.ModalManage.Destory();
};
private handleInsertHandle = async () => private handleInsertHandle = async () =>
{ {
app.Editor.ModalManage.ToggleShow(); app.Editor.ModalManage.ToggleShow();
@ -962,26 +984,33 @@ export class TemplateManage extends React.Component<ITemplateManage, {}> {
} }
</div> </div>
<div className={Classes.DIALOG_FOOTER} > <div className={Classes.DIALOG_FOOTER} >
{
!this.props.R2bReplace &&
<GetRoomCabName <GetRoomCabName
option={this.option} option={this.option}
needBoardName needBoardName
/> />
<AutoCutCheckbox isFlex={false} autoCutOption={this.autoCutOption} /> }
{!this.props.R2bReplace && <AutoCutCheckbox isFlex={false} autoCutOption={this.autoCutOption} />}
<div className={Classes.DIALOG_FOOTER_ACTIONS}> <div className={Classes.DIALOG_FOOTER_ACTIONS}>
<Button {
!this.props.R2bReplace && <Button
className={Classes.INTENT_SUCCESS} className={Classes.INTENT_SUCCESS}
text="动态插入" text="动态插入"
disabled={!this.currentTemplateInfo.id} disabled={!this.currentTemplateInfo.id}
onClick={() => this.handleInsert(true)} onClick={() => this.handleInsert(true)}
/> />
<Button }
{
!this.props.R2bReplace && <Button
className={Classes.INTENT_DANGER} className={Classes.INTENT_DANGER}
text="空间拾取" text="空间拾取"
onClick={() => this.handleInsert(false)} onClick={() => this.handleInsert(false)}
disabled={!this.currentTemplateInfo.id} disabled={!this.currentTemplateInfo.id}
/> />
}
{ {
this.currentTemplateInfo.id && this.currentTemplateInfo.isHandle && this.currentTemplateInfo.id && this.currentTemplateInfo.isHandle && !this.props.R2bReplace &&
<Button <Button
className={Classes.INTENT_DANGER} className={Classes.INTENT_DANGER}
text="拾取板件" text="拾取板件"
@ -989,13 +1018,23 @@ export class TemplateManage extends React.Component<ITemplateManage, {}> {
disabled={!this.currentTemplateInfo.id} disabled={!this.currentTemplateInfo.id}
/> />
} }
<Button {
!this.props.R2bReplace && <Button
className={Classes.INTENT_PRIMARY} className={Classes.INTENT_PRIMARY}
text="模块替换" text="模块替换"
onClick={this.handleReplace} onClick={this.handleReplace}
disabled={!this.currentTemplateInfo.id || this.currentTemplateInfo.isKuGan} disabled={!this.currentTemplateInfo.id || this.currentTemplateInfo.isKuGan}
/> />
}
</div> </div>
{
this.props.R2bReplace && <Button
className={Classes.INTENT_PRIMARY}
text="确定"
onClick={this.handleR2bRepalce}
disabled={!this.currentTemplateInfo.id || this.currentTemplateInfo.isKuGan}
/>
}
</div> </div>
</div> </div>
</div> </div>

Loading…
Cancel
Save