Browse Source

[修改]内网打包在线编制模块屏蔽

tangshan
陈敬瑜 3 years ago
parent
commit
130f8c569c
  1. 4
      src/app/plan-management/create-plan-online-five/addattinf.html
  2. 11
      src/app/plan-management/create-plan-online-five/create-plan-online-five.component.html
  3. 108
      src/app/plan-management/create-plan-online-five/create-plan-online-five.component.ts
  4. 5
      src/app/plan-management/entry-plan-look/AddPlanone.html
  5. 57
      src/app/plan-management/entry-plan-look/entry-plan-look.component.ts

4
src/app/plan-management/create-plan-online-five/addattinf.html

@ -11,12 +11,12 @@
<span>新增分组</span> <span>新增分组</span>
</div> </div>
<div class="center" *ngIf="this.data.element.surveyName=='建筑信息'"> <div class="center" *ngIf="this.data.element!=undefined&& this.data.element.surveyName=='建筑信息'">
<div class="group" *ngFor="let item of addAttinfBuild" > <div class="group" *ngFor="let item of addAttinfBuild" >
<mat-checkbox class="example-margin" color='primary' [(ngModel)]="item.completed" >{{item.propertyName}}</mat-checkbox> <mat-checkbox class="example-margin" color='primary' [(ngModel)]="item.completed" >{{item.propertyName}}</mat-checkbox>
</div> </div>
</div> </div>
<div class="center" *ngIf="this.data.surveyName=='消防设施'"> <div class="center" *ngIf="this.data.element!=undefined&& this.data.element.surveyName=='消防设施'">
<div class="group" *ngFor="let item of addAttinfFile" > <div class="group" *ngFor="let item of addAttinfFile" >
<mat-checkbox class="example-margin" color='primary' [(ngModel)]="item.completed" >{{item.name}}</mat-checkbox> <mat-checkbox class="example-margin" color='primary' [(ngModel)]="item.completed" >{{item.name}}</mat-checkbox>
</div> </div>

11
src/app/plan-management/create-plan-online-five/create-plan-online-five.component.html

@ -716,7 +716,7 @@
opacity: 1; opacity: 1;
height: 40px; height: 40px;
line-height: 40px;">{{itemunit.name}}</span> line-height: 40px;">{{itemunit.name}}</span>
<!-- <img src="../../../assets/images/update.png" *ngIf="haveNew!=undefined&&pattern == 'edit'" (click)='unitZdyaaa()'> --> <img src="../../../assets/images/update.png" *ngIf="planMode==4&&pattern == 'edit'" (click)='unitZdyaaa()'>
</div> </div>
<div class="unitbody" *ngFor="let element of itemunit.body;let elei=index" style=" height: 100%; <div class="unitbody" *ngFor="let element of itemunit.body;let elei=index" style=" height: 100%;
width: 100%; width: 100%;
@ -734,7 +734,7 @@
color: #ffffff;">{{element.surveyName}}</span> color: #ffffff;">{{element.surveyName}}</span>
<!-- <img src="../../../assets/images/deletered.png" > --> <!-- <img src="../../../assets/images/deletered.png" > -->
<img src="../../../assets/images/delyello.png" *ngIf="haveNew!=undefined&&pattern == 'edit'"> <img src="../../../assets/images/delyello.png" *ngIf="haveNew!=undefined&&pattern == 'edit'">
<!-- <img src="../../../assets/images/updatabai.png" (click)='addBuildingmb(element)' *ngIf="pattern == 'edit'&&(element.surveyName=='建筑信息'||element.surveyName=='消防设施')"> --> <img src="../../../assets/images/updatabai.png" (click)='addBuildingmb(element)' *ngIf="planMode==4&&pattern == 'edit'&&(element.surveyName=='建筑信息'||element.surveyName=='消防设施')">
<img src="../../../assets/images/addbai.png" <img src="../../../assets/images/addbai.png"
(click)='unitadd(element.surveyName,uniti,elei)' *ngIf="pattern == 'edit'"> (click)='unitadd(element.surveyName,uniti,elei)' *ngIf="pattern == 'edit'">
</div> </div>
@ -838,11 +838,12 @@
text-align: center;"> text-align: center;">
<input type="text" placeholder="请输入内容" [(ngModel)]="attack.name" [readonly]='attack.zdy==undefined' *ngIf="pattern == 'edit'"> <input type="text" placeholder="请输入内容" [(ngModel)]="attack.name" [readonly]='attack.zdy==undefined' *ngIf="pattern == 'edit'">
<span style=" margin-left: 20px;font-size: 16px;color: #b99a00;opacity: 1;height: 40px;line-height: 40px;" *ngIf="pattern != 'edit'">{{attack.name}}</span> <span style=" margin-left: 20px;font-size: 16px;color: #b99a00;opacity: 1;height: 40px;line-height: 40px;" *ngIf="pattern != 'edit'">{{attack.name}}</span>
<img src="../../../assets/images/delyello.png" *ngIf="pattern == 'edit'&&attack.zdy!=undefined" <img src="../../../assets/images/delyello.png" *ngIf="pattern == 'edit'"
(click)='unitDel(element.surveyName,uniti,attacki)'> (click)='unitDel(element.surveyName,uniti,attacki)'>
<img src="../../../assets/images/addyello.png" <img src="../../../assets/images/addyello.png"
*ngIf="pattern == 'edit'&&attack.zdy!=undefined" *ngIf="pattern == 'edit'"
(click)='unitadd(element.surveyName,uniti,attacki,0)'> (click)='unitadd(element.surveyName,uniti,attacki,0)'><!-- &&attack.zdy!=undefined -->
<img src="../../../assets/images/updateyello.png" (click)='fileAdd(attack.facilityItems,attacki,attack.name)'>
</div> </div>
<div class="fileBody"> <div class="fileBody">
<div *ngFor="let info of attack.facilityItems;let filenum=index"> <div *ngFor="let info of attack.facilityItems;let filenum=index">

