luyisha 3 years ago
parent
commit
c6a1639116
  1. 8
      src/App.vue
  2. 11
      src/api/home.js
  3. 254
      src/views/cultrue/index.vue
  4. 367
      src/views/index.vue
  5. 79
      src/views/ty/index.vue

8
src/App.vue

@ -127,8 +127,8 @@ body {
} }
#app { #app {
// height: 100vh; height: 100vh;
height: 13.5rem; // height: 13.5rem;
} }
// //
@ -163,9 +163,9 @@ body {
} }
.topTitle { .topTitle {
margin-top: 1%; margin-top: 0.56rem;
color: #00c6ff; color: #00c6ff;
font-size: 14px; font-size: 0.21rem;
font-weight: bold; font-weight: bold;
} }
} }

11
src/api/home.js

@ -11,7 +11,8 @@ const api={
tyg_klqs:'/pass.passcc/allGroupTimeNum', tyg_klqs:'/pass.passcc/allGroupTimeNum',
zonglan_data:'/pass.passcc/allGroupNum', zonglan_data:'/pass.passcc/allGroupNum',
// 借阅办证的信息 // 借阅办证的信息
librurl:'/library.pass/getLibraryService' librurl:'/library.pass/getLibraryService',
getID:'/pass.passcc/getGroupData'
} }
// 获取群组 // 获取群组
@ -104,3 +105,11 @@ export function libbrow(params) {
params, params,
}) })
} }
export function getID(param) {
return request({
url: api.getID,
method: 'post',
param,
})
}

254
src/views/cultrue/index.vue

