张雄 3 years ago
parent 6d41b84219
commit 9ffd592246

@ -73,7 +73,7 @@ export function getSalesGrowthRatio(params) {
}
})
}
// 乘用车 - 总销量 - 新能源市场
// 乘用车 - 总销量 - 传统燃油车
export function getSalesGrowthRatioByFuel(params) {
let obj = Object.assign({action: 'getSalesGrowthRatioByFuel', sType: 'Marketing'}, params)
return httpService({
@ -85,6 +85,18 @@ export function getSalesGrowthRatioByFuel(params) {
}
})
}
// 乘用车 - 总销量 - 新能源市场
export function getSalesGrowthRatioByFuelE(params) {
let obj = Object.assign({action: 'getSalesGrowthRatioByFuelE', sType: 'Marketing'}, params)
return httpService({
url: `/api/v6.ashx`,
method: 'post',
data: obj,
headers: {
'content-type': 'application/x-www-form-urlencoded'
}
})
}
// 乘用车 - 能源类型
export function getSalesEnergyTypes(params) {

@ -1,7 +1,11 @@
<template>
<div :class="getIsLight?'mcomp-light':'mcomp-outter'">
<v-label-div v-if="!getIsLight" title="中国汽车市场竞争格局图"></v-label-div>
<v-label-div-light v-else title="中国汽车市场竞争格局图"></v-label-div-light>
<div class="mcomp-outter" :style="getIsLight?{background: '#FFF'}:{}">
<v-label-div v-if="!getIsLight" title="中国汽车市场竞争格局图">
<a-button type="primary" @click="report"></a-button>
</v-label-div>
<v-label-div-light v-else title="中国汽车市场竞争格局图" class="lightSy">
<a-button type="primary" @click="report"></a-button>
</v-label-div-light>
<div class="d2">
<a-form-model layout="inline">
<a-form-model-item :class="getIsLight?'lightSy':'dark'" label="数据筛选">
@ -35,13 +39,13 @@
{{item.value}}
</a-select-option>
</a-select>
<a-button :class="getIsLight?'lightSy':'dark'" type="primary" style="margin-left: 16px" @click="getData"></a-button>
<a-button type="primary" style="margin-left: 16px" @click="getData"></a-button>
</a-form-model-item>
</a-form-model>
</div>
<div class="d2">
<a-form-model layout="inline">
<a-form-model-item label="选择日期" :class="getIsLight?'lightSy':'dark'">
<a-form-model :class="getIsLight?'lightSy':'dark'" layout="inline">
<a-form-model-item label="选择日期">
<a-month-picker style="width: 146px" :allowClear="false" v-model="selTime[0]" valueFormat="YYYY-MM" placeholder="开始日期"></a-month-picker>
<a-month-picker style="width: 146px" :allowClear="false" v-model="selTime[1]" valueFormat="YYYY-MM" placeholder="结束日期"></a-month-picker>
</a-form-model-item>
@ -49,12 +53,17 @@
</div>
<div class="d2">
<div :class="getIsLight?'lightSy':'dark'">
<span v-for="(item, index) in seriesList" :key="index">
<a-button style="margin-left: 12px" @click="onDelete(index)" type="primary">{{item}}<a-icon type="close" /></a-button>
<span v-for="(item, index) in stableList" :key="index">
<a-button style="margin-left: 12px" @click="onDelete(index)" ghost type="primary" disabled>{{item}}</a-button>
</span>
<a-button style="margin-left: 12px" type="primary" icon="plus" @click="hanlderAddSeries"></a-button>
</div>
</div>
<div class="d2" :class="getIsLight?'lightSy':'dark'">
<a-button style="margin-left: 12px" type="primary" icon="plus" @click="hanlderAddSeries"></a-button>
<span v-for="(item, index) in seriesList" :key="index">
<a-button style="margin-left: 12px" @click="onDelete(index)" type="primary">{{item}}<a-icon type="close" /></a-button>
</span>
</div>
<iSaleModelChoose :brand="brand" :model="model" :visible.sync="modelShow" @change="handlerBrand"></iSaleModelChoose>
<div class="d3" v-if="getIsLight">
<v-echarts :opt="opt2"></v-echarts>
@ -69,7 +78,7 @@
import {getCountryS,getPriceRangeS,getSpecName1,getSeatS,getDisplacementS,getEnergyS} from "@/api/SaleRankMarketCommon";
import {getSalesCompetitionALLList,getSalesCompetitionList,getSalesCompetitionAnalysis} from "@/api/SaleRankMarket";
import createOpt from "./opt"
import createOpt2 from "./optLight"
import createOptLight from "./optLight"
import {getCheZhuLatestTime} from "@/api/SaleRank"
export default {
name: 'CitySale',
@ -81,7 +90,8 @@ export default {
sEnergyS: '',
sPriceRangeS: '',
sDisplacementS: '',
sSeatS: '',
sSerieName: '', //
sSeatS: '',
sSpecName1: '',
sTimeType: 4,
sStartTime: '',
@ -93,10 +103,12 @@ export default {
prices: [],
specs: [],
specs2: [],
series: [], //
displacements: [],
seats: [],
selTime: ['',''],
seriesList: [],
stableList: [],
//
countryList: [],
energyList: [],
@ -152,26 +164,30 @@ export default {
sPriceRangeS: this.prices.join(','),
sDisplacementS: this.displacements.join(','),
sSeatS: this.seats.join(','),
sSerieName: this.seriesList.join(','),
sSpecName1: this.specs.join(','),
sSpecName2: this.specs2.join(','),
sTimeType: 4,
sStartTime: this.selTime[0],
sEndTime: this.selTime[1],
}
getSalesCompetitionALLList(obj).then(res => {
getSalesCompetitionList(obj).then(res => {
let data = res.data;
// [ ['total'],[] ]
let arr = [];
let sList = []
data.forEach(ele => {
if(ele.CheChang * 1 != 0) {
let item = [ele.CheChang * 1, ele.MainPrice, ele.Count, ele.Name, 'total'];
// let item = [ele.Count, ele.MainPrice, ele.CheChang * 1, ele.Name, 'total'];
arr.push(item);
}
};
sList.push(ele.Name)
});
this.stableList = sList;
this.totalData = arr;
this.opt = createOpt(this.totalData, this.extraData);
this.opt2 = createOpt2(this.totalData, this.extraData)
this.opt2 = createOptLight(this.totalData, this.extraData)
})
},
//
@ -197,7 +213,7 @@ export default {
});
this.extraData = extraArr;
this.opt = createOpt(this.totalData, this.extraData);
this.opt2 = createOpt2(this.totalData, this.extraData)
this.opt2 = createOptLight(this.totalData, this.extraData)
})
this.modelShow = false;
},
@ -207,7 +223,7 @@ export default {
if(this.seriesList.length == 0) {
this.extraData = [];
this.opt = createOpt(this.totalData, this.extraData);
this.opt2 = createOpt2(this.totalData, this.extraData)
this.opt2 = createOptLight(this.totalData, this.extraData)
} else {
let obj = {
token: this.form.token,
@ -226,10 +242,31 @@ export default {
});
this.extraData = extraArr;
this.opt = createOpt(this.totalData, this.extraData);
this.opt2 = createOpt2(this.totalData, this.extraData)
this.opt2 = createOptLight(this.totalData, this.extraData)
})
}
},
report() {
let obj = {
token: this.form.token,
sCountryS: this.countries.join(','),
sEnergyS: this.energies.join(','),
sPriceRangeS: this.prices.join(','),
sDisplacementS: this.displacements.join(','),
sSeatS: this.seats.join(','),
sSerieName: this.seriesList.join(','),
sSpecName1: this.specs.join(','),
sSpecName2: this.specs2.join(','),
sTimeType: 4,
sStartTime: this.selTime[0],
sEndTime: this.selTime[1],
isExcel: 1,
};
getSalesCompetitionList(obj).then(res => {
let data = res.data;
window.open(data);
})
}
}
}
</script>
@ -250,20 +287,4 @@ export default {
height: 1060px;
}
}
.mcomp-light {
width: 1552px;
background: #fff;
// height: 460px;
border: 2px solid #0f2a4d;
.d2 {
display: flex;
justify-content: flex-start;
padding: 8px 16px 0px 16px;
}
.d3 {
// padding: 0px 16px 16px 16px;
width: 100%;
height: 1060px;
}
}
</style>

