邵佳豪
4 years ago
32 changed files with 619 additions and 70 deletions
@ -0,0 +1,29 @@ |
|||||||
|
<!-- |
||||||
|
* @Descripttion: |
||||||
|
* @version: |
||||||
|
* @Author: sueRimn |
||||||
|
* @Date: 2021-05-18 15:09:43 |
||||||
|
* @LastEditors: sueRimn |
||||||
|
* @LastEditTime: 2021-05-18 15:25:35 |
||||||
|
--> |
||||||
|
|
||||||
|
<div class="bigimgbox"> |
||||||
|
<!-- <div mat-dialog-title>图片详情</div> --> |
||||||
|
<div class="swiper-container"> |
||||||
|
<div class="swiper-wrapper"> |
||||||
|
<div *ngFor="let item of allImages" class="swiper-slide previewImgBox"> |
||||||
|
<img [ngClass]="{'rotateA':rotationAngle==90,'rotateB':rotationAngle==180,'rotateC':rotationAngle==270}" class="swiper-lazy" |
||||||
|
[attr.data-src]="item"> |
||||||
|
<div class="swiper-lazy-preloader"></div> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
|
||||||
|
<!-- 如果需要导航按钮 --> |
||||||
|
<div class="swiper-button-prev"></div> |
||||||
|
<div class="swiper-button-next"></div> |
||||||
|
</div> |
||||||
|
|
||||||
|
<div class="previewImgBottom"> |
||||||
|
<button type="button" mat-icon-button (click)='rotate()'><mat-icon>refresh</mat-icon></button> |
||||||
|
</div> |
||||||
|
</div> |
@ -0,0 +1,35 @@ |
|||||||
|
<!-- |
||||||
|
* @Descripttion: |
||||||
|
* @version: |
||||||
|
* @Author: sueRimn |
||||||
|
* @Date: 2021-05-20 16:11:57 |
||||||
|
* @LastEditors: sueRimn |
||||||
|
* @LastEditTime: 2021-05-20 17:05:21 |
||||||
|
--> |
||||||
|
<div class="box"> |
||||||
|
<div class="top"> |
||||||
|
<span style="font-size: 20px;">新增预案模板</span> |
||||||
|
</div> |
||||||
|
<div class="queryField"> |
||||||
|
<label style="margin-right: 10px;">预案名称:</label> |
||||||
|
<mat-form-field class="example-full-width"> |
||||||
|
<input matInput placeholder="请输入预案名称" name="companyName" autocomplete="off" [(ngModel)]="unitname" required> |
||||||
|
</mat-form-field> |
||||||
|
</div> |
||||||
|
|
||||||
|
|
||||||
|
<div class="queryField"> |
||||||
|
<label style="margin-right: 10px;">预案级别:</label> |
||||||
|
<mat-form-field> |
||||||
|
<mat-select placeholder='请选择预案级别' name="unittype" [(ngModel)]="level" required> |
||||||
|
<mat-option value="Ⅲ级">Ⅲ级</mat-option> |
||||||
|
<mat-option value="Ⅳ级">Ⅳ级</mat-option> |
||||||
|
<mat-option value="Ⅴ级">Ⅴ级</mat-option> |
||||||
|
</mat-select> |
||||||
|
</mat-form-field> |
||||||
|
</div> |
||||||
|
<div class="bottom"> |
||||||
|
<button mat-raised-button color="primary" (click)='newplan()'>确定</button> |
||||||
|
<button mat-raised-button style="margin-left: 50px;" (click)="close()">取消</button> |
||||||
|
</div> |
||||||
|
</div> |
@ -0,0 +1,77 @@ |
|||||||
|
.box{ |
||||||
|
height: 100%; |
||||||
|
width: 100%; |
||||||
|
display: flex; |
||||||
|
flex-direction: column; |
||||||
|
} |
||||||
|
.queryField { |
||||||
|
margin: 3px 5px; |
||||||
|
input { |
||||||
|
width: 100%; |
||||||
|
height: 18px; |
||||||
|
line-height: 18px; |
||||||
|
border-radius: 3px;} |
||||||
|
button{ |
||||||
|
width: 140px; |
||||||
|
font-size: 16px; |
||||||
|
} |
||||||
|
} |
||||||
|
.top{ |
||||||
|
width: 100%; |
||||||
|
margin-bottom: 20px; |
||||||
|
span{ |
||||||
|
color: #2196F3; |
||||||
|
margin-left: 100px; |
||||||
|
font-size: 18px; |
||||||
|
} |
||||||
|
} |
||||||
|
.bottom{ |
||||||
|
margin: 10% 30px; |
||||||
|
button{ |
||||||
|
width: 80px; |
||||||
|
height: 36px; |
||||||
|
font-size: 16px; |
||||||
|
} |
||||||
|
} |
||||||
|
.fileinput-button { |
||||||
|
width: 148px; |
||||||
|
height: 36px; |
||||||
|
top: 10px; |
||||||
|
position: relative; |
||||||
|
display: inline-block; |
||||||
|
overflow: hidden; |
||||||
|
background-color: #2196F3; |
||||||
|
color: #FFFFFF; |
||||||
|
font-size: 16px; |
||||||
|
} |
||||||
|
|
||||||
|
.fileinput-button input{ |
||||||
|
position: absolute; |
||||||
|
right: 0px; |
||||||
|
top: 0px; |
||||||
|
opacity: 0; |
||||||
|
-ms-filter: 'alpha(opacity=0)'; |
||||||
|
} |
||||||
|
|
||||||
|
.uping{ |
||||||
|
display:flex; |
||||||
|
.upclass{ |
||||||
|
margin-left: 3px; |
||||||
|
height: 30px; |
||||||
|
} |
||||||
|
.progress{ |
||||||
|
position: relative; |
||||||
|
top:3% |
||||||
|
} |
||||||
|
button{ |
||||||
|
width: 80px; |
||||||
|
height: 30px; |
||||||
|
font-size: 10px; |
||||||
|
margin-top: 5px; |
||||||
|
} |
||||||
|
span{ |
||||||
|
font-size: 10px; |
||||||
|
position: relative; |
||||||
|
top: 8px; |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,34 @@ |
|||||||
|
<!-- |
||||||
|
* @Descripttion: |
||||||
|
* @version: |
||||||
|
* @Author: sueRimn |
||||||
|
* @Date: 2021-05-19 15:50:20 |
||||||
|
* @LastEditors: sueRimn |
||||||
|
* @LastEditTime: 2021-05-20 17:03:52 |
||||||
|
--> |
||||||
|
<div class="box"> |
||||||
|
<div class="boxleft"> |
||||||
|
<div class="lefthead"> |
||||||
|
<div class="leftheadone"> |
||||||
|
<span>预案列表</span> |
||||||
|
</div> |
||||||
|
<div class="leftheadtwo" (click)='addKeyunit()'> |
||||||
|
<img src="../../../assets/images/add.png"> |
||||||
|
<span>新增</span> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
<div class="leftbox"> |
||||||
|
<div class="leftbody" *ngFor="let item of newleftTabledata"> |
||||||
|
<div class="bodyname"> |
||||||
|
<span>{{item.name}}</span> |
||||||
|
</div> |
||||||
|
<div class="bodycz"> |
||||||
|
<span>{{item.level}}</span> |
||||||
|
<img src="../../../assets/images/updatehui.png"> |
||||||
|
<img src="../../../assets/images/deletehui.png"> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
<div class="boxright"></div> |
||||||
|
</div> |
@ -0,0 +1,97 @@ |
|||||||
|
/* |
||||||
|
* @Descripttion: |
||||||
|
* @version: |
||||||
|
* @Author: sueRimn |
||||||
|
* @Date: 2021-05-19 15:50:20 |
||||||
|
* @LastEditors: sueRimn |
||||||
|
* @LastEditTime: 2021-05-20 15:46:44 |
||||||
|
*/ |
||||||
|
.box{ |
||||||
|
height: 97%; |
||||||
|
width: 100%; |
||||||
|
padding: 10px; |
||||||
|
background-color: #F7F8FA; |
||||||
|
display: flex; |
||||||
|
.boxleft{ |
||||||
|
width: 20%; |
||||||
|
height: 100%; |
||||||
|
background-color: #FFFFFF; |
||||||
|
display: flex; |
||||||
|
flex-direction: column; |
||||||
|
.lefthead{ |
||||||
|
height: 50px; |
||||||
|
width: 100%; |
||||||
|
display: flex; |
||||||
|
border-bottom: 1px solid #F7F8FA; |
||||||
|
span{ |
||||||
|
font-size: 16px; |
||||||
|
} |
||||||
|
.leftheadone{ |
||||||
|
width: 40%; |
||||||
|
height: 100%; |
||||||
|
span{ |
||||||
|
margin: 10px 10px; |
||||||
|
height: 50px; |
||||||
|
line-height: 50px; |
||||||
|
} |
||||||
|
} |
||||||
|
.leftheadtwo{ |
||||||
|
width: 20%; |
||||||
|
height: 100%; |
||||||
|
margin-left: 50%; |
||||||
|
cursor: pointer; |
||||||
|
img{ |
||||||
|
position: relative; |
||||||
|
top: 2px; |
||||||
|
} |
||||||
|
span{ |
||||||
|
//margin-left: 70%; |
||||||
|
//margin: 10px 10px; |
||||||
|
height: 50px; |
||||||
|
line-height: 50px; |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
.leftbox{ |
||||||
|
height: 100%; |
||||||
|
width: 100%; |
||||||
|
display: flex; |
||||||
|
flex-direction: column; |
||||||
|
.leftbody{ |
||||||
|
width: 100%; |
||||||
|
height: 40px; |
||||||
|
display: flex; |
||||||
|
.bodyname{ |
||||||
|
height: 40px; |
||||||
|
width: 60%; |
||||||
|
span{ |
||||||
|
font-size: 16px; |
||||||
|
height: 40px; |
||||||
|
line-height: 40px; |
||||||
|
margin-left: 10px; |
||||||
|
} |
||||||
|
} |
||||||
|
.bodycz{ |
||||||
|
height: 40px; |
||||||
|
width: 40%; |
||||||
|
img{ |
||||||
|
margin-left: 10px; |
||||||
|
} |
||||||
|
span{ |
||||||
|
color: #B2BEC7; |
||||||
|
font-size: 16px; |
||||||
|
height: 40px; |
||||||
|
line-height: 40px; |
||||||
|
margin-left: 30%; |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
.boxright{ |
||||||
|
margin-left: 10px; |
||||||
|
height: 100%; |
||||||
|
width: 78%; |
||||||
|
background-color: #FFFFFF; |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,25 @@ |
|||||||
|
import { async, ComponentFixture, TestBed } from '@angular/core/testing'; |
||||||
|
|
||||||
|
import { PlanTemplateComponent } from './plan-template.component'; |
||||||
|
|
||||||
|
describe('PlanTemplateComponent', () => { |
||||||
|
let component: PlanTemplateComponent; |
||||||
|
let fixture: ComponentFixture<PlanTemplateComponent>; |
||||||
|
|
||||||
|
beforeEach(async(() => { |
||||||
|
TestBed.configureTestingModule({ |
||||||
|
declarations: [ PlanTemplateComponent ] |
||||||
|
}) |
||||||
|
.compileComponents(); |
||||||
|
})); |
||||||
|
|
||||||
|
beforeEach(() => { |
||||||
|
fixture = TestBed.createComponent(PlanTemplateComponent); |
||||||
|
component = fixture.componentInstance; |
||||||
|
fixture.detectChanges(); |
||||||
|
}); |
||||||
|
|
||||||
|
it('should create', () => { |
||||||
|
expect(component).toBeTruthy(); |
||||||
|
}); |
||||||
|
}); |
@ -0,0 +1,81 @@ |
|||||||
|
/* |
||||||
|
* @Descripttion:
|
||||||
|
* @version:
|
||||||
|
* @Author: sueRimn |
||||||
|
* @Date: 2021-05-19 15:50:20 |
||||||
|
* @LastEditors: sueRimn |
||||||
|
* @LastEditTime: 2021-05-20 17:02:03 |
||||||
|
*/ |
||||||
|
import { Component, Inject, OnInit } from '@angular/core'; |
||||||
|
import { HttpClient } from '@angular/common/http' |
||||||
|
import { MatDialogRef, MatDialog, MAT_DIALOG_DATA } from '@angular/material/dialog'; |
||||||
|
import { MatSnackBar, MatSnackBarConfig } from '@angular/material/snack-bar'; |
||||||
|
|
||||||
|
@Component({ |
||||||
|
selector: 'app-plan-template', |
||||||
|
templateUrl: './plan-template.component.html', |
||||||
|
styleUrls: ['./plan-template.component.scss'] |
||||||
|
}) |
||||||
|
export class PlanTemplateComponent implements OnInit { |
||||||
|
|
||||||
|
constructor(private http:HttpClient,public dialog: MatDialog,public snackBar: MatSnackBar) { } |
||||||
|
|
||||||
|
ngOnInit(): void { |
||||||
|
|
||||||
|
} |
||||||
|
|
||||||
|
//获取左侧单位信息
|
||||||
|
newleftTabledata=[] |
||||||
|
getLeftdata(){ |
||||||
|
/* this.http.get("/api/PlanTemplate").subscribe((data:any)=>{ |
||||||
|
this.leftTabledata=data |
||||||
|
console.log(this.leftTabledata) |
||||||
|
}) */ |
||||||
|
} |
||||||
|
//新建预案弹窗
|
||||||
|
addKeyunit(){ |
||||||
|
const dialogRef = this.dialog.open(addPlanname, {//调用open方法打开对话框并且携带参数过去
|
||||||
|
width: '340px', |
||||||
|
height:'330px', |
||||||
|
disableClose:true |
||||||
|
|
||||||
|
}); |
||||||
|
dialogRef.afterClosed().subscribe(result => { |
||||||
|
this.newleftTabledata.push(result) |
||||||
|
console.log(this.newleftTabledata);
|
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
} |
||||||
|
//新建预案
|
||||||
|
@Component({ |
||||||
|
selector: 'addPlanname', |
||||||
|
templateUrl: './addKeyname.html', |
||||||
|
styleUrls: ['./addKeyname.scss'] |
||||||
|
}) |
||||||
|
export class addPlanname{ |
||||||
|
constructor(private http: HttpClient,public dialogRef: MatDialogRef<addPlanname>,@Inject(MAT_DIALOG_DATA) public data,public snackBar: MatSnackBar) {} |
||||||
|
unitname//预案名称
|
||||||
|
level//预案级别
|
||||||
|
//取消按钮
|
||||||
|
close(){ |
||||||
|
this.dialogRef.close(); |
||||||
|
} |
||||||
|
newplan(){ |
||||||
|
const config = new MatSnackBarConfig(); |
||||||
|
config.verticalPosition = 'top'; |
||||||
|
config.duration = 3000 |
||||||
|
if(this.unitname==undefined||this.unitname==''){ |
||||||
|
this.snackBar.open('请输入预案名称!','确定',config); |
||||||
|
} |
||||||
|
else if(this.level==undefined||this.level==''){ |
||||||
|
this.snackBar.open('请输入预案级别!','确定',config); |
||||||
|
}else{ |
||||||
|
let planData={ |
||||||
|
name:this.unitname, |
||||||
|
level:this.level |
||||||
|
} |
||||||
|
this.dialogRef.close(planData) |
||||||
|
} |
||||||
|
} |
||||||
|
} |
After Width: | Height: | Size: 553 B |
After Width: | Height: | Size: 366 B |
After Width: | Height: | Size: 335 B |
After Width: | Height: | Size: 345 B |
Loading…
Reference in new issue