@ -38,7 +38,7 @@
<span class="inst">本年进馆人数</span> <span class="inst">本年进馆人数</span>
</div> </div>
</div> </div>
<!-- 24h ins 统计图 --> <!-- ins 统计图 -->
<div class="dinszone"> <div class="dinszone">
<span class="dins_title">24小时总服务人次趋势</span> <span class="dins_title">24小时总服务人次趋势</span>
<!-- 柱状统计图 --> <!-- 柱状统计图 -->
@ -47,6 +47,7 @@
</div> </div>
<!-- 中间 --> <!-- 中间 -->
<div class="center"> <div class="center">
<div class="bg"></div>
<div class="ctop">24小时服务人次</div> <div class="ctop">24小时服务人次</div>
<div class="cmid"> <div class="cmid">
<div class="cmdiv"> <div class="cmdiv">
@ -99,7 +100,8 @@ export default {
whg_num:5160, whg_num:5160,
// //
tsg_num:8662, tsg_num:8662,
data24h: [],
data24hX: [],
}; };
}, },
mounted() { mounted() {
@ -113,7 +115,8 @@ export default {
} }
}, 200); }, 200);
// //
this.bwugrs() this.bwugrs();
this.getData24h();
this.cultrue_bar1(); this.cultrue_bar1();
this.cultrue_bar2(); this.cultrue_bar2();
@ -131,11 +134,23 @@ export default {
}, },
methods: { methods: {
cultrue_bar1() { cultrue_bar1() {
let that = this;
var chartDom = document.getElementById("dinschart"); var chartDom = document.getElementById("dinschart");
// var option; // var option;
// var xData = ['09:00', '10:00', '11:00','12:00', '13:00', '14:00','15:00', '16:00', '17:00','18:00', '20:00', '21:00', '22:00']; var xData = that.data24hX;
// var data = [10000, 20000, 10000, 20000, 10000, 20000, 25000, 50000, 30000, 13000, 15000, 11000, 12000] var data = that.data24h;
let max=data[0];
for (let i = 0; i < data.length; i++) {
if (data[i]>max) {
max = data[i];
}
}
let dataLenArr = [], dataBGArr = [];
data.map(item=>{
dataLenArr.push(0);//
dataBGArr.push(max);//
})
// var data = [Math.random() * 300] // var data = [Math.random() * 300]
var option = { var option = {
tooltip: { tooltip: {
@ -158,9 +173,7 @@ export default {
containLabel: true containLabel: true
}, },
xAxis: [{ xAxis: [{
data: [ data: xData,
'08:00', '09:00', '10:00', '11:00', '12:00', '13:00', '14:00', '15:00', '16:00',
],
axisLine: { axisLine: {
lineStyle: { lineStyle: {
color: '#0095FF', color: '#0095FF',
@ -231,17 +244,7 @@ export default {
) )
} }
}, },
data: [ data: data,
14000,
11000,
10000,
9000,
8000,
7000,
5000,
4000,
3000,
],
zlevel: 11 zlevel: 11
}, },
{ {
@ -250,7 +253,7 @@ export default {
stack: 1, stack: 1,
xAxisIndex: 0, xAxisIndex: 0,
symbolOffset: [0, 0], // symbolOffset: [0, 0], //
data: [0, 0, 0, 0, 0, 0, 0, 0, 0], data: dataLenArr,
itemStyle: { itemStyle: {
normal: { normal: {
color: '#fff' color: '#fff'
@ -265,7 +268,7 @@ export default {
type: 'bar', type: 'bar',
barWidth: '10%', barWidth: '10%',
barGap: '-100%', barGap: '-100%',
data: [15000, 15000, 15000, 15000, 15000, 15000, 15000, 15000, 15000], data: dataBGArr,
itemStyle: { itemStyle: {
normal: { normal: {
color: '#004298', color: '#004298',
@ -278,11 +281,50 @@ export default {
}, },
] ]
} }
function run(myChart){
// 使 that.getData24h();
var data = that.data24h;
let max=data[0];
for (let i = 0; i < data.length; i++) {
if (data[i]>max) {
max = data[i];
}
}
let dataLenArr = [], dataBGArr = [];
data.map(item=>{
dataLenArr.push(0);//
dataBGArr.push(max);//
})
myChart.setOption({
animation: true,
xAxis: {
data: xData
},
series: [{
type: 'bar',
data: data,
},
{
type: 'scatter',
data: dataLenArr
},
{
name: '背景',
type: 'bar',
data: dataBGArr
},
]
});
}
// 使2
setTimeout(() => { setTimeout(() => {
var myChart = echarts.init(chartDom); var myChart = echarts.init(chartDom);
option && myChart.setOption(option); option && myChart.setOption(option);
setInterval(function () {
myChart.clear();
option && myChart.setOption(option);
run(myChart);
}, 3000);
}, 200); }, 200);
}, },
cultrue_bar2() { cultrue_bar2() {
@ -460,18 +502,28 @@ export default {
}, },
series: series, series: series,
} }
function run(myChart){
// -
myChart.setOption({
series: series
});
}
setTimeout(() => { setTimeout(() => {
var myChart = echarts.init(chartDom); var myChart = echarts.init(chartDom);
option && myChart.setOption(option); option && myChart.setOption(option);
setInterval(function () {
myChart.clear();
option && myChart.setOption(option);
run(myChart);
}, 3000);
}, 200); }, 200);
}, },
// //
cultrue_bar3() { cultrue_bar3() {
// //
homeApi.libbrow().then(res=>{ homeApi.libbrow().then(res=>{
// console.log(res) // console.log(res, '----')
}); });
var chartDom = document.getElementById("tsgchart"); var chartDom = document.getElementById("tsgchart");
@ -737,9 +789,23 @@ export default {
} }
}] }]
}; };
function run(myChart){
// -
myChart.setOption({
series: [
{data: getSymbolData(data)},
{data: data,}
]
});
}
setTimeout(() => { setTimeout(() => {
var myChart = echarts.init(chartDom); var myChart = echarts.init(chartDom);
option && myChart.setOption(option); option && myChart.setOption(option);
setInterval(function () {
myChart.clear();
option && myChart.setOption(option);
run(myChart);
}, 3000);
}, 200); }, 200);
}, },
addNumber(start, end, id) { addNumber(start, end, id) {
@ -809,6 +875,44 @@ export default {
const str = arr.reverse().join('') const str = arr.reverse().join('')
// //
return str return str
},
//
getAAAA(){
let that = this;
homeApi.getID().then(res=>{
// console.log(res, '=====');
let id = res.data.data[1].groupId;
homeApi.homeBarData({groupsId:id}).then(res=>{
// console.log(res.data.data, '=====')
const tmpdata = res.data.data.allTimeData;
let datas = []
Object.values(tmpdata).forEach((value) => {
datas.push(value.num)
});
that.data24h = datas;
that.data24hX = res.data.data.allTimeData;
});
});
},
// 24
getData24h(){
let that = this;
homeApi.allGcgNumDatas().then(res=>{
console.log(res, '=====');
let id = res.data.data[1].groupId;
// console.log(res.data.data, '=====')
return;
const tmpdata = res.data.data.allTimeData;
let datas = []
Object.values(tmpdata).forEach((value) => {
datas.push(value.num)
});
that.data24h = datas;
that.data24hX = res.data.data.allTimeData;
});
} }
}, },
}; };
@ -840,6 +944,7 @@ export default {
float: left; float: left;
color: #fff; color: #fff;
margin-top: calc(-3.86rem + 2.16rem); margin-top: calc(-3.86rem + 2.16rem);
// clear: both;
} }
.leftbox .lb_wht { .leftbox .lb_wht {
@ -847,6 +952,7 @@ export default {
background-size: 100% 100%; background-size: 100% 100%;
background-repeat: no-repeat; background-repeat: no-repeat;
background-position: 0 0; background-position: 0 0;
width: 5.65rem;
height: 3.86rem; height: 3.86rem;
position: relative; position: relative;
margin-left: -0.4rem; margin-left: -0.4rem;
@ -861,6 +967,7 @@ export default {
position: absolute; position: absolute;
top: 2rem; top: 2rem;
right: 0.94rem; right: 0.94rem;
font-weight: bold;
} }
.leftbox .lb_wht .wh_small { .leftbox .lb_wht .wh_small {
@ -883,11 +990,11 @@ export default {
.inszone .institle { .inszone .institle {
color: #00c6ff; color: #00c6ff;
padding-left: 0.5rem; padding-left: 0.4rem;
line-height: 0.38rem; line-height: 0.38rem;
height: 0.38rem; height: 0.38rem;
display: block; display: block;
font-size: 16px; font-size: 0.22rem;
} }
.inszone .insval { .inszone .insval {
@ -920,13 +1027,12 @@ export default {
.inszone .insval .insv { .inszone .insval .insv {
height: 0.48rem; height: 0.48rem;
line-height: 0.48rem; line-height: 0.48rem;
font-size: 22px; font-size: 0.3rem;
margin-top: -0.3rem; margin-top: -0.35rem;
} }
.inszone .insval .inst { .inszone .insval .inst {
color: #6a6c7c; font-size: 0.19rem;
font-size: 12px;
height: 0.12rem; height: 0.12rem;
line-height: 0.12rem; line-height: 0.12rem;
} }
@ -944,12 +1050,12 @@ export default {
height: 0.68rem; height: 0.68rem;
line-height: 0.48rem; line-height: 0.48rem;
color: #fff; color: #fff;
font-size: 0.186rem; font-size: 0.31rem;
background-image: url('../../assets/wh/dins_title_bg.png'); background-image: url('../../assets/wh/dins_title_bg.png');
background-size: 100% 100%; background-size: 100% 100%;
background-position: 0 0; background-position: 0 0;
background-repeat: no-repeat; background-repeat: no-repeat;
padding-left: 0.66rem; padding-left: 0.7rem;
} }
/* 中间部位 */ /* 中间部位 */
@ -958,18 +1064,56 @@ export default {
width: 11.5rem; width: 11.5rem;
height: 8.94rem; height: 8.94rem;
float: left; float: left;
// background-image: url('../../assets/wh/center_bg.png');
// background-repeat: no-repeat;
// background-position: 0 0;
// background-size: 100% 100%;
position: relative;
}
@keyframes animationB {
0%{
// transform: translateY(-10px);
opacity: 0.6;
}
25%{
// transform: translateY(0px);
opacity: 1;
}
50%{
// transform: translateY(10px);
opacity: 0.6;
}
75%{
// transform: translateY(0px);
opacity: 1;
}
100%{
// transform: translateY(-10px);
opacity: 0.6;
}
}
.center .bg{
width: 11.5rem;
height: 8.94rem;
position: absolute;
top: 0px;
left: 0px;
background-image: url('../../assets/wh/center_bg.png'); background-image: url('../../assets/wh/center_bg.png');
background-repeat: no-repeat; background-repeat: no-repeat;
background-position: 0 0; background-position: 0 0;
background-size: 100% 100%; background-size: 100% 100%;
z-index: 1;
animation: animationB 2s ease-out infinite;
} }
.center .ctop { .center .ctop {
margin-top: 0.3rem; margin-top: 0.3rem;
line-height: 0.4rem; line-height: 0.4rem;
color: #fff; color: #fff;
font-size: 0.4rem; font-size: 0.41rem;
text-align: center; text-align: center;
position: absolute;
width: 100%;
z-index: 2;
} }
/* 中间中部 */ /* 中间中部 */
@ -977,6 +1121,10 @@ export default {
padding-top: 4rem; padding-top: 4rem;
width: 100%; width: 100%;
height: 12vh; height: 12vh;
position: absolute;
top: 0.6rem;
width: 100%;
z-index: 3;
} }
.center .cmid .cmdiv { .center .cmid .cmdiv {
// padding-top: 3vh; // padding-top: 3vh;
@ -1011,33 +1159,18 @@ export default {
padding-right: 2rem; padding-right: 2rem;
} }
.center .cmid .cmdiv:nth-child(1) .cmdval {
// padding-left: 12%;
}
.center .cmid .cmdiv:nth-child(1) .cmdt {
// margin-left: 15%;
}
.center .cmid .cmdiv:nth-child(2) { .center .cmid .cmdiv:nth-child(2) {
padding-left: 2rem; padding-left: 2rem;
} }
.center .cmid .cmdiv:nth-child(2) .cmdval {
// text-align: center;
// padding-right: 30% !important;
// margin-right: 16%;
}
.center .cmid .cmdiv:nth-child(2) .cmdt {
/* padding-right:30% !important; */
// margin-right: 25%;
// margin-left: 40%;
}
/* 中间底部 */ /* 中间底部 */
.center .cbuttom { .center .cbuttom {
margin-top: 1.3rem; margin-top: 1.3rem;
text-align: center; text-align: center;
position: absolute;
top: 6.5rem;
width: 100%;
z-index: 3;
} }
.center .cbuttom span { .center .cbuttom span {
@ -1078,30 +1211,30 @@ export default {
.rightbox .pcgrliu .pcg_title { .rightbox .pcgrliu .pcg_title {
display: block; display: block;
height: 0.76rem; height: 0.76rem;
line-height: 0.48rem; line-height: 0.55rem;
background: url('../../assets/wh/r_t_bg_1.png') no-repeat; background: url('../../assets/wh/r_t_bg_1.png') no-repeat;
background-size: 100% 100%; background-size: 100% 100%;
background-position: 0 center; background-position: 0 center;
padding-left: 0.68rem; padding-left: 0.68rem;
color: #fff; color: #fff;
font-size: 16px; font-size: 0.31rem;
} }
.rightbox .tsgrliu { .rightbox .tsgrliu {
margin-top: 0.45rem; margin-top: 1.15rem;
height: 26vh; height: 26vh;
} }
.rightbox .tsgrliu .tsg_title { .rightbox .tsgrliu .tsg_title {
display: block; display: block;
height: 0.76rem; height: 0.76rem;
line-height: 0.48rem; line-height: 0.55rem;
background: url('../../assets/wh/r_t_bg_2.png') no-repeat; background: url('../../assets/wh/r_t_bg_2.png') no-repeat;
background-size: 100% 100%; background-size: 100% 100%;
background-position: 0 center; background-position: 0 center;
padding-left: 0.68rem; padding-left: 0.68rem;
color: #fff; color: #fff;
font-size: 16px; font-size: 0.31rem;
} }
@ -1117,6 +1250,7 @@ export default {
overflow: visible !important; overflow: visible !important;
margin: 0px 0.57rem 0px 0.57rem !important; margin: 0px 0.57rem 0px 0.57rem !important;
box-sizing: border-box !important; box-sizing: border-box !important;
transform-origin: center top !important;
} }
} }
#cultrue{ #cultrue{

367
src/views/index.vue

@ -2,7 +2,7 @@
<v-scale-screen width="1920" height="1080"> <v-scale-screen width="1920" height="1080">
<div id="index"> <div id="index">
<!-- 左边 --> <!-- 左边 -->
<div class="leftbox"> <div class="indexleftbox">
<!-- 客流 --> <!-- 客流 -->
<div class="keliu"> <div class="keliu">
<span class="kliu_title">总服务人次趋势</span> <span class="kliu_title">总服务人次趋势</span>
@ -39,6 +39,8 @@
<span class="cgimg"><img src="../assets/index/yyg_icon.png" /></span> <span class="cgimg"><img src="../assets/index/yyg_icon.png" /></span>
</div> </div>
</div> </div>
<!-- 中间环形饼图 -->
<div id="indexPie1"></div>
<!-- 右边流量预警 --> <!-- 右边流量预警 -->
<div class="cgflow_rightbox"> <div class="cgflow_rightbox">
<!-- 图书馆 --> <!-- 图书馆 -->
@ -100,7 +102,7 @@
<!-- 各场馆实时人数 cg1 --> <!-- 各场馆实时人数 cg1 -->
<!-- v-for="(item, index) in 6" :key="index" --> <!-- v-for="(item, index) in 6" :key="index" -->
<div class="rbitem" v-for="item in ssjgNumDatas" :key="item.groupId"> <div class="rbitem" v-for="item in ssjgNumDatas" :key="item.groupId">
<span class="rbcgname">{{ item.groupName }}</span> <span class="rbcgname">{{ item.groupName||'\\' }}</span>
<span class="rbtitle">当前人数</span> <span class="rbtitle">当前人数</span>
<!-- <span class="rbval">4,738</span> --> <!-- <span class="rbval">4,738</span> -->
<span class="rbval">{{ item.allEnter }}</span> <span class="rbval">{{ item.allEnter }}</span>
@ -114,34 +116,6 @@
<span class="rbtitle">当前人数</span> <span class="rbtitle">当前人数</span>
<span class="rbval">4,738</span> <span class="rbval">4,738</span>
<span class="rbrate">50%</span> <span class="rbrate">50%</span>
</div>
<div class="rbitem">
<span class="rbcgname">体育馆</span>
<span class="rbtitle">当前人数</span>
<span class="rbval">4,738</span>
<span class="rbrate">80%</span>
</div>
<div class="rbitem">
<span class="rbcgname">文化馆</span>
<span class="rbtitle">当前人数</span>
<span class="rbval">4,738</span>
<span class="rbrate">25%</span>
</div>
<div class="rbitem">
<span class="rbcgname">游泳场馆</span>
<span class="rbtitle">当前人数</span>
<span class="rbval">4,738</span>
<span class="rbrate">90%</span>
</div>
<div class="rbitem">
<span class="rbcgname">博物馆</span>
<span class="rbtitle">当前人数</span>
<span class="rbval">4,738</span>
<span class="rbrate">75%</span>
</div> --> </div> -->
</div> </div>
@ -172,9 +146,12 @@ export default {
year_num: 0, year_num: 0,
klqsXDatas: [], klqsXDatas: [],
klqsDatas: [], klqsDatas: [],
dataP: [],//
ssjgNumDatas: [], ssjgNumDatas: [],
rsqsXData: [],
rsqsDatas: [], rsqsDatas: [],
rsqs_datas: {}, rsqs_datas: {},
rsqsDataName: [],
rsqsData_z: [], rsqsData_z: [],
proportionData: [], proportionData: [],
proportionData_z: [], proportionData_z: [],
@ -197,10 +174,12 @@ export default {
this.getStat(); this.getStat();
this.getHomeBarData(); this.getHomeBarData();
this.getInfoDatas(); this.getInfoDatas();
this.getGcgNumDatas() this.getGcgNumDatas();
setTimeout(() => { setTimeout(() => {
this.home_bar(); this.home_bar();
this.line_zone(); this.line_zone();
this.index_pie1();
}, 300) }, 300)
// 线 // 线
@ -292,7 +271,7 @@ export default {
this.btgetdata3() this.btgetdata3()
}, },
// // --
home_bar() { home_bar() {
let that = this; let that = this;
var chartDom = document.getElementById("homebar"); var chartDom = document.getElementById("homebar");
@ -488,7 +467,7 @@ export default {
}; };
option && myChart.setOption(option); option && myChart.setOption(option);
function run() { function run(myChart) {
that.getHomeBarData(); that.getHomeBarData();
console.log('重新绘制'); console.log('重新绘制');
that.klqsDatas = that.klqsDatas.sort(function(a,b){ that.klqsDatas = that.klqsDatas.sort(function(a,b){
@ -534,17 +513,18 @@ export default {
}); });
} }
setInterval(function () { setInterval(function () {
run(); myChart.clear();
option && myChart.setOption(option);
run(myChart);
}, 3000); }, 3000);
}, },
// //
line_zone() { line_zone() {
var chartDom = document.getElementById("kl-line"); var chartDom = document.getElementById("kl-line");
var myChart = echarts.init(chartDom);
var option; var option;
var xData = ['09:00', '10:00', '11:00', '12:00', '13:00', '14:00', '15:00', '16:00', '17:00', '18:00', '20:00', '21:00']; var xData = this.rsqsXData;
var color = ['#FF99CC', '#6666FF', '#FF6600', '#7049f0', '#fa704d', '#01babc',] var color = ['#FF99CC', '#6666FF', '#FF6600', '#7049f0', '#fa704d', '#01babc',]
var name = [] var name = []
// var data = [ // var data = [
@ -557,9 +537,9 @@ export default {
var data = this.rsqsData_z var data = this.rsqsData_z
var series = []; var series = [];
for (var i = 0; i < 6; i++) { for (var i = 0; i < data.length; i++) {
series.push({ series.push({
name: name[i], name: this.rsqsDataName[i],
type: "line", type: "line",
symbolSize: 3,// 10 [20, 10] 2010[ default: 4 ] symbolSize: 3,// 10 [20, 10] 2010[ default: 4 ]
symbol: 'circle',//ECharts 'circle', 'rect', 'roundRect', 'triangle', 'diamond', 'pin', 'arrow' symbol: 'circle',//ECharts 'circle', 'rect', 'roundRect', 'triangle', 'diamond', 'pin', 'arrow'
@ -705,8 +685,21 @@ export default {
}, },
series: series, series: series,
} }
function run(myChart){
// -
myChart.setOption({
series: series
});
}
setTimeout(()=>{
var myChart = echarts.init(chartDom);
option && myChart.setOption(option); option && myChart.setOption(option);
setInterval(function () {
myChart.clear();
option && myChart.setOption(option);
run(myChart);
}, 3000);
}, 200)
}, },
addNumber(start, end, id) { addNumber(start, end, id) {
@ -754,13 +747,19 @@ export default {
}); });
that.klqsDatas = datas that.klqsDatas = datas
that.klqsXDatas = dkeys that.klqsXDatas = dkeys;
// groupsData.forEach((item) => { that.proportionData = [];that.groupNameData=[];that.dataP=[];
// that.proportionData.push(item.proportion) groupsData.forEach((item) => {
// that.groupNameData.push(item.groupName) that.proportionData.push(item.proportion)
// }) that.groupNameData.push(item.groupName);
that.dataP.push({
name:item.groupName,
value:item.proportion.split('%')[0]
})
})
console.log(groupsData, 'groupsData', that.dataP);
}); });
}, },
@ -769,10 +768,10 @@ export default {
getInfoDatas() { getInfoDatas() {
let that = this let that = this
homeApi.allInfoDatas().then(res => { homeApi.allInfoDatas().then(res => {
return;//Cannot read properties of undefined (reading 'returnData') // return;//Cannot read properties of undefined (reading 'returnData')
that.ssjgNumDatas = res.data.returnData that.ssjgNumDatas = res.data.returnData
console.log(that.ssjgNumDatas, 'that.ssjgNumDatas')
ssjgNumDatas.forEach(item => { that.ssjgNumDatas.forEach(item => {
let proportion = parseInt(item.proportion) let proportion = parseInt(item.proportion)
if (proportion >= 80 && proportion <= 90) { if (proportion >= 80 && proportion <= 90) {
this.$refs.proportionbox.addClass('rbrate2') this.$refs.proportionbox.addClass('rbrate2')
@ -792,19 +791,174 @@ export default {
homeApi.allGcgNumDatas().then(res => { homeApi.allGcgNumDatas().then(res => {
const tmpdata = res.data.data const tmpdata = res.data.data
tmpdata.forEach((item) => { tmpdata.forEach((item) => {
this.rsqsDataName.push(item.groupName);
that.rsqsDatas.push(item.list) that.rsqsDatas.push(item.list)
}) })
this.rsqsXData = res.data.data[0].list.dkeys;
this.rsqsDatas.forEach((item) => { this.rsqsDatas.forEach((item) => {
let rsqsData = [] let rsqsData = []
Object.values(item).forEach((value) => { Object.getOwnPropertyNames(item).forEach((value) => {
rsqsData.push(value)
if(value=='dkeys'){
}
if(value=='dvalue'){
// console.log(item, value, '-----')
// rsqsData.push(item[value])
rsqsData = item[value];
}
}); });
that.rsqsData_z.push(rsqsData) that.rsqsData_z.push(rsqsData)
}) })
// console.log(this.rsqsData_z, 'rsqsData_z')
});
},
index_pie1(){
let that = this;
// var dataP = [
// {name: '',value: 5,},
// {name: '',value: 20,},
// {name: '',value: 13,},
// {name: '',value: 12,},
// {name: '',value: 25,},
// {name: '',value: 12,},
// // {name: '',value: 13,}
// ];
var dataP = that.dataP;
function hexToRgba(hex, opacity) {
return (
'rgba(' +
parseInt('0x' + hex.slice(1, 3)) +
',' +
parseInt('0x' + hex.slice(3, 5)) +
',' +
parseInt('0x' + hex.slice(5, 7)) +
',' +
opacity +
')'
);
}
let color = ['#00d2ff', '#22e5d1', '#f4d64e', '#0072ff','#00d2ff', '#22e5d1', '#f4d64e', '#0072ff'];
let color1=[], color2=[], color3=[];
//
color.forEach((item) => {
color1.push(item, 'transparent');
color2.push(hexToRgba(item, 0.4), 'transparent');
color3.push(hexToRgba(item, 0.7), 'transparent');
});
let data1 = [];
let sum = 0;
//
dataP.forEach((item) => {
sum += Number(item.value);
});
//
dataP.forEach((item, index) => {
if (item.value !== 0) {
data1.push(item, {
name: '',
value: sum / 70,
labelLine: {
show: false,
lineStyle: {
color: 'transparent',
},
},
itemStyle: {
color: 'transparent',
},
});
}
});
var option = {
tooltip: {
formatter: (params) => {
if (params.name !== '') {
return params.name + ' : ' + params.value + '\n' + '%';
}
},
},
grid: {
top: 0,
bottom: 0,
left: 0,
right: 0,
containLabel: true,
},
series: [
{
type: 'pie',
radius: ['90%', '80%'],
center: ['50%', '50%'],
hoverAnimation: false,
startAngle: 90,
selectedMode: 'single',
selectedOffset: 0,
itemStyle: {
normal: {
color: (params) => {
// console.log('params', params)
return color2[params.dataIndex];
},
},
},
label: {
show: false,
formatter: '{b}' + ' ' + '{c}',
},
data: data1,
z: 666,
},
{
type: 'pie',
radius: ['90%', '100%'],
center: ['50%', '50%'],
hoverAnimation: false,
startAngle: 90,
selectedMode: 'single',
selectedOffset: 0,
itemStyle: {
normal: {
color: (params) => {
return color3[params.dataIndex];
},
},
},
label: {
show: false,
formatter: '{b}' + ' ' + '{c}',
},
data: data1,
z: 666,
},
],
}
function run(myChart){
// -
myChart.setOption({
series: [{
data: data1,
},
{
data: data1,
}
]
}); });
} }
// 使
setTimeout(()=>{
var pieDom1 = document.getElementById("indexPie1");
var myChart = echarts.init(pieDom1);
option && myChart.setOption(option);
setInterval(function () {
myChart.clear();
option && myChart.setOption(option);
run(myChart);
}, 3000);
}, 200)
},
}, },
}; };
</script> </script>
@ -828,7 +982,7 @@ export default {
float: left; float: left;
} }
.leftbox { .indexleftbox {
width: 7.48rem; width: 7.48rem;
float: left; float: left;
display: flex; display: flex;
@ -837,33 +991,33 @@ export default {
margin-top: calc(-1.04rem + 0.16rem); margin-top: calc(-1.04rem + 0.16rem);
} }
.leftbox .keliu { .indexleftbox .keliu {
background-image: url("../assets/index/left_t1_bg.png"); background-image: url("../assets/index/left_t1_bg.png");
background-size: 100% 100%; background-size: 100% 100%;
background-repeat: no-repeat; background-repeat: no-repeat;
background-position: 0 0; background-position: 0 0;
width: 100%; width: 100%;
height: 7vh; height: 7vh;
color: #b5b7c5; color: #FFF;
} }
/* 客流趋势 */ /* 客流趋势 */
.leftbox .kliu_title { .indexleftbox .kliu_title {
line-height: 0.88rem; line-height: 0.58rem;
font-size: 20px; font-size: 0.31rem;
padding-left: 2rem; padding-left: 2rem;
display: block; display: block;
float: left; float: left;
} }
.leftbox .kliu_st { .indexleftbox .kliu_st {
float: right; float: right;
line-height: 0.88rem; line-height: 0.88rem;
font-size: 0.26rem; font-size: 0.26rem;
padding-top: 0.18rem; padding-top: 0.18rem;
} }
.leftbox .kliu_st span { .indexleftbox .kliu_st span {
display: block; display: block;
background: url("../assets/index/sel_zone_bg.png") no-repeat 0 0; background: url("../assets/index/sel_zone_bg.png") no-repeat 0 0;
background-position: 0 0; background-position: 0 0;
@ -877,19 +1031,19 @@ export default {
cursor: pointer; cursor: pointer;
} }
.leftbox .kliu_st .spactive { .indexleftbox .kliu_st .spactive {
background-image: url("../assets/index/sel_zone_active_bg.png"); background-image: url("../assets/index/sel_zone_active_bg.png");
} }
/* 统计图 */ /* 统计图 */
.leftbox .tongjitu { .indexleftbox .tongjitu {
margin-top: 0.2rem; margin-top: 0.2rem;
width: 7.03rem; width: 7.03rem;
height: 2.3rem; height: 2.3rem;
} }
/* 场馆流量预警 */ /* 场馆流量预警 */
.leftbox .cgflow { .indexleftbox .cgflow {
margin-top: 0.3rem; margin-top: 0.3rem;
background-image: url("../assets/index/left_t3_bg.png"); background-image: url("../assets/index/left_t3_bg.png");
background-size: 100% 100%; background-size: 100% 100%;
@ -903,34 +1057,31 @@ export default {
} }
/* 场馆左侧 */ /* 场馆左侧 */
.leftbox .cgflow_leftbox { .indexleftbox .cgflow_leftbox {
/* padding:66px 0 0 6%; width: 2rem;
float: left; */
/* width: 30%; */
margin-left: 10px;
} }
.leftbox .cgflow_rightbox { .indexleftbox .cgflow_rightbox {
/* width: 30%; */ width: 2rem;
text-align: right; text-align: right;
} }
.leftbox .cgflow .cgfitem { .indexleftbox .cgflow .cgfitem {
width: 100%; width: 100%;
height: 0.46rem; height: 0.46rem;
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
} }
.leftbox .cgflow .cgflow_leftbox .cgfitem:nth-child(3) .cgtitle { .indexleftbox .cgflow .cgflow_leftbox .cgfitem:nth-child(3) .cgtitle {
margin-right: 5px; margin-right: 5px;
} }
.leftbox .cgflow .cgflow_leftbox .cgfitem:nth-child(3) .cgval { .indexleftbox .cgflow .cgflow_leftbox .cgfitem:nth-child(3) .cgval {
margin-right: 10px; margin-right: 10px;
} }
.leftbox .cgflow .cgfitem span { .indexleftbox .cgflow .cgfitem span {
/* display: block; /* display: block;
margin-left: 12px; margin-left: 12px;
float: left; float: left;
@ -940,18 +1091,18 @@ export default {
} }
.leftbox .cgflow .cgfitem .cgtitle { .indexleftbox .cgflow .cgfitem .cgtitle {
color: #0096ff; color: #0096ff;
font-size: 16px; font-size: 16px;
} }
.leftbox .cgflow .cgfitem .cgval { .indexleftbox .cgflow .cgfitem .cgval {
color: white; color: white;
font-weight: 700; font-weight: 700;
font-size: 18px; font-size: 18px;
} }
.leftbox .cgflow .cgfitem .cgimg img { .indexleftbox .cgflow .cgfitem .cgimg img {
width: 26px; width: 26px;
height: 26px; height: 26px;
overflow: hidden; overflow: hidden;
@ -960,27 +1111,30 @@ export default {
} }
/* 场馆左侧 */ /* 场馆左侧 */
.leftbox .cgflow .leftbox .cgflow_rightbox { .indexleftbox .cgflow .indexleftbox .cgflow_rightbox {
padding: 66px 0 0 12%; padding: 66px 0 0 12%;
float: right; float: right;
width: 30%; width: 30%;
margin-left: 4%; margin-left: 4%;
} }
#indexPie1{
width: 2.32rem;
height: 2.32rem;
}
/* 各场馆人流趋势 */ /* 各场馆人流趋势 */
.leftbox .gcgqs { .indexleftbox .gcgqs {
// float: left; // float: left;
width: 100%; width: 100%;
height: 30vh; height: 30vh;
} }
.leftbox .gcgqs .gcg_title { .indexleftbox .gcgqs .gcg_title {
background-image: url('../assets/index/left_t2_bg.png'); background-image: url('../assets/index/left_t2_bg.png');
background-repeat: no-repeat; background-repeat: no-repeat;
background-size: 100% 100%; background-size: 100% 100%;
height: 0.99rem; height: 0.99rem;
font-size: 20px; font-size: 0.31rem;
line-height: 0.88rem; line-height: 0.78rem;
padding-left: 2rem; padding-left: 2rem;
color: #fff; color: #fff;
} }
@ -1019,14 +1173,14 @@ export default {
right: 1.03rem; right: 1.03rem;
} }
.centerbox .jgval { .centerbox .jgval {
font-size: 0.3rem; font-size: 0.34rem;
display: block; display: block;
line-height: 0.28rem; line-height: 0.28rem;
margin-bottom: 0.18rem; margin-bottom: 0.18rem;
} }
.centerbox .jgdesc { .centerbox .jgdesc {
font-size: 0.18rem; font-size: 0.2rem;
} }
@keyframes tygpicmove { @keyframes tygpicmove {
@ -1100,9 +1254,9 @@ export default {
background-size: 100%; background-size: 100%;
background-repeat: no-repeat; background-repeat: no-repeat;
height: 0.97rem; height: 0.97rem;
line-height: 0.86rem; line-height: 0.76rem;
font-weight: 600; font-weight: 600;
font-size: 20px; font-size: 0.31rem;
text-align: right; text-align: right;
padding-right: 2.1rem; padding-right: 2.1rem;
color: #b5b7c5; color: #b5b7c5;
@ -1110,20 +1264,22 @@ export default {
.rbox .rbox_con { .rbox .rbox_con {
width: 100%; width: 100%;
margin-top: 12px; margin-top: 0.36rem;
display: flex;
flex-wrap: wrap;
} }
.rbox .rbox_con .rbitem { .rbox .rbox_con .rbitem {
background-image: url('../assets/index/rb_data_bg.png'); background-image: url('../assets/index/rb_data_bg.png');
background-repeat: no-repeat; background-repeat: no-repeat;
background-size: 100% 100%; background-size: 100% 100%;
height: 2.4rem; height: 3rem;
width: 46%; width: 3.51rem;
margin-left: 0.28rem; margin-right: 0.08rem;
float: left; margin-bottom: 0.23rem;
margin-top: 0.46rem;
padding-top: 0.2rem; padding-top: 0.2rem;
position: relative; position: relative;
box-sizing: border-box;
} }
.rbox .rbox_con .rbitem span { .rbox .rbox_con .rbitem span {
@ -1131,44 +1287,44 @@ export default {
} }
.rbox .rbox_con .rbitem .rbcgname { .rbox .rbox_con .rbitem .rbcgname {
margin-top: 0.28rem; margin-top: 0.37rem;
color: #0096ff; color: #0096ff;
text-align: right; text-align: right;
padding-right: 0.28rem; padding-right: 0.28rem;
font-size: 0.21rem;
} }
.rbox .rbox_con .rbitem .rbtitle { .rbox .rbox_con .rbitem .rbtitle {
text-align: left; text-align: left;
padding-left: 0.66rem; padding-left: 0.66rem;
padding-top: 0.17rem; padding-top: 0.1rem;
font-size: 0.24rem;
} }
.rbox .rbox_con .rbitem .rbval { .rbox .rbox_con .rbitem .rbval {
font-size: 25px; font-size: 0.38rem;
font-weight: 600; font-weight: 600;
width: 60%; width: 60%;
height: 118px; height: 118px;
text-align: center; padding-left: 0.4rem;
/* line-height: 118px; */ line-height: 1.9rem;
line-height: 160px;
} }
.rbox .rbox_con .rbitem .rbrate { .rbox .rbox_con .rbitem .rbrate {
width: 32%; width: 0.92rem;
/* float: left; */ /* float: left; */
height: 82px; height: 0.92rem;
text-align: center; text-align: center;
line-height: 82px; line-height: 0.9rem;
position: absolute; position: absolute;
bottom: 8px; bottom: 0.25rem;
right: 15px; right: 0.29rem;
color: #00D8FF; color: #00D8FF;
background-image: url(../assets/index/安静.png); background-image: url(../assets/index/安静.png);
background-size: 100% 100%; background-size: 100% 100%;
background-position: 100% 100%; background-position: 100% 100%;
background-repeat: no-repeat; background-repeat: no-repeat;
font-size: 0.19rem;
} }
.rbox .rbox_con .rbitem .rbrate2 { .rbox .rbox_con .rbitem .rbrate2 {
@ -1204,6 +1360,7 @@ export default {
// margin: 0px 0.29rem 0px 0.15rem !important; // margin: 0px 0.29rem 0px 0.15rem !important;
margin: 0px !important; margin: 0px !important;
box-sizing: border-box !important; box-sizing: border-box !important;
transform-origin: center top !important;
} }
#index{ #index{
// transform: scale(1.25); // transform: scale(1.25);

79
src/views/ty/index.vue

@ -5,7 +5,7 @@
<div class="main"> <div class="main">
<div class="left"> <div class="left">
<div class="tiyuBla"> <div class="tiyuBla">
<div style="position: absolute; right: 2.82rem; top: 1.66rem">体育</div> <div style="position: absolute; right: 2.82rem; top: 1.66rem;font-weight: bold;">体育</div>
<div style="position: absolute; right: 1.2rem; top: 2.02rem;font-size: 0.3rem; <div style="position: absolute; right: 1.2rem; top: 2.02rem;font-size: 0.3rem;
background-image:-webkit-linear-gradient(bottom,rgba(0,0,0,0.2),rgba(255,255,255,0.2)); background-image:-webkit-linear-gradient(bottom,rgba(0,0,0,0.2),rgba(255,255,255,0.2));
-webkit-background-clip:text; -webkit-background-clip:text;
@ -60,7 +60,7 @@
<div class="center"> <div class="center">
<div class="c_title">24小时进馆人数</div> <div class="c_title">24小时进馆人数</div>
<div class="c_l"></div> <div class="c_l" id="animationA"></div>
<div class="c_r"> <div class="c_r">
<span class="c_r_num">21312</span> <span class="c_r_num">21312</span>
<span class="c_r_txt">体育场</span> <span class="c_r_txt">体育场</span>
@ -102,7 +102,7 @@
<div class="venue_proportion_top" style="cursor: pointer;" @click="istygShowfn"> <div class="venue_proportion_top" style="cursor: pointer;" @click="istygShowfn">
<span class="venue_proportion_box_num" style="position: relative;cursor: pointer;"> <span class="venue_proportion_box_num" style="position: relative;cursor: pointer;">
<div id="pieChart1" style="height: 1.55rem;width: 1.55rem;margin: 0px auto;"></div> <div id="pieChart1" style="height: 1.55rem;width: 1.55rem;margin: 0px auto;"></div>
<div class="" style="position: absolute;top: 0;width: 100%;line-height: 1.55rem;">25%</div> <div class="" style="position: absolute;top: 0;width: 100%;line-height: 1.55rem;font-size: 0.22rem;">25%</div>
<!-- <div v-show="istygShow == true" style="cursor: pointer;overflow-y: hidden;padding: 0.5rem;" <!-- <div v-show="istygShow == true" style="cursor: pointer;overflow-y: hidden;padding: 0.5rem;"
@click="istygShowfn"> @click="istygShowfn">
</div> --> </div> -->
@ -235,7 +235,9 @@ export default {
this.$nextTick( ()=>{ this.$nextTick( ()=>{
setTimeout(() => {
this.ty_bar1() this.ty_bar1()
}, 200);
// this.ty_bar2() // this.ty_bar2()
this.ty_bar3() this.ty_bar3()
this.ty_pie1() this.ty_pie1()
@ -305,6 +307,7 @@ export default {
}) })
var option = { var option = {
animation: true,
tooltip: { tooltip: {
trigger: 'axis', trigger: 'axis',
axisPointer: { axisPointer: {
@ -321,7 +324,7 @@ export default {
}, },
xAxis: [{ xAxis: [{
// data: that.daData.dkeys, // data: that.daData.dkeys,
data: xData, data: that.daData.dkeys,
axisLine: { axisLine: {
lineStyle: { lineStyle: {
color: '#0095FF', color: '#0095FF',
@ -426,9 +429,9 @@ export default {
function run(myChart){ function run(myChart){
that.getStat(); that.getStat();
// console.log('', that.daData.dkeys, that.data24h, data24h); // console.log('', that.daData.dkeys, that.data24h, data24h);
data24h = data24h.sort(function(a,b){ // data24h = data24h.sort(function(a,b){
return Math.random() - 0.5; // return Math.random() - 0.5;
}); // });
let max=data24h[0]; let max=data24h[0];
for (let i = 0; i < data24h.length; i++) { for (let i = 0; i < data24h.length; i++) {
if (data24h[i]>max) { if (data24h[i]>max) {
@ -441,6 +444,7 @@ export default {
dataBGArr.push(max);// dataBGArr.push(max);//
}) })
myChart.setOption({ myChart.setOption({
animation: true,
xAxis: { xAxis: {
data: that.daData.dkeys data: that.daData.dkeys
}, },
@ -460,11 +464,13 @@ export default {
] ]
}); });
} }
// 使 // 使2
setTimeout(()=>{ setTimeout(()=>{
var myChart = echarts.init(this.$refs.dinschart); var myChart = echarts.init(this.$refs.dinschart);
option && myChart.setOption(option); option && myChart.setOption(option);
setInterval(function () { setInterval(function () {
myChart.clear();
option && myChart.setOption(option);
run(myChart); run(myChart);
}, 3000); }, 3000);
}, 200) }, 200)
@ -828,10 +834,20 @@ export default {
}, },
series: series, series: series,
} }
function run(myChart){
// -
myChart.setOption({
series: series
});
}
setTimeout(()=>{ setTimeout(()=>{
var myChart = echarts.init(chartDom); var myChart = echarts.init(chartDom);
option && myChart.setOption(option); option && myChart.setOption(option);
setInterval(function () {
myChart.clear();
option && myChart.setOption(option);
run(myChart);
}, 3000);
}, 200) }, 200)
}, },
ty_pie1(){ ty_pie1(){
@ -957,7 +973,7 @@ export default {
} }
function run(myChart){ function run(myChart){
that.getStat(); // that.getStat();
// console.log('', that.daData.dkeys, that.data24h, data24h); // console.log('', that.daData.dkeys, that.data24h, data24h);
data24h = data24h.sort(function(a,b){ data24h = data24h.sort(function(a,b){
return Math.random() - 0.5; return Math.random() - 0.5;
@ -1653,7 +1669,6 @@ export default {
background-size: 100% 100%; background-size: 100% 100%;
color: white; color: white;
font-size: 0.56rem; font-size: 0.56rem;
font-weight: bold;
position: relative; position: relative;
margin-left: -0.4rem; margin-left: -0.4rem;
@ -1680,7 +1695,7 @@ export default {
.institle { .institle {
color: #00c6ff; color: #00c6ff;
padding-left: 0.9rem; padding-left: 0.45rem;
line-height: 0.38rem; line-height: 0.38rem;
height: 0.38rem; height: 0.38rem;
display: block; display: block;
@ -1745,12 +1760,12 @@ export default {
height: 0.76rem; height: 0.76rem;
line-height: 0.58rem; line-height: 0.58rem;
color: #fff; color: #fff;
font-size: 0.2rem; font-size: 0.31rem;
background-image: url('../../assets/ty/l_t_bg.png'); background-image: url('../../assets/ty/l_t_bg.png');
background-size: 100% 100%; background-size: 100% 100%;
background-position: 0 0; background-position: 0 0;
background-repeat: no-repeat; background-repeat: no-repeat;
padding-left: 0.96rem; padding-left: 0.66rem;
} }
.dins_chart{ .dins_chart{
margin-top: 0.2rem; margin-top: 0.2rem;
@ -1864,6 +1879,7 @@ export default {
background-size: 100% 100%; background-size: 100% 100%;
background-repeat: no-repeat; background-repeat: no-repeat;
margin: 1rem 0.15rem auto 0.49rem; margin: 1rem 0.15rem auto 0.49rem;
animation: animationA 2s ease-out infinite;
} }
.c_r{ .c_r{
width: 2.46rem; width: 2.46rem;
@ -1984,13 +2000,13 @@ export default {
.pcg_title { .pcg_title {
display: block; display: block;
height: 0.76rem; height: 0.76rem;
line-height: 0.58rem; line-height: 0.55rem;
background: url('../../assets/ty/r_t_bg_1.png') no-repeat; background: url('../../assets/ty/r_t_bg_1.png') no-repeat;
background-size: 100% 100%; background-size: 100% 100%;
background-position: 0 center; background-position: 0 center;
padding-left: 0.98rem; padding-left: 0.68rem;
color: #fff; color: #fff;
font-size: 16px; font-size: 0.31rem;
// display: flex; // display: flex;
// align-items: center; // align-items: center;
// justify-content: space-between; // justify-content: space-between;
@ -2022,13 +2038,13 @@ export default {
.pcg_title2 { .pcg_title2 {
display: block; display: block;
height: 0.76rem; height: 0.76rem;
line-height: 0.58rem; line-height: 0.55rem;
background: url('../../assets/ty/r_t_bg_2.png') no-repeat; background: url('../../assets/ty/r_t_bg_2.png') no-repeat;
background-size: 100% 100%; background-size: 100% 100%;
background-position: 0 center; background-position: 0 center;
padding-left: 0.98rem; padding-left: 0.68rem;
color: #fff; color: #fff;
font-size: 16px; font-size: 0.31rem;
margin-top: 0.19rem; margin-top: 0.19rem;
} }
} }
@ -2046,6 +2062,28 @@ export default {
} }
} }
@keyframes animationA {
0%{
transform: translateY(-10px);
opacity: 0.6;
}
25%{
transform: translateY(0px);
opacity: 1;
}
50%{
transform: translateY(10px);
opacity: 0.6;
}
75%{
transform: translateY(0px);
opacity: 1;
}
100%{
transform: translateY(-10px);
opacity: 0.6;
}
}
.screen-box{ .screen-box{
overflow: visible !important; overflow: visible !important;
/deep/ .screen-wrapper{ /deep/ .screen-wrapper{
@ -2054,6 +2092,7 @@ export default {
overflow: visible !important; overflow: visible !important;
margin: 0px 0.57rem 0px 0.57rem !important; margin: 0px 0.57rem 0px 0.57rem !important;
box-sizing: border-box !important; box-sizing: border-box !important;
transform-origin: center top !important;
} }
} }
#ty{ #ty{

Loading…
Cancel
Save