@ -1,3 +1,5 @@
import * as echarts from "echarts";
import { bigNumberTransform } from "@/utils/gol/dataTool"
export default function createOpt(data = [],extraData = []) {
return {
grid: {
@ -64,4 +66,4 @@ export default function createOpt(data = [],extraData = []) {
},
]
}
}
}

@ -64,4 +64,4 @@ export default function createOptLight(data = [],extraData = []) {
},
]
}
}
}

@ -1,7 +1,11 @@
<template>
<div class="mcomp-outter" :style="getIsLight?{background: '#FFF'}:{}">
<v-label-div v-if="!getIsLight" title="全车型竞争关系图谱"></v-label-div>
<v-label-div-light v-else title="全车型竞争关系图谱"></v-label-div-light>
<div :class="getIsLight?'mcomp-light':'mcomp-outter'">
<v-label-div v-if="!getIsLight" title="全车型竞争关系图谱">
<a-button type="primary" @click="report"></a-button>
</v-label-div>
<v-label-div-light v-else title="全车型竞争关系图谱" class="lightSy">
<a-button type="primary" @click="report"></a-button>
</v-label-div-light>
<div class="d2">
<a-form-model layout="inline">
<a-form-model-item :class="getIsLight?'lightSy':'dark'" label="数据筛选">
@ -35,13 +39,13 @@
{{item.value}}
</a-select-option>
</a-select>
<a-button type="primary" style="margin-left: 16px" @click="getData"></a-button>
<a-button :class="getIsLight?'lightSy':'dark'" type="primary" style="margin-left: 16px" @click="getData"></a-button>
</a-form-model-item>
</a-form-model>
</div>
<div class="d2">
<a-form-model :class="getIsLight?'lightSy':'dark'" layout="inline">
<a-form-model-item label="选择日期">
<a-form-model layout="inline">
<a-form-model-item label="选择日期" :class="getIsLight?'lightSy':'dark'">
<a-month-picker style="width: 146px" :allowClear="false" v-model="selTime[0]" valueFormat="YYYY-MM" placeholder="开始日期"></a-month-picker>
<a-month-picker style="width: 146px" :allowClear="false" v-model="selTime[1]" valueFormat="YYYY-MM" placeholder="结束日期"></a-month-picker>
</a-form-model-item>
@ -69,7 +73,7 @@
import {getCountryS,getPriceRangeS,getSpecName1,getSeatS,getDisplacementS,getEnergyS} from "@/api/SaleRankMarketCommon";
import {getSalesCompetitionALLList,getSalesCompetitionList,getSalesCompetitionAnalysis} from "@/api/SaleRankMarket";
import createOpt from "./opt"
import createOptLight from "./optLight"
import createOpt2 from "./optLight"
import {getCheZhuLatestTime} from "@/api/SaleRank"
export default {
name: 'CitySale',
@ -81,8 +85,7 @@ export default {
sEnergyS: '',
sPriceRangeS: '',
sDisplacementS: '',
sSerieName: '', //
sSeatS: '',
sSeatS: '',
sSpecName1: '',
sTimeType: 4,
sStartTime: '',
@ -94,7 +97,6 @@ export default {
prices: [],
specs: [],
specs2: [],
series: [], //
displacements: [],
seats: [],
selTime: ['',''],
@ -154,14 +156,13 @@ export default {
sPriceRangeS: this.prices.join(','),
sDisplacementS: this.displacements.join(','),
sSeatS: this.seats.join(','),
sSerieName: this.seriesList.join(','),
sSpecName1: this.specs.join(','),
sSpecName2: this.specs2.join(','),
sTimeType: 4,
sStartTime: this.selTime[0],
sEndTime: this.selTime[1],
}
getSalesCompetitionList(obj).then(res => {
getSalesCompetitionALLList(obj).then(res => {
let data = res.data;
// [ ['total'],[] ]
let arr = [];
@ -174,7 +175,7 @@ export default {
});
this.totalData = arr;
this.opt = createOpt(this.totalData, this.extraData);
this.opt2 = createOptLight(this.totalData, this.extraData)
this.opt2 = createOpt2(this.totalData, this.extraData)
})
},
//
@ -200,7 +201,7 @@ export default {
});
this.extraData = extraArr;
this.opt = createOpt(this.totalData, this.extraData);
this.opt2 = createOptLight(this.totalData, this.extraData)
this.opt2 = createOpt2(this.totalData, this.extraData)
})
this.modelShow = false;
},
@ -210,7 +211,7 @@ export default {
if(this.seriesList.length == 0) {
this.extraData = [];
this.opt = createOpt(this.totalData, this.extraData);
this.opt2 = createOptLight(this.totalData, this.extraData)
this.opt2 = createOpt2(this.totalData, this.extraData)
} else {
let obj = {
token: this.form.token,
@ -229,10 +230,30 @@ export default {
});
this.extraData = extraArr;
this.opt = createOpt(this.totalData, this.extraData);
this.opt2 = createOptLight(this.totalData, this.extraData)
this.opt2 = createOpt2(this.totalData, this.extraData)
})
}
},
report() {
let obj = {
token: this.form.token,
sCountryS: this.countries.join(','),
sEnergyS: this.energies.join(','),
sPriceRangeS: this.prices.join(','),
sDisplacementS: this.displacements.join(','),
sSeatS: this.seats.join(','),
sSpecName1: this.specs.join(','),
sSpecName2: this.specs2.join(','),
sTimeType: 4,
sStartTime: this.selTime[0],
sEndTime: this.selTime[1],
isExcel: 1,
}
getSalesCompetitionALLList(obj).then(res => {
let data = res.data;
window.open(data);
})
}
}
}
</script>
@ -253,4 +274,20 @@ export default {
height: 1060px;
}
}
.mcomp-light {
width: 1552px;
background: #fff;
// height: 460px;
border: 2px solid #0f2a4d;
.d2 {
display: flex;
justify-content: flex-start;
padding: 8px 16px 0px 16px;
}
.d3 {
// padding: 0px 16px 16px 16px;
width: 100%;
height: 1060px;
}
}
</style>

