Skip to content
ne-topology.component.html 40.2 KiB
Newer Older
wangqinghua's avatar
wangqinghua committed
<div nz-row class="breadcrumbs">
wangqinghua's avatar
wangqinghua committed
    <div nz-col nzSpan="16">
        <nz-breadcrumb class="padding-8-0">
            <nz-breadcrumb-item>
                首页
            </nz-breadcrumb-item>
            <nz-breadcrumb-item>
                <a>告警管理</a>
            </nz-breadcrumb-item>
            <nz-breadcrumb-item>
                告警推送设置
            </nz-breadcrumb-item>
        </nz-breadcrumb>
    </div>
    <div nz-col nzSpan="8" class="text-right">
        <button nz-button nzType="primary"><i class="anticon anticon-search"></i></button>
        <button nz-button nzType="primary"><i class="anticon anticon-sync"></i></button>
        <button nz-button nzType="primary"><i class="anticon anticon-arrows-alt"></i></button>
    </div>
wangqinghua's avatar
wangqinghua committed
</div>

<div nz-row class="search-form">
wangqinghua's avatar
wangqinghua committed
    <div nz-col nzSpan="12">
wangqinghua's avatar
wangqinghua committed
        <nz-select style="width: 200px;"   nzPlaceHolder="选择拓扑图" [(ngModel)]="topoId" (ngModelChange)="getDetail($event)">
            <ng-container *ngFor="let item of dataSet">
                <nz-option [nzLabel]="item.name" [nzValue]="item.id"></nz-option>
            </ng-container>
wangqinghua's avatar
wangqinghua committed
        </nz-select>
    </div>
    <div nz-col nzSpan="12" class="text-right">
wangqinghua's avatar
wangqinghua committed
        <button nz-button (click)="addTopo()" nzType="default"><i class="anticon anticon-plus"></i>添加</button>
        <button nz-button (click)="editTopo()" nzType="default"><i class="anticon anticon-pause-circle-o"></i>编辑</button>
        <button nz-button (click)="deleteTopo()" nzType="default"><i class="anticon anticon-play-circle-o"></i>删除</button>
wangqinghua's avatar
wangqinghua committed
    </div>
wangqinghua's avatar
wangqinghua committed
</div>

wangqinghua's avatar
wangqinghua committed

wangqinghua's avatar
wangqinghua committed
<div class="layui-layout layui-layout-admin">
wangqinghua's avatar
wangqinghua committed
    <div class="layui-header layui-bg-gray" style="line-height: 60px">
wangqinghua's avatar
wangqinghua committed
        <input style="width: 200px;" type="text" [(ngModel)]="name" nz-input placeholder="请输入拓扑图名称">
wangqinghua's avatar
wangqinghua committed

        图标:<span onclick="editor.utils.addNode()">添加</span>
        <span onclick="editor.utils.deleteSelectedNodes()">移除</span>
wangqinghua's avatar
wangqinghua committed
        <!-- 顶部工具栏 -->
wangqinghua's avatar
wangqinghua committed
        <div class="layui-nav layui-layout-right" >
wangqinghua's avatar
wangqinghua committed
            <span aria-hidden="true" title="全屏查看"
                  onClick="editor.utils.showInFullScreen(editor.stage.canvas,'RequestFullScreen')">
                全屏查看</span>
            <span aria-hidden="true" title="居中显示"
                  onClick="editor.utils.showInCenter()">居中显示</span>
            <span aria-hidden="true" title="预览"
                  onClick="editor.utils.showPic()">预览</span>
wangqinghua's avatar
wangqinghua committed
            <span aria-hidden="true" title="保存" (click)="save()">保存</span>
wangqinghua's avatar
wangqinghua committed
            <span aria-hidden="true" title="复制"
                  onClick="editor.utils.cloneSelectedNodes()">复制</span>
            <span aria-hidden="true" title="清空"
                  onClick="editor.utils.clearTopology()">清空</span>
            <span aria-hidden="true" title="放大"
                  onClick="editor.utils.scalingBig()">放大</span>
            <span caria-hidden="true" title="缩小"
                  onClick="editor.utils.scalingSmall()">缩小</span>
        </div>
    </div>
    <div class="container">
        <div class="layui-row">
            <div class="layui-col-md2">
                <div class="layui-side-scroll">
                    <div class="layui-collapse" lay-accordion>
                        <div class="layui-colla-item">
                            <h2 class="layui-colla-title">连线</h2>
