Browse Source

fix:配置中心bug修复

luoy 1 week ago
parent
commit
439be87e29

+ 2 - 2
src/components/JCollapse/index.vue

@@ -16,13 +16,13 @@
 					<div v-if="item.list.length > 0">
 						<div v-for="ip in item.list" :key="ip.id" class="m-2 float-left" style="color: #646464; font-size: 14px">{{ ip.value }}</div>
 					</div>
-					<div class="text-gray-400 ml-2" v-else>--</div>
+					<div class="text-gray-400 m-2" style="line-height: 24px;" v-else>--</div>
 				</div>
 				<div v-else>
 					<div v-if="item.list.length > 0">
 						<div v-for="ip in item.list" :key="ip" class="m-2 float-left" style="color: #646464; font-size: 14px">{{ ip }}</div>
 					</div>
-					<div class="text-gray-400 ml-2" v-else>--</div>
+					<div class="text-gray-400 m-2" style="line-height: 24px;" v-else>--</div>
 
 				</div>
 			</div>

+ 11 - 2
src/views/marketing/config/components/ipListEdit.vue

@@ -20,9 +20,18 @@
 				<template #label>
 					<div v-if="index === 0" class="flex items-center">
 						<el-tooltip v-if="sign === 'ip'" effect="light" content="输入127.0.0.1/24格式代表网段" placement="top">
-							<el-icon><Warning /> </el-icon>
+							<el-icon>
+								<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 14 14" fill="none">
+									<path d="M7 14C8.93298 14 10.683 13.2165 11.9497 11.9497C13.2165 10.683 14 8.93298 14 7C14 5.06702 13.2165 3.31702 11.9497 2.05025C10.683 0.783503 8.93298 0 7 0C5.06702 0 3.31702 0.783503 2.05025 2.05025C0.783503 3.31702 0 5.06702 0 7C0 8.93298 0.783503 10.683 2.05025 11.9497C3.31702 13.2165 5.06702 14 7 14Z" fill="#1B4D88" fill-opacity="0.4"/>
+									<path fill-rule="evenodd" clip-rule="evenodd" d="M6.99957 1.94434C7.5365 1.94434 7.97179 2.37962 7.97179 2.91656C7.97179 3.4535 7.5365 3.88878 6.99957 3.88878C6.46263 3.88878 6.02734 3.4535 6.02734 2.91656C6.02734 2.37962 6.46263 1.94434 6.99957 1.94434Z" fill="white"/>
+									<path d="M6.99957 1.94434C7.5365 1.94434 7.97179 2.37962 7.97179 2.91656C7.97179 3.4535 7.5365 3.88878 6.99957 3.88878C6.46263 3.88878 6.02734 3.4535 6.02734 2.91656C6.02734 2.37962 6.46263 1.94434 6.99957 1.94434ZM6.99957 2.33322C6.6774 2.33322 6.41623 2.5944 6.41623 2.91656C6.41623 3.23872 6.6774 3.49989 6.99957 3.49989C7.32173 3.49989 7.5829 3.23872 7.5829 2.91656C7.5829 2.5944 7.32173 2.33322 6.99957 2.33322Z" fill="white"/>
+									<path d="M7.19477 10.8888V5.44434H6.80588H6.41699" fill="white"/>
+									<path d="M6.41645 10.8887V6.22206C5.98689 6.22206 5.63867 5.87384 5.63867 5.44428C5.63867 5.01473 5.98689 4.6665 6.41645 4.6665H7.19423L7.27398 4.6703C7.66608 4.71023 7.97201 5.04164 7.97201 5.44428V10.8887C7.97201 11.3183 7.70354 11.3447 7.27398 11.3447C6.84443 11.3447 6.41645 11.3183 6.41645 10.8887Z" fill="white"/>
+									<path d="M8.55566 10C8.98522 10 9.33344 10.3482 9.33344 10.7778C9.33344 11.2073 8.98522 11.5556 8.55566 11.5556H5.83344C5.40389 11.5556 5.05566 11.2073 5.05566 10.7778C5.05566 10.3482 5.40389 10 5.83344 10H8.55566Z" fill="white"/>
+								</svg>
+							</el-icon>
 						</el-tooltip>
