!1679 功能:根据板件名修改属性添加修改板件名

pull/1690/MERGE
黄诗津 3 years ago committed by ChenX
parent d25a0b9f99
commit 291f2a65ad

@ -1,14 +1,16 @@
import { Command } from "../../Editor/CommandMachine"; import { Intent } from "@blueprintjs/core";
import { toJS } from "mobx";
import { app } from "../../ApplicationServices/Application"; import { app } from "../../ApplicationServices/Application";
import { UpdateBoardInfoModal } from "../../UI/Components/Board/UpdateBoardInfos"; import { EBoardKeyList } from "../../Common/BoardKeyList";
import { updateBoardInfoStore } from "../../UI/Store/UpdateBoardInfoStore";
import { Board } from "../../DatabaseServices/Entity/Board"; import { Board } from "../../DatabaseServices/Entity/Board";
import { Command } from "../../Editor/CommandMachine";
import { PromptStatus } from "../../Editor/PromptResult"; import { PromptStatus } from "../../Editor/PromptResult";
import { InitRectBoardDrillOption, SetRectHighDrill } from "../../UI/Components/Board/CommonBoardOption";
import { IUpdateBoardInfosOption } from "../../UI/Components/Board/UpdateBoardInfointerface"; import { IUpdateBoardInfosOption } from "../../UI/Components/Board/UpdateBoardInfointerface";
import { EBoardKeyList } from "../../Common/BoardKeyList"; import { UpdateBoardInfoModal } from "../../UI/Components/Board/UpdateBoardInfos";
import { AppToaster } from "../../UI/Components/Toaster";
import { DRILL_KEYS } from "../../UI/Store/BoardFindInterface"; import { DRILL_KEYS } from "../../UI/Store/BoardFindInterface";
import { toJS } from "mobx"; import { updateBoardInfoStore } from "../../UI/Store/UpdateBoardInfoStore";
import { InitRectBoardDrillOption, SetRectHighDrill } from "../../UI/Components/Board/CommonBoardOption";
//根据板件名改属性 //根据板件名改属性
export class UpdateBoardInfos implements Command export class UpdateBoardInfos implements Command
@ -68,6 +70,18 @@ export class UpdateBoardInfos implements Command
br.BoardProcessOption[i] = option[i]; br.BoardProcessOption[i] = option[i];
br.BoardProcessOption.highDrill.fill(option[i]); br.BoardProcessOption.highDrill.fill(option[i]);
break; break;
case EBoardKeyList.BrName:
if (option[i])
br.Name = option[i];
else
{
AppToaster.show({
message: "要修改的板件名不能为空",
timeout: 3000,
intent: Intent.WARNING,
});
}
break;
case EBoardKeyList.RoomName: case EBoardKeyList.RoomName:
case EBoardKeyList.CabinetName: case EBoardKeyList.CabinetName:
case EBoardKeyList.Lines: case EBoardKeyList.Lines:

@ -7,6 +7,7 @@ export enum EBoardKeyList
Thick = "thickness", Thick = "thickness",
RoomName = "roomName", RoomName = "roomName",
CabinetName = "cabinetName", CabinetName = "cabinetName",
BrName = "brName",
BrMat = "boardName", //板材 BrMat = "boardName", //板材
Mat = "material", //材料 Mat = "material", //材料
Color = "color", Color = "color",

