197 lines
7.4 KiB
Vue
Raw Normal View History

2022-06-15 08:56:20 +08:00
<template>
<div class="fullHeight dataBoardPage" :class="{'dataBoardPage_blue':enabledProjectV2==3,'dataBoardPage_blue2':enabledProjectV2==4 ,'longguangBg':company=='longguang'}">
<div class="headerBox">
<p class="projectName">{{ $store.state.currentProDetail.projectName }}</p>
<h1 class="title">
<img v-if="headerLogo" style="width: auto;height: 30px;margin-right: 16px;" :src="headerLogo" />
<span v-if="company != 'longguang'">
<!-- 智慧工地云平台 -->
{{$t('message.dataBoard.headerTitle')}}
</span>
<span v-else style="color:#fff;margin-top:15px">
<!-- 龙光智慧工地平台 -->
{{$t('message.dataBoard.headerTitle2')}}
</span>
<!-- {{ $t("message.carOverview.vehicleStatistics") }} -->
</h1>
<div class="headerDataBox">
<div class="date">{{date}}</div>
<div class="time">{{time}}</div>
<!-- <div class="weatherBox"> -->
<img class="weaImg" :src="weatherInfo.url" width="26" height="26" />
<div class="tem">{{ weatherInfo.tem2 }} ~ {{ weatherInfo.tem1 }}</div>
<div class="wea">{{ weatherInfo.wea }}</div>
<!-- </div> -->
<!-- <div style="text-align: center;"> -->
<div class="win_speed">{{ weatherInfo.win_speed }}</div>
<!-- <div>风力</div> -->
<!-- </div> -->
</div>
<closePage></closePage>
</div>
<div class="leftLine" v-if="enabledProjectV2!=3"></div>
<div class="rightLine" v-if="enabledProjectV2!=3"></div>
<div class="bottomLine" v-if="enabledProjectV2!=3"></div>
<div style="height: 40px" class="menuBox">
<ul v-if="parameterUrl.COMPANY != 'longguang'" 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 class="dataBoardContent">
<router-view ></router-view>
</div>
</div>
</template>
<script>
function GetRequest() {
var url = decodeURI(window.location.href); //?id="123456"&Name="bicycle";
var object = {};
if(url.indexOf("?") != -1)//url中存在问号也就说有参数。
{
var str = url.substr(url.indexOf("?")+1); //得到?后面的字符串
var strs = str.split("&"); //将得到的参数分隔成数组[id="123456",Name="bicycle"];
for(var i = 0; i < strs.length; i ++)
{
object[strs[i].split("=")[0]]=strs[i].split("=")[1]
}
}
return object;
}//截取地址栏的参数
import closePage from "@/components/closePage"
import {
getWeatherDataApi
} from "@/assets/js/api/environmentManage";
export default {
components:{closePage},
data(){
return{
menuIndex:0,
menuList:[],
enabledProjectV2:2,
date:'',
time:'',
weatherInfo:{
wea_img:'',
tem1:'',tem2:'',
wea:'',win_speed:'',url:'',
cityName: ""
},
parameterUrl:'',
headerLogo: ""
}
},
created(){
this.parameterUrl = GetRequest()
// COMPANY: "longguang"
this.company = COMPANY;
console.log(GetRequest().COMPANY != 'longguang');
},
mounted(){
if(localStorage.getItem('systemInfo')){
this.headerLogo = JSON.parse(localStorage.getItem('systemInfo')).bigScreenLogo
}
this.getTime()
this.loadWeather()
this.enabledProjectV2=enabledProjectV2
document.title=this.$store.state.currentProDetail.projectName+this.$t('message.dataBoard.dataBoard')
this.getAllModule()
},
methods:{
getTime(){
var myDate = new Date(); //实例一个时间对象;
this.date=myDate.getFullYear(); //获取系统的年;
this.date+='-'+(myDate.getMonth()+1); //获取系统月份由于月份是从0开始计算所以要加1
this.date+='-'+myDate.getDate(); // 获取系统日,
this.time=' '+myDate.getHours(); //获取系统时,
this.time+=':'+myDate.getMinutes(); //分
this.time+=':'+myDate.getSeconds(); //秒
setTimeout(() => {
this.getTime()
}, 1000);
},
loadWeather(){
var _this = this
getWeatherDataApi({cityid:this.$store.state.currentProDetail.cityCode}).then((res) => {
var json = JSON.parse(res.result);
console.log(json);
this.weatherInfo = json.data[0]
this.weatherInfo.url = require('@/assets/images/weather/'+this.weatherInfo.wea_img+'.png')
});
},
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)
}
});
},
menuClick(item,index){
console.log('item', item)
this.menuIndex = index;
if (item.modulePath.includes('http://') || item.modulePath.includes('https://')) {
return window.open(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");
.headerDataBox{
position: absolute;
right: 100px;
top:5px;
display: flex;
align-items: center;
font-size: 16px;
// .time{
// font-size: 22px;
// }
&>*{
margin-right: 20px;
}
}
.headerBox{
.title{
display: flex;
align-items: center;
justify-content: center;
font-size: 32px;
}
}
2022-06-15 09:41:40 +08:00
// .dataBoardPage{
// background-color: blue;
// }
2022-06-15 08:56:20 +08:00
</style>