108
src/app/plan-management/create-plan-online-five/create-plan-online-five.component.ts

@ -59,10 +59,12 @@ export class CreatePlanOnlineFiveComponent implements OnInit {
blockyl = true blockyl = true
zaixianDr=false zaixianDr=false
haveNew=false haveNew=false
planMode//预案类型
//index //index
ngOnInit(): void { ngOnInit(): void {
//this.index = this.getArrayIndex(this.planTemplateData,'单位概况') //this.index = this.getArrayIndex(this.planTemplateData,'单位概况')
this.haveNew=this.route.snapshot.queryParams.haveNew this.haveNew=this.route.snapshot.queryParams.haveNew
this.planMode=this.route.snapshot.queryParams.planMode
console.log(this.route.snapshot.queryParams.wordChange) console.log(this.route.snapshot.queryParams.wordChange)
this.planLevel = this.route.snapshot.queryParams.planCategory this.planLevel = this.route.snapshot.queryParams.planCategory
if (this.route.snapshot.queryParams.pattern == 'false') { if (this.route.snapshot.queryParams.pattern == 'false') {
@ -1920,10 +1922,9 @@ export class CreatePlanOnlineFiveComponent implements OnInit {
width: '290px', width: '290px',
height:'460px', height:'460px',
disableClose:true, disableClose:true,
data:{element:element,buildingID:this.buildingsData[0].basicCategoryId} data:{element:element,buildingID:this.buildingsData[0].basicCategoryId,fid:this.route.snapshot.queryParams.unitTypeId}
}); });
dialogRef.afterClosed().subscribe(result => { dialogRef.afterClosed().subscribe(result => {
console.log(result)
if(result!=undefined){ if(result!=undefined){
this.planTemplateData[index].building[this.clicki].body.forEach(item => { this.planTemplateData[index].building[this.clicki].body.forEach(item => {
if(item.surveyName==element.surveyName){ if(item.surveyName==element.surveyName){
@ -1934,6 +1935,26 @@ export class CreatePlanOnlineFiveComponent implements OnInit {
}) })
} }
//消防设施具体属性编辑
fileAdd(facilityItems,filei,filename){
let index = this.getArrayIndex(this.planTemplateData,'单位概况')
if(facilityItems.length!=0){
const dialogRef = this.dialog.open(adddwsurveys, {//调用open方法打开对话框并且携带参数过去
width: '240px',
height:'400px',
disableClose:true,
data:{facilityItems:facilityItems,filename,fid:this.route.snapshot.queryParams.unitTypeId}
});
dialogRef.afterClosed().subscribe(result => {
console.log(result)
this.planTemplateData[index].building[this.clicki].body.forEach(element => {
if(element.surveyName=='消防设施'){
element.attinf[filei].facilityItems=result
}
});
})
}
}
} }
@ -2160,6 +2181,7 @@ export class adddwsurveys{
addAttinfFile addAttinfFile
filenewDate=[] filenewDate=[]
facilityItems facilityItems
facilityCategoryId//消防设施内容id
ngOnInit(): void{ ngOnInit(): void{
this.getinf() this.getinf()
console.log(this.data) console.log(this.data)
@ -2167,6 +2189,7 @@ export class adddwsurveys{
} }
async getinf(){ async getinf(){
if(this.data.facilityItems==undefined){
if(this.data.element.surveyName=='建筑信息'&&this.data.element.attinf==undefined){ if(this.data.element.surveyName=='建筑信息'&&this.data.element.attinf==undefined){
this.addAttinfBuild=[] this.addAttinfBuild=[]
let paramsdata:any ={ let paramsdata:any ={
@ -2235,9 +2258,14 @@ export class adddwsurveys{
console.log(this.buildnewDate) console.log(this.buildnewDate)
console.log(this.addAttinfBuild) console.log(this.addAttinfBuild)
}else if(this.data.surveyName=='消防设施'&&this.data.attinf==undefined){ }else if(this.data.element.surveyName=='消防设施'&&this.data.element.attinf==undefined){
this.http.get("/api/BuildingTypes").subscribe((buildData:any)=>{
console.log(buildData)
buildData.forEach(element => {
if(element.id==this.data.fid){
this.facilityCategoryId=element.facilityCategoryId
let paramsdata:any ={ let paramsdata:any ={
categoryId:this.data.newleftTabledata[this.data.leftclicki].facilityCategoryId categoryId:this.facilityCategoryId
} }
this.http.get("/api/FacilityGroups",{params:paramsdata}).subscribe((data:any)=>{ this.http.get("/api/FacilityGroups",{params:paramsdata}).subscribe((data:any)=>{
console.log(data) console.log(data)
@ -2248,10 +2276,18 @@ export class adddwsurveys{
}); });
console.log(this.addAttinfFile) console.log(this.addAttinfFile)
}) })
}
});
})
}else if(this.data.surveyName=='消防设施'&&this.data.attinf!=undefined){ }else if(this.data.surveyName=='消防设施'&&this.data.attinf!=undefined){
this.filenewDate=[] this.filenewDate=[]
this.addAttinfFile=this.data.attinf this.addAttinfFile=this.data.attinf
this.addAttinfFile=JSON.parse(JSON.stringify(this.addAttinfFile)) this.addAttinfFile=JSON.parse(JSON.stringify(this.addAttinfFile))
this.http.get("/api/BuildingTypes").subscribe((buildData:any)=>{
buildData.forEach(async element => {
if(element.id==this.data.fid){
this.facilityCategoryId=element.facilityCategoryId
let paramsdata:any ={ let paramsdata:any ={
categoryId:this.data.newleftTabledata[this.data.leftclicki].facilityCategoryId categoryId:this.data.newleftTabledata[this.data.leftclicki].facilityCategoryId
} }
@ -2267,6 +2303,10 @@ export class adddwsurveys{
}); });
}) })
}) })
}
})
})
this.filenewDate=JSON.parse(JSON.stringify(this.filenewDate)) this.filenewDate=JSON.parse(JSON.stringify(this.filenewDate))
let temp=0 let temp=0
this.filenewDate.forEach((buildval,buindi,buildarr)=>{ this.filenewDate.forEach((buildval,buindi,buildarr)=>{
@ -2294,6 +2334,63 @@ export class adddwsurveys{
} }
}) })
} }
}else{
//消防设施最里层数据
let apifile
this.facilityItems=JSON.parse(JSON.stringify(this.data.facilityItems))
console.log(this.facilityItems)
//请求接口,看数据是否有变化
this.http.get("/api/BuildingTypes").subscribe((buildData:any)=>{
buildData.forEach(async element => {
if(element.id==this.data.fid){
this.facilityCategoryId=element.facilityCategoryId
let paramsdata:any ={
categoryId:this.facilityCategoryId
}
let fileResult=await new Promise((resolve) => {
this.http.get("/api/FacilityGroups",{params:paramsdata}).subscribe((data:any)=>{
resolve(data)
})
})
apifile=fileResult
let apifileData//消防设施最内层数据
apifile.forEach(element => {
if(element.name==this.data.filename){
apifileData=element.facilityItems
}
});
console.log(apifileData)
let temp=0
apifileData.forEach((buildval,buindi,buildarr)=>{
temp=0
this.facilityItems.forEach((addval,addi,addarr)=>{
if(buildval.name==addval.name){
temp++
}
})
if(temp==0){
console.log(buildval)
this.facilityItems.push(buildval)
}
})
this.facilityItems.forEach((addval,addi,addarr)=>{
temp=0
apifileData.forEach((buildval,buindi,buildarr)=>{
if(buildarr[buindi].name==addarr[addi].name){
temp++
}
})
if(temp==0){
console.log(addarr[addi])
this.facilityItems.splice(addi,1)
}
})
}
})
})
}
} }
//取消按钮 //取消按钮
@ -2302,7 +2399,8 @@ close(){
} }
//确定按钮 //确定按钮
defineClick(){ defineClick(){
this.dialogRef.close(this.data.element.surveyName=='建筑信息'?this.addAttinfBuild:this.data.element.surveyName=='消防设施'?this.addAttinfFile:this.facilityItems) this.dialogRef.close(this.data.element!=undefined&&this.data.element.surveyName=='建筑信息'?
this.addAttinfBuild:this.data.element!=undefined&&this.data.element.surveyName=='消防设施'?this.addAttinfFile:this.facilityItems)
} }
} }

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