@ -659,6 +659,7 @@ Object.freeze(DefaultCurve2RecOption);
export const DefaultUpdateInfoOption: IUpdateBoardInfosOption = { export const DefaultUpdateInfoOption: IUpdateBoardInfosOption = {
version: 1, version: 1,
[EBoardKeyList.BrName]: "",
[EBoardKeyList.RoomName]: "", [EBoardKeyList.RoomName]: "",
[EBoardKeyList.CabinetName]: "", [EBoardKeyList.CabinetName]: "",
[EBoardKeyList.Lines]: LinesType.Positive, [EBoardKeyList.Lines]: LinesType.Positive,
@ -681,6 +682,7 @@ export const DefaultUpdateInfoOption: IUpdateBoardInfosOption = {
highDrill: [], highDrill: [],
isChaiDan: true, isChaiDan: true,
condition: { condition: {
[EBoardKeyList.BrName]: false,
[EBoardKeyList.RoomName]: false, [EBoardKeyList.RoomName]: false,
[EBoardKeyList.CabinetName]: false, [EBoardKeyList.CabinetName]: false,
[EBoardKeyList.Lines]: true, [EBoardKeyList.Lines]: true,

@ -1,9 +1,10 @@
import { EBoardKeyList } from "../../../Common/BoardKeyList"; import { EBoardKeyList } from "../../../Common/BoardKeyList";
import { LinesType, FaceDirection, ComposingType, IBaseOption } from "../../Store/BoardInterface"; import { ComposingType, FaceDirection, IBaseOption, LinesType } from "../../Store/BoardInterface";
export interface IUpdateBoardInfosOption extends IBaseOption export interface IUpdateBoardInfosOption extends IBaseOption
{ {
condition: IUpdateInfoCondition; condition: IUpdateInfoCondition;
[EBoardKeyList.BrName]: string;
[EBoardKeyList.RoomName]: string; [EBoardKeyList.RoomName]: string;
[EBoardKeyList.CabinetName]: string; [EBoardKeyList.CabinetName]: string;
[EBoardKeyList.Lines]: LinesType; [EBoardKeyList.Lines]: LinesType;
@ -29,6 +30,7 @@ export interface IUpdateBoardInfosOption extends IBaseOption
export interface IUpdateInfoCondition export interface IUpdateInfoCondition
{ {
[EBoardKeyList.BrName]: boolean;
[EBoardKeyList.RoomName]: boolean; [EBoardKeyList.RoomName]: boolean;
[EBoardKeyList.CabinetName]: boolean; [EBoardKeyList.CabinetName]: boolean;
[EBoardKeyList.Lines]: boolean; [EBoardKeyList.Lines]: boolean;

@ -1,27 +1,27 @@
import { Button, Card, Checkbox, Classes, HTMLSelect, Intent, Position } from '@blueprintjs/core';
import { toJS } from 'mobx';
import { observer } from 'mobx-react';
import * as React from 'react'; import * as React from 'react';
import { CommonModal } from '../Modal/ModalContainer';
import { app } from '../../../ApplicationServices/Application';
import { hot } from 'react-hot-loader/root'; import { hot } from 'react-hot-loader/root';
import { UpdateBoardInfosStore } from '../../Store/UpdateBoardInfoStore'; import { app } from '../../../ApplicationServices/Application';
import { Notes } from './BoardCommon';
import { Checkbox, H5, Classes, Button, Intent, HTMLSelect, Card, Position } from '@blueprintjs/core';
import { InputSelect } from '../Common';
import { EBoardKeyList } from '../../../Common/BoardKeyList'; import { EBoardKeyList } from '../../../Common/BoardKeyList';
import { LineTypeSelectOption, BigFaceSelectOption, ComposingFaceSelectOption } from '../../../Common/CommonSelectOption';
import { userConfig } from '../../../Editor/UserConfig';
import { observer } from 'mobx-react';
import { ToasterInput } from '../Toaster';
import { CheckObjectType } from '../../../Common/CheckoutVaildValue'; import { CheckObjectType } from '../../../Common/CheckoutVaildValue';
import { BoardModalType } from './BoardModal'; import { BigFaceSelectOption, ComposingFaceSelectOption, LineTypeSelectOption } from '../../../Common/CommonSelectOption';
import { ModalState } from '../Modal/ModalInterface';
import { toJS } from 'mobx';
import { CommandWrap } from '../../../Editor/CommandMachine';
import { Board } from '../../../DatabaseServices/Entity/Board'; import { Board } from '../../../DatabaseServices/Entity/Board';
import { CommandWrap } from '../../../Editor/CommandMachine';
import { PromptStatus } from '../../../Editor/PromptResult'; import { PromptStatus } from '../../../Editor/PromptResult';
import { MatColorCom, SealDrillCom } from './BoardFindCommon'; import { userConfig } from '../../../Editor/UserConfig';
import { InitRectBoardDrillOption } from './CommonBoardOption';
import { DrillType } from '../../Store/BoardInterface'; import { DrillType } from '../../Store/BoardInterface';
import { UpdateBoardInfosStore } from '../../Store/UpdateBoardInfoStore';
import { InputSelect } from '../Common';
import { PopoverButton } from '../Common/PopoverButton'; import { PopoverButton } from '../Common/PopoverButton';
import { CommonModal } from '../Modal/ModalContainer';
import { ModalState } from '../Modal/ModalInterface';
import { ToasterInput } from '../Toaster';
import { Notes } from './BoardCommon';
import { MatColorCom, SealDrillCom } from './BoardFindCommon';
import { BoardModalType } from './BoardModal';
import { InitRectBoardDrillOption } from './CommonBoardOption';
export interface IUpdateBoardInfoModalProps export interface IUpdateBoardInfoModalProps
{ {
@ -98,6 +98,24 @@ export class UpdateBoardInfoModal extends React.Component<IUpdateBoardInfoModalP
</Card> </Card>
<Card className="flex u-body"> <Card className="flex u-body">
<div style={{ flex: 1 }}> <div style={{ flex: 1 }}>
<div className="info-item">
<Checkbox
label="板名"
checked={condition[EBoardKeyList.BrName]}
onChange={() => condition[EBoardKeyList.BrName] = !condition[EBoardKeyList.BrName]}
/>
<input
className={Classes.INPUT}
value={option[EBoardKeyList.BrName]}
onChange={e => option[EBoardKeyList.BrName] = e.target.value}
/>
<Button
text="拾取"
data-type={EBoardKeyList.BrName}
intent={Intent.SUCCESS}
onClick={this.getBoardOption}
/>
</div>
<div className="info-item"> <div className="info-item">
<Checkbox <Checkbox
label="柜名" label="柜名"
@ -356,7 +374,12 @@ export class UpdateBoardInfoModal extends React.Component<IUpdateBoardInfoModalP
if (brRes.Status === PromptStatus.Cancel) return; if (brRes.Status === PromptStatus.Cancel) return;
let br = brRes.Entity as Board; let br = brRes.Entity as Board;
if (key) if (key)
store.m_Option[key] = br.BoardProcessOption[key]; {
if (key === "brName")
store.m_Option[key] = br.Name;
else
store.m_Option[key] = br.BoardProcessOption[key];
}
else else
{ {
//选取材质 //选取材质

@ -1,10 +1,10 @@
import { BoardStore } from "./BoardStore"; import { action, observable, toJS } from "mobx";
import { IUpdateBoardInfosOption } from "../Components/Board/UpdateBoardInfointerface";
import { DefaultUpdateInfoOption } from "../../Editor/DefaultConfig"; import { DefaultUpdateInfoOption } from "../../Editor/DefaultConfig";
import { observable, toJS, action } from "mobx";
import { LinesType, FaceDirection, DrillType } from "./BoardInterface";
import { IConfigOption } from "../Components/Board/UserConfig";
import { userConfig } from "../../Editor/UserConfig"; import { userConfig } from "../../Editor/UserConfig";
import { IUpdateBoardInfosOption } from "../Components/Board/UpdateBoardInfointerface";
import { IConfigOption } from "../Components/Board/UserConfig";
import { DrillType, FaceDirection, LinesType } from "./BoardInterface";
import { BoardStore } from "./BoardStore";
export class UpdateBoardInfosStore extends BoardStore export class UpdateBoardInfosStore extends BoardStore
{ {
@ -113,6 +113,8 @@ export class UpdateBoardInfosStore extends BoardStore
option[name].isChaiDan = true; option[name].isChaiDan = true;
option[name].condition.isChaiDan = true; option[name].condition.isChaiDan = true;
} }
if (!option[name].brName)
option[name].condition.brName = false;
if (!option[name].highDrill || option[name].highDrill.length === 0) if (!option[name].highDrill || option[name].highDrill.length === 0)
option[name].highDrill = Array(4).fill(option[name].drillType); option[name].highDrill = Array(4).fill(option[name].drillType);
this.nameOptionMap.set(name, option[name]); this.nameOptionMap.set(name, option[name]);

Loading…
Cancel
Save