liyongli 3 年之前
父節點
當前提交
ff9527e9c8
共有 5 個文件被更改,包括 242 次插入91 次删除
  1. 30 1
      src/api/index.js
  2. 60 0
      src/api/kuyun.js
  3. 24 9
      src/config/index.js
  4. 0 76
      src/views/Country/components/lineCharts.vue
  5. 128 5
      src/views/Overlap/Overlap.vue

+ 30 - 1
src/api/index.js

@@ -228,9 +228,38 @@ export function defaultAjax(props) {
    */
    export function allDayEpg(data) {
     return ajax({
-      urlType: "url4",
+      urlType: "kuyunApi",
       url: "/broadcast/list",
       method: "get",
       data
     });
+  }
+  // 重叠度
+
+  /**
+   * 节目查询
+   * 图表查询
+   * @props {}
+   * @return {AxjxPromise}
+   */
+   export function overlapSearchTitle(data) {
+    return ajax({
+      urlType: "kuyunApi",
+      url: "/api/evaluation/eye/search_suggest?" + data,
+      method: "GET",
+    });
+  }
+  /**
+   * 节目重叠度
+   * 图表查询
+   * @props {}
+   * @return {AxjxPromise}
+   */
+   export function overlap(data) {
+    return ajax({
+      urlType: "kuyunApi",
+      url: "/ProUserOverlapAction",
+      method: "GET",
+      data
+    });
   }

+ 60 - 0
src/api/kuyun.js

@@ -0,0 +1,60 @@
+import ajax from "@/utils/request.js";
+
+// 全国接口
+
+  /**
+   * 频道全天节目
+   * 表格查询
+   * @props {}
+   * @return {AxjxPromise}
+   */
+   export function allDayEpg(data) {
+    return ajax({
+      urlType: "kuyunApi",
+      url: "/broadcast/list",
+      method: "get",
+      data
+    });
+  }
+
+  /**
+   * 节目查询
+   * @props kw&ft
+   * @return {AxjxPromise}
+   */
+   export function overlapSearchTitle(data) {
+    return ajax({
+      urlType: "kuyunApi",
+      url: "/api/evaluation/eye/search_suggest?" + data,
+      method: "GET",
+    });
+  }
+
+  /**
+   * 节目查询
+   * @props kw&ft
+   * @return {AxjxPromise}
+   */
+   export function epgAggregate(data) {
+    return ajax({
+      urlType: "kuyunApi",
+      url: "/api/evaluation/eye/EpgListByCaIdGrowAction?" + data,
+      method: "GET",
+    });
+  }
+
+  // 重叠度
+  /**
+   * 节目重叠度
+   * 图表查询
+   * @props {}
+   * @return {AxjxPromise}
+   */
+   export function overlap(data) {
+    return ajax({
+      urlType: "kuyunApi",
+      url: "/ProUserOverlapAction",
+      method: "GET",
+      data
+    });
+  }

+ 24 - 9
src/config/index.js

@@ -1,21 +1,22 @@
 let useApiUrl = "http://172.16.101.11:8899",
   useApiUrl1 = "http://172.16.101.11:9000",
-  kyapi = "https://grow.eye.kuyun.com/",
-  isRelease = false; //是否是线上发布版本
-if (process.env.NODE_ENV !== "development") {
-  useApiUrl = "http://172.16.101.11:8899";
-  useApiUrl1 = "http://172.16.101.11:9000";
-  isRelease = true;
-}
+  kuyunApi = "http://114.117.161.191:9001/kuyun";
+//   kuyunApi = "http://172.16.101.11:9001/kuyun";
+// let  isRelease = false; //是否是线上发布版本
+// if (process.env.NODE_ENV !== "development") {
+//   useApiUrl = "http://172.16.101.11:8899";
+//   useApiUrl1 = "http://172.16.101.11:9000";
+//   isRelease = true;
+// }
 
 export default {
   base: {
     url: useApiUrl,
     url2: useApiUrl1,
     url3: "",
-    url4: kyapi,
+    kuyunApi,
     timeout: 60000,
-    isRelease,
+    // isRelease,
     requestRetry: 4,
     requestRetryDelay: 800,
   },
@@ -23,6 +24,20 @@ export default {
     ascending: "ASC",
     descending: "DESC",
   },
+  frequency:[
+    {
+        label: "首播/重播",
+        value: 0
+    },
+    {
+        label: "首播",
+        value: 1
+    },
+    {
+        label: "重播",
+        value: 2
+    },
+  ],
   weeks: [
     {
       label: "星期一",

+ 0 - 76
src/views/Country/components/lineCharts.vue

@@ -64,82 +64,6 @@ export default {
         values,
       };
     },
-    updata() {
-      if (!chart) return;
-      //   let chartData = this.formatte(data);
-      chart.setOption(
-        {
-          title: {
-            text: "Gradient Stacked Area Chart",
-          },
-          tooltip: {
-            trigger: "axis",
-            axisPointer: {
-              type: "cross",
-              label: {
-                backgroundColor: "#6a7985",
-              },
-            },
-          },
-          legend: {
-            data: ["Line 1"],
-          },
-          toolbox: {
-            feature: {
-              saveAsImage: {},
-            },
-          },
-          grid: {
-            left: "3%",
-            right: "4%",
-            bottom: "3%",
-            containLabel: true,
-          },
-          xAxis: [
-            {
-              type: "category",
-              boundaryGap: false,
-              data: ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"],
-            },
-          ],
-          yAxis: [
-            {
-              type: "value",
-            },
-          ],
-          series: [
-            {
-              name: "Line 1",
-              type: "line",
-              stack: "Total",
-              smooth: true,
-              lineStyle: {
-                width: 0,
-              },
-              showSymbol: false,
-              areaStyle: {
-                opacity: 0.8,
-                color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
-                  {
-                    offset: 0,
-                    color: "rgb(128, 255, 165)",
-                  },
-                  {
-                    offset: 1,
-                    color: "rgb(1, 191, 236)",
-                  },
-                ]),
-              },
-              emphasis: {
-                focus: "series",
-              },
-              data: [140, 232, 101, 264, 90, 340, 250],
-            },
-          ],
-        },
-        true
-      );
-    },
     getTvName(tvId) {
       let li = config.channelNameList || [];
       let t = "";

+ 128 - 5
src/views/Overlap/Overlap.vue

@@ -13,6 +13,38 @@
         label-width="120px"
         class="demo-form-inline"
       >
+        <el-form-item label="节目">
+          <el-autocomplete
+            v-model="form.program"
+            :fetch-suggestions="querySearchAsync"
+            placeholder="请输入节目名"
+            @select="handleSelect"
+          />
+        </el-form-item>
+        <el-form-item label="节目">
+          <el-popover placement="bottom" :width="500" trigger="click">
+            <template #reference>
+             <div v-text="form.epg || '请选择节目'" class="el-input__inner" style="height: 33px;line-height: 33px;min-width: 220px;cursor: pointer;"></div>
+            </template>
+            <el-table :data="gridData"  height="250">
+              <el-table-column
+                width="150"
+                property="date"
+                label="date"
+              ></el-table-column>
+              <el-table-column
+                width="100"
+                property="name"
+                label="name"
+              ></el-table-column>
+              <el-table-column
+                width="300"
+                property="address"
+                label="address"
+              ></el-table-column>
+            </el-table>
+          </el-popover>
+        </el-form-item>
         <el-form-item label="日期">
           <el-date-picker
             v-model="form.date"
@@ -51,6 +83,37 @@
             </el-option>
           </el-select>
         </el-form-item>
+        <el-form-item label="星期">
+          <el-select
+            v-model="form.week"
+            placeholder="请选择星期"
+            @change="a => selectAll(a, 'week', 0)"
+          >
+            <el-option
+              v-for="item in weeks"
+              :key="item.value"
+              :label="item.label"
+              :value="item.value"
+              :disabled="item.disabled"
+            >
+            </el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="播放频次">
+          <el-select
+            v-model="form.frequency"
+            @change="a => selectAll(a, 'frequency', 0)"
+          >
+            <el-option
+              v-for="item in firstFrequency"
+              :key="item.value"
+              :label="item.label"
+              :value="item.value"
+              :disabled="item.disabled"
+            >
+            </el-option>
+          </el-select>
+        </el-form-item>
         <el-form-item label="区域">
           <el-cascader
             v-model="form.region"
@@ -95,7 +158,7 @@
 
 <script>
 // @ is an alias to /src
-// import {  } from "@/api/index";
+import { overlapSearchTitle, epgAggregate } from "@/api/kuyun";
 
 import pieCharts from "@/views/Country/components/pieCharts";
 import config from "@/config/index";
@@ -103,17 +166,43 @@ export default {
   name: "Channel",
   data() {
     return {
+      gridData: [
+        {
+          date: "2016-05-02",
+          name: "Jack",
+          address: "New York City",
+        },
+        {
+          date: "2016-05-04",
+          name: "Jack",
+          address: "New York City",
+        },
+        {
+          date: "2016-05-01",
+          name: "Jack",
+          address: "New York City",
+        },
+        {
+          date: "2016-05-03",
+          name: "Jack",
+          address: "New York City",
+        },
+      ],
       form: {
+        epg: "",
+        frequency: 0,
         rangeTime: [],
         channelGroup: 0,
+        week: 0,
+        program: "",
         date: [
           new Date(new Date() - 86400000),
           new Date(new Date() - 86400000),
         ],
         region: -1,
       },
-      radio: 'all_left',
-      radio1: 'all_right',
+      radio: "all_left",
+      radio1: "all_right",
       ori: {
         same_right: [
           {
@@ -334,7 +423,8 @@ export default {
           },
           {
             score: 0.31690351782207876,
-            name: "东京奥运会体操比赛东京奥运会体操比赛东京奥运会体操比赛东京奥运会体操比赛",
+            name:
+              "东京奥运会体操比赛东京奥运会体操比赛东京奥运会体操比赛东京奥运会体操比赛",
             channel: "CCTV-5",
             id: 1335563,
           },
@@ -374,6 +464,19 @@ export default {
     region() {
       return config.region;
     },
+    firstFrequency() {
+      return config.frequency;
+    },
+    weeks() {
+      const weeks = [
+        {
+          label: "全部",
+          value: 0,
+        },
+        ...JSON.parse(JSON.stringify(config.weeks)),
+      ];
+      return weeks;
+    },
   },
   methods: {
     onExport() {},
@@ -397,8 +500,28 @@ export default {
           .replace(/,$/, "")
           .split(",");
     },
+    handleSelect(item) {
+      epgAggregate("ca_id=" + item.id).then(res => {
+        console.log(res);
+      });
+    },
+    querySearchAsync(queryString, cb) {
+      if (!queryString) {
+        cb([]);
+        return;
+      }
+      overlapSearchTitle("kw=" + queryString + "&ft=1").then(r => {
+        let li = (r || []).map(v => {
+          return {
+            value: v.name,
+            id: v.id,
+          };
+        });
+        cb(li);
+      });
+    },
   },
-  components: {pieCharts},
+  components: { pieCharts },
 };
 </script>