wangqinghua's avatar
wangqinghua committed
                            <div class="layui-colla-content">
wangqinghua's avatar
wangqinghua committed
                                <table width="100%">
                                    <tr>
                                        <td width="100%" align="center">
                                            <div topo-div-type="topo-link" topo-linktype="line"
wangqinghua's avatar
wangqinghua committed
                                                 draggable="false" onclick="editor.lineType='line'">
wangqinghua's avatar
wangqinghua committed
                                                <img class="link-icon-style" id="link-line"
                                                     src="../../../content/javascript/jtopo/img/line.png"/>
                                                <br><span>连线</span>
                                            </div>
                                        </td>
                                    </tr>
                                    <tr>
                                        <td width="100%" align="center">
                                            <div topo-div-type="topo-link" topo-linktype="foldline"
                                                 draggable="false"
                                                 onclick="editor.lineType='foldLine';editor.config.direction='horizontal';">
                                                <img class="link-icon-style" id="link-foldline-h"
                                                     src="../../../content/javascript/jtopo/img/foldline_horizontal.png"/>
                                                <br><span>折线(横向)</span>
                                            </div>
                                        </td>
                                    </tr>
                                    <tr>
                                        <td width="100%" align="center">
                                            <div topo-div-type="topo-link" topo-linktype="foldline"
                                                 draggable="false"
                                                 onclick="editor.lineType='foldLine';editor.config.direction='vertical';">
                                                <img class="link-icon-style" id="link-foldline-v"
                                                     src="../../../content/javascript/jtopo/img/foldline_vertical.png"/>
                                                <br><span>折线(纵向)</span>
                                            </div>
                                        </td>
                                    </tr>
                                    <tr>
                                        <td width="100%" align="center">
                                            <div topo-div-type="topo-link" topo-linktype="flexline"
                                                 draggable="false"
                                                 onclick="editor.lineType='flexLine';editor.config.direction='horizontal';">
                                                <img class="link-icon-style" id="link-flexline-h"
                                                     src="../../../content/javascript/jtopo/img/flexline_horizontal.png"/>
                                                <br><span>二次折线(横向)</span>
                                            </div>
                                        </td>
                                    </tr>
                                    <tr>
                                        <td width="100%" align="center">
                                            <div topo-div-type="topo-link" topo-linktype="flexline"
                                                 draggable="false"
                                                 onclick="editor.lineType='flexLine';editor.config.direction='vertical';">
                                                <img class="link-icon-style" id="link-flexline-v"
                                                     src="../../../content/javascript/jtopo/img/flexline_vertical.png"/>
                                                <br><span>二次折线(纵向)</span>
                                            </div>
                                        </td>
                                    </tr>
                                    <tr>
                                        <td width="100%" align="center">
                                            <div topo-div-type="topo-link" topo-linktype="curveline"
                                                 draggable="false"
                                                 onclick="editor.lineType='curveLine'">
                                                <img class="link-icon-style" id="link-curveline"
                                                     src="../../../content/javascript/jtopo/img/curveline.png"/>
                                                <br><span>曲线</span>
                                            </div>
                                        </td>
                                    </tr>
                                </table>
                            </div>
                        </div>
                        <div class="layui-colla-item">
                            <h2 class="layui-colla-title">虚拟网络设备</h2>
wangqinghua's avatar
wangqinghua committed
                            <div class="layui-colla-content">
wangqinghua's avatar
wangqinghua committed
                                <table width="100%">
                                    <tr>
                                        <td width="100%" align="center">
                                            <div topo-div-type="topo-node" topo-nodetype="VE" draggable="true"
                                                 title="这是一个交换机">
wangqinghua's avatar
wangqinghua committed
                                                <img class="node-icon-style" data-src="icon_switcher.png"
