diff --git a/__test__/Winerack/winerack.test.ts b/__test__/Winerack/winerack.test.ts index b13da2c59..4eac3028b 100644 --- a/__test__/Winerack/winerack.test.ts +++ b/__test__/Winerack/winerack.test.ts @@ -40,6 +40,11 @@ const option: IWineRackOption = { brThick2: 18, isExtendsBH2: false, followNarrow: false, + boardMatName: "", + material: "", + color: "", + roomName: "", + cabinetName: "" }; describe("酒格功能测试", () => diff --git a/src/Add-on/DrawBoard/DrawDoorDrawer/DrawDoorTool.ts b/src/Add-on/DrawBoard/DrawDoorDrawer/DrawDoorTool.ts index 538e92beb..ee23324db 100644 --- a/src/Add-on/DrawBoard/DrawDoorDrawer/DrawDoorTool.ts +++ b/src/Add-on/DrawBoard/DrawDoorDrawer/DrawDoorTool.ts @@ -84,7 +84,7 @@ export class DrawDoorTool let doorInfos = this.doorInfos; //全部的模板id - let tempIds: Set = new Set(); + let tempIds: Map = new Map(); for (let info of doorInfos) { @@ -93,7 +93,7 @@ export class DrawDoorTool { 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; - for (let id of [...tempIds]) + for (let [tempKey, id] of tempIds) { let temp = await GetOnlineTemplate(id); if (!temp) continue; @@ -135,7 +135,7 @@ export class DrawDoorTool { en.HardwareOption[EBoardKeyList.RoomName] = this.surroundOption[EBoardKeyList.RoomName]; 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.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); } @@ -820,13 +845,25 @@ export class DrawDoorTool 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]; - 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]; + 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; } br.Name = info.openDir === DoorOpenDir.None ? "门板" : diff --git a/src/Add-on/DrawBoard/DrawDoorDrawer/DrawLeftRightOpenDoor.ts b/src/Add-on/DrawBoard/DrawDoorDrawer/DrawLeftRightOpenDoor.ts index 209ea58ab..79e9748cc 100644 --- a/src/Add-on/DrawBoard/DrawDoorDrawer/DrawLeftRightOpenDoor.ts +++ b/src/Add-on/DrawBoard/DrawDoorDrawer/DrawLeftRightOpenDoor.ts @@ -74,13 +74,25 @@ export class DrawLeftRightOpenDoor extends DrawDoorTool en.BoardProcessOption.drillType = DrillType.More; else if (drillSet.size === 1) en.BoardProcessOption.drillType = en.BoardProcessOption.highDrill[0]; - if (this.surroundOption && useBoardProcessOption) + if (useBoardProcessOption) { - 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]; + 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 + { + 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); } @@ -107,13 +119,25 @@ export class DrawLeftRightOpenDoor extends DrawDoorTool en.BoardProcessOption.drillType = DrillType.More; else if (drillSet.size === 1) 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]; - 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]; + 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; } } templateSpace.Children.push(verTemp.Id); diff --git a/src/Add-on/DrawBoard/DrawDoorDrawer/DrawUpDownOpenDoor.ts b/src/Add-on/DrawBoard/DrawDoorDrawer/DrawUpDownOpenDoor.ts index 762e5b22a..9f5f129ae 100644 --- a/src/Add-on/DrawBoard/DrawDoorDrawer/DrawUpDownOpenDoor.ts +++ b/src/Add-on/DrawBoard/DrawDoorDrawer/DrawUpDownOpenDoor.ts @@ -74,13 +74,25 @@ export class DrawUpDownOpenDoor extends DrawDoorTool en.BoardProcessOption.drillType = DrillType.More; else if (drillSet.size === 1) en.BoardProcessOption.drillType = en.BoardProcessOption.highDrill[0]; - if (this.surroundOption && useBoardProcessOption) + if (useBoardProcessOption) { - 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]; + 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 + { + 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); } @@ -108,13 +120,25 @@ export class DrawUpDownOpenDoor extends DrawDoorTool en.BoardProcessOption.drillType = DrillType.More; else if (drillSet.size === 1) 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]; - 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]; + 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; } } templateSpace.Children.push(layerTemp.Id); diff --git a/src/Add-on/DrawBoard/DrawDrawer.ts b/src/Add-on/DrawBoard/DrawDrawer.ts index 43f7df707..514cd886b 100644 --- a/src/Add-on/DrawBoard/DrawDrawer.ts +++ b/src/Add-on/DrawBoard/DrawDrawer.ts @@ -101,28 +101,48 @@ export class DrawDrawrer implements Command continue; } 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) { 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]; + 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] = surroundOption[EBoardKeyList.RoomName]; - en.HardwareOption[EBoardKeyList.CabinetName] = surroundOption[EBoardKeyList.CabinetName]; - if (store.m_Option.isModifyHardwareMaterial) - { - en.HardwareOption[EBoardKeyList.Mat] = surroundOption[EBoardKeyList.Mat]; - en.HardwareOption[EBoardKeyList.Color] = surroundOption[EBoardKeyList.Color]; - } + en.HardwareOption[EBoardKeyList.RoomName] = roomName; + en.HardwareOption[EBoardKeyList.CabinetName] = cabinetName; } } + } 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); 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; - 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]; + const { roomName, cabinetName, boardMatName, material, color } = store.m_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; } templateSpace.Children.push(verTemp.Id); } diff --git a/src/Add-on/DrawWineRack/DrawWinRackTool.ts b/src/Add-on/DrawWineRack/DrawWinRackTool.ts index 3716d43e5..8b262d54f 100644 --- a/src/Add-on/DrawWineRack/DrawWinRackTool.ts +++ b/src/Add-on/DrawWineRack/DrawWinRackTool.ts @@ -46,14 +46,26 @@ export class DrawWineRackTool extends Singleton protected GetBoardProcessOption(br: Board) { //获取空间周围的板件数据 - if (this.space.Boards.length > 0 && this._config.useBoardProcessOption) + if (this._config.useBoardProcessOption) { - let refProcessData = this.space.Boards[0].BoardProcessOption; - br.BoardProcessOption[EBoardKeyList.RoomName] = refProcessData[EBoardKeyList.RoomName]; - br.BoardProcessOption[EBoardKeyList.CabinetName] = refProcessData[EBoardKeyList.CabinetName]; - br.BoardProcessOption[EBoardKeyList.Mat] = refProcessData[EBoardKeyList.Mat]; - br.BoardProcessOption[EBoardKeyList.BrMat] = refProcessData[EBoardKeyList.BrMat]; - br.BoardProcessOption[EBoardKeyList.Color] = refProcessData[EBoardKeyList.Color]; + if (this.space.Boards.length > 0) + { + let refProcessData = this.space.Boards[0].BoardProcessOption; + br.BoardProcessOption[EBoardKeyList.RoomName] = refProcessData[EBoardKeyList.RoomName]; + br.BoardProcessOption[EBoardKeyList.CabinetName] = refProcessData[EBoardKeyList.CabinetName]; + 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; } } /**分析高级封边数据 */ diff --git a/src/Add-on/twoD2threeD/Modals/R2b2.tsx b/src/Add-on/twoD2threeD/Modals/R2b2.tsx index 439d5b656..c3751b17a 100644 --- a/src/Add-on/twoD2threeD/Modals/R2b2.tsx +++ b/src/Add-on/twoD2threeD/Modals/R2b2.tsx @@ -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 React, { Component } from 'react'; import { begin } from 'xaop'; @@ -6,7 +6,7 @@ import { app } from '../../../ApplicationServices/Application'; import { CheckObjectType } from '../../../Common/CheckoutVaildValue'; import { CommandNames } from '../../../Common/CommandNames'; 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 { Config_ModalType } from '../../../UI/Components/Board/UserConfigComponent'; import { CommonModal } from '../../../UI/Components/Modal/ModalContainer'; @@ -92,6 +92,15 @@ export class R2b2Panel extends Component<{ store: R2B2Store; }> option={store.option} uiOption={store.UIOption} /> + { store.OnHandleUseBoardProcessOptionChange(); }} + /> +
排钻
) { + 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); if (this.uiOption) Object.assign(this.uiOption, DataAdapter.ConvertUIData(conf.option)); @@ -60,6 +69,11 @@ export class R2B2Store implements IConfigStore { return CheckoutValid.HasInvailValue(this.UIOption, CheckObjectType.R2B); } + @action + OnHandleUseBoardProcessOptionChange() + { + this.option.useBoardProcessOption = !this.option.useBoardProcessOption; + } } export const r2b2Store = new R2B2Store(); diff --git a/src/Add-on/twoD2threeD/R2bInterface.ts b/src/Add-on/twoD2threeD/R2bInterface.ts index 3e016fff7..d6cccbfc7 100644 --- a/src/Add-on/twoD2threeD/R2bInterface.ts +++ b/src/Add-on/twoD2threeD/R2bInterface.ts @@ -101,4 +101,10 @@ export interface IRect2Br2Option extends IBaseOption [EBoardKeyList.LeftSealed]: string; [EBoardKeyList.RightSealed]: string; remarks: [string, string][]; + useBoardProcessOption?: boolean; //使用周围的板件数据 + boardMatName: string;//板材名 + material: string;//材料 + color: string;//颜色 + roomName: string;//房名 + cabinetName: string;//柜名 } diff --git a/src/Add-on/twoD2threeD/Rect2Board.ts b/src/Add-on/twoD2threeD/Rect2Board.ts index 4cd5ecb8b..9d9c39239 100644 --- a/src/Add-on/twoD2threeD/Rect2Board.ts +++ b/src/Add-on/twoD2threeD/Rect2Board.ts @@ -111,11 +111,32 @@ class Rect2BoardTool2 const size = spaceParse.Size; const depth = safeEval(option.depthExpr, { L: size.x, W: size.y, H: size.z }); - - totalBrs.push(...this.DrawBoard([pl], depth)); + const brs = 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)); } /** diff --git a/src/Common/CheckoutVaildValue.ts b/src/Common/CheckoutVaildValue.ts index 78f9b6ac1..23701bbfd 100644 --- a/src/Common/CheckoutVaildValue.ts +++ b/src/Common/CheckoutVaildValue.ts @@ -615,6 +615,12 @@ export namespace CheckoutValid return "数值必须大于0"; case "followNarrow"://这是个布尔值 不校验它. return ""; + case "boardMatName": + case "material": + case "color": + case "roomName": + case "cabinetName": + return ""; default: if (!isNum(v)) { @@ -651,9 +657,12 @@ export namespace CheckoutValid if (safeEval(v) < 0) return "数值不能小于0"; return ""; - default: + case "downDist": + case "space": + case "grooveAddWidth": if (!(isNum(v))) return "数值不能为空且必须为数字"; + default: return ""; } } diff --git a/src/DatabaseServices/Template/ProgramTempate/TemplateLatticeRecord.ts b/src/DatabaseServices/Template/ProgramTempate/TemplateLatticeRecord.ts index e5dbf7535..f0efc291c 100644 --- a/src/DatabaseServices/Template/ProgramTempate/TemplateLatticeRecord.ts +++ b/src/DatabaseServices/Template/ProgramTempate/TemplateLatticeRecord.ts @@ -54,15 +54,27 @@ export class TemplateLatticeRecord extends TemplateRecord 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]; - br.BoardProcessOption[EBoardKeyList.RoomName] = sbrs[0].BoardProcessOption[EBoardKeyList.RoomName]; - 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]; + if (sbrs.length) + { + br.BoardProcessOption[EBoardKeyList.CabinetName] = sbrs[0].BoardProcessOption[EBoardKeyList.CabinetName]; + br.BoardProcessOption[EBoardKeyList.RoomName] = sbrs[0].BoardProcessOption[EBoardKeyList.RoomName]; + 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(); } + 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) { - file.Write(3); + file.Write(4); super.WriteFile(file); file.Write(this.option.arrayType); file.Write(this.option.gripWidth); @@ -157,6 +177,12 @@ export class TemplateLatticeRecord extends TemplateRecord file.Write(this.option.linesType); 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 } diff --git a/src/DatabaseServices/Template/ProgramTempate/TemplateWineRackRecord.ts b/src/DatabaseServices/Template/ProgramTempate/TemplateWineRackRecord.ts index 71f6092c1..ff49acb26 100644 --- a/src/DatabaseServices/Template/ProgramTempate/TemplateWineRackRecord.ts +++ b/src/DatabaseServices/Template/ProgramTempate/TemplateWineRackRecord.ts @@ -123,11 +123,19 @@ export class TemplateWineRackRecord extends TemplateRecord if (ver > 2) 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) { - file.Write(3); + file.Write(4); super.WriteFile(file); file.Write(this.option.type); file.Write(this.option.arrayType); @@ -161,6 +169,12 @@ export class TemplateWineRackRecord extends TemplateRecord file.Write(this.option.followNarrow); 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 } diff --git a/src/Editor/DefaultConfig.ts b/src/Editor/DefaultConfig.ts index 081bffb27..aea88b0da 100644 --- a/src/Editor/DefaultConfig.ts +++ b/src/Editor/DefaultConfig.ts @@ -85,7 +85,7 @@ export const DefaultBehindBoardConfig: BehindBoardOption = { Object.freeze(DefaultBehindBoardConfig); export const DefaultWineRackConfig: IWineRackOption = { - version: 5, + version: 6, type: EWineRackType.Oblique, wineRackStyle: EWineRackStyle.WholeLattice, arrayType: EWRackArrayType.ByWidth, @@ -115,7 +115,12 @@ export const DefaultWineRackConfig: IWineRackOption = { brThick2: 18, isExtendsBH2: false, followNarrow: false, - useBoardProcessOption: true + useBoardProcessOption: true, + boardMatName: "",//板材名 + material: "",//材料 + color: "",//颜色 + roomName: "",//房名 + cabinetName: "",//柜名 }; Object.freeze(DefaultWineRackConfig); @@ -422,7 +427,7 @@ export const DefaultBoardFindOption: IBoardFindOption = { Object.freeze(DefaultBoardFindOption); export const DefaultLatticOption: ILatticeOption = { - version: 3, + version: 4, arrayType: ELatticeArrayType.ByWidth, gripWidth: 100, gripDepth: 100, @@ -445,11 +450,16 @@ export const DefaultLatticOption: ILatticeOption = { downCut: 4, linesType: LinesType.Reverse, useBoardProcessOption: true, + boardMatName: "",//板材名 + material: "",//材料 + color: "",//颜色 + roomName: "",//房名 + cabinetName: "",//柜名 }; Object.freeze(DefaultLatticOption); export const DefaultDoorOption: IDoorConfigOption = { - version: 9, + version: 10, col: 2, row: 1, isAllSelect: true, @@ -502,7 +512,12 @@ export const DefaultDoorOption: IDoorConfigOption = { lbHightDrillOption: { up: "", down: "", left: "", right: "" }, useBoardProcessOption: true, isModifyHardwareMaterial: false, - deviation: 100 //偏移量 + deviation: 100,//偏移量 + boardMatName: "",//板材名 + material: "",//材料 + color: "",//颜色 + roomName: "",//房名 + cabinetName: "",//柜名 }; Object.freeze(DefaultDoorOption); export const DefaultHingeOption: IHingeConfigOption = { @@ -514,7 +529,7 @@ export const DefaultHingeOption: IHingeConfigOption = { }; Object.freeze(DefaultHingeOption); export const DefaultDrawerOption: IDrawerConfigOption = { - version: 8, + version: 9, col: 1, row: 1, isAllSelect: true, @@ -556,6 +571,11 @@ export const DefaultDrawerOption: IDrawerConfigOption = { lbHightDrillOption: { up: "", down: "", left: "", right: "" }, useBoardProcessOption: true, isModifyHardwareMaterial: false, + boardMatName: "",//板材名 + material: "",//材料 + color: "",//颜色 + roomName: "",//房名 + cabinetName: "",//柜名 }; Object.freeze(DefaultDrawerOption); @@ -602,7 +622,12 @@ export const DefaultLatticeConfig: ILatticeOption = { upCut: 0, downCut: 4, linesType: LinesType.Reverse, - useBoardProcessOption: true + useBoardProcessOption: true, + boardMatName: "",//板材名 + material: "",//材料 + color: "",//颜色 + roomName: "",//房名 + cabinetName: "",//柜名 }; Object.freeze(DefaultLatticeConfig); @@ -903,7 +928,7 @@ export const DefaultR2bOption: IRec2BrOption = { }; Object.freeze(DefaultR2bOption); export const DefaultR2b2Option: IRect2Br2Option = { - version: 1, + version: 2, depthExpr: "W", drillType: "", sealedDown: "1", @@ -914,6 +939,12 @@ export const DefaultR2b2Option: IRect2Br2Option = { maxThickness: 20, layerShrink: 0, vertialShrink: 0, + useBoardProcessOption: true, + boardMatName: "",//板材名 + material: "",//材料 + color: "",//颜色 + roomName: "",//房名 + cabinetName: "",//柜名 }; Object.freeze(DefaultR2b2Option); diff --git a/src/UI/Components/Board/BoardCommon.tsx b/src/UI/Components/Board/BoardCommon.tsx index 421829a9d..60ff0486c 100644 --- a/src/UI/Components/Board/BoardCommon.tsx +++ b/src/UI/Components/Board/BoardCommon.tsx @@ -2,6 +2,7 @@ import { Button, Checkbox, Classes, HTMLSelect, Label, Position, Radio, RadioGro import { observable } from 'mobx'; import { observer } from 'mobx-react'; import * as React from 'react'; +import { useRef } from 'react'; import { DrillType } from "../../../Add-on/DrawDrilling/DrillType"; import { app } from '../../../ApplicationServices/Application'; import { EBoardKeyList } from '../../../Common/BoardKeyList'; @@ -14,6 +15,8 @@ import { BoardOpenDir, BoardType, BrRelativePos } from '../../../DatabaseService import { PromptStatus } from '../../../Editor/PromptResult'; import { TempEditor } from '../../../Editor/TempEditor'; import { userConfig } from '../../../Editor/UserConfig'; +import { IGoodInfo } from '../../MaterialEditor/GoodsList'; +import { GoodsListDiv } from '../../MaterialEditor/GoodsListDiv'; import { BoardProcessOption } from "../../Store/OptionInterface/BoardProcessOption"; import { AnyObject, BoardConfigOption, IBaseOption, IDrawBoardAutoCutOption, IHightDrillOption, IUiOption, TBBoardOption } from "../../Store/OptionInterface/IOptionInterface"; import { RightPanelStore } from '../../Store/RightPanelStore/RightPanelStore'; @@ -865,6 +868,91 @@ interface IAutoCutCheckboxProps isFlex?: boolean; 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 ( +
+
+ + +
+ +
+ ); +}); + +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 ( +
+ + + { + showShopsRef.current.get() && + } +
+ ); +}); @observer export class AutoCutCheckbox extends React.Component diff --git a/src/UI/Components/Board/Door/DoorConfigModal.tsx b/src/UI/Components/Board/Door/DoorConfigModal.tsx index 8ac142e72..f47f21fa1 100644 --- a/src/UI/Components/Board/Door/DoorConfigModal.tsx +++ b/src/UI/Components/Board/Door/DoorConfigModal.tsx @@ -168,22 +168,6 @@ export class DoorConfigModal extends React.Component<{ store?: DoorDrawerStore; /> -
- - { store.OnHandleUseBoardProcessOptionChange(); }} - /> - - { store.OnHandleIsModifyHardwareMaterialChange(); }} - /> -
- - { store.OnHandleUseBoardProcessOptionChange(); }} - /> - -
-
- { store.OnHandleIsModifyHardwareMaterialChange(); }} - />
diff --git a/src/UI/Components/Board/Door/DoorModal.tsx b/src/UI/Components/Board/Door/DoorModal.tsx index 3cc139002..0fe4effc0 100644 --- a/src/UI/Components/Board/Door/DoorModal.tsx +++ b/src/UI/Components/Board/Door/DoorModal.tsx @@ -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 { observer } from 'mobx-react'; import * as React from 'react'; @@ -12,6 +12,7 @@ import { DisableChangeParName } from '../../../Store/DoorInterface'; import { ModalState } from '../../Modal/ModalInterface'; import { TemplateDetail } from '../../Template/TemplateDetail'; import { TemplateSelect } from '../../Template/TemplateSelect'; +import { RoomAndBoardMaterialInfo } from '../BoardCommon'; import { BoardModalType } from "../BoardModalType"; import { Config_ModalType, UserConfigComponent } from '../UserConfigComponent'; import { ModalFooter, ModalHeader } from './../../Modal/ModalContainer'; @@ -92,6 +93,27 @@ export class DoorModal extends React.Component<{ store: DoorDrawerStore, type: B */}
+
+
+ + { store.OnHandleUseBoardProcessOptionChange(); }} + /> + + { + isDoor && { store.OnHandleIsModifyHardwareMaterialChange(); }} + /> + } +
+ +
+
diff --git a/src/UI/Components/Board/WineRack.tsx b/src/UI/Components/Board/WineRack.tsx index 6c6d97a8d..de98e2d8a 100644 --- a/src/UI/Components/Board/WineRack.tsx +++ b/src/UI/Components/Board/WineRack.tsx @@ -19,7 +19,7 @@ import { WineRackStore } from '../../Store/WineRackStore'; import { GetCompoentObjectIdString } from '../ComponentObjectId'; import { CommonModal } from '../Modal/ModalContainer'; import { AppToaster, ToasterValueError } from '../Toaster'; -import { Input5Or4Component, SetBoardDataBlock, SetBoardDataItem } from './BoardCommon'; +import { Input5Or4Component, RoomAndBoardMaterialInfo, SetBoardDataBlock, SetBoardDataItem } from './BoardCommon'; import { BoardModalType } from "./BoardModalType"; import { Config_ModalType } from './UserConfigComponent'; @@ -201,7 +201,11 @@ export class WineRackModal extends React.Component<{ store?: WineRackStore; }, { label="使用周围的板件数据" onChange={() => { store.OnHandleUseBoardProcessOptionChange(); }} /> -
+ +
{ [["heightCount", "高个数"], ["widthCount", "宽个数"]].map(([k, v]) => { diff --git a/src/UI/Components/LatticeDrawer.tsx b/src/UI/Components/LatticeDrawer.tsx index 1eff6c1cd..6388bd746 100644 --- a/src/UI/Components/LatticeDrawer.tsx +++ b/src/UI/Components/LatticeDrawer.tsx @@ -10,7 +10,7 @@ import { KeyBoard } from '../../Common/KeyEnum'; import { LinesType } from '../../DatabaseServices/Entity/BoardInterface'; import { LatticeDrawerStore } from '../Store/LatticeDrawerStore'; 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 { Config_ModalType } from './Board/UserConfigComponent'; import { GetCompoentObjectIdString } from './ComponentObjectId'; @@ -164,6 +164,10 @@ export class LatticeDrawer extends React.Component<{ store?: LatticeDrawerStore; label="使用周围的板件数据" onChange={() => { store.OnHandleUseBoardProcessOptionChange(); }} /> +
切角类型
diff --git a/src/UI/Components/Modal/ModalStyle/BoardModal.less b/src/UI/Components/Modal/ModalStyle/BoardModal.less index 475018bea..0ad08d724 100644 --- a/src/UI/Components/Modal/ModalStyle/BoardModal.less +++ b/src/UI/Components/Modal/ModalStyle/BoardModal.less @@ -367,3 +367,23 @@ 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; + } + } +} diff --git a/src/UI/Components/Modal/ModalStyle/DoorModal.less b/src/UI/Components/Modal/ModalStyle/DoorModal.less index b6c65df40..0d70501d2 100644 --- a/src/UI/Components/Modal/ModalStyle/DoorModal.less +++ b/src/UI/Components/Modal/ModalStyle/DoorModal.less @@ -40,7 +40,7 @@ .pre-canvas { position: relative; - margin: 4rem auto 0 auto; + margin: 3rem auto 0 auto; width: 350px; height: 350px; max-height: 500px; diff --git a/src/UI/Store/DoorDrawerStore/DoorStore.ts b/src/UI/Store/DoorDrawerStore/DoorStore.ts index fce138347..2e1b24663 100644 --- a/src/UI/Store/DoorDrawerStore/DoorStore.ts +++ b/src/UI/Store/DoorDrawerStore/DoorStore.ts @@ -224,6 +224,15 @@ export class DoorStore extends DoorDrawerStore cof.option.version = 9; 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() { diff --git a/src/UI/Store/DoorDrawerStore/DrawerStore.ts b/src/UI/Store/DoorDrawerStore/DrawerStore.ts index d9562546b..d61cd0afc 100644 --- a/src/UI/Store/DoorDrawerStore/DrawerStore.ts +++ b/src/UI/Store/DoorDrawerStore/DrawerStore.ts @@ -99,6 +99,7 @@ export class DrawerStore extends DoorDrawerStore if (opt.version < 7) { opt.version = 7; + //抽屉现在不引用这个功能了 opt.isModifyHardwareMaterial = DefaultDrawerOption.isModifyHardwareMaterial; } if (opt.version < 8) @@ -106,6 +107,15 @@ export class DrawerStore extends DoorDrawerStore opt.version = 8; 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() { diff --git a/src/UI/Store/DoorInterface.ts b/src/UI/Store/DoorInterface.ts index 064ffce8a..ee526ca7b 100644 --- a/src/UI/Store/DoorInterface.ts +++ b/src/UI/Store/DoorInterface.ts @@ -39,6 +39,11 @@ export interface IDoorAndDrawerConfigOption extends IBaseOption lbHightDrillOption: IHightDrillOption; //立板高级排钻 useBoardProcessOption?: boolean; //使用周围板件数据 isModifyHardwareMaterial: boolean; //使用周围板件数据时五金是否应用 + boardMatName: string;//板材名 + material: string;//材料 + color: string;//颜色 + roomName: string;//房名 + cabinetName: string;//柜名 } /** diff --git a/src/UI/Store/LatticeDrawerStore.ts b/src/UI/Store/LatticeDrawerStore.ts index b79566905..4fe66665d 100644 --- a/src/UI/Store/LatticeDrawerStore.ts +++ b/src/UI/Store/LatticeDrawerStore.ts @@ -29,12 +29,20 @@ export class LatticeDrawerStore extends BoardStore cof.option.version = 2; cof.option.linesType = DefaultLatticOption.linesType; } - if (ver < 3) { cof.option.version = 3; 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); if (this.m_UiOption) diff --git a/src/UI/Store/LatticeInterface.ts b/src/UI/Store/LatticeInterface.ts index 9bfffa813..9e337298e 100644 --- a/src/UI/Store/LatticeInterface.ts +++ b/src/UI/Store/LatticeInterface.ts @@ -30,4 +30,9 @@ export interface ILatticeOption extends IBaseOption downCut: number; linesType: number; //纹路 useBoardProcessOption?: boolean; //使用周围的板件数据 + boardMatName: string;//板材名 + material: string;//材料 + color: string;//颜色 + roomName: string;//房名 + cabinetName: string;//柜名 } diff --git a/src/UI/Store/WineRackInterface.ts b/src/UI/Store/WineRackInterface.ts index dcda2e391..653b44cf5 100644 --- a/src/UI/Store/WineRackInterface.ts +++ b/src/UI/Store/WineRackInterface.ts @@ -68,6 +68,11 @@ export interface IWineRackOption extends IBaseOption isExtendsBH2: boolean;//是否继承 followNarrow: boolean;//酒格补板前缩跟随 useBoardProcessOption?: boolean; //使用周围的板件数据 + boardMatName: string;//板材名 + material: string;//材料 + color: string;//颜色 + roomName: string;//房名 + cabinetName: string;//柜名 } export interface IR2WROption diff --git a/src/UI/Store/WineRackStore.ts b/src/UI/Store/WineRackStore.ts index 4312a6b56..1ae93d7f8 100644 --- a/src/UI/Store/WineRackStore.ts +++ b/src/UI/Store/WineRackStore.ts @@ -50,6 +50,15 @@ export class WineRackStore extends BoardStore cof.option.version = 5; 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); if (this.m_UiOption)