cmy 2 nedēļas atpakaļ
vecāks
revīzija
702207a07d
2 mainītis faili ar 14 papildinājumiem un 39 dzēšanām
  1. 9 27
      src/views/marketing/apps/form.vue
  2. 5 12
      src/views/marketing/apps/index.vue

+ 9 - 27
src/views/marketing/apps/form.vue

@@ -20,7 +20,7 @@
         :data="[
           { title: 'IP集合', id: '1'},
         ]"
-        @update="(item: any) => console.log(item)"
+        @update="(item: any) => ipAdd = !ipAdd"
         @delete="(item: any) => ipDeletable = !ipDeletable"
         :deleteText="t('marketingConfig.deleteText')"
         :updateText="'新增'"
@@ -91,7 +91,7 @@
         :data="[
           { title: '域名集合', id: '1'},
         ]"
-        @update="(item: any) => console.log(item)"
+        @update="(item: any) => domainAdd = !domainAdd"
 				@delete="(item: any) => domainDeletable = !domainDeletable"
         :deleteText="t('marketingConfig.deleteText')"
         :updateText="'新增'"
@@ -99,7 +99,7 @@
       >
         <template #default>
           <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">
               {{ item.domain }}
             </el-tag>
@@ -126,14 +126,6 @@
 <script setup lang="ts" name="systemMenuDialog">
 import {useI18n} from 'vue-i18n';
 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 {
   blacklist: String[];
@@ -153,9 +145,11 @@ const ips = ref<Ips>({
   blacklist: [],
   whitelist: []
 });
-const https = ref<string[]>([]);
+const domains = ref<string[]>([]);
 const ipDeletable = ref(false);// 控制 IP 列表项是否可删除
 const domainDeletable = ref(false);// 控制域名列表项是否可删除
+const ipAdd = ref(false);
+const domainAdd = ref(false);
 
 // 定义需要的数据
 const state = reactive({
@@ -202,32 +196,20 @@ const openDialog = async (type: string, row: any, str: string = 'domain') => {
     remark: '',
   };
   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;
   console.log(row);
   ips.value.whitelist = row.ips.filter((item: any) => item.ipType == '1');
   ips.value.blacklist = row.ips.filter((item: any) => item.ipType == '2');
   console.log(ips.value);
   
-  https.value = row.domains;
+  domains.value = row.domains;
 };
 
 // 保存数据
 const onSubmit = async () => {
   console.log(state.ruleForm)
+  visible.value = false;
   // try {
   //   loading.value = true;
   //   await save(state.ruleForm);

+ 5 - 12
src/views/marketing/apps/index.vue

@@ -79,7 +79,7 @@
               :inactive-value="0" @change="handleChange(row)" />
           </template>
         </el-table-column>
-        <el-table-column label="域名集合" prop="https" width="240" show-overflow-tooltip>
+        <el-table-column label="域名集合" prop="domains" width="240" show-overflow-tooltip>
           <template #default="{ row }">
             <div style="
                   padding: 0 20px;
@@ -88,11 +88,11 @@
                 ">
               <el-tooltip effect="light">
                 <template #content>
-                  <div v-for="(item, index) in row.https" :key="index">{{ item }};</div>
+                  <div v-for="(item, index) in row.domains" :key="index">{{ item.domain }};</div>
                 </template>
                 <el-text line-clamp="6">
-                  <template v-for="(item, index) in row.https" :key="index">
-                    <div>{{ item }};</div>
+                  <template v-for="(item, index) in row.domains" :key="index">
+                    <div>{{ item.domain }};</div>
                   </template>
                 </el-text>
               </el-tooltip>
@@ -140,7 +140,7 @@
             {{ Math.floor(Math.random() * 10) }}
           </template>
         </el-table-column>
-        <el-table-column :label="$t('marketingApps.triggerRule')" prop="triggerRule" show-overflow-tooltip>
+        <el-table-column :label="$t('marketingApps.triggerRule')" width="200" prop="triggerRule" show-overflow-tooltip>
           <template #default="{ row }">
             <el-select v-model="row.triggerRule" placeholder="" style="width: 150px">
               <el-option v-for="item in triggerRules" :key="item.value" :label="item.label" :value="item.value" />
@@ -150,13 +150,6 @@
         <el-table-column fixed="right" :label="$t('common.action')" width="80">
           <template #default="scope">
             <div class="action" style="text-align: left;">
-              <!-- <el-button icon="edit-pen" @click="onOpenEditMenu('edit', scope.row, 'domain')" text type="primary"
-                v-auth="'sys_menu_edit'">域名
-              </el-button>
-              <el-button icon="edit-pen" @click="onOpenEditMenu('edit', scope.row, 'ip')" text type="primary"
-                v-auth="'sys_menu_edit'">IP
-              </el-button>
-              <br /> -->
               <el-button style="margin-left: 0;" icon="edit-pen" @click="onOpenEditMenu('edit', scope.row)" text type="primary"
                 v-auth="'sys_menu_edit'">修改
               </el-button>