@ -11,6 +11,7 @@ import { debounceTime } from 'rxjs/operators';
import 'linqjs' ;
import { DetailsUpdateCategoryComponent } from '../../license/update-category/details-update-category/details-update-category.component' ;
import { NzModalService } from 'ng-zorro-antd/modal' ;
import { NzMessageService } from 'ng-zorro-antd/message' ;
@Component ( {
selector : 'app-update-license-list' ,
templateUrl : './update-license-list.component.html' ,
@ -19,29 +20,64 @@ import { NzModalService } from 'ng-zorro-antd/modal';
export class UpdateLicenseListComponent implements OnInit {
validateForm ! : FormGroup ;
constructor ( private modal : NzModalService , private viewContainerRef : ViewContainerRef , private element : ElementRef , private navChangeService : NavChangeService , private http : HttpClient , private toTree : TreeService , private fb : FormBuilder , private nzContextMenuService : NzContextMenuService , private router : Router ) { }
constructor ( private modal : NzModalService , private viewContainerRef : ViewContainerRef , private element : ElementRef , private navChangeService : NavChangeService , private http : HttpClient , private toTree : TreeService , private fb : FormBuilder , private nzContextMenuService : NzContextMenuService , private router : Router , private message : NzMessageService ) { }
tableScrollHeight
ngOnInit ( ) : void {
async ngOnInit ( ) : Promise < void > {
this . tableScrollHeight = ( document . getElementById ( 'tablebox' ) . clientHeight - 42 ) + 'px'
console . log ( 'tableScrollHeight' , this . tableScrollHeight )
this . tableScrollHeight = '100px'
// 页面监听
fromEvent ( window , 'resize' ) . pipe ( debounceTime ( 100 ) ) . subscribe ( ( event ) = > {
this . tableScrollHeight = ( document . getElementById ( 'tablebox' ) . clientHeight - 42 ) + 'px'
let tableHeader = this . element . nativeElement . querySelector ( ` .ant-table-header ` ) . clientHeight
this . tableScrollHeight = ( document . getElementById ( 'tablebox' ) . clientHeight - tableHeader - 10 ) + 'px'
} ) ;
this . validateForm = this . fb . group ( {
organization : [ null ] ,
name : [ null ]
} ) ;
this . tableSpin = true
await this . getAllOrganization ( )
this . getStationLicenses ( )
}
//获取所有组织机构
nodes : any = [ ]
async getAllOrganization() {
let OrganizationUnitId = JSON . parse ( sessionStorage . getItem ( 'userdata' ) ) . organization . id
let params = {
OrganizationUnitId : OrganizationUnitId ,
IsContainsChildren : "true"
}
await new Promise ( ( resolve , reject ) = > {
this . http . get ( '/api/services/app/Organization/GetAll' , {
params : params
} ) . subscribe ( ( data : any ) = > {
data . result . items . forEach ( element = > {
if ( element . id == OrganizationUnitId ) {
element . parentId = null
}
element . key = element . id
element . title = element . displayName
} ) ;
this . nodes = [ . . . this . toTree . toTree ( data . result . items ) ]
this . validateForm . patchValue ( {
organization : JSON.parse ( sessionStorage . getItem ( 'userdata' ) ) . organization . id ,
} ) ;
resolve ( data )
} )
} )
}
ngAfterViewInit ( ) : void {
ngAfterViewInit ( ) : void {
fromEvent ( this . element . nativeElement . querySelector ( ` .ant-table-body ` ) as HTMLCanvasElement , 'scroll' ) . pipe ( debounceTime ( 100 ) ) . subscribe ( async ( event : any ) = > { //监听 DOM 滚动事件
if ( event . target . scrollHeight - ( event . target . scrollTop + event . target . clientHeight ) <= 10 ) {
if ( this . totalCount > this . list . length ) {
@ -71,6 +107,9 @@ export class UpdateLicenseListComponent implements OnInit {
}
this . list = [ ]
this . SkipCount = '0'
this . validateForm . patchValue ( {
organization : JSON.parse ( sessionStorage . getItem ( 'userdata' ) ) . organization . id ,
} ) ;
this . getStationLicenses ( )
}
@ -79,17 +118,14 @@ export class UpdateLicenseListComponent implements OnInit {
//获取点击组织机构的所有加油站
SkipCount : string = '0'
MaxResultCount : string = '100'
orId
list : any = [ ]
async getStationLicenses() {
let params = {
StationName : this.validateForm.value.name ,
OrganizationUnitId : String ( sessionStorage . getItem ( 'planAdminOrid' ) ) ,
OrganizationUnitId : this.validateForm.value.organization ,
IsContainsChildren : 'true' ,
SkipCount : this.SkipCount ,
MaxResultCount : this.MaxResultCount ,
// Sorting: ' BuildingBasicInfo.Id asc'
MaxResultCount : this.MaxResultCount
}
this . tableSpin = true
await new Promise ( ( resolve , reject ) = > {
@ -122,22 +158,21 @@ export class UpdateLicenseListComponent implements OnInit {
}
let atLastArr = newArr . concat ( newElement ) ;
arr . push ( atLastArr )
setTimeout ( ( ) = > {
let tableHeader = this . element . nativeElement . querySelector ( ` .ant-table-header ` ) . clientHeight
this . tableScrollHeight = ( document . getElementById ( 'tablebox' ) . clientHeight - tableHeader - 30 ) + 'px'
} , 0 ) ;
} ) ;
setTimeout ( ( ) = > {
let tableHeader = this . element . nativeElement . querySelector ( ` .ant-table-header ` ) . clientHeight
this . tableScrollHeight = ( document . getElementById ( 'tablebox' ) . clientHeight - tableHeader - 10 ) + 'px'
} , 0 ) ;
this . list = this . list . concat ( arr ) ;
this . list = [ . . . this . list ]
console . log ( '证照表格' , this . list )
this . tableSpin = false
setTimeout ( ( ) = > {
let tableHeader = this . element . nativeElement . querySelector ( ` .ant-table-header ` ) . clientHeight
this . tableScrollHeight = ( document . getElementById ( 'tablebox' ) . clientHeight - tableHeader - 30 ) + 'px'
} , 0 ) ;
resolve ( data )
} )
} )
@ -154,7 +189,7 @@ export class UpdateLicenseListComponent implements OnInit {
let params = {
Id : i.licenseId
}
this . http . get ( '/api/services/app/StationValidityLicense/Get' , { params : params } ) . subscribe ( ( data :any ) = > {
this . http . get ( '/api/services/app/StationValidityLicense/Get' , { params : params } ) . subscribe ( ( data : any ) = > {
console . log ( '证照信息' , data )
const modal = this . modal . create ( {
nzContent : DetailsUpdateCategoryComponent ,
@ -182,4 +217,31 @@ export class UpdateLicenseListComponent implements OnInit {
}
exportExcel() {
// console.log(this.validateForm)
const httpOptions = {
responseType : 'blob' as 'json' ,
params : {
OrganizationUnitId : this.validateForm.value.organization
}
} ;
this . http . get ( ` /api/services/app/StationValidityLicense/ExportStationLicenses ` , httpOptions ) . subscribe ( ( data : any ) = > {
// console.log('导出成功')
// 文件名中有中文 则对文件名进行转码
const link = document . createElement ( 'a' ) ;
const blob = new Blob ( [ data ] , { type : 'application/vnd.ms-excel' } ) ;
link . setAttribute ( 'href' , window . URL . createObjectURL ( blob ) ) ;
link . setAttribute ( 'download' , '经营类证照' + '.xls' ) ;
link . style . visibility = 'hidden' ;
document . body . appendChild ( link ) ;
link . click ( ) ;
document . body . removeChild ( link ) ;
this . message . create ( 'success' , ` 导出成功 ` ) ;
} , err = > {
this . message . create ( 'error' , ` 导出失败 ` ) ;
} )
}
}