!2463 新增:门板/抽屉/格子抽/酒格/矩形变层立板增加房间、柜体、板件材料选择选项

pull/2434/MERGE
黄诗津 5 months ago committed by ChenX
parent 01d7457f72
commit 706ee78185

@ -40,6 +40,11 @@ const option: IWineRackOption = {
brThick2: 18, brThick2: 18,
isExtendsBH2: false, isExtendsBH2: false,
followNarrow: false, followNarrow: false,
boardMatName: "",
material: "",
color: "",
roomName: "",
cabinetName: ""
}; };
describe("酒格功能测试", () => describe("酒格功能测试", () =>

@ -84,7 +84,7 @@ export class DrawDoorTool
let doorInfos = this.doorInfos; let doorInfos = this.doorInfos;
//全部的模板id //全部的模板id
let tempIds: Set<string> = new Set(); let tempIds: Map<string, string> = new Map();
for (let info of doorInfos) for (let info of doorInfos)
{ {
@ -93,7 +93,7 @@ export class DrawDoorTool
{ {
if (info.tempInfo.hasOwnProperty(tempKey) && info.tempInfo[tempKey].id) if (info.tempInfo.hasOwnProperty(tempKey) && info.tempInfo[tempKey].id)
{ {
tempIds.add(info.tempInfo[tempKey].id); tempIds.set(tempKey, info.tempInfo[tempKey].id);
} }
} }
@ -103,7 +103,7 @@ export class DrawDoorTool
this.surroundOption = spaceParse.Boards.length > 0 ? spaceParse.Boards[0].BoardProcessOption : undefined; this.surroundOption = spaceParse.Boards.length > 0 ? spaceParse.Boards[0].BoardProcessOption : undefined;
for (let id of [...tempIds]) for (let [tempKey, id] of tempIds)
{ {
let temp = await GetOnlineTemplate(id); let temp = await GetOnlineTemplate(id);
if (!temp) continue; if (!temp) continue;
@ -135,7 +135,7 @@ export class DrawDoorTool
{ {
en.HardwareOption[EBoardKeyList.RoomName] = this.surroundOption[EBoardKeyList.RoomName]; en.HardwareOption[EBoardKeyList.RoomName] = this.surroundOption[EBoardKeyList.RoomName];
en.HardwareOption[EBoardKeyList.CabinetName] = this.surroundOption[EBoardKeyList.CabinetName]; en.HardwareOption[EBoardKeyList.CabinetName] = this.surroundOption[EBoardKeyList.CabinetName];
if (this.option.isModifyHardwareMaterial) if (this.option.isModifyHardwareMaterial && tempKey === "temp")
{ {
en.HardwareOption[EBoardKeyList.Mat] = this.surroundOption[EBoardKeyList.Mat]; en.HardwareOption[EBoardKeyList.Mat] = this.surroundOption[EBoardKeyList.Mat];
en.HardwareOption[EBoardKeyList.Color] = this.surroundOption[EBoardKeyList.Color]; en.HardwareOption[EBoardKeyList.Color] = this.surroundOption[EBoardKeyList.Color];
@ -144,6 +144,31 @@ export class DrawDoorTool
} }
} }
} }
else
{
const { roomName, cabinetName, boardMatName, material, color } = option;
for (let en of ens)
{
if (en instanceof Board)
{
en.BoardProcessOption[EBoardKeyList.RoomName] = roomName;
en.BoardProcessOption[EBoardKeyList.CabinetName] = cabinetName;
en.BoardProcessOption[EBoardKeyList.Mat] = material;
en.BoardProcessOption[EBoardKeyList.BrMat] = boardMatName;
en.BoardProcessOption[EBoardKeyList.Color] = color;
}
else if (en instanceof HardwareCompositeEntity)
{
en.HardwareOption[EBoardKeyList.RoomName] = roomName;
en.HardwareOption[EBoardKeyList.CabinetName] = cabinetName;
if (this.option.isModifyHardwareMaterial && tempKey === "temp")
{
en.HardwareOption[EBoardKeyList.Mat] = material;
en.HardwareOption[EBoardKeyList.Color] = color;
}
}
}
}
this._idTempMap.set(id, temp); this._idTempMap.set(id, temp);
} }
@ -820,13 +845,25 @@ export class DrawDoorTool
br.BoardProcessOption.backDrill = false; br.BoardProcessOption.backDrill = false;
} }
if (this.surroundOption && this.option.useBoardProcessOption) if (this.option.useBoardProcessOption)
{
if (this.surroundOption)
{
br.BoardProcessOption[EBoardKeyList.RoomName] = this.surroundOption[EBoardKeyList.RoomName];
br.BoardProcessOption[EBoardKeyList.CabinetName] = this.surroundOption[EBoardKeyList.CabinetName];
br.BoardProcessOption[EBoardKeyList.Mat] = this.surroundOption[EBoardKeyList.Mat];
br.BoardProcessOption[EBoardKeyList.BrMat] = this.surroundOption[EBoardKeyList.BrMat];
br.BoardProcessOption[EBoardKeyList.Color] = this.surroundOption[EBoardKeyList.Color];
}
}
else
{ {
br.BoardProcessOption[EBoardKeyList.RoomName] = this.surroundOption[EBoardKeyList.RoomName]; const { roomName, cabinetName, boardMatName, material, color } = this.option;
br.BoardProcessOption[EBoardKeyList.CabinetName] = this.surroundOption[EBoardKeyList.CabinetName]; br.BoardProcessOption[EBoardKeyList.RoomName] = roomName;
br.BoardProcessOption[EBoardKeyList.Mat] = this.surroundOption[EBoardKeyList.Mat]; br.BoardProcessOption[EBoardKeyList.CabinetName] = cabinetName;
br.BoardProcessOption[EBoardKeyList.BrMat] = this.surroundOption[EBoardKeyList.BrMat]; br.BoardProcessOption[EBoardKeyList.Mat] = material;
br.BoardProcessOption[EBoardKeyList.Color] = this.surroundOption[EBoardKeyList.Color]; br.BoardProcessOption[EBoardKeyList.BrMat] = boardMatName;
br.BoardProcessOption[EBoardKeyList.Color] = color;
} }
br.Name = br.Name =
info.openDir === DoorOpenDir.None ? "门板" : info.openDir === DoorOpenDir.None ? "门板" :