@ -1,5 +1,3 @@
import * as echarts from "echarts";
import { bigNumberTransform } from "@/utils/gol/dataTool"
export default function createOpt(data = [],extraData = []) {
return {
grid: {
@ -66,4 +64,4 @@ export default function createOpt(data = [],extraData = []) {
},
]
}
}
}

@ -64,4 +64,4 @@ export default function createOptLight(data = [],extraData = []) {
},
]
}
}
}

@ -3,6 +3,7 @@
<totalTop20></totalTop20>
<totalPassengerVehicle></totalPassengerVehicle>
<totalTraditionCar></totalTraditionCar>
<totalNewEnergyCar></totalNewEnergyCar>
</div>
</template>
@ -10,11 +11,13 @@
import totalTop20 from "./totalTop20"
import totalPassengerVehicle from "./totalPassengerVehicle"
import totalTraditionCar from "./totalTraditionCar"
import totalNewEnergyCar from "./totalNewEnergyCar"
export default {
components: {
totalTop20,
totalPassengerVehicle,
totalTraditionCar
totalTraditionCar,
totalNewEnergyCar
},
name: 'mscTotal',
data() {

@ -0,0 +1,98 @@
<template>
<div class="ttc-outter" :style="getIsLight?{background: '#FFF'}:{}">
<v-label-div v-if="!getIsLight" title="新能源车市场">
<a-button type="primary" @click="report"></a-button>
</v-label-div>
<v-label-div-light v-else title="新能源车市场" class="lightSy">
<a-button type="primary" @click="report"></a-button>
</v-label-div-light>
<div v-if="!getIsLight" class="d3">
<v-echarts :opt="opt"></v-echarts>
</div>
<div v-else class="d3">
<v-echarts :opt="opt2"></v-echarts>
</div>
</div>
</template>
<script>
import createOpt from './opt'
import createOptLight from './optLight'
import {getSalesGrowthRatioByFuel} from "@/api/SaleRankMarket";
import {getCheZhuLatestTime} from "@/api/SaleRank"
export default {
name: 'totalPassengerVehicle',
data() {
return {
form: {
token: '',
sTimeType: 4,
sStartTime: '',
sEndTime: '',
},
opt: {},
opt2: {},
}
},
created() {
this.form.token = this.getToken;
getCheZhuLatestTime({token: this.form.token}).then(res => {
this.form.sStartTime = '2021-01';
this.form.sEndTime = res.data;
this.getData()
})
},
methods: {
getData() {
getSalesGrowthRatioByFuel(this.form).then(res => {
let data = res.data;
let firstYearData = []; //0 - 11 count
let secondYearData = []; //12+ count
let percent = []; //12+ YearOnYearGrowth
for(let i = 0;i<data.length;i++) {
if(i < 12) {
firstYearData.push(data[i].Count)
} else {
secondYearData.push(data[i].Count);
percent.push(data[i].YearOnYearGrowth)
}
};
this.opt = createOpt(firstYearData,secondYearData,percent)
this.opt2 = createOptLight(firstYearData,secondYearData,percent)
})
},
report() {
let obj = {
token: this.form.token,
sTimeType: 4,
sStartTime: this.form.sStartTime,
sEndTime: this.form.sEndTime,
isExcel: 1,
};
getSalesGrowthRatioByFuel(obj).then(res => {
let data = res.data;
window.open(data);
})
}
}
}
</script>
<style lang="less">
.ttc-outter {
width: 1552px;
height: 492px;
margin-top: 16px;
border: 2px solid #0f2a4d;
.d2 {
display: flex;
justify-content: flex-start;
padding: 8px 16px 0px 16px;
}
.d3 {
// padding: 0px 16px 16px 16px;
width: 100%;
height: calc(100% - 48px);
}
}
</style>

@ -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: {
//柱体的颜色
//右1000表示从正右开始向左渐变
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: {
//柱体的颜色
//右1000表示从正右开始向左渐变
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
}
]
}
}

