4 changed files with 0 additions and 519 deletions
@ -1,178 +0,0 @@
|
||||
<mat-toolbar [color]="theme?'primary':'accent'"> |
||||
<!-- <mat-toolbar> --> |
||||
<h1>{{title}} <span *ngIf="planName != null">: {{planName}}</span> </h1> |
||||
|
||||
<!--分数框--> |
||||
<!-- <div class="grade" *ngIf="grade" onmouseover="xiangqing.style.display='block';" onmouseout="xiangqing.style.display='none';"> |
||||
<a class="active"><span ><a></a>{{grade}} 分</span></a> |
||||
</div> --> |
||||
<div class="uploadFile"> |
||||
<a href="http://139.9.106.124:8088/ExaminationLauncher.zip"><span>获取中高级指挥长考评系统(仅供练习使用)</span></a> |
||||
</div> |
||||
<!--详情框 --> |
||||
<div class="integrityDetails" id="xiangqing"> |
||||
<div class="integrityDetailsTop"> |
||||
<span class="span1">分类名称</span> |
||||
<span class="span2">已得分</span> |
||||
<span class="span3">总分</span> |
||||
</div> |
||||
<div class="integrityDetailsBody"> |
||||
<ul> |
||||
<li> |
||||
<div class="name">单位信息</div> |
||||
<div class="colorDiv"> |
||||
<div class="colorDivBac"> |
||||
<div class="colorDivCon" [style]="integrityDetails(8,10)"></div> |
||||
</div> |
||||
<span>8分</span> |
||||
</div> |
||||
<div class="number">10分</div> |
||||
</li> |
||||
<li> |
||||
<div class="name">建筑信息</div> |
||||
<div class="colorDiv"> |
||||
<div class="colorDivBac"> |
||||
<div class="colorDivCon" [style]="integrityDetails(8,10)"></div> |
||||
</div> |
||||
<span>8分</span> |
||||
</div> |
||||
<div class="number">10分</div> |
||||
</li> |
||||
<li> |
||||
<div class="name">平面图</div> |
||||
<div class="colorDiv"> |
||||
<div class="colorDivBac"> |
||||
<div class="colorDivCon" [style]="integrityDetails(8,10)"></div> |
||||
</div> |
||||
<span>8分</span> |
||||
</div> |
||||
<div class="number">10分</div> |
||||
</li> |
||||
<li> |
||||
<div class="name">四周毗邻</div> |
||||
<div class="colorDiv"> |
||||
<div class="colorDivBac"> |
||||
<div class="colorDivCon" [style]="integrityDetails(8,10)"></div> |
||||
</div> |
||||
<span>8分</span> |
||||
</div> |
||||
<div class="number">10分</div> |
||||
</li> |
||||
<li> |
||||
<div class="name">消防设施</div> |
||||
<div class="colorDiv"> |
||||
<div class="colorDivBac"> |
||||
<div class="colorDivCon" [style]="integrityDetails(8,10)"></div> |
||||
</div> |
||||
<span>8分</span> |
||||
</div> |
||||
<div class="number">10分</div> |
||||
</li> |
||||
<li> |
||||
<div class="name">重点部位</div> |
||||
<div class="colorDiv"> |
||||
<div class="colorDivBac"> |
||||
<div class="colorDivCon" [style]="integrityDetails(8,10)"></div> |
||||
</div> |
||||
<span>8分</span> |
||||
</div> |
||||
<div class="number">10分</div> |
||||
</li> |
||||
<li> |
||||
<div class="name">功能分区</div> |
||||
<div class="colorDiv"> |
||||
<div class="colorDivBac"> |
||||
<div class="colorDivCon" [style]="integrityDetails(8,10)"></div> |
||||
</div> |
||||
<span>8分</span> |
||||
</div> |
||||
<div class="number">10分</div> |
||||
</li> |
||||
<li> |
||||
<div class="name">实景图</div> |
||||
<div class="colorDiv"> |
||||
<div class="colorDivBac"> |
||||
<div class="colorDivCon" [style]="integrityDetails(8,10)"></div> |
||||
</div> |
||||
<span>8分</span> |
||||
</div> |
||||
<div class="number">10分</div> |
||||
</li> |
||||
<li> |
||||
<div class="name">CAD上传</div> |
||||
<div class="colorDiv"> |
||||
<div class="colorDivBac"> |
||||
<div class="colorDivCon" [style]="integrityDetails(8,10)"></div> |
||||
</div> |
||||
<span>8分</span> |
||||
</div> |
||||
<div class="number">10分</div> |
||||
</li> |
||||
</ul> |
||||
</div> |
||||
<div style="width: 100%;text-align: center;font-size: 13px;"> |
||||
仅供参考 |
||||
</div> |
||||
</div> |
||||
<p style="font-size: 16px;position: absolute; right: 170px;">欢迎您, {{realName}}</p> |
||||
|
||||
<!-- 全屏 --> |
||||
<button mat-button (click)="!isfullscreen?fullscreenToggle():closefullscreen()" class="fullscreen"> |
||||
<ng-container *ngIf="!isfullscreen; else elseTemplate"> |
||||
<mat-icon *ngIf="!isfullscreen">fullscreen</mat-icon> |
||||
</ng-container> |
||||
<ng-template #elseTemplate> |
||||
<mat-icon else>fullscreen_exit</mat-icon> |
||||
</ng-template> |
||||
</button> |
||||
|
||||
<!-- 黑夜模式开关 --> |
||||
<mat-slide-toggle (change)='onChange($event.checked)' class="darktheme"></mat-slide-toggle> |
||||
|
||||
<!-- 锁屏按钮 --> |
||||
<!-- <button mat-button class="lockscreen" [routerLink]="['/lockscreen']" routerLinkActive="router-link-active" > |
||||
<mat-icon>screen_lock_landscape</mat-icon> |
||||
</button> --> |
||||
|
||||
<!-- 登录信息按钮 --> |
||||
<button mat-icon-button [matMenuTriggerFor]="appMenu" class="login"> |
||||
<mat-icon>account_circle</mat-icon> |
||||
</button> |
||||
<mat-menu #appMenu="matMenu"> |
||||
<button mat-menu-item [routerLink]="['/ui/userdata']" > |
||||
<mat-icon>perm_identity</mat-icon> |
||||
<span>个人资料</span> |
||||
</button> |
||||
<button mat-menu-item (click)='changpsw()'> |
||||
<mat-icon>verified_user</mat-icon> |
||||
<span>修改密码</span> |
||||
</button> |
||||
<button mat-menu-item (click)='signOut()'> |
||||
<mat-icon>power_settings_new</mat-icon> |
||||
<span>退出系统</span> |
||||
</button> |
||||
</mat-menu> |
||||
|
||||
<!-- 设置按钮 --> |
||||
<button mat-icon-button [matMenuTriggerFor]="appSet" class="setting"> |
||||
<mat-icon>settings</mat-icon> |
||||
</button> |
||||
<mat-menu #appSet="matMenu" yPosition="below" xPosition="after"> |
||||
<button mat-menu-item (click)="defaulttheme.next()"> |
||||
<mat-icon>palette</mat-icon> |
||||
<span>默认主题</span> |
||||
</button> |
||||
<button mat-menu-item (click)="redtheme.next()"> |
||||
<mat-icon>whatshot</mat-icon> |
||||
<span>亮色主题</span> |
||||
</button> |
||||
<button mat-menu-item (click)="standard()"> |
||||
<mat-icon>settings_overscan</mat-icon> |
||||
<span>标准模式</span> |
||||
</button> |
||||
<button mat-menu-item (click)="boxed('boxed')"> |
||||
<mat-icon>laptop</mat-icon> |
||||
<span>盒子模式</span> |
||||
</button> |
||||
</mat-menu> |
||||
</mat-toolbar> |
@ -1,181 +0,0 @@
|
||||
|
||||
//@import "/src/app/style.css"; |
||||
mat-toolbar{ |
||||
position: relative; |
||||
padding-left: 65px; |
||||
.grade{ |
||||
width: 120px; |
||||
height: 45px; |
||||
//border:1px solid #F00; |
||||
position: absolute; |
||||
text-align: center; |
||||
margin-left: 250px; |
||||
margin-top: 0px; |
||||
-webkit-transform: rotate(-10deg); |
||||
-moz-transform: rotate(-10deg); |
||||
transform:text; |
||||
a{ |
||||
box-sizing: border-box; |
||||
|
||||
display: inline-block; |
||||
color: #fff; |
||||
//padding: 12px 5px; |
||||
text-decoration: none; |
||||
cursor: pointer; |
||||
} |
||||
span{ |
||||
text-align: center; |
||||
font-size: 36px; |
||||
line-height: 45px; |
||||
font-family: "STXinwei"; |
||||
color:#FFA500; |
||||
cursor: default; |
||||
text-decoration:underline; |
||||
padding-bottom:5px; |
||||
|
||||
} |
||||
a.active>span ,a:hover>span { |
||||
//padding-bottom: 8px; |
||||
border-bottom: 3px solid #FFA500; |
||||
|
||||
} |
||||
} |
||||
} |
||||
.logo{ |
||||
height: 64px; |
||||
widows: 64px; |
||||
} |
||||
|
||||
h1{ |
||||
line-height: 64px; |
||||
color: white; |
||||
} |
||||
mat-icon{ |
||||
color: white; |
||||
} |
||||
.login{ |
||||
position: absolute; |
||||
right:30px; |
||||
} |
||||
.fullscreen{ |
||||
position: absolute; |
||||
right:60px; |
||||
} |
||||
.setting{ |
||||
position: absolute; |
||||
right:120px; |
||||
} |
||||
.lockscreen{ |
||||
position: absolute; |
||||
right:160px; |
||||
} |
||||
.darktheme{ |
||||
position: absolute; |
||||
right:140px; |
||||
display: none; |
||||
} |
||||
|
||||
.boxed{ |
||||
width: 1200px; |
||||
} |
||||
|
||||
//鼠标移入详情页面显示 |
||||
.integrityDetails{ |
||||
position: absolute; |
||||
z-index: 999; |
||||
color: black; |
||||
display: none; |
||||
width: 350px; |
||||
height:290px; |
||||
left: 440px; |
||||
top: 30px; |
||||
border: 1px solid rgba(0, 0, 0, 0.22); |
||||
background-color: white; |
||||
.integrityDetailsTop{ |
||||
width: 100%; |
||||
height: 23px; |
||||
line-height:23px; |
||||
border-bottom: 1px solid rgba(0, 0, 0, 0.22); |
||||
margin-bottom: 1px; |
||||
font-size: 14px; |
||||
span{ |
||||
display: inline-block; |
||||
text-align: center; |
||||
font-weight: 800; |
||||
} |
||||
.span1{ |
||||
width: 25%; |
||||
} |
||||
.span2{ |
||||
width: 60%; |
||||
} |
||||
.span3{ |
||||
width: 15%; |
||||
} |
||||
} |
||||
.integrityDetailsBody{ |
||||
ul{ |
||||
li{ |
||||
width: 100%; |
||||
height: 23px; |
||||
line-height: 23px; |
||||
margin: 3px 15px; |
||||
div{ |
||||
float: left; |
||||
font-size: 13px; |
||||
} |
||||
.name{ |
||||
width: 25%; |
||||
height: 100%; |
||||
} |
||||
.colorDiv{ |
||||
width: 60%; |
||||
height: 100%; |
||||
position: relative; |
||||
.colorDivBac{ |
||||
width: 90%; |
||||
height: 100%; |
||||
position: absolute; |
||||
left: 50%; |
||||
top: 50%; |
||||
transform: translate(-50%,-50%); |
||||
background-color: #dfe5ec; |
||||
border-radius: 5px; |
||||
.colorDivCon{ |
||||
border-radius: 5px; |
||||
height: 100%; |
||||
background-color: #2398f1; |
||||
} |
||||
} |
||||
span{ |
||||
position: absolute; |
||||
left: 50%; |
||||
top: 50%; |
||||
transform: translate(-50%,-50%); |
||||
// color: white; |
||||
font-weight: 600; |
||||
} |
||||
} |
||||
.number{ |
||||
width: 15%; |
||||
height: 100%; |
||||
} |
||||
} |
||||
} |
||||
|
||||
} |
||||
} |
||||
.uploadFile{ |
||||
height: 64px; |
||||
line-height: 64px; |
||||
a{ |
||||
color: rgb(26, 15, 179); |
||||
font-size: 22px; |
||||
position: absolute; |
||||
right: 370px; |
||||
} |
||||
a:hover{ |
||||
text-decoration: underline; |
||||
color: red; |
||||
} |
||||
} |
@ -1,25 +0,0 @@
|
||||
import { async, ComponentFixture, TestBed } from '@angular/core/testing'; |
||||
|
||||
import { TabbarComponent } from './tabbar.component'; |
||||
|
||||
describe('TabbarComponent', () => { |
||||
let component: TabbarComponent; |
||||
let fixture: ComponentFixture<TabbarComponent>; |
||||
|
||||
beforeEach(async(() => { |
||||
TestBed.configureTestingModule({ |
||||
declarations: [ TabbarComponent ] |
||||
}) |
||||
.compileComponents(); |
||||
})); |
||||
|
||||
beforeEach(() => { |
||||
fixture = TestBed.createComponent(TabbarComponent); |
||||
component = fixture.componentInstance; |
||||
fixture.detectChanges(); |
||||
}); |
||||
|
||||
it('should create', () => { |
||||
expect(component).toBeTruthy(); |
||||
}); |
||||
}); |
@ -1,135 +0,0 @@
|
||||
import { Component, OnInit,Output,EventEmitter } from '@angular/core'; |
||||
import { HttpClient } from '@angular/common/http' |
||||
import { Router,ActivatedRoute,NavigationEnd } from '@angular/router' |
||||
import {CacheTokenService} from '../http-interceptors/cache-token.service'//引入服务
|
||||
import { MatDialog } from '@angular/material/dialog'; |
||||
import {ChangepasswordComponent} from '../ui/changepassword/changepassword.component' |
||||
import { MatSnackBar, MatSnackBarConfig } from '@angular/material/snack-bar'; |
||||
import { filter } from 'rxjs/operators'; |
||||
|
||||
|
||||
@Component({ |
||||
selector: 'app-tabbar', |
||||
templateUrl: './tabbar.component.html', |
||||
styleUrls: ['./tabbar.component.scss'] |
||||
}) |
||||
export class TabbarComponent implements OnInit { |
||||
theme: boolean = true; |
||||
@Output() |
||||
toggle = new EventEmitter<void>(); |
||||
@Output() |
||||
toggleDarkTheme = new EventEmitter<boolean>(); |
||||
@Output() |
||||
defaulttheme = new EventEmitter<boolean>(); |
||||
@Output() |
||||
redtheme = new EventEmitter<boolean>(); |
||||
|
||||
onChange(eventValue: boolean){ |
||||
this.toggleDarkTheme.emit(eventValue); |
||||
} |
||||
|
||||
constructor(private http:HttpClient,private router:Router,private route:ActivatedRoute,public token:CacheTokenService,public dialog: MatDialog, |
||||
public snackBar: MatSnackBar) { } |
||||
|
||||
grade = null //单位完整度得分
|
||||
title:any = "数字化预案编制管理平台" |
||||
planName:any = null |
||||
routerEventsListener //监测路由变化
|
||||
ngOnInit() { |
||||
|
||||
} |
||||
|
||||
ngOnDestroy(){ |
||||
} |
||||
|
||||
|
||||
integrityDetails(width,zong){ |
||||
let style:any = {} |
||||
style.width = (width/zong)*100 +'%'; |
||||
return style |
||||
} |
||||
|
||||
boxed(css){ |
||||
const Element = document.body; |
||||
Element.style.width = '1200px' |
||||
} |
||||
|
||||
standard(){ |
||||
const Element = document.body; |
||||
Element.style.width = '100%' |
||||
} |
||||
|
||||
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; |
||||
} |
||||
|
||||
realName:any; //登录用户信息
|
||||
//获取用户信息
|
||||
getUserInfo () { |
||||
this.http.get("/api/Account/Profiles").subscribe((data:any)=>{ |
||||
this.realName = data.realName |
||||
}) |
||||
} |
||||
|
||||
//退出系统
|
||||
signOut = () => { |
||||
let out = confirm("您确定要退出吗") |
||||
if(out) { |
||||
this.http.post('/api/Account/SignOut',{}).subscribe( |
||||
data=> { |
||||
this.token.delete() |
||||
sessionStorage.clear() |
||||
window.localStorage.clear() |
||||
const config = new MatSnackBarConfig(); |
||||
config.verticalPosition = 'bottom'; |
||||
config.duration = 3000 |
||||
this.snackBar.open('成功退出','确定',config); |
||||
} |
||||
) |
||||
} |
||||
} |
||||
|
||||
//修改密码
|
||||
changpsw() { |
||||
let dialogRef = this.dialog.open(ChangepasswordComponent,
|
||||
{width:'348px'}); |
||||
|
||||
dialogRef.afterClosed().subscribe();
|
||||
} |
||||
|
||||
} |
Loading…
Reference in new issue