wangqinghua's avatar
wangqinghua committed
                                                     src="../../../content/javascript/jtopo/img/icon_switcher.png"/>
                                                <br><span>交换机</span>
                                            </div>
                                        </td>
                                    </tr>
                                    <tr>
                                        <td width="100%" align="center">
                                            <div topo-div-type="topo-node" topo-nodetype="VE" draggable="true"
                                                 title="这是一个路由器">
wangqinghua's avatar
wangqinghua committed
                                                <img class="node-icon-style" data-src="icon_router.png"
wangqinghua's avatar
wangqinghua committed
                                                     src="../../../content/javascript/jtopo/img/icon_router.png"/>
                                                <br><span>路由器</span>
                                            </div>
                                        </td>
                                    </tr>
                                    <tr>
                                        <td width="100%" align="center">
                                            <div topo-div-type="topo-node" topo-nodetype="VE" draggable="true"
                                                 title="使用一台VM主机安装多个网卡进行子网的互通,充当路由控制器">
wangqinghua's avatar
wangqinghua committed
                                                <img class="node-icon-style" data-src="icon_route_controller.png"
wangqinghua's avatar
wangqinghua committed
                                                     src="../../../content/javascript/jtopo/img/icon_route_controller.png"/>
                                                <br><span>VM路由控制器</span>
                                            </div>

                                        </td>
                                    </tr>
                                    <tr>
                                        <td width="100%" align="center">
                                            <div topo-div-type="topo-node" topo-nodetype="VE" draggable="true">
wangqinghua's avatar
wangqinghua committed
                                                <img class="node-icon-style" data-src="icon_firewall.png"
wangqinghua's avatar
wangqinghua committed
                                                     src="../../../content/javascript/jtopo/img/icon_firewall.png"/>
                                                <br><span>防火墙</span>
                                            </div>
                                        </td>
                                    </tr>
                                    <tr>
                                        <td width="100%" align="center">
                                            <div topo-div-type="topo-node" topo-nodetype="VE" draggable="true">
wangqinghua's avatar
wangqinghua committed
                                                <img class="node-icon-style" data-src="icon_balancer.png"
wangqinghua's avatar
wangqinghua committed
                                                     src="../../../content/javascript/jtopo/img/icon_balancer.png"/>
                                                <br><span>负载均衡</span>
                                            </div>
                                        </td>
                                    </tr>
                                </table>
                            </div>
                        </div>
                        <div class="layui-colla-item">
                            <h2 class="layui-colla-title">虚拟主机</h2>
wangqinghua's avatar
wangqinghua committed
                            <div class="layui-colla-content">
wangqinghua's avatar
wangqinghua committed
                                <table width="100%">
                                    <tr>
                                        <td width="100%" align="center">
                                            <div topo-div-type="topo-node" topo-nodetype="VM" draggable="true">
wangqinghua's avatar
wangqinghua committed
                                                <img class="node-icon-style" data-src="icon_virtual_host.png"
