陈鹏飞 3 years ago
parent
commit
ab255904aa
  1. 2
      src/app/babylon/controller/serve-manager.ts
  2. 9
      src/app/babylon/view/facilityinfoinscene-window/facilityinfoinscene-window.ts
  3. 4
      src/app/pages/home/home.component.html
  4. 15
      src/app/pages/home/home.component.scss
  5. 6
      src/app/pages/pages-routing.module.ts
  6. 3
      src/app/pages/pages.module.ts
  7. 2
      src/app/pages/register/register.component.scss
  8. 153
      src/app/pages/today-warning-admin/today-warning-admin.component.html
  9. 157
      src/app/pages/today-warning-admin/today-warning-admin.component.scss
  10. 69
      src/app/pages/today-warning-admin/today-warning-admin.component.ts
  11. 72
      src/app/pages/today-warning/today-warning.component.html
  12. 27
      src/app/pages/today-warning/today-warning.component.scss
  13. 24
      src/app/pages/today-warning/today-warning.component.ts
  14. 6
      src/app/ui/tabbar/tabbar.component.html
  15. 46
      src/app/ui/tabbar/tabbar.component.scss
  16. 2
      src/app/ui/tabbar/tabbar.component.ts
  17. 10
      src/app/ui/title/title.component.html
  18. 23
      src/app/ui/title/title.component.scss
  19. BIN
      src/assets/images/caiji.jpg
  20. BIN
      src/assets/images/excel.png
  21. BIN
      src/assets/images/head.png
  22. BIN
      src/assets/images/level1.png
  23. BIN
      src/assets/images/level2.png
  24. BIN
      src/assets/images/level3.png
  25. BIN
      src/assets/images/logo.png
  26. BIN
      src/assets/images/logosm.png
  27. BIN
      src/assets/images/navbg.png
  28. 19
      src/theme.less

2
src/app/babylon/controller/serve-manager.ts

