节点IP地址可以设置专属集群

This commit is contained in:
GoEdgeLab
2023-03-01 11:38:21 +08:00
parent 1faed99e5b
commit 1e596a216f
13 changed files with 265 additions and 33 deletions

View File

@@ -22,7 +22,7 @@
<td>
<div v-if="node.ipAddresses.length > 0">
<div>
<div v-for="(address, index) in node.ipAddresses" class="ui label tiny basic">
<div v-for="(address, index) in node.ipAddresses" class="ui label small basic">
<span v-if="address.ip.indexOf(':') > -1" class="grey">[IPv6]</span> {{address.ip}}
<span class="small red" v-if="address.originIP != null && address.originIP.length > 0 && address.originIP != address.ip">(原:{{address.originIP}}</span>
<span class="small grey" v-if="address.name.length > 0">{{address.name}}<span v-if="!address.canAccess">,不可访问</span></span>
@@ -30,6 +30,10 @@
<span class="small red" v-if="!address.isOn">[off]</span>
<span class="small red" v-if="!address.isUp">[down]</span>
<span class="small" v-if="address.thresholds != null && address.thresholds.length > 0">[阈值]</span>
<span v-if="address.clusters.length > 0">
&nbsp; <span class="small grey">专属集群:[</span><span v-for="(cluster, index) in address.clusters" class="small grey">{{cluster.name}}<span v-if="index < address.clusters.length - 1"></span></span><span class="small grey">]</span>
</span>
</div>
</div>
</div>
@@ -51,6 +55,7 @@
<table class="ui table celled">
<thead class="full-width">
<tr>
<th>集群</th>
<th>记录名</th>
<th>记录类型</th>
<th>线路</th>
@@ -59,6 +64,7 @@
</thead>
<tr v-for="record in node.records">
<td>{{record.clusterName}}</td>
<td>{{record.name}}</td>
<td>{{record.type}}</td>
<td>

View File

@@ -26,7 +26,7 @@
<tr>
<td>IP地址 *</td>
<td>
<node-ip-addresses-box :v-ip-addresses="ipAddresses"></node-ip-addresses-box>
<node-ip-addresses-box :v-ip-addresses="ipAddresses" :v-node-id="node.id"></node-ip-addresses-box>
<p class="comment">用于访问节点和域名解析等。</p>
</td>
</tr>

View File

@@ -12,7 +12,7 @@
</td>
</tr>
<tr>
<td>是否可以访问</td>
<td>允许公开访问</td>
<td>
<div class="ui checkbox">
<input type="checkbox" name="canAccess" value="1" checked="checked"/>
@@ -46,6 +46,10 @@
<node-ip-address-thresholds-box></node-ip-address-thresholds-box>
</td>
</tr>
<tr v-show="clusters != null && clusters.length > 0">
<td>专属集群</td>
<td><node-ip-address-clusters-selector :v-clusters="clusters"></node-ip-address-clusters-selector></td>
</tr>
</tbody>
</table>
<submit-btn></submit-btn>

View File

@@ -14,7 +14,7 @@
</td>
</tr>
<tr>
<td>是否可以访问</td>
<td>允许公开访问</td>
<td>
<div class="ui checkbox">
<input type="checkbox" name="canAccess" value="1" v-model="address.canAccess"/>
@@ -28,7 +28,7 @@
</tr>
<tbody v-show="moreOptionsVisible">
<tr>
<td>是否启用</td>
<td>启用当前IP</td>
<td>
<div class="ui checkbox">
<input type="checkbox" name="isOn" value="1" v-model="address.isOn"/>
@@ -58,6 +58,10 @@
<node-ip-address-thresholds-box :v-thresholds="address.thresholds"></node-ip-address-thresholds-box>
</td>
</tr>
<tr v-show="clusters != null && clusters.length > 0">
<td>专属集群</td>
<td><node-ip-address-clusters-selector :v-clusters="clusters"></node-ip-address-clusters-selector></td>
</tr>
</tbody>
</table>
<submit-btn></submit-btn>

View File

@@ -4,5 +4,15 @@ Tea.context(function () {
this.address = window.parent.UPDATING_NODE_IP_ADDRESS
if (this.address != null) {
this.address.isUp = (this.address.isUp ? 1 : 0)
// 专属集群
if (this.address.clusters != null) {
let selectedClusterIds = this.address.clusters.map(function (cluster) {
return cluster.id
})
this.clusters.forEach(function (cluster) {
cluster.isChecked = selectedClusterIds.$contains(cluster.id)
})
}
}
})