wangqinghua's avatar
wangqinghua committed
                                                     src="../../../content/javascript/jtopo/img/icon_virtual_host.png"/>
                                                <br><span>虚拟主机</span>
                                            </div>
                                        </td>
                                    </tr>
                                    <tr>
                                        <td width="100%" align="center">
                                            <div topo-div-type="topo-node" topo-nodetype="VM" draggable="true">
                                                <img class="node-icon-style" data-src="icon_client.png"
                                                     src="../../../content/javascript/jtopo/img/icon_client.png"/>
                                                <br><span>客户机</span>
                                            </div>
                                        </td>
                                    </tr>
                                    <tr>
                                        <td width="100%" align="center">
                                            <div topo-div-type="topo-node" topo-nodetype="VM" draggable="true">
                                                <img class="node-icon-style" data-src="icon_server.png"
                                                     src="../../../content/javascript/jtopo/img/icon_server.png"/>
                                                <br><span>服务器</span>
                                            </div>
                                        </td>
                                    </tr>
                                    <tr>
                                        <td width="100%" align="center">
                                            <div topo-div-type="topo-node" topo-nodetype="VM" draggable="true">
                                                <img class="node-icon-style" data-src="icon_webserver.png"
                                                     src="../../../content/javascript/jtopo/img/icon_webserver.png"/>
                                                <br><span>Web服务器</span>
                                            </div>
                                        </td>
                                    </tr>
                                    <tr>
                                        <td width="100%" align="center">
                                            <div topo-div-type="topo-node" topo-nodetype="VM" draggable="true">
                                                <img class="node-icon-style" data-src="icon_mailserver.png"
                                                     src="../../../content/javascript/jtopo/img/icon_mailserver.png"/>
                                                <br><span>邮件服务器</span>
                                            </div>
                                        </td>
                                    </tr>
                                    <tr>
                                        <td width="100%" align="center">
                                            <div topo-div-type="topo-node" topo-nodetype="VM" draggable="true">
                                                <img class="node-icon-style" data-src="icon_fileserver.png"
                                                     src="../../../content/javascript/jtopo/img/icon_fileserver.png"/>
                                                <br><span>文件服务器</span>
                                            </div>
                                        </td>
                                    </tr>
                                </table>
                            </div>
                        </div>
                        <div class="layui-colla-item">
                            <h2 class="layui-colla-title">物理网络设备</h2>
wangqinghua's avatar
wangqinghua committed
                            <div class="layui-colla-content">
wangqinghua's avatar
wangqinghua committed
                                <table width="100%">
                                    <tr>
                                        <td width="100%" align="center">
                                            <div topo-div-type="topo-node" topo-nodetype="PM" draggable="true">
wangqinghua's avatar
wangqinghua committed
                                                <img class="node-icon-style" data-src="icon_physical_host.png"
wangqinghua's avatar
wangqinghua committed
                                                     src="../../../content/javascript/jtopo/img/icon_physical_host.png"/>
                                                <br><span>物理主机</span>
                                            </div>
                                        </td>
                                    </tr>
                                    <tr>
                                        <td width="100%" align="center">
wangqinghua's avatar
wangqinghua committed
                                            <div topo-div-type="topo-node" topo-nodetype="PM">
                                                <img class="node-icon-style"
wangqinghua's avatar
wangqinghua committed
                                                     src="../../../content/javascript/jtopo/img/icon_physical_switcher.png"/>
                                                <br><span>物理交换机</span>
                                            </div>
                                        </td>
                                    </tr>
                                    <tr>
                                        <td width="100%" align="center">
                                            <div topo-div-type="topo-node" topo-nodetype="PM" draggable="true">
wangqinghua's avatar
wangqinghua committed
                                                <img class="node-icon-style" data-src="icon_firewall.png" src="../../../content/javascript/jtopo/img/icon_firewall.png"/>
wangqinghua's avatar
wangqinghua committed
                                                <br><span>物理防火墙</span>
                                            </div>
                                        </td>
                                    </tr>
                                    <tr>
                                        <td width="100%" align="center">
                                            <div topo-div-type="topo-node" topo-nodetype="PM" draggable="true">
wangqinghua's avatar
wangqinghua committed
                                                <img class="node-icon-style" data-src="icon_physical_router.png"
wangqinghua's avatar
wangqinghua committed
                                                     src="../../../content/javascript/jtopo/img/icon_physical_router.png"/>
                                                <br><span>物理路由器</span>
                                            </div>
                                        </td>
                                    </tr>
                                </table>
                            </div>
                        </div>
                        <div class="layui-colla-item">
                            <h2 class="layui-colla-title">位置图形</h2>
wangqinghua's avatar
wangqinghua committed
                            <div class="layui-colla-content">
wangqinghua's avatar
wangqinghua committed
                                <table width="100%">
                                    <tr>
                                        <td width="100%" align="center">
                                            <div topo-div-type="topo-node" topo-nodetype="CL" draggable="true">
wangqinghua's avatar
wangqinghua committed
                                                <img class="node-icon-style" data-src="icon_cloud.png" src="../../../content/javascript/jtopo/img/icon_cloud.png"/>
