!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 { UpdateBoardInfoModal } from "../../UI/Components/Board/UpdateBoardInfos";
import { updateBoardInfoStore } from "../../UI/Store/UpdateBoardInfoStore";
import { EBoardKeyList } from "../../Common/BoardKeyList";
import { Board } from "../../DatabaseServices/Entity/Board";
import { Command } from "../../Editor/CommandMachine";
import { PromptStatus } from "../../Editor/PromptResult";
import { InitRectBoardDrillOption, SetRectHighDrill } from "../../UI/Components/Board/CommonBoardOption";
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 { toJS } from "mobx";
import { InitRectBoardDrillOption, SetRectHighDrill } from "../../UI/Components/Board/CommonBoardOption";
import { updateBoardInfoStore } from "../../UI/Store/UpdateBoardInfoStore";
//根据板件名改属性
export class UpdateBoardInfos implements Command
@ -68,6 +70,18 @@ export class UpdateBoardInfos implements Command
br.BoardProcessOption[i] = option[i];
br.BoardProcessOption.highDrill.fill(option[i]);
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.CabinetName:
case EBoardKeyList.Lines:

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

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

@ -1,9 +1,10 @@
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
{
condition: IUpdateInfoCondition;
[EBoardKeyList.BrName]: string;
[EBoardKeyList.RoomName]: string;
[EBoardKeyList.CabinetName]: string;
[EBoardKeyList.Lines]: LinesType;
@ -29,6 +30,7 @@ export interface IUpdateBoardInfosOption extends IBaseOption
export interface IUpdateInfoCondition
{
[EBoardKeyList.BrName]: boolean;
[EBoardKeyList.RoomName]: boolean;
[EBoardKeyList.CabinetName]: 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 { CommonModal } from '../Modal/ModalContainer';
import { app } from '../../../ApplicationServices/Application';
import { hot } from 'react-hot-loader/root';
import { UpdateBoardInfosStore } from '../../Store/UpdateBoardInfoStore';
import { Notes } from './BoardCommon';
import { Checkbox, H5, Classes, Button, Intent, HTMLSelect, Card, Position } from '@blueprintjs/core';
import { InputSelect } from '../Common';
import { app } from '../../../ApplicationServices/Application';
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 { BoardModalType } from './BoardModal';
import { ModalState } from '../Modal/ModalInterface';
import { toJS } from 'mobx';
import { CommandWrap } from '../../../Editor/CommandMachine';
import { BigFaceSelectOption, ComposingFaceSelectOption, LineTypeSelectOption } from '../../../Common/CommonSelectOption';
import { Board } from '../../../DatabaseServices/Entity/Board';
import { CommandWrap } from '../../../Editor/CommandMachine';
import { PromptStatus } from '../../../Editor/PromptResult';
import { MatColorCom, SealDrillCom } from './BoardFindCommon';
import { InitRectBoardDrillOption } from './CommonBoardOption';
import { userConfig } from '../../../Editor/UserConfig';
import { DrillType } from '../../Store/BoardInterface';
import { UpdateBoardInfosStore } from '../../Store/UpdateBoardInfoStore';
import { InputSelect } from '../Common';
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
{
@ -98,6 +98,24 @@ export class UpdateBoardInfoModal extends React.Component<IUpdateBoardInfoModalP
</Card>
<Card className="flex u-body">
<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">
<Checkbox
label="柜名"
@ -356,7 +374,12 @@ export class UpdateBoardInfoModal extends React.Component<IUpdateBoardInfoModalP
if (brRes.Status === PromptStatus.Cancel) return;
let br = brRes.Entity as Board;
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
{
//选取材质

@ -1,10 +1,10 @@
import { BoardStore } from "./BoardStore";
import { IUpdateBoardInfosOption } from "../Components/Board/UpdateBoardInfointerface";
import { action, observable, toJS } from "mobx";
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 { 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
{
@ -113,6 +113,8 @@ export class UpdateBoardInfosStore extends BoardStore
option[name].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)
option[name].highDrill = Array(4).fill(option[name].drillType);
this.nameOptionMap.set(name, option[name]);

Loading…
Cancel
Save