!2768 优化: 收口绘制界面改进,增加板名称自定义、辅助板独立板材选择

pull/2885/MERGE
钱若寒 3 months ago committed by 黄诗津
parent 1b18102911
commit 04b067ffad

@ -253,6 +253,18 @@ export class DrawClosingStrip implements Command
{ {
brs.push(br2); brs.push(br2);
br2.BoardProcessOption = store.BoardProcessOption; br2.BoardProcessOption = store.BoardProcessOption;
if (store.m_Option?.fuZhuBrName)
{
br2.BoardProcessOption[EBoardKeyList.BrMat] = store.m_Option?.fuZhuBrName;
}
if (store.m_Option?.fuZhuMaterial)
{
br2.BoardProcessOption[EBoardKeyList.Mat] = store.m_Option?.fuZhuMaterial;
}
if (store.m_Option?.fuZhuColor)
{
br2.BoardProcessOption[EBoardKeyList.Color] = store.m_Option?.fuZhuColor;
}
} }
br.Position = pos; br.Position = pos;
//更新总空间 //更新总空间

@ -317,7 +317,7 @@ export const DefaultSingleBoardOption: SingleBoardOption = {
Object.freeze(DefaultSingleBoardOption); Object.freeze(DefaultSingleBoardOption);
export const DefaultClosingStripOption: ClosingStripOption = { export const DefaultClosingStripOption: ClosingStripOption = {
version: 5, version: 6,
type: BoardType.Vertical, type: BoardType.Vertical,
name: "收口条", //辅助条占用 name: "收口条", //辅助条占用
striptype: StripType.H, striptype: StripType.H,
@ -331,6 +331,9 @@ export const DefaultClosingStripOption: ClosingStripOption = {
addSKTCabinetName: true, addSKTCabinetName: true,
brName: "左收口条", brName: "左收口条",
FuZhuType: StripType.V, FuZhuType: StripType.V,
fuZhuBrName: '',
fuZhuMaterial: '',
fuZhuColor: '',
}; };
Object.freeze(DefaultClosingStripOption); Object.freeze(DefaultClosingStripOption);

@ -4,7 +4,6 @@ import * as React from 'react';
import * as xaop from 'xaop'; import * as xaop from 'xaop';
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 { CheckObjectType } from '../../../Common/CheckoutVaildValue';
import { KeyBoard } from '../../../Common/KeyEnum'; import { KeyBoard } from '../../../Common/KeyEnum';
import { userConfig } from '../../../Editor/UserConfig'; import { userConfig } from '../../../Editor/UserConfig';
import { BehindBoardStore, BoardStore, ClosingStripStore, LayerBoardStore, SideBoardStore, SingleBoardStore, TopBottomBoardStore, VerticalBoardStore } from '../../Store/BoardStore'; import { BehindBoardStore, BoardStore, ClosingStripStore, LayerBoardStore, SideBoardStore, SingleBoardStore, TopBottomBoardStore, VerticalBoardStore } from '../../Store/BoardStore';
@ -13,7 +12,7 @@ import { AnyObject } from "../../Store/OptionInterface/IOptionInterface";
import { ModalState } from '../Modal/ModalInterface'; import { ModalState } from '../Modal/ModalInterface';
import { CommonModal } from './../Modal/ModalContainer'; import { CommonModal } from './../Modal/ModalContainer';
import { BehindBoardModal } from './BehindBoardModal'; import { BehindBoardModal } from './BehindBoardModal';
import { AutoCutCheckbox, Notes, SetBoardDataItem } from './BoardCommon'; import { AutoCutCheckbox, Notes } from './BoardCommon';
import { BoardModalType } from './BoardModalType'; import { BoardModalType } from './BoardModalType';
import { BoardProcessModal } from './BoardProcessModal'; import { BoardProcessModal } from './BoardProcessModal';
import { ClosingStripModal } from './ClosingStripModal'; import { ClosingStripModal } from './ClosingStripModal';
@ -177,18 +176,6 @@ export class BoardModal extends React.Component<BoardModalProps, {}>
}} }}
/> />
} }
{
this.props.type === BoardModalType.Skt &&
<div className='board-info'>
<SetBoardDataItem
type={CheckObjectType.BR}
optKey="brName"
option={store.m_Option}
title="板名"
placeHolder="输入板名"
/>
</div>
}
<BoardProcessModal type={this.props.type} opt={store.m_BoardProcessOption} topBottomOption={(store as TopBottomBoardStore).bottomBoardOption} drillOption={store.rectDrillOption} uiOpt={store.UIBoardProcessOption} /> <BoardProcessModal type={this.props.type} opt={store.m_BoardProcessOption} topBottomOption={(store as TopBottomBoardStore).bottomBoardOption} drillOption={store.rectDrillOption} uiOpt={store.UIBoardProcessOption} />
</div> </div>
<div className={Classes.CARD}> <div className={Classes.CARD}>

