You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
204 lines
6.9 KiB
204 lines
6.9 KiB
import { Component, OnInit, ViewChild, TemplateRef } from '@angular/core'; |
|
import { Router, NavigationEnd, ActivatedRoute } from '@angular/router'; |
|
import { Title } from '@angular/platform-browser' |
|
import { filter } from 'rxjs/operators'; |
|
import { NavChangeService } from '../../service/navChange.service'; |
|
import { CacheTokenService } from '../../service/cache-token.service' //引入服务 |
|
import { CookieService } from 'ngx-cookie-service'; |
|
import { NzMessageService } from 'ng-zorro-antd/message'; |
|
import { SignalRAspNetCoreHelper } from '../../../shared/helpers/SignalRAspNetCoreHelper'; |
|
import { NzNotificationService } from 'ng-zorro-antd/notification'; |
|
declare var abp: any |
|
|
|
@Component({ |
|
selector: 'app-home', |
|
templateUrl: './home.component.html', |
|
styleUrls: ['./home.component.scss'] |
|
}) |
|
export class HomeComponent implements OnInit { |
|
@ViewChild('warning', { static: false }) template?: TemplateRef<{}>; |
|
constructor(private router: Router, private navChangeService: NavChangeService, public token: CacheTokenService, |
|
private cookieService: CookieService, private message: NzMessageService, private notificationService: NzNotificationService) { } |
|
|
|
isGasStationNav: boolean |
|
isGasStation: boolean |
|
isGasStationBack: boolean |
|
num |
|
|
|
surname: string |
|
userName: string |
|
ngOnInit(): void { |
|
|
|
this.navChangeService.getMessage().subscribe((message: any) => { |
|
console.log(message);//send a message |
|
if (message.name == 'oilstation') { |
|
this.isGasStationNav = true |
|
} |
|
}); |
|
|
|
|
|
if (this.router.url.indexOf('petrolStation') != -1 && sessionStorage.getItem('isGasStation') == 'false') {//控制返回按钮显示 |
|
this.isGasStationBack = true |
|
} else { |
|
this.isGasStationBack = false |
|
} |
|
|
|
// if (this.router.url.indexOf('petrolStation') != -1 && sessionStorage.getItem('isGasStation') == 'true') { |
|
// this.isGasStation = true |
|
// } else { |
|
// this.isGasStation = false |
|
// } |
|
|
|
if (sessionStorage.getItem('isGasStation') == 'true') { |
|
this.isGasStation = true |
|
this.isGasStationNav = true |
|
} else { |
|
this.isGasStation = false |
|
this.isGasStationNav = false |
|
} |
|
|
|
this.router.events.pipe( |
|
filter(event => event instanceof NavigationEnd) |
|
).subscribe((event: any) => { |
|
if (event.url.indexOf('petrolStation') != -1 && sessionStorage.getItem('isGasStation') == 'false') {//控制返回按钮显示 |
|
this.isGasStationBack = true |
|
} else { |
|
this.isGasStationBack = false |
|
} |
|
}); |
|
|
|
setInterval(() => { |
|
this.getTime() |
|
}, 1000); |
|
this.isGasStation = JSON.parse(sessionStorage.getItem('isGasStation')) |
|
if (this.isGasStation) { |
|
this.surname = JSON.parse(sessionStorage.getItem('userdataOfgasstation')).name |
|
this.userName = JSON.parse(sessionStorage.getItem('userdataOfgasstation')).userName |
|
} else { |
|
this.surname = JSON.parse(sessionStorage.getItem('userdata')).name |
|
this.userName = JSON.parse(sessionStorage.getItem('userdata')).userName |
|
} |
|
|
|
|
|
|
|
} |
|
ngAfterViewInit() { |
|
SignalRAspNetCoreHelper.initSignalR(); |
|
abp.event.on('abp.notifications.received', (userNotification) => { |
|
console.log('abp.notifications.received收到通知', userNotification); |
|
this.receiptOfNotification(userNotification) |
|
}); |
|
} |
|
messageId=[] |
|
receiptOfNotification(userNotification) { |
|
let obj = { |
|
id:'xxx', |
|
messageId:this.notificationService.template(this.template!, {nzPlacement: 'bottomRight', nzClass: 'receiptOfNotification', nzDuration: 0, nzData: userNotification}).messageId |
|
} |
|
this.messageId.push(obj) |
|
console.log(99999,this.messageId) |
|
} |
|
|
|
|
|
close(item){ |
|
this.messageId.forEach((element)=>{ |
|
if(element.id == 'xxx'){ |
|
this.notificationService.remove(element.messageId) |
|
} |
|
}) |
|
} |
|
|
|
|
|
ngOnDestroy() { |
|
abp.signalr.disconnect() |
|
} |
|
|
|
//获得时间 |
|
time: string |
|
getTime() { |
|
let myDate = new Date(); |
|
let y = myDate.getFullYear(); |
|
let M = myDate.getMonth() + 1; //获取当前月份(0-11,0代表1月) |
|
let d = myDate.getDate(); //获取当前日(1-31) |
|
let h = myDate.getHours(); //获取当前小时数(0-23) |
|
let m = myDate.getMinutes(); //获取当前分钟数(0-59) |
|
let s = myDate.getSeconds(); //获取当前秒数(0-59) |
|
|
|
//检查是否小于10 |
|
M = check(M); |
|
d = check(d); |
|
h = check(h); |
|
m = check(m); |
|
s = check(s); |
|
let timestr = y + "-" + M + "-" + d + " " + h + ":" + m + ":" + s; |
|
this.time = timestr; |
|
//时间数字小于10,则在之前加个“0”补位。 |
|
function check(i) { |
|
let num = (i < 10) ? ("0" + i) : i; |
|
return num; |
|
} |
|
} |
|
|
|
//退出系统 |
|
signOut() { |
|
this.message.create('success', `退出成功`); |
|
this.token.delete() |
|
sessionStorage.clear() |
|
// window.localStorage.clear() |
|
|
|
localStorage.removeItem("isautologin") |
|
this.cookieService.set("token", '', new Date(new Date().getTime() + 1), '/'); |
|
this.cookieService.set("refreshToken", '', new Date(new Date().getTime() + 1), '/'); |
|
this.router.navigate(['/login']) |
|
} |
|
|
|
navChange(router) { |
|
this.router.navigate([router]) |
|
} |
|
|
|
goback() { |
|
this.router.navigate(['/plan']) |
|
this.isGasStationNav = false |
|
} |
|
|
|
|
|
//全屏 |
|
isfullscreen: boolean = false; |
|
fullscreenToggle() { |
|
const docElmWithBrowsersFullScreenFunctions = document.documentElement as HTMLElement & { |
|
mozRequestFullScreen(): Promise<void>; |
|
webkitRequestFullscreen(): Promise<void>; |
|
msRequestFullscreen(): Promise<void>; |
|
}; |
|
|
|
if (docElmWithBrowsersFullScreenFunctions.requestFullscreen) { |
|
docElmWithBrowsersFullScreenFunctions.requestFullscreen(); |
|
} else if (docElmWithBrowsersFullScreenFunctions.mozRequestFullScreen) { /* Firefox */ |
|
docElmWithBrowsersFullScreenFunctions.mozRequestFullScreen(); |
|
} else if (docElmWithBrowsersFullScreenFunctions.webkitRequestFullscreen) { /* Chrome, Safari and Opera */ |
|
docElmWithBrowsersFullScreenFunctions.webkitRequestFullscreen(); |
|
} else if (docElmWithBrowsersFullScreenFunctions.msRequestFullscreen) { /* IE/Edge */ |
|
docElmWithBrowsersFullScreenFunctions.msRequestFullscreen(); |
|
} |
|
|
|
this.isfullscreen = true; |
|
|
|
} |
|
closefullscreen() { |
|
const docWithBrowsersExitFunctions = document as Document & { |
|
mozCancelFullScreen(): Promise<void>; |
|
webkitExitFullscreen(): Promise<void>; |
|
msExitFullscreen(): Promise<void>; |
|
}; |
|
if (docWithBrowsersExitFunctions.exitFullscreen) { |
|
docWithBrowsersExitFunctions.exitFullscreen(); |
|
} else if (docWithBrowsersExitFunctions.mozCancelFullScreen) { /* Firefox */ |
|
docWithBrowsersExitFunctions.mozCancelFullScreen(); |
|
} else if (docWithBrowsersExitFunctions.webkitExitFullscreen) { /* Chrome, Safari and Opera */ |
|
docWithBrowsersExitFunctions.webkitExitFullscreen(); |
|
} else if (docWithBrowsersExitFunctions.msExitFullscreen) { /* IE/Edge */ |
|
docWithBrowsersExitFunctions.msExitFullscreen(); |
|
} |
|
this.isfullscreen = false; |
|
} |
|
}
|
|
|