@ -61,11 +61,10 @@
<input style="width: 175px;" type="file" name="" id="uploadFile" *ngIf="isup" (change)="filechange($event)"> <input style="width: 175px;" type="file" name="" id="uploadFile" *ngIf="isup" (change)="filechange($event)">
<span *ngIf="uploadover" style="font-size: 13px;">(已上传)</span> <span *ngIf="uploadover" style="font-size: 13px;">(已上传)</span>
</div> </div>
<div *ngIf="inputword"> <!-- <div *ngIf="inputword">
<mat-radio-button value="2" style="margin-right: 10px;">模板在线编制</mat-radio-button> <mat-radio-button value="2" style="margin-right: 10px;">模板在线编制</mat-radio-button>
<!-- <button mat-raised-button *ngIf="isinput" (click)='createWord()'>在线编制预案</button> -->
</div> </div>
<!-- <div *ngIf="inputNew"> <div *ngIf="inputNew">
<mat-radio-button value="4" style="margin-right: 10px;">自定义在线编制</mat-radio-button> <mat-radio-button value="4" style="margin-right: 10px;">自定义在线编制</mat-radio-button>
</div> --> </div> -->

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

@ -191,9 +191,9 @@ export class EntryPlanLookComponent implements OnInit {
else if (e.planType == 16) { else if (e.planType == 16) {
if (e.attachmentUrls == null) { if (e.attachmentUrls == null) {
if(e.planMode==4){ if(e.planMode==4){
window.open(`/planManagement/createplanonlinefive?navIsOpen=false&companyId=${this.companyId}&planName=${e.name}&unitName=${this.unitdata.unitname}&planCategory=${e.planCategory}&planId=${e.id}&unitTypeId=${this.compantData.buildingTypes[0].id}&orName=${this.compantData.organizationName}&orId=${this.compantData.organizationId}&pattern=true&haveNew=true`) window.open(`/planManagement/createplanonlinefive?navIsOpen=false&companyId=${this.companyId}&planName=${e.name}&unitName=${this.unitdata.unitname}&planCategory=${e.planCategory}&planId=${e.id}&unitTypeId=${this.compantData.buildingTypes[0].id}&orName=${this.compantData.organizationName}&orId=${this.compantData.organizationId}&pattern=true&haveNew=true&planMode=${e.planMode}`)
}else{ }else{
window.open(`/planManagement/createplanonlinefive?navIsOpen=false&companyId=${this.companyId}&planName=${e.name}&unitName=${this.unitdata.unitname}&planCategory=${e.planCategory}&planId=${e.id}&unitTypeId=${this.compantData.buildingTypes[0].id}&orName=${this.compantData.organizationName}&orId=${this.compantData.organizationId}&pattern=true`) window.open(`/planManagement/createplanonlinefive?navIsOpen=false&companyId=${this.companyId}&planName=${e.name}&unitName=${this.unitdata.unitname}&planCategory=${e.planCategory}&planId=${e.id}&unitTypeId=${this.compantData.buildingTypes[0].id}&orName=${this.compantData.organizationName}&orId=${this.compantData.organizationId}&pattern=true&planMode=${e.planMode}`)
} }
} }
@ -231,16 +231,7 @@ export class EntryPlanLookComponent implements OnInit {
} }
} }
); );
/* if (e.url.indexOf('app') == 0) {
window.location.href = e.url
} else {
sessionStorage.setItem("url", e.url)
if ((e.url as string).includes('gis/threeDimensionalHome')) { //三维预案
window.open(`${e.url}?unitId=${this.companyId}&unitName=${this.unitdata.unitname}&editMode=true`)
} else {
window.open(`/planManagement/webLook`)
}
} */
} else { } else {
this.snackBar.open('只有二维预案和文本预案可以编辑!', '确定', config); this.snackBar.open('只有二维预案和文本预案可以编辑!', '确定', config);
} }
@ -259,7 +250,7 @@ export class EntryPlanLookComponent implements OnInit {
else if (e.planType == 16) { else if (e.planType == 16) {
if (e.attachmentUrls == null) { if (e.attachmentUrls == null) {
console.log(this.compantData) console.log(this.compantData)
window.open(`/planManagement/createplanonlinefive?navIsOpen=false&companyId=${this.companyId}&planName=${e.name}&unitName=${this.unitdata.unitname}&planCategory=${e.planCategory}&planId=${e.id}&unitTypeId=${this.compantData.buildingTypes[0].id}&orName=${this.compantData.organizationName}&orId=${this.compantData.organizationId}`) window.open(`/planManagement/createplanonlinefive?navIsOpen=false&companyId=${this.companyId}&planName=${e.name}&unitName=${this.unitdata.unitname}&planCategory=${e.planCategory}&planId=${e.id}&unitTypeId=${this.compantData.buildingTypes[0].id}&orName=${this.compantData.organizationName}&orId=${this.compantData.organizationId}&planMode=${e.planMode}`)
} }
else { else {
let body = {}; let body = {};
@ -280,16 +271,7 @@ export class EntryPlanLookComponent implements OnInit {
} }
else if (e.planType == 2) { //三维预案 else if (e.planType == 2) { //三维预案
/* if (e.url.indexOf('app') == 0) {
window.location.href = e.url
} else {
sessionStorage.setItem("url", e.url)
if ((e.url as string).includes('gis/threeDimensionalHome')) { //三维预案
window.open(`${e.url}?unitId=${this.companyId}&unitName=${this.unitdata.unitname}&editMode=true`)
} else {
window.open(`/planManagement/webLook`)
}
} */
const dialogRef = this.dialog.open(ChangeUrl, { const dialogRef = this.dialog.open(ChangeUrl, {
data: { element: e } data: { element: e }
}); });
@ -313,7 +295,6 @@ export class EntryPlanLookComponent implements OnInit {
} }
} }
}else{ }else{
if (e.auditStatus == 8) {
if (e.planType == 1) { //如果是在线编辑 if (e.planType == 1) { //如果是在线编辑
let id = e.id let id = e.id
sessionStorage.setItem("planId", id) sessionStorage.setItem("planId", id)
@ -327,9 +308,9 @@ export class EntryPlanLookComponent implements OnInit {
else if (e.planType == 16) { else if (e.planType == 16) {
if (e.attachmentUrls == null) { if (e.attachmentUrls == null) {
if(e.planMode==4){ if(e.planMode==4){
window.open(`/planManagement/createplanonlinefive?navIsOpen=false&companyId=${this.companyId}&planName=${e.name}&unitName=${this.unitdata.unitname}&planCategory=${e.planCategory}&planId=${e.id}&unitTypeId=${this.compantData.buildingTypes[0].id}&orName=${this.compantData.organizationName}&orId=${this.compantData.organizationId}&pattern=true&haveNew=true`) window.open(`/planManagement/createplanonlinefive?navIsOpen=false&companyId=${this.companyId}&planName=${e.name}&unitName=${this.unitdata.unitname}&planCategory=${e.planCategory}&planId=${e.id}&unitTypeId=${this.compantData.buildingTypes[0].id}&orName=${this.compantData.organizationName}&orId=${this.compantData.organizationId}&pattern=true&haveNew=true&planMode=${e.planMode}`)
}else{ }else{
window.open(`/planManagement/createplanonlinefive?navIsOpen=false&companyId=${this.companyId}&planName=${e.name}&unitName=${this.unitdata.unitname}&planCategory=${e.planCategory}&planId=${e.id}&unitTypeId=${this.compantData.buildingTypes[0].id}&orName=${this.compantData.organizationName}&orId=${this.compantData.organizationId}&pattern=true`) window.open(`/planManagement/createplanonlinefive?navIsOpen=false&companyId=${this.companyId}&planName=${e.name}&unitName=${this.unitdata.unitname}&planCategory=${e.planCategory}&planId=${e.id}&unitTypeId=${this.compantData.buildingTypes[0].id}&orName=${this.compantData.organizationName}&orId=${this.compantData.organizationId}&pattern=true&planMode=${e.planMode}`)
} }
} }
@ -380,9 +361,7 @@ export class EntryPlanLookComponent implements OnInit {
} else { } else {
this.snackBar.open('只有二维预案和文本预案可以编辑!', '确定', config); this.snackBar.open('只有二维预案和文本预案可以编辑!', '确定', config);
} }
} else { /* else {
let isTrue = confirm('编辑后审核状态会成为未审核状态,您确定要编辑吗')
if (isTrue) {
if (e.planType == 1) { //如果是在线编辑 if (e.planType == 1) { //如果是在线编辑
let id = e.id let id = e.id
sessionStorage.setItem("planId", id) sessionStorage.setItem("planId", id)
@ -410,23 +389,11 @@ export class EntryPlanLookComponent implements OnInit {
this.http.put(`/api/PlanComponents/${e.id}?resetAudit=${resetAudit}`, body, options).subscribe(data => { this.http.put(`/api/PlanComponents/${e.id}?resetAudit=${resetAudit}`, body, options).subscribe(data => {
this.getAllPlanComponents() this.getAllPlanComponents()
this.lookPlan(e) this.lookPlan(e)
}/* ,err => { })
this.snackBar.open(err,'确定',config);
} */)
} }
} }
else if (e.planType == 2) { //三维预案 else if (e.planType == 2) { //三维预案
/* if (e.url.indexOf('app') == 0) {
window.location.href = e.url
} else {
sessionStorage.setItem("url", e.url)
if ((e.url as string).includes('gis/threeDimensionalHome')) { //三维预案
window.open(`${e.url}?unitId=${this.companyId}&unitName=${this.unitdata.unitname}&editMode=true`)
} else {
window.open(`/planManagement/webLook`)
}
} */
const dialogRef = this.dialog.open(ChangeUrl, { const dialogRef = this.dialog.open(ChangeUrl, {
data: { element: e } data: { element: e }
}); });
@ -446,8 +413,8 @@ export class EntryPlanLookComponent implements OnInit {
this.snackBar.open('只有二维预案和文本预案可以编辑!', '确定', config); this.snackBar.open('只有二维预案和文本预案可以编辑!', '确定', config);
} }
}
} } */
} }
@ -1218,7 +1185,7 @@ export class AddPlanone {
this.planData = plandata this.planData = plandata
this.dialogRef.close(plandata); this.dialogRef.close(plandata);
//console.log(plandata) //console.log(plandata)
window.open(`/planManagement/createplanonlinefive?navIsOpen=false&companyId=${this.data.companyId}&planName=${this.planData.name}&unitName=${this.data.unitName}&planCategory=${this.selectedPLanLevel}&planId=${this.planData.id}&haveNew=${haveNew}`) window.open(`/planManagement/createplanonlinefive?navIsOpen=false&companyId=${this.data.companyId}&planName=${this.planData.name}&unitName=${this.data.unitName}&planCategory=${this.selectedPLanLevel}&planId=${this.planData.id}&haveNew=${haveNew}&planMode=${this.defaultisshow}`)
}) })
}else{ }else{
if (open.length > 0) { if (open.length > 0) {

Loading…
Cancel
Save