Browse Source

修复编译错误

chenlei1231 4 months ago
parent
commit
02137454a7

File diff suppressed because it is too large
+ 412 - 94
pnpm-lock.yaml


BIN
src/assets/images/flag_placeholder.png


+ 385 - 394
src/views/adweb/data/dailyData.vue

@@ -5,23 +5,23 @@
       <a-col :xl="7" :xxl="6" v-if="siteList.length > 1">
         <div class="choose-site">
           <span class="t1">站点:</span>
-          <select-site @comMethods="changeSite" />
-<!--          <a-select v-model="queryParam.siteId"-->
-<!--                    show-search-->
-<!--                    :filter-option="filterOption"-->
-<!--                    placeholder="全部站点"-->
-<!--                    style="width: 70%"-->
-<!--                    @change="reloadData">-->
-<!--            <a-select-option v-for="data in siteList" :key="data.id" :value="data.id">-->
-<!--              {{ data.name }}-->
-<!--            </a-select-option>-->
-<!--          </a-select>-->
+          <select-site @com-methods="changeSite" />
+          <!--          <a-select v-model="queryParam.siteId"-->
+          <!--                    show-search-->
+          <!--                    :filter-option="filterOption"-->
+          <!--                    placeholder="全部站点"-->
+          <!--                    style="width: 70%"-->
+          <!--                    @change="reloadData">-->
+          <!--            <a-select-option v-for="data in siteList" :key="data.id" :value="data.id">-->
+          <!--              {{ data.name }}-->
+          <!--            </a-select-option>-->
+          <!--          </a-select>-->
         </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%"/>
+          <a-range-picker @change="onChangeDatePciker" :disabledDate="disabledDate" :value="rangeDate" style="width: 70%" />
         </div>
       </a-col>
       <a-col :xl="9" :xxl="12">
@@ -34,53 +34,44 @@
     </a-row>
 
     <!-- 占位 -->
-    <div style="height: 20px;"></div>
+    <div style="height: 20px"></div>
 
     <a-spin :spinning="loading" tips="加载中...">
-      <a-row class="r5" :gutter="[20,20]">
+      <a-row class="r5" :gutter="[20, 20]">
         <a-row class="r5-1">
           <a-col :span="24">
             <div class="fr" v-if="coreDataChart.x.length > 0">
-              <span><i style="background: #544BEB;"></i>UV</span>
-              <span><i style="background: #F0B358;"></i>PV</span>
-              <span><i style="background: #58CCA8;"></i>询盘数</span>
+              <span><i style="background: #544beb"></i>UV</span>
+              <span><i style="background: #f0b358"></i>PV</span>
+              <span><i style="background: #58cca8"></i>询盘数</span>
             </div>
-            <area-chart v-if="coreDataChart.x.length > 0" :dataSource="coreDataChart"></area-chart>
-            <a-empty v-else style="float: right;width: 100%;margin-top: 110px;"></a-empty>
+            <area-chart v-if="coreDataChart.x.length > 0" :dataSource="coreDataChart" />
+            <a-empty v-else style="float: right; width: 100%; margin-top: 110px" />
           </a-col>
         </a-row>
-        <a-row style="margin: 20px;">
-          <a-table
-            :columns="dailyDataColumns"
-            :data-source="dailyDataSource"
-            size="middle"
-            rowKey="type"
-            :pagination="false">
-            <template slot="newUserProportionSlot" slot-scope="text,record">
-              <template v-if="record.newUvNum === 0">
-                0.00 %
-              </template>
+        <a-row style="margin: 20px">
+          <a-table :columns="dailyDataColumns" :data-source="dailyDataSource" size="middle" rowKey="type" :pagination="false">
+            <template #newUserProportionSlot="text, record">
+              <template v-if="record.newUvNum === 0"> 0.00 % </template>
               <template v-else>
-                {{ (record.newUvNum * 100 / record.uvNum).toFixed(2) + ' %' }}
+                {{ ((record.newUvNum * 100) / record.uvNum).toFixed(2) + ' %' }}
               </template>
             </template>
-            <template slot="conversionSlot" slot-scope="text,record">
-              <span style="margin-left: 20px;"></span>
-              <template v-if="record.enquiryNum === 0 || record.uvNum === 0">
-                0.00 %
-              </template>
+            <template #conversionSlot="text, record">
+              <span style="margin-left: 20px"></span>
+              <template v-if="record.enquiryNum === 0 || record.uvNum === 0"> 0.00 % </template>
               <template v-else>
-                {{ (record.enquiryNum * 100 / record.uvNum).toFixed(2) + ' %' }}
+                {{ ((record.enquiryNum * 100) / record.uvNum).toFixed(2) + ' %' }}
               </template>
             </template>
-            <template slot="centerSlot" slot-scope="text, record, index">
-              <span style="margin-left: 20px;">{{ text }}</span>
+            <template #centerSlot="text, record, index">
+              <span style="margin-left: 20px">{{ text }}</span>
             </template>
-            <template slot="enquiryNumSlot" slot-scope="text, record, index">
-              <router-link v-if="text > 0" :to="{ path: '/inquiry/list', query: {start: record.time, end: record.time} }">
+            <template #enquiryNumSlot="text, record, index">
+              <router-link v-if="text > 0" :to="{ path: '/inquiry/list', query: { start: record.time, end: record.time } }">
                 <span style="margin-left: 20px; color: blue">{{ text }}</span>
               </router-link>
-              <span v-else style="margin-left: 20px;">{{ text }}</span>
+              <span v-else style="margin-left: 20px">{{ text }}</span>
             </template>
           </a-table>
         </a-row>
@@ -90,424 +81,424 @@
 </template>
 
 <script>
