liyongli 1 năm trước cách đây
mục cha
commit
abff721f0d
5 tập tin đã thay đổi với 634 bổ sung239 xóa
  1. 115 103
      src/api/index.js
  2. 0 1
      src/config/index.js
  3. 7 0
      src/router/index.js
  4. 117 135
      src/router/rank.js
  5. 395 0
      src/views/UnionList/index.vue

+ 115 - 103
src/api/index.js

@@ -9,7 +9,7 @@ export function advertisementApi(data) {
   return ajax({
     url: '/kuyun_eye_ad/cbd_public/perform',
     method: 'get',
-    data,
+    data
   });
 }
 /**
@@ -20,7 +20,7 @@ export function inOutApi(data) {
   return ajax({
     url: '/api/recent_inout',
     method: 'get',
-    data,
+    data
   });
 }
 /**
@@ -31,7 +31,7 @@ export function epgApi(data) {
   return ajax({
     url: '/api/recent_epgs',
     method: 'get',
-    data,
+    data
   });
 }
 /**
@@ -42,7 +42,7 @@ export function liveRealDataMinApi(data) {
   return ajax({
     url: '/api/sec_ratings',
     method: 'get',
-    data,
+    data
   });
 }
 /**
@@ -53,7 +53,7 @@ export function liveRealDataApi(data) {
   return ajax({
     url: '/api//rtmin',
     method: 'get',
-    data,
+    data
   });
 }
 /**
@@ -64,7 +64,7 @@ export function liveDataApi(data) {
   return ajax({
     url: '/api/tvlb',
     method: 'get',
-    data,
+    data
   });
 }
 /**
@@ -75,7 +75,7 @@ export function heightlightDataApi(data) {
   return ajax({
     url: '/api/hl/calendar',
     method: 'get',
-    data,
+    data
   });
 }
 /**
@@ -86,7 +86,7 @@ export function heightlightApi(data) {
   return ajax({
     url: '/api/hl/list-milestone',
     method: 'get',
-    data,
+    data
   });
 }
 /**
@@ -98,7 +98,7 @@ export function list(data) {
     url: '/api/proepglb',
     method: 'get',
     resType: 't200',
-    data,
+    data
   });
 }
 /**
@@ -110,7 +110,7 @@ export function listcsv(data) {
     url: '/api/proepglb/csv',
     method: 'get',
     downCsv: true,
-    data,
+    data
   });
 }
 /**
@@ -122,7 +122,7 @@ export function channel(data) {
     url: '/api/protvlb',
     resType: 't200',
     method: 'get',
-    data,
+    data
   });
 }
 /**
@@ -135,7 +135,7 @@ export function channelcsv(data) {
     resType: 't200',
     method: 'get',
     downCsv: true,
-    data,
+    data
   });
 }
 
@@ -148,7 +148,7 @@ export function epgList() {
   return ajax({
     urlType: 'url2',
     url: '/program',
-    method: 'get',
+    method: 'get'
   });
 }
 /**
@@ -162,7 +162,7 @@ export function epgDetail(data) {
     url: '/epg-detail',
     method: 'get',
     target: data.target,
-    data: { epgId: data.epgId },
+    data: { epgId: data.epgId }
   });
 }
 /**
@@ -175,7 +175,7 @@ export function epgResult(data) {
     urlType: 'url2',
     url: '/epg-result',
     method: 'get',
-    data,
+    data
   });
 }
 
@@ -191,7 +191,7 @@ export function defaultAjax(props) {
     method: 'get',
     notLoad: props.notLoad,
     target: props.target,
-    data: props.data,
+    data: props.data
   });
 }
 
@@ -204,7 +204,7 @@ export function frequencyList() {
   return ajax({
     urlType: 'url2',
     url: '/broadcast/dict',
-    method: 'get',
+    method: 'get'
   });
 }
 /**
@@ -217,7 +217,7 @@ export function PLList(data) {
     urlType: 'url2',
     url: '/broadcast/list',
     method: 'get',
-    data,
+    data
   });
 }
 
@@ -234,7 +234,7 @@ export function allDayEpg(data) {
     urlType: 'kuyunApi',
     url: '/broadcast/list',
     method: 'get',
-    data,
+    data
   });
 }
 // 重叠度
@@ -249,7 +249,7 @@ export function overlapSearchTitle(data) {
   return ajax({
     urlType: 'kuyunApi',
     url: '/api/evaluation/eye/search_suggest?' + data,
-    method: 'GET',
+    method: 'GET'
   });
 }
 /**
@@ -263,7 +263,7 @@ export function overlap(data) {
     urlType: 'kuyunApi',
     url: '/ProUserOverlapAction',
     method: 'GET',
-    data,
+    data
   });
 }
 
@@ -276,7 +276,7 @@ export function adChannelList() {
   return ajax({
     urlType: 'adAPI',
     url: '/ad/channel',
-    method: 'GET',
+    method: 'GET'
   });
 }
 
@@ -292,7 +292,7 @@ export function launchList(data) {
     urlType: 'adAPI',
     url: '/ad/day',
     method: 'POST',
-    data,
+    data
   });
 }
 
@@ -308,7 +308,7 @@ export function trendList(data) {
     urlType: 'adAPI',
     url: '/ad/hour',
     method: 'POST',
-    data,
+    data
   });
 }
 
@@ -324,7 +324,7 @@ export function proportionList(data) {
     urlType: 'adAPI',
     url: '/ad/ratio',
     method: 'POST',
-    data,
+    data
   });
 }
 
@@ -340,7 +340,7 @@ export function customerList(data) {
     urlType: 'adAPI',
     url: '/ad/detail',
     method: 'POST',
-    data,
+    data
   });
 }
 
@@ -356,7 +356,7 @@ export function advantageousList(data) {
     urlType: 'adAPI',
     url: '/ad/youshi',
     method: 'POST',
-    data,
+    data
   });
 }
 
@@ -372,7 +372,7 @@ export function potentialList(data) {
     urlType: 'adAPI',
     url: '/ad/qianzai',
     method: 'POST',
-    data,
+    data
   });
 }
 
@@ -388,7 +388,7 @@ export function saturationList(data) {
     urlType: 'adAPI',
     url: '/ad/saturation',
     method: 'POST',
-    data,
+    data
   });
 }
 
@@ -401,7 +401,7 @@ export function allindustryList(data) {
     urlType: 'adAPI',
     url: '/ad/industry/list',
     method: 'GET',
-    data,
+    data
   });
 }
 
@@ -417,7 +417,7 @@ export function industryList(data) {
     urlType: 'adAPI',
     url: '/ad/market',
     method: 'POST',
-    data,
+    data
   });
 }
 
@@ -435,7 +435,7 @@ export function byIndustryTrendHard(data) {
     urlType: 'adAPI',
     url: '/ad/industry/TrendHard',
     method: 'POST',
-    data,
+    data
   });
 }
 /**
@@ -450,7 +450,7 @@ export function byIndustryTrendSoft(data) {
     urlType: 'adAPI',
     url: '/ad/industry/TrendSoft',
     method: 'POST',
-    data,
+    data
   });
 }
 
@@ -466,7 +466,7 @@ export function smallIndustryProportion(data) {
     urlType: 'adAPI',
     url: '/ad/industry/MSIndustryProportion',
     method: 'POST',
-    data,
+    data
   });
 }
 
@@ -482,7 +482,7 @@ export function MediaShare(data) {
     urlType: 'adAPI',
     url: '/ad/industry/MediaShare',
     method: 'POST',
-    data,
+    data
   });
 }
 
@@ -498,7 +498,7 @@ export function ChannelDistribution(data) {
     urlType: 'adAPI',
     url: '/ad/industry/ChannelDistribution',
     method: 'POST',
-    data,
+    data
   });
 }
 
@@ -514,7 +514,7 @@ export function ProgramTypeDistribution(data) {
     urlType: 'adAPI',
     url: '/ad/industry/ProgramTypeDistribution',
     method: 'POST',
-    data,
+    data
   });
 }
 
@@ -530,7 +530,7 @@ export function ProgramTypeDistributionChart(data) {
     urlType: 'adAPI',
     url: '/ad/industry/ProgramTypeDistributionTable',
     method: 'POST',
-    data,
+    data
   });
 }
 
@@ -546,7 +546,7 @@ export function ImportantCustomer(data) {
     urlType: 'adAPI',
     url: '/ad/industry/ImportantCustomer',
     method: 'POST',
-    data,
+    data
   });
 }
 
@@ -562,7 +562,7 @@ export function LastWeekTrend(data) {
     urlType: 'adAPI',
     url: '/ad/industry/LastWeekTrend',
     method: 'POST',
-    data,
+    data
   });
 }
 
@@ -576,7 +576,7 @@ export function BrandTop(data) {
     urlType: 'adAPI',
     url: '/ad/index/brand',
     method: 'POST',
-    data,
+    data
   });
 }
 
@@ -590,7 +590,7 @@ export function ChannelTop(data) {
     urlType: 'adAPI',
     url: '/ad/index/channel',
     method: 'POST',
-    data,
+    data
   });
 }
 
@@ -606,7 +606,7 @@ export function channelRank(data) {
     urlType: 'adAPI',
     url: '/ad/channel/rank',
     method: 'POST',
-    data,
+    data
   });
 }
 
@@ -620,7 +620,7 @@ export function platform(data) {
     urlType: 'url2',
     url: '/new-media/agg',
     method: 'POST',
-    data,
+    data
   });
 }
 
@@ -634,7 +634,7 @@ export function platformlistData(data) {
     urlType: 'url2',
     url: '/new-media/list',
     method: 'POST',
-    data,
+    data
   });
 }
 
@@ -647,7 +647,7 @@ export function platformList(data) {
   return ajax({
     urlType: 'url2',
     url: '/new-media/platform' + (data || ''),
-    method: 'POST',
+    method: 'POST'
   });
 }
 
@@ -659,7 +659,7 @@ export function guijiLogin(data) {
   return ajaxAxios({
     url: '/login-v2',
     method: 'POST',
-    data,
+    data
   });
 }
 
@@ -671,7 +671,7 @@ export function guijiActivity(data) {
   return ajaxAxios({
     url: '/activity/list',
     method: 'POST',
-    data,
+    data
   });
 }
 
@@ -684,7 +684,7 @@ export function guijiTopic(data) {
   return ajaxAxios({
     url: '/topic/list',
     method: 'POST',
-    data,
+    data
   });
 }
 
@@ -696,7 +696,7 @@ export function guijiTopic(data) {
 export function guijiSpread(data) {
   return ajaxAxios({
     url: '/topic/overview?topic=' + data.topic,
-    method: 'GET',
+    method: 'GET'
   });
 }
 
@@ -708,7 +708,7 @@ export function guijiSpread(data) {
 export function guijiTrend(data) {
   return ajaxAxios({
     url: '/topic/history?topic=' + data.topic,
-    method: 'GET',
+    method: 'GET'
   });
 }
 
@@ -722,7 +722,7 @@ export function guijiDepartment(data) {
   return ajaxAxios({
     url: '/topic/read',
     method: 'POST',
-    data,
+    data
   });
 }
 
@@ -734,7 +734,7 @@ export function guijiDepartment(data) {
 export function guijiHottopic(data) {
   return ajaxAxios({
     url: '/charts/hot-topic?topic=' + data.topic,
-    method: 'GET',
+    method: 'GET'
   });
 }
 
@@ -745,7 +745,7 @@ export function guijiHottopic(data) {
 export function guijiBumenList() {
   return ajaxAxios({
     url: '/topic/dep-dict',
-    method: 'GET',
+    method: 'GET'
   });
 }
 
@@ -757,7 +757,7 @@ export function guijiFagao(data) {
   return ajaxAxios({
     url: '/topic/detail',
     method: 'POST',
-    data,
+    data
   });
 }
 
@@ -770,7 +770,7 @@ export function leverAudience(data) {
     urlType: 'leverAudience',
     url: '/cxzx-program/flow/channels',
     method: 'GET',
-    data,
+    data
   });
 }
 
@@ -783,7 +783,7 @@ export function audioKeyGet(data) {
     urlType: 'leverAudience',
     url: '/cxzx-radio-rate/radio-program-rate',
     method: 'POST',
-    data,
+    data
   });
 }
 
@@ -796,7 +796,7 @@ export function audioGet(data) {
     urlType: 'leverAudience',
     url: '/cxzx-radio-rate/radio-rate',
     method: 'POST',
-    data,
+    data
   });
 }
 
@@ -809,7 +809,7 @@ export function audioList(data) {
     urlType: 'leverAudience',
     url: '/cxzx-radio-rate/radio-names',
     method: 'GET',
-    data,
+    data
   });
 }
 
@@ -821,7 +821,7 @@ export function audioAreaList() {
   return ajax({
     urlType: 'leverAudience',
     url: '/cxzx-radio-rate/area-names',
-    method: 'GET',
+    method: 'GET'
   });
 }
 
@@ -834,7 +834,7 @@ export function getRealAppOnline(data) {
     urlType: 'leverAudience',
     url: '/cxzx-program/new-media/realTime/data',
     method: 'GET',
-    data,
+    data
   });
 }
 
@@ -852,9 +852,9 @@ export function getRule(data) {
     method: 'POST',
     headers: {
       UserInfo: token,
-      requestid: 'tv' + Date.now(),
+      requestid: 'tv' + Date.now()
     },
-    data,
+    data
   });
 }
 
@@ -871,9 +871,9 @@ export function getAppList(data) {
     method: 'POST',
     headers: {
       UserInfo: token,
-      requestid: 'tv' + Date.now(),
+      requestid: 'tv' + Date.now()
     },
-    data,
+    data
   });
 }
 
@@ -886,7 +886,7 @@ export function getHistory(data) {
     urlType: 'leverAudience',
     url: '/cxzx-program/new-media/user/trend',
     method: 'POST',
-    data,
+    data
   });
 }
 /**
@@ -898,7 +898,7 @@ export function getSearchData(data) {
     urlType: 'leverAudience',
     url: '/cxzx-program/new-media/param/info',
     method: 'POST',
-    data,
+    data
   });
 }
 /**
@@ -910,7 +910,7 @@ export function getContentTop10(data) {
     urlType: 'leverAudience',
     url: '/cxzx-program/new-media/content/top10',
     method: 'POST',
-    data,
+    data
   });
 }
 /**
@@ -922,7 +922,7 @@ export function getContentTotle(data) {
     urlType: 'leverAudience',
     url: '/cxzx-program/new-media/content/total',
     method: 'POST',
-    data,
+    data
   });
 }
 /**
@@ -934,7 +934,7 @@ export function getContentChart(data) {
     urlType: 'leverAudience',
     url: '/cxzx-program/new-media/content/dt',
     method: 'POST',
-    data,
+    data
   });
 }
 /**
@@ -946,7 +946,7 @@ export function getContentPage(data) {
     urlType: 'leverAudience',
     url: '/cxzx-program/new-media/content/list',
     method: 'POST',
-    data,
+    data
   });
 }
 /**
@@ -958,7 +958,7 @@ export function getKeepPage(data) {
     urlType: 'leverAudience',
     url: '/cxzx-program/new-media/user/keep',
     method: 'POST',
-    data,
+    data
   });
 }
 /**
@@ -970,7 +970,7 @@ export function getActivePage(data) {
     urlType: 'leverAudience',
     url: '/cxzx-program/new-media/user/active-keep',
     method: 'POST',
-    data,
+    data
   });
 }
 /**
@@ -982,7 +982,7 @@ export function getSearchPage(data) {
     urlType: 'leverAudience',
     url: '/cxzx-program/new-media/search/list',
     method: 'POST',
-    data,
+    data
   });
 }
 /**
@@ -994,7 +994,7 @@ export function getSearchTop10(data) {
     urlType: 'leverAudience',
     url: '/cxzx-program/new-media/search/top10',
     method: 'POST',
-    data,
+    data
   });
 }
 /**
@@ -1006,7 +1006,7 @@ export function getVersionPage(data) {
     urlType: 'leverAudience',
     url: '/cxzx-program/new-media/user/version',
     method: 'POST',
-    data,
+    data
   });
 }
 /**
@@ -1018,7 +1018,7 @@ export function getVersionChart(data) {
     urlType: 'leverAudience',
     url: '/cxzx-program/new-media/user/version-dt',
     method: 'POST',
-    data,
+    data
   });
 }
 /**
@@ -1030,7 +1030,7 @@ export function getLivePage(data) {
     urlType: 'leverAudience',
     url: '/cxzx-program/new-media/live/list',
     method: 'POST',
-    data,
+    data
   });
 }
 /**
@@ -1042,7 +1042,7 @@ export function getRegionChart(data) {
     urlType: 'leverAudience',
     url: '/cxzx-program/new-media/user/area',
     method: 'POST',
-    data,
+    data
   });
 }
 /**
@@ -1054,7 +1054,7 @@ export function getMaplever(data) {
     urlType: 'url2',
     url: '/new-media/user/area-range',
     method: 'POST',
-    data,
+    data
   });
 }
 /**
@@ -1066,7 +1066,7 @@ export function getChannleChart(data) {
     urlType: 'leverAudience',
     url: '/cxzx-program/new-media/user/manufacturer-dt',
     method: 'POST',
-    data,
+    data
   });
 }
 /**
@@ -1078,7 +1078,7 @@ export function getChannlePage(data) {
     urlType: 'leverAudience',
     url: '/cxzx-program/new-media/user/manufacturer',
     method: 'POST',
-    data,
+    data
   });
 }
 
@@ -1091,7 +1091,7 @@ export function getOverviewPage(data) {
     urlType: 'leverAudience',
     url: '/cxzx-program/new-media/overview',
     method: 'POST',
-    data,
+    data
   });
 }
 
@@ -1104,7 +1104,7 @@ export function getUserOverviewPage(data) {
     urlType: 'leverAudience',
     url: '/cxzx-program/new-media/overview/user',
     method: 'POST',
-    data,
+    data
   });
 }
 
@@ -1117,7 +1117,7 @@ export function getAreaOverviewPage(data) {
     urlType: 'leverAudience',
     url: '/cxzx-program/new-media/overview/area',
     method: 'POST',
-    data,
+    data
   });
 }
 
@@ -1130,7 +1130,7 @@ export function getUserActivity(data) {
     urlType: 'leverAudience',
     url: '/cxzx-program/new-media/user/activity/list-v2',
     method: 'POST',
-    data,
+    data
   });
 }
 
@@ -1143,7 +1143,7 @@ export function getArticleCnt(data) {
     urlType: 'rankApi',
     url: '/article/articleCnt',
     method: 'GET',
-    data,
+    data
   });
 }
 
@@ -1156,7 +1156,7 @@ export function getArticlePv(data) {
     urlType: 'rankApi',
     url: '/article/articlePv',
     method: 'GET',
-    data,
+    data
   });
 }
 
@@ -1169,7 +1169,7 @@ export function getFansCnt(data) {
     urlType: 'rankApi',
     url: '/fans/fansCnt',
     method: 'GET',
-    data,
+    data
   });
 }
 
@@ -1182,7 +1182,7 @@ export function getAccountType(data) {
     urlType: 'rankApi',
     url: '/ronghe/accountType',
     method: 'GET',
-    data,
+    data
   });
 }
 
@@ -1195,7 +1195,7 @@ export function getRongheArticleCnt(data) {
     urlType: 'rankApi',
     url: '/ronghe/articleCnt',
     method: 'GET',
-    data,
+    data
   });
 }
 
@@ -1208,7 +1208,7 @@ export function getRongheArticlePv(data) {
     urlType: 'rankApi',
     url: '/ronghe/articlePv',
     method: 'GET',
-    data,
+    data
   });
 }
 
@@ -1221,7 +1221,7 @@ export function getMaterialCnt(data) {
     urlType: 'rankApi',
     url: '/material/materialCnt',
     method: 'GET',
-    data,
+    data
   });
 }
 
@@ -1234,7 +1234,7 @@ export function getCategoryCnt(data) {
     urlType: 'rankApi',
     url: '/article/categoryCnt',
     method: 'GET',
-    data,
+    data
   });
 }
 
@@ -1247,7 +1247,7 @@ export function getCategoryType(data) {
     urlType: 'rankApi',
     url: '/article/categoryType',
     method: 'GET',
-    data,
+    data
   });
 }
 
@@ -1260,7 +1260,7 @@ export function getLiveCnt(data) {
     urlType: 'rankApi',
     url: '/live/liveCnt',
     method: 'GET',
-    data,
+    data
   });
 }
 
@@ -1273,7 +1273,7 @@ export function getUserTotal(data) {
     urlType: 'url2',
     url: '/new-media/user/total',
     method: 'POST',
-    data,
+    data
   });
 }
 
@@ -1286,7 +1286,7 @@ export function selectColumns(data) {
     urlType: 'url2',
     url: '/new-media/select/columns',
     method: 'GET',
-    data,
+    data
   });
 }
 
@@ -1299,7 +1299,7 @@ export function getLiveOverview(data) {
     urlType: 'url2',
     url: '/new-media/cloud-live/agg',
     method: 'POST',
-    data,
+    data
   });
 }
 
@@ -1312,7 +1312,7 @@ export function getLiveByCol(data) {
     urlType: 'url2',
     url: '/new-media/cloud-live/aggByColumn',
     method: 'POST',
-    data,
+    data
   });
 }
 
@@ -1321,10 +1321,22 @@ export function getLiveByCol(data) {
  * @return {AxjxPromise}
  */
 export function getAppColumn(data) {
+  return ajax({
+    urlType: 'leverAudience',
+    url: '/cxzx-program/new-media/content/channels',
+    method: 'POST',
+    data
+  });
+}
+
+/**
+ * 总编室需求
+ */
+export function getUnionList(data) {
     return ajax({
-      urlType: 'leverAudience',
-      url: '/cxzx-program/new-media/content/channels',
+      urlType: 'url2',
+      url: '/union/list',
       method: 'POST',
-      data,
+      data
     });
   }