@ -74,13 +74,25 @@ export class DrawLeftRightOpenDoor extends DrawDoorTool
en.BoardProcessOption.drillType = DrillType.More; en.BoardProcessOption.drillType = DrillType.More;
else if (drillSet.size === 1) else if (drillSet.size === 1)
en.BoardProcessOption.drillType = en.BoardProcessOption.highDrill[0]; en.BoardProcessOption.drillType = en.BoardProcessOption.highDrill[0];
if (this.surroundOption && useBoardProcessOption) if (useBoardProcessOption)
{ {
en.BoardProcessOption[EBoardKeyList.RoomName] = this.surroundOption[EBoardKeyList.RoomName]; if (this.surroundOption)
en.BoardProcessOption[EBoardKeyList.CabinetName] = this.surroundOption[EBoardKeyList.CabinetName]; {
en.BoardProcessOption[EBoardKeyList.Mat] = this.surroundOption[EBoardKeyList.Mat]; en.BoardProcessOption[EBoardKeyList.RoomName] = this.surroundOption[EBoardKeyList.RoomName];
en.BoardProcessOption[EBoardKeyList.BrMat] = this.surroundOption[EBoardKeyList.BrMat]; en.BoardProcessOption[EBoardKeyList.CabinetName] = this.surroundOption[EBoardKeyList.CabinetName];
en.BoardProcessOption[EBoardKeyList.Color] = this.surroundOption[EBoardKeyList.Color]; en.BoardProcessOption[EBoardKeyList.Mat] = this.surroundOption[EBoardKeyList.Mat];
en.BoardProcessOption[EBoardKeyList.BrMat] = this.surroundOption[EBoardKeyList.BrMat];
en.BoardProcessOption[EBoardKeyList.Color] = this.surroundOption[EBoardKeyList.Color];
}
}
else
{
const { roomName, cabinetName, boardMatName, material, color } = this.option;
en.BoardProcessOption[EBoardKeyList.RoomName] = roomName;
en.BoardProcessOption[EBoardKeyList.CabinetName] = cabinetName;
en.BoardProcessOption[EBoardKeyList.Mat] = material;
en.BoardProcessOption[EBoardKeyList.BrMat] = boardMatName;
en.BoardProcessOption[EBoardKeyList.Color] = color;
} }
layBoardIds.push(...layTemp.Objects); layBoardIds.push(...layTemp.Objects);
} }
@ -107,13 +119,25 @@ export class DrawLeftRightOpenDoor extends DrawDoorTool
en.BoardProcessOption.drillType = DrillType.More; en.BoardProcessOption.drillType = DrillType.More;
else if (drillSet.size === 1) else if (drillSet.size === 1)
en.BoardProcessOption.drillType = en.BoardProcessOption.highDrill[0]; en.BoardProcessOption.drillType = en.BoardProcessOption.highDrill[0];
if (this.surroundOption && useBoardProcessOption) if (useBoardProcessOption)
{
if (this.surroundOption)
{
en.BoardProcessOption[EBoardKeyList.RoomName] = this.surroundOption[EBoardKeyList.RoomName];
en.BoardProcessOption[EBoardKeyList.CabinetName] = this.surroundOption[EBoardKeyList.CabinetName];
en.BoardProcessOption[EBoardKeyList.Mat] = this.surroundOption[EBoardKeyList.Mat];
en.BoardProcessOption[EBoardKeyList.BrMat] = this.surroundOption[EBoardKeyList.BrMat];
en.BoardProcessOption[EBoardKeyList.Color] = this.surroundOption[EBoardKeyList.Color];
}
}
else
{ {
en.BoardProcessOption[EBoardKeyList.RoomName] = this.surroundOption[EBoardKeyList.RoomName]; const { roomName, cabinetName, boardMatName, material, color } = this.option;
en.BoardProcessOption[EBoardKeyList.CabinetName] = this.surroundOption[EBoardKeyList.CabinetName]; en.BoardProcessOption[EBoardKeyList.RoomName] = roomName;
en.BoardProcessOption[EBoardKeyList.Mat] = this.surroundOption[EBoardKeyList.Mat]; en.BoardProcessOption[EBoardKeyList.CabinetName] = cabinetName;
en.BoardProcessOption[EBoardKeyList.BrMat] = this.surroundOption[EBoardKeyList.BrMat]; en.BoardProcessOption[EBoardKeyList.Mat] = material;
en.BoardProcessOption[EBoardKeyList.Color] = this.surroundOption[EBoardKeyList.Color]; en.BoardProcessOption[EBoardKeyList.BrMat] = boardMatName;
en.BoardProcessOption[EBoardKeyList.Color] = color;
} }
} }
templateSpace.Children.push(verTemp.Id); templateSpace.Children.push(verTemp.Id);

@ -74,13 +74,25 @@ export class DrawUpDownOpenDoor extends DrawDoorTool
en.BoardProcessOption.drillType = DrillType.More; en.BoardProcessOption.drillType = DrillType.More;
else if (drillSet.size === 1) else if (drillSet.size === 1)
en.BoardProcessOption.drillType = en.BoardProcessOption.highDrill[0]; en.BoardProcessOption.drillType = en.BoardProcessOption.highDrill[0];
if (this.surroundOption && useBoardProcessOption) if (useBoardProcessOption)
{ {
en.BoardProcessOption[EBoardKeyList.RoomName] = this.surroundOption[EBoardKeyList.RoomName]; if (this.surroundOption)
en.BoardProcessOption[EBoardKeyList.CabinetName] = this.surroundOption[EBoardKeyList.CabinetName]; {
en.BoardProcessOption[EBoardKeyList.Mat] = this.surroundOption[EBoardKeyList.Mat]; en.BoardProcessOption[EBoardKeyList.RoomName] = this.surroundOption[EBoardKeyList.RoomName];
en.BoardProcessOption[EBoardKeyList.BrMat] = this.surroundOption[EBoardKeyList.BrMat]; en.BoardProcessOption[EBoardKeyList.CabinetName] = this.surroundOption[EBoardKeyList.CabinetName];
en.BoardProcessOption[EBoardKeyList.Color] = this.surroundOption[EBoardKeyList.Color]; en.BoardProcessOption[EBoardKeyList.Mat] = this.surroundOption[EBoardKeyList.Mat];
en.BoardProcessOption[EBoardKeyList.BrMat] = this.surroundOption[EBoardKeyList.BrMat];
en.BoardProcessOption[EBoardKeyList.Color] = this.surroundOption[EBoardKeyList.Color];
}
}
else
{
const { roomName, cabinetName, boardMatName, material, color } = this.option;
en.BoardProcessOption[EBoardKeyList.RoomName] = roomName;
en.BoardProcessOption[EBoardKeyList.CabinetName] = cabinetName;
en.BoardProcessOption[EBoardKeyList.Mat] = material;
en.BoardProcessOption[EBoardKeyList.BrMat] = boardMatName;
en.BoardProcessOption[EBoardKeyList.Color] = color;
} }
verBoardIds.push(...verTemp.Objects); verBoardIds.push(...verTemp.Objects);
} }
@ -108,13 +120,25 @@ export class DrawUpDownOpenDoor extends DrawDoorTool
en.BoardProcessOption.drillType = DrillType.More; en.BoardProcessOption.drillType = DrillType.More;
else if (drillSet.size === 1) else if (drillSet.size === 1)
en.BoardProcessOption.drillType = en.BoardProcessOption.highDrill[0]; en.BoardProcessOption.drillType = en.BoardProcessOption.highDrill[0];
if (this.surroundOption && useBoardProcessOption) if (useBoardProcessOption)
{
if (this.surroundOption)
{
en.BoardProcessOption[EBoardKeyList.RoomName] = this.surroundOption[EBoardKeyList.RoomName];
en.BoardProcessOption[EBoardKeyList.CabinetName] = this.surroundOption[EBoardKeyList.CabinetName];
en.BoardProcessOption[EBoardKeyList.Mat] = this.surroundOption[EBoardKeyList.Mat];
en.BoardProcessOption[EBoardKeyList.BrMat] = this.surroundOption[EBoardKeyList.BrMat];
en.BoardProcessOption[EBoardKeyList.Color] = this.surroundOption[EBoardKeyList.Color];
}
}
else
{ {
en.BoardProcessOption[EBoardKeyList.RoomName] = this.surroundOption[EBoardKeyList.RoomName]; const { roomName, cabinetName, boardMatName, material, color } = this.option;
en.BoardProcessOption[EBoardKeyList.CabinetName] = this.surroundOption[EBoardKeyList.CabinetName]; en.BoardProcessOption[EBoardKeyList.RoomName] = roomName;
en.BoardProcessOption[EBoardKeyList.Mat] = this.surroundOption[EBoardKeyList.Mat]; en.BoardProcessOption[EBoardKeyList.CabinetName] = cabinetName;
en.BoardProcessOption[EBoardKeyList.BrMat] = this.surroundOption[EBoardKeyList.BrMat]; en.BoardProcessOption[EBoardKeyList.Mat] = material;
en.BoardProcessOption[EBoardKeyList.Color] = this.surroundOption[EBoardKeyList.Color]; en.BoardProcessOption[EBoardKeyList.BrMat] = boardMatName;
en.BoardProcessOption[EBoardKeyList.Color] = color;
} }
} }
templateSpace.Children.push(layerTemp.Id); templateSpace.Children.push(layerTemp.Id);

