|
Before Width: | Height: | Size: 792 B After Width: | Height: | Size: 792 B |
|
Before Width: | Height: | Size: 80 KiB After Width: | Height: | Size: 80 KiB |
|
Before Width: | Height: | Size: 220 B After Width: | Height: | Size: 220 B |
|
Before Width: | Height: | Size: 116 B After Width: | Height: | Size: 116 B |
|
Before Width: | Height: | Size: 792 B After Width: | Height: | Size: 792 B |
|
Before Width: | Height: | Size: 790 B After Width: | Height: | Size: 790 B |
|
Before Width: | Height: | Size: 822 B After Width: | Height: | Size: 822 B |
|
Before Width: | Height: | Size: 789 B After Width: | Height: | Size: 789 B |
|
Before Width: | Height: | Size: 794 B After Width: | Height: | Size: 794 B |
@ -1,79 +1,385 @@ |
|||
<template> |
|||
<div id="index"> |
|||
<!-- 左边 --> |
|||
<div class="leftbox"> |
|||
<!-- 客流 --> |
|||
<div class="keliu"> |
|||
<span class="kliu_title">客流趋势</span> |
|||
<div class="kliu_st"> |
|||
<span class="">年</span> |
|||
<span class="">月</span> |
|||
<span class="">日</span> |
|||
</div> |
|||
<!-- 柱状图 --> |
|||
<div class="tongjitu" id="homebar" style="height: 230px; width: 100%"></div> |
|||
|
|||
<div id="index"> |
|||
<!-- 左边 --> |
|||
<div class="leftbox"> |
|||
<!-- 客流 --> |
|||
<div class="keliu"> |
|||
<span class="kliu_title">客流趋势</span> |
|||
<div class="kliu_st"> |
|||
<span id="yitem" :class="klselt == 'y' ? 'spactive' : ''" @click="selitem('y')" >年</span> |
|||
<span id="mitem" :class="klselt == 'm' ? 'spactive' : ''" @click="selitem('m')" >月</span> |
|||
<span id="ditem" :class="klselt == 'd' ? 'spactive' : ''" @click="selitem('d')" >日</span> |
|||
</div> |
|||
<!-- 柱状图 --> |
|||
<div class="tongjitu" id="homebar" style="height: 200px; width: 100%"> |
|||
<!-- 柱图,注意样式 --> |
|||
</div> |
|||
<!-- 几大场馆预警图 --> |
|||
<div class="cgflow"> |
|||
<!-- 左边的流量预警 --> |
|||
<div class="cgflow_leftbox"> |
|||
<!-- 体育场的流量预警 --> |
|||
<div class="cgfitem"> |
|||
<span class="cgtitle">体育场</span> |
|||
<span class="cgval">20%</span> |
|||
<span class="cgimg"><img src="../assets/index/tyc_icon.png" /></span> |
|||
</div> |
|||
|
|||
<!-- 体育馆 --> |
|||
<div class="cgfitem"> |
|||
<span class="cgtitle">体育馆</span> |
|||
<span class="cgval">20%</span> |
|||
<span class="cgimg"><img src="../assets/index/tyg_icon.png" /></span> |
|||
</div> |
|||
<!-- 游泳馆 --> |
|||
<div class="cgfitem"> |
|||
<span class="cgtitle">游泳场</span> |
|||
<span class="cgval">20%</span> |
|||
<span class="cgimg"><img src="../assets/index/yyg_icon.png" /></span> |
|||
</div> |
|||
</div> |
|||
<!-- 右边流量预警 --> |
|||
<div class="cgflow_rightbox"> |
|||
<!-- 图书馆 --> |
|||
<div class="cgfitem"> |
|||
<span class="cgimg"><img src="../assets/index/tsg_icon.png" /></span> |
|||
<span class="cgval">20%</span> |
|||
<span class="cgtitle">图书馆</span> |
|||
</div> |
|||
<!-- 文化馆 --> |
|||
<div class="cgfitem"> |
|||
<span class="cgimg"><img src="../assets/index/whg_icon.png" /></span> |
|||
<span class="cgval">20%</span> |
|||
<span class="cgtitle">文化馆</span> |
|||
</div> |
|||
<!-- 博物馆 --> |
|||
<div class="cgfitem"> |
|||
<span class="cgimg"><img src="../assets/index/bwg_icon.png" /></span> |
|||
<span class="cgval">20%</span> |
|||
<span class="cgtitle">博物馆</span> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<!-- 中间 --> |
|||
<!-- 右边 --> |
|||
|
|||
|
|||
|
|||
</div> |
|||
</div> |
|||
<!-- 中间 --> |
|||
<div class="centerbox"></div> |
|||
<!-- 右边 --> |
|||
<div class="rightbox"></div> |
|||
</div> |
|||
</template> |
|||
<script> |
|||
// 引入echarts |
|||
import * as echarts from "echarts"; |
|||
|
|||
export default { |
|||
data() { |
|||
return { |
|||
// 年月日选中的样式,默认日 |
|||
klselt: "d", |
|||
}; |
|||
}, |
|||
//创建的时候修改背景图片 |
|||
created() { |
|||
let cc = window.document.getElementById("dv-full-screen-container"); |
|||
// 清除其他多余的classname |
|||
let len = cc.classList.length; |
|||
|
|||
data() { |
|||
return { |
|||
// |
|||
} |
|||
}, |
|||
mounted() { |
|||
let cc = window.document.getElementById("dv-full-screen-container") |
|||
// 清除其他多余的classname |
|||
let len = cc.classList.length |
|||
|
|||
if (len > 1) { |
|||
cc.className = "btgym page_bg" |
|||
} |
|||
console.log("index vue:" + len) |
|||
console.log(cc.classList) |
|||
if (len > 1) { |
|||
cc.className = "btgym page_bg"; |
|||
} |
|||
} |
|||
}, |
|||
mounted() { |
|||
// 首页线图 |
|||
this.home_bar(); |
|||
// 折线图 |
|||
// this.line_zone(); |
|||
}, |
|||
methods: { |
|||
//选择年月日中的某个 |
|||
selitem(type) { |
|||
this.klselt = type; |
|||
}, |
|||
// 透明背景柱状统计图 |
|||
home_bar() { |
|||
var chartDom = document.getElementById("homebar"); |
|||
var myChart = echarts.init(chartDom); |
|||
var option; |
|||
|
|||
// |
|||
let that = this; |
|||
|
|||
option = { |
|||
xAxis: { |
|||
type: "category", |
|||
data: that.bar_tdata, |
|||
}, |
|||
yAxis: { |
|||
type: "value", |
|||
//网格线 |
|||
splitLine: { |
|||
lineStyle: { |
|||
type: "soild", |
|||
color: "#2F00FF", |
|||
}, |
|||
}, |
|||
}, |
|||
series: [ |
|||
{ |
|||
data: [120, 200, 150, 80, 70, 110, 130, 630, 530, 460], |
|||
//data: that.bar_data, |
|||
type: "bar", |
|||
showBackground: true, |
|||
// 设置顶部圆形 |
|||
symbolSize: function (d) { |
|||
console.log(d); |
|||
return d > 0 ? [10, 20] : [0, 0]; |
|||
}, |
|||
symbolPosition: "end", |
|||
|
|||
// symbolPosition:'end', |
|||
// 背景颜色 |
|||
backgroundStyle: { |
|||
symbolPosition: "end", |
|||
symbolSize: [20, 20], |
|||
symbolOffset: [0, "-20%"], |
|||
opacity: 0.75, |
|||
//color: 'rgba(180, 180, 180, 0.2)' |
|||
color: { |
|||
type: "linear", |
|||
x: 0, |
|||
y: 1, |
|||
x2: 1, |
|||
y2: 1, |
|||
colorStops: [ |
|||
{ |
|||
offset: 0, |
|||
color: "#2F00FF", // 0% 处的颜色 |
|||
}, |
|||
{ |
|||
offset: 0.2, |
|||
color: "#000", // 50% 处的颜色 |
|||
}, |
|||
{ |
|||
offset: 0.8, |
|||
color: "#000", // 50% 处的颜色 |
|||
}, |
|||
{ |
|||
offset: 1, |
|||
color: "#2F00FF", // 0% 处的颜色 |
|||
}, |
|||
], |
|||
global: false, // 缺省为 false |
|||
}, |
|||
}, |
|||
|
|||
// 条柱颜色 |
|||
color: { |
|||
type: "linear", |
|||
x: 0, |
|||
y: 1, |
|||
x2: 1, |
|||
y2: 1, |
|||
colorStops: [ |
|||
{ |
|||
offset: 0, |
|||
color: "#00B4FF", // 0% 处的颜色 |
|||
}, |
|||
{ |
|||
offset: 0.6, |
|||
color: "#2f00ff", |
|||
}, |
|||
{ |
|||
offset: 0.8, |
|||
color: "#2f00ff", |
|||
}, |
|||
{ |
|||
offset: 1, |
|||
color: "#00B4FF", // 100% 处的颜色 |
|||
}, |
|||
], |
|||
global: false, // 缺省为 false |
|||
}, |
|||
}, |
|||
], |
|||
}; |
|||
|
|||
option && myChart.setOption(option); |
|||
}, |
|||
|
|||
// 大面积折线图 |
|||
line_zone() { |
|||
var chartDom = document.getElementById("kl-line"); |
|||
var myChart = echarts.init(chartDom); |
|||
var option; |
|||
|
|||
let base = +new Date(2022, 9, 3); |
|||
let oneDay = 24 * 3600 * 1000; |
|||
let date = []; |
|||
let data = [Math.random() * 300]; |
|||
for (let i = 1; i < 20000; i++) { |
|||
var now = new Date((base += oneDay)); |
|||
date.push( |
|||
[now.getFullYear(), now.getMonth() + 1, now.getDate()].join("/") |
|||
); |
|||
data.push(Math.round((Math.random() - 0.5) * 20 + data[i - 1])); |
|||
} |
|||
option = { |
|||
xAxis: { |
|||
type: "category", |
|||
boundaryGap: false, |
|||
data: date, |
|||
}, |
|||
yAxis: { |
|||
type: "value", |
|||
boundaryGap: [0, "100%"], |
|||
//网格线 |
|||
splitLine: { |
|||
lineStyle: { |
|||
type: "soild", |
|||
color: "#2F00FF", |
|||
}, |
|||
}, |
|||
}, |
|||
|
|||
series: [ |
|||
{ |
|||
name: "Fake Data", |
|||
type: "line", |
|||
symbol: "none", |
|||
sampling: "lttb", |
|||
itemStyle: { |
|||
color: "rgb(255, 170, 131)", |
|||
}, |
|||
areaStyle: { |
|||
color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [ |
|||
{ |
|||
offset: 0, |
|||
color: "rgba(255, 158, 68,0.6)", |
|||
}, |
|||
{ |
|||
offset: 1, |
|||
color: "rgb(255, 70, 131,0.6)", |
|||
}, |
|||
]), |
|||
}, |
|||
data: data, |
|||
}, |
|||
], |
|||
}; |
|||
|
|||
option && myChart.setOption(option); |
|||
}, |
|||
}, |
|||
}; |
|||
</script> |
|||
<style> |
|||
.leftbox { |
|||
width: 33.33%; |
|||
float: left; |
|||
height: 100vh; |
|||
width: 33.33%; |
|||
float: left; |
|||
height: 100vh; |
|||
} |
|||
|
|||
.leftbox .keliu{ |
|||
background-image: url('../assets/index/left_t1_bg.png'); |
|||
background-size: 100%; |
|||
background-repeat: no-repeat; |
|||
background-position: 0 0; |
|||
height: 1.2rem; |
|||
color: #b5b7c5; |
|||
.leftbox .keliu { |
|||
background-image: url("../assets/index/left_t1_bg.png"); |
|||
background-size: 100%; |
|||
background-repeat: no-repeat; |
|||
background-position: 0 0; |
|||
height: 1.2rem; |
|||
color: #b5b7c5; |
|||
} |
|||
.leftbox .keliu .kliu_title{ |
|||
line-height: 0.88rem; |
|||
font-size: 0.48rem; |
|||
padding-left: 2.4rem; |
|||
display: block; |
|||
width: 40%; |
|||
float: left; |
|||
/* 客流趋势 */ |
|||
.leftbox .keliu .kliu_title { |
|||
line-height: 0.88rem; |
|||
font-size: 0.38rem; |
|||
padding-left: 2.4rem; |
|||
display: block; |
|||
/* width: 40%; */ |
|||
float: left; |
|||
} |
|||
|
|||
.leftbox .keliu .kliu_st{ |
|||
width: 30%; |
|||
.leftbox .keliu .kliu_st { |
|||
/* width: 30%; */ |
|||
float: right; |
|||
line-height: 0.88rem; |
|||
font-size: 0.26rem; |
|||
padding-top: 0.4rem; |
|||
} |
|||
|
|||
.leftbox .keliu .kliu_st span { |
|||
display: block; |
|||
background: url("../assets/index/sel_zone_bg.png") no-repeat 0 0; |
|||
background-position: 0 0; |
|||
background-size: 100%; |
|||
text-align: center; |
|||
width: 0.48rem; |
|||
height: 0.48rem; |
|||
line-height: 0.48rem; |
|||
float: left; |
|||
margin-left: 0.08rem; |
|||
cursor: pointer; |
|||
} |
|||
.leftbox .keliu .kliu_st .spactive { |
|||
background-image: url("../assets/index/sel_zone_active_bg.png"); |
|||
} |
|||
/* 统计图 */ |
|||
.leftbox .keliu .tongjitu { |
|||
padding-top: 0.56rem; |
|||
width: 100%; |
|||
} |
|||
/* 场馆流量预警 */ |
|||
.leftbox .cgflow { |
|||
margin-top: 0.26rem; |
|||
background-image: url("../assets/index/left_t3_bg.png"); |
|||
background-size: 100%; |
|||
background-position: 0 0; |
|||
height: 3.2rem; |
|||
} |
|||
/* 场馆左侧 */ |
|||
.leftbox .cgflow_leftbox { |
|||
padding:106px 0 0 6%; |
|||
float: left; |
|||
width: 40%; |
|||
height: 100%; |
|||
} |
|||
|
|||
.cgflow .cgfitem{ |
|||
width: 100%; |
|||
height: 0.46rem; |
|||
} |
|||
.cgflow .cgfitem span{ |
|||
display: block; |
|||
margin-left: 12px; |
|||
float: left; |
|||
line-height: 0.88rem; |
|||
display: block; |
|||
} |
|||
.cgflow .cgfitem .cgtitle{ |
|||
color: #0096ff; |
|||
font-size:14px; |
|||
} |
|||
.cgflow .cgfitem .cgval{ |
|||
font-weight: 600; |
|||
font-size: 18px; |
|||
} |
|||
.cgflow .cgfitem .cgimg img{ |
|||
width: 26px; |
|||
height: 26px; |
|||
overflow: hidden; |
|||
text-align: center; |
|||
} |
|||
/* 场馆左侧 */ |
|||
.leftbox .cgflow_rightbox { |
|||
padding:106px 0 0 12%; |
|||
float: right; |
|||
width: 30%; |
|||
height: 100%; |
|||
margin-left: 4%; |
|||
} |
|||
/* 页面背景 */ |
|||
.page_bg { |
|||
clear: both; |
|||
background-image: url('../assets/index/bg.jpg') !important; |
|||
clear: both; |
|||
background-image: url("../assets/index/bg.jpg") !important; |
|||
} |
|||
</style> |
|||