+ 0 - 1
src/config/index.js

@@ -14,7 +14,6 @@ let url = 'http://172.16.101.20:8762/cxzx-kuyun',
   youmei = 'https://topic.smcic.net/youmei',
   kuyunApi = 'http://172.16.101.20:8762/cxzx-fm',
   guijiApi = 'http://topic.smcic.net',
-//   leverAudience = 'http://172.17.17.201:9000',
   leverAudience = 'http://172.16.101.20:8762',
   rankApi = 'http://xhaapi.sxtvs.net';
 let base = '';

+ 7 - 0
src/router/index.js

@@ -237,6 +237,13 @@ const routes = [
     component: () =>
       import(/* webpackChunkName: "Proofread" */ "../views/LiveOverview/index.vue"),
   },
+  //  总编室需求
+  {
+    path: "/UnionList",
+    name: "UnionList",
+    component: () =>
+      import(/* webpackChunkName: "UnionList" */ "../views/UnionList/index.vue"),
+  },
 
   countryRouter, // 全国数据
 ];

+ 117 - 135
src/router/rank.js

@@ -1,144 +1,126 @@
-// const rankRouter = [
-//     //   已发稿件排行
-//     {
-//         path: "/manuscriptIssued",
-//         name: "manuscriptIssued",
-//         component: () =>
-//             import(/* webpackChunkName: "ManuscriptIssued" */ "../views/Ranking/ManuscriptIssued.vue"),
-//     },
-//     //   稿件传播量排行榜
-//     {
-//         path: "/manuscriptDissemination",
-//         name: "manuscriptDissemination",
-//         component: () =>
-//             import(/* webpackChunkName: "ManuscriptDissemination" */ "../views/Ranking/ManuscriptDissemination.vue"),
-//     },
-//     //   融合号粉丝量排行榜
-//     {
-//         path: "/fusionVermicelli",
-//         name: "fusionVermicelli",
-//         component: () =>
-//             import(/* webpackChunkName: "FusionVermicelli" */ "../views/Ranking/FusionVermicelli.vue"),
-//     },
-//     //   融合号稿件数量排行榜
-//     {
-//         path: "/manuscriptQuantity",
-//         name: "manuscriptQuantity",
-//         component: () =>
-//             import(/* webpackChunkName: "ManuscriptQuantity" */ "../views/Ranking/ManuscriptQuantity.vue"),
-//     },
-//     //   融合号稿件传播量排行榜
-//     {
-//         path: "/fusionNumberManuscript",
-//         name: "fusionNumberManuscript",
-//         component: () =>
-//             import(/* webpackChunkName: "FusionNumberManuscript" */ "../views/Ranking/FusionNumberManuscript.vue"),
-//     },
-//     //   素材贡献量排行榜
-//     {
-//         path: "/materialContribution",
-//         name: "materialContribution",
-//         component: () =>
-//             import(/* webpackChunkName: "MaterialContribution" */ "../views/Ranking/MaterialContribution.vue"),
-//     },
-//     //   用户停留排行
-//     {
-//         path: "/userStayRanking",
-//         name: "userStayRanking",
-//         component: () =>
-//             import(/* webpackChunkName: "UserStayRanking" */ "../views/Ranking/UserStayRanking.vue"),
-//     },
-//     //   直播播放次数排行榜
-//     {
-//         path: "/liveBroadcastsNum",
-//         name: "liveBroadcastsNum",
-//         component: () =>
-//             import(/* webpackChunkName: "LiveBroadcastsNum" */ "../views/Ranking/LiveBroadcastsNum.vue"),
-//     },
-//     //   直播在线用户数排行榜
-//     {
-//         path: "/liveStreamingUser",
-//         name: "liveStreamingUser",
-//         component: () =>
-//             import(/* webpackChunkName: "LiveStreamingUser" */ "../views/Ranking/LiveStreamingUser.vue"),
-//     },
-//     //   直播停留时长排行榜
-//     {
-//         path: "/liveResidenceDuration",
-//         name: "liveResidenceDuration",
-//         component: () =>
-//             import(/* webpackChunkName: "LiveResidenceDuration" */ "../views/Ranking/LiveResidenceDuration.vue"),
-//     }
-
-// ];
-
 /**
  * 全媒体平台-大数据
  */
 export default [
+  //   已发稿件排行
+  {
+    path: '/manuscriptIssued',
+    name: 'manuscriptIssued',
+    component: () =>
+      import(/* webpackChunkName: "ManuscriptIssued" */ '../views/Ranking_back/ManuscriptIssued.vue')
+  },
+  //   稿件传播量排行榜
+  {
+    path: '/manuscriptDissemination',
+    name: 'manuscriptDissemination',
+    component: () =>
+      import(/* webpackChunkName: "ManuscriptDissemination" */ '../views/Ranking_back/ManuscriptDissemination.vue')
+  },
+  //   融合号粉丝量排行榜
+  {
+    path: '/fusionVermicelli',
+    name: 'fusionVermicelli',
+    component: () =>
+      import(/* webpackChunkName: "FusionVermicelli" */ '../views/Ranking_back/FusionVermicelli.vue')
+  },
+  //   融合号稿件数量排行榜
+  {
+    path: '/manuscriptQuantity',
+    name: 'manuscriptQuantity',
+    component: () =>
+      import(/* webpackChunkName: "ManuscriptQuantity" */ '../views/Ranking_back/ManuscriptQuantity.vue')
+  },
+  //   融合号稿件传播量排行榜
+  {
+    path: '/fusionNumberManuscript',
+    name: 'fusionNumberManuscript',
+    component: () =>
+      import(/* webpackChunkName: "FusionNumberManuscript" */ '../views/Ranking_back/FusionNumberManuscript.vue')
+  },
+  //   素材贡献量排行榜
+  {
+    path: '/materialContribution',
+    name: 'materialContribution',
+    component: () =>
+      import(/* webpackChunkName: "MaterialContribution" */ '../views/Ranking_back/MaterialContribution.vue')
+  },
+  //   用户停留排行
+  {
+    path: '/userStayRanking',
+    name: 'userStayRanking',
+    component: () =>
+      import(/* webpackChunkName: "UserStayRanking" */ '../views/Ranking_back/UserStayRanking.vue')
+  },
+  //   直播播放次数排行榜
+  {
+    path: '/liveBroadcastsNum',
+    name: 'liveBroadcastsNum',
+    component: () =>
+      import(/* webpackChunkName: "LiveBroadcastsNum" */ '../views/Ranking_back/LiveBroadcastsNum.vue')
+  },
+  //   直播在线用户数排行榜
+  {
+    path: '/liveStreamingUser',
+    name: 'liveStreamingUser',
+    component: () =>
+      import(/* webpackChunkName: "LiveStreamingUser" */ '../views/Ranking_back/LiveStreamingUser.vue')
+  },
+  //   直播停留时长排行榜
+  {
+    path: '/liveResidenceDuration',
+    name: 'liveResidenceDuration',
+    component: () =>
+      import(/* webpackChunkName: "LiveResidenceDuration" */ '../views/Ranking_back/LiveResidenceDuration.vue')
+  },
   // 概览
   {
     path: '/all_aedia',
     children: [
-        {
-          path: 'overview',
-          name: 'overview',
-          component: () =>
-            import(
-              /* webpackChunkName: "all_aedia" */ '../views/Ranking/overview.vue'
-            ),
-        },
-        {
-          path: 'propagate',
-          name: 'propagate',
-          component: () =>
-            import(
-              /* webpackChunkName: "all_aedia" */ '../views/Ranking/propagate.vue'
-            ),
-        },
-        {
-          path: 'live',
-          name: 'live',
-          component: () =>
-            import(
-              /* webpackChunkName: "all_aedia" */ '../views/Ranking/live.vue'
-            ),
-        },
-        {
-            // 接口未分页
-          path: 'all_aedia_column',
-          name: 'all_aedia_column',
-          component: () =>
-            import(
-              /* webpackChunkName: "all_aedia" */ '../views/Ranking/all_aedia_column.vue'
-            ),
-        },
-        {
-            // 接口未分页
-          path: 'fusion',
-          name: 'fusion',
-          component: () =>
-            import(
-              /* webpackChunkName: "all_aedia" */ '../views/Ranking/fusion.vue'
-            ),
-        },
-        {
-            // 无接口
-          path: 'content_library',
-          name: 'content_library',
-          component: () =>
-            import(
-              /* webpackChunkName: "all_aedia" */ '../views/Ranking/content_library.vue'
-            ),
-        },
-        {
-          path: 'release',
-          name: 'release',
-          component: () =>
-            import(
-              /* webpackChunkName: "all_aedia" */ '../views/Ranking/release.vue'
-            ),
-        },
-    ],
-  },
+      {
+        path: 'overview',
+        name: 'overview',
+        component: () =>
+          import(/* webpackChunkName: "all_aedia" */ '../views/Ranking/overview.vue')
+      },
+      {
+        path: 'propagate',
+        name: 'propagate',
+        component: () =>
+          import(/* webpackChunkName: "all_aedia" */ '../views/Ranking/propagate.vue')
+      },
+      {
+        path: 'live',
+        name: 'live',
+        component: () =>
+          import(/* webpackChunkName: "all_aedia" */ '../views/Ranking/live.vue')
+      },
+      {
+        // 接口未分页
+        path: 'all_aedia_column',
+        name: 'all_aedia_column',
+        component: () =>
+          import(/* webpackChunkName: "all_aedia" */ '../views/Ranking/all_aedia_column.vue')
+      },
+      {
+        // 接口未分页
+        path: 'fusion',
+        name: 'fusion',
+        component: () =>
+          import(/* webpackChunkName: "all_aedia" */ '../views/Ranking/fusion.vue')
+      },
+      {
+        // 无接口
+        path: 'content_library',
+        name: 'content_library',
+        component: () =>
+          import(/* webpackChunkName: "all_aedia" */ '../views/Ranking/content_library.vue')
+      },
+      {
+        path: 'release',
+        name: 'release',
+        component: () =>
+          import(/* webpackChunkName: "all_aedia" */ '../views/Ranking/release.vue')
+      }
+    ]
+  }
 ];