@ -152,7 +152,7 @@ export class ServeManager {
//队列性,批量上传
uploadFile(index: number, files: File[], resPath_out, onOneSuccess: (name: string, path: string, file: File) => void, onEnd: () => void) {
if (index < files.length) {
//console.log("上传文件", files[index].name);
console.log("上传文件", files[index].name);
ServeManager.instance.openFileSelect(files[index], resPath_out, (name: string, path: string, file: File) => {
onOneSuccess(name, path, file);
this.uploadFile(index + 1, files, resPath_out, onOneSuccess, onEnd);

9
src/app/babylon/view/facilityinfoinscene-window/facilityinfoinscene-window.ts

@ -1,6 +1,7 @@
import { EventManager } from "@angular/platform-browser";
import { AbstractMesh, Ray, RayHelper, Vector3 } from "@babylonjs/core";
import { classToClass } from "class-transformer";
import { PlanComponent } from "src/app/pages/plan/plan.component";
import { ModelChangeType } from "../../controller/data-manager";
import { Event_KeyboardInput } from "../../controller/event-manager/events/event-keyboard-input";
import { Event_ModelInfoChange } from "../../controller/event-manager/events/event-modelinfo-change";
@ -23,7 +24,7 @@ import { FacilityInfoUIItem } from "./facilityinfo-ui-item";
//所有放在场景中的设备 信息界面
export class FacilityInfoInSceneWindow extends UIBase {
static instance: FacilityInfoInSceneWindow;
// three: ThreeDimensionalHomeComponent;//前端组件
three: PlanComponent;//前端组件
// scrollView: ScrollViewer;
// content: StackPanel;
@ -149,7 +150,7 @@ export class FacilityInfoInSceneWindow extends UIBase {
//选中,通知前端
selectFacilityItemToThree(facilityInfoUIItem: FacilityInfoUIItem[], isChecked?: boolean) {
// this.three = ThreeDimensionalHomeComponent.instance;
this.three = PlanComponent.instance;
// if (this.isMultiselect) { // 多选
// if (isChecked) { //选中
// facilityInfoUIItem.forEach(element => {
@ -211,7 +212,7 @@ export class FacilityInfoInSceneWindow extends UIBase {
}
/**
*
* UI中的显示状态
* @param facilityType
*/
getFacilityUIShowType(facilityType: FacilityType): boolean {
@ -221,7 +222,7 @@ export class FacilityInfoInSceneWindow extends UIBase {
// return item.isShow;
// }
// }
return false;
return true;
}

4
src/app/pages/home/home.component.html

@ -6,10 +6,10 @@
<li [routerLink]="['/home/plan']" routerLinkActive="router-link-active">
三维预案
</li>
<li [routerLink]="['/home/warning']" routerLinkActive="router-link-active">
<li [routerLink]="['/home/warning/admin']" routerLinkActive="router-link-active">
今日预警
</li>
<li [routerLink]="['/home/records']" routerLinkActive="router-link-active">
<li [routerLink]="['/home/records/petrolStation']" routerLinkActive="router-link-active">
违规记录
</li>
</div>

15
src/app/pages/home/home.component.scss

@ -2,29 +2,30 @@
width: 100%;
height: 100%;
overflow: hidden;
background-image: radial-gradient(closest-side at 50% 55%,#03447c, #02325c, #002046);
// background-image: radial-gradient(closest-side at 50% 55%,#03447c, #02325c, #002046);
background: radial-gradient(closest-side at 50% 55%, #004988 0%, #00122D 100%);
display: flex;
flex-direction: column;
}
.menu {
height: 52px;
height: 56px;
width: 100%;
display: flex;
justify-content: center;
align-items: center;
font-size: 17px;
background: url('../../../assets/images/navbg.png') no-repeat;
background-size: 100% 100%;
li {
width: 10%;
height: 52px;
line-height: 52px;
height: 46px;
line-height: 46px;
text-align: center;
cursor: pointer;
font-family: sybold;
color: #EBFAFF;
}
}
.content {
@ -34,5 +35,5 @@
}
.router-link-active {
background-image: linear-gradient(to right, #052D5A, #0B416F, #136B93, #1F7C93, #136B93, #0B416F, #052D5A);
background: linear-gradient(270deg, rgba(35, 153, 255, 0) 0%, #1c8199 50%, rgba(35, 153, 255, 0) 100%);
}

6
src/app/pages/pages-routing.module.ts

@ -4,11 +4,13 @@ import { PlanComponent } from './plan/plan.component';
import { TodayWarningComponent } from './today-warning/today-warning.component';
import { CriminalRecordsComponent } from './criminal-records/criminal-records.component';
import {AuthGuard} from '../auth.guard'
import { TodayWarningAdminComponent } from './today-warning-admin/today-warning-admin.component';
const routes: Routes = [
{ path: 'plan', component: PlanComponent , data: { permission: 'xxxx' },canActivate: [AuthGuard]},
{ path: 'warning', component: TodayWarningComponent },
{ path: 'records', component: CriminalRecordsComponent }
{ path: 'warning/petrolStation', component: TodayWarningComponent },
{ path: 'warning/admin', component: TodayWarningAdminComponent },
{ path: 'records/petrolStation', component: CriminalRecordsComponent }
];
@NgModule({

3
src/app/pages/pages.module.ts

@ -28,8 +28,9 @@ import { NzModalModule } from 'ng-zorro-antd/modal';
import { NzPaginationModule } from 'ng-zorro-antd/pagination';
import { NzDropDownModule } from 'ng-zorro-antd/dropdown';
import { NzMessageModule } from 'ng-zorro-antd/message';
import { TodayWarningAdminComponent } from './today-warning-admin/today-warning-admin.component';
@NgModule({
declarations: [LoginComponent, RegisterComponent, HomeComponent, PlanComponent, TodayWarningComponent, CriminalRecordsComponent,],
declarations: [LoginComponent, RegisterComponent, HomeComponent, PlanComponent, TodayWarningComponent, CriminalRecordsComponent, TodayWarningAdminComponent,],
imports: [
PagesRoutingModule,
CommonModule,

2
src/app/pages/register/register.component.scss

@ -1,7 +1,7 @@
.login {
width: 100%;
height: 100%;
background: url('../../../assets/images/caiji.jpg');
// background: url('../../../assets/images/caiji.jpg');
background-size:100% 100%;
}
.loginBox {

153
src/app/pages/today-warning-admin/today-warning-admin.component.html

@ -0,0 +1,153 @@
<div class="warningbox">
<div class="title">
<app-title [name]="'当日违规事件列表'"></app-title>
</div>
<div class="search">
<form nz-form [formGroup]="validateForm" class="login-form" (ngSubmit)="submitForm()">
<nz-form-item class="searchParams">
<nz-form-control>
<nz-select id="level" formControlName="level" nzPlaceHolder="请选择级别">
<nz-option nzValue="1" nzLabel="一级"></nz-option>
<nz-option nzValue="2" nzLabel="二级"></nz-option>
<nz-option nzValue="3" nzLabel="三级"></nz-option>
</nz-select>
</nz-form-control>
</nz-form-item>
<nz-form-item class="searchParams">
<nz-form-control>
<nz-select id="type" formControlName="type" nzPlaceHolder="请选择预警类型">
<nz-option nzValue="1" nzLabel="一级"></nz-option>
<nz-option nzValue="2" nzLabel="二级"></nz-option>
<nz-option nzValue="3" nzLabel="三级"></nz-option>
</nz-select>
</nz-form-control>
</nz-form-item>
<nz-form-item class="searchParams">
<nz-form-control>
<nz-select id="company" formControlName="company" nzPlaceHolder="请选择所属公司">
<nz-option nzValue="1" nzLabel="一级"></nz-option>
<nz-option nzValue="2" nzLabel="二级"></nz-option>
<nz-option nzValue="3" nzLabel="三级"></nz-option>
</nz-select>
</nz-form-control>
</nz-form-item>
<nz-form-item class="searchParams">
<nz-form-control>
<nz-select id="area" formControlName="area" nzPlaceHolder="请选择区域">
<nz-option nzValue="1" nzLabel="一级"></nz-option>
<nz-option nzValue="2" nzLabel="二级"></nz-option>
<nz-option nzValue="3" nzLabel="三级"></nz-option>
</nz-select>
</nz-form-control>
</nz-form-item>
<nz-form-item class="searchParams">
<nz-form-control>
<nz-select id="site" formControlName="site" nzPlaceHolder="请选择站点">
<nz-option nzValue="1" nzLabel="一级"></nz-option>
<nz-option nzValue="2" nzLabel="二级"></nz-option>
<nz-option nzValue="3" nzLabel="三级"></nz-option>
</nz-select>
</nz-form-control>
</nz-form-item>
<nz-form-item class="searchParams">
<nz-form-control [nzSm]="16" [nzXs]="24">
<nz-date-picker id="datePicker" formControlName="datePicker" nzPlaceHolder="请选择时间"></nz-date-picker>
</nz-form-control>
</nz-form-item>
<nz-form-item class="btn">
<nz-form-control>
<button nz-button type="submit" class="submit"><i nz-icon [nzType]="'search'"></i>查询</button>
</nz-form-control>
</nz-form-item>
<nz-form-item class="btn">
<nz-form-control>
<button nz-button type="button" class="reset" (click)="resetForm($event)"><i nz-icon
[nzType]="'sync'"></i>重置</button>
</nz-form-control>
</nz-form-item>
</form>
</div>
<!-- <div class="warningnumber">
<span class="num">39</span>
<span class="today">今日违规</span>
</div> -->
<div class="listbox">
<div nz-row class="listitem listitemhead">
<div nz-col nzSpan="2" style="box-sizing: border-box;padding-left: 10px;">
预警级别
</div>
<div nz-col nzSpan="2">
预警类型
</div>
<div nz-col nzSpan="4">
违规信息
</div>
<div nz-col nzSpan="3">
所属公司
</div>
<div nz-col nzSpan="2">
区域
</div>
<div nz-col nzSpan="3">
站点
</div>
<div nz-col nzSpan="3">
摄像头
</div>
<div nz-col nzSpan="3">
违规时间
</div>
<div nz-col nzSpan="2">
操作
</div>
</div>
<div nz-row class="listitem" *ngFor="let item of list">
<div nz-col nzSpan="2">
<span *ngIf="item.level === 1" style="color: #FF4B65;">
<img src="../../../assets/images/level1.png">
Ⅰ级
</span>
<span *ngIf="item.level === 2" style="color: #FFBD4B;">
<img src="../../../assets/images/level2.png">
Ⅱ级
</span>
<span *ngIf="item.level === 3" style="color: #23D9FF;">
<img src="../../../assets/images/level3.png">
Ⅲ级
</span>
</div>
<div nz-col nzSpan="2">
加油站违规
</div>
<div nz-col nzSpan="4">
工作人员倚靠加油机或立柱
</div>
<div nz-col nzSpan="3">
中化北京分公司
</div>
<div nz-col nzSpan="2">
北京-朝阳
</div>
<div nz-col nzSpan="3">
北京市第十九加油站
<span class="propsm propsm1" *ngIf="item.prop == 1">自营</span>
<span class="propsm propsm2" *ngIf="item.prop == 2">加盟</span>
</div>
<div nz-col nzSpan="3">
加油区2号摄像头
</div>
<div nz-col nzSpan="3">
2021-10-12 09:28:13
</div>
<div nz-col nzSpan="2">
<button nz-button>查看</button>
<img style="margin-left: 24px;cursor: pointer;" src="../../../assets/images/excel.png" alt="">
</div>
</div>
</div>
</div>

157
src/app/pages/today-warning-admin/today-warning-admin.component.scss

@ -0,0 +1,157 @@
.warningbox {
width: 100%;
height: 100%;
position: relative;
display: flex;
flex-direction: column;
.title {
box-sizing: border-box;
padding: 0 20PX;
width: 100%;
height: 48px;
margin: 16px 0;
}
.search {
box-sizing: border-box;
padding: 0 36px;
width: 100%;
height: 32px;
// margin-bottom: 18px;
form {
width: 100%;
height: 32px;
display: flex;
justify-content: space-around;
.searchParams {
width: 14.5%;
}
.btn {
width: 5%;
}
nz-select {
color: #fff;
}
nz-date-picker {
background-color: #002552;
width: 145%;
}
}
}
.warningnumber {
position: absolute;
left: 23px;
top: -60px;
.num {
font-size: 50px;
text-shadow: 0px 0px 6px #8df;
color: white;
font-weight: 600;
}
.today {
font-size: 18px;
font-family: titlefont;
color: #D0EAFF;
}
}
.listbox {
flex: 1;
overflow-y: auto;
box-sizing: border-box;
padding: 20px 47px 20px 39px;
.listitem {
width: 100%;
height: 78px;
display: flex;
align-items: center;
border: 1px solid rgba(54, 162, 255, 0.478);
color: #91CCFF;
margin-bottom: 12px;
background: linear-gradient(180deg, rgba(3, 0, 0, 0) 0%, rgba(0, 46, 91, 0.68) 100%);
box-sizing: border-box;
padding-left: 20px;
div {
font-size: 15px;
text-align: left;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
display: flex;
align-items: center;
button {
font-size: 15px;
background-color: #013064;
border: 1px solid #4c8ac8;
color: #91CCFF;
}
}
.propsm {
display: inline-block;
width: 38px;
height: 20px;
line-height: 20px;
font-size: 12px;
color: #fff;
border-radius: 2px;
text-align: center;
margin-left: 8px;
}
.propsm1 {
background: #2399FF;
}
.propsm2 {
background: #FF9963;
}
}
.listitemhead {
height: 40px;
line-height: 40px;
background: rgba(35, 153, 255, 0.22);
border: 1px solid rgba(35, 217, 255, 0.4);
color: #23D9FF;
}
}
}
//遮罩层
::ng-deep .vertical-center-modal {
display: flex;
align-items: center;
justify-content: center;
}
::ng-deep .ant-modal-body {
background: #072549;
height: 660px;
padding: 5px;
// border: 1px solid #8eb9e3;
box-shadow: 0 0 3px #8eb9e3;
color: #fff;
}
::ng-deep .ant-modal-close-x {
width: 36px;
height: 36px;
line-height: 36px;
color: white;
}
::ng-deep .vertical-center-modal .ant-modal {
top: 0;
}

69
src/app/pages/today-warning-admin/today-warning-admin.component.ts

@ -0,0 +1,69 @@
import { Component, OnInit } from '@angular/core';
import { FormBuilder, FormGroup, Validators } from '@angular/forms';
@Component({
selector: 'app-today-warning-admin',
templateUrl: './today-warning-admin.component.html',
styleUrls: ['./today-warning-admin.component.scss']
})
export class TodayWarningAdminComponent implements OnInit {
validateForm!: FormGroup;
constructor(private fb: FormBuilder) { }
ngOnInit(): void {
this.validateForm = this.fb.group({
level: [null],
type: [null],
company: [null],
area: [null],
site: [null],
datePicker: [null]
});
}
submitForm(): void {
for (const i in this.validateForm.controls) {
this.validateForm.controls[i].markAsDirty();
this.validateForm.controls[i].updateValueAndValidity();
}
console.log(this.validateForm)
}
resetForm(e: MouseEvent): void {
e.preventDefault();
this.validateForm.reset();
for (const key in this.validateForm.controls) {
this.validateForm.controls[key].markAsPristine();
this.validateForm.controls[key].updateValueAndValidity();
}
}
list: any = [
{ level: 1, name: '北京市第十九加油站', prop: 1, type: '加油区违规', content: '工作人员倚靠加油机或者立柱', company: '中化北京分公司', area: '北京-朝阳', site: '加油区2号摄像头', time: '2021-10-12 09:28:13' },
{ level: 2, name: '北京市第十九加油站', prop: 2, type: '加油区违规', content: '工作人员倚靠加油机或者立柱', company: '中化北京分公司', area: '北京-朝阳', site: '加油区2号摄像头', time: '2021-10-12 09:28:13' },
{ level: 3, name: '北京市第十九加油站', prop: 1, type: '加油区违规', content: '工作人员倚靠加油机或者立柱', company: '中化北京分公司', area: '北京-朝阳', site: '加油区2号摄像头', time: '2021-10-12 09:28:13' },
{ level: 1, name: '北京市第十九加油站', prop: 2, type: '加油区违规', content: '工作人员倚靠加油机或者立柱', company: '中化北京分公司', area: '北京-朝阳', site: '加油区2号摄像头', time: '2021-10-12 09:28:13' },
{ level: 1, name: '北京市第十九加油站', prop: 1, type: '加油区违规', content: '工作人员倚靠加油机或者立柱', company: '中化北京分公司', area: '北京-朝阳', site: '加油区2号摄像头', time: '2021-10-12 09:28:13' },
{ level: 1, name: '北京市第十九加油站', prop: 2, type: '加油区违规', content: '工作人员倚靠加油机或者立柱', company: '中化北京分公司', area: '北京-朝阳', site: '加油区2号摄像头', time: '2021-10-12 09:28:13' },
{ level: 1, name: '北京市第十九加油站', prop: 1, type: '加油区违规', content: '工作人员倚靠加油机或者立柱', company: '中化北京分公司', area: '北京-朝阳', site: '加油区2号摄像头', time: '2021-10-12 09:28:13' },
{ level: 1, name: '北京市第十九加油站', prop: 2, type: '加油区违规', content: '工作人员倚靠加油机或者立柱', company: '中化北京分公司', area: '北京-朝阳', site: '加油区2号摄像头', time: '2021-10-12 09:28:13' },
{ level: 1, name: '北京市第十九加油站', prop: 1, type: '加油区违规', content: '工作人员倚靠加油机或者立柱', company: '中化北京分公司', area: '北京-朝阳', site: '加油区2号摄像头', time: '2021-10-12 09:28:13' },
{ level: 1, name: '北京市第十九加油站', prop: 2, type: '加油区违规', content: '工作人员倚靠加油机或者立柱', company: '中化北京分公司', area: '北京-朝阳', site: '加油区2号摄像头', time: '2021-10-12 09:28:13' },
{ level: 1, name: '北京市第十九加油站', prop: 1, type: '加油区违规', content: '工作人员倚靠加油机或者立柱', company: '中化北京分公司', area: '北京-朝阳', site: '加油区2号摄像头', time: '2021-10-12 09:28:13' },
{ level: 1, name: '北京市第十九加油站', prop: 2, type: '加油区违规', content: '工作人员倚靠加油机或者立柱', company: '中化北京分公司', area: '北京-朝阳', site: '加油区2号摄像头', time: '2021-10-12 09:28:13' }
]
isVisible = false;
showModal(): void {
this.isVisible = true;
}
handleOk(): void {
console.log('Button ok clicked!');
this.isVisible = false;
}
handleCancel(): void {
console.log('Button cancel clicked!');
this.isVisible = false;
}
}

72
src/app/pages/today-warning/today-warning.component.html

@ -6,7 +6,7 @@
<form nz-form [formGroup]="validateForm" class="login-form" (ngSubmit)="submitForm()">
<nz-form-item class="searchParams">
<nz-form-control>
<nz-select id="level" formControlName="level" nzPlaceHolder="请选择级别">
<nz-select id="level" formControlName="level" nzPlaceHolder="请选择预警级别">
<nz-option nzValue="1" nzLabel="一级"></nz-option>
<nz-option nzValue="2" nzLabel="二级"></nz-option>
<nz-option nzValue="3" nzLabel="三级"></nz-option>
@ -16,7 +16,7 @@
<nz-form-item class="searchParams">
<nz-form-control>
<nz-select id="type" formControlName="type" nzPlaceHolder="请选择事件类型">
<nz-select id="type" formControlName="type" nzPlaceHolder="请选择预警类型">
<nz-option nzValue="1" nzLabel="一级"></nz-option>
<nz-option nzValue="2" nzLabel="二级"></nz-option>
<nz-option nzValue="3" nzLabel="三级"></nz-option>
@ -26,7 +26,7 @@
<nz-form-item class="searchParams">
<nz-form-control>
<nz-select id="site" formControlName="site" nzPlaceHolder="请选择地点">
<nz-select id="site" formControlName="site" nzPlaceHolder="请选择摄像头">
<nz-option nzValue="1" nzLabel="一级"></nz-option>
<nz-option nzValue="2" nzLabel="二级"></nz-option>
<nz-option nzValue="3" nzLabel="三级"></nz-option>
@ -36,11 +36,11 @@
<nz-form-item class="searchParams">
<nz-form-control [nzSm]="16" [nzXs]="24">
<nz-date-picker id="datePicker" formControlName="datePicker" nzPlaceHolder="请选择时间"></nz-date-picker>
<nz-date-picker id="datePicker" formControlName="datePicker" nzPlaceHolder="请选择时间"></nz-date-picker>
</nz-form-control>
</nz-form-item>
<nz-form-item class="btn">
<nz-form-item class="btn">
<nz-form-control>
<button nz-button type="submit" class="submit"><i nz-icon [nzType]="'search'"></i>查询</button>
</nz-form-control>
@ -48,62 +48,52 @@
<nz-form-item class="btn">
<nz-form-control>
<button nz-button type="button" class="reset"
(click)="resetForm($event)"
><i nz-icon [nzType]="'sync'"></i>重置</button>
<button nz-button type="button" class="reset" (click)="resetForm($event)"><i nz-icon
[nzType]="'sync'"></i>重置</button>
</nz-form-control>
</nz-form-item>
</form>
</div>
<div class="warningnumber">
<!-- <div class="warningnumber">
<span class="num">39</span>
<span class="today">今日违规</span>
</div>
</div> -->
<div class="listbox">
<div nz-row class="listitem">
<div nz-col nzSpan="4">
</div>
<div nz-col nzSpan="4">
编号:
</div>
<div nz-col nzSpan="5">
违规行为:
</div>
<div nz-col nzSpan="4">
地点
</div>
<div nz-col nzSpan="5">
违规时间
</div>
<div nz-col nzSpan="2">
操作
</div>
</div>
<div nz-row class="listitem" *ngFor="let item of list">
<div nz-col nzSpan="4">
<span *ngIf="item.level === 1">Ⅰ级违法事件</span>
<span *ngIf="item.level === 2">Ⅱ级违法事件</span>
<span *ngIf="item.level === 3">Ⅲ级违法事件</span>
<div nz-col nzSpan="3">
<span *ngIf="item.level === 1" style="color: #FF4B65;">
<img src="../../../assets/images/level1.png">
Ⅰ级违法事件
</span>
<span *ngIf="item.level === 2" style="color: #FFBD4B;">
<img src="../../../assets/images/level2.png">
Ⅱ级违法事件
</span>
<span *ngIf="item.level === 3" style="color: #23D9FF;">
<img src="../../../assets/images/level3.png">
Ⅲ级违法事件
</span>
</div>
<div nz-col nzSpan="4">
编号:{{item.num}}
预警类型: {{item.type}}
</div>
<div nz-col nzSpan="5">
违规行为:{{item.content}}
违规信息: {{item.content}}
</div>
<div nz-col nzSpan="4">
违规地点:{{item.site}}
<div nz-col nzSpan="5">
摄像头: {{item.site}}
</div>
<div nz-col nzSpan="5">
违规时间:{{item.time}}
违规时间: {{item.time}}
</div>
<div nz-col nzSpan="2">
<button nz-button (click)="showModal()">查看</button>
<nz-modal nzWidth="1100" nzWrapClassName="vertical-center-modal" [(nzVisible)]="isVisible" (nzOnCancel)="handleCancel()" (nzOnOk)="handleOk()" [nzFooter]="null">
<nz-modal nzWidth="1100" nzWrapClassName="vertical-center-modal" [(nzVisible)]="isVisible"
(nzOnCancel)="handleCancel()" (nzOnOk)="handleOk()" [nzFooter]="null">
</nz-modal>
<img style="margin-left: 24px;cursor: pointer;" src="../../../assets/images/excel.png" alt="">
</div>
</div>
</div>

27
src/app/pages/today-warning/today-warning.component.scss

@ -9,12 +9,8 @@
box-sizing: border-box;
padding: 0 20PX;
width: 100%;
height: 50px;
line-height: 50px;
font-family: titlefont;
font-size: 26px;
color: #D0EAFF;
margin: 15px 0;
height: 48px;
margin: 16px 0;
}
.search {
@ -74,21 +70,26 @@
overflow-y: auto;
box-sizing: border-box;
padding: 20px 47px 20px 39px;
.listitem {
width: 100%;
height: 75px;
line-height: 75px;
border: 1px solid #4c8ac8;
color: #86bff3;
height: 78px;
line-height: 78px;
border: 1px solid rgba(54, 162, 255, 0.478);
color: #91CCFF;
margin-bottom: 12px;
background: linear-gradient(180deg, rgba(3, 0, 0, 0) 0%, rgba(0, 46, 91, 0.68) 100%);
div {
font-size: 15px;
text-align: center;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
button {
font-size: 15px;
background-color: #013064;
border: 1px solid #4c8ac8;
color: #86bff3;
color: #91CCFF;
}
}
}

24
src/app/pages/today-warning/today-warning.component.ts

@ -36,18 +36,18 @@ export class TodayWarningComponent implements OnInit {
}
list: any = [
{level:1,num:'DFHDUF54545SDS5D45SD4',content:'工作人员倚靠加油机或者立柱',site:'加油区2号摄像头',time:'2021-10-12 09:28:13'},
{level:2,num:'DFHDUF54545SDS5D45SD4',content:'工作人员倚靠加油机或者立柱',site:'加油区2号摄像头',time:'2021-10-12 09:28:13'},
{level:3,num:'DFHDUF54545SDS5D45SD4',content:'工作人员倚靠加油机或者立柱',site:'加油区2号摄像头',time:'2021-10-12 09:28:13'},
{level:1,num:'DFHDUF54545SDS5D45SD4',content:'工作人员倚靠加油机或者立柱',site:'加油区2号摄像头',time:'2021-10-12 09:28:13'},
{level:1,num:'DFHDUF54545SDS5D45SD4',content:'工作人员倚靠加油机或者立柱',site:'加油区2号摄像头',time:'2021-10-12 09:28:13'},
{level:1,num:'DFHDUF54545SDS5D45SD4',content:'工作人员倚靠加油机或者立柱',site:'加油区2号摄像头',time:'2021-10-12 09:28:13'},
{level:1,num:'DFHDUF54545SDS5D45SD4',content:'工作人员倚靠加油机或者立柱',site:'加油区2号摄像头',time:'2021-10-12 09:28:13'},
{level:1,num:'DFHDUF54545SDS5D45SD4',content:'工作人员倚靠加油机或者立柱',site:'加油区2号摄像头',time:'2021-10-12 09:28:13'},
{level:1,num:'DFHDUF54545SDS5D45SD4',content:'工作人员倚靠加油机或者立柱',site:'加油区2号摄像头',time:'2021-10-12 09:28:13'},
{level:1,num:'DFHDUF54545SDS5D45SD4',content:'工作人员倚靠加油机或者立柱',site:'加油区2号摄像头',time:'2021-10-12 09:28:13'},
{level:1,num:'DFHDUF54545SDS5D45SD4',content:'工作人员倚靠加油机或者立柱',site:'加油区2号摄像头',time:'2021-10-12 09:28:13'},
{level:1,num:'DFHDUF54545SDS5D45SD4',content:'工作人员倚靠加油机或者立柱',site:'加油区2号摄像头',time:'2021-10-12 09:28:13'}
{level:1,type:'加油区违规',content:'工作人员倚靠加油机或者立柱',site:'加油区2号摄像头',time:'2021-10-12 09:28:13'},
{level:2,type:'加油区违规',content:'工作人员倚靠加油机或者立柱',site:'加油区2号摄像头',time:'2021-10-12 09:28:13'},
{level:3,type:'加油区违规',content:'工作人员倚靠加油机或者立柱',site:'加油区2号摄像头',time:'2021-10-12 09:28:13'},
{level:1,type:'加油区违规',content:'工作人员倚靠加油机或者立柱',site:'加油区2号摄像头',time:'2021-10-12 09:28:13'},
{level:1,type:'加油区违规',content:'工作人员倚靠加油机或者立柱',site:'加油区2号摄像头',time:'2021-10-12 09:28:13'},
{level:1,type:'加油区违规',content:'工作人员倚靠加油机或者立柱',site:'加油区2号摄像头',time:'2021-10-12 09:28:13'},
{level:1,type:'加油区违规',content:'工作人员倚靠加油机或者立柱',site:'加油区2号摄像头',time:'2021-10-12 09:28:13'},
{level:1,type:'加油区违规',content:'工作人员倚靠加油机或者立柱',site:'加油区2号摄像头',time:'2021-10-12 09:28:13'},
{level:1,type:'加油区违规',content:'工作人员倚靠加油机或者立柱',site:'加油区2号摄像头',time:'2021-10-12 09:28:13'},
{level:1,type:'加油区违规',content:'工作人员倚靠加油机或者立柱',site:'加油区2号摄像头',time:'2021-10-12 09:28:13'},
{level:1,type:'加油区违规',content:'工作人员倚靠加油机或者立柱',site:'加油区2号摄像头',time:'2021-10-12 09:28:13'},
{level:1,type:'加油区违规',content:'工作人员倚靠加油机或者立柱',site:'加油区2号摄像头',time:'2021-10-12 09:28:13'}
]
isVisible = false;

6
src/app/ui/tabbar/tabbar.component.html

@ -1,6 +1,6 @@
<div class="box">
<div class="boxleft">
中化科学至上
<img src="../../../assets/images/logo.png" alt="">
</div>
<!-- 登录信息按钮 -->
<div class="boxright">
@ -10,9 +10,9 @@
<span style="margin: 0 18px;">|</span>
<span> 用户名 </span>
<span style="margin-right: 8px;"> 用户名 </span>
<a nz-dropdown [nzDropdownMenu]="menu" [nzTrigger]="'click'" [nzBackdrop]='false'>
头像
<img src="../../../assets/images/head.png" alt="">
</a>
<nz-dropdown-menu #menu="nzDropdownMenu">
<ul nz-menu nzSelectable>

46
src/app/ui/tabbar/tabbar.component.scss

@ -1,23 +1,27 @@
.box{
width: 100%;
height: 52px;
background-image: linear-gradient(#001530, #051C3C ,#162f50, #243c55);
display: flex;
justify-content: space-between;
align-items: center;
color: #fff;
box-sizing: border-box;
padding: 0 20px;
color: #8aacce;
.box {
width: 100%;
height: 56px;
background: linear-gradient(#01142f, #0d2b4f);
display: flex;
justify-content: space-between;
align-items: center;
color: #fff;
box-sizing: border-box;
padding: 0 20px;
color: #8aacce;
}
.boxleft{
font-size: 18px;
font-weight: 500;
// text-shadow: 0px 0px 2px #8df;
color: rgb(255, 255, 255);
}
.boxright{
span{
font-size: 15px;
}
.boxright {
display: flex;
align-items: center;
span {
font-size: 16px;
color: #FFFFFF;
opacity: 0.6;
}
img {
width: 36px;
height: 36px;
}
}

2
src/app/ui/tabbar/tabbar.component.ts

@ -41,7 +41,7 @@ export class TabbarComponent implements OnInit {
h = check(h);
m = check(m);
s = check(s);
let timestr = y + "-" + M + "-" + d + " " + h + ":" + m + ":" + s;
let timestr = y + "-" + M + "-" + d + " " + h + ":" + m + ":" + s;
this.time = timestr;
//时间数字小于10,则在之前加个“0”补位。
function check(i) {

10
src/app/ui/title/title.component.html

@ -1,8 +1,8 @@
<div class="titlebox">
<img src="../../../assets/images/AnXinQQ.jpg" alt="">
<div class="content">
<div class="contentitem">
<span>{{name}}</span>
</div>
<img src="../../../assets/images/logosm.png" alt="">
<div class="content">
<div class="contentitem">
<span>{{name}}</span>
</div>
</div>
</div>

23
src/app/ui/title/title.component.scss

@ -3,27 +3,28 @@
height: 100%;
display: flex;
align-items: center;
img {
max-width: 46px;
max-height: 46px;
width: 65px;
height: 65px;
}
.content {
flex: 1;
height: 46px;
height: 48px;
display: flex;
align-items: center;
background-image: linear-gradient(to right, #002147, #033565, #064e8e, #064e8e, #033565, #002147);
// background-image: linear-gradient(to right, #002147, #033565, #064e8e, #064e8e, #033565, #002147);
background: linear-gradient(270deg, rgba(35, 153, 255, 0) 0%, rgba(35, 153, 255, 0.32) 50%, rgba(35, 153, 255, 0) 100%);
.contentitem {
width: 100%;
height: 33px;
line-height: 33px;
background-image: linear-gradient(to right, #002147, #0f5ca0, #1c88e6, #1c88e6, #0f5ca0, #002147);
height: 32px;
display: flex;
align-items: center;
// background-image: linear-gradient(to right, #002147, #0f5ca0, #1c88e6, #1c88e6, #0f5ca0, #002147);
background: linear-gradient(270deg, rgba(35, 153, 255, 0) 0%, rgba(35, 153, 255, 0.8) 50%, rgba(35, 153, 255, 0) 100%);
span {
margin-left: 20px;
margin-left: 10px;
color: #bce0ff;
font-size: 20px;
font-family: titlefont;

BIN
src/assets/images/caiji.jpg

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 MiB

BIN
src/assets/images/excel.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 619 B

BIN
src/assets/images/head.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

BIN
src/assets/images/level1.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

BIN
src/assets/images/level2.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.9 KiB

BIN
src/assets/images/level3.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.9 KiB

BIN
src/assets/images/logo.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.1 KiB

BIN
src/assets/images/logosm.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

BIN
src/assets/images/navbg.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

19
src/theme.less

@ -56,15 +56,15 @@
}
.submit {
background-color: #013064;
border: 1px solid #4c8ac8;
color: #86bff3;
background: rgba(0, 129, 255, 0.61);
border: 1px solid #36A2FF;
color: #91CCFF;
}
.reset {
background-color: #010d26;
border: 1px solid #4c8ac8;
color: #86bff3;
border: 1px solid #91CCFF;
color: #91CCFF;
}
//接收报警弹出框
@ -140,14 +140,17 @@
//登录页input
#login {
nz-input-group,input {
nz-input-group,
input {
color: white;
background: #143c61;
}
input:-webkit-autofill {
-webkit-box-shadow: 0 0 0 1000px #143c61 inset !important;
-webkit-text-fill-color: #fff !important;
-webkit-border-radius:0px;
-webkit-font-size: 16px!important;
-webkit-border-radius: 0px;
-webkit-font-size: 16px !important;
}
}

Loading…
Cancel
Save