可以在创建、修改节点的时候选择分组,可以根据分组筛选节点

This commit is contained in:
刘祥超
2020-10-28 20:00:27 +08:00
parent cd4f4c41f6
commit 181976f79f
21 changed files with 310 additions and 33 deletions

View File

@@ -14,6 +14,12 @@
<p class="comment">每行一个节点IP。</p>
</td>
</tr>
<tr>
<td>所属分组</td>
<td>
<node-group-selector :v-cluster-id="clusterId"></node-group-selector>
</td>
</tr>
</table>
<submit-btn></submit-btn>
</form>

View File

@@ -18,6 +18,12 @@
<node-ip-addresses-box></node-ip-addresses-box>
</td>
</tr>
<tr>
<td>所属分组</td>
<td>
<node-group-selector :v-cluster-id="clusterId"></node-group-selector>
</td>
</tr>
<tr>
<td colspan="2"><more-options-indicator></more-options-indicator></td>
</tr>

View File

@@ -5,7 +5,7 @@
<input type="hidden" name="clusterId" :value="clusterId"/>
<table class="ui table definition selectable">
<tr>
<td>分组名称 *</td>
<td class="title">分组名称 *</td>
<td>
<input type="text" name="name" maxlength="50" ref="focus"/>
</td>

View File

@@ -0,0 +1,22 @@
{$layout "layout_popup"}
<h3>选择分组</h3>
<form class="ui form" data-tea-action="$" data-tea-success="success">
<input type="hidden" name="groupId" :value="groupId"/>
<table class="ui table definition selectable">
<tr>
<td class="title">选择分组</td>
<td>
<div v-if="groups.length > 0">
<a href="" class="ui label tiny" v-for="group in groups" :class="{blue:group.id == groupId}" style="margin-bottom:0.5em" @click.prevent="selectGroup(group)">{{group.name}}</a>
<p class="comment">点击可已选中要使用的分组。</p>
</div>
<div v-else>
<p class="comment">暂时还没有可以使用的分组。</p>
</div>
</td>
</tr>
</table>
<submit-btn>确定</submit-btn>
</form>

View File

@@ -0,0 +1,8 @@
Tea.context(function () {
this.success = NotifyPopup
this.groupId = 0
this.selectGroup = function (group) {
this.groupId = group.id
}
})

View File

@@ -5,7 +5,7 @@
<input type="hidden" name="groupId" :value="group.id"/>
<table class="ui table definition selectable">
<tr>
<td>分组名称 *</td>
<td class="title">分组名称 *</td>
<td>
<input type="text" name="name" maxlength="50" ref="focus" v-model="group.name"/>
</td>

View File

@@ -5,6 +5,15 @@
<form class="ui form segment" action="/clusters/cluster">
<input type="hidden" name="clusterId" :value="clusterId"/>
<div class="ui fields inline">
<div class="ui field" v-if="groups.length > 0">
所属分组:
</div>
<div class="ui field" v-if="groups.length > 0">
<select class="ui dropdown" name="groupId" v-model="groupId">
<option value="0">[全部]</option>
<option v-for="group in groups" :value="group.id">{{group.name}}</option>
</select>
</div>
<div class="ui field">
安装状态:
</div>
@@ -41,8 +50,8 @@
<tr>
<th class="one wide">ID</th>
<th>节点名称</th>
<th>主机名</th>
<th>IP</th>
<th class="two wide">所属分组</th>
<th class="three wide">IP</th>
<th class="two wide">CPU</th>
<th class="two wide">内存</th>
<!--<th>流量</th>
@@ -52,14 +61,14 @@
</tr>
</thead>
<tr v-for="node in nodes">
<td>{{node.id}}</td>
<td nowrap="">{{node.id}}</td>
<td>{{node.name}}</td>
<td>
<span v-if="node.status.hostname != null && node.status.hostname.length > 0">{{node.status.hostname}}</span>
<span v-else>-</span>
<span v-if="node.group != null" class="ui label tiny">{{node.group.name}}</span>
<span v-else class="disabled">-</span>
</td>
<td>
<span v-if="node.ipAddresses.length == 0">-</span>
<span v-if="node.ipAddresses.length == 0" class="disabled">-</span>
<div v-else class="address-box">
<div v-for="addr in node.ipAddresses" style="margin-bottom:0.3em">
<div class="ui label tiny">{{addr.ip}}
@@ -71,11 +80,11 @@
</td>
<td>
<span v-if="node.status.isActive" :class="{red:node.status.cpuUsage > 0.80}">{{node.status.cpuUsageText}}</span>
<span v-else>-</span>
<span v-else class="disabled">-</span>
</td>
<td>
<span v-if="node.status.isActive" :class="{red:node.status.memUsage > 0.80}">{{node.status.memUsageText}}</span>
<span v-else>-</span>
<span v-else class="disabled">-</span>
</td>
<td>
<div v-if="!node.isOn">

View File

@@ -30,7 +30,14 @@
</td>
</tr>
<tr>
<td colspan="2"><more-options-indicator>SSH等更多选项</more-options-indicator></td>
<td>所属分组</td>
<td>
<span v-if="node.group != null" class="ui label tiny">{{node.group.name}}</span>
<span v-else class="disabled">没有设置分组。</span>
</td>
</tr>
<tr>
<td colspan="2"><more-options-indicator>更多选项</more-options-indicator></td>
</tr>
<tbody v-show="moreOptionsVisible">
<tr>

View File

@@ -28,32 +28,35 @@
</td>
</tr>
<tr>
<td colspan="2"><strong>SSH登录信息</strong></td>
</tr>
<tr>
<td>SSH主机地址</td>
<td>所属分组</td>
<td>
<input type="text" name="sshHost" maxlength="64" v-model="sshHost"/>
<p class="comment">比如192.168.1.100</p>
</td>
</tr>
<tr>
<td>SSH主机端口</td>
<td>
<input type="text" name="sshPort" maxlength="5" v-model="sshPort"/>
<p class="comment">比如22。</p>
</td>
</tr>
<tr>
<td>SSH登录认证</td>
<td>
<grant-selector :v-grant="grant"></grant-selector>
<node-group-selector :v-cluster-id="clusterId" :v-group="node.group"></node-group-selector>
</td>
</tr>
<tr>
<td colspan="2"><more-options-indicator></more-options-indicator></td>
</tr>
<tbody v-show="moreOptionsVisible">
<tr>
<td>SSH主机地址</td>
<td>
<input type="text" name="sshHost" maxlength="64" v-model="sshHost"/>
<p class="comment">比如192.168.1.100</p>
</td>
</tr>
<tr>
<td>SSH主机端口</td>
<td>
<input type="text" name="sshPort" maxlength="5" v-model="sshPort"/>
<p class="comment">比如22。</p>
</td>
</tr>
<tr>
<td>SSH登录认证</td>
<td>
<grant-selector :v-grant="grant"></grant-selector>
</td>
</tr>
<tr>
<td>CPU线程数</td>
<td>