parent
4fff89be22
commit
b8f4a19ee0
After Width: | Height: | Size: 5.1 KiB |
After Width: | Height: | Size: 4.5 KiB |
@ -0,0 +1,48 @@
|
||||
<!--
|
||||
* @Author: your name
|
||||
* @Date: 2021-11-09 16:02:50
|
||||
* @LastEditTime: 2021-11-09 17:13:04
|
||||
* @LastEditors: Please set LastEditors
|
||||
* @Description: In User Settings Edit
|
||||
* @FilePath: /data-show/src/views/ModelForumDetails/MainPostIDModelAnalysis/index.vue
|
||||
-->
|
||||
<template>
|
||||
<div class="mpma-outter">
|
||||
<v-label-div title="跟帖ID车型分析" :showLine="false" :eStyle="{'border-style': 'none'}">
|
||||
<v-tab-group :btns="['主帖ID', '认证ID']" @change="handlerTab"></v-tab-group>
|
||||
</v-label-div>
|
||||
<div class="mpma-inner">
|
||||
<v-ranking-fpma num="1" label="奥迪A4" val="100"></v-ranking-fpma>
|
||||
<v-ranking-fpma num="2" label="奥迪A4" val="100"></v-ranking-fpma>
|
||||
<v-ranking-fpma num="3" label="奥迪A4" val="100"></v-ranking-fpma>
|
||||
<v-ranking-fpma num="4" label="奥迪A4" val="100"></v-ranking-fpma>
|
||||
<v-ranking-fpma num="5" label="奥迪A4" val="100"></v-ranking-fpma>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import vRankingFpma from "./v-ranking-fpma"
|
||||
export default {
|
||||
name: "FollowPostIDModelAnalysis",
|
||||
components: {
|
||||
vRankingFpma
|
||||
},
|
||||
methods: {
|
||||
handlerTab() {
|
||||
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
.mpma-outter {
|
||||
width: 452px;
|
||||
height: 412px;
|
||||
.mpma-inner {
|
||||
width: 100%;
|
||||
height: calc(100% - 48px);
|
||||
}
|
||||
}
|
||||
</style>
|
@ -0,0 +1,231 @@
|
||||
<!--
|
||||
* @Author: your name
|
||||
* @Date: 2021-10-08 16:44:08
|
||||
* @LastEditTime: 2021-11-09 17:12:38
|
||||
* @LastEditors: Please set LastEditors
|
||||
* @Description: In User Settings Edit
|
||||
* @FilePath: /data-show/src/components/v-ranking/index.vue
|
||||
-->
|
||||
<template>
|
||||
<div class="v-r-container">
|
||||
<div class="v-r-line" v-if="lineShow"></div>
|
||||
<div class="v-r-inner">
|
||||
<div :class="ls">
|
||||
<span class="s1">{{ num|numStr }}</span>
|
||||
</div>
|
||||
<div :class="rs">
|
||||
<span class="v-r-label">{{label}}</span>
|
||||
<div class="v-r-res">
|
||||
<span class="s1">数量</span>
|
||||
<span class="s2">{{val}}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: "v-ranking-fpma",
|
||||
props: {
|
||||
num: {
|
||||
type: [String, Number],
|
||||
default: 1,
|
||||
},
|
||||
val: {
|
||||
type: [String, Number],
|
||||
default: 0
|
||||
},
|
||||
label: {
|
||||
type: String,
|
||||
default: ""
|
||||
},
|
||||
lineShow: {
|
||||
type: Boolean,
|
||||
default: true
|
||||
},
|
||||
|
||||
},
|
||||
watch: {
|
||||
num: {
|
||||
handler(val) {
|
||||
if(val == 1) {
|
||||
this.ls = "v-r-left-1"
|
||||
this.rs = "v-r-right-1"
|
||||
} else if(val == 2) {
|
||||
this.ls = "v-r-left-2"
|
||||
this.rs = "v-r-right-2"
|
||||
} else if(val == 3) {
|
||||
this.ls = "v-r-left-3"
|
||||
this.rs = "v-r-right-3"
|
||||
} else {
|
||||
this.ls = "v-r-left"
|
||||
this.rs = "v-r-right"
|
||||
}
|
||||
},
|
||||
immediate: true
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
ls: "v-r-left",
|
||||
rs: "v-r-right"
|
||||
}
|
||||
},
|
||||
filters: {
|
||||
numStr(val) {
|
||||
let str = ""
|
||||
if(0<val && val<10) {
|
||||
str = '0' + val
|
||||
} else {
|
||||
str = val + ''
|
||||
}
|
||||
return str
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
.v-r-container {
|
||||
width: 436px;
|
||||
height: auto;
|
||||
.v-r-line {
|
||||
width: 100%;
|
||||
height: 1px;
|
||||
background:#0a1d3b;
|
||||
margin-top: 11px;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.v-r-inner {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
height: 48px;
|
||||
margin-top: 6px;
|
||||
color: #fff;
|
||||
background: #0a1d3b;
|
||||
border-radius: 2px;
|
||||
}
|
||||
.v-r-label {
|
||||
display: block;
|
||||
font-size: 14px;
|
||||
color: #FFFFFF;
|
||||
margin-left: 40px;
|
||||
font-weight: bold;
|
||||
}
|
||||
.v-r-res {
|
||||
margin-right: 16px;
|
||||
span {
|
||||
display: inline-block;
|
||||
text-align: right;
|
||||
font-size: 12px;
|
||||
}
|
||||
.s1 {
|
||||
color: #9ba4af;
|
||||
margin-right: 8px;
|
||||
}
|
||||
.s2 {
|
||||
color: #fff;
|
||||
font-family: Bebas;
|
||||
}
|
||||
}
|
||||
.v-r-left {
|
||||
width: 48px;
|
||||
height: 48px;
|
||||
text-align: center;
|
||||
line-height: 48px;
|
||||
.s1 {
|
||||
color: #99a2ad;
|
||||
font-size: 16px;
|
||||
line-height: 48px;
|
||||
font-family: Bebas;
|
||||
}
|
||||
}
|
||||
.v-r-right {
|
||||
position: absolute;
|
||||
width: 410px;
|
||||
height: 48px;
|
||||
border-top: 2px solid transparent;
|
||||
top: 0px;
|
||||
left: 24px;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
.v-r-left-1 {
|
||||
width: 48px;
|
||||
height: 48px;
|
||||
text-align: center;
|
||||
border: 2px solid #cc9d12;
|
||||
border-radius: 48px;
|
||||
.s1 {
|
||||
color: #ffffff;
|
||||
font-size: 16px;
|
||||
line-height: 42px;
|
||||
text-shadow: 0px 0px 8px #cc9d12;
|
||||
font-family: Bebas;
|
||||
}
|
||||
}
|
||||
.v-r-right-1 {
|
||||
position: absolute;
|
||||
width: 410px;
|
||||
height: 48px;
|
||||
border-top: 2px solid #CC9D12;
|
||||
top: 0px;
|
||||
left: 24px;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
.v-r-left-2 {
|
||||
width: 48px;
|
||||
height: 48px;
|
||||
text-align: center;
|
||||
border: 2px solid #3373CC;
|
||||
border-radius: 48px;
|
||||
.s1 {
|
||||
color: #ffffff;
|
||||
font-size: 16px;
|
||||
line-height: 42px;
|
||||
text-shadow: 0px 0px 8px #3373CC;
|
||||
font-family: Bebas;
|
||||
}
|
||||
}
|
||||
.v-r-right-2 {
|
||||
position: absolute;
|
||||
width: 410px;
|
||||
height: 48px;
|
||||
border-top: 2px solid #3373CC;
|
||||
top: 0px;
|
||||
left: 24px;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
.v-r-left-3 {
|
||||
width: 48px;
|
||||
height: 48px;
|
||||
text-align: center;
|
||||
border: 2px solid #54BF93;
|
||||
border-radius: 48px;
|
||||
.s1 {
|
||||
color: #ffffff;
|
||||
font-size: 16px;
|
||||
line-height: 42px;
|
||||
text-shadow: 0px 0px 8px #54BF93;
|
||||
font-family: Bebas;
|
||||
}
|
||||
}
|
||||
.v-r-right-3 {
|
||||
position: absolute;
|
||||
width: 410px;
|
||||
height: 48px;
|
||||
border-top: 2px solid #54BF93;
|
||||
top: 0px;
|
||||
left: 24px;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
}
|
||||
</style>
|
@ -0,0 +1,105 @@
|
||||
<!--
|
||||
* @Author: your name
|
||||
* @Date: 2021-10-14 11:25:20
|
||||
* @LastEditTime: 2021-11-09 17:17:04
|
||||
* @LastEditors: Please set LastEditors
|
||||
* @Description: In User Settings Edit
|
||||
* @FilePath: /data-show/src/views/WeiboDetails/weiboUserActiveArea/index.vue
|
||||
-->
|
||||
<template>
|
||||
<div class="wua-outter" v-loading="load">
|
||||
<v-label-div title="跟帖ID区域分布" :showLine="false" :eStyle="{'border-style': 'none'}"> </v-label-div>
|
||||
<div class="wua-inner">
|
||||
<div class="d1">
|
||||
<v-echarts :opt="opt1"></v-echarts>
|
||||
</div>
|
||||
<div class="d2">
|
||||
<v-echars-map :opt="opt2"></v-echars-map>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { getRegionWeiBo } from "@/api/WeiboDetails";
|
||||
import createOptD1 from "./opt1";
|
||||
import createOptD2 from "./opt2";
|
||||
export default {
|
||||
name: "FollowPostUserActiveArea",
|
||||
data() {
|
||||
return {
|
||||
load: false,
|
||||
form: {
|
||||
sBrand: "",
|
||||
token: "",
|
||||
},
|
||||
opt1: createOptD1(),
|
||||
opt2: createOptD2(),
|
||||
};
|
||||
},
|
||||
created() {
|
||||
this.form.token = this.getToken;
|
||||
this.form.sBrand = this.getBrand.brandname || this.brand;
|
||||
this.getData();
|
||||
},
|
||||
methods: {
|
||||
getData() {
|
||||
this.load = true;
|
||||
let obj = Object.assign({}, this.getCtime2, this.form);
|
||||
getRegionWeiBo(obj).then((res) => {
|
||||
let data = res.data || {};
|
||||
let arr = this.toArr(data);
|
||||
let dx = []; //省份
|
||||
let ds = []; //数据
|
||||
arr.forEach((ele) => {
|
||||
let name = ele.name || "";
|
||||
if(name.indexOf('省') === -1) {
|
||||
ele.name = ele.name + '市'
|
||||
}
|
||||
let value = ele.value;
|
||||
dx.push(ele.name);
|
||||
ds.push(value);
|
||||
});
|
||||
let dm = arr //省份和数据
|
||||
this.opt1 = createOptD1(dx, ds);
|
||||
this.opt2 = createOptD2(dm);
|
||||
this.load = false;
|
||||
});
|
||||
},
|
||||
// 将对象变成数组
|
||||
toArr(obj) {
|
||||
let arr = [];
|
||||
for (let key in obj) {
|
||||
let o = {
|
||||
name: key,
|
||||
value: obj[key] * 1,
|
||||
};
|
||||
arr.push(o);
|
||||
}
|
||||
return arr;
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
.wua-outter {
|
||||
width: 936px;
|
||||
height: 412px;
|
||||
.wua-inner {
|
||||
width: 100%;
|
||||
height: calc(100% - 48px);
|
||||
display: flex;
|
||||
justify-content: flex-start;
|
||||
.d1 {
|
||||
width: 479px;
|
||||
height: 100%;
|
||||
}
|
||||
.d2 {
|
||||
width: 420px;
|
||||
height: 100%;
|
||||
margin-left: 16px;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
@ -0,0 +1,83 @@
|
||||
|
||||
|
||||
/*
|
||||
* @Author: your name
|
||||
* @Date: 2021-10-09 12:38:34
|
||||
* @LastEditTime: 2021-11-09 17:42:17
|
||||
* @LastEditors: Please set LastEditors
|
||||
* @Description: In User Settings Edit
|
||||
* @FilePath: /data-show/src/views/Index/tailInsight/opt.js
|
||||
*/
|
||||
import * as echarts from "echarts";
|
||||
import { bigNumberTransform } from "@/utils/gol/dataTool"
|
||||
export default function createOptD1(dx=[],ds=[]) {
|
||||
return {
|
||||
grid: {
|
||||
left: 16,
|
||||
right: '5%',
|
||||
bottom: 10,
|
||||
top: "1%",
|
||||
containLabel: true
|
||||
},
|
||||
tooltip: {
|
||||
trigger: "axis",
|
||||
backgroundColor: "#08182F",
|
||||
color: "#fff",
|
||||
borderColor: "#3373CC",
|
||||
textStyle: {
|
||||
color: "#fff", //设置文字颜色
|
||||
},
|
||||
extraCssText: "box-shadow: 0px 0px 10px 0px #3373CC;"
|
||||
},
|
||||
xAxis: {
|
||||
type: 'value',
|
||||
axisLine: {
|
||||
show: false,
|
||||
lineStyle: {
|
||||
color: "#fff",
|
||||
},
|
||||
},
|
||||
axisLabel: {
|
||||
formatter: (value) => {
|
||||
let str = bigNumberTransform(value);
|
||||
return str;
|
||||
}
|
||||
},
|
||||
splitLine: {
|
||||
lineStyle: {
|
||||
type: "dashed", // y轴分割线类型
|
||||
color: "#012b4b",
|
||||
},
|
||||
},
|
||||
},
|
||||
yAxis: {
|
||||
type: 'category',
|
||||
data: dx,
|
||||
axisTick: {
|
||||
show: false,
|
||||
},
|
||||
axisLine: {
|
||||
show: false,
|
||||
lineStyle: {
|
||||
color: "#fff",
|
||||
},
|
||||
},
|
||||
inverse: true
|
||||
},
|
||||
series: [
|
||||
{
|
||||
name: '2011',
|
||||
type: 'bar',
|
||||
barWidth: 20,
|
||||
data: ds,
|
||||
color: new echarts.graphic.LinearGradient(0, 0, 1, 0, [{
|
||||
offset: 0,
|
||||
color: '#010B19'
|
||||
}, {
|
||||
offset: 1,
|
||||
color: '#54BF93'
|
||||
}]),
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
@ -0,0 +1,94 @@
|
||||
/*
|
||||
* @Author: your name
|
||||
* @Date: 2021-10-14 11:53:16
|
||||
* @LastEditTime: 2021-11-04 17:17:02
|
||||
* @LastEditors: Please set LastEditors
|
||||
* @Description: In User Settings Edit
|
||||
* @FilePath: /data-show/src/views/WeiboDetails/weiboUserActiveArea/opt2.js
|
||||
*/
|
||||
|
||||
export default function createOptD2(dm) {
|
||||
return {
|
||||
tooltip: {
|
||||
trigger: "item",
|
||||
backgroundColor: "#08182F",
|
||||
color: "#fff",
|
||||
borderColor: "#3373CC",
|
||||
textStyle: {
|
||||
color: "#fff", //设置文字颜色
|
||||
},
|
||||
extraCssText: "box-shadow: 0px 0px 10px 0px #3373CC;"
|
||||
},
|
||||
// geo: {
|
||||
// show: true,
|
||||
// map: 'china',
|
||||
// roam: false,//地图设置不可拖拽,固定的
|
||||
// itemStyle: {
|
||||
// normal: {
|
||||
// borderWidth: 0,
|
||||
// shadowColor: 'rgba(0,54,255, 1)',
|
||||
// shadowBlur: 100
|
||||
// }
|
||||
// }
|
||||
// },
|
||||
visualMap: {
|
||||
type: 'continuous',
|
||||
show: false,
|
||||
min: 0,
|
||||
max: 2000,
|
||||
text: ['高', '低'],
|
||||
orient: 'horizontal',
|
||||
itemWidth: 15,
|
||||
itemHeight: 200,
|
||||
right: 0,
|
||||
bottom: 30,
|
||||
inRange: {
|
||||
color: ['#0393d2', '#75ddff']
|
||||
},
|
||||
textStyle: {
|
||||
color: 'white'
|
||||
}
|
||||
},
|
||||
series: [
|
||||
{
|
||||
name: "微博区域",
|
||||
type: "map",
|
||||
mapType: "china",
|
||||
roam: false,
|
||||
zoom: 1,//默认地图在容器中显示zoom:1,可根据需求放大缩小地图
|
||||
left: 16,
|
||||
top: 20,
|
||||
right: 10,
|
||||
bottom: 10,
|
||||
selectedMode:'multiple',
|
||||
colorBy: 'data',
|
||||
itemStyle: {
|
||||
areaColor: '#001f5b',//地图区域背景颜色
|
||||
borderColor: '#005cf9',//地图边界颜色
|
||||
shadowColor: '#005cf9',
|
||||
emphasis: {
|
||||
areaColor: '#3066ba',//鼠标滑过区域颜色
|
||||
label: {
|
||||
color: '#fff'
|
||||
}
|
||||
}
|
||||
},
|
||||
label: {
|
||||
normal: {
|
||||
show: false
|
||||
},
|
||||
},
|
||||
|
||||
// select: {
|
||||
// label: {
|
||||
// show: false
|
||||
// },
|
||||
// itemStyle: {
|
||||
// areaColor: '#3edffe'
|
||||
// }
|
||||
// },
|
||||
data: dm
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
@ -0,0 +1,46 @@
|
||||
<!--
|
||||
* @Author: your name
|
||||
* @Date: 2021-11-09 16:27:20
|
||||
* @LastEditTime: 2021-11-09 17:15:17
|
||||
* @LastEditors: Please set LastEditors
|
||||
* @Description: In User Settings Edit
|
||||
* @FilePath: /data-show/src/views/ModelForumDetails/MainPostUserAnalysis/index.vue
|
||||
-->
|
||||
<template>
|
||||
<div class="mpua-outter">
|
||||
<v-label-div title="跟帖用户分析" :showLine="false" :eStyle="{'border-style': 'none'}">
|
||||
<v-tab-group :btns="['性别', '认证']" @change="handlerTab"></v-tab-group>
|
||||
</v-label-div>
|
||||
<div class="mpua-inner">
|
||||
<v-echarts :opt="opt"></v-echarts>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import createData from "./opt"
|
||||
export default {
|
||||
name: "FollowPostUserAnalysis",
|
||||
data() {
|
||||
return {
|
||||
opt: createData()
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
handlerTab() {
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
.mpua-outter {
|
||||
width: 472px;
|
||||
height: 412px;
|
||||
.mpua-inner {
|
||||
width: 100%;
|
||||
height: calc(100% - 48px);
|
||||
}
|
||||
}
|
||||
</style>
|
@ -0,0 +1,48 @@
|
||||
<!--
|
||||
* @Author: your name
|
||||
* @Date: 2021-11-09 16:02:50
|
||||
* @LastEditTime: 2021-11-09 16:33:52
|
||||
* @LastEditors: Please set LastEditors
|
||||
* @Description: In User Settings Edit
|
||||
* @FilePath: /data-show/src/views/ModelForumDetails/MainPostIDModelAnalysis/index.vue
|
||||
-->
|
||||
<template>
|
||||
<div class="mpma-outter">
|
||||
<v-label-div title="主帖ID车型分析" :showLine="false" :eStyle="{'border-style': 'none'}">
|
||||
<v-tab-group :btns="['主帖ID', '认证ID']" @change="handlerTab"></v-tab-group>
|
||||
</v-label-div>
|
||||
<div class="mpma-inner">
|
||||
<v-ranking-mpma num="1" label="奥迪A4" val="100"></v-ranking-mpma>
|
||||
<v-ranking-mpma num="2" label="奥迪A4" val="100"></v-ranking-mpma>
|
||||
<v-ranking-mpma num="3" label="奥迪A4" val="100"></v-ranking-mpma>
|
||||
<v-ranking-mpma num="4" label="奥迪A4" val="100"></v-ranking-mpma>
|
||||
<v-ranking-mpma num="5" label="奥迪A4" val="100"></v-ranking-mpma>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import vRankingMpma from "./v-ranking-mpma"
|
||||
export default {
|
||||
name: "MainPostIDModelAnalysis",
|
||||
components: {
|
||||
vRankingMpma
|
||||
},
|
||||
methods: {
|
||||
handlerTab() {
|
||||
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
.mpma-outter {
|
||||
width: 452px;
|
||||
height: 412px;
|
||||
.mpma-inner {
|
||||
width: 100%;
|
||||
height: calc(100% - 48px);
|
||||
}
|
||||
}
|
||||
</style>
|
@ -0,0 +1,231 @@
|
||||
<!--
|
||||
* @Author: your name
|
||||
* @Date: 2021-10-08 16:44:08
|
||||
* @LastEditTime: 2021-11-09 16:35:24
|
||||
* @LastEditors: Please set LastEditors
|
||||
* @Description: In User Settings Edit
|
||||
* @FilePath: /data-show/src/components/v-ranking/index.vue
|
||||
-->
|
||||
<template>
|
||||
<div class="v-r-container">
|
||||
<div class="v-r-line" v-if="lineShow"></div>
|
||||
<div class="v-r-inner">
|
||||
<div :class="ls">
|
||||
<span class="s1">{{ num|numStr }}</span>
|
||||
</div>
|
||||
<div :class="rs">
|
||||
<span class="v-r-label">{{label}}</span>
|
||||
<div class="v-r-res">
|
||||
<span class="s1">数量</span>
|
||||
<span class="s2">{{val}}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: "v-ranking-mpma",
|
||||
props: {
|
||||
num: {
|
||||
type: [String, Number],
|
||||
default: 1,
|
||||
},
|
||||
val: {
|
||||
type: [String, Number],
|
||||
default: 0
|
||||
},
|
||||
label: {
|
||||
type: String,
|
||||
default: ""
|
||||
},
|
||||
lineShow: {
|
||||
type: Boolean,
|
||||
default: true
|
||||
},
|
||||
|
||||
},
|
||||
watch: {
|
||||
num: {
|
||||
handler(val) {
|
||||
if(val == 1) {
|
||||
this.ls = "v-r-left-1"
|
||||
this.rs = "v-r-right-1"
|
||||
} else if(val == 2) {
|
||||
this.ls = "v-r-left-2"
|
||||
this.rs = "v-r-right-2"
|
||||
} else if(val == 3) {
|
||||
this.ls = "v-r-left-3"
|
||||
this.rs = "v-r-right-3"
|
||||
} else {
|
||||
this.ls = "v-r-left"
|
||||
this.rs = "v-r-right"
|
||||
}
|
||||
},
|
||||
immediate: true
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
ls: "v-r-left",
|
||||
rs: "v-r-right"
|
||||
}
|
||||
},
|
||||
filters: {
|
||||
numStr(val) {
|
||||
let str = ""
|
||||
if(0<val && val<10) {
|
||||
str = '0' + val
|
||||
} else {
|
||||
str = val + ''
|
||||
}
|
||||
return str
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
.v-r-container {
|
||||
width: 436px;
|
||||
height: auto;
|
||||
.v-r-line {
|
||||
width: 100%;
|
||||
height: 1px;
|
||||
background:#0a1d3b;
|
||||
margin-top: 11px;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.v-r-inner {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
height: 48px;
|
||||
margin-top: 6px;
|
||||
color: #fff;
|
||||
background: #0a1d3b;
|
||||
border-radius: 2px;
|
||||
}
|
||||
.v-r-label {
|
||||
display: block;
|
||||
font-size: 14px;
|
||||
color: #FFFFFF;
|
||||
margin-left: 40px;
|
||||
font-weight: bold;
|
||||
}
|
||||
.v-r-res {
|
||||
margin-right: 16px;
|
||||
span {
|
||||
display: inline-block;
|
||||
text-align: right;
|
||||
font-size: 12px;
|
||||
}
|
||||
.s1 {
|
||||
color: #9ba4af;
|
||||
margin-right: 8px;
|
||||
}
|
||||
.s2 {
|
||||
color: #fff;
|
||||
font-family: Bebas;
|
||||
}
|
||||
}
|
||||
.v-r-left {
|
||||
width: 48px;
|
||||
height: 48px;
|
||||
text-align: center;
|
||||
line-height: 48px;
|
||||
.s1 {
|
||||
color: #99a2ad;
|
||||
font-size: 16px;
|
||||
line-height: 48px;
|
||||
font-family: Bebas;
|
||||
}
|
||||
}
|
||||
.v-r-right {
|
||||
position: absolute;
|
||||
width: 410px;
|
||||
height: 48px;
|
||||
border-top: 2px solid transparent;
|
||||
top: 0px;
|
||||
left: 24px;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
.v-r-left-1 {
|
||||
width: 48px;
|
||||
height: 48px;
|
||||
text-align: center;
|
||||
border: 2px solid #cc9d12;
|
||||
border-radius: 48px;
|
||||
.s1 {
|
||||
color: #ffffff;
|
||||
font-size: 16px;
|
||||
line-height: 42px;
|
||||
text-shadow: 0px 0px 8px #cc9d12;
|
||||
font-family: Bebas;
|
||||
}
|
||||
}
|
||||
.v-r-right-1 {
|
||||
position: absolute;
|
||||
width: 410px;
|
||||
height: 48px;
|
||||
border-top: 2px solid #CC9D12;
|
||||
top: 0px;
|
||||
left: 24px;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
.v-r-left-2 {
|
||||
width: 48px;
|
||||
height: 48px;
|
||||
text-align: center;
|
||||
border: 2px solid #3373CC;
|
||||
border-radius: 48px;
|
||||
.s1 {
|
||||
color: #ffffff;
|
||||
font-size: 16px;
|
||||
line-height: 42px;
|
||||
text-shadow: 0px 0px 8px #3373CC;
|
||||
font-family: Bebas;
|
||||
}
|
||||
}
|
||||
.v-r-right-2 {
|
||||
position: absolute;
|
||||
width: 410px;
|
||||
height: 48px;
|
||||
border-top: 2px solid #3373CC;
|
||||
top: 0px;
|
||||
left: 24px;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
.v-r-left-3 {
|
||||
width: 48px;
|
||||
height: 48px;
|
||||
text-align: center;
|
||||
border: 2px solid #54BF93;
|
||||
border-radius: 48px;
|
||||
.s1 {
|
||||
color: #ffffff;
|
||||
font-size: 16px;
|
||||
line-height: 42px;
|
||||
text-shadow: 0px 0px 8px #54BF93;
|
||||
font-family: Bebas;
|
||||
}
|
||||
}
|
||||
.v-r-right-3 {
|
||||
position: absolute;
|
||||
width: 410px;
|
||||
height: 48px;
|
||||
border-top: 2px solid #54BF93;
|
||||
top: 0px;
|
||||
left: 24px;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
}
|
||||
</style>
|
@ -0,0 +1,105 @@
|
||||
<!--
|
||||
* @Author: your name
|
||||
* @Date: 2021-10-14 11:25:20
|
||||
* @LastEditTime: 2021-11-09 17:06:29
|
||||
* @LastEditors: Please set LastEditors
|
||||
* @Description: In User Settings Edit
|
||||
* @FilePath: /data-show/src/views/WeiboDetails/weiboUserActiveArea/index.vue
|
||||
-->
|
||||
<template>
|
||||
<div class="wua-outter" v-loading="load">
|
||||
<v-label-div title="主帖ID区域分布" :showLine="false" :eStyle="{'border-style': 'none'}"> </v-label-div>
|
||||
<div class="wua-inner">
|
||||
<div class="d1">
|
||||
<v-echarts :opt="opt1"></v-echarts>
|
||||
</div>
|
||||
<div class="d2">
|
||||
<v-echars-map :opt="opt2"></v-echars-map>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { getRegionWeiBo } from "@/api/WeiboDetails";
|
||||
import createOptD1 from "./opt1";
|
||||
import createOptD2 from "./opt2";
|
||||
export default {
|
||||
name: "MainPostUserActiveArea",
|
||||
data() {
|
||||
return {
|
||||
load: false,
|
||||
form: {
|
||||
sBrand: "",
|
||||
token: "",
|
||||
},
|
||||
opt1: createOptD1(),
|
||||
opt2: createOptD2(),
|
||||
};
|
||||
},
|
||||
created() {
|
||||
this.form.token = this.getToken;
|
||||
this.form.sBrand = this.getBrand.brandname || this.brand;
|
||||
this.getData();
|
||||
},
|
||||
methods: {
|
||||
getData() {
|
||||
this.load = true;
|
||||
let obj = Object.assign({}, this.getCtime2, this.form);
|
||||
getRegionWeiBo(obj).then((res) => {
|
||||
let data = res.data || {};
|
||||
let arr = this.toArr(data);
|
||||
let dx = []; //省份
|
||||
let ds = []; //数据
|
||||
arr.forEach((ele) => {
|
||||
let name = ele.name || "";
|
||||
if(name.indexOf('省') === -1) {
|
||||
ele.name = ele.name + '市'
|
||||
}
|
||||
let value = ele.value;
|
||||
dx.push(ele.name);
|
||||
ds.push(value);
|
||||
});
|
||||
let dm = arr //省份和数据
|
||||
this.opt1 = createOptD1(dx, ds);
|
||||
this.opt2 = createOptD2(dm);
|
||||
this.load = false;
|
||||
});
|
||||
},
|
||||
// 将对象变成数组
|
||||
toArr(obj) {
|
||||
let arr = [];
|
||||
for (let key in obj) {
|
||||
let o = {
|
||||
name: key,
|
||||
value: obj[key] * 1,
|
||||
};
|
||||
arr.push(o);
|
||||
}
|
||||
return arr;
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
.wua-outter {
|
||||
width: 936px;
|
||||
height: 412px;
|
||||
.wua-inner {
|
||||
width: 100%;
|
||||
height: calc(100% - 48px);
|
||||
display: flex;
|
||||
justify-content: flex-start;
|
||||
.d1 {
|
||||
width: 479px;
|
||||
height: 100%;
|
||||
}
|
||||
.d2 {
|
||||
width: 420px;
|
||||
height: 100%;
|
||||
margin-left: 16px;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
@ -0,0 +1,83 @@
|
||||
|
||||
|
||||
/*
|
||||
* @Author: your name
|
||||
* @Date: 2021-10-09 12:38:34
|
||||
* @LastEditTime: 2021-10-14 11:48:19
|
||||
* @LastEditors: Please set LastEditors
|
||||
* @Description: In User Settings Edit
|
||||
* @FilePath: /data-show/src/views/Index/tailInsight/opt.js
|
||||
*/
|
||||
import * as echarts from "echarts";
|
||||
import { bigNumberTransform } from "@/utils/gol/dataTool"
|
||||
export default function createOptD1(dx=[],ds=[]) {
|
||||
return {
|
||||
grid: {
|
||||
left: 16,
|
||||
right: '5%',
|
||||
bottom: 10,
|
||||
top: "1%",
|
||||
containLabel: true
|
||||
},
|
||||
tooltip: {
|
||||
trigger: "axis",
|
||||
backgroundColor: "#08182F",
|
||||
color: "#fff",
|
||||
borderColor: "#3373CC",
|
||||
textStyle: {
|
||||
color: "#fff", //设置文字颜色
|
||||
},
|
||||
extraCssText: "box-shadow: 0px 0px 10px 0px #3373CC;"
|
||||
},
|
||||
xAxis: {
|
||||
type: 'value',
|
||||
axisLine: {
|
||||
show: false,
|
||||
lineStyle: {
|
||||
color: "#fff",
|
||||
},
|
||||
},
|
||||
axisLabel: {
|
||||
formatter: (value) => {
|
||||
let str = bigNumberTransform(value);
|
||||
return str;
|
||||
}
|
||||
},
|
||||
splitLine: {
|
||||
lineStyle: {
|
||||
type: "dashed", // y轴分割线类型
|
||||
color: "#012b4b",
|
||||
},
|
||||
},
|
||||
},
|
||||
yAxis: {
|
||||
type: 'category',
|
||||
data: dx,
|
||||
axisTick: {
|
||||
show: false,
|
||||
},
|
||||
axisLine: {
|
||||
show: false,
|
||||
lineStyle: {
|
||||
color: "#fff",
|
||||
},
|
||||
},
|
||||
inverse: true
|
||||
},
|
||||
series: [
|
||||
{
|
||||
name: '2011',
|
||||
type: 'bar',
|
||||
barWidth: 20,
|
||||
data: ds,
|
||||
color: new echarts.graphic.LinearGradient(0, 0, 1, 0, [{
|
||||
offset: 0,
|
||||
color: '#010B19'
|
||||
}, {
|
||||
offset: 1,
|
||||
color: '#2f68b4'
|
||||
}]),
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
@ -0,0 +1,94 @@
|
||||
/*
|
||||
* @Author: your name
|
||||
* @Date: 2021-10-14 11:53:16
|
||||
* @LastEditTime: 2021-11-04 17:17:02
|
||||
* @LastEditors: Please set LastEditors
|
||||
* @Description: In User Settings Edit
|
||||
* @FilePath: /data-show/src/views/WeiboDetails/weiboUserActiveArea/opt2.js
|
||||
*/
|
||||
|
||||
export default function createOptD2(dm) {
|
||||
return {
|
||||
tooltip: {
|
||||
trigger: "item",
|
||||
backgroundColor: "#08182F",
|
||||
color: "#fff",
|
||||
borderColor: "#3373CC",
|
||||
textStyle: {
|
||||
color: "#fff", //设置文字颜色
|
||||
},
|
||||
extraCssText: "box-shadow: 0px 0px 10px 0px #3373CC;"
|
||||
},
|
||||
// geo: {
|
||||
// show: true,
|
||||
// map: 'china',
|
||||
// roam: false,//地图设置不可拖拽,固定的
|
||||
// itemStyle: {
|
||||
// normal: {
|
||||
// borderWidth: 0,
|
||||
// shadowColor: 'rgba(0,54,255, 1)',
|
||||
// shadowBlur: 100
|
||||
// }
|
||||
// }
|
||||
// },
|
||||
visualMap: {
|
||||
type: 'continuous',
|
||||
show: false,
|
||||
min: 0,
|
||||
max: 2000,
|
||||
text: ['高', '低'],
|
||||
orient: 'horizontal',
|
||||
itemWidth: 15,
|
||||
itemHeight: 200,
|
||||
right: 0,
|
||||
bottom: 30,
|
||||
inRange: {
|
||||
color: ['#0393d2', '#75ddff']
|
||||
},
|
||||
textStyle: {
|
||||
color: 'white'
|
||||
}
|
||||
},
|
||||
series: [
|
||||
{
|
||||
name: "微博区域",
|
||||
type: "map",
|
||||
mapType: "china",
|
||||
roam: false,
|
||||
zoom: 1,//默认地图在容器中显示zoom:1,可根据需求放大缩小地图
|
||||
left: 16,
|
||||
top: 20,
|
||||
right: 10,
|
||||
bottom: 10,
|
||||
selectedMode:'multiple',
|
||||
colorBy: 'data',
|
||||
itemStyle: {
|
||||
areaColor: '#001f5b',//地图区域背景颜色
|
||||
borderColor: '#005cf9',//地图边界颜色
|
||||
shadowColor: '#005cf9',
|
||||
emphasis: {
|
||||
areaColor: '#3066ba',//鼠标滑过区域颜色
|
||||
label: {
|
||||
color: '#fff'
|
||||
}
|
||||
}
|
||||
},
|
||||
label: {
|
||||
normal: {
|
||||
show: false
|
||||
},
|
||||
},
|
||||
|
||||
// select: {
|
||||
// label: {
|
||||
// show: false
|
||||
// },
|
||||
// itemStyle: {
|
||||
// areaColor: '#3edffe'
|
||||
// }
|
||||
// },
|
||||
data: dm
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
@ -0,0 +1,46 @@
|
||||
<!--
|
||||
* @Author: your name
|
||||
* @Date: 2021-11-09 16:27:20
|
||||
* @LastEditTime: 2021-11-09 16:39:48
|
||||
* @LastEditors: Please set LastEditors
|
||||
* @Description: In User Settings Edit
|
||||
* @FilePath: /data-show/src/views/ModelForumDetails/MainPostUserAnalysis/index.vue
|
||||
-->
|
||||
<template>
|
||||
<div class="mpua-outter">
|
||||
<v-label-div title="主帖用户分析" :showLine="false" :eStyle="{'border-style': 'none'}">
|
||||
<v-tab-group :btns="['性别', '认证']" @change="handlerTab"></v-tab-group>
|
||||
</v-label-div>
|
||||
<div class="mpua-inner">
|
||||
<v-echarts :opt="opt"></v-echarts>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import createData from "./opt"
|
||||
export default {
|
||||
name: "MainPostUserAnalysis",
|
||||
data() {
|
||||
return {
|
||||
opt: createData()
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
handlerTab() {
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
.mpua-outter {
|
||||
width: 472px;
|
||||
height: 412px;
|
||||
.mpua-inner {
|
||||
width: 100%;
|
||||
height: calc(100% - 48px);
|
||||
}
|
||||
}
|
||||
</style>
|
@ -0,0 +1,40 @@
|
||||
<!--
|
||||
* @Author: your name
|
||||
* @Date: 2021-11-09 17:19:28
|
||||
* @LastEditTime: 2021-11-09 17:26:17
|
||||
* @LastEditors: Please set LastEditors
|
||||
* @Description: In User Settings Edit
|
||||
* @FilePath: /data-show/src/views/ModelForumDetails/SuspectedCarBlackID/index.vue
|
||||
-->
|
||||
<template>
|
||||
<div class="scb-outter">
|
||||
<v-label-div title="疑似车黑ID"> </v-label-div>
|
||||
<div class="scb-inner">
|
||||
<v-echarts :opt="opt"></v-echarts>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import createOpt from "./opt"
|
||||
export default {
|
||||
name: "SuspectedCarBlackID",
|
||||
data() {
|
||||
return {
|
||||
opt: createOpt()
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
.scb-outter {
|
||||
width: 936px;
|
||||
height: 460px;
|
||||
border: 2px solid #0f2a4d;
|
||||
.scb-inner {
|
||||
width: 100%;
|
||||
height: calc(100% - 48px);
|
||||
}
|
||||
}
|
||||
</style>
|
@ -0,0 +1,90 @@
|
||||
/*
|
||||
* @Author: your name
|
||||
* @Date: 2021-10-12 15:32:24
|
||||
* @LastEditTime: 2021-11-09 17:33:49
|
||||
* @LastEditors: Please set LastEditors
|
||||
* @Description: In User Settings Edit
|
||||
* @FilePath: /data-show/src/views/BrandInsight/weiboVolumeTrend/opt.js
|
||||
*/
|
||||
export default function createOpt() {
|
||||
return {
|
||||
grid: {
|
||||
top: 20,
|
||||
left: 10,
|
||||
right: '5%',
|
||||
bottom: 10,
|
||||
containLabel: true,
|
||||
},
|
||||
tooltip: {
|
||||
trigger: "item",
|
||||
backgroundColor: "#08182F",
|
||||
color: "#fff",
|
||||
borderColor: "#3373CC",
|
||||
textStyle: {
|
||||
color: "#fff", //设置文字颜色
|
||||
},
|
||||
extraCssText: "box-shadow: 0px 0px 10px 0px #3373CC;"
|
||||
},
|
||||
xAxis: {
|
||||
axisTick: {
|
||||
show: false,
|
||||
},
|
||||
axisLine: {
|
||||
show: false,
|
||||
lineStyle: {
|
||||
color: "#fff",
|
||||
},
|
||||
},
|
||||
splitLine: {
|
||||
show: false,
|
||||
}
|
||||
},
|
||||
yAxis: {
|
||||
axisTick: {
|
||||
show: false,
|
||||
},
|
||||
axisLine: {
|
||||
show: false,
|
||||
lineStyle: {
|
||||
color: "#fff",
|
||||
},
|
||||
},
|
||||
splitLine: {
|
||||
lineStyle: {
|
||||
type: "dashed", // y轴分割线类型
|
||||
color: "#012b4b",
|
||||
},
|
||||
},
|
||||
},
|
||||
series: [
|
||||
{
|
||||
symbolSize: 20,
|
||||
data: [
|
||||
[10.0, 8.04],
|
||||
[8.07, 6.95],
|
||||
[13.0, 7.58],
|
||||
[9.05, 8.81],
|
||||
[11.0, 8.33],
|
||||
[14.0, 7.66],
|
||||
[13.4, 6.81],
|
||||
[10.0, 6.33],
|
||||
[14.0, 8.96],
|
||||
[12.5, 6.82],
|
||||
[9.15, 7.2],
|
||||
[11.5, 7.2],
|
||||
[3.03, 4.23],
|
||||
[12.2, 7.83],
|
||||
[2.02, 4.47],
|
||||
[1.05, 3.33],
|
||||
[4.05, 4.96],
|
||||
[6.03, 7.24],
|
||||
[12.0, 6.26],
|
||||
[12.0, 8.84],
|
||||
[7.08, 5.82],
|
||||
[5.02, 5.68]
|
||||
],
|
||||
type: 'scatter'
|
||||
}
|
||||
]
|
||||
};
|
||||
}
|
@ -0,0 +1,41 @@
|
||||
<!--
|
||||
* @Author: your name
|
||||
* @Date: 2021-11-09 17:35:06
|
||||
* @LastEditTime: 2021-11-09 17:40:59
|
||||
* @LastEditors: Please set LastEditors
|
||||
* @Description: In User Settings Edit
|
||||
* @FilePath: /data-show/src/views/ModelForumDetails/ThreadIDRegistrationTime/index.vue
|
||||
-->
|
||||
<template>
|
||||
<div class="tdrt-outter">
|
||||
<v-label-div title="跟帖ID注册时间"> </v-label-div>
|
||||
<div class="tdrt-inner">
|
||||
<v-echarts :opt="opt"></v-echarts>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {createSingleColumnar} from "@/utils/gol/singleColumnar"
|
||||
export default {
|
||||
name: "ThreadIDRegistrationTime",
|
||||
data() {
|
||||
return {
|
||||
opt: createSingleColumnar([2017, 2018, 2019, 2020, 2021], [20000, 18000, 15000, 14000, 11000])
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
.tdrt-outter {
|
||||
width: 936px;
|
||||
height: 460px;
|
||||
border: 2px solid #0f2a4d;
|
||||
margin-left: 16px;
|
||||
.tdrt-inner {
|
||||
width: 100%;
|
||||
height: calc(100% - 48px);
|
||||
}
|
||||
}
|
||||
</style>
|
@ -0,0 +1,69 @@
|
||||
<!--
|
||||
* @Author: your name
|
||||
* @Date: 2021-11-09 13:49:27
|
||||
* @LastEditTime: 2021-11-09 17:37:59
|
||||
* @LastEditors: Please set LastEditors
|
||||
* @Description: In User Settings Edit
|
||||
* @FilePath: /data-show/src/views/ModelForumDetails/index.vue
|
||||
-->
|
||||
<template>
|
||||
<div class="d-container">
|
||||
<div class="mfd-outter">
|
||||
<mfdHeader></mfdHeader>
|
||||
<div class="mfd-d1">
|
||||
<mfdCommunicationTrend></mfdCommunicationTrend>
|
||||
<mfdContentType></mfdContentType>
|
||||
<mfdCharacters></mfdCharacters>
|
||||
</div>
|
||||
<div class="mfd-d1">
|
||||
<mfdPositiveTopic></mfdPositiveTopic>
|
||||
<mfdNegativeTopic></mfdNegativeTopic>
|
||||
</div>
|
||||
<mfdMainPost></mfdMainPost>
|
||||
<mfdFollowPost></mfdFollowPost>
|
||||
<div class="mfd-d1">
|
||||
<SuspectedCarBlackID></SuspectedCarBlackID>
|
||||
<ThreadIDRegistrationTime></ThreadIDRegistrationTime>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import mfdHeader from "./mfdHeader"
|
||||
import mfdCommunicationTrend from "./mfdCommunicationTrend"
|
||||
import mfdContentType from "./mfdContentType"
|
||||
import mfdCharacters from "./mfdCharacters"
|
||||
import mfdPositiveTopic from "./mfdPositiveTopic"
|
||||
import mfdNegativeTopic from "./mfdNegativeTopic"
|
||||
import mfdMainPost from "./mfdMainPost"
|
||||
import mfdFollowPost from "./mfdFollowPost"
|
||||
import SuspectedCarBlackID from "./SuspectedCarBlackID"
|
||||
import ThreadIDRegistrationTime from "./ThreadIDRegistrationTime"
|
||||
export default {
|
||||
name: "ModelForumDetails",
|
||||
components: {
|
||||
mfdHeader, // 顶部
|
||||
mfdCommunicationTrend, // 论坛传播趋势
|
||||
mfdContentType, // 论坛调性分布
|
||||
mfdCharacters, // 数据对比分析
|
||||
mfdPositiveTopic, // 正面话题分布
|
||||
mfdNegativeTopic, // 负面话题分布
|
||||
mfdMainPost, // 主帖ID
|
||||
mfdFollowPost, // 跟帖ID
|
||||
SuspectedCarBlackID, // 疑似车黑ID
|
||||
ThreadIDRegistrationTime // 跟帖ID注册时间
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
.mfd-outter {
|
||||
padding: 0px 16px 16px 16px;
|
||||
}
|
||||
.mfd-d1 {
|
||||
margin-top: 16px;
|
||||
display: flex;
|
||||
justify-content: flex-start;
|
||||
}
|
||||
</style>
|
@ -0,0 +1,171 @@
|
||||
<!--
|
||||
* @Author: your name
|
||||
* @Date: 2021-10-14 10:48:56
|
||||
* @LastEditTime: 2021-11-09 15:00:59
|
||||
* @LastEditors: Please set LastEditors
|
||||
* @Description: In User Settings Edit
|
||||
* @FilePath: /data-show/src/views/WeiboDetails/weiboCharacters/index.vue
|
||||
-->
|
||||
<template>
|
||||
<div class="wc-outter" v-loading="load">
|
||||
<v-label-div title="数据对比分析">
|
||||
<div>
|
||||
<v-tab-group
|
||||
:btns="['阅读量', '回复量', '精华率', '图文']"
|
||||
@change="handlerTab"
|
||||
></v-tab-group>
|
||||
</div>
|
||||
</v-label-div>
|
||||
<div class="wc-inner">
|
||||
<div class="d1">
|
||||
<v-echarts :opt="opt"></v-echarts>
|
||||
</div>
|
||||
<div class="d2">
|
||||
<vue-scroll>
|
||||
<v-label-ctx
|
||||
v-for="(item, index) in labelArr"
|
||||
:key="index"
|
||||
:label="item.key"
|
||||
:cont="item.value"
|
||||
:percentage="((item.value / total) * 100).toFixed(2) + '%'"
|
||||
:color="colors[index]"
|
||||
:eStyle="{ height: '8.54rem' }"
|
||||
></v-label-ctx>
|
||||
</vue-scroll>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { getSexMergeWeiBo } from "@/api/WeiboDetails";
|
||||
import createOpt from "./opt";
|
||||
export default {
|
||||
name: "mfdCharacters",
|
||||
data() {
|
||||
return {
|
||||
load: false,
|
||||
form: {
|
||||
sBrand: "",
|
||||
token: "",
|
||||
},
|
||||
RegionWeiBo: [],
|
||||
attestation: [],
|
||||
sex: [],
|
||||
total: 0,
|
||||
labelArr: [],
|
||||
|
||||
opt: createOpt(),
|
||||
colors: [
|
||||
"#54BF93",
|
||||
"#3373CC",
|
||||
"#CC9D12",
|
||||
"#f15c80",
|
||||
"#e4d354",
|
||||
"#8085e8",
|
||||
"#8d4653",
|
||||
"#91e8e1",
|
||||
"#f7a35c",
|
||||
"#90ed7d",
|
||||
"#54BF93",
|
||||
"#3373CC",
|
||||
"#CC9D12",
|
||||
"#f15c80",
|
||||
"#e4d354",
|
||||
"#8085e8",
|
||||
"#8d4653",
|
||||
"#91e8e1",
|
||||
"#f7a35c",
|
||||
"#90ed7d",
|
||||
],
|
||||
};
|
||||
},
|
||||
created() {
|
||||
this.form.token = this.getToken;
|
||||
this.form.sBrand = this.getBrand.brandname || this.brand;
|
||||
this.getData();
|
||||
},
|
||||
methods: {
|
||||
// 获取后台数据
|
||||
getData() {
|
||||
let obj = Object.assign({}, this.getCtime2, this.form);
|
||||
this.load = true;
|
||||
getSexMergeWeiBo(obj).then((res) => {
|
||||
let data = res.data || {};
|
||||
let RegionWeiBo = data.RegionWeiBo;
|
||||
let attestation = data.attestation;
|
||||
let sex = data.sex;
|
||||
this.RegionWeiBo = this.toArr(RegionWeiBo);
|
||||
this.attestation = this.toArr(attestation);
|
||||
this.sex = this.toArr(sex);
|
||||
this.doVal(this.sex);
|
||||
this.load = false;
|
||||
});
|
||||
},
|
||||
// 将对象变成数组
|
||||
toArr(obj) {
|
||||
let arr = [];
|
||||
for (let key in obj) {
|
||||
let o = {
|
||||
key: key,
|
||||
value: obj[key],
|
||||
};
|
||||
arr.push(o);
|
||||
}
|
||||
return arr;
|
||||
},
|
||||
// 给页面变化值赋值
|
||||
doVal(arr = []) {
|
||||
let total = 0;
|
||||
arr.forEach((ele) => {
|
||||
total += ele.value * 1;
|
||||
});
|
||||
this.total = total;
|
||||
this.labelArr = arr;
|
||||
this.opt = createOpt(this.labelArr, this.colors);
|
||||
},
|
||||
// 切换数据
|
||||
handlerTab(n) {
|
||||
switch (n) {
|
||||
case 0:
|
||||
this.doVal(this.sex);
|
||||
break;
|
||||
case 1:
|
||||
this.doVal(this.attestation);
|
||||
break;
|
||||
case 2:
|
||||
this.doVal(this.RegionWeiBo);
|
||||
break;
|
||||
default:
|
||||
this.doVal(this.sex);
|
||||
break;
|
||||
}
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
.wc-outter {
|
||||
width: 618px;
|
||||
height: 460px;
|
||||
border: 2px solid #0f2a4d;
|
||||
margin-left: 16px;
|
||||
overflow: hidden;
|
||||
.wc-inner {
|
||||
width: 100%;
|
||||
height: calc(100% - 48px);
|
||||
display: flex;
|
||||
justify-content: flex-start;
|
||||
.d1 {
|
||||
width: 280px;
|
||||
height: 100%;
|
||||
}
|
||||
.d2 {
|
||||
width: 300px;
|
||||
margin-left: 16px;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
@ -0,0 +1,71 @@
|
||||
<!--
|
||||
* @Author: your name
|
||||
* @Date: 2021-10-14 10:11:41
|
||||
* @LastEditTime: 2021-11-09 14:56:37
|
||||
* @LastEditors: Please set LastEditors
|
||||
* @Description: In User Settings Edit
|
||||
* @FilePath: /data-show/src/views/WeiboDetails/weiboCommunicationTrend/index.vue
|
||||
-->
|
||||
<template>
|
||||
<div class="wct-outter" v-loading="load">
|
||||
<v-label-div title="论坛传播趋势">
|
||||
</v-label-div>
|
||||
<div class="wct-inner">
|
||||
<v-echarts :opt="opt"></v-echarts>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {getCountTime0528} from "@/api/WeiboDetails"
|
||||
import createOpt from "./opt"
|
||||
export default {
|
||||
name: "mfdCommunicationTrend",
|
||||
data() {
|
||||
return {
|
||||
load: false,
|
||||
form: {
|
||||
sBrand: "",
|
||||
token: "",
|
||||
},
|
||||
opt: createOpt()
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.form.token = this.getToken;
|
||||
this.form.sBrand = this.getBrand.brandname || this.brand;
|
||||
this.getData();
|
||||
},
|
||||
methods: {
|
||||
getData() {
|
||||
this.load = true;
|
||||
let obj = Object.assign({}, this.getCtime2, this.form);
|
||||
getCountTime0528(obj).then(res => {
|
||||
let data = res.data || [];
|
||||
let dx = []; //time
|
||||
let ds = []; //value
|
||||
data.forEach(ele => {
|
||||
let key = ele.Time;
|
||||
let value = ele.value;
|
||||
dx.push(key);
|
||||
ds.push(value);
|
||||
})
|
||||
this.opt = createOpt(dx, ds)
|
||||
this.load = false
|
||||
});
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
.wct-outter {
|
||||
width: 618px;
|
||||
height: 460px;
|
||||
border: 2px solid #0f2a4d;
|
||||
.wct-inner {
|
||||
width: 100%;
|
||||
height: calc(100% - 48px);
|
||||
}
|
||||
}
|
||||
</style>
|
@ -0,0 +1,88 @@
|
||||
/*
|
||||
* @Author: your name
|
||||
* @Date: 2021-10-12 15:32:24
|
||||
* @LastEditTime: 2021-10-14 10:21:55
|
||||
* @LastEditors: Please set LastEditors
|
||||
* @Description: In User Settings Edit
|
||||
* @FilePath: /data-show/src/views/BrandInsight/weiboVolumeTrend/opt.js
|
||||
*/
|
||||
import * as echarts from "echarts";
|
||||
import { bigNumberTransform } from "@/utils/gol/dataTool"
|
||||
export default function createOpt(dx = [], ds = []) {
|
||||
return {
|
||||
grid: {
|
||||
top: 16,
|
||||
left: 16,
|
||||
right: "5%",
|
||||
bottom: 10,
|
||||
containLabel: true,
|
||||
},
|
||||
tooltip: {
|
||||
trigger: "axis",
|
||||
backgroundColor: "#08182F",
|
||||
color: "#fff",
|
||||
borderColor: "#3373CC",
|
||||
textStyle: {
|
||||
color: "#fff", //设置文字颜色
|
||||
},
|
||||
extraCssText: "box-shadow: 0px 0px 10px 0px #3373CC;"
|
||||
},
|
||||
xAxis: {
|
||||
type: 'category',
|
||||
boundaryGap: false,
|
||||
axisTick: {
|
||||
show: false,
|
||||
},
|
||||
axisLabel: {
|
||||
formatter: (value) => {
|
||||
let str = value.substring(10, 16)
|
||||
return str;
|
||||
}
|
||||
},
|
||||
axisLine: {
|
||||
show: false,
|
||||
lineStyle: {
|
||||
color: "#fff",
|
||||
},
|
||||
},
|
||||
data: dx
|
||||
},
|
||||
yAxis: {
|
||||
type: 'value',
|
||||
axisLine: {
|
||||
show: false,
|
||||
lineStyle: {
|
||||
color: "#FFF",
|
||||
},
|
||||
},
|
||||
axisLabel: {
|
||||
formatter: (value) => {
|
||||
let str = bigNumberTransform(value);
|
||||
return str;
|
||||
}
|
||||
},
|
||||
splitLine: {
|
||||
lineStyle: {
|
||||
type: "dashed", // y轴分割线类型
|
||||
color: "#012b4b",
|
||||
},
|
||||
},
|
||||
},
|
||||
series: [
|
||||
{
|
||||
data: ds,
|
||||
type: 'line',
|
||||
color: '#546fc5',
|
||||
areaStyle: {normal: {
|
||||
color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{
|
||||
offset: 0,
|
||||
color: '#546fc5'
|
||||
}, {
|
||||
offset: 1,
|
||||
color: 'rgba(0,0,0,0)'
|
||||
}]),
|
||||
}}
|
||||
}
|
||||
]
|
||||
};
|
||||
}
|
@ -0,0 +1,119 @@
|
||||
<!--
|
||||
* @Author: your name
|
||||
* @Date: 2021-10-14 10:24:56
|
||||
* @LastEditTime: 2021-11-09 14:59:02
|
||||
* @LastEditors: Please set LastEditors
|
||||
* @Description: In User Settings Edit
|
||||
* @FilePath: /data-show/src/views/WeiboDetails/weiboContentType/index.vue
|
||||
-->
|
||||
<template>
|
||||
<div class="wct-outter" v-loading="load">
|
||||
<v-label-div title="论坛调性分布"> </v-label-div>
|
||||
<div class="wct-inner">
|
||||
<div class="d1">
|
||||
<v-echarts :opt="opt"></v-echarts>
|
||||
</div>
|
||||
<div class="d2">
|
||||
<v-label-ctx
|
||||
v-for="(item, index) in labelArr"
|
||||
:key="index"
|
||||
:label="item.key"
|
||||
:cont="item.value"
|
||||
:percentage="((item.value / total) * 100).toFixed(2) + '%'"
|
||||
:color="colors[index]"
|
||||
:eStyle="{ height: '8.54rem' }"
|
||||
></v-label-ctx>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { getWtypeWeiBo0528 } from "@/api/WeiboDetails";
|
||||
import createOpt from "./opt";
|
||||
export default {
|
||||
name: "mfdContentType",
|
||||
data() {
|
||||
return {
|
||||
load: false,
|
||||
form: {
|
||||
sBrand: "",
|
||||
token: "",
|
||||
},
|
||||
labelArr: [],
|
||||
total: 0,
|
||||
opt: createOpt(),
|
||||
colors: [
|
||||
"#54BF93",
|
||||
"#3373CC",
|
||||
"#CC9D12",
|
||||
"#f15c80",
|
||||
"#e4d354",
|
||||
"#8085e8",
|
||||
"#8d4653",
|
||||
"#91e8e1",
|
||||
"#f7a35c",
|
||||
"#90ed7d",
|
||||
"#54BF93",
|
||||
"#3373CC",
|
||||
"#CC9D12",
|
||||
"#f15c80",
|
||||
"#e4d354",
|
||||
"#8085e8",
|
||||
"#8d4653",
|
||||
"#91e8e1",
|
||||
"#f7a35c",
|
||||
"#90ed7d",
|
||||
],
|
||||
};
|
||||
},
|
||||
created() {
|
||||
this.form.token = this.getToken;
|
||||
this.form.sBrand = this.getBrand.brandname || this.brand;
|
||||
this.getData();
|
||||
},
|
||||
methods: {
|
||||
getData() {
|
||||
this.load = true;
|
||||
let obj = Object.assign({}, this.getCtime2, this.form);
|
||||
getWtypeWeiBo0528(obj).then((res) => {
|
||||
let data = res.data || [];
|
||||
this.doVal(data);
|
||||
this.load = false;
|
||||
});
|
||||
},
|
||||
doVal(arr = []) {
|
||||
let total = 0;
|
||||
arr.forEach((ele) => {
|
||||
total += ele.value * 1;
|
||||
});
|
||||
this.total = total;
|
||||
this.labelArr = arr;
|
||||
this.opt = createOpt(this.labelArr, this.colors);
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
<style lang="less" scoped>
|
||||
.wct-outter {
|
||||
width: 618px;
|
||||
height: 460px;
|
||||
border: 2px solid #0f2a4d;
|
||||
margin-left: 16px;
|
||||
overflow: hidden;
|
||||
.wct-inner {
|
||||
width: 100%;
|
||||
height: calc(100% - 48px);
|
||||
display: flex;
|
||||
justify-content: flex-start;
|
||||
.d1 {
|
||||
width: 280px;
|
||||
height: 100%;
|
||||
}
|
||||
.d2 {
|
||||
width: 300px;
|
||||
margin-left: 16px;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
@ -0,0 +1,48 @@
|
||||
<!--
|
||||
* @Author: your name
|
||||
* @Date: 2021-11-09 15:49:33
|
||||
* @LastEditTime: 2021-11-09 17:17:49
|
||||
* @LastEditors: Please set LastEditors
|
||||
* @Description: In User Settings Edit
|
||||
* @FilePath: /data-show/src/views/ModelForumDetails/mfdMainPost/index.vue
|
||||
-->
|
||||
<template>
|
||||
<div class="mmp-outter">
|
||||
<v-label-div title="跟帖ID"> </v-label-div>
|
||||
<div class="mmp-inner">
|
||||
<FollowPostIDModelAnalysis></FollowPostIDModelAnalysis>
|
||||
<FollowPostUserAnalysis></FollowPostUserAnalysis>
|
||||
<FollowPostUserActiveArea></FollowPostUserActiveArea>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import FollowPostIDModelAnalysis from "../FollowPostIDModelAnalysis"
|
||||
import FollowPostUserAnalysis from "../FollowPostUserAnalysis"
|
||||
import FollowPostUserActiveArea from "../FollowPostUserActiveArea"
|
||||
export default {
|
||||
name: "mfdFollowPost",
|
||||
components: {
|
||||
FollowPostIDModelAnalysis, // 主帖ID车型分析
|
||||
FollowPostUserAnalysis, // 主帖用户分析
|
||||
FollowPostUserActiveArea
|
||||
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
.mmp-outter {
|
||||
width: 100%;
|
||||
height: 460px;
|
||||
border: 2px solid #0f2a4d;
|
||||
margin-top: 16px;
|
||||
.mmp-inner {
|
||||
width: 100%;
|
||||
height: calc(100% - 48px);
|
||||
display: flex;
|
||||
justify-content: flex-start;
|
||||
}
|
||||
}
|
||||
</style>
|
@ -0,0 +1,122 @@
|
||||
<!--
|
||||
* @Author: your name
|
||||
* @Date: 2021-11-09 13:51:57
|
||||
* @LastEditTime: 2021-11-09 14:37:48
|
||||
* @LastEditors: Please set LastEditors
|
||||
* @Description: In User Settings Edit
|
||||
* @FilePath: /data-show/src/views/ModelForumDetails/mfdHeader/index.vue
|
||||
-->
|
||||
<template>
|
||||
<div class="mfdh-outter">
|
||||
<v-label-div title="论坛洞察详情">
|
||||
<v-btn @click="goback">返回车型洞察</v-btn>
|
||||
</v-label-div>
|
||||
<div class="mfdh-inner">
|
||||
<div class="mfdh-in-d1">
|
||||
奥迪
|
||||
</div>
|
||||
<span class="mfdh-in-d2">奥迪A8</span>
|
||||
<div class="mfdh-in-d3" style="width: 20rem">
|
||||
<img class="mfdh-m1" src="../../../assets/images/ModelInsight/ic_cbsj.png" />
|
||||
<div class="mfdh-data">
|
||||
<span class="s1">74,073,195</span>
|
||||
<span class="s2">主贴发贴量(条)</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="mfdh-in-d3" style="width: 35rem">
|
||||
<img class="mfdh-m1" src="../../../assets/images/ModelInsight/ic_qrft.png" />
|
||||
<div class="mfdh-data">
|
||||
<span class="s1">100.23</span>
|
||||
<span class="s2">品牌千人发帖量</span>
|
||||
</div>
|
||||
<div class="mfdh-data">
|
||||
<span class="s1">1234.23</span>
|
||||
<span class="s2">行业千人发帖量</span>
|
||||
</div>
|
||||
<div class="mfdh-data">
|
||||
<span class="s1">5.45<a-icon type="question-circle" style="margin-left: 0.3rem;color: #5a9ebc;"/></span>
|
||||
<span class="s2">量差</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="mfdh-in-d3">
|
||||
<img class="mfdh-m1" src="../../../assets/images/ModelInsight/ic_qrpl.png" />
|
||||
<div class="mfdh-data">
|
||||
<span class="s1">100.23</span>
|
||||
<span class="s2">品牌千人发帖量</span>
|
||||
</div>
|
||||
<div class="mfdh-data">
|
||||
<span class="s1">1234.23</span>
|
||||
<span class="s2">行业千人发帖量</span>
|
||||
</div>
|
||||
<div class="mfdh-data">
|
||||
<span class="s1">5.45<a-icon type="question-circle" style="margin-left: 0.3rem;color: #5a9ebc;"/></span>
|
||||
<span class="s2">量差</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: "mfdHeader",
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
.mfdh-outter {
|
||||
width: 100%;
|
||||
height: 222px;
|
||||
border: 2px solid #0f2a4d;
|
||||
.mfdh-inner {
|
||||
width: 100%;
|
||||
height: calc(100% - 48px);
|
||||
display: flex;
|
||||
justify-content: flex-start;
|
||||
align-items: center;
|
||||
.mfdh-in-d1 {
|
||||
width: 150px;
|
||||
height: 150px;
|
||||
background-image: url("../../../assets/images/BrandInsight/img_lq.png");
|
||||
background-repeat: no-repeat;
|
||||
background-size: cover;
|
||||
text-align: center;
|
||||
line-height: 150px;
|
||||
color: #b2daf8;
|
||||
font-size: 24px;
|
||||
margin-left: 16px;
|
||||
}
|
||||
.mfdh-in-d2 {
|
||||
display: block;
|
||||
font-size: 24px;
|
||||
color: #b2daf8;
|
||||
margin-left: 16px;
|
||||
width: 280px;
|
||||
}
|
||||
.mfdh-in-d3 {
|
||||
display: flex;
|
||||
justify-content: flex-start;
|
||||
align-items: center;
|
||||
}
|
||||
}
|
||||
}
|
||||
.mfdh-m1 {
|
||||
width: 80px;
|
||||
height: 80px;
|
||||
margin-right: 20px;
|
||||
}
|
||||
.mfdh-data {
|
||||
.s1 {
|
||||
font-size: 24px;
|
||||
font-family: Bebas;
|
||||
color: #ffffff;
|
||||
display: block;
|
||||
}
|
||||
.s2 {
|
||||
font-size: 14px;
|
||||
color: #8b9299;
|
||||
display: block;
|
||||
}
|
||||
margin-right: 40px;
|
||||
}
|
||||
</style>
|
@ -0,0 +1,48 @@
|
||||
<!--
|
||||
* @Author: your name
|
||||
* @Date: 2021-11-09 15:49:33
|
||||
* @LastEditTime: 2021-11-09 17:04:04
|
||||
* @LastEditors: Please set LastEditors
|
||||
* @Description: In User Settings Edit
|
||||
* @FilePath: /data-show/src/views/ModelForumDetails/mfdMainPost/index.vue
|
||||
-->
|
||||
<template>
|
||||
<div class="mmp-outter">
|
||||
<v-label-div title="主帖ID"> </v-label-div>
|
||||
<div class="mmp-inner">
|
||||
<MainPostIDModelAnalysis></MainPostIDModelAnalysis>
|
||||
<MainPostUserAnalysis></MainPostUserAnalysis>
|
||||
<MainPostUserActiveArea></MainPostUserActiveArea>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import MainPostIDModelAnalysis from "../MainPostIDModelAnalysis"
|
||||
import MainPostUserAnalysis from "../MainPostUserAnalysis"
|
||||
import MainPostUserActiveArea from "../MainPostUserActiveArea"
|
||||
export default {
|
||||
name: "mfdMainPost",
|
||||
components: {
|
||||
MainPostIDModelAnalysis, // 主帖ID车型分析
|
||||
MainPostUserAnalysis, // 主帖用户分析
|
||||
MainPostUserActiveArea
|
||||
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
.mmp-outter {
|
||||
width: 100%;
|
||||
height: 460px;
|
||||
border: 2px solid #0f2a4d;
|
||||
margin-top: 16px;
|
||||
.mmp-inner {
|
||||
width: 100%;
|
||||
height: calc(100% - 48px);
|
||||
display: flex;
|
||||
justify-content: flex-start;
|
||||
}
|
||||
}
|
||||
</style>
|
@ -0,0 +1,59 @@
|
||||
/*
|
||||
* @Author: your name
|
||||
* @Date: 2021-10-12 15:32:24
|
||||
* @LastEditTime: 2021-11-09 15:45:48
|
||||
* @LastEditors: Please set LastEditors
|
||||
* @Description: In User Settings Edit
|
||||
* @FilePath: /data-show/src/views/BrandInsight/weiboVolumeTrend/opt.js
|
||||
*/
|
||||
export default function createOpt() {
|
||||
return {
|
||||
title: {
|
||||
text: 'Basic Radar Chart',
|
||||
show: false
|
||||
},
|
||||
tooltip: {
|
||||
trigger: "item",
|
||||
backgroundColor: "#08182F",
|
||||
color: "#fff",
|
||||
borderColor: "#3373CC",
|
||||
textStyle: {
|
||||
color: "#fff", //设置文字颜色
|
||||
},
|
||||
extraCssText: "box-shadow: 0px 0px 10px 0px #3373CC;"
|
||||
},
|
||||
radar: {
|
||||
// shape: 'circle',
|
||||
indicator: [
|
||||
{ name: '新车发布', max: 6500 },
|
||||
{ name: '用车生活', max: 16000 },
|
||||
{ name: '咨询请教', max: 30000 },
|
||||
{ name: '本品讨论', max: 38000 },
|
||||
{ name: '售后服务', max: 52000 },
|
||||
{ name: '技术加持', max: 25000 },
|
||||
{ name: '保养作业', max: 25000 },
|
||||
{ name: '看车提车', max: 25000 },
|
||||
{ name: '竞品对比', max: 25000 },
|
||||
{ name: '销售问题', max: 25000 },
|
||||
]
|
||||
},
|
||||
series: [
|
||||
{
|
||||
name: 'Budget vs spending',
|
||||
type: 'radar',
|
||||
data: [
|
||||
{
|
||||
value: [5000, 14000, 28000, 26000, 42000, 21000, 22000, 21000, 19000, 23000],
|
||||
name: '负面话题分布:',
|
||||
itemStyle: {
|
||||
color: "rgba(194, 151, 22)",
|
||||
},
|
||||
areaStyle: {
|
||||
color: 'rgba(194, 151, 22, 0.2)'
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
};
|
||||
}
|
@ -0,0 +1,59 @@
|
||||
/*
|
||||
* @Author: your name
|
||||
* @Date: 2021-10-12 15:32:24
|
||||
* @LastEditTime: 2021-11-09 15:46:21
|
||||
* @LastEditors: Please set LastEditors
|
||||
* @Description: In User Settings Edit
|
||||
* @FilePath: /data-show/src/views/BrandInsight/weiboVolumeTrend/opt.js
|
||||
*/
|
||||
export default function createOpt() {
|
||||
return {
|
||||
title: {
|
||||
text: 'Basic Radar Chart',
|
||||
show: false
|
||||
},
|
||||
tooltip: {
|
||||
trigger: "item",
|
||||
backgroundColor: "#08182F",
|
||||
color: "#fff",
|
||||
borderColor: "#3373CC",
|
||||
textStyle: {
|
||||
color: "#fff", //设置文字颜色
|
||||
},
|
||||
extraCssText: "box-shadow: 0px 0px 10px 0px #3373CC;"
|
||||
},
|
||||
radar: {
|
||||
// shape: 'circle',
|
||||
indicator: [
|
||||
{ name: '新车发布', max: 6500 },
|
||||
{ name: '用车生活', max: 16000 },
|
||||
{ name: '咨询请教', max: 30000 },
|
||||
{ name: '本品讨论', max: 38000 },
|
||||
{ name: '售后服务', max: 52000 },
|
||||
{ name: '技术加持', max: 25000 },
|
||||
{ name: '保养作业', max: 25000 },
|
||||
{ name: '看车提车', max: 25000 },
|
||||
{ name: '竞品对比', max: 25000 },
|
||||
{ name: '销售问题', max: 25000 },
|
||||
]
|
||||
},
|
||||
series: [
|
||||
{
|
||||
name: 'Budget vs spending',
|
||||
type: 'radar',
|
||||
data: [
|
||||
{
|
||||
value: [5000, 14000, 28000, 26000, 42000, 21000, 22000, 21000, 19000, 23000],
|
||||
name: '正面话题分布:',
|
||||
itemStyle: {
|
||||
color: "rgba(48, 110, 195)",
|
||||
},
|
||||
areaStyle: {
|
||||
color: 'rgba(48, 110, 195, 0.2)'
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
};
|
||||
}
|
Loading…
Reference in new issue