@ -1,14 +1,19 @@
import { Button, Checkbox, Classes, Label, Radio, RadioGroup } from '@blueprintjs/core'; import { Button, Checkbox, Classes, Label, Radio, RadioGroup } from '@blueprintjs/core';
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 { app } from '../../../ApplicationServices/Application'; import { app } from '../../../ApplicationServices/Application';
import { CheckObjectType } from '../../../Common/CheckoutVaildValue'; import { CheckObjectType } from '../../../Common/CheckoutVaildValue';
import { FixedNotZero } from '../../../Common/Utils'; import { FixedNotZero } from '../../../Common/Utils';
import { BrRelativePos } from '../../../DatabaseServices/Entity/BoardInterface'; import { BrRelativePos } from '../../../DatabaseServices/Entity/BoardInterface';
import { PromptStatus } from '../../../Editor/PromptResult'; import { PromptStatus } from '../../../Editor/PromptResult';
import { IGoodInfo } from '../../MaterialEditor/GoodsList';
import { GoodsListDiv } from '../../MaterialEditor/GoodsListDiv';
import { ClosingStripStore } from '../../Store/BoardStore'; import { ClosingStripStore } from '../../Store/BoardStore';
import { StripType } from "../../Store/OptionInterface/ClosingStripOption"; import { StripType } from "../../Store/OptionInterface/ClosingStripOption";
import { SetBoardDataItem } from './BoardCommon'; import { SetBoardDataBlock, SetBoardDataItem } from './BoardCommon';
import { IConfigOption } from './UserConfigComponent';
export const ClosingStripModal = export const ClosingStripModal =
@ -19,6 +24,8 @@ export const ClosingStripModal =
let uiOption = store.UIOption; let uiOption = store.UIOption;
let pars = [["width", "宽度"], ["thickness", "厚度"], ["frontShrink", "前缩"]]; let pars = [["width", "宽度"], ["thickness", "厚度"], ["frontShrink", "前缩"]];
let pars2 = [["name", "板名"], ["fzWidth", "宽度"], ["fzThickness", "厚度"]]; let pars2 = [["name", "板名"], ["fzWidth", "宽度"], ["fzThickness", "厚度"]];
let matPars = [["fuZhuBrName", "板材名"], ["fuZhuMaterial", "材料"], ["fuZhuColor", "颜色"]];
const showShopsRef = useRef(observable.box(false));
let getSizeValue = async (optKey: string) => let getSizeValue = async (optKey: string) =>
{ {
@ -44,10 +51,47 @@ export const ClosingStripModal =
app.Editor.MaskManage.ShowMask(); app.Editor.MaskManage.ShowMask();
}; };
const selectGoods = (good: IGoodInfo) =>
{
opt.fuZhuBrName = good.name;
opt.fuZhuMaterial = good.material;
opt.fuZhuColor = good.color;
showShopsRef.current.set(false);
};
const processOption = store.m_BoardProcessOption; const processOption = store.m_BoardProcessOption;
const ChangeBrName = (cof?: IConfigOption) =>
{
let option = cof ? cof.option : store.m_Option;
let title = "左";
switch (option.boardRelative)
{
case BrRelativePos.Right:
title = "右";
break;
case BrRelativePos.Top:
title = "上";
default:
break;
}
let brName = title + "收口条";
opt.brName = brName;
uiOption.brName = brName;
};
return ( return (
<div> <div>
<div> <div>
<SetBoardDataItem
className='closing-input'
type={CheckObjectType.BR}
optKey={'brName'}
option={opt}
uiOption={uiOption}
title={'板名'}
placeHolder="输入板名"
/>
<h6 className={Classes.HEADING}></h6> <h6 className={Classes.HEADING}></h6>
<RadioGroup <RadioGroup
onChange={e => onChange={e =>
@ -61,7 +105,7 @@ export const ClosingStripModal =
} }
store.ChangeCabinetName(); store.ChangeCabinetName();
store.ChangeBrName(); ChangeBrName();
}} }}
selectedValue={opt.boardRelative} selectedValue={opt.boardRelative}
> >
@ -128,6 +172,25 @@ export const ClosingStripModal =
) )
} }
</div> </div>
<div className="flex br-mat fuzhu-data">
<SetBoardDataBlock
type={CheckObjectType.R2B}
pars={matPars}
option={store.m_Option}
isInline={true}
/>
<button
style={{ width: "2rem", height: 72, marginLeft: 3 }}
className="bp3-button bp3-intent-success"
onClick={() => { showShopsRef.current.set(true); }}
></button>
{
showShopsRef.current.get() && <GoodsListDiv
open={showShopsRef.current}
select={selectGoods}
/>
}
</div>
<RadioGroup <RadioGroup
onChange={e => opt.FuZhuType = e.currentTarget.value as StripType} onChange={e => opt.FuZhuType = e.currentTarget.value as StripType}
selectedValue={opt.FuZhuType} selectedValue={opt.FuZhuType}

