张雄 3 years ago
parent 9ffd592246
commit 611b0aa282

@ -11,6 +11,7 @@
<v-label-div title="内容分布"> <v-label-div title="内容分布">
<div> <div>
<v-tab-group <v-tab-group
v-if="form.ilimitType == 1 || form.ilimitType == 2"
:btns="['认证', '精华', '图文']" :btns="['认证', '精华', '图文']"
@change="handlerTab" @change="handlerTab"
></v-tab-group> ></v-tab-group>

@ -50,7 +50,7 @@ export default {
}, },
methods: { methods: {
getData() { getData() {
let obj = Object.assign({}, this.getCtime2, this.form); let obj = Object.assign({}, this.form);
// this.load = true; // this.load = true;
getList(obj).then(res => { getList(obj).then(res => {
let data = res.data; let data = res.data;

@ -11,6 +11,7 @@
<v-label-div title="内容分布"> <v-label-div title="内容分布">
<div> <div>
<v-tab-group <v-tab-group
v-if="form.ilimitType == 1 || form.ilimitType == 2"
:btns="['认证', '精华', '图文']" :btns="['认证', '精华', '图文']"
@change="handlerTab" @change="handlerTab"
></v-tab-group> ></v-tab-group>
@ -107,7 +108,7 @@ export default {
methods: { methods: {
// //
getData() { getData() {
let obj = Object.assign({}, this.getCtime2, this.form); let obj = Object.assign({}, this.form);
// this.load = true; // this.load = true;
getUserAttestationGroupBy(obj).then((res) => { getUserAttestationGroupBy(obj).then((res) => {
let data = res.data || {}; let data = res.data || {};
@ -141,20 +142,20 @@ export default {
handlerTab(n) { handlerTab(n) {
switch (n) { switch (n) {
case 0: case 0:
getUserAttestationGroupBy(Object.assign({}, this.getCtime2, this.form)).then((res) => { getUserAttestationGroupBy(Object.assign({}, this.form)).then((res) => {
let data = res.data || {}; let data = res.data || {};
this.doVal(data) this.doVal(data)
this.load = false; this.load = false;
}); });
case 1: case 1:
getIsjingGroupBy(Object.assign({}, this.getCtime2, this.form)).then((res) => { getIsjingGroupBy(Object.assign({}, this.form)).then((res) => {
let data = res.data || {}; let data = res.data || {};
this.doVal(data) this.doVal(data)
this.load = false; this.load = false;
}); });
break; break;
case 2: case 2:
getPicboolGroupBy(Object.assign({}, this.getCtime2, this.form)).then((res) => { getPicboolGroupBy(Object.assign({}, this.form)).then((res) => {
let data = res.data || {}; let data = res.data || {};
this.doVal(data) this.doVal(data)
this.load = false; this.load = false;

@ -54,7 +54,7 @@ export default {
methods: { methods: {
getData() { getData() {
// this.load = true; // this.load = true;
let obj = Object.assign({}, this.getCtime2, this.form); let obj = Object.assign({}, this.form);
getDirectWeiBo0528(obj).then(res => { getDirectWeiBo0528(obj).then(res => {
let data = res.data || []; let data = res.data || [];
let arr = []; let arr = [];

@ -83,7 +83,7 @@ export default {
methods: { methods: {
getData() { getData() {
this.load = true; this.load = true;
let obj = Object.assign({}, this.getCtime2, this.form); let obj = Object.assign({}, this.form);
getWtypeWeiBo0528(obj).then((res) => { getWtypeWeiBo0528(obj).then((res) => {
let data = res.data || []; let data = res.data || [];
this.doVal(data); this.doVal(data);

@ -53,7 +53,7 @@ export default {
methods: { methods: {
getData() { getData() {
this.load = true; this.load = true;
let obj = Object.assign({}, this.getCtime2, this.form); let obj = Object.assign({}, this.form);
getUserRegionGroupBy(obj).then((res) => { getUserRegionGroupBy(obj).then((res) => {
let data = res.data || {}; let data = res.data || {};
let dx = []; // let dx = []; //

@ -57,7 +57,7 @@ export default {
// //
getH() { getH() {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
let obj = Object.assign({}, this.getCtime2, this.form); let obj = Object.assign({}, this.form);
getHotWord(obj) getHotWord(obj)
.then((res) => { .then((res) => {
this.positiveData = res.data || {}; this.positiveData = res.data || {};

@ -11,6 +11,7 @@
<v-label-div title="内容分布"> <v-label-div title="内容分布">
<div> <div>
<v-tab-group <v-tab-group
v-if="form.ilimitType == 1 || form.ilimitType == 2"
:btns="['认证', '精华', '图文']" :btns="['认证', '精华', '图文']"
@change="handlerTab" @change="handlerTab"
></v-tab-group> ></v-tab-group>

@ -25,7 +25,7 @@
</template> </template>
<script> <script>
import {getTimeCount} from "@/api/KeyMediaBrand/index.js" import {getHomeTimeCount} from "@/api/KeyMediaHome/index.js"
import {doStr} from "@/utils/gol/dataTool" import {doStr} from "@/utils/gol/dataTool"
import createOpt from "./opt" import createOpt from "./opt"
export default { export default {
@ -50,7 +50,6 @@ export default {
//-*-// //-*-//
load: false, load: false,
form: { form: {
sBrand: "",
token: "", token: "",
sSource: '', sSource: '',
ilimitType: 0, ilimitType: 0,
@ -61,7 +60,6 @@ export default {
}, },
created() { created() {
this.form.token = this.getToken; this.form.token = this.getToken;
this.form.sBrand = this.getBrand.brandname || "奥迪";
this.form.sSource = this.$route.query.source || "抖音"; this.form.sSource = this.$route.query.source || "抖音";
if(this.form.sSource == '汽车之家') { if(this.form.sSource == '汽车之家') {
this.form.ilimitType = 1; this.form.ilimitType = 1;
@ -94,7 +92,7 @@ export default {
getData() { getData() {
this.load = true; this.load = true;
let obj = Object.assign({}, this.getCtime2, this.form); let obj = Object.assign({}, this.getCtime2, this.form);
getTimeCount(obj).then(res => { getHomeTimeCount(obj).then(res => {
let data = res.data || []; let data = res.data || [];
let dx = []; //time let dx = []; //time
let ds = []; //value let ds = []; //value

@ -11,6 +11,7 @@
<v-label-div title="内容分布"> <v-label-div title="内容分布">
<div> <div>
<v-tab-group <v-tab-group
v-if="form.ilimitType == 1 || form.ilimitType == 2"
:btns="['认证', '精华', '图文']" :btns="['认证', '精华', '图文']"
@change="handlerTab" @change="handlerTab"
></v-tab-group> ></v-tab-group>

@ -11,6 +11,7 @@
<v-label-div title="内容分布"> <v-label-div title="内容分布">
<div> <div>
<v-tab-group <v-tab-group
v-if="form.ilimitType == 1 || form.ilimitType == 2"
:btns="['认证', '精华', '图文']" :btns="['认证', '精华', '图文']"
@change="handlerTab" @change="handlerTab"
></v-tab-group> ></v-tab-group>

@ -26,7 +26,6 @@ export default {
token: "", token: "",
sSeriesName: "", sSeriesName: "",
}, },
opt: createOpt()
} }
}, },
} }

@ -27,7 +27,6 @@ export default {
token: "", token: "",
sSeriesName: "" sSeriesName: ""
}, },
opt: createOpt()
} }
}, },
}; };

@ -23,7 +23,6 @@ export default {
}, },
labelArr: [], labelArr: [],
total: 0, total: 0,
opt: createOpt(),
colors: [ colors: [
"#3373CC", "#3373CC",
"#54BF93", "#54BF93",

@ -37,10 +37,11 @@
<span class="s1">{{(qrCount-hyqrCount).toFixed(2)}} <span class="s1">{{(qrCount-hyqrCount).toFixed(2)}}
<a-tooltip placement="topRight"> <a-tooltip placement="topRight">
<template slot="title"> <template slot="title">
<div>千人发帖量算法</div> <div>千人发帖量算法</div>
<div>行业千人发帖量=[(行业所有车型主贴量*1000 ÷ 所有阅读量] ÷ 车型数量</div> <div>行业千人发帖量=行业所有车型主贴量×1000÷所有阅读量÷车型数量</div>
<div>千人发帖量=(车型主贴量*1000 ÷ 阅读量</div> <div>千人发帖量=车型主贴量×1000÷阅读量</div>
<div>千人发帖量量差=品牌千人发贴量-行业千人发帖量</div> <div>千人发帖量量差=品牌千人发帖量行业千人发帖量</div>
</template> </template>
<a-icon type="question-circle" style="margin-left: 0.3rem;color: #5a9ebc;" /> <a-icon type="question-circle" style="margin-left: 0.3rem;color: #5a9ebc;" />
</a-tooltip> </a-tooltip>
@ -62,10 +63,10 @@
<span class="s1">{{(replyCount-hyreplyCount).toFixed(2)}} <span class="s1">{{(replyCount-hyreplyCount).toFixed(2)}}
<a-tooltip placement="topRight"> <a-tooltip placement="topRight">
<template slot="title"> <template slot="title">
<div>千人发帖量算法</div> <div>千人评论量算法</div>
<div>行业千人评论量=[(行业所有车型评论量*1000 ÷ 所有阅读量] ÷ 车型数量</div> <div>行业千人评论量=行业所有车型评论量×1000÷所有阅读量÷车型数量</div>
<div>千人评论量=(车型主贴量*1000 ÷ 阅读量</div> <div>千人评论量=车型评论量×1000÷阅读量</div>
<div>千人评论量量差=品牌千人评论量-行业千人评论量</div> <div>千人评论量量差=品牌千人评论量行业千人评论量</div>
</template> </template>
<a-icon type="question-circle" style="margin-left: 0.3rem;color: #5a9ebc;" /> <a-icon type="question-circle" style="margin-left: 0.3rem;color: #5a9ebc;" />
</a-tooltip> </a-tooltip>

@ -1,11 +1,20 @@
<template> <template>
<div class="ttc-outter" :style="getIsLight?{background: '#FFF'}:{}"> <div class="tpsv-outter" :style="getIsLight?{background: '#FFF'}:{}">
<v-label-div v-if="!getIsLight" title="新能源车市场"> <v-label-div v-if="!getIsLight" title="新能源车">
<a-button type="primary" @click="report"></a-button> <a-button type="primary" @click="report"></a-button>
</v-label-div> </v-label-div>
<v-label-div-light v-else title="新能源车市场" class="lightSy"> <v-label-div-light v-else title="新能源车" class="lightSy">
<a-button type="primary" @click="report"></a-button> <a-button type="primary" @click="report"></a-button>
</v-label-div-light> </v-label-div-light>
<div class="d2">
<a-form-model :class="getIsLight?'lightSy':'dark'" layout="inline">
<a-form-model-item label="选择年份">
<a-select style="width: 146px" v-model="yearNumber" @change="yearChange">
<a-select-option v-for="(item,index) in yearList" :key="index" :value='item'>{{item}}</a-select-option>
</a-select>
</a-form-model-item>
</a-form-model>
</div>
<div v-if="!getIsLight" class="d3"> <div v-if="!getIsLight" class="d3">
<v-echarts :opt="opt"></v-echarts> <v-echarts :opt="opt"></v-echarts>
</div> </div>
@ -30,21 +39,33 @@ export default {
sStartTime: '', sStartTime: '',
sEndTime: '', sEndTime: '',
}, },
yearNumber: 0,
selTime: ['',''],
opt: {}, opt: {},
opt2: {}, opt2: {},
yearList: []
} }
}, },
created() { created() {
this.form.token = this.getToken; this.form.token = this.getToken;
getCheZhuLatestTime({token: this.form.token}).then(res => { getCheZhuLatestTime({token: this.form.token}).then(res => {
this.form.sStartTime = '2021-01';
this.form.sEndTime = res.data; this.form.sEndTime = res.data;
this.yearNumber = res.data.slice(0,4) * 1;
let currYear = res.data.slice(0,4) * 1;
this.yearList = [currYear, currYear-1, currYear-2 ,currYear-3 ,currYear-4]
this.form.sStartTime = (currYear-1) + '-01';
this.getData() this.getData()
}) })
}, },
methods: { methods: {
getData() { getData() {
getSalesGrowthRatioByFuel(this.form).then(res => { let obj = {
token: this.form.token,
sTimeType: 4,
sStartTime: this.form.sStartTime,
sEndTime: this.form.sEndTime,
}
getSalesGrowthRatioByFuel(obj).then(res => {
let data = res.data; let data = res.data;
let firstYearData = []; //0 - 11 count let firstYearData = []; //0 - 11 count
let secondYearData = []; //12+ count let secondYearData = []; //12+ count
@ -57,9 +78,9 @@ export default {
percent.push(data[i].YearOnYearGrowth) percent.push(data[i].YearOnYearGrowth)
} }
}; };
this.opt = createOpt(firstYearData,secondYearData,percent) this.opt = createOpt(firstYearData,secondYearData,percent,this.yearNumber)
this.opt2 = createOptLight(firstYearData,secondYearData,percent) this.opt2 = createOptLight(firstYearData,secondYearData,percent,this.yearNumber)
}) });
}, },
report() { report() {
let obj = { let obj = {
@ -73,15 +94,20 @@ export default {
let data = res.data; let data = res.data;
window.open(data); window.open(data);
}) })
},
yearChange() {
this.form.sStartTime = (this.yearNumber-1) + '-01';
this.form.sEndTime = (this.yearNumber) + '-12';
this.getData()
} }
} }
} }
</script> </script>
<style lang="less"> <style lang="less">
.ttc-outter { .tpsv-outter {
width: 1552px; width: 1552px;
height: 492px; height: 532px;
margin-top: 16px; margin-top: 16px;
border: 2px solid #0f2a4d; border: 2px solid #0f2a4d;
.d2 { .d2 {
@ -92,7 +118,7 @@ export default {
.d3 { .d3 {
// padding: 0px 16px 16px 16px; // padding: 0px 16px 16px 16px;
width: 100%; width: 100%;
height: calc(100% - 48px); height: calc(100% - 96px);
} }
} }
</style> </style>

@ -1,7 +1,7 @@
import { bigNumberTransform } from "@/utils/gol/dataTool" import { bigNumberTransform } from "@/utils/gol/dataTool"
import * as echarts from "echarts"; import * as echarts from "echarts";
export default function createOpt(firstData = [], secondData = [], percent = []) { export default function createOpt(firstData = [], secondData = [], percent = [], yearNumber) {
return { return {
tooltip: { tooltip: {
trigger: "axis", trigger: "axis",
@ -73,7 +73,7 @@ export default function createOpt(firstData = [], secondData = [], percent = [])
], ],
series: [ series: [
{ {
name: '2021', name: yearNumber - 1,
type: 'bar', type: 'bar',
barWidth: 20, barWidth: 20,
tooltip: { tooltip: {
@ -107,7 +107,7 @@ export default function createOpt(firstData = [], secondData = [], percent = [])
data: firstData data: firstData
}, },
{ {
name: '2022', name: yearNumber,
type: 'bar', type: 'bar',
barWidth: 20, barWidth: 20,
tooltip: { tooltip: {

@ -1,7 +1,7 @@
import { bigNumberTransform } from "@/utils/gol/dataTool" import { bigNumberTransform } from "@/utils/gol/dataTool"
import * as echarts from "echarts"; import * as echarts from "echarts";
export default function createOptLight(firstData = [], secondData = [], percent = []) { export default function createOptLight(firstData = [], secondData = [], percent = [], yearNumber) {
return { return {
tooltip: { tooltip: {
trigger: "axis", trigger: "axis",
@ -73,7 +73,7 @@ export default function createOptLight(firstData = [], secondData = [], percent
], ],
series: [ series: [
{ {
name: '2021', name: yearNumber - 1,
type: 'bar', type: 'bar',
barWidth: 20, barWidth: 20,
tooltip: { tooltip: {
@ -107,7 +107,7 @@ export default function createOptLight(firstData = [], secondData = [], percent
data: firstData data: firstData
}, },
{ {
name: '2022', name: yearNumber,
type: 'bar', type: 'bar',
barWidth: 20, barWidth: 20,
tooltip: { tooltip: {

@ -6,6 +6,15 @@
<v-label-div-light v-else title="狭义乘用车" class="lightSy"> <v-label-div-light v-else title="狭义乘用车" class="lightSy">
<a-button type="primary" @click="report"></a-button> <a-button type="primary" @click="report"></a-button>
</v-label-div-light> </v-label-div-light>
<div class="d2">
<a-form-model :class="getIsLight?'lightSy':'dark'" layout="inline">
<a-form-model-item label="选择年份">
<a-select style="width: 146px" v-model="yearNumber" @change="yearChange">
<a-select-option v-for="(item,index) in yearList" :key="index" :value='item'>{{item}}</a-select-option>
</a-select>
</a-form-model-item>
</a-form-model>
</div>
<div v-if="!getIsLight" class="d3"> <div v-if="!getIsLight" class="d3">
<v-echarts :opt="opt"></v-echarts> <v-echarts :opt="opt"></v-echarts>
</div> </div>
@ -30,21 +39,33 @@ export default {
sStartTime: '', sStartTime: '',
sEndTime: '', sEndTime: '',
}, },
yearNumber: 0,
selTime: ['',''],
opt: {}, opt: {},
opt2: {}, opt2: {},
yearList: []
} }
}, },
created() { created() {
this.form.token = this.getToken; this.form.token = this.getToken;
getCheZhuLatestTime({token: this.form.token}).then(res => { getCheZhuLatestTime({token: this.form.token}).then(res => {
this.form.sStartTime = '2021-01';
this.form.sEndTime = res.data; this.form.sEndTime = res.data;
this.yearNumber = res.data.slice(0,4) * 1;
let currYear = res.data.slice(0,4) * 1;
this.yearList = [currYear, currYear-1, currYear-2 ,currYear-3 ,currYear-4]
this.form.sStartTime = (currYear-1) + '-01';
this.getData() this.getData()
}) })
}, },
methods: { methods: {
getData() { getData() {
getSalesGrowthRatio(this.form).then(res => { let obj = {
token: this.form.token,
sTimeType: 4,
sStartTime: this.form.sStartTime,
sEndTime: this.form.sEndTime,
}
getSalesGrowthRatio(obj).then(res => {
let data = res.data; let data = res.data;
let firstYearData = []; //0 - 11 count let firstYearData = []; //0 - 11 count
let secondYearData = []; //12+ count let secondYearData = []; //12+ count
@ -57,8 +78,8 @@ export default {
percent.push(data[i].YearOnYearGrowth) percent.push(data[i].YearOnYearGrowth)
} }
}; };
this.opt = createOpt(firstYearData,secondYearData,percent) this.opt = createOpt(firstYearData,secondYearData,percent,this.yearNumber)
this.opt2 = createOptLight(firstYearData,secondYearData,percent) this.opt2 = createOptLight(firstYearData,secondYearData,percent,this.yearNumber)
}); });
}, },
report() { report() {
@ -73,6 +94,11 @@ export default {
let data = res.data; let data = res.data;
window.open(data); window.open(data);
}) })
},
yearChange() {
this.form.sStartTime = (this.yearNumber-1) + '-01';
this.form.sEndTime = (this.yearNumber) + '-12';
this.getData()
} }
} }
} }
@ -81,7 +107,7 @@ export default {
<style lang="less"> <style lang="less">
.tpsv-outter { .tpsv-outter {
width: 1552px; width: 1552px;
height: 492px; height: 532px;
margin-top: 16px; margin-top: 16px;
border: 2px solid #0f2a4d; border: 2px solid #0f2a4d;
.d2 { .d2 {
@ -92,7 +118,7 @@ export default {
.d3 { .d3 {
// padding: 0px 16px 16px 16px; // padding: 0px 16px 16px 16px;
width: 100%; width: 100%;
height: calc(100% - 48px); height: calc(100% - 96px);
} }
} }
</style> </style>

@ -1,7 +1,7 @@
import { bigNumberTransform } from "@/utils/gol/dataTool" import { bigNumberTransform } from "@/utils/gol/dataTool"
import * as echarts from "echarts"; import * as echarts from "echarts";
export default function createOpt(firstData = [], secondData = [], percent = []) { export default function createOpt(firstData = [], secondData = [], percent = [], yearNumber) {
return { return {
tooltip: { tooltip: {
trigger: "axis", trigger: "axis",
@ -73,7 +73,7 @@ export default function createOpt(firstData = [], secondData = [], percent = [])
], ],
series: [ series: [
{ {
name: '2021', name: yearNumber - 1,
type: 'bar', type: 'bar',
barWidth: 20, barWidth: 20,
tooltip: { tooltip: {
@ -107,7 +107,7 @@ export default function createOpt(firstData = [], secondData = [], percent = [])
data: firstData data: firstData
}, },
{ {
name: '2022', name: yearNumber,
type: 'bar', type: 'bar',
barWidth: 20, barWidth: 20,
tooltip: { tooltip: {

@ -1,7 +1,7 @@
import { bigNumberTransform } from "@/utils/gol/dataTool" import { bigNumberTransform } from "@/utils/gol/dataTool"
import * as echarts from "echarts"; import * as echarts from "echarts";
export default function createOptLight(firstData = [], secondData = [], percent = []) { export default function createOptLight(firstData = [], secondData = [], percent = [], yearNumber) {
return { return {
tooltip: { tooltip: {
trigger: "axis", trigger: "axis",
@ -73,7 +73,7 @@ export default function createOptLight(firstData = [], secondData = [], percent
], ],
series: [ series: [
{ {
name: '2021', name: yearNumber - 1,
type: 'bar', type: 'bar',
barWidth: 20, barWidth: 20,
tooltip: { tooltip: {
@ -107,7 +107,7 @@ export default function createOptLight(firstData = [], secondData = [], percent
data: firstData data: firstData
}, },
{ {
name: '2022', name: yearNumber,
type: 'bar', type: 'bar',
barWidth: 20, barWidth: 20,
tooltip: { tooltip: {

@ -11,8 +11,8 @@
<div class="d2"> <div class="d2">
<a-form-model :class="getIsLight?'lightSy':'dark'" layout="inline"> <a-form-model :class="getIsLight?'lightSy':'dark'" layout="inline">
<a-form-model-item label="选择日期"> <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" @change="getData" :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-month-picker style="width: 146px" @change="getData" :allowClear="false" v-model="selTime[1]" valueFormat="YYYY-MM" placeholder="结束日期"></a-month-picker>
</a-form-model-item> </a-form-model-item>
</a-form-model> </a-form-model>
</div> </div>

@ -11,7 +11,7 @@ import {doStr} from "@/utils/gol/dataTool"
import { bigNumberTransform } 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 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 = ['rgba(84,111,197,0.6)', 'rgba(145,203,116,0.6)', 'rgba(90,203,156,0.6)', '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 colors2 = ['rgba(84,111,197,0.6)', 'rgba(145,203,116,0.6)', 'rgba(90,203,156,0.6)', '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 = ['#5B8FF9','#7DAAFF','#9AC5FF','#B9E2FF','#3A9EC0','#5BB9DB','#78D4F8','#63AECC','#19A576','#43C090','#43C090','#9DF5CA'] 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 = []) { function createData(ds = []) {
let arr = []; let arr = [];
for (let i = 0; i < ds.length; i++) { for (let i = 0; i < ds.length; i++) {

@ -11,7 +11,7 @@ import {doStr} from "@/utils/gol/dataTool"
import { bigNumberTransform } 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 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 = ['rgba(84,111,197,0.6)', 'rgba(145,203,116,0.6)', 'rgba(90,203,156,0.6)', '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 colors2 = ['rgba(84,111,197,0.6)', 'rgba(145,203,116,0.6)', 'rgba(90,203,156,0.6)', '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 = ['#5B8FF9','#7DAAFF','#9AC5FF','#B9E2FF','#3A9EC0','#5BB9DB','#78D4F8','#63AECC','#19A576','#43C090','#43C090','#9DF5CA'] 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 = []) { function createData(ds = []) {
let arr = []; let arr = [];
for (let i = 0; i < ds.length; i++) { for (let i = 0; i < ds.length; i++) {

@ -1,11 +1,20 @@
<template> <template>
<div class="ttc-outter" :style="getIsLight?{background: '#FFF'}:{}"> <div class="ttc-outter" :style="getIsLight?{background: '#FFF'}:{}">
<v-label-div v-if="!getIsLight" title="传统燃油车市场"> <v-label-div v-if="!getIsLight" title="传统燃油车">
<a-button type="primary" @click="report"></a-button> <a-button type="primary" @click="report"></a-button>
</v-label-div> </v-label-div>
<v-label-div-light v-else title="传统燃油车市场" class="lightSy"> <v-label-div-light v-else title="传统燃油车" class="lightSy">
<a-button type="primary" @click="report"></a-button> <a-button type="primary" @click="report"></a-button>
</v-label-div-light> </v-label-div-light>
<div class="d2">
<a-form-model :class="getIsLight?'lightSy':'dark'" layout="inline">
<a-form-model-item label="选择年份">
<a-select style="width: 146px" v-model="yearNumber" @change="yearChange">
<a-select-option v-for="(item,index) in yearList" :key="index" :value='item'>{{item}}</a-select-option>
</a-select>
</a-form-model-item>
</a-form-model>
</div>
<div v-if="!getIsLight" class="d3"> <div v-if="!getIsLight" class="d3">
<v-echarts :opt="opt"></v-echarts> <v-echarts :opt="opt"></v-echarts>
</div> </div>
@ -30,21 +39,33 @@ export default {
sStartTime: '', sStartTime: '',
sEndTime: '', sEndTime: '',
}, },
yearNumber: 0,
selTime: ['',''],
opt: {}, opt: {},
opt2: {}, opt2: {},
yearList: []
} }
}, },
created() { created() {
this.form.token = this.getToken; this.form.token = this.getToken;
getCheZhuLatestTime({token: this.form.token}).then(res => { getCheZhuLatestTime({token: this.form.token}).then(res => {
this.form.sStartTime = '2021-01';
this.form.sEndTime = res.data; this.form.sEndTime = res.data;
this.yearNumber = res.data.slice(0,4) * 1;
let currYear = res.data.slice(0,4) * 1;
this.yearList = [currYear, currYear-1, currYear-2 ,currYear-3 ,currYear-4]
this.form.sStartTime = (currYear-1) + '-01';
this.getData() this.getData()
}) })
}, },
methods: { methods: {
getData() { getData() {
getSalesGrowthRatioByFuel(this.form).then(res => { let obj = {
token: this.form.token,
sTimeType: 4,
sStartTime: this.form.sStartTime,
sEndTime: this.form.sEndTime,
}
getSalesGrowthRatioByFuel(obj).then(res => {
let data = res.data; let data = res.data;
let firstYearData = []; //0 - 11 count let firstYearData = []; //0 - 11 count
let secondYearData = []; //12+ count let secondYearData = []; //12+ count
@ -57,9 +78,9 @@ export default {
percent.push(data[i].YearOnYearGrowth) percent.push(data[i].YearOnYearGrowth)
} }
}; };
this.opt = createOpt(firstYearData,secondYearData,percent) this.opt = createOpt(firstYearData,secondYearData,percent,this.yearNumber)
this.opt2 = createOptLight(firstYearData,secondYearData,percent) this.opt2 = createOptLight(firstYearData,secondYearData,percent,this.yearNumber)
}) });
}, },
report() { report() {
let obj = { let obj = {
@ -73,6 +94,11 @@ export default {
let data = res.data; let data = res.data;
window.open(data); window.open(data);
}) })
},
yearChange() {
this.form.sStartTime = (this.yearNumber-1) + '-01';
this.form.sEndTime = (this.yearNumber) + '-12';
this.getData()
} }
} }
} }
@ -81,7 +107,7 @@ export default {
<style lang="less"> <style lang="less">
.ttc-outter { .ttc-outter {
width: 1552px; width: 1552px;
height: 492px; height: 532px;
margin-top: 16px; margin-top: 16px;
border: 2px solid #0f2a4d; border: 2px solid #0f2a4d;
.d2 { .d2 {
@ -92,7 +118,7 @@ export default {
.d3 { .d3 {
// padding: 0px 16px 16px 16px; // padding: 0px 16px 16px 16px;
width: 100%; width: 100%;
height: calc(100% - 48px); height: calc(100% - 96px);
} }
} }
</style> </style>

@ -1,7 +1,7 @@
import { bigNumberTransform } from "@/utils/gol/dataTool" import { bigNumberTransform } from "@/utils/gol/dataTool"
import * as echarts from "echarts"; import * as echarts from "echarts";
export default function createOpt(firstData = [], secondData = [], percent = []) { export default function createOpt(firstData = [], secondData = [], percent = [], yearNumber) {
return { return {
tooltip: { tooltip: {
trigger: "axis", trigger: "axis",
@ -73,7 +73,7 @@ export default function createOpt(firstData = [], secondData = [], percent = [])
], ],
series: [ series: [
{ {
name: '2021', name: yearNumber - 1,
type: 'bar', type: 'bar',
barWidth: 20, barWidth: 20,
tooltip: { tooltip: {
@ -107,7 +107,7 @@ export default function createOpt(firstData = [], secondData = [], percent = [])
data: firstData data: firstData
}, },
{ {
name: '2022', name: yearNumber,
type: 'bar', type: 'bar',
barWidth: 20, barWidth: 20,
tooltip: { tooltip: {

@ -1,7 +1,7 @@
import { bigNumberTransform } from "@/utils/gol/dataTool" import { bigNumberTransform } from "@/utils/gol/dataTool"
import * as echarts from "echarts"; import * as echarts from "echarts";
export default function createOptLight(firstData = [], secondData = [], percent = []) { export default function createOptLight(firstData = [], secondData = [], percent = [], yearNumber) {
return { return {
tooltip: { tooltip: {
trigger: "axis", trigger: "axis",
@ -73,7 +73,7 @@ export default function createOptLight(firstData = [], secondData = [], percent
], ],
series: [ series: [
{ {
name: '2021', name: yearNumber - 1,
type: 'bar', type: 'bar',
barWidth: 20, barWidth: 20,
tooltip: { tooltip: {
@ -107,7 +107,7 @@ export default function createOptLight(firstData = [], secondData = [], percent
data: firstData data: firstData
}, },
{ {
name: '2022', name: yearNumber,
type: 'bar', type: 'bar',
barWidth: 20, barWidth: 20,
tooltip: { tooltip: {

@ -1,17 +1,26 @@
<template> <template>
<div class="ttc-outter" :style="getIsLight?{background: '#FFF'}:{}"> <div class="tpsv-outter" :style="getIsLight?{background: '#FFF'}:{}">
<v-label-div v-if="!getIsLight" title="新能源轿车销量"> <v-label-div v-if="!getIsLight" title="新能源轿车销量">
<a-button type="primary" @click="report"></a-button> <a-button type="primary" @click="report"></a-button>
</v-label-div> </v-label-div>
<v-label-div-light v-else title="新能源轿车销量" class="lightSy"> <v-label-div-light v-else title="新能源轿车销量" class="lightSy">
<a-button type="primary" @click="report"></a-button> <a-button type="primary" @click="report"></a-button>
</v-label-div-light> </v-label-div-light>
<div class="d3" v-if="getIsLight"> <div class="d2">
<v-echarts :opt="opt2"></v-echarts> <a-form-model :class="getIsLight?'lightSy':'dark'" layout="inline">
<a-form-model-item label="选择年份">
<a-select style="width: 146px" v-model="yearNumber" @change="yearChange">
<a-select-option v-for="(item,index) in yearList" :key="index" :value='item'>{{item}}</a-select-option>
</a-select>
</a-form-model-item>
</a-form-model>
</div> </div>
<div class="d3" v-else> <div v-if="!getIsLight" class="d3">
<v-echarts :opt="opt"></v-echarts> <v-echarts :opt="opt"></v-echarts>
</div> </div>
<div v-else class="d3">
<v-echarts :opt="opt2"></v-echarts>
</div>
</div> </div>
</template> </template>
@ -30,21 +39,33 @@ export default {
sStartTime: '', sStartTime: '',
sEndTime: '', sEndTime: '',
}, },
yearNumber: 0,
selTime: ['',''],
opt: {}, opt: {},
opt2: {}, opt2: {},
yearList: []
} }
}, },
created() { created() {
this.form.token = this.getToken; this.form.token = this.getToken;
getCheZhuLatestTime({token: this.form.token}).then(res => { getCheZhuLatestTime({token: this.form.token}).then(res => {
this.form.sStartTime = '2021-01';
this.form.sEndTime = res.data; this.form.sEndTime = res.data;
this.yearNumber = res.data.slice(0,4) * 1;
let currYear = res.data.slice(0,4) * 1;
this.yearList = [currYear, currYear-1, currYear-2 ,currYear-3 ,currYear-4]
this.form.sStartTime = (currYear-1) + '-01';
this.getData() this.getData()
}) })
}, },
methods: { methods: {
getData() { getData() {
getSalesSpecName1TypesBySedanE(this.form).then(res => { let obj = {
token: this.form.token,
sTimeType: 4,
sStartTime: this.form.sStartTime,
sEndTime: this.form.sEndTime,
}
getSalesSpecName1TypesBySedanE(obj).then(res => {
let data = res.data; let data = res.data;
let firstYearData = []; //0 - 11 count let firstYearData = []; //0 - 11 count
let secondYearData = []; //12+ count let secondYearData = []; //12+ count
@ -57,9 +78,9 @@ export default {
percent.push(data[i].YearOnYearGrowth) percent.push(data[i].YearOnYearGrowth)
} }
}; };
this.opt = createOpt(firstYearData,secondYearData,percent) this.opt = createOpt(firstYearData,secondYearData,percent,this.yearNumber)
this.opt2 = createOptLight(firstYearData,secondYearData,percent) this.opt2 = createOptLight(firstYearData,secondYearData,percent,this.yearNumber)
}) });
}, },
report() { report() {
let obj = { let obj = {
@ -69,19 +90,24 @@ export default {
sEndTime: this.form.sEndTime, sEndTime: this.form.sEndTime,
isExcel: 1, isExcel: 1,
}; };
getSalesSpecName1TypesBySedanE(obj).then(() => { getSalesSpecName1TypesBySedanE(obj).then(res => {
let data = res.data; let data = res.data;
window.open(data); window.open(data);
}); })
},
yearChange() {
this.form.sStartTime = (this.yearNumber-1) + '-01';
this.form.sEndTime = (this.yearNumber) + '-12';
this.getData()
} }
} }
} }
</script> </script>
<style lang="less"> <style lang="less">
.ttc-outter { .tpsv-outter {
width: 1552px; width: 1552px;
height: 492px; height: 532px;
margin-top: 16px; margin-top: 16px;
border: 2px solid #0f2a4d; border: 2px solid #0f2a4d;
.d2 { .d2 {
@ -92,7 +118,7 @@ export default {
.d3 { .d3 {
// padding: 0px 16px 16px 16px; // padding: 0px 16px 16px 16px;
width: 100%; width: 100%;
height: calc(100% - 48px); height: calc(100% - 96px);
} }
} }
</style> </style>

@ -1,7 +1,7 @@
import { bigNumberTransform } from "@/utils/gol/dataTool" import { bigNumberTransform } from "@/utils/gol/dataTool"
import * as echarts from "echarts"; import * as echarts from "echarts";
export default function createOpt(firstData = [], secondData = [], percent = []) { export default function createOpt(firstData = [], secondData = [], percent = [], yearNumber) {
return { return {
tooltip: { tooltip: {
trigger: "axis", trigger: "axis",
@ -73,7 +73,7 @@ export default function createOpt(firstData = [], secondData = [], percent = [])
], ],
series: [ series: [
{ {
name: '2021', name: yearNumber - 1,
type: 'bar', type: 'bar',
barWidth: 20, barWidth: 20,
tooltip: { tooltip: {
@ -107,7 +107,7 @@ export default function createOpt(firstData = [], secondData = [], percent = [])
data: firstData data: firstData
}, },
{ {
name: '2022', name: yearNumber,
type: 'bar', type: 'bar',
barWidth: 20, barWidth: 20,
tooltip: { tooltip: {

@ -1,7 +1,7 @@
import { bigNumberTransform } from "@/utils/gol/dataTool" import { bigNumberTransform } from "@/utils/gol/dataTool"
import * as echarts from "echarts"; import * as echarts from "echarts";
export default function createOptLight(firstData = [], secondData = [], percent = []) { export default function createOptLight(firstData = [], secondData = [], percent = [], yearNumber) {
return { return {
tooltip: { tooltip: {
trigger: "axis", trigger: "axis",
@ -73,7 +73,7 @@ export default function createOptLight(firstData = [], secondData = [], percent
], ],
series: [ series: [
{ {
name: '2021', name: yearNumber - 1,
type: 'bar', type: 'bar',
barWidth: 20, barWidth: 20,
tooltip: { tooltip: {
@ -107,7 +107,7 @@ export default function createOptLight(firstData = [], secondData = [], percent
data: firstData data: firstData
}, },
{ {
name: '2022', name: yearNumber,
type: 'bar', type: 'bar',
barWidth: 20, barWidth: 20,
tooltip: { tooltip: {

@ -6,12 +6,21 @@
<v-label-div-light v-else title="新能源MPV销量" class="lightSy"> <v-label-div-light v-else title="新能源MPV销量" class="lightSy">
<a-button type="primary" @click="report"></a-button> <a-button type="primary" @click="report"></a-button>
</v-label-div-light> </v-label-div-light>
<div class="d3" v-if="getIsLight"> <div class="d2">
<v-echarts :opt="opt2"></v-echarts> <a-form-model :class="getIsLight?'lightSy':'dark'" layout="inline">
<a-form-model-item label="选择年份">
<a-select style="width: 146px" v-model="yearNumber" @change="yearChange">
<a-select-option v-for="(item,index) in yearList" :key="index" :value='item'>{{item}}</a-select-option>
</a-select>
</a-form-model-item>
</a-form-model>
</div> </div>
<div class="d3" v-else> <div v-if="!getIsLight" class="d3">
<v-echarts :opt="opt"></v-echarts> <v-echarts :opt="opt"></v-echarts>
</div> </div>
<div v-else class="d3">
<v-echarts :opt="opt2"></v-echarts>
</div>
</div> </div>
</template> </template>
@ -30,21 +39,33 @@ export default {
sStartTime: '', sStartTime: '',
sEndTime: '', sEndTime: '',
}, },
yearNumber: 0,
selTime: ['',''],
opt: {}, opt: {},
opt2: {}, opt2: {},
yearList: []
} }
}, },
created() { created() {
this.form.token = this.getToken; this.form.token = this.getToken;
getCheZhuLatestTime({token: this.form.token}).then(res => { getCheZhuLatestTime({token: this.form.token}).then(res => {
this.form.sStartTime = '2021-01';
this.form.sEndTime = res.data; this.form.sEndTime = res.data;
this.yearNumber = res.data.slice(0,4) * 1;
let currYear = res.data.slice(0,4) * 1;
this.yearList = [currYear, currYear-1, currYear-2 ,currYear-3 ,currYear-4]
this.form.sStartTime = (currYear-1) + '-01';
this.getData() this.getData()
}) })
}, },
methods: { methods: {
getData() { getData() {
getSalesSpecName1TypesByMpvE(this.form).then(res => { let obj = {
token: this.form.token,
sTimeType: 4,
sStartTime: this.form.sStartTime,
sEndTime: this.form.sEndTime,
}
getSalesSpecName1TypesByMpvE(obj).then(res => {
let data = res.data; let data = res.data;
let firstYearData = []; //0 - 11 count let firstYearData = []; //0 - 11 count
let secondYearData = []; //12+ count let secondYearData = []; //12+ count
@ -57,9 +78,9 @@ export default {
percent.push(data[i].YearOnYearGrowth) percent.push(data[i].YearOnYearGrowth)
} }
}; };
this.opt = createOpt(firstYearData,secondYearData,percent); this.opt = createOpt(firstYearData,secondYearData,percent,this.yearNumber)
this.opt2 = createOptLight(firstYearData,secondYearData,percent) this.opt2 = createOptLight(firstYearData,secondYearData,percent,this.yearNumber)
}) });
}, },
report() { report() {
let obj = { let obj = {
@ -69,10 +90,15 @@ export default {
sEndTime: this.form.sEndTime, sEndTime: this.form.sEndTime,
isExcel: 1, isExcel: 1,
}; };
getSalesSpecName1TypesByMpvE(obj).then(() => { getSalesSpecName1TypesByMpvE(obj).then(res => {
let data = res.data; let data = res.data;
window.open(data); window.open(data);
}); })
},
yearChange() {
this.form.sStartTime = (this.yearNumber-1) + '-01';
this.form.sEndTime = (this.yearNumber) + '-12';
this.getData()
} }
} }
} }
@ -81,7 +107,7 @@ export default {
<style lang="less"> <style lang="less">
.tpsv-outter { .tpsv-outter {
width: 1552px; width: 1552px;
height: 492px; height: 532px;
margin-top: 16px; margin-top: 16px;
border: 2px solid #0f2a4d; border: 2px solid #0f2a4d;
.d2 { .d2 {
@ -92,7 +118,7 @@ export default {
.d3 { .d3 {
// padding: 0px 16px 16px 16px; // padding: 0px 16px 16px 16px;
width: 100%; width: 100%;
height: calc(100% - 48px); height: calc(100% - 96px);
} }
} }
</style> </style>

@ -1,7 +1,7 @@
import { bigNumberTransform } from "@/utils/gol/dataTool" import { bigNumberTransform } from "@/utils/gol/dataTool"
import * as echarts from "echarts"; import * as echarts from "echarts";
export default function createOpt(firstData = [], secondData = [], percent = []) { export default function createOpt(firstData = [], secondData = [], percent = [], yearNumber) {
return { return {
tooltip: { tooltip: {
trigger: "axis", trigger: "axis",
@ -73,7 +73,7 @@ export default function createOpt(firstData = [], secondData = [], percent = [])
], ],
series: [ series: [
{ {
name: '2021', name: yearNumber - 1,
type: 'bar', type: 'bar',
barWidth: 20, barWidth: 20,
tooltip: { tooltip: {
@ -107,7 +107,7 @@ export default function createOpt(firstData = [], secondData = [], percent = [])
data: firstData data: firstData
}, },
{ {
name: '2022', name: yearNumber,
type: 'bar', type: 'bar',
barWidth: 20, barWidth: 20,
tooltip: { tooltip: {

@ -1,7 +1,7 @@
import { bigNumberTransform } from "@/utils/gol/dataTool" import { bigNumberTransform } from "@/utils/gol/dataTool"
import * as echarts from "echarts"; import * as echarts from "echarts";
export default function createOptLight(firstData = [], secondData = [], percent = []) { export default function createOptLight(firstData = [], secondData = [], percent = [], yearNumber) {
return { return {
tooltip: { tooltip: {
trigger: "axis", trigger: "axis",
@ -73,7 +73,7 @@ export default function createOptLight(firstData = [], secondData = [], percent
], ],
series: [ series: [
{ {
name: '2021', name: yearNumber - 1,
type: 'bar', type: 'bar',
barWidth: 20, barWidth: 20,
tooltip: { tooltip: {
@ -107,7 +107,7 @@ export default function createOptLight(firstData = [], secondData = [], percent
data: firstData data: firstData
}, },
{ {
name: '2022', name: yearNumber,
type: 'bar', type: 'bar',
barWidth: 20, barWidth: 20,
tooltip: { tooltip: {

@ -6,12 +6,21 @@
<v-label-div-light v-else title="新能源SUV销量" class="lightSy"> <v-label-div-light v-else title="新能源SUV销量" class="lightSy">
<a-button type="primary" @click="report"></a-button> <a-button type="primary" @click="report"></a-button>
</v-label-div-light> </v-label-div-light>
<div class="d3" v-if="getIsLight"> <div class="d2">
<v-echarts :opt="opt2"></v-echarts> <a-form-model :class="getIsLight?'lightSy':'dark'" layout="inline">
<a-form-model-item label="选择年份">
<a-select style="width: 146px" v-model="yearNumber" @change="yearChange">
<a-select-option v-for="(item,index) in yearList" :key="index" :value='item'>{{item}}</a-select-option>
</a-select>
</a-form-model-item>
</a-form-model>
</div> </div>
<div class="d3" v-else> <div v-if="!getIsLight" class="d3">
<v-echarts :opt="opt"></v-echarts> <v-echarts :opt="opt"></v-echarts>
</div> </div>
<div v-else class="d3">
<v-echarts :opt="opt2"></v-echarts>
</div>
</div> </div>
</template> </template>
@ -30,21 +39,33 @@ export default {
sStartTime: '', sStartTime: '',
sEndTime: '', sEndTime: '',
}, },
yearNumber: 0,
selTime: ['',''],
opt: {}, opt: {},
opt2: {}, opt2: {},
yearList: []
} }
}, },
created() { created() {
this.form.token = this.getToken; this.form.token = this.getToken;
getCheZhuLatestTime({token: this.form.token}).then(res => { getCheZhuLatestTime({token: this.form.token}).then(res => {
this.form.sStartTime = '2021-01';
this.form.sEndTime = res.data; this.form.sEndTime = res.data;
this.yearNumber = res.data.slice(0,4) * 1;
let currYear = res.data.slice(0,4) * 1;
this.yearList = [currYear, currYear-1, currYear-2 ,currYear-3 ,currYear-4]
this.form.sStartTime = (currYear-1) + '-01';
this.getData() this.getData()
}) })
}, },
methods: { methods: {
getData() { getData() {
getSalesSpecName1TypesBySuvE(this.form).then(res => { let obj = {
token: this.form.token,
sTimeType: 4,
sStartTime: this.form.sStartTime,
sEndTime: this.form.sEndTime,
}
getSalesSpecName1TypesBySuvE(obj).then(res => {
let data = res.data; let data = res.data;
let firstYearData = []; //0 - 11 count let firstYearData = []; //0 - 11 count
let secondYearData = []; //12+ count let secondYearData = []; //12+ count
@ -57,9 +78,9 @@ export default {
percent.push(data[i].YearOnYearGrowth) percent.push(data[i].YearOnYearGrowth)
} }
}; };
this.opt = createOpt(firstYearData,secondYearData,percent) this.opt = createOpt(firstYearData,secondYearData,percent,this.yearNumber)
this.opt2 = createOptLight(firstYearData,secondYearData,percent) this.opt2 = createOptLight(firstYearData,secondYearData,percent,this.yearNumber)
}) });
}, },
report() { report() {
let obj = { let obj = {
@ -69,10 +90,15 @@ export default {
sEndTime: this.form.sEndTime, sEndTime: this.form.sEndTime,
isExcel: 1, isExcel: 1,
}; };
getSalesSpecName1TypesBySuvE(obj).then(() => { getSalesSpecName1TypesBySuvE(obj).then(res => {
let data = res.data; let data = res.data;
window.open(data); window.open(data);
}); })
},
yearChange() {
this.form.sStartTime = (this.yearNumber-1) + '-01';
this.form.sEndTime = (this.yearNumber) + '-12';
this.getData()
} }
} }
} }
@ -81,7 +107,7 @@ export default {
<style lang="less"> <style lang="less">
.tpsv-outter { .tpsv-outter {
width: 1552px; width: 1552px;
height: 492px; height: 532px;
margin-top: 16px; margin-top: 16px;
border: 2px solid #0f2a4d; border: 2px solid #0f2a4d;
.d2 { .d2 {
@ -92,7 +118,7 @@ export default {
.d3 { .d3 {
// padding: 0px 16px 16px 16px; // padding: 0px 16px 16px 16px;
width: 100%; width: 100%;
height: calc(100% - 48px); height: calc(100% - 96px);
} }
} }
</style> </style>

@ -1,7 +1,7 @@
import { bigNumberTransform } from "@/utils/gol/dataTool" import { bigNumberTransform } from "@/utils/gol/dataTool"
import * as echarts from "echarts"; import * as echarts from "echarts";
export default function createOpt(firstData = [], secondData = [], percent = []) { export default function createOpt(firstData = [], secondData = [], percent = [], yearNumber) {
return { return {
tooltip: { tooltip: {
trigger: "axis", trigger: "axis",
@ -73,7 +73,7 @@ export default function createOpt(firstData = [], secondData = [], percent = [])
], ],
series: [ series: [
{ {
name: '2021', name: yearNumber - 1,
type: 'bar', type: 'bar',
barWidth: 20, barWidth: 20,
tooltip: { tooltip: {
@ -107,7 +107,7 @@ export default function createOpt(firstData = [], secondData = [], percent = [])
data: firstData data: firstData
}, },
{ {
name: '2022', name: yearNumber,
type: 'bar', type: 'bar',
barWidth: 20, barWidth: 20,
tooltip: { tooltip: {

@ -1,7 +1,7 @@
import { bigNumberTransform } from "@/utils/gol/dataTool" import { bigNumberTransform } from "@/utils/gol/dataTool"
import * as echarts from "echarts"; import * as echarts from "echarts";
export default function createOptLight(firstData = [], secondData = [], percent = []) { export default function createOptLight(firstData = [], secondData = [], percent = [], yearNumber) {
return { return {
tooltip: { tooltip: {
trigger: "axis", trigger: "axis",
@ -73,7 +73,7 @@ export default function createOptLight(firstData = [], secondData = [], percent
], ],
series: [ series: [
{ {
name: '2021', name: yearNumber - 1,
type: 'bar', type: 'bar',
barWidth: 20, barWidth: 20,
tooltip: { tooltip: {
@ -107,7 +107,7 @@ export default function createOptLight(firstData = [], secondData = [], percent
data: firstData data: firstData
}, },
{ {
name: '2022', name: yearNumber,
type: 'bar', type: 'bar',
barWidth: 20, barWidth: 20,
tooltip: { tooltip: {

@ -1,17 +1,26 @@
<template> <template>
<div class="ttc-outter" :style="getIsLight?{background: '#FFF'}:{}"> <div class="tpsv-outter" :style="getIsLight?{background: '#FFF'}:{}">
<v-label-div v-if="!getIsLight" title="轿车销量"> <v-label-div v-if="!getIsLight" title="轿车销量">
<a-button type="primary" @click="report"></a-button> <a-button type="primary" @click="report"></a-button>
</v-label-div> </v-label-div>
<v-label-div-light v-else title="轿车销量" class="lightSy"> <v-label-div-light v-else title="轿车销量" class="lightSy">
<a-button type="primary" @click="report"></a-button> <a-button type="primary" @click="report"></a-button>
</v-label-div-light> </v-label-div-light>
<div class="d3" v-if="getIsLight"> <div class="d2">
<v-echarts :opt="opt2"></v-echarts> <a-form-model :class="getIsLight?'lightSy':'dark'" layout="inline">
<a-form-model-item label="选择年份">
<a-select style="width: 146px" v-model="yearNumber" @change="yearChange">
<a-select-option v-for="(item,index) in yearList" :key="index" :value='item'>{{item}}</a-select-option>
</a-select>
</a-form-model-item>
</a-form-model>
</div> </div>
<div class="d3" v-else> <div v-if="!getIsLight" class="d3">
<v-echarts :opt="opt"></v-echarts> <v-echarts :opt="opt"></v-echarts>
</div> </div>
<div v-else class="d3">
<v-echarts :opt="opt2"></v-echarts>
</div>
</div> </div>
</template> </template>
@ -30,21 +39,33 @@ export default {
sStartTime: '', sStartTime: '',
sEndTime: '', sEndTime: '',
}, },
yearNumber: 0,
selTime: ['',''],
opt: {}, opt: {},
opt2: {}, opt2: {},
yearList: []
} }
}, },
created() { created() {
this.form.token = this.getToken; this.form.token = this.getToken;
getCheZhuLatestTime({token: this.form.token}).then(res => { getCheZhuLatestTime({token: this.form.token}).then(res => {
this.form.sStartTime = '2021-01';
this.form.sEndTime = res.data; this.form.sEndTime = res.data;
this.yearNumber = res.data.slice(0,4) * 1;
let currYear = res.data.slice(0,4) * 1;
this.yearList = [currYear, currYear-1, currYear-2 ,currYear-3 ,currYear-4]
this.form.sStartTime = (currYear-1) + '-01';
this.getData() this.getData()
}) })
}, },
methods: { methods: {
getData() { getData() {
getSalesSpecName1TypesBySedan(this.form).then(res => { let obj = {
token: this.form.token,
sTimeType: 4,
sStartTime: this.form.sStartTime,
sEndTime: this.form.sEndTime,
}
getSalesSpecName1TypesBySedan(obj).then(res => {
let data = res.data; let data = res.data;
let firstYearData = []; //0 - 11 count let firstYearData = []; //0 - 11 count
let secondYearData = []; //12+ count let secondYearData = []; //12+ count
@ -57,9 +78,9 @@ export default {
percent.push(data[i].YearOnYearGrowth) percent.push(data[i].YearOnYearGrowth)
} }
}; };
this.opt = createOpt(firstYearData,secondYearData,percent); this.opt = createOpt(firstYearData,secondYearData,percent,this.yearNumber)
this.opt2 = createOptLight(firstYearData,secondYearData,percent) this.opt2 = createOptLight(firstYearData,secondYearData,percent,this.yearNumber)
}) });
}, },
report() { report() {
let obj = { let obj = {
@ -69,19 +90,24 @@ export default {
sEndTime: this.form.sEndTime, sEndTime: this.form.sEndTime,
isExcel: 1, isExcel: 1,
}; };
getSalesSpecName1TypesBySedan(obj).then(() => { getSalesSpecName1TypesBySedan(obj).then(res => {
let data = res.data; let data = res.data;
window.open(data); window.open(data);
}); })
},
yearChange() {
this.form.sStartTime = (this.yearNumber-1) + '-01';
this.form.sEndTime = (this.yearNumber) + '-12';
this.getData()
} }
} }
} }
</script> </script>
<style lang="less"> <style lang="less">
.ttc-outter { .tpsv-outter {
width: 1552px; width: 1552px;
height: 492px; height: 532px;
margin-top: 16px; margin-top: 16px;
border: 2px solid #0f2a4d; border: 2px solid #0f2a4d;
.d2 { .d2 {
@ -92,7 +118,7 @@ export default {
.d3 { .d3 {
// padding: 0px 16px 16px 16px; // padding: 0px 16px 16px 16px;
width: 100%; width: 100%;
height: calc(100% - 48px); height: calc(100% - 96px);
} }
} }
</style> </style>

@ -1,7 +1,7 @@
import { bigNumberTransform } from "@/utils/gol/dataTool" import { bigNumberTransform } from "@/utils/gol/dataTool"
import * as echarts from "echarts"; import * as echarts from "echarts";
export default function createOpt(firstData = [], secondData = [], percent = []) { export default function createOpt(firstData = [], secondData = [], percent = [], yearNumber) {
return { return {
tooltip: { tooltip: {
trigger: "axis", trigger: "axis",
@ -73,7 +73,7 @@ export default function createOpt(firstData = [], secondData = [], percent = [])
], ],
series: [ series: [
{ {
name: '2021', name: yearNumber - 1,
type: 'bar', type: 'bar',
barWidth: 20, barWidth: 20,
tooltip: { tooltip: {
@ -107,7 +107,7 @@ export default function createOpt(firstData = [], secondData = [], percent = [])
data: firstData data: firstData
}, },
{ {
name: '2022', name: yearNumber,
type: 'bar', type: 'bar',
barWidth: 20, barWidth: 20,
tooltip: { tooltip: {

@ -1,7 +1,7 @@
import { bigNumberTransform } from "@/utils/gol/dataTool" import { bigNumberTransform } from "@/utils/gol/dataTool"
import * as echarts from "echarts"; import * as echarts from "echarts";
export default function createOptLight(firstData = [], secondData = [], percent = []) { export default function createOptLight(firstData = [], secondData = [], percent = [], yearNumber) {
return { return {
tooltip: { tooltip: {
trigger: "axis", trigger: "axis",
@ -73,7 +73,7 @@ export default function createOptLight(firstData = [], secondData = [], percent
], ],
series: [ series: [
{ {
name: '2021', name: yearNumber - 1,
type: 'bar', type: 'bar',
barWidth: 20, barWidth: 20,
tooltip: { tooltip: {
@ -107,7 +107,7 @@ export default function createOptLight(firstData = [], secondData = [], percent
data: firstData data: firstData
}, },
{ {
name: '2022', name: yearNumber,
type: 'bar', type: 'bar',
barWidth: 20, barWidth: 20,
tooltip: { tooltip: {

@ -6,12 +6,21 @@
<v-label-div-light v-else title="MPV销量" class="lightSy"> <v-label-div-light v-else title="MPV销量" class="lightSy">
<a-button type="primary" @click="report"></a-button> <a-button type="primary" @click="report"></a-button>
</v-label-div-light> </v-label-div-light>
<div class="d3" v-if="getIsLight"> <div class="d2">
<v-echarts :opt="opt2"></v-echarts> <a-form-model :class="getIsLight?'lightSy':'dark'" layout="inline">
<a-form-model-item label="选择年份">
<a-select style="width: 146px" v-model="yearNumber" @change="yearChange">
<a-select-option v-for="(item,index) in yearList" :key="index" :value='item'>{{item}}</a-select-option>
</a-select>
</a-form-model-item>
</a-form-model>
</div> </div>
<div class="d3" v-else> <div v-if="!getIsLight" class="d3">
<v-echarts :opt="opt"></v-echarts> <v-echarts :opt="opt"></v-echarts>
</div> </div>
<div v-else class="d3">
<v-echarts :opt="opt2"></v-echarts>
</div>
</div> </div>
</template> </template>
@ -30,21 +39,33 @@ export default {
sStartTime: '', sStartTime: '',
sEndTime: '', sEndTime: '',
}, },
yearNumber: 0,
selTime: ['',''],
opt: {}, opt: {},
opt2: {}, opt2: {},
yearList: []
} }
}, },
created() { created() {
this.form.token = this.getToken; this.form.token = this.getToken;
getCheZhuLatestTime({token: this.form.token}).then(res => { getCheZhuLatestTime({token: this.form.token}).then(res => {
this.form.sStartTime = '2021-01';
this.form.sEndTime = res.data; this.form.sEndTime = res.data;
this.yearNumber = res.data.slice(0,4) * 1;
let currYear = res.data.slice(0,4) * 1;
this.yearList = [currYear, currYear-1, currYear-2 ,currYear-3 ,currYear-4]
this.form.sStartTime = (currYear-1) + '-01';
this.getData() this.getData()
}) })
}, },
methods: { methods: {
getData() { getData() {
getSalesSpecName1TypesByMpv(this.form).then(res => { let obj = {
token: this.form.token,
sTimeType: 4,
sStartTime: this.form.sStartTime,
sEndTime: this.form.sEndTime,
}
getSalesSpecName1TypesByMpv(obj).then(res => {
let data = res.data; let data = res.data;
let firstYearData = []; //0 - 11 count let firstYearData = []; //0 - 11 count
let secondYearData = []; //12+ count let secondYearData = []; //12+ count
@ -57,9 +78,9 @@ export default {
percent.push(data[i].YearOnYearGrowth) percent.push(data[i].YearOnYearGrowth)
} }
}; };
this.opt = createOpt(firstYearData,secondYearData,percent) this.opt = createOpt(firstYearData,secondYearData,percent,this.yearNumber)
this.opt2 = createOptLight(firstYearData,secondYearData,percent) this.opt2 = createOptLight(firstYearData,secondYearData,percent,this.yearNumber)
}) });
}, },
report() { report() {
let obj = { let obj = {
@ -69,10 +90,15 @@ export default {
sEndTime: this.form.sEndTime, sEndTime: this.form.sEndTime,
isExcel: 1, isExcel: 1,
}; };
getSalesSpecName1TypesByMpv(obj).then(() => { getSalesSpecName1TypesByMpv(obj).then(res => {
let data = res.data; let data = res.data;
window.open(data); window.open(data);
}); })
},
yearChange() {
this.form.sStartTime = (this.yearNumber-1) + '-01';
this.form.sEndTime = (this.yearNumber) + '-12';
this.getData()
} }
} }
} }
@ -81,7 +107,7 @@ export default {
<style lang="less"> <style lang="less">
.tpsv-outter { .tpsv-outter {
width: 1552px; width: 1552px;
height: 492px; height: 532px;
margin-top: 16px; margin-top: 16px;
border: 2px solid #0f2a4d; border: 2px solid #0f2a4d;
.d2 { .d2 {
@ -92,7 +118,7 @@ export default {
.d3 { .d3 {
// padding: 0px 16px 16px 16px; // padding: 0px 16px 16px 16px;
width: 100%; width: 100%;
height: calc(100% - 48px); height: calc(100% - 96px);
} }
} }
</style> </style>

@ -1,7 +1,7 @@
import { bigNumberTransform } from "@/utils/gol/dataTool" import { bigNumberTransform } from "@/utils/gol/dataTool"
import * as echarts from "echarts"; import * as echarts from "echarts";
export default function createOpt(firstData = [], secondData = [], percent = []) { export default function createOpt(firstData = [], secondData = [], percent = [], yearNumber) {
return { return {
tooltip: { tooltip: {
trigger: "axis", trigger: "axis",
@ -73,7 +73,7 @@ export default function createOpt(firstData = [], secondData = [], percent = [])
], ],
series: [ series: [
{ {
name: '2021', name: yearNumber - 1,
type: 'bar', type: 'bar',
barWidth: 20, barWidth: 20,
tooltip: { tooltip: {
@ -107,7 +107,7 @@ export default function createOpt(firstData = [], secondData = [], percent = [])
data: firstData data: firstData
}, },
{ {
name: '2022', name: yearNumber,
type: 'bar', type: 'bar',
barWidth: 20, barWidth: 20,
tooltip: { tooltip: {

@ -1,7 +1,7 @@
import { bigNumberTransform } from "@/utils/gol/dataTool" import { bigNumberTransform } from "@/utils/gol/dataTool"
import * as echarts from "echarts"; import * as echarts from "echarts";
export default function createOptLight(firstData = [], secondData = [], percent = []) { export default function createOptLight(firstData = [], secondData = [], percent = [], yearNumber) {
return { return {
tooltip: { tooltip: {
trigger: "axis", trigger: "axis",
@ -73,7 +73,7 @@ export default function createOptLight(firstData = [], secondData = [], percent
], ],
series: [ series: [
{ {
name: '2021', name: yearNumber - 1,
type: 'bar', type: 'bar',
barWidth: 20, barWidth: 20,
tooltip: { tooltip: {
@ -107,7 +107,7 @@ export default function createOptLight(firstData = [], secondData = [], percent
data: firstData data: firstData
}, },
{ {
name: '2022', name: yearNumber,
type: 'bar', type: 'bar',
barWidth: 20, barWidth: 20,
tooltip: { tooltip: {

@ -6,12 +6,21 @@
<v-label-div-light v-else title="SUV销量" class="lightSy"> <v-label-div-light v-else title="SUV销量" class="lightSy">
<a-button type="primary" @click="report"></a-button> <a-button type="primary" @click="report"></a-button>
</v-label-div-light> </v-label-div-light>
<div class="d3" v-if="getIsLight"> <div class="d2">
<v-echarts :opt="opt2"></v-echarts> <a-form-model :class="getIsLight?'lightSy':'dark'" layout="inline">
<a-form-model-item label="选择年份">
<a-select style="width: 146px" v-model="yearNumber" @change="yearChange">
<a-select-option v-for="(item,index) in yearList" :key="index" :value='item'>{{item}}</a-select-option>
</a-select>
</a-form-model-item>
</a-form-model>
</div> </div>
<div class="d3" v-else> <div v-if="!getIsLight" class="d3">
<v-echarts :opt="opt"></v-echarts> <v-echarts :opt="opt"></v-echarts>
</div> </div>
<div v-else class="d3">
<v-echarts :opt="opt2"></v-echarts>
</div>
</div> </div>
</template> </template>
@ -30,21 +39,33 @@ export default {
sStartTime: '', sStartTime: '',
sEndTime: '', sEndTime: '',
}, },
yearNumber: 0,
selTime: ['',''],
opt: {}, opt: {},
opt2: {}, opt2: {},
yearList: []
} }
}, },
created() { created() {
this.form.token = this.getToken; this.form.token = this.getToken;
getCheZhuLatestTime({token: this.form.token}).then(res => { getCheZhuLatestTime({token: this.form.token}).then(res => {
this.form.sStartTime = '2021-01';
this.form.sEndTime = res.data; this.form.sEndTime = res.data;
this.yearNumber = res.data.slice(0,4) * 1;
let currYear = res.data.slice(0,4) * 1;
this.yearList = [currYear, currYear-1, currYear-2 ,currYear-3 ,currYear-4]
this.form.sStartTime = (currYear-1) + '-01';
this.getData() this.getData()
}) })
}, },
methods: { methods: {
getData() { getData() {
getSalesSpecName1TypesBySuv(this.form).then(res => { let obj = {
token: this.form.token,
sTimeType: 4,
sStartTime: this.form.sStartTime,
sEndTime: this.form.sEndTime,
}
getSalesSpecName1TypesBySuv(obj).then(res => {
let data = res.data; let data = res.data;
let firstYearData = []; //0 - 11 count let firstYearData = []; //0 - 11 count
let secondYearData = []; //12+ count let secondYearData = []; //12+ count
@ -57,9 +78,9 @@ export default {
percent.push(data[i].YearOnYearGrowth) percent.push(data[i].YearOnYearGrowth)
} }
}; };
this.opt = createOpt(firstYearData,secondYearData,percent) this.opt = createOpt(firstYearData,secondYearData,percent,this.yearNumber)
this.opt2 = createOptLight(firstYearData,secondYearData,percent) this.opt2 = createOptLight(firstYearData,secondYearData,percent,this.yearNumber)
}) });
}, },
report() { report() {
let obj = { let obj = {
@ -69,10 +90,15 @@ export default {
sEndTime: this.form.sEndTime, sEndTime: this.form.sEndTime,
isExcel: 1, isExcel: 1,
}; };
getSalesSpecName1TypesBySuv(obj).then(() => { getSalesSpecName1TypesBySuv(obj).then(res => {
let data = res.data; let data = res.data;
window.open(data); window.open(data);
}); })
},
yearChange() {
this.form.sStartTime = (this.yearNumber-1) + '-01';
this.form.sEndTime = (this.yearNumber) + '-12';
this.getData()
} }
} }
} }
@ -81,7 +107,7 @@ export default {
<style lang="less"> <style lang="less">
.tpsv-outter { .tpsv-outter {
width: 1552px; width: 1552px;
height: 492px; height: 532px;
margin-top: 16px; margin-top: 16px;
border: 2px solid #0f2a4d; border: 2px solid #0f2a4d;
.d2 { .d2 {
@ -92,7 +118,7 @@ export default {
.d3 { .d3 {
// padding: 0px 16px 16px 16px; // padding: 0px 16px 16px 16px;
width: 100%; width: 100%;
height: calc(100% - 48px); height: calc(100% - 96px);
} }
} }
</style> </style>

@ -1,7 +1,7 @@
import { bigNumberTransform } from "@/utils/gol/dataTool" import { bigNumberTransform } from "@/utils/gol/dataTool"
import * as echarts from "echarts"; import * as echarts from "echarts";
export default function createOpt(firstData = [], secondData = [], percent = []) { export default function createOpt(firstData = [], secondData = [], percent = [], yearNumber) {
return { return {
tooltip: { tooltip: {
trigger: "axis", trigger: "axis",
@ -73,7 +73,7 @@ export default function createOpt(firstData = [], secondData = [], percent = [])
], ],
series: [ series: [
{ {
name: '2021', name: yearNumber - 1,
type: 'bar', type: 'bar',
barWidth: 20, barWidth: 20,
tooltip: { tooltip: {
@ -107,7 +107,7 @@ export default function createOpt(firstData = [], secondData = [], percent = [])
data: firstData data: firstData
}, },
{ {
name: '2022', name: yearNumber,
type: 'bar', type: 'bar',
barWidth: 20, barWidth: 20,
tooltip: { tooltip: {

@ -1,7 +1,7 @@
import { bigNumberTransform } from "@/utils/gol/dataTool" import { bigNumberTransform } from "@/utils/gol/dataTool"
import * as echarts from "echarts"; import * as echarts from "echarts";
export default function createOptLight(firstData = [], secondData = [], percent = []) { export default function createOptLight(firstData = [], secondData = [], percent = [], yearNumber) {
return { return {
tooltip: { tooltip: {
trigger: "axis", trigger: "axis",
@ -73,7 +73,7 @@ export default function createOptLight(firstData = [], secondData = [], percent
], ],
series: [ series: [
{ {
name: '2021', name: yearNumber - 1,
type: 'bar', type: 'bar',
barWidth: 20, barWidth: 20,
tooltip: { tooltip: {
@ -107,7 +107,7 @@ export default function createOptLight(firstData = [], secondData = [], percent
data: firstData data: firstData
}, },
{ {
name: '2022', name: yearNumber,
type: 'bar', type: 'bar',
barWidth: 20, barWidth: 20,
tooltip: { tooltip: {

Loading…
Cancel
Save