!2114 新增:模板拾取增加锁定字条,优化Ui

pull/2136/MERGE
林三 2 years ago committed by ChenX
parent 6f16100763
commit 1252214bb9

@ -1,4 +1,4 @@
import { Button, Checkbox, Classes, Intent, Label, Tooltip } from '@blueprintjs/core';
import { Button, Card, Checkbox, Classes, Elevation, Intent, Label, Tooltip } from '@blueprintjs/core';
import { observer } from 'mobx-react';
import * as React from 'react';
import { app } from '../../../ApplicationServices/Application';
@ -22,6 +22,9 @@ export interface IGetRoomInfo
useMaterial?: boolean;
openDir?: BoardOpenDir | string;
remarks?: [string, string][];//备注
lockRoomName?: boolean; //锁定输入框的值
lockCabName?: boolean; //锁定输入框的值
lockBoardName?: boolean; //锁定输入框的值
}
interface IGetRoomCabNameProps
@ -46,9 +49,9 @@ export class GetRoomCabName extends React.Component<IGetRoomCabNameProps> {
{
let ent = enRes.Entity as Board;
let option = ent.BoardProcessOption;
this.props.option.roomName = option[EBoardKeyList.RoomName];
this.props.option.cabName = option[EBoardKeyList.CabinetName];
this.props.option.boardName = ent.Name;
if (!this.props.option.lockRoomName) this.props.option.roomName = option[EBoardKeyList.RoomName];
if (!this.props.option.lockCabName) this.props.option.cabName = option[EBoardKeyList.CabinetName];
if (!this.props.option.lockBoardName) this.props.option.boardName = ent.Name;
}
app.Editor.ModalManage.ToggleShow();
app.Editor.MaskManage.ShowMask();
@ -59,7 +62,14 @@ export class GetRoomCabName extends React.Component<IGetRoomCabNameProps> {
return (
<div className="flex get-name">
<div>
<Label className={Classes.INLINE}>
<Label className={Classes.INLINE + " lock"}>
<Tooltip content="勾选后,拾取不会改变输入框内容" >
<Checkbox
checked={option.lockRoomName}
onChange={() => option.lockRoomName = !option.lockRoomName}
/>
</Tooltip>
<span></span>
<input
tabIndex={1}
@ -67,57 +77,70 @@ export class GetRoomCabName extends React.Component<IGetRoomCabNameProps> {
className={Classes.INPUT}
value={option.roomName}
onChange={e => option.roomName = e.target.value}
disabled={option.lockRoomName}
/>
</Label>
<Label className={Classes.INLINE}>
<Label className={Classes.INLINE + " lock"}>
<Tooltip content="勾选后,拾取不会改变输入框内容" >
<Checkbox
checked={option.lockCabName}
onChange={() => option.lockCabName = !option.lockCabName}
/>
</Tooltip>
<span></span>
<input
tabIndex={1}
className={Classes.INPUT}
value={option.cabName}
onChange={this.handleChangeCabName}
// disabled={option.useCabName}
disabled={option.lockCabName}
/>
</Label>
<Tooltip content="勾选<板名跟随>时,且这里有输入板名称,则使用这里的板名称" >
<Label className={Classes.INLINE}>
<span></span>
<input
type="text"
tabIndex={1}
className={Classes.INPUT}
value={option.boardName}
onChange={e => option.boardName = e.target.value}
<Label className={Classes.INLINE + " lock"}>
<Tooltip content="勾选后,拾取不会改变输入框内容" >
<Checkbox
checked={option.lockBoardName}
onChange={() => option.lockBoardName = !option.lockBoardName}
/>
</Label>
</Tooltip>
</Tooltip>
<span></span>
<input
type="text"
className={Classes.INPUT}
value={option.boardName}
onChange={e => option.boardName = e.target.value}
disabled={option.lockBoardName}
/>
</Label>
</div>
<Button text="拾取" intent={Intent.SUCCESS} onClick={this.getOption} />
{
this.props.needBoardName &&
<div>
<Card elevation={Elevation.ONE} className='needBoardName'>
<span className='tip'></span>
<Tooltip content="当不勾选<柜名跟随>时,如果拾取的空间有柜名房名,那么使用拾取空间的柜名房名!">
<Checkbox
style={{ marginBottom: 0, marginLeft: 10 }}
label="柜名跟随"
checked={option.useCabName}
onChange={() => option.useCabName = !option.useCabName}
/>
</Tooltip>
<Checkbox
style={{ marginBottom: 0, marginLeft: 10, marginTop: 10 }}
label="板名跟随"
checked={option.useBoardName}
onChange={() => option.useBoardName = !option.useBoardName}
/>
<Checkbox
style={{ marginBottom: 0, marginLeft: 10, marginTop: 10 }}
label="材料跟随"
checked={option.useMaterial}
onChange={() => option.useMaterial = !option.useMaterial}
/>
</div>
<Tooltip content="模块替换时,新模块的板名使用左侧输入框板名的值!">
<Checkbox
label="板名跟随"
checked={option.useBoardName}
onChange={() => option.useBoardName = !option.useBoardName}
/>
</Tooltip>
<Tooltip content="模块替换时,新模块的材料使用被替换的模块的材料!">
<Checkbox
label="材料跟随"
style={{ marginBottom: 0 }}
checked={option.useMaterial}
onChange={() => option.useMaterial = !option.useMaterial}
/>
</Tooltip>
</Card>
}
</div>
);

@ -1,6 +1,7 @@
#commonModal {
.get-name {
align-items: center;
margin-left: 30px;
button {
align-self: stretch;
@ -21,6 +22,33 @@
.bp3-dialog-footer {
height: 110px;
.lock{
display : flex;
margin-bottom: 2px;
.bp3-checkbox{
margin: 0;
padding: 0;
}
}
.needBoardName{
display : flex;
flex-direction: column;
margin-left : 50px;
padding : 11px 35px 8px 30px;
background-color: #EBF1F5;
.bp3-checkbox{
margin-bottom: 7px;
}
.tip{
position: absolute;
margin : -19px -23px
}
}
}
.flex-between {

@ -60,6 +60,9 @@ export class TopllineManage extends React.Component<ITopllineManageProps, ITopll
boardName: "",
useBoardName: false,
useMaterial: false,
lockBoardName: false,
lockCabName: false,
lockRoomName: false
};
@observable private currentInfo = { id: "", name: "" };
commonPanel = React.createRef<CommonPanel>();

Loading…
Cancel
Save