From 5649e954e68955c8565e4fbbd90e01ff7ebc3ae3 Mon Sep 17 00:00:00 2001 From: zx <604444282@qq.com> Date: Thu, 17 Feb 2022 17:02:39 +0800 Subject: [PATCH] zx --- src/api/SaleRank/index.js | 118 +++++++++ src/api/comm/index.js | 51 ++++ src/lycomponents/iHeader/index.vue | 8 +- src/lycomponents/iHeaderBrand/index.vue | 6 +- src/lycomponents/iHeaderMa/index.vue | 5 + src/lycomponents/iHeaderMyself/index.vue | 5 + src/permission.js | 2 +- src/router/index.js | 44 ++++ src/views/Login/loginForm/index.vue | 7 + src/views/SaleRank/AllEnergy/index.vue | 112 +++++++++ .../AllEnergy/v-ranking-kmd/index.vue | 231 ++++++++++++++++++ src/views/SaleRank/AllLevel/index.vue | 112 +++++++++ .../SaleRank/AllLevel/v-ranking-kmd/index.vue | 231 ++++++++++++++++++ src/views/SaleRank/AllPrice/index.vue | 112 +++++++++ .../SaleRank/AllPrice/v-ranking-kmd/index.vue | 231 ++++++++++++++++++ src/views/SaleRank/BrandSale/index.vue | 52 ++++ .../ChineseCarSale/carBrandSale/index.vue | 66 +++++ .../ChineseCarSale/carBrandSale/opt.js | 111 +++++++++ .../ChineseCarSale/carLevelSale/index.vue | 66 +++++ .../ChineseCarSale/carLevelSale/opt.js | 111 +++++++++ .../ChineseCarSale/carSeriesSale/index.vue | 66 +++++ .../ChineseCarSale/carSeriesSale/opt.js | 111 +++++++++ src/views/SaleRank/ChineseCarSale/index.vue | 39 +++ .../ChineseCarSale/zgCarSale/index.vue | 65 +++++ .../SaleRank/ChineseCarSale/zgCarSale/opt.js | 111 +++++++++ src/views/SaleRank/CitySale/index.vue | 30 +++ src/views/SaleRank/HistorySale/index.vue | 169 +++++++++++++ src/views/SaleRank/SeriesSale/index.vue | 30 +++ src/views/SaleRank/index.vue | 174 +++++++++++++ src/views/SaleRank/tableEvent.js | 47 ++++ 30 files changed, 2520 insertions(+), 3 deletions(-) create mode 100644 src/api/SaleRank/index.js create mode 100644 src/views/SaleRank/AllEnergy/index.vue create mode 100644 src/views/SaleRank/AllEnergy/v-ranking-kmd/index.vue create mode 100644 src/views/SaleRank/AllLevel/index.vue create mode 100644 src/views/SaleRank/AllLevel/v-ranking-kmd/index.vue create mode 100644 src/views/SaleRank/AllPrice/index.vue create mode 100644 src/views/SaleRank/AllPrice/v-ranking-kmd/index.vue create mode 100644 src/views/SaleRank/BrandSale/index.vue create mode 100644 src/views/SaleRank/ChineseCarSale/carBrandSale/index.vue create mode 100644 src/views/SaleRank/ChineseCarSale/carBrandSale/opt.js create mode 100644 src/views/SaleRank/ChineseCarSale/carLevelSale/index.vue create mode 100644 src/views/SaleRank/ChineseCarSale/carLevelSale/opt.js create mode 100644 src/views/SaleRank/ChineseCarSale/carSeriesSale/index.vue create mode 100644 src/views/SaleRank/ChineseCarSale/carSeriesSale/opt.js create mode 100644 src/views/SaleRank/ChineseCarSale/index.vue create mode 100644 src/views/SaleRank/ChineseCarSale/zgCarSale/index.vue create mode 100644 src/views/SaleRank/ChineseCarSale/zgCarSale/opt.js create mode 100644 src/views/SaleRank/CitySale/index.vue create mode 100644 src/views/SaleRank/HistorySale/index.vue create mode 100644 src/views/SaleRank/SeriesSale/index.vue create mode 100644 src/views/SaleRank/index.vue create mode 100644 src/views/SaleRank/tableEvent.js diff --git a/src/api/SaleRank/index.js b/src/api/SaleRank/index.js new file mode 100644 index 0000000..e00e9ab --- /dev/null +++ b/src/api/SaleRank/index.js @@ -0,0 +1,118 @@ +import httpService from "@/request" + +// 首页-中国汽车销量趋势图 +export function getCheZhuCountTime(params) { + let obj = Object.assign({action: 'getCheZhuCountTime', sType: 'Marketing'}, params) + return httpService({ + url: `/api/v6.ashx`, + method: 'post', + data: obj, + headers: { + 'content-type': 'application/x-www-form-urlencoded' + } + }) +} + +// 首页-汽车品牌销量排行榜 +export function getCheZhuBrandCount(params) { + let obj = Object.assign({action: 'getCheZhuBrandCount', sType: 'Marketing'}, params) + return httpService({ + url: `/api/v6.ashx`, + method: 'post', + data: obj, + headers: { + 'content-type': 'application/x-www-form-urlencoded' + } + }) +} + +// 首页-各级别车型销量 +export function getCheZhuSpecCount(params) { + let obj = Object.assign({action: 'getCheZhuSpecCount', sType: 'Marketing'}, params) + return httpService({ + url: `/api/v6.ashx`, + method: 'post', + data: obj, + headers: { + 'content-type': 'application/x-www-form-urlencoded' + } + }) +} + +// 首页-车型销量排行榜 +export function getCheZhuCarSeriesCount(params) { + let obj = Object.assign({action: 'getCheZhuCarSeriesCount', sType: 'Marketing'}, params) + return httpService({ + url: `/api/v6.ashx`, + method: 'post', + data: obj, + headers: { + 'content-type': 'application/x-www-form-urlencoded' + } + }) +} + +// 历史-历史销量 +export function getCheZhuCarSalesCompared(params) { + let obj = Object.assign({action: 'getCheZhuCarSalesCompared', sType: 'Marketing'}, params) + return httpService({ + url: `/api/v6.ashx`, + method: 'post', + data: obj, + headers: { + 'content-type': 'application/x-www-form-urlencoded' + } + }) +} + +// 按级别-汽车级别销售排行榜 +export function getCheZhuCarSpecidRankingAll(params) { + let obj = Object.assign({action: 'getCheZhuCarSpecidRankingAll', sType: 'Marketing'}, params) + return httpService({ + url: `/api/v6.ashx`, + method: 'post', + data: obj, + headers: { + 'content-type': 'application/x-www-form-urlencoded' + } + }) +} + +// 按价格-汽车价格销售排行榜 +export function getCheZhuCarPriceRankingAll(params) { + let obj = Object.assign({action: 'getCheZhuCarPriceRankingAll', sType: 'Marketing'}, params) + return httpService({ + url: `/api/v6.ashx`, + method: 'post', + data: obj, + headers: { + 'content-type': 'application/x-www-form-urlencoded' + } + }) +} + +// 按能源-各汽车能源类型销售排行榜 +export function getCheZhuCarEnergyRankingAll(params) { + let obj = Object.assign({action: 'getCheZhuCarEnergyRankingAll', sType: 'Marketing'}, params) + return httpService({ + url: `/api/v6.ashx`, + method: 'post', + data: obj, + headers: { + 'content-type': 'application/x-www-form-urlencoded' + } + }) +} + +// 汽车品牌销量-汽车品牌销量排行榜列表 +export function getCheZhuCarBrandRanking(params) { + let obj = Object.assign({action: 'getCheZhuCarBrandRanking', 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/api/comm/index.js b/src/api/comm/index.js index 5121146..384060e 100644 --- a/src/api/comm/index.js +++ b/src/api/comm/index.js @@ -181,3 +181,54 @@ export function getQueryType(params) { } }) } + +//-销量-// +// 获取汽车级别 +export function getSpec(params) { + let obj = Object.assign({action: 'getSpec'}, params) + return httpService({ + url: `/api/v6.ashx`, + method: 'post', + data: obj, + headers: { + 'content-type': 'application/x-www-form-urlencoded' + } + }) +} +// 获取汽车价格 +export function getPrice(params) { + let obj = Object.assign({action: 'getPrice'}, params) + return httpService({ + url: `/api/v6.ashx`, + method: 'post', + data: obj, + headers: { + 'content-type': 'application/x-www-form-urlencoded' + } + }) +} +// 获取汽车能源 +export function getEnergy(params) { + let obj = Object.assign({action: 'getEnergy'}, params) + return httpService({ + url: `/api/v6.ashx`, + method: 'post', + data: obj, + headers: { + 'content-type': 'application/x-www-form-urlencoded' + } + }) +} +// 获取品牌性质 +export function getBrandType(params) { + let obj = Object.assign({action: 'getBrandType'}, params) + return httpService({ + url: `/api/v6.ashx`, + method: 'post', + data: obj, + headers: { + 'content-type': 'application/x-www-form-urlencoded' + } + }) +} +///////// diff --git a/src/lycomponents/iHeader/index.vue b/src/lycomponents/iHeader/index.vue index 9bef3b8..4f163b2 100644 --- a/src/lycomponents/iHeader/index.vue +++ b/src/lycomponents/iHeader/index.vue @@ -20,6 +20,9 @@ 营销分析 + + 销量排行 + 菜单 @@ -141,7 +144,10 @@ export default { obj.key === "eventInsight" ) { this.setHeaderType(3); - } else { + } else if (obj.key === "saleRank") { + this.setHeaderType(4); + } + else { this.setHeaderType(1); } this.$router.push({ path: `/${obj.key}` }); diff --git a/src/lycomponents/iHeaderBrand/index.vue b/src/lycomponents/iHeaderBrand/index.vue index 8b021c2..e66ae4e 100644 --- a/src/lycomponents/iHeaderBrand/index.vue +++ b/src/lycomponents/iHeaderBrand/index.vue @@ -20,6 +20,9 @@ 营销分析 + + 销量排行 + 菜单 @@ -182,7 +185,8 @@ export default { obj.key === "eventInsight" ) { this.setHeaderType(3); - + } else if (obj.key === "saleRank") { + this.setHeaderType(4); } else { this.setHeaderType(1); } diff --git a/src/lycomponents/iHeaderMa/index.vue b/src/lycomponents/iHeaderMa/index.vue index 0ac78fe..04461a0 100644 --- a/src/lycomponents/iHeaderMa/index.vue +++ b/src/lycomponents/iHeaderMa/index.vue @@ -20,6 +20,9 @@ 营销分析 + + 销量排行 + 菜单 @@ -149,6 +152,8 @@ export default { this.setHeaderType(2); } else if(obj.key === 'brandInsight' || obj.key === 'modelInsight' || obj.key === "eventInsight") { this.setHeaderType(3); + } else if (obj.key === "saleRank") { + this.setHeaderType(4); } else { this.setHeaderType(1); } diff --git a/src/lycomponents/iHeaderMyself/index.vue b/src/lycomponents/iHeaderMyself/index.vue index 315006d..41ff23a 100644 --- a/src/lycomponents/iHeaderMyself/index.vue +++ b/src/lycomponents/iHeaderMyself/index.vue @@ -20,6 +20,9 @@ 营销分析 + + 销量排行 + 菜单 @@ -143,6 +146,8 @@ export default { this.setHeaderType(2); } else if(obj.key === 'brandInsight' || obj.key === 'modelInsight' || obj.key === "eventInsight") { this.setHeaderType(3); + } else if (obj.key === "saleRank") { + this.setHeaderType(4); } else { this.setHeaderType(1); } diff --git a/src/permission.js b/src/permission.js index a1673ed..04c4f05 100644 --- a/src/permission.js +++ b/src/permission.js @@ -29,7 +29,7 @@ router.afterEach(() => { // 检查菜单权限 function checkMenu(path, next) { let menuStr = store.getters.getMenu || []; - let arr = ['/modelInsight', '/eventInsight', '/marketingAnalysis']; + let arr = ['/modelInsight', '/eventInsight', '/marketingAnalysis', '/saleRank']; let n = menuStr.findIndex(ele => ele.link === path); if(arr.includes(path) && n === -1) next('/index') else next() diff --git a/src/router/index.js b/src/router/index.js index 35a206e..4374818 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -37,6 +37,8 @@ import ModelEventDetails from "@/views/ModelEventDetails" import ModelWeiboDetails from "@/views/ModelWeiboDetails" import ModelForumDetails from "@/views/ModelForumDetails" import ModelComparison from "@/views/ModelComparison" +import SaleRank from "@/views/SaleRank" +// 销量排行 import ThemeAnalize from "@/views/ThemeAnalize" import ThemeData from "@/views/ThemeData" import ThemeBoard from "@/views/ThemeBoard" @@ -179,6 +181,48 @@ const router = [ desc: "营销对比", component: mcIndex }, + { + path: '/saleRank', + name: "saleRank", + desc: "销量排行", + redirect: 'saleRank/main', + component: SaleRank, + children: [ + { + path: 'main', //汽车销量排行榜 + component: resolve => require(['@/views/SaleRank/ChineseCarSale'], resolve), + }, + { + path: 'history', //历史销量 + component: resolve => require(['@/views/SaleRank/HistorySale'], resolve), + }, + { + path: 'brandSale', //汽车品牌销量 + component: resolve => require(['@/views/SaleRank/BrandSale'], resolve), + }, + { + path: 'seriesSale', //车型销量 + component: resolve => require(['@/views/SaleRank/SeriesSale'], resolve), + }, + { + path: 'citySale', //城市销量 + component: resolve => require(['@/views/SaleRank/CitySale'], resolve), + }, + //// + { + path: 'aLevel', //所有级别 + component: resolve => require(['@/views/SaleRank/AllLevel/index.vue'], resolve), + }, + { + path: 'aPrice', //所有价格 + component: resolve => require(['@/views/SaleRank/AllPrice/index.vue'], resolve), + }, + { + path: 'aEnergy', //所有能源 + component: resolve => require(['@/views/SaleRank/AllEnergy/index.vue'], resolve), + }, + ] + }, { path: '/ThemeAnalize', name: "ThemeAnalize", diff --git a/src/views/Login/loginForm/index.vue b/src/views/Login/loginForm/index.vue index 14863af..0f38eaf 100644 --- a/src/views/Login/loginForm/index.vue +++ b/src/views/Login/loginForm/index.vue @@ -123,6 +123,13 @@ export default { this.setToken(data.toKen); this.setUser(data); this.setLevelBtn(data.levelBtn); + //手动添加 + let obj = { + link:'/saleRank', + text:'销量排行' + } + data.meun.push(obj) + //// this.setMenu(data.meun); if(this.remCheck) { this.setAccount({sUserName:this.form.sUserName, sPwd: this.form.sPwd, remCheck: this.remCheck}) diff --git a/src/views/SaleRank/AllEnergy/index.vue b/src/views/SaleRank/AllEnergy/index.vue new file mode 100644 index 0000000..aa1667a --- /dev/null +++ b/src/views/SaleRank/AllEnergy/index.vue @@ -0,0 +1,112 @@ + + + + + \ No newline at end of file diff --git a/src/views/SaleRank/AllEnergy/v-ranking-kmd/index.vue b/src/views/SaleRank/AllEnergy/v-ranking-kmd/index.vue new file mode 100644 index 0000000..d30fcf0 --- /dev/null +++ b/src/views/SaleRank/AllEnergy/v-ranking-kmd/index.vue @@ -0,0 +1,231 @@ + + + + + + diff --git a/src/views/SaleRank/AllLevel/index.vue b/src/views/SaleRank/AllLevel/index.vue new file mode 100644 index 0000000..e274459 --- /dev/null +++ b/src/views/SaleRank/AllLevel/index.vue @@ -0,0 +1,112 @@ + + + + + \ No newline at end of file diff --git a/src/views/SaleRank/AllLevel/v-ranking-kmd/index.vue b/src/views/SaleRank/AllLevel/v-ranking-kmd/index.vue new file mode 100644 index 0000000..d30fcf0 --- /dev/null +++ b/src/views/SaleRank/AllLevel/v-ranking-kmd/index.vue @@ -0,0 +1,231 @@ + + + + + + diff --git a/src/views/SaleRank/AllPrice/index.vue b/src/views/SaleRank/AllPrice/index.vue new file mode 100644 index 0000000..69efe4a --- /dev/null +++ b/src/views/SaleRank/AllPrice/index.vue @@ -0,0 +1,112 @@ + + + + + \ No newline at end of file diff --git a/src/views/SaleRank/AllPrice/v-ranking-kmd/index.vue b/src/views/SaleRank/AllPrice/v-ranking-kmd/index.vue new file mode 100644 index 0000000..d30fcf0 --- /dev/null +++ b/src/views/SaleRank/AllPrice/v-ranking-kmd/index.vue @@ -0,0 +1,231 @@ + + + + + + diff --git a/src/views/SaleRank/BrandSale/index.vue b/src/views/SaleRank/BrandSale/index.vue new file mode 100644 index 0000000..5379f7a --- /dev/null +++ b/src/views/SaleRank/BrandSale/index.vue @@ -0,0 +1,52 @@ + + + + + \ No newline at end of file diff --git a/src/views/SaleRank/ChineseCarSale/carBrandSale/index.vue b/src/views/SaleRank/ChineseCarSale/carBrandSale/index.vue new file mode 100644 index 0000000..3851a81 --- /dev/null +++ b/src/views/SaleRank/ChineseCarSale/carBrandSale/index.vue @@ -0,0 +1,66 @@ + + + + + \ No newline at end of file diff --git a/src/views/SaleRank/ChineseCarSale/carBrandSale/opt.js b/src/views/SaleRank/ChineseCarSale/carBrandSale/opt.js new file mode 100644 index 0000000..fd1d10a --- /dev/null +++ b/src/views/SaleRank/ChineseCarSale/carBrandSale/opt.js @@ -0,0 +1,111 @@ +/* + * @Author: your name + * @Date: 2021-10-12 09:12:13 + * @LastEditTime: 2021-11-02 18:03:08 + * @LastEditors: Please set LastEditors + * @Description: In User Settings Edit + * @FilePath: /data-show/src/views/BrandInsight/brandTop/opt.js + */ +import * as echarts from "echarts"; +import { bigNumberTransform } from "@/utils/gol/dataTool" +export default function createOpt(dx,ds) { + return { + grid: { + top: "16px", + left: "16px", + right: "28px", + bottom: "16px", + containLabel: true, + }, + tooltip: { + trigger: "axis", + backgroundColor: "#08182F", + color: "#fff", + borderColor: "#3373CC", + textStyle: { + color: "#fff", //设置文字颜色 + }, + extraCssText: "box-shadow: 0px 0px 10px 0px #3373CC;", + formatter: function (params) { + var result = ""; + var dotHtml = + ''; + params.forEach(function (item) { + result += item.axisValue + "
" + dotHtml + item.data; + }); + return result; + }, + }, + xAxis: { + type: "category", + axisTick: { + show: false, + }, + axisLine: { + show: false, + lineStyle: { + color: "#fff", + }, + }, + data: dx, + }, + yAxis: { + type: "value", + axisLine: { + show: false, + lineStyle: { + color: "#FFF", + }, + }, + axisLabel: { + formatter: (value) => { + let str = bigNumberTransform(value); + return str; + } + }, + splitLine: { + lineStyle: { + type: "dashed", // y轴分割线类型 + color: "#012b4b", + }, + }, + }, + series: [ + { + name: "2001", + data: ds, + type: "bar", + barWidth: 24, + itemStyle: { + normal: { + label: { + show: true, //开启显示 + position: 'top', //在上方显示 + textStyle: { //数值样式 + color: '#fff', + fontSize: 14 + } + }, + color: new echarts.graphic.LinearGradient( + 0, + 1, + 0, + 0, + [ + { + offset: 0, + color: "#111", // 0% 处的颜色 + }, + { + offset: 1, + color: "#78D3F8", // 100% 处的颜色#3373CC + }, + ], + false + ), + }, + }, + }, + ], + } +} diff --git a/src/views/SaleRank/ChineseCarSale/carLevelSale/index.vue b/src/views/SaleRank/ChineseCarSale/carLevelSale/index.vue new file mode 100644 index 0000000..d714dbb --- /dev/null +++ b/src/views/SaleRank/ChineseCarSale/carLevelSale/index.vue @@ -0,0 +1,66 @@ + + + + + \ No newline at end of file diff --git a/src/views/SaleRank/ChineseCarSale/carLevelSale/opt.js b/src/views/SaleRank/ChineseCarSale/carLevelSale/opt.js new file mode 100644 index 0000000..b354b32 --- /dev/null +++ b/src/views/SaleRank/ChineseCarSale/carLevelSale/opt.js @@ -0,0 +1,111 @@ +/* + * @Author: your name + * @Date: 2021-10-12 09:12:13 + * @LastEditTime: 2021-11-02 18:03:08 + * @LastEditors: Please set LastEditors + * @Description: In User Settings Edit + * @FilePath: /data-show/src/views/BrandInsight/brandTop/opt.js + */ +import * as echarts from "echarts"; +import { bigNumberTransform } from "@/utils/gol/dataTool" +export default function createOpt(dx,ds) { + return { + grid: { + top: "16px", + left: "16px", + right: "28px", + bottom: "16px", + containLabel: true, + }, + tooltip: { + trigger: "axis", + backgroundColor: "#08182F", + color: "#fff", + borderColor: "#3373CC", + textStyle: { + color: "#fff", //设置文字颜色 + }, + extraCssText: "box-shadow: 0px 0px 10px 0px #3373CC;", + formatter: function (params) { + var result = ""; + var dotHtml = + ''; + params.forEach(function (item) { + result += item.axisValue + "
" + dotHtml + item.data; + }); + return result; + }, + }, + xAxis: { + type: "category", + axisTick: { + show: false, + }, + axisLine: { + show: false, + lineStyle: { + color: "#fff", + }, + }, + data: dx, + }, + yAxis: { + type: "value", + axisLine: { + show: false, + lineStyle: { + color: "#FFF", + }, + }, + axisLabel: { + formatter: (value) => { + let str = bigNumberTransform(value); + return str; + } + }, + splitLine: { + lineStyle: { + type: "dashed", // y轴分割线类型 + color: "#012b4b", + }, + }, + }, + series: [ + { + name: "2001", + data: ds, + type: "bar", + barWidth: 24, + itemStyle: { + normal: { + label: { + show: true, //开启显示 + position: 'top', //在上方显示 + textStyle: { //数值样式 + color: '#fff', + fontSize: 14 + } + }, + color: new echarts.graphic.LinearGradient( + 0, + 1, + 0, + 0, + [ + { + offset: 0, + color: "#111", // 0% 处的颜色 + }, + { + offset: 1, + color: "#54BF93", // 100% 处的颜色#3373CC + }, + ], + false + ), + }, + }, + }, + ], + } +} diff --git a/src/views/SaleRank/ChineseCarSale/carSeriesSale/index.vue b/src/views/SaleRank/ChineseCarSale/carSeriesSale/index.vue new file mode 100644 index 0000000..c5895fe --- /dev/null +++ b/src/views/SaleRank/ChineseCarSale/carSeriesSale/index.vue @@ -0,0 +1,66 @@ + + + + + \ No newline at end of file diff --git a/src/views/SaleRank/ChineseCarSale/carSeriesSale/opt.js b/src/views/SaleRank/ChineseCarSale/carSeriesSale/opt.js new file mode 100644 index 0000000..56e3744 --- /dev/null +++ b/src/views/SaleRank/ChineseCarSale/carSeriesSale/opt.js @@ -0,0 +1,111 @@ +/* + * @Author: your name + * @Date: 2021-10-12 09:12:13 + * @LastEditTime: 2021-11-02 18:03:08 + * @LastEditors: Please set LastEditors + * @Description: In User Settings Edit + * @FilePath: /data-show/src/views/BrandInsight/brandTop/opt.js + */ +import * as echarts from "echarts"; +import { bigNumberTransform } from "@/utils/gol/dataTool" +export default function createOpt(dx,ds) { + return { + grid: { + top: "16px", + left: "16px", + right: "28px", + bottom: "16px", + containLabel: true, + }, + tooltip: { + trigger: "axis", + backgroundColor: "#08182F", + color: "#fff", + borderColor: "#3373CC", + textStyle: { + color: "#fff", //设置文字颜色 + }, + extraCssText: "box-shadow: 0px 0px 10px 0px #3373CC;", + formatter: function (params) { + var result = ""; + var dotHtml = + ''; + params.forEach(function (item) { + result += item.axisValue + "
" + dotHtml + item.data; + }); + return result; + }, + }, + xAxis: { + type: "category", + axisTick: { + show: false, + }, + axisLine: { + show: false, + lineStyle: { + color: "#fff", + }, + }, + data: dx, + }, + yAxis: { + type: "value", + axisLine: { + show: false, + lineStyle: { + color: "#FFF", + }, + }, + axisLabel: { + formatter: (value) => { + let str = bigNumberTransform(value); + return str; + } + }, + splitLine: { + lineStyle: { + type: "dashed", // y轴分割线类型 + color: "#012b4b", + }, + }, + }, + series: [ + { + name: "2001", + data: ds, + type: "bar", + barWidth: 24, + itemStyle: { + normal: { + label: { + show: true, //开启显示 + position: 'top', //在上方显示 + textStyle: { //数值样式 + color: '#fff', + fontSize: 14 + } + }, + color: new echarts.graphic.LinearGradient( + 0, + 1, + 0, + 0, + [ + { + offset: 0, + color: "#111", // 0% 处的颜色 + }, + { + offset: 1, + color: "#CC9D12", // 100% 处的颜色#3373CC + }, + ], + false + ), + }, + }, + }, + ], + } +} diff --git a/src/views/SaleRank/ChineseCarSale/index.vue b/src/views/SaleRank/ChineseCarSale/index.vue new file mode 100644 index 0000000..e04de99 --- /dev/null +++ b/src/views/SaleRank/ChineseCarSale/index.vue @@ -0,0 +1,39 @@ + + + + + \ No newline at end of file diff --git a/src/views/SaleRank/ChineseCarSale/zgCarSale/index.vue b/src/views/SaleRank/ChineseCarSale/zgCarSale/index.vue new file mode 100644 index 0000000..851052b --- /dev/null +++ b/src/views/SaleRank/ChineseCarSale/zgCarSale/index.vue @@ -0,0 +1,65 @@ + + + + + \ No newline at end of file diff --git a/src/views/SaleRank/ChineseCarSale/zgCarSale/opt.js b/src/views/SaleRank/ChineseCarSale/zgCarSale/opt.js new file mode 100644 index 0000000..245fdc6 --- /dev/null +++ b/src/views/SaleRank/ChineseCarSale/zgCarSale/opt.js @@ -0,0 +1,111 @@ +/* + * @Author: your name + * @Date: 2021-10-12 09:12:13 + * @LastEditTime: 2021-11-02 18:03:08 + * @LastEditors: Please set LastEditors + * @Description: In User Settings Edit + * @FilePath: /data-show/src/views/BrandInsight/brandTop/opt.js + */ +import * as echarts from "echarts"; +import { bigNumberTransform } from "@/utils/gol/dataTool" +export default function createOpt(dx,ds) { + return { + grid: { + top: "16px", + left: "16px", + right: "28px", + bottom: "16px", + containLabel: true, + }, + tooltip: { + trigger: "axis", + backgroundColor: "#08182F", + color: "#fff", + borderColor: "#3373CC", + textStyle: { + color: "#fff", //设置文字颜色 + }, + extraCssText: "box-shadow: 0px 0px 10px 0px #3373CC;", + formatter: function (params) { + var result = ""; + var dotHtml = + ''; + params.forEach(function (item) { + result += item.axisValue + "
" + dotHtml + item.data; + }); + return result; + }, + }, + xAxis: { + type: "category", + axisTick: { + show: false, + }, + axisLine: { + show: false, + lineStyle: { + color: "#fff", + }, + }, + data: dx, + }, + yAxis: { + type: "value", + axisLine: { + show: false, + lineStyle: { + color: "#FFF", + }, + }, + axisLabel: { + formatter: (value) => { + let str = bigNumberTransform(value); + return str; + } + }, + splitLine: { + lineStyle: { + type: "dashed", // y轴分割线类型 + color: "#012b4b", + }, + }, + }, + series: [ + { + name: "2001", + data: ds, + type: "bar", + barWidth: 24, + itemStyle: { + normal: { + label: { + show: true, //开启显示 + position: 'top', //在上方显示 + textStyle: { //数值样式 + color: '#fff', + fontSize: 14 + } + }, + color: new echarts.graphic.LinearGradient( + 0, + 1, + 0, + 0, + [ + { + offset: 0, + color: "rgba(91, 157, 249, 0)", // 0% 处的颜色 + }, + { + offset: 1, + color: "#3373CC", // 100% 处的颜色#3373CC + }, + ], + false + ), + }, + }, + }, + ], + } +} diff --git a/src/views/SaleRank/CitySale/index.vue b/src/views/SaleRank/CitySale/index.vue new file mode 100644 index 0000000..204d169 --- /dev/null +++ b/src/views/SaleRank/CitySale/index.vue @@ -0,0 +1,30 @@ + + + + + \ No newline at end of file diff --git a/src/views/SaleRank/HistorySale/index.vue b/src/views/SaleRank/HistorySale/index.vue new file mode 100644 index 0000000..bbd7ba0 --- /dev/null +++ b/src/views/SaleRank/HistorySale/index.vue @@ -0,0 +1,169 @@ + + + + + \ No newline at end of file diff --git a/src/views/SaleRank/SeriesSale/index.vue b/src/views/SaleRank/SeriesSale/index.vue new file mode 100644 index 0000000..c4314fe --- /dev/null +++ b/src/views/SaleRank/SeriesSale/index.vue @@ -0,0 +1,30 @@ + + + + + \ No newline at end of file diff --git a/src/views/SaleRank/index.vue b/src/views/SaleRank/index.vue new file mode 100644 index 0000000..6044de4 --- /dev/null +++ b/src/views/SaleRank/index.vue @@ -0,0 +1,174 @@ + + + + + \ No newline at end of file diff --git a/src/views/SaleRank/tableEvent.js b/src/views/SaleRank/tableEvent.js new file mode 100644 index 0000000..e26d0aa --- /dev/null +++ b/src/views/SaleRank/tableEvent.js @@ -0,0 +1,47 @@ +import { getUserBrand} from "@/api/comm"; +import {getUserSeriesName} from "@/api/comm"; +import {getSpec,getPrice,getEnergy} from "@/api/comm"; +export default { + initData() { + this.form.token = this.getToken; + let obj = Object.assign({},this.form) + getUserBrand(obj).then(res => { + let data = res.data; + this.brandList = data; + }) + getSpec(obj).then(res => { + let data = res.data; + this.specList = data + }) + getPrice(obj).then(res => { + let data = res.data; + this.priceList = data + }) + getEnergy(obj).then(res => { + let data = res.data; + this.energyList = data + }) + }, + //选择品牌 + onBrand(val) { + this.chosenBrand = val; + let o = {token: this.getToken, sBrandName: this.chosenBrand}; + getUserSeriesName(o).then(res => { + let data = res.data; + this.seriesList = data; + this.chosenSeries = undefined + }) + }, + //选择车型 + onSeries(val) { + this.chosenSeries = val + }, + //查询销量 + onSearch() { + + }, + //左侧菜单栏 + handlerMenu(val) { + this.window = val.key + } +} \ No newline at end of file