@ -101,28 +101,48 @@ export class DrawDrawrer implements Command
continue; continue;
} }
let ens = temp.Db.ModelSpace.Entitys; let ens = temp.Db.ModelSpace.Entitys;
if (surroundOption && store.m_Option.useBoardProcessOption) if (store.m_Option.useBoardProcessOption)
{
if (surroundOption)
{
for (let en of ens)
{
if (en instanceof Board)
{
en.BoardProcessOption[EBoardKeyList.RoomName] = surroundOption[EBoardKeyList.RoomName];
en.BoardProcessOption[EBoardKeyList.CabinetName] = surroundOption[EBoardKeyList.CabinetName];
en.BoardProcessOption[EBoardKeyList.Mat] = surroundOption[EBoardKeyList.Mat];
en.BoardProcessOption[EBoardKeyList.BrMat] = surroundOption[EBoardKeyList.BrMat];
en.BoardProcessOption[EBoardKeyList.Color] = surroundOption[EBoardKeyList.Color];
}
else if (en instanceof HardwareCompositeEntity)
{
en.HardwareOption[EBoardKeyList.RoomName] = surroundOption[EBoardKeyList.RoomName];
en.HardwareOption[EBoardKeyList.CabinetName] = surroundOption[EBoardKeyList.CabinetName];
}
}
}
}
else
{
const { roomName, cabinetName, boardMatName, material, color } = store.m_Option;
for (let en of ens) for (let en of ens)
{ {
if (en instanceof Board) if (en instanceof Board)
{ {
en.BoardProcessOption[EBoardKeyList.RoomName] = surroundOption[EBoardKeyList.RoomName]; en.BoardProcessOption[EBoardKeyList.RoomName] = roomName;
en.BoardProcessOption[EBoardKeyList.CabinetName] = surroundOption[EBoardKeyList.CabinetName]; en.BoardProcessOption[EBoardKeyList.CabinetName] = cabinetName;
en.BoardProcessOption[EBoardKeyList.Mat] = surroundOption[EBoardKeyList.Mat]; en.BoardProcessOption[EBoardKeyList.Mat] = material;
en.BoardProcessOption[EBoardKeyList.BrMat] = surroundOption[EBoardKeyList.BrMat]; en.BoardProcessOption[EBoardKeyList.BrMat] = boardMatName;
en.BoardProcessOption[EBoardKeyList.Color] = surroundOption[EBoardKeyList.Color]; en.BoardProcessOption[EBoardKeyList.Color] = color;
} }
else if (en instanceof HardwareCompositeEntity) else if (en instanceof HardwareCompositeEntity)
{ {
en.HardwareOption[EBoardKeyList.RoomName] = surroundOption[EBoardKeyList.RoomName]; en.HardwareOption[EBoardKeyList.RoomName] = roomName;
en.HardwareOption[EBoardKeyList.CabinetName] = surroundOption[EBoardKeyList.CabinetName]; en.HardwareOption[EBoardKeyList.CabinetName] = cabinetName;
if (store.m_Option.isModifyHardwareMaterial)
{
en.HardwareOption[EBoardKeyList.Mat] = surroundOption[EBoardKeyList.Mat];
en.HardwareOption[EBoardKeyList.Color] = surroundOption[EBoardKeyList.Color];
}
} }
} }
}
idTempMap.set(id, temp); idTempMap.set(id, temp);
} }
@ -206,14 +226,26 @@ export class DrawDrawrer implements Command
{ {
let verTemp = this.GetVerticalTemp(size.z, size.y - offset, store.m_Option); let verTemp = this.GetVerticalTemp(size.z, size.y - offset, store.m_Option);
vertialsBoards.push(verTemp.Objects[0].Object as Board); vertialsBoards.push(verTemp.Objects[0].Object as Board);
if (surroundOption && store.m_Option.useBoardProcessOption) let en = verTemp.Objects[0].Object as Board;
if (store.m_Option.useBoardProcessOption)
{
if (surroundOption)
{
en.BoardProcessOption[EBoardKeyList.RoomName] = surroundOption[EBoardKeyList.RoomName];
en.BoardProcessOption[EBoardKeyList.CabinetName] = surroundOption[EBoardKeyList.CabinetName];
en.BoardProcessOption[EBoardKeyList.Mat] = surroundOption[EBoardKeyList.Mat];
en.BoardProcessOption[EBoardKeyList.BrMat] = surroundOption[EBoardKeyList.BrMat];
en.BoardProcessOption[EBoardKeyList.Color] = surroundOption[EBoardKeyList.Color];
}
}
else
{ {
let en = verTemp.Objects[0].Object as Board; const { roomName, cabinetName, boardMatName, material, color } = store.m_Option;
en.BoardProcessOption[EBoardKeyList.RoomName] = surroundOption[EBoardKeyList.RoomName]; en.BoardProcessOption[EBoardKeyList.RoomName] = roomName;
en.BoardProcessOption[EBoardKeyList.CabinetName] = surroundOption[EBoardKeyList.CabinetName]; en.BoardProcessOption[EBoardKeyList.CabinetName] = cabinetName;
en.BoardProcessOption[EBoardKeyList.Mat] = surroundOption[EBoardKeyList.Mat]; en.BoardProcessOption[EBoardKeyList.Mat] = material;
en.BoardProcessOption[EBoardKeyList.BrMat] = surroundOption[EBoardKeyList.BrMat]; en.BoardProcessOption[EBoardKeyList.BrMat] = boardMatName;
en.BoardProcessOption[EBoardKeyList.Color] = surroundOption[EBoardKeyList.Color]; en.BoardProcessOption[EBoardKeyList.Color] = color;
} }
templateSpace.Children.push(verTemp.Id); templateSpace.Children.push(verTemp.Id);
} }

@ -46,14 +46,26 @@ export class DrawWineRackTool extends Singleton
protected GetBoardProcessOption(br: Board) protected GetBoardProcessOption(br: Board)
{ {
//获取空间周围的板件数据 //获取空间周围的板件数据
if (this.space.Boards.length > 0 && this._config.useBoardProcessOption) if (this._config.useBoardProcessOption)
{ {
let refProcessData = this.space.Boards[0].BoardProcessOption; if (this.space.Boards.length > 0)
br.BoardProcessOption[EBoardKeyList.RoomName] = refProcessData[EBoardKeyList.RoomName]; {
br.BoardProcessOption[EBoardKeyList.CabinetName] = refProcessData[EBoardKeyList.CabinetName]; let refProcessData = this.space.Boards[0].BoardProcessOption;
br.BoardProcessOption[EBoardKeyList.Mat] = refProcessData[EBoardKeyList.Mat]; br.BoardProcessOption[EBoardKeyList.RoomName] = refProcessData[EBoardKeyList.RoomName];
br.BoardProcessOption[EBoardKeyList.BrMat] = refProcessData[EBoardKeyList.BrMat]; br.BoardProcessOption[EBoardKeyList.CabinetName] = refProcessData[EBoardKeyList.CabinetName];
br.BoardProcessOption[EBoardKeyList.Color] = refProcessData[EBoardKeyList.Color]; br.BoardProcessOption[EBoardKeyList.Mat] = refProcessData[EBoardKeyList.Mat];
br.BoardProcessOption[EBoardKeyList.BrMat] = refProcessData[EBoardKeyList.BrMat];
br.BoardProcessOption[EBoardKeyList.Color] = refProcessData[EBoardKeyList.Color];
}
}
else
{
const { roomName, cabinetName, boardMatName, material, color } = this._config;
br.BoardProcessOption[EBoardKeyList.RoomName] = roomName;
br.BoardProcessOption[EBoardKeyList.CabinetName] = cabinetName;
br.BoardProcessOption[EBoardKeyList.Mat] = material;
br.BoardProcessOption[EBoardKeyList.BrMat] = boardMatName;
br.BoardProcessOption[EBoardKeyList.Color] = color;
} }
} }
/**分析高级封边数据 */ /**分析高级封边数据 */

