import { CdkDragDrop } from "@angular/cdk/drag-drop"; import { AfterViewInit, ChangeDetectorRef, EventEmitter, OnChanges, OnDestroy, OnInit, SimpleChanges, TemplateRef } from "@angular/core"; import { NzTableComponent } from "ng-zorro-antd/table"; import { Page } from "../model/common-type"; import { TotalOption } from "./hd-detail-lines.service"; export declare class HdDetailLinesComponent implements OnInit, OnChanges, AfterViewInit, OnDestroy { private cdr; nzTableComponent: NzTableComponent; lines: Array; showSelected: boolean; allowDrop: boolean; showSearch: boolean; searchFields: string[]; /** * 横向滚动。历史默认 `{ x: '1px' }`(2.1.28 前一直如此):开启横滚但不锁死列宽, * 业务页可不写 th/td width,由内容自适应。传 null 则按容器自动测算。 */ scroll: { [key: string]: string; }; tableScroll: { x?: string; y?: string; }; selectField: string; selectedField: string; /** * 行勾选禁用字段名。定义后取当前行该字段: * 为 true 时禁用该行勾选(全选也会跳过)。 */ selectDisabledField: string; /** * 行失效字段名。定义后取当前行该字段: * 为 true 时整行背景色为 #F7F8FA、文字 #868A9C。 */ rowInvalidField: string; selectEvent: EventEmitter<{}>; detailLineHead: TemplateRef; detailLineBody: TemplateRef; showTotal: boolean; totalOption: Array; columnsNumber: number | string; hdFrontPagination: boolean; totalOptionList: any[]; tableData: Page; tableLoading: boolean; tablePageIndex: number; tablePageSize: number; isAllDisplayDataChecked: boolean; isIndeterminate: boolean; listOfDisplayData: any[]; listOfAllData: any[]; listOfSelection: Array | TemplateRef; mapOfCheckedId: { [key: string]: boolean; }; mapOfCheckList: { [key: string]: any; }; filterStr: string; /** 表格实际展示的数据(筛选结果或全量) */ displayLines: Array; /** 是否处于筛选状态 */ isFilterData: boolean; storeFormLinesData: any; /** 控制 nz-table 重建:scroll.y 从无到有时必须重建,否则表头不跟横滚 */ showTable: boolean; private unbindBodyScroll; constructor(cdr: ChangeDetectorRef); readonly effectiveScroll: { x?: string; y?: string; }; ngOnInit(): void; ngAfterViewInit(): void; ngOnDestroy(): void; ngOnChanges(changes: SimpleChanges): void; private scheduleSyncHorizontalScroll; private syncHorizontalScroll; /** 重建 nz-table,让 header/body 滚动同步在 AfterViewInit 重新绑定 */ private remountTable; /** 表体横滚时同步表头(兜底 ng-zorro 监听丢失);DOM 未就绪时重试 */ private bindHeaderBodyScrollSync; private unbindHeaderBodyScrollSync; private syncStoreFromLinesInput; /** 未筛选时与父组件 lines 同源,避免模板内 ngModel 与父数据脱节 */ private applyDisplayFromStore; private restoreFromStore; searchLines(): void; private countSelected; readonly LodashRound: any; drop(event: CdkDragDrop): void; calculateTotal(): void; currentPageDataChange($event: any): void; resetStatus(): void; refreshStatus(event?: boolean, data?: any): void; checkAll(value: boolean): void; /** 当前行是否禁用勾选 */ isSelectDisabled(data: any): boolean; /** 当前行是否失效 */ isInvalidRow(data: any): boolean; }