@ -0,0 +1,156 @@
import { bigNumberTransform } from "@/utils/gol/dataTool"
import * as echarts from "echarts";
export default function createOptLight(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: '#000',
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: '#000'
}
}
],
yAxis: [
{
type: 'value',
axisLabel: {
formatter: (value) => {
return bigNumberTransform(value);
},
color: '#000'
},
splitLine:{
show:false
},
},
{
type: 'value',
axisLabel: {
formatter: '{value}%',
color: '#000'
},
splitLine:{
show:false
},
}
],
series: [
{
name: '2021',
type: 'bar',
barWidth: 20,
tooltip: {
valueFormatter: function (value) {
return value;
}
},
itemStyle: {
normal: {
//柱体的颜色
//右1000表示从正右开始向左渐变
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: '#000'
},
data: firstData
},
{
name: '2022',
type: 'bar',
barWidth: 20,
tooltip: {
valueFormatter: function (value) {
return value;
}
},
itemStyle: {
normal: {
//柱体的颜色
//右1000表示从正右开始向左渐变
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: '#000'
},
data: secondData
},
{
name: '同比',
type: 'line',
yAxisIndex: 1,
tooltip: {
valueFormatter: function (value) {
return value+'%';
}
},
data: percent
}
]
}
}

@ -1,7 +1,11 @@
<template>
<div class="tpsv-outter" :style="getIsLight?{background: '#FFF'}:{}">
<v-label-div v-if="!getIsLight" title="狭义乘用车"></v-label-div>
<v-label-div-light v-else title="狭义乘用车"></v-label-div-light>
<v-label-div v-if="!getIsLight" title="狭义乘用车">
<a-button type="primary" @click="report"></a-button>
</v-label-div>
<v-label-div-light v-else title="狭义乘用车" class="lightSy">
<a-button type="primary" @click="report"></a-button>
</v-label-div-light>
<div v-if="!getIsLight" class="d3">
<v-echarts :opt="opt"></v-echarts>
</div>
@ -55,8 +59,21 @@ export default {
};
this.opt = createOpt(firstYearData,secondYearData,percent)
this.opt2 = createOptLight(firstYearData,secondYearData,percent)
})
});
},
report() {
let obj = {
token: this.form.token,
sTimeType: 4,
sStartTime: this.form.sStartTime,
sEndTime: this.form.sEndTime,
isExcel: 1,
};
getSalesGrowthRatio(obj).then(res => {
let data = res.data;
window.open(data);
})
}
}
}
</script>

