mirror of https://gitee.com/cf-fz/WebCAD.git
commit
3ee1505162
@ -0,0 +1,12 @@
|
||||
import { Command } from "../../Editor/CommandMachine";
|
||||
import { app } from "../../ApplicationServices/Application";
|
||||
import { ModalPosition } from "../../UI/Components/Modal/ModalsManage";
|
||||
import { TemplateManage } from "../../UI/Components/Template/TemplateComponent";
|
||||
|
||||
export class ShowTemplate implements Command
|
||||
{
|
||||
async exec()
|
||||
{
|
||||
app.Editor.ModalManage.RenderModal(TemplateManage, ModalPosition.Center, {});
|
||||
}
|
||||
}
|
@ -0,0 +1,61 @@
|
||||
import * as React from 'react';
|
||||
import { Label, Classes, Button, Intent } from '@blueprintjs/core';
|
||||
import { app } from '../../../ApplicationServices/Application';
|
||||
import { Board } from '../../../DatabaseServices/Entity/Board';
|
||||
import { PromptStatus } from '../../../Editor/PromptResult';
|
||||
import { EBoardKeyList } from '../../../Common/BoardKeyList';
|
||||
|
||||
export interface IGetRoomCabNameProps
|
||||
{
|
||||
option: { roomName: string, cabName: string }
|
||||
}
|
||||
|
||||
export default class GetRoomCabName extends React.Component<IGetRoomCabNameProps> {
|
||||
private getOption = async () =>
|
||||
{
|
||||
app.Editor.ModalManage.ToggleShow();
|
||||
app.Editor.MaskManage.Clear();
|
||||
|
||||
let enRes = await app.Editor.GetEntity({
|
||||
Msg: "选择要拾取的板件",
|
||||
Filter: { filterTypes: [Board] }
|
||||
});
|
||||
|
||||
if (enRes.Status === PromptStatus.OK && enRes.Entity)
|
||||
{
|
||||
let option = (enRes.Entity as Board).BoardProcessOption;
|
||||
this.props.option.roomName = option[EBoardKeyList.RoomName];
|
||||
this.props.option.cabName = option[EBoardKeyList.CabinetName];
|
||||
}
|
||||
app.Editor.ModalManage.ToggleShow();
|
||||
app.Editor.MaskManage.ShowMask();
|
||||
}
|
||||
public render()
|
||||
{
|
||||
return (
|
||||
<div className="flex get-name">
|
||||
<div>
|
||||
<Label className={Classes.INLINE}>
|
||||
<span>房名</span>
|
||||
<input
|
||||
type="text"
|
||||
className={Classes.INPUT}
|
||||
value={this.props.option.roomName}
|
||||
onChange={e => this.props.option.roomName = e.target.value}
|
||||
/>
|
||||
</Label>
|
||||
<Label className={Classes.INLINE}>
|
||||
<span>柜名</span>
|
||||
<input
|
||||
className={Classes.INPUT}
|
||||
value={this.props.option.cabName}
|
||||
onChange={e => this.props.option.cabName = e.target.value}
|
||||
/>
|
||||
</Label>
|
||||
</div>
|
||||
<Button text="拾取" intent={Intent.SUCCESS} onClick={this.getOption} />
|
||||
{/* <Checkbox label="智能拾取" inline /> */}
|
||||
</div>
|
||||
);
|
||||
}
|
||||
}
|
@ -0,0 +1,69 @@
|
||||
#commonModal{
|
||||
.get-name{
|
||||
align-items: center;
|
||||
button{
|
||||
align-self: stretch;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#commonModal .template{
|
||||
max-width: 900px;
|
||||
width: 60vw;
|
||||
min-height: 80vh;
|
||||
.bp3-dialog-body>div:first-child{
|
||||
min-width: 200px;
|
||||
}
|
||||
.bp3-tree{
|
||||
height: 100%;
|
||||
}
|
||||
.template-right{
|
||||
.template-list{
|
||||
padding: 0;
|
||||
list-style: none;
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
justify-content: space-around;
|
||||
width: 60%;
|
||||
box-shadow: 1px 0 0 0 rgba(16, 22, 26, 0.15);
|
||||
}
|
||||
.template-detail{
|
||||
width: 40%;
|
||||
&>div{
|
||||
input{
|
||||
height: 30px;
|
||||
}
|
||||
align-items: flex-start;
|
||||
}
|
||||
&>ul{
|
||||
list-style: none;
|
||||
padding: 0;
|
||||
text-align: center;
|
||||
&>li{
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
height: 25px;
|
||||
align-items: center;
|
||||
&>span{
|
||||
width: 25%;
|
||||
}
|
||||
}
|
||||
&>li:first-child{
|
||||
span{
|
||||
background: #ccc;
|
||||
}
|
||||
}
|
||||
&>li:not(:first-child){
|
||||
box-shadow: 0 1px 0 0 rgba(16, 22, 26, 0.15);
|
||||
span{
|
||||
box-shadow: 1px 0 0 0 rgba(16, 22, 26, 0.15);
|
||||
}
|
||||
input{
|
||||
height: 25px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,48 @@
|
||||
import * as React from 'react';
|
||||
import { Classes, Button } from '@blueprintjs/core';
|
||||
|
||||
export interface ITemplateDetailProps
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
export class TemplateDetail extends React.Component<ITemplateDetailProps> {
|
||||
public render()
|
||||
{
|
||||
return (
|
||||
<div className="template-detail">
|
||||
<div className="flex">
|
||||
<input type="text" className="flex" />
|
||||
<div>
|
||||
<Button text="附加到标签" />
|
||||
<Button text="移出标签" />
|
||||
</div>
|
||||
</div>
|
||||
<ul>
|
||||
<li>
|
||||
<span>参数名</span>
|
||||
<span>参数值</span>
|
||||
<span>备注</span>
|
||||
<span>表达式</span>
|
||||
</li>
|
||||
<li>
|
||||
<span>L</span>
|
||||
<span>600</span>
|
||||
<span>宽</span>
|
||||
<input type="text"
|
||||
className={Classes.INPUT}
|
||||
/>
|
||||
</li>
|
||||
<li>
|
||||
<span>L</span>
|
||||
<span>600</span>
|
||||
<span>宽</span>
|
||||
<input type="text"
|
||||
className={Classes.INPUT}
|
||||
/>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
}
|
@ -0,0 +1,30 @@
|
||||
import * as React from 'react';
|
||||
import { TemplateDetail } from './TemplateDetail';
|
||||
|
||||
export interface ITemplateListProps
|
||||
{
|
||||
}
|
||||
const TestImg = "https://chenfeng.tech:7779/CAD/images/default.svg";
|
||||
export class TemplateList extends React.Component<ITemplateListProps> {
|
||||
public render()
|
||||
{
|
||||
return (
|
||||
<div className="flex template-right">
|
||||
<ul className="template-list">
|
||||
{
|
||||
Array(8).fill(TestImg).map(i =>
|
||||
{
|
||||
return (
|
||||
<li>
|
||||
<img src={i} alt="" />
|
||||
</li>
|
||||
)
|
||||
})
|
||||
}
|
||||
</ul>
|
||||
<TemplateDetail />
|
||||
</div>
|
||||
);
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in new issue