wangqinghua's avatar
wangqinghua committed
                                                <br><span></span>
                                            </div>
                                        </td>
                                    </tr>
                                    <tr>
                                        <td width="100%" align="center">
                                            <div topo-div-type="topo-node" topo-nodetype="HO" draggable="true">
wangqinghua's avatar
wangqinghua committed
                                                <img class="node-icon-style" data-src="icon_house.png" src="../../../content/javascript/jtopo/img/icon_house.png"/>
wangqinghua's avatar
wangqinghua committed
                                                <br><span>房屋</span>
                                            </div>
                                        </td>
                                    </tr>
                                </table>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
wangqinghua's avatar
wangqinghua committed
            <div class="layui-col-md10">
wangqinghua's avatar
wangqinghua committed
                <div id="topology-body" class="topology-context">
                    <!-- 节点右键菜单 -->
                    <div id="node-menu" class="right-click-menu" style="z-index: 9">
                        <div class="fa fa-wrench menu-item"
                             onMouseMove="this.style.backgroundColor='#c5e7f6'"
                             onMouseOut="this.style.backgroundColor=''">
                            <span>节点设置</span>
                        </div>
                        <div class="fa fa-th-large menu-item"
                             onMouseMove="this.style.backgroundColor='#c5e7f6'"
                             onMouseOut="this.style.backgroundColor=''">
                            <span>应用布局</span>
                        </div>
                        <div class="fa fa-th-list menu-item" id="change-node-text-pos"
                             onMouseMove="this.style.backgroundColor='#c5e7f6'"
                             onMouseOut="this.style.backgroundColor=''">
                            <span>文字位置</span>
                        </div>
                        <div class="fa fa-search-plus menu-item"
                             onMouseMove="this.style.backgroundColor='#c5e7f6'"
                             onMouseOut="this.style.backgroundColor=''">
                            <span>放大(Shift+)</span>
                        </div>
                        <div class="fa fa-search-minus menu-item"
                             onMouseMove="this.style.backgroundColor='#c5e7f6'"
                             onMouseOut="this.style.backgroundColor=''">
                            <span>缩小(Shift-)</span>
                        </div>
                        <div class="fa fa-rotate-right menu-item"
                             onMouseMove="this.style.backgroundColor='#c5e7f6'"
                             onMouseOut="this.style.backgroundColor=''">
                            <span>顺时针旋转(Shift+U)</span>
                        </div>
                        <div class="fa fa-rotate-left menu-item"
                             onMouseMove="this.style.backgroundColor='#c5e7f6'"
                             onMouseOut="this.style.backgroundColor=''">
                            <span>逆时针旋转(Shift+I)</span>
                        </div>
                        <div class="fa fa-times menu-item"
                             onMouseMove="this.style.backgroundColor='#c5e7f6'"
                             onMouseOut="this.style.backgroundColor=''">
                            <span>删除节点(Delete)</span>
                        </div>
                        <div class="fa fa-files-o menu-item"
                             onMouseMove="this.style.backgroundColor='#c5e7f6'"
                             onMouseOut="this.style.backgroundColor=''">
                            <span>复制节点(Shift+C)</span>
                        </div>
                        <div class="fa fa-mail-reply menu-item"
                             onMouseMove="this.style.backgroundColor='#c5e7f6'"
                             onMouseOut="this.style.backgroundColor=''">
                            <span>撤销(Shift+Z)</span></div>
                        <div class="fa fa-mail-forward menu-item"
                             onMouseMove="this.style.backgroundColor='#c5e7f6'"
                             onMouseOut="this.style.backgroundColor=''">
                            <span>重做(Shift+R)</span></div>
                    </div>
                    <!-- 应用布局选项(二级菜单) -->
                    <div id="layout-menu" class="right-click-menu" style="z-index: 9">
                        <div class="fa fa-minus-circle menu-item"
                             onMouseMove="this.style.backgroundColor='#c5e7f6'"
                             onMouseOut="this.style.backgroundColor=''">
                            <span>取消布局</span>
                        </div>
                        <div class="fa fa-object-group menu-item"
                             onMouseMove="this.style.backgroundColor='#c5e7f6'"
                             onMouseOut="this.style.backgroundColor=''">
                            <span>分组布局</span>
                        </div>
                        <div class="fa fa-share-alt menu-item"
                             onMouseMove="this.style.backgroundColor='#c5e7f6'"
                             onMouseOut="this.style.backgroundColor=''">
                            <span>树形布局</span>
                        </div>
                        <div class="fa fa-dot-circle-o menu-item"
                             onMouseMove="this.style.backgroundColor='#c5e7f6'"
                             onMouseOut="this.style.backgroundColor=''">
                            <span>圆形布局</span>
                        </div>
                    </div>
                    <!-- 文字位置选项(二级菜单) -->
                    <div id="node-text-pos-menu" class="right-click-menu" style="z-index: 9">
                        <div class="menu-item"
                             onMouseMove="this.style.backgroundColor='#c5e7f6'"
                             onMouseOut="this.style.backgroundColor=''">
                            <span>顶部居左</span>
                        </div>
                        <div class="menu-item"
                             onMouseMove="this.style.backgroundColor='#c5e7f6'"
                             onMouseOut="this.style.backgroundColor=''">
                            <span>顶部居中</span>
                        </div>
                        <div class="menu-item"
                             onMouseMove="this.style.backgroundColor='#c5e7f6'"
                             onMouseOut="this.style.backgroundColor=''">
                            <span>顶部居右</span>
                        </div>
                        <div class="menu-item"
                             onMouseMove="this.style.backgroundColor='#c5e7f6'"
                             onMouseOut="this.style.backgroundColor=''">
                            <span>中间居左</span>
                        </div>
                        <div class="menu-item"
                             onMouseMove="this.style.backgroundColor='#c5e7f6'"
                             onMouseOut="this.style.backgroundColor=''">
                            <span>居中</span>
                        </div>
                        <div class="menu-item"
                             onMouseMove="this.style.backgroundColor='#c5e7f6'"
                             onMouseOut="this.style.backgroundColor=''">
                            <span>中间居右</span></div>
                        <div class="menu-item"
                             onMouseMove="this.style.backgroundColor='#c5e7f6'"
                             onMouseOut="this.style.backgroundColor=''">
                            <span>底部居左</span>
                        </div>
                        <div class="menu-item"
                             onMouseMove="this.style.backgroundColor='#c5e7f6'"
                             onMouseOut="this.style.backgroundColor=''">
                            <span>底部居中</span>
                        </div>
                        <div class="menu-item"
                             onMouseMove="this.style.backgroundColor='#c5e7f6'"
                             onMouseOut="this.style.backgroundColor=''">
                            <span>底部居右</span>
                        </div>
                    </div>
                    <!-- 连线右键菜单 -->
                    <div id="line-menu" class="right-click-menu" style="z-index: 9">
                        <div class="modeRightEdit" onMouseMove="this.style.backgroundColor='#c5e7f6'"
                             onMouseOut="this.style.backgroundColor=''">
                            <span class="menuSpan">添加描述</span>
                        </div>
                        <div class="fa fa-wrench menu-item"
                             onMouseMove="this.style.backgroundColor='#c5e7f6'"
                             onMouseOut="this.style.backgroundColor=''">
                            <span>连线设置</span>
                        </div>
                        <div class="fa fa-times menu-item"
                             onMouseMove="this.style.backgroundColor='#c5e7f6'"
                             onMouseOut="this.style.backgroundColor=''">
                            <span>删除连线</span></div>
                    </div>
                    <!-- 舞台右键菜单 -->
                    <div id="main-menu" class="right-click-menu" style="z-index: 9">
                        <div class="fa fa-search-plus menu-item"
                             onClick="editor.utils.scalingBig()"
                             onMouseMove="this.style.backgroundColor='#c5e7f6'"
                             onMouseOut="this.style.backgroundColor=''">
                            <span>放大(Shift+)</span>
                        </div>
                        <div class="fa fa-search-minus menu-item" onClick="editor.utils.scalingSmall()"
                             onMouseMove="this.style.backgroundColor='#c5e7f6'"
                             onMouseOut="this.style.backgroundColor=''">
                            <span>缩小(Shift-)</span>
                        </div>
                        <div class="fa fa-trash-o menu-item" onClick="editor.utils.clear();"
                             onMouseMove="this.style.backgroundColor='#c5e7f6'"
                             onMouseOut="this.style.backgroundColor=''">
                            <span>清空(Shift+Y)</span>
                        </div>
                        <div class="fa fa-eye menu-item" onClick="editor.utils.showPic();"
                             onMouseMove="this.style.backgroundColor='#c5e7f6'"
                             onMouseOut="this.style.backgroundColor=''">
                            <span>预览(Shift+P)</span>
                        </div>
                        <div class="fa fa-arrows menu-item"
                             onClick="editor.utils.showInFullScreen(editor.stage.canvas,'RequestFullScreen')"
                             onMouseMove="this.style.backgroundColor='#c5e7f6'"
                             onMouseOut="this.style.backgroundColor=''">
                            <span>全屏查看(Shift+F)</span>
                        </div>
                        <div class="fa fa-align-center menu-item" onClick="editor.utils.showInCenter()"
                             onMouseMove="this.style.backgroundColor='#c5e7f6'"
                             onMouseOut="this.style.backgroundColor=''">
                            <span>居中显示(Shift+G)</span>
                        </div>
                        <div class="fa fa-floppy-o menu-item" onClick="editor.saveToplogy(true)"
                             onMouseMove="this.style.backgroundColor='#c5e7f6'"
                             onMouseOut="this.style.backgroundColor=''">
                            <span>保存(Shift+S)</span>
                        </div>
                        <div class="fa fa-question-circle menu-item" onclick="alert('帮助文档')"
                             onMouseMove="this.style.backgroundColor='#c5e7f6'"
                             onMouseOut="this.style.backgroundColor=''">
                            <span id="showHelp">查看帮助(Shift+H)</span>
                        </div>
                        <div class="fa fa-info-circle menu-item"
                             onclick="window.open('json_view.html', '当前拓扑结构JSON展示', '').document.write(editor.stage.toJson())"
                             onMouseMove="this.style.backgroundColor='#c5e7f6'"
                             onMouseOut="this.style.backgroundColor=''">
                            <span id="showJSON">查看拓扑JSON结构</span></div>
                    </div>
                    <!-- 分组选项(二级菜单) -->
                    <div id="group-mange-menu" class="right-click-menu" style="z-index: 9">
                        <div class="fa fa-pencil-square-o menu-item"
                             onMouseMove="this.style.backgroundColor='#c5e7f6'"
                             onMouseOut="this.style.backgroundColor=''">
                            <span>新建分组</span>
                        </div>
                        <div class="fa fa-align-left menu-item" id="align-group"
                             onMouseMove="this.style.backgroundColor='#c5e7f6'"
                             onMouseOut="this.style.backgroundColor=''">
                            <span>对齐方式</span>
                        </div>
                    </div>
                    <div class="right-click-menu" id="group-align-menu" style="z-index: 9">
                        <div class="menu-item"
                             onMouseMove="this.style.backgroundColor='#c5e7f6'"
                             onMouseOut="this.style.backgroundColor=''">
                            <span>水平对齐</span>
                        </div>
                        <div class="menu-item"
                             onMouseMove="this.style.backgroundColor='#c5e7f6'"
                             onMouseOut="this.style.backgroundColor=''">
                            <span>垂直对齐</span>
                        </div>
                    </div>
                    <div class="right-click-menu" id="container-mange-menu" style="z-index: 9">
                        <div class="fa fa-columns menu-item"
                             onMouseMove="this.style.backgroundColor='#c5e7f6'"
                             onMouseOut="this.style.backgroundColor=''">
                            <span>拆分</span>
                        </div>
                    </div>

                    <!-- 鼠标悬浮显示节点信息 -->
                    <div class="node-infobox" style="display: none;">
                        <span>节点名称:<label name="node_name"></label></span>
                        <span>当前时间:<label name="current_time"></label></span>
                    </div>
                    <canvas class="topology-context" id="topology-canvas" #topologyCanvas