@ -1,10 +1,12 @@
<template>
<div class="tp20-outter" :style="getIsLight?{background: '#FFF'}:{}">
<v-label-div v-if="!getIsLight" title="品牌销量排行榜TOP20">
<v-label-div v-if="!getIsLight" :title="tValue==0?'品牌销量排行榜TOP20':'车型销量排行榜TOP20'">
<v-tab-group :value="tValue" :style="{ background: 'transparent' }" :btns="btnTimes" @change="handlerType"></v-tab-group>
<a-button type="primary" @click="report"></a-button>
</v-label-div>
<v-label-div-light v-else title="品牌销量排行榜TOP20">
<v-label-div-light v-else :title="tValue==0?'品牌销量排行榜TOP20':'车型销量排行榜TOP20'" class="lightSy">
<v-tab-group-light :value="tValue" :style="{ background: 'transparent' }" :btns="btnTimes" @change="handlerType"></v-tab-group-light>
<a-button type="primary" @click="report"></a-button>
</v-label-div-light>
<div class="d2">
<a-form-model :class="getIsLight?'lightSy':'dark'" layout="inline">
@ -96,6 +98,26 @@ export default {
this.tValue = index;
this.getData();
},
report() {
let obj = {
token: this.form.token,
sTimeType: 4,
sStartTime: this.selTime[0],
sEndTime: this.selTime[1],
isExcel: 1,
};
if(this.tValue == 0) {
getSalesBrandTop20(obj).then(res => {
let data = res.data;
window.open(data);
})
} else {
getSalesCarseriesTop20(obj).then(res => {
let data = res.data;
window.open(data);
})
}
}
}
}
</script>

