Browse Source

[合并]合并代码

上海一张图
邵佳豪 4 years ago
parent
commit
6d28b8ed00
  1. 6
      src/app/plan-management/entry-plan-look/AddPlanone.html
  2. 8
      src/app/plan-management/entry-plan-look/entry-plan-look.component.html
  3. 113
      src/app/plan-management/entry-plan-look/entry-plan-look.component.ts
  4. 4
      src/app/ui/plan-template/addKeyname.html
  5. 143
      src/app/ui/plan-template/plan-template.component.html
  6. 67
      src/app/ui/plan-template/plan-template.component.scss
  7. 8
      src/app/ui/plan-template/plan-template.component.ts
  8. 4
      src/app/ui/plan-template/upPlan.html

6
src/app/plan-management/entry-plan-look/AddPlanone.html

@ -4,7 +4,7 @@
* @Author: sueRimn
* @Date: 2020-12-24 10:59:48
* @LastEditors: sueRimn
* @LastEditTime: 2021-04-08 10:33:33
* @LastEditTime: 2021-06-10 15:57:05
-->
<form (ngSubmit)="onSubmit(form.value)" #form="ngForm" class="example-container">
<div class="topbox" style="text-align: center;">
@ -61,6 +61,10 @@
<input style="width: 175px;" type="file" name="" id="uploadFile" *ngIf="isup" (change)="filechange($event)">
<span *ngIf="uploadover" style="font-size: 13px;">(已上传)</span>
</div>
<div *ngIf="inputword">
<mat-radio-button value="1" style="margin-right: 10px;">在线编制</mat-radio-button>
<button mat-raised-button *ngIf="isinput" (click)='createWord()'>在线编制预案</button>
</div>
<!-- <div *ngIf="inputword">
<mat-radio-button value="1" style="margin-right: 10px;">导入word文档</mat-radio-button>
<input type="file" name="" id="" *ngIf="isinput" (change)="fileInput($event)">

8
src/app/plan-management/entry-plan-look/entry-plan-look.component.html

@ -4,7 +4,7 @@
* @Author: sueRimn
* @Date: 2020-12-24 10:59:48
* @LastEditors: sueRimn
* @LastEditTime: 2021-03-25 14:48:39
* @LastEditTime: 2021-06-15 15:21:10
-->
<!-- <p>录入预案</p> -->
<div style="overflow: auto;height: 100%;">
@ -76,12 +76,12 @@
<th mat-header-cell *matHeaderCellDef>操作</th>
<td mat-cell *matCellDef="let element">
<span (click)="changeName(element)" *ngIf="element.auditStatus==8">改名</span>
<span (click)="editPlan(element)" [ngClass]="{'grey': !(element.auditStatus!='16' && element.auditStatus != '1')}">编辑</span>
<span (click)="lookPlan(element)">查看</span>
<span (click)="editPlan(element)" [ngClass]="{'grey': !(element.attachmentUrls!=null&&element.auditStatus!='16' && element.auditStatus != '1')}">编辑</span>
<span (click)="lookPlan(element)" *ngIf="element.attachmentUrls!=null">查看</span>
<span (click)="readFile(element)" [ngClass]="{'grey': element.planMode == '1' || element.planMode == '2' || element.planMode == '3'}">下载</span>
<span (click)="deletePlan(element)" *ngIf="element.auditStatus==8">删除</span>
<span (click)="auditResult(element)">审批结果</span>
<span (click)="submitAudit(element)" *ngIf="element.auditStatus!=1&&element.auditStatus!=16">提交审核</span>
<span (click)="submitAudit(element)" *ngIf="element.attachmentUrls!=null&&element.auditStatus!=1&&element.auditStatus!=16">提交审核</span>
<span (click)="cancelAudit(element)" *ngIf="element.auditStatus == 1">撤销审核</span>
</td>
</ng-container>

113
src/app/plan-management/entry-plan-look/entry-plan-look.component.ts

