From 9c98cdd38f70227165bb88f5e4acf904ef122d66 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=84=E8=AF=97=E6=B4=A5?= <2723065175@qq.com> Date: Tue, 23 Nov 2021 06:01:40 +0000 Subject: [PATCH] =?UTF-8?q?!1681=20=E6=96=B0=E5=A2=9E:=E6=94=B6=E5=8F=A3?= =?UTF-8?q?=E6=9D=A1,=E5=8D=95=E6=9D=BF,=E5=B1=82=E6=9D=BF,=E5=B7=A6?= =?UTF-8?q?=E5=8F=B3=E4=BE=A7=E6=9D=BF,=E6=9D=BF=E4=BB=B6=E5=B1=9E?= =?UTF-8?q?=E6=80=A7=E7=95=8C=E9=9D=A2=E7=AD=89=E6=B7=BB=E5=8A=A0=E5=B0=BA?= =?UTF-8?q?=E5=AF=B8=E6=8B=BE=E5=8F=96=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/UI/Components/BatchModifyPanelModal.tsx | 11 +- src/UI/Components/Board/BehindBoardModal.tsx | 77 ++++++-- src/UI/Components/Board/BoardCommon.tsx | 183 +++++++++++++----- src/UI/Components/Board/BoardConfigModal.tsx | 55 +++++- src/UI/Components/Board/ClosingStripModal.tsx | 88 +++++++-- src/UI/Components/Board/SingleBoardModal.tsx | 74 ++++++- .../Components/Board/TopBottomBoardModal.tsx | 5 +- .../Components/Board/leftRightBoardModal.tsx | 108 +++++++++-- .../Modal/ModalStyle/BoardModal.less | 111 ++++++++++- src/UI/Components/Toaster.tsx | 34 +++- 10 files changed, 613 insertions(+), 133 deletions(-) diff --git a/src/UI/Components/BatchModifyPanelModal.tsx b/src/UI/Components/BatchModifyPanelModal.tsx index 5858c8927..91bbc4fcf 100644 --- a/src/UI/Components/BatchModifyPanelModal.tsx +++ b/src/UI/Components/BatchModifyPanelModal.tsx @@ -7,6 +7,7 @@ import { app } from "../../ApplicationServices/Application"; import { CheckObjectType, CheckoutValid } from "../../Common/CheckoutVaildValue"; import { DataAdapter } from "../../Common/DataAdapter"; import { KeyBoard } from "../../Common/KeyEnum"; +import { FixedNotZero } from "../../Common/Utils"; import { Board } from "../../DatabaseServices/Entity/Board"; import { DefaultBatchModifyPanelOption } from "../../Editor/DefaultConfig"; import { PromptStatus } from "../../Editor/PromptResult"; @@ -86,13 +87,9 @@ export class BatchModifyPanelModal extends React.Component @@ -76,23 +79,41 @@ export class BehindBoardModal extends React.Component<{ store?: BehindBoardStore -
- - +
+
+
+
+
); } + private getSizeValue = async (optKey: string) => + { + app.Editor.ModalManage.ToggleShow(); + app.Editor.MaskManage.Clear(); + let distRes = await app.Editor.GetDistance({ + Msg: "点取距离或者输入" + }); + if (distRes.Status === PromptStatus.OK) + { + let dist = distRes.Distance; + this.props.store.m_Option[optKey] = FixedNotZero(dist, 2); + this.props.store.UIOption[optKey] = FixedNotZero(dist, 2); + } + app.Editor.ModalManage.ToggleShow(); + app.Editor.MaskManage.ShowMask(); + }; } diff --git a/src/UI/Components/Board/BoardCommon.tsx b/src/UI/Components/Board/BoardCommon.tsx index 85ac5fd11..9f0a21043 100644 --- a/src/UI/Components/Board/BoardCommon.tsx +++ b/src/UI/Components/Board/BoardCommon.tsx @@ -1,12 +1,13 @@ -import { Button, Checkbox, Classes, HTMLSelect, Intent, Radio, RadioGroup } from '@blueprintjs/core'; +import { Button, Checkbox, Classes, HTMLSelect, Intent, Label, Radio, RadioGroup } from '@blueprintjs/core'; import { observer } from 'mobx-react'; import * as React from 'react'; import { app } from '../../../ApplicationServices/Application'; import { EBoardKeyList } from '../../../Common/BoardKeyList'; import { CheckObjectType } from '../../../Common/CheckoutVaildValue'; import { safeEval } from '../../../Common/eval'; -import { GetEntity } from '../../../Common/Utils'; +import { FixedNotZero, GetEntity } from '../../../Common/Utils'; import { Board } from '../../../DatabaseServices/Entity/Board'; +import { PromptStatus } from '../../../Editor/PromptResult'; import { TempEditor } from '../../../Editor/TempEditor'; import { userConfig } from '../../../Editor/UserConfig'; import { AnyObject, BoardConfigOption, BoardProcessOption, BoardType, BrRelativePos, DrillType, IBaseOption, IDrawBoardAutoCutOption, IHightDrillOption, IUiOption, TBBoardOption } from '../../Store/BoardInterface'; @@ -51,6 +52,7 @@ interface ISetBlockOption } interface TBProps { + par: string[][]; pars: string[][]; option: TBBoardOption; uiOption: Object; @@ -114,6 +116,22 @@ export const SetBoardDataBlock = observer( export const TBBoardDataBlock = observer( (props: TBProps) => { + let getSizeValue = async (optKey: string) => + { + app.Editor.ModalManage.ToggleShow(); + app.Editor.MaskManage.Clear(); + let distRes = await app.Editor.GetDistance({ + Msg: "点取距离或者输入" + }); + if (distRes.Status === PromptStatus.OK) + { + let dist = distRes.Distance; + props.option[optKey] = parseFloat(dist.toFixed(2)); + (props.uiOption as TBBoardOption)[optKey] = parseFloat(dist.toFixed(2)); + } + app.Editor.ModalManage.ToggleShow(); + app.Editor.MaskManage.ShowMask(); + }; return (
-
- { - props.pars.map(([k, v]) => - { - if (k === "offset" && !props.istop) - v = "下留"; - return ( - - ); - }) - } +
+ <> +
+ { + props.par.map(([k, v]) => + { + if (k === "offset" && !props.istop) + v = "下留"; + return ( +
+
+ { + props.pars.map(([k, v]) => + { + return ( + + + ); + })} +
+
); @@ -181,8 +224,7 @@ interface BroadPosProps @observer export class BoardRePosBlock extends React.Component { - private pars = - [["calcSpaceSize", "空间"], ["count", "板数"], ["thickness", "板厚"]]; + private pars = [["calcSpaceSize", "空间"], ["thickness", "板厚"]]; private spaceSizeInputEl: HTMLInputElement; private countInputEl: HTMLInputElement; private updateFocus = (k: string) => @@ -224,6 +266,34 @@ export class BoardRePosBlock extends React.Component { } }, 0); }; + private getSizeValue = async (optKey: string) => + { + app.Editor.ModalManage.ToggleShow(); + app.Editor.MaskManage.Clear(); + let distRes = await app.Editor.GetDistance({ + Msg: "点取距离或者输入" + }); + if (distRes.Status === PromptStatus.OK) + { + let option = this.props.option; + let uiOption = this.props.uiOption; + let dist: number; + if (optKey === "calcSpaceSize") + { + dist = distRes.Distance; + option.calcSpaceSize = dist.toFixed(2); + uiOption.calcSpaceSize = FixedNotZero(dist, 2); + } + else if (optKey === "thickness") + { + dist = Math.abs(distRes.Distance); + option.thickness = parseFloat(dist.toFixed(2)); + uiOption.thickness = option.thickness.toString(); + } + } + app.Editor.ModalManage.ToggleShow(); + app.Editor.MaskManage.ShowMask(); + }; componentDidMount() { setTimeout(() => @@ -249,28 +319,47 @@ export class BoardRePosBlock extends React.Component { } -
- { - this.pars.map(([k, v]) => - - { - if (k === "calcSpaceSize") - this.spaceSizeInputEl = el; - else if (k === 'count') - this.countInputEl = el; - }} - type={CheckObjectType.BR} - key={k} - optKey={k} - uiOption={this.props.uiOption} - option={this.props.option} - title={v} - isDisabled={(k === "calcSpaceSize" && this.props.option.boardRelative === BrRelativePos.Div)} - mounted={() => this.updateFocus(k)} - /> - ) - } +
+
+ { + this.pars.map(([k, v]) => +
+
+ { this.countInputEl = el; }} + type={CheckObjectType.BR} + key={"count"} + optKey={"count"} + uiOption={this.props.uiOption} + option={this.props.option} + title={"数量"} + mounted={() => this.updateFocus("count")} + /> +
); diff --git a/src/UI/Components/Board/BoardConfigModal.tsx b/src/UI/Components/Board/BoardConfigModal.tsx index ec7dcd260..3cd8542eb 100644 --- a/src/UI/Components/Board/BoardConfigModal.tsx +++ b/src/UI/Components/Board/BoardConfigModal.tsx @@ -1,4 +1,4 @@ -import { Button, Checkbox, Intent } from "@blueprintjs/core"; +import { Button, Checkbox, Intent, Label } from "@blueprintjs/core"; import { IObservableValue } from "mobx"; import { observer } from "mobx-react"; import * as React from 'react'; @@ -20,6 +20,7 @@ import { Polyline } from "../../../DatabaseServices/Entity/Polyline"; import { Region } from "../../../DatabaseServices/Entity/Region"; import { CommandWrap } from "../../../Editor/CommandMachine"; import { JigUtils } from "../../../Editor/JigUtils"; +import { PromptStatus } from "../../../Editor/PromptResult"; import { SelectBox, SelectType } from "../../../Editor/SelectBox"; import { CreateContours } from "../../../Geometry/CreateContour2"; import { ContourTreeNode } from "../../../Geometry/ExtrudeEdgeGeometry2"; @@ -29,7 +30,7 @@ import { RightPanelStore } from "../../Store/RightPanelStore/RightPanelStore"; import { RightTabId } from "../RightPanel/RightPanel"; import { AppToaster } from "../Toaster"; import { TempEditor } from './../../../Editor/TempEditor'; -import { BoardTypeComponent, ItemName, SetBoardDataBlock } from "./BoardCommon"; +import { BoardTypeComponent, ItemName, SetBoardDataBlock, SetBoardDataItem } from "./BoardCommon"; import { LastExtractBoardContour } from "./LastExtractBoardContour"; interface BoardConfigProps @@ -80,13 +81,25 @@ export class BoardConfigModal extends React.Component{
- +
+ { + this.pars.map(([k, v]) => +
{
); } + /** + *尺寸拾取 + */ + private getSizeValue = async (optKey: string) => + { + app.Editor.ModalManage.ToggleShow(); + app.Editor.MaskManage.Clear(); + let distRes = await app.Editor.GetDistance({ + Msg: "点取距离或者输入", + }); + if (distRes.Status === PromptStatus.OK) + { + let dist = Math.abs(distRes.Distance); + if (dist !== 0) + { + let boardConfig = this.props.boardConfig; + let uiBoardConfig = this.props.uiBoardConfig; + boardConfig[optKey] = parseFloat(dist.toFixed(2)); + uiBoardConfig[optKey] = parseFloat(dist.toFixed(2)); + } + } + app.Editor.ModalManage.ToggleShow(); + app.Editor.MaskManage.ShowMask(); + }; /** * 提取 */ diff --git a/src/UI/Components/Board/ClosingStripModal.tsx b/src/UI/Components/Board/ClosingStripModal.tsx index 1869b29d1..360679199 100644 --- a/src/UI/Components/Board/ClosingStripModal.tsx +++ b/src/UI/Components/Board/ClosingStripModal.tsx @@ -1,12 +1,14 @@ +import { Button, Checkbox, Classes, Label, Radio, RadioGroup } from '@blueprintjs/core'; import { observer } from 'mobx-react'; import * as React from 'react'; -import { ClosingStripStore } from '../../Store/BoardStore'; -import { Classes, RadioGroup, Radio, Checkbox } from '@blueprintjs/core'; -import { BrRelativePos, StripType } from '../../Store/BoardInterface'; -import { SetBoardDataBlock } from './BoardCommon'; -import { CheckObjectType } from '../../../Common/CheckoutVaildValue'; +import { app } from '../../../ApplicationServices/Application'; import { EBoardKeyList } from '../../../Common/BoardKeyList'; -import { ClosingStripReg } from '../../../Common/Utils'; +import { CheckObjectType } from '../../../Common/CheckoutVaildValue'; +import { ClosingStripReg, FixedNotZero } from '../../../Common/Utils'; +import { PromptStatus } from '../../../Editor/PromptResult'; +import { BrRelativePos, StripType } from '../../Store/BoardInterface'; +import { ClosingStripStore } from '../../Store/BoardStore'; +import { SetBoardDataItem } from './BoardCommon'; export const ClosingStripModal = @@ -18,6 +20,30 @@ export const ClosingStripModal = let pars = [["width", "宽度"], ["thickness", "厚度"], ["frontShrink", "前缩"]]; let pars2 = [["fzWidth", "宽度"], ["fzThickness", "厚度"]]; + let getSizeValue = async (optKey: string) => + { + app.Editor.ModalManage.ToggleShow(); + app.Editor.MaskManage.Clear(); + let distRes = await app.Editor.GetDistance({ + Msg: "点取距离或者输入" + }); + if (distRes.Status === PromptStatus.OK) + { + let dist: number; + if (optKey === "frontShrink") + dist = distRes.Distance; + else + dist = Math.abs(distRes.Distance); + if (optKey === "frontShrink" || dist !== 0) + { + opt[optKey] = parseFloat(dist.toFixed(2)); + uiOption[optKey] = FixedNotZero(dist, 2); + } + } + app.Editor.ModalManage.ToggleShow(); + app.Editor.MaskManage.ShowMask(); + }; + const processOption = store.m_BoardProcessOption; return (
@@ -58,24 +84,50 @@ export const ClosingStripModal =
横条大小
- +
+ { + pars.map(([k, v]) => +
辅助条
opt.isDrawFuZhu = !opt.isDrawFuZhu} /> - +
+ { + pars2.map(([k, v]) => +
); })); diff --git a/src/UI/Components/Board/SingleBoardModal.tsx b/src/UI/Components/Board/SingleBoardModal.tsx index 5bee8038d..5fca52b8a 100644 --- a/src/UI/Components/Board/SingleBoardModal.tsx +++ b/src/UI/Components/Board/SingleBoardModal.tsx @@ -1,15 +1,20 @@ +import { Button, Label } from "@blueprintjs/core"; import { observer } from "mobx-react"; import * as React from 'react'; -import { DataAdapter } from '../../../Common/DataAdapter'; -import { SingleBoardStore } from "../../Store/BoardStore"; -import { BoardTypeComponent, ItemName, SetBoardDataBlock } from "./BoardCommon"; +import { app } from "../../../ApplicationServices/Application"; import { CheckObjectType } from "../../../Common/CheckoutVaildValue"; +import { Board } from "../../../DatabaseServices/Entity/Board"; +import { PromptStatus } from "../../../Editor/PromptResult"; +import { SingleBoardStore } from "../../Store/BoardStore"; +import { BoardTypeComponent, ItemName, SetBoardDataBlock, SetBoardDataItem } from "./BoardCommon"; export const SingleBoardModal = (observer((props: { store?: SingleBoardStore; }) => { let pars = [["height", "板高"], ["width", "板宽"], ["thickness", "板厚"], - ["rotateX", "旋转X"], ["rotateY", "旋转Y"], ["rotateZ", "旋转Z"] + ]; + let rotatePars = [ + ["rotateX", "旋转X"], ["rotateY", "旋转Y"], ["rotateZ", "旋转Z"] ]; let processPars = [ ["spliteHeight", "拆单高"], ["spliteWidth", "拆单宽"], ["spliteThickness", "拆单厚"] @@ -18,13 +23,72 @@ export const SingleBoardModal = let opt = props.store.m_Option; let uiOpt = props.store.UIOption; let processOpt = props.store.m_BoardProcessOption; + + let getSizeValue = async (optKey: string) => + { + app.Editor.ModalManage.ToggleShow(); + app.Editor.MaskManage.Clear(); + let distRes = await app.Editor.GetDistance({ + Msg: "点取距离或者输入" + }); + if (distRes.Status === PromptStatus.OK) + { + const store = props.store; + let dist = Math.abs(distRes.Distance); + if (dist !== 0) + store.m_Option[optKey] = parseFloat(dist.toFixed(2)); + store.UpdateOption({ option: store.m_Option }); + } + app.Editor.ModalManage.ToggleShow(); + app.Editor.MaskManage.ShowMask(); + }; + let getlrBoardValue = async () => + { + app.Editor.ModalManage.ToggleShow(); + app.Editor.MaskManage.Clear(); + const store = props.store; + + let brRes = await app.Editor.GetEntity({ Msg: "选择板件", NotNone: true, Filter: { filterTypes: [Board] } }); + if (brRes.Status === PromptStatus.OK) + { + let br = brRes.Entity as Board; + store.m_Option.height = parseFloat(br.Height.toFixed(2)); + store.m_Option.width = parseFloat(br.Width.toFixed(2)); + store.m_Option.thickness = parseFloat(br.Thickness.toFixed(2)); + store.UpdateOption({ option: store.m_Option }); + } + app.Editor.ModalManage.ToggleShow(); + app.Editor.MaskManage.ShowMask(); + }; return (
+
+
+ { + pars.map(([k, v]) => +
+
diff --git a/src/UI/Components/Board/leftRightBoardModal.tsx b/src/UI/Components/Board/leftRightBoardModal.tsx index adb70ec3b..96ae26ca5 100644 --- a/src/UI/Components/Board/leftRightBoardModal.tsx +++ b/src/UI/Components/Board/leftRightBoardModal.tsx @@ -1,21 +1,107 @@ +import { Button, Label } from '@blueprintjs/core'; import { observer } from 'mobx-react'; import * as React from 'react'; -import { SideBoardStore } from '../../Store/BoardStore'; -import { SetBoardDataBlock } from './BoardCommon'; +import { app } from '../../../ApplicationServices/Application'; import { CheckObjectType } from '../../../Common/CheckoutVaildValue'; - +import { Board } from '../../../DatabaseServices/Entity/Board'; +import { PromptStatus } from '../../../Editor/PromptResult'; +import { SideBoardStore } from '../../Store/BoardStore'; +import { SetBoardDataBlock, SetBoardDataItem } from './BoardCommon'; export const LeftRightBoardModal = (observer((props: { store?: SideBoardStore; }) => { - let pars = [["height", "柜高"], ["width", "柜深"], ["thickness", "板厚"], ["spaceSize", "总宽"], ["leftShrink", "左内缩"], ["rightShrink", "右内缩"]]; + let sizepars = [["height", "柜高"], ["width", "柜深"], ["thickness", "板厚"]]; + let pars = [["leftShrink", "左内缩"], ["rightShrink", "右内缩"]]; + + let getSizeValue = async (optKey: string) => + { + app.Editor.ModalManage.ToggleShow(); + app.Editor.MaskManage.Clear(); + let distRes = await app.Editor.GetDistance({ + Msg: "点取距离或者输入" + }); + if (distRes.Status === PromptStatus.OK) + { + let dist: number; + if (optKey === "spaceSize") + dist = distRes.Distance; + else + dist = Math.abs(distRes.Distance); + const store = props.store; + if (optKey === 'spaceSize' || dist !== 0) + store.m_Option[optKey] = parseFloat(dist.toFixed(2)); + store.UpdateOption({ option: store.m_Option }); + } + app.Editor.ModalManage.ToggleShow(); + app.Editor.MaskManage.ShowMask(); + }; + let getlrBoardValue = async () => + { + app.Editor.ModalManage.ToggleShow(); + app.Editor.MaskManage.Clear(); + const store = props.store; + + let brRes = await app.Editor.GetEntity({ Msg: "选择板件", NotNone: true, Filter: { filterTypes: [Board] } }); + if (brRes.Status === PromptStatus.OK) + { + let br = brRes.Entity as Board; + store.m_Option.height = parseFloat(br.Height.toFixed(2)); + store.m_Option.width = parseFloat(br.Width.toFixed(2)); + store.m_Option.thickness = parseFloat(br.Thickness.toFixed(2)); + store.UpdateOption({ option: store.m_Option }); + } + app.Editor.ModalManage.ToggleShow(); + app.Editor.MaskManage.ShowMask(); + }; return ( - +
+
+
+ { + sizepars.map(([k, v]) => +
+
+
+
+
+ +
+
); })); diff --git a/src/UI/Components/Modal/ModalStyle/BoardModal.less b/src/UI/Components/Modal/ModalStyle/BoardModal.less index fa6479d89..0138d3503 100644 --- a/src/UI/Components/Modal/ModalStyle/BoardModal.less +++ b/src/UI/Components/Modal/ModalStyle/BoardModal.less @@ -7,6 +7,30 @@ width: @infoSelectWidth; } + /*板件属性尺寸拾取*/ + .br-size{ + .bp3-label{ + display: flex; + margin-bottom: 0; + + &>div{ + display: flex; + + :last-child{ + margin-top: 0; + width: 60px; + } + } + + .bp3-button { + min-height: 10px; + width: 45px; + height: 17px; + margin-left: 5px; + } + } + } + .board-info>.bp3-label input { width: @infoSelectWidth; } @@ -91,13 +115,90 @@ /* 板材信息 */ #commonModal { - .bp3-input, - .lr-br .bp3-input { - width: @inputWidth; + .bp3-input, + .lr-br .bp3-input { + width: @inputWidth; + } + + .boardSize .bp3-input { + width: 3rem; + } +} +/* 板长宽厚尺寸拾取,板件拾取*/ +#commonModal { + .br-lkg{ + display: flex; + + &>div{ + .bp3-label{ + display: flex; + margin-bottom: 0; + + &>div{ + display: flex; + + :last-child{ + margin-top: 0; + } + } + + .bp3-button { + min-height: 10px; + width: 30px; + height: 17px; + margin-left: 3px; + margin-right: 5px; + } + } + } + + &>button{ + width: 2rem; + height: 75px; + } } - .boardSize .bp3-input { - width: 3rem; + .interval{ + display: flex; + + &>div{ + display: flex; + margin-bottom: 5px; + + :last-child{ + margin-top: 0; + } + } + + .bp3-button { + min-height: 10px; + width: 30px; + height: 17px; + margin-left: 3px; + margin-right: 5px; + } + } +} +/* 尺寸拾取*/ +#modal .pick-br{ + .bp3-label{ + display: flex; + + &>div{ + display: flex; + margin-bottom: 0; + + :last-child{ + margin-top: 0; + } + } + + .bp3-button { + min-height: 10px; + width: 30px; + height: 17px; + margin-left: 3px; + } } } diff --git a/src/UI/Components/Toaster.tsx b/src/UI/Components/Toaster.tsx index 470b8e45a..82747fd31 100644 --- a/src/UI/Components/Toaster.tsx +++ b/src/UI/Components/Toaster.tsx @@ -1,5 +1,5 @@ import { Intent, IToastOptions, Position, Toaster, Tooltip } from "@blueprintjs/core"; -import { observable } from "mobx"; +import { autorun, observable } from "mobx"; import { observer } from "mobx-react"; import * as React from 'react'; import { CheckObjectType, CheckoutValid } from "../../Common/CheckoutVaildValue"; @@ -63,6 +63,7 @@ export class ToasterInput extends React.Component static defaultProps = { isUpper: false }; + getErrorMsg = (v: string) => { this.errorMsg = CheckoutValid.CheckOption(this.props.type, this.props.optKey, v); @@ -90,14 +91,14 @@ export class ToasterInput extends React.Component { e.target.classList.remove("bp3-intent-danger"); } - if (typeof this.showData[this.props.optKey] === "number") - { - let val = safeEval(newVal); - if (!isNaN(val)) - this.showData[this.props.optKey] = val; - } - else - this.showData[this.props.optKey] = newVal; + // if (typeof this.showData[this.props.optKey] === "number") + // { + // let val = safeEval(newVal); + // if (!isNaN(val)) + // this.showData[this.props.optKey] = val; + // } + // else + this.showData[this.props.optKey] = newVal; if (this.hideErrorMsg && typeof this.props.option[this.props.optKey] === 'number') { @@ -148,10 +149,23 @@ export class ToasterInput extends React.Component intent: Intent.DANGER, }); } + + private DisposeMobxAutorun: Function; componentDidMount() { - this.getErrorMsg(this.showData[this.props.optKey]); + this.DisposeMobxAutorun = autorun(() => + { + this.getErrorMsg(this.showData[this.props.optKey]); + }); + } + + + componentWillUnmount() + { + if (this.DisposeMobxAutorun) this.DisposeMobxAutorun(); + this.DisposeMobxAutorun = undefined; } + UNSAFE_componentWillReceiveProps(nextProps) { if (this.props.type === CheckObjectType.BBS)