Browse Source

修改v3 部分样式 (1)选择站点组件,样式优化,(2)部分页面的选择站点滚动巡抚

chenlei1231 3 months ago
parent
commit
0abd89d9c0

+ 25 - 0
src/assets/less/common.less

@@ -98,3 +98,28 @@
 .table {
   width: 100%;
 }
+
+
+
+.googlleads,
+.home,
+.seo_keywords_rank_wrap,
+.seo-keywords-list,
+.adweb-enquiry-list,
+.adweb-waste-enquiry-list{
+  padding-top: 72px !important;
+
+  .search-form {
+    position: fixed;
+    width: 100%;
+    z-index: 999;
+    top: 110px;
+    background-color: #f5f5f5;
+    //background-color: var(--header-bg-color) !important;
+
+    .search-form-container {
+      align-items: center;
+      margin: 20px 0;
+    }
+  }
+}

+ 1 - 2
src/assets/less/home.less

@@ -27,7 +27,6 @@
   font-size: 18px;
   line-height: 18px;
   margin-left: 25px;
-  padding-top: 5px;
 }
 
 .border-right{
@@ -44,7 +43,7 @@
     width: auto;
   }
   .top-title {
-    margin-bottom: 15px;
+    margin: 20px 0;
 
     .t1 {
       font-size: 18px;

+ 13 - 2
src/components/Adweb/selectSite.vue

@@ -1,5 +1,5 @@
 <template>
-  <a-form-item :label="props.label" name="siteCode">
+  <a-form-item :label="props.label" name="siteCode" class="search-adweb-site">
     <a-select
       showSearch
       :allowClear="props.allowClear"
@@ -113,7 +113,18 @@
   }
 </script>
 
-<style lang="less">
+<style lang="less" scoped>
+  .search-adweb-site {
+    margin-bottom: 0;
+  }
+  :deep(.ant-select-focused .ant-select-selection-item) {
+    color: #cfcbcba6 !important;
+  }
+
+  :deep(.ant-select .ant-select-arrow) {
+    color: #ddd !important;
+  }
+
   .wp-tips {
     .ant-modal-header {
       padding: 10px;

+ 24 - 23
src/views/adweb/enquiry/AdwebEnquiryList.vue

@@ -1,26 +1,28 @@
 <template>
-  <div class="p-2">
-    <a-row class="r1" :gutter="8">
-      <a-col :xl="7" :xxl="6">
-        <div class="choose-site">
-          <span class="t1">站点:</span>
-          <select-site ref="selectSiteRef" @set-site-info="getSiteList" select-width="100%" />
-        </div>
-      </a-col>
-      <a-col :xl="8" :xxl="6">
-        <div class="choose-site">
-          <span class="t1">询盘时间:</span>
-          <a-range-picker @change="onChangeDatePciker" :disabledDate="disabledDate" :value="rangeDate" style="width: 70%" />
-        </div>
-      </a-col>
-      <a-col :xl="9" :xxl="12">
-        <a-button :class="queryParam.dateType == '' ? 'active' : ''" @click="setTime('')">全部时间 </a-button>
-        <a-button :class="queryParam.dateType == 'thirtyDay' ? 'active' : ''" @click="setTime('thirtyDay')">近30天 </a-button>
-        <a-button :class="queryParam.dateType == 'sevenDay' ? 'active' : ''" @click="setTime('sevenDay')">近一周 </a-button>
-        <a-button :class="queryParam.dateType == 'yesterday' ? 'active' : ''" @click="setTime('yesterday')">昨日 </a-button>
-        <a-button :class="queryParam.dateType == 'today' ? 'active' : ''" @click="setTime('today')"> 今日 </a-button>
-      </a-col>
-    </a-row>
+  <div class="p-2 adweb-enquiry-list">
+    <div class="search-form">
+      <a-row class="r1 search-form-container" :gutter="8">
+        <a-col :xl="7" :xxl="6">
+          <div class="choose-site">
+            <span class="t1">站点:</span>
+            <select-site ref="selectSiteRef" @set-site-info="getSiteList" select-width="100%" />
+          </div>
+        </a-col>
+        <a-col :xl="8" :xxl="6">
+          <div class="choose-site">
+            <span class="t1">询盘时间:</span>
+            <a-range-picker @change="onChangeDatePciker" :disabledDate="disabledDate" :value="rangeDate" style="width: 70%" />
+          </div>
+        </a-col>
+        <a-col :xl="9" :xxl="12">
+          <a-button :class="queryParam.dateType == '' ? 'active' : ''" @click="setTime('')">全部时间 </a-button>
+          <a-button :class="queryParam.dateType == 'thirtyDay' ? 'active' : ''" @click="setTime('thirtyDay')">近30天 </a-button>
+          <a-button :class="queryParam.dateType == 'sevenDay' ? 'active' : ''" @click="setTime('sevenDay')">近一周 </a-button>
+          <a-button :class="queryParam.dateType == 'yesterday' ? 'active' : ''" @click="setTime('yesterday')">昨日 </a-button>
+          <a-button :class="queryParam.dateType == 'today' ? 'active' : ''" @click="setTime('today')"> 今日 </a-button>
+        </a-col>
+      </a-row>
+    </div>
 
     <a-row class="r2">
       <a-col :span="8">
@@ -894,7 +896,6 @@
     background: #fff;
     border-radius: 10px;
     padding: 30px 20px;
-    margin-top: 20px;
 
     .ant-col:not(:last-child) {
       border-right: 1px solid #e6e6e6;

+ 25 - 23
src/views/adweb/enquiry/AdwebWasteEnquiryList.vue

@@ -1,26 +1,28 @@
 <template>
-  <div class="p-2">
-    <a-row class="r1" :gutter="8">
-      <a-col :xl="7" :xxl="6">
-        <div class="choose-site">
-          <span class="t1">站点:</span>
-          <select-site ref="selectSiteRef" @set-site-info="getSiteList" />
-        </div>
-      </a-col>
-      <a-col :xl="8" :xxl="6">
-        <div class="choose-site">
-          <span class="t1">询盘时间:</span>
-          <a-range-picker @change="onChangeDatePciker" :disabledDate="disabledDate" :value="rangeDate" style="width: 70%" />
-        </div>
-      </a-col>
-      <a-col :xl="9" :xxl="12">
-        <a-button :class="queryParam.dateType == '' ? 'active' : ''" @click="setTime('')">全部时间 </a-button>
-        <a-button :class="queryParam.dateType == 'thirtyDay' ? 'active' : ''" @click="setTime('thirtyDay')">近30天 </a-button>
-        <a-button :class="queryParam.dateType == 'sevenDay' ? 'active' : ''" @click="setTime('sevenDay')">近一周 </a-button>
-        <a-button :class="queryParam.dateType == 'yesterday' ? 'active' : ''" @click="setTime('yesterday')">昨日 </a-button>
-        <a-button :class="queryParam.dateType == 'today' ? 'active' : ''" @click="setTime('today')"> 今日 </a-button>
-      </a-col>
-    </a-row>
+  <div class="p-2 adweb-waste-enquiry-list">
+    <div class="search-form">
+      <a-row class="r1 search-form-container" :gutter="8">
+        <a-col :xl="7" :xxl="6">
+          <div class="choose-site">
+            <span class="t1">站点:</span>
+            <select-site ref="selectSiteRef" @set-site-info="getSiteList" />
+          </div>
+        </a-col>
+        <a-col :xl="8" :xxl="6">
+          <div class="choose-site">
+            <span class="t1">询盘时间:</span>
+            <a-range-picker @change="onChangeDatePciker" :disabledDate="disabledDate" :value="rangeDate" style="width: 70%" />
+          </div>
+        </a-col>
+        <a-col :xl="9" :xxl="12">
+          <a-button :class="queryParam.dateType == '' ? 'active' : ''" @click="setTime('')">全部时间 </a-button>
+          <a-button :class="queryParam.dateType == 'thirtyDay' ? 'active' : ''" @click="setTime('thirtyDay')">近30天 </a-button>
+          <a-button :class="queryParam.dateType == 'sevenDay' ? 'active' : ''" @click="setTime('sevenDay')">近一周 </a-button>
+          <a-button :class="queryParam.dateType == 'yesterday' ? 'active' : ''" @click="setTime('yesterday')">昨日 </a-button>
+          <a-button :class="queryParam.dateType == 'today' ? 'active' : ''" @click="setTime('today')"> 今日 </a-button>
+        </a-col>
+      </a-row>
+    </div>
 
     <a-row class="r3" type="flex" :gutter="8">
       <a-col flex="2">
@@ -877,6 +879,6 @@
   }
 
   .r3 {
-    margin-top: 20px;
+    margin-bottom: 20px;
   }
 </style>

+ 210 - 226
src/views/adweb/keywords/SeoKeywordsList.vue

@@ -1,8 +1,8 @@
 <template>
-  <div>
+  <div class="seo-keywords-list">
     <!-- 查询区域 -->
-    <div class="table-page-search-wrapper">
-      <a-row class="r1">
+    <div class="table-page-search-wrapper search-form">
+      <a-row class="r1 search-form-container">
         <a-col :span="8">
           <div class="choose-site">
             <span class="t1">站点:</span>
@@ -16,27 +16,23 @@
     <BasicTable @register="registerTable" :rowSelection="rowSelection">
       <!--插槽:table标题-->
       <template #tableTitle>
-        <a-button type="primary" @click="handleAdd" preIcon="ant-design:plus-outlined"> 新增关键词
-        </a-button>
+        <a-button type="primary" @click="handleAdd" preIcon="ant-design:plus-outlined"> 新增关键词 </a-button>
         <!--        <a-button type="primary" preIcon="ant-design:export-outlined" @click="onExportXls"> 导出-->
         <!--        </a-button>-->
-        <a-button type="primary" preIcon="ant-design:download-outlined" @click="downloadTemplate">
-          模板下载
-        </a-button>
-        <j-upload-button type="primary" preIcon="ant-design:import-outlined" @click="onImportXls">
-          关键词导入
-        </j-upload-button>
+        <a-button type="primary" preIcon="ant-design:download-outlined" @click="downloadTemplate"> 模板下载 </a-button>
+        <j-upload-button type="primary" preIcon="ant-design:import-outlined" @click="onImportXls"> 关键词导入 </j-upload-button>
         <a-dropdown v-if="selectedRowKeys.length > 0">
           <template #overlay>
             <a-menu>
               <a-menu-item key="1" @click="batchHandleDelete">
-                <Icon icon="ant-design:delete-outlined"></Icon>
+                <Icon icon="ant-design:delete-outlined" />
                 删除
               </a-menu-item>
             </a-menu>
           </template>
-          <a-button>批量操作
-            <Icon icon="mdi:chevron-down"></Icon>
+          <a-button
+            >批量操作
+            <Icon icon="mdi:chevron-down" />
           </a-button>
         </a-dropdown>
         <!-- 高级查询 -->
@@ -44,23 +40,16 @@
       </template>
       <!--操作栏-->
       <template #action="{ record }">
-        <TableAction :actions="getTableAction(record)"
-                     :dropDownActions="getDropDownAction(record)" />
+        <TableAction :actions="getTableAction(record)" :dropDownActions="getDropDownAction(record)" />
       </template>
       <!--字段回显插槽-->
-      <template v-slot:bodyCell="{ column, record, index, text }">
-        <a-radio-group v-if="column.key === 'keywordType'" button-style="solid"
-                       @change="onchange($event,record.id)" :value="record.keywordType">
-          <a-radio-button :value=1>
-            指定关键词
-          </a-radio-button>
-          <a-radio-button :value=2>
-            长尾关键词
-          </a-radio-button>
+      <template #bodyCell="{ column, record, index, text }">
+        <a-radio-group v-if="column.key === 'keywordType'" button-style="solid" @change="onchange($event, record.id)" :value="record.keywordType">
+          <a-radio-button :value="1"> 指定关键词 </a-radio-button>
+          <a-radio-button :value="2"> 长尾关键词 </a-radio-button>
         </a-radio-group>
         <template v-if="column.key === 'positionUrl'">
-          <a v-if="text !== null && text !== undefined" :href=text
-             target="_blank">{{ text.replace("https://", "").replace("http://", "") }}</a>
+          <a v-if="text !== null && text !== undefined" :href="text" target="_blank">{{ text.replace('https://', '').replace('http://', '') }}</a>
           <a v-else>-</a>
         </template>
       </template>
@@ -72,239 +61,234 @@
       </template>
 
       <template #prioritySlot="{ record, text }">
-        <a-radio-group button-style="solid" @change="onPriorityChange($event, record.id)"
-                       :value="text">
-          <a-radio-button :value="1">
-            高
-          </a-radio-button>
-          <a-radio-button :value="2">
-            中
-          </a-radio-button>
-          <a-radio-button :value="3">
-            低
-          </a-radio-button>
+        <a-radio-group button-style="solid" @change="onPriorityChange($event, record.id)" :value="text">
+          <a-radio-button :value="1"> 高 </a-radio-button>
+          <a-radio-button :value="2"> 中 </a-radio-button>
+          <a-radio-button :value="3"> 低 </a-radio-button>
         </a-radio-group>
       </template>
-      <template #createTime="{ text }">
-
-      </template>
+      <template #createTime="{ text }"> </template>
     </BasicTable>
 
     <!-- 表单区域 -->
-    <SeoKeywordsModal @register="registerModal" @success="handleSuccess"></SeoKeywordsModal>
+    <SeoKeywordsModal @register="registerModal" @success="handleSuccess" />
   </div>
 </template>
 
 <script lang="ts" name="serp-seoKeywords" setup>
-import { ref, reactive, computed, unref, onBeforeMount } from "vue";
-import { BasicTable, useTable, TableAction } from "/@/components/Table";
-import { useModal } from "/@/components/Modal";
-import { useListPage } from "/@/hooks/system/useListPage";
-import SeoKeywordsModal from "./components/SeoKeywordsModal.vue";
-import { columns, searchFormSchema, superQuerySchema } from "./SeoKeywords.data";
-import { list, deleteOne, batchDelete, getImportUrl, getExportUrl } from "./SeoKeywords.api";
-import SelectSite from "@/components/Adweb/selectSite.vue";
-import { downloadFile } from "@/utils/common/renderUtils";
-import { useMethods } from "@/hooks/system/useMethods";
-import { useMessage } from "@/hooks/web/useMessage";
-import { postAction } from "@/api/manage/manage";
+  import { ref, reactive, computed, unref, onBeforeMount } from 'vue';
+  import { BasicTable, useTable, TableAction } from '/@/components/Table';
+  import { useModal } from '/@/components/Modal';
+  import { useListPage } from '/@/hooks/system/useListPage';
+  import SeoKeywordsModal from './components/SeoKeywordsModal.vue';
+  import { columns, searchFormSchema, superQuerySchema } from './SeoKeywords.data';
+  import { list, deleteOne, batchDelete, getImportUrl, getExportUrl } from './SeoKeywords.api';
+  import SelectSite from '@/components/Adweb/selectSite.vue';
+  import { downloadFile } from '@/utils/common/renderUtils';
+  import { useMethods } from '@/hooks/system/useMethods';
+  import { useMessage } from '@/hooks/web/useMessage';
+  import { postAction } from '@/api/manage/manage';
 
-const queryParam = reactive<any>({});
-queryParam.siteCode = localStorage.getItem("siteCode")!;
-//注册model
-const [registerModal, { openModal }] = useModal();
-//注册table数据
-const { prefixCls, tableContext } = useListPage({
-  tableProps: {
-    title: "关键词",
-    api: list,
-    columns,
-    canResize: false,
-    formConfig: {
-      //labelWidth: 120,
-      schemas: searchFormSchema,
-      autoSubmitOnEnter: true,
-      showAdvancedButton: true,
-      fieldMapToNumber: [],
-      fieldMapToTime: []
+  const queryParam = reactive<any>({});
+  queryParam.siteCode = localStorage.getItem('siteCode')!;
+  //注册model
+  const [registerModal, { openModal }] = useModal();
+  //注册table数据
+  const { prefixCls, tableContext } = useListPage({
+    tableProps: {
+      title: '关键词',
+      api: list,
+      columns,
+      canResize: false,
+      formConfig: {
+        //labelWidth: 120,
+        schemas: searchFormSchema,
+        autoSubmitOnEnter: true,
+        showAdvancedButton: true,
+        fieldMapToNumber: [],
+        fieldMapToTime: [],
+      },
+      actionColumn: {
+        width: 120,
+        fixed: 'right',
+      },
+      beforeFetch: (params) => {
+        params.siteCode = localStorage.getItem('siteCode');
+        return Object.assign(params, queryParam);
+      },
     },
-    actionColumn: {
-      width: 120,
-      fixed: "right"
+    exportConfig: {
+      name: '关键词',
+      url: getExportUrl,
+      params: queryParam,
     },
-    beforeFetch: (params) => {
-      params.siteCode = localStorage.getItem("siteCode");
-      return Object.assign(params, queryParam);
-    }
-  },
-  exportConfig: {
-    name: "关键词",
-    url: getExportUrl,
-    params: queryParam
-  },
-  importConfig: {
-    url: getImportUrl,
-    success: handleSuccess
-  }
-});
+    importConfig: {
+      url: getImportUrl,
+      success: handleSuccess,
+    },
+  });
 
-const [registerTable, { reload }, { rowSelection, selectedRowKeys }] = tableContext;
+  const [registerTable, { reload }, { rowSelection, selectedRowKeys }] = tableContext;
 
-/**
- * 新增事件
- */
-function handleAdd() {
-  openModal(true, {
-    isUpdate: false,
-    showFooter: true
-  });
-}
+  /**
+   * 新增事件
+   */
+  function handleAdd() {
+    openModal(true, {
+      isUpdate: false,
+      showFooter: true,
+    });
+  }
 
-/**
- * 编辑事件
- */
-function handleEdit(record: Recordable) {
-  openModal(true, {
-    record,
-    isUpdate: true,
-    showFooter: true
-  });
-}
+  /**
+   * 编辑事件
+   */
+  function handleEdit(record: Recordable) {
+    openModal(true, {
+      record,
+      isUpdate: true,
+      showFooter: true,
+    });
+  }
 
-/**
- * 详情
- */
-function handleDetail(record: Recordable) {
-  openModal(true, {
-    record,
-    isUpdate: true,
-    showFooter: false
-  });
-}
+  /**
+   * 详情
+   */
+  function handleDetail(record: Recordable) {
+    openModal(true, {
+      record,
+      isUpdate: true,
+      showFooter: false,
+    });
+  }
 
-/**
- * 删除事件
- */
-async function handleDelete(record) {
-  await deleteOne({ id: record.id }, handleSuccess);
-}
+  /**
+   * 删除事件
+   */
+  async function handleDelete(record) {
+    await deleteOne({ id: record.id }, handleSuccess);
+  }
 
-/**
- * 批量删除事件
- */
-async function batchHandleDelete() {
-  await batchDelete({ ids: selectedRowKeys.value }, handleSuccess);
-}
+  /**
+   * 批量删除事件
+   */
+  async function batchHandleDelete() {
+    await batchDelete({ ids: selectedRowKeys.value }, handleSuccess);
+  }
 
-/**
- * 成功回调
- */
-function handleSuccess() {
-  (selectedRowKeys.value = []) && reload();
-}
+  /**
+   * 成功回调
+   */
+  function handleSuccess() {
+    (selectedRowKeys.value = []) && reload();
+  }
 
-/**
- * 操作栏
- */
-function getTableAction(record) {
-  return [
-    {
-      label: "编辑",
-      onClick: handleEdit.bind(null, record)
-    }
-  ];
-}
+  /**
+   * 操作栏
+   */
+  function getTableAction(record) {
+    return [
+      {
+        label: '编辑',
+        onClick: handleEdit.bind(null, record),
+      },
+    ];
+  }
 
-/**
- * 下拉操作栏
- */
-function getDropDownAction(record) {
-  return [
-    {
-      label: "删除",
-      popConfirm: {
-        title: "是否确认删除",
-        confirm: handleDelete.bind(null, record),
-        placement: "topLeft"
-      }
-    }
-  ];
-}
+  /**
+   * 下拉操作栏
+   */
+  function getDropDownAction(record) {
+    return [
+      {
+        label: '删除',
+        popConfirm: {
+          title: '是否确认删除',
+          confirm: handleDelete.bind(null, record),
+          placement: 'topLeft',
+        },
+      },
+    ];
+  }
 
-function onPriorityChange($event, id) {
-  // postAction('/serp/seoKeywords/changePriority' + '?id=' + id + '&value=' + $event.target.value).then(function(res) {
-  //   if (res.code === 200) {
-  //     $message.success('优先级更改成功!')
-  //     loadData()
-  //   } else {
-  //     $message.error('优先级更改失败!')
-  //     return
-  //   }
-  // })
-}
+  function onPriorityChange($event, id) {
+    // postAction('/serp/seoKeywords/changePriority' + '?id=' + id + '&value=' + $event.target.value).then(function(res) {
+    //   if (res.code === 200) {
+    //     $message.success('优先级更改成功!')
+    //     loadData()
+    //   } else {
+    //     $message.error('优先级更改失败!')
+    //     return
+    //   }
+    // })
+  }
 
-//关键词指定
-function onchange($event, id) {
-  let params = {
-    id: id,
-    type: $event.target.value
+  //关键词指定
+  function onchange($event, id) {
+    let params = {
+      id: id,
+      type: $event.target.value,
+    };
+    postAction('/seo/seoKeywords/changeType', params, 1000 * 60 * 2).then(function (res) {
+      if (res.code === 200) {
+        $message.createMessage.success('关键词类型更改成功!');
+        reload();
+      } else {
+        $message.createMessage.error(res.message);
+        return;
+      }
+    });
   }
-  postAction('/seo/seoKeywords/changeType', params, 1000 * 60 * 2).then(function(res) {
-    if (res.code === 200) {
-      $message.createMessage.success('关键词类型更改成功!')
-      reload()
-    } else {
-      $message.createMessage.error(res.message)
-      return
-    }
-  })
-}
 
-//切换站点
-function changeSite(selectedSiteInfo: any) {
-  queryParam.siteCode = selectedSiteInfo.code;
-  handleSuccess();
-}
+  //切换站点
+  function changeSite(selectedSiteInfo: any) {
+    queryParam.siteCode = selectedSiteInfo.code;
+    handleSuccess();
+  }
 
-//下载模板
-function downloadTemplate() {
-  downloadFile("关键词导入模版表.xlsx");
-}
+  //下载模板
+  function downloadTemplate() {
+    downloadFile('关键词导入模版表.xlsx');
+  }
 
-// 导入关键词
-const { handleImportXls } = useMethods();
-const importExcelUrl = ref("");
-onBeforeMount(() => {
-  importExcelUrl.value = `${import.meta.env.VITE_GLOB_DOMAIN_URL}/seo/seoKeywords/importExcel?siteCode=` + queryParam.siteCode;
-});
-const $message = useMessage();
+  // 导入关键词
+  const { handleImportXls } = useMethods();
+  const importExcelUrl = ref('');
+  onBeforeMount(() => {
+    importExcelUrl.value = `${import.meta.env.VITE_GLOB_DOMAIN_URL}/seo/seoKeywords/importExcel?siteCode=` + queryParam.siteCode;
+  });
+  const $message = useMessage();
 
-function onImportXls(file) {
-  let realUrl = importExcelUrl.value;
-  if (realUrl) {
-    return handleImportXls(file, realUrl, reload);
-  } else {
-    $message.createMessage.warn("没有传递 importConfig.url 参数");
-    return Promise.reject();
+  function onImportXls(file) {
+    let realUrl = importExcelUrl.value;
+    if (realUrl) {
+      return handleImportXls(file, realUrl, reload);
+    } else {
+      $message.createMessage.warn('没有传递 importConfig.url 参数');
+      return Promise.reject();
+    }
   }
-}
 </script>
 
 <style scoped>
-.r1 {
-  margin-left: 20px;
-  margin-top: 20px;
-
-  .choose-site {
-    display: flex;
+  .table-page-search-wrapper {
+    padding: 0 20px;
   }
 
-  .t1 {
-    font-size: 18px;
-  }
+  .r1 {
+    margin-left: 20px;
+    margin-top: 20px;
 
-  .ant-calendar-picker {
-    margin-right: 20px;
+    .choose-site {
+      display: flex;
+    }
+
+    .t1 {
+      font-size: 18px;
+    }
+
+    .ant-calendar-picker {
+      margin-right: 20px;
+    }
   }
-}
 </style>

+ 0 - 17
src/views/adweb/marketing/googleads.vue

@@ -626,23 +626,6 @@
 </script>
 
 <style scoped lang="less">
-  .googlleads {
-    padding-top: 72px;
-
-    .search-form {
-      position: fixed;
-      width: 100%;
-      z-index: 999;
-      top: 110px;
-      background-color: #f5f5f5;
-      //background-color: var(--header-bg-color) !important;
-
-      .search-form-container {
-        align-items: center;
-      }
-    }
-  }
-
   .r1 {
     margin: 20px;
 

+ 937 - 978
src/views/adweb/seo/SeoKeywordsRankList.vue

@@ -1,71 +1,55 @@
 <template>
   <div class="seo_keywords_rank_wrap">
-    <a-row class="r1">
-      <a-col :span="24">
+    <a-row class="r1 search-form">
+      <a-col :span="24" class="search-form-container">
         <div class="choose-site">
           <span class="t1">站点:</span>
           <select-site @set-site-info="changeSite" selectWidth="300px" />
-          <span style="margin-left: 16px"
-                class="t1">{{ (selectSiteInfo.planName && selectSiteInfo.planType !== "STATIONCONSTRUCTION") ? selectSiteInfo.planName : "暂无SEO推广套餐~"
-            }}
-          <a-popover placement="bottom"
-                     v-show="selectSiteInfo.planName  && selectSiteInfo.planType !== 'STATIONCONSTRUCTION'">
-            <template #content>
-              <span>
-                 指定关键词数:{{ comprehenInfo.planAppointKeywordNum }}&nbsp;
-              </span>
-             <span>
-                 长尾关键词数:{{ comprehenInfo.planLongTailKeywordNum }}&nbsp;
-              </span>
-              <span>
-                  外链数:{{ comprehenInfo.planOuterLinkNum }}&nbsp;
-              </span>
-              <span>
-                  文章数:{{ comprehenInfo.planArticleNum }}
-              </span>
-            </template>
-            <img
-              src="https://cutomer-static-bucket.s3.cn-northwest-1.amazonaws.com.cn/public/material/220803883dfy/document/changjianwenti_1676606434975.png"
-              alt="issue" width="25px" height="25px" />
-          </a-popover>
-        </span>
+          <span style="margin-left: 16px" class="t1"
+            >{{ selectSiteInfo.planName && selectSiteInfo.planType !== 'STATIONCONSTRUCTION' ? selectSiteInfo.planName : '暂无SEO推广套餐~' }}
+            <a-popover placement="bottom" v-show="selectSiteInfo.planName && selectSiteInfo.planType !== 'STATIONCONSTRUCTION'">
+              <template #content>
+                <span> 指定关键词数:{{ comprehenInfo.planAppointKeywordNum }}&nbsp; </span>
+                <span> 长尾关键词数:{{ comprehenInfo.planLongTailKeywordNum }}&nbsp; </span>
+                <span> 外链数:{{ comprehenInfo.planOuterLinkNum }}&nbsp; </span>
+                <span> 文章数:{{ comprehenInfo.planArticleNum }} </span>
+              </template>
+              <img
+                src="https://cutomer-static-bucket.s3.cn-northwest-1.amazonaws.com.cn/public/material/220803883dfy/document/changjianwenti_1676606434975.png"
+                alt="issue"
+                width="25px"
+                height="25px"
+              />
+            </a-popover>
+          </span>
         </div>
-
       </a-col>
     </a-row>
     <a-row class="r2" type="flex" justify="center" align="middle">
       <a-col :span="6">
         <p class="t1"><img src="../../../assets/seo/zhidingci.svg" />指定关键词数</p>
-        <p class="t2" v-if="comprehenInfo.appointKeywordNum == null">
-          -
-        </p>
+        <p class="t2" v-if="comprehenInfo.appointKeywordNum == null"> - </p>
         <p class="t2" v-else>
           <a @click="changeKeywordType()">{{ comprehenInfo.appointKeywordNum }}</a>
         </p>
       </a-col>
       <a-col :span="6">
         <p class="t1"><img src="../../../assets/seo/changweici.svg" />长尾关键词数</p>
-        <p class="t2" v-if="comprehenInfo.longTailKeywordNum == null">
-          -
-        </p>
+        <p class="t2" v-if="comprehenInfo.longTailKeywordNum == null"> - </p>
         <p class="t2" v-else>
           <a @click="longChangeKeywordType()">{{ comprehenInfo.longTailKeywordNum }}</a>
         </p>
       </a-col>
       <a-col :span="6">
         <p class="t1"><img src="../../../assets/seo/lianjieshu.svg" />外链数</p>
-        <p class="t2" v-if="comprehenInfo.outerLinkNum == null">
-          -
-        </p>
+        <p class="t2" v-if="comprehenInfo.outerLinkNum == null"> - </p>
         <p class="t2">
           <span>{{ comprehenInfo.outerLinkNum }}</span>
         </p>
       </a-col>
       <a-col :span="6">
         <p class="t1"><img src="../../../assets/seo/wenzhangshu.svg" />文章数</p>
-        <p class="t2" v-if="comprehenInfo.articleNum == null">
-          -
-        </p>
+        <p class="t2" v-if="comprehenInfo.articleNum == null"> - </p>
         <p class="t2">
           <span>{{ comprehenInfo.articleNum }}</span>
         </p>
@@ -78,20 +62,23 @@
           <p class="t1">指定关键词排名</p>
           <div class="content">
             <div class="d1"><img src="../../../assets/seo/NO1.svg" />1-10位</div>
-            <div class="d2"><a @click="getTableInfoRank(3,1)">{{ rankInfo.appointKeyword.firstNum
-              }}</a>个
+            <div class="d2"
+              ><a @click="getTableInfoRank(3, 1)">{{ rankInfo.appointKeyword.firstNum }}</a
+              >个
             </div>
           </div>
           <div class="content">
             <div class="d1"><img src="../../../assets/seo/NO2.svg" />11-30位</div>
-            <div class="d2"><a @click="getTableInfoRank(7,1)">{{
-                rankInfo.appointKeyword.secondNum }}</a>个
+            <div class="d2"
+              ><a @click="getTableInfoRank(7, 1)">{{ rankInfo.appointKeyword.secondNum }}</a
+              >个
             </div>
           </div>
           <div class="content">
             <div class="d1"><img src="../../../assets/seo/NO3.svg" />31-100位</div>
-            <div class="d2"><a @click="getTableInfoRank(8,1)">{{
-                rankInfo.appointKeyword.thirdType }}</a>个
+            <div class="d2"
+              ><a @click="getTableInfoRank(8, 1)">{{ rankInfo.appointKeyword.thirdType }}</a
+              >个
             </div>
           </div>
         </div>
@@ -102,68 +89,69 @@
           <div class="content">
             <div class="d1"><img src="../../../assets/seo/NO1.svg" />1-10位</div>
             <div class="d2">
-              <a @click="longGetTableInfoRank(3)">{{ rankInfo.longTailKeyword.firstNum }}</a>个
+              <a @click="longGetTableInfoRank(3)">{{ rankInfo.longTailKeyword.firstNum }}</a
+              >个
             </div>
           </div>
           <div class="content">
             <div class="d1"><img src="../../../assets/seo/NO2.svg" />11-30位</div>
-            <div class="d2"><a @click="longGetTableInfoRank(7)">{{
-                rankInfo.longTailKeyword.secondNum }}</a>个
+            <div class="d2"
+              ><a @click="longGetTableInfoRank(7)">{{ rankInfo.longTailKeyword.secondNum }}</a
+              >个
             </div>
           </div>
           <div class="content">
             <div class="d1"><img src="../../../assets/seo/NO3.svg" />31-100位</div>
-            <div class="d2"><a @click="longGetTableInfoRank(8)">{{
-                rankInfo.longTailKeyword.thirdType }}</a>个
+            <div class="d2"
+              ><a @click="longGetTableInfoRank(8)">{{ rankInfo.longTailKeyword.thirdType }}</a
+              >个
             </div>
           </div>
         </div>
       </a-col>
     </a-row>
-    <a-row>
-
-    </a-row>
+    <a-row />
     <a-row class="r4">
       <a-card title="指定关键词" :bordered="false" style="width: 100%">
         <a-col :span="24">
           <a-row class="table-tool-wrap" type="flex">
             <a-col :span="8">
               <ul>
-                <li :class="{active:show==1}" @click="getTableInfoRank(1)">全部</li>
-                <li :class="{active:show==3}" @click="getTableInfoRank(3)">第一页</li>
-                <li :class="{active:show==4}" @click="getTableInfoRank(4)">前三页</li>
-                <li :class="{active:show==5}" @click="getTableInfoRank(5)">前五页</li>
-                <li :class="{active:show==6}" @click="getTableInfoRank(6)">前十页</li>
+                <li :class="{ active: show == 1 }" @click="getTableInfoRank(1)">全部</li>
+                <li :class="{ active: show == 3 }" @click="getTableInfoRank(3)">第一页</li>
+                <li :class="{ active: show == 4 }" @click="getTableInfoRank(4)">前三页</li>
+                <li :class="{ active: show == 5 }" @click="getTableInfoRank(5)">前五页</li>
+                <li :class="{ active: show == 6 }" @click="getTableInfoRank(6)">前十页</li>
               </ul>
             </a-col>
             <a-col :span="16" style="text-align: right">
-              <a-button type="link" @click="rankingClick"
-                        :style="rankingButtonStatus == false ? 'border-style: none;color: black !important;': 'border-style: none;color: #544BEB !important;'">
+              <a-button
+                type="link"
+                @click="rankingClick"
+                :style="
+                  rankingButtonStatus == false ? 'border-style: none;color: black !important;' : 'border-style: none;color: #544BEB !important;'
+                "
+              >
                 按排名
                 <a-icon :type="rankingButtonArrow" v-if="rankingButtonStatus" />
               </a-button>
-              <a-button type="link"
-                        :style="wordsButtonStatus == false ? 'margin-right: 16px;border-style: none;color: black !important;': 'margin-right: 16px;border-style: none;color: #544BEB !important;'"
-                        @click="wordsClick">
+              <a-button
+                type="link"
+                :style="
+                  wordsButtonStatus == false
+                    ? 'margin-right: 16px;border-style: none;color: black !important;'
+                    : 'margin-right: 16px;border-style: none;color: #544BEB !important;'
+                "
+                @click="wordsClick"
+              >
                 按字数
                 <a-icon :type="wordsButtonArrow" v-if="wordsButtonStatus" />
               </a-button>
 
-              <a-input
-                placeholder="请输入关键词"
-                style="width: 200px;margin-right: 8px"
-                v-model:value="keywords"
-              >
-              </a-input>
-              <a-button type="primary" preIcon="ant-design:search-outlined"
-                        style="margin-right: 8px" @click="setTable">
-                查询
-              </a-button>
+              <a-input placeholder="请输入关键词" style="width: 200px; margin-right: 8px" v-model:value="keywords" />
+              <a-button type="primary" preIcon="ant-design:search-outlined" style="margin-right: 8px" @click="setTable"> 查询 </a-button>
 
-              <a-button ghost type="primary" preIcon="ant-design:reload-outlined"
-                        @click="searchReset">
-                重置
-              </a-button>
+              <a-button ghost type="primary" preIcon="ant-design:reload-outlined" @click="searchReset"> 重置 </a-button>
 
               <!--              <a-button ghost type="primary"  @click="handleExportXlsLU('关键词排名',1)" style="margin-left: 8px" :loading="excelLoading">导出Excel</a-button>-->
             </a-col>
@@ -174,59 +162,48 @@
           <a-table
             ref="table"
             size="middle"
-            :scroll="{x:true}"
+            :scroll="{ x: true }"
             rowKey="id"
             :columns="columns"
             :dataSource="dataSource"
             :pagination="ipagination"
             :loading="loading"
             class="j-table-force-nowrap"
-
-            @change="handleTableChange">
+            @change="handleTableChange"
+          >
             <template #bodyCell="{ column, record, index, text }">
-              <template v-if="column.key === 'rowIndex' ">
+              <template v-if="column.key === 'rowIndex'">
                 {{ (ipagination.current - 1) * ipagination.pageSize + index + 1 }}
               </template>
 
               <template class="title" v-if="column.key === 'keywords'">
-                <span style="white-space:pre">{{ text }}</span>
-                <span
-                  v-if="comprehenInfo.specifyKeywordNum != null && comprehenInfo.longTailKeywordNum != null">
-                <a-tag v-if="record.keywordType == 1" color="blue"
-                       style="margin-left: 8px">指定</a-tag>
-              </span>
+                <span style="white-space: pre">{{ text }}</span>
+                <span v-if="comprehenInfo.specifyKeywordNum != null && comprehenInfo.longTailKeywordNum != null">
+                  <a-tag v-if="record.keywordType == 1" color="blue" style="margin-left: 8px">指定</a-tag>
+                </span>
               </template>
 
               <template class="tag" v-if="column.key === 'tag'">
                 <a-popover v-if="text != 0" placement="bottom" overlayClassName="self-pop">
-                  <img style="width: 18px;position: relative;top: -2px;"
-                       v-if="text >= 1 && text <= 10 " src="../../../assets/seo/NO1.svg" />
-                  <img style="width: 18px;position: relative;top: -2px;"
-                       v-if="text >= 11 && text <= 20 " src="../../../assets/seo/NO2.svg" />
-                  <img style="width: 18px;position: relative;top: -2px;"
-                       v-if="text >= 21 && text <= 30 " src="../../../assets/seo/NO3.svg" />
-                  <template slot="content">
-                    <p style="margin-bottom: 0">第{{ parseInt((text - 1) / 10) + 1
-                      }}页,总排名{{ text }}</p>
+                  <img style="width: 18px; position: relative; top: -2px" v-if="text >= 1 && text <= 10" src="../../../assets/seo/NO1.svg" />
+                  <img style="width: 18px; position: relative; top: -2px" v-if="text >= 11 && text <= 20" src="../../../assets/seo/NO2.svg" />
+                  <img style="width: 18px; position: relative; top: -2px" v-if="text >= 21 && text <= 30" src="../../../assets/seo/NO3.svg" />
+                  <template #content>
+                    <p style="margin-bottom: 0">第{{ parseInt((text - 1) / 10) + 1 }}页,总排名{{ text }}</p>
                   </template>
-                  <span style="cursor: default;margin-left: 5px">{{ text }}</span>
+                  <span style="cursor: default; margin-left: 5px">{{ text }}</span>
                 </a-popover>
                 <span v-else>
-                  <img style="width: 18px;position: relative;top: -2px;"
-                       v-if="text >= 1 && text <= 10 " src="../../../assets/seo/NO1.svg" />
-                  <img style="width: 18px;position: relative;top: -2px;"
-                       v-if="text >= 11 && text <= 20 " src="../../../assets/seo/NO2.svg" />
-                  <img style="width: 18px;position: relative;top: -2px;"
-                       v-if="text >= 21 && text <= 30 " src="../../../assets/seo/NO3.svg" />
-                {{ text }}</span>
+                  <img style="width: 18px; position: relative; top: -2px" v-if="text >= 1 && text <= 10" src="../../../assets/seo/NO1.svg" />
+                  <img style="width: 18px; position: relative; top: -2px" v-if="text >= 11 && text <= 20" src="../../../assets/seo/NO2.svg" />
+                  <img style="width: 18px; position: relative; top: -2px" v-if="text >= 21 && text <= 30" src="../../../assets/seo/NO3.svg" />
+                  {{ text }}</span
+                >
               </template>
               <template v-if="column.key === 'action'">
-                <a-button size="small" @click="gotoSearch(record.keywords)" type="primary">去查询
-                </a-button>
+                <a-button size="small" @click="gotoSearch(record.keywords)" type="primary">去查询 </a-button>
               </template>
             </template>
-
-
           </a-table>
         </a-col>
       </a-card>
@@ -238,42 +215,42 @@
           <a-row class="table-tool-wrap" type="flex">
             <a-col :span="8">
               <ul>
-                <li :class="{active:longShow==1}" @click="longGetTableInfoRank(1)">全部</li>
-                <li :class="{active:longShow==3}" @click="longGetTableInfoRank(3)">第一页</li>
-                <li :class="{active:longShow==4}" @click="longGetTableInfoRank(4)">前三页</li>
-                <li :class="{active:longShow==5}" @click="longGetTableInfoRank(5)">前五页</li>
-                <li :class="{active:longShow==6}" @click="longGetTableInfoRank(6)">前十页</li>
+                <li :class="{ active: longShow == 1 }" @click="longGetTableInfoRank(1)">全部</li>
+                <li :class="{ active: longShow == 3 }" @click="longGetTableInfoRank(3)">第一页</li>
+                <li :class="{ active: longShow == 4 }" @click="longGetTableInfoRank(4)">前三页</li>
+                <li :class="{ active: longShow == 5 }" @click="longGetTableInfoRank(5)">前五页</li>
+                <li :class="{ active: longShow == 6 }" @click="longGetTableInfoRank(6)">前十页</li>
               </ul>
             </a-col>
             <a-col :span="16" style="text-align: right">
-              <a-button type="link" @click="longRankingClick"
-                        :style="longRankingButtonStatus == false ? 'border-style: none;color: black !important;': 'border-style: none;color: #544BEB !important;'">
+              <a-button
+                type="link"
+                @click="longRankingClick"
+                :style="
+                  longRankingButtonStatus == false ? 'border-style: none;color: black !important;' : 'border-style: none;color: #544BEB !important;'
+                "
+              >
                 按排名
                 <a-icon :type="longRankingButtonArrow" v-if="longRankingButtonStatus" />
               </a-button>
-              <a-button type="link"
-                        :style="longWordsButtonStatus == false ? 'margin-right: 16px;border-style: none;color: black !important;': 'margin-right: 16px;border-style: none;color: #544BEB !important;'"
-                        @click="longWordsClick">
+              <a-button
+                type="link"
+                :style="
+                  longWordsButtonStatus == false
+                    ? 'margin-right: 16px;border-style: none;color: black !important;'
+                    : 'margin-right: 16px;border-style: none;color: #544BEB !important;'
+                "
+                @click="longWordsClick"
+              >
                 按字数
                 <a-icon :type="longWordsButtonArrow" v-if="longWordsButtonStatus" />
               </a-button>
 
-              <a-input
-                placeholder="请输入关键词"
-                style="width: 200px;margin-right: 8px"
-                v-model:value="longKeywords"
-              >
-              </a-input>
+              <a-input placeholder="请输入关键词" style="width: 200px; margin-right: 8px" v-model:value="longKeywords" />
 
-              <a-button type="primary" preIcon="ant-design:search-outlined"
-                        style="margin-right: 8px" @click="longSetTable">
-                查询
-              </a-button>
+              <a-button type="primary" preIcon="ant-design:search-outlined" style="margin-right: 8px" @click="longSetTable"> 查询 </a-button>
 
-              <a-button ghost type="primary" preIcon="ant-design:reload-outlined"
-                        @click="longSearchReset">
-                重置
-              </a-button>
+              <a-button ghost type="primary" preIcon="ant-design:reload-outlined" @click="longSearchReset"> 重置 </a-button>
               <!--              <a-button ghost type="primary"  @click="handleExportXlsLU('关键词排名',2)" style="margin-left: 8px" :loading="longExcelLoading">导出Excel</a-button>-->
             </a-col>
           </a-row>
@@ -283,971 +260,953 @@
           <a-table
             ref="table"
             size="middle"
-            :scroll="{x:true}"
+            :scroll="{ x: true }"
             rowKey="id"
             :columns="longColumns"
             :dataSource="longDataSource"
             :pagination="longIpagination"
             :loading="longLoading"
             class="j-table-force-nowrap"
-
-            @change="handleLongTableChange">
-            <template #bodyCell="{column, record, index, text}">
+            @change="handleLongTableChange"
+          >
+            <template #bodyCell="{ column, record, index, text }">
               <template v-if="column.key === 'rowIndex'">
                 {{ (longIpagination.current - 1) * longIpagination.pageSize + index + 1 }}
               </template>
               <template class="tag" v-if="column.key === 'tag'">
                 <a-popover v-if="text != 0" placement="bottom" overlayClassName="self-pop">
-                  <img style="width: 18px;position: relative;top: -2px;"
-                       v-if="text >= 1 && text <= 10 " src="../../../assets/seo/NO1.svg" />
-                  <img style="width: 18px;position: relative;top: -2px;"
-                       v-if="text >= 11 && text <= 20 " src="../../../assets/seo/NO2.svg" />
-                  <img style="width: 18px;position: relative;top: -2px;"
-                       v-if="text >= 21 && text <= 30 " src="../../../assets/seo/NO3.svg" />
-                  <template slot="content">
-                    <p style="margin-bottom: 0">第{{ parseInt((text - 1) / 10) + 1
-                      }}页,总排名{{ text }}</p>
+                  <img style="width: 18px; position: relative; top: -2px" v-if="text >= 1 && text <= 10" src="../../../assets/seo/NO1.svg" />
+                  <img style="width: 18px; position: relative; top: -2px" v-if="text >= 11 && text <= 20" src="../../../assets/seo/NO2.svg" />
+                  <img style="width: 18px; position: relative; top: -2px" v-if="text >= 21 && text <= 30" src="../../../assets/seo/NO3.svg" />
+                  <template #content>
+                    <p style="margin-bottom: 0">第{{ parseInt((text - 1) / 10) + 1 }}页,总排名{{ text }}</p>
                   </template>
-                  <span style="cursor: default;margin-left: 5px">{{ text }}</span>
+                  <span style="cursor: default; margin-left: 5px">{{ text }}</span>
                 </a-popover>
                 <span v-else>
-                  <img style="width: 18px;position: relative;top: -2px;"
-                       v-if="text >= 1 && text <= 10 " src="../../../assets/seo/NO1.svg" />
-                  <img style="width: 18px;position: relative;top: -2px;"
-                       v-if="text >= 11 && text <= 20 " src="../../../assets/seo/NO2.svg" />
-                  <img style="width: 18px;position: relative;top: -2px;"
-                       v-if="text >= 21 && text <= 30 " src="../../../assets/seo/NO3.svg" />
-                {{ text }}</span>
+                  <img style="width: 18px; position: relative; top: -2px" v-if="text >= 1 && text <= 10" src="../../../assets/seo/NO1.svg" />
+                  <img style="width: 18px; position: relative; top: -2px" v-if="text >= 11 && text <= 20" src="../../../assets/seo/NO2.svg" />
+                  <img style="width: 18px; position: relative; top: -2px" v-if="text >= 21 && text <= 30" src="../../../assets/seo/NO3.svg" />
+                  {{ text }}</span
+                >
               </template>
               <template slot="action" v-if="column.key === 'action'">
-                <a-button size="small" @click="gotoSearch(record.keywords)" type="primary">去查询
-                </a-button>
+                <a-button size="small" @click="gotoSearch(record.keywords)" type="primary">去查询 </a-button>
               </template>
             </template>
           </a-table>
         </a-col>
       </a-card>
     </a-row>
-
   </div>
-
 </template>
 
 <script>
-import { getAction, downFile } from "@/api/manage/manage";
-import selectSite from "@/components/Adweb/selectSite.vue";
-import { filterObj } from "/@/utils/common/compUtils";
-
-export default {
-  name: "seoKeywordsRankList",
-  components: {
-    selectSite
-  },
-  data() {
-    return {
-      siteinfo: [],
-      subscriptionId: "",
-      selectSiteInfo: {},
-      siteCode: "",
-      planId:"",
-      columns: [
-        {
-          title: "序号",
-          dataIndex: "rowIndex",
-          key: "rowIndex",
-          width: 40,
-          align: "center",
-          fixed: "left"
+  import { getAction, downFile } from '@/api/manage/manage';
+  import selectSite from '@/components/Adweb/selectSite.vue';
+  import { filterObj } from '/@/utils/common/compUtils';
+
+  export default {
+    name: 'SeoKeywordsRankList',
+    components: {
+      selectSite,
+    },
+    data() {
+      return {
+        siteinfo: [],
+        subscriptionId: '',
+        selectSiteInfo: {},
+        siteCode: '',
+        planId: '',
+        columns: [
+          {
+            title: '序号',
+            dataIndex: 'rowIndex',
+            key: 'rowIndex',
+            width: 40,
+            align: 'center',
+            fixed: 'left',
+          },
+          {
+            title: '关键词',
+            dataIndex: 'keywords',
+            key: 'keywords',
+            fixed: 'left',
+            width: 350,
+          },
+        ],
+        longColumns: [
+          {
+            title: '序号',
+            dataIndex: 'rowIndex',
+            key: 'rowIndex',
+            width: 40,
+            align: 'center',
+            fixed: 'left',
+          },
+          {
+            title: '关键词',
+            dataIndex: 'keywords',
+            key: 'keywords',
+            fixed: 'left',
+            width: 350,
+          },
+        ],
+        show: 1,
+        keywordType: undefined,
+        keywords: '',
+        url: {
+          list: '/seo/seoKeywords/keywordList',
         },
-        {
-          title: "关键词",
-          dataIndex: "keywords",
-          key: "keywords",
-          fixed: "left",
-          width: 350
-        }
-      ],
-      longColumns: [
-        {
-          title: "序号",
-          dataIndex: "rowIndex",
-          key: "rowIndex",
-          width: 40,
-          align: "center",
-          fixed: "left"
+        ipagination: {
+          pageSize: 10,
+          pageSizeOptions: ['10', '15', '30', '50'],
         },
-        {
-          title: "关键词",
-          dataIndex: "keywords",
-          key: "keywords",
-          fixed: "left",
-          width: 350
-        }
-      ],
-      show: 1,
-      keywordType: undefined,
-      keywords: "",
-      url: {
-        list: "/seo/seoKeywords/keywordList"
-      },
-      ipagination: {
-        pageSize: 10,
-        pageSizeOptions: ["10", "15", "30", "50"]
-      },
-      disableMixinCreated: true,
-      comprehenInfo: {},
-      rankInfo: {
-        appointKeyword: {},
-        longTailKeyword: {},
-        serverTime: {}
-      },
-      excelLoading: false,
-      queryParam: {
-        buttonColmn: "words",
-        buttonSort: "asc"
-      },
-      baseInfo: {
-        createTime: ""
-      },
-      routerQuery: {},
-      /* 排序参数 */
-      isorter: {
-        column: "keywords",
-        order: "desc"
-      },
-      rankingButtonArrow: "arrow-up",
-      wordsButtonArrow: "arrow-up",
-      rankingButtonStatus: false,
-      wordsButtonStatus: true,
-      longIpagination: {
-        current: 1,
-        pageSize: 10,
-        pageSizeOptions: ["10", "15", "30", "50"],
-        showTotal: (total, range) => {
-          return range[0] + "-" + range[1] + " 共" + total + "条";
+        disableMixinCreated: true,
+        comprehenInfo: {},
+        rankInfo: {
+          appointKeyword: {},
+          longTailKeyword: {},
+          serverTime: {},
+        },
+        excelLoading: false,
+        queryParam: {
+          buttonColmn: 'words',
+          buttonSort: 'asc',
+        },
+        baseInfo: {
+          createTime: '',
+        },
+        routerQuery: {},
+        /* 排序参数 */
+        isorter: {
+          column: 'keywords',
+          order: 'desc',
+        },
+        rankingButtonArrow: 'arrow-up',
+        wordsButtonArrow: 'arrow-up',
+        rankingButtonStatus: false,
+        wordsButtonStatus: true,
+        longIpagination: {
+          current: 1,
+          pageSize: 10,
+          pageSizeOptions: ['10', '15', '30', '50'],
+          showTotal: (total, range) => {
+            return range[0] + '-' + range[1] + ' 共' + total + '条';
+          },
+          showQuickJumper: true,
+          showSizeChanger: true,
+          total: 0,
         },
-        showQuickJumper: true,
-        showSizeChanger: true,
-        total: 0
+        longQueryParam: {
+          buttonColmn: 'words',
+          buttonSort: 'asc',
+        },
+        dataSource: [],
+        longDataSource: [],
+        longLoading: false,
+        longExcelLoading: false,
+        longKeywords: '',
+        longShow: 1,
+        /* 排序参数 */
+        longIsorter: {
+          column: 'keywords',
+          order: 'desc',
+        },
+        longRankingButtonArrow: 'arrow-up',
+        longWordsButtonArrow: 'arrow-up',
+        longRankingButtonStatus: false,
+        longWordsButtonStatus: true,
+        /* 筛选参数 */
+        filters: {},
+      };
+    },
+    watch: {
+      '$route.query': {
+        handler: function (val) {
+          this.routerQuery = val;
+        },
+        immediate: true, // 初次变化立即查询
       },
-      longQueryParam: {
-        buttonColmn: "words",
-        buttonSort: "asc"
+    },
+    mounted() {
+      this.siteCode = localStorage.getItem('siteCode');
+      this.getSiteInfo();
+    },
+
+    methods: {
+      filterOption(input, option) {
+        return option.componentOptions.children[0].text.toLowerCase().indexOf(input.toLowerCase()) >= 0;
       },
-      dataSource: [],
-      longDataSource: [],
-      longLoading: false,
-      longExcelLoading: false,
-      longKeywords: "",
-      longShow: 1,
-      /* 排序参数 */
-      longIsorter: {
-        column: "keywords",
-        order: "desc"
+      getAllInfo() {
+        this.getComprehenInfo();
       },
-      longRankingButtonArrow: "arrow-up",
-      longWordsButtonArrow: "arrow-up",
-      longRankingButtonStatus: false,
-      longWordsButtonStatus: true,
-      /* 筛选参数 */
-      filters: {}
-    };
-  },
-  mounted() {
-    this.siteCode =localStorage.getItem("siteCode");
-    this.getSiteInfo();
-  },
-  watch: {
-    "$route.query": {
-      handler: function(val) {
-        this.routerQuery = val;
+      resetAllInfo() {
+        this.comprehenInfo = {};
+        this.rankInfo.appointKeyword = {};
+        this.rankInfo.longTailKeyword = {};
+        this.rankInfo.serverTime = {};
+        this.dataSource = [];
+        this.ipagination.current = 1;
+        this.ipagination.total = 0;
+        this.longDataSource = [];
+        this.longIpagination.current = 1;
+        this.longIpagination.total = 0;
       },
-      immediate: true // 初次变化立即查询
-    }
-  },
-
-  methods: {
-    filterOption(input, option) {
-      return (
-        option.componentOptions.children[0].text.toLowerCase().indexOf(input.toLowerCase()) >= 0
-      );
-    },
-    getAllInfo() {
-      this.getComprehenInfo();
-    },
-    resetAllInfo() {
-      this.comprehenInfo = {};
-      this.rankInfo.appointKeyword = {};
-      this.rankInfo.longTailKeyword = {};
-      this.rankInfo.serverTime = {};
-      this.dataSource = [];
-      this.ipagination.current = 1;
-      this.ipagination.total = 0;
-      this.longDataSource = [];
-      this.longIpagination.current = 1;
-      this.longIpagination.total = 0;
-    },
 
-    //由于页面的业务关联很多,故将所有的查询条件封装
-    setTableQuery() {
-      this.queryParam.siteCode = this.siteCode;
-      if (this.show == 3) {
-        this.queryParam.rankStart = "1";
-        this.queryParam.rankEnd = "10";
-      } else if (this.show == 4) {
-        this.queryParam.rankStart = "1";
-        this.queryParam.rankEnd = "30";
-
-      } else if (this.show == 5) {
-        this.queryParam.rankStart = "1";
-        this.queryParam.rankEnd = "50";
-      } else if (this.show == 6) {
-        this.queryParam.rankStart = "1";
-        this.queryParam.rankEnd = "100";
-      } else if (this.show == 7) {
-        this.queryParam.rankStart = "11";
-        this.queryParam.rankEnd = "30";
-      } else if (this.show == 8) {
-        this.queryParam.rankStart = "31";
-        this.queryParam.rankEnd = "100";
-      } else {
-        this.queryParam.rankStart = undefined;
-        this.queryParam.rankEnd = undefined;
-      }
-      this.queryParam.keywordType = this.keywordType;
-      this.queryParam.keywords = this.keywords;
-      this.loadData(1);
-    },
-    setTable() {
-      this.queryParam.reachStandard = undefined;
-      this.setTableQuery();
-    },
+      //由于页面的业务关联很多,故将所有的查询条件封装
+      setTableQuery() {
+        this.queryParam.siteCode = this.siteCode;
+        if (this.show == 3) {
+          this.queryParam.rankStart = '1';
+          this.queryParam.rankEnd = '10';
+        } else if (this.show == 4) {
+          this.queryParam.rankStart = '1';
+          this.queryParam.rankEnd = '30';
+        } else if (this.show == 5) {
+          this.queryParam.rankStart = '1';
+          this.queryParam.rankEnd = '50';
+        } else if (this.show == 6) {
+          this.queryParam.rankStart = '1';
+          this.queryParam.rankEnd = '100';
+        } else if (this.show == 7) {
+          this.queryParam.rankStart = '11';
+          this.queryParam.rankEnd = '30';
+        } else if (this.show == 8) {
+          this.queryParam.rankStart = '31';
+          this.queryParam.rankEnd = '100';
+        } else {
+          this.queryParam.rankStart = undefined;
+          this.queryParam.rankEnd = undefined;
+        }
+        this.queryParam.keywordType = this.keywordType;
+        this.queryParam.keywords = this.keywords;
+        this.loadData(1);
+      },
+      setTable() {
+        this.queryParam.reachStandard = undefined;
+        this.setTableQuery();
+      },
 
-    searchReset() {
-      this.show = 1;
-      this.queryParam.reachStandard = undefined;
-      this.keywords = "";
-      this.rankingButtonStatus = false;
-      this.rankingButtonArrow = "";
-      this.wordsButtonStatus = true;
-      this.wordsButtonArrow = "arrow-up";
-
-      this.queryParam.buttonColmn = "words";
-      this.queryParam.buttonSort = "desc";
-      this.setTableQuery();
-    },
+      searchReset() {
+        this.show = 1;
+        this.queryParam.reachStandard = undefined;
+        this.keywords = '';
+        this.rankingButtonStatus = false;
+        this.rankingButtonArrow = '';
+        this.wordsButtonStatus = true;
+        this.wordsButtonArrow = 'arrow-up';
+
+        this.queryParam.buttonColmn = 'words';
+        this.queryParam.buttonSort = 'desc';
+        this.setTableQuery();
+      },
 
-    loadData(arg) {
-      let that = this;
-      let a = [];
-      if (arg === 1) {
-        this.ipagination.current = 1;
-      }
-      var params = this.getQueryParams();//查询条件
-      params.subscriptionId = that.subscriptionId;
-      params.keywordType = 1;
-      this.loading = true;
-      getAction(this.url.list, params).then((res) => {
-        if (res.success) {
-          let alldata = res.result.records;
-          if (alldata.length > 0) {
-            for (let i in alldata) {
-              let rankInfo = alldata[i].rankInfo;
-              a.push({
-                id: alldata[i].id,
-                keywords: alldata[i].keywords,
-                keywordType: alldata[i].keywordType,
-                keywordsLength: alldata[i].keywordsLength,
-                rankInfo: rankInfo,
-                ...rankInfo
-              });
+      loadData(arg) {
+        let that = this;
+        let a = [];
+        if (arg === 1) {
+          this.ipagination.current = 1;
+        }
+        var params = this.getQueryParams(); //查询条件
+        params.subscriptionId = that.subscriptionId;
+        params.keywordType = 1;
+        this.loading = true;
+        getAction(this.url.list, params).then((res) => {
+          if (res.success) {
+            let alldata = res.result.records;
+            if (alldata.length > 0) {
+              for (let i in alldata) {
+                let rankInfo = alldata[i].rankInfo;
+                a.push({
+                  id: alldata[i].id,
+                  keywords: alldata[i].keywords,
+                  keywordType: alldata[i].keywordType,
+                  keywordsLength: alldata[i].keywordsLength,
+                  rankInfo: rankInfo,
+                  ...rankInfo,
+                });
+              }
+              this.dataSource = a;
+              this.getTableColums();
+              this.ipagination.total = res.result.total;
+            } else {
+              this.dataSource = a;
+              this.ipagination.total = 0;
             }
-            this.dataSource = a;
-            this.getTableColums();
-            this.ipagination.total = res.result.total;
-          } else {
-            this.dataSource = a;
-            this.ipagination.total = 0;
           }
+          if (res.code === 510) {
+            // this.$message.warning(res.message)
+          }
+          this.loading = false;
+        });
+      },
 
-        }
-        if (res.code === 510) {
-          // this.$message.warning(res.message)
-        }
-        this.loading = false;
-      });
-    },
+      //先执行获取site信息,只有在获取到siteCode之后,才能执行以下方法
+      getSiteInfo() {
+        let that = this;
+        let data = {
+          siteCode: that.siteCode,
+        };
+        getAction('/seo/seoKeywordsRank/getSubscriptionIdBySiteCode', data).then(function (res) {
+          if (res.code == 200) {
+            that.subscriptionId = res.result[0].id ?? '';
+            that.planId = res.result[0].planId ?? '';
+          }
+        });
+      },
 
-    //先执行获取site信息,只有在获取到siteCode之后,才能执行以下方法
-    getSiteInfo() {
-      let that = this;
-      let data = {
-        siteCode:  that.siteCode
-      };
-      getAction("/seo/seoKeywordsRank/getSubscriptionIdBySiteCode", data).then(function(res) {
-        if (res.code == 200) {
-          that.subscriptionId = res.result[0].id??"";
-          that.planId = res.result[0].planId??"";
+      handleTableChange(pagination, filters, sorter) {
+        //分页、排序、筛选变化时触发
+        //TODO 筛选
+        if (Object.keys(sorter).length > 0 && sorter.column) {
+          this.isorter.column = sorter.field;
+          this.isorter.order = 'ascend' === sorter.order ? 'asc' : 'desc';
+        } else {
+          this.isorter.column = '';
+          this.isorter.order = '';
         }
-      });
-    },
-
-    handleTableChange(pagination, filters, sorter) {
-      //分页、排序、筛选变化时触发
-      //TODO 筛选
-      if (Object.keys(sorter).length > 0 && sorter.column) {
-        this.isorter.column = sorter.field;
-        this.isorter.order = "ascend" === sorter.order ? "asc" : "desc";
-      } else {
-        this.isorter.column = "";
-        this.isorter.order = "";
-      }
-      this.ipagination = pagination;
-      this.loadData();
-    },
-    getQueryParams() {
-      //获取查询条件
-      let sqp = {};
-      if (this.superQueryParams) {
-        sqp["superQueryParams"] = encodeURI(this.superQueryParams);
-        sqp["superQueryMatchType"] = this.superQueryMatchType;
-      }
-      var param = Object.assign(sqp, this.queryParam, this.isorter, this.filters);
-      param.field = this.getQueryField();
-      param.pageNo = this.ipagination.current;
-      param.pageSize = this.ipagination.pageSize;
-      return filterObj(param);
-    },
-    getQueryField() {
-      //TODO 字段权限控制
-      var str = "id,";
-      this.columns.forEach(function(value) {
-        str += "," + value.dataIndex;
-      });
-      return str;
-    },
-
-    //切换站点
-    changeSite(selectedSiteInfo) {
-      this.selectSiteInfo = selectedSiteInfo;
-      this.siteCode = selectedSiteInfo.code;
-      this.getSiteInfo();
-      this.keywordType = undefined;
-      this.queryParam.reachStandard = undefined;
-      this.keywords = "";
-      this.show = 1;
-      localStorage.setItem("siteCode", this.siteCode);
-      this.resetAllInfo();
-      this.getAllInfo();
-    },
-
-    //获取关键词等五个指标
-    getComprehenInfo() {
-      let that = this;
-      let d = {
-        siteCode: that.siteCode,
-        planId: that.planId ? that.planId : ""
-      };
-      getAction("/seo/seoKeywordsRank/comprehensiveInfo", d).then(res => {
-        if (res.code == 200) {
-          that.comprehenInfo = res.result;
+        this.ipagination = pagination;
+        this.loadData();
+      },
+      getQueryParams() {
+        //获取查询条件
+        let sqp = {};
+        if (this.superQueryParams) {
+          sqp['superQueryParams'] = encodeURI(this.superQueryParams);
+          sqp['superQueryMatchType'] = this.superQueryMatchType;
         }
-      }).finally(() => {
-        this.getRankInfo();
-        this.setTableQuery();
-        this.longSetTableQuery();
-      });
+        var param = Object.assign(sqp, this.queryParam, this.isorter, this.filters);
+        param.field = this.getQueryField();
+        param.pageNo = this.ipagination.current;
+        param.pageSize = this.ipagination.pageSize;
+        return filterObj(param);
+      },
+      getQueryField() {
+        //TODO 字段权限控制
+        var str = 'id,';
+        this.columns.forEach(function (value) {
+          str += ',' + value.dataIndex;
+        });
+        return str;
+      },
 
-    },
+      //切换站点
+      changeSite(selectedSiteInfo) {
+        this.selectSiteInfo = selectedSiteInfo;
+        this.siteCode = selectedSiteInfo.code;
+        this.getSiteInfo();
+        this.keywordType = undefined;
+        this.queryParam.reachStandard = undefined;
+        this.keywords = '';
+        this.show = 1;
+        localStorage.setItem('siteCode', this.siteCode);
+        this.resetAllInfo();
+        this.getAllInfo();
+      },
 
-    //获取三个list的数据
-    getRankInfo() {
-      let that = this;
-      let d = {
-        siteCode: that.siteCode,
-        subscriptionId: that.subscriptionId ? that.subscriptionId : ""
-      };
-      getAction("/seo/seoKeywordsRank/getRankInfo", d).then(res => {
-        if (res.code == 200) {
-          this.rankInfo.appointKeyword = res.result.appointKeyword;
-          this.rankInfo.longTailKeyword = res.result.longTailKeyword;
-          this.rankInfo.serverTime = res.result.serverTime;
-        }
-      });
-    },
+      //获取关键词等五个指标
+      getComprehenInfo() {
+        let that = this;
+        let d = {
+          siteCode: that.siteCode,
+          planId: that.planId ? that.planId : '',
+        };
+        getAction('/seo/seoKeywordsRank/comprehensiveInfo', d)
+          .then((res) => {
+            if (res.code == 200) {
+              that.comprehenInfo = res.result;
+            }
+          })
+          .finally(() => {
+            this.getRankInfo();
+            this.setTableQuery();
+            this.longSetTableQuery();
+          });
+      },
 
-    //动态处理表格列
-    getTableColums() {
-      let that = this;
-      that.columns = [
-        {
-          title: "序号",
-          dataIndex: "rowIndex",
-          key: "rowIndex",
-          width: 40,
-          align: "center",
-          fixed: "left",
-          scopedSlots: { customRender: "dataNo" }
+      //获取三个list的数据
+      getRankInfo() {
+        let that = this;
+        let d = {
+          siteCode: that.siteCode,
+          subscriptionId: that.subscriptionId ? that.subscriptionId : '',
+        };
+        getAction('/seo/seoKeywordsRank/getRankInfo', d).then((res) => {
+          if (res.code == 200) {
+            this.rankInfo.appointKeyword = res.result.appointKeyword;
+            this.rankInfo.longTailKeyword = res.result.longTailKeyword;
+            this.rankInfo.serverTime = res.result.serverTime;
+          }
+        });
+      },
 
-        },
-        {
-          title: "关键词",
-          dataIndex: "keywords",
-          key: "keywords",
-          fixed: "left",
-          scopedSlots: { customRender: "keywords" },
-          width: 350
+      //动态处理表格列
+      getTableColums() {
+        let that = this;
+        that.columns = [
+          {
+            title: '序号',
+            dataIndex: 'rowIndex',
+            key: 'rowIndex',
+            width: 40,
+            align: 'center',
+            fixed: 'left',
+            scopedSlots: { customRender: 'dataNo' },
+          },
+          {
+            title: '关键词',
+            dataIndex: 'keywords',
+            key: 'keywords',
+            fixed: 'left',
+            scopedSlots: { customRender: 'keywords' },
+            width: 350,
+          },
+        ];
+        let obj = that.dataSource[0].rankInfo;
+        let dateInfo = Object.keys(obj);
+        dateInfo.sort().reverse();
+        for (let i in dateInfo) {
+          that.columns.push({
+            title: dateInfo[i],
+            dataIndex: dateInfo[i],
+            key: dateInfo[i],
+            scopedSlots: { customRender: 'tag' },
+            align: 'center',
+          });
         }
-      ];
-      let obj = that.dataSource[0].rankInfo;
-      let dateInfo = Object.keys(obj);
-      dateInfo.sort().reverse();
-      for (let i in dateInfo) {
         that.columns.push({
-          title: dateInfo[i],
-          dataIndex: dateInfo[i],
-          key: dateInfo[i],
-          scopedSlots: { customRender: "tag" },
-          align: "center"
+          title: '操作',
+          dataIndex: 'action',
+          key: 'action',
+          align: 'center',
+          scopedSlots: { customRender: 'action' },
+          fixed: 'right',
+          width: 50,
         });
-      }
-      that.columns.push({
-        title: "操作",
-        dataIndex: "action",
-        key: "action",
-        align: "center",
-        scopedSlots: { customRender: "action" },
-        fixed: "right",
-        width: 50
-      });
-    },
-
-    //点击排名数量事件
-    getTableInfoRank(d, keywordType) {
-      this.show = d;
-      this.queryParam.reachStandard = undefined;
-      if (keywordType) {
-        this.keywordType = keywordType;
-      }
-      this.setTableQuery();
-    },
+      },
 
-    //点击第一行五个指标的种类
-    changeKeywordType() {
-      this.queryParam.reachStandard = 1;
-      this.queryParam.rankStart = undefined;
-      this.queryParam.rankEnd = undefined;
-      this.show = 1;
-      this.setTableQuery();
-    },
+      //点击排名数量事件
+      getTableInfoRank(d, keywordType) {
+        this.show = d;
+        this.queryParam.reachStandard = undefined;
+        if (keywordType) {
+          this.keywordType = keywordType;
+        }
+        this.setTableQuery();
+      },
 
-    //表格内的去查询按钮
-    gotoSearch(word) {
-      window.open("https://www.google.com/search?q=" + word, "_blank");
-    },
+      //点击第一行五个指标的种类
+      changeKeywordType() {
+        this.queryParam.reachStandard = 1;
+        this.queryParam.rankStart = undefined;
+        this.queryParam.rankEnd = undefined;
+        this.show = 1;
+        this.setTableQuery();
+      },
 
-    handleExportXlsLU(fileName, keywordType) {
-      let that = this;
-      let param = {
-        siteCode: that.queryParam.siteCode,
-        subscriptionId: that.subscriptionId ? that.subscriptionId : "",
-        keywordType: keywordType
-      };
-      if (param.siteCode === "") {
-        // this.$message.warning("请先选择站点!");
-        return;
-      }
-      if (keywordType == 1) {
-        this.excelLoading = true;
-      } else {
-        this.longExcelLoading = true;
-      }
+      //表格内的去查询按钮
+      gotoSearch(word) {
+        window.open('https://www.google.com/search?q=' + word, '_blank');
+      },
 
-      downFile("/seo/seoKeywords/exportExcel", param).then((data) => {
-        if (keywordType === 1) {
-          this.excelLoading = false;
-        } else {
-          this.longExcelLoading = false;
-        }
-        if (!data) {
-          console.log(321);
-          // this.$message.warning("文件下载失败")
-          return;
-        }
-        if (data.size === 0) {
-          console.log(111);
-          // this.$message.warning("当前站点未有关键词数据,文件导出失败")
+      handleExportXlsLU(fileName, keywordType) {
+        let that = this;
+        let param = {
+          siteCode: that.queryParam.siteCode,
+          subscriptionId: that.subscriptionId ? that.subscriptionId : '',
+          keywordType: keywordType,
+        };
+        if (param.siteCode === '') {
+          // this.$message.warning("请先选择站点!");
           return;
         }
-        if (typeof window.navigator.msSaveBlob !== "undefined") {
-          window.navigator.msSaveBlob(new Blob([data], { type: "application/vnd.ms-excel" }), fileName + ".xlsx");
+        if (keywordType == 1) {
+          this.excelLoading = true;
         } else {
-          let url = window.URL.createObjectURL(new Blob([data], { type: "application/vnd.ms-excel" }));
-          let link = document.createElement("a");
-          link.style.display = "none";
-          link.href = url;
-          link.setAttribute("download", fileName + ".xlsx");
-          document.body.appendChild(link);
-          link.click();
-          document.body.removeChild(link); //下载完成移除元素
-          window.URL.revokeObjectURL(url); //释放掉blob对象
+          this.longExcelLoading = true;
         }
-      });
-    },
-
-    //按排名排序
-    rankingClick() {
-      let that = this;
-      if (that.rankingButtonStatus == false) {
-        that.rankingButtonStatus = true;
-        that.rankingButtonArrow = "arrow-up";
-        that.wordsButtonStatus = false;
-        that.wordsButtonArrow = "";
-
-        that.queryParam.buttonColmn = "ranking";
-        that.queryParam.buttonSort = "asc";
-      } else if (that.rankingButtonStatus == true && that.rankingButtonArrow == "arrow-up") {
-        that.rankingButtonArrow = "arrow-down";
-
-        that.queryParam.buttonColmn = "ranking";
-        that.queryParam.buttonSort = "desc";
-      } else if (that.rankingButtonArrow == "arrow-down") {
-        that.rankingButtonStatus = false;
-        that.queryParam.buttonColmn = "";
-        that.queryParam.buttonSort = "";
-      }
-      that.setTableQuery();
-    },
-
-    //按字数排序
-    wordsClick() {
-      let that = this;
-      if (that.wordsButtonStatus == false) {
-        that.wordsButtonStatus = true;
-        that.wordsButtonArrow = "arrow-up";
-        that.rankingButtonStatus = false;
-        that.rankingButtonArrow = "";
-
-        that.queryParam.buttonColmn = "words";
-        that.queryParam.buttonSort = "asc";
-      } else if (that.wordsButtonStatus == true && that.wordsButtonArrow == "arrow-up") {
-        that.wordsButtonArrow = "arrow-down";
-
-        that.queryParam.buttonColmn = "words";
-        that.queryParam.buttonSort = "desc";
-      } else if (that.wordsButtonArrow == "arrow-down") {
-        that.wordsButtonStatus = false;
-        that.queryParam.buttonColmn = "";
-        that.queryParam.buttonSort = "";
-      }
-      that.setTableQuery();
-    },
 
-    //-----一下全是长尾词列表功能方法
-    longLoadData(arg) {
-      let that = this;
-      let a = [];
-      if (arg === 1) {
-        this.longIpagination.current = 1;
-      }
-      var params = this.getLongQueryParams();//查询条件
-      params.subscriptionId = that.subscriptionId;
-      params.keywordType = 2;
-      this.longLoading = true;
-      getAction(this.url.list, params).then((res) => {
-        if (res.success) {
-          let alldata = res.result.records;
-          if (alldata.length > 0) {
-            for (let i in alldata) {
-              let rankInfo = alldata[i].rankInfo;
-              a.push({
-                id: alldata[i].id,
-                keywords: alldata[i].keywords,
-                keywordType: alldata[i].keywordType,
-                keywordsLength: alldata[i].keywordsLength,
-                rankInfo: rankInfo,
-                ...rankInfo
-              });
-            }
-            this.longDataSource = a;
-            this.longGetTableColums();
-            this.longIpagination.total = res.result.total;
+        downFile('/seo/seoKeywords/exportExcel', param).then((data) => {
+          if (keywordType === 1) {
+            this.excelLoading = false;
+          } else {
+            this.longExcelLoading = false;
+          }
+          if (!data) {
+            console.log(321);
+            // this.$message.warning("文件下载失败")
+            return;
+          }
+          if (data.size === 0) {
+            console.log(111);
+            // this.$message.warning("当前站点未有关键词数据,文件导出失败")
+            return;
+          }
+          if (typeof window.navigator.msSaveBlob !== 'undefined') {
+            window.navigator.msSaveBlob(new Blob([data], { type: 'application/vnd.ms-excel' }), fileName + '.xlsx');
           } else {
-            this.longDataSource = a;
-            this.longIpagination.total = 0;
+            let url = window.URL.createObjectURL(new Blob([data], { type: 'application/vnd.ms-excel' }));
+            let link = document.createElement('a');
+            link.style.display = 'none';
+            link.href = url;
+            link.setAttribute('download', fileName + '.xlsx');
+            document.body.appendChild(link);
+            link.click();
+            document.body.removeChild(link); //下载完成移除元素
+            window.URL.revokeObjectURL(url); //释放掉blob对象
           }
+        });
+      },
 
+      //按排名排序
+      rankingClick() {
+        let that = this;
+        if (that.rankingButtonStatus == false) {
+          that.rankingButtonStatus = true;
+          that.rankingButtonArrow = 'arrow-up';
+          that.wordsButtonStatus = false;
+          that.wordsButtonArrow = '';
+
+          that.queryParam.buttonColmn = 'ranking';
+          that.queryParam.buttonSort = 'asc';
+        } else if (that.rankingButtonStatus == true && that.rankingButtonArrow == 'arrow-up') {
+          that.rankingButtonArrow = 'arrow-down';
+
+          that.queryParam.buttonColmn = 'ranking';
+          that.queryParam.buttonSort = 'desc';
+        } else if (that.rankingButtonArrow == 'arrow-down') {
+          that.rankingButtonStatus = false;
+          that.queryParam.buttonColmn = '';
+          that.queryParam.buttonSort = '';
         }
-        if (res.code === 510) {
-          // this.$message.warning(res.message)
+        that.setTableQuery();
+      },
+
+      //按字数排序
+      wordsClick() {
+        let that = this;
+        if (that.wordsButtonStatus == false) {
+          that.wordsButtonStatus = true;
+          that.wordsButtonArrow = 'arrow-up';
+          that.rankingButtonStatus = false;
+          that.rankingButtonArrow = '';
+
+          that.queryParam.buttonColmn = 'words';
+          that.queryParam.buttonSort = 'asc';
+        } else if (that.wordsButtonStatus == true && that.wordsButtonArrow == 'arrow-up') {
+          that.wordsButtonArrow = 'arrow-down';
+
+          that.queryParam.buttonColmn = 'words';
+          that.queryParam.buttonSort = 'desc';
+        } else if (that.wordsButtonArrow == 'arrow-down') {
+          that.wordsButtonStatus = false;
+          that.queryParam.buttonColmn = '';
+          that.queryParam.buttonSort = '';
         }
-        this.longLoading = false;
-      });
-    },
+        that.setTableQuery();
+      },
 
-    //动态处理表格列
-    longGetTableColums() {
-      let that = this;
-      that.longColumns = [
-        {
-          title: "序号",
-          dataIndex: "rowIndex",
-          key: "rowIndex",
-          width: 40,
-          align: "center",
-          fixed: "left",
-          scopedSlots: { customRender: "dataNo" }
+      //-----一下全是长尾词列表功能方法
+      longLoadData(arg) {
+        let that = this;
+        let a = [];
+        if (arg === 1) {
+          this.longIpagination.current = 1;
+        }
+        var params = this.getLongQueryParams(); //查询条件
+        params.subscriptionId = that.subscriptionId;
+        params.keywordType = 2;
+        this.longLoading = true;
+        getAction(this.url.list, params).then((res) => {
+          if (res.success) {
+            let alldata = res.result.records;
+            if (alldata.length > 0) {
+              for (let i in alldata) {
+                let rankInfo = alldata[i].rankInfo;
+                a.push({
+                  id: alldata[i].id,
+                  keywords: alldata[i].keywords,
+                  keywordType: alldata[i].keywordType,
+                  keywordsLength: alldata[i].keywordsLength,
+                  rankInfo: rankInfo,
+                  ...rankInfo,
+                });
+              }
+              this.longDataSource = a;
+              this.longGetTableColums();
+              this.longIpagination.total = res.result.total;
+            } else {
+              this.longDataSource = a;
+              this.longIpagination.total = 0;
+            }
+          }
+          if (res.code === 510) {
+            // this.$message.warning(res.message)
+          }
+          this.longLoading = false;
+        });
+      },
 
-        },
-        {
-          title: "关键词",
-          dataIndex: "keywords",
-          key: "keywords",
-          fixed: "left",
-          scopedSlots: { customRender: "keywords" },
-          width: 350
-          // sorter: (a, b) => a.keywords - b.keywords,
-          // defaultSortOrder: 'ascend',
+      //动态处理表格列
+      longGetTableColums() {
+        let that = this;
+        that.longColumns = [
+          {
+            title: '序号',
+            dataIndex: 'rowIndex',
+            key: 'rowIndex',
+            width: 40,
+            align: 'center',
+            fixed: 'left',
+            scopedSlots: { customRender: 'dataNo' },
+          },
+          {
+            title: '关键词',
+            dataIndex: 'keywords',
+            key: 'keywords',
+            fixed: 'left',
+            scopedSlots: { customRender: 'keywords' },
+            width: 350,
+            // sorter: (a, b) => a.keywords - b.keywords,
+            // defaultSortOrder: 'ascend',
+          },
+          // {
+          //   title: '关键词长度',
+          //   dataIndex: 'keywordsLength',
+          //   key: 'keywordsLength',
+          //   fixed: 'left',
+          //   width: 40,
+          //   scopedSlots: { customRender: 'keywordsLength' },
+          // },
+        ];
+        let obj = that.longDataSource[0].rankInfo;
+        let dateInfo = Object.keys(obj);
+        dateInfo.sort().reverse();
+        for (let i in dateInfo) {
+          that.longColumns.push({
+            title: dateInfo[i],
+            dataIndex: dateInfo[i],
+            key: dateInfo[i],
+            scopedSlots: { customRender: 'tag' },
+            align: 'center',
+          });
         }
-        // {
-        //   title: '关键词长度',
-        //   dataIndex: 'keywordsLength',
-        //   key: 'keywordsLength',
-        //   fixed: 'left',
-        //   width: 40,
-        //   scopedSlots: { customRender: 'keywordsLength' },
-        // },
-      ];
-      let obj = that.longDataSource[0].rankInfo;
-      let dateInfo = Object.keys(obj);
-      dateInfo.sort().reverse();
-      for (let i in dateInfo) {
         that.longColumns.push({
-          title: dateInfo[i],
-          dataIndex: dateInfo[i],
-          key: dateInfo[i],
-          scopedSlots: { customRender: "tag" },
-          align: "center"
+          title: '操作',
+          dataIndex: 'action',
+          key: 'action',
+          align: 'center',
+          scopedSlots: { customRender: 'action' },
+          fixed: 'right',
+          width: 50,
         });
-      }
-      that.longColumns.push({
-        title: "操作",
-        dataIndex: "action",
-        key: "action",
-        align: "center",
-        scopedSlots: { customRender: "action" },
-        fixed: "right",
-        width: 50
-      });
-    },
+      },
 
-    //由于页面的业务关联很多,故将所有的查询条件封装
-    longSetTableQuery() {
-      let that = this;
-      that.longQueryParam.siteCode = this.siteCode;
-      console.log(that.longQueryParam);
-      if (that.longShow == 3) {
-        that.longQueryParam.rankStart = "1";
-        that.longQueryParam.rankEnd = "10";
-      } else if (that.longShow == 4) {
-        that.longQueryParam.rankStart = "1";
-        that.longQueryParam.rankEnd = "30";
-
-      } else if (that.longShow == 5) {
-        that.longQueryParam.rankStart = "1";
-        that.longQueryParam.rankEnd = "50";
-      } else if (that.longShow == 6) {
-        that.longQueryParam.rankStart = "1";
-        that.longQueryParam.rankEnd = "100";
-      } else if (that.longShow == 7) {
-        that.longQueryParam.rankStart = "11";
-        that.longQueryParam.rankEnd = "30";
-      } else if (that.longShow == 8) {
-        that.longQueryParam.rankStart = "31";
-        that.longQueryParam.rankEnd = "100";
-      } else {
-        that.longQueryParam.rankStart = undefined;
-        that.longQueryParam.rankEnd = undefined;
-      }
-      that.longQueryParam.keywords = that.longKeywords;
-      that.longLoadData(1);
-    },
+      //由于页面的业务关联很多,故将所有的查询条件封装
+      longSetTableQuery() {
+        let that = this;
+        that.longQueryParam.siteCode = this.siteCode;
+        console.log(that.longQueryParam);
+        if (that.longShow == 3) {
+          that.longQueryParam.rankStart = '1';
+          that.longQueryParam.rankEnd = '10';
+        } else if (that.longShow == 4) {
+          that.longQueryParam.rankStart = '1';
+          that.longQueryParam.rankEnd = '30';
+        } else if (that.longShow == 5) {
+          that.longQueryParam.rankStart = '1';
+          that.longQueryParam.rankEnd = '50';
+        } else if (that.longShow == 6) {
+          that.longQueryParam.rankStart = '1';
+          that.longQueryParam.rankEnd = '100';
+        } else if (that.longShow == 7) {
+          that.longQueryParam.rankStart = '11';
+          that.longQueryParam.rankEnd = '30';
+        } else if (that.longShow == 8) {
+          that.longQueryParam.rankStart = '31';
+          that.longQueryParam.rankEnd = '100';
+        } else {
+          that.longQueryParam.rankStart = undefined;
+          that.longQueryParam.rankEnd = undefined;
+        }
+        that.longQueryParam.keywords = that.longKeywords;
+        that.longLoadData(1);
+      },
 
-    longSetTable() {
-      this.longQueryParam.reachStandard = undefined;
-      this.longSetTableQuery();
-    },
+      longSetTable() {
+        this.longQueryParam.reachStandard = undefined;
+        this.longSetTableQuery();
+      },
 
-    longSearchReset() {
-      this.longShow = 1;
-      this.longQueryParam.reachStandard = undefined;
-      this.longKeywords = "";
-      this.longRankingButtonStatus = false;
-      this.longRankingButtonArrow = "";
-      this.longWordsButtonStatus = true;
-      this.longWordsButtonArrow = "arrow-up";
-      this.longQueryParam.buttonColmn = "words";
-      this.longQueryParam.buttonSort = "asc";
-      this.longSetTableQuery();
-    },
+      longSearchReset() {
+        this.longShow = 1;
+        this.longQueryParam.reachStandard = undefined;
+        this.longKeywords = '';
+        this.longRankingButtonStatus = false;
+        this.longRankingButtonArrow = '';
+        this.longWordsButtonStatus = true;
+        this.longWordsButtonArrow = 'arrow-up';
+        this.longQueryParam.buttonColmn = 'words';
+        this.longQueryParam.buttonSort = 'asc';
+        this.longSetTableQuery();
+      },
 
-    //点击排名数量事件
-    longGetTableInfoRank(d) {
-      this.longShow = d;
-      this.longQueryParam.reachStandard = undefined;
-      this.longSetTableQuery();
-    },
+      //点击排名数量事件
+      longGetTableInfoRank(d) {
+        this.longShow = d;
+        this.longQueryParam.reachStandard = undefined;
+        this.longSetTableQuery();
+      },
 
-    //点击第一行五个指标的种类
-    longChangeKeywordType() {
-      this.longQueryParam.reachStandard = 1;
-      this.longQueryParam.rankStart = undefined;
-      this.longQueryParam.rankEnd = undefined;
-      this.longShow = 1;
-      this.longSetTableQuery();
-    },
+      //点击第一行五个指标的种类
+      longChangeKeywordType() {
+        this.longQueryParam.reachStandard = 1;
+        this.longQueryParam.rankStart = undefined;
+        this.longQueryParam.rankEnd = undefined;
+        this.longShow = 1;
+        this.longSetTableQuery();
+      },
 
-    handleLongTableChange(pagination, filters, sorter) {
-      //分页、排序、筛选变化时触发
-      //TODO 筛选
-      if (Object.keys(sorter).length > 0 && sorter.column) {
-        this.longIsorter.column = sorter.field;
-        this.longIsorter.order = "ascend" == sorter.order ? "asc" : "desc";
-      } else {
-        this.longIsorter.column = "";
-        this.longIsorter.order = "";
-      }
-      this.longIpagination = pagination;
-      this.longLoadData();
-    },
+      handleLongTableChange(pagination, filters, sorter) {
+        //分页、排序、筛选变化时触发
+        //TODO 筛选
+        if (Object.keys(sorter).length > 0 && sorter.column) {
+          this.longIsorter.column = sorter.field;
+          this.longIsorter.order = 'ascend' == sorter.order ? 'asc' : 'desc';
+        } else {
+          this.longIsorter.column = '';
+          this.longIsorter.order = '';
+        }
+        this.longIpagination = pagination;
+        this.longLoadData();
+      },
 
-    getLongQueryParams() {
-      //获取查询条件
-      let sqp = {};
-      var param = Object.assign(sqp, this.longQueryParam, this.longIsorter, this.filters);
-      param.field = this.getLongQueryField();
-      param.pageNo = this.longIpagination.current;
-      param.pageSize = this.longIpagination.pageSize;
-      return filterObj(param);
-    },
-    getLongQueryField() {
-      //TODO 字段权限控制
-      var str = "id,";
-      this.longColumns.forEach(function(value) {
-        str += "," + value.dataIndex;
-      });
-      return str;
-    },
+      getLongQueryParams() {
+        //获取查询条件
+        let sqp = {};
+        var param = Object.assign(sqp, this.longQueryParam, this.longIsorter, this.filters);
+        param.field = this.getLongQueryField();
+        param.pageNo = this.longIpagination.current;
+        param.pageSize = this.longIpagination.pageSize;
+        return filterObj(param);
+      },
+      getLongQueryField() {
+        //TODO 字段权限控制
+        var str = 'id,';
+        this.longColumns.forEach(function (value) {
+          str += ',' + value.dataIndex;
+        });
+        return str;
+      },
 
-    //按排名排序
-    longRankingClick() {
-      let that = this;
-      if (that.longRankingButtonStatus == false) {
-        that.longRankingButtonStatus = true;
-        that.longRankingButtonArrow = "arrow-up";
-        that.longWordsButtonStatus = false;
-        that.longWordsButtonArrow = "";
-
-        that.longQueryParam.buttonColmn = "ranking";
-        that.longQueryParam.buttonSort = "asc";
-      } else if (that.longRankingButtonStatus == true && that.longRankingButtonArrow == "arrow-up") {
-        that.longRankingButtonArrow = "arrow-down";
-
-        that.longQueryParam.buttonColmn = "ranking";
-        that.longQueryParam.buttonSort = "desc";
-      } else if (that.longRankingButtonArrow == "arrow-down") {
-        that.longRankingButtonStatus = false;
-        that.longQueryParam.buttonColmn = "";
-        that.longQueryParam.buttonSort = "";
-      }
-      that.longSetTableQuery();
-    },
+      //按排名排序
+      longRankingClick() {
+        let that = this;
+        if (that.longRankingButtonStatus == false) {
+          that.longRankingButtonStatus = true;
+          that.longRankingButtonArrow = 'arrow-up';
+          that.longWordsButtonStatus = false;
+          that.longWordsButtonArrow = '';
+
+          that.longQueryParam.buttonColmn = 'ranking';
+          that.longQueryParam.buttonSort = 'asc';
+        } else if (that.longRankingButtonStatus == true && that.longRankingButtonArrow == 'arrow-up') {
+          that.longRankingButtonArrow = 'arrow-down';
+
+          that.longQueryParam.buttonColmn = 'ranking';
+          that.longQueryParam.buttonSort = 'desc';
+        } else if (that.longRankingButtonArrow == 'arrow-down') {
+          that.longRankingButtonStatus = false;
+          that.longQueryParam.buttonColmn = '';
+          that.longQueryParam.buttonSort = '';
+        }
+        that.longSetTableQuery();
+      },
 
-    //按字数排序
-    longWordsClick() {
-      let that = this;
-      if (that.longWordsButtonStatus == false) {
-        that.longWordsButtonStatus = true;
-        that.longWordsButtonArrow = "arrow-up";
-        that.longRankingButtonStatus = false;
-        that.longRankingButtonArrow = "";
-
-        that.longQueryParam.buttonColmn = "words";
-        that.longQueryParam.buttonSort = "asc";
-      } else if (that.longWordsButtonStatus == true && that.longWordsButtonArrow == "arrow-up") {
-        that.longWordsButtonArrow = "arrow-down";
-
-        that.longQueryParam.buttonColmn = "words";
-        that.longQueryParam.buttonSort = "desc";
-      } else if (that.longWordsButtonArrow == "arrow-down") {
-        that.longWordsButtonStatus = false;
-        that.longQueryParam.buttonColmn = "";
-        that.longQueryParam.buttonSort = "";
-      }
-      that.longSetTableQuery();
-    }
-  }
-};
+      //按字数排序
+      longWordsClick() {
+        let that = this;
+        if (that.longWordsButtonStatus == false) {
+          that.longWordsButtonStatus = true;
+          that.longWordsButtonArrow = 'arrow-up';
+          that.longRankingButtonStatus = false;
+          that.longRankingButtonArrow = '';
+
+          that.longQueryParam.buttonColmn = 'words';
+          that.longQueryParam.buttonSort = 'asc';
+        } else if (that.longWordsButtonStatus == true && that.longWordsButtonArrow == 'arrow-up') {
+          that.longWordsButtonArrow = 'arrow-down';
+
+          that.longQueryParam.buttonColmn = 'words';
+          that.longQueryParam.buttonSort = 'desc';
+        } else if (that.longWordsButtonArrow == 'arrow-down') {
+          that.longWordsButtonStatus = false;
+          that.longQueryParam.buttonColmn = '';
+          that.longQueryParam.buttonSort = '';
+        }
+        that.longSetTableQuery();
+      },
+    },
+  };
 </script>
 
 <style lang="less">
-.self-pop {
-  .ant-popover-inner-content {
-    background: rgb(245, 243, 254);
+  .self-pop {
+    .ant-popover-inner-content {
+      background: rgb(245, 243, 254);
 
-    p {
-      font-size: 13px;
+      p {
+        font-size: 13px;
+      }
     }
-  }
 
-  .ant-popover-arrow {
-    border-color: rgb(245, 243, 254) !important;
+    .ant-popover-arrow {
+      border-color: rgb(245, 243, 254) !important;
+    }
   }
-}
 </style>
 
 <style lang="less" scoped>
-.r1 {
-  margin: 20px;
-  .choose-site {
-    display: flex;
-  }
-
-  .t1 {
-    font-size: 18px;
-  }
+  .r1 {
+    padding: 0 20px;
+    .choose-site {
+      display: flex;
+    }
 
-  .ant-calendar-picker {
-    margin-right: 20px;
-  }
+    .t1 {
+      font-size: 18px;
+    }
 
+    .ant-calendar-picker {
+      margin-right: 20px;
+    }
 
-  /deep/ .ant-btn {
-    background: transparent;
-    margin-right: 10px;
+    /deep/ .ant-btn {
+      background: transparent;
+      margin-right: 10px;
 
-    &.active {
-      color: @primary-color;
+      &.active {
+        color: @primary-color;
+      }
     }
   }
-}
 
-.r2 {
-  background: #fff;
-  padding: 30px;
-  margin: 10px;
+  .r2 {
+    background: #fff;
+    padding: 30px;
+    margin: 10px;
 
-  .ant-col {
-    text-align: center;
-    color: #000;
+    .ant-col {
+      text-align: center;
+      color: #000;
 
-    img {
-      width: 13px;
-      margin: -3px 5px 0 0;
-    }
+      img {
+        width: 13px;
+        margin: -3px 5px 0 0;
+      }
 
-    .t1 {
-      font-size: 14px;
-    }
+      .t1 {
+        font-size: 14px;
+      }
 
-    .t2 {
-      font-size: 27px;
-      margin-bottom: 0;
-      font-weight: 500;
+      .t2 {
+        font-size: 27px;
+        margin-bottom: 0;
+        font-weight: 500;
+      }
     }
   }
-}
-
-.r3 {
-  padding-left: 10px;
-  padding-right: 10px;
-  padding-bottom: 10px;
 
-  .wrap {
-    padding: 20px;
-    background: #fff;
-
-    .t1 {
-      color: #000;
-      font-size: 14px;
-      font-weight: 500;
-    }
+  .r3 {
+    padding-left: 10px;
+    padding-right: 10px;
+    padding-bottom: 10px;
 
-    .content {
-      display: block;
-      overflow: hidden;
-      line-height: 1;
-      border-bottom: 1px solid #ddd;
-      padding: 20px 0;
+    .wrap {
+      padding: 20px;
+      background: #fff;
 
-      &:last-child {
-        border-bottom: none;
-        padding-bottom: 0;
+      .t1 {
+        color: #000;
+        font-size: 14px;
+        font-weight: 500;
       }
 
-      .d1 {
-        float: left;
-        width: 50%;
-        line-height: 25px;
-        color: #000;
+      .content {
+        display: block;
+        overflow: hidden;
+        line-height: 1;
+        border-bottom: 1px solid #ddd;
+        padding: 20px 0;
 
-        img {
-          width: 15px;
-          margin: -4px 5px 0 0;
+        &:last-child {
+          border-bottom: none;
+          padding-bottom: 0;
         }
-      }
 
-      .d2 {
-        float: right;
-        width: 50%;
-        text-align: right;
+        .d1 {
+          float: left;
+          width: 50%;
+          line-height: 25px;
+          color: #000;
 
-        &.d3 {
-          span {
-            color: #000;
+          img {
+            width: 15px;
+            margin: -4px 5px 0 0;
           }
         }
 
-        a {
-          font-size: 25px;
-          font-weight: 500;
+        .d2 {
+          float: right;
+          width: 50%;
+          text-align: right;
+
+          &.d3 {
+            span {
+              color: #000;
+            }
+          }
+
+          a {
+            font-size: 25px;
+            font-weight: 500;
+          }
         }
       }
     }
   }
-}
-
-.r4 {
-  padding: 20px;
-  margin-left: 10px;
-  margin-right: 10px;
-  background: #fff;
-
-  .table-tool-wrap {
-    margin-bottom: 15px;
-
-    ul {
-      list-style-type: none;
-      display: block;
-      overflow: hidden;
-      margin: 0;
-      padding: 0;
-
-      li {
-        float: left;
-        margin: 0 10px;
-        color: #333;
-        font-size: 14px;
-        font-weight: 500;
-        cursor: pointer;
-        text-decoration: underline;
 
-        &.active {
-          color: @primary-color;
+  .r4 {
+    padding: 20px;
+    margin-left: 10px;
+    margin-right: 10px;
+    background: #fff;
+
+    .table-tool-wrap {
+      margin-bottom: 15px;
+
+      ul {
+        list-style-type: none;
+        display: block;
+        overflow: hidden;
+        margin: 0;
+        padding: 0;
+
+        li {
+          float: left;
+          margin: 0 10px;
+          color: #333;
+          font-size: 14px;
+          font-weight: 500;
+          cursor: pointer;
+          text-decoration: underline;
+
+          &.active {
+            color: @primary-color;
+          }
         }
       }
     }
   }
-
-}
 </style>

+ 3 - 3
src/views/dashboard/Analysis/homePage/adweb3Home.vue

@@ -1,9 +1,9 @@
 <template>
   <div class="home">
     <!--网站概况-->
-    <a-row class="top-title">
-      <a-col :span="24">
-        <div style="display: flex; margin-top: 20px">
+    <a-row class="top-title search-form">
+      <a-col :span="24" class="search-form-container">
+        <div style="display: flex; align-items: center">
           <span class="t1"> 站点: </span>
           <select-site @set-site-info="changeUser" selectWidth="300px" />
           <a :href="siteDomain" class="web-link" target="_blank">{{ siteDomain }}</a>