@ -202,7 +202,7 @@ export class EntryPlanLookComponent implements OnInit {
window.open(`/keyUnit/editunitinfo?id=${companyId}&orName=${this.route.snapshot.queryParams.orName}&orId=${this.route.snapshot.queryParams.orId}`);
}
else if (e.planType == 16) {
this.lookPlan(e)
// let body={
// // id:e.planId,
// // resetAudit:true
@ -218,9 +218,10 @@ export class EntryPlanLookComponent implements OnInit {
};
this.http.put(`/api/PlanComponents/${e.id}?resetAudit=${resetAudit}`, body, options).subscribe(data => {
this.getAllPlanComponents()
}, err => {
this.snackBar.open(err, '确定', config);
})
this.lookPlan(e)
}/* ,err => {
this.snackBar.open(err,'确定',config);
} */)
}
else {
@ -326,9 +327,9 @@ export class EntryPlanLookComponent implements OnInit {
if (element.auditStatus == 8) {
this.http.put(`/api/PlanComponents2D/${element.id}/Commit`, "").subscribe(data => {
this.getAllPlanComponents()
}, err => {
this.snackBar.open(err, '确定', config);
})
}/* ,err => {
this.snackBar.open(err,'确定',config);
} */)
}
else {
this.snackBar.open('审核退回的预案需要修改后方可再次提交审核!', '确定', config);
@ -336,8 +337,6 @@ export class EntryPlanLookComponent implements OnInit {
} else {
this.http.put(`/api/PlanComponents/${element.id}/Commit`, "").subscribe(data => {
this.getAllPlanComponents()
}, err => {
this.snackBar.open(err, '确定', config);
})
}
@ -352,12 +351,12 @@ export class EntryPlanLookComponent implements OnInit {
} else {
this.http.put(`/api/PlanComponents/${element.id}/Cancel`, "").subscribe(data => {
this.getAllPlanComponents()
}, err => {
}/* ,err => {
const config = new MatSnackBarConfig();
config.verticalPosition = 'top';
config.duration = 3000
this.snackBar.open(err, '确定', config);
})
this.snackBar.open(err,'确定',config);
} */)
}
}
//审核结果
@ -490,10 +489,10 @@ export class EntryPlanLookComponent implements OnInit {
//新建预案弹出框
addplan() {
const dialogRef = this.dialog.open(AddPlanone, {
width: "585px",
height: "430px",
data: { companyId: this.companyId },
disableClose: true
width:"585px",
height:"430px",
data: {companyId:this.companyId,unitType:this.unitdata.unittype},
disableClose:true
});
dialogRef.afterClosed().subscribe(
data => {
@ -547,9 +546,9 @@ export class AddPlanone {
this.dialogRef.close();
}
levels//
isup: boolean = true //上传input框是否显示
isweb: boolean = false //web输入框是否显示
isinput: boolean = false //导入是否显示
isup:boolean = true //上传input框是否显示
isweb:boolean = false //web输入框是否显示
isinput:boolean = false //编制按钮是否显示
defaultisshow = '0' //默认显示上传input框
pswShow = false //是否为全景图选项默认不显示
psw//是否为全景图
@ -810,8 +809,14 @@ export class AddPlanone {
this.psw = false
this.selectedPLanName = formdata.value.firstCtrlone
this.selectedPLanType = formdata.value.firstCtrltwo
this.selectedPLanLevel = formdata.value.firstCtrlthree
if (formdata.value.firstCtrltwo == '16') { //如果是卡片预案
this.selectedPLanLevel= formdata.value.firstCtrlthree
if(formdata.value.firstCtrltwo=='16'&&formdata.value.firstCtrlthree=='4'){ //如果是文本预案
this.localup = true
this.inputword = false
this.onlineedit = false
this.website = false
}
if(formdata.value.firstCtrltwo=='16'&&formdata.value.firstCtrlthree!='4'){
this.localup = true
this.inputword = true
this.onlineedit = false
@ -850,8 +855,72 @@ export class AddPlanone {
this.dialogRef.close();
}
//文本预案在线编制跳转
newleftTabledata
planData
createWord(){
const config = new MatSnackBarConfig();
config.verticalPosition = 'top';
config.duration = 3000
let level = sessionStorage.getItem("level")
// console.log(level)
let PlanLevel
if(level == '0'){
PlanLevel = 1
}
if(level == '1'){
PlanLevel = 2
}
if(level == '2'){
PlanLevel = 4
}
if(level == '3'){
PlanLevel = 8
}
this.http.get("/api/PlanTemplate").subscribe((data:any)=>{
this.newleftTabledata=data
this.newleftTabledata.forEach((value,index,array)=>{
value.data= JSON.parse(value.data)
})
this.http.get("/api/BuildingTypes").subscribe((buildData:any)=>{
this.newleftTabledata.forEach((value,index,array)=>{
buildData.forEach((element,i,buildArray) => {
if(value.buildingTypeId==element.id){
array[index].unitname=buildArray[i].name
array[index].facilityCategoryId=buildArray[i].facilityCategoryId
}
});
})
let open=this.newleftTabledata.filter((value,index,array)=>{
return value.unitname==this.data.unitType&&value.planCategory==this.selectedPLanLevel
})
if(open.length>0){
this.http.post('/api/PlanComponents',{
id: "",
name: this.selectedPLanName,
planType:Number(this.selectedPLanType),
planMode: Number(this.defaultisshow),
planLevel: PlanLevel,
planCategory: Number(this.selectedPLanLevel),
url: "",
//attachmentUrls: [`${this.objectName}`]
},{params:{
companyId : this.data.companyId
}}).subscribe(plandata=>{
this.planData=plandata
this.dialogRef.close(plandata);
//console.log(plandata)
window.open(`/planManagement/createplanonlinefive?navIsOpen=false&companyId=${this.data.companyId}&planName=${this.planData.name}`)
})
}else{
this.snackBar.open('请先创建模板!','确定',config);
}
})
})
//window.open('')
}
// 提交创建
onSubmit(value) {
@ -901,7 +970,7 @@ export class AddPlanone {
const config = new MatSnackBarConfig();
config.verticalPosition = 'top';
config.duration = 3000
this.snackBar.open('暂不支持导入', '确定', config);
//this.snackBar.open('暂不支持导入','确定',config);
}
if (this.defaultisshow == '3' && (this.webaddress == "" || this.webaddress == null)) { //如果是填写网址
const config = new MatSnackBarConfig();

4
src/app/ui/plan-template/addKeyname.html

@ -4,7 +4,7 @@
* @Author: sueRimn
* @Date: 2021-05-20 16:11:57
* @LastEditors: sueRimn
* @LastEditTime: 2021-05-29 10:30:48
* @LastEditTime: 2021-06-15 09:56:11
-->
<div class="box">
<div class="top">
@ -23,7 +23,7 @@
<mat-form-field>
<mat-select placeholder='请选择预案级别' name="level" [(ngModel)]="level" required>
<mat-option value=3>Ⅲ级</mat-option>
<mat-option value=4>Ⅳ级</mat-option>
<!-- <mat-option value=4>Ⅳ级</mat-option> -->
<mat-option value=5>Ⅴ级</mat-option>
</mat-select>
</mat-form-field>

143
src/app/ui/plan-template/plan-template.component.html

@ -4,7 +4,7 @@
* @Author: sueRimn
* @Date: 2021-05-19 15:50:20
* @LastEditors: sueRimn
* @LastEditTime: 2021-06-09 16:29:26
* @LastEditTime: 2021-06-15 10:20:06
-->
<div class="box">
<div class="boxleft">
@ -24,81 +24,80 @@
<div class="bodyname">
<span>{{item.unitname}}</span>
</div>
<div class="bodycz">
<span>{{item.planCategory==3?'Ⅲ级':item.planCategory==4?'Ⅳ级':'Ⅴ级'}}</span>
<span style="margin-left: 5px;" (click)='upPlan(item,i,"copy")'>复制</span>
<img
[src]="item.buildingTypeId == buildingTypeId&&item.planCategory==planCategory? '../../../assets/images/update.png':'../../../assets/images/updatehui.png'"
(click)='upPlan(item,i,"edit")'>
<img
[src]="item.buildingTypeId == buildingTypeId&&item.planCategory==planCategory? '../../../assets/images/deleteblue.png':'../../../assets/images/deletehui.png'"
(click)='deletePlan(item.id,i)'>
<div class="leftbox">
<div class="leftbody" [ngClass]="{'selectedTr':item.buildingTypeId==buildingTypeId&&item.planCategory==planCategory}" *ngFor="let item of newleftTabledata;let i=index" (click)='planClick(item)'>
<div class="bodyname">
<span>{{item.unitname}}</span>
</div>
<div class="bodycz">
<img style="margin-right: 5px;" [src]="item.buildingTypeId == buildingTypeId&&item.planCategory==planCategory? '../../../assets/images/deleteblue.png':'../../../assets/images/deletehui.png'" (click)='deletePlan(item.id,i)'>
<img [src]="item.buildingTypeId == buildingTypeId&&item.planCategory==planCategory? '../../../assets/images/update.png':'../../../assets/images/updatehui.png'" (click)='upPlan(item,i,"edit")'>
<span style="margin-left: 5px;" (click)='upPlan(item,i,"copy")'>复制</span>
<span>{{item.planCategory==3?'Ⅲ级':item.planCategory==4?'Ⅳ级':'Ⅴ级'}}</span>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="boxright">
<div class="righthead">
<div class="rightheadone">
<span>{{unitName}}</span>
</div>
<div class="rightheadtwo">
<button mat-raised-button color="primary" style="margin-left: 10px;" (click)='save()'>保存</button>
<button mat-raised-button color="primary" (click)='addGroupClick()'>新增分组</button>
</div>
</div>
<div class="rightbody">
<mat-accordion *ngFor="let item of group;let zi=index;TrackBy:trackByFn" multi>
<!-- 基本信息 -->
<mat-expansion-panel expanded (opened)='groupPanle=true' *ngIf="item.completed"
style="box-shadow: 0 0 black;border: 1px solid #EEF1F5;" [disabled]='groupPanle==true'>
<mat-expansion-panel-header collapsedHeight='40px' expandedHeight='40px' class="panelhead">
<mat-panel-title class="paneltitle">
<div class="groupName">
<span>{{item.groupName}}</span>
</div>
<div class="addinfo" (click)='addAttribute(item.groupName)'>
<img src="../../../assets/images/update.png" style="height: 15px;margin-top: 4px;">
<span style="margin-left: 2px;">编辑</span>
</div>
<div class="delinfo" (click)='deleteGroup(item.groupName)'>
<img src="../../../assets/images/deleteblue.png"
style="margin-left: 20px;height: 15px;margin-top: 4px;">
<span style="margin-left: 2px;">删除</span>
</div>
</mat-panel-title>
</mat-expansion-panel-header>
<!--单位概况-->
<div class="accordingin" *ngIf="item.groupName=='单位概况'">
<mat-accordion *ngFor="let element of item.attribute">
<mat-expansion-panel expanded *ngIf="element.completed" expanded
style="box-shadow: 0 0 black;border: 1px solid #EEF1F5;height: 100%;" [disabled]='groupPanle==true'>
<mat-expansion-panel-header collapsedHeight='50px' expandedHeight='50px' class="panelhead"
style="background-color: #FFFFFF;">
<mat-panel-title style="font-size: 16px;color:#000000;" class="paneltitle">
<div class="dwgk" *ngIf="item.groupName=='单位概况'">
<div class="attname" *ngIf="item.groupName=='单位概况'">
<span>{{element.surveyName}}</span>
</div>
<div class="caozuo">
<button mat-raised-button color="#ECF6FF"
(click)='delAttribute(item.groupName,element.surveyName)'><img
src="../../../assets/images/deletehui.png"> 删除</button>
<button mat-raised-button color="primary" style="margin-right: 10px;"
(click)='addAttInfo(element.surveyName)'
*ngIf="item.groupName=='单位概况'&&(element.surveyName=='单位基本信息'||element.surveyName=='建筑信息'||element.surveyName=='进攻通道'||element.surveyName=='消防设施')"><img
src="../../../assets/images/addbai.png"> 编辑</button>
<div class="boxright">
<div class="righthead">
<div class="rightheadone">
<span>{{unitName}}</span>
</div>
<div class="rightheadtwo">
<button mat-raised-button color="primary" style="margin-right: 20px;" (click)='save()'>保存</button>
<button mat-raised-button color="primary" style="margin-right: 10px;" (click)='addGroupClick()' >新增分组</button>
</div>
</div>
<div class="rightbody">
<mat-accordion *ngFor="let item of group;let zi=index;TrackBy:trackByFn" multi>
<!-- 基本信息 -->
<mat-expansion-panel expanded (opened)='groupPanle=true' *ngIf="item.completed" style="box-shadow: 0 0 black;border: 1px solid #EEF1F5;" [disabled]='groupPanle==true'>
<mat-expansion-panel-header collapsedHeight='40px' expandedHeight='40px' class="panelhead">
<mat-panel-title class="paneltitle">
<div style="width: 100%;height: 100%;display: flex;">
<div class="groupName">
<span>{{item.groupName}}</span>
</div>
<div class="caozuotwo">
<div *ngIf="item.groupName!='预案附件'&&item.groupName!='交通水源'&&item.groupName!='重点图示'" class="addinfo" (click)='addAttribute(item.groupName)'>
<img src="../../../assets/images/update.png" style="height: 15px;margin-top: 4px;">
<span style="margin-left: 2px;">编辑</span>
</div>
<div class="delinfo" (click)='deleteGroup(item.groupName)'>
<img src="../../../assets/images/deleteblue.png" style="margin-left: 20px;height: 15px;margin-top: 4px;">
<span style="margin-left: 2px;">删除</span>
</div>
</div>
</div>
</div>
</mat-panel-title>
</mat-expansion-panel-header>
<!--单位概况:单位基本信息,建筑信息 -->
<div class="table"
*ngIf="item.groupName=='单位概况'&&(element.surveyName=='单位基本信息'||element.surveyName=='建筑信息')">
<!-- <table mat-table [dataSource]='element.attinf' class="mat-elevation-z8">
</mat-panel-title>
</mat-expansion-panel-header>
<!--单位概况-->
<div class="accordingin" *ngIf="item.groupName=='单位概况'">
<mat-accordion *ngFor="let element of item.attribute">
<mat-expansion-panel expanded *ngIf="element.completed" expanded style="box-shadow: 0 0 black;border: 1px solid #EEF1F5;height: 100%;" [disabled]='groupPanle==true'>
<mat-expansion-panel-header collapsedHeight='50px' expandedHeight='50px' class="panelhead" style="background-color: #FFFFFF;">
<mat-panel-title style="font-size: 16px;color:#000000;" class="paneltitle">
<div class="dwgk" *ngIf="item.groupName=='单位概况'">
<div class="attname" *ngIf="item.groupName=='单位概况'">
<span>{{element.surveyName}}</span>
</div>
<div class="caozuo">
<button mat-raised-button color="#ECF6FF" (click)='delAttribute(item.groupName,element.surveyName)'><img src="../../../assets/images/deletehui.png"> 删除</button>
<button mat-raised-button color="primary" style="margin-right: 10px;" (click)='addAttInfo(element.surveyName)'
*ngIf="item.groupName=='单位概况'&&(element.surveyName=='单位基本信息'||element.surveyName=='建筑信息'||element.surveyName=='进攻通道'||element.surveyName=='消防设施')"><img src="../../../assets/images/addbai.png"> 编辑</button>
</div>
</div>
</mat-panel-title>
</mat-expansion-panel-header>
<!--单位概况:单位基本信息,建筑信息 -->
<div class="table" *ngIf="item.groupName=='单位概况'&&(element.surveyName=='单位基本信息'||element.surveyName=='建筑信息')">
<!-- <table mat-table [dataSource]='element.attinf' class="mat-elevation-z8">
<ng-container matColumnDef="name">
<th mat-header-cell *matHeaderCellDef style="width: 20%;">名称</th>
<td mat-cell *matCellDef="let attinf">{{attinf.addAttinfName}}</td>

67
src/app/ui/plan-template/plan-template.component.scss

@ -4,7 +4,7 @@
* @Author: sueRimn
* @Date: 2021-05-19 15:50:20
* @LastEditors: sueRimn
* @LastEditTime: 2021-06-08 15:03:02
* @LastEditTime: 2021-06-15 10:44:55
*/
.box {
height: 100%;
@ -77,12 +77,14 @@
cursor: pointer;
.bodyname {
height: 40px;
width: 60%;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
span {
font-size: 16px;
width: 35%;
span{
@media screen and (min-device-width:1400px){
font-size: 16px;
}
@media screen and (max-device-width:1400px){
font-size: 14px;
}
height: 40px;
line-height: 40px;
margin-left: 10px;
@ -90,15 +92,22 @@
}
.bodycz {
height: 40px;
width: 40%;
overflow-y: auto;
img {
width:65%;
img{
float: right;
margin-left: 10px;
margin-top: 10px;
cursor: pointer;
}
span {
color: #b2bec7;
font-size: 16px;
span{
float:right;
color: #B2BEC7;
@media screen and (min-device-width:1400px){
font-size: 16px;
}
@media screen and (max-device-width:1400px){
font-size: 14px;
}
height: 40px;
line-height: 40px;
//margin-left: 30%;
@ -123,8 +132,8 @@
span {
font-size: 16px;
}
.rightheadone {
width: 50%;
.rightheadone{
width: 30%;
height: 100%;
span {
margin: 10px 10px;
@ -132,10 +141,10 @@
line-height: 50px;
}
}
.rightheadtwo {
width: 50%;
.rightheadtwo{
width: 70%;
height: 100%;
button {
button{
float: right;
margin-top: 5px;
margin-right: 15px;
@ -157,17 +166,25 @@
.groupName {
width: 100px;
}
.addinfo {
.caozuotwo{
width: 100%;
height: 100%;
display: flex;
justify-content: flex-end;
}
.addinfo{
float: right;
cursor: pointer;
height: 100%;
width: 75px;
margin-left: 75%;
span {
//margin-left: 75%;
span{
position: relative;
bottom: 2px;
}
}
.delinfo {
.delinfo{
float: right;
cursor: pointer;
height: 100%;
width: 75px;
@ -295,9 +312,11 @@
}
.attackRight {
width: 30%;
.rightButton {
.rightButton{
float: right;
margin-top: 20px;
margin-left: 40%;
margin-right: 8%;
//margin-left: 40%;
}
}
}

8
src/app/ui/plan-template/plan-template.component.ts

@ -4,7 +4,7 @@
* @Author: sueRimn
* @Date: 2021-05-31 10:40:01
* @LastEditors: sueRimn
* @LastEditTime: 2021-06-09 16:45:09
* @LastEditTime: 2021-06-15 13:54:16
*/
import { Component, Inject, OnInit,ViewEncapsulation } from '@angular/core';
@ -65,6 +65,7 @@ export class PlanTemplateComponent implements OnInit {
this.newleftTabledata.forEach((value,index,array)=>{
value.data= JSON.parse(value.data)
})
console.log(this.newleftTabledata)
this.http.get("/api/BuildingTypes").subscribe((buildData:any)=>{
this.newleftTabledata.forEach((value,index,array)=>{
buildData.forEach((element,i,buildArray) => {
@ -193,7 +194,7 @@ export class PlanTemplateComponent implements OnInit {
}) */
const dialogRef = this.dialog.open(addGroup, {//调用open方法打开对话框并且携带参数过去
width: '240px',
height:'590px',
height:'620px',
disableClose:true,
data:this.group==null?null:this.group.length==0?null:this.group
});
@ -640,7 +641,8 @@ export class addGroup{
{groupName:'单位概况',completed:false},{groupName:'灾情设定',completed:false},{groupName:'力量调集',completed:false},
{groupName:'组织指挥',completed:false},{groupName:'作战行动',completed:false},{groupName:'社会联动',completed:false},
{groupName:'勤务保障',completed:false},{groupName:'特别警示',completed:false},{groupName:'辅助决策',completed:false},
{groupName:'交通水源',completed:false},{groupName:'重点图示',completed:false},{groupName:'预案附件',completed:false}
{groupName:'交通水源',completed:false},{groupName:'重点图示',completed:false},{groupName:'特别警示',completed:false},
{groupName:'预案附件',completed:false}
]
groupName=[]
ngOnInit(): void{

4
src/app/ui/plan-template/upPlan.html

@ -4,7 +4,7 @@
* @Author: sueRimn
* @Date: 2021-05-21 10:43:28
* @LastEditors: sueRimn
* @LastEditTime: 2021-05-29 10:52:11
* @LastEditTime: 2021-06-15 10:47:09
-->
<!--
* @Descripttion:
@ -31,7 +31,7 @@
<mat-form-field>
<mat-select placeholder='请选择预案级别' name="unittype" [(ngModel)]="level" required>
<mat-option value="3">Ⅲ级</mat-option>
<mat-option value="4">Ⅳ级</mat-option>
<!-- <mat-option value="4">Ⅳ级</mat-option> -->
<mat-option value="5">Ⅴ级</mat-option>
</mat-select>
</mat-form-field>

Loading…
Cancel
Save