131 lines
3.8 KiB
Vue
131 lines
3.8 KiB
Vue
|
|
<template>
|
|||
|
|
<div class="dataBoardPage">
|
|||
|
|
<div class="headerBox">
|
|||
|
|
<div class="topTit">
|
|||
|
|
<div class="time">
|
|||
|
|
<span>{{currentDate}}</span>
|
|||
|
|
<span>{{currentWeek}}</span>
|
|||
|
|
<span>{{currentTime}}</span>
|
|||
|
|
</div>
|
|||
|
|
<div class="title"><h1 class="title">{{'金林湾项目监管平台'}}</h1></div>
|
|||
|
|
<div>
|
|||
|
|
<img class="backImg" src="../../../assets/images/projectImg/sun.png" alt="" />
|
|||
|
|
<span>多云 32℃</span>
|
|||
|
|
<img class="backImg" @click="toBack()" src="../../../assets/images/projectImg/back.png" alt="">
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
<div style="height: 40px" class="menuBox">
|
|||
|
|
<ul class="left">
|
|||
|
|
<li
|
|||
|
|
v-for="(item, index) in menuList"
|
|||
|
|
:key="index"
|
|||
|
|
:class="{
|
|||
|
|
right: index > (menuList.length - 1) / 2,
|
|||
|
|
active: $route.path == item.modulePath,
|
|||
|
|
}"
|
|||
|
|
@click="menuClick(item, index)"
|
|||
|
|
>
|
|||
|
|
{{ item.moduleName }}
|
|||
|
|
</li>
|
|||
|
|
</ul>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
<div class="dataBoardContent">
|
|||
|
|
<router-view></router-view>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
</template>
|
|||
|
|
|
|||
|
|
<script>
|
|||
|
|
import moment from "moment";
|
|||
|
|
export default {
|
|||
|
|
data(){
|
|||
|
|
return{
|
|||
|
|
menuList: [],
|
|||
|
|
currentDate:'',
|
|||
|
|
currentTime:'',
|
|||
|
|
currentWeek:'',
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
mounted(){
|
|||
|
|
this.getAllModule();
|
|||
|
|
this.getCurrentTime();
|
|||
|
|
this.getTime();
|
|||
|
|
this.getWeek();
|
|||
|
|
|
|||
|
|
},
|
|||
|
|
methods:{
|
|||
|
|
getTime() {
|
|||
|
|
this.currentDate = moment().format("yyyy-MM-DD");
|
|||
|
|
this.currentTime = moment().format("HH:mm:ss");
|
|||
|
|
},
|
|||
|
|
getCurrentTime() {
|
|||
|
|
const timer = setInterval(() => {
|
|||
|
|
this.getTime();
|
|||
|
|
}, 500);
|
|||
|
|
// 通过$once来监听定时器,在beforeDestroy钩子可以被清除。
|
|||
|
|
this.$once("hook:beforeDestroy", () => {
|
|||
|
|
clearInterval(timer);
|
|||
|
|
});
|
|||
|
|
},
|
|||
|
|
getWeek(){
|
|||
|
|
var dt=new Date();
|
|||
|
|
let weekDay = ["星期天", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"];
|
|||
|
|
this.currentWeek = weekDay[dt.getDay()]
|
|||
|
|
},
|
|||
|
|
getAllModule() {
|
|||
|
|
var half = this.$store.state.userInfo.menuAuthority.moduleList
|
|||
|
|
console.log(half)
|
|||
|
|
half.forEach(element => {
|
|||
|
|
console.log(element.moduleName)
|
|||
|
|
if (element.moduleType == 4) {
|
|||
|
|
console.log(element)
|
|||
|
|
this.menuList.push(element)
|
|||
|
|
}
|
|||
|
|
});
|
|||
|
|
},
|
|||
|
|
toBack() {
|
|||
|
|
this.$router.push({ path:'/projectIndex' })
|
|||
|
|
},
|
|||
|
|
menuClick(item, index) {
|
|||
|
|
console.log('item', item)
|
|||
|
|
this.menuIndex = index;
|
|||
|
|
|
|||
|
|
if (item.modulePath.includes('http://') || item.modulePath.includes('https://')) {
|
|||
|
|
return window.open(item.modulePath)
|
|||
|
|
}else{
|
|||
|
|
this.$router.push(item.modulePath)
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
if (item.moduleName == '智能安全帽') {
|
|||
|
|
let NodeRSA = require("node-rsa");
|
|||
|
|
//请求参数
|
|||
|
|
let params = JSON.stringify({
|
|||
|
|
// account: '妇幼保健院',
|
|||
|
|
account: this.$store.state.userInfo.account,
|
|||
|
|
page_flag: 3,
|
|||
|
|
});
|
|||
|
|
//公钥
|
|||
|
|
const pubKey = `
|
|||
|
|
-----BEGIN PUBLIC KEY-----
|
|||
|
|
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDcmP0ug4NTHwW2oeHxheZjmYPDxVGFP770eECdLwRtaH0pPWvsXG6MSO/kCzgjEVEo1K1bvRxkkasQRu02fhI+gsZa8wvVeo3s4zJDA48Oj99JAXsx56/WN1RlNh+tsXcH9oQWy3gbX5cDkheuVZj8gsV7Ez59Ucj4e78zNJrUDwIDAQAB
|
|||
|
|
-----END PUBLIC KEY-----`;
|
|||
|
|
|
|||
|
|
var publicKey = new NodeRSA(pubKey);
|
|||
|
|
var async_key = publicKey.encrypt(params, 'base64')
|
|||
|
|
window.open("http://58.210.96.206:91/async_danzhou.html?async_key=" + async_key)
|
|||
|
|
// window.location.href = "http://58.210.96.206:91/async_danzhou.html?async_key="+async_key;
|
|||
|
|
} else {
|
|||
|
|
this.$router.push(item.modulePath)
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
</script>
|
|||
|
|
|
|||
|
|
|
|||
|
|
<style lang="less" scoped>
|
|||
|
|
@import url('./style.less');
|
|||
|
|
|
|||
|
|
</style>
|