|
@@ -20,7 +20,7 @@
|
|
:data="[
|
|
:data="[
|
|
{ title: 'IP集合', id: '1'},
|
|
{ title: 'IP集合', id: '1'},
|
|
]"
|
|
]"
|
|
- @update="(item: any) => console.log(item)"
|
|
|
|
|
|
+ @update="(item: any) => ipAdd = !ipAdd"
|
|
@delete="(item: any) => ipDeletable = !ipDeletable"
|
|
@delete="(item: any) => ipDeletable = !ipDeletable"
|
|
:deleteText="t('marketingConfig.deleteText')"
|
|
:deleteText="t('marketingConfig.deleteText')"
|
|
:updateText="'新增'"
|
|
:updateText="'新增'"
|
|
@@ -91,7 +91,7 @@
|
|
:data="[
|
|
:data="[
|
|
{ title: '域名集合', id: '1'},
|
|
{ title: '域名集合', id: '1'},
|
|
]"
|
|
]"
|
|
- @update="(item: any) => console.log(item)"
|
|
|
|
|
|
+ @update="(item: any) => domainAdd = !domainAdd"
|
|
@delete="(item: any) => domainDeletable = !domainDeletable"
|
|
@delete="(item: any) => domainDeletable = !domainDeletable"
|
|
:deleteText="t('marketingConfig.deleteText')"
|
|
:deleteText="t('marketingConfig.deleteText')"
|
|
:updateText="'新增'"
|
|
:updateText="'新增'"
|
|
@@ -99,7 +99,7 @@
|
|
>
|
|
>
|
|
<template #default>
|
|
<template #default>
|
|
<div class="p-2 items-center flex flex-wrap">
|
|
<div class="p-2 items-center flex flex-wrap">
|
|
- <el-tag v-for="item in https" :key="item" effect="light" :closable="domainDeletable"
|
|
|
|
|
|
+ <el-tag v-for="item in domains" :key="item" effect="light" :closable="domainDeletable"
|
|
style="margin-bottom: 4px;" color="#f4f4f4" round class="ml-1 cursor-pointer">
|
|
style="margin-bottom: 4px;" color="#f4f4f4" round class="ml-1 cursor-pointer">
|
|
{{ item.domain }}
|
|
{{ item.domain }}
|
|
</el-tag>
|
|
</el-tag>
|
|
@@ -126,14 +126,6 @@
|
|
<script setup lang="ts" name="systemMenuDialog">
|
|
<script setup lang="ts" name="systemMenuDialog">
|
|
import {useI18n} from 'vue-i18n';
|
|
import {useI18n} from 'vue-i18n';
|
|
import JCollapse from '/@/components/JCollapse/index.vue';
|
|
import JCollapse from '/@/components/JCollapse/index.vue';
|
|
-import { getDetail } from '/@/api/marketing/apps';
|
|
|
|
-import { ElMessage, messageConfig } from 'element-plus';
|
|
|
|
-
|
|
|
|
-interface Item {
|
|
|
|
- id: string;
|
|
|
|
- title: string;
|
|
|
|
- list: string[];
|
|
|
|
-}
|
|
|
|
|
|
|
|
interface Ips {
|
|
interface Ips {
|
|
blacklist: String[];
|
|
blacklist: String[];
|
|
@@ -153,9 +145,11 @@ const ips = ref<Ips>({
|
|
blacklist: [],
|
|
blacklist: [],
|
|
whitelist: []
|
|
whitelist: []
|
|
});
|
|
});
|
|
-const https = ref<string[]>([]);
|
|
|
|
|
|
+const domains = ref<string[]>([]);
|
|
const ipDeletable = ref(false);// 控制 IP 列表项是否可删除
|
|
const ipDeletable = ref(false);// 控制 IP 列表项是否可删除
|
|
const domainDeletable = ref(false);// 控制域名列表项是否可删除
|
|
const domainDeletable = ref(false);// 控制域名列表项是否可删除
|
|
|
|
+const ipAdd = ref(false);
|
|
|
|
+const domainAdd = ref(false);
|
|
|
|
|
|
// 定义需要的数据
|
|
// 定义需要的数据
|
|
const state = reactive({
|
|
const state = reactive({
|
|
@@ -202,32 +196,20 @@ const openDialog = async (type: string, row: any, str: string = 'domain') => {
|
|
remark: '',
|
|
remark: '',
|
|
};
|
|
};
|
|
visible.value = true;
|
|
visible.value = true;
|
|
- // loading.value = true;
|
|
|
|
- // try {
|
|
|
|
- // const res = await getDetail(row.id);
|
|
|
|
- // if (res) {
|
|
|
|
- // state.ruleForm = res;
|
|
|
|
- // console.log(res);
|
|
|
|
- // ips.value = res.ipSets;
|
|
|
|
- // https.value = res.domainSets;
|
|
|
|
- // }
|
|
|
|
- // } catch(e) {
|
|
|
|
- // console.error(e);
|
|
|
|
- // } finally {
|
|
|
|
- // loading.value = false;
|
|
|
|
- // }
|
|
|
|
|
|
+
|
|
state.ruleForm = row;
|
|
state.ruleForm = row;
|
|
console.log(row);
|
|
console.log(row);
|
|
ips.value.whitelist = row.ips.filter((item: any) => item.ipType == '1');
|
|
ips.value.whitelist = row.ips.filter((item: any) => item.ipType == '1');
|
|
ips.value.blacklist = row.ips.filter((item: any) => item.ipType == '2');
|
|
ips.value.blacklist = row.ips.filter((item: any) => item.ipType == '2');
|
|
console.log(ips.value);
|
|
console.log(ips.value);
|
|
|
|
|
|
- https.value = row.domains;
|
|
|
|
|
|
+ domains.value = row.domains;
|
|
};
|
|
};
|
|
|
|
|
|
// 保存数据
|
|
// 保存数据
|
|
const onSubmit = async () => {
|
|
const onSubmit = async () => {
|
|
console.log(state.ruleForm)
|
|
console.log(state.ruleForm)
|
|
|
|
+ visible.value = false;
|
|
// try {
|
|
// try {
|
|
// loading.value = true;
|
|
// loading.value = true;
|
|
// await save(state.ruleForm);
|
|
// await save(state.ruleForm);
|