2021-02-02 15:25:11 +08:00
|
|
|
Vue.component("ip-list-table", {
|
2021-10-22 12:19:02 +08:00
|
|
|
props: ["v-items", "v-keyword"],
|
2021-07-18 17:09:31 +08:00
|
|
|
data: function () {
|
|
|
|
|
return {
|
2021-10-22 12:19:02 +08:00
|
|
|
items: this.vItems,
|
|
|
|
|
keyword: (this.vKeyword != null) ? this.vKeyword : ""
|
2021-07-18 17:09:31 +08:00
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
methods: {
|
|
|
|
|
updateItem: function (itemId) {
|
|
|
|
|
this.$emit("update-item", itemId)
|
|
|
|
|
},
|
|
|
|
|
deleteItem: function (itemId) {
|
|
|
|
|
this.$emit("delete-item", itemId)
|
|
|
|
|
},
|
|
|
|
|
viewLogs: function (itemId) {
|
|
|
|
|
teaweb.popup("/servers/iplists/accessLogsPopup?itemId=" + itemId, {
|
|
|
|
|
width: "50em",
|
|
|
|
|
height: "30em"
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
template: `<div>
|
2021-02-02 15:25:11 +08:00
|
|
|
<table class="ui table selectable celled" v-if="items.length > 0">
|
|
|
|
|
<thead>
|
|
|
|
|
<tr>
|
|
|
|
|
<th style="width:18em">IP</th>
|
|
|
|
|
<th>类型</th>
|
2021-02-06 17:37:09 +08:00
|
|
|
<th>级别</th>
|
2021-02-02 15:25:11 +08:00
|
|
|
<th>过期时间</th>
|
|
|
|
|
<th>备注</th>
|
2021-07-18 17:09:31 +08:00
|
|
|
<th class="three op">操作</th>
|
2021-02-02 15:25:11 +08:00
|
|
|
</tr>
|
|
|
|
|
</thead>
|
|
|
|
|
<tr v-for="item in items">
|
|
|
|
|
<td>
|
2021-10-22 12:19:02 +08:00
|
|
|
<span v-if="item.type != 'all'"><keyword :v-word="keyword">{{item.ipFrom}}</keyword><span v-if="item.ipTo.length > 0"> - <keyword :v-word="keyword">{{item.ipTo}}</keyword></span></span>
|
2021-02-02 15:25:11 +08:00
|
|
|
<span v-else class="disabled">*</span>
|
2021-11-15 11:31:54 +08:00
|
|
|
<div v-if="item.createdTime != null">
|
|
|
|
|
<span class="small disabled">添加于 {{item.createdTime}}</span>
|
|
|
|
|
</div>
|
2021-02-02 15:25:11 +08:00
|
|
|
</td>
|
|
|
|
|
<td>
|
|
|
|
|
<span v-if="item.type.length == 0">IPv4</span>
|
|
|
|
|
<span v-else-if="item.type == 'ipv4'">IPv4</span>
|
|
|
|
|
<span v-else-if="item.type == 'ipv6'">IPv6</span>
|
|
|
|
|
<span v-else-if="item.type == 'all'"><strong>所有IP</strong></span>
|
|
|
|
|
</td>
|
2021-02-06 17:37:09 +08:00
|
|
|
<td>
|
|
|
|
|
<span v-if="item.eventLevelName != null && item.eventLevelName.length > 0">{{item.eventLevelName}}</span>
|
|
|
|
|
<span v-else class="disabled">-</span>
|
|
|
|
|
</td>
|
2021-02-02 15:25:11 +08:00
|
|
|
<td>
|
|
|
|
|
<div v-if="item.expiredTime.length > 0">
|
|
|
|
|
{{item.expiredTime}}
|
|
|
|
|
<div v-if="item.isExpired" style="margin-top: 0.5em">
|
|
|
|
|
<span class="ui label tiny basic red">已过期</span>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<span v-else class="disabled">不过期</span>
|
|
|
|
|
</td>
|
|
|
|
|
<td>
|
|
|
|
|
<span v-if="item.reason.length > 0">{{item.reason}}</span>
|
|
|
|
|
<span v-else class="disabled">-</span>
|
|
|
|
|
</td>
|
|
|
|
|
<td>
|
2021-07-18 17:09:31 +08:00
|
|
|
<a href="" @click.prevent="viewLogs(item.id)">日志</a>
|
2021-02-02 15:25:11 +08:00
|
|
|
<a href="" @click.prevent="updateItem(item.id)">修改</a>
|
|
|
|
|
<a href="" @click.prevent="deleteItem(item.id)">删除</a>
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
</table>
|
|
|
|
|
</div>`
|
|
|
|
|
})
|