@ -140,6 +140,10 @@
.board-info .bp3-input { .board-info .bp3-input {
width: 9rem; width: 9rem;
} }
.closing-input .bp3-input {
width: 8rem;
}
} }
/* 板长宽厚尺寸拾取,板件拾取*/ /* 板长宽厚尺寸拾取,板件拾取*/
@ -221,6 +225,12 @@
} }
} }
#modal .fuzhu-data {
div.br-set {
margin-bottom: 0.5rem;
}
}
//板名称输入框大小 //板名称输入框大小
#modal #commonModal .bp3-dialog-body .br-name { #modal #commonModal .bp3-dialog-body .br-name {
width: @nameInput; width: @nameInput;
@ -368,7 +378,7 @@
} }
} }
#commonModal{ #commonModal {
.brmat-info { .brmat-info {
position: relative; position: relative;
@ -381,7 +391,7 @@
} }
} }
.room-brmat-info{ .room-brmat-info {
input { input {
width: 6.5rem; width: 6.5rem;
} }

@ -897,6 +897,13 @@ export class ClosingStripStore extends BoardStore<ClosingStripOption>
cof.option.FuZhuType = StripType.V; cof.option.FuZhuType = StripType.V;
cof.option.version = 5; cof.option.version = 5;
} }
if (cof.option.version < 6)
{
cof.option.version = 6;
cof.option.fuZhuBrName = '';
cof.option.fuZhuMaterial = '';
cof.option.fuZhuColor = '';
}
this.ChangeCabinetName(cof); this.ChangeCabinetName(cof);
super.UpdateOption(cof); super.UpdateOption(cof);
} }

@ -18,4 +18,7 @@ export interface ClosingStripOption extends BoardConfigOption
addSKTCabinetName: boolean; //柜名加收口名称 addSKTCabinetName: boolean; //柜名加收口名称
brName: string;//收口条板名 name被辅助条占用 brName: string;//收口条板名 name被辅助条占用
FuZhuType: StripType;//辅助条类型 FuZhuType: StripType;//辅助条类型
fuZhuBrName: string;//辅助条板材名
fuZhuMaterial: string;//辅助条材料
fuZhuColor: string;//辅助条颜色
} }

Loading…
Cancel
Save