Browse Source

总览更新

master
luyisha 3 years ago
parent
commit
6cde82b635
  1. BIN
      src/assets/img/1.png
  2. BIN
      src/assets/img/2.png
  3. BIN
      src/assets/img/3.png
  4. BIN
      src/assets/img/cgbox_bg.png
  5. BIN
      src/assets/img/pcg_bg.png
  6. BIN
      src/assets/img/pcg_bg_0.png
  7. BIN
      src/assets/img/拥挤.png
  8. BIN
      src/assets/img/爆满.png
  9. BIN
      src/assets/img/舒适.png
  10. 255
      src/views/HomeView.vue

BIN
src/assets/img/1.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

BIN
src/assets/img/2.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

BIN
src/assets/img/3.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

BIN
src/assets/img/cgbox_bg.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 401 KiB

After

Width:  |  Height:  |  Size: 370 KiB

BIN
src/assets/img/pcg_bg.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 32 KiB

BIN
src/assets/img/pcg_bg_0.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

BIN
src/assets/img/拥挤.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 5.4 KiB

BIN
src/assets/img/爆满.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

BIN
src/assets/img/舒适.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 5.3 KiB

255
src/views/HomeView.vue

@ -54,18 +54,18 @@
<div class="cglist cgleft"> <div class="cglist cgleft">
<ul> <ul>
<li> <li>
<span>{{ tycra.name }}</span> <span>{{ circularData.groupName[0] }}</span>
<span>{{ tycra.value }}</span> <span>{{ circularData.proportion[0] }}</span>
<span><img src="../assets/img/tyc_icon.png" /></span> <span><img src="../assets/img/tyc_icon.png" /></span>
</li> </li>
<li> <li>
<span>{{tygra.name}}</span> <span>{{ circularData.groupName[1] }}</span>
<span>{{ tygra.value }}</span> <span>{{ circularData.proportion[1] }}</span>
<span><img src="../assets/img/tyg_icon.png" /></span> <span><img src="../assets/img/tyg_icon.png" /></span>
</li> </li>
<li> <li>
<span>{{yygra.name}}</span> <span>{{ circularData.groupName[2] }}</span>
<span>{{ yygra.value }}</span> <span>{{ circularData.proportion[2] }}</span>
<span><img src="../assets/img/yyg_icon.png" /></span> <span><img src="../assets/img/yyg_icon.png" /></span>
</li> </li>
</ul> </ul>
@ -77,18 +77,18 @@
<ul> <ul>
<li> <li>
<span><img src="../assets/img/tsg_icon.png" /></span> <span><img src="../assets/img/tsg_icon.png" /></span>
<span>20%</span> <span>{{ circularData.proportion[3] }}</span>
<span>图书馆</span> <span>{{ circularData.groupName[3] }}</span>
</li> </li>
<li> <li>
<span><img src="../assets/img/whg_icon.png" /></span> <span><img src="../assets/img/whg_icon.png" /></span>
<span>12%</span> <span>{{ circularData.proportion[4] }}</span>
<span>文化馆</span> <span>{{ circularData.groupName[4] }}</span>
</li> </li>
<li> <li>
<span><img src="../assets/img/bwg_icon.png" /></span> <span><img src="../assets/img/bwg_icon.png" /></span>
<span>{{bwgra.value}}</span> <span>{{ circularData.proportion[5] }}</span>
<span>{{bwgra.name}}</span> <span>{{ circularData.groupName[5] }}</span>
</li> </li>
</ul> </ul>
</div> </div>
@ -98,23 +98,36 @@
<!-- 今日场馆人数 --> <!-- 今日场馆人数 -->
<div class="today_rs"> <div class="today_rs">
<div class="tdrs_title"> <div class="tdrs_title">
今日各馆趋势 今日各服务人次趋势
</div> </div>
<div id="tdrs" style="width:100%;height:12rem;"></div> <div id="tdrs" style="width:100%;height:12rem;"></div>
</div> </div>
<!-- 個場館實時進館人數 --> <!-- 個場館實時進館人數 -->
<div class="pcgrs"> <div class="pcgrs">
<div class="pcgrs_title">各场馆实时进馆人数</div> <div class="pcgrs_title">各场馆实时服务人次</div>
<!-- 場館實時 --> <!-- 場館實時 -->
<div class="pcg_item" v-for="item in ssjgNumDatas" :key="item.groupId"> <div class="pcg_item" v-for="item in ssjgNumDatas" :key="item.groupId">
<span class="pcpos">{{item.groupName}}</span> <span class="pcpos">{{item.groupName}}</span>
<span class="rbtitle">日累计人数</span>
<p class="pcval" :class="'pcani'" :id="item.groupId">{{ item.allEnter }}</p> <p class="pcval" :class="'pcani'" :id="item.groupId">{{ item.allEnter }}</p>
<span class="pcrate" <!-- <span class="pcrate"
:class="[{ pcrate2: parseInt(item.proportion) >= 80 && parseInt(item.proportion) < 90 }, { pcrate3: parseInt(item.proportion) >= 90 },'pcani']">{{ :class="[{ pcrate2: parseInt(item.proportion) >= 80 && parseInt(item.proportion) < 90 }, { pcrate3: parseInt(item.proportion) >= 90 },'pcani']">{{
item.proportion }}</span> item.proportion }}</span> -->
<div class="rbrate0"
:class="parseInt(item.proportion)<50||parseInt(item.proportion)==50?'rbrate2':
(parseInt(item.proportion)<100||parseInt(item.proportion)==100?'rbrate3':'rbrate4')
"
>
</div> </div>
</div> </div>
</div>
<div class="rbox_label">
<span></span>舒适
<span></span>拥挤
<span></span>爆满
</div>
</div> </div>
@ -151,6 +164,7 @@ export default {
yygra:[], yygra:[],
// bwg // bwg
bwgra:[], bwgra:[],
circularData: {groupName:[],proportion:[]},
day_num: 0, day_num: 0,
week_num: 0, week_num: 0,
@ -207,6 +221,7 @@ export default {
// //
getDataIn(reqType){ getDataIn(reqType){
let that = this;
// //
btApi.allGroupTimeNum({ 'granularity': reqType }).then(res => { btApi.allGroupTimeNum({ 'granularity': reqType }).then(res => {
const kldata = res.data.data.allTimeData const kldata = res.data.data.allTimeData
@ -226,7 +241,7 @@ export default {
this.showorders() this.showorders()
// //
const ccdata = res.data.data.groupsData const ccdata = res.data.data.groupsData
let tcdata =new Array; let tcdata =new Array;that.circularData.groupName=[];that.circularData.proportion=[];
ccdata.forEach(function(item,idx){ ccdata.forEach(function(item,idx){
// idx // idx
tcdata.push({ tcdata.push({
@ -234,25 +249,28 @@ export default {
value: item.noRepeatInNum, value: item.noRepeatInNum,
name: item.groupName name: item.groupName
}) })
that.circularData.groupName.push(item.groupName)
that.circularData.proportion.push(item.proportion)
}); });
// //
let tcidata = new Array;
ccdata.forEach(item=>{
// crcle infomation
tcidata.push({
name:item.groupName,
rate:item.proportion
});
});
// console.log(tcidata)
this.kcdata = tcdata this.kcdata = tcdata
// //
this.cgchart() this.cgchart()
// let tcidata = new Array;
// ccdata.forEach(item=>{
// crcle infomation
// tcidata.push({
// name:item.groupName,
// rate:item.proportion
// });
// });
// console.log(tcidata)
// this.kcrate = tcidata // this.kcrate = tcidata
this.tycra = tcidata[0] // this.tycra = tcidata[0]
this.tygra = tcidata[1] // this.tygra = tcidata[1]
this.yygra = tcidata[2] // this.yygra = tcidata[2]
this.bwgra = tcidata[3] // this.bwgra = tcidata[3]
}); });
}, },
@ -271,7 +289,7 @@ export default {
var option; var option;
//var cdata = [100, 200, 100, 200, 100, 200, 250, 50, 30, 130, 150, 110, 120] //var cdata = [100, 200, 100, 200, 100, 200, 250, 50, 30, 130, 150, 110, 120]
var cdata = this.klvdata var cdata = this.klvdata.slice(-8,this.klvdata.length)
// var data = [Math.random() * 300] // var data = [Math.random() * 300]
option = { option = {
// backgroundColor: '#031245', // backgroundColor: '#031245',
@ -328,7 +346,7 @@ export default {
}, },
show: true, show: true,
}, },
data: this.kltdata, data: this.kltdata.slice(-8,this.kltdata.length),
type: 'category', type: 'category',
}, },
yAxis: { yAxis: {
@ -477,7 +495,7 @@ export default {
{ {
name: 'Access From', name: 'Access From',
type: 'pie', type: 'pie',
radius: ['60%', '70%'], //线 radius: ['70%', '80%'], //线
avoidLabelOverlap: false, avoidLabelOverlap: false,
itemStyle: { itemStyle: {
borderRadius: 40, borderRadius: 40,
@ -670,7 +688,7 @@ export default {
}); });
}, },
// //
getInfoDatas() { getInfoDatas() {
// interface // interface
homeApi.tdGroupRealTimeEnter().then(res=>{ homeApi.tdGroupRealTimeEnter().then(res=>{
@ -680,19 +698,105 @@ export default {
// udp // udp
getsckdata(){ getsckdata(){
let that = this;
// websocket // websocket
const ws = new WebSocket("ws://10.97.121.2/rt"); const ws = new WebSocket(publicConfig.WS_URL_ZL);
ws.onopen = function() { ws.onopen = function() {
console.log("ws connected success!") console.log("ws connected success!")
}; };
ws.onclose = function(event) {
console.log('WebSocket连接已关闭');
};
ws.onmessage = (e)=> { ws.onmessage = (e)=> {
var jstr = JSON.parse(e.data) var jstr = JSON.parse(e.data);
this.ssjgNumDatas=jstr.data if(!jstr){
return;
}
//
const pieData = jstr.realTimeData.data;
that.circularData.groupName=[];that.circularData.proportion=[];that.kcdata=[];
pieData.forEach((item) => {
that.circularData.groupName.push(item.groupName)
that.circularData.proportion.push(item.proportion)
that.kcdata.push({
name:item.groupName,
value:item.proportion.split('%')[0]
// value: item.noRepeatInNum,
})
})
//
this.cgchart()
that.ssjgNumDatas = pieData;//
// 线
function handleLine(){
that.rsqsDatas = [];that.rsqsDataName = [];
that.zxliddata = [];
const tmpdata = jstr.toDayGroupsEnterNum.data;
tmpdata.forEach((item) => {
that.rsqsDataName.push(item.groupName);
that.rsqsDatas.push(item.list)
})
that.zxlindata = jstr.toDayGroupsEnterNum.data[0].list.dkeys;
that.rsqsDatas.forEach((item) => {
let rsqsData = []
Object.getOwnPropertyNames(item).forEach((value) => {
if(value=='dkeys'){}
if(value=='dvalue'){
rsqsData = item[value];
}
});
that.zxliddata.push(rsqsData)
// 线
that.cgrs_line();
})
}
handleLine();
//
function handleBar(){
let tmpklqsdata, dkeys, datas=[];
switch (that.klselt) {
case 'd':
tmpklqsdata = jstr.allGroupTimeNumDay.data.data.allTimeData;
dkeys = jstr.allGroupTimeNumDay.data.data.dkeys;
break;
case 'm':
tmpklqsdata = jstr.allGroupTimeNumMonth.data.data.allTimeData;
dkeys = jstr.allGroupTimeNumMonth.data.data.dkeys;
break;
case 'y':
tmpklqsdata = jstr.allGroupTimeNumYear.data.data.allTimeData;
dkeys = jstr.allGroupTimeNumYear.data.data.dkeys;
break;
}
Object.values(tmpklqsdata).forEach((value) => {
datas.push(value.num);
});
that.kltdata = dkeys;
that.klvdata = datas;
//
that.showorders();
}
handleBar();
//
numGrow("ycdn",jstr.allGroupNum.data.year.noRepeatInNum);
//
numGrow("dynum",jstr.allGroupNum.data.day.noRepeatInNum)
// week
numGrow("wknum",jstr.allGroupNum.data.week.noRepeatInNum)
// month
numGrow("mnum",jstr.allGroupNum.data.month.noRepeatInNum)
}; };
}, },
// //
getGcgNumDatas() { getGcgNumDatas() {
homeApi.tdGroupRealTimeEnter().then(res => { homeApi.tdGroupRealTimeEnter().then(res => {
@ -931,27 +1035,33 @@ export default {
/* 饼图 */ /* 饼图 */
.cgbox .cgpies { .cgbox .cgpies {
width: 40%; width: 34%;
height: 12rem; height: 12rem;
float: left; float: left;
} }
.cgbox .cgleft { .cgbox .cgleft {
width: 30%; width: 33%;
float: left; float: left;
} }
.cgbox .cgleft ul li{
display: flex;
justify-content: end;
}
.cgbox .cgleft>ul { .cgbox .cgleft>ul {
padding-left: 0rem; padding-left: 0rem;
padding-right: 0.3rem;
} }
.cgbox .cgright { .cgbox .cgright {
width: 30%; width: 33%;
/* height: 12rem; */
float: left; float: left;
} }
.cgbox .cgright>ul { .cgbox .cgright>ul {
padding-left: 0.5rem; padding-left: 0.2rem;
} }
.cgbox .cglist { .cgbox .cglist {
@ -995,12 +1105,6 @@ export default {
height: 0.68rem; height: 0.68rem;
} }
.cgbox .cgright {
width: 30%;
height: 12rem;
float: left;
}
/* 今日人數 */ /* 今日人數 */
.today_rs { .today_rs {
margin-top: 1rem; margin-top: 1rem;
@ -1025,6 +1129,7 @@ export default {
clear: both; clear: both;
margin-top: 2.6rem; margin-top: 2.6rem;
width: 100%; width: 100%;
display: inline-block;/**撑开高度 */
} }
.pcgrs .pcgrs_title { .pcgrs .pcgrs_title {
@ -1110,8 +1215,13 @@ export default {
float: left; float: left;
text-align: center; text-align: center;
} */ } */
.pcgrs .pcg_item .rbtitle{
.pcgrs .pcg_item .pcrate { position: absolute;
top: 2.7rem;
left: 2rem;
font-size: 0.2rem;
}
.pcgrs .pcg_item .rbrate0 {
width: 32%; width: 32%;
height: 3.4rem; height: 3.4rem;
line-height: 3.4rem; line-height: 3.4rem;
@ -1123,17 +1233,46 @@ export default {
position: absolute; position: absolute;
bottom: 0.4rem; bottom: 0.4rem;
right: 0.63rem; right: 0.63rem;
background-image: url('../assets/img/安静.png');
background-size: 100% 100%;
background-position: 100% 100%;
background-repeat: no-repeat;
} }
.pcgrs .pcg_item .pcrate2 { .pcgrs .pcg_item .rbrate2 {
background-image: url('../assets/img/舒适.png'); background-image: url('../assets/img/2.png');
background-size: 100% 100%;
} }
.pcgrs .pcg_item .pcrate3 { .pcgrs .pcg_item .rbrate3 {
background-image: url('../assets/img/拥挤.png'); background-image: url('../assets/img/3.png');
background-size: 100% 100%;
}
.pcgrs .pcg_item .rbrate4 {
background-image: url('../assets/img/1.png');
background-size: 100% 100%;
}
.rbox_label{
/* width: 100%; */
display: flex;
justify-content: end;
align-items: center;
font-size: 0.8rem;
color: #aaa;
margin-right: 0.5rem;
}
.rbox_label span{
display: inline-block;
width: 1.2rem;
height: 1.2rem;
margin: 0px 0.5rem;
}
.rbox_label span:nth-of-type(1){
background: url('../assets/img/舒适.png');
background-size: 100% 100%;
}
.rbox_label span:nth-of-type(2){
background: url('../assets/img/拥挤.png');
background-size: 100% 100%;
}
.rbox_label span:nth-of-type(3){
background: url('../assets/img/爆满.png');
background-size: 100% 100%;
} }
</style> </style>
Loading…
Cancel
Save