@ -1,4 +1,4 @@
import { Button, Card, H5, Intent } from '@blueprintjs/core'; import { Button, Card, Checkbox, H5, Intent } from '@blueprintjs/core';
import { observer } from 'mobx-react'; import { observer } from 'mobx-react';
import React, { Component } from 'react'; import React, { Component } from 'react';
import { begin } from 'xaop'; import { begin } from 'xaop';
@ -6,7 +6,7 @@ import { app } from '../../../ApplicationServices/Application';
import { CheckObjectType } from '../../../Common/CheckoutVaildValue'; import { CheckObjectType } from '../../../Common/CheckoutVaildValue';
import { CommandNames } from '../../../Common/CommandNames'; import { CommandNames } from '../../../Common/CommandNames';
import { KeyBoard } from '../../../Common/KeyEnum'; import { KeyBoard } from '../../../Common/KeyEnum';
import { Input5Or4Component, Notes, SetBoardDataBlock } from '../../../UI/Components/Board/BoardCommon'; import { Input5Or4Component, Notes, RoomAndBoardMaterialInfo, SetBoardDataBlock } from '../../../UI/Components/Board/BoardCommon';
import { BoardModalType } from "../../../UI/Components/Board/BoardModalType"; import { BoardModalType } from "../../../UI/Components/Board/BoardModalType";
import { Config_ModalType } from '../../../UI/Components/Board/UserConfigComponent'; import { Config_ModalType } from '../../../UI/Components/Board/UserConfigComponent';
import { CommonModal } from '../../../UI/Components/Modal/ModalContainer'; import { CommonModal } from '../../../UI/Components/Modal/ModalContainer';
@ -92,6 +92,15 @@ export class R2b2Panel extends Component<{ store: R2B2Store; }>
option={store.option} option={store.option}
uiOption={store.UIOption} uiOption={store.UIOption}
/> />
<Checkbox
checked={store.option.useBoardProcessOption}
label="使用周围的板件数据"
onChange={() => { store.OnHandleUseBoardProcessOptionChange(); }}
/>
<RoomAndBoardMaterialInfo
data={store.option}
vertical={true}
/>
<H5></H5> <H5></H5>
<SelectDrillType <SelectDrillType
option={store.option} option={store.option}

@ -1,4 +1,4 @@
import { observable, toJS } from "mobx"; import { action, observable, toJS } from "mobx";
import { begin } from "xaop"; import { begin } from "xaop";
import { CheckObjectType, CheckoutValid } from "../../Common/CheckoutVaildValue"; import { CheckObjectType, CheckoutValid } from "../../Common/CheckoutVaildValue";
import { DataAdapter } from "../../Common/DataAdapter"; import { DataAdapter } from "../../Common/DataAdapter";
@ -51,6 +51,15 @@ export class R2B2Store implements IConfigStore
} }
UpdateOption(conf: IConfigOption<IRect2Br2Option>) UpdateOption(conf: IConfigOption<IRect2Br2Option>)
{ {
if (conf.option.version < 2)
{
conf.option.version = 2;
conf.option.boardMatName = DefaultR2b2Option.boardMatName;
conf.option.material = DefaultR2b2Option.material;
conf.option.color = DefaultR2b2Option.color;
conf.option.roomName = DefaultR2b2Option.roomName;
conf.option.cabinetName = DefaultR2b2Option.cabinetName;
}
Object.assign(this.option, conf.option); Object.assign(this.option, conf.option);
if (this.uiOption) if (this.uiOption)
Object.assign(this.uiOption, DataAdapter.ConvertUIData(conf.option)); Object.assign(this.uiOption, DataAdapter.ConvertUIData(conf.option));
@ -60,6 +69,11 @@ export class R2B2Store implements IConfigStore
{ {
return CheckoutValid.HasInvailValue(this.UIOption, CheckObjectType.R2B); return CheckoutValid.HasInvailValue(this.UIOption, CheckObjectType.R2B);
} }
@action
OnHandleUseBoardProcessOptionChange()
{
this.option.useBoardProcessOption = !this.option.useBoardProcessOption;
}
} }
export const r2b2Store = new R2B2Store(); export const r2b2Store = new R2B2Store();

@ -101,4 +101,10 @@ export interface IRect2Br2Option extends IBaseOption
[EBoardKeyList.LeftSealed]: string; [EBoardKeyList.LeftSealed]: string;
[EBoardKeyList.RightSealed]: string; [EBoardKeyList.RightSealed]: string;
remarks: [string, string][]; remarks: [string, string][];
useBoardProcessOption?: boolean; //使用周围的板件数据
boardMatName: string;//板材名
material: string;//材料
color: string;//颜色
roomName: string;//房名
cabinetName: string;//柜名
} }

