阿丽 4 years ago
commit eb903b0f4d

@ -1,26 +1,34 @@
<!-- <!--
* @Author: your name * @Author: your name
* @Date: 2021-10-08 08:41:57 * @Date: 2021-10-08 08:41:57
* @LastEditTime: 2021-10-29 18:06:01 * @LastEditTime: 2021-11-09 11:14:52
* @LastEditors: Please set LastEditors * @LastEditors: Please set LastEditors
* @Description: In User Settings Edit * @Description: In User Settings Edit
* @FilePath: /data-show/public/index.html * @FilePath: /data-show/public/index.html
--> -->
<!DOCTYPE html> <!DOCTYPE html>
<html lang=""> <html lang="">
<head>
<meta charset="utf-8"> <head>
<meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="referrer" content="no-referrer"> <meta name="viewport" content="width=device-width,initial-scale=1.0">
<link rel="icon" href="<%= BASE_URL %>sws_32.ico"> <meta name="referrer" content="no-referrer">
<title>硕为思汽车智能洞察系统</title> <link rel="icon" href="<%= BASE_URL %>sws_32.ico">
</head> <title>硕为思汽车智能洞察系统</title>
<body> </head>
<noscript>
<strong>We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't work properly without JavaScript enabled. Please enable it to continue.</strong> <body>
</noscript> <noscript>
<div id="app"></div> <strong>We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't work properly without JavaScript enabled.
<!-- built files will be auto injected --> Please enable it to continue.</strong>
</body> </noscript>
</html> <div id="appLoading">
<span>请耐心等待,正在加载中...</span>
</div>
<div id="app" style="display: none">
</div>
<!-- built files will be auto injected -->
</body>
</html>