wangqinghua's avatar
wangqinghua committed
                            style="height: 580px;">
wangqinghua's avatar
wangqinghua committed
                        您的浏览器不支持HTML5!
                    </canvas>
wangqinghua's avatar
wangqinghua committed
                    <span class="tips">{{topoType}}</span>
wangqinghua's avatar
wangqinghua committed
                </div>
            </div>
        </div>
    </div>
wangqinghua's avatar
wangqinghua committed
</div>

<!-- 设备编辑 -->
<div id="node-dialog" style="display: none;">
    <form id="node-form" class="layui-form" action="">
        <div class="layui-form-item">
            <div class="layui-inline">
                <label class="layui-form-label">类型</label>
                <div class="layui-input-block">
                    <select name="city">
                        <option value=""></option>
                        <option value="0">主机</option>
                        <option value="1">拓扑图</option>
                        <option value="2">触发器</option>
                        <option value="3">主机群组</option>
                        <option value="4">图片</option>
                    </select>
                </div>
            </div>
        </div>
        <div class="layui-form-item">
            <div class="layui-inline">
                <label class="layui-form-label">标签</label>
                <div class="layui-input-block">
                    <input type="text" name="text" required  autocomplete="off" class="layui-input">
                </div>
            </div>
            <div class="layui-inline">
                <label class="layui-form-label">标签位置</label>
                <div class="layui-input-block">
                    <select name="textPosition">
                        <option value="Bottom_Center">默认</option>
                        <option value="Top_Left">顶部居左</option>
                        <option value="Top_Center">顶部居中</option>
                        <option value="Top_Right">顶部居右</option>
                        <option value="Bottom_Left">低部居左</option>
                        <option value="Bottom_Center">低部居中</option>
                        <option value="Bottom_Right">低部居右</option>
                    </select>
                </div>
            </div>
        </div>
        <div class="layui-form-item">
            <label class="layui-form-label">坐标</label>
            <div class="layui-input-inline" style="width: 100px;">
                <input type="text" name="x" placeholder="X" autocomplete="off" class="layui-input">
            </div>
            <div class="layui-input-inline" style="width: 100px;">
                <input type="text" name="y" placeholder="Y" autocomplete="off" class="layui-input">
            </div>
        </div>
    </form>
