mirror of
https://github.com/TeaOSLab/EdgeAdmin.git
synced 2025-11-05 06:10:26 +08:00
自定义线路增加区域之间关系设置
This commit is contained in:
@@ -26,7 +26,8 @@ Vue.component("ns-route-ranges-box", {
|
|||||||
|
|
||||||
// region
|
// region
|
||||||
regions: [],
|
regions: [],
|
||||||
regionType: "country"
|
regionType: "country",
|
||||||
|
regionConnector: "OR"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
@@ -68,6 +69,7 @@ Vue.component("ns-route-ranges-box", {
|
|||||||
this.isAdding = false
|
this.isAdding = false
|
||||||
this.regions = []
|
this.regions = []
|
||||||
this.regionType = "country"
|
this.regionType = "country"
|
||||||
|
this.regionConnector = "OR"
|
||||||
this.isReverse = false
|
this.isReverse = false
|
||||||
},
|
},
|
||||||
confirmIPRange: function () {
|
confirmIPRange: function () {
|
||||||
@@ -131,6 +133,7 @@ Vue.component("ns-route-ranges-box", {
|
|||||||
}
|
}
|
||||||
this.ranges.push({
|
this.ranges.push({
|
||||||
type: "region",
|
type: "region",
|
||||||
|
connector: this.regionConnector,
|
||||||
params: {
|
params: {
|
||||||
regions: this.regions,
|
regions: this.regions,
|
||||||
isReverse: this.isReverse
|
isReverse: this.isReverse
|
||||||
@@ -362,10 +365,24 @@ Vue.component("ns-route-ranges-box", {
|
|||||||
<span class="red" v-if="range.params.isReverse">[排除]</span>
|
<span class="red" v-if="range.params.isReverse">[排除]</span>
|
||||||
<span v-if="range.type == 'ipRange'">IP范围:</span>
|
<span v-if="range.type == 'ipRange'">IP范围:</span>
|
||||||
<span v-if="range.type == 'cidr'">CIDR:</span>
|
<span v-if="range.type == 'cidr'">CIDR:</span>
|
||||||
<span v-if="range.type == 'region'">区域:</span>
|
<span v-if="range.type == 'region'"></span>
|
||||||
<span v-if="range.type == 'ipRange'">{{range.params.ipFrom}} - {{range.params.ipTo}}</span>
|
<span v-if="range.type == 'ipRange'">{{range.params.ipFrom}} - {{range.params.ipTo}}</span>
|
||||||
<span v-if="range.type == 'cidr'">{{range.params.cidr}}</span>
|
<span v-if="range.type == 'cidr'">{{range.params.cidr}}</span>
|
||||||
<span v-if="range.type == 'region'"><span v-for="(region, index) in range.params.regions">{{region.name}}<span v-if="index < range.params.regions.length - 1">,</span></span></span>
|
<span v-if="range.type == 'region'">
|
||||||
|
<span v-for="(region, index) in range.params.regions">
|
||||||
|
<span v-if="region.type == 'country'">国家/地区</span>
|
||||||
|
<span v-if="region.type == 'province'">省份</span>
|
||||||
|
<span v-if="region.type == 'city'">城市</span>
|
||||||
|
<span v-if="region.type == 'provider'">ISP</span>
|
||||||
|
:{{region.name}}
|
||||||
|
<span v-if="index < range.params.regions.length - 1" class="grey">
|
||||||
|
|
||||||
|
<span v-if="range.connector == 'OR' || range.connector == '' || range.connector == null">或</span>
|
||||||
|
<span v-if="range.connector == 'AND'">且</span>
|
||||||
|
|
||||||
|
</span>
|
||||||
|
</span>
|
||||||
|
</span>
|
||||||
<a href="" title="删除" @click.prevent="remove(index)"><i class="icon remove small"></i></a>
|
<a href="" title="删除" @click.prevent="remove(index)"><i class="icon remove small"></i></a>
|
||||||
</div>
|
</div>
|
||||||
<div class="ui divider"></div>
|
<div class="ui divider"></div>
|
||||||
@@ -488,9 +505,21 @@ Vue.component("ns-route-ranges-box", {
|
|||||||
<tr>
|
<tr>
|
||||||
<td>已添加</td>
|
<td>已添加</td>
|
||||||
<td>
|
<td>
|
||||||
<div v-for="(region, index) in regions" class="ui label small basic">
|
<span v-for="(region, index) in regions">
|
||||||
{{region.name}} <a href="" title="删除" @click.prevent="removeRegion(index)"><i class="icon remove small"></i></a>
|
<span class="ui label small basic">
|
||||||
</div>
|
<span v-if="region.type == 'country'">国家/地区</span>
|
||||||
|
<span v-if="region.type == 'province'">省份</span>
|
||||||
|
<span v-if="region.type == 'city'">城市</span>
|
||||||
|
<span v-if="region.type == 'provider'">ISP</span>
|
||||||
|
:{{region.name}} <a href="" title="删除" @click.prevent="removeRegion(index)"><i class="icon remove small"></i></a>
|
||||||
|
</span>
|
||||||
|
<span v-if="index < regions.length - 1" class="grey">
|
||||||
|
|
||||||
|
<span v-if="regionConnector == 'OR' || regionConnector == ''">或</span>
|
||||||
|
<span v-if="regionConnector == 'AND'">且</span>
|
||||||
|
|
||||||
|
</span>
|
||||||
|
</span>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
@@ -526,6 +555,17 @@ Vue.component("ns-route-ranges-box", {
|
|||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>区域之间关系</td>
|
||||||
|
<td>
|
||||||
|
<select class="ui dropdown auto-width" v-model="regionConnector">
|
||||||
|
<option value="OR">或</option>
|
||||||
|
<option value="AND">且</option>
|
||||||
|
</select>
|
||||||
|
<p class="comment" v-if="regionConnector == 'OR'">匹配所选任一区域即认为匹配成功。</p>
|
||||||
|
<p class="comment" v-if="regionConnector == 'AND'">匹配所有所选区域才认为匹配成功。</p>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>排除</td>
|
<td>排除</td>
|
||||||
<td>
|
<td>
|
||||||
|
|||||||
Reference in New Issue
Block a user