@ -1,7 +1,11 @@
<template>
<div class="ttc-outter" :style="getIsLight?{background: '#FFF'}:{}">
<v-label-div v-if="!getIsLight" title="传统燃油车市场"></v-label-div>
<v-label-div-light v-else title="传统燃油车市场"></v-label-div-light>
<v-label-div v-if="!getIsLight" title="传统燃油车市场">
<a-button type="primary" @click="report"></a-button>
</v-label-div>
<v-label-div-light v-else title="传统燃油车市场" class="lightSy">
<a-button type="primary" @click="report"></a-button>
</v-label-div-light>
<div v-if="!getIsLight" class="d3">
<v-echarts :opt="opt"></v-echarts>
</div>
@ -57,6 +61,19 @@ export default {
this.opt2 = createOptLight(firstYearData,secondYearData,percent)
})
},
report() {
let obj = {
token: this.form.token,
sTimeType: 4,
sStartTime: this.form.sStartTime,
sEndTime: this.form.sEndTime,
isExcel: 1,
};
getSalesGrowthRatioByFuel(obj).then(res => {
let data = res.data;
window.open(data);
})
}
}
}
</script>

@ -103,11 +103,8 @@ export default {
isExcel: 1,
};
getSalesCountrysTypesE(obj).then(() => {
this.$notification.open({
message: `数据生成中`,
description: "请前往个人中心查看下载进度",
placement: "bottomRight",
});
let data = res.data;
window.open(data);
});
}
}

@ -102,12 +102,9 @@ export default {
sEndTime: this.selTime[1],
isExcel: 1,
};
getSalesEnergyTypesE(obj).then(() => {
this.$notification.open({
message: `数据生成中`,
description: "请前往个人中心查看下载进度",
placement: "bottomRight",
});
getSalesEnergyTypesE(obj).then((res) => {
let data = res.data;
window.open(data);
});
}
}

