|
@@ -1,36 +1,54 @@
|
|
<template>
|
|
<template>
|
|
<div class="layout-padding">
|
|
<div class="layout-padding">
|
|
- <div class="layout-padding-auto layout-padding-view !p-6">
|
|
|
|
- <Title :title="t('marketingConfig.ipList')" />
|
|
|
|
- <div class="p-4 rounded" style="background-color: #f8f8f8">
|
|
|
|
- <el-button type="primary" @click="onAddClick">{{ t('marketingConfig.addIpList') }}</el-button>
|
|
|
|
- <JCollapse @update="(item) => console.log(item)"
|
|
|
|
- @delete="(item) => console.log(item)"
|
|
|
|
- :data="data"
|
|
|
|
- :deleteText="t('marketingConfig.deleteListText')"
|
|
|
|
- :updateText="t('marketingConfig.updateText')"
|
|
|
|
|
|
+ <el-tabs v-model="activeName" type="card" class="demo-tabs" @tab-click="handleClick">
|
|
|
|
+ <el-tab-pane :label="t('marketingConfig.ipList')" name="first" class="layout-padding-auto layout-padding-view">
|
|
|
|
+ <Title :title="t('marketingConfig.ipList')" />
|
|
|
|
+ <div class="p-4 rounded" style="background-color: #f8f8f8">
|
|
|
|
+ <el-button type="primary" @click="onAddClick">{{ t('marketingConfig.addIpList') }}</el-button>
|
|
|
|
+ <JCollapse
|
|
|
|
+ @update="(item) => console.log(item)"
|
|
|
|
+ @delete="(item) => console.log(item)"
|
|
|
|
+ :data="data"
|
|
|
|
+ :deleteText="t('marketingConfig.deleteListText')"
|
|
|
|
+ :updateText="t('marketingConfig.updateText')"
|
|
/>
|
|
/>
|
|
- </div>
|
|
|
|
- <Title class="mt-4" :title="t('marketingConfig.domainList')" />
|
|
|
|
- <div class="p-4 rounded" style="background-color: #f8f8f8">
|
|
|
|
- <el-button type="primary" @click="onAddClick">{{ t('marketingConfig.addDomainList') }}</el-button>
|
|
|
|
- <JCollapse @update="(item) => console.log(item)"
|
|
|
|
- :data="data"
|
|
|
|
- @delete="(item) => console.log(item)"
|
|
|
|
- :deleteText="t('marketingConfig.deleteListText')"
|
|
|
|
- :updateText="t('marketingConfig.updateText')"
|
|
|
|
|
|
+ </div>
|
|
|
|
+ </el-tab-pane>
|
|
|
|
+ <el-tab-pane :label="t('marketingConfig.domainList')" name="second" class="layout-padding-auto layout-padding-view">
|
|
|
|
+ <Title class="" :title="t('marketingConfig.domainList')" />
|
|
|
|
+ <div class="p-4 rounded" style="background-color: #f8f8f8">
|
|
|
|
+ <el-button type="primary" @click="onAddClick">{{ t('marketingConfig.addDomainList') }}</el-button>
|
|
|
|
+ <JCollapse
|
|
|
|
+ @update="(item) => console.log(item)"
|
|
|
|
+ :data="data"
|
|
|
|
+ @delete="(item) => console.log(item)"
|
|
|
|
+ :deleteText="t('marketingConfig.deleteListText')"
|
|
|
|
+ :updateText="t('marketingConfig.updateText')"
|
|
/>
|
|
/>
|
|
- </div>
|
|
|
|
- <Title class="mt-4" :title="t('marketingConfig.disposition')" />
|
|
|
|
- <div class="p-4 rounded" style="background-color: #f8f8f8">
|
|
|
|
- <JCollapse @update="(item) => console.log(item)"
|
|
|
|
- @delete="(item) => console.log(item)"
|
|
|
|
- :deleteText="t('marketingConfig.deleteText')"
|
|
|
|
- :updateText="t('marketingConfig.updateText')"
|
|
|
|
- />
|
|
|
|
- </div>
|
|
|
|
- </div>
|
|
|
|
- <MenuDialog @refresh="getDataList()" ref="menuDialogRef" />
|
|
|
|
|
|
+ </div>
|
|
|
|
+ </el-tab-pane>
|
|
|
|
+ <el-tab-pane :label="t('marketingConfig.disposition')" name="third" class="layout-padding-auto layout-padding-view">
|
|
|
|
+ <Title class="" :title="t('marketingConfig.disposition')" />
|
|
|
|
+ <div class="p-4 rounded" style="background-color: #f8f8f8">
|
|
|
|
+ <JCollapse
|
|
|
|
+ :data="[
|
|
|
|
+ {
|
|
|
|
+ title: 'IP集合',
|
|
|
|
+ id: '1',
|
|
|
|
+ }
|
|
|
|
+ ]"
|
|
|
|
+ @update="(item) => console.log(item)"
|
|
|
|
+ @delete="(item) => console.log(item)"
|
|
|
|
+ :deleteText="t('marketingConfig.deleteText')"
|
|
|
|
+ :updateText="t('marketingConfig.updateText')"
|
|
|
|
+ >
|
|
|
|
+ <template #default>
|
|
|
|
+ <div>11111</div>
|
|
|
|
+ </template>
|
|
|
|
+ </JCollapse>
|
|
|
|
+ </div>
|
|
|
|
+ </el-tab-pane>
|
|
|
|
+ </el-tabs>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
</template>
|
|
|
|
|
|
@@ -44,6 +62,7 @@ const JCollapse = defineAsyncComponent(() => import('/@/components/JCollapse/ind
|
|
const Title = defineAsyncComponent(() => import('/@/components/Title/index.vue'));
|
|
const Title = defineAsyncComponent(() => import('/@/components/Title/index.vue'));
|
|
const { t } = useI18n();
|
|
const { t } = useI18n();
|
|
// 定义变量内容
|
|
// 定义变量内容
|
|
|
|
+const activeName = ref('first');
|
|
|
|
|
|
const data = ref([
|
|
const data = ref([
|
|
{
|
|
{
|
|
@@ -72,7 +91,6 @@ const state: BasicTableProps = reactive<BasicTableProps>({
|
|
|
|
|
|
const { getDataList, currentChangeHandle, sizeChangeHandle, tableStyle } = useTable(state);
|
|
const { getDataList, currentChangeHandle, sizeChangeHandle, tableStyle } = useTable(state);
|
|
|
|
|
|
-
|
|
|
|
// 打开编辑菜单弹窗
|
|
// 打开编辑菜单弹窗
|
|
const onOpenEditMenu = (type: string, row: any) => {
|
|
const onOpenEditMenu = (type: string, row: any) => {
|
|
menuDialogRef.value.openDialog(type, row);
|
|
menuDialogRef.value.openDialog(type, row);
|
|
@@ -82,5 +100,7 @@ const onOpenEditMenu = (type: string, row: any) => {
|
|
const handleDelete = async (ids: string[]) => {};
|
|
const handleDelete = async (ids: string[]) => {};
|
|
</script>
|
|
</script>
|
|
<style scoped lang="scss">
|
|
<style scoped lang="scss">
|
|
-
|
|
|
|
|
|
+.el-tabs__header {
|
|
|
|
+ margin-bottom: 0;
|
|
|
|
+}
|
|
</style>
|
|
</style>
|