< div style = "height: 100%;display: flex; flex-direction: column;" >
<!-- header -->
< mat-accordion >
< mat-expansion-panel expanded hideToggle >
< mat-expansion-panel-header style = "color: black;" >
< mat-panel-title >
单位信息
< mat-icon style = "position: absolute;right:30px;" > keyboard_arrow_down< / mat-icon >
< / mat-panel-title >
< / mat-expansion-panel-header >
< div class = "topbox" >
< form ( ngSubmit ) = " onSubmit ( form . value , form . invalid , form ) " # form = "ngForm" class = "example-container" >
< div class = "mainbox" >
< div class = "mainleft" >
< div class = "inputbox" >
< span style = "color: red;" > *< / span >
< span > 统一社会信用代码:< / span >
< mat-form-field >
< input readonly matInput id = "creditcode" name = "creditcode" type = 'text' # usci = "ngModel"
required minlength="1" maxlength="18"
[(ngModel)]="unitinfo.usci"
(focus)="closeorganizationbox()"
pattern="^[0-9A-HJ-NP-RTUW-Y]{2}\d{6}[0-9A-HJ-NP-RTUW-Y]{10}$">
< / mat-form-field >
< div * ngIf = "usci.invalid && (usci.dirty || usci.touched)" class = "alert-danger" >
< div * ngIf = "usci.errors.pattern" class = "alert-danger" >
统一社会信用代码格式不正确
< / div >
< / div >
< / div >
< div class = "inputbox" >
< span style = "color: red;" > *< / span >
< span > 单位类型:< / span >
< mat-form-field >
< mat-select disabled readonly required name = "unittype" [ ( ngModel ) ] = " defaultbuildingTypes " >
< mat-option [ value ] = " item . id " * ngFor = "let item of allunittype" > {{item.name}}< / mat-option >
< / mat-select >
< / mat-form-field >
< / div >
< div class = "inputbox" >
< span style = "color: red;" > *< / span >
< span > 联系人:< / span >
< mat-form-field >
< input readonly matInput id = "linkman" name = "linkman" type = 'text'
required minlength="1"
[(ngModel)]="unitinfo.contacts"
(focus)="closeorganizationbox()"
>
< / mat-form-field >
< / div >
< div class = "inputbox" >
< span style = "color: red;" > *< / span >
< span > 联系电话:< / span >
< mat-form-field >
< input readonly matInput id = "linkphone" name = "linkphone" type = 'text' # linkphone = "ngModel"
required pattern="^(?:\+?86)?1(?:3\d{3}|5[^4\D]\d{2}|8\d{3}|7(?:[35-8]\d{2}|4(?:0\d|1[0-2]|9\d))|9[0135-9]\d{2}|66\d{2})\d{6}$"
[(ngModel)]="unitinfo.phone"
(focus)="closeorganizationbox()"
>
< / mat-form-field >
< div * ngIf = "linkphone.invalid && (linkphone.dirty || linkphone.touched)" class = "alert-danger" >
< div * ngIf = "linkphone.errors.pattern" class = "alert-danger" >
电话号码格式不正确
< / div >
< / div >
< / div >
< div class = "inputbox" style = "width: 700px;" >
< span style = "color: red;" > *< / span >
< span > 辖区中队:< / span >
< mat-form-field style = "width: 538px;" >
< input readonly matInput id = "organization" name = "organization" type = 'text'
required minlength="1"
[(ngModel)]="selectedorganization"
readonly="value" >
< / mat-form-field >
< / div >
< div class = "inputbox" style = "width: 700px;" >
< span style = "color: red;" > *< / span >
< span > 单位地址:< / span >
< mat-form-field style = "width: 538px;" >
< input readonly matInput id = "unitaddress" name = "unitaddress" type = 'text'
required minlength="1"
[(ngModel)]="unitinfo.address"
(focus)="closeorganizationbox()">
< / mat-form-field >
< / div >
< div class = "uploadimg" ( click ) = " lookmaster ( ) " >
< span > 单位照片:< / span >
< div class = "uploadingimg" >
< img [ src ] = " imgsrc " alt = "" style = "width: 299px; height: 170px;" >
< / div >
< mat-spinner * ngIf = "isspinner" diameter = 50 > < / mat-spinner >
< / div >
<!-- <div class="image">
< input id = "selectedfile" type = "file" name = "imgFile" accept = ".jpg,.png,.jpeg,.gif,.webp" >
< / div > -->
<!-- <div class="addbtn">
< button type = "submit" color = "primary" class = "submit1" mat-button mat-raised-button > 保存< / button >
< / div > -->
< / div >
<!-- <div class="mainright" (click)="closeorganizationbox()"> -->
<!-- 地图预留位置 -->
<!-- </div> -->
< / div >
< / form >
< / div >
< / mat-expansion-panel >
< / mat-accordion >
<!-- body -->
< div class = "bottombox" style = "flex: 70%;overflow-y: auto;" >
< div class = "houseinfobox" style = "height: 100%; overflow-y: auto;padding-bottom: 34px; box-sizing:border-box" >
<!-- <button type="button" mat - icon - button class="addhouseinfo"><mat - icon style="font - size: 38px;">add_circle_outline</mat - icon></button> -->
< mat-tab-group style = "height: 100%;;" >
< mat-tab [ label ] = " item . username " * ngFor = "let item of houses;let key = index" >
< form style = "height: 100%; overflow-y:auto; display: block;" ( ngSubmit ) = " onSubmit2 ( form . value , item , key , form . invalid ) " # form = "ngForm" class = "example-container" >
<!-- 正常建筑 -->
< div class = "highinfo" * ngIf = "item.tongyong" >
< div class = "houseinfoinput" >
< span > 建筑名称:< / span >
< mat-form-field >
< input readonly matInput id = "housename" name = "housename" type = 'text'
minlength="1" [(ngModel)]="item.name"
>
< / mat-form-field >
< span style = "color: red;" > *< / span >
< / div >
< div class = "houseinfoinput" >
< span > 建筑类型:< / span >
< mat-form-field >
< mat-select disabled readonly name = "unittype" [ ( ngModel ) ] = " item . buildtype " >
< mat-option [ value ] = " n . name " * ngFor = "let n of allunittype" > {{n.name}}< / mat-option >
< / mat-select >
< / mat-form-field >
< span style = "color: red;" > *< / span >
< / div >
< div * ngFor = "let item of item.buildingBasicGroups;let www = index" style = "float: left;" >
< h1 style = "font-size: 22px;" > {{item.name}}< / h1 >
< div class = "houseinfoinput" * ngFor = "let i of item.propertyInfos" style = "float: left;margin-left: 250px;position: relative;" >
< span > {{i.propertyName}}< span * ngIf = "i.physicalUnit" > ({{i.physicalUnit}})< / span > :< / span >
<!-- 如果类型是文本 -->
< mat-form-field * ngIf = "i.propertyType == 0" >
< input readonly matInput name = "{{i.propertyName}}{{www}}" type = 'text'
required="{{ i.required==true ? 'true' : 'false' }}"
[(ngModel)]="i.propertyValue">
< / mat-form-field >
<!-- 如果类型是数字 -->
< mat-form-field * ngIf = "i.propertyType == 2" >
< input readonly matInput name = "{{i.propertyName}}{{www}}" type = 'number'
required="{{ i.required==true ? 'true' : 'false' }}"
[(ngModel)]="i.propertyValue"
>
<!-- <mat - error *ngIf="isshowrule">{{rulevalue}}</mat - error> -->
< / mat-form-field >
<!-- 如果类型是多行文本 -->
< textarea readonly * ngIf = "i.propertyType == 1" style = "width: 180px;height: 60px;" required = "{{ i.required==true ? 'true' : 'false' }}" [ ( ngModel ) ] = " i . propertyValue " name = "{{i.propertyName}}{{key}}" > < / textarea >
< span style = "color: red;" * ngIf = "i.required" > *< / span >
< div * ngIf = "i.isshowrule" style = "position: absolute ;
left: 205px;
top: 45px;
font-size: 11px;
color: red;">
< span > {{i.rulevalue}}< / span >
< / div >
< / div >
< / div >
< div class = "CustomData" style = "width: 200px;" >
<!-- <mat - checkbox name="checkbuilding" [(ngModel)]="item.isCustomData" style="float: left;margin - right: 10px;"></mat - checkbox> -->
< h1 style = "font-size: 22px;width: 200px;" > 自定义信息< / h1 >
< / div >
< div * ngIf = "item.isCustomData" style = "position: relative;" >
<!-- <button style="position: absolute;left: 0;" type="button" mat - icon - button class="addCustomData"><mat - icon style="font - size: 38px;">add_circle_outline</mat - icon></button>
< button style = "position: absolute;left:60px;" type = "button" mat-icon-button class = "deleteCustomData" > < mat-icon style = "font-size: 38px;" > remove_circle_outline< / mat-icon > < / button > -->
< div class = "houseinfoinput" style = "float: left;margin-left: 250px;" * ngFor = "let i of item.buildingCustomData.customProperties;let key = index" >
< mat-form-field >
< input readonly matInput type = 'text' name = "{{key}}1CustomData"
required
[(ngModel)]="i.name">
< / mat-form-field >
< span > :< / span >
< mat-form-field >
< input readonly matInput type = 'text' name = "{{key}}2CustomData"
required
[(ngModel)]="i.value">
< / mat-form-field >
< span style = "color: red;" * ngIf = "i.required" > *< / span >
< / div >
< / div >
< / div >
<!-- 石油化工 -->
< div class = "highinfo" * ngIf = "item.isshiyou;let bigkey = index" >
< div class = "basicinfobox" >
< div class = "houseinfoinput" >
< span > 建筑名称:< / span >
< mat-form-field >
< input readonly matInput id = "housename" name = "housename" type = 'text'
required minlength="1" [(ngModel)]="item.name"
>
< / mat-form-field >
< span style = "color: red;" > *< / span >
< / div >
< div class = "houseinfoinput" >
< span > 建筑类型:< / span >
< mat-form-field >
< mat-select disabled required name = "unittype" [ ( ngModel ) ] = " item . buildtype " >
< mat-option [ value ] = " n . name " * ngFor = "let n of allunittype" > {{n.name}}< / mat-option >
< / mat-select >
< / mat-form-field >
< span style = "color: red;" > *< / span >
< / div >
< h1 style = "font-size: 22px;" > {{item.buildingBasicGroups[0].name}}< / h1 >
< div class = "houseinfoinput" * ngFor = "let i of item.buildingBasicGroups[0].propertyInfos;let smkey = index" style = "float: left;margin-left: 250px;position: relative;" >
< span > {{i.propertyName}} < span * ngIf = "i.physicalUnit" > ({{i.physicalUnit}})< / span > :< / span >
<!-- 如果类型是文本 -->
< mat-form-field * ngIf = "i.propertyType == 0" >
< input readonly matInput name = "{{i.propertyName}}" type = 'text'
required="{{ i.required==true ? 'true' : 'false' }}"
[(ngModel)]="i.propertyValue">
< / mat-form-field >
<!-- 如果类型是数字 -->
< mat-form-field * ngIf = "i.propertyType == 2" >
< input readonly matInput name = "{{i.propertyName}}" type = 'number'
required="{{ i.required==true ? 'true' : 'false' }}"
[(ngModel)]="i.propertyValue"
>
<!-- <mat - error *ngIf="isshowrule">{{rulevalue}}</mat - error> -->
< / mat-form-field >
<!-- 如果类型是多行文本 -->
< textarea readonly * ngIf = "i.propertyType == 1" style = "width: 180px;height: 60px;" required = "{{ i.required==true ? 'true' : 'false' }}" [ ( ngModel ) ] = " i . propertyValue " name = "{{i.propertyName}}" > < / textarea >
< span style = "color: red;" * ngIf = "i.required" > *< / span >
< div * ngIf = "i.isshowrule" style = " position: absolute ;
left: 205px;
top: 45px;
font-size: 11px;
color: red;">
< span > {{i.rulevalue}}< / span >
< / div >
< / div >
< / div >
< div class = "deviceinfo" >
< div style = "width: 200px;" >
<!-- <mat - checkbox name="item.buildingBasicGroups[1].name" *ngIf="item.buildingBasicGroups[1].isOptional" [(ngModel)]="item.buildingBasicGroups[1].submitted" style="float: left;margin - right: 10px;"></mat - checkbox> -->
< h1 style = "font-size: 22px;width: 200px;" > {{item.buildingBasicGroups[1].name}}< / h1 >
< / div >
< table mat-table [ dataSource ] = " devicedataSourcebox [ item . buildingId ] " class = "mat-elevation-z8" * ngIf = "item.buildingBasicGroups[1].submitted" >
< ng-container matColumnDef = "name" >
< th mat-header-cell * matHeaderCellDef >
< button style = "width: 24px;" type = "button" mat-icon-button class = "adddeviceinfo2" > < mat-icon > add_circle_outline< / mat-icon > < / button >
< button style = "width: 24px;" type = "button" mat-icon-button class = "removedeviceinfo" > < mat-icon > remove_circle_outline< / mat-icon > < / button >
装置区名称< span style = "color: red;" > *< / span > < / th >
< td mat-cell * matCellDef = "let element;let key = index" >
< textarea readonly style = "width: 100px;" [ ( ngModel ) ] = " element . name " name = "{{key}}1" required > < / textarea >
< / td >
< / ng-container >
< ng-container matColumnDef = "flow" >
< th mat-header-cell * matHeaderCellDef > 工艺流程< span style = "color: red;" > *< / span > < / th >
< td mat-cell * matCellDef = "let element;let key = index" >
< textarea readonly [ ( ngModel ) ] = " element . flow " name = "{{key}}2" required > < / textarea >
< / td >
< / ng-container >
< ng-container matColumnDef = "danger" >
< th mat-header-cell * matHeaderCellDef > 火灾危险性< span style = "color: red;" > *< / span > < / th >
< td mat-cell * matCellDef = "let element;let key = index" >
< textarea readonly [ ( ngModel ) ] = " element . danger " name = "{{key}}3" required > < / textarea >
< / td >
< / ng-container >
< ng-container matColumnDef = "payattentionto" >
< th mat-header-cell * matHeaderCellDef > 灭火注意事项< / th >
< td mat-cell * matCellDef = "let element;let key = index" >
< textarea readonly style = "width: 100px;" [ ( ngModel ) ] = " element . payattentionto " name = "{{key}}4" > < / textarea >
< / td >
< / ng-container >
< tr mat-header-row * matHeaderRowDef = "displayedColumns" > < / tr >
< tr mat-row * matRowDef = "let row; columns: displayedColumns;" > < / tr >
< / table >
< / div >
< div style = "width: 200px;" >
<!-- <mat - checkbox *ngIf="item.buildingBasicGroups[2].isOptional" name="item.buildingBasicGroups[2].name" [(ngModel)]="item.buildingBasicGroups[2].submitted" style="float: left;margin - right: 10px;"></mat - checkbox> -->
< h1 style = "font-size: 22px;width: 200px;" > 储罐信息< / h1 >
< / div >
<!-- <button *ngIf="item.buildingBasicGroups[2].submitted" type="button" mat - raised - button color="primary" style="margin - top: 30px;margin - right: 5px;">添加储罐</button>
< button * ngIf = "item.buildingBasicGroups[2].submitted" type = "button" mat-raised-button color = "warn" style = "margin-top: 30px;" matTooltip = "会将此建筑处于末尾的储罐移除" > 移除末尾储罐< / button > -->
< div * ngIf = "item.buildingBasicGroups[2].submitted" style = "margin-top: 30px;" >
< div class = "tankinfo" * ngFor = "let x of item.bigfor;let www = index" >
< p style = "font-size: 22px; width: 200px;" > {{x[0].name}}< / p >
< div class = "basicinfobox" >
< div class = "houseinfoinput" * ngFor = "let i of x[0].propertyInfos;let key = index" style = "line-height: 65px;" >
< span > {{i.propertyName}} {{i.physicalUnit}}:< / span >
< mat-form-field * ngIf = "i.propertyType == 0" >
< input readonly matInput name = "{{www+2}}-tanker-{{key}}" type = 'text'
required="{{ i.required==true ? 'true' : 'false' }}"
[(ngModel)]="i.propertyValue"
>
< / mat-form-field >
< textarea readonly style = "width: 180px;height: 45px;" * ngIf = "i.propertyType == 1" [ ( ngModel ) ] = " i . propertyValue " name = "{{www+2}}-tanker-{{key}}" > < / textarea >
< span style = "color: red;" * ngIf = "i.required" > *< / span >
< / div >
< / div >
< p style = "font-size: 22px; width: 200px;" > {{x[1].name}}< / p >
< div class = "tankdetailinfo" >
< table # table mat-table [ dataSource ] = " x [ 1 ] . propertyInfos " class = "mat-elevation-z8" style = "position: relative;" >
< ng-container matColumnDef = "tank" >
< th mat-header-cell * matHeaderCellDef >
<!-- <button type="button" mat - icon - button class="adddeviceinfo" style="position: absolute;left: 0;"><mat - icon>add_circle_outline</mat - icon></button>
< button type = "button" mat-icon-button class = "removedeviceinfo" > < mat-icon > remove_circle_outline< / mat-icon > < / button > -->
罐区 < / th >
< td mat-cell * matCellDef = "let element;let key = index" >
< input readonly style = "height:45px" class = "tankinfo" name = "{{www}}{{element.tank}}tank{{key}}" type = 'text'
[(ngModel)]="element.tank">
< / td >
< / ng-container >
< ng-container matColumnDef = "tankid" >
< th mat-header-cell * matHeaderCellDef > 罐区编号< span style = "color: red;" > *< / span > < / th >
< td mat-cell * matCellDef = "let element;let key = index" >
< input readonly style = "height:45px" class = "tankinfo" name = "{{www}}{{element.tankid}}tank{{key}}" type = 'text'
required
[(ngModel)]="element.tankid">
< / td >
< / ng-container >
< ng-container matColumnDef = "tankmedium" >
< th mat-header-cell * matHeaderCellDef > 储存介质< span style = "color: red;" > *< / span > < / th >
< td mat-cell * matCellDef = "let element;let key = index" >
< input readonly style = "height:45px" class = "tankinfo" name = "{{www}}{{element.tankmedium}}tank{{key}}" type = 'text'
required
[(ngModel)]="element.tankmedium">
< / td >
< / ng-container >
< ng-container matColumnDef = "tanktype" >
< th mat-header-cell * matHeaderCellDef > 储罐类型< span style = "color: red;" > *< / span > < / th >
< td mat-cell * matCellDef = "let element;let key = index" >
< input readonly style = "height:45px" class = "tankinfo" name = "{{www}}{{element.tanktype}}tank{{key}}" type = 'text'
required
[(ngModel)]="element.tanktype">
< / td >
< / ng-container >
< ng-container matColumnDef = "tankcapacity" >
< th mat-header-cell * matHeaderCellDef > 容量(m³)< span style = "color: red;" > *< / span > < / th >
< td mat-cell * matCellDef = "let element;let key = index" >
< input readonly style = "height:45px" class = "tankinfo" name = "{{www}}{{element.tankcapacity}}tank{{key}}" type = 'text'
required
[(ngModel)]="element.tankcapacity">
< / td >
< / ng-container >
< ng-container matColumnDef = "tankdiameter" >
< th mat-header-cell * matHeaderCellDef > 直径(m)< span style = "color: red;" > *< / span > < / th >
< td mat-cell * matCellDef = "let element;let key = index" >
< input readonly style = "height:45px" class = "tankinfo" name = "{{www}}{{element.tankdiameter}}tank{{key}}" type = 'text'
required
[(ngModel)]="element.tankdiameter">
< / td >
< / ng-container >
< ng-container matColumnDef = "tankheight" >
< th mat-header-cell * matHeaderCellDef > 高度(m)< span style = "color: red;" > *< / span > < / th >
< td mat-cell * matCellDef = "let element;let key = index" >
< input readonly style = "height:45px" class = "tankinfo" name = "{{www}}{{element.tankheight}}tank{{key}}" type = 'text'
required
[(ngModel)]="element.tankheight">
< / td >
< / ng-container >
< ng-container matColumnDef = "tanktectum" >
< th mat-header-cell * matHeaderCellDef > 顶盖形式< / th >
< td mat-cell * matCellDef = "let element;let key = index" >
< input readonly style = "height:45px" class = "tankinfo" name = "{{www}}{{element.tanktectum}}tank{{key}}" type = 'text'
[(ngModel)]="element.tanktectum">
< / td >
< / ng-container >
< ng-container matColumnDef = "tanktexture" >
< th mat-header-cell * matHeaderCellDef > 浮盘材质< / th >
< td mat-cell * matCellDef = "let element;let key = index" >
< input readonly style = "height:45px" class = "tankinfo" name = "{{www}}{{element.tanktexture}}tank{{key}}" type = 'text'
[(ngModel)]="element.tanktexture">
< / td >
< / ng-container >
< ng-container matColumnDef = "platetype" >
< th mat-header-cell * matHeaderCellDef > 浮盘类型< / th >
< td mat-cell * matCellDef = "let element;let key = index" >
< input readonly style = "height:45px" class = "tankinfo" name = "{{www}}{{element.platetype}}tank{{key}}" type = 'text'
[(ngModel)]="element.platetype">
< / td >
< / ng-container >
< ng-container matColumnDef = "foamgeneratorid" >
< th mat-header-cell * matHeaderCellDef > 泡沫产生器型号< / th >
< td mat-cell * matCellDef = "let element;let key = index" >
< input readonly style = "height:45px" class = "tankinfo" name = "{{www}}{{element.foamgeneratorid}}tank{{key}}" type = 'text'
[(ngModel)]="element.foamgeneratorid">
< / td >
< / ng-container >
< ng-container matColumnDef = "foamgeneratortype" >
< th mat-header-cell * matHeaderCellDef > 泡沫产生器形式< / th >
< td mat-cell * matCellDef = "let element;let key = index" >
< input readonly style = "height:45px" class = "tankinfo" name = "{{www}}{{element.foamgeneratortype}}tank{{key}}" type = 'text'
[(ngModel)]="element.foamgeneratortype">
< / td >
< / ng-container >
< ng-container matColumnDef = "isprotect" >
< th mat-header-cell * matHeaderCellDef > 是否设置氮封惰化保护装置< / th >
< td mat-cell * matCellDef = "let element;let key = index" >
< input readonly style = "height:45px" class = "tankinfo" name = "{{www}}{{element.isprotect}}tank{{key}}" type = 'text'
[(ngModel)]="element.isprotect">
< / td >
< / ng-container >
< ng-container matColumnDef = "fendinggroyneheight" >
< th mat-header-cell * matHeaderCellDef > 防护堤高度(m)< span style = "color: red;" > *< / span > < / th >
< td mat-cell * matCellDef = "let element;let key = index" >
< input readonly style = "height:45px" class = "tankinfo" name = "{{www}}{{element.fendinggroyneheight}}tank{{key}}" type = 'text'
required
[(ngModel)]="element.fendinggroyneheight">
< / td >
< / ng-container >
< ng-container matColumnDef = "portnum" >
< th mat-header-cell * matHeaderCellDef > 半固定泡沫灭火接口数量< / th >
< td mat-cell * matCellDef = "let element;let key = index" >
< input readonly style = "height:45px" class = "tankinfo" name = "{{www}}{{element.portnum}}tank{{key}}" type = 'text'
[(ngModel)]="element.portnum">
< / td >
< / ng-container >
< ng-container matColumnDef = "else" >
< th mat-header-cell * matHeaderCellDef > 其它设施< / th >
< td mat-cell * matCellDef = "let element;let key = index" >
< input readonly style = "height:45px" class = "tankinfo" name = "{{www}}{{element.else}}tank{{key}}" type = 'text'
[(ngModel)]="element.else">
< / td >
< / ng-container >
< tr mat-header-row * matHeaderRowDef = "displayedColumns2" > < / tr >
< tr mat-row * matRowDef = "let row; columns: displayedColumns2;" > < / tr >
< / table >
< / div >
< / div >
< / div >
< div class = "CustomData" style = "width: 200px;margin-top: 60px;" >
<!-- <mat - checkbox name="checkbuilding" [(ngModel)]="item.isCustomData" style="float: left;margin - right: 10px;"></mat - checkbox> -->
< h1 style = "font-size: 22px;width: 200px;" > 自定义信息< / h1 >
< / div >
< div * ngIf = "item.isCustomData" style = "position: relative;" >
< button style = "position: absolute;left: 0;font-size: 11px;" type = "button" mat-icon-button class = "addCustomData" > < mat-icon style = "font-size: 38px;" > add_circle_outline< / mat-icon > < / button >
< button style = "position: absolute;left:60px;" type = "button" mat-icon-button class = "deleteCustomData" > < mat-icon style = "font-size: 38px;" > remove_circle_outline< / mat-icon > < / button >
< div class = "houseinfoinput" style = "float: left;margin-left: 250px;" * ngFor = "let i of item.buildingCustomData.customProperties;let key = index" >
< mat-form-field >
< input readonly matInput type = 'text' name = "{{key}}1CustomData"
required
[(ngModel)]="i.name">
< / mat-form-field >
< span > :< / span >
< mat-form-field >
< input readonly matInput type = 'text' name = "{{key}}2CustomData"
required
[(ngModel)]="i.value">
< / mat-form-field >
< span style = "color: red;" * ngIf = "i.required" > *< / span >
< / div >
< / div >
< / div >
<!-- <div class="infobtnbox">
< button type = "submit()" mat-button mat-raised-button color = "primary" > 保存< / button >
< button type = "button" mat-raised-button color = "warn" > 删除< / button >
< / div > -->
< / form >
< / mat-tab >
< / mat-tab-group >
< / div >
< / div >
< / div >