|
|
|
@ -15,19 +15,19 @@ |
|
|
|
<!-- 今日进馆人数 --> |
|
|
|
<div class="insval"> |
|
|
|
<img src="../../assets/wh/td_ins.png" /> |
|
|
|
<span id="insv" class="insv">234,098</span> |
|
|
|
<span id="insv" class="insv">{{todayNum}}</span> |
|
|
|
<span class="inst">今日进馆人数</span> |
|
|
|
</div> |
|
|
|
<!-- 本月进馆人数 --> |
|
|
|
<div class="insval"> |
|
|
|
<img src="../../assets/wh/tm_ins.png" /> |
|
|
|
<span id="insv2" class="insv">234,098</span> |
|
|
|
<span id="insv2" class="insv">{{monthNum}}</span> |
|
|
|
<span class="inst">本月进馆人数</span> |
|
|
|
</div> |
|
|
|
<!-- 本年进馆人数 --> |
|
|
|
<div class="insval"> |
|
|
|
<img src="../../assets/wh/tyear_ins.png" /> |
|
|
|
<span id="insv3" class="insv">234,098</span> |
|
|
|
<span id="insv3" class="insv">{{ yearNum }}</span> |
|
|
|
<span class="inst">本年进馆人数</span> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
@ -66,7 +66,8 @@ |
|
|
|
<div class="venue_proportion"> |
|
|
|
<div class="venue_proportion_top" style="cursor: pointer;" @click="istygShowfn"> |
|
|
|
<span class="venue_proportion_box_num" style="position: relative;cursor: pointer;"> |
|
|
|
<a target="tyg" style="text-decoration: none;color: #fff;z-index: 9999;">25% |
|
|
|
<a target="tyg" style="text-decoration: none;color: #fff;z-index: 9999;"> |
|
|
|
{{ cgrate[0].proportion }} |
|
|
|
|
|
|
|
</a> |
|
|
|
<!-- v-show="istygShow == true" --> |
|
|
|
@ -77,14 +78,14 @@ |
|
|
|
</span> |
|
|
|
</div> |
|
|
|
<div class="venue_proportion_bo"> |
|
|
|
<span>体育场</span> |
|
|
|
<span>{{ cgrate[0].groupName }}</span> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<div class="venue_proportion"> |
|
|
|
<div class="venue_proportion_top" style="cursor: pointer;" @click="istygShowfn2"> |
|
|
|
<span class="venue_proportion_box_num" style="position: relative;cursor: pointer;"> |
|
|
|
<a target="tyg" style="text-decoration: none;color: #fff;z-index: 9999;">25% |
|
|
|
|
|
|
|
<a target="tyg" style="text-decoration: none;color: #fff;z-index: 9999;"> |
|
|
|
{{ cgrate[0].proportion }} |
|
|
|
</a> |
|
|
|
<!-- v-show="istygShow == true" --> |
|
|
|
<div v-show="istygShow2 == true" style="cursor: pointer;overflow-y: hidden;padding: 0.5rem;" |
|
|
|
@ -94,14 +95,14 @@ |
|
|
|
</span> |
|
|
|
</div> |
|
|
|
<div class="venue_proportion_bo"> |
|
|
|
<span>体育馆</span> |
|
|
|
<span>{{ cgrate[1].groupName }}</span> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<div class="venue_proportion"> |
|
|
|
<div class="venue_proportion_top" style="cursor: pointer;" @click="istygShowfn3"> |
|
|
|
<span class="venue_proportion_box_num" style="position: relative;cursor: pointer;"> |
|
|
|
<a target="tyg" style="text-decoration: none;color: #fff;z-index: 9999;">25% |
|
|
|
|
|
|
|
<a target="tyg" style="text-decoration: none;color: #fff;z-index: 9999;"> |
|
|
|
{{ cgrate[0].proportion }} |
|
|
|
</a> |
|
|
|
<!-- v-show="istygShow == true" --> |
|
|
|
<div v-show="istygShow3 == true" style="cursor: pointer;overflow-y: hidden;padding: 0.5rem;" |
|
|
|
@ -111,7 +112,7 @@ |
|
|
|
</span> |
|
|
|
</div> |
|
|
|
<div class="venue_proportion_bo"> |
|
|
|
<span>游泳场馆</span> |
|
|
|
<span>{{ cgrate[2].groupName }}</span> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
|
|
|
|
@ -134,8 +135,6 @@ |
|
|
|
// 引入echarts |
|
|
|
import * as echarts from "echarts"; |
|
|
|
|
|
|
|
import flvjs from "flv.js"; |
|
|
|
|
|
|
|
// 引入api |
|
|
|
import * as homeApi from '@/api/home' |
|
|
|
|
|
|
|
@ -154,6 +153,15 @@ export default { |
|
|
|
istygShow: false, |
|
|
|
istygShow2: false, |
|
|
|
istygShow3: false, |
|
|
|
// 体育馆、体育场、游泳馆进场人数总计 |
|
|
|
todayNum:0, |
|
|
|
monthNum:0, |
|
|
|
yearNum:0, |
|
|
|
// 一天的数据 |
|
|
|
daData:[], |
|
|
|
// 场馆人次占比 |
|
|
|
cgrate:[], |
|
|
|
|
|
|
|
initCount: 0, |
|
|
|
pubKey0: '', |
|
|
|
pubKey1: '', |
|
|
|
@ -188,14 +196,19 @@ export default { |
|
|
|
} else { |
|
|
|
cc.classList.add("ty_bg"); |
|
|
|
} |
|
|
|
// 计算三个馆的进馆人数 |
|
|
|
this.getStat() |
|
|
|
|
|
|
|
this.ty_bar1() |
|
|
|
// this.ty_bar2() |
|
|
|
this.ty_bar3() |
|
|
|
this.addNumber(0, 234098, 'insv') |
|
|
|
this.addNumber(0, 234098, 'insv2') |
|
|
|
this.addNumber(0, 234098, 'insv3') |
|
|
|
this.addNumber(0, this.todayNum, 'insv') |
|
|
|
this.addNumber(0, this.monthNum, 'insv2') |
|
|
|
this.addNumber(0, this.yearNum, 'insv3') |
|
|
|
this.getVideo() |
|
|
|
this.getStat() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// document.getElementById("iframe").load('https://www.js365.org.cn/pages/reserve/index') |
|
|
|
// console.log($('iframe')); |
|
|
|
// console.log($('iframe').children().find('a')); |
|
|
|
@ -213,7 +226,6 @@ export default { |
|
|
|
} else { |
|
|
|
this.istygShow = false |
|
|
|
} |
|
|
|
console.log(this.istygShow); |
|
|
|
|
|
|
|
}, |
|
|
|
istygShowfn2() { |
|
|
|
@ -232,26 +244,23 @@ export default { |
|
|
|
}, |
|
|
|
|
|
|
|
ty_bar1() { |
|
|
|
console.log("24h") |
|
|
|
console.log(this.daData) |
|
|
|
var chartDom = document.getElementById("dinschart"); |
|
|
|
var myChart = echarts.init(chartDom); |
|
|
|
// 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 = ['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 data = [10000, 20000, 10000, 20000, 10000, 20000, 25000, 50000, 30000, 13000, 15000, 11000, 12000] |
|
|
|
|
|
|
|
// var data = [10000, 20000, 10000, 20000, 10000, 20000, 25000, 50000, 30000, 13000, 15000, 11000, 12000] |
|
|
|
// var data = [Math.random() * 300] |
|
|
|
var option = { |
|
|
|
tooltip: { |
|
|
|
trigger: 'axis', |
|
|
|
axisPointer: { |
|
|
|
type: 'shadow' |
|
|
|
}, |
|
|
|
formatter: function (params) { |
|
|
|
return params[0].name + "</br>" + params[0].value |
|
|
|
} |
|
|
|
}, |
|
|
|
// legend: { |
|
|
|
// data: ['厂用电量'] |
|
|
|
// }, |
|
|
|
|
|
|
|
grid: { |
|
|
|
left: 0, |
|
|
|
right: 0, |
|
|
|
@ -260,9 +269,7 @@ export default { |
|
|
|
containLabel: true |
|
|
|
}, |
|
|
|
xAxis: [{ |
|
|
|
data: [ |
|
|
|
'08:00', '09:00', '10:00', '11:00', '12:00', '13:00', '14:00', '15:00', '16:00', |
|
|
|
], |
|
|
|
data: xData, |
|
|
|
axisLine: { |
|
|
|
lineStyle: { |
|
|
|
color: '#0095FF', |
|
|
|
@ -333,17 +340,7 @@ export default { |
|
|
|
) |
|
|
|
} |
|
|
|
}, |
|
|
|
data: [ |
|
|
|
14000, |
|
|
|
11000, |
|
|
|
10000, |
|
|
|
9000, |
|
|
|
8000, |
|
|
|
7000, |
|
|
|
5000, |
|
|
|
4000, |
|
|
|
3000, |
|
|
|
], |
|
|
|
data: data, |
|
|
|
zlevel: 11 |
|
|
|
}, |
|
|
|
{ |
|
|
|
@ -743,16 +740,40 @@ export default { |
|
|
|
option && myChart.setOption(option); |
|
|
|
}, |
|
|
|
|
|
|
|
// 总计 体育场馆的总数 |
|
|
|
getStat() { |
|
|
|
let that = this |
|
|
|
homeApi.allTygGroupTimeNum().then(res => { |
|
|
|
// get allTimeData |
|
|
|
const tmpdata = res.data.returnData |
|
|
|
console.log(tmpdata); |
|
|
|
|
|
|
|
const groups ="110|210|310" |
|
|
|
// DAILY |
|
|
|
homeApi.allTygGroupTimeNum({granularity:"daily",groupsId:groups}).then(res=>{ |
|
|
|
// 24h 人流趋势 |
|
|
|
that.daData = res.data.data |
|
|
|
const day_tmp=res.data.data.groupsData |
|
|
|
// 场馆人次占比 |
|
|
|
that.cgrate = day_tmp |
|
|
|
//遍历加 |
|
|
|
day_tmp.forEach(item=>{ |
|
|
|
that.todayNum =+ item.noRepeatInNum |
|
|
|
}); |
|
|
|
}) |
|
|
|
// MONTHLY |
|
|
|
homeApi.allTygGroupTimeNum({granularity:"monthly",groupsId:groups}).then(res=>{ |
|
|
|
const day_tmp=res.data.data.groupsData |
|
|
|
day_tmp.forEach(item=>{ |
|
|
|
that.monthNum =+ item.noRepeatInNum |
|
|
|
}); |
|
|
|
}) |
|
|
|
// YEARLY |
|
|
|
homeApi.allTygGroupTimeNum({granularity:"yearly",groupsId:groups}).then(res=>{ |
|
|
|
const day_tmp=res.data.data.groupsData |
|
|
|
day_tmp.forEach(item=>{ |
|
|
|
that.yearNum =+ item.noRepeatInNum |
|
|
|
}); |
|
|
|
}) |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
// 动画加数从效果 |
|
|
|
addNumber(start, end, id) { |
|
|
|
var o = document.getElementById(id); |
|
|
|
var i = start; |
|
|
|
@ -774,36 +795,20 @@ export default { |
|
|
|
// 视频预览 |
|
|
|
getVideo() { |
|
|
|
let that = this |
|
|
|
console.log(that); |
|
|
|
homeApi.allGetVideo().then(res => { |
|
|
|
// get allTimeData |
|
|
|
// console.log(res); |
|
|
|
const tmpdata = res.data.videoData |
|
|
|
// console.log(tmpdata); |
|
|
|
// this.decode(tmpdata) |
|
|
|
// console.log(this.decode(tmpdata)); |
|
|
|
|
|
|
|
let baseviode = this.decode(tmpdata) |
|
|
|
// this.decode(baseviode) |
|
|
|
// console.log(this.decode(baseviode)); |
|
|
|
let baseviodejson = this.decode2(baseviode) |
|
|
|
|
|
|
|
let baseviodejson = this.sec_decode(baseviode) |
|
|
|
var jsonParseJson = JSON.parse(baseviodejson); |
|
|
|
// console.log(jsonParseJson); |
|
|
|
this.videoData = jsonParseJson |
|
|
|
// console.log(this.videoData); |
|
|
|
// this.day_num = tmpdata.day.noRepeatInNum |
|
|
|
// this.week_num_num = tmpdata.week.noRepeatInNum |
|
|
|
// this.mon_num = tmpdata.month.noRepeatInNum |
|
|
|
// this.year_num = tmpdata.year.noRepeatInNum |
|
|
|
|
|
|
|
// let btdata = new Array(); |
|
|
|
// let bvdata = new Array(); |
|
|
|
// tmpdata.foreach(function(item,index){ |
|
|
|
// console.log(item); |
|
|
|
// console.log(index); |
|
|
|
// }); |
|
|
|
|
|
|
|
}); |
|
|
|
}, |
|
|
|
// 第一次解密 |
|
|
|
decode(str) { |
|
|
|
if (str === undefined || str === "" || str === null) { |
|
|
|
return str; |
|
|
|
@ -813,7 +818,8 @@ export default { |
|
|
|
return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2); |
|
|
|
}).slice(0, -2).join('')); |
|
|
|
}, |
|
|
|
decode2(str) { |
|
|
|
// 第二次解密 |
|
|
|
sec_decode(str) { |
|
|
|
if (str === undefined || str === "" || str === null) { |
|
|
|
return str; |
|
|
|
} |
|
|
|
@ -1061,7 +1067,7 @@ export default { |
|
|
|
var port = Number(_that.videoData[1].port) |
|
|
|
// 请自行修改以下变量值 |
|
|
|
var appkey = _that.videoData[1].appkey; //综合安防管理平台提供的appkey,必填 |
|
|
|
var secret = _that.setEncrypt2(_that.videoData[1].secret); //综合安防管理平台提供的secret,必填 |
|
|
|
var secret = _that.setEncrypt(_that.videoData[1].secret); //综合安防管理平台提供的secret,必填 |
|
|
|
var ip = _that.videoData[1].host; //综合安防管理平台IP地址,必填 |
|
|
|
var playMode = 0; //初始播放模式:0-预览,1-回放 |
|
|
|
var port = port; //综合安防管理平台端口,若启用HTTPS协议,默认443 |
|
|
|
@ -1108,7 +1114,7 @@ export default { |
|
|
|
var port = Number(_that.videoData[2].port) |
|
|
|
// 请自行修改以下变量值 |
|
|
|
var appkey = _that.videoData[2].appkey; //综合安防管理平台提供的appkey,必填 |
|
|
|
var secret = _that.setEncrypt3(_that.videoData[2].secret); //综合安防管理平台提供的secret,必填 |
|
|
|
var secret = _that.setEncrypt(_that.videoData[2].secret); //综合安防管理平台提供的secret,必填 |
|
|
|
var ip = _that.videoData[2].host; //综合安防管理平台IP地址,必填 |
|
|
|
var playMode = 0; //初始播放模式:0-预览,1-回放 |
|
|
|
var port = port; //综合安防管理平台端口,若启用HTTPS协议,默认443 |
|
|
|
@ -1213,16 +1219,7 @@ export default { |
|
|
|
encrypt.setPublicKey(this.pubKey0); |
|
|
|
return encrypt.encrypt(value); |
|
|
|
}, |
|
|
|
setEncrypt2(value) { |
|
|
|
var encrypt2 = new window.JSEncrypt(); |
|
|
|
encrypt2.setPublicKey(this.pubKey1); |
|
|
|
return encrypt2.encrypt(value); |
|
|
|
}, |
|
|
|
setEncrypt3(value) { |
|
|
|
var encrypt3 = new window.JSEncrypt(); |
|
|
|
encrypt3.setPublicKey(this.pubKey2); |
|
|
|
return encrypt3.encrypt(value); |
|
|
|
}, |
|
|
|
|
|
|
|
//视频预览功能 |
|
|
|
getVideoFun(Code) { |
|
|
|
//因为我这里有很多监控点编号需要来回切换,所以用参数传递进来 |
|
|
|
|