@ -111,11 +111,32 @@ class Rect2BoardTool2
const size = spaceParse.Size; const size = spaceParse.Size;
const depth = safeEval(option.depthExpr, { L: size.x, W: size.y, H: size.z }); const depth = safeEval(option.depthExpr, { L: size.x, W: size.y, H: size.z });
const brs = this.DrawBoard([pl], depth);
totalBrs.push(...this.DrawBoard([pl], depth)); for (const br of brs)
{
if (option.useBoardProcessOption)
{
if (spaceParse.Boards.length)
{
br.BoardProcessOption[EBoardKeyList.CabinetName] = spaceParse.Boards[0].BoardProcessOption[EBoardKeyList.CabinetName];
br.BoardProcessOption[EBoardKeyList.RoomName] = spaceParse.Boards[0].BoardProcessOption[EBoardKeyList.RoomName];
br.BoardProcessOption[EBoardKeyList.Mat] = spaceParse.Boards[0].BoardProcessOption[EBoardKeyList.Mat];
br.BoardProcessOption[EBoardKeyList.BrMat] = spaceParse.Boards[0].BoardProcessOption[EBoardKeyList.BrMat];
br.BoardProcessOption[EBoardKeyList.Color] = spaceParse.Boards[0].BoardProcessOption[EBoardKeyList.Color];
}
}
else
{
const { roomName, cabinetName, boardMatName, material, color } = option;
br.BoardProcessOption[EBoardKeyList.RoomName] = roomName;
br.BoardProcessOption[EBoardKeyList.CabinetName] = cabinetName;
br.BoardProcessOption[EBoardKeyList.Mat] = material;
br.BoardProcessOption[EBoardKeyList.BrMat] = boardMatName;
br.BoardProcessOption[EBoardKeyList.Color] = color;
}
app.Database.ModelSpace.Append(br);
}
} }
totalBrs.forEach(b => app.Database.ModelSpace.Append(b));
} }
/** /**

@ -615,6 +615,12 @@ export namespace CheckoutValid
return "数值必须大于0"; return "数值必须大于0";
case "followNarrow"://这是个布尔值 不校验它. case "followNarrow"://这是个布尔值 不校验它.
return ""; return "";
case "boardMatName":
case "material":
case "color":
case "roomName":
case "cabinetName":
return "";
default: default:
if (!isNum(v)) if (!isNum(v))
{ {
@ -651,9 +657,12 @@ export namespace CheckoutValid
if (safeEval(v) < 0) if (safeEval(v) < 0)
return "数值不能小于0"; return "数值不能小于0";
return ""; return "";
default: case "downDist":
case "space":
case "grooveAddWidth":
if (!(isNum(v))) if (!(isNum(v)))
return "数值不能为空且必须为数字"; return "数值不能为空且必须为数字";
default:
return ""; return "";
} }
} }

@ -54,15 +54,27 @@ export class TemplateLatticeRecord extends TemplateRecord
let nbrs = tool.Draw(space, this.Option); let nbrs = tool.Draw(space, this.Option);
if (sbrs.length > 0 && this.option.useBoardProcessOption) for (let br of nbrs)
{ {
for (let br of nbrs) if (this.option.useBoardProcessOption)
{ {
br.BoardProcessOption[EBoardKeyList.CabinetName] = sbrs[0].BoardProcessOption[EBoardKeyList.CabinetName]; if (sbrs.length)
br.BoardProcessOption[EBoardKeyList.RoomName] = sbrs[0].BoardProcessOption[EBoardKeyList.RoomName]; {
br.BoardProcessOption[EBoardKeyList.Mat] = sbrs[0].BoardProcessOption[EBoardKeyList.Mat]; br.BoardProcessOption[EBoardKeyList.CabinetName] = sbrs[0].BoardProcessOption[EBoardKeyList.CabinetName];
br.BoardProcessOption[EBoardKeyList.BrMat] = sbrs[0].BoardProcessOption[EBoardKeyList.BrMat]; br.BoardProcessOption[EBoardKeyList.RoomName] = sbrs[0].BoardProcessOption[EBoardKeyList.RoomName];
br.BoardProcessOption[EBoardKeyList.Color] = sbrs[0].BoardProcessOption[EBoardKeyList.Color]; br.BoardProcessOption[EBoardKeyList.Mat] = sbrs[0].BoardProcessOption[EBoardKeyList.Mat];
br.BoardProcessOption[EBoardKeyList.BrMat] = sbrs[0].BoardProcessOption[EBoardKeyList.BrMat];
br.BoardProcessOption[EBoardKeyList.Color] = sbrs[0].BoardProcessOption[EBoardKeyList.Color];
}
}
else
{
const { roomName, cabinetName, boardMatName, material, color } = this.option;
br.BoardProcessOption[EBoardKeyList.RoomName] = roomName;
br.BoardProcessOption[EBoardKeyList.CabinetName] = cabinetName;
br.BoardProcessOption[EBoardKeyList.Mat] = material;
br.BoardProcessOption[EBoardKeyList.BrMat] = boardMatName;
br.BoardProcessOption[EBoardKeyList.Color] = color;
} }
} }
@ -125,11 +137,19 @@ export class TemplateLatticeRecord extends TemplateRecord
{ {
this.option.useBoardProcessOption = file.Read(); this.option.useBoardProcessOption = file.Read();
} }
if (ver > 3)
{
this.option.boardMatName = file.Read();
this.option.material = file.Read();
this.option.color = file.Read();
this.option.roomName = file.Read();
this.option.cabinetName = file.Read();
}
} }
//对象将自身数据写入到文件. //对象将自身数据写入到文件.
WriteFile(file: CADFiler) WriteFile(file: CADFiler)
{ {
file.Write(3); file.Write(4);
super.WriteFile(file); super.WriteFile(file);
file.Write(this.option.arrayType); file.Write(this.option.arrayType);
file.Write(this.option.gripWidth); file.Write(this.option.gripWidth);
@ -157,6 +177,12 @@ export class TemplateLatticeRecord extends TemplateRecord
file.Write(this.option.linesType); file.Write(this.option.linesType);
file.Write(this.option.useBoardProcessOption); file.Write(this.option.useBoardProcessOption);
file.Write(this.option.boardMatName);
file.Write(this.option.material);
file.Write(this.option.color);
file.Write(this.option.roomName);
file.Write(this.option.cabinetName);
} }
//#endregion //#endregion
} }

@ -123,11 +123,19 @@ export class TemplateWineRackRecord extends TemplateRecord
if (ver > 2) if (ver > 2)
this.option.wineRackStyle = file.Read(); this.option.wineRackStyle = file.Read();
if (ver > 3)
{
this.option.boardMatName = file.Read();
this.option.material = file.Read();
this.option.color = file.Read();
this.option.roomName = file.Read();
this.option.cabinetName = file.Read();
}
} }
//对象将自身数据写入到文件. //对象将自身数据写入到文件.
WriteFile(file: CADFiler) WriteFile(file: CADFiler)
{ {
file.Write(3); file.Write(4);
super.WriteFile(file); super.WriteFile(file);
file.Write(this.option.type); file.Write(this.option.type);
file.Write(this.option.arrayType); file.Write(this.option.arrayType);
@ -161,6 +169,12 @@ export class TemplateWineRackRecord extends TemplateRecord
file.Write(this.option.followNarrow); file.Write(this.option.followNarrow);
file.Write(this.option.wineRackStyle); file.Write(this.option.wineRackStyle);
file.Write(this.option.boardMatName);
file.Write(this.option.material);
file.Write(this.option.color);
file.Write(this.option.roomName);
file.Write(this.option.cabinetName);
} }
//#endregion //#endregion
} }

@ -85,7 +85,7 @@ export const DefaultBehindBoardConfig: BehindBoardOption = {
Object.freeze(DefaultBehindBoardConfig); Object.freeze(DefaultBehindBoardConfig);
export const DefaultWineRackConfig: IWineRackOption = { export const DefaultWineRackConfig: IWineRackOption = {
version: 5, version: 6,
type: EWineRackType.Oblique, type: EWineRackType.Oblique,
wineRackStyle: EWineRackStyle.WholeLattice, wineRackStyle: EWineRackStyle.WholeLattice,
arrayType: EWRackArrayType.ByWidth, arrayType: EWRackArrayType.ByWidth,
@ -115,7 +115,12 @@ export const DefaultWineRackConfig: IWineRackOption = {
brThick2: 18, brThick2: 18,
isExtendsBH2: false, isExtendsBH2: false,
followNarrow: false, followNarrow: false,
useBoardProcessOption: true useBoardProcessOption: true,
boardMatName: "",//板材名
material: "",//材料
color: "",//颜色
roomName: "",//房名
cabinetName: "",//柜名
}; };
Object.freeze(DefaultWineRackConfig); Object.freeze(DefaultWineRackConfig);
@ -422,7 +427,7 @@ export const DefaultBoardFindOption: IBoardFindOption = {
Object.freeze(DefaultBoardFindOption); Object.freeze(DefaultBoardFindOption);
export const DefaultLatticOption: ILatticeOption = { export const DefaultLatticOption: ILatticeOption = {
version: 3, version: 4,
arrayType: ELatticeArrayType.ByWidth, arrayType: ELatticeArrayType.ByWidth,
gripWidth: 100, gripWidth: 100,
gripDepth: 100, gripDepth: 100,
@ -445,11 +450,16 @@ export const DefaultLatticOption: ILatticeOption = {
downCut: 4, downCut: 4,
linesType: LinesType.Reverse, linesType: LinesType.Reverse,
useBoardProcessOption: true, useBoardProcessOption: true,
boardMatName: "",//板材名
material: "",//材料
color: "",//颜色
roomName: "",//房名
cabinetName: "",//柜名
}; };
Object.freeze(DefaultLatticOption); Object.freeze(DefaultLatticOption);
export const DefaultDoorOption: IDoorConfigOption = { export const DefaultDoorOption: IDoorConfigOption = {
version: 9, version: 10,
col: 2, col: 2,
row: 1, row: 1,
isAllSelect: true, isAllSelect: true,
@ -502,7 +512,12 @@ export const DefaultDoorOption: IDoorConfigOption = {
lbHightDrillOption: { up: "", down: "", left: "", right: "" }, lbHightDrillOption: { up: "", down: "", left: "", right: "" },
useBoardProcessOption: true, useBoardProcessOption: true,
isModifyHardwareMaterial: false, isModifyHardwareMaterial: false,
deviation: 100 //偏移量 deviation: 100,//偏移量
boardMatName: "",//板材名
material: "",//材料
color: "",//颜色
roomName: "",//房名
cabinetName: "",//柜名
}; };
Object.freeze(DefaultDoorOption); Object.freeze(DefaultDoorOption);
export const DefaultHingeOption: IHingeConfigOption = { export const DefaultHingeOption: IHingeConfigOption = {
@ -514,7 +529,7 @@ export const DefaultHingeOption: IHingeConfigOption = {
}; };
Object.freeze(DefaultHingeOption); Object.freeze(DefaultHingeOption);
export const DefaultDrawerOption: IDrawerConfigOption = { export const DefaultDrawerOption: IDrawerConfigOption = {
version: 8, version: 9,
col: 1, col: 1,
row: 1, row: 1,
isAllSelect: true, isAllSelect: true,
@ -556,6 +571,11 @@ export const DefaultDrawerOption: IDrawerConfigOption = {
lbHightDrillOption: { up: "", down: "", left: "", right: "" }, lbHightDrillOption: { up: "", down: "", left: "", right: "" },
useBoardProcessOption: true, useBoardProcessOption: true,
isModifyHardwareMaterial: false, isModifyHardwareMaterial: false,
boardMatName: "",//板材名
material: "",//材料
color: "",//颜色
roomName: "",//房名
cabinetName: "",//柜名
}; };
Object.freeze(DefaultDrawerOption); Object.freeze(DefaultDrawerOption);
@ -602,7 +622,12 @@ export const DefaultLatticeConfig: ILatticeOption = {
upCut: 0, upCut: 0,
downCut: 4, downCut: 4,
linesType: LinesType.Reverse, linesType: LinesType.Reverse,
useBoardProcessOption: true useBoardProcessOption: true,
boardMatName: "",//板材名
material: "",//材料
color: "",//颜色
roomName: "",//房名
cabinetName: "",//柜名
}; };
Object.freeze(DefaultLatticeConfig); Object.freeze(DefaultLatticeConfig);
@ -903,7 +928,7 @@ export const DefaultR2bOption: IRec2BrOption = {
}; };
Object.freeze(DefaultR2bOption); Object.freeze(DefaultR2bOption);
export const DefaultR2b2Option: IRect2Br2Option = { export const DefaultR2b2Option: IRect2Br2Option = {
version: 1, version: 2,
depthExpr: "W", depthExpr: "W",
drillType: "", drillType: "",
sealedDown: "1", sealedDown: "1",
@ -914,6 +939,12 @@ export const DefaultR2b2Option: IRect2Br2Option = {
maxThickness: 20, maxThickness: 20,
layerShrink: 0, layerShrink: 0,
vertialShrink: 0, vertialShrink: 0,
useBoardProcessOption: true,
boardMatName: "",//板材名
material: "",//材料
color: "",//颜色
roomName: "",//房名
cabinetName: "",//柜名
}; };
Object.freeze(DefaultR2b2Option); Object.freeze(DefaultR2b2Option);

@ -2,6 +2,7 @@ import { Button, Checkbox, Classes, HTMLSelect, Label, Position, Radio, RadioGro
import { observable } from 'mobx'; import { observable } from 'mobx';
import { observer } from 'mobx-react'; import { observer } from 'mobx-react';
import * as React from 'react'; import * as React from 'react';
import { useRef } from 'react';
import { DrillType } from "../../../Add-on/DrawDrilling/DrillType"; import { DrillType } from "../../../Add-on/DrawDrilling/DrillType";
import { app } from '../../../ApplicationServices/Application'; import { app } from '../../../ApplicationServices/Application';
import { EBoardKeyList } from '../../../Common/BoardKeyList'; import { EBoardKeyList } from '../../../Common/BoardKeyList';
@ -14,6 +15,8 @@ import { BoardOpenDir, BoardType, BrRelativePos } from '../../../DatabaseService
import { PromptStatus } from '../../../Editor/PromptResult'; import { PromptStatus } from '../../../Editor/PromptResult';
import { TempEditor } from '../../../Editor/TempEditor'; import { TempEditor } from '../../../Editor/TempEditor';
import { userConfig } from '../../../Editor/UserConfig'; import { userConfig } from '../../../Editor/UserConfig';
import { IGoodInfo } from '../../MaterialEditor/GoodsList';
import { GoodsListDiv } from '../../MaterialEditor/GoodsListDiv';
import { BoardProcessOption } from "../../Store/OptionInterface/BoardProcessOption"; import { BoardProcessOption } from "../../Store/OptionInterface/BoardProcessOption";
import { AnyObject, BoardConfigOption, IBaseOption, IDrawBoardAutoCutOption, IHightDrillOption, IUiOption, TBBoardOption } from "../../Store/OptionInterface/IOptionInterface"; import { AnyObject, BoardConfigOption, IBaseOption, IDrawBoardAutoCutOption, IHightDrillOption, IUiOption, TBBoardOption } from "../../Store/OptionInterface/IOptionInterface";
import { RightPanelStore } from '../../Store/RightPanelStore/RightPanelStore'; import { RightPanelStore } from '../../Store/RightPanelStore/RightPanelStore';
@ -865,6 +868,91 @@ interface IAutoCutCheckboxProps
isFlex?: boolean; isFlex?: boolean;
onChangeCallback?: () => void; onChangeCallback?: () => void;
} }
interface IRoomAndBoardMaterialInfo extends IBoardMaterialInfo
{
data: IBoardMaterialData & {
roomName: string,
cabinetName: string;
};
vertical?: boolean;
}
export const RoomAndBoardMaterialInfo = observer((props: IRoomAndBoardMaterialInfo) =>
{
const { data, vertical } = props;
return (
<div className={vertical ? 'flexCol' : 'flex-between'}>
<div className="room-brmat-info">
<SetBoardDataItem
type={CheckObjectType.BR}
optKey="roomName"
option={data}
title="房间名"
placeHolder="输入房间名"
/>
<SetBoardDataItem
type={CheckObjectType.BR}
optKey="cabinetName"
option={data}
title="柜名"
placeHolder="输入柜名"
/>
</div>
<BoardMaterialInfo
data={data}
/>
</div>
);
});
interface IBoardMaterialData extends IBaseOption
{
boardMatName: string;
material: string;
color: string;
}
interface IBoardMaterialInfo
{
data: IBoardMaterialData;
}
export const BoardMaterialInfo = observer((props: IBoardMaterialInfo) =>
{
const { data } = props;
const showShopsRef = useRef(observable.box(false));
const matPars = [
["boardMatName", "板材名"], ["material", "材料"], ["color", "颜色"]
];
const selectGoods = (good: IGoodInfo) =>
{
data.boardMatName = good.name;
data.material = good.material;
data.color = good.color;
showShopsRef.current.set(false);
};
return (
<div className="flex br-mat brmat-info">
<SetBoardDataBlock
type={CheckObjectType.BR}
pars={matPars}
option={data}
isInline={true}
/>
<button
className="bp3-button bp3-intent-success"
style={{ width: "2rem" }}
onClick={() => { showShopsRef.current.set(true); }}
></button>
{
showShopsRef.current.get() && <GoodsListDiv
open={showShopsRef.current}
select={selectGoods}
/>
}
</div>
);
});
@observer @observer
export class AutoCutCheckbox extends React.Component<IAutoCutCheckboxProps, {}> export class AutoCutCheckbox extends React.Component<IAutoCutCheckboxProps, {}>

@ -168,22 +168,6 @@ export class DoorConfigModal extends React.Component<{ store?: DoorDrawerStore;
/> />
</div> </div>
</div> </div>
<div className='flex'>
<Tooltip content={"使用空间拾取板的房名,柜名,板材名,材料,颜色"}>
<Checkbox
checked={store.m_Option.useBoardProcessOption}
label="使用周围的板件数据"
onChange={() => { store.OnHandleUseBoardProcessOptionChange(); }}
/>
</Tooltip>
<Checkbox
checked={store.m_Option.isModifyHardwareMaterial}
disabled={!store.m_Option.useBoardProcessOption}
label="修改复合实体材料颜色属性"
style={{ marginLeft: 10 }}
onChange={() => { store.OnHandleIsModifyHardwareMaterialChange(); }}
/>
</div>
<Divider /> <Divider />
<div className='flex-between'> <div className='flex-between'>
<SetBoardDataItem <SetBoardDataItem
@ -362,23 +346,6 @@ export class DoorConfigModal extends React.Component<{ store?: DoorDrawerStore;
disabled={store.m_Option.isAuto} disabled={store.m_Option.isAuto}
/> />
</Tooltip> </Tooltip>
<Tooltip content={"使用空间拾取板的房名,柜名,板材名,材料,颜色"}>
<Checkbox
checked={store.m_Option.useBoardProcessOption}
label="使用周围的板件数据"
style={{ marginLeft: 10, marginBottom: 0 }}
onChange={() => { store.OnHandleUseBoardProcessOptionChange(); }}
/>
</Tooltip>
</div>
<div className='flex'>
<Checkbox
checked={store.m_Option.isModifyHardwareMaterial}
disabled={!store.m_Option.useBoardProcessOption}
label="修改复合实体材料颜色属性"
style={{ marginBottom: 0 }}
onChange={() => { store.OnHandleIsModifyHardwareMaterialChange(); }}
/>
</div> </div>
</div> </div>
<Divider /> <Divider />

@ -1,4 +1,4 @@
import { Button, Classes, H5 } from '@blueprintjs/core'; import { Button, Checkbox, Classes, Divider, H5, Tooltip } from '@blueprintjs/core';
import { observable } from 'mobx'; import { observable } from 'mobx';
import { observer } from 'mobx-react'; import { observer } from 'mobx-react';
import * as React from 'react'; import * as React from 'react';
@ -12,6 +12,7 @@ import { DisableChangeParName } from '../../../Store/DoorInterface';
import { ModalState } from '../../Modal/ModalInterface'; import { ModalState } from '../../Modal/ModalInterface';
import { TemplateDetail } from '../../Template/TemplateDetail'; import { TemplateDetail } from '../../Template/TemplateDetail';
import { TemplateSelect } from '../../Template/TemplateSelect'; import { TemplateSelect } from '../../Template/TemplateSelect';
import { RoomAndBoardMaterialInfo } from '../BoardCommon';
import { BoardModalType } from "../BoardModalType"; import { BoardModalType } from "../BoardModalType";
import { Config_ModalType, UserConfigComponent } from '../UserConfigComponent'; import { Config_ModalType, UserConfigComponent } from '../UserConfigComponent';
import { ModalFooter, ModalHeader } from './../../Modal/ModalContainer'; import { ModalFooter, ModalHeader } from './../../Modal/ModalContainer';
@ -92,6 +93,27 @@ export class DoorModal extends React.Component<{ store: DoorDrawerStore, type: B
</div> */} </div> */}
</div> </div>
<div className={Classes.CARD} style={{ minWidth: 350 }}> <div className={Classes.CARD} style={{ minWidth: 350 }}>
<div style={{ marginBottom: 10 }}>
<div className='flex'>
<Tooltip content={"使用空间拾取板的房名,柜名,板材名,材料,颜色"}>
<Checkbox
checked={store.m_Option.useBoardProcessOption}
label="使用周围的板件数据"
onChange={() => { store.OnHandleUseBoardProcessOptionChange(); }}
/>
</Tooltip>
{
isDoor && <Checkbox
checked={store.m_Option.isModifyHardwareMaterial}
label="修改复合实体材料颜色属性"
style={{ marginLeft: 10 }}
onChange={() => { store.OnHandleIsModifyHardwareMaterialChange(); }}
/>
}
</div>
<RoomAndBoardMaterialInfo data={store.m_Option} />
</div>
<Divider />
<DoorPreviewComponent store={this.props.store} /> <DoorPreviewComponent store={this.props.store} />
</div> </div>
<div className={Classes.CARD} style={{ width: 250, overflow: "scroll" }}> <div className={Classes.CARD} style={{ width: 250, overflow: "scroll" }}>