+ 395 - 0
src/views/UnionList/index.vue

@@ -0,0 +1,395 @@
+<template>
+  <div class="Version">
+    <el-breadcrumb separator-class="el-icon-arrow-right">
+      <el-breadcrumb-item>总编室需求</el-breadcrumb-item>
+    </el-breadcrumb>
+    <el-card class="box-card">
+      <el-form
+        ref="form"
+        :model="form"
+        size="small"
+        :inline="true"
+        label-width="120px"
+        class="demo-form-inline"
+      >
+        <el-form-item label="日期">
+          <el-date-picker
+            v-model="form.date"
+            type="daterange"
+            :disabled-date="time => disabledDate(time)"
+            range-separator="-"
+            start-placeholder="开始日期"
+            end-placeholder="结束日期"
+            :clearable="false"
+          >
+          </el-date-picker>
+        </el-form-item>
+        <el-form-item label="应用">
+          <el-select v-model="form.app" placeholder="请选择时段">
+            <el-option
+              v-for="item in cycle"
+              :key="item.value"
+              :label="item.label"
+              :value="item.value"
+              :disabled="item.disabled"
+            >
+            </el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item style="float: right">
+          <el-button type="primary" @click="onSubmit">查询</el-button>
+        </el-form-item>
+      </el-form>
+    </el-card>
+    <br />
+    <el-card class="box-card">
+      <div style="text-align: right">
+        <el-button
+          size="small"
+          style="margin-left: 0.5em"
+          type="primary"
+          @click="onExport"
+        >
+          导出
+        </el-button>
+      </div>
+      <br />
+      <br />
+      <el-tabs v-model="activeName" class="demo-tabs">
+        <el-tab-pane label="单日分析" name="first">
+          <el-table
+            :data="table.dt || []"
+            style="width: 100%"
+            :header-cell-style="{
+              backgroundColor: '#f4f5f7',
+              color: '#606266'
+            }"
+          >
+            <el-table-column
+              prop="dtf"
+              header-align="center"
+              align="center"
+              label="日期"
+              show-overflow-tooltip
+            >
+              <template #default="scope">
+                <span v-text="scope.row.dtf || '-'"></span>
+              </template>
+            </el-table-column>
+            <el-table-column
+              show-overflow-tooltip
+              prop="pv"
+              label="PV"
+              header-align="center"
+              align="center"
+            >
+              <template #default="scope">
+                <countTo
+                  :startVal="(scope.row.uv || 0) * 0.8"
+                  :endVal="scope.row.uv || 0"
+                ></countTo>
+              </template>
+            </el-table-column>
+            <el-table-column
+              show-overflow-tooltip
+              prop="uv"
+              label="UV"
+              header-align="center"
+              align="center"
+            >
+              <template #default="scope">
+                <countTo
+                  :startVal="(scope.row.uv || 0) * 0.8"
+                  :endVal="scope.row.uv || 0"
+                ></countTo>
+              </template>
+            </el-table-column>
+            <el-table-column
+              prop="title"
+              header-align="center"
+              align="center"
+              label="当日访问最高稿件标题"
+              show-overflow-tooltip
+            >
+            </el-table-column>
+            <el-table-column
+              show-overflow-tooltip
+              prop="cpv"
+              label="稿件浏览量"
+              header-align="center"
+              align="center"
+            >
+              <template #default="scope">
+                <countTo
+                  :startVal="(scope.row.cpv || 0) * 0.8"
+                  :endVal="scope.row.cpv || 0"
+                ></countTo>
+              </template>
+            </el-table-column>
+          </el-table>
+        </el-tab-pane>
+        <el-tab-pane label="整月分析" name="second">
+          <el-row :gutter="10">
+            <el-col :span="span">
+              <el-table
+                :data="table.all"
+                style="width: 100%"
+                :header-cell-style="{
+                  backgroundColor: '#f4f5f7',
+                  color: '#606266'
+                }"
+              >
+                <el-table-column
+                  prop="title"
+                  header-align="center"
+                  align="center"
+                  label="当日访问最高稿件标题"
+                  show-overflow-tooltip
+                  :cell-style="{}"
+                >
+                </el-table-column>
+                <el-table-column
+                  show-overflow-tooltip
+                  prop="cpv"
+                  label="浏览量"
+                  header-align="center"
+                  align="center"
+                  :cell-style="{}"
+                >
+                  <template #default="scope">
+                    <countTo
+                      :startVal="(scope.row.cpv || 0) * 0.8"
+                      :endVal="scope.row.cpv || 0"
+                    ></countTo>
+                  </template>
+                </el-table-column>
+              </el-table>
+            </el-col>
+            <el-col :span="span">
+              <el-table
+                :data="table.web"
+                style="width: 100%"
+                :header-cell-style="{
+                  backgroundColor: '#f4f5f7',
+                  color: '#606266'
+                }"
+              >
+                <el-table-column
+                  prop="title"
+                  header-align="center"
+                  align="center"
+                  label="当日访问最高稿件标题"
+                  show-overflow-tooltip
+                  :cell-style="{}"
+                >
+                </el-table-column>
+                <el-table-column
+                  show-overflow-tooltip
+                  prop="cpv"
+                  label="浏览量"
+                  header-align="center"
+                  align="center"
+                  :cell-style="{}"
+                >
+                  <template #default="scope">
+                    <countTo
+                      :startVal="(scope.row.cpv || 0) * 0.8"
+                      :endVal="scope.row.cpv || 0"
+                    ></countTo>
+                  </template>
+                </el-table-column>
+              </el-table>
+            </el-col>
+            <el-col :span="span">
+              <el-table
+                :data="table.client"
+                style="width: 100%"
+                :header-cell-style="{
+                  backgroundColor: '#f4f5f7',
+                  color: '#606266'
+                }"
+              >
+                <el-table-column
+                  prop="title"
+                  header-align="center"
+                  align="center"
+                  label="当日访问最高稿件标题"
+                  show-overflow-tooltip
+                  :cell-style="{}"
+                >
+                </el-table-column>
+                <el-table-column
+                  show-overflow-tooltip
+                  prop="cpv"
+                  label="浏览量"
+                  header-align="center"
+                  align="center"
+                  :cell-style="{}"
+                >
+                  <template #default="scope">
+                    <countTo
+                      :startVal="(scope.row.cpv || 0) * 0.8"
+                      :endVal="scope.row.cpv || 0"
+                    ></countTo>
+                  </template>
+                </el-table-column>
+              </el-table>
+            </el-col>
+          </el-row>
+        </el-tab-pane>
+      </el-tabs>
+    </el-card>
+  </div>
+</template>
+<script>
+// @ is an alias to /src
+
+import { getAppList, getUnionList, getRule } from '@/api/index';
+
+import countTo from '@/components/counto/vue-countTo.vue';
+import { defaultAppNameFunc } from '@/utils/tool.js';
+
+// import config from "@/config/index";
+export default {
+  name: 'Version',
+  data() {
+    return {
+      lastParams: {},
+      activeName: 'first',
+      span: 8,
+      table: {},
+      form: {
+        app: '',
+        date: []
+      },
+      cycle: [],
+      showList: []
+    };
+  },
+  mounted() {
+    //   应用列表
+    const roleid =
+      JSON.parse(window.parent.localStorage.userinfo || '{}').roleid || '9999';
+    getRule({
+      db: 'authplat',
+      exportMark: '0',
+      menuid: 399,
+      roleid
+    }).then(res => {
+      const data =
+        res && res.output && res.output.data
+          ? res.output.data.prvRolectrl || []
+          : [];
+      const source = { length: 0 };
+      for (let i = 0; i < data.length; i++) {
+        const v = data[i];
+        if (v.controlid == 'RMT_SOURCE') {
+          source[v.detid] = true;
+          source.length = source.length + 1;
+        }
+      }
+      getAppList({
+        exportMark: '0',
+        gcode: 'SOURCE',
+        pageid: 1,
+        pagesize: 1000
+      }).then(r => {
+        if (r && r.output && r.output.data.length > 0) {
+          this.cycle = this.verifyList(
+            r.output.data,
+            source,
+            {
+              value: 'mname',
+              label: 'mname'
+            },
+            false
+          );
+
+          this.form = {
+            app: defaultAppNameFunc(this.cycle),
+            date: [
+              new Date(Date.now() - 604800000),
+              new Date(Date.now() - 86400000)
+            ]
+          };
+          //   this.onSubmit();
+        }
+      });
+    });
+  },
+  computed: {},
+  methods: {
+    verifyList(list, verify, obj, more) {
+      if (!obj) return;
+      let li = list || [];
+      const out = [];
+      more && out.push({ value: -1, label: '不限' });
+      for (let i = 0; i < li.length; i++) {
+        const v = li[i];
+        if (verify.length !== 0 && !verify[v.mcode]) continue;
+        out.push({
+          value: v[obj.value],
+          label: v[obj.label]
+        });
+      }
+
+      return out;
+    },
+    onSubmit() {
+      this.lastParams = {
+        app: this.form.app,
+        start: this.FormData(this.form.date[0]),
+        end: this.FormData(this.form.date[1])
+      };
+
+      getUnionList(this.lastParams).then(resChart => {
+        this.table = resChart;
+        let n = 0;
+        this.table.all && this.table.all.length && n++;
+        this.table.web && this.table.web.length && n++;
+        this.table.client && this.table.client.length && n++;
+        this.span = 24/(n || 1);
+      });
+    },
+    disabledDate(time) {
+      const first = new Date('2021-06-21 00:00:00');
+      return (
+        time.getTime() > Date.now() - 86400000 ||
+        time.getTime() < first.getTime()
+      );
+    },
+    FormData(date) {
+      const d = new Date(date || Date.now() - 86400000);
+      const year = d.getFullYear();
+      const month =
+        d.getMonth() <= 8 ? '0' + (d.getMonth() + 1) : d.getMonth() + 1;
+      const day = d.getDate() <= 9 ? '0' + d.getDate() : d.getDate();
+      return [year, month, day].join('-');
+    },
+    onExport() {
+      window.open = `http://172.16.101.20:8762/cxzx-program/union/export?start=${this.lastParams.start}&end=${this.lastParams.end}&app=${this.lastParams.app}`
+    }
+  },
+  components: {
+    countTo
+  }
+};
+</script>
+
+<style>
+.Version {
+  margin: 10px 15px;
+}
+.libTitle {
+  color: tomato;
+  font-weight: 700;
+  font-size: 14px;
+}
+.btn-next i,
+.btn-prev i {
+  margin: 0 auto;
+}
+.caret-wrapper .ascending {
+  display: none;
+}
+</style>