2021-08-18 09:24:03 +08:00
|
|
|
|
// 节点IP地址管理(标签形式)
|
2020-09-06 16:19:34 +08:00
|
|
|
|
Vue.component("node-ip-addresses-box", {
|
|
|
|
|
|
props: ["vIpAddresses"],
|
|
|
|
|
|
data: function () {
|
|
|
|
|
|
return {
|
|
|
|
|
|
ipAddresses: (this.vIpAddresses == null) ? [] : this.vIpAddresses
|
|
|
|
|
|
}
|
|
|
|
|
|
},
|
|
|
|
|
|
methods: {
|
|
|
|
|
|
// 添加IP地址
|
|
|
|
|
|
addIPAddress: function () {
|
2020-10-17 21:15:22 +08:00
|
|
|
|
window.UPDATING_NODE_IP_ADDRESS = null
|
|
|
|
|
|
|
2020-09-06 16:19:34 +08:00
|
|
|
|
let that = this;
|
|
|
|
|
|
teaweb.popup("/nodes/ipAddresses/createPopup", {
|
|
|
|
|
|
callback: function (resp) {
|
|
|
|
|
|
that.ipAddresses.push(resp.data.ipAddress);
|
|
|
|
|
|
}
|
|
|
|
|
|
})
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
// 修改地址
|
|
|
|
|
|
updateIPAddress: function (index, address) {
|
2020-10-17 21:15:22 +08:00
|
|
|
|
window.UPDATING_NODE_IP_ADDRESS = address
|
|
|
|
|
|
|
2020-09-06 16:19:34 +08:00
|
|
|
|
let that = this;
|
2020-10-17 21:15:22 +08:00
|
|
|
|
teaweb.popup("/nodes/ipAddresses/updatePopup", {
|
2020-09-06 16:19:34 +08:00
|
|
|
|
callback: function (resp) {
|
|
|
|
|
|
Vue.set(that.ipAddresses, index, resp.data.ipAddress);
|
|
|
|
|
|
}
|
|
|
|
|
|
})
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
// 删除IP地址
|
|
|
|
|
|
removeIPAddress: function (index) {
|
|
|
|
|
|
this.ipAddresses.$remove(index);
|
2021-06-07 10:00:06 +08:00
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
// 判断是否为IPv6
|
|
|
|
|
|
isIPv6: function (ip) {
|
|
|
|
|
|
return ip.indexOf(":") > -1
|
2020-09-06 16:19:34 +08:00
|
|
|
|
}
|
|
|
|
|
|
},
|
|
|
|
|
|
template: `<div>
|
2020-10-17 21:15:22 +08:00
|
|
|
|
<input type="hidden" name="ipAddressesJSON" :value="JSON.stringify(ipAddresses)"/>
|
2020-09-06 16:19:34 +08:00
|
|
|
|
<div v-if="ipAddresses.length > 0">
|
|
|
|
|
|
<div>
|
2020-11-21 15:53:04 +08:00
|
|
|
|
<div v-for="(address, index) in ipAddresses" class="ui label tiny basic">
|
2021-06-07 10:00:06 +08:00
|
|
|
|
<span v-if="isIPv6(address.ip)" class="grey">[IPv6]</span> {{address.ip}}
|
|
|
|
|
|
<span class="small grey" v-if="address.name.length > 0">({{address.name}}<span v-if="!address.canAccess">,不可访问</span>)</span>
|
|
|
|
|
|
<span class="small grey" v-if="address.name.length == 0 && !address.canAccess">(不可访问)</span>
|
2021-08-18 09:24:03 +08:00
|
|
|
|
<span class="small red" v-if="!address.isOn">[off]</span>
|
|
|
|
|
|
<span class="small red" v-if="!address.isUp">[down]</span>
|
|
|
|
|
|
|
2020-09-06 16:19:34 +08:00
|
|
|
|
<a href="" title="修改" @click.prevent="updateIPAddress(index, address)"><i class="icon pencil small"></i></a>
|
|
|
|
|
|
<a href="" title="删除" @click.prevent="removeIPAddress(index)"><i class="icon remove"></i></a>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<div class="ui divider"></div>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<div>
|
|
|
|
|
|
<button class="ui button small" type="button" @click.prevent="addIPAddress()">+</button>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
</div>`
|
|
|
|
|
|
})
|