</div>
<!--连线编辑-->
<div id="link-dialog" style="display: none;">
    <form id="link-form" class="layui-form" action="">
        <div class="layui-form-item">
            <div class="layui-inline">
                <label class="layui-form-label">线类型</label>
                <div class="layui-input-block">
                    <select name="textPosition">
                        <option value="0"></option>
                        <option value="1">———</option>
                        <option value="2">· · · ·</option>
                        <option value="dashedPattern">- - - -</option>
                    </select>
                </div>
            </div>
            <div class="layui-inline">
                <label class="layui-form-label">线宽</label>
                <div class="layui-input-block">
                    <input type="text" name="lineWidth" required  autocomplete="off" class="layui-input">
                </div>
            </div>
            <div class="layui-inline">
                <label class="layui-form-label">名称</label>
                <div class="layui-input-block">
                    <input type="text" name="lineName" required  autocomplete="off" class="layui-input">
                </div>
            </div>
        </div>
        <div class="layui-form-item">
            <label class="layui-form-label">x1</label>
            <div class="layui-input-inline" style="width: 60px;">
                <input type="text" name="x1" placeholder="X" autocomplete="off" class="layui-input">
            </div>
            <label class="layui-form-label">y1</label>
            <div class="layui-input-inline" style="width: 60px;">
                <input type="text" name="y1" placeholder="Y" autocomplete="off" class="layui-input">
            </div>
        </div>
        <div class="layui-form-item">
            <label class="layui-form-label">x2</label>
            <div class="layui-input-inline" style="width: 60px;">
                <input type="text" name="x2" placeholder="X" autocomplete="off" class="layui-input">
            </div>
            <label class="layui-form-label">y2</label>
            <div class="layui-input-inline" style="width: 60px;">
                <input type="text" name="y2" placeholder="Y" autocomplete="off" class="layui-input">
            </div>
        </div>
    </form>
</div>

<nz-modal >

</nz-modal>