@ -65,16 +65,13 @@ export default {
let obj = {
token: this.form.token,
sTimeType: 4,
sStartTime: this.selTime[0],
sEndTime: this.selTime[1],
sStartTime: this.form.sStartTime,
sEndTime: this.form.sEndTime,
isExcel: 1,
};
getSalesSpecName1TypesBySedanE(obj).then(() => {
this.$notification.open({
message: `数据生成中`,
description: "请前往个人中心查看下载进度",
placement: "bottomRight",
});
let data = res.data;
window.open(data);
});
}
}

@ -65,16 +65,13 @@ export default {
let obj = {
token: this.form.token,
sTimeType: 4,
sStartTime: this.selTime[0],
sEndTime: this.selTime[1],
sStartTime: this.form.sStartTime,
sEndTime: this.form.sEndTime,
isExcel: 1,
};
getSalesSpecName1TypesByMpvE(obj).then(() => {
this.$notification.open({
message: `数据生成中`,
description: "请前往个人中心查看下载进度",
placement: "bottomRight",
});
let data = res.data;
window.open(data);
});
}
}

@ -65,16 +65,13 @@ export default {
let obj = {
token: this.form.token,
sTimeType: 4,
sStartTime: this.selTime[0],
sEndTime: this.selTime[1],
sStartTime: this.form.sStartTime,
sEndTime: this.form.sEndTime,
isExcel: 1,
};
getSalesSpecName1TypesBySuvE(obj).then(() => {
this.$notification.open({
message: `数据生成中`,
description: "请前往个人中心查看下载进度",
placement: "bottomRight",
});
let data = res.data;
window.open(data);
});
}
}

@ -100,16 +100,13 @@ export default {
let obj = {
token: this.form.token,
sTimeType: 4,
sStartTime: this.selTime[0],
sEndTime: this.selTime[1],
sStartTime: this.form.sStartTime,
sEndTime: this.form.sEndTime,
isExcel: 1,
};
getSalesSpecName1TypesE(obj).then(() => {
this.$notification.open({
message: `数据生成中`,
description: "请前往个人中心查看下载进度",
placement: "bottomRight",
});
let data = res.data;
window.open(data);
});
}
}

@ -84,11 +84,8 @@ export default {
isExcel: 1,
};
getSalesSpecNameTypesBySedanE(obj).then(() => {
this.$notification.open({
message: `数据生成中`,
description: "请前往个人中心查看下载进度",
placement: "bottomRight",
});
let data = res.data;
window.open(data);
});
}
}

@ -84,11 +84,8 @@ export default {
isExcel: 1,
};
getSalesSpecNameTypesByMpvE(obj).then(() => {
this.$notification.open({
message: `数据生成中`,
description: "请前往个人中心查看下载进度",
placement: "bottomRight",
});
let data = res.data;
window.open(data);
});
}
}

@ -84,11 +84,8 @@ export default {
isExcel: 1,
};
getSalesSpecNameTypesE(obj).then(() => {
this.$notification.open({
message: `数据生成中`,
description: "请前往个人中心查看下载进度",
placement: "bottomRight",
});
let data = res.data;
window.open(data);
});
}
}

@ -84,11 +84,8 @@ export default {
isExcel: 1,
};
getSalesSpecNameTypesBySuvE(obj).then(() => {
this.$notification.open({
message: `数据生成中`,
description: "请前往个人中心查看下载进度",
placement: "bottomRight",
});
let data = res.data;
window.open(data);
});
}
}

@ -103,11 +103,8 @@ export default {
isExcel: 1,
};
getSalesCountrysTypes(obj).then(() => {
this.$notification.open({
message: `数据生成中`,
description: "请前往个人中心查看下载进度",
placement: "bottomRight",
});
let data = res.data;
window.open(data);
});
}
}

@ -103,11 +103,8 @@ export default {
isExcel: 1,
};
getSalesSpecNameByPriceRange(obj).then(() => {
this.$notification.open({
message: `数据生成中`,
description: "请前往个人中心查看下载进度",
placement: "bottomRight",
});
let data = res.data;
window.open(data);
});
}
}