-import { getAction } from '@/api/manage'
-import {JeecgListMixin} from '@/mixins/JeecgListMixin'
-import enquiryTrack from '@views/adweb/enquiry/modules/enquiryTrack'
-import enquiryGenzong from '@views/adweb/enquiry/modules/enquiryGenzong'
-import enquiryDetail from '@views/adweb/enquiry/modules/enquiryDetail'
-import XpRecycleBinModal from '../../system/modules/XpRecycleBinModal'
-import blackList from '@views/adweb/enquiry/modules/blackList'
-import moment from 'moment'
-import dashChart from './chart/DashChartDemo'
-import areaChart from './chart/areaChart'
-import MapAdweb from '@/components/chart/mapAdweb'
-import selectSite from '@/components/adweb/selectSite'
-
-export default {
-  name: 'DailyData',
-  mixins: [JeecgListMixin],
-  components: {
-    enquiryTrack,
-    enquiryGenzong,
-    XpRecycleBinModal,
-    enquiryDetail,
-    blackList,
-    areaChart,
-    dashChart,
-    MapAdweb,
-    selectSite
-  },
-  data() {
-    return {
-      // 通用
-      ipagination: {
-        current: 1,
-        pageSize: 30,
-        pageSizeOptions: ['15', '30', '45', '60'],
-        showTotal: (total, range) => {
-          return range[0] + "-" + range[1] + " 共" + total + "条"
-        },
-        showQuickJumper: true,
-        showSizeChanger: true,
-        total: 0
-      },
-      disableMixinCreated: true,
-      loading: true,
-      // 筛选
-      siteList: [],
-      rangeDate: undefined,
-      // 数据趋势的数据
-      coreDataChart: {
-        x: [],
-        uv: [],
-        pv: [],
-        enquiry: []
-      },
-      // 来源媒介列表
-      dailyDataColumns: [
-        {
-          title: '统计时间',
-          dataIndex: 'time'
-        },
-        {
-          title: '访客(UV)',
-          dataIndex: 'uvNum',
-          scopedSlots: {
-            customRender: 'centerSlot',
-          }
-        },
-        {
-          title: '新访客',
-          dataIndex: 'newUvNum',
-          scopedSlots: {
-            customRender: 'centerSlot',
-          }
-        },
-        {
-          title: '新访客占比',
-          scopedSlots: {
-            customRender: 'newUserProportionSlot',
-          }
-        },
-        {
-          title: '浏览量(PV)',
-          dataIndex: 'pvNum',
-          scopedSlots: {
-            customRender: 'centerSlot',
-          }
-        },
-        {
-          title: '询盘数',
-          dataIndex: 'enquiryNum',
-          scopedSlots: {
-            customRender: 'enquiryNumSlot',
-          }
+  import '/@/assets/less/common.less';
+  import { getAction } from '/@/api/manage/manage';
+  import { JeecgListMixin } from '/@/hooks/component/JeecgListMixin';
+  import enquiryTrack from '/@/views/adweb/enquiry/modules/enquiryTrack.vue';
+  import enquiryGenzong from '/@/views/adweb/enquiry/modules/enquiryTrackRecord.vue';
+  import enquiryDetail from '/@/views/adweb/enquiry/modules/enquiryDetail.vue';
+  import XpRecycleBinModal from '/@/views/adweb/system/modules/XpRecycleBinModal.vue';
+  import blackList from '/@/views/adweb/enquiry/modules/blackList.vue';
+  import moment from 'moment';
+  import dashChart from './chart/DashChartDemo.vue';
+  import areaChart from './chart/areaChart.vue';
+  import MapAdweb from '@/components/chart/mapAdweb.vue';
+  import selectSite from '/@/components/adweb/selectSite.vue';
+
+  export default {
+    name: 'DailyData',
+    components: {
+      enquiryTrack,
+      enquiryGenzong,
+      XpRecycleBinModal,
+      enquiryDetail,
+      blackList,
+      areaChart,
+      dashChart,
+      MapAdweb,
+      selectSite,
+    },
+    mixins: [JeecgListMixin],
+    data() {
+      return {
+        // 通用
+        ipagination: {
+          current: 1,
+          pageSize: 30,
+          pageSizeOptions: ['15', '30', '45', '60'],
+          showTotal: (total, range) => {
+            return range[0] + '-' + range[1] + ' 共' + total + '条';
+          },
+          showQuickJumper: true,
+          showSizeChanger: true,
+          total: 0,
         },
-        {
-          title: 'UV到询盘转化率',
-          scopedSlots: {
-            customRender: 'conversionSlot',
-          }
+        disableMixinCreated: true,
+        loading: true,
+        // 筛选
+        siteList: [],
+        rangeDate: undefined,
+        // 数据趋势的数据
+        coreDataChart: {
+          x: [],
+          uv: [],
+          pv: [],
+          enquiry: [],
         },
-      ],
-      dailyDataSource: [],
-    }
-  },
-  mounted() {
-    this.queryParam.dateType = 'sevenDay';
-    this.rangeDate = [moment().subtract(7, "days"), moment().subtract(1, "days")];
-    this.getSiteList();
-  },
-  methods: {
-    // ========================================== 筛选 ==========================================
-    //获取站点列表
-    getSiteList() {
-      let that = this
-      getAction('/sys/api/getSiteListByUid').then(function (res) {
-        if (res.code == 0) {
-          if (res.data || res.data.length) {
-            let defaultSiteCode = localStorage.getItem('siteCode');
-            if (defaultSiteCode) {
-              let isInSite = false
-              for (let i in res.data) {
-                if (defaultSiteCode === res.data[i].code) {
-                  isInSite = true;
-                  that.queryParam.siteId = res.data[i].id;
-                  break;
+        // 来源媒介列表
+        dailyDataColumns: [
+          {
+            title: '统计时间',
+            dataIndex: 'time',
+          },
+          {
+            title: '访客(UV)',
+            dataIndex: 'uvNum',
+            scopedSlots: {
+              customRender: 'centerSlot',
+            },
+          },
+          {
+            title: '新访客',
+            dataIndex: 'newUvNum',
+            scopedSlots: {
+              customRender: 'centerSlot',
+            },
+          },
+          {
+            title: '新访客占比',
+            scopedSlots: {
+              customRender: 'newUserProportionSlot',
+            },
+          },
+          {
+            title: '浏览量(PV)',
+            dataIndex: 'pvNum',
+            scopedSlots: {
+              customRender: 'centerSlot',
+            },
+          },
+          {
+            title: '询盘数',
+            dataIndex: 'enquiryNum',
+            scopedSlots: {
+              customRender: 'enquiryNumSlot',
+            },
+          },
+          {
+            title: 'UV到询盘转化率',
+            scopedSlots: {
+              customRender: 'conversionSlot',
+            },
+          },
+        ],
+        dailyDataSource: [],
+      };
+    },
+    mounted() {
+      this.queryParam.dateType = 'sevenDay';
+      this.rangeDate = [moment().subtract(7, 'days'), moment().subtract(1, 'days')];
+      this.getSiteList();
+    },
+    methods: {
+      // ========================================== 筛选 ==========================================
+      //获取站点列表
+      getSiteList() {
+        let that = this;
+        getAction('/sys/api/getSiteListByUid')
+          .then(function (res) {
+            if (res.code == 0) {
+              if (res.data || res.data.length) {
+                let defaultSiteCode = localStorage.getItem('siteCode');
+                if (defaultSiteCode) {
+                  let isInSite = false;
+                  for (let i in res.data) {
+                    if (defaultSiteCode === res.data[i].code) {
+                      isInSite = true;
+                      that.queryParam.siteId = res.data[i].id;
+                      break;
+                    }
+                  }
+                  if (!isInSite) {
+                    that.queryParam.siteId = res.data[0].id;
+                    localStorage.setItem('siteCode', res.data[0].code);
+                  }
+                } else {
+                  that.queryParam.siteId = res.data[0].id;
+                  localStorage.setItem('siteCode', res.data[0].code);
                 }
-              }
-              if (!isInSite) {
-                that.queryParam.siteId = res.data[0].id;
-                localStorage.setItem('siteCode', res.data[0].code);
+                that.siteList = res.data;
+                that.reloadData();
               }
             } else {
-              that.queryParam.siteId = res.data[0].id;
-              localStorage.setItem('siteCode', res.data[0].code);
+              that.$message.error('获取站点失败!');
             }
-            that.siteList = res.data;
-            that.reloadData()
-          }
-        } else {
-          that.$message.error('获取站点失败!')
+          })
+          .catch(function (err) {
+            console.log(err);
+          });
+      },
+      // 搜索
+      filterOption(inputValue, option) {
+        return option.componentOptions.children[0].text.indexOf(inputValue) >= 0;
+      },
+      //搜索条件部分的逻辑
+      onChangeDatePciker(date, dateString) {
+        if (dateString.length > 0) {
+          this.rangeDate = date;
+          this.queryParam.start = dateString[0];
+          this.queryParam.end = dateString[1];
+          this.queryParam.dateType = undefined;
+          this.reloadData();
+        }
+      },
+      //日期选择只能今天之前
+      disabledDate(current) {
+        return current && current > moment().subtract(0, 'days');
+      },
+      //设置列表的时间查询条件
+      setTime(time) {
+        this.queryParam.dateType = time;
+        this.queryParam.start = '';
+        this.queryParam.end = '';
+        if (time == '') {
+          this.rangeDate = undefined;
+        } else if (time == 'sevenDay') {
+          this.rangeDate = [moment().subtract(7, 'days'), moment().subtract(1, 'days')];
+        } else if (time == 'thirtyDay') {
+          this.rangeDate = [moment().subtract(30, 'days'), moment().subtract(1, 'days')];
+        } else if (time == 'yesterday') {
+          this.rangeDate = [moment().subtract(1, 'days'), moment().subtract(1, 'days')];
+        } else if (time == 'today') {
+          this.rangeDate = [moment(), moment()];
         }
-      }).catch(function (err) {
-        console.log(err)
-      })
-    },
-    // 搜索
-    filterOption(inputValue, option) {
-      return option.componentOptions.children[0].text.indexOf(inputValue) >= 0
-    },
-    //搜索条件部分的逻辑
-    onChangeDatePciker(date, dateString) {
-      if (dateString.length > 0) {
-        this.rangeDate = date
-        this.queryParam.start = dateString[0]
-        this.queryParam.end = dateString[1]
-        this.queryParam.dateType = undefined
         this.reloadData();
-      }
-    },
-    //日期选择只能今天之前
-    disabledDate(current) {
-      return current && current > moment().subtract(0, "days");
-    },
-    //设置列表的时间查询条件
-    setTime(time) {
-      this.queryParam.dateType = time
-      this.queryParam.start = ''
-      this.queryParam.end = ''
-      if (time == '') {
-        this.rangeDate = undefined
-      } else if (time == 'sevenDay') {
-        this.rangeDate = [moment().subtract(7, "days"), moment().subtract(1, "days")]
-      } else if (time == 'thirtyDay') {
-        this.rangeDate = [moment().subtract(30, "days"), moment().subtract(1, "days")]
-      } else if (time == 'yesterday') {
-        this.rangeDate = [moment().subtract(1, "days"), moment().subtract(1, "days")]
-      } else if (time == 'today') {
-        this.rangeDate = [moment(), moment()]
-      }
-      this.reloadData();
-    },
+      },
 
-    changeSite(value, e) {
-      this.selectSiteInfo = e.data.attrs.info
-      this.queryParam.siteId = this.selectSiteInfo.id;
-      this.reloadData(this.queryParam.siteId)
-    },
+      changeSite(value, e) {
+        this.selectSiteInfo = e.data.attrs.info;
+        this.queryParam.siteId = this.selectSiteInfo.id;
+        this.reloadData(this.queryParam.siteId);
+      },
 
-    //重新刷新页面数据
-    reloadData(value) {
-      this.loading = true;
-      for (let i in this.siteList){
-        if(value === this.siteList[i].id){
-          localStorage.setItem("siteCode",this.siteList[i].code)
-        }
-      }
-      this.getFlowIndexNumber();
-      this.getDailyList();
-    },
-    // ========================================== 访客量、浏览量、询盘数量、折线图以及统计 ==========================================
-    getFlowIndexNumber() {
-      let that = this;
-      getAction('/datacenter/flow/number', this.queryParam).then(function (res) {
-        console.log('res', res);
-        if (!res.result) {
-          that.coreDataChart = {
-            x: [],
-            uv: [],
-            pv: [],
-            enquiry: []
-          };
-          that.loading = false;
-          return;
+      //重新刷新页面数据
+      reloadData(value) {
+        this.loading = true;
+        for (let i in this.siteList) {
+          if (value === this.siteList[i].id) {
+            localStorage.setItem('siteCode', this.siteList[i].code);
+          }
         }
+        this.getFlowIndexNumber();
+        this.getDailyList();
+      },
+      // ========================================== 访客量、浏览量、询盘数量、折线图以及统计 ==========================================
+      getFlowIndexNumber() {
+        let that = this;
+        getAction('/datacenter/flow/number', this.queryParam).then(function (res) {
+          console.log('res', res);
+          if (!res.result) {
+            that.coreDataChart = {
+              x: [],
+              uv: [],
+              pv: [],
+              enquiry: [],
+            };
+            that.loading = false;
+            return;
+          }
 
-        that.flowIndexNums = res.result.flowIndexNumber;
-        let r = res.result.dailyTrends;
-        let x = [], pv = [], uv = [], enquiry = [];
-        if (r != null && r.length > 0) {
-          for (let item of r) {
-            x.push(item.date)
-            pv.push(item.pvCount)
-            uv.push(item.uvCount)
-            enquiry.push(item.enquiryCount)
+          that.flowIndexNums = res.result.flowIndexNumber;
+          let r = res.result.dailyTrends;
+          let x = [],
+            pv = [],
+            uv = [],
+            enquiry = [];
+          if (r != null && r.length > 0) {
+            for (let item of r) {
+              x.push(item.date);
+              pv.push(item.pvCount);
+              uv.push(item.uvCount);
+              enquiry.push(item.enquiryCount);
+            }
           }
-        }
-        that.coreDataChart.x = x
-        that.coreDataChart.pv = pv
-        that.coreDataChart.uv = uv
-        that.coreDataChart.enquiry = enquiry
+          that.coreDataChart.x = x;
+          that.coreDataChart.pv = pv;
+          that.coreDataChart.uv = uv;
+          that.coreDataChart.enquiry = enquiry;
 
-        that.loading = false;
-      });
+          that.loading = false;
+        });
+      },
+      // ========================================== 每日数据列表 ==========================================
+      getDailyList() {
+        let that = this;
+        getAction('/datacenter/daily/list', this.queryParam).then(function (res) {
+          if (res.code == 200) {
+            that.dailyDataSource = res.result;
+          } else {
+            that.dailyDataSource = [];
+          }
+        });
+      },
     },
-    // ========================================== 每日数据列表 ==========================================
-    getDailyList() {
-      let that = this;
-      getAction('/datacenter/daily/list', this.queryParam).then(function (res) {
-        if (res.code == 200) {
-          that.dailyDataSource = res.result;
-        } else {
-          that.dailyDataSource = [];
-        }
-      })
-    }
-  }
-}
+  };
 </script>
 
-
-<!-- 通用样式 -->
-<style scoped>
-@import '~@assets/less/common.less';
-</style>
-
-
 <!-- 询盘页面的样式 -->
 <style lang="less" scoped>
-.ant-alert {
-  /deep/ .ant-btn {
-    border-radius: 0;
-    margin-left: 10px;
+  .ant-alert {
+    /deep/ .ant-btn {
+      border-radius: 0;
+      margin-left: 10px;
+    }
   }
-}
 
-.theme-color {
-  color: @primary-color;
-}
+  .theme-color {
+    color: @primary-color;
+  }
 
-.r1 {
-  .choose-site {
-    display: flex;
+  .r1 {
+    .choose-site {
+      display: flex;
 
-    /deep/ .ant-select-selection {
-      background: transparent;
-      color: #fff;
-    }
+      /deep/ .ant-select-selection {
+        background: transparent;
+        color: #fff;
+      }
 
-    /deep/ .ant-select-selection__clear {
-      background: transparent;
+      /deep/ .ant-select-selection__clear {
+        background: transparent;
+      }
+
+      /deep/ i,
+      /deep/ .ant-calendar-range-picker-separator {
+        color: #fff;
+      }
     }
 
-    /deep/ i, /deep/ .ant-calendar-range-picker-separator {
+    .t1 {
+      font-size: 18px;
       color: #fff;
     }
-  }
 
-  .t1 {
-    font-size: 18px;
-    color: #fff;
-  }
+    .ant-calendar-picker {
+      margin-right: 20px;
 
-  .ant-calendar-picker {
-    margin-right: 20px;
+      /deep/ .ant-input {
+        background: transparent;
+        color: #e2e2e2;
+      }
+    }
 
-    /deep/ .ant-input {
+    /deep/ .ant-btn {
       background: transparent;
       color: #e2e2e2;
-    }
-  }
-
-  /deep/ .ant-btn {
-    background: transparent;
-    color: #e2e2e2;
-    margin-right: 10px;
+      margin-right: 10px;
 
-    &.active {
-      background: #fff;
-      border-color: #fff;
-      color: @primary-color;
+      &.active {
+        background: #fff;
+        border-color: #fff;
+        color: @primary-color;
+      }
     }
   }
-}
 
-.r2 {
-  background: #fff;
-  border-radius: 10px;
-  padding: 30px 20px;
-  margin-top: 20px;
+  .r2 {
+    background: #fff;
+    border-radius: 10px;
+    padding: 30px 20px;
+    margin-top: 20px;
 
-  .ant-col:not(:last-child) {
-    border-right: 1px solid #e6e6e6;
-  }
+    .ant-col:not(:last-child) {
+      border-right: 1px solid #e6e6e6;
+    }
 
-  p {
-    margin: 0;
-    text-align: center;
+    p {
+      margin: 0;
+      text-align: center;
 
-    &.t1 {
-      color: #333;
-      margin-bottom: 15px;
+      &.t1 {
+        color: #333;
+        margin-bottom: 15px;
 
-      img {
-        margin-right: 10px;
-        width: 15px;
-        margin-top: -5px;
+        img {
+          margin-right: 10px;
+          width: 15px;
+          margin-top: -5px;
+        }
       }
-    }
 
-    &.t2 {
-      color: @primary-color;
-      font-size: 30px;
-      font-weight: 500;
-      line-height: 1;
-      padding-left: 25px;
+      &.t2 {
+        color: @primary-color;
+        font-size: 30px;
+        font-weight: 500;
+        line-height: 1;
+        padding-left: 25px;
+      }
     }
   }
-}
 
-.r3 {
-  margin-top: 20px;
-}
+  .r3 {
+    margin-top: 20px;
+  }
 
-.r4 {
-  margin-top: 20px;
+  .r4 {
+    margin-top: 20px;
 
-  /deep/ .ant-table-tbody {
-    background: #fff;
-  }
+    /deep/ .ant-table-tbody {
+      background: #fff;
+    }
 
-  /deep/ .ant-table-tbody > tr > td {
-    border-bottom: 1px solid #f7f7f7;
+    /deep/ .ant-table-tbody > tr > td {
+      border-bottom: 1px solid #f7f7f7;
+    }
   }
-}
 </style>
 
-
 <!-- 首页的样式 -->
 <style scoped lang="less">
-p, span {
-  color: #000;
-  margin: 0;
-}
+  p,
+  span {
+    color: #000;
+    margin: 0;
+  }
 
-.theme-color {
-  color: @primary-color;
-}
+  .theme-color {
+    color: @primary-color;
+  }
 
-.title {
-  font-size: 18px;
-  color: #000;
-}
+  .title {
+    font-size: 18px;
+    color: #000;
+  }
 
-@import '../../dashboard/less/home2-7.less';
+  @import '../../dashboard/less/home2-7.less';
 </style>
 <style lang="less">
-.pop-wrap {
-  .ant-popover-inner-content {
-    padding: 0;
-  }
+  .pop-wrap {
+    .ant-popover-inner-content {
+      padding: 0;
+    }
 
-  .wrap {
-    width: 400px;
-    padding: 20px 20px;
-    background: url("../../../assets/home2-7/pop-bg.svg") no-repeat;
-    background-position: bottom right;
+    .wrap {
+      width: 400px;
+      padding: 20px 20px;
+      background: url('../../../assets/home2-7/pop-bg.svg') no-repeat;
+      background-position: bottom right;
 
-    p {
-      line-height: 1.8;
+      p {
+        line-height: 1.8;
 
-      i {
-        color: @primary-color;
-        margin-right: 10px;
+        i {
+          color: @primary-color;
+          margin-right: 10px;
+        }
       }
-    }
 
-    .name {
-      font-size: 18px;
-      margin-bottom: 20px;
-    }
+      .name {
+        font-size: 18px;
+        margin-bottom: 20px;
+      }
 
-    .job {
-      font-size: 15px;
-      color: #9f9f9f;
-    }
+      .job {
+        font-size: 15px;
+        color: #9f9f9f;
+      }
 
-    .ant-col-8 {
-      text-align: right;
+      .ant-col-8 {
+        text-align: right;
+      }
     }
   }
-}
 </style>

+ 437 - 419
src/views/adweb/data/enquiryAnalysis.vue

@@ -5,23 +5,23 @@
       <a-col :xl="7" :xxl="6" v-if="siteList.length > 1">
         <div class="choose-site">
           <span class="t1">站点:</span>
-          <select-site @comMethods="changeSite" />
-<!--          <a-select v-model="queryParam.siteId"-->
-<!--                    show-search-->
-<!--                    :filter-option="filterOption"-->
-<!--                    placeholder="全部站点"-->
-<!--                    style="width: 70%"-->
-<!--                    @change="reloadData">-->
-<!--            <a-select-option v-for="data in siteList" :key="data.id" :value="data.id">-->
-<!--              {{ data.name }}-->
-<!--            </a-select-option>-->
-<!--          </a-select>-->
+          <select-site @com-methods="changeSite" />
+          <!--          <a-select v-model="queryParam.siteId"-->
+          <!--                    show-search-->
+          <!--                    :filter-option="filterOption"-->
+          <!--                    placeholder="全部站点"-->
+          <!--                    style="width: 70%"-->
+          <!--                    @change="reloadData">-->
+          <!--            <a-select-option v-for="data in siteList" :key="data.id" :value="data.id">-->
+          <!--              {{ data.name }}-->
+          <!--            </a-select-option>-->
+          <!--          </a-select>-->
         </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%"/>
+          <a-range-picker @change="onChangeDatePciker" :disabledDate="disabledDate" :value="rangeDate" style="width: 70%" />
         </div>
       </a-col>
       <a-col :xl="9" :xxl="12">
@@ -34,24 +34,34 @@
     </a-row>
 
     <!-- 占位 -->
-    <div style="height: 20px;"></div>
+    <div style="height: 20px"></div>
 
     <a-spin :spinning="loading" tips="加载中...">
       <a-row class="r2">
         <a-col :span="8">
-          <p class="t1"><img src="@/assets/V2-7/enquiryNum.svg"/>询盘数</p>
-          <router-link :to="{ path: '/inquiry/list', query: {dateType: this.queryParam.dateType, start: this.queryParam.start, end: this.queryParam.end ,offset: 1} }">
+          <p class="t1"><img src="@/assets/V2-7/enquiryNum.svg" />询盘数</p>
+          <router-link
+            :to="{
+              path: '/inquiry/list',
+              query: { dateType: queryParam.dateType, start: queryParam.start, end: queryParam.end, offset: 1 },
+            }"
+          >
             <p class="t2">{{ enquiryIndexNumber.enquiry }}</p>
           </router-link>
         </a-col>
         <a-col :span="8">
-          <p class="t1"><img src="@/assets/V2-7/unReadEnquiryNum.svg"/>未读询盘数</p>
-          <router-link :to="{ path: '/inquiry/list', query: {dateType: this.queryParam.dateType, start: this.queryParam.start, end: this.queryParam.end, readStatus: '0' , offset: 1} }">
+          <p class="t1"><img src="@/assets/V2-7/unReadEnquiryNum.svg" />未读询盘数</p>
+          <router-link
+            :to="{
+              path: '/inquiry/list',
+              query: { dateType: queryParam.dateType, start: queryParam.start, end: queryParam.end, readStatus: '0', offset: 1 },
+            }"
+          >
             <p class="t2">{{ enquiryIndexNumber.unRead }}</p>
           </router-link>
         </a-col>
         <a-col :span="8">
-          <p class="t1"><img src="@/assets/V2-7/conversionRate.svg"/>UV到询盘的转化率</p>
+          <p class="t1"><img src="@/assets/V2-7/conversionRate.svg" />UV到询盘的转化率</p>
           <p class="t3">{{ enquiryIndexNumber.conversionRate }}</p>
         </a-col>
       </a-row>
@@ -59,15 +69,15 @@
       <a-row class="r3">
         <a-col><p class="title">询盘趋势图</p></a-col>
       </a-row>
-      <a-row class="r5" :gutter="[20,20]">
+      <a-row class="r5" :gutter="[20, 20]">
         <a-row class="r5-1">
           <a-col :span="24">
             <div class="fr" v-if="coreDataChart.x.length > 0">
-              <span><i style="background: #544BEB;"></i>UV</span>
-              <span><i style="background: #58CCA8;"></i>询盘数</span>
+              <span><i style="background: #544beb"></i>UV</span>
+              <span><i style="background: #58cca8"></i>询盘数</span>
             </div>
-            <area-chart v-if="coreDataChart.x.length > 0" :dataSource="coreDataChart"></area-chart>
-            <a-empty v-else style="float: right;width: 100%;margin-top: 110px;"></a-empty>
+            <area-chart v-if="coreDataChart.x.length > 0" :dataSource="coreDataChart" />
+            <a-empty v-else style="float: right; width: 100%; margin-top: 110px" />
           </a-col>
         </a-row>
       </a-row>
@@ -75,36 +85,47 @@
       <a-row class="r3">
         <a-col><p class="title">询盘地域分布</p></a-col>
       </a-row>
-      <a-row class="r5" :gutter="[20,20]">
+      <a-row class="r5" :gutter="[20, 20]">
         <a-col :span="12">
-          <map-adweb v-if="countryMapData.length > 0" :dataSource="countryMapData" :aliases="[{dataKey:'country',alias:'国家'},{dataKey:'num',alias:'访问数量'}]"
-                     :height="chartheight"></map-adweb>
-          <a-empty v-else style="margin-top: 50px;">
-            <span slot="description">暂无数据</span>
+          <map-adweb
+            v-if="countryMapData.length > 0"
+            :dataSource="countryMapData"
+            :aliases="[
+              { dataKey: 'country', alias: '国家' },
+              { dataKey: 'num', alias: '访问数量' },
+            ]"
+            :height="chartheight"
+          />
+          <a-empty v-else style="margin-top: 50px">
+            <template #description>
+              <span>暂无数据</span>
+            </template>
           </a-empty>
         </a-col>
-        <a-col :span="2">
-        </a-col>
+        <a-col :span="2" />
         <a-col :span="10">
           <a-table
-            style="margin-top: 40px; margin-bottom: 40px;"
-            :rowKey="(record,index)=>{return index}"
+            style="margin-top: 40px; margin-bottom: 40px"
+            :rowKey="
+              (record, index) => {
+                return index;
+              }
+            "
             class="chartTable"
             :scroll="{ y: 400 }"
-            :pagination=false
+            :pagination="false"
             :columns="chartDetailDataCol"
             :customRow="clickRow"
             :data-source="chartDetailData"
-            :showHeader="false">
-            <template slot="flagSlot" slot-scope="text,record">
-            <span class="img-box">
-              <img src="../../../assets/flag_placeholder.png" :class="'flag flag-' + record.countryCode" alt="Czech Republic"/>
-            </span>
-            </template>
-            <template slot="numSlot" slot-scope="text,record">
-              {{ record.num }} | {{ record.proportion }}
+            :showHeader="false"
+          >
+            <template #flagSlot="text, record">
+              <span class="img-box">
+                <img src="../../../assets/images/flag_placeholder.png" :class="'flag flag-' + record.countryCode" alt="Czech Republic" />
+              </span>
             </template>
-            <template slot="countryNameSlot" slot-scope="text,record">
+            <template #numSlot="text, record"> {{ record.num }} | {{ record.proportion }} </template>
+            <template #countryNameSlot="text, record">
               <a> {{ text === null ? record.country : text }}</a>
             </template>
           </a-table>
@@ -115,454 +136,451 @@
 </template>
 
 <script>
-import { getAction } from '@/api/manage'
-import {JeecgListMixin} from '@/mixins/JeecgListMixin'
-import enquiryTrack from '@views/adweb/enquiry/modules/enquiryTrack'
-import enquiryGenzong from '@views/adweb/enquiry/modules/enquiryGenzong'
-import enquiryDetail from '@views/adweb/enquiry/modules/enquiryDetail'
-import XpRecycleBinModal from '../../system/modules/XpRecycleBinModal'
-import blackList from '@views/adweb/enquiry/modules/blackList'
-import moment from 'moment'
-import dashChart from './chart/DashChartDemo'
-import areaChart from './chart/areaChart'
-import MapAdweb from '@/components/chart/mapAdweb'
-import selectSite from '@/components/adweb/selectSite'
-
-export default {
-  name: 'EnquiryAnalysis',
-  mixins: [JeecgListMixin],
-  components: {
-    enquiryTrack,
-    enquiryGenzong,
-    XpRecycleBinModal,
-    enquiryDetail,
-    blackList,
-    areaChart,
-    dashChart,
-    MapAdweb,
-    selectSite
-  },
-  data() {
-    return {
-      // 通用
-      ipagination: {
-        current: 1,
-        pageSize: 30,
-        pageSizeOptions: ['15', '30', '45', '60'],
-        showTotal: (total, range) => {
-          return range[0] + "-" + range[1] + " 共" + total + "条"
-        },
-        showQuickJumper: true,
-        showSizeChanger: true,
-        total: 0
-      },
-      disableMixinCreated: true,
-      loading: true,
-      // 筛选
-      siteList: [],
-      rangeDate: undefined,
-      // uv、pv、询盘数
-      enquiryIndexNumber: {
-        unRead: 0,
-        conversionRate: "0%",
-        enquiry: 0
-      },
-      // 数据趋势的数据
-      coreDataChart: {
-        x: [],
-        uv: [],
-        pv: [],
-        enquiry: []
-      },
-      // 访客数据地图分布
-      chartheight: 400,
-      countryMapData: [],
-      // 访客地域分布列表
-      chartDetailData: [],
-      chartDetailDataCol: [
-        {
-          title: "国旗",
-          align: "center",
-          width: 30,
-          scopedSlots: {customRender: 'flagSlot'}
+  import '/@/assets/less/common.less';
+  import { getAction } from '/@/api/manage/manage';
+  import { JeecgListMixin } from '/@/hooks/component/JeecgListMixin';
+  import enquiryTrack from '/@/views/adweb/enquiry/modules/enquiryTrack.vue';
+  import enquiryGenzong from '/@/views/adweb/enquiry/modules/enquiryTrackRecord.vue';
+  import enquiryDetail from '/@/views/adweb/enquiry/modules/enquiryDetail.vue';
+  import XpRecycleBinModal from '/@/views/adweb/system/modules/XpRecycleBinModal.vue';
+  import blackList from '/@/views/adweb/enquiry/modules/blackList.vue';
+  import moment from 'moment';
+  import dashChart from './chart/DashChartDemo.vue';
+  import areaChart from './chart/areaChart.vue';
+  import MapAdweb from '/@/components/chart/mapAdweb.vue';
+  import selectSite from '/@/components/adweb/selectSite.vue';
+
+  export default {
+    name: 'EnquiryAnalysis',
+    components: {
+      enquiryTrack,
+      enquiryGenzong,
+      XpRecycleBinModal,
+      enquiryDetail,
+      blackList,
+      areaChart,
+      dashChart,
+      MapAdweb,
+      selectSite,
+    },
+    mixins: [JeecgListMixin],
+    data() {
+      return {
+        // 通用
+        ipagination: {
+          current: 1,
+          pageSize: 30,
+          pageSizeOptions: ['15', '30', '45', '60'],
+          showTotal: (total, range) => {
+            return range[0] + '-' + range[1] + ' 共' + total + '条';
+          },
+          showQuickJumper: true,
+          showSizeChanger: true,
+          total: 0,
         },
-        {
-          title: "国家",
-          align: "left",
-          dataIndex: 'countryName',
-          scopedSlots: {customRender: 'countryNameSlot'}
+        disableMixinCreated: true,
+        loading: true,
+        // 筛选
+        siteList: [],
+        rangeDate: undefined,
+        // uv、pv、询盘数
+        enquiryIndexNumber: {
+          unRead: 0,
+          conversionRate: '0%',
+          enquiry: 0,
         },
-        {
-          title: "数量",
-          align: "right",
-          dataIndex: 'num',
-          scopedSlots: {customRender: 'numSlot'}
+        // 数据趋势的数据
+        coreDataChart: {
+          x: [],
+          uv: [],
+          pv: [],
+          enquiry: [],
         },
-      ]
-    }
-  },
-  mounted() {
-    this.queryParam.dateType = 'sevenDay';
-    this.rangeDate = [moment().subtract(7, "days"), moment().subtract(1, "days")];
-    this.getSiteList();
-  },
-  methods: {
-    // ========================================== 筛选 ==========================================
-    //获取站点列表
-    getSiteList() {
-      let that = this
-      getAction('/sys/api/getSiteListByUid').then(function (res) {
-        if (res.code == 0) {
-          if (res.data || res.data.length) {
-            let defaultSiteCode = localStorage.getItem('siteCode');
-            if (defaultSiteCode) {
-              let isInSite = false
-              for (let i in res.data) {
-                if (defaultSiteCode === res.data[i].code) {
-                  isInSite = true;
-                  that.queryParam.siteId = res.data[i].id;
-                  break;
+        // 访客数据地图分布
+        chartheight: 400,
+        countryMapData: [],
+        // 访客地域分布列表
+        chartDetailData: [],
+        chartDetailDataCol: [
+          {
+            title: '国旗',
+            align: 'center',
+            width: 30,
+            scopedSlots: { customRender: 'flagSlot' },
+          },
+          {
+            title: '国家',
+            align: 'left',
+            dataIndex: 'countryName',
+            scopedSlots: { customRender: 'countryNameSlot' },
+          },
+          {
+            title: '数量',
+            align: 'right',
+            dataIndex: 'num',
+            scopedSlots: { customRender: 'numSlot' },
+          },
+        ],
+      };
+    },
+    mounted() {
+      this.queryParam.dateType = 'sevenDay';
+      this.rangeDate = [moment().subtract(7, 'days'), moment().subtract(1, 'days')];
+      this.getSiteList();
+    },
+    methods: {
+      // ========================================== 筛选 ==========================================
+      //获取站点列表
+      getSiteList() {
+        let that = this;
+        getAction('/sys/api/getSiteListByUid')
+          .then(function (res) {
+            if (res.code == 0) {
+              if (res.data || res.data.length) {
+                let defaultSiteCode = localStorage.getItem('siteCode');
+                if (defaultSiteCode) {
+                  let isInSite = false;
+                  for (let i in res.data) {
+                    if (defaultSiteCode === res.data[i].code) {
+                      isInSite = true;
+                      that.queryParam.siteId = res.data[i].id;
+                      break;
+                    }
+                  }
+                  if (!isInSite) {
+                    that.queryParam.siteId = res.data[0].id;
+                    localStorage.setItem('siteCode', res.data[0].code);
+                  }
+                } else {
+                  that.queryParam.siteId = res.data[0].id;
+                  localStorage.setItem('siteCode', res.data[0].code);
                 }
-              }
-              if (!isInSite) {
-                that.queryParam.siteId = res.data[0].id;
-                localStorage.setItem('siteCode', res.data[0].code);
+                that.siteList = res.data;
+                that.reloadData();
               }
             } else {
-              that.queryParam.siteId = res.data[0].id;
-              localStorage.setItem('siteCode', res.data[0].code);
+              that.$message.error('获取站点失败!');
             }
-            that.siteList = res.data;
-            that.reloadData()
-          }
-        } else {
-          that.$message.error('获取站点失败!')
+          })
+          .catch(function (err) {
+            console.log(err);
+          });
+      },
+      // 搜索
+      filterOption(inputValue, option) {
+        return option.componentOptions.children[0].text.indexOf(inputValue) >= 0;
+      },
+      //搜索条件部分的逻辑
+      onChangeDatePciker(date, dateString) {
+        if (dateString.length > 0) {
+          this.rangeDate = date;
+          this.queryParam.start = dateString[0];
+          this.queryParam.end = dateString[1];
+          this.queryParam.dateType = undefined;
+          this.reloadData();
+        }
+      },
+      //日期选择只能今天之前
+      disabledDate(current) {
+        return current && current > moment().subtract(0, 'days');
+      },
+      //设置列表的时间查询条件
+      setTime(time) {
+        this.queryParam.dateType = time;
+        this.queryParam.start = '';
+        this.queryParam.end = '';
+        if (time == '') {
+          this.rangeDate = undefined;
+        } else if (time == 'sevenDay') {
+          this.rangeDate = [moment().subtract(7, 'days'), moment().subtract(1, 'days')];
+        } else if (time == 'thirtyDay') {
+          this.rangeDate = [moment().subtract(30, 'days'), moment().subtract(1, 'days')];
+        } else if (time == 'yesterday') {
+          this.rangeDate = [moment().subtract(1, 'days'), moment().subtract(1, 'days')];
+        } else if (time == 'today') {
+          this.rangeDate = [moment(), moment()];
         }
-      }).catch(function (err) {
-        console.log(err)
-      })
-    },
-    // 搜索
-    filterOption(inputValue, option) {
-      return option.componentOptions.children[0].text.indexOf(inputValue) >= 0
-    },
-    //搜索条件部分的逻辑
-    onChangeDatePciker(date, dateString) {
-      if (dateString.length > 0) {
-        this.rangeDate = date
-        this.queryParam.start = dateString[0]
-        this.queryParam.end = dateString[1]
-        this.queryParam.dateType = undefined
         this.reloadData();
-      }
-    },
-    //日期选择只能今天之前
-    disabledDate(current) {
-      return current && current > moment().subtract(0, "days");
-    },
-    //设置列表的时间查询条件
-    setTime(time) {
-      this.queryParam.dateType = time
-      this.queryParam.start = ''
-      this.queryParam.end = ''
-      if (time == '') {
-        this.rangeDate = undefined
-      } else if (time == 'sevenDay') {
-        this.rangeDate = [moment().subtract(7, "days"), moment().subtract(1, "days")]
-      } else if (time == 'thirtyDay') {
-        this.rangeDate = [moment().subtract(30, "days"), moment().subtract(1, "days")]
-      } else if (time == 'yesterday') {
-        this.rangeDate = [moment().subtract(1, "days"), moment().subtract(1, "days")]
-      } else if (time == 'today') {
-        this.rangeDate = [moment(), moment()]
-      }
-      this.reloadData();
-    },
-
-    changeSite(value, e) {
-      this.selectSiteInfo = e.data.attrs.info
-      this.queryParam.siteId = this.selectSiteInfo.id;
-      this.reloadData(this.queryParam.siteId)
-    },
+      },
 
-    //重新刷新页面数据
-    reloadData(value) {
-      this.loading = true;
-      for (let i in this.siteList){
-        if(value === this.siteList[i].id){
-          localStorage.setItem("siteCode",this.siteList[i].code)
-        }
-      }
-      this.getFlowIndexNumber();
-      this.getCountryMapData();
-    },
-    // ========================================== 访客量、浏览量、询盘数量、折线图以及统计 ==========================================
-    getFlowIndexNumber() {
-      let that = this;
-      getAction('/datacenter/daily/number', this.queryParam).then(function (res) {
-        console.log('res', res);
-        if (!res.result) {
-          that.enquiryIndexNumber = {
-            unRead: 0,
-            conversionRate: "0%",
-            enquiry: 0
-          };
-          that.coreDataChart = {
-            x: [],
-            uv: [],
-            pv: [],
-            enquiry: []
-          };
-          that.loading = false;
-          return;
-        }
+      changeSite(value, e) {
+        this.selectSiteInfo = e.data.attrs.info;
+        this.queryParam.siteId = this.selectSiteInfo.id;
+        this.reloadData(this.queryParam.siteId);
+      },
 
-        that.enquiryIndexNumber = res.result.enquiryIndexNumber;
-        let r = res.result.dailyTrends;
-        let x = [], uv = [], enquiry = [];
-        if (r != null && r.length > 0) {
-          for (let item of r) {
-            x.push(item.date)
-            uv.push(item.uvCount)
-            enquiry.push(item.enquiryCount)
+      //重新刷新页面数据
+      reloadData(value) {
+        this.loading = true;
+        for (let i in this.siteList) {
+          if (value === this.siteList[i].id) {
+            localStorage.setItem('siteCode', this.siteList[i].code);
           }
         }
-        that.coreDataChart.x = x
-        that.coreDataChart.uv = uv
-        that.coreDataChart.enquiry = enquiry
-        that.loading = false;
-      });
-    },
-    // ========================================== 访客数地域分布 ==========================================
-    getCountryMapData() {
-      let that = this;
-      that.countryMapData = [];
-      that.chartDetailData = [];
-      getAction('/datacenter/enquiry/map', this.queryParam).then(function (res) {
-        if (res.code == 200) {
-          that.countryMapData = res.result.accessMap;
-          that.chartDetailData = res.result.accessList;
-          if (that.chartDetailData !== null && that.chartDetailData.length > 0) {
-            for (let item of that.chartDetailData) {
-              let searchText = item.countryName ? item.countryName : item.country;
-              let itemQueryParam = {
-                dateType: that.queryParam.dateType,
-                start: that.queryParam.start,
-                end: that.queryParam.end,
-                offset: 1, //日期相对今天偏移1天
-                searchText: searchText
-              };
-              item.queryParam = itemQueryParam;
+        this.getFlowIndexNumber();
+        this.getCountryMapData();
+      },
+      // ========================================== 访客量、浏览量、询盘数量、折线图以及统计 ==========================================
+      getFlowIndexNumber() {
+        let that = this;
+        getAction('/datacenter/daily/number', this.queryParam).then(function (res) {
+          console.log('res', res);
+          if (!res.result) {
+            that.enquiryIndexNumber = {
+              unRead: 0,
+              conversionRate: '0%',
+              enquiry: 0,
+            };
+            that.coreDataChart = {
+              x: [],
+              uv: [],
+              pv: [],
+              enquiry: [],
+            };
+            that.loading = false;
+            return;
+          }
+
+          that.enquiryIndexNumber = res.result.enquiryIndexNumber;
+          let r = res.result.dailyTrends;
+          let x = [],
+            uv = [],
+            enquiry = [];
+          if (r != null && r.length > 0) {
+            for (let item of r) {
+              x.push(item.date);
+              uv.push(item.uvCount);
+              enquiry.push(item.enquiryCount);
             }
           }
-        }
-      })
-    },
-    clickRow(record,index) {
-      return {
-        on: {
-          click: () => {
-            this.$router.push({ path: '/inquiry/list', query: record.queryParam })
+          that.coreDataChart.x = x;
+          that.coreDataChart.uv = uv;
+          that.coreDataChart.enquiry = enquiry;
+          that.loading = false;
+        });
+      },
+      // ========================================== 访客数地域分布 ==========================================
+      getCountryMapData() {
+        let that = this;
+        that.countryMapData = [];
+        that.chartDetailData = [];
+        getAction('/datacenter/enquiry/map', this.queryParam).then(function (res) {
+          if (res.code == 200) {
+            that.countryMapData = res.result.accessMap;
+            that.chartDetailData = res.result.accessList;
+            if (that.chartDetailData !== null && that.chartDetailData.length > 0) {
+              for (let item of that.chartDetailData) {
+                let searchText = item.countryName ? item.countryName : item.country;
+                let itemQueryParam = {
+                  dateType: that.queryParam.dateType,
+                  start: that.queryParam.start,
+                  end: that.queryParam.end,
+                  offset: 1, //日期相对今天偏移1天
+                  searchText: searchText,
+                };
+                item.queryParam = itemQueryParam;
+              }
+            }
           }
-        }
-      }
+        });
+      },
+      clickRow(record, index) {
+        return {
+          on: {
+            click: () => {
+              this.$router.push({ path: '/inquiry/list', query: record.queryParam });
+            },
+          },
+        };
+      },
     },
-
-  }
-}
+  };
 </script>
 
-
-<!-- 通用样式 -->
-<style scoped>
-@import '~@assets/less/common.less';
-</style>
-
-
 <!-- 询盘页面的样式 -->
 <style lang="less" scoped>
+  .img-box {
+    width: 22px;
+    height: 15px;
+    display: flex;
+    justify-content: center;
+    align-items: center;
 
-.img-box {
-  width: 22px;
-  height: 15px;
-  display: flex;
-  justify-content: center;
-  align-items: center;
+    img {
+      width: 100%;
+      height: 100%;
+    }
+  }
 
-  img {
-    width: 100%;
-    height: 100%;
+  .ant-alert {
+    /deep/ .ant-btn {
+      border-radius: 0;
+      margin-left: 10px;
+    }
   }
-}
 
-.ant-alert {
-  /deep/ .ant-btn {
-    border-radius: 0;
-    margin-left: 10px;
+  .theme-color {
+    color: @primary-color;
   }
-}
 
-.theme-color {
-  color: @primary-color;
-}
+  .r1 {
+    .choose-site {
+      display: flex;
 
-.r1 {
-  .choose-site {
-    display: flex;
+      /deep/ .ant-select-selection {
+        background: transparent;
+        color: #fff;
+      }
 
-    /deep/ .ant-select-selection {
-      background: transparent;
-      color: #fff;
-    }
+      /deep/ .ant-select-selection__clear {
+        background: transparent;
+      }
 
-    /deep/ .ant-select-selection__clear {
-      background: transparent;
+      /deep/ i,
+      /deep/ .ant-calendar-range-picker-separator {
+        color: #fff;
+      }
     }
 
-    /deep/ i, /deep/ .ant-calendar-range-picker-separator {
+    .t1 {
+      font-size: 18px;
       color: #fff;
     }
-  }
 
-  .t1 {
-    font-size: 18px;
-    color: #fff;
-  }
+    .ant-calendar-picker {
+      margin-right: 20px;
 
-  .ant-calendar-picker {
-    margin-right: 20px;
+      /deep/ .ant-input {
+        background: transparent;
+        color: #e2e2e2;
+      }
+    }
 
-    /deep/ .ant-input {
+    /deep/ .ant-btn {
       background: transparent;
       color: #e2e2e2;
+      margin-right: 10px;
+
+      &.active {
+        background: #fff;
+        border-color: #fff;
+        color: @primary-color;
+      }
     }
   }
 
-  /deep/ .ant-btn {
-    background: transparent;
-    color: #e2e2e2;
-    margin-right: 10px;
+  .r2 {
+    background: #fff;
+    border-radius: 10px;
+    padding: 30px 20px;
 
-    &.active {
-      background: #fff;
-      border-color: #fff;
-      color: @primary-color;
+    .ant-col:not(:last-child) {
+      border-right: 1px solid #e6e6e6;
     }
-  }
-}
 
-.r2 {
-  background: #fff;
-  border-radius: 10px;
-  padding: 30px 20px;
+    p {
+      margin: 0;
+      text-align: center;
 
-  .ant-col:not(:last-child) {
-    border-right: 1px solid #e6e6e6;
-  }
+      &.t1 {
+        color: #333;
+        margin-bottom: 15px;
 
-  p {
-    margin: 0;
-    text-align: center;
+        img {
+          margin-right: 10px;
+          width: 15px;
+          margin-top: -5px;
+        }
+      }
 
-    &.t1 {
-      color: #333;
-      margin-bottom: 15px;
+      &.t2 {
+        color: @primary-color;
+        font-size: 30px;
+        font-weight: 500;
+        line-height: 1;
+        padding-left: 25px;
+      }
 
-      img {
-        margin-right: 10px;
-        width: 15px;
-        margin-top: -5px;
+      &.t3 {
+        font-size: 30px;
+        font-weight: 500;
+        line-height: 1;
+        padding-left: 25px;
       }
     }
+  }
+
+  .r3 {
+    margin-top: 20px;
+  }
+
+  .r4 {
+    margin-top: 20px;
 
-    &.t2 {
-      color: @primary-color;
-      font-size: 30px;
-      font-weight: 500;
-      line-height: 1;
-      padding-left: 25px;
+    /deep/ .ant-table-tbody {
+      background: #fff;
     }
 
-    &.t3 {
-      font-size: 30px;
-      font-weight: 500;
-      line-height: 1;
-      padding-left: 25px;
+    /deep/ .ant-table-tbody > tr > td {
+      border-bottom: 1px solid #f7f7f7;
     }
   }
-}
-
-.r3 {
-  margin-top: 20px;
-}
-
-.r4 {
-  margin-top: 20px;
+</style>
 
-  /deep/ .ant-table-tbody {
-    background: #fff;
+<!-- 首页的样式 -->
+<style scoped lang="less">
+  p,
+  span {
+    color: #000;
+    margin: 0;
   }
 
-  /deep/ .ant-table-tbody > tr > td {
-    border-bottom: 1px solid #f7f7f7;
+  .theme-color {
+    color: @primary-color;
   }
-}
-</style>
 
+  .title {
+    font-size: 18px;
+    color: #000;
+  }
 
-<!-- 首页的样式 -->
-<style scoped lang="less">
-p, span {
-  color: #000;
-  margin: 0;
-}
-
-.theme-color {
-  color: @primary-color;
-}
-
-.title {
-  font-size: 18px;
-  color: #000;
-}
-
-@import '../../dashboard/less/home2-7.less';
-@import "../../../assets/less/flags.css";
+  @import '../../dashboard/less/home2-7.less';
+  @import '../../../assets/less/flags.css';
 </style>
 <style lang="less">
-.pop-wrap {
-  .ant-popover-inner-content {
-    padding: 0;
-  }
+  .pop-wrap {
+    .ant-popover-inner-content {
+      padding: 0;
+    }
 
-  .wrap {
-    width: 400px;
-    padding: 20px 20px;
-    background: url("../../../assets/home2-7/pop-bg.svg") no-repeat;
-    background-position: bottom right;
+    .wrap {
+      width: 400px;
+      padding: 20px 20px;
+      background: url('../../../assets/home2-7/pop-bg.svg') no-repeat;
+      background-position: bottom right;
 
-    p {
-      line-height: 1.8;
+      p {
+        line-height: 1.8;
 
-      i {
-        color: @primary-color;
-        margin-right: 10px;
+        i {
+          color: @primary-color;
+          margin-right: 10px;
+        }
       }
-    }
 
-    .name {
-      font-size: 18px;
-      margin-bottom: 20px;
-    }
+      .name {
+        font-size: 18px;
+        margin-bottom: 20px;
+      }
 
-    .job {
-      font-size: 15px;
-      color: #9f9f9f;
-    }
+      .job {
+        font-size: 15px;
+        color: #9f9f9f;
+      }
 
-    .ant-col-8 {
-      text-align: right;
+      .ant-col-8 {
+        text-align: right;
+      }
     }
   }
-}
 </style>

+ 128 - 118
src/views/adweb/data/inquiryAnalysis.vue

@@ -1,40 +1,36 @@
 <template>
   <div>
-    <a-row style="background: #fff;padding: 10px 15px;color: rgba(0,0,0,.85);margin-bottom: 10px;">
+    <a-row style="background: #fff; padding: 10px 15px; color: rgba(0, 0, 0, 0.85); margin-bottom: 10px">
       <!--      v-if="siteinfo.length != 1"-->
       <a-col :span="24">
         <span>请选择站点:</span>
-        <a-select show-search
-                  option-filter-prop="children"
-                  :filter-option="filterOption"
-                  v-model="siteId" @change="changeUser" style="width: 300px">
+        <a-select show-search option-filter-prop="children" :filter-option="filterOption" v-model="siteId" @change="changeUser" style="width: 300px">
           <a-select-option v-for="data in siteinfo" :key="data.id" :value="data.id">
-            {{data.name}}
+            {{ data.name }}
           </a-select-option>
         </a-select>
-        <a-button type="dashed" icon="reload" @click="reloadPage" style="margin-left: 20px;">刷新</a-button>
+        <a-button type="dashed" icon="reload" @click="reloadPage" style="margin-left: 20px">刷新</a-button>
       </a-col>
     </a-row>
 
     <a-row :gutter="10" class="middle-row">
       <a-col :xl="9" :lg="9" :md="9" :sm="24" :xs="24">
-        <a-card :bordered="false" :body-style="{padding: '0'}">
+        <a-card :bordered="false" :body-style="{ padding: '0' }">
           <div class="salesCard">
             <a-tabs default-active-key="1" size="large">
               <a-tab-pane tab="询盘有效性饼图" key="1">
-                <a-card :loading="mediumViewPieloading" :bordered="false" :body-style="{padding: '0',width:'100%'}">
-                  <v-chart v-if="mediumViewPie.length > 1"
-                           :height="chartheight" :forceFit="true"
-                           :data="mediumPieData" :scale="mediumPieScale"
-                  >
-                    <v-tooltip :showTitle="false" dataKey="item*percent"/>
-                    <v-axis/>
-                    <v-legend dataKey="item"/>
-                    <v-pie position="percent" color="item" :v-style="pieStyle" :label="labelConfig"/>
-                    <v-coord type="theta"/>
+                <a-card :loading="mediumViewPieloading" :bordered="false" :body-style="{ padding: '0', width: '100%' }">
+                  <v-chart v-if="mediumViewPie.length > 1" :height="chartheight" :forceFit="true" :data="mediumPieData" :scale="mediumPieScale">
+                    <v-tooltip :showTitle="false" dataKey="item*percent" />
+                    <v-axis />
+                    <v-legend dataKey="item" />
+                    <v-pie position="percent" color="item" :v-style="pieStyle" :label="labelConfig" />
+                    <v-coord type="theta" />
                   </v-chart>
                   <a-empty v-else>
-                    <span slot="description">暂无数据</span>
+                    <template #description>
+                      <span>暂无数据</span>
+                    </template>
                   </a-empty>
                 </a-card>
               </a-tab-pane>
@@ -44,16 +40,22 @@
       </a-col>
 
       <a-col :xl="15" :lg="15" :md="15" :sm="24" :xs="24">
-        <a-card :bordered="false" :body-style="{padding: '0'}">
+        <a-card :bordered="false" :body-style="{ padding: '0' }">
           <div class="salesCard">
             <a-tabs default-active-key="1" size="large">
               <a-tab-pane tab="询盘统计折线图" key="1">
-                <a-card :loading="mediumViewLineloading" :bordered="false" :body-style="{padding: '0',width:'100%'}">
-                  <line-chart-multid v-if="mediumViewLine.length > 1" :dataSource="mediumViewLine"
-                                     :aliases="[{field:'num',alias:'询盘数'}]" :height="chartheight"></line-chart-multid>
+                <a-card :loading="mediumViewLineloading" :bordered="false" :body-style="{ padding: '0', width: '100%' }">
+                  <line-chart-multid
+                    v-if="mediumViewLine.length > 1"
+                    :dataSource="mediumViewLine"
+                    :aliases="[{ field: 'num', alias: '询盘数' }]"
+                    :height="chartheight"
+                  />
 
                   <a-empty v-else>
-                    <span slot="description">暂无数据</span>
+                    <template #description>
+                      <span>暂无数据</span>
+                    </template>
                   </a-empty>
                 </a-card>
               </a-tab-pane>
@@ -66,37 +68,46 @@
     <a-row style="margin-top: 10px">
       <a-col :span="24">
         <a-card :loading="enquiryChartloading" :bordered="false" title="询盘统计">
-          <a slot="extra" :href="'/inquiry/list?siteId=' + this.siteId">询盘列表</a>
+          <template #extra>
+            <a :href="'/inquiry/list?siteId=' + siteId">询盘列表</a>
+          </template>
           <a-row>
             <a-col :span="6">
-              <head-info title="累计网站询盘" :content="enquiryInfo.total"></head-info>
+              <head-info title="累计网站询盘" :content="enquiryInfo.total" />
             </a-col>
             <a-col :span="2">
-              <a-spin class='circle-cust'>
-                <a-icon slot="indicator" type="rise" style="font-size: 24px"/>
+              <a-spin class="circle-cust">
+                <template #indicator>
+                  <a-icon type="rise" style="font-size: 24px" />
+                </template>
               </a-spin>
             </a-col>
             <a-col :span="6">
-              <head-info title="近7日累计询盘" :content="enquiryInfo.thisWeek"></head-info>
+              <head-info title="近7日累计询盘" :content="enquiryInfo.thisWeek" />
             </a-col>
             <a-col :span="2">
-              <a-spin class='circle-cust'>
-                <a-icon slot="indicator" type="rise" style="font-size: 24px"/>
+              <a-spin class="circle-cust">
+                <template #indicator>
+                  <a-icon type="rise" style="font-size: 24px" />
+                </template>
               </a-spin>
             </a-col>
             <a-col :span="6">
-              <head-info title="近30日累计询盘" :content="enquiryInfo.thisMonth"></head-info>
+              <head-info title="近30日累计询盘" :content="enquiryInfo.thisMonth" />
             </a-col>
             <a-col :span="2">
-              <a-spin class='circle-cust'>
-                <a-icon slot="indicator" type="rise" style="font-size: 24px"/>
+              <a-spin class="circle-cust">
+                <template #indicator>
+                  <a-icon type="rise" style="font-size: 24px" />
+                </template>
               </a-spin>
             </a-col>
           </a-row>
-          <bar-multid v-if="enquiryInfo.enquiryChart.length > 1" :dataSource="enquiryInfo.enquiryChart"
-                      :fields="enquiryInfo.enquiryFild"></bar-multid>
+          <bar-multid v-if="enquiryInfo.enquiryChart.length > 1" :dataSource="enquiryInfo.enquiryChart" :fields="enquiryInfo.enquiryFild" />
           <a-empty v-else>
-            <span slot="description">暂无数据</span>
+            <template #description>
+              <span>暂无数据</span>
+            </template>
           </a-empty>
         </a-card>
       </a-col>
@@ -105,26 +116,25 @@
 </template>
 
 <script>
-
-  import { DataSet } from '@antv/data-set'
-  import { postAction, getAction } from '@/api/manage'
-  import Qs from 'qs'
-  import LineChartMultid from '@/components/chart/LineChartMultidAdweb'
-  import Bar from '@/components/chart/BarAdweb'
-  import BarMultid from '@/components/chart/BarMultidAdweb'
-  import MapAdweb from '@/components/chart/mapAdweb'
-  import HeadInfo from '@/components/tools/HeadInfo.vue'
-  import ACol from "ant-design-vue/es/grid/Col"
+  import { DataSet } from '@antv/data-set';
+  import { postAction, getAction } from '/@/api/manage/manage';
+  import Qs from 'qs';
+  import LineChartMultid from '/@/components/chart/LineMulti.vue';
+  import Bar from '/@/components/chart/Bar.vue';
+  import BarMultid from '/@/components/chart/BarMulti.vue';
+  import MapAdweb from '/@/components/chart/mapAdweb.vue';
+  import HeadInfo from '/@/components/tools/HeadInfo.vue';
+  import ACol from 'ant-design-vue/es/grid/Col';
 
   export default {
-    name: "trafficTrends",
+    name: 'TrafficTrends',
     components: {
       BarMultid,
       LineChartMultid,
       Bar,
       HeadInfo,
       ACol,
-      MapAdweb
+      MapAdweb,
     },
     data() {
       return {
@@ -141,82 +151,86 @@
         mediumViewPie: [],
         mediumViewLine: [],
         mediumViewList: [],
-        mediumPieScale: [{
-          dataKey: 'percent',
-          min: 0,
-          formatter: '.0%',
-        }],
+        mediumPieScale: [
+          {
+            dataKey: 'percent',
+            min: 0,
+            formatter: '.0%',
+          },
+        ],
         pieStyle: {
-          stroke: "#fff",
-          lineWidth: 1
+          stroke: '#fff',
+          lineWidth: 1,
         },
-        labelConfig: ['percent', {
-          formatter: (val, item) => {
-            return item.point.item + ': ' + val;
-          }
-        }],
+        labelConfig: [
+          'percent',
+          {
+            formatter: (val, item) => {
+              return item.point.item + ': ' + val;
+            },
+          },
+        ],
         //询盘数据
         enquiryInfo: {
           total: '0',
           thisWeek: '0',
           thisMonth: '0',
           enquiryFild: [],
-          enquiryChart: []
-        }
-      }
-    },
-    created() {
-      this.getSiteInfo();
+          enquiryChart: [],
+        },
+      };
     },
 
     computed: {
       mediumPieData() {
-        const dv = new DataSet.View().source(this.mediumViewPie)
+        const dv = new DataSet.View().source(this.mediumViewPie);
         dv.transform({
           type: 'percent',
           field: 'count',
           dimension: 'item',
-          as: 'percent'
-        })
+          as: 'percent',
+        });
         return dv.rows;
-      }
+      },
+    },
+    created() {
+      this.getSiteInfo();
     },
 
     methods: {
       //进入获取站点code
       getSiteInfo() {
         let that = this;
-        getAction('/sys/api/getSiteListByUid').then(function(res) {
+        getAction('/sys/api/getSiteListByUid').then(function (res) {
           if (res.code == 0) {
             that.siteinfo = res.data;
 
-            let isInSite = false
-            for (let i in res.data){
-              if(localStorage.getItem('siteCode') !== null && res.data[i].code === localStorage.getItem('siteCode')){
-                isInSite = true
-                that.siteId =  res.data[i].id
+            let isInSite = false;
+            for (let i in res.data) {
+              if (localStorage.getItem('siteCode') !== null && res.data[i].code === localStorage.getItem('siteCode')) {
+                isInSite = true;
+                that.siteId = res.data[i].id;
               }
             }
             if (localStorage.getItem('siteCode') !== null && isInSite) {
-
-            }else {
-              that.siteId = res.data[0].id
-              localStorage.setItem("siteCode",res.data[0].code)
+            } else {
+              that.siteId = res.data[0].id;
+              localStorage.setItem('siteCode', res.data[0].code);
             }
 
-            that.getAllInfo()
+            that.getAllInfo();
           } else {
-            that.$message.error('站点获取失败,请刷新重试')
+            that.$message.error('站点获取失败,请刷新重试');
           }
-        })
+        });
       },
 
       //改变code的时候
       changeUser(value) {
         this.siteId = value;
-        for (let i in this.siteinfo){
-          if(value == this.siteinfo[i].id){
-            localStorage.setItem("siteCode",this.siteinfo[i].code)
+        for (let i in this.siteinfo) {
+          if (value == this.siteinfo[i].id) {
+            localStorage.setItem('siteCode', this.siteinfo[i].code);
           }
         }
         this.getAllInfo();
@@ -236,11 +250,11 @@
 
         let chartd = {
           siteCode: that.siteCode,
-          startTime: "",
-          endTime: ""
-        }
+          startTime: '',
+          endTime: '',
+        };
         //饼图
-        postAction('/adweb/adwebEnquiry/effectivenessAnalysis/pie', Qs.stringify(chartd), 1000 * 60 * 2).then(function(res) {
+        postAction('/adweb/adwebEnquiry/effectivenessAnalysis/pie', Qs.stringify(chartd), 1000 * 60 * 2).then(function (res) {
           that.mediumViewPieloading = false;
           if (res.code == 200) {
             if (res.result[0].count == 0 && res.result[1].count == 0) {
@@ -251,41 +265,41 @@
           } else {
             that.mediumViewPie = [];
           }
-        })
+        });
 
         //折线图
-        postAction('/adweb/adwebEnquiry/effectivenessAnalysis/line', Qs.stringify(chartd), 1000 * 60 * 2).then(function(res) {
+        postAction('/adweb/adwebEnquiry/effectivenessAnalysis/line', Qs.stringify(chartd), 1000 * 60 * 2).then(function (res) {
           that.mediumViewLineloading = false;
           if (res.code == 200) {
             that.mediumViewLine = res.result;
           } else {
             that.mediumViewLine = [];
           }
-        })
+        });
       },
 
       getAllInfo() {
-        let that = this
-        that.mediumViewPieloading = true
-        that.mediumViewLineloading = true
-        that.mediumViewListloading = true
+        let that = this;
+        that.mediumViewPieloading = true;
+        that.mediumViewLineloading = true;
+        that.mediumViewListloading = true;
 
         //在请求完内部adweb接口后,请求google数据
-        that.getGoogleInfo()
+        that.getGoogleInfo();
 
         //询盘数据
         let enquiryd = {
           siteId: that.siteId,
           day: 6,
-          dayEnd: 1
-        }
-        postAction('/adweb/adwebEnquiry/selectEnquiryCountV2', Qs.stringify(enquiryd), 1000 * 60 * 2).then(function(res) {
+          dayEnd: 1,
+        };
+        postAction('/adweb/adwebEnquiry/selectEnquiryCountV2', Qs.stringify(enquiryd), 1000 * 60 * 2).then(function (res) {
           that.enquiryChartloading = false;
-          console.log(res.data.countDto.total)
+          console.log(res.data.countDto.total);
           if (res.code == 0) {
-            that.enquiryInfo.total = res.data.countDto.total.toString()
-            that.enquiryInfo.thisWeek = res.data.countDto.thisWeek.toString()
-            that.enquiryInfo.thisMonth = res.data.countDto.thisMonth.toString()
+            that.enquiryInfo.total = res.data.countDto.total.toString();
+            that.enquiryInfo.thisWeek = res.data.countDto.thisWeek.toString();
+            that.enquiryInfo.thisMonth = res.data.countDto.thisMonth.toString();
 
             let dateList = res.data.trendDto.dates;
             let dictsList = res.data.trendDto.dicts;
@@ -302,7 +316,7 @@
                 for (let j = 0; j < dateList.length; j++) {
                   obj[dateList[j]] = values[j];
                 }
-                arr.push(obj)
+                arr.push(obj);
               }
               that.enquiryInfo.enquiryFild = dateList;
               that.enquiryInfo.enquiryChart = arr;
@@ -310,15 +324,13 @@
               that.enquiryInfo.enquiryChart = [];
             }
           } else {
-            that.enquiryInfo.total = 0
-            that.enquiryInfo.thisWeek = 0
-            that.enquiryInfo.thisMonth = 0
+            that.enquiryInfo.total = 0;
+            that.enquiryInfo.thisWeek = 0;
+            that.enquiryInfo.thisMonth = 0;
             that.enquiryInfo.enquiryFild = [];
             that.enquiryInfo.enquiryChart = [];
           }
-
-        })
-
+        });
       },
 
       //刷新页面
@@ -327,12 +339,10 @@
       },
 
       filterOption(input, option) {
-        return (
-          option.componentOptions.children[0].text.toLowerCase().indexOf(input.toLowerCase()) >= 0
-        );
+        return option.componentOptions.children[0].text.toLowerCase().indexOf(input.toLowerCase()) >= 0;
       },
-    }
-  }
+    },
+  };
 </script>
 
 <style lang="less" scoped>

+ 458 - 472
src/views/adweb/seo/SeoKeywordsRankListCopy.vue

@@ -1,87 +1,81 @@
 <template>
   <div>
-    <a-row class="r1" style="margin: 20px;">
+    <a-row class="r1" style="margin: 20px">
       <a-col :span="24">
-        <span class="t1" >{{siteinfo.length > 1 ? '请选择站点:' : '套餐:'}}</span>
-        <select-site v-if="siteinfo.length > 1" @comMethods="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'">
+        <span class="t1">{{ siteinfo.length > 1 ? '请选择站点:' : '套餐:' }}</span>
+        <select-site v-if="siteinfo.length > 1" @com-methods="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>
-                 指定词数:{{ last(comprehenInfo.specifyKeywordNum) }}&nbsp;
-              </span>
-             <span>
-                 关键词数:{{ last(comprehenInfo.longTailKeywordNum) }}&nbsp;
-              </span>
-              <span>
-                  外链数:{{ last(comprehenInfo.outerLinkNum) }}&nbsp;
-              </span>
-              <span>
-                  文章数:{{ last(comprehenInfo.articleNum) }}
-              </span>
+              <span> 指定词数:{{ last(comprehenInfo.specifyKeywordNum) }}&nbsp; </span>
+              <span> 关键词数:{{ last(comprehenInfo.longTailKeywordNum) }}&nbsp; </span>
+              <span> 外链数:{{ last(comprehenInfo.outerLinkNum) }}&nbsp; </span>
+              <span> 文章数:{{ last(comprehenInfo.articleNum) }} </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"/>
+            <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>
       </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.specifyKeywordNum == null">
-          -
-        </p>
+        <p class="t1"><img src="../../../assets/seo/zhidingci.svg" />指定词</p>
+        <p class="t2" v-if="comprehenInfo.specifyKeywordNum == null"> - </p>
         <p class="t2" v-else>
           <span>{{ comprehenInfo.specifyKeywordNum }}</span>
         </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="t1"><img src="../../../assets/seo/changweici.svg" />关键词</p>
+        <p class="t2" v-if="comprehenInfo.longTailKeywordNum == null"> - </p>
         <p class="t2" v-else>
           <span>{{ comprehenInfo.longTailKeywordNum }}</span>
         </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" >
+        <p class="t1"><img src="../../../assets/seo/lianjieshu.svg" />外链数</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="t1"><img src="../../../assets/seo/wenzhangshu.svg" />文章数</p>
+        <p class="t2" v-if="comprehenInfo.articleNum == null"> - </p>
         <p class="t2">
           <span>{{ comprehenInfo.articleNum }}</span>
         </p>
       </a-col>
     </a-row>
-    <a-row class="r3" type="flex"  :gutter="16">
+    <a-row class="r3" type="flex" :gutter="16">
       <a-col :span="12">
         <div class="wrap">
           <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)">{{ filtr_null(rankInfo.appointKeyword.firstNum) }}</a>个
+            <div class="d1"><img src="../../../assets/seo/NO1.svg" />1-10位</div>
+            <div class="d2"
+              ><a @click="getTableInfoRank(3, 1)">{{ filtr_null(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)">{{
-                filtr_null(rankInfo.appointKeyword.secondNum ) }}</a>个
+            <div class="d1"><img src="../../../assets/seo/NO2.svg" />11-30位</div>
+            <div class="d2"
+              ><a @click="getTableInfoRank(7, 1)">{{ filtr_null(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)">{{
-                filtr_null(rankInfo.appointKeyword.thirdType) }}</a>个
+            <div class="d1"><img src="../../../assets/seo/NO3.svg" />31-100位</div>
+            <div class="d2"
+              ><a @click="getTableInfoRank(8, 1)">{{ filtr_null(rankInfo.appointKeyword.thirdType) }}</a
+              >个
             </div>
           </div>
         </div>
@@ -90,21 +84,24 @@
         <div class="wrap">
           <p class="t1">关键词排名</p>
           <div class="content">
-            <div class="d1"><img src="../../../assets/seo/NO1.svg"/>1-10位</div>
+            <div class="d1"><img src="../../../assets/seo/NO1.svg" />1-10位</div>
             <div class="d2">
-              <a @click="longGetTableInfoRank(3)">{{ filtr_null(rankInfo.longTailKeyword.firstNum) }}</a>个
+              <a @click="longGetTableInfoRank(3)">{{ filtr_null(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)">{{
-                filtr_null(rankInfo.longTailKeyword.secondNum) }}</a>个
+            <div class="d1"><img src="../../../assets/seo/NO2.svg" />11-30位</div>
+            <div class="d2"
+              ><a @click="longGetTableInfoRank(7)">{{ filtr_null(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)">{{
-                filtr_null(rankInfo.longTailKeyword.thirdType) }}</a>个
+            <div class="d1"><img src="../../../assets/seo/NO3.svg" />31-100位</div>
+            <div class="d2"
+              ><a @click="longGetTableInfoRank(8)">{{ filtr_null(rankInfo.longTailKeyword.thirdType) }}</a
+              >个
             </div>
           </div>
         </div>
@@ -114,488 +111,477 @@
     <BasicTable @register="registerTable" :rowSelection="rowSelection">
       <!--插槽:table标题-->
       <template #tableTitle>
-        <a-button  type="primary" preIcon="ant-design:export-outlined" @click="onExportXls"> 导出</a-button>
+        <a-button type="primary" preIcon="ant-design:export-outlined" @click="onExportXls"> 导出</a-button>
       </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 }">
-      </template>
+      <template #bodyCell="{ column, record, index, text }"> </template>
     </BasicTable>
     <!-- 表单区域 -->
-    <SeoKpiStatisticsModal @register="registerModal" @success="handleSuccess"></SeoKpiStatisticsModal>
+    <SeoKpiStatisticsModal @register="registerModal" @success="handleSuccess" />
   </div>
 </template>
 
 <script lang="ts" name="serp-seoKpiStatistics" setup>
-import { ref, reactive, computed, unref, onMounted } from "vue";
-import {BasicTable, useTable, TableAction} from '/src/components/Table';
-import {useModal} from '/src/components/Modal';
-import { useListPage } from '/src/hooks/system/useListPage'
-import {columns, searchFormSchema, superQuerySchema} from './SeoKeywordsRank.data';
-import {
-  list,
-  deleteOne,
-  batchDelete,
-  getImportUrl,
-  getExportUrl,
-  getAllSites
-} from "./SeoKeywordsRank.api";
-import { downloadFile } from '/src/utils/common/renderUtils';
-import { useUserStore } from '/src/store/modules/user';
-import selectSite from "@/components/Adweb/selectSite.vue";
-import { getAction } from "@/api/manage/manage";
-const queryParam = reactive<any>({});
-const checkedKeys = ref<Array<string | number>>([]);
-const userStore = useUserStore();
-//注册model
-const [registerModal, {openModal}] = useModal();
-//注册table数据
-const { prefixCls,tableContext,onExportXls,onImportXls } = useListPage({
-  tableProps:{
-    title: 'seo_keywords_rank',
-    api: list,
-    columns,
-    canResize:false,
-    formConfig: {
-      //labelWidth: 120,
-      schemas: searchFormSchema,
-      autoSubmitOnEnter:true,
-      showAdvancedButton:true,
-      fieldMapToNumber: [
-      ],
-      fieldMapToTime: [
-      ],
+  import { ref, reactive, computed, unref, onMounted } from 'vue';
+  import { BasicTable, useTable, TableAction } from '/src/components/Table';
+  import { useModal } from '/src/components/Modal';
+  import { useListPage } from '/src/hooks/system/useListPage';
+  import { columns, searchFormSchema, superQuerySchema } from './SeoKeywordsRank.data';
+  import { list, deleteOne, batchDelete, getImportUrl, getExportUrl, getAllSites } from './SeoKeywordsRank.api';
+  import { downloadFile } from '/src/utils/common/renderUtils';
+  import { useUserStore } from '/src/store/modules/user';
+  import selectSite from '@/components/Adweb/selectSite.vue';
+  import { getAction } from '@/api/manage/manage';
+  const queryParam = reactive<any>({});
+  const checkedKeys = ref<Array<string | number>>([]);
+  const userStore = useUserStore();
+  //注册model
+  const [registerModal, { openModal }] = useModal();
+  //注册table数据
+  const { prefixCls, tableContext, onExportXls, onImportXls } = useListPage({
+    tableProps: {
+      title: 'seo_keywords_rank',
+      api: list,
+      columns,
+      canResize: false,
+      formConfig: {
+        //labelWidth: 120,
+        schemas: searchFormSchema,
+        autoSubmitOnEnter: true,
+        showAdvancedButton: true,
+        fieldMapToNumber: [],
+        fieldMapToTime: [],
+      },
+      actionColumn: {
+        width: 120,
+        fixed: 'right',
+      },
+      beforeFetch: (params) => {
+        return Object.assign(params, queryParam);
+      },
     },
-    actionColumn: {
-      width: 120,
-      fixed:'right'
+    exportConfig: {
+      name: 'seo_keywords_rank',
+      url: getExportUrl,
+      params: queryParam,
     },
-    beforeFetch: (params) => {
-      return Object.assign(params, queryParam);
+    importConfig: {
+      url: getImportUrl,
+      success: handleSuccess,
     },
-  },
-  exportConfig: {
-    name:"seo_keywords_rank",
-    url: getExportUrl,
-    params: queryParam,
-  },
-  importConfig: {
-    url: getImportUrl,
-    success: handleSuccess
-  },
-})
-
-const [registerTable, {reload},{ rowSelection, selectedRowKeys }] = tableContext
+  });
 
-// 高级查询配置
-const superQueryConfig = reactive(superQuerySchema);
+  const [registerTable, { reload }, { rowSelection, selectedRowKeys }] = tableContext;
 
-const siteinfo = ref([]);
-const selectSiteInfo = ref({'planId':'','planName':'','planType':'','subscriptionId':''});
-const siteCode = ref('');
-let comprehenInfo = ref({'specifyKeywordNum':0,'longTailKeywordNum':0,'outerLinkNum':0,'articleNum':0})
-const keywords = ref('');
-const rankInfo = ref({'appointKeyword':{'firstNum':0,'secondNum':0,'thirdType':''},'longTailKeyword':{'firstNum':0,'secondNum':0,'thirdType':''}});
-const dataSource = ref([]);
-const ipagination = ref({'current':1,'total':0});
-const longDataSource = ref([]);
-const longIpagination = ref({'current':1,'total':0});
-const show = ref();
-const keywordType = ref();
-const longShow = ref();
-// const loading = ref(false);
+  // 高级查询配置
+  const superQueryConfig = reactive(superQuerySchema);
 
-/**
- * 高级查询事件
- */
-function handleSuperQuery(params) {
-  Object.keys(params).map((k) => {
-    queryParam[k] = params[k];
+  const siteinfo = ref([]);
+  const selectSiteInfo = ref({ planId: '', planName: '', planType: '', subscriptionId: '' });
+  const siteCode = ref('');
+  let comprehenInfo = ref({ specifyKeywordNum: 0, longTailKeywordNum: 0, outerLinkNum: 0, articleNum: 0 });
+  const keywords = ref('');
+  const rankInfo = ref({
+    appointKeyword: { firstNum: 0, secondNum: 0, thirdType: '' },
+    longTailKeyword: { firstNum: 0, secondNum: 0, thirdType: '' },
   });
-  reload();
-}
-/**
- * 新增事件
- */
-function handleAdd() {
-  openModal(true, {
-    isUpdate: false,
-    showFooter: true,
-  });
-}
-/**
- * 编辑事件
- */
-function handleEdit(record: Recordable) {
-  openModal(true, {
-    record,
-    isUpdate: true,
-    showFooter: true,
-  });
-}
-/**
- * 详情
- */
-function handleDetail(record: Recordable) {
-  openModal(true, {
-    record,
-    isUpdate: true,
-    showFooter: false,
-  });
-}
-/**
- * 删除事件
- */
-async function handleDelete(record) {
-  await deleteOne({id: record.id}, handleSuccess);
-}
-/**
- * 批量删除事件
- */
-async function batchHandleDelete() {
-  await batchDelete({ids: selectedRowKeys.value}, handleSuccess);
-}
-/**
- * 成功回调
- */
-function handleSuccess() {
-  (selectedRowKeys.value = []) && reload();
-}
-/**
- * 操作栏
- */
-function getTableAction(record){
-  return [
-    {
-      label: '去查询',
-      onClick: handleEdit.bind(null, record),
-    }
-  ]
-}
+  const dataSource = ref([]);
+  const ipagination = ref({ current: 1, total: 0 });
+  const longDataSource = ref([]);
+  const longIpagination = ref({ current: 1, total: 0 });
+  const show = ref();
+  const keywordType = ref();
+  const longShow = ref();
+  // const loading = ref(false);
+
+  /**
+   * 高级查询事件
+   */
+  function handleSuperQuery(params) {
+    Object.keys(params).map((k) => {
+      queryParam[k] = params[k];
+    });
+    reload();
+  }
+  /**
+   * 新增事件
+   */
+  function handleAdd() {
+    openModal(true, {
+      isUpdate: false,
+      showFooter: true,
+    });
+  }
+  /**
+   * 编辑事件
+   */
+  function handleEdit(record: Recordable) {
+    openModal(true, {
+      record,
+      isUpdate: true,
+      showFooter: true,
+    });
+  }
+  /**
+   * 详情
+   */
+  function handleDetail(record: Recordable) {
+    openModal(true, {
+      record,
+      isUpdate: true,
+      showFooter: false,
+    });
+  }
+  /**
+   * 删除事件
+   */
+  async function handleDelete(record) {
+    await deleteOne({ id: record.id }, handleSuccess);
+  }
+  /**
+   * 批量删除事件
+   */
+  async function batchHandleDelete() {
+    await batchDelete({ ids: selectedRowKeys.value }, handleSuccess);
+  }
+  /**
+   * 成功回调
+   */
+  function handleSuccess() {
+    (selectedRowKeys.value = []) && reload();
+  }
+  /**
+   * 操作栏
+   */
+  function getTableAction(record) {
+    return [
+      {
+        label: '去查询',
+        onClick: handleEdit.bind(null, record),
+      },
+    ];
+  }
 
-//切换站点
-function changeSite(value, e) {
-  getSiteInfo()
-  selectSiteInfo.value = e.info
-  siteCode.value = value
-  queryParam.reachStandard = undefined
-  keywords.value = ''
-  localStorage.setItem('siteCode', value)
-  resetAllInfo()
-  getAllInfo()
-}
-//先执行获取site信息,只有在获取到siteCode之后,才能执行以下方法
-function getSiteInfo() {
-  getAllSites().then( (res) => {
-      siteinfo.value = res
-      if(res.length > 0){
-        let isInSite = false
+  //切换站点
+  function changeSite(value, e) {
+    getSiteInfo();
+    selectSiteInfo.value = e.info;
+    siteCode.value = value;
+    queryParam.reachStandard = undefined;
+    keywords.value = '';
+    localStorage.setItem('siteCode', value);
+    resetAllInfo();
+    getAllInfo();
+  }
+  //先执行获取site信息,只有在获取到siteCode之后,才能执行以下方法
+  function getSiteInfo() {
+    getAllSites().then((res) => {
+      siteinfo.value = res;
+      if (res.length > 0) {
+        let isInSite = false;
         for (let i in res) {
           if (localStorage.getItem('siteCode') !== null && res[i].code === localStorage.getItem('siteCode')) {
-            isInSite = true
-            selectSiteInfo.value = res[i]
+            isInSite = true;
+            selectSiteInfo.value = res[i];
           }
         }
         if (localStorage.getItem('siteCode') !== null && isInSite) {
-          siteCode.value = localStorage.getItem('siteCode')
+          siteCode.value = localStorage.getItem('siteCode');
         } else {
-          siteCode.value = res[0].code
-          selectSiteInfo.value = res[0]
-          localStorage.setItem('siteCode', res[0].code)
+          siteCode.value = res[0].code;
+          selectSiteInfo.value = res[0];
+          localStorage.setItem('siteCode', res[0].code);
         }
       }
-      resetAllInfo()
-      getAllInfo()
+      resetAllInfo();
+      getAllInfo();
+    });
+  }
 
-  })
-}
-function resetAllInfo(){
-  comprehenInfo.value = {'specifyKeywordNum':0,'longTailKeywordNum':0,'outerLinkNum':0,'articleNum':0}
-  rankInfo.value = {'appointKeyword':{},'longTailKeyword':{}}
-  dataSource.value = []
-  ipagination.value = {'current':1,'total':0}
-  longDataSource.value = []
-  longIpagination.value = {'current':1,'total':0}
-}
+  function resetAllInfo() {
+    comprehenInfo.value = { specifyKeywordNum: 0, longTailKeywordNum: 0, outerLinkNum: 0, articleNum: 0 };
+    rankInfo.value = { appointKeyword: {}, longTailKeyword: {} };
+    dataSource.value = [];
+    ipagination.value = { current: 1, total: 0 };
+    longDataSource.value = [];
+    longIpagination.value = { current: 1, total: 0 };
+  }
 
-function getAllInfo() {
-  let d = {
-    siteCode: siteCode.value,
-    subscriptionId: selectSiteInfo.value.subscriptionId ?? ''
+  function getAllInfo() {
+    let d = {
+      siteCode: siteCode.value,
+      subscriptionId: selectSiteInfo.value.subscriptionId ?? '',
+    };
+    getAction('/seo/seoKeywordsRank/comprehensiveInfo', d)
+      .then((res) => {
+        if (res.code == 200) {
+          comprehenInfo.value = res.result;
+        }
+      })
+      .finally(() => {
+        getRankInfo();
+        setTableQuery();
+        // longSetTableQuery()
+      });
   }
-  getAction('/seo/seoKeywordsRank/comprehensiveInfo', d).then(res => {
-    if (res.code == 200) {
-      comprehenInfo.value = res.result
+  function first(value) {
+    if (value && value != null) {
+      let a = value.split('/');
+      return a[0];
+    } else {
+      return '- ';
     }
-  }).finally(()=>{
-    getRankInfo()
-    setTableQuery()
-    // longSetTableQuery()
-  })
-}
-function first(value) {
-  if (value && value != null) {
-    let a = value.split('/')
-    return a[0]
-  } else {
-    return '- '
-  }
-}
-function last(value) {
-  if (value && value != null) {
-    let a = value.split('/')
-    return a[1]
-  } else {
-    return ' -'
-  }
-}
-function filtr_null(value) {
-  if (value != null) {
-    return value
-  } else {
-    return '- '
   }
-}
-//点击排名数量事件
-function getTableInfoRank(d,keywordType) {
-  show.value = d
-  queryParam.reachStandard = undefined
-  if(keywordType){
-    keywordType.value = keywordType
-  }
-  setTableQuery()
-}
-//由于页面的业务关联很多,故将所有的查询条件封装
-function setTableQuery() {
-  queryParam.siteCode = siteCode.value
-  if(show.value == 3){
-    queryParam.rankStart = '1'
-    queryParam.rankEnd = '10'
-  }
-  else if(show.value == 4){
-    queryParam.rankStart = '1'
-    queryParam.rankEnd = '30'
-
+  function last(value) {
+    if (value && value != null) {
+      let a = value.split('/');
+      return a[1];
+    } else {
+      return ' -';
+    }
   }
-  else if(show.value == 5){
-    queryParam.rankStart = '1'
-    queryParam.rankEnd = '50'
+  function filtr_null(value) {
+    if (value != null) {
+      return value;
+    } else {
+      return '- ';
+    }
   }
-  else if(show.value == 6){
-    queryParam.rankStart = '1'
-    queryParam.rankEnd = '100'
+  //点击排名数量事件
+  function getTableInfoRank(d, keywordType) {
+    show.value = d;
+    queryParam.reachStandard = undefined;
+    if (keywordType) {
+      keywordType.value = keywordType;
+    }
+    setTableQuery();
   }
-  else if(show.value == 7){
-    queryParam.rankStart = '11'
-    queryParam.rankEnd = '30'
+  //由于页面的业务关联很多,故将所有的查询条件封装
+  function setTableQuery() {
+    queryParam.siteCode = siteCode.value;
+    if (show.value == 3) {
+      queryParam.rankStart = '1';
+      queryParam.rankEnd = '10';
+    } else if (show.value == 4) {
+      queryParam.rankStart = '1';
+      queryParam.rankEnd = '30';
+    } else if (show.value == 5) {
+      queryParam.rankStart = '1';
+      queryParam.rankEnd = '50';
+    } else if (show.value == 6) {
+      queryParam.rankStart = '1';
+      queryParam.rankEnd = '100';
+    } else if (show.value == 7) {
+      queryParam.rankStart = '11';
+      queryParam.rankEnd = '30';
+    } else if (show.value == 8) {
+      queryParam.rankStart = '31';
+      queryParam.rankEnd = '100';
+    } else {
+      queryParam.rankStart = undefined;
+      queryParam.rankEnd = undefined;
+    }
+    queryParam.keywordType = keywordType.value;
+    queryParam.keywords = keywords.value;
+    // loadData(1)
   }
-  else if(show.value == 8){
-    queryParam.rankStart = '31'
-    queryParam.rankEnd = '100'
-  }else{
-    queryParam.rankStart = undefined
-    queryParam.rankEnd = undefined
+  // function loadData(arg) {
+  //   let a = []
+  //   if (arg === 1) {
+  //     ipagination.value.current = 1
+  //   }
+  //   var params = getQueryParams()//查询条件
+  //   params.subscriptionId = selectSiteInfo.value.subscriptionId;
+  //   params.keywordType = 1;
+  //   loading.value = true
+  //   getAction(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
+  //           })
+  //         }
+  //         dataSource = a;
+  //         getTableColums()
+  //         ipagination.total = res.result.total
+  //       }else{
+  //         dataSource = a;
+  //         ipagination.total = 0
+  //       }
+  //
+  //     }
+  //     if (res.code === 510) {
+  //       $message.warning(res.message)
+  //     }
+  //     loading = false
+  //   })
+  // },
+  //点击排名数量事件
+  function longGetTableInfoRank(d) {
+    longShow.value = d;
+    // longQueryParam.reachStandard = undefined
+    // longSetTableQuery()
   }
-  queryParam.keywordType = keywordType.value
-  queryParam.keywords = keywords.value
-  // loadData(1)
-}
-// function loadData(arg) {
-//   let a = []
-//   if (arg === 1) {
-//     ipagination.value.current = 1
-//   }
-//   var params = getQueryParams()//查询条件
-//   params.subscriptionId = selectSiteInfo.value.subscriptionId;
-//   params.keywordType = 1;
-//   loading.value = true
-//   getAction(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
-//           })
-//         }
-//         dataSource = a;
-//         getTableColums()
-//         ipagination.total = res.result.total
-//       }else{
-//         dataSource = a;
-//         ipagination.total = 0
-//       }
-//
-//     }
-//     if (res.code === 510) {
-//       $message.warning(res.message)
-//     }
-//     loading = false
-//   })
-// },
-//点击排名数量事件
-function longGetTableInfoRank(d) {
-  longShow.value = d
-  // longQueryParam.reachStandard = undefined
-  // longSetTableQuery()
-}
-//获取排行榜数据
-function getRankInfo() {
-  let d = {
-    siteCode: siteCode.value,
-    subscriptionId: selectSiteInfo.value.subscriptionId ? selectSiteInfo.value.subscriptionId : ''
+  //获取排行榜数据
+  function getRankInfo() {
+    let d = {
+      siteCode: siteCode.value,
+      subscriptionId: selectSiteInfo.value.subscriptionId ? selectSiteInfo.value.subscriptionId : '',
+    };
+    getAction('/seo/seoKeywordsRank/getRankInfo', d).then((res) => {
+      console.log(res.code == 200);
+      if (res.code == 200) {
+        rankInfo.value.appointKeyword = res.result.appointKeyword;
+        rankInfo.value.longTailKeyword = res.result.longTailKeyword;
+        console.log(rankInfo.value.a);
+      }
+    });
   }
-  getAction('/seo/seoKeywordsRank/getRankInfo', d).then(res => {
-    console.log(res.code == 200 )
-    if (res.code == 200) {
-      rankInfo.value.appointKeyword = res.result.appointKeyword
-      rankInfo.value.longTailKeyword = res.result.longTailKeyword
-      console.log(rankInfo.a)
+  //动态处理表格列
+  function getTableColums() {
+    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',
+      });
     }
-  })
-}
-//动态处理表格列
-function getTableColums() {
-  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'
-    })
+      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
-  },)
-},
-onMounted(() => {
-  getSiteInfo()
-});
+  onMounted(() => {
+    getSiteInfo();
+  });
 </script>
 
 <style scoped>
-:deep(.ant-picker),:deep(.ant-input-number){
-  width: 100%;
-}
-.r2 {
-  background: #fff;
-  padding: 30px;
-  margin: 10px;
-
-  .ant-col {
-    text-align: center;
-    color: #000;
-
-    img {
-      width: 13px;
-      margin: -3px 5px 0 0;
-    }
-
-    .t1 {
-      font-size: 14px;
-    }
-
-    .t2 {
-      font-size: 27px;
-      margin-bottom: 0;
-      font-weight: 500;
-    }
+  :deep(.ant-picker),
+  :deep(.ant-input-number) {
+    width: 100%;
   }
-}
-.r3 {
-  padding-left: 10px;
-  padding-right: 10px;
-  .wrap {
-    padding: 20px;
+  .r2 {
     background: #fff;
-    margin-bottom: 10px;
+    padding: 30px;
+    margin: 10px;
 
-    .t1 {
+    .ant-col {
+      text-align: center;
       color: #000;
-      font-size: 14px;
-      font-weight: 500;
-    }
 
-    .content {
-      display: block;
-      overflow: hidden;
-      line-height: 1;
-      border-bottom: 1px solid #ddd;
-      padding: 20px 0;
+      img {
+        width: 13px;
+        margin: -3px 5px 0 0;
+      }
+
+      .t1 {
+        font-size: 14px;
+      }
 
-      &:last-child {
-        border-bottom: none;
-        padding-bottom: 0;
+      .t2 {
+        font-size: 27px;
+        margin-bottom: 0;
+        font-weight: 500;
       }
+    }
+  }
+  .r3 {
+    padding-left: 10px;
+    padding-right: 10px;
+    .wrap {
+      padding: 20px;
+      background: #fff;
+      margin-bottom: 10px;
 
-      .d1 {
-        float: left;
-        width: 50%;
-        line-height: 25px;
+      .t1 {
         color: #000;
+        font-size: 14px;
+        font-weight: 500;
+      }
+
+      .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;
+          }
         }
       }
     }
   }
-}
 </style>

Some files were not shown because too many files changed in this diff