-						{{ sign === 'domain' ? '域名集合' : 'ip集合' }}
+						&nbsp;{{ sign === 'domain' ? '域名集合' : 'ip集合' }}
 					</div>
 				</template>
 				<!-- <div v-for="(item, index) in state.ruleForm.list" :key="item.index" class="flex items-center mb-2 text-sm font-normal justify-start w-full"> -->

+ 3 - 3
src/views/marketing/config/i18n/zh-cn.ts

@@ -21,8 +21,8 @@ export default {
 		deleteDomain: '删除域名',
 		deleteIp: '删除IP',
 		grouping: '分组',
-		domain: '域名',
-		ip: 'IP',
+		domain: '域名',
+		ip: 'IP/网段',
 		domainTip: '请输入域名',
 		groupingTip: '请选择分组名称',
 		ipTip: '请输入IP',
@@ -38,6 +38,6 @@ export default {
 		triggerFrequencyTip: '请输入触发频率',
 		prompt: '提示信息',
 		promptTip: '请输入提示信息',
-		ipSegment: 'IP/段',
+		ipSegment: 'IP/段',
 	},
 };

+ 18 - 4
src/views/marketing/config/index.vue

@@ -4,12 +4,15 @@
 			<el-tab-pane :label="t('marketingConfig.ipList')" name="IP分组" class="layout-padding-auto layout-padding-view">
 				<Title class="ml-4" :title="t('marketingConfig.ipList')" />
 				<div class="p-4 rounded">
-					<el-button type="primary" @click="onClickAdd('ip')">{{ t('marketingConfig.addIpList') }}</el-button>
+					<el-button style="margin-bottom: 10px;" type="primary" @click="onClickAdd('ip')">{{ t('marketingConfig.addIpList') }}</el-button><br>
+					筛选分组:<el-input placeholder="请输入分组名称" clearable
+						style="display: inline-block; width: 200px; margin-left: 5px;"
+						v-model="queryIPName" />
 					<div v-if="ipData.length > 0" class="overflow-y-auto mt-2" style="height: calc(100vh - 250px)">
 						<JCollapse
 							@update="(item) => onClickEdit(item, 'ip')"
 							@delete="(item) => onOpenDelete(item, 'ip')"
-							:data="ipData"
+							:data="showIPData"
 							:activeNames="ipActiveId"
 							:deleteText="t('marketingConfig.deleteListText')"
 							:updateText="t('marketingConfig.updateText')"
@@ -20,11 +23,14 @@
 			<el-tab-pane :label="t('marketingConfig.domainList')" name="域名分组" class="layout-padding-auto layout-padding-view">
 				<Title class="ml-4" :title="t('marketingConfig.domainList')" />
 				<div class="p-4 rounded">
-					<el-button type="primary" @click="onClickAdd('domain')">{{ t('marketingConfig.addDomainList') }}</el-button>
+					<el-button style="margin-bottom: 10px;" type="primary" @click="onClickAdd('domain')">{{ t('marketingConfig.addDomainList') }}</el-button><br>
+					筛选分组:<el-input placeholder="请输入分组名称" clearable
+					style="display: inline-block; width: 200px; margin-left: 5px;"
+					v-model="queryDomainName" />
 					<div v-if="domainData.length > 0" class="overflow-y-auto mt-2" style="height: calc(100vh - 250px)">
 						<JCollapse
 							@update="(item) => onClickEdit(item, 'domain')"
-							:data="domainData"
+							:data="showDomainData"
 							@delete="(item) => onOpenDelete(item, 'domain')"
 							:activeNames="domainActiveId"
 							:deleteText="t('marketingConfig.deleteListText')"
@@ -266,6 +272,14 @@ const JDictSelect = defineAsyncComponent(() => import('/@/components/JDictSelect
 const { t } = useI18n();
 // 定义变量内容
 const activeName = ref('IP分组');
+const queryIPName = ref('');
+const queryDomainName = ref('');
+const showIPData = computed(() => {
+	return ipData.value.filter((item) => item.groupName.includes(queryIPName.value));
+});
+const showDomainData = computed(() => {
+	return domainData.value.filter((item) => item.groupName.includes(queryDomainName.value));
+});
 //关闭或打开tabs的关闭按钮
 const closeDomainTags = ref(false);
 const closeIpTags = ref(false);