diff --git a/src/api/KeyMediaBrand/index.js b/src/api/KeyMediaBrand/index.js new file mode 100644 index 0000000..04a7410 --- /dev/null +++ b/src/api/KeyMediaBrand/index.js @@ -0,0 +1,146 @@ +import httpService from "@/request" + +//首页点击 - 洞察详情 +export function getCountAndaffections(params) { + let obj = Object.assign({action: 'getCountAndaffections', sType: 'BrandOverview'}, params) + return httpService({ + url: `/api/v6.ashx`, + method: 'post', + data: obj, + headers: { + 'content-type': 'application/x-www-form-urlencoded' + } + }) +} +//首页点击 - 车型TOP +export function getCartypeTop10(params) { + let obj = Object.assign({action: 'getCartypeTop10', sType: 'BrandOverview'}, params) + return httpService({ + url: `/api/v6.ashx`, + method: 'post', + data: obj, + headers: { + 'content-type': 'application/x-www-form-urlencoded' + } + }) +} +//首页点击 - 精华分布 +export function getIsjingGroupBy(params) { + let obj = Object.assign({action: 'getIsjingGroupBy', sType: 'BrandOverview'}, params) + return httpService({ + url: `/api/v6.ashx`, + method: 'post', + data: obj, + headers: { + 'content-type': 'application/x-www-form-urlencoded' + } + }) +} +//首页点击 - 用户区域 +export function getUserRegionGroupBy(params) { + let obj = Object.assign({action: 'getUserRegionGroupBy', sType: 'BrandOverview'}, params) + return httpService({ + url: `/api/v6.ashx`, + method: 'post', + data: obj, + headers: { + 'content-type': 'application/x-www-form-urlencoded' + } + }) +} +//首页点击 - 是否认证 +export function getUserAttestationGroupBy(params) { + let obj = Object.assign({action: 'getUserAttestationGroupBy', sType: 'BrandOverview'}, params) + return httpService({ + url: `/api/v6.ashx`, + method: 'post', + data: obj, + headers: { + 'content-type': 'application/x-www-form-urlencoded' + } + }) +} +//首页点击 - 传播趋势 +export function getTimeCount(params) { + let obj = Object.assign({action: 'getTimeCount', sType: 'BrandOverview'}, params) + return httpService({ + url: `/api/v6.ashx`, + method: 'post', + data: obj, + headers: { + 'content-type': 'application/x-www-form-urlencoded' + } + }) +} +//首页点击 - 内容类型 +export function getWtypeWeiBo0528(params) { + let obj = Object.assign({action: 'getWtypeWeiBo0528', sType: 'BrandOverview'}, params) + return httpService({ + url: `/api/v6.ashx`, + method: 'post', + data: obj, + headers: { + 'content-type': 'application/x-www-form-urlencoded' + } + }) +} +//首页点击 - 关注车型TOP +export function getGuanZhuSeriesname(params) { + let obj = Object.assign({action: 'getGuanZhuSeriesname', sType: 'BrandOverview'}, params) + return httpService({ + url: `/api/v6.ashx`, + method: 'post', + data: obj, + headers: { + 'content-type': 'application/x-www-form-urlencoded' + } + }) +} +//首页点击 - 图文分布 +export function getPicboolGroupBy(params) { + let obj = Object.assign({action: 'getPicboolGroupBy', sType: 'BrandOverview'}, params) + return httpService({ + url: `/api/v6.ashx`, + method: 'post', + data: obj, + headers: { + 'content-type': 'application/x-www-form-urlencoded' + } + }) +} +//首页点击 - 热门词云 +export function getHotWord(params) { + let obj = Object.assign({action: 'getHotWord', sType: 'BrandOverview'}, params) + return httpService({ + url: `/api/v6.ashx`, + method: 'post', + data: obj, + headers: { + 'content-type': 'application/x-www-form-urlencoded' + } + }) +} +//首页点击 - 消息数据 +export function getList(params) { + let obj = Object.assign({action: 'getList', sType: 'BrandOverview'}, params) + return httpService({ + url: `/api/v6.ashx`, + method: 'post', + data: obj, + headers: { + 'content-type': 'application/x-www-form-urlencoded' + } + }) +} +//首页点击 - 内容top声量 +export function getDirectWeiBo0528(params) { + let obj = Object.assign({action: 'getDirectWeiBo0528', sType: 'BrandOverview'}, params) + return httpService({ + url: `/api/v6.ashx`, + method: 'post', + data: obj, + headers: { + 'content-type': 'application/x-www-form-urlencoded' + } + }) +} \ No newline at end of file diff --git a/src/api/KeyMediaEvent/index.js b/src/api/KeyMediaEvent/index.js new file mode 100644 index 0000000..10b10f8 --- /dev/null +++ b/src/api/KeyMediaEvent/index.js @@ -0,0 +1,122 @@ +import httpService from "@/request" + +//主题点击 - 洞察详情 +export function getCountAndaffections(params) { + let obj = Object.assign({action: 'getCountAndaffections', sType: 'ZhuTiFenXiBl'}, params) + return httpService({ + url: `/api/v6.ashx`, + method: 'post', + data: obj, + headers: { + 'content-type': 'application/x-www-form-urlencoded' + } + }) +} +//主题点击 - 传播趋势 +export function getTimeCount(params) { + let obj = Object.assign({action: 'getTimeCount', sType: 'ZhuTiFenXiBl'}, params) + return httpService({ + url: `/api/v6.ashx`, + method: 'post', + data: obj, + headers: { + 'content-type': 'application/x-www-form-urlencoded' + } + }) +} +//主题点击 - 消息数据 +export function getList(params) { + let obj = Object.assign({action: 'getList', sType: 'ZhuTiFenXiBl'}, params) + return httpService({ + url: `/api/v6.ashx`, + method: 'post', + data: obj, + headers: { + 'content-type': 'application/x-www-form-urlencoded' + } + }) +} +//主题点击 - 热门词云 +export function getHotWord(params) { + let obj = Object.assign({action: 'getHotWord', sType: 'ZhuTiFenXiBl'}, params) + return httpService({ + url: `/api/v6.ashx`, + method: 'post', + data: obj, + headers: { + 'content-type': 'application/x-www-form-urlencoded' + } + }) +} +//主题点击 - 内容类型 +export function getWtypeWeiBo0528(params) { + let obj = Object.assign({action: 'getWtypeWeiBo0528', sType: 'ZhuTiFenXiBl'}, params) + return httpService({ + url: `/api/v6.ashx`, + method: 'post', + data: obj, + headers: { + 'content-type': 'application/x-www-form-urlencoded' + } + }) +} +//主题点击 - 是否认证 +export function getUserAttestationGroupBy(params) { + let obj = Object.assign({action: 'getUserAttestationGroupBy', sType: 'ZhuTiFenXiBl'}, params) + return httpService({ + url: `/api/v6.ashx`, + method: 'post', + data: obj, + headers: { + 'content-type': 'application/x-www-form-urlencoded' + } + }) +} +//主题点击 - 用户区域 +export function getUserRegionGroupBy(params) { + let obj = Object.assign({action: 'getUserRegionGroupBy', sType: 'ZhuTiFenXiBl'}, params) + return httpService({ + url: `/api/v6.ashx`, + method: 'post', + data: obj, + headers: { + 'content-type': 'application/x-www-form-urlencoded' + } + }) +} +//主题点击 - 图文分布 +export function getPicboolGroupBy(params) { + let obj = Object.assign({action: 'getPicboolGroupBy', sType: 'ZhuTiFenXiBl'}, params) + return httpService({ + url: `/api/v6.ashx`, + method: 'post', + data: obj, + headers: { + 'content-type': 'application/x-www-form-urlencoded' + } + }) +} +//主题点击 - 精华分布 +export function getIsjingGroupBy(params) { + let obj = Object.assign({action: 'getIsjingGroupBy', sType: 'ZhuTiFenXiBl'}, params) + return httpService({ + url: `/api/v6.ashx`, + method: 'post', + data: obj, + headers: { + 'content-type': 'application/x-www-form-urlencoded' + } + }) +} +//主题点击 - 内容top声量 +export function getDirectWeiBo0528(params) { + let obj = Object.assign({action: 'getDirectWeiBo0528', sType: 'ZhuTiFenXiBl'}, params) + return httpService({ + url: `/api/v6.ashx`, + method: 'post', + data: obj, + headers: { + 'content-type': 'application/x-www-form-urlencoded' + } + }) +} \ No newline at end of file diff --git a/src/api/KeyMediaHome/index.js b/src/api/KeyMediaHome/index.js new file mode 100644 index 0000000..5a72200 --- /dev/null +++ b/src/api/KeyMediaHome/index.js @@ -0,0 +1,158 @@ +import httpService from "@/request" + +//首页点击 - 洞察详情 +export function getHomeCountAndaffections(params) { + let obj = Object.assign({action: 'getHomeCountAndaffections', sType: 'Home'}, params) + return httpService({ + url: `/api/v6.ashx`, + method: 'post', + data: obj, + headers: { + 'content-type': 'application/x-www-form-urlencoded' + } + }) +} +//首页点击 - 品牌TOP +export function getHomeBrandGroupBy(params) { + let obj = Object.assign({action: 'getHomeBrandGroupBy', sType: 'Home'}, params) + return httpService({ + url: `/api/v6.ashx`, + method: 'post', + data: obj, + headers: { + 'content-type': 'application/x-www-form-urlencoded' + } + }) +} +//首页点击 - 精华分布 +export function getHomeIsjingGroupBy(params) { + let obj = Object.assign({action: 'getHomeIsjingGroupBy', sType: 'Home'}, params) + return httpService({ + url: `/api/v6.ashx`, + method: 'post', + data: obj, + headers: { + 'content-type': 'application/x-www-form-urlencoded' + } + }) +} +//首页点击 - 用户区域 +export function getHomeUserRegionGroupBy(params) { + let obj = Object.assign({action: 'getHomeUserRegionGroupBy', sType: 'Home'}, params) + return httpService({ + url: `/api/v6.ashx`, + method: 'post', + data: obj, + headers: { + 'content-type': 'application/x-www-form-urlencoded' + } + }) +} +//首页点击 - 是否认证 +export function getHomeUserAttestationGroupBy(params) { + let obj = Object.assign({action: 'getHomeUserAttestationGroupBy', sType: 'Home'}, params) + return httpService({ + url: `/api/v6.ashx`, + method: 'post', + data: obj, + headers: { + 'content-type': 'application/x-www-form-urlencoded' + } + }) +} +//首页点击 - 传播趋势 +export function getHomeTimeCount(params) { + let obj = Object.assign({action: 'getHomeTimeCount', sType: 'Home'}, params) + return httpService({ + url: `/api/v6.ashx`, + method: 'post', + data: obj, + headers: { + 'content-type': 'application/x-www-form-urlencoded' + } + }) +} +//首页点击 - 内容类型 +export function getHomeWtypeWeiBo0528(params) { + let obj = Object.assign({action: 'getHomeWtypeWeiBo0528', sType: 'Home'}, params) + return httpService({ + url: `/api/v6.ashx`, + method: 'post', + data: obj, + headers: { + 'content-type': 'application/x-www-form-urlencoded' + } + }) +} +//首页点击 - 车型TOP +export function getHomeCartypeTop10(params) { + let obj = Object.assign({action: 'getHomeCartypeTop10', sType: 'Home'}, params) + return httpService({ + url: `/api/v6.ashx`, + method: 'post', + data: obj, + headers: { + 'content-type': 'application/x-www-form-urlencoded' + } + }) +} +//首页点击 - 关注车型TOP +export function getHomeGuanZhuSeriesname(params) { + let obj = Object.assign({action: 'getHomeGuanZhuSeriesname', sType: 'Home'}, params) + return httpService({ + url: `/api/v6.ashx`, + method: 'post', + data: obj, + headers: { + 'content-type': 'application/x-www-form-urlencoded' + } + }) +} +//首页点击 - 图文分布 +export function getHomePicboolGroupBy(params) { + let obj = Object.assign({action: 'getHomePicboolGroupBy', sType: 'Home'}, params) + return httpService({ + url: `/api/v6.ashx`, + method: 'post', + data: obj, + headers: { + 'content-type': 'application/x-www-form-urlencoded' + } + }) +} +//首页点击 - 热门词云 +export function getHomeHotWord(params) { + let obj = Object.assign({action: 'getHomeHotWord', sType: 'Home'}, params) + return httpService({ + url: `/api/v6.ashx`, + method: 'post', + data: obj, + headers: { + 'content-type': 'application/x-www-form-urlencoded' + } + }) +} +//首页点击 - 消息数据 +export function getHomeList(params) { + let obj = Object.assign({action: 'getHomeList', sType: 'Home'}, params) + return httpService({ + url: `/api/v6.ashx`, + method: 'post', + data: obj, + headers: { + 'content-type': 'application/x-www-form-urlencoded' + } + }) +} +//首页点击 - 内容top声量 +export function getHomeDirectWeiBo0528(params) { + let obj = Object.assign({action: 'getHomeDirectWeiBo0528', sType: 'Home'}, params) + return httpService({ + url: `/api/v6.ashx`, + method: 'post', + data: obj, + headers: { + 'content-type': 'application/x-www-form-urlencoded' + } + }) +} \ No newline at end of file diff --git a/src/api/KeyMediaSeries/index.js b/src/api/KeyMediaSeries/index.js new file mode 100644 index 0000000..5d30103 --- /dev/null +++ b/src/api/KeyMediaSeries/index.js @@ -0,0 +1,122 @@ +import httpService from "@/request" + +//事件点击 - 洞察详情 +export function getCountAndaffections(params) { + let obj = Object.assign({action: 'getCountAndaffections', sType: 'SeriesOverview'}, params) + return httpService({ + url: `/api/v6.ashx`, + method: 'post', + data: obj, + headers: { + 'content-type': 'application/x-www-form-urlencoded' + } + }) +} +//事件点击 - 传播趋势 +export function getTimeCount(params) { + let obj = Object.assign({action: 'getTimeCount', sType: 'SeriesOverview'}, params) + return httpService({ + url: `/api/v6.ashx`, + method: 'post', + data: obj, + headers: { + 'content-type': 'application/x-www-form-urlencoded' + } + }) +} +//事件点击 - 消息数据 +export function getList(params) { + let obj = Object.assign({action: 'getList', sType: 'SeriesOverview'}, params) + return httpService({ + url: `/api/v6.ashx`, + method: 'post', + data: obj, + headers: { + 'content-type': 'application/x-www-form-urlencoded' + } + }) +} +//事件点击 - 热门词云 +export function getHotWord(params) { + let obj = Object.assign({action: 'getHotWord', sType: 'SeriesOverview'}, params) + return httpService({ + url: `/api/v6.ashx`, + method: 'post', + data: obj, + headers: { + 'content-type': 'application/x-www-form-urlencoded' + } + }) +} +//事件点击 - 内容类型 +export function getWtypeWeiBo0528(params) { + let obj = Object.assign({action: 'getWtypeWeiBo0528', sType: 'SeriesOverview'}, params) + return httpService({ + url: `/api/v6.ashx`, + method: 'post', + data: obj, + headers: { + 'content-type': 'application/x-www-form-urlencoded' + } + }) +} +//事件点击 - 是否认证 +export function getUserAttestationGroupBy(params) { + let obj = Object.assign({action: 'getUserAttestationGroupBy', sType: 'SeriesOverview'}, params) + return httpService({ + url: `/api/v6.ashx`, + method: 'post', + data: obj, + headers: { + 'content-type': 'application/x-www-form-urlencoded' + } + }) +} +//事件点击 - 用户区域 +export function getUserRegionGroupBy(params) { + let obj = Object.assign({action: 'getUserRegionGroupBy', sType: 'SeriesOverview'}, params) + return httpService({ + url: `/api/v6.ashx`, + method: 'post', + data: obj, + headers: { + 'content-type': 'application/x-www-form-urlencoded' + } + }) +} +//事件点击 - 图文分布 +export function getPicboolGroupBy(params) { + let obj = Object.assign({action: 'getPicboolGroupBy', sType: 'SeriesOverview'}, params) + return httpService({ + url: `/api/v6.ashx`, + method: 'post', + data: obj, + headers: { + 'content-type': 'application/x-www-form-urlencoded' + } + }) +} +//事件点击 - 精华分布 +export function getIsjingGroupBy(params) { + let obj = Object.assign({action: 'getIsjingGroupBy', sType: 'SeriesOverview'}, params) + return httpService({ + url: `/api/v6.ashx`, + method: 'post', + data: obj, + headers: { + 'content-type': 'application/x-www-form-urlencoded' + } + }) +} +//事件点击 - 内容top声量 +export function getDirectWeiBo0528(params) { + let obj = Object.assign({action: 'getDirectWeiBo0528', sType: 'SeriesOverview'}, params) + return httpService({ + url: `/api/v6.ashx`, + method: 'post', + data: obj, + headers: { + 'content-type': 'application/x-www-form-urlencoded' + } + }) +} \ No newline at end of file diff --git a/src/api/KeyMediaTheme/index.js b/src/api/KeyMediaTheme/index.js new file mode 100644 index 0000000..10b10f8 --- /dev/null +++ b/src/api/KeyMediaTheme/index.js @@ -0,0 +1,122 @@ +import httpService from "@/request" + +//主题点击 - 洞察详情 +export function getCountAndaffections(params) { + let obj = Object.assign({action: 'getCountAndaffections', sType: 'ZhuTiFenXiBl'}, params) + return httpService({ + url: `/api/v6.ashx`, + method: 'post', + data: obj, + headers: { + 'content-type': 'application/x-www-form-urlencoded' + } + }) +} +//主题点击 - 传播趋势 +export function getTimeCount(params) { + let obj = Object.assign({action: 'getTimeCount', sType: 'ZhuTiFenXiBl'}, params) + return httpService({ + url: `/api/v6.ashx`, + method: 'post', + data: obj, + headers: { + 'content-type': 'application/x-www-form-urlencoded' + } + }) +} +//主题点击 - 消息数据 +export function getList(params) { + let obj = Object.assign({action: 'getList', sType: 'ZhuTiFenXiBl'}, params) + return httpService({ + url: `/api/v6.ashx`, + method: 'post', + data: obj, + headers: { + 'content-type': 'application/x-www-form-urlencoded' + } + }) +} +//主题点击 - 热门词云 +export function getHotWord(params) { + let obj = Object.assign({action: 'getHotWord', sType: 'ZhuTiFenXiBl'}, params) + return httpService({ + url: `/api/v6.ashx`, + method: 'post', + data: obj, + headers: { + 'content-type': 'application/x-www-form-urlencoded' + } + }) +} +//主题点击 - 内容类型 +export function getWtypeWeiBo0528(params) { + let obj = Object.assign({action: 'getWtypeWeiBo0528', sType: 'ZhuTiFenXiBl'}, params) + return httpService({ + url: `/api/v6.ashx`, + method: 'post', + data: obj, + headers: { + 'content-type': 'application/x-www-form-urlencoded' + } + }) +} +//主题点击 - 是否认证 +export function getUserAttestationGroupBy(params) { + let obj = Object.assign({action: 'getUserAttestationGroupBy', sType: 'ZhuTiFenXiBl'}, params) + return httpService({ + url: `/api/v6.ashx`, + method: 'post', + data: obj, + headers: { + 'content-type': 'application/x-www-form-urlencoded' + } + }) +} +//主题点击 - 用户区域 +export function getUserRegionGroupBy(params) { + let obj = Object.assign({action: 'getUserRegionGroupBy', sType: 'ZhuTiFenXiBl'}, params) + return httpService({ + url: `/api/v6.ashx`, + method: 'post', + data: obj, + headers: { + 'content-type': 'application/x-www-form-urlencoded' + } + }) +} +//主题点击 - 图文分布 +export function getPicboolGroupBy(params) { + let obj = Object.assign({action: 'getPicboolGroupBy', sType: 'ZhuTiFenXiBl'}, params) + return httpService({ + url: `/api/v6.ashx`, + method: 'post', + data: obj, + headers: { + 'content-type': 'application/x-www-form-urlencoded' + } + }) +} +//主题点击 - 精华分布 +export function getIsjingGroupBy(params) { + let obj = Object.assign({action: 'getIsjingGroupBy', sType: 'ZhuTiFenXiBl'}, params) + return httpService({ + url: `/api/v6.ashx`, + method: 'post', + data: obj, + headers: { + 'content-type': 'application/x-www-form-urlencoded' + } + }) +} +//主题点击 - 内容top声量 +export function getDirectWeiBo0528(params) { + let obj = Object.assign({action: 'getDirectWeiBo0528', sType: 'ZhuTiFenXiBl'}, params) + return httpService({ + url: `/api/v6.ashx`, + method: 'post', + data: obj, + headers: { + 'content-type': 'application/x-www-form-urlencoded' + } + }) +} \ No newline at end of file diff --git a/src/api/SaleRankMarket/index.js b/src/api/SaleRankMarket/index.js index f42f44e..6240487 100644 --- a/src/api/SaleRankMarket/index.js +++ b/src/api/SaleRankMarket/index.js @@ -207,4 +207,163 @@ export function getSalesSpecNameTypesByMpv(params) { 'content-type': 'application/x-www-form-urlencoded' } }) +} + +// 传统燃油 - 主销价格区间 - 国别区间 +export function getSalesPriceRangeSTypes(params) { + let obj = Object.assign({action: 'getSalesPriceRangeSTypes', sType: 'Marketing'}, params) + return httpService({ + url: `/api/v6.ashx`, + method: 'post', + data: obj, + headers: { + 'content-type': 'application/x-www-form-urlencoded' + } + }) +} +// 传统燃油 - 主销价格区间 - 品牌top区间 +export function getSalesPriceRangeSBrand(params) { + let obj = Object.assign({action: 'getSalesPriceRangeSBrand', sType: 'Marketing'}, params) + return httpService({ + url: `/api/v6.ashx`, + method: 'post', + data: obj, + headers: { + 'content-type': 'application/x-www-form-urlencoded' + } + }) +} +// 传统燃油 - 主销价格区间占比 +export function getSalesSpecNameByPriceRange(params) { + let obj = Object.assign({action: 'getSalesSpecNameByPriceRange', sType: 'Marketing'}, params) + return httpService({ + url: `/api/v6.ashx`, + method: 'post', + data: obj, + headers: { + 'content-type': 'application/x-www-form-urlencoded' + } + }) +} + +// 新能源 - 能源类型 +export function getSalesEnergyTypesE(params) { + let obj = Object.assign({action: 'getSalesEnergyTypesE', sType: 'Marketing'}, params) + return httpService({ + url: `/api/v6.ashx`, + method: 'post', + data: obj, + headers: { + 'content-type': 'application/x-www-form-urlencoded' + } + }) +} +// 新能源 - 国别占比 +export function getSalesCountrysTypesE(params) { + let obj = Object.assign({action: 'getSalesCountrysTypesE', sType: 'Marketing'}, params) + return httpService({ + url: `/api/v6.ashx`, + method: 'post', + data: obj, + headers: { + 'content-type': 'application/x-www-form-urlencoded' + } + }) +} +// 新能源 - 细分车型 全部类别 +export function getSalesSpecNameTypesE(params) { + let obj = Object.assign({action: 'getSalesSpecNameTypesE', sType: 'Marketing'}, params) + return httpService({ + url: `/api/v6.ashx`, + method: 'post', + data: obj, + headers: { + 'content-type': 'application/x-www-form-urlencoded' + } + }) +} +// 新能源 - 细分车型 suv +export function getSalesSpecNameTypesBySuvE(params) { + let obj = Object.assign({action: 'getSalesSpecNameTypesBySuvE', sType: 'Marketing'}, params) + return httpService({ + url: `/api/v6.ashx`, + method: 'post', + data: obj, + headers: { + 'content-type': 'application/x-www-form-urlencoded' + } + }) +} +// 新能源 - 细分车型 轿车 +export function getSalesSpecNameTypesBySedanE(params) { + let obj = Object.assign({action: 'getSalesSpecNameTypesBySedanE', sType: 'Marketing'}, params) + return httpService({ + url: `/api/v6.ashx`, + method: 'post', + data: obj, + headers: { + 'content-type': 'application/x-www-form-urlencoded' + } + }) +} +// 新能源 - 细分车型 mpv +export function getSalesSpecNameTypesByMpvE(params) { + let obj = Object.assign({action: 'getSalesSpecNameTypesByMpvE', sType: 'Marketing'}, params) + return httpService({ + url: `/api/v6.ashx`, + method: 'post', + data: obj, + headers: { + 'content-type': 'application/x-www-form-urlencoded' + } + }) +} + +// 新能源 - 车型类别 - 轿车同比 +export function getSalesSpecName1TypesBySedanE(params) { + let obj = Object.assign({action: 'getSalesSpecName1TypesBySedanE', sType: 'Marketing'}, params) + return httpService({ + url: `/api/v6.ashx`, + method: 'post', + data: obj, + headers: { + 'content-type': 'application/x-www-form-urlencoded' + } + }) +} +// 新能源 - 车型类别 - suv同比 +export function getSalesSpecName1TypesBySuvE(params) { + let obj = Object.assign({action: 'getSalesSpecName1TypesBySuvE', sType: 'Marketing'}, params) + return httpService({ + url: `/api/v6.ashx`, + method: 'post', + data: obj, + headers: { + 'content-type': 'application/x-www-form-urlencoded' + } + }) +} +// 新能源 - 车型类别 - mpv同比 +export function getSalesSpecName1TypesByMpvE(params) { + let obj = Object.assign({action: 'getSalesSpecName1TypesByMpvE', sType: 'Marketing'}, params) + return httpService({ + url: `/api/v6.ashx`, + method: 'post', + data: obj, + headers: { + 'content-type': 'application/x-www-form-urlencoded' + } + }) +} +// 新能源 - 车型类别 - mpv suv 轿车对比 +export function getSalesSpecName1TypesE(params) { + let obj = Object.assign({action: 'getSalesSpecName1TypesE', sType: 'Marketing'}, params) + return httpService({ + url: `/api/v6.ashx`, + method: 'post', + data: obj, + headers: { + 'content-type': 'application/x-www-form-urlencoded' + } + }) } \ No newline at end of file diff --git a/src/components/v-ranking/index.vue b/src/components/v-ranking/index.vue index a5e937e..c1812d8 100644 --- a/src/components/v-ranking/index.vue +++ b/src/components/v-ranking/index.vue @@ -14,7 +14,7 @@ {{ num|numStr }}
- {{label}} + {{label}}
传播量 {{val}} @@ -82,7 +82,12 @@ export default { } return str } + }, + methods: { + goKeyMedia(obj) { + this.$emit('toMedia', obj) } + } }; @@ -111,6 +116,7 @@ export default { color: #FFFFFF; margin-left: 30px; font-weight: bold; + cursor: pointer; } .v-r-res { margin-right: 16px; diff --git a/src/router/index.js b/src/router/index.js index 84ff9a3..bf8688d 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -44,6 +44,8 @@ import ThemeData from "@/views/ThemeData" import ThemeBoard from "@/views/ThemeBoard" import ThemeComparison from "@/views/ThemeComparison" import iSwitchEvent from "@/lycomponents/iSwitchEvent" +// 重点媒体 +import KeyMediaBrand from "@/views/KeyMediaBrand" const router = [ { path: '/login', @@ -104,6 +106,12 @@ const router = [ desc: "品牌洞察-微博详情", component: WeiboDetails }, + { + path: '/keyMediaBrand', + name: "keyMediaBrand", + desc: "品牌洞察-重点媒体", + component: KeyMediaBrand + }, { path: '/brandComparisonIndex', name: "brandComparisonIndex", diff --git a/src/views/BrandInsight/keyCommunicationPositions/index.vue b/src/views/BrandInsight/keyCommunicationPositions/index.vue index 4c74b65..11a159f 100644 --- a/src/views/BrandInsight/keyCommunicationPositions/index.vue +++ b/src/views/BrandInsight/keyCommunicationPositions/index.vue @@ -12,10 +12,12 @@
- +
- +
@@ -72,6 +74,9 @@ export default { this.load = false; }); }, + goKeyMedia(item) { + console.log(item.label) + } }, }; diff --git a/src/views/BrandInsight/keyCommunicationPositions/v-ranking-fhtd/index.vue b/src/views/BrandInsight/keyCommunicationPositions/v-ranking-fhtd/index.vue index a6be586..bbda2f2 100644 --- a/src/views/BrandInsight/keyCommunicationPositions/v-ranking-fhtd/index.vue +++ b/src/views/BrandInsight/keyCommunicationPositions/v-ranking-fhtd/index.vue @@ -14,7 +14,7 @@ {{ num|numStr }}
- {{label}} + {{label}}
传播量 {{val}} @@ -82,7 +82,12 @@ export default { } return str } + }, + methods: { + goKeyMedia(obj) { + this.$emit('toMedia', obj) } + } }; @@ -112,6 +117,7 @@ export default { color: #FFFFFF; margin-left: 40px; font-weight: bold; + cursor: pointer; } .v-r-res { margin-right: 24px; diff --git a/src/views/EventDEC/keyCommunicationPositions/index.vue b/src/views/EventDEC/keyCommunicationPositions/index.vue index 4cfa6af..833ad6f 100644 --- a/src/views/EventDEC/keyCommunicationPositions/index.vue +++ b/src/views/EventDEC/keyCommunicationPositions/index.vue @@ -11,10 +11,10 @@
- +
- +
@@ -84,6 +84,9 @@ export default { this.load = false; }); }, + toKeyMedia(item) { + console.log(item.label) + } }, }; diff --git a/src/views/EventDEC/keyCommunicationPositions/v-ranking-fhtd/index.vue b/src/views/EventDEC/keyCommunicationPositions/v-ranking-fhtd/index.vue index 0be9293..53b4ca3 100644 --- a/src/views/EventDEC/keyCommunicationPositions/v-ranking-fhtd/index.vue +++ b/src/views/EventDEC/keyCommunicationPositions/v-ranking-fhtd/index.vue @@ -14,7 +14,7 @@ {{ num|numStr }}
- {{label}} + {{label}}
传播量 {{val}} @@ -82,7 +82,12 @@ export default { } return str } - } + }, + methods: { + goKeyMedia(obj) { + this.$emit('toMedia', obj) + }, + } }; @@ -112,6 +117,7 @@ export default { color: #FFFFFF; margin-left: 40px; font-weight: bold; + cursor: pointer; } .v-r-res { margin-right: 16px; diff --git a/src/views/Index/keyCommunicationPositions/index.vue b/src/views/Index/keyCommunicationPositions/index.vue index aae88fa..4c8495d 100644 --- a/src/views/Index/keyCommunicationPositions/index.vue +++ b/src/views/Index/keyCommunicationPositions/index.vue @@ -11,10 +11,10 @@
- +
- +
@@ -60,6 +60,9 @@ export default { this.load = false; }); }, + goKeyMedia(item) { + console.log(item) + } }, }; diff --git a/src/views/KeyMediaBrand/index.vue b/src/views/KeyMediaBrand/index.vue new file mode 100644 index 0000000..14ae446 --- /dev/null +++ b/src/views/KeyMediaBrand/index.vue @@ -0,0 +1,349 @@ + + + + + + diff --git a/src/views/KeyMediaBrand/modelPopularity/index.vue b/src/views/KeyMediaBrand/modelPopularity/index.vue new file mode 100644 index 0000000..c335a40 --- /dev/null +++ b/src/views/KeyMediaBrand/modelPopularity/index.vue @@ -0,0 +1,183 @@ + + + + + + + diff --git a/src/views/KeyMediaBrand/modelPopularity/v-ranking-mpth/index.vue b/src/views/KeyMediaBrand/modelPopularity/v-ranking-mpth/index.vue new file mode 100644 index 0000000..fb825e2 --- /dev/null +++ b/src/views/KeyMediaBrand/modelPopularity/v-ranking-mpth/index.vue @@ -0,0 +1,230 @@ + + + + + + diff --git a/src/views/KeyMediaBrand/modelPopularityStoken/index.vue b/src/views/KeyMediaBrand/modelPopularityStoken/index.vue new file mode 100644 index 0000000..fe0b33a --- /dev/null +++ b/src/views/KeyMediaBrand/modelPopularityStoken/index.vue @@ -0,0 +1,39 @@ + + + + + + + diff --git a/src/views/KeyMediaBrand/negativeOpinionKOL/index.vue b/src/views/KeyMediaBrand/negativeOpinionKOL/index.vue new file mode 100644 index 0000000..e96eefe --- /dev/null +++ b/src/views/KeyMediaBrand/negativeOpinionKOL/index.vue @@ -0,0 +1,138 @@ + + + + + + diff --git a/src/views/KeyMediaBrand/negativeOpinionKOLStoken/index.vue b/src/views/KeyMediaBrand/negativeOpinionKOLStoken/index.vue new file mode 100644 index 0000000..f2fb98a --- /dev/null +++ b/src/views/KeyMediaBrand/negativeOpinionKOLStoken/index.vue @@ -0,0 +1,94 @@ + + + + + + diff --git a/src/views/KeyMediaBrand/positiveViewKOL/index.vue b/src/views/KeyMediaBrand/positiveViewKOL/index.vue new file mode 100644 index 0000000..8a2ad49 --- /dev/null +++ b/src/views/KeyMediaBrand/positiveViewKOL/index.vue @@ -0,0 +1,138 @@ + + + + + + diff --git a/src/views/KeyMediaBrand/positiveViewKOLStoken/index.vue b/src/views/KeyMediaBrand/positiveViewKOLStoken/index.vue new file mode 100644 index 0000000..9fce34f --- /dev/null +++ b/src/views/KeyMediaBrand/positiveViewKOLStoken/index.vue @@ -0,0 +1,93 @@ + + + + + + diff --git a/src/views/KeyMediaBrand/weiboCharacters/index.vue b/src/views/KeyMediaBrand/weiboCharacters/index.vue new file mode 100644 index 0000000..16dce28 --- /dev/null +++ b/src/views/KeyMediaBrand/weiboCharacters/index.vue @@ -0,0 +1,182 @@ + + + + + + + diff --git a/src/views/KeyMediaBrand/weiboCharacters/opt.js b/src/views/KeyMediaBrand/weiboCharacters/opt.js new file mode 100644 index 0000000..9b0df73 --- /dev/null +++ b/src/views/KeyMediaBrand/weiboCharacters/opt.js @@ -0,0 +1,72 @@ +/* + * @Author: your name + * @Date: 2021-10-09 09:49:50 + * @LastEditTime: 2021-10-28 13:07:24 + * @LastEditors: Please set LastEditors + * @Description: In User Settings Edit + * @FilePath: /data-show/src/views/Index/userPortrait/opt.js + */ +import * as echarts from "echarts"; +// let colors = ['#3373CC', '#CC9D12', '#54BF93','#f15c80', '#e4d354', '#8085e8', '#8d4653', '#91e8e1','#f7a35c','#90ed7d'] +function createData(ds = [], colors) { + let arr = []; + ds.map((ele, index) => { + let obj = { + value: ele.value, + name: ele.key, + itemStyle: { + color: colors[index] + } + } + arr.push(obj) + }) + return arr; +} +export default function createOpt(ds = [], color = []) { + const data = createData(ds, color); + return { + series: [ + { + name: 'Access From0', + type: 'pie', + radius: ['65%', '80%'], + avoidLabelOverlap: false, + label: { + show: false, + position: 'center', + lineHeight: 36 + }, + emphasis: { + label: { + show: true, + fontSize: '20', + color: "#ffff", + fontWeight: 'bold', + formatter: function (p) { + return `${p.data.name}\n${p.percent}%\n${p.data.value}` + } + } + }, + labelLine: { + show: false + }, + data: data + }, + { + name: 'Access From1', + type: 'pie', + radius: ['86%', '94%'], + avoidLabelOverlap: false, + label: { + show: false, + position: 'center' + }, + labelLine: { + show: false + }, + center: ['50%', '50%'],//边框位置 + data: data + } + ] + } +} diff --git a/src/views/KeyMediaBrand/weiboCharactersStoken/index.vue b/src/views/KeyMediaBrand/weiboCharactersStoken/index.vue new file mode 100644 index 0000000..5cac297 --- /dev/null +++ b/src/views/KeyMediaBrand/weiboCharactersStoken/index.vue @@ -0,0 +1,73 @@ + + + + + + + diff --git a/src/views/KeyMediaBrand/weiboCommunicationTrend/index.vue b/src/views/KeyMediaBrand/weiboCommunicationTrend/index.vue new file mode 100644 index 0000000..8a75815 --- /dev/null +++ b/src/views/KeyMediaBrand/weiboCommunicationTrend/index.vue @@ -0,0 +1,156 @@ + + + + + + diff --git a/src/views/KeyMediaBrand/weiboCommunicationTrend/opt.js b/src/views/KeyMediaBrand/weiboCommunicationTrend/opt.js new file mode 100644 index 0000000..e704b3a --- /dev/null +++ b/src/views/KeyMediaBrand/weiboCommunicationTrend/opt.js @@ -0,0 +1,116 @@ +/* + * @Author: your name + * @Date: 2021-10-12 15:32:24 + * @LastEditTime: 2021-11-19 19:50:21 + * @LastEditors: Please set LastEditors + * @Description: In User Settings Edit + * @FilePath: /data-show/src/views/BrandInsight/weiboVolumeTrend/opt.js + */ +import * as echarts from "echarts"; +import { bigNumberTransform } from "@/utils/gol/dataTool" +export default function createOpt(dx = [], ds = [], hotIndex = []) { + let mark = []; + hotIndex.forEach(ele => { + let obj = { + name: 'Max', + xAxis: ele, yAxis: ds[ele], + symbol: 'pin', + symbolSize: 16, + symbolOffset: [0, '-70%'], + } + mark.push(obj) + }) + return { + grid: { + top: 16, + left: 16, + right: "5%", + bottom: 10, + containLabel: true, + }, + tooltip: { + trigger: "axis", + backgroundColor: "#08182F", + color: "#fff", + borderColor: "#3373CC", + textStyle: { + color: "#fff", //设置文字颜色 + }, + extraCssText: "box-shadow: 0px 0px 10px 0px #3373CC;" + }, + xAxis: { + type: 'category', + boundaryGap: false, + axisTick: { + show: false, + }, + axisLabel: { + formatter: (value) => { + let rex = "00:00:00"; + let isCont = false; + let str = value; + for(let i = 0;i { + let str = bigNumberTransform(value); + return str; + } + }, + splitLine: { + lineStyle: { + type: "dashed", // y轴分割线类型 + color: "#012b4b", + }, + }, + }, + series: [ + { + data: ds, + type: 'line', + color: '#546fc5', + areaStyle: {normal: { + color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{ + offset: 0, + color: '#546fc5' + }, { + offset: 1, + color: 'rgba(0,0,0,0)' + }]), + }}, + markPoint: { + data: mark, + } + } + ] + }; +} diff --git a/src/views/KeyMediaBrand/weiboCommunicationTrendStoken/index.vue b/src/views/KeyMediaBrand/weiboCommunicationTrendStoken/index.vue new file mode 100644 index 0000000..551000b --- /dev/null +++ b/src/views/KeyMediaBrand/weiboCommunicationTrendStoken/index.vue @@ -0,0 +1,38 @@ + + + + + + diff --git a/src/views/KeyMediaBrand/weiboContentTOPVolume/index.vue b/src/views/KeyMediaBrand/weiboContentTOPVolume/index.vue new file mode 100644 index 0000000..36fb48f --- /dev/null +++ b/src/views/KeyMediaBrand/weiboContentTOPVolume/index.vue @@ -0,0 +1,108 @@ + + + + + + diff --git a/src/views/KeyMediaBrand/weiboContentTOPVolume/opt.js b/src/views/KeyMediaBrand/weiboContentTOPVolume/opt.js new file mode 100644 index 0000000..6d88a66 --- /dev/null +++ b/src/views/KeyMediaBrand/weiboContentTOPVolume/opt.js @@ -0,0 +1,81 @@ +/* + * @Author: your name + * @Date: 2021-10-14 16:05:12 + * @LastEditTime: 2021-11-04 17:05:41 + * @LastEditors: Please set LastEditors + * @Description: In User Settings Edit + * @FilePath: /data-show/src/views/WeiboDetails/weiboContentTOPVolume/opt.js + * startAngle: 180, + */ +import * as echarts from "echarts"; +export default function createOpt(name, color, num, maxVal) { + return { + tooltip: { + backgroundColor: "#08182F", + color: "#fff", + borderColor: "#3373CC", + textStyle: { + color: "#fff", //设置文字颜色 + }, + extraCssText: "box-shadow: 0px 0px 10px 0px #3373CC;", + formatter: function(param) { + let value = param.data.value; + let name = param.data.name; + return `${name}
声量:${value}` + } + }, + series: [ + { + name: name, + type: 'gauge', + startAngle: 180, + endAngle: 0, + min: 0, + max: maxVal * 5, + splitNumber: 5, + detail: { show: false, formatter: '{value}%' }, + axisLine: { + show: true, + lineStyle: { + width: 7, + color: [ + [1, new echarts.graphic.LinearGradient(0, 0, 1, 0, [ + { + offset: 0, + color: "#020f1f" + }, + { + offset: 1, + color: color + } + ]) + ] + ] + } + }, + axisLabel: { + distance: -30, + color: "#d8d8d8", + }, + splitLine: { + distance: -6, + length: 12, + lineStyle: { + color: '#d8d8d8', + width: 2 + } + }, + // 刻度线 + axisTick: { + show: true, + length: 15, + lineStyle: { + color: "auto", + width: 5 + } + }, + data: [{ value: num, name: name, title: {show: true, color: color,fontWeight: 'bold'},itemStyle:{color: color}}], + } + ] + }; +} diff --git a/src/views/KeyMediaBrand/weiboContentTOPVolumeStoken/index.vue b/src/views/KeyMediaBrand/weiboContentTOPVolumeStoken/index.vue new file mode 100644 index 0000000..75da131 --- /dev/null +++ b/src/views/KeyMediaBrand/weiboContentTOPVolumeStoken/index.vue @@ -0,0 +1,66 @@ + + + + + + diff --git a/src/views/KeyMediaBrand/weiboContentType/index.vue b/src/views/KeyMediaBrand/weiboContentType/index.vue new file mode 100644 index 0000000..ba47bc6 --- /dev/null +++ b/src/views/KeyMediaBrand/weiboContentType/index.vue @@ -0,0 +1,119 @@ + + + + + diff --git a/src/views/KeyMediaBrand/weiboContentType/opt.js b/src/views/KeyMediaBrand/weiboContentType/opt.js new file mode 100644 index 0000000..9b0df73 --- /dev/null +++ b/src/views/KeyMediaBrand/weiboContentType/opt.js @@ -0,0 +1,72 @@ +/* + * @Author: your name + * @Date: 2021-10-09 09:49:50 + * @LastEditTime: 2021-10-28 13:07:24 + * @LastEditors: Please set LastEditors + * @Description: In User Settings Edit + * @FilePath: /data-show/src/views/Index/userPortrait/opt.js + */ +import * as echarts from "echarts"; +// let colors = ['#3373CC', '#CC9D12', '#54BF93','#f15c80', '#e4d354', '#8085e8', '#8d4653', '#91e8e1','#f7a35c','#90ed7d'] +function createData(ds = [], colors) { + let arr = []; + ds.map((ele, index) => { + let obj = { + value: ele.value, + name: ele.key, + itemStyle: { + color: colors[index] + } + } + arr.push(obj) + }) + return arr; +} +export default function createOpt(ds = [], color = []) { + const data = createData(ds, color); + return { + series: [ + { + name: 'Access From0', + type: 'pie', + radius: ['65%', '80%'], + avoidLabelOverlap: false, + label: { + show: false, + position: 'center', + lineHeight: 36 + }, + emphasis: { + label: { + show: true, + fontSize: '20', + color: "#ffff", + fontWeight: 'bold', + formatter: function (p) { + return `${p.data.name}\n${p.percent}%\n${p.data.value}` + } + } + }, + labelLine: { + show: false + }, + data: data + }, + { + name: 'Access From1', + type: 'pie', + radius: ['86%', '94%'], + avoidLabelOverlap: false, + label: { + show: false, + position: 'center' + }, + labelLine: { + show: false + }, + center: ['50%', '50%'],//边框位置 + data: data + } + ] + } +} diff --git a/src/views/KeyMediaBrand/weiboContentTypeStoken/index.vue b/src/views/KeyMediaBrand/weiboContentTypeStoken/index.vue new file mode 100644 index 0000000..1f12434 --- /dev/null +++ b/src/views/KeyMediaBrand/weiboContentTypeStoken/index.vue @@ -0,0 +1,50 @@ + + + + + diff --git a/src/views/KeyMediaBrand/weiboSpreadFission/index.vue b/src/views/KeyMediaBrand/weiboSpreadFission/index.vue new file mode 100644 index 0000000..b4096ea --- /dev/null +++ b/src/views/KeyMediaBrand/weiboSpreadFission/index.vue @@ -0,0 +1,100 @@ + + + + + + diff --git a/src/views/KeyMediaBrand/weiboSpreadFission/opt.js b/src/views/KeyMediaBrand/weiboSpreadFission/opt.js new file mode 100644 index 0000000..ee6980f --- /dev/null +++ b/src/views/KeyMediaBrand/weiboSpreadFission/opt.js @@ -0,0 +1,82 @@ + +/* + * @Author: your name + * @Date: 2021-10-14 19:32:39 + * @LastEditTime: 2021-11-11 09:46:12 + * @LastEditors: Please set LastEditors + * @Description: In User Settings Edit + * @FilePath: /data-show/src/views/WeiboDetails/weiboSpreadFission/opt.js + */ +export default function createOpt(data) { + return { + tooltip: { + trigger: "item", + backgroundColor: "#08182F", + color: "#fff", + borderColor: "#3373CC", + textStyle: { + color: "#fff", //设置文字颜色 + }, + extraCssText: "box-shadow: 0px 0px 10px 0px #3373CC;" + }, + title: { + show: false, + text: 'NPM Dependencies' + }, + animationDurationUpdate: 1500, + animationEasingUpdate: 'quinticInOut', + series: [ + { + type: 'graph', + layout: 'none', + // progressiveThreshold: 700, + data: data.nodes.map(function (node) { + return { + x: node.x, + y: node.y, + id: node.id, + name: node.name, + value: node.value, + symbolSize: node.symbolSize, + itemStyle: { + color: node.color + } + }; + }), + links: data.edges.map(function (edge) { + return { + source: edge.source, + target: edge.target + }; + }), + emphasis: { + focus: 'adjacency', + label: { + position: 'right', + show: true + } + }, + label: { + show: true, + color: '#fff', + position: 'right', + formatter: '{b}' + }, + labelLayout: { + hideOverlap: true + }, + scaleLimit: { + min: 0.4, + max: 2 + }, + roam: true, + lineStyle: { + color: 'source', + width: 0.5, + curveness: 0.3, + opacity: 0.7 + } + } + ] + } +} \ No newline at end of file diff --git a/src/views/KeyMediaBrand/weiboSpreadFissionStoken/index.vue b/src/views/KeyMediaBrand/weiboSpreadFissionStoken/index.vue new file mode 100644 index 0000000..942df4b --- /dev/null +++ b/src/views/KeyMediaBrand/weiboSpreadFissionStoken/index.vue @@ -0,0 +1,50 @@ + + + + + + diff --git a/src/views/KeyMediaBrand/weiboTonalDistribution/index.vue b/src/views/KeyMediaBrand/weiboTonalDistribution/index.vue new file mode 100644 index 0000000..bf1e779 --- /dev/null +++ b/src/views/KeyMediaBrand/weiboTonalDistribution/index.vue @@ -0,0 +1,92 @@ + + + + + + diff --git a/src/views/KeyMediaBrand/weiboTonalDistribution/opt.js b/src/views/KeyMediaBrand/weiboTonalDistribution/opt.js new file mode 100644 index 0000000..bb17999 --- /dev/null +++ b/src/views/KeyMediaBrand/weiboTonalDistribution/opt.js @@ -0,0 +1,112 @@ +/* + * @Author: your name + * @Date: 2021-10-14 19:59:04 + * @LastEditTime: 2021-10-14 20:58:54 + * @LastEditors: Please set LastEditors + * @Description: In User Settings Edit + * @FilePath: /data-show/src/views/WeiboDetails/weiboTonalDistribution/opt.js + */ +export default function createOpt() { + return { + grid: { + left: 16, + right: 16, + bottom: 0, + top: 40, + containLabel: true + }, + tooltip: { + trigger: "axis", + backgroundColor: "#08182F", + color: "#fff", + borderColor: "#3373CC", + textStyle: { + color: "#fff", //设置文字颜色 + }, + extraCssText: "box-shadow: 0px 0px 10px 0px #3373CC;" + }, + legend: { + position: 'center', + icon: 'roundRect', + y: 16, + textStyle: { //图例文字的样式 + color: '#fff' + }, + data: ['负面', '正面'] + }, + xAxis: { + type: 'value', + show: false, + splitLine: { + show: false, + lineStyle: { + type: 'dashed' + } + } + }, + yAxis: { + type: 'category', + axisLine: { show: false }, + axisLabel: { show: false }, + axisTick: { show: false }, + splitLine: { show: false }, + data: [ + '已认证', + '非认证', + '名人博主', + '政府', + '企业', + '媒体', + '个人大V', + ] + }, + series: [ + { + name: '正面', + type: 'bar', + stack: '总量', + barWidth: 20, + label: { + show: true, + formatter: '{b}', + position: 'left', + color: '#fff', + fontWeight: 'bold' + }, + data: [ + { value: 0.07 }, + { value: 0.09 }, + { value: 0.23 }, + { value: 0.17 }, + { value: 0.36 }, + { value: 0.26 }, + { value: 0.28 }, + ] + }, { + name: '负面', + type: 'bar', + stack: '总量', + barWidth: 20, + label: { + show: true, + formatter: '{b}', + position: 'right', + color: '#fff', + fontWeight: 'bold' + }, + itemStyle: { + color: '#CC9D12', + }, + data: [ + { value: -0.07 }, + { value: -0.09 }, + { value: -0.23 }, + { value: -0.17 }, + { value: -0.36 }, + { value: -0.26 }, + { value: -0.28 }, + ] + } + ] + } +} diff --git a/src/views/KeyMediaBrand/weiboTonalDistributionStoken/index.vue b/src/views/KeyMediaBrand/weiboTonalDistributionStoken/index.vue new file mode 100644 index 0000000..dbf9741 --- /dev/null +++ b/src/views/KeyMediaBrand/weiboTonalDistributionStoken/index.vue @@ -0,0 +1,51 @@ + + + + + + diff --git a/src/views/KeyMediaBrand/weiboUserActiveArea/index.vue b/src/views/KeyMediaBrand/weiboUserActiveArea/index.vue new file mode 100644 index 0000000..5983110 --- /dev/null +++ b/src/views/KeyMediaBrand/weiboUserActiveArea/index.vue @@ -0,0 +1,103 @@ + + + + + + diff --git a/src/views/KeyMediaBrand/weiboUserActiveArea/opt1.js b/src/views/KeyMediaBrand/weiboUserActiveArea/opt1.js new file mode 100644 index 0000000..32e3a99 --- /dev/null +++ b/src/views/KeyMediaBrand/weiboUserActiveArea/opt1.js @@ -0,0 +1,83 @@ + + +/* + * @Author: your name + * @Date: 2021-10-09 12:38:34 + * @LastEditTime: 2021-10-14 11:48:19 + * @LastEditors: Please set LastEditors + * @Description: In User Settings Edit + * @FilePath: /data-show/src/views/Index/tailInsight/opt.js + */ +import * as echarts from "echarts"; +import { bigNumberTransform } from "@/utils/gol/dataTool" +export default function createOptD1(dx=[],ds=[]) { + return { + grid: { + left: 16, + right: '5%', + bottom: 10, + top: "1%", + containLabel: true + }, + tooltip: { + trigger: "axis", + backgroundColor: "#08182F", + color: "#fff", + borderColor: "#3373CC", + textStyle: { + color: "#fff", //设置文字颜色 + }, + extraCssText: "box-shadow: 0px 0px 10px 0px #3373CC;" + }, + xAxis: { + type: 'value', + axisLine: { + show: false, + lineStyle: { + color: "#fff", + }, + }, + axisLabel: { + formatter: (value) => { + let str = bigNumberTransform(value); + return str; + } + }, + splitLine: { + lineStyle: { + type: "dashed", // y轴分割线类型 + color: "#012b4b", + }, + }, + }, + yAxis: { + type: 'category', + data: dx, + axisTick: { + show: false, + }, + axisLine: { + show: false, + lineStyle: { + color: "#fff", + }, + }, + inverse: true + }, + series: [ + { + name: '2011', + type: 'bar', + barWidth: 20, + data: ds, + color: new echarts.graphic.LinearGradient(0, 0, 1, 0, [{ + offset: 0, + color: 'rgba(59,106,179,0.4)' + }, { + offset: 1, + color: '#2f68b4' + }]), + } + ] + } +} diff --git a/src/views/KeyMediaBrand/weiboUserActiveArea/opt2.js b/src/views/KeyMediaBrand/weiboUserActiveArea/opt2.js new file mode 100644 index 0000000..c961002 --- /dev/null +++ b/src/views/KeyMediaBrand/weiboUserActiveArea/opt2.js @@ -0,0 +1,94 @@ +/* + * @Author: your name + * @Date: 2021-10-14 11:53:16 + * @LastEditTime: 2021-11-04 17:17:02 + * @LastEditors: Please set LastEditors + * @Description: In User Settings Edit + * @FilePath: /data-show/src/views/WeiboDetails/weiboUserActiveArea/opt2.js + */ + +export default function createOptD2(dm) { + return { + tooltip: { + trigger: "item", + backgroundColor: "#08182F", + color: "#fff", + borderColor: "#3373CC", + textStyle: { + color: "#fff", //设置文字颜色 + }, + extraCssText: "box-shadow: 0px 0px 10px 0px #3373CC;" + }, + // geo: { + // show: true, + // map: 'china', + // roam: false,//地图设置不可拖拽,固定的 + // itemStyle: { + // normal: { + // borderWidth: 0, + // shadowColor: 'rgba(0,54,255, 1)', + // shadowBlur: 100 + // } + // } + // }, + visualMap: { + type: 'continuous', + show: false, + min: 0, + max: 2000, + text: ['高', '低'], + orient: 'horizontal', + itemWidth: 15, + itemHeight: 200, + right: 0, + bottom: 30, + inRange: { + color: ['#0393d2', '#75ddff'] + }, + textStyle: { + color: 'white' + } + }, + series: [ + { + name: "微博区域", + type: "map", + mapType: "china", + roam: false, + zoom: 1,//默认地图在容器中显示zoom:1,可根据需求放大缩小地图 + left: 16, + top: 20, + right: 10, + bottom: 10, + selectedMode:'multiple', + colorBy: 'data', + itemStyle: { + areaColor: '#001f5b',//地图区域背景颜色 + borderColor: '#005cf9',//地图边界颜色 + shadowColor: '#005cf9', + emphasis: { + areaColor: '#3066ba',//鼠标滑过区域颜色 + label: { + color: '#fff' + } + } + }, + label: { + normal: { + show: false + }, + }, + + // select: { + // label: { + // show: false + // }, + // itemStyle: { + // areaColor: '#3edffe' + // } + // }, + data: dm + } + ] + } +} diff --git a/src/views/KeyMediaBrand/weiboUserActiveAreaStoken/index.vue b/src/views/KeyMediaBrand/weiboUserActiveAreaStoken/index.vue new file mode 100644 index 0000000..8ef1ae7 --- /dev/null +++ b/src/views/KeyMediaBrand/weiboUserActiveAreaStoken/index.vue @@ -0,0 +1,49 @@ + + + + + + diff --git a/src/views/KeyMediaBrand/weiboWordCloud/index.vue b/src/views/KeyMediaBrand/weiboWordCloud/index.vue new file mode 100644 index 0000000..ced7fd2 --- /dev/null +++ b/src/views/KeyMediaBrand/weiboWordCloud/index.vue @@ -0,0 +1,115 @@ + + + + + + \ No newline at end of file diff --git a/src/views/KeyMediaBrand/weiboWordCloud/opt.js b/src/views/KeyMediaBrand/weiboWordCloud/opt.js new file mode 100644 index 0000000..9fd72a6 --- /dev/null +++ b/src/views/KeyMediaBrand/weiboWordCloud/opt.js @@ -0,0 +1,215 @@ +/* + * @Author: your name + * @Date: 2021-10-09 13:35:13 + * @LastEditTime: 2021-10-14 19:14:21 + * @LastEditors: Please set LastEditors + * @Description: In User Settings Edit + * @FilePath: /data-show/src/views/Index/hotDiscussionGraph/opt.js + */ +// import * as echarts from "echarts"; +const dataBJ = [ + [1, 55, 9, 56, 0.46, 18, 6, '良'], + [2, 25, 11, 21, 0.65, 34, 9, '优'], + [3, 56, 7, 63, 0.3, 14, 5, '良'], + [4, 33, 7, 29, 0.33, 16, 6, '优'], + [5, 42, 24, 44, 0.76, 40, 16, '优'], + [6, 82, 58, 90, 1.77, 68, 33, '良'], + [7, 74, 49, 77, 1.46, 48, 27, '良'], + [8, 78, 55, 80, 1.29, 59, 29, '良'], + [9, 267, 216, 280, 4.8, 108, 64, '重度污染'], + // [10, 185, 127, 216, 2.52, 61, 27, '中度污染'], + // [11, 39, 19, 38, 0.57, 31, 15, '优'], + // [12, 41, 11, 40, 0.43, 21, 7, '优'], + // [13, 64, 38, 74, 1.04, 46, 22, '良'], + // [14, 108, 79, 120, 1.7, 75, 41, '轻度污染'], + // [15, 108, 63, 116, 1.48, 44, 26, '轻度污染'], + // [16, 33, 6, 29, 0.34, 13, 5, '优'], + // [17, 94, 66, 110, 1.54, 62, 31, '良'], + // [18, 186, 142, 192, 3.88, 93, 79, '中度污染'], + // [19, 57, 31, 54, 0.96, 32, 14, '良'], + // [20, 22, 8, 17, 0.48, 23, 10, '优'], + // [21, 39, 15, 36, 0.61, 29, 13, '优'], + // [22, 94, 69, 114, 2.08, 73, 39, '良'], + // [23, 99, 73, 110, 2.43, 76, 48, '良'], + // [24, 31, 12, 30, 0.5, 32, 16, '优'], + // [25, 42, 27, 43, 1, 53, 22, '优'], + // [26, 154, 117, 157, 3.05, 92, 58, '中度污染'], + // [27, 234, 185, 230, 4.09, 123, 69, '重度污染'], + // [28, 160, 120, 186, 2.77, 91, 50, '中度污染'], + // [29, 134, 96, 165, 2.76, 83, 41, '轻度污染'], + // [30, 52, 24, 60, 1.03, 50, 21, '良'], + // [31, 46, 5, 49, 0.28, 10, 6, '优'] + ]; + const dataGZ = [ + [1, 26, 37, 27, 1.163, 27, 13, '优'], + [2, 85, 62, 71, 1.195, 60, 8, '良'], + [3, 78, 38, 74, 1.363, 37, 7, '良'], + [4, 21, 21, 36, 0.634, 40, 9, '优'], + [5, 41, 42, 46, 0.915, 81, 13, '优'], + // [6, 56, 52, 69, 1.067, 92, 16, '良'], + // [7, 64, 30, 28, 0.924, 51, 2, '良'], + // [8, 55, 48, 74, 1.236, 75, 26, '良'], + // [9, 76, 85, 113, 1.237, 114, 27, '良'], + // [10, 91, 81, 104, 1.041, 56, 40, '良'], + // [11, 84, 39, 60, 0.964, 25, 11, '良'], + // [12, 64, 51, 101, 0.862, 58, 23, '良'], + // [13, 70, 69, 120, 1.198, 65, 36, '良'], + // [14, 77, 105, 178, 2.549, 64, 16, '良'], + // [15, 109, 68, 87, 0.996, 74, 29, '轻度污染'], + // [16, 73, 68, 97, 0.905, 51, 34, '良'], + // [17, 54, 27, 47, 0.592, 53, 12, '良'], + // [18, 51, 61, 97, 0.811, 65, 19, '良'], + // [19, 91, 71, 121, 1.374, 43, 18, '良'], + // [20, 73, 102, 182, 2.787, 44, 19, '良'], + // [21, 73, 50, 76, 0.717, 31, 20, '良'], + // [22, 84, 94, 140, 2.238, 68, 18, '良'], + // [23, 93, 77, 104, 1.165, 53, 7, '良'], + // [24, 99, 130, 227, 3.97, 55, 15, '良'], + // [25, 146, 84, 139, 1.094, 40, 17, '轻度污染'], + // [26, 113, 108, 137, 1.481, 48, 15, '轻度污染'], + // [27, 81, 48, 62, 1.619, 26, 3, '良'], + // [28, 56, 48, 68, 1.336, 37, 9, '良'], + // [29, 82, 92, 174, 3.29, 0, 13, '良'], + // [30, 106, 116, 188, 3.628, 101, 16, '轻度污染'], + // [31, 118, 50, 0, 1.383, 76, 11, '轻度污染'] + ]; + const dataSH = [ + [1, 91, 45, 125, 0.82, 34, 23, '良'], + [2, 65, 27, 78, 0.86, 45, 29, '良'], + [3, 83, 60, 84, 1.09, 73, 27, '良'], + [4, 109, 81, 121, 1.28, 68, 51, '轻度污染'], + [5, 106, 77, 114, 1.07, 55, 51, '轻度污染'], + // [6, 109, 81, 121, 1.28, 68, 51, '轻度污染'], + // [7, 106, 77, 114, 1.07, 55, 51, '轻度污染'], + // [8, 89, 65, 78, 0.86, 51, 26, '良'], + // [9, 53, 33, 47, 0.64, 50, 17, '良'], + // [10, 80, 55, 80, 1.01, 75, 24, '良'], + // [11, 117, 81, 124, 1.03, 45, 24, '轻度污染'], + // [12, 99, 71, 142, 1.1, 62, 42, '良'], + // [13, 95, 69, 130, 1.28, 74, 50, '良'], + // [14, 116, 87, 131, 1.47, 84, 40, '轻度污染'], + // [15, 108, 80, 121, 1.3, 85, 37, '轻度污染'], + // [16, 134, 83, 167, 1.16, 57, 43, '轻度污染'], + // [17, 79, 43, 107, 1.05, 59, 37, '良'], + // [18, 71, 46, 89, 0.86, 64, 25, '良'], + // [19, 97, 71, 113, 1.17, 88, 31, '良'], + // [20, 84, 57, 91, 0.85, 55, 31, '良'], + // [21, 87, 63, 101, 0.9, 56, 41, '良'], + // [22, 104, 77, 119, 1.09, 73, 48, '轻度污染'], + // [23, 87, 62, 100, 1, 72, 28, '良'], + // [24, 168, 128, 172, 1.49, 97, 56, '中度污染'], + // [25, 65, 45, 51, 0.74, 39, 17, '良'], + // [26, 39, 24, 38, 0.61, 47, 17, '优'], + // [27, 39, 24, 39, 0.59, 50, 19, '优'], + // [28, 93, 68, 96, 1.05, 79, 29, '良'], + // [29, 188, 143, 197, 1.66, 99, 51, '中度污染'], + // [30, 174, 131, 174, 1.55, 108, 50, '中度污染'], + // [31, 187, 143, 201, 1.39, 89, 53, '中度污染'] + ]; +// const schema = [ +// { name: 'date', index: 0, text: '日' }, +// { name: 'AQIindex', index: 1, text: 'AQI指数' }, +// { name: 'PM25', index: 2, text: 'PM2.5' }, +// { name: 'PM10', index: 3, text: 'PM10' }, +// { name: 'CO', index: 4, text: '一氧化碳(CO)' }, +// { name: 'NO2', index: 5, text: '二氧化氮(NO2)' }, +// { name: 'SO2', index: 6, text: '二氧化硫(SO2)' } +// ]; + const itemStyle = { + opacity: 0.8, + shadowBlur: 10, + shadowOffsetX: 0, + shadowOffsetY: 0, + shadowColor: 'rgba(0,0,0,0.3)' + }; +export default function createOpt() { + return { + grid: { + top: "16px", + left: "16px", + right: "16px", + bottom: "16px", + containLabel: true, + }, + tooltip: { + backgroundColor: "#08182F", + color: "#fff", + borderColor: "#3373CC", + textStyle: { + color: "#fff", //设置文字颜色 + }, + extraCssText: "box-shadow: 0px 0px 10px 0px #3373CC;", + formatter: function(param) { + let value = param.value; + return `${value[value.length - 1]}
${value[0]}` + } + }, + xAxis: { + show: false, + type: 'value', + splitLine: { + lineStyle: { + type: 'dashed' + } + } + }, + yAxis: { + show: false, + type: 'value', + splitLine: { + lineStyle: { + type: 'dashed' + } + }, + scale: true + }, + series: [{ + name: '北京', + data: dataBJ, + type: 'scatter', + symbolSize: function (data) { + return data[2] + }, + label: { + show: true, + color: "#FFF", + formatter: function (param) { + return param.data[param.data.length - 1]; + }, + }, + itemStyle: itemStyle + }, { + name: '上海', + data: dataSH, + type: 'scatter', + symbolSize: function (data) { + return data[2] + }, + label: { + show: true, + color: "#FFF", + formatter: function (param) { + return param.data[param.data.length - 1]; + }, + }, + itemStyle: itemStyle + }, + { + name: '广州', + data: dataGZ, + type: 'scatter', + symbolSize: function (data) { + return data[2] + }, + label: { + show: true, + color: "#FFF", + formatter: function (param) { + return param.data[param.data.length - 1]; + }, + }, + itemStyle: itemStyle + } + ] + } +} diff --git a/src/views/KeyMediaBrand/weiboWordCloudStoken/index.vue b/src/views/KeyMediaBrand/weiboWordCloudStoken/index.vue new file mode 100644 index 0000000..66ae020 --- /dev/null +++ b/src/views/KeyMediaBrand/weiboWordCloudStoken/index.vue @@ -0,0 +1,39 @@ + + + + + + \ No newline at end of file diff --git a/src/views/ModelInsight/mlKeyCommunicationPositions/index.vue b/src/views/ModelInsight/mlKeyCommunicationPositions/index.vue index 92d34b9..e1c02c8 100644 --- a/src/views/ModelInsight/mlKeyCommunicationPositions/index.vue +++ b/src/views/ModelInsight/mlKeyCommunicationPositions/index.vue @@ -12,10 +12,12 @@
- +
- +
@@ -81,6 +83,9 @@ export default { this.load = false; }); }, + goKeyMedia(item) { + console.log(item.label) + } }, }; diff --git a/src/views/ModelInsight/mlKeyCommunicationPositions/v-ranking-fhtd/index.vue b/src/views/ModelInsight/mlKeyCommunicationPositions/v-ranking-fhtd/index.vue index a6be586..a31b373 100644 --- a/src/views/ModelInsight/mlKeyCommunicationPositions/v-ranking-fhtd/index.vue +++ b/src/views/ModelInsight/mlKeyCommunicationPositions/v-ranking-fhtd/index.vue @@ -14,7 +14,7 @@ {{ num|numStr }}
- {{label}} + {{label}}
传播量 {{val}} @@ -82,7 +82,12 @@ export default { } return str } + }, + methods: { + goKeyMedia(obj) { + this.$emit('toMedia', obj) } + } }; @@ -112,6 +117,7 @@ export default { color: #FFFFFF; margin-left: 40px; font-weight: bold; + cursor: pointer; } .v-r-res { margin-right: 24px; diff --git a/src/views/SaleRank/MarketSaleNE/mneCountryPercent/index.vue b/src/views/SaleRank/MarketSaleNE/mneCountryPercent/index.vue index 41ea477..0a6fc27 100644 --- a/src/views/SaleRank/MarketSaleNE/mneCountryPercent/index.vue +++ b/src/views/SaleRank/MarketSaleNE/mneCountryPercent/index.vue @@ -1,18 +1,124 @@ \ No newline at end of file diff --git a/src/views/SaleRank/MarketSaleNE/mneCountryPercent/opt.js b/src/views/SaleRank/MarketSaleNE/mneCountryPercent/opt.js new file mode 100644 index 0000000..d5a1240 --- /dev/null +++ b/src/views/SaleRank/MarketSaleNE/mneCountryPercent/opt.js @@ -0,0 +1,146 @@ +/* + * @Author: your name + * @Date: 2021-10-09 11:01:19 + * @LastEditTime: 2021-12-23 16:37:35 + * @LastEditors: Please set LastEditors + * @Description: In User Settings Edit + * @FilePath: /data-show/src/views/Index/spreadTheSound/opt.js + */ +import * as echarts from "echarts"; +import {doStr} from "@/utils/gol/dataTool" +import { bigNumberTransform } from "@/utils/gol/dataTool" +let colors = ['#5B8FF9','#7DAAFF','#9AC5FF','#B9E2FF','#3A9EC0','#5BB9DB','#78D4F8','#63AECC','#19A576','#43C090','#43C090','#9DF5CA' +,'#5B8FF9','#7DAAFF','#9AC5FF','#B9E2FF','#3A9EC0','#5BB9DB','#78D4F8','#63AECC','#19A576','#43C090','#43C090','#9DF5CA'] +function createData(ds = []) { + let arr = []; + for (let i = 0; i < ds.length; i++) { + let arr1 = ds[i]; + for (let j = 0; j < arr1.length; j++) { + let n = arr.findIndex(ele => { + return ele.name === arr1[j].Key; + }) + if (n === -1) { + let obj = + { + name: arr1[j].Key, + type: 'bar', + stack: 'total', + barWidth: 48, + barGap: "-100%", + emphasis: { + focus: 'series' + }, + label: { + show: true, + position: 'inside', + color: '#FFF', + fontWeight: 600, + formatter: (res) => { + return res.data + '%' + } + }, + itemStyle: { + normal: { + //柱体的颜色 + //右,下,左,上(1,0,0,0)表示从正右开始向左渐变 + color: function () { + return new echarts.graphic.LinearGradient(0, 0, 0, 1, [ + { + offset: 0, + color: colors[j] + }, + { + offset: 1, + color: colors[j] + } + ], false); + } + } + + }, + data: [arr1[j].Value] + } + arr.push(obj) + } else { + arr[n].data.push(arr1[j].Value) + } + } + } + return arr; +} +export default function createOpt(dx = [], ds = []) { + const data = createData(ds); + return { + grid: { + left: 10, + right: 10, + bottom: 10, + containLabel: true + }, + tooltip: { + trigger: "axis", + backgroundColor: "#08182F", + color: "#fff", + borderColor: "#3373CC", + textStyle: { + color: "#fff", //设置文字颜色 + }, + extraCssText: "box-shadow: 0px 0px 10px 0px #3373CC;" + }, + color: colors, + legend: { + textStyle: { //图例文字的样式 + color: '#fff', + fontSize: 10 + }, + y: 10, + x: 10, + itemWidth: 12, + itemHeight: 12, + borderRadius: 1, //圆角半径 + }, + xAxis: { + type: 'category', + axisLabel :{ + interval:0, + formatter: (value) => { + let res = doStr(value, 8); + return res + } + }, + axisTick: { + show: false, + }, + axisLine: { + show: false, + lineStyle: { + color: "#fff", + }, + }, + data: dx + }, + yAxis: { + type: 'value', + max: 100, + axisLine: { + show: false, + lineStyle: { + color: "#fff", + }, + }, + axisLabel: { + formatter: (value) => { + return value + '%' + } + }, + splitLine: { + lineStyle: { + type: "dashed", // y轴分割线类型 + color: "#012b4b", + }, + }, + }, + series: data + } + +} \ No newline at end of file diff --git a/src/views/SaleRank/MarketSaleNE/mneEnergyType/index.vue b/src/views/SaleRank/MarketSaleNE/mneEnergyType/index.vue index 3c7a123..40cd6f5 100644 --- a/src/views/SaleRank/MarketSaleNE/mneEnergyType/index.vue +++ b/src/views/SaleRank/MarketSaleNE/mneEnergyType/index.vue @@ -1,18 +1,124 @@ \ No newline at end of file diff --git a/src/views/SaleRank/MarketSaleNE/mneEnergyType/opt.js b/src/views/SaleRank/MarketSaleNE/mneEnergyType/opt.js new file mode 100644 index 0000000..d5a1240 --- /dev/null +++ b/src/views/SaleRank/MarketSaleNE/mneEnergyType/opt.js @@ -0,0 +1,146 @@ +/* + * @Author: your name + * @Date: 2021-10-09 11:01:19 + * @LastEditTime: 2021-12-23 16:37:35 + * @LastEditors: Please set LastEditors + * @Description: In User Settings Edit + * @FilePath: /data-show/src/views/Index/spreadTheSound/opt.js + */ +import * as echarts from "echarts"; +import {doStr} from "@/utils/gol/dataTool" +import { bigNumberTransform } from "@/utils/gol/dataTool" +let colors = ['#5B8FF9','#7DAAFF','#9AC5FF','#B9E2FF','#3A9EC0','#5BB9DB','#78D4F8','#63AECC','#19A576','#43C090','#43C090','#9DF5CA' +,'#5B8FF9','#7DAAFF','#9AC5FF','#B9E2FF','#3A9EC0','#5BB9DB','#78D4F8','#63AECC','#19A576','#43C090','#43C090','#9DF5CA'] +function createData(ds = []) { + let arr = []; + for (let i = 0; i < ds.length; i++) { + let arr1 = ds[i]; + for (let j = 0; j < arr1.length; j++) { + let n = arr.findIndex(ele => { + return ele.name === arr1[j].Key; + }) + if (n === -1) { + let obj = + { + name: arr1[j].Key, + type: 'bar', + stack: 'total', + barWidth: 48, + barGap: "-100%", + emphasis: { + focus: 'series' + }, + label: { + show: true, + position: 'inside', + color: '#FFF', + fontWeight: 600, + formatter: (res) => { + return res.data + '%' + } + }, + itemStyle: { + normal: { + //柱体的颜色 + //右,下,左,上(1,0,0,0)表示从正右开始向左渐变 + color: function () { + return new echarts.graphic.LinearGradient(0, 0, 0, 1, [ + { + offset: 0, + color: colors[j] + }, + { + offset: 1, + color: colors[j] + } + ], false); + } + } + + }, + data: [arr1[j].Value] + } + arr.push(obj) + } else { + arr[n].data.push(arr1[j].Value) + } + } + } + return arr; +} +export default function createOpt(dx = [], ds = []) { + const data = createData(ds); + return { + grid: { + left: 10, + right: 10, + bottom: 10, + containLabel: true + }, + tooltip: { + trigger: "axis", + backgroundColor: "#08182F", + color: "#fff", + borderColor: "#3373CC", + textStyle: { + color: "#fff", //设置文字颜色 + }, + extraCssText: "box-shadow: 0px 0px 10px 0px #3373CC;" + }, + color: colors, + legend: { + textStyle: { //图例文字的样式 + color: '#fff', + fontSize: 10 + }, + y: 10, + x: 10, + itemWidth: 12, + itemHeight: 12, + borderRadius: 1, //圆角半径 + }, + xAxis: { + type: 'category', + axisLabel :{ + interval:0, + formatter: (value) => { + let res = doStr(value, 8); + return res + } + }, + axisTick: { + show: false, + }, + axisLine: { + show: false, + lineStyle: { + color: "#fff", + }, + }, + data: dx + }, + yAxis: { + type: 'value', + max: 100, + axisLine: { + show: false, + lineStyle: { + color: "#fff", + }, + }, + axisLabel: { + formatter: (value) => { + return value + '%' + } + }, + splitLine: { + lineStyle: { + type: "dashed", // y轴分割线类型 + color: "#012b4b", + }, + }, + }, + series: data + } + +} \ No newline at end of file diff --git a/src/views/SaleRank/MarketSaleNE/mneMainPrice/index.vue b/src/views/SaleRank/MarketSaleNE/mneMainPrice/index.vue index 53b02c6..49d427c 100644 --- a/src/views/SaleRank/MarketSaleNE/mneMainPrice/index.vue +++ b/src/views/SaleRank/MarketSaleNE/mneMainPrice/index.vue @@ -1,10 +1,25 @@ + + \ No newline at end of file diff --git a/src/views/SaleRank/MarketSaleNE/mneMainPrice/seriesAuto/opt.js b/src/views/SaleRank/MarketSaleNE/mneMainPrice/seriesAuto/opt.js new file mode 100644 index 0000000..fd7721b --- /dev/null +++ b/src/views/SaleRank/MarketSaleNE/mneMainPrice/seriesAuto/opt.js @@ -0,0 +1,156 @@ + +import { bigNumberTransform } from "@/utils/gol/dataTool" +import * as echarts from "echarts"; +export default function createOpt(firstData = [], secondData = [], percent = []) { + return { + tooltip: { + trigger: "axis", + backgroundColor: "#08182F", + axisPointer: { + type: 'cross', + crossStyle: { + color: '#999' + } + }, + borderColor: "#3373CC", + textStyle: { + color: "#fff", //设置文字颜色 + }, + extraCssText: "box-shadow: 0px 0px 10px 0px #3373CC;" + }, + grid: { + left: 10, + right: 10, + bottom: 10, + containLabel: true + }, + legend: { + textStyle: { //图例文字的样式 + color: '#fff', + fontSize: 10 + }, + y: 10, + x: 10, + itemWidth: 12, + itemHeight: 12, + borderRadius: 1, //圆角半径 + }, + xAxis: [ + { + type: 'category', + data: ['1月','2月','3月','4月','5月','6月','7月','8月','9月','10月','11月','12月',], + axisPointer: { + type: 'shadow' + }, + axisLabel: { + color: '#FFF' + } + } + ], + yAxis: [ + { + type: 'value', + axisLabel: { + formatter: (value) => { + return bigNumberTransform(value); + }, + color: '#FFF' + }, + splitLine:{ + show:false + }, + }, + { + type: 'value', + axisLabel: { + formatter: '{value}%', + color: '#FFF' + }, + splitLine:{ + show:false + }, + } + ], + series: [ + { + name: '2021', + type: 'bar', + barWidth: 20, + tooltip: { + valueFormatter: function (value) { + return value; + } + }, + itemStyle: { + normal: { + //柱体的颜色 + //右,下,左,上(1,0,0,0)表示从正右开始向左渐变 + color: function () { + return new echarts.graphic.LinearGradient(0, 0, 0, 1, [ + { + offset: 0, + color: '#3373CC' + }, + { + offset: 1, + color: '#3E8CF940' + } + ], false); + } + } + }, + label: { + show: true, + position: 'top', + color: '#FFF' + }, + data: firstData + }, + { + name: '2022', + type: 'bar', + barWidth: 20, + tooltip: { + valueFormatter: function (value) { + return value; + } + }, + itemStyle: { + normal: { + //柱体的颜色 + //右,下,左,上(1,0,0,0)表示从正右开始向左渐变 + color: function () { + return new echarts.graphic.LinearGradient(0, 0, 0, 1, [ + { + offset: 0, + color: '#54BF93' + }, + { + offset: 1, + color: '#61DDAA30' + } + ], false); + } + } + }, + label: { + show: true, + position: 'top', + color: '#FFF' + }, + data: secondData + }, + { + name: '同比', + type: 'line', + yAxisIndex: 1, + tooltip: { + valueFormatter: function (value) { + return value+'%'; + } + }, + data: percent + } + ] + } +} \ No newline at end of file diff --git a/src/views/SaleRank/MarketSaleNE/mneMainPrice/seriesMpv/index.vue b/src/views/SaleRank/MarketSaleNE/mneMainPrice/seriesMpv/index.vue new file mode 100644 index 0000000..4bb45b9 --- /dev/null +++ b/src/views/SaleRank/MarketSaleNE/mneMainPrice/seriesMpv/index.vue @@ -0,0 +1,92 @@ + + + + + \ No newline at end of file diff --git a/src/views/SaleRank/MarketSaleNE/mneMainPrice/seriesMpv/opt.js b/src/views/SaleRank/MarketSaleNE/mneMainPrice/seriesMpv/opt.js new file mode 100644 index 0000000..fd7721b --- /dev/null +++ b/src/views/SaleRank/MarketSaleNE/mneMainPrice/seriesMpv/opt.js @@ -0,0 +1,156 @@ + +import { bigNumberTransform } from "@/utils/gol/dataTool" +import * as echarts from "echarts"; +export default function createOpt(firstData = [], secondData = [], percent = []) { + return { + tooltip: { + trigger: "axis", + backgroundColor: "#08182F", + axisPointer: { + type: 'cross', + crossStyle: { + color: '#999' + } + }, + borderColor: "#3373CC", + textStyle: { + color: "#fff", //设置文字颜色 + }, + extraCssText: "box-shadow: 0px 0px 10px 0px #3373CC;" + }, + grid: { + left: 10, + right: 10, + bottom: 10, + containLabel: true + }, + legend: { + textStyle: { //图例文字的样式 + color: '#fff', + fontSize: 10 + }, + y: 10, + x: 10, + itemWidth: 12, + itemHeight: 12, + borderRadius: 1, //圆角半径 + }, + xAxis: [ + { + type: 'category', + data: ['1月','2月','3月','4月','5月','6月','7月','8月','9月','10月','11月','12月',], + axisPointer: { + type: 'shadow' + }, + axisLabel: { + color: '#FFF' + } + } + ], + yAxis: [ + { + type: 'value', + axisLabel: { + formatter: (value) => { + return bigNumberTransform(value); + }, + color: '#FFF' + }, + splitLine:{ + show:false + }, + }, + { + type: 'value', + axisLabel: { + formatter: '{value}%', + color: '#FFF' + }, + splitLine:{ + show:false + }, + } + ], + series: [ + { + name: '2021', + type: 'bar', + barWidth: 20, + tooltip: { + valueFormatter: function (value) { + return value; + } + }, + itemStyle: { + normal: { + //柱体的颜色 + //右,下,左,上(1,0,0,0)表示从正右开始向左渐变 + color: function () { + return new echarts.graphic.LinearGradient(0, 0, 0, 1, [ + { + offset: 0, + color: '#3373CC' + }, + { + offset: 1, + color: '#3E8CF940' + } + ], false); + } + } + }, + label: { + show: true, + position: 'top', + color: '#FFF' + }, + data: firstData + }, + { + name: '2022', + type: 'bar', + barWidth: 20, + tooltip: { + valueFormatter: function (value) { + return value; + } + }, + itemStyle: { + normal: { + //柱体的颜色 + //右,下,左,上(1,0,0,0)表示从正右开始向左渐变 + color: function () { + return new echarts.graphic.LinearGradient(0, 0, 0, 1, [ + { + offset: 0, + color: '#54BF93' + }, + { + offset: 1, + color: '#61DDAA30' + } + ], false); + } + } + }, + label: { + show: true, + position: 'top', + color: '#FFF' + }, + data: secondData + }, + { + name: '同比', + type: 'line', + yAxisIndex: 1, + tooltip: { + valueFormatter: function (value) { + return value+'%'; + } + }, + data: percent + } + ] + } +} \ No newline at end of file diff --git a/src/views/SaleRank/MarketSaleNE/mneMainPrice/seriesSuv/index.vue b/src/views/SaleRank/MarketSaleNE/mneMainPrice/seriesSuv/index.vue new file mode 100644 index 0000000..da7d104 --- /dev/null +++ b/src/views/SaleRank/MarketSaleNE/mneMainPrice/seriesSuv/index.vue @@ -0,0 +1,92 @@ + + + + + \ No newline at end of file diff --git a/src/views/SaleRank/MarketSaleNE/mneMainPrice/seriesSuv/opt.js b/src/views/SaleRank/MarketSaleNE/mneMainPrice/seriesSuv/opt.js new file mode 100644 index 0000000..fd7721b --- /dev/null +++ b/src/views/SaleRank/MarketSaleNE/mneMainPrice/seriesSuv/opt.js @@ -0,0 +1,156 @@ + +import { bigNumberTransform } from "@/utils/gol/dataTool" +import * as echarts from "echarts"; +export default function createOpt(firstData = [], secondData = [], percent = []) { + return { + tooltip: { + trigger: "axis", + backgroundColor: "#08182F", + axisPointer: { + type: 'cross', + crossStyle: { + color: '#999' + } + }, + borderColor: "#3373CC", + textStyle: { + color: "#fff", //设置文字颜色 + }, + extraCssText: "box-shadow: 0px 0px 10px 0px #3373CC;" + }, + grid: { + left: 10, + right: 10, + bottom: 10, + containLabel: true + }, + legend: { + textStyle: { //图例文字的样式 + color: '#fff', + fontSize: 10 + }, + y: 10, + x: 10, + itemWidth: 12, + itemHeight: 12, + borderRadius: 1, //圆角半径 + }, + xAxis: [ + { + type: 'category', + data: ['1月','2月','3月','4月','5月','6月','7月','8月','9月','10月','11月','12月',], + axisPointer: { + type: 'shadow' + }, + axisLabel: { + color: '#FFF' + } + } + ], + yAxis: [ + { + type: 'value', + axisLabel: { + formatter: (value) => { + return bigNumberTransform(value); + }, + color: '#FFF' + }, + splitLine:{ + show:false + }, + }, + { + type: 'value', + axisLabel: { + formatter: '{value}%', + color: '#FFF' + }, + splitLine:{ + show:false + }, + } + ], + series: [ + { + name: '2021', + type: 'bar', + barWidth: 20, + tooltip: { + valueFormatter: function (value) { + return value; + } + }, + itemStyle: { + normal: { + //柱体的颜色 + //右,下,左,上(1,0,0,0)表示从正右开始向左渐变 + color: function () { + return new echarts.graphic.LinearGradient(0, 0, 0, 1, [ + { + offset: 0, + color: '#3373CC' + }, + { + offset: 1, + color: '#3E8CF940' + } + ], false); + } + } + }, + label: { + show: true, + position: 'top', + color: '#FFF' + }, + data: firstData + }, + { + name: '2022', + type: 'bar', + barWidth: 20, + tooltip: { + valueFormatter: function (value) { + return value; + } + }, + itemStyle: { + normal: { + //柱体的颜色 + //右,下,左,上(1,0,0,0)表示从正右开始向左渐变 + color: function () { + return new echarts.graphic.LinearGradient(0, 0, 0, 1, [ + { + offset: 0, + color: '#54BF93' + }, + { + offset: 1, + color: '#61DDAA30' + } + ], false); + } + } + }, + label: { + show: true, + position: 'top', + color: '#FFF' + }, + data: secondData + }, + { + name: '同比', + type: 'line', + yAxisIndex: 1, + tooltip: { + valueFormatter: function (value) { + return value+'%'; + } + }, + data: percent + } + ] + } +} \ No newline at end of file diff --git a/src/views/SaleRank/MarketSaleNE/mneMainPrice/seriesTotal/index.vue b/src/views/SaleRank/MarketSaleNE/mneMainPrice/seriesTotal/index.vue new file mode 100644 index 0000000..5d04e5b --- /dev/null +++ b/src/views/SaleRank/MarketSaleNE/mneMainPrice/seriesTotal/index.vue @@ -0,0 +1,126 @@ + + + + + \ No newline at end of file diff --git a/src/views/SaleRank/MarketSaleNE/mneMainPrice/seriesTotal/opt.js b/src/views/SaleRank/MarketSaleNE/mneMainPrice/seriesTotal/opt.js new file mode 100644 index 0000000..dec374b --- /dev/null +++ b/src/views/SaleRank/MarketSaleNE/mneMainPrice/seriesTotal/opt.js @@ -0,0 +1,149 @@ +/* + * @Author: your name + * @Date: 2021-10-09 11:01:19 + * @LastEditTime: 2021-12-23 16:37:35 + * @LastEditors: Please set LastEditors + * @Description: In User Settings Edit + * @FilePath: /data-show/src/views/Index/spreadTheSound/opt.js + */ +import * as echarts from "echarts"; +import {doStr} from "@/utils/gol/dataTool" +import { bigNumberTransform } from "@/utils/gol/dataTool" +// let colors = ['rgba(84,111,197,1)', 'rgba(145,203,116,1)', 'rgba(90,203,156,1)', 'rgba(248,200,87,1)', 'rgba(237,101,101,1)', "rgba(114,191,222,1)", 'rgba(58,162,114,1)', 'rgba(251,131,81,1)'] +let colors2 = ['#3373CC60', '#63AECC60', '#54BF9360', 'rgba(248,200,87,0.6)', 'rgba(237,101,101,0.6)', "rgba(114,191,222,0.6)", 'rgba(58,162,114,0.6)', 'rgba(251,131,81,0.6)'] +let colors = ['#3373CC','#63AECC','#54BF93','#B9E2FF','#3A9EC0','#5BB9DB','#78D4F8','#63AECC','#19A576','#43C090','#43C090','#9DF5CA'] +function createData(ds = []) { + let arr = []; + for (let i = 0; i < ds.length; i++) { + let arr1 = ds[i]; + for (let j = 0; j < arr1.length; j++) { + let n = arr.findIndex(ele => { + return ele.name === arr1[j].Key; + }) + if (n === -1) { + let obj = + { + name: arr1[j].Key, + type: 'bar', + stack: 'total', + barWidth: 36, + barGap: "-100%", + emphasis: { + focus: 'series' + }, + label: { + show: true, + position: 'inside', + color: '#FFF', + fontWeight: 600, + fontSize: 10, + formatter: (res) => { + return res.data + '%' + } + }, + itemStyle: { + normal: { + //柱体的颜色 + //右,下,左,上(1,0,0,0)表示从正右开始向左渐变 + color: function () { + return new echarts.graphic.LinearGradient(0, 0, 0, 1, [ + { + offset: 0, + color: colors[j] + }, + { + offset: 1, + color: colors2[j] + } + ], false); + } + } + + }, + data: [arr1[j].Value] + } + arr.push(obj) + } else { + arr[n].data.push(arr1[j].Value) + } + } + } + return arr; +} +export default function createOpt(dx = [], ds = []) { + const data = createData(ds); + return { + grid: { + left: 10, + right: 10, + bottom: 10, + containLabel: true + }, + tooltip: { + trigger: "axis", + backgroundColor: "#08182F", + color: "#fff", + borderColor: "#3373CC", + textStyle: { + color: "#fff", //设置文字颜色 + }, + extraCssText: "box-shadow: 0px 0px 10px 0px #3373CC;" + }, + color: colors, + legend: { + textStyle: { //图例文字的样式 + color: '#fff', + fontSize: 10 + }, + y: 10, + x: 10, + itemWidth: 12, + itemHeight: 12, + borderRadius: 1, //圆角半径 + }, + xAxis: { + type: 'category', + axisLabel :{ + interval:0, + formatter: (value) => { + let res = doStr(value, 8); + return res + } + }, + axisTick: { + show: false, + }, + axisLine: { + show: false, + lineStyle: { + color: "#fff", + }, + }, + data: dx + }, + yAxis: { + type: 'value', + min: 0, + max: 100, + axisLine: { + show: false, + lineStyle: { + color: "#fff", + }, + }, + axisLabel: { + formatter: (value) => { + return value + '%'; + } + }, + splitLine: { + lineStyle: { + type: "dashed", // y轴分割线类型 + color: "#012b4b", + }, + }, + }, + series: data + } + +} \ No newline at end of file diff --git a/src/views/SaleRank/MarketSaleNE/mnePrecisionType/index.vue b/src/views/SaleRank/MarketSaleNE/mnePrecisionType/index.vue index b0756c9..0e83e70 100644 --- a/src/views/SaleRank/MarketSaleNE/mnePrecisionType/index.vue +++ b/src/views/SaleRank/MarketSaleNE/mnePrecisionType/index.vue @@ -1,9 +1,24 @@ + + \ No newline at end of file diff --git a/src/views/SaleRank/MarketSaleNE/mnePrecisionType/precAutoPercent/opt.js b/src/views/SaleRank/MarketSaleNE/mnePrecisionType/precAutoPercent/opt.js new file mode 100644 index 0000000..5ad1a5f --- /dev/null +++ b/src/views/SaleRank/MarketSaleNE/mnePrecisionType/precAutoPercent/opt.js @@ -0,0 +1,147 @@ +/* + * @Author: your name + * @Date: 2021-10-09 11:01:19 + * @LastEditTime: 2021-12-23 16:37:35 + * @LastEditors: Please set LastEditors + * @Description: In User Settings Edit + * @FilePath: /data-show/src/views/Index/spreadTheSound/opt.js + */ +import * as echarts from "echarts"; +import {doStr} from "@/utils/gol/dataTool" +import { bigNumberTransform } from "@/utils/gol/dataTool" +let colors2 = ['#3373CC60', '#63AECC60', '#54BF9360', '#CC9D1260', '#FFDE9560', '#78D4F860', 'rgba(58,162,114,0.6)', 'rgba(251,131,81,0.6)'] +let colors = ['#3373CC','#63AECC','#54BF93','#CC9D12','#FFDE95','#78D4F8','#63AECC','#19A576','#43C090','#43C090','#9DF5CA'] +function createData(ds = []) { + let arr = []; + for (let i = 0; i < ds.length; i++) { + let arr1 = ds[i]; + for (let j = 0; j < arr1.length; j++) { + let n = arr.findIndex(ele => { + return ele.name === arr1[j].Key; + }) + if (n === -1) { + let obj = + { + name: arr1[j].Key, + type: 'bar', + stack: 'total', + barWidth: 30, + barGap: "-100%", + emphasis: { + focus: 'series' + }, + label: { + show: true, + position: 'inside', + color: '#FFF', + fontWeight: 600, + fontSize: 10, + formatter: (res) => { + return res.data + '%' + } + }, + itemStyle: { + normal: { + //柱体的颜色 + //右,下,左,上(1,0,0,0)表示从正右开始向左渐变 + color: function () { + return new echarts.graphic.LinearGradient(0, 0, 0, 1, [ + { + offset: 0, + color: colors[j] + }, + { + offset: 1, + color: colors2[j] + } + ], false); + } + } + }, + data: [arr1[j].Value] + } + arr.push(obj) + } else { + arr[n].data.push(arr1[j].Value) + } + } + } + return arr; +} +export default function createOpt(dx = [], ds = []) { + const data = createData(ds); + return { + grid: { + left: 10, + right: 10, + bottom: 10, + containLabel: true + }, + tooltip: { + trigger: "axis", + backgroundColor: "#08182F", + color: "#fff", + borderColor: "#3373CC", + textStyle: { + color: "#fff", //设置文字颜色 + }, + extraCssText: "box-shadow: 0px 0px 10px 0px #3373CC;" + }, + color: colors, + legend: { + textStyle: { //图例文字的样式 + color: '#fff', + fontSize: 10 + }, + y: 10, + x: 10, + itemWidth: 12, + itemHeight: 12, + borderRadius: 1, //圆角半径 + }, + xAxis: { + type: 'category', + axisLabel :{ + interval:0, + formatter: (value) => { + let res = doStr(value, 8); + return res + } + }, + axisTick: { + show: false, + }, + axisLine: { + show: false, + lineStyle: { + color: "#fff", + }, + }, + data: dx + }, + yAxis: { + type: 'value', + min: 0, + max: 100, + axisLine: { + show: false, + lineStyle: { + color: "#fff", + }, + }, + axisLabel: { + formatter: (value) => { + return value + '%'; + } + }, + splitLine: { + lineStyle: { + type: "dashed", // y轴分割线类型 + color: "#012b4b", + }, + }, + }, + series: data + } + +} \ No newline at end of file diff --git a/src/views/SaleRank/MarketSaleNE/mnePrecisionType/precMpvPercent/index.vue b/src/views/SaleRank/MarketSaleNE/mnePrecisionType/precMpvPercent/index.vue new file mode 100644 index 0000000..e8eba31 --- /dev/null +++ b/src/views/SaleRank/MarketSaleNE/mnePrecisionType/precMpvPercent/index.vue @@ -0,0 +1,106 @@ + + + + + \ No newline at end of file diff --git a/src/views/SaleRank/MarketSaleNE/mnePrecisionType/precMpvPercent/opt.js b/src/views/SaleRank/MarketSaleNE/mnePrecisionType/precMpvPercent/opt.js new file mode 100644 index 0000000..5ad1a5f --- /dev/null +++ b/src/views/SaleRank/MarketSaleNE/mnePrecisionType/precMpvPercent/opt.js @@ -0,0 +1,147 @@ +/* + * @Author: your name + * @Date: 2021-10-09 11:01:19 + * @LastEditTime: 2021-12-23 16:37:35 + * @LastEditors: Please set LastEditors + * @Description: In User Settings Edit + * @FilePath: /data-show/src/views/Index/spreadTheSound/opt.js + */ +import * as echarts from "echarts"; +import {doStr} from "@/utils/gol/dataTool" +import { bigNumberTransform } from "@/utils/gol/dataTool" +let colors2 = ['#3373CC60', '#63AECC60', '#54BF9360', '#CC9D1260', '#FFDE9560', '#78D4F860', 'rgba(58,162,114,0.6)', 'rgba(251,131,81,0.6)'] +let colors = ['#3373CC','#63AECC','#54BF93','#CC9D12','#FFDE95','#78D4F8','#63AECC','#19A576','#43C090','#43C090','#9DF5CA'] +function createData(ds = []) { + let arr = []; + for (let i = 0; i < ds.length; i++) { + let arr1 = ds[i]; + for (let j = 0; j < arr1.length; j++) { + let n = arr.findIndex(ele => { + return ele.name === arr1[j].Key; + }) + if (n === -1) { + let obj = + { + name: arr1[j].Key, + type: 'bar', + stack: 'total', + barWidth: 30, + barGap: "-100%", + emphasis: { + focus: 'series' + }, + label: { + show: true, + position: 'inside', + color: '#FFF', + fontWeight: 600, + fontSize: 10, + formatter: (res) => { + return res.data + '%' + } + }, + itemStyle: { + normal: { + //柱体的颜色 + //右,下,左,上(1,0,0,0)表示从正右开始向左渐变 + color: function () { + return new echarts.graphic.LinearGradient(0, 0, 0, 1, [ + { + offset: 0, + color: colors[j] + }, + { + offset: 1, + color: colors2[j] + } + ], false); + } + } + }, + data: [arr1[j].Value] + } + arr.push(obj) + } else { + arr[n].data.push(arr1[j].Value) + } + } + } + return arr; +} +export default function createOpt(dx = [], ds = []) { + const data = createData(ds); + return { + grid: { + left: 10, + right: 10, + bottom: 10, + containLabel: true + }, + tooltip: { + trigger: "axis", + backgroundColor: "#08182F", + color: "#fff", + borderColor: "#3373CC", + textStyle: { + color: "#fff", //设置文字颜色 + }, + extraCssText: "box-shadow: 0px 0px 10px 0px #3373CC;" + }, + color: colors, + legend: { + textStyle: { //图例文字的样式 + color: '#fff', + fontSize: 10 + }, + y: 10, + x: 10, + itemWidth: 12, + itemHeight: 12, + borderRadius: 1, //圆角半径 + }, + xAxis: { + type: 'category', + axisLabel :{ + interval:0, + formatter: (value) => { + let res = doStr(value, 8); + return res + } + }, + axisTick: { + show: false, + }, + axisLine: { + show: false, + lineStyle: { + color: "#fff", + }, + }, + data: dx + }, + yAxis: { + type: 'value', + min: 0, + max: 100, + axisLine: { + show: false, + lineStyle: { + color: "#fff", + }, + }, + axisLabel: { + formatter: (value) => { + return value + '%'; + } + }, + splitLine: { + lineStyle: { + type: "dashed", // y轴分割线类型 + color: "#012b4b", + }, + }, + }, + series: data + } + +} \ No newline at end of file diff --git a/src/views/SaleRank/MarketSaleNE/mnePrecisionType/precPercent/index.vue b/src/views/SaleRank/MarketSaleNE/mnePrecisionType/precPercent/index.vue new file mode 100644 index 0000000..3201742 --- /dev/null +++ b/src/views/SaleRank/MarketSaleNE/mnePrecisionType/precPercent/index.vue @@ -0,0 +1,105 @@ + + + + + \ No newline at end of file diff --git a/src/views/SaleRank/MarketSaleNE/mnePrecisionType/precPercent/opt.js b/src/views/SaleRank/MarketSaleNE/mnePrecisionType/precPercent/opt.js new file mode 100644 index 0000000..42d4327 --- /dev/null +++ b/src/views/SaleRank/MarketSaleNE/mnePrecisionType/precPercent/opt.js @@ -0,0 +1,147 @@ +/* + * @Author: your name + * @Date: 2021-10-09 11:01:19 + * @LastEditTime: 2021-12-23 16:37:35 + * @LastEditors: Please set LastEditors + * @Description: In User Settings Edit + * @FilePath: /data-show/src/views/Index/spreadTheSound/opt.js + */ +import * as echarts from "echarts"; +import {doStr} from "@/utils/gol/dataTool" +import { bigNumberTransform } from "@/utils/gol/dataTool" +let colors = ['#5B8FF9','#7DAAFF','#9AC5FF','#B9E2FF','#3A9EC0','#5BB9DB','#78D4F8','#63AECC','#19A576','#43C090', +'#62DDAA','#9DF5CA','#9DF5CA','#FFD470','#FFDE95','#FFEBBF','#E19D62','#F7B075','#FDC388','#FDD69B'] +function createData(ds = []) { + let arr = []; + for (let i = 0; i < ds.length; i++) { + let arr1 = ds[i]; + for (let j = 0; j < arr1.length; j++) { + let n = arr.findIndex(ele => { + return ele.name === arr1[j].Key; + }) + if (n === -1) { + let obj = + { + name: arr1[j].Key, + type: 'bar', + stack: 'total', + barWidth: 36, + barGap: "-100%", + emphasis: { + focus: 'series' + }, + label: { + show: true, + position: 'inside', + color: '#FFF', + fontWeight: 600, + fontSize: 12, + formatter: (res) => { + return res.data + '%' + } + }, + itemStyle: { + normal: { + //柱体的颜色 + //右,下,左,上(1,0,0,0)表示从正右开始向左渐变 + color: function () { + return new echarts.graphic.LinearGradient(0, 0, 0, 1, [ + { + offset: 0, + color: colors[j] + }, + { + offset: 1, + color: colors[j] + } + ], false); + } + } + }, + data: [arr1[j].Value] + } + arr.push(obj) + } else { + arr[n].data.push(arr1[j].Value) + } + } + } + return arr; +} +export default function createOpt(dx = [], ds = []) { + const data = createData(ds); + return { + grid: { + left: 10, + right: 10, + bottom: 10, + containLabel: true + }, + tooltip: { + trigger: "axis", + backgroundColor: "#08182F", + color: "#fff", + borderColor: "#3373CC", + textStyle: { + color: "#fff", //设置文字颜色 + }, + extraCssText: "box-shadow: 0px 0px 10px 0px #3373CC;" + }, + color: colors, + legend: { + textStyle: { //图例文字的样式 + color: '#fff', + fontSize: 10 + }, + y: 10, + x: 10, + itemWidth: 12, + itemHeight: 12, + borderRadius: 1, //圆角半径 + }, + xAxis: { + type: 'category', + axisLabel :{ + interval:0, + formatter: (value) => { + let res = doStr(value, 8); + return res + } + }, + axisTick: { + show: false, + }, + axisLine: { + show: false, + lineStyle: { + color: "#fff", + }, + }, + data: dx + }, + yAxis: { + type: 'value', + min: 0, + max: 100, + axisLine: { + show: false, + lineStyle: { + color: "#fff", + }, + }, + axisLabel: { + formatter: (value) => { + return value + '%'; + } + }, + splitLine: { + lineStyle: { + type: "dashed", // y轴分割线类型 + color: "#012b4b", + }, + }, + }, + series: data + } + +} \ No newline at end of file diff --git a/src/views/SaleRank/MarketSaleNE/mnePrecisionType/precSuvPercent/index.vue b/src/views/SaleRank/MarketSaleNE/mnePrecisionType/precSuvPercent/index.vue new file mode 100644 index 0000000..50e4f61 --- /dev/null +++ b/src/views/SaleRank/MarketSaleNE/mnePrecisionType/precSuvPercent/index.vue @@ -0,0 +1,106 @@ + + + + + \ No newline at end of file diff --git a/src/views/SaleRank/MarketSaleNE/mnePrecisionType/precSuvPercent/opt.js b/src/views/SaleRank/MarketSaleNE/mnePrecisionType/precSuvPercent/opt.js new file mode 100644 index 0000000..b62661a --- /dev/null +++ b/src/views/SaleRank/MarketSaleNE/mnePrecisionType/precSuvPercent/opt.js @@ -0,0 +1,147 @@ +/* + * @Author: your name + * @Date: 2021-10-09 11:01:19 + * @LastEditTime: 2021-12-23 16:37:35 + * @LastEditors: Please set LastEditors + * @Description: In User Settings Edit + * @FilePath: /data-show/src/views/Index/spreadTheSound/opt.js + */ +import * as echarts from "echarts"; +import {doStr} from "@/utils/gol/dataTool" +import { bigNumberTransform } from "@/utils/gol/dataTool" +let colors2 = ['#3373CC60', '#63AECC60', '#54BF9360', '#CC9D1260', '#FFDE9560', "rgba(114,191,222,0.6)", 'rgba(58,162,114,0.6)', 'rgba(251,131,81,0.6)'] +let colors = ['#3373CC','#63AECC','#54BF93','#CC9D12','#FFDE95','#FFDE95','#78D4F8','#63AECC','#19A576','#43C090','#43C090','#9DF5CA'] +function createData(ds = []) { + let arr = []; + for (let i = 0; i < ds.length; i++) { + let arr1 = ds[i]; + for (let j = 0; j < arr1.length; j++) { + let n = arr.findIndex(ele => { + return ele.name === arr1[j].Key; + }) + if (n === -1) { + let obj = + { + name: arr1[j].Key, + type: 'bar', + stack: 'total', + barWidth: 30, + barGap: "-100%", + emphasis: { + focus: 'series' + }, + label: { + show: true, + position: 'inside', + color: '#FFF', + fontWeight: 600, + fontSize: 10, + formatter: (res) => { + return res.data + '%' + } + }, + itemStyle: { + normal: { + //柱体的颜色 + //右,下,左,上(1,0,0,0)表示从正右开始向左渐变 + color: function () { + return new echarts.graphic.LinearGradient(0, 0, 0, 1, [ + { + offset: 0, + color: colors[j] + }, + { + offset: 1, + color: colors2[j] + } + ], false); + } + } + }, + data: [arr1[j].Value] + } + arr.push(obj) + } else { + arr[n].data.push(arr1[j].Value) + } + } + } + return arr; +} +export default function createOpt(dx = [], ds = []) { + const data = createData(ds); + return { + grid: { + left: 10, + right: 10, + bottom: 10, + containLabel: true + }, + tooltip: { + trigger: "axis", + backgroundColor: "#08182F", + color: "#fff", + borderColor: "#3373CC", + textStyle: { + color: "#fff", //设置文字颜色 + }, + extraCssText: "box-shadow: 0px 0px 10px 0px #3373CC;" + }, + color: colors, + legend: { + textStyle: { //图例文字的样式 + color: '#fff', + fontSize: 10 + }, + y: 10, + x: 10, + itemWidth: 12, + itemHeight: 12, + borderRadius: 1, //圆角半径 + }, + xAxis: { + type: 'category', + axisLabel :{ + interval:0, + formatter: (value) => { + let res = doStr(value, 8); + return res + } + }, + axisTick: { + show: false, + }, + axisLine: { + show: false, + lineStyle: { + color: "#fff", + }, + }, + data: dx + }, + yAxis: { + type: 'value', + min: 0, + max: 100, + axisLine: { + show: false, + lineStyle: { + color: "#fff", + }, + }, + axisLabel: { + formatter: (value) => { + return value + '%'; + } + }, + splitLine: { + lineStyle: { + type: "dashed", // y轴分割线类型 + color: "#012b4b", + }, + }, + }, + series: data + } + +} \ No newline at end of file diff --git a/src/views/SaleRank/MarketSaleTraditional/mstCountryPercent/index.vue b/src/views/SaleRank/MarketSaleTraditional/mstCountryPercent/index.vue index 9a96c8e..e5d4948 100644 --- a/src/views/SaleRank/MarketSaleTraditional/mstCountryPercent/index.vue +++ b/src/views/SaleRank/MarketSaleTraditional/mstCountryPercent/index.vue @@ -1,6 +1,8 @@