diff --git a/angular.json b/angular.json index 04d0a07..d3ec304 100644 --- a/angular.json +++ b/angular.json @@ -36,7 +36,7 @@ "node_modules/font-awesome/scss/font-awesome.scss", "node_modules/ng-zorro-antd/ng-zorro-antd.min.css", "src/styles.scss", - "node_modules/ztree/css/zTreeStyle/zTreeStyle.css" + "node_modules/ztree/css/metroStyle/metroStyle.css" ], "scripts": [ "node_modules/jquery/dist/jquery.min.js", diff --git a/package-lock.json b/package-lock.json index c437d0e..1220bee 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10051,7 +10051,11 @@ }, "ztree": { "version": "3.5.24", +<<<<<<< HEAD "resolved": "http://registry.npm.taobao.org/ztree/download/ztree-3.5.24.tgz", +======= + "resolved": "https://registry.npmjs.org/ztree/-/ztree-3.5.24.tgz", +>>>>>>> develop-2 "integrity": "sha1-tj/lKYH98sMpZ1z9J3Lw0UdSH/E=", "requires": { "jquery": "3.3.1" diff --git a/src/app/components/components.module.ts b/src/app/components/components.module.ts index 73d060f..2df3bcc 100644 --- a/src/app/components/components.module.ts +++ b/src/app/components/components.module.ts @@ -1,9 +1,15 @@ import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; -import { PageTopModule } from './page-top/page-top.module' //头部 -import { ToastModule } from './toast/toast.module' //消息提示 -import { SidebarMenuModule } from './sidebar-menu/sidebar-menu.module' +import { PageTopModule } from './page-top/page-top.module'; //头部 +import { ToastModule } from './toast/toast.module'; //消息提示 +import { SidebarMenuModule } from './sidebar-menu/sidebar-menu.module'; +import { RequestStatusComponent } from './request-status/request-status.component'; +import { NgZorroAntdModule, NZ_I18N, zh_CN } from 'ng-zorro-antd'; + +import { registerLocaleData } from '@angular/common'; +import zh from '@angular/common/locales/zh'; +registerLocaleData(zh); @NgModule({ imports: [ @@ -11,12 +17,17 @@ import { SidebarMenuModule } from './sidebar-menu/sidebar-menu.module' PageTopModule, ToastModule, SidebarMenuModule, + NgZorroAntdModule ], - declarations: [], + declarations: [ + RequestStatusComponent, + ], + providers : [ { provide: NZ_I18N, useValue: zh_CN } ], exports: [ PageTopModule, ToastModule, SidebarMenuModule, + RequestStatusComponent, ] }) export class ComponentsModule { } diff --git a/src/app/components/request-status/request-status.component.html b/src/app/components/request-status/request-status.component.html new file mode 100644 index 0000000..a99931f --- /dev/null +++ b/src/app/components/request-status/request-status.component.html @@ -0,0 +1,13 @@ +
+
+ +
+
+ + 请求失败 +
+
+ 暂无数据 +
+
+ diff --git a/src/app/components/request-status/request-status.component.scss b/src/app/components/request-status/request-status.component.scss new file mode 100644 index 0000000..12599e2 --- /dev/null +++ b/src/app/components/request-status/request-status.component.scss @@ -0,0 +1,23 @@ +.position-center-box{ + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%,-50%); + text-align: center; + .loading-icon{ + color: #1890ff; + } + .warning-icon{ + color: orange + } + .data-null{ + + } + i{ + font-size: 40px; + } + .result-text{ + display: block; + padding-top: 10px; + } +} \ No newline at end of file diff --git a/src/app/components/request-status/request-status.component.spec.ts b/src/app/components/request-status/request-status.component.spec.ts new file mode 100644 index 0000000..fe15b7a --- /dev/null +++ b/src/app/components/request-status/request-status.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { RequestStatusComponent } from './request-status.component'; + +describe('RequestStatusComponent', () => { + let component: RequestStatusComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ RequestStatusComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(RequestStatusComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/components/request-status/request-status.component.ts b/src/app/components/request-status/request-status.component.ts new file mode 100644 index 0000000..9d43bcc --- /dev/null +++ b/src/app/components/request-status/request-status.component.ts @@ -0,0 +1,18 @@ +import { Component, OnInit,Input } from '@angular/core'; + +@Component({ + selector: 'app-request-status', + templateUrl: './request-status.component.html', + styleUrls: ['./request-status.component.scss'] +}) +export class RequestStatusComponent implements OnInit { + //该组件使用,要求父级标签position:relative。 + @Input() statusParams={ + status:1, //接口的状态,0请求失败 1请求前loading 2请求中 3请求成功,有数据 4请求成功,无数据 + } + constructor() { } + + ngOnInit() { + } + +} diff --git a/src/app/pages/main.scss b/src/app/pages/main.scss index c998948..5884cbd 100644 --- a/src/app/pages/main.scss +++ b/src/app/pages/main.scss @@ -1,12 +1,31 @@ +/* 基础样式 */ +.mr10{ + margin-right: 10px; +} +.red{ + color: #f5222d; +} +.orange{ + color: orange; +} + .system-main-container { + position: relative; padding: 20px 20px; width: 100%; height: 100%; min-height: 300px; background-color: #f0f0f0; - .system-main-body{ + overflow-y: scroll; + .system-main-content{ height: 100%; - width: 100%; + min-height: 600px; + .search-box{ + + } + .table-box{ + + } } } .card{ @@ -14,9 +33,14 @@ background: #fff; padding: 20px; box-shadow: 1px 1px 4px 1px rgba(0,0,0,0.15); + border-radius: 0; } .tree-box{ + position: relative; + min-width: 300px; + min-height: 600px; + margin-right: 10px; float: left; padding: 20px; height: 100%; @@ -24,6 +48,29 @@ box-shadow: 1px 1px 4px 1px rgba(0,0,0,0.15); } +.page-box{ + text-align: center; + margin-top: 30px; + margin-bottom: 10px; +} +.table-operation-box{ + margin-bottom: 16px; +} +/* 表格样式 */ +.table-box { + .table-operation-btn { + padding-left: 2px; + padding-right: 2px; + cursor: pointer; + font-size: 20px; + } + .edit{ + color: #40a9ff; + } + .danger{ + color: #f86c6b; + } +} /* 目录树样式 */ :host /deep/ ul.tree{ diff --git a/src/app/pages/system-management/system-management-routing.module.ts b/src/app/pages/system-management/system-management-routing.module.ts index f3be8bc..f52016b 100644 --- a/src/app/pages/system-management/system-management-routing.module.ts +++ b/src/app/pages/system-management/system-management-routing.module.ts @@ -8,6 +8,7 @@ import { UserManagementComponent } from './user-management/user-management.compo import { DepartmentManagementComponent } from './department-management/department-management.component'; import { OperationLogsComponent } from './operation-logs/operation-logs.component'; import { DataSynchronizeComponent } from './data-synchronize/data-synchronize.component'; +import { UserManagementModifyComponent } from './user-management/user-management-modify/user-management-modify.component'; const systemManagementRoutes: Routes = [ { @@ -29,7 +30,7 @@ const systemManagementRoutes: Routes = [ }, { path: 'users', - component: UserManagementComponent + component: UserManagementComponent, }, { path: 'departments', @@ -42,6 +43,10 @@ const systemManagementRoutes: Routes = [ { path: 'synchronization', component: DataSynchronizeComponent + }, + { + path: 'users/modify', + component: UserManagementModifyComponent } ] } diff --git a/src/app/pages/system-management/system-management.module.ts b/src/app/pages/system-management/system-management.module.ts index 7791f3e..9a6ff3e 100644 --- a/src/app/pages/system-management/system-management.module.ts +++ b/src/app/pages/system-management/system-management.module.ts @@ -11,7 +11,7 @@ import { OperationLogsComponent } from './operation-logs/operation-logs.componen import { DataSynchronizeComponent } from './data-synchronize/data-synchronize.component'; -import { SystemManagementRouting } from './system-management-routing.module' +import { SystemManagementRouting } from './system-management-routing.module'; import { NgZorroAntdModule, NZ_I18N, zh_CN } from 'ng-zorro-antd'; import { registerLocaleData } from '@angular/common'; @@ -20,7 +20,8 @@ registerLocaleData(zh); import { ColorSettingsComponent } from './personal-settings/color-settings/color-settings.component'; import { MsgAlertWarningComponent } from './personal-settings/msg-alert-warning/msg-alert-warning.component'; import { FlightAgencyComponent } from './personal-settings/flight-agency/flight-agency.component'; - +import { ComponentsModule } from '../../components/components.module'; +import { UserManagementModifyComponent } from './user-management/user-management-modify/user-management-modify.component'; @NgModule({ imports: [ CommonModule, @@ -28,7 +29,8 @@ import { FlightAgencyComponent } from './personal-settings/flight-agency/flight- NgZorroAntdModule, ColorPickerModule, ReactiveFormsModule, - FormsModule + FormsModule, + ComponentsModule ], declarations: [ SystemManagementComponent, @@ -41,6 +43,7 @@ import { FlightAgencyComponent } from './personal-settings/flight-agency/flight- ColorSettingsComponent, MsgAlertWarningComponent, FlightAgencyComponent, + UserManagementModifyComponent, ], providers : [ { provide: NZ_I18N, useValue: zh_CN } ], diff --git a/src/app/pages/system-management/user-management/user-management-modify/user-management-modify.component.html b/src/app/pages/system-management/user-management/user-management-modify/user-management-modify.component.html new file mode 100644 index 0000000..bfbb3a6 --- /dev/null +++ b/src/app/pages/system-management/user-management/user-management-modify/user-management-modify.component.html @@ -0,0 +1,109 @@ +
+
+
+ + 姓名 + + + 请输入姓名 + + + + 系统账号 + + + 请输入系统账号 + + + + 系统密码 + + + 请输入密码 + + + + 所属机构 + + + {{orgDetail.organization}} + + 修改选择 + 请选择所属机构 + + + + 所属角色 + +
+ +
+ + + + 请选择所属角色 +
+
+ + 身份证号 + + + + + + 邮箱 + + + + + + 电话 + + + + + + 性别 + + + + + + + + + + + + + + + +
+
+
+ +
+ + +
+ +
    + +
    +
    +
    \ No newline at end of file diff --git a/src/app/pages/system-management/user-management/user-management-modify/user-management-modify.component.scss b/src/app/pages/system-management/user-management/user-management-modify/user-management-modify.component.scss new file mode 100644 index 0000000..63d221c --- /dev/null +++ b/src/app/pages/system-management/user-management/user-management-modify/user-management-modify.component.scss @@ -0,0 +1,16 @@ +.ztree{ + padding-bottom: 40px; + padding-right: 16px; +} +.drawer-footer{ + display: inline-block; + position: relative; + left: 50%; + bottom: 20px; + transform: translate(-50%) +} +.relative{ + position: relative; + width: 120px; + height: 40px; +} \ No newline at end of file diff --git a/src/app/pages/system-management/user-management/user-management-modify/user-management-modify.component.spec.ts b/src/app/pages/system-management/user-management/user-management-modify/user-management-modify.component.spec.ts new file mode 100644 index 0000000..1a06c95 --- /dev/null +++ b/src/app/pages/system-management/user-management/user-management-modify/user-management-modify.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { UserManagementModifyComponent } from './user-management-modify.component'; + +describe('UserManagementModifyComponent', () => { + let component: UserManagementModifyComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ UserManagementModifyComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(UserManagementModifyComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/pages/system-management/user-management/user-management-modify/user-management-modify.component.ts b/src/app/pages/system-management/user-management/user-management-modify/user-management-modify.component.ts new file mode 100644 index 0000000..30ed3e1 --- /dev/null +++ b/src/app/pages/system-management/user-management/user-management-modify/user-management-modify.component.ts @@ -0,0 +1,238 @@ +import { Component, OnInit } from '@angular/core'; +import { FormBuilder,FormControl,FormGroup,Validators} from '@angular/forms'; +import { HttpClientService } from '../../../../services/http-client.service'; +import { Router,ActivatedRoute } from '@angular/router'; +import { NzMessageService } from 'ng-zorro-antd'; + +import 'ztree'; +declare var $: any; +declare var jQuery: any; + +@Component({ + selector: 'app-user-management-modify', + templateUrl: './user-management-modify.component.html', + styleUrls: ['./user-management-modify.component.scss','../../../main.scss'] +}) +export class UserManagementModifyComponent implements OnInit { + validateForm: FormGroup; + statusParamsTree:any={ //获取机构接口的状态,0请求失败 1请求前 2请求中 3请求成功,有数据 4请求成功,无数据 + status:1, + } + statusParamsRole:any={ //获取机构接口的状态,0请求失败 1请求前 2请求中 3请求成功,有数据 4请求成功,无数据 + status:1, + } + visible = false; //控制抽屉显示 + treeSelected:any; + orgDetail:any=''; //所选机构详情 + orgList:any=[]; //机构列表 + orgSeletedBtn:any=true; //控制机构选择按钮 + nodeList:any=[]; + saveCheck:any=false; //保存检查,保存验证表单 false 还未验证 true 触发了验证 + roleList:any=[]; //保存所选角色 + listOfRole:any=[]; //角色列表 + constructor( + private fb: FormBuilder, + private http:HttpClientService, + private route:ActivatedRoute, + private router:Router, + private message: NzMessageService, + ) { } + + ngOnInit() { + this.queryRole(); + this.validateForm = this.fb.group({ + real_name:[ '', [ Validators.required ] ], + login_name:[ '', [ Validators.required ] ], + password:[ '', [ Validators.required ] ], + identify_num:[ ''], + email:[ ''], + mobile:[ ''], + sex:['m'], + status:['1'], + role:[''] + }); + //取路由参数 + this.route.queryParams.subscribe(routeParams=>{ + //routeParams 1新增 2修改 + if(routeParams.operateType==2){ + + + } + }) + } + checkName(){ + console.log(334343) + } + //机构树,搜索功能 + searchNode() { + var zTree = $.fn.zTree.getZTreeObj("treeDemo"); + zTree.cancelSelectedNode() + + var key = $("#key"); + var value = $.trim(key.get(0).value); + var keyType = "name"; + this.nodeList = zTree.getNodesByParamFuzzy(keyType, value); + if (value) { + for (var i = this.nodeList.length - 1; i >= 0; i--) { + zTree.selectNode(this.nodeList[i], true, false); + } + } + + } + //删除机构标签 + tagClose(event){ + this.orgSeletedBtn=true; + this.orgDetail=''; + } + //保存选择机构 + treeSave(){ + if(this.treeSelected){ + this.orgDetail=this.treeSelected; + this.visible = false; + this.orgSeletedBtn=false; + }else{ + //如果没有选择机构,提示请选择机构 + this.message.create('warning', `请选择所属机构!`,{ nzDuration: 2000 }); + } + } + //打开机构树抽屉 + open(): void { + this.treeSelected=''; + this.statusParamsTree.status=1; + this.visible = true; + this.initTree(); + + } + //关闭机构选择页面 + close(): void { + this.visible = false; + + } + submitForm(): void { + this.saveCheck=true; + for (const i in this.validateForm.controls) { + this.validateForm.controls[ i ].markAsDirty(); + this.validateForm.controls[ i ].updateValueAndValidity(); + } + if(this.validateForm.valid&&this.orgDetail&&this.roleList.length>0){ + let item=this.validateForm.value; + let params={ + real_name: item.real_name, + login_name: item.login_name, + password: item.password, + mobile: item.mobile, + sex: item.sex, + identify_num: item.identify_num, + email: item.email, + status: item.status, + orgList: [], + roleList: [], + }; + this.roleList.forEach(option=>{ + params.roleList.push({ + rid:option + }) + }) + this.orgList.forEach(option=>{ + if(option.id==this.orgDetail.id){ + params.orgList.push(option) + } + }) + console.log(params) + this.http.post('/sysapi/setting/user/add', params).subscribe((json) => { + if (json.is_success) { + this.message.success(`新增成功`); + this.router.navigate(['app/system/users']) + } else { + this.message.error(`新增失败`) + } + }) + } + + + } + //取消 返回列表页 + cancel(){ + this.router.navigate(['app/system/users']) + } + //获取角色列表 + queryRole(): void { + this.statusParamsRole.status=1; + this.http.get('/sysapi/setting/role/list', {page_index: '1',page_size: '100',}).subscribe((json) => { + if (json.is_success) { + this.listOfRole = json.body.list; + if(json.body.list&&json.body.list.length>0){ + this.statusParamsRole.status=3; + }else{ + this.statusParamsRole.status=4; + } + } else { + this.statusParamsRole.status=0; + } + }) + } + //树模型参数设置 + public zNodes: any[]; + setting = { + data: { + simpleData: { + enable: true + } + }, + view: { + showLine: true, + dblClickExpand: false, + showIcon:true + }, + callback: { + //节点点击事件 + onClick: (event, treeId, treeNode, clickFlag) => { + var zTree = $.fn.zTree.getZTreeObj("treeDemo"); + this.treeSelected=treeNode; + }, + }, + }; + //获取机构列表,树模型数据处理 + initTree(){ + //获取目录列表 + this.statusParamsTree.status=1; + this.http.get("/sysapi/setting/organization/list",).subscribe(json=>{ + if(json.is_success){ + if(json.body.length>0){ + this.orgList=json.body; + this.statusParamsTree.status=3; + let children=[]; + for(var i=0;i
    -
      + +
        -
        +
        + + +
        + + + + 姓名 + 性别 + 用户名 + 邮箱 + 电话 + 操作 + + + + + {{item.real_name}} + + + + + {{item.login_name}} + {{item.email}} + {{item.mobile}} + + + + + + + + +
        + +
        +
        + +
        + + +
        +
        +
        + + 姓名 + {{userDetail.real_name}} + + +
        +
        + + 系统账号 + {{userDetail.login_name}} + + +
        +
        +
        +
        + + 系统密码 + {{userDetail.password}} + + +
        +
        + + 所属机构 + {{option.organization}} + + +
        +
        +
        +
        + + 身份证号 + {{userDetail.identify_num}} + + +
        +
        + + 邮箱 + {{userDetail.email}} + + +
        +
        +
        +
        + + 电话 + {{userDetail.mobile}} + + +
        +
        + + 所属角色 + + {{option.role_name}} + + + +
        +
        +
        +
        + + 状态 + 已激活 + 未激活 + + +
        +
        + + 性别 + + + + +
        +
        +
        +
        +
        \ No newline at end of file diff --git a/src/app/pages/system-management/user-management/user-management.component.scss b/src/app/pages/system-management/user-management/user-management.component.scss index c251a11..4357470 100644 --- a/src/app/pages/system-management/user-management/user-management.component.scss +++ b/src/app/pages/system-management/user-management/user-management.component.scss @@ -2,4 +2,9 @@ .card{ } +} +.user-detail{ + .detail-item-text{ + color: #1890ff; + } } \ No newline at end of file diff --git a/src/app/pages/system-management/user-management/user-management.component.ts b/src/app/pages/system-management/user-management/user-management.component.ts index fa650e0..925818e 100644 --- a/src/app/pages/system-management/user-management/user-management.component.ts +++ b/src/app/pages/system-management/user-management/user-management.component.ts @@ -1,5 +1,7 @@ import { Component, OnInit } from '@angular/core'; import { HttpClientService } from '../../../services/http-client.service'; +import { Router } from '@angular/router'; +import { NzMessageService } from 'ng-zorro-antd'; import 'ztree'; declare var $: any; @@ -12,34 +14,123 @@ declare var jQuery: any; }) export class UserManagementComponent implements OnInit { treeSelected:any; //树模型-当前选中项 + collectionSize:any ; + public tableData:any=[]; + statusParamsTable:any={ //获取目录树接口的状态,0请求失败 1请求前 2请求中 3请求成功,有数据 4请求成功,无数据 + status:1, + } + statusParamsTree:any={ //获取机构接口的状态,0请求失败 1请求前 2请求中 3请求成功,有数据 4请求成功,无数据 + status:1, + } + statusParamsDetail:any={ //获取用户详情接口的状态,0请求失败 1请求前 2请求中 3请求成功,有数据 4请求成功,无数据 + status:1, + } public search:any={ page_index:'1', page_size:'10', real_name:'', login_name:'', - orgId:'', + orgId:'', } - parentNode:any; - parentName:any; - isTreeTop:any=false; //判断是否为树最顶层 + visible = false; + userDetail:any={}; //用户详情 + constructor( private http:HttpClientService, + private router:Router, + private message: NzMessageService, ) { } ngOnInit() { this.initTree(); + this.queryTable(); + } + //删除 + delectConfirm(item){ + this.http.delete('/sysapi/setting/user/deleteById/'+item.uid).subscribe((json)=>{ + if(json.is_success){ + this.message.success(`删除成功!`); + this.queryTable(); + }else{ + this.message.error(`删除失败`) + } + }) + } + //取消删除 + delectCancel(){ + + } + //新增、修改 1新增 2修改 + addModify(type,item?){ + if(type==1){ + this.router.navigate(['app/system/users/modify'],{queryParams:{operateType:1}}) + }else if(type==2){ + this.router.navigate(['app/system/users/modify'],{queryParams:{operateType:2,id:item.uid}}) + } + } + //打开详情页面 + open(item): void { + this.statusParamsDetail.status=1; + this.visible = true; + this.userDetail={}; + this.http.get('/sysapi/setting/user/detail/list', { uid: item.uid }).subscribe((json)=>{ + if(json.is_success){ + if(json.body){ + this.statusParamsDetail.status=3; + this.userDetail=json.body; + }else{ + this.statusParamsDetail.status=4; + } + }else{ + this.statusParamsDetail.status=0; + } + }) + } + //关闭详情页面 + close(): void { + this.visible = false; + } + //重置,重置搜索条件 + reset(){ + this.search.page_index=1; + this.search.page_size=10; + this.search.real_name=''; + this.search.login_name=''; + this.queryTable(); + } + //获取列表 + queryTable():void{ + this.statusParamsTable.status=1; + this.http.get('/sysapi/setting/user/list',this.search).subscribe((json)=>{ + if(json.is_success){ + this.tableData=json.body.list; + this.collectionSize=json.body.total; + if(json.body.list&&json.body.list.length>0){ + this.statusParamsTable.status=3; + }else{ + this.statusParamsTable.status=4; + } + }else{ + this.statusParamsTable.status=0; + } + }) + } + //翻页 + pageChange(event){ + this.search.page_index=event; + this.queryTable(); } //树模型参数设置 public zNodes: any[]; setting = { data: { simpleData: { - enable: true + enable: true } }, view: { - showLine: false, + showLine: true, dblClickExpand: false, showIcon:true }, @@ -47,47 +138,50 @@ export class UserManagementComponent implements OnInit { //节点点击事件 onClick: (event, treeId, treeNode, clickFlag) => { var zTree = $.fn.zTree.getZTreeObj("treeDemo"); - zTree.expandNode(treeNode); this.treeSelected=treeNode; - this.search.orgId=this.treeSelected.id; - this.parentNode=this.treeSelected.getParentNode(); - if(!this.parentNode){ - this.isTreeTop=true; - }else{ - this.isTreeTop=false; + let isTopNode=this.treeSelected.getParentNode(); //是否为顶级节点 true不是顶级节点 false 为顶级节点 + if(isTopNode){ //子节点 + this.search.orgId=this.treeSelected.id; + }else{ //顶级节点 + this.search.orgId=''; } + this.queryTable(); }, - //节点展开事件 - onExpand: (event, treeId, treeNode) => { - - } }, }; - //新树模型 + //获取机构列表,树模型数据处理 initTree(){ //获取目录列表 + this.statusParamsTree.status=1; this.http.get("/sysapi/setting/organization/list",).subscribe(json=>{ - if(json.is_success&&json.body){ - let children=[]; - for(var i=0;i0){ + this.statusParamsTree.status=3; + let children=[]; + for(var i=0;i