@ -27,6 +27,9 @@ export default {
created() { created() {
this.changeZoom() this.changeZoom()
}, },
mounted() {
document.getElementById('appLoading').style.display = 'none';
},
methods: { methods: {
changeZoom() { changeZoom() {
let h = document.body.clientHeight; // let h = document.body.clientHeight; //

Binary file not shown.

After

Width:  |  Height:  |  Size: 77 KiB

@ -1,7 +1,7 @@
/* /*
* @Author: your name * @Author: your name
* @Date: 2021-10-12 10:28:00 * @Date: 2021-10-12 10:28:00
* @LastEditTime: 2021-11-04 18:31:15 * @LastEditTime: 2021-11-09 09:57:50
* @LastEditors: Please set LastEditors * @LastEditors: Please set LastEditors
* @Description: In User Settings Edit * @Description: In User Settings Edit
* @FilePath: /data-show/src/components/index.js * @FilePath: /data-show/src/components/index.js
@ -17,6 +17,7 @@ import vPagination from "@/components/v-pagination"
import vRanking from "@/components/v-ranking"; import vRanking from "@/components/v-ranking";
import vEcharsMap from "@/components/v-echars-map" import vEcharsMap from "@/components/v-echars-map"
import vPercent from "@/components/v-percent" import vPercent from "@/components/v-percent"
import vCutsceneWaiting from "@/components/v-cutscene-waiting"
export default { export default {
install(Vue) { install(Vue) {
Vue.mixin({ Vue.mixin({
@ -31,7 +32,8 @@ export default {
vPagination, vPagination,
vRanking, vRanking,
vEcharsMap, vEcharsMap,
vPercent vPercent,
vCutsceneWaiting
} }
}) })
} }

@ -1,20 +1,49 @@
<!-- <!--
* @Author: your name * @Author: your name
* @Date: 2021-11-08 09:46:59 * @Date: 2021-11-08 09:46:59
* @LastEditTime: 2021-11-08 09:51:57 * @LastEditTime: 2021-11-09 10:57:21
* @LastEditors: Please set LastEditors * @LastEditors: Please set LastEditors
* @Description: In User Settings Edit * @Description: In User Settings Edit
* @FilePath: /data-show/src/components/v-cutscene-waiting/index.vue * @FilePath: /data-show/src/components/v-cutscene-waiting/index.vue
--> -->
<template> <template>
<div class="cw-outter"> <div class="cw-outter" v-show="show">
<div class="load-inner">
<span style="color: ">
<div class="loading">
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
</div>
</span>
</div>
</div> </div>
</template> </template>
<script> <script>
export default { export default {
name: "v-cutscene-waiting" name: "v-cutscene-waiting",
props: {
visible: {
type: Boolean,
default: false
}
},
watch: {
visible: {
handler(val) {
this.show = val
},
immediate: true
}
},
data() {
return {
show: false,
}
}
} }
</script> </script>
@ -25,6 +54,57 @@ export default {
height: 100vh; height: 100vh;
left: 0px; left: 0px;
top: 0px; top: 0px;
background: rgba(0,11, 26, 0.7); background: rgba(0,11, 26, 0.9);
z-index: 2000;
.load-inner {
position: absolute;
width: auto;
height: auto;
left: 50%;
top: 38%;
color: #fff;
font-size: 14px;
transform: translate(-50%, -50%);
}
} }
.loading{
width: 150px;
height: 15px;
margin: 0 auto;
position: relative;
margin-top:100px;
}
.loading span{
position: absolute;
width: 15px;
height: 100%;
border-radius: 50%;
background: lightgreen;
-webkit-animation: load 1.04s ease-in infinite alternate;
}
@-webkit-keyframes load{
0%{
opacity: 1;
-webkit-transform: translate(0px);
}
100%{
opacity: 0.2;
-webkit-transform: translate(150px);
}
}
.loading span:nth-child(1){
-webkit-animation-delay:0.13s;
}
.loading span:nth-child(2){
-webkit-animation-delay:0.26s;
}
.loading span:nth-child(3){
-webkit-animation-delay:0.39s;
}
.loading span:nth-child(4){
-webkit-animation-delay:0.52s;
}
.loading span:nth-child(5){
-webkit-animation-delay:0.65s;
}
</style> </style>

@ -1,7 +1,7 @@
<!-- <!--
* @Author: your name * @Author: your name
* @Date: 2021-10-13 14:25:26 * @Date: 2021-10-13 14:25:26
* @LastEditTime: 2021-11-05 10:44:00 * @LastEditTime: 2021-11-09 11:11:48
* @LastEditors: Please set LastEditors * @LastEditors: Please set LastEditors
* @Description: In User Settings Edit * @Description: In User Settings Edit
* @FilePath: /data-show/src/lycomponents/iLayout/index.vue * @FilePath: /data-show/src/lycomponents/iLayout/index.vue
@ -30,6 +30,7 @@ export default {
data() { data() {
return { return {
isRouterAlive: true, isRouterAlive: true,
load: false,
headerStyle: {} headerStyle: {}
}; };
}, },
@ -39,9 +40,6 @@ export default {
this.$nextTick(() => { this.$nextTick(() => {
this.isRouterAlive = true; this.isRouterAlive = true;
}); });
},
changeZoom() {
} }
}, },
}; };

@ -1,7 +1,7 @@
/* /*
* @Author: your name * @Author: your name
* @Date: 2021-10-12 13:56:13 * @Date: 2021-10-12 13:56:13
* @LastEditTime: 2021-11-09 09:36:26 * @LastEditTime: 2021-11-09 10:24:25
* @LastEditors: Please set LastEditors * @LastEditors: Please set LastEditors
* @Description: In User Settings Edit * @Description: In User Settings Edit
* @FilePath: /data-show/src/mixins/index.js * @FilePath: /data-show/src/mixins/index.js
@ -9,7 +9,6 @@
import { mapGetters, mapActions } from "vuex"; import { mapGetters, mapActions } from "vuex";
import Loading from './loading' import Loading from './loading'
function detectZoom (){ function detectZoom (){
console.log(2222)
let ratio = 0, let ratio = 0,
screen = window.screen, screen = window.screen,
ua = navigator.userAgent.toLowerCase(); ua = navigator.userAgent.toLowerCase();
@ -90,10 +89,10 @@ export default {
} }
}, },
computed: { computed: {
...mapGetters(['getZoom', 'getToken', 'getUser', 'getAccount', 'getCommTime', 'getCtime', 'getCtime2', 'getHeaderType', 'getBrand', 'getModel','getSComparison','getBComparison']) ...mapGetters(['getZoom', 'getLoading','getToken', 'getUser', 'getAccount', 'getCommTime', 'getCtime', 'getCtime2', 'getHeaderType', 'getBrand', 'getModel','getSComparison','getBComparison'])
}, },
methods: { methods: {
...mapActions(["setZoom", 'setToken', 'setUser', 'setAccount', 'setCommTime', 'setCtime', 'setCtime2', 'setHeaderType', 'setBrand', 'setModel', 'setSComparison','setBComparison']), ...mapActions(["setZoom", 'setLoading', 'setToken', 'setUser', 'setAccount', 'setCommTime', 'setCtime', 'setCtime2', 'setHeaderType', 'setBrand', 'setModel', 'setSComparison','setBComparison']),
// 获取当前日期时间 // 获取当前日期时间
getDatetime() { getDatetime() {
let now = new Date(); let now = new Date();

@ -1,7 +1,7 @@
/* /*
* @Author: your name * @Author: your name
* @Date: 2021-10-08 09:26:42 * @Date: 2021-10-08 09:26:42
* @LastEditTime: 2021-10-25 10:48:19 * @LastEditTime: 2021-11-09 11:06:03
* @LastEditors: Please set LastEditors * @LastEditors: Please set LastEditors
* @Description: In User Settings Edit * @Description: In User Settings Edit
* @FilePath: /data-show/src/permission.js * @FilePath: /data-show/src/permission.js
@ -20,7 +20,6 @@ router.beforeEach((to, from, next) => {
} else { } else {
next() next()
} }
}) })
router.afterEach(() => { router.afterEach(() => {

@ -1,7 +1,7 @@
/* /*
* @Author: your name * @Author: your name
* @Date: 2021-10-12 13:36:49 * @Date: 2021-10-12 13:36:49
* @LastEditTime: 2021-11-05 14:03:18 * @LastEditTime: 2021-11-09 10:23:08
* @LastEditors: Please set LastEditors * @LastEditors: Please set LastEditors
* @Description: In User Settings Edit * @Description: In User Settings Edit
* @FilePath: /data-show/src/store/actions.js * @FilePath: /data-show/src/store/actions.js
@ -10,6 +10,9 @@ const actions = {
setZoom: ({commit}, log) => { setZoom: ({commit}, log) => {
commit('setZoom', log) commit('setZoom', log)
}, },
setLoading: ({commit}, log) => {
commit('setLoading', log)
},
setToken: ({commit}, log) => { setToken: ({commit}, log) => {
commit('setToken', log) commit('setToken', log)
}, },

@ -1,7 +1,7 @@
/* /*
* @Author: your name * @Author: your name
* @Date: 2021-10-12 13:37:06 * @Date: 2021-10-12 13:37:06
* @LastEditTime: 2021-11-05 14:04:53 * @LastEditTime: 2021-11-09 10:20:07
* @LastEditors: Please set LastEditors * @LastEditors: Please set LastEditors
* @Description: In User Settings Edit * @Description: In User Settings Edit
* @FilePath: /data-show/src/store/getters.js * @FilePath: /data-show/src/store/getters.js
@ -10,6 +10,9 @@ const getters = {
getZoom(state) { getZoom(state) {
return state.$zoom return state.$zoom
}, },
getLoading(state) {
return state.loading
},
getToken(state) { getToken(state) {
return state.token return state.token
}, },

@ -1,7 +1,7 @@
/* /*
* @Author: your name * @Author: your name
* @Date: 2021-10-12 13:37:35 * @Date: 2021-10-12 13:37:35
* @LastEditTime: 2021-11-05 14:04:03 * @LastEditTime: 2021-11-09 11:07:48
* @LastEditors: Please set LastEditors * @LastEditors: Please set LastEditors
* @Description: In User Settings Edit * @Description: In User Settings Edit
* @FilePath: /data-show/src/store/mutations.js * @FilePath: /data-show/src/store/mutations.js
@ -10,6 +10,9 @@ const mutations = {
setZoom: (state, log) => { setZoom: (state, log) => {
state.$zoom = log; state.$zoom = log;
}, },
setLoading: (state, log) => {
state.loading = log;
},
setToken: (state, log) => { setToken: (state, log) => {
sessionStorage.setItem('token', log); sessionStorage.setItem('token', log);
state.token = log state.token = log

@ -1,7 +1,7 @@
/* /*
* @Author: your name * @Author: your name
* @Date: 2021-10-12 13:37:50 * @Date: 2021-10-12 13:37:50
* @LastEditTime: 2021-11-05 14:02:42 * @LastEditTime: 2021-11-09 10:19:08
* @LastEditors: Please set LastEditors * @LastEditors: Please set LastEditors
* @Description: In User Settings Edit * @Description: In User Settings Edit
* @FilePath: /data-show/src/store/state.js * @FilePath: /data-show/src/store/state.js
@ -9,6 +9,7 @@
const state = { const state = {
$zoom: 1, $zoom: 1,
loading: false,
token: sessionStorage.getItem('token') || "", token: sessionStorage.getItem('token') || "",
user: JSON.parse(sessionStorage.getItem('user')) || {}, user: JSON.parse(sessionStorage.getItem('user')) || {},
account: JSON.parse(localStorage.getItem('account')) || {}, account: JSON.parse(localStorage.getItem('account')) || {},

@ -1,7 +1,7 @@
<!-- <!--
* @Author: xw * @Author: xw
* @Date: 2021-10-11 17:59:49 * @Date: 2021-10-11 17:59:49
* @LastEditTime: 2021-11-05 15:46:06 * @LastEditTime: 2021-11-09 11:08:10
* @LastEditors: Please set LastEditors * @LastEditors: Please set LastEditors
* @Description: 品牌洞察 * @Description: 品牌洞察
* @FilePath: /data-show/src/views/BrandInsight/index.vue * @FilePath: /data-show/src/views/BrandInsight/index.vue

@ -3,12 +3,13 @@
/* /*
* @Author: your name * @Author: your name
* @Date: 2021-10-09 12:38:34 * @Date: 2021-10-09 12:38:34
* @LastEditTime: 2021-11-01 19:02:50 * @LastEditTime: 2021-11-09 09:50:36
* @LastEditors: Please set LastEditors * @LastEditors: Please set LastEditors
* @Description: In User Settings Edit * @Description: In User Settings Edit
* @FilePath: /data-show/src/views/Index/tailInsight/opt.js * @FilePath: /data-show/src/views/Index/tailInsight/opt.js
*/ */
import * as echarts from "echarts"; import * as echarts from "echarts";
import { bigNumberTransform } from "@/utils/gol/dataTool"
export default function createOpt(dy = [], ds = []) { export default function createOpt(dy = [], ds = []) {
return { return {
grid: { grid: {
@ -36,6 +37,12 @@ export default function createOpt(dy = [], ds = []) {
color: "#fff", color: "#fff",
}, },
}, },
axisLabel: {
formatter: (value) => {
let str = bigNumberTransform(value);
return str;
}
},
splitLine: { splitLine: {
lineStyle: { lineStyle: {
type: "dashed", // y轴分割线类型 type: "dashed", // y轴分割线类型

@ -1,13 +1,13 @@
<!-- <!--
* @Author: your name * @Author: your name
* @Date: 2021-10-13 14:14:49 * @Date: 2021-10-13 14:14:49
* @LastEditTime: 2021-10-13 14:22:35 * @LastEditTime: 2021-11-09 11:52:04
* @LastEditors: Please set LastEditors * @LastEditors: Please set LastEditors
* @Description: In User Settings Edit * @Description: In User Settings Edit
* @FilePath: /data-show/src/views/EventDetails/distributionOfHotEventChannels/index.vue * @FilePath: /data-show/src/views/EventDetails/distributionOfHotEventChannels/index.vue
--> -->
<template> <template>
<div class="doe-outter"> <div class="doe-outter" v-loading="load">
<v-label-div title="热点事件渠道分布" :showLine="false" :eStyle="{ 'border-style': 'none' }" /> <v-label-div title="热点事件渠道分布" :showLine="false" :eStyle="{ 'border-style': 'none' }" />
<div class="doe-inner"> <div class="doe-inner">
<v-echarts :opt="opt"></v-echarts> <v-echarts :opt="opt"></v-echarts>
@ -22,6 +22,7 @@ export default {
name: "distributionOfHotEventChannels", name: "distributionOfHotEventChannels",
data() { data() {
return { return {
load: false,
opt: {}, opt: {},
form: { form: {
sBrand: "", sBrand: "",
@ -38,6 +39,7 @@ export default {
// //
getDdta(){ getDdta(){
let obj = Object.assign({}, this.getCtime2, this.form); let obj = Object.assign({}, this.getCtime2, this.form);
this.load = true;
getEventsSourceTypeByEventsType0528(obj).then(res => { getEventsSourceTypeByEventsType0528(obj).then(res => {
let data = res.data || []; let data = res.data || [];
let dx = []; let dx = [];
@ -49,6 +51,7 @@ export default {
ds.push(value); ds.push(value);
}) })
this.opt = createOpt(dx, ds); this.opt = createOpt(dx, ds);
this.load = false;
}) })
} }
} }

@ -1,63 +1,64 @@
<!-- <!--
* @Author: your name * @Author: your name
* @Date: 2021-10-13 13:47:46 * @Date: 2021-10-13 13:47:46
* @LastEditTime: 2021-10-13 14:11:52 * @LastEditTime: 2021-11-09 11:53:04
* @LastEditors: Please set LastEditors * @LastEditors: Please set LastEditors
* @Description: In User Settings Edit * @Description: In User Settings Edit
* @FilePath: /data-show/src/views/EventDetails/distributionOfTOPModelsOfHotEvents/index.vue * @FilePath: /data-show/src/views/EventDetails/distributionOfTOPModelsOfHotEvents/index.vue
--> -->
<template> <template>
<div class="dotop-outter"> <div class="dotop-outter" v-loading="load">
<v-label-div title="热点事件TOP车型分布" :showLine="false" :eStyle="{ 'border-style': 'none' }" /> <v-label-div title="热点事件TOP车型分布" :showLine="false" :eStyle="{ 'border-style': 'none' }" />
<div class="dotop-inner"> <div class="dotop-inner">
<v-echarts :opt="opt"></v-echarts> <v-echarts :opt="opt"></v-echarts>
<v-pagination :style="{position: 'absolute', right: '5px', bottom: '6px'}"></v-pagination> <v-pagination :style="{position: 'absolute', right: '5px', bottom: '6px'}"></v-pagination>
</div> </div>
</div> </div>
</template> </template>
<script> <script>
import {getHotEventSseries} from '@/api/EventDetails' import { getHotEventSseries } from "@/api/EventDetails";
import createOpt from "./opt" import createOpt from "./opt";
export default { export default {
name: "distributionOfTOPModelsOfHotEvents", name: "distributionOfTOPModelsOfHotEvents",
data() { data() {
return { return {
opt: {}, load: false,
form: { opt: {},
form: {
sQueryType: 1, sQueryType: 1,
sBrand: "", sBrand: "",
token: "" token: "",
} },
} };
}, },
created() { created() {
this.form.token = this.getToken; this.form.token = this.getToken;
this.form.sBrand = this.getBrand.brandname || '奥迪'; this.form.sBrand = this.getBrand.brandname || "奥迪";
this.getDdta(); this.getDdta();
}, },
methods:{ methods: {
// //
getDdta() { getDdta() {
let obj = Object.assign({}, this.getCtime2, this.form); let obj = Object.assign({}, this.getCtime2, this.form);
getHotEventSseries(obj).then(res => { this.load = true;
getHotEventSseries(obj).then((res) => {
let data = res.data || []; let data = res.data || [];
let dx = []; let dx = [];
let ds = []; let ds = [];
data.forEach(ele => { data.forEach((ele) => {
let key = ele.key; let key = ele.key;
let value = ele.data; let value = ele.data;
dx.push(key); dx.push(key);
ds.push(value); ds.push(value);
}); });
this.opt = createOpt(dx, ds); this.opt = createOpt(dx, ds);
this.load = false;
}) });
},
} },
} };
}
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>

@ -7,7 +7,7 @@
* @FilePath: /data-show/src/views/EventDetails/eventCorrelation/index.vue * @FilePath: /data-show/src/views/EventDetails/eventCorrelation/index.vue
--> -->
<template> <template>
<div class="ec-outter"> <div class="ec-outter" v-loading="load">
<div class="ec-top" align="center"> <div class="ec-top" align="center">
<v-btn @click="goback"></v-btn> <v-btn @click="goback"></v-btn>
</div> </div>
@ -39,6 +39,7 @@ export default {
data() { data() {
return { return {
brand: "", brand: "",
load: false,
form: { form: {
sBrand: "", sBrand: "",
token: "", token: "",
@ -56,10 +57,12 @@ export default {
getDdta() { getDdta() {
let obj = Object.assign({}, this.getCtime2, this.form); let obj = Object.assign({}, this.getCtime2, this.form);
this.load = true;
getBrandOverviewCount0528(obj).then((res) => { getBrandOverviewCount0528(obj).then((res) => {
let data = res.data; let data = res.data;
this.zolNum = data.count; this.zolNum = data.count;
this.list = data.data; this.list = data.data;
this.load = false;
}); });
}, },
goback() { goback() {

@ -1,14 +1,14 @@
<!-- <!--
* @Author: your name * @Author: your name
* @Date: 2021-10-13 08:59:57 * @Date: 2021-10-13 08:59:57
* @LastEditTime: 2021-10-13 09:18:58 * @LastEditTime: 2021-11-09 11:55:11
* @LastEditors: Please set LastEditors * @LastEditors: Please set LastEditors
* @Description: 热点事件传播导向 * @Description: 热点事件传播导向
* @FilePath: /data-show/src/views/EventDetails/hotEventPropagationOriented/index.vue * @FilePath: /data-show/src/views/EventDetails/hotEventPropagationOriented/index.vue
--> -->
<template> <template>
<div class="hepo-outter"> <div class="hepo-outter" v-loading="load">
<v-label-div title="热点事件传播导向" /> <v-label-div title="热点事件传播导向" />
<div class="hepo-inner"> <div class="hepo-inner">
<v-echarts :opt="opt"></v-echarts> <v-echarts :opt="opt"></v-echarts>
@ -24,6 +24,7 @@ export default {
props: ["brand"], props: ["brand"],
data() { data() {
return { return {
load: false,
opt: createOpt(), opt: createOpt(),
form: { form: {
sBrand: "", sBrand: "",
@ -40,11 +41,13 @@ export default {
// //
getDdta() { getDdta() {
let obj = Object.assign({}, this.getCtime2, this.form); let obj = Object.assign({}, this.getCtime2, this.form);
this.load = true;
getPropagationDirection0528(obj).then(res => { getPropagationDirection0528(obj).then(res => {
let data = res.data; let data = res.data;
let population = data.links; let population = data.links;
let citylist = data.data; let citylist = data.data;
this.opt = createOpt(citylist, population) this.opt = createOpt(citylist, population);
this.load = false;
}) })
} }

@ -1,13 +1,13 @@
<!-- <!--
* @Author: your name * @Author: your name
* @Date: 2021-10-13 11:54:38 * @Date: 2021-10-13 11:54:38
* @LastEditTime: 2021-11-03 11:32:04 * @LastEditTime: 2021-11-09 11:56:11
* @LastEditors: Please set LastEditors * @LastEditors: Please set LastEditors
* @Description: In User Settings Edit * @Description: In User Settings Edit
* @FilePath: /data-show/src/views/EventDetails/hotOther/index.vue * @FilePath: /data-show/src/views/EventDetails/hotOther/index.vue
--> -->
<template> <template>
<div class="ho-outter"> <div class="ho-outter" v-loading="load">
<v-label-div title="热点事件传播导向" /> <v-label-div title="热点事件传播导向" />
<div class="ho-bd"> <div class="ho-bd">
<dv-scroll-board :config="config" :style="{ width: '100%', height: '27rem' }" /> <dv-scroll-board :config="config" :style="{ width: '100%', height: '27rem' }" />
@ -26,6 +26,7 @@ export default {
data() { data() {
return { return {
currentPage: 1, currentPage: 1,
load: false,
form: { form: {
token: "", token: "",
ssBrand: "", ssBrand: "",
@ -46,6 +47,7 @@ export default {
// //
getDdta() { getDdta() {
let obj = Object.assign({}, this.getCtime2, this.form); let obj = Object.assign({}, this.getCtime2, this.form);
this.load = true;
getHotEventsList(obj).then((res) => { getHotEventsList(obj).then((res) => {
let data = res.data || []; let data = res.data || [];
let totalNum = res.totalNum || 0; let totalNum = res.totalNum || 0;
@ -69,6 +71,7 @@ export default {
header: ["事件列表", "影响力", "时间", "关联品牌"], header: ["事件列表", "影响力", "时间", "关联品牌"],
data: arr, data: arr,
}; };
this.load = false;
}); });
}, },
// //

@ -1,15 +1,15 @@
<!-- <!--
* @Author: your name * @Author: your name
* @Date: 2021-10-13 15:17:14 * @Date: 2021-10-13 15:17:14
* @LastEditTime: 2021-10-14 09:01:07 * @LastEditTime: 2021-11-09 13:26:17
* @LastEditors: Please set LastEditors * @LastEditors: Please set LastEditors
* @Description: 论坛洞察详情 * @Description: 论坛洞察详情
* @FilePath: /data-show/src/views/ForumDetails/index.vue * @FilePath: /data-show/src/views/ForumDetails/index.vue
--> -->
<template> <template>
<div class="d-container" v-loading="load"> <div class="d-container">
<div class="fd-outter"> <div class="fd-outter">
<div class="fd-d1"> <div class="fd-d1" v-loading="load">
<v-label-div title="论坛洞察详情"> <v-label-div title="论坛洞察详情">
<v-btn @click="goback"></v-btn> <v-btn @click="goback"></v-btn>
</v-label-div> </v-label-div>
@ -22,13 +22,13 @@
</div> </div>
</div> </div>
</div> </div>
<div class="fd-d2"> <div class="fd-d2" v-loading="load1">
<v-label-div title="传播态势"/> <v-label-div title="传播态势"/>
<div class="fd-d2-inner"> <div class="fd-d2-inner">
<v-echarts :opt="opt1"></v-echarts> <v-echarts :opt="opt1"></v-echarts>
</div> </div>
</div> </div>
<div class="fd-d2"> <div class="fd-d2" v-loading="load2">
<v-label-div title="TOP5车型传播态势"/> <v-label-div title="TOP5车型传播态势"/>
<div class="fd-d2-inner"> <div class="fd-d2-inner">
<v-echarts :opt="opt2"></v-echarts> <v-echarts :opt="opt2"></v-echarts>
@ -47,6 +47,8 @@ export default {
data() { data() {
return { return {
load: false, load: false,
load1: false,
load2: false,
opt1: {}, opt1: {},
opt2: createOptD2(), opt2: createOptD2(),
msg: "", msg: "",
@ -67,13 +69,16 @@ export default {
methods: { methods: {
getDdta1(){ getDdta1(){
let obj = Object.assign({}, this.getCtime2, this.form); let obj = Object.assign({}, this.getCtime2, this.form);
this.load = true;
getBbsInsightAnalysis(obj).then(res => { getBbsInsightAnalysis(obj).then(res => {
let data = res.msg; let data = res.msg;
this.msg = data; this.msg = data;
this.load = false;
}) })
}, },
getDdta2(){ getDdta2(){
let obj = Object.assign({}, this.getCtime2, this.form); let obj = Object.assign({}, this.getCtime2, this.form);
this.load1 = true;
getBbsCountTime(obj).then(res => { getBbsCountTime(obj).then(res => {
let data = res.data || []; let data = res.data || [];
let dx = []; let dx = [];
@ -85,10 +90,12 @@ export default {
ds.push(value); ds.push(value);
}); });
this.opt1 = createOptD1(dx, ds); this.opt1 = createOptD1(dx, ds);
this.load1 = false;
}) })
}, },
getDdta3(){ getDdta3(){
let obj = Object.assign({}, this.getCtime2, this.form); let obj = Object.assign({}, this.getCtime2, this.form);
this.load2 = true;
getBbsBrandTime(obj).then(res => { getBbsBrandTime(obj).then(res => {
let data = res.data || []; let data = res.data || [];
let dx = []; let dx = [];
@ -100,10 +107,9 @@ export default {
ds.push(value); ds.push(value);
}); });
this.opt2 = createOptD2(dx, ds); this.opt2 = createOptD2(dx, ds);
this.load2 = false;
}) })
}, },
goback() { goback() {
this.$router.go(-1) this.$router.go(-1)
} }

@ -1,7 +1,7 @@
/* /*
* @Author: your name * @Author: your name
* @Date: 2021-10-12 10:11:24 * @Date: 2021-10-12 10:11:24
* @LastEditTime: 2021-10-13 16:04:16 * @LastEditTime: 2021-11-09 09:47:08
* @LastEditors: Please set LastEditors * @LastEditors: Please set LastEditors
* @Description: In User Settings Edit * @Description: In User Settings Edit
* @FilePath: /data-show/src/views/BrandInsight/titsopo/opt.js * @FilePath: /data-show/src/views/BrandInsight/titsopo/opt.js
@ -23,7 +23,7 @@ function createData(ds = []) {
type: 'line', type: 'line',
symbol: 'none', symbol: 'none',
areaStyle: { areaStyle: {
opacity: 0.2, opacity: 0.1,
}, },
emphasis: { emphasis: {
focus: 'series' focus: 'series'

@ -1,85 +1,59 @@
<!-- <!--
* @Author: your name * @Author: your name
* @Date: 2021-10-14 18:42:40 * @Date: 2021-10-14 19:06:52
* @LastEditTime: 2021-11-08 18:25:18 * @LastEditTime: 2021-11-09 13:41:16
* @LastEditors: Please set LastEditors * @LastEditors: Please set LastEditors
* @Description: In User Settings Edit * @Description: In User Settings Edit
* @FilePath: /data-show/src/views/WeiboDetails/modelPopularity/index.vue * @FilePath: /data-show/src/views/WeiboDetails/weiboWordCloud/index.vue
--> -->
<template> <template>
<div class="mp-outter"> <div class="wwc-outter" v-loading="load">
<v-label-div title="车型热度"> <v-label-div title="正面词云分布">
<div>
<v-tab-group
:btns="['热门', '热赞', '热议', '热转']"
@change="handlerTab"
></v-tab-group>
</div>
</v-label-div> </v-label-div>
<div class="mp-inner"> <div class="wwc-inner">
<v-ranking-mpth <v-echarts :opt="opt"></v-echarts>
v-for="(item, index) in labelArr"
:key="index"
:num="index + 1"
:label="item.key"
:val="item.value"
></v-ranking-mpth>
</div> </div>
</div> </div>
</template> </template>
<script> <script>
import { getCartypeWeiBo0528 } from "@/api/WeiboDetails/index.js"; import { getPositive } from "@/api/WeiboDetails";
import { getTopCarseriesObj } from "@/api/WeiboDetails/index.js"; import createWordCloud from "@/utils/gol/bubbleWord";
import vRankingMpth from "./v-ranking-mpth"; //import createOpt from "./opt";
export default { export default {
name: "MWDmodelPopularity", name: "MWDmodelPopularity",
data() { data() {
return { return {
opt: {},
load: false,
positiveData: {},
negativeData: {},
form: { form: {
sBrand: "", sBrand: "",
token: "", token: "",
iType: "",
}, },
labelArr: [],
hotSeries: [],
hotTypes: [],
hotComs: [],
hotTrans: [],
}; };
}, },
components: {
vRankingMpth,
},
created() { created() {
this.form.token = this.getToken; this.form.token = this.getToken;
this.form.sBrand = this.getBrand.brandname || this.brand; this.form.sBrand = this.getBrand.brandname || this.brand;
this.getData(); this.getData();
}, },
methods: { methods: {
getData() { getData() {
Promise.all([ this.load = true;
this.getHotSeries(), this.getH().then(() => {
this.getHotTypes(), this.load = false;
this.getHotComs(), })
this.getHotTrans(),
]).then(() => {
//
this.handlerTab(0);
});
}, },
// //
getHotSeries() { getH() {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
this.form.iType = "";
let obj = Object.assign({}, this.getCtime2, this.form); let obj = Object.assign({}, this.getCtime2, this.form);
getCartypeWeiBo0528(obj) getPositive(obj)
.then((res) => { .then((res) => {
let data = res.data || {}; this.positiveData = res.data || {};
this.hotSeries = this.toArr(data); this.opt = createWordCloud(this.positiveData);
resolve(res); resolve(res);
}) })
.catch(() => { .catch(() => {
@ -87,94 +61,19 @@ export default {
}); });
}); });
}, },
//
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> </script>
<style lang="less" scoped> <style lang="less" scoped>
.mp-outter { .wwc-outter {
width: 460px; width: 460px;
height: 460px; height: 460px;
border: 2px solid #0f2a4d; border: 2px solid #0f2a4d;
.mp-inner { margin-left: 16px;
padding: 0px 16px 16px 16px; .wwc-inner {
width: 100%;
height: calc(100% - 48px);
} }
} }
</style> </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,115 +1,79 @@
<!-- <!--
* @Author: your name * @Author: your name
* @Date: 2021-10-14 19:06:52 * @Date: 2021-10-14 19:06:52
* @LastEditTime: 2021-11-08 18:35:35 * @LastEditTime: 2021-11-09 13:41:39
* @LastEditors: Please set LastEditors * @LastEditors: Please set LastEditors
* @Description: In User Settings Edit * @Description: In User Settings Edit
* @FilePath: /data-show/src/views/WeiboDetails/weiboWordCloud/index.vue * @FilePath: /data-show/src/views/WeiboDetails/weiboWordCloud/index.vue
--> -->
<template> <template>
<div class="wwc-outter" v-loading="load"> <div class="wwc-outter" v-loading="load">
<v-label-div title="词云分布"> <v-label-div title="负面词云分布">
<div> </v-label-div>
<v-tab-group <div class="wwc-inner">
:btns="['正面', '负面']" <v-echarts :opt="opt"></v-echarts>
@change="handlerTab" </div>
></v-tab-group>
</div>
</v-label-div>
<div class="wwc-inner">
<v-echarts :opt="opt"></v-echarts>
</div> </div>
</div>
</template> </template>
<script> <script>
import { getNegative } from "@/api/WeiboDetails"; import { getNegative } from "@/api/WeiboDetails";
import { getPositive } from "@/api/WeiboDetails";
import createWordCloud from "@/utils/gol/bubbleWord"; import createWordCloud from "@/utils/gol/bubbleWord";
//import createOpt from "./opt"; //import createOpt from "./opt";
export default { export default {
name: "MWDweiboWordCloud", name: "MWDweiboWordCloud",
data() { data() {
return { return {
opt: {}, opt: {},
load: false, load: false,
positiveData: {}, positiveData: {},
negativeData: {}, negativeData: {},
form: { form: {
sBrand: "", sBrand: "",
token: "", token: "",
}, },
}; };
},
created() {
this.form.token = this.getToken;
this.form.sBrand = this.getBrand.brandname || this.brand;
this.getData();
},
methods: {
getData() {
this.load = true;
Promise.all([this.getH(), this.getF()]).then(() => {
//
this.handlerTab(0);
this.load = false;
});
}, },
// created() {
getH() { this.form.token = this.getToken;
return new Promise((resolve, reject) => { this.form.sBrand = this.getBrand.brandname || this.brand;
let obj = Object.assign({}, this.getCtime2, this.form); this.getData();
getPositive(obj)
.then((res) => {
this.positiveData = res.data || {};
resolve(res);
})
.catch(() => {
reject(false);
});
});
}, },
// methods: {
getF() { getData() {
return new Promise((resolve, reject) => { this.load = true;
let obj = Object.assign({}, this.getCtime2, this.form); this.getF().then(() => {
getNegative(obj) this.load = false;
.then((res) => { });
this.negativeData = res.data || {}; },
resolve(res); //
}) getF() {
.catch(() => { return new Promise((resolve, reject) => {
reject(false); let obj = Object.assign({}, this.getCtime2, this.form);
}); getNegative(obj)
}); .then((res) => {
this.negativeData = res.data || {};
this.opt = createWordCloud(this.negativeData);
resolve(res);
})
.catch(() => {
reject(false);
});
});
},
}, },
//
handlerTab(n) {
switch (n) {
case 0:
this.opt = createWordCloud(this.positiveData);
break;
case 1:
this.opt = createWordCloud(this.negativeData);
break;
default:
this.opt = createWordCloud(this.positiveData);
break;
}
},
},
}; };
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
.wwc-outter { .wwc-outter {
width: 460px; width: 460px;
height: 460px; height: 460px;
border: 2px solid #0f2a4d; border: 2px solid #0f2a4d;
margin-left: 16px; margin-left: 16px;
.wwc-inner { .wwc-inner {
width: 100%; width: 100%;
height: calc(100% - 48px); height: calc(100% - 48px);
} }
} }
</style> </style>

@ -1,14 +1,14 @@
<!-- <!--
* @Author: your name * @Author: your name
* @Date: 2021-10-14 18:42:40 * @Date: 2021-10-14 18:42:40
* @LastEditTime: 2021-10-14 18:59:42 * @LastEditTime: 2021-11-09 11:58:09
* @LastEditors: Please set LastEditors * @LastEditors: Please set LastEditors
* @Description: In User Settings Edit * @Description: In User Settings Edit
* @FilePath: /data-show/src/views/WeiboDetails/modelPopularity/index.vue * @FilePath: /data-show/src/views/WeiboDetails/modelPopularity/index.vue
--> -->
<template> <template>
<div class="mp-outter"> <div class="mp-outter" v-loading="load">
<v-label-div title="车型热度"> <v-label-div title="车型热度">
<div> <div>
<v-tab-group <v-tab-group
@ -37,6 +37,7 @@ export default {
name: "modelPopularity", name: "modelPopularity",
data() { data() {
return { return {
load: false,
form: { form: {
sBrand: "", sBrand: "",
token: "", token: "",
@ -61,6 +62,7 @@ export default {
methods: { methods: {
getData() { getData() {
this.load = true;
Promise.all([ Promise.all([
this.getHotSeries(), this.getHotSeries(),
this.getHotTypes(), this.getHotTypes(),
@ -69,6 +71,7 @@ export default {
]).then(() => { ]).then(() => {
// //
this.handlerTab(0); this.handlerTab(0);
this.load = false;
}); });
}, },
// //

@ -1,13 +1,13 @@
<!-- <!--
* @Author: your name * @Author: your name
* @Date: 2021-10-16 15:18:44 * @Date: 2021-10-16 15:18:44
* @LastEditTime: 2021-10-16 15:58:24 * @LastEditTime: 2021-11-09 13:14:13
* @LastEditors: Please set LastEditors * @LastEditors: Please set LastEditors
* @Description: In User Settings Edit * @Description: In User Settings Edit
* @FilePath: /data-show/src/views/WeiboDetails/positiveViewKOL/index.vue * @FilePath: /data-show/src/views/WeiboDetails/positiveViewKOL/index.vue
--> -->
<template> <template>
<div class="pv-outter"> <div class="pv-outter" v-loading="load">
<v-label-div title="负面观点KOL"> <v-label-div title="负面观点KOL">
</v-label-div> </v-label-div>
<div class="pv-inner"> <div class="pv-inner">
@ -31,6 +31,7 @@ export default {
data() { data() {
return { return {
ds:[], ds:[],
load: false,
form: { form: {
sBrand: "", sBrand: "",
sQingGan: "2", sQingGan: "2",
@ -47,6 +48,7 @@ export default {
methods: { methods: {
getData() { getData() {
let obj = Object.assign({}, this.getCtime2, this.form); let obj = Object.assign({}, this.getCtime2, this.form);
this.load = true;
getCoreDiffuseWeiBo0528(obj).then(res => { getCoreDiffuseWeiBo0528(obj).then(res => {
let data = res.data || []; let data = res.data || [];
//: data._sourse.user_author //: data._sourse.user_author
@ -62,6 +64,7 @@ export default {
arr.push(o); arr.push(o);
}) })
this.ds = arr; this.ds = arr;
this.load = false;
}); });
}, },
} }

@ -1,13 +1,13 @@
<!-- <!--
* @Author: your name * @Author: your name
* @Date: 2021-10-16 15:18:44 * @Date: 2021-10-16 15:18:44
* @LastEditTime: 2021-10-16 15:56:52 * @LastEditTime: 2021-11-09 13:15:15
* @LastEditors: Please set LastEditors * @LastEditors: Please set LastEditors
* @Description: In User Settings Edit * @Description: In User Settings Edit
* @FilePath: /data-show/src/views/WeiboDetails/positiveViewKOL/index.vue * @FilePath: /data-show/src/views/WeiboDetails/positiveViewKOL/index.vue
--> -->
<template> <template>
<div class="pv-outter"> <div class="pv-outter" v-loading="load">
<v-label-div title="正面观点KOL"> </v-label-div> <v-label-div title="正面观点KOL"> </v-label-div>
<div class="pv-inner"> <div class="pv-inner">
<div class="pv-item" v-for="(item, index) in ds" :key="index"> <div class="pv-item" v-for="(item, index) in ds" :key="index">
@ -32,6 +32,7 @@ export default {
data() { data() {
return { return {
ds: [], ds: [],
load: false,
form: { form: {
sBrand: "", sBrand: "",
sQingGan: "1", sQingGan: "1",
@ -48,6 +49,7 @@ export default {
methods: { methods: {
getData() { getData() {
let obj = Object.assign({}, this.getCtime2, this.form); let obj = Object.assign({}, this.getCtime2, this.form);
this.load = true;
getCoreDiffuseWeiBo0528(obj).then((res) => { getCoreDiffuseWeiBo0528(obj).then((res) => {
let data = res.data || []; let data = res.data || [];
//: data._sourse.user_author //: data._sourse.user_author
@ -63,6 +65,7 @@ export default {
arr.push(o); arr.push(o);
}); });
this.ds = arr; this.ds = arr;
this.load = false;
}); });
}, },
}, },

@ -1,13 +1,13 @@
<!-- <!--
* @Author: your name * @Author: your name
* @Date: 2021-10-14 10:48:56 * @Date: 2021-10-14 10:48:56
* @LastEditTime: 2021-10-14 11:00:50 * @LastEditTime: 2021-11-09 13:16:07
* @LastEditors: Please set LastEditors * @LastEditors: Please set LastEditors
* @Description: In User Settings Edit * @Description: In User Settings Edit
* @FilePath: /data-show/src/views/WeiboDetails/weiboCharacters/index.vue * @FilePath: /data-show/src/views/WeiboDetails/weiboCharacters/index.vue
--> -->
<template> <template>
<div class="wc-outter"> <div class="wc-outter" v-loading="load">
<v-label-div title="微博人物画像"> <v-label-div title="微博人物画像">
<div> <div>
<v-tab-group <v-tab-group
@ -89,6 +89,7 @@ export default {
// //
getData() { getData() {
let obj = Object.assign({}, this.getCtime2, this.form); let obj = Object.assign({}, this.getCtime2, this.form);
this.load = true;
getSexMergeWeiBo(obj).then((res) => { getSexMergeWeiBo(obj).then((res) => {
let data = res.data || {}; let data = res.data || {};
let RegionWeiBo = data.RegionWeiBo; let RegionWeiBo = data.RegionWeiBo;
@ -98,6 +99,7 @@ export default {
this.attestation = this.toArr(attestation); this.attestation = this.toArr(attestation);
this.sex = this.toArr(sex); this.sex = this.toArr(sex);
this.doVal(this.sex); this.doVal(this.sex);
this.load = false;
}); });
}, },
// //

@ -1,13 +1,13 @@
<!-- <!--
* @Author: your name * @Author: your name
* @Date: 2021-10-14 10:11:41 * @Date: 2021-10-14 10:11:41
* @LastEditTime: 2021-10-14 10:22:06 * @LastEditTime: 2021-11-09 13:16:55
* @LastEditors: Please set LastEditors * @LastEditors: Please set LastEditors
* @Description: In User Settings Edit * @Description: In User Settings Edit
* @FilePath: /data-show/src/views/WeiboDetails/weiboCommunicationTrend/index.vue * @FilePath: /data-show/src/views/WeiboDetails/weiboCommunicationTrend/index.vue
--> -->
<template> <template>
<div class="wct-outter"> <div class="wct-outter" v-loading="load">
<v-label-div title="微博传播趋势"> <v-label-div title="微博传播趋势">
</v-label-div> </v-label-div>
<div class="wct-inner"> <div class="wct-inner">

@ -1,13 +1,13 @@
<!-- <!--
* @Author: your name * @Author: your name
* @Date: 2021-10-14 10:24:56 * @Date: 2021-10-14 10:24:56
* @LastEditTime: 2021-10-14 10:46:41 * @LastEditTime: 2021-11-09 13:17:24
* @LastEditors: Please set LastEditors * @LastEditors: Please set LastEditors
* @Description: In User Settings Edit * @Description: In User Settings Edit
* @FilePath: /data-show/src/views/WeiboDetails/weiboContentType/index.vue * @FilePath: /data-show/src/views/WeiboDetails/weiboContentType/index.vue
--> -->
<template> <template>
<div class="wct-outter"> <div class="wct-outter" v-loading="load">
<v-label-div title="微博内容类型"> </v-label-div> <v-label-div title="微博内容类型"> </v-label-div>
<div class="wct-inner"> <div class="wct-inner">
<div class="d1"> <div class="d1">
@ -79,8 +79,8 @@ export default {
getWtypeWeiBo0528(obj).then((res) => { getWtypeWeiBo0528(obj).then((res) => {
let data = res.data || []; let data = res.data || [];
this.doVal(data); this.doVal(data);
this.load = false;
}); });
console.log();
}, },
doVal(arr = []) { doVal(arr = []) {
let total = 0; let total = 0;

@ -1,13 +1,13 @@
<!-- <!--
* @Author: your name * @Author: your name
* @Date: 2021-10-14 19:15:58 * @Date: 2021-10-14 19:15:58
* @LastEditTime: 2021-10-14 19:39:06 * @LastEditTime: 2021-11-09 13:18:14
* @LastEditors: Please set LastEditors * @LastEditors: Please set LastEditors
* @Description: In User Settings Edit * @Description: In User Settings Edit
* @FilePath: /data-show/src/views/WeiboDetails/weiboSpreadFission/index.vue * @FilePath: /data-show/src/views/WeiboDetails/weiboSpreadFission/index.vue
--> -->
<template> <template>
<div class="wsf-outter"> <div class="wsf-outter" v-loading="load">
<v-label-div title="微博传播裂变"> <v-label-div title="微博传播裂变">
</v-label-div> </v-label-div>
<div class="wsf-inner"> <div class="wsf-inner">
@ -25,6 +25,7 @@ export default {
data() { data() {
return { return {
opt: {}, opt: {},
load: false,
form: { form: {
token:"", token:"",
sBrand:"" sBrand:""
@ -39,8 +40,10 @@ export default {
methods: { methods: {
drawGraph() { drawGraph() {
let obj = Object.assign({}, this.getCtime2, this.form); let obj = Object.assign({}, this.getCtime2, this.form);
this.load = true;
getGraphData(obj).then(res => { getGraphData(obj).then(res => {
this.opt = createOpt(res.data) this.opt = createOpt(res.data);
this.load = false;
}); });
} }
} }

@ -1,13 +1,13 @@
<!-- <!--
* @Author: your name * @Author: your name
* @Date: 2021-10-14 19:41:24 * @Date: 2021-10-14 19:41:24
* @LastEditTime: 2021-11-05 10:02:09 * @LastEditTime: 2021-11-09 13:20:35
* @LastEditors: Please set LastEditors * @LastEditors: Please set LastEditors
* @Description: In User Settings Edit * @Description: In User Settings Edit
* @FilePath: /data-show/src/views/WeiboDetails/weiboTonalDistribution/index.vue * @FilePath: /data-show/src/views/WeiboDetails/weiboTonalDistribution/index.vue
--> -->
<template> <template>
<div class="wtd-outter"> <div class="wtd-outter" v-loading="load">
<v-label-div title="调性分布"> </v-label-div> <v-label-div title="调性分布"> </v-label-div>
<div class="wtd-inner"> <div class="wtd-inner">
<div class="wtd-item" v-for="(value,key) in obj" <div class="wtd-item" v-for="(value,key) in obj"
@ -26,6 +26,7 @@ export default {
name: "wtd-outter", name: "wtd-outter",
data() { data() {
return { return {
load: false,
form: { form: {
token: "", token: "",
sBrand: "", sBrand: "",
@ -49,6 +50,7 @@ export default {
methods: { methods: {
getData() { getData() {
let obj = Object.assign({}, this.getCtime2, this.form); let obj = Object.assign({}, this.getCtime2, this.form);
this.load = true;
getBoauthenAffectionsWeiBo0528(obj).then(res => { getBoauthenAffectionsWeiBo0528(obj).then(res => {
let data = res.data; let data = res.data;
data.forEach(ele => { data.forEach(ele => {
@ -85,6 +87,7 @@ export default {
break; break;
} }
}) })
this.load = false;
}); });
}, },
}, },

@ -1,13 +1,13 @@
<!-- <!--
* @Author: your name * @Author: your name
* @Date: 2021-10-14 11:25:20 * @Date: 2021-10-14 11:25:20
* @LastEditTime: 2021-10-14 15:06:40 * @LastEditTime: 2021-11-09 13:21:04
* @LastEditors: Please set LastEditors * @LastEditors: Please set LastEditors
* @Description: In User Settings Edit * @Description: In User Settings Edit
* @FilePath: /data-show/src/views/WeiboDetails/weiboUserActiveArea/index.vue * @FilePath: /data-show/src/views/WeiboDetails/weiboUserActiveArea/index.vue
--> -->
<template> <template>
<div class="wua-outter"> <div class="wua-outter" v-loading="load">
<v-label-div title="微博用户活跃地区"> </v-label-div> <v-label-div title="微博用户活跃地区"> </v-label-div>
<div class="wua-inner"> <div class="wua-inner">
<div class="d1"> <div class="d1">
@ -28,6 +28,7 @@ export default {
name: "weiboUserActiveArea", name: "weiboUserActiveArea",
data() { data() {
return { return {
load: false,
form: { form: {
sBrand: "", sBrand: "",
token: "", token: "",
@ -62,6 +63,7 @@ export default {
let dm = arr // let dm = arr //
this.opt1 = createOptD1(dx, ds); this.opt1 = createOptD1(dx, ds);
this.opt2 = createOptD2(dm); this.opt2 = createOptD2(dm);
this.load = false;
}); });
}, },
// //

Loading…
Cancel
Save