@ -19,7 +19,7 @@ import { WineRackStore } from '../../Store/WineRackStore';
import { GetCompoentObjectIdString } from '../ComponentObjectId'; import { GetCompoentObjectIdString } from '../ComponentObjectId';
import { CommonModal } from '../Modal/ModalContainer'; import { CommonModal } from '../Modal/ModalContainer';
import { AppToaster, ToasterValueError } from '../Toaster'; import { AppToaster, ToasterValueError } from '../Toaster';
import { Input5Or4Component, SetBoardDataBlock, SetBoardDataItem } from './BoardCommon'; import { Input5Or4Component, RoomAndBoardMaterialInfo, SetBoardDataBlock, SetBoardDataItem } from './BoardCommon';
import { BoardModalType } from "./BoardModalType"; import { BoardModalType } from "./BoardModalType";
import { Config_ModalType } from './UserConfigComponent'; import { Config_ModalType } from './UserConfigComponent';
@ -201,7 +201,11 @@ export class WineRackModal extends React.Component<{ store?: WineRackStore; }, {
label="使用周围的板件数据" label="使用周围的板件数据"
onChange={() => { store.OnHandleUseBoardProcessOptionChange(); }} onChange={() => { store.OnHandleUseBoardProcessOptionChange(); }}
/> />
<div className="flexWrap"> <RoomAndBoardMaterialInfo
data={m_Option}
vertical={true}
/>
<div className="flexWrap" style={{ marginTop: 10 }}>
{ {
[["heightCount", "高个数"], ["widthCount", "宽个数"]].map(([k, v]) => [["heightCount", "高个数"], ["widthCount", "宽个数"]].map(([k, v]) =>
{ {

@ -10,7 +10,7 @@ import { KeyBoard } from '../../Common/KeyEnum';
import { LinesType } from '../../DatabaseServices/Entity/BoardInterface'; import { LinesType } from '../../DatabaseServices/Entity/BoardInterface';
import { LatticeDrawerStore } from '../Store/LatticeDrawerStore'; import { LatticeDrawerStore } from '../Store/LatticeDrawerStore';
import { ELatticeArrayType } from '../Store/LatticeInterface'; import { ELatticeArrayType } from '../Store/LatticeInterface';
import { Input5Or4Component, SetBoardDataBlock, SetBoardDataItem } from './Board/BoardCommon'; import { Input5Or4Component, RoomAndBoardMaterialInfo, SetBoardDataBlock, SetBoardDataItem } from './Board/BoardCommon';
import { BoardModalType } from "./Board/BoardModalType"; import { BoardModalType } from "./Board/BoardModalType";
import { Config_ModalType } from './Board/UserConfigComponent'; import { Config_ModalType } from './Board/UserConfigComponent';
import { GetCompoentObjectIdString } from './ComponentObjectId'; import { GetCompoentObjectIdString } from './ComponentObjectId';
@ -164,6 +164,10 @@ export class LatticeDrawer extends React.Component<{ store?: LatticeDrawerStore;
label="使用周围的板件数据" label="使用周围的板件数据"
onChange={() => { store.OnHandleUseBoardProcessOptionChange(); }} onChange={() => { store.OnHandleUseBoardProcessOptionChange(); }}
/> />
<RoomAndBoardMaterialInfo
data={m_Option}
vertical={true}
/>
</div> </div>
<div style={{ width: 220 }}> <div style={{ width: 220 }}>
<H5></H5> <H5></H5>

@ -367,3 +367,23 @@
padding: 2px 20px; padding: 2px 20px;
} }
} }
#commonModal{
.brmat-info {
position: relative;
input {
width: 6.5rem;
}
.br-set:last-child {
margin: 0;
}
}
.room-brmat-info{
input {
width: 6.5rem;
}
}
}

@ -40,7 +40,7 @@
.pre-canvas { .pre-canvas {
position: relative; position: relative;
margin: 4rem auto 0 auto; margin: 3rem auto 0 auto;
width: 350px; width: 350px;
height: 350px; height: 350px;
max-height: 500px; max-height: 500px;

@ -224,6 +224,15 @@ export class DoorStore extends DoorDrawerStore
cof.option.version = 9; cof.option.version = 9;
cof.option.isModifyHardwareMaterial = DefaultDoorOption.isModifyHardwareMaterial; cof.option.isModifyHardwareMaterial = DefaultDoorOption.isModifyHardwareMaterial;
} }
if (opt.version < 10)
{
cof.option.version = 10;
cof.option.boardMatName = DefaultDoorOption.boardMatName;
cof.option.material = DefaultDoorOption.material;
cof.option.color = DefaultDoorOption.color;
cof.option.roomName = DefaultDoorOption.roomName;
cof.option.cabinetName = DefaultDoorOption.cabinetName;
}
} }
get UIRule() get UIRule()
{ {

@ -99,6 +99,7 @@ export class DrawerStore extends DoorDrawerStore
if (opt.version < 7) if (opt.version < 7)
{ {
opt.version = 7; opt.version = 7;
//抽屉现在不引用这个功能了
opt.isModifyHardwareMaterial = DefaultDrawerOption.isModifyHardwareMaterial; opt.isModifyHardwareMaterial = DefaultDrawerOption.isModifyHardwareMaterial;
} }
if (opt.version < 8) if (opt.version < 8)
@ -106,6 +107,15 @@ export class DrawerStore extends DoorDrawerStore
opt.version = 8; opt.version = 8;
opt.isFloor50 = DefaultDrawerOption.isFloor50; opt.isFloor50 = DefaultDrawerOption.isFloor50;
} }
if (opt.version < 9)
{
opt.version = 9;
cof.option.boardMatName = DefaultDrawerOption.boardMatName;
cof.option.material = DefaultDrawerOption.material;
cof.option.color = DefaultDrawerOption.color;
cof.option.roomName = DefaultDrawerOption.roomName;
cof.option.cabinetName = DefaultDrawerOption.cabinetName;
}
} }
SetDrawerDepth() SetDrawerDepth()
{ {

@ -39,6 +39,11 @@ export interface IDoorAndDrawerConfigOption extends IBaseOption
lbHightDrillOption: IHightDrillOption; //立板高级排钻 lbHightDrillOption: IHightDrillOption; //立板高级排钻
useBoardProcessOption?: boolean; //使用周围板件数据 useBoardProcessOption?: boolean; //使用周围板件数据
isModifyHardwareMaterial: boolean; //使用周围板件数据时五金是否应用 isModifyHardwareMaterial: boolean; //使用周围板件数据时五金是否应用
boardMatName: string;//板材名
material: string;//材料
color: string;//颜色
roomName: string;//房名
cabinetName: string;//柜名
} }
/** /**

@ -29,12 +29,20 @@ export class LatticeDrawerStore extends BoardStore
cof.option.version = 2; cof.option.version = 2;
cof.option.linesType = DefaultLatticOption.linesType; cof.option.linesType = DefaultLatticOption.linesType;
} }
if (ver < 3) if (ver < 3)
{ {
cof.option.version = 3; cof.option.version = 3;
cof.option.useBoardProcessOption = DefaultLatticOption.useBoardProcessOption; cof.option.useBoardProcessOption = DefaultLatticOption.useBoardProcessOption;
} }
if (ver < 4)
{
cof.option.version = 4;
cof.option.boardMatName = DefaultLatticOption.boardMatName;
cof.option.material = DefaultLatticOption.material;
cof.option.color = DefaultLatticOption.color;
cof.option.roomName = DefaultLatticOption.roomName;
cof.option.cabinetName = DefaultLatticOption.cabinetName;
}
Object.assign(this.m_Option, cof.option); Object.assign(this.m_Option, cof.option);
if (this.m_UiOption) if (this.m_UiOption)

@ -30,4 +30,9 @@ export interface ILatticeOption extends IBaseOption
downCut: number; downCut: number;
linesType: number; //纹路 linesType: number; //纹路
useBoardProcessOption?: boolean; //使用周围的板件数据 useBoardProcessOption?: boolean; //使用周围的板件数据
boardMatName: string;//板材名
material: string;//材料
color: string;//颜色
roomName: string;//房名
cabinetName: string;//柜名
} }

@ -68,6 +68,11 @@ export interface IWineRackOption extends IBaseOption
isExtendsBH2: boolean;//是否继承 isExtendsBH2: boolean;//是否继承
followNarrow: boolean;//酒格补板前缩跟随 followNarrow: boolean;//酒格补板前缩跟随
useBoardProcessOption?: boolean; //使用周围的板件数据 useBoardProcessOption?: boolean; //使用周围的板件数据
boardMatName: string;//板材名
material: string;//材料
color: string;//颜色
roomName: string;//房名
cabinetName: string;//柜名
} }
export interface IR2WROption export interface IR2WROption

@ -50,6 +50,15 @@ export class WineRackStore extends BoardStore<IWineRackOption>
cof.option.version = 5; cof.option.version = 5;
cof.option.useBoardProcessOption = DefaultWineRackConfig.useBoardProcessOption; cof.option.useBoardProcessOption = DefaultWineRackConfig.useBoardProcessOption;
} }
if (cof.option.version < 6)
{
cof.option.version = 6;
cof.option.boardMatName = DefaultWineRackConfig.boardMatName;
cof.option.material = DefaultWineRackConfig.material;
cof.option.color = DefaultWineRackConfig.color;
cof.option.roomName = DefaultWineRackConfig.roomName;
cof.option.cabinetName = DefaultWineRackConfig.cabinetName;
}
Object.assign(this.m_Option, cof.option); Object.assign(this.m_Option, cof.option);
if (this.m_UiOption) if (this.m_UiOption)

Loading…
Cancel
Save