!896 优化:模块插入时,允许使用原始模块的柜体名称

pull/896/MERGE
ZoeLeeFZ 5 years ago committed by ChenX
parent ea6d919ea9
commit 31a3db9317

@ -10,6 +10,9 @@ export interface IGetRoomInfo
{
roomName: string;
cabName: string;
useCabName: boolean;
cabIndex?: number;
originCabName: string;
}
interface IGetRoomCabNameProps
{
@ -40,6 +43,7 @@ export class GetRoomCabName extends React.Component<IGetRoomCabNameProps> {
};
public render()
{
const { option } = this.props;
return (
<div className="flex get-name">
<div>
@ -48,21 +52,37 @@ export class GetRoomCabName extends React.Component<IGetRoomCabNameProps> {
<input
type="text"
className={Classes.INPUT}
value={this.props.option.roomName}
onChange={e => this.props.option.roomName = e.target.value}
value={option.roomName}
onChange={e => option.roomName = e.target.value}
/>
</Label>
<Label className={Classes.INLINE}>
<span></span>
<input
className={Classes.INPUT}
value={this.props.option.cabName}
onChange={e => this.props.option.cabName = e.target.value}
value={option.cabName}
onChange={this.handleChangeCabName}
// disabled={option.useCabName}
/>
</Label>
</div>
<Button text="拾取" intent={Intent.SUCCESS} onClick={this.getOption} />
{
this.props.needBoardName && <Checkbox
style={{ marginBottom: 0, marginLeft: 10 }}
label="柜名跟随"
checked={option.useCabName}
onChange={() => option.useCabName = !option.useCabName}
/>
}
</div>
);
}
private handleChangeCabName = (e: React.ChangeEvent<HTMLInputElement>) =>
{
const { option } = this.props;
option.cabName = e.target.value;
option.originCabName = option.cabName;
option.cabIndex = 0;
};
}

@ -27,6 +27,7 @@ import { DeleteCurrentTempate, DeleteTempate } from './../../../DatabaseServices
import { FilterVisualSpaceBox } from './../../../Geometry/SpaceParse/PointSelectSpace';
import { GetRoomCabName, IGetRoomInfo } from './GetRoomCabName';
import { TemplateList } from './TemplateList';
import { TemplateVisualSpace } from '../../../DatabaseServices/Template/ProgramTempate/TemplateVisualSpace';
export interface INeedUpdateParams
{
@ -42,6 +43,9 @@ export class TemplateManage extends React.Component<{ store?: TempalteEditorStor
@observable private option: IGetRoomInfo = {
roomName: "",
cabName: "",
originCabName: "",
useCabName: true,
cabIndex: 0,
};
private canCreateTemplate = observable.box(false);
@observable private currentProps: INeedUpdateParams[] = [];
@ -50,7 +54,8 @@ export class TemplateManage extends React.Component<{ store?: TempalteEditorStor
{
super(props);
this.option.roomName = localStorage.getItem(StoreageKeys.RoomName) || "";
this.option.cabName = "标准柜" + this.props.store.cabNameIndex;
this.option.cabName = "标准柜";
this.option.originCabName = "标准柜";
}
private renderNav = () =>
{
@ -184,11 +189,10 @@ export class TemplateManage extends React.Component<{ store?: TempalteEditorStor
else
await this.handleInsertBySpace();
}, "插入模块");
this.option.cabName = "标准柜" + (++this.props.store.cabNameIndex);
this.option.cabName = this.option.originCabName + (++this.option.cabIndex);
app.Editor.ModalManage.ToggleShow();
app.Editor.MaskManage.ShowMask();
app.Editor.MaskManage.OnFocusEvent();
// app.Editor.MaskManage.OnFocusEvent();
};
private handleInsertByBasePt = async () =>
{
@ -231,14 +235,17 @@ export class TemplateManage extends React.Component<{ store?: TempalteEditorStor
if (ptRes.Status === PromptStatus.OK)
{
let newTemp = app.Database.WblockCloneObejcts([template], app.Database.TemplateTable, new Map(), DuplicateRecordCloning.Ignore)[0] as TemplateRecord;
let rootTemp = newTemp.Root;
nens = rootTemp.AllEntitys;
let isVsTemp = rootTemp instanceof TemplateVisualSpace;
nens = newTemp.Root.AllEntitys;
for (let b of nens)
{
if (b instanceof Board)
{
b.BoardProcessOption[EBoardKeyList.RoomName] = this.option.roomName;
if (this.option.cabName)
if (!isVsTemp)
b.BoardProcessOption[EBoardKeyList.CabinetName] = this.option.cabName;
}
}
@ -282,11 +289,16 @@ export class TemplateManage extends React.Component<{ store?: TempalteEditorStor
//设置房名和柜名
let [roomName, cabName] = [this.option.roomName, this.option.cabName];
if (parse.Boards.length > 0)
if (!parse.VisualSpaceBox)
{
let process = parse.Boards[0].BoardProcessOption;
[roomName, cabName] = [process[EBoardKeyList.RoomName], process[EBoardKeyList.CabinetName]];
if (parse.Boards.length > 0)
{
let process = parse.Boards[0].BoardProcessOption;
[roomName, cabName] = [process[EBoardKeyList.RoomName], process[EBoardKeyList.CabinetName]];
}
}
for (let b of nents)
{
if (b instanceof Board)
@ -403,6 +415,7 @@ export class TemplateManage extends React.Component<{ store?: TempalteEditorStor
currentProps={this.currentProps}
currentInfo={this.currentTemplateInfo}
editor={this.handleEditor}
cabOption={this.option}
/>
{
this.canCreateTemplate.get() && <HandleDirComponent

@ -11,6 +11,7 @@ import { INeedUpdateParams } from './TemplateComponent';
import { IDrawerDoorTempInfo, ISelectTempInfo, DrawerTempParName, DisableChangeParName } from '../../Store/DoorInterface';
import { AppToaster } from '../Toaster';
import { IDirectoryProps } from '../SourceManage/CommonPanel';
import { IGetRoomInfo } from './GetRoomCabName';
export interface ITemplateListProps
{
@ -31,6 +32,7 @@ export interface ITemplateListProps
/**选择的模板信息 */
selectInfo?: ISelectTempInfo;
currentDir?: IDirectoryProps;
cabOption?: IGetRoomInfo;
}
export interface ITempItemBack
@ -155,6 +157,13 @@ export class TemplateList extends React.Component<ITemplateListProps> {
}
else
{
if (this.props.cabOption && !this.props.cabOption.useCabName)
{
this.props.cabOption.cabName = temp.name;
this.props.cabOption.originCabName = temp.name;
this.props.cabOption.cabIndex = 0;
}
if (this.props.currentDir)
//选择的模板信息

@ -14,7 +14,6 @@ export class TempalteEditorStore extends Singleton implements IConfigStore
{
@observable configName = "默认";
@observable configsNames: string[] = [];
cabNameIndex = 0;
Template: TemplateRecord;
@observable params: INeedUpdateParams[] = [];

Loading…
Cancel
Save