prod
校文 3 years ago
parent 4df64101f9
commit df5246fc3b

29146
package-lock.json generated

File diff suppressed because it is too large Load Diff

@ -20,7 +20,7 @@ export default {
name: "v-tab-group", name: "v-tab-group",
props: { props: {
value: { value: {
type: Number, type: [Number, String],
default: 0 default: 0
}, },
btns: { btns: {
@ -28,7 +28,7 @@ export default {
default: () => [] default: () => []
}, },
active: { active: {
type: Number, type: [Number,String],
default: 0, default: 0,
} }
}, },

@ -8,7 +8,7 @@
--> -->
<template> <template>
<div class="stm-outter" v-loading="load"> <div class="stm-outter" v-loading="load">
<v-label-div title="传播声量TOP品牌" :showLine="false" :eStyle="{'border-style': 'none'}"></v-label-div> <v-label-div title="传播声量TOP品牌" :showLine="false" :eStyle="{ 'border-style': 'none' }"></v-label-div>
<div class="stm-inner"> <div class="stm-inner">
<v-echarts :opt="opt" @getData="clickEchars"></v-echarts> <v-echarts :opt="opt" @getData="clickEchars"></v-echarts>
</div> </div>
@ -16,7 +16,7 @@
</template> </template>
<script> <script>
import {getHomeBrandGroupBy} from "@/api/KeyMediaHome/index.js" import { getHomeBrandGroupBy } from "@/api/KeyMediaHome/index.js"
import createOpt from "./opt" import createOpt from "./opt"
export default { export default {
name: "spreadTOPmodels", name: "spreadTOPmodels",
@ -32,33 +32,33 @@ export default {
}, },
created() { created() {
this.form.sSource = this.$route.query.source || "抖音"; this.form.sSource = this.$route.query.source || "抖音";
if(this.form.sSource == '汽车之家') { if (this.form.sSource == '汽车之家' && this.getCarCircle == 1) {
this.form.ilimitType = 1; this.form.ilimitType = 1;
} else if (this.form.sSource == '懂车帝' && this.getCarCircle == 1) { } else if (this.form.sSource == '懂车帝' && this.getCarCircle == 1) {
this.form.ilimitType = 2; this.form.ilimitType = 2;
} }
this.getData(); this.getData();
}, },
methods: { methods: {
getData() { getData() {
let obj = Object.assign({},this.getCtime2, this.form); let obj = Object.assign({}, this.getCtime2, this.form);
this.load = true; this.load = true;
getHomeBrandGroupBy(obj).then(res => { getHomeBrandGroupBy(obj).then(res => {
let data = res.data || []; let data = res.data || [];
let dx = []; let dx = [];
let ds = []; let ds = [];
data.forEach(ele => { data.forEach(ele => {
dx.push(ele.Key) dx.push(ele.Key)
ds.push(ele.Value) ds.push(ele.Value)
}) })
this.opt = createOpt(dx, ds); this.opt = createOpt(dx, ds);
this.load = false; this.load = false;
}) })
}, },
clickEchars(data) { clickEchars(data) {
let ele = data; let ele = data;
let brand = ele.axisValueLabel; let brand = ele.axisValueLabel;
this.setBrand({brandname: brand}); this.setBrand({ brandname: brand });
this.$router.push("/brandInsight"); this.$router.push("/brandInsight");
} }
} }
@ -69,6 +69,7 @@ export default {
width: 936px; width: 936px;
height: 412px; height: 412px;
border: 2px solid #0f2a4d; border: 2px solid #0f2a4d;
.stm-inner { .stm-inner {
width: 100%; width: 100%;
height: calc(100% - 48px); height: calc(100% - 48px);

@ -8,7 +8,7 @@
--> -->
<template> <template>
<div class="stm-outter" v-loading="load"> <div class="stm-outter" v-loading="load">
<v-label-div title="传播声量TOP车型" :showLine="false" :eStyle="{'border-style': 'none'}"></v-label-div> <v-label-div title="传播声量TOP车型" :showLine="false" :eStyle="{ 'border-style': 'none' }"></v-label-div>
<div class="stm-inner"> <div class="stm-inner">
<v-echarts :opt="opt" @getData="clickEchars"></v-echarts> <v-echarts :opt="opt" @getData="clickEchars"></v-echarts>
</div> </div>
@ -16,7 +16,7 @@
</template> </template>
<script> <script>
import {getHomeCartypeTop10} from "@/api/KeyMediaHome/index.js" import { getHomeCartypeTop10 } from "@/api/KeyMediaHome/index.js"
import createOpt from "./opt" import createOpt from "./opt"
export default { export default {
name: "spreadTOPmodels", name: "spreadTOPmodels",
@ -32,33 +32,33 @@ export default {
}, },
created() { created() {
this.form.sSource = this.$route.query.source || "抖音"; this.form.sSource = this.$route.query.source || "抖音";
if(this.form.sSource == '汽车之家') { if (this.form.sSource == '汽车之家' && this.getCarCircle == 1) {
this.form.ilimitType = 1; this.form.ilimitType = 1;
} else if (this.form.sSource == '懂车帝' && this.getCarCircle == 1) { } else if (this.form.sSource == '懂车帝' && this.getCarCircle == 1) {
this.form.ilimitType = 2; this.form.ilimitType = 2;
} }
this.getData(); this.getData();
}, },
methods: { methods: {
getData() { getData() {
let obj = Object.assign({},this.getCtime2, this.form); let obj = Object.assign({}, this.getCtime2, this.form);
this.load = true; this.load = true;
getHomeCartypeTop10(obj).then(res => { getHomeCartypeTop10(obj).then(res => {
let data = res.data || {}; let data = res.data || {};
let dx = []; let dx = [];
let ds = []; let ds = [];
for(let key in data) { for (let key in data) {
dx.push(key); dx.push(key);
ds.push(data[key]) ds.push(data[key])
} }
this.opt = createOpt(dx, ds); this.opt = createOpt(dx, ds);
this.load = false; this.load = false;
}) })
}, },
clickEchars(data) { clickEchars(data) {
let ele = data; let ele = data;
let model = ele.axisValueLabel; let model = ele.axisValueLabel;
this.setModel({name: model}); this.setModel({ name: model });
this.$router.push("/modelInsight"); this.$router.push("/modelInsight");
} }
} }
@ -70,6 +70,7 @@ export default {
height: 412px; height: 412px;
border: 2px solid #0f2a4d; border: 2px solid #0f2a4d;
margin-left: 16px; margin-left: 16px;
.stm-inner { .stm-inner {
width: 100%; width: 100%;
height: calc(100% - 48px); height: calc(100% - 48px);

@ -59,7 +59,7 @@ export default {
}, },
created() { created() {
this.form.sSource = this.$route.query.source || "抖音"; this.form.sSource = this.$route.query.source || "抖音";
if(this.form.sSource == '汽车之家') { if(this.form.sSource == '汽车之家' && this.getCarCircle == 1) {
this.form.ilimitType = 1; this.form.ilimitType = 1;
} else if (this.form.sSource == '懂车帝' && this.getCarCircle == 1) { } else if (this.form.sSource == '懂车帝' && this.getCarCircle == 1) {
this.form.ilimitType = 2; this.form.ilimitType = 2;

@ -25,30 +25,30 @@
</template> </template>
<script> <script>
import {getHomeTimeCount} from "@/api/KeyMediaHome/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 {
name: "weibo-communication-trend", name: "weibo-communication-trend",
data() { data() {
return { return {
//// ////
modelStyle:{ modelStyle: {
left: '', left: '',
top: '' top: ''
}, },
modelShow: false, modelShow: false,
ecbox:{// ecbox: {//
width:618, width: 618,
height:490 height: 490
}, },
ecmodel:{// ecmodel: {//
width:300, width: 300,
height:280 height: 280
}, },
activeCol: 0, activeCol: 0,
//-*-// //-*-//
load: false, load: false,
form: { form: {
token: "", token: "",
sSource: '', sSource: '',
@ -61,10 +61,10 @@ export default {
created() { created() {
this.form.token = this.getToken; this.form.token = this.getToken;
this.form.sSource = this.$route.query.source || "抖音"; this.form.sSource = this.$route.query.source || "抖音";
if(this.form.sSource == '汽车之家') { if (this.form.sSource == '汽车之家' && this.getCarCircle == 1) {
this.form.ilimitType = 1; this.form.ilimitType = 1;
} else if (this.form.sSource == '懂车帝' && this.getCarCircle == 1) { } else if (this.form.sSource == '懂车帝' && this.getCarCircle == 1) {
this.form.ilimitType = 2; this.form.ilimitType = 2;
} }
this.getData(); this.getData();
}, },
@ -93,7 +93,7 @@ export default {
this.load = true; this.load = true;
let obj = Object.assign({}, this.getCtime2, this.form); let obj = Object.assign({}, this.getCtime2, this.form);
getHomeTimeCount(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
data.forEach(ele => { data.forEach(ele => {
@ -113,16 +113,19 @@ export default {
width: 1887px; width: 1887px;
height: 460px; height: 460px;
border: 2px solid #0f2a4d; border: 2px solid #0f2a4d;
.wct-inner { .wct-inner {
width: 100%; width: 100%;
height: calc(100% - 48px); height: calc(100% - 48px);
} }
} }
.vshow{
position: absolute; .vshow {
position: absolute;
width: 300px; width: 300px;
background: rgb(3, 18, 36); background: rgb(3, 18, 36);
border: 4px solid #0f2a4d; border: 4px solid #0f2a4d;
.vshow-item { .vshow-item {
padding: 11px; padding: 11px;
width: 100%; width: 100%;

@ -10,11 +10,11 @@
<div class="wct-outter" v-loading="load"> <div class="wct-outter" v-loading="load">
<v-label-div title="内容TOP声量"> </v-label-div> <v-label-div title="内容TOP声量"> </v-label-div>
<div class="wct-inner"> <div class="wct-inner">
<div class="wct-d1" v-for="(item,index) in list" :key="index"> <div class="wct-d1" v-for="(item, index) in list" :key="index">
<v-echarts :opt="item.opt"></v-echarts> <v-echarts :opt="item.opt"></v-echarts>
<div class="wct-d1-dd1"> <div class="wct-d1-dd1">
<span>排名<span class="ss1">0{{index+1}}</span></span> <span>排名<span class="ss1">0{{ index + 1 }}</span></span>
<span>声量<span class="ss1">{{item.value}}</span></span> <span>声量<span class="ss1">{{ item.value }}</span></span>
</div> </div>
</div> </div>
</div> </div>
@ -22,52 +22,52 @@
</template> </template>
<script> <script>
import {comparePig} from "@/utils/gol/dataTool" import { comparePig } from "@/utils/gol/dataTool"
import createOpt from "./opt" import createOpt from "./opt"
import {getHomeDirectWeiBo0528} from "@/api/KeyMediaHome/index.js" import { getHomeDirectWeiBo0528 } from "@/api/KeyMediaHome/index.js"
export default { export default {
name: "weiboContentTOPVolume", name: "weiboContentTOPVolume",
data() { data() {
return { return {
load: false, load: false,
form: { form: {
sSource: '', sSource: '',
ilimitType: 0, ilimitType: 0,
}, },
list: [], list: [],
colors: ['#3373CC', '#63AECC', '#54BF93', '#CC9D12', '#3373CC', '#63AECC', '#54BF93', '#CC9D12'] colors: ['#3373CC', '#63AECC', '#54BF93', '#CC9D12', '#3373CC', '#63AECC', '#54BF93', '#CC9D12']
}; };
}, },
created() { created() {
this.form.sSource = this.$route.query.source || "抖音"; this.form.sSource = this.$route.query.source || "抖音";
if(this.form.sSource == '汽车之家') { if (this.form.sSource == '汽车之家' && this.getCarCircle == 1) {
this.form.ilimitType = 1; this.form.ilimitType = 1;
} else if (this.form.sSource == '懂车帝' && this.getCarCircle == 1) { } else if (this.form.sSource == '懂车帝' && this.getCarCircle == 1) {
this.form.ilimitType = 2; this.form.ilimitType = 2;
} }
this.getData(); this.getData();
}, },
methods: { methods: {
getData() { getData() {
// this.load = true; // this.load = true;
let obj = Object.assign({}, this.getCtime2, this.form); let obj = Object.assign({}, this.getCtime2, this.form);
getHomeDirectWeiBo0528(obj).then(res => { getHomeDirectWeiBo0528(obj).then(res => {
let data = res.data || []; let data = res.data || [];
let arr = []; let arr = [];
data.sort(comparePig('value')); data.sort(comparePig('value'));
let maxVal = data[0].value let maxVal = data[0].value
data.forEach((ele,index) => { data.forEach((ele, index) => {
let obj = { let obj = {
value: ele.value, value: ele.value,
opt: createOpt(ele.key,this.colors[index],ele.value, maxVal) opt: createOpt(ele.key, this.colors[index], ele.value, maxVal)
} }
arr.push(obj) arr.push(obj)
}) })
this.list = arr; this.list = arr;
this.load = false; this.load = false;
}); });
}
} }
}
} }
</script> </script>
@ -79,15 +79,18 @@ export default {
margin-left: 16px; margin-left: 16px;
overflow: hidden; overflow: hidden;
} }
.wct-inner { .wct-inner {
width: 100%; width: 100%;
margin-top: 16px; margin-top: 16px;
height: calc(100% - 48px); height: calc(100% - 48px);
.wct-d1 { .wct-d1 {
position: relative; position: relative;
width: 233px; width: 233px;
height: 206px; height: 206px;
display: inline-block; display: inline-block;
.wct-d1-dd1 { .wct-d1-dd1 {
position: absolute; position: absolute;
padding: 0px 16px; padding: 0px 16px;
@ -97,9 +100,11 @@ export default {
justify-content: space-between; justify-content: space-between;
top: 140px; top: 140px;
left: 0px; left: 0px;
span { span {
color: #d8d8d8; color: #d8d8d8;
font-size: 12px; font-size: 12px;
.ss1 { .ss1 {
font-family: Bebas; font-family: Bebas;
font-size: 16px; font-size: 16px;

Loading…
Cancel
Save