/* * @Descripttion: * @version: * @Author: sueRimn * @Date: 2020-12-11 16:34:26 * @LastEditors: sueRimn * @LastEditTime: 2020-12-15 08:46:14 */ import { Component, OnInit, ViewChild, Inject } from '@angular/core'; import { HttpClient } from '@angular/common/http' import { MatTreeFlatDataSource, MatTreeFlattener } from '@angular/material/tree'; import { MatPaginator } from '@angular/material/paginator'; import { FlatTreeControl } from '@angular/cdk/tree'; import { FormControl } from '@angular/forms'; import { Router,ActivatedRoute } from '@angular/router' import { PageEvent } from '@angular/material/paginator'; import { MatDialogRef, MatDialog, MAT_DIALOG_DATA } from '@angular/material/dialog'; import { MatSnackBar, MatSnackBarConfig } from '@angular/material/snack-bar'; import { TreeService } from '../../http-interceptors/tree.service' import { MatSort } from '@angular/material/sort'; import { MatTableDataSource } from '@angular/material/table'; @Component({ selector: 'app-examiner-new-one', templateUrl: './examiner-new-one.component.html', styleUrls: ['./examiner-new-one.component.scss'] }) export class ExaminerNewOneComponent implements OnInit { constructor(private http:HttpClient,private router:Router,private route:ActivatedRoute,private tree: TreeService,public dialog: MatDialog,public snackBar: MatSnackBar) { } ngOnInit(): void { this.getunitdata(); this.getOrganizations(); this.getUnittype(); this.getAllKeyUnit(); } removeClass=document.getElementsByClassName("mat-form-field-underline") private _transformer = (node, level: number) => { //初始化tree return { expandable: !!node.children && node.children.length > 0, name: node.name, level: level, id: node.id, parentId: node.parentId, children: node.children }; } treeControl = new FlatTreeControl(node => node.level, node => node.expandable); treeFlattener = new MatTreeFlattener(this._transformer, node => node.level, node => node.expandable, node => node.children); dataSource = new MatTreeFlatDataSource(this.treeControl, this.treeFlattener); myControl = new FormControl(); hasChild = (_: number, node: any) => node.expandable; @ViewChild(MatSort) sort: MatSort; allunittype:any //获取所有的单位类型 //分页 @ViewChild(MatPaginator, {static: true}) pageEvent: PageEvent; paginator: MatPaginator; length:any; //共多少条数据 pageSize:any; //每页条数 pageSizeOptions: number[] = [10] //设置每页条数 PageNumber:any //第几页 displayedColumns: string[] = ['checked','unitname','jurisdictionsquadron', 'unittype','scc']; tabledataSource:any allorganizations:any oldDataSource:any; //原始表格数据 //分页事件 chagePage(e){ this.PageNumber = e.pageIndex+1 this.getAllKeyUnit(); } //获得所有重点单位 wanzhengduArr = [ {id:0,zong:94,details:[ {name:'单位信息',score:5,totalpoints:5}, {name:'建筑信息',score:10,totalpoints:10}, {name:'平面图',score:10,totalpoints:10}, {name:'四周毗邻',score:22,totalpoints:25}, {name:'消防设施',score:10,totalpoints:10}, {name:'重点部位',score:10,totalpoints:10}, {name:'功能分区',score:7,totalpoints:10}, {name:'实景图',score:10,totalpoints:10}, {name:'CAD上传',score:10,totalpoints:10}, ]}, {id:1,zong:90,details:[ {name:'单位信息',score:4,totalpoints:5}, {name:'建筑信息',score:8,totalpoints:10}, {name:'平面图',score:10,totalpoints:10}, {name:'四周毗邻',score:25,totalpoints:25}, {name:'消防设施',score:10,totalpoints:10}, {name:'重点部位',score:10,totalpoints:10}, {name:'功能分区',score:8,totalpoints:10}, {name:'实景图',score:5,totalpoints:10}, {name:'CAD上传',score:10,totalpoints:10}, ]}, {id:2,zong:89,details:[ {name:'单位信息',score:4,totalpoints:5}, {name:'建筑信息',score:10,totalpoints:10}, {name:'平面图',score:10,totalpoints:10}, {name:'四周毗邻',score:22,totalpoints:25}, {name:'消防设施',score:10,totalpoints:10}, {name:'重点部位',score:10,totalpoints:10}, {name:'功能分区',score:8,totalpoints:10}, {name:'实景图',score:5,totalpoints:10}, {name:'CAD上传',score:10,totalpoints:10}, ]}, {id:3,zong:87,details:[ {name:'单位信息',score:5,totalpoints:5}, {name:'建筑信息',score:8,totalpoints:10}, {name:'平面图',score:10,totalpoints:10}, {name:'四周毗邻',score:20,totalpoints:25}, {name:'消防设施',score:10,totalpoints:10}, {name:'重点部位',score:10,totalpoints:10}, {name:'功能分区',score:6,totalpoints:10}, {name:'实景图',score:10,totalpoints:10}, {name:'CAD上传',score:8,totalpoints:10}, ]}, {id:4,zong:86,details:[ {name:'单位信息',score:5,totalpoints:5}, {name:'建筑信息',score:10,totalpoints:10}, {name:'平面图',score:10,totalpoints:10}, {name:'四周毗邻',score:18,totalpoints:25}, {name:'消防设施',score:10,totalpoints:10}, {name:'重点部位',score:10,totalpoints:10}, {name:'功能分区',score:8,totalpoints:10}, {name:'实景图',score:5,totalpoints:10}, {name:'CAD上传',score:10,totalpoints:10}, ]}, {id:5,zong:81,details:[ {name:'单位信息',score:5,totalpoints:5}, {name:'建筑信息',score:8,totalpoints:10}, {name:'平面图',score:10,totalpoints:10}, {name:'四周毗邻',score:22,totalpoints:25}, {name:'消防设施',score:10,totalpoints:10}, {name:'重点部位',score:10,totalpoints:10}, {name:'功能分区',score:5,totalpoints:10}, {name:'实景图',score:10,totalpoints:10}, {name:'CAD上传',score:6,totalpoints:10}, ]}, {id:6,zong:80,details:[ {name:'单位信息',score:5,totalpoints:5}, {name:'建筑信息',score:8,totalpoints:10}, {name:'平面图',score:10,totalpoints:10}, {name:'四周毗邻',score:20,totalpoints:25}, {name:'消防设施',score:10,totalpoints:10}, {name:'重点部位',score:10,totalpoints:10}, {name:'功能分区',score:7,totalpoints:10}, {name:'实景图',score:0,totalpoints:10}, {name:'CAD上传',score:10,totalpoints:10}, ]}, {id:7,zong:78,details:[ {name:'单位信息',score:4,totalpoints:5}, {name:'建筑信息',score:8,totalpoints:10}, {name:'平面图',score:10,totalpoints:10}, {name:'四周毗邻',score:22,totalpoints:25}, {name:'消防设施',score:10,totalpoints:10}, {name:'重点部位',score:10,totalpoints:10}, {name:'功能分区',score:6,totalpoints:10}, {name:'实景图',score:0,totalpoints:10}, {name:'CAD上传',score:8,totalpoints:10}, ]}, {id:8,zong:78,details:[ {name:'单位信息',score:5,totalpoints:5}, {name:'建筑信息',score:8,totalpoints:10}, {name:'平面图',score:10,totalpoints:10}, {name:'四周毗邻',score:20,totalpoints:25}, {name:'消防设施',score:5,totalpoints:10}, {name:'重点部位',score:10,totalpoints:10}, {name:'功能分区',score:5,totalpoints:10}, {name:'实景图',score:5,totalpoints:10}, {name:'CAD上传',score:10,totalpoints:10}, ]}, {id:9,zong:73,details:[ {name:'单位信息',score:5,totalpoints:5}, {name:'建筑信息',score:7,totalpoints:10}, {name:'平面图',score:10,totalpoints:10}, {name:'四周毗邻',score:18,totalpoints:25}, {name:'消防设施',score:0,totalpoints:10}, {name:'重点部位',score:10,totalpoints:10}, {name:'功能分区',score:5,totalpoints:10}, {name:'实景图',score:10,totalpoints:10}, {name:'CAD上传',score:8,totalpoints:10}, ]} ] allKeyUnitInfo:any //所有的重点单位 getAllKeyUnit(){ // console.log(Boolean(Number(this.follow))) let follow if(this.follow == ''){ follow = '' } if(this.follow == '0'){ follow = false } if(this.follow == '1'){ follow = true } let paramsdata:any = { Name: this.companyName || '', OrganizationId: this.jsId || '', HasChildren:this.jscheck || '', USCI:this.shehui || '', IsFollowed: follow, BuildingTypeId: this.unittype || '', PageNumber: this.PageNumber || '1', PageSize: this.pageSizeOptions[0], Sort: this.integritySort ? 'integrityscore' : '', SortType: this.integritySort || '', } //console.log(paramsdata) this.http.get("/api/Companies",{params:paramsdata}).subscribe((data:any)=>{ //console.log(data) this.length = data.totalCount this.allKeyUnitInfo = data // data.items.sort( (a,b) => { // return a.usci - b.usci // }) data.items.forEach( (item,index) => { item.integrity = this.wanzhengduArr[index] }) //console.log(789,data.items) this.tabledataSource = new MatTableDataSource(data.items); //console.log(this.tabledataSource) if(this.selectedunitArr.length!=0){ for(var i=0;i{ this.organizationName = data.organizationName } ) } organizationName:any //当前单位组织机构名称 treedata:any //组织机构树型数据 newArr:any = [] newallorganizations:any //用于存储在原始数据基础上的每个机构增加children字段 newallorganizations2:any //得到当前单位所在组织机构的tree型数据 getpresentOrganization(){ this.newallorganizations = this.allorganizations this.newallorganizations.forEach(item => { item.children = [] this.newallorganizations.forEach(element => { if(element.parentId == item.id){ item.children.push(element) } }); }); this.http.get("/api/ExamAccounts/Profiles").subscribe( (data:any)=>{ this.organizationName = data.organizationName if(this.organizationName){ this.newallorganizations.forEach(item => { if(item.name == this.organizationName){ this.dataSource.data = [item] this.newallorganizations2 = [item] } }); }else{ this.newallorganizations2 = this.treedata this.dataSource.data = this.treedata } } ) } //获得所有组织机构 getOrganizations(){ this.http.get('/api/Organizations').subscribe( (data:any)=>{ this.allorganizations = data this.treedata = this.tree.toTree(data); this.getpresentOrganization(); } ) } //获得所有单位类型 getUnittype(){ this.http.get('/api/BuildingTypes/Simple').subscribe( data=>{ this.allunittype = data } ) } selectedunitArr:any =JSON.parse(sessionStorage.getItem("checkedWork"))||[] //选中单位的数组 deleteByid=""//根据id取消选中 //勾选框事件 checkChange(e,element){ console.log(e,element) element.checked = e.checked if(element.checked){ this.selectedunitArr.push(element) } else{ for(var i=0;i { if(item.checked){ selectedunitArr.push(item.id) selectedunitobj.push(item) } }); if(selectedunitArr.length == 0){ const config = new MatSnackBarConfig(); config.verticalPosition = 'top'; config.duration = 3000 this.snackBar.open('请先选择要修改的单位','确定',config); } if(selectedunitArr.length != 1 && selectedunitArr.length != 0){ const config = new MatSnackBarConfig(); config.verticalPosition = 'top'; config.duration = 3000 this.snackBar.open('只能选择一个单位修改','确定',config); } if(selectedunitArr.length == 1){ //带着id跳到修改页面 // console.log(778,selectedunitArr[0]) this.allKeyUnitInfo.items.forEach(item => { if(item.id == selectedunitArr[0]){ let companyName = item.name sessionStorage.setItem("companyName",companyName) } }); sessionStorage.setItem("editable","1") sessionStorage.setItem(selectedunitobj[0].id,JSON.stringify(selectedunitobj[0].companyIntegrityScore)) window.open(`/keyUnit/editplaninfo?id=${selectedunitArr[0]}`); } } //重置 js:any //辖区中队输入框 jsId:any //辖区中队选择的id companyName:any //单位名称 shehui:any //统一社会信用代码 unittype:any //单位类型 jscheck:any //辖区中队包含下级 OrganizationId // follow:any = '' //是否为关注单位 integritySort:any //完整度排序 reset(){ this.js='' //辖区中队输入框 this.jscheck='' //辖区中队包含下级 this.companyName='' //单位名称 this.shehui='' //统一社会信用代码 this.unittype='' //单位类型 this.jsId = '' this.follow = '' this.PageNumber = 1 this.pageEvent.pageIndex = 0 this.integritySort = '' this.getAllKeyUnit(); } //提交查询表单 onSubmit(value){ this.PageNumber = 1 this.pageEvent.pageIndex = 0 this.getAllKeyUnit(); } bigclosediv(e){ this.isorganizationbox = false } stopclose(e){ e.stopPropagation(); } //辖区中队div是否显示 isorganizationbox:boolean = false //点击辖区中队树,将选择的辖区中队添加到变量 add(node) { this.isorganizationbox = false this.js = node.name this.jsId = node.id } //关闭辖区中队隐藏框 closeorganizationbox() { this.isorganizationbox = false } //打开辖区中队隐藏框 openorganizationbox() { this.isorganizationbox = true } //关闭出现的组织机构div closediv(){ this.isorganizationbox = false } }