@ -97,11 +97,8 @@ export default {
isExcel: 1,
};
getSalesPriceRangeSBrand(obj).then(() => {
this.$notification.open({
message: `数据生成中`,
description: "请前往个人中心查看下载进度",
placement: "bottomRight",
});
let data = res.data;
window.open(data);
});
}
}

@ -105,11 +105,8 @@ export default {
isExcel: 1,
};
getSalesPriceRangeSTypes(obj).then(() => {
this.$notification.open({
message: `数据生成中`,
description: "请前往个人中心查看下载进度",
placement: "bottomRight",
});
let data = res.data;
window.open(data);
});
}
}

@ -84,11 +84,8 @@ export default {
isExcel: 1,
};
getSalesSpecNameTypesBySedan(obj).then(() => {
this.$notification.open({
message: `数据生成中`,
description: "请前往个人中心查看下载进度",
placement: "bottomRight",
});
let data = res.data;
window.open(data);
});
}
}

@ -84,11 +84,8 @@ export default {
isExcel: 1,
};
getSalesSpecNameTypesByMpv(obj).then(() => {
this.$notification.open({
message: `数据生成中`,
description: "请前往个人中心查看下载进度",
placement: "bottomRight",
});
let data = res.data;
window.open(data);
});
}
}

@ -84,11 +84,8 @@ export default {
isExcel: 1,
};
getSalesSpecNameTypes(obj).then(() => {
this.$notification.open({
message: `数据生成中`,
description: "请前往个人中心查看下载进度",
placement: "bottomRight",
});
let data = res.data;
window.open(data);
});
}
}

@ -84,11 +84,8 @@ export default {
isExcel: 1,
};
getSalesSpecNameTypesBySuv(obj).then(() => {
this.$notification.open({
message: `数据生成中`,
description: "请前往个人中心查看下载进度",
placement: "bottomRight",
});
let data = res.data;
window.open(data);
});
}
}

@ -65,16 +65,13 @@ export default {
let obj = {
token: this.form.token,
sTimeType: 4,
sStartTime: this.selTime[0],
sEndTime: this.selTime[1],
sStartTime: this.form.sStartTime,
sEndTime: this.form.sEndTime,
isExcel: 1,
};
getSalesSpecName1TypesBySedan(obj).then(() => {
this.$notification.open({
message: `数据生成中`,
description: "请前往个人中心查看下载进度",
placement: "bottomRight",
});
let data = res.data;
window.open(data);
});
}
}

@ -65,16 +65,13 @@ export default {
let obj = {
token: this.form.token,
sTimeType: 4,
sStartTime: this.selTime[0],
sEndTime: this.selTime[1],
sStartTime: this.form.sStartTime,
sEndTime: this.form.sEndTime,
isExcel: 1,
};
getSalesSpecName1TypesByMpv(obj).then(() => {
this.$notification.open({
message: `数据生成中`,
description: "请前往个人中心查看下载进度",
placement: "bottomRight",
});
let data = res.data;
window.open(data);
});
}
}

@ -65,16 +65,13 @@ export default {
let obj = {
token: this.form.token,
sTimeType: 4,
sStartTime: this.selTime[0],
sEndTime: this.selTime[1],
sStartTime: this.form.sStartTime,
sEndTime: this.form.sEndTime,
isExcel: 1,
};
getSalesSpecName1TypesBySuv(obj).then(() => {
this.$notification.open({
message: `数据生成中`,
description: "请前往个人中心查看下载进度",
placement: "bottomRight",
});
let data = res.data;
window.open(data);
});
}
}

@ -105,11 +105,8 @@ export default {
isExcel: 1,
};
getSalesSpecName1Types(obj).then(() => {
this.$notification.open({
message: `数据生成中`,
description: "请前往个人中心查看下载进度",
placement: "bottomRight",
});
let data = res.data;
window.open(data);
});
}
}

@ -144,8 +144,8 @@ export default {
isLoading: false,
dd: false, //
//
rootSubmenuKeys:['sub1', 'sub2', 'sub3'],
openKeys: ['sub1'],
rootSubmenuKeys:['sub1', 'sub2', 'sub3','sub4','sub5','sub6'],
openKeys: [],
form: {
token: '',
sStartTime: '',

Loading…
Cancel
Save