mirror of
https://github.com/TeaOSLab/EdgeAdmin.git
synced 2025-11-03 20:40:26 +08:00
60 lines
2.3 KiB
HTML
60 lines
2.3 KiB
HTML
{$layout}
|
|
{$template "menu"}
|
|
{$template "/left_menu"}
|
|
|
|
<div class="right-box">
|
|
<p class="comment" v-if="nodes.length == 0">暂时没有需要远程安装的节点。</p>
|
|
|
|
<div v-if="nodes.length > 0">
|
|
<h3>所有未安装节点
|
|
<button class="ui button primary tiny" v-if="countCheckedNodes() > 0" @click.prevent="installBatch()">批量安装({{countCheckedNodes()}})</button>
|
|
</h3>
|
|
<table class="ui table selectable celled">
|
|
<thead>
|
|
<tr>
|
|
<th style="width:3em">
|
|
<checkbox @input="checkNodes"></checkbox>
|
|
</th>
|
|
<th>节点名</th>
|
|
<th>访问IP</th>
|
|
<th>SSH地址</th>
|
|
<th class="four wide">节点状态</th>
|
|
<th class="two op">操作</th>
|
|
</tr>
|
|
</thead>
|
|
<tr v-for="node in nodes">
|
|
<td>
|
|
<checkbox v-model="node.isChecked" v-if="node.installStatus == null || !node.installStatus.isOk"></checkbox>
|
|
</td>
|
|
<td>
|
|
<link-icon :href="'/clusters/cluster/node?clusterId=' + clusterId + '&nodeId=' + node.id">{{node.name}}</link-icon>
|
|
</td>
|
|
<td>
|
|
<span v-for="addr in node.addresses" v-if="addr.canAccess" class="ui label tiny basic">{{addr.ip}}</span>
|
|
</td>
|
|
<td>
|
|
<span v-if="node.login != null && node.login.type == 'ssh' && node.loginParams != null && node.loginParams.host != null && node.loginParams.host.length > 0">
|
|
{{node.loginParams.host}}:{{node.loginParams.port}}
|
|
</span>
|
|
<span v-else class="disabled">没有设置</span>
|
|
</td>
|
|
<td>
|
|
<div v-if="node.installStatus != null && (node.installStatus.isRunning || node.installStatus.isFinished)">
|
|
<div v-if="node.installStatus.isRunning" class="blue">安装中...</div>
|
|
<div v-if="node.installStatus.isFinished">
|
|
<span v-if="node.installStatus.isOk" class="green">已安装成功</span>
|
|
<span v-if="!node.installStatus.isOk" class="red">安装过程中发生错误:{{node.installStatus.error}}</span>
|
|
</div>
|
|
</div>
|
|
<span v-else class="disabled">等待安装</span>
|
|
</td>
|
|
<td>
|
|
<a href="" @click.prevent="installNode(node)" v-if="!isInstalling">安装</a>
|
|
<span v-if="isInstalling && node.isInstalling">安装中...</span>
|
|
<span v-if="isInstalling && !node.isInstalling" class="disabled">安装</span>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
</div>
|