prod
parent
04ce1008eb
commit
e5f700514c
@ -1,81 +0,0 @@
|
|||||||
/*
|
|
||||||
* @Author: your name
|
|
||||||
* @Date: 2021-10-14 16:05:12
|
|
||||||
* @LastEditTime: 2021-11-04 17:05:41
|
|
||||||
* @LastEditors: Please set LastEditors
|
|
||||||
* @Description: In User Settings Edit
|
|
||||||
* @FilePath: /data-show/src/views/WeiboDetails/weiboContentTOPVolume/opt.js
|
|
||||||
* startAngle: 180,
|
|
||||||
*/
|
|
||||||
import * as echarts from "echarts";
|
|
||||||
export default function createOpt(name, color, num, maxVal) {
|
|
||||||
return {
|
|
||||||
tooltip: {
|
|
||||||
backgroundColor: "#08182F",
|
|
||||||
color: "#fff",
|
|
||||||
borderColor: "#3373CC",
|
|
||||||
textStyle: {
|
|
||||||
color: "#fff", //设置文字颜色
|
|
||||||
},
|
|
||||||
extraCssText: "box-shadow: 0px 0px 10px 0px #3373CC;",
|
|
||||||
formatter: function(param) {
|
|
||||||
let value = param.data.value;
|
|
||||||
let name = param.data.name;
|
|
||||||
return `<span>${name}</span><br><span>声量:${value}</span>`
|
|
||||||
}
|
|
||||||
},
|
|
||||||
series: [
|
|
||||||
{
|
|
||||||
name: name,
|
|
||||||
type: 'gauge',
|
|
||||||
startAngle: 180,
|
|
||||||
endAngle: 0,
|
|
||||||
min: 0,
|
|
||||||
max: maxVal * 5,
|
|
||||||
splitNumber: 5,
|
|
||||||
detail: { show: false, formatter: '{value}%' },
|
|
||||||
axisLine: {
|
|
||||||
show: true,
|
|
||||||
lineStyle: {
|
|
||||||
width: 7,
|
|
||||||
color: [
|
|
||||||
[1, new echarts.graphic.LinearGradient(0, 0, 1, 0, [
|
|
||||||
{
|
|
||||||
offset: 0,
|
|
||||||
color: "#020f1f"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
offset: 1,
|
|
||||||
color: color
|
|
||||||
}
|
|
||||||
])
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
axisLabel: {
|
|
||||||
distance: -30,
|
|
||||||
color: "#d8d8d8",
|
|
||||||
},
|
|
||||||
splitLine: {
|
|
||||||
distance: -6,
|
|
||||||
length: 12,
|
|
||||||
lineStyle: {
|
|
||||||
color: '#d8d8d8',
|
|
||||||
width: 2
|
|
||||||
}
|
|
||||||
},
|
|
||||||
// 刻度线
|
|
||||||
axisTick: {
|
|
||||||
show: true,
|
|
||||||
length: 15,
|
|
||||||
lineStyle: {
|
|
||||||
color: "auto",
|
|
||||||
width: 5
|
|
||||||
}
|
|
||||||
},
|
|
||||||
data: [{ value: num, name: name, title: {show: true, color: color,fontWeight: 'bold'},itemStyle:{color: color}}],
|
|
||||||
}
|
|
||||||
]
|
|
||||||
};
|
|
||||||
}
|
|
@ -0,0 +1,236 @@
|
|||||||
|
<!--
|
||||||
|
* @Author: your name
|
||||||
|
* @Date: 2021-10-08 16:44:08
|
||||||
|
* @LastEditTime: 2021-11-18 11:57:14
|
||||||
|
* @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 @click="goKeyMedia(label)" 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-kmd",
|
||||||
|
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
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
goKeyMedia(obj) {
|
||||||
|
this.$emit('toMedia', obj)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="less" scoped>
|
||||||
|
.v-r-container {
|
||||||
|
width: 430px;
|
||||||
|
height: auto;
|
||||||
|
.v-r-line {
|
||||||
|
width: 100%;
|
||||||
|
height: 1px;
|
||||||
|
background:#0a1d3b;
|
||||||
|
margin-top: 13px;
|
||||||
|
margin-bottom: 13px;
|
||||||
|
}
|
||||||
|
.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;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
.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: #9099a6;
|
||||||
|
font-size: 16px;
|
||||||
|
line-height: 48px;
|
||||||
|
font-family: Bebas;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.v-r-right {
|
||||||
|
position: absolute;
|
||||||
|
width: 404px;
|
||||||
|
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: 404px;
|
||||||
|
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: 404px;
|
||||||
|
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: 404px;
|
||||||
|
height: 48px;
|
||||||
|
border-top: 2px solid #54BF93;
|
||||||
|
top: 0px;
|
||||||
|
left: 24px;
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
@ -0,0 +1,236 @@
|
|||||||
|
<!--
|
||||||
|
* @Author: your name
|
||||||
|
* @Date: 2021-10-08 16:44:08
|
||||||
|
* @LastEditTime: 2021-11-18 11:57:14
|
||||||
|
* @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 @click="goKeyMedia(label)" 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-kmd",
|
||||||
|
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
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
goKeyMedia(obj) {
|
||||||
|
this.$emit('toMedia', obj)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="less" scoped>
|
||||||
|
.v-r-container {
|
||||||
|
width: 430px;
|
||||||
|
height: auto;
|
||||||
|
.v-r-line {
|
||||||
|
width: 100%;
|
||||||
|
height: 1px;
|
||||||
|
background:#0a1d3b;
|
||||||
|
margin-top: 13px;
|
||||||
|
margin-bottom: 13px;
|
||||||
|
}
|
||||||
|
.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;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
.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: #9099a6;
|
||||||
|
font-size: 16px;
|
||||||
|
line-height: 48px;
|
||||||
|
font-family: Bebas;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.v-r-right {
|
||||||
|
position: absolute;
|
||||||
|
width: 404px;
|
||||||
|
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: 404px;
|
||||||
|
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: 404px;
|
||||||
|
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: 404px;
|
||||||
|
height: 48px;
|
||||||
|
border-top: 2px solid #54BF93;
|
||||||
|
top: 0px;
|
||||||
|
left: 24px;
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
Loading…
Reference in new issue