prod
lily.zhang 4 years ago
parent e95f6a777c
commit 785cd82088

@ -1,13 +1,14 @@
<!--
* @Author: your name
* @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
* @Description: In User Settings Edit
* @FilePath: /data-show/public/index.html
-->
<!DOCTYPE html>
<html lang="">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
@ -16,11 +17,18 @@
<link rel="icon" href="<%= BASE_URL %>sws_32.ico">
<title>硕为思汽车智能洞察系统</title>
</head>
<body>
<noscript>
<strong>We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>
<strong>We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't work properly without JavaScript enabled.
Please enable it to continue.</strong>
</noscript>
<div id="app"></div>
<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() {
this.changeZoom()
},
mounted() {
document.getElementById('appLoading').style.display = 'none';
},
methods: {
changeZoom() {
let h = document.body.clientHeight; //

Binary file not shown.

After

Width:  |  Height:  |  Size: 77 KiB

@ -1,7 +1,7 @@
/*
* @Author: your name
* @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
* @Description: In User Settings Edit
* @FilePath: /data-show/src/components/index.js
@ -17,6 +17,7 @@ import vPagination from "@/components/v-pagination"
import vRanking from "@/components/v-ranking";
import vEcharsMap from "@/components/v-echars-map"
import vPercent from "@/components/v-percent"
import vCutsceneWaiting from "@/components/v-cutscene-waiting"
export default {
install(Vue) {
Vue.mixin({
@ -31,7 +32,8 @@ export default {
vPagination,
vRanking,
vEcharsMap,
vPercent
vPercent,
vCutsceneWaiting
}
})
}

@ -1,20 +1,49 @@
<!--
* @Author: your name
* @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
* @Description: In User Settings Edit
* @FilePath: /data-show/src/components/v-cutscene-waiting/index.vue
-->
<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>
</template>
<script>
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>
@ -25,6 +54,57 @@ export default {
height: 100vh;
left: 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>

@ -1,7 +1,7 @@
<!--
* @Author: your name
* @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
* @Description: In User Settings Edit
* @FilePath: /data-show/src/lycomponents/iLayout/index.vue
@ -30,6 +30,7 @@ export default {
data() {
return {
isRouterAlive: true,
load: false,
headerStyle: {}
};
},
@ -39,9 +40,6 @@ export default {
this.$nextTick(() => {
this.isRouterAlive = true;
});
},
changeZoom() {
}
},
};

@ -1,7 +1,7 @@
/*
* @Author: your name
* @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
* @Description: In User Settings Edit
* @FilePath: /data-show/src/mixins/index.js
@ -9,7 +9,6 @@
import { mapGetters, mapActions } from "vuex";
import Loading from './loading'
function detectZoom (){
console.log(2222)
let ratio = 0,
screen = window.screen,
ua = navigator.userAgent.toLowerCase();
@ -90,10 +89,10 @@ export default {
}
},
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: {
...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() {
let now = new Date();

@ -1,7 +1,7 @@
/*
* @Author: your name
* @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
* @Description: In User Settings Edit
* @FilePath: /data-show/src/permission.js
@ -20,7 +20,6 @@ router.beforeEach((to, from, next) => {
} else {
next()
}
})
router.afterEach(() => {

@ -1,7 +1,7 @@
/*
* @Author: your name
* @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
* @Description: In User Settings Edit
* @FilePath: /data-show/src/store/actions.js
@ -10,6 +10,9 @@ const actions = {
setZoom: ({commit}, log) => {
commit('setZoom', log)
},
setLoading: ({commit}, log) => {
commit('setLoading', log)
},
setToken: ({commit}, log) => {
commit('setToken', log)
},

@ -1,7 +1,7 @@
/*
* @Author: your name
* @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
* @Description: In User Settings Edit
* @FilePath: /data-show/src/store/getters.js
@ -10,6 +10,9 @@ const getters = {
getZoom(state) {
return state.$zoom
},
getLoading(state) {
return state.loading
},
getToken(state) {
return state.token
},

@ -1,7 +1,7 @@
/*
* @Author: your name
* @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
* @Description: In User Settings Edit
* @FilePath: /data-show/src/store/mutations.js
@ -10,6 +10,9 @@ const mutations = {
setZoom: (state, log) => {
state.$zoom = log;
},
setLoading: (state, log) => {
state.loading = log;
},
setToken: (state, log) => {
sessionStorage.setItem('token', log);
state.token = log

@ -1,7 +1,7 @@
/*
* @Author: your name
* @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
* @Description: In User Settings Edit
* @FilePath: /data-show/src/store/state.js
@ -9,6 +9,7 @@
const state = {
$zoom: 1,
loading: false,
token: sessionStorage.getItem('token') || "",
user: JSON.parse(sessionStorage.getItem('user')) || {},
account: JSON.parse(localStorage.getItem('account')) || {},

@ -1,7 +1,7 @@
<!--
* @Author: xw
* @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
* @Description: 品牌洞察
* @FilePath: /data-show/src/views/BrandInsight/index.vue

@ -3,12 +3,13 @@
/*
* @Author: your name
* @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
* @Description: In User Settings Edit
* @FilePath: /data-show/src/views/Index/tailInsight/opt.js
*/
import * as echarts from "echarts";
import { bigNumberTransform } from "@/utils/gol/dataTool"
export default function createOpt(dy = [], ds = []) {
return {
grid: {
@ -36,6 +37,12 @@ export default function createOpt(dy = [], ds = []) {
color: "#fff",
},
},
axisLabel: {
formatter: (value) => {
let str = bigNumberTransform(value);
return str;
}
},
splitLine: {
lineStyle: {
type: "dashed", // y轴分割线类型

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

@ -1,14 +1,14 @@
<!--
* @Author: your name
* @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
* @Description: In User Settings Edit
* @FilePath: /data-show/src/views/EventDetails/distributionOfTOPModelsOfHotEvents/index.vue
-->
<template>
<div class="dotop-outter">
<div class="dotop-outter" v-loading="load">
<v-label-div title="热点事件TOP车型分布" :showLine="false" :eStyle="{ 'border-style': 'none' }" />
<div class="dotop-inner">
<v-echarts :opt="opt"></v-echarts>
@ -18,46 +18,47 @@
</template>
<script>
import {getHotEventSseries} from '@/api/EventDetails'
import createOpt from "./opt"
import { getHotEventSseries } from "@/api/EventDetails";
import createOpt from "./opt";
export default {
name: "distributionOfTOPModelsOfHotEvents",
data() {
return {
load: false,
opt: {},
form: {
sQueryType: 1,
sBrand: "",
token: ""
}
}
token: "",
},
};
},
created() {
this.form.token = this.getToken;
this.form.sBrand = this.getBrand.brandname || '奥迪';
this.form.sBrand = this.getBrand.brandname || "奥迪";
this.getDdta();
},
methods: {
//
getDdta() {
let obj = Object.assign({}, this.getCtime2, this.form);
getHotEventSseries(obj).then(res => {
this.load = true;
getHotEventSseries(obj).then((res) => {
let data = res.data || [];
let dx = [];
let ds = [];
data.forEach(ele => {
data.forEach((ele) => {
let key = ele.key;
let value = ele.data;
dx.push(key);
ds.push(value);
});
this.opt = createOpt(dx, ds);
})
}
}
}
this.load = false;
});
},
},
};
</script>
<style lang="less" scoped>

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

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

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

@ -1,7 +1,7 @@
/*
* @Author: your name
* @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
* @Description: In User Settings Edit
* @FilePath: /data-show/src/views/BrandInsight/titsopo/opt.js
@ -23,7 +23,7 @@ function createData(ds = []) {
type: 'line',
symbol: 'none',
areaStyle: {
opacity: 0.2,
opacity: 0.1,
},
emphasis: {
focus: 'series'

Loading…
Cancel
Save