prod
parent
b0bef8a3a0
commit
87056890b0
@ -1,183 +0,0 @@
|
||||
<!--
|
||||
* @Author: your name
|
||||
* @Date: 2021-10-14 18:42:40
|
||||
* @LastEditTime: 2021-11-09 11:58:09
|
||||
* @LastEditors: Please set LastEditors
|
||||
* @Description: In User Settings Edit
|
||||
* @FilePath: /data-show/src/views/WeiboDetails/modelPopularity/index.vue
|
||||
-->
|
||||
|
||||
<template>
|
||||
<div class="mp-outter" v-loading="load">
|
||||
<v-label-div title="车型热度">
|
||||
<div>
|
||||
<v-tab-group
|
||||
:btns="['热门', '热赞', '热议', '热转']"
|
||||
@change="handlerTab"
|
||||
></v-tab-group>
|
||||
</div>
|
||||
</v-label-div>
|
||||
<div class="mp-inner">
|
||||
<v-ranking-mpth
|
||||
v-for="(item, index) in labelArr"
|
||||
:key="index"
|
||||
:num="index + 1"
|
||||
:label="item.key"
|
||||
:val="item.value"
|
||||
></v-ranking-mpth>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { getCartypeWeiBo0528 } from "@/api/WeiboDetails/index.js";
|
||||
import { getTopCarseriesObj } from "@/api/WeiboDetails/index.js";
|
||||
import vRankingMpth from "./v-ranking-mpth";
|
||||
export default {
|
||||
name: "modelPopularity",
|
||||
data() {
|
||||
return {
|
||||
load: false,
|
||||
form: {
|
||||
sBrand: "",
|
||||
token: "",
|
||||
iType: "",
|
||||
},
|
||||
labelArr: [],
|
||||
hotSeries: [],
|
||||
hotTypes: [],
|
||||
hotComs: [],
|
||||
hotTrans: [],
|
||||
};
|
||||
},
|
||||
components: {
|
||||
vRankingMpth,
|
||||
},
|
||||
|
||||
created() {
|
||||
this.form.token = this.getToken;
|
||||
this.form.sBrand = this.getBrand.brandname || '奥迪';
|
||||
this.getData();
|
||||
},
|
||||
|
||||
methods: {
|
||||
getData() {
|
||||
this.load = true;
|
||||
Promise.all([
|
||||
this.getHotSeries(),
|
||||
this.getHotTypes(),
|
||||
this.getHotComs(),
|
||||
this.getHotTrans(),
|
||||
]).then(() => {
|
||||
// 什么也不执行
|
||||
this.handlerTab(0);
|
||||
this.load = false;
|
||||
});
|
||||
},
|
||||
//热门
|
||||
getHotSeries() {
|
||||
return new Promise((resolve, reject) => {
|
||||
this.form.iType = "";
|
||||
let obj = Object.assign({}, this.getCtime2, this.form);
|
||||
getCartypeWeiBo0528(obj)
|
||||
.then((res) => {
|
||||
let data = res.data || {};
|
||||
this.hotSeries = this.toArr(data);
|
||||
resolve(res);
|
||||
})
|
||||
.catch(() => {
|
||||
reject(false);
|
||||
});
|
||||
});
|
||||
},
|
||||
//热赞
|
||||
getHotTypes() {
|
||||
return new Promise((resolve, reject) => {
|
||||
this.form.iType = 1; //改变参数写在里面
|
||||
let obj = Object.assign({}, this.getCtime2, this.form);
|
||||
getTopCarseriesObj(obj)
|
||||
.then((res) => {
|
||||
this.hotTypes = res.data;
|
||||
resolve(res);
|
||||
})
|
||||
.catch(() => {
|
||||
reject(false);
|
||||
});
|
||||
});
|
||||
},
|
||||
//热议
|
||||
getHotComs() {
|
||||
return new Promise((resolve, reject) => {
|
||||
this.form.iType = 2;
|
||||
let obj = Object.assign({}, this.getCtime2, this.form);
|
||||
getTopCarseriesObj(obj)
|
||||
.then((res) => {
|
||||
this.hotComs = res.data;
|
||||
resolve(res);
|
||||
})
|
||||
.catch(() => {
|
||||
reject(false);
|
||||
});
|
||||
});
|
||||
},
|
||||
//热转
|
||||
getHotTrans() {
|
||||
return new Promise((resolve, reject) => {
|
||||
this.form.iType = 3;
|
||||
let obj = Object.assign({}, this.getCtime2, this.form);
|
||||
getTopCarseriesObj(obj)
|
||||
.then((res) => {
|
||||
this.hotTrans = res.data;
|
||||
resolve(res);
|
||||
})
|
||||
.catch(() => {
|
||||
reject(false);
|
||||
});
|
||||
});
|
||||
},
|
||||
// 将对象变成数组
|
||||
toArr(obj) {
|
||||
let arr = [];
|
||||
for (let key in obj) {
|
||||
let o = {
|
||||
key: key,
|
||||
value: obj[key],
|
||||
};
|
||||
arr.push(o);
|
||||
}
|
||||
return arr;
|
||||
},
|
||||
// 切换数据
|
||||
handlerTab(n) {
|
||||
switch (n) {
|
||||
case 0:
|
||||
this.labelArr = this.hotSeries;
|
||||
break;
|
||||
case 1:
|
||||
this.labelArr = this.hotTypes;
|
||||
break;
|
||||
case 2:
|
||||
this.labelArr = this.hotComs;
|
||||
break;
|
||||
case 3:
|
||||
this.labelArr = this.hotTrans;
|
||||
break;
|
||||
default:
|
||||
this.labelArr = this.hotSeries;
|
||||
break;
|
||||
}
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
.mp-outter {
|
||||
width: 460px;
|
||||
height: 460px;
|
||||
border: 2px solid #0f2a4d;
|
||||
.mp-inner {
|
||||
padding: 0px 16px 16px 16px;
|
||||
}
|
||||
}
|
||||
</style>
|
@ -1,230 +0,0 @@
|
||||
<!--
|
||||
* @Author: your name
|
||||
* @Date: 2021-10-08 16:44:08
|
||||
* @LastEditTime: 2021-10-14 19:01:34
|
||||
* @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-fhtd",
|
||||
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: 428px;
|
||||
height: auto;
|
||||
.v-r-line {
|
||||
width: 100%;
|
||||
height: 1px;
|
||||
background:#0a1d3b;
|
||||
margin-top: 16px;
|
||||
margin-bottom: 16px;
|
||||
}
|
||||
.v-r-inner {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
height: 48px;
|
||||
margin-top: 16px;
|
||||
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: block;
|
||||
text-align: right;
|
||||
font-size: 12px;
|
||||
}
|
||||
.s1 {
|
||||
color: #9ba4af;
|
||||
}
|
||||
.s2 {
|
||||
color: #fff;
|
||||
font-family: Bebas;
|
||||
}
|
||||
}
|
||||
.v-r-left {
|
||||
width: 48px;
|
||||
height: 48px;
|
||||
text-align: center;
|
||||
line-height: 48px;
|
||||
.s1 {
|
||||
color: #ffffff;
|
||||
font-size: 16px;
|
||||
line-height: 48px;
|
||||
font-family: Bebas;
|
||||
}
|
||||
}
|
||||
.v-r-right {
|
||||
position: absolute;
|
||||
width: 402px;
|
||||
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: 402px;
|
||||
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: 402px;
|
||||
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: 402px;
|
||||
height: 48px;
|
||||
border-top: 2px solid #54BF93;
|
||||
top: 0px;
|
||||
left: 24px;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
}
|
||||
</style>
|
@ -1,39 +0,0 @@
|
||||
<!--
|
||||
* @Author: your name
|
||||
* @Date: 2021-10-14 18:42:40
|
||||
* @LastEditTime: 2021-11-09 11:58:09
|
||||
* @LastEditors: Please set LastEditors
|
||||
* @Description: In User Settings Edit
|
||||
* @FilePath: /data-show/src/views/WeiboDetails/modelPopularity/index.vue
|
||||
-->
|
||||
|
||||
<template>
|
||||
<div class="mp-outter">
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: "modelPopularity",
|
||||
data() {
|
||||
return {
|
||||
form: {
|
||||
sBrand: "",
|
||||
token: "",
|
||||
iType: "",
|
||||
},
|
||||
};
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
.mp-outter {
|
||||
width: 460px;
|
||||
height: 460px;
|
||||
border: 2px solid #0f2a4d;
|
||||
.mp-inner {
|
||||
padding: 0px 16px 16px 16px;
|
||||
}
|
||||
}
|
||||
</style>
|
@ -1,94 +0,0 @@
|
||||
<!--
|
||||
* @Author: your name
|
||||
* @Date: 2021-10-16 15:18:44
|
||||
* @LastEditTime: 2021-11-09 13:14:13
|
||||
* @LastEditors: Please set LastEditors
|
||||
* @Description: In User Settings Edit
|
||||
* @FilePath: /data-show/src/views/WeiboDetails/positiveViewKOL/index.vue
|
||||
-->
|
||||
<template>
|
||||
<div class="pv-outter">
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: "negativeOpinionKOL",
|
||||
data() {
|
||||
return {
|
||||
form: {
|
||||
sBrand: "",
|
||||
sQingGan: "2",
|
||||
iSize: 6,
|
||||
token: "",
|
||||
},
|
||||
}
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
.pv-outter {
|
||||
width: 936px;
|
||||
height: 246px;
|
||||
border: 2px solid #0f2a4d;
|
||||
margin-left: 16px;
|
||||
.pv-inner {
|
||||
width: 100%;
|
||||
height: calc(100% - 48px);
|
||||
padding: 0px 0px 16px 16px;
|
||||
display: flex;
|
||||
justify-content: flex-start;
|
||||
flex-wrap: wrap;
|
||||
.pv-item {
|
||||
width: 285px;
|
||||
height: 72px;
|
||||
display: flex;
|
||||
justify-content: flex-start;
|
||||
align-items: center;
|
||||
position: relative;
|
||||
margin-right: 16px;
|
||||
margin-top: 16px;
|
||||
.dm {
|
||||
position: absolute;
|
||||
width: 72px;
|
||||
height: 72px;
|
||||
border-radius: 72px;
|
||||
border: 1px solid #ccc;
|
||||
left: 0px;
|
||||
top: 0px;
|
||||
background-color: #fff;
|
||||
z-index: 10;
|
||||
.dm-m1 {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
border-radius: 100%;
|
||||
}
|
||||
}
|
||||
.d-f {
|
||||
position: absolute;
|
||||
width: 249px;
|
||||
height: 64px;
|
||||
left: 36px;
|
||||
padding-left: 65px;
|
||||
background-image: url("../../../assets/images/BrandInsight/img_yhtx.png");
|
||||
.d1 {
|
||||
font-size: 14px;
|
||||
color: #fff;
|
||||
font-weight: 500;
|
||||
margin-top: 10px;
|
||||
}
|
||||
.d2 {
|
||||
color: #70869a;
|
||||
font-size: 12px;
|
||||
.d2-s1 {
|
||||
font-size: 12px;
|
||||
font-family: Bebas;
|
||||
color: #f49847;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
@ -1,93 +0,0 @@
|
||||
<!--
|
||||
* @Author: your name
|
||||
* @Date: 2021-10-16 15:18:44
|
||||
* @LastEditTime: 2021-11-09 13:15:15
|
||||
* @LastEditors: Please set LastEditors
|
||||
* @Description: In User Settings Edit
|
||||
* @FilePath: /data-show/src/views/WeiboDetails/positiveViewKOL/index.vue
|
||||
-->
|
||||
<template>
|
||||
<div class="pv-outter">
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: "positiveViewKOL",
|
||||
data() {
|
||||
return {
|
||||
form: {
|
||||
sBrand: "",
|
||||
sQingGan: "1",
|
||||
iSize: 6,
|
||||
token: "",
|
||||
},
|
||||
};
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
.pv-outter {
|
||||
width: 936px;
|
||||
height: 246px;
|
||||
border: 2px solid #0f2a4d;
|
||||
.pv-inner {
|
||||
width: 100%;
|
||||
height: calc(100% - 48px);
|
||||
padding: 0px 0px 16px 16px;
|
||||
display: flex;
|
||||
justify-content: flex-start;
|
||||
flex-wrap: wrap;
|
||||
.pv-item {
|
||||
width: 285px;
|
||||
height: 72px;
|
||||
display: flex;
|
||||
justify-content: flex-start;
|
||||
align-items: center;
|
||||
position: relative;
|
||||
margin-right: 16px;
|
||||
margin-top: 16px;
|
||||
.dm {
|
||||
position: absolute;
|
||||
width: 72px;
|
||||
height: 72px;
|
||||
border-radius: 72px;
|
||||
border: 1px solid #ccc;
|
||||
left: 0px;
|
||||
top: 0px;
|
||||
background-color: #fff;
|
||||
z-index: 10;
|
||||
.dm-m1 {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
border-radius: 100%;
|
||||
}
|
||||
}
|
||||
.d-f {
|
||||
position: absolute;
|
||||
width: 249px;
|
||||
height: 64px;
|
||||
left: 36px;
|
||||
padding-left: 65px;
|
||||
background-image: url("../../../assets/images/BrandInsight/img_yhtx.png");
|
||||
.d1 {
|
||||
font-size: 14px;
|
||||
color: #fff;
|
||||
font-weight: 500;
|
||||
margin-top: 10px;
|
||||
}
|
||||
.d2 {
|
||||
color: #70869a;
|
||||
font-size: 12px;
|
||||
.d2-s1 {
|
||||
font-size: 12px;
|
||||
font-family: Bebas;
|
||||
color: #f49847;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
@ -0,0 +1,82 @@
|
||||
<!--
|
||||
* @Author: your name
|
||||
* @Date: 2021-10-12 18:18:20
|
||||
* @LastEditTime: 2021-11-01 09:59:18
|
||||
* @LastEditors: Please set LastEditors
|
||||
* @Description: In User Settings Edit
|
||||
* @FilePath: /data-show/src/views/BrandInsight/spreadTOPmodels/index.vue
|
||||
-->
|
||||
<template>
|
||||
<div class="stm-outter" v-loading="load">
|
||||
<v-label-div title="传播声量TOP车型" :showLine="false" :eStyle="{'border-style': 'none'}"></v-label-div>
|
||||
<div class="stm-inner">
|
||||
<v-echarts :opt="opt" @getData="clickEchars"></v-echarts>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {getCartypeTop10} from "@/api/KeyMediaBrand/index.js"
|
||||
import createOpt from "./opt"
|
||||
export default {
|
||||
name: "spreadTOPmodels",
|
||||
data() {
|
||||
return {
|
||||
load: false,
|
||||
form: {
|
||||
sBrand: "",
|
||||
token: "",
|
||||
sSource: '',
|
||||
ilimitType: 0,
|
||||
},
|
||||
opt: {}
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.form.token = this.getToken;
|
||||
this.form.sBrand = this.getBrand.brandname || "奥迪";
|
||||
this.form.sSource = this.$route.query.source || "抖音";
|
||||
if(this.form.sSource == '汽车之家') {
|
||||
this.form.ilimitType = 1;
|
||||
} else if (this.form.sSource == '懂车帝') {
|
||||
this.form.ilimitType = 2;
|
||||
}
|
||||
this.getData();
|
||||
},
|
||||
methods: {
|
||||
getData() {
|
||||
let obj = Object.assign({},this.getCtime2, this.form);
|
||||
this.load = true;
|
||||
getCartypeTop10(obj).then(res => {
|
||||
let data = res.data || {};
|
||||
let dx = [];
|
||||
let ds = [];
|
||||
for(let key in data) {
|
||||
dx.push(key);
|
||||
ds.push(data[key])
|
||||
}
|
||||
this.opt = createOpt(dx, ds);
|
||||
this.load = false;
|
||||
})
|
||||
},
|
||||
clickEchars(data) {
|
||||
let ele = data;
|
||||
let model = ele.axisValueLabel;
|
||||
this.setModel({name: model});
|
||||
this.$router.push("/modelInsight");
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style lang="less" scoped>
|
||||
.stm-outter {
|
||||
width: 936px;
|
||||
height: 412px;
|
||||
border: 2px solid #0f2a4d;
|
||||
margin-left: 16px;
|
||||
.stm-inner {
|
||||
width: 100%;
|
||||
height: calc(100% - 48px);
|
||||
}
|
||||
}
|
||||
</style>
|
@ -0,0 +1,111 @@
|
||||
/*
|
||||
* @Author: your name
|
||||
* @Date: 2021-10-12 18:23:25
|
||||
* @LastEditTime: 2021-10-12 18:31:20
|
||||
* @LastEditors: Please set LastEditors
|
||||
* @Description: In User Settings Edit
|
||||
* @FilePath: /data-show/src/views/BrandInsight/spreadTOPmodels/opt.js
|
||||
*/
|
||||
import * as echarts from "echarts";
|
||||
import { bigNumberTransform } from "@/utils/gol/dataTool"
|
||||
export default function createOpt(dx,ds) {
|
||||
return {
|
||||
grid: {
|
||||
top: "10%",
|
||||
left: "16px",
|
||||
right: "5%",
|
||||
bottom: "16px",
|
||||
containLabel: true,
|
||||
},
|
||||
tooltip: {
|
||||
trigger: "axis",
|
||||
backgroundColor: "#08182F",
|
||||
color: "#fff",
|
||||
borderColor: "#3373CC",
|
||||
textStyle: {
|
||||
color: "#fff", //设置文字颜色
|
||||
},
|
||||
extraCssText: "box-shadow: 0px 0px 10px 0px #3373CC;",
|
||||
formatter: function (params) {
|
||||
var result = "";
|
||||
var dotHtml =
|
||||
'<span style="display:inline-block;margin-right:5px;border-radius:10px;width:10px;height:10px;background-color:#1197b8"></span>';
|
||||
params.forEach(function (item) {
|
||||
result += item.axisValue + "</br>" + dotHtml + item.data;
|
||||
});
|
||||
return result;
|
||||
},
|
||||
},
|
||||
xAxis: {
|
||||
type: "category",
|
||||
axisTick: {
|
||||
show: false,
|
||||
},
|
||||
axisLine: {
|
||||
show: false,
|
||||
lineStyle: {
|
||||
color: "#fff",
|
||||
},
|
||||
},
|
||||
data: dx,
|
||||
},
|
||||
yAxis: {
|
||||
type: "value",
|
||||
axisLine: {
|
||||
show: false,
|
||||
lineStyle: {
|
||||
color: "#FFF",
|
||||
},
|
||||
},
|
||||
axisLabel: {
|
||||
formatter: (value) => {
|
||||
let str = bigNumberTransform(value);
|
||||
return str;
|
||||
}
|
||||
},
|
||||
splitLine: {
|
||||
lineStyle: {
|
||||
type: "dashed", // y轴分割线类型
|
||||
color: "#012b4b",
|
||||
},
|
||||
},
|
||||
},
|
||||
series: [
|
||||
{
|
||||
name: "2001",
|
||||
data: ds,
|
||||
type: "bar",
|
||||
barWidth: 24,
|
||||
itemStyle: {
|
||||
normal: {
|
||||
label: {
|
||||
show: true, //开启显示
|
||||
position: 'top', //在上方显示
|
||||
textStyle: { //数值样式
|
||||
color: '#fff',
|
||||
fontSize: 14
|
||||
}
|
||||
},
|
||||
color: new echarts.graphic.LinearGradient(
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
[
|
||||
{
|
||||
offset: 0,
|
||||
color: "rgba(99,187,143,0.4)", // 0% 处的颜色
|
||||
},
|
||||
{
|
||||
offset: 1,
|
||||
color: "#51bc8f", // 100% 处的颜色#3373CC
|
||||
},
|
||||
],
|
||||
false
|
||||
),
|
||||
},
|
||||
},
|
||||
},
|
||||
],
|
||||
}
|
||||
}
|
@ -0,0 +1,81 @@
|
||||
<!--
|
||||
* @Author: your name
|
||||
* @Date: 2021-10-12 18:18:20
|
||||
* @LastEditTime: 2021-11-01 09:59:18
|
||||
* @LastEditors: Please set LastEditors
|
||||
* @Description: In User Settings Edit
|
||||
* @FilePath: /data-show/src/views/BrandInsight/spreadTOPmodels/index.vue
|
||||
-->
|
||||
<template>
|
||||
<div class="stm-outter" v-loading="load">
|
||||
<v-label-div title="关注TOP车型" :showLine="false" :eStyle="{'border-style': 'none'}"></v-label-div>
|
||||
<div class="stm-inner">
|
||||
<v-echarts :opt="opt" @getData="clickEchars"></v-echarts>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {getGuanZhuSeriesname} from "@/api/KeyMediaBrand/index.js"
|
||||
import createOpt from "./opt"
|
||||
export default {
|
||||
name: "spreadTOPmodels",
|
||||
data() {
|
||||
return {
|
||||
load: false,
|
||||
form: {
|
||||
sBrand: "",
|
||||
token: "",
|
||||
sSource: '',
|
||||
ilimitType: 0,
|
||||
},
|
||||
opt: {}
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.form.token = this.getToken;
|
||||
this.form.sBrand = this.getBrand.brandname || "奥迪";
|
||||
this.form.sSource = this.$route.query.source || "抖音";
|
||||
if(this.form.sSource == '汽车之家') {
|
||||
this.form.ilimitType = 1;
|
||||
} else if (this.form.sSource == '懂车帝') {
|
||||
this.form.ilimitType = 2;
|
||||
}
|
||||
this.getData();
|
||||
},
|
||||
methods: {
|
||||
getData() {
|
||||
let obj = Object.assign({},this.getCtime2, this.form);
|
||||
this.load = true;
|
||||
getGuanZhuSeriesname(obj).then(res => {
|
||||
let data = res.data || {};
|
||||
let dx = [];
|
||||
let ds = [];
|
||||
for(let key in data) {
|
||||
dx.push(key);
|
||||
ds.push(data[key])
|
||||
}
|
||||
this.opt = createOpt(dx, ds);
|
||||
this.load = false;
|
||||
})
|
||||
},
|
||||
clickEchars(data) {
|
||||
let ele = data;
|
||||
let model = ele.axisValueLabel;
|
||||
this.setModel({name: model});
|
||||
this.$router.push("/modelInsight");
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style lang="less" scoped>
|
||||
.stm-outter {
|
||||
width: 936px;
|
||||
height: 412px;
|
||||
border: 2px solid #0f2a4d;
|
||||
.stm-inner {
|
||||
width: 100%;
|
||||
height: calc(100% - 48px);
|
||||
}
|
||||
}
|
||||
</style>
|
@ -0,0 +1,111 @@
|
||||
/*
|
||||
* @Author: your name
|
||||
* @Date: 2021-10-12 18:23:25
|
||||
* @LastEditTime: 2021-10-12 18:31:20
|
||||
* @LastEditors: Please set LastEditors
|
||||
* @Description: In User Settings Edit
|
||||
* @FilePath: /data-show/src/views/BrandInsight/spreadTOPmodels/opt.js
|
||||
*/
|
||||
import * as echarts from "echarts";
|
||||
import { bigNumberTransform } from "@/utils/gol/dataTool"
|
||||
export default function createOpt(dx,ds) {
|
||||
return {
|
||||
grid: {
|
||||
top: "10%",
|
||||
left: "16px",
|
||||
right: "5%",
|
||||
bottom: "16px",
|
||||
containLabel: true,
|
||||
},
|
||||
tooltip: {
|
||||
trigger: "axis",
|
||||
backgroundColor: "#08182F",
|
||||
color: "#fff",
|
||||
borderColor: "#3373CC",
|
||||
textStyle: {
|
||||
color: "#fff", //设置文字颜色
|
||||
},
|
||||
extraCssText: "box-shadow: 0px 0px 10px 0px #3373CC;",
|
||||
formatter: function (params) {
|
||||
var result = "";
|
||||
var dotHtml =
|
||||
'<span style="display:inline-block;margin-right:5px;border-radius:10px;width:10px;height:10px;background-color:#1197b8"></span>';
|
||||
params.forEach(function (item) {
|
||||
result += item.axisValue + "</br>" + dotHtml + item.data;
|
||||
});
|
||||
return result;
|
||||
},
|
||||
},
|
||||
xAxis: {
|
||||
type: "category",
|
||||
axisTick: {
|
||||
show: false,
|
||||
},
|
||||
axisLine: {
|
||||
show: false,
|
||||
lineStyle: {
|
||||
color: "#fff",
|
||||
},
|
||||
},
|
||||
data: dx,
|
||||
},
|
||||
yAxis: {
|
||||
type: "value",
|
||||
axisLine: {
|
||||
show: false,
|
||||
lineStyle: {
|
||||
color: "#FFF",
|
||||
},
|
||||
},
|
||||
axisLabel: {
|
||||
formatter: (value) => {
|
||||
let str = bigNumberTransform(value);
|
||||
return str;
|
||||
}
|
||||
},
|
||||
splitLine: {
|
||||
lineStyle: {
|
||||
type: "dashed", // y轴分割线类型
|
||||
color: "#012b4b",
|
||||
},
|
||||
},
|
||||
},
|
||||
series: [
|
||||
{
|
||||
name: "2001",
|
||||
data: ds,
|
||||
type: "bar",
|
||||
barWidth: 24,
|
||||
itemStyle: {
|
||||
normal: {
|
||||
label: {
|
||||
show: true, //开启显示
|
||||
position: 'top', //在上方显示
|
||||
textStyle: { //数值样式
|
||||
color: '#fff',
|
||||
fontSize: 14
|
||||
}
|
||||
},
|
||||
color: new echarts.graphic.LinearGradient(
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
[
|
||||
{
|
||||
offset: 0,
|
||||
color: "#CC9D1240", // 0% 处的颜色
|
||||
},
|
||||
{
|
||||
offset: 1,
|
||||
color: "#CC9D12", // 100% 处的颜色#3373CC
|
||||
},
|
||||
],
|
||||
false
|
||||
),
|
||||
},
|
||||
},
|
||||
},
|
||||
],
|
||||
}
|
||||
}
|
@ -1,100 +0,0 @@
|
||||
<!--
|
||||
* @Author: your name
|
||||
* @Date: 2021-10-14 19:15:58
|
||||
* @LastEditTime: 2021-11-17 16:27:37
|
||||
* @LastEditors: Please set LastEditors
|
||||
* @Description: In User Settings Edit
|
||||
* @FilePath: /data-show/src/views/WeiboDetails/weiboSpreadFission/index.vue
|
||||
-->
|
||||
<template>
|
||||
<div class="wsf-outter" v-loading="load">
|
||||
<v-label-div title="微博传播裂变">
|
||||
</v-label-div>
|
||||
<div class="wsf-inner">
|
||||
<v-echarts :opt="opt"></v-echarts>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {getDiffuseZhuTi} from "@/api/WeiboDetails";
|
||||
import createOpt from "./opt"
|
||||
export default {
|
||||
name: "weiboSpreadFission",
|
||||
data() {
|
||||
return {
|
||||
opt: {},
|
||||
load: false,
|
||||
form: {
|
||||
token:"",
|
||||
sBrand:""
|
||||
},
|
||||
colors: [
|
||||
"#FFB600",
|
||||
"#886CFF",
|
||||
"#0084FF",
|
||||
"#4CB690",
|
||||
"#58B458",
|
||||
"#6C6C6C",
|
||||
"#F56161",
|
||||
"#FC754C",
|
||||
"#5F5EEC",
|
||||
],
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.form.token = this.getToken;
|
||||
this.form.sBrand = this.getBrand.brandname || '奥迪';
|
||||
this.getData();
|
||||
},
|
||||
methods: {
|
||||
getData() {
|
||||
let obj = Object.assign({}, this.getCtime2, this.form);
|
||||
this.load = true;
|
||||
getDiffuseZhuTi(obj).then((res) => {
|
||||
let data = res.data;
|
||||
let getCoreDiffuseWeiBo = data.getCoreDiffuseWeiBo || [];
|
||||
let listIdName = data.listIdName || [];
|
||||
let listPid = data.listPid || [];
|
||||
let nodes = listIdName;
|
||||
let edges = listPid;
|
||||
getCoreDiffuseWeiBo.forEach((ele) => {
|
||||
let _source = ele._source;
|
||||
let xgmid = _source.xgmid;
|
||||
nodes.forEach(e => {
|
||||
if(e.id === xgmid) {
|
||||
e.value = _source.volume
|
||||
} else {
|
||||
e.value = 0
|
||||
}
|
||||
})
|
||||
});
|
||||
nodes.forEach((ele) => {
|
||||
let colorSet = new Set(this.colors);
|
||||
let curIndex = Math.round(
|
||||
Math.random() * (colorSet.size - 1)
|
||||
);
|
||||
ele.color = this.colors[curIndex];
|
||||
});
|
||||
let o = { nodes, edges };
|
||||
this.opt = createOpt(o);
|
||||
this.load = false;
|
||||
});
|
||||
},
|
||||
}
|
||||
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
.wsf-outter {
|
||||
width: 460px;
|
||||
height: 460px;
|
||||
border: 2px solid #0f2a4d;
|
||||
margin-left: 16px;
|
||||
.wsf-inner {
|
||||
width: 100%;
|
||||
height: calc(100% - 48px);
|
||||
}
|
||||
}
|
||||
</style>
|
@ -1,82 +0,0 @@
|
||||
|
||||
/*
|
||||
* @Author: your name
|
||||
* @Date: 2021-10-14 19:32:39
|
||||
* @LastEditTime: 2021-11-11 09:46:12
|
||||
* @LastEditors: Please set LastEditors
|
||||
* @Description: In User Settings Edit
|
||||
* @FilePath: /data-show/src/views/WeiboDetails/weiboSpreadFission/opt.js
|
||||
*/
|
||||
export default function createOpt(data) {
|
||||
return {
|
||||
tooltip: {
|
||||
trigger: "item",
|
||||
backgroundColor: "#08182F",
|
||||
color: "#fff",
|
||||
borderColor: "#3373CC",
|
||||
textStyle: {
|
||||
color: "#fff", //设置文字颜色
|
||||
},
|
||||
extraCssText: "box-shadow: 0px 0px 10px 0px #3373CC;"
|
||||
},
|
||||
title: {
|
||||
show: false,
|
||||
text: 'NPM Dependencies'
|
||||
},
|
||||
animationDurationUpdate: 1500,
|
||||
animationEasingUpdate: 'quinticInOut',
|
||||
series: [
|
||||
{
|
||||
type: 'graph',
|
||||
layout: 'none',
|
||||
// progressiveThreshold: 700,
|
||||
data: data.nodes.map(function (node) {
|
||||
return {
|
||||
x: node.x,
|
||||
y: node.y,
|
||||
id: node.id,
|
||||
name: node.name,
|
||||
value: node.value,
|
||||
symbolSize: node.symbolSize,
|
||||
itemStyle: {
|
||||
color: node.color
|
||||
}
|
||||
};
|
||||
}),
|
||||
links: data.edges.map(function (edge) {
|
||||
return {
|
||||
source: edge.source,
|
||||
target: edge.target
|
||||
};
|
||||
}),
|
||||
emphasis: {
|
||||
focus: 'adjacency',
|
||||
label: {
|
||||
position: 'right',
|
||||
show: true
|
||||
}
|
||||
},
|
||||
label: {
|
||||
show: true,
|
||||
color: '#fff',
|
||||
position: 'right',
|
||||
formatter: '{b}'
|
||||
},
|
||||
labelLayout: {
|
||||
hideOverlap: true
|
||||
},
|
||||
scaleLimit: {
|
||||
min: 0.4,
|
||||
max: 2
|
||||
},
|
||||
roam: true,
|
||||
lineStyle: {
|
||||
color: 'source',
|
||||
width: 0.5,
|
||||
curveness: 0.3,
|
||||
opacity: 0.7
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
@ -1,50 +0,0 @@
|
||||
<!--
|
||||
* @Author: your name
|
||||
* @Date: 2021-10-14 19:15:58
|
||||
* @LastEditTime: 2021-11-17 16:27:37
|
||||
* @LastEditors: Please set LastEditors
|
||||
* @Description: In User Settings Edit
|
||||
* @FilePath: /data-show/src/views/WeiboDetails/weiboSpreadFission/index.vue
|
||||
-->
|
||||
<template>
|
||||
<div class="wsf-outter">
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: "weiboSpreadFission",
|
||||
data() {
|
||||
return {
|
||||
form: {
|
||||
token:"",
|
||||
sBrand:""
|
||||
},
|
||||
colors: [
|
||||
"#FFB600",
|
||||
"#886CFF",
|
||||
"#0084FF",
|
||||
"#4CB690",
|
||||
"#58B458",
|
||||
"#6C6C6C",
|
||||
"#F56161",
|
||||
"#FC754C",
|
||||
"#5F5EEC",
|
||||
],
|
||||
}
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
.wsf-outter {
|
||||
width: 460px;
|
||||
height: 460px;
|
||||
border: 2px solid #0f2a4d;
|
||||
margin-left: 16px;
|
||||
.wsf-inner {
|
||||
width: 100%;
|
||||
height: calc(100% - 48px);
|
||||
}
|
||||
}
|
||||
</style>
|
@ -1,92 +0,0 @@
|
||||
<!--
|
||||
* @Author: your name
|
||||
* @Date: 2021-10-14 19:41:24
|
||||
* @LastEditTime: 2021-11-09 13:20:35
|
||||
* @LastEditors: Please set LastEditors
|
||||
* @Description: In User Settings Edit
|
||||
* @FilePath: /data-show/src/views/WeiboDetails/weiboTonalDistribution/index.vue
|
||||
-->
|
||||
<template>
|
||||
<div class="wtd-outter" v-loading="load">
|
||||
<v-label-div title="调性分布"> </v-label-div>
|
||||
<vue-scroll>
|
||||
<div class="wtd-inner">
|
||||
<div class="wtd-item" v-for="(item,index) in sourceData"
|
||||
:key="index">
|
||||
<v-percent :percentage="item.positive"></v-percent>
|
||||
<span class="s1">{{item.show}}</span>
|
||||
<v-percent color="#b78e11" :percentage="item.negative" reverse></v-percent>
|
||||
</div>
|
||||
</div>
|
||||
</vue-scroll>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { getBoauthenAffectionsWeiBo0528 } from "@/api/WeiboDetails";
|
||||
export default {
|
||||
name: "weiboTonalDistribution",
|
||||
data() {
|
||||
return {
|
||||
load: false,
|
||||
form: {
|
||||
token: "",
|
||||
sBrand: "",
|
||||
},
|
||||
sourceData: [],
|
||||
};
|
||||
},
|
||||
created() {
|
||||
this.form.token = this.getToken;
|
||||
this.form.sBrand = this.getBrand.brandname || '奥迪';
|
||||
this.getData();
|
||||
},
|
||||
methods: {
|
||||
getData() {
|
||||
let obj = Object.assign({}, this.getCtime2, this.form);
|
||||
this.load = true;
|
||||
getBoauthenAffectionsWeiBo0528(obj).then(res => {
|
||||
let data = res.data;
|
||||
let labelData = [];
|
||||
data.forEach(ele => {
|
||||
let o = {
|
||||
show: ele.key,
|
||||
positive:
|
||||
ele.value[0].value*1.0 / (ele.value[0].value*1.0 + ele.value[2].value*1.0),
|
||||
negative:
|
||||
ele.value[2].value*1.0 / (ele.value[0].value*1.0 + ele.value[2].value*1.0),
|
||||
};
|
||||
labelData.push(o);
|
||||
});
|
||||
this.sourceData = labelData;
|
||||
this.load = false;
|
||||
});
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
.wtd-outter {
|
||||
width: 460px;
|
||||
height: 460px;
|
||||
border: 2px solid #0f2a4d;
|
||||
margin-left: 16px;
|
||||
padding-bottom: 50px;
|
||||
.wtd-inner {
|
||||
width: 100%;
|
||||
padding: 20px 16px;
|
||||
.wtd-item {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
margin-bottom: 36px;
|
||||
.s1 {
|
||||
display: block;
|
||||
color: #fff;
|
||||
font-size: 14px;
|
||||
font-weight: 500;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
@ -1,112 +0,0 @@
|
||||
/*
|
||||
* @Author: your name
|
||||
* @Date: 2021-10-14 19:59:04
|
||||
* @LastEditTime: 2021-10-14 20:58:54
|
||||
* @LastEditors: Please set LastEditors
|
||||
* @Description: In User Settings Edit
|
||||
* @FilePath: /data-show/src/views/WeiboDetails/weiboTonalDistribution/opt.js
|
||||
*/
|
||||
export default function createOpt() {
|
||||
return {
|
||||
grid: {
|
||||
left: 16,
|
||||
right: 16,
|
||||
bottom: 0,
|
||||
top: 40,
|
||||
containLabel: true
|
||||
},
|
||||
tooltip: {
|
||||
trigger: "axis",
|
||||
backgroundColor: "#08182F",
|
||||
color: "#fff",
|
||||
borderColor: "#3373CC",
|
||||
textStyle: {
|
||||
color: "#fff", //设置文字颜色
|
||||
},
|
||||
extraCssText: "box-shadow: 0px 0px 10px 0px #3373CC;"
|
||||
},
|
||||
legend: {
|
||||
position: 'center',
|
||||
icon: 'roundRect',
|
||||
y: 16,
|
||||
textStyle: { //图例文字的样式
|
||||
color: '#fff'
|
||||
},
|
||||
data: ['负面', '正面']
|
||||
},
|
||||
xAxis: {
|
||||
type: 'value',
|
||||
show: false,
|
||||
splitLine: {
|
||||
show: false,
|
||||
lineStyle: {
|
||||
type: 'dashed'
|
||||
}
|
||||
}
|
||||
},
|
||||
yAxis: {
|
||||
type: 'category',
|
||||
axisLine: { show: false },
|
||||
axisLabel: { show: false },
|
||||
axisTick: { show: false },
|
||||
splitLine: { show: false },
|
||||
data: [
|
||||
'已认证',
|
||||
'非认证',
|
||||
'名人博主',
|
||||
'政府',
|
||||
'企业',
|
||||
'媒体',
|
||||
'个人大V',
|
||||
]
|
||||
},
|
||||
series: [
|
||||
{
|
||||
name: '正面',
|
||||
type: 'bar',
|
||||
stack: '总量',
|
||||
barWidth: 20,
|
||||
label: {
|
||||
show: true,
|
||||
formatter: '{b}',
|
||||
position: 'left',
|
||||
color: '#fff',
|
||||
fontWeight: 'bold'
|
||||
},
|
||||
data: [
|
||||
{ value: 0.07 },
|
||||
{ value: 0.09 },
|
||||
{ value: 0.23 },
|
||||
{ value: 0.17 },
|
||||
{ value: 0.36 },
|
||||
{ value: 0.26 },
|
||||
{ value: 0.28 },
|
||||
]
|
||||
}, {
|
||||
name: '负面',
|
||||
type: 'bar',
|
||||
stack: '总量',
|
||||
barWidth: 20,
|
||||
label: {
|
||||
show: true,
|
||||
formatter: '{b}',
|
||||
position: 'right',
|
||||
color: '#fff',
|
||||
fontWeight: 'bold'
|
||||
},
|
||||
itemStyle: {
|
||||
color: '#CC9D12',
|
||||
},
|
||||
data: [
|
||||
{ value: -0.07 },
|
||||
{ value: -0.09 },
|
||||
{ value: -0.23 },
|
||||
{ value: -0.17 },
|
||||
{ value: -0.36 },
|
||||
{ value: -0.26 },
|
||||
{ value: -0.28 },
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
@ -1,51 +0,0 @@
|
||||
<!--
|
||||
* @Author: your name
|
||||
* @Date: 2021-10-14 19:41:24
|
||||
* @LastEditTime: 2021-11-09 13:20:35
|
||||
* @LastEditors: Please set LastEditors
|
||||
* @Description: In User Settings Edit
|
||||
* @FilePath: /data-show/src/views/WeiboDetails/weiboTonalDistribution/index.vue
|
||||
-->
|
||||
<template>
|
||||
<div class="wtd-outter">
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: "weiboTonalDistribution",
|
||||
data() {
|
||||
return {
|
||||
form: {
|
||||
token: "",
|
||||
sBrand: "",
|
||||
},
|
||||
};
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
.wtd-outter {
|
||||
width: 460px;
|
||||
height: 460px;
|
||||
border: 2px solid #0f2a4d;
|
||||
margin-left: 16px;
|
||||
padding-bottom: 50px;
|
||||
.wtd-inner {
|
||||
width: 100%;
|
||||
padding: 20px 16px;
|
||||
.wtd-item {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
margin-bottom: 36px;
|
||||
.s1 {
|
||||
display: block;
|
||||
color: #fff;
|
||||
font-size: 14px;
|
||||
font-weight: 500;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
Loading…
Reference in new issue