fantasy-ngzorro 2.1.0 → 2.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (107) hide show
  1. package/README.md +765 -804
  2. package/bundles/fantasy-ngzorro.umd.js +1780 -623
  3. package/bundles/fantasy-ngzorro.umd.js.map +1 -1
  4. package/bundles/fantasy-ngzorro.umd.min.js +2 -2
  5. package/bundles/fantasy-ngzorro.umd.min.js.map +1 -1
  6. package/esm2015/fantasy-ngzorro.js +26 -24
  7. package/esm2015/hd-button/hd-button.component.js +6 -11
  8. package/esm2015/hd-button/hd-button.module.js +3 -7
  9. package/esm2015/hd-button-group/hd-button-group.component.js +1 -1
  10. package/esm2015/hd-button-group/hd-button-group.module.js +3 -3
  11. package/esm2015/hd-component.module.js +3 -1
  12. package/esm2015/hd-current-table/hd-current-table.component.js +1 -1
  13. package/esm2015/hd-detail-form/hd-detail-form.component.js +14 -4
  14. package/esm2015/hd-detail-form/hd-detail-form.module.js +3 -5
  15. package/esm2015/hd-detail-lines/hd-detail-lines.component.js +173 -30
  16. package/esm2015/hd-detail-lines/hd-detail-lines.module.js +18 -8
  17. package/esm2015/hd-detail-lines-page/hd-detail-lines-page.component.js +357 -0
  18. package/esm2015/hd-detail-lines-page/hd-detail-lines-page.module.js +20 -0
  19. package/esm2015/hd-detail-tip/hd-detail-tip.component.js +18 -8
  20. package/esm2015/hd-detail-tip/hd-detail-tip.module.js +3 -3
  21. package/esm2015/hd-filter/hd-filter.component.js +76 -15
  22. package/esm2015/hd-filter/hd-filter.module.js +3 -19
  23. package/esm2015/hd-filter/hd-filter.service.js +5 -1
  24. package/esm2015/hd-form/hd-form.component.js +76 -3
  25. package/esm2015/hd-form/hd-form.module.js +3 -23
  26. package/esm2015/hd-form/hd-form.service.js +19 -3
  27. package/esm2015/hd-form-lines/hd-form-lines.component.js +267 -135
  28. package/esm2015/hd-form-lines/hd-form-lines.module.js +3 -21
  29. package/esm2015/hd-form-lines/hd-form-lines.service.js +9 -1
  30. package/esm2015/hd-log/hd-log.component.js +2 -2
  31. package/esm2015/hd-log/hd-log.module.js +3 -1
  32. package/esm2015/hd-popconfirm/hd-popconfirm.component.js +2 -2
  33. package/esm2015/hd-popconfirm/hd-popconfirm.module.js +3 -3
  34. package/esm2015/hd-space/hd-space.module.js +3 -3
  35. package/esm2015/hd-status/hd-status.component.js +17 -8
  36. package/esm2015/hd-status/hd-status.module.js +4 -2
  37. package/esm2015/hd-status/hd-status.service.js +7 -6
  38. package/esm2015/hd-table/hd-table.component.js +246 -115
  39. package/esm2015/hd-table/hd-table.service.js +8 -1
  40. package/esm2015/hd-tip/hd-tip.component.js +3 -3
  41. package/esm2015/hd-tip/hd-tip.module.js +3 -3
  42. package/esm2015/index.js +2 -2
  43. package/esm2015/model/common-type.js +35 -1
  44. package/esm2015/public-api.js +2 -2
  45. package/esm5/fantasy-ngzorro.js +26 -24
  46. package/esm5/hd-button/hd-button.component.js +15 -19
  47. package/esm5/hd-button/hd-button.module.js +3 -7
  48. package/esm5/hd-button-group/hd-button-group.component.js +1 -1
  49. package/esm5/hd-button-group/hd-button-group.module.js +3 -3
  50. package/esm5/hd-component.module.js +3 -1
  51. package/esm5/hd-current-table/hd-current-table.component.js +1 -1
  52. package/esm5/hd-detail-form/hd-detail-form.component.js +14 -4
  53. package/esm5/hd-detail-form/hd-detail-form.module.js +3 -5
  54. package/esm5/hd-detail-lines/hd-detail-lines.component.js +211 -25
  55. package/esm5/hd-detail-lines/hd-detail-lines.module.js +18 -8
  56. package/esm5/hd-detail-lines-page/hd-detail-lines-page.component.js +423 -0
  57. package/esm5/hd-detail-lines-page/hd-detail-lines-page.module.js +24 -0
  58. package/esm5/hd-detail-tip/hd-detail-tip.component.js +18 -8
  59. package/esm5/hd-detail-tip/hd-detail-tip.module.js +3 -3
  60. package/esm5/hd-filter/hd-filter.component.js +91 -16
  61. package/esm5/hd-filter/hd-filter.module.js +3 -19
  62. package/esm5/hd-filter/hd-filter.service.js +5 -1
  63. package/esm5/hd-form/hd-form.component.js +87 -3
  64. package/esm5/hd-form/hd-form.module.js +3 -23
  65. package/esm5/hd-form/hd-form.service.js +19 -3
  66. package/esm5/hd-form-lines/hd-form-lines.component.js +286 -129
  67. package/esm5/hd-form-lines/hd-form-lines.module.js +3 -21
  68. package/esm5/hd-form-lines/hd-form-lines.service.js +9 -1
  69. package/esm5/hd-log/hd-log.component.js +2 -2
  70. package/esm5/hd-log/hd-log.module.js +3 -1
  71. package/esm5/hd-popconfirm/hd-popconfirm.component.js +2 -2
  72. package/esm5/hd-popconfirm/hd-popconfirm.module.js +3 -3
  73. package/esm5/hd-space/hd-space.module.js +3 -3
  74. package/esm5/hd-status/hd-status.component.js +16 -7
  75. package/esm5/hd-status/hd-status.module.js +4 -2
  76. package/esm5/hd-status/hd-status.service.js +7 -6
  77. package/esm5/hd-table/hd-table.component.js +252 -102
  78. package/esm5/hd-table/hd-table.service.js +6 -1
  79. package/esm5/hd-tip/hd-tip.component.js +3 -3
  80. package/esm5/hd-tip/hd-tip.module.js +3 -3
  81. package/esm5/index.js +2 -2
  82. package/esm5/model/common-type.js +39 -1
  83. package/esm5/public-api.js +2 -2
  84. package/fantasy-ngzorro.d.ts +24 -22
  85. package/fantasy-ngzorro.metadata.json +1 -1
  86. package/fesm2015/fantasy-ngzorro.js +1621 -661
  87. package/fesm2015/fantasy-ngzorro.js.map +1 -1
  88. package/fesm5/fantasy-ngzorro.js +1758 -617
  89. package/fesm5/fantasy-ngzorro.js.map +1 -1
  90. package/hd-button/hd-button.component.d.ts +3 -2
  91. package/hd-detail-form/hd-detail-form.component.d.ts +9 -0
  92. package/hd-detail-lines/hd-detail-lines.component.d.ts +19 -6
  93. package/hd-detail-lines-page/hd-detail-lines-page.component.d.ts +56 -0
  94. package/hd-detail-lines-page/hd-detail-lines-page.module.d.ts +2 -0
  95. package/hd-detail-tip/hd-detail-tip.component.d.ts +1 -1
  96. package/hd-filter/hd-filter.component.d.ts +4 -0
  97. package/hd-filter/hd-filter.service.d.ts +2 -0
  98. package/hd-form/hd-form.component.d.ts +4 -0
  99. package/hd-form/hd-form.service.d.ts +10 -3
  100. package/hd-form-lines/hd-form-lines.component.d.ts +18 -7
  101. package/hd-form-lines/hd-form-lines.service.d.ts +2 -0
  102. package/hd-status/hd-status.component.d.ts +1 -1
  103. package/hd-status/hd-status.service.d.ts +1 -1
  104. package/hd-table/hd-table.component.d.ts +16 -7
  105. package/hd-table/hd-table.service.d.ts +3 -1
  106. package/model/common-type.d.ts +14 -0
  107. package/package.json +2 -1
@@ -1,8 +1,8 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/common'), require('@angular/forms'), require('ng-zorro-antd/layout'), require('ng-zorro-antd'), require('ng-zorro-antd/button'), require('ng-zorro-antd/icon'), require('ng-zorro-antd/descriptions'), require('@angular/cdk/drag-drop'), require('lodash'), require('ng-zorro-antd/core'), require('ng-zorro-antd/table'), require('ng-zorro-antd/cascader'), require('ng-zorro-antd/date-picker'), require('ng-zorro-antd/form'), require('ng-zorro-antd/grid'), require('ng-zorro-antd/input'), require('ng-zorro-antd/input-number'), require('ng-zorro-antd/select'), require('ng-zorro-antd/tooltip'), require('rxjs'), require('rxjs/operators'), require('ng-zorro-antd/switch'), require('ng-zorro-antd/time-picker'), require('ng-zorro-antd/modal'), require('ng-zorro-antd/dropdown'), require('ng-zorro-antd/popconfirm'), require('ng-zorro-antd/resizable'), require('ng-zorro-antd/tree'), require('localforage')) :
3
- typeof define === 'function' && define.amd ? define('fantasy-ngzorro', ['exports', '@angular/core', '@angular/common', '@angular/forms', 'ng-zorro-antd/layout', 'ng-zorro-antd', 'ng-zorro-antd/button', 'ng-zorro-antd/icon', 'ng-zorro-antd/descriptions', '@angular/cdk/drag-drop', 'lodash', 'ng-zorro-antd/core', 'ng-zorro-antd/table', 'ng-zorro-antd/cascader', 'ng-zorro-antd/date-picker', 'ng-zorro-antd/form', 'ng-zorro-antd/grid', 'ng-zorro-antd/input', 'ng-zorro-antd/input-number', 'ng-zorro-antd/select', 'ng-zorro-antd/tooltip', 'rxjs', 'rxjs/operators', 'ng-zorro-antd/switch', 'ng-zorro-antd/time-picker', 'ng-zorro-antd/modal', 'ng-zorro-antd/dropdown', 'ng-zorro-antd/popconfirm', 'ng-zorro-antd/resizable', 'ng-zorro-antd/tree', 'localforage'], factory) :
4
- (global = global || self, factory(global['fantasy-ngzorro'] = {}, global.ng.core, global.ng.common, global.ng.forms, global.layout, global.ngZorroAntd, global.button, global.icon, global.descriptions, global.ng.cdk['drag-drop'], global.lodash, global.core$1, global.table, global.cascader, global.datePicker, global.form, global.grid, global.input, global.inputNumber, global.select, global.tooltip, global.rxjs, global.rxjs.operators, global._switch, global.timePicker, global.modal, global.dropdown, global.popconfirm, global.resizable, global.tree, global.localforage));
5
- }(this, (function (exports, core, common, forms, layout, ngZorroAntd, button, icon, descriptions, dragDrop, lodash, core$1, table, cascader, datePicker, form, grid, input, inputNumber, select, tooltip, rxjs, operators, _switch, timePicker, modal, dropdown, popconfirm, resizable, tree, localforage) { 'use strict';
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/common'), require('@angular/forms'), require('ng-zorro-antd'), require('@angular/cdk/drag-drop'), require('ng-zorro-antd/table'), require('lodash'), require('ng-zorro-antd/core'), require('rxjs'), require('rxjs/operators'), require('ng-zorro-antd/modal'), require('ng-zorro-antd/dropdown'), require('ng-zorro-antd/icon'), require('ng-zorro-antd/popconfirm'), require('ng-zorro-antd/resizable'), require('ng-zorro-antd/tooltip'), require('ng-zorro-antd/tree'), require('localforage')) :
3
+ typeof define === 'function' && define.amd ? define('fantasy-ngzorro', ['exports', '@angular/core', '@angular/common', '@angular/forms', 'ng-zorro-antd', '@angular/cdk/drag-drop', 'ng-zorro-antd/table', 'lodash', 'ng-zorro-antd/core', 'rxjs', 'rxjs/operators', 'ng-zorro-antd/modal', 'ng-zorro-antd/dropdown', 'ng-zorro-antd/icon', 'ng-zorro-antd/popconfirm', 'ng-zorro-antd/resizable', 'ng-zorro-antd/tooltip', 'ng-zorro-antd/tree', 'localforage'], factory) :
4
+ (global = global || self, factory(global['fantasy-ngzorro'] = {}, global.ng.core, global.ng.common, global.ng.forms, global.ngZorroAntd, global.ng.cdk['drag-drop'], global.table, global.lodash, global.core$1, global.rxjs, global.rxjs.operators, global.modal, global.dropdown, global.icon, global.popconfirm, global.resizable, global.tooltip, global.tree, global.localforage));
5
+ }(this, (function (exports, core, common, forms, ngZorroAntd, dragDrop, table, lodash, core$1, rxjs, operators, modal, dropdown, icon, popconfirm, resizable, tooltip, tree, localforage) { 'use strict';
6
6
 
7
7
  /*! *****************************************************************************
8
8
  Copyright (c) Microsoft Corporation.
@@ -242,7 +242,7 @@
242
242
  { type: core.Component, args: [{
243
243
  selector: 'hd-button-group',
244
244
  template: "<nz-content class=\"hd-button-group-container\">\n <div class=\"hd-button-group-left\">\n <ng-container *ngTemplateOutlet=\"buttonGroupLeft\"></ng-container>\n </div>\n <div class=\"hd-button-group-right\">\n <ng-container *ngTemplateOutlet=\"buttonGroupRight\"></ng-container>\n </div>\n</nz-content>\n",
245
- styles: ["::ng-deep .common-btn-group>a{font-size:12px;font-weight:400;color:#12a34f!important;white-space:nowrap}::ng-deep .common-btn-group .common-danger-btn:hover{color:#f05b24!important}::ng-deep .common-btn-group>a:hover{color:#20bd62!important}::ng-deep .common-btn-group>a:not(:last-child)::after{content:'';margin:0 2px}::ng-deep .common-billNumber>a{color:#3b77e3}button{box-shadow:unset;text-shadow:unset}::ng-deep .ant-form-item-label>label{color:#4b504e}::ng-deep .ant-input-number-input{height:28px}::ng-deep .ant-input-number{height:28px}textarea.ant-input{height:auto;min-height:28px}::ng-deep .ant-select-selection--multiple{min-height:28px}::ng-deep .ant-select-selection__rendered>ul>li{height:22px!important;margin-top:3px!important;line-height:22px!important}::ng-deep .ant-advanced-search-form .ant-form-item{margin-bottom:0!important}::ng-deep .ant-select-selection--single{height:28px!important}::ng-deep .ant-input{height:28px}::ng-deep .ant-input[disabled]:hover{border-color:#d9d9d9!important}::ng-deep .ant-select-selection__rendered{line-height:28px!important}::ng-deep .ant-calendar-range-picker-input{text-align:left!important}::ng-deep .ant-calendar-picker{width:100%!important}::ng-deep .ant-row{margin-right:0!important;margin-left:0!important}::ng-deep .ant-col-6{padding-left:12px;padding-right:12px}::ng-deep .ant-col-12{padding-left:12px;padding-right:12px}::ng-deep .ant-col-18{padding-left:12px;padding-right:12px}::ng-deep .ant-col-24{padding-left:12px;padding-right:12px}::ng-deep .ant-alert-info{background-color:#f5f8f6;border:1px solid #cfe3d4}:host ::ng-deep th{background:#f5f8f6!important;font-weight:700!important;white-space:nowrap;font-size:12px;font-family:PingFangSC-Medium,PingFang SC;color:#2a3634;padding:8px!important;box-sizing:border-box}:host ::ng-deep td{font-weight:400;font-style:normal;font-size:12px;color:#2a3634;text-align:left;white-space:nowrap;padding:8px!important;box-sizing:border-box}::ng-deep .ant-pagination-options{display:inline-flex;align-items:center}::ng-deep .ant-time-picker{width:100%}.ant-input-number-disabled,.ant-input[disabled],.ant-select-disabled{color:#4b504e}.hd-button-group-container{display:flex;align-items:center;justify-content:space-between}.hd-button-group-container .hd-button-group-left ::ng-deep hd-button{margin-right:12px}.hd-button-group-container .hd-button-group-right ::ng-deep hd-button{margin-left:12px}"]
245
+ styles: ["::ng-deep .common-btn-group>a{font-size:14px;font-weight:400;color:#20b95d!important;white-space:nowrap}::ng-deep .common-btn-group .common-danger-btn:hover{color:#f05b24!important}::ng-deep .common-btn-group>a:hover{color:#20bd62!important}::ng-deep .common-btn-group>a:not(:last-child)::after{content:'';margin:0 2px}::ng-deep .common-billNumber>a{color:#3b77e3}button{box-shadow:unset;text-shadow:unset}::ng-deep .ant-form-item-label>label{color:#4b504e;font-size:14px}::ng-deep .ant-input-number-input{height:32px}::ng-deep .ant-input-number{height:32px}textarea.ant-input{height:auto;min-height:32px}::ng-deep .ant-select-selection--multiple{min-height:32px}::ng-deep .ant-select-selection__rendered>ul>li{height:26px!important;margin-top:3px!important;line-height:26px!important}::ng-deep .ant-advanced-search-form .ant-form-item{margin-bottom:0!important}::ng-deep .ant-select-selection--single{height:32px!important}::ng-deep .ant-input{height:32px}::ng-deep .ant-input[disabled]:hover{border-color:#d9d9d9!important}::ng-deep .ant-select-selection__rendered{line-height:32px!important}::ng-deep .ant-calendar-range-picker-input{text-align:left!important}::ng-deep .ant-calendar-picker{width:100%!important}::ng-deep .ant-row{margin-right:0!important;margin-left:0!important}::ng-deep .ant-col-6{padding-left:12px;padding-right:12px}::ng-deep .ant-col-12{padding-left:12px;padding-right:12px}::ng-deep .ant-col-18{padding-left:12px;padding-right:12px}::ng-deep .ant-col-24{padding-left:12px;padding-right:12px}::ng-deep .ant-alert-info{background-color:#f5f8f6;border:1px solid #cfe3d4}:host ::ng-deep th{background:#f5f8f6!important;font-weight:700!important;white-space:nowrap;font-size:14px;font-family:PingFangSC-Medium,PingFang SC;color:#2a3634;padding:8px!important;box-sizing:border-box}:host ::ng-deep td{font-weight:400;font-style:normal;font-size:14px;color:#2a3634;text-align:left;white-space:nowrap;padding:8px!important;box-sizing:border-box}::ng-deep .ant-pagination-options{display:inline-flex;align-items:center}::ng-deep .ant-time-picker{width:100%}.ant-input-number-disabled,.ant-input[disabled],.ant-select-disabled{color:#4b504e}.hd-button-group-container{display:flex;align-items:center;justify-content:space-between}.hd-button-group-container .hd-button-group-left ::ng-deep hd-button{margin-right:12px}.hd-button-group-container .hd-button-group-right ::ng-deep hd-button{margin-left:12px}"]
246
246
  }] }
247
247
  ];
248
248
  /** @nocollapse */
@@ -272,7 +272,7 @@
272
272
  imports: [
273
273
  common.CommonModule,
274
274
  forms.FormsModule,
275
- layout.NzLayoutModule
275
+ ngZorroAntd.NgZorroAntdModule
276
276
  ],
277
277
  declarations: [HdButtonGroupComponent],
278
278
  exports: [HdButtonGroupComponent]
@@ -343,22 +343,18 @@
343
343
  throw '禁止使用submit类型的按钮,请使用普通按钮+click事件触发表单提交!';
344
344
  }
345
345
  };
346
- /**
347
- * @param {?} changes
348
- * @return {?}
349
- */
350
- HdButtonComponent.prototype.ngOnChanges = /**
351
- * @param {?} changes
352
- * @return {?}
353
- */
354
- function (changes) {
355
- if (changes && changes['loading']) {
356
- if ((changes['loading']['currentValue'] === true && changes['loading']['previousValue'] === false)
357
- || (changes['loading']['currentValue'] === false && changes['loading']['previousValue'] === true)) {
358
- this.disabled = !this.disabled;
359
- }
360
- }
361
- };
346
+ Object.defineProperty(HdButtonComponent.prototype, "isDisabled", {
347
+ /** loading 时一并禁用,避免与外部 [disabled] 绑定互相翻转状态 */
348
+ get: /**
349
+ * loading 时一并禁用,避免与外部 [disabled] 绑定互相翻转状态
350
+ * @return {?}
351
+ */
352
+ function () {
353
+ return this.disabled || this.loading;
354
+ },
355
+ enumerable: true,
356
+ configurable: true
357
+ });
362
358
  /**
363
359
  * @param {?} option
364
360
  * @return {?}
@@ -377,8 +373,8 @@
377
373
  HdButtonComponent.decorators = [
378
374
  { type: core.Component, args: [{
379
375
  selector: 'hd-button',
380
- template: "<nz-content class=\"hd-button-container\">\n <button nz-button [nzType]=\"type\" [disabled]=\"disabled\" [nzLoading]=\"loading\"\n [class]=\"size==='small'? 'hd-button-small' : '' + type==='add'? 'ant-btn-primary' : ''\"\n (click)=\"innerClickAction($event)\">\n <i nz-icon *ngIf=\"type==='add'\" nzType=\"plus\" style=\"margin-right: 4px;\"></i>\n <!-- \u63D2\u69FD -->\n <ng-content></ng-content>\n </button>\n</nz-content>",
381
- styles: ["::ng-deep .common-btn-group>a{font-size:12px;font-weight:400;color:#12a34f!important;white-space:nowrap}::ng-deep .common-btn-group .common-danger-btn:hover{color:#f05b24!important}::ng-deep .common-btn-group>a:hover{color:#20bd62!important}::ng-deep .common-btn-group>a:not(:last-child)::after{content:'';margin:0 2px}::ng-deep .common-billNumber>a{color:#3b77e3}button{box-shadow:unset;text-shadow:unset}::ng-deep .ant-form-item-label>label{color:#4b504e}::ng-deep .ant-input-number-input{height:28px}::ng-deep .ant-input-number{height:28px}textarea.ant-input{height:auto;min-height:28px}::ng-deep .ant-select-selection--multiple{min-height:28px}::ng-deep .ant-select-selection__rendered>ul>li{height:22px!important;margin-top:3px!important;line-height:22px!important}::ng-deep .ant-advanced-search-form .ant-form-item{margin-bottom:0!important}::ng-deep .ant-select-selection--single{height:28px!important}::ng-deep .ant-input{height:28px}::ng-deep .ant-input[disabled]:hover{border-color:#d9d9d9!important}::ng-deep .ant-select-selection__rendered{line-height:28px!important}::ng-deep .ant-calendar-range-picker-input{text-align:left!important}::ng-deep .ant-calendar-picker{width:100%!important}::ng-deep .ant-row{margin-right:0!important;margin-left:0!important}::ng-deep .ant-col-6{padding-left:12px;padding-right:12px}::ng-deep .ant-col-12{padding-left:12px;padding-right:12px}::ng-deep .ant-col-18{padding-left:12px;padding-right:12px}::ng-deep .ant-col-24{padding-left:12px;padding-right:12px}::ng-deep .ant-alert-info{background-color:#f5f8f6;border:1px solid #cfe3d4}:host ::ng-deep th{background:#f5f8f6!important;font-weight:700!important;white-space:nowrap;font-size:12px;font-family:PingFangSC-Medium,PingFang SC;color:#2a3634;padding:8px!important;box-sizing:border-box}:host ::ng-deep td{font-weight:400;font-style:normal;font-size:12px;color:#2a3634;text-align:left;white-space:nowrap;padding:8px!important;box-sizing:border-box}::ng-deep .ant-pagination-options{display:inline-flex;align-items:center}::ng-deep .ant-time-picker{width:100%}.ant-input-number-disabled,.ant-input[disabled],.ant-select-disabled{color:#4b504e}.hd-button-container{display:inline-block}.hd-button-container button{height:28px;line-height:28px;padding:0 16px!important;border:0;font-size:12px;border-radius:4px}.hd-button-container .hd-button-small{padding:0 6px!important}.hd-button-container button[disabled]{background-color:#c8c8c8;color:#fff}.hd-button-container .ant-btn-reset{color:#fff;background:#5d7267}.hd-button-container .ant-btn-reset:hover{background:#72877b}.hd-button-container .ant-btn-default{background:#fff;border-radius:4px;border:1px solid #ced0da;font-size:12px;font-weight:400;color:#2a3634;height:28px;line-height:26px}.hd-button-container .ant-btn-default:hover{color:#12a34f;border:1px solid #12a34f}.hd-button-container .ant-btn-warning{background:#fff;border-radius:4px;border:1px solid #ced0da;font-size:12px;font-weight:400;color:#2a3634;height:28px;line-height:26px}.hd-button-container .ant-btn-warning:hover{color:#f05b24;border:1px solid #f05b24}"]
376
+ template: "<nz-content class=\"hd-button-container\">\n <button nz-button [nzType]=\"type\" [disabled]=\"isDisabled\" [nzLoading]=\"loading\"\n [class]=\"size==='small'? 'hd-button-small' : '' + type==='add'? 'ant-btn-primary' : ''\"\n (click)=\"innerClickAction($event)\">\n <i nz-icon *ngIf=\"type==='add'\" nzType=\"plus\" style=\"margin-right: 4px;\"></i>\n <!-- \u63D2\u69FD -->\n <ng-content></ng-content>\n </button>\n</nz-content>",
377
+ styles: ["::ng-deep .common-btn-group>a{font-size:14px;font-weight:400;color:#20b95d!important;white-space:nowrap}::ng-deep .common-btn-group .common-danger-btn:hover{color:#f05b24!important}::ng-deep .common-btn-group>a:hover{color:#20bd62!important}::ng-deep .common-btn-group>a:not(:last-child)::after{content:'';margin:0 2px}::ng-deep .common-billNumber>a{color:#3b77e3}button{box-shadow:unset;text-shadow:unset}::ng-deep .ant-form-item-label>label{color:#4b504e;font-size:14px}::ng-deep .ant-input-number-input{height:32px}::ng-deep .ant-input-number{height:32px}textarea.ant-input{height:auto;min-height:32px}::ng-deep .ant-select-selection--multiple{min-height:32px}::ng-deep .ant-select-selection__rendered>ul>li{height:26px!important;margin-top:3px!important;line-height:26px!important}::ng-deep .ant-advanced-search-form .ant-form-item{margin-bottom:0!important}::ng-deep .ant-select-selection--single{height:32px!important}::ng-deep .ant-input{height:32px}::ng-deep .ant-input[disabled]:hover{border-color:#d9d9d9!important}::ng-deep .ant-select-selection__rendered{line-height:32px!important}::ng-deep .ant-calendar-range-picker-input{text-align:left!important}::ng-deep .ant-calendar-picker{width:100%!important}::ng-deep .ant-row{margin-right:0!important;margin-left:0!important}::ng-deep .ant-col-6{padding-left:12px;padding-right:12px}::ng-deep .ant-col-12{padding-left:12px;padding-right:12px}::ng-deep .ant-col-18{padding-left:12px;padding-right:12px}::ng-deep .ant-col-24{padding-left:12px;padding-right:12px}::ng-deep .ant-alert-info{background-color:#f5f8f6;border:1px solid #cfe3d4}:host ::ng-deep th{background:#f5f8f6!important;font-weight:700!important;white-space:nowrap;font-size:14px;font-family:PingFangSC-Medium,PingFang SC;color:#2a3634;padding:8px!important;box-sizing:border-box}:host ::ng-deep td{font-weight:400;font-style:normal;font-size:14px;color:#2a3634;text-align:left;white-space:nowrap;padding:8px!important;box-sizing:border-box}::ng-deep .ant-pagination-options{display:inline-flex;align-items:center}::ng-deep .ant-time-picker{width:100%}.ant-input-number-disabled,.ant-input[disabled],.ant-select-disabled{color:#4b504e}.hd-button-container{display:inline-block}.hd-button-container button{height:32px;line-height:32px;padding:0 16px!important;border:0;font-size:14px;border-radius:4px}.hd-button-container .hd-button-small{padding:0 6px!important}.hd-button-container button[disabled]{background-color:#c8c8c8;color:#fff}.hd-button-container .ant-btn-reset{color:#fff;background:#5d7267}.hd-button-container .ant-btn-reset:hover{background:#72877b}.hd-button-container .ant-btn-default{background:#fff;border-radius:4px;border:1px solid #ced0da;font-size:14px;font-weight:400;color:#2a3634;height:32px;line-height:30px}.hd-button-container .ant-btn-default:hover{color:#20b95d;border:1px solid #20b95d}.hd-button-container .ant-btn-warning{background:#fff;border-radius:4px;border:1px solid #ced0da;font-size:14px;font-weight:400;color:#2a3634;height:32px;line-height:30px}.hd-button-container .ant-btn-warning:hover{color:#f05b24;border:1px solid #f05b24}"]
382
378
  }] }
383
379
  ];
384
380
  /** @nocollapse */
@@ -428,9 +424,7 @@
428
424
  imports: [
429
425
  common.CommonModule,
430
426
  forms.FormsModule,
431
- button.NzButtonModule,
432
- icon.NzIconModule,
433
- layout.NzLayoutModule
427
+ ngZorroAntd.NgZorroAntdModule
434
428
  ],
435
429
  declarations: [HdButtonComponent],
436
430
  exports: [HdButtonComponent]
@@ -446,6 +440,10 @@
446
440
  var HdDetailFormComponent = /** @class */ (function () {
447
441
  function HdDetailFormComponent() {
448
442
  this.formCols = new Array();
443
+ /**
444
+ * 列数,支持数字或响应式配置,默认按屏幕宽度自适应
445
+ */
446
+ this.nzColumn = { xxl: 4, xl: 3, lg: 3, md: 3, sm: 2, xs: 1 };
449
447
  }
450
448
  /**
451
449
  * @return {?}
@@ -499,20 +497,26 @@
499
497
  HdDetailFormComponent.decorators = [
500
498
  { type: core.Component, args: [{
501
499
  selector: 'hd-detail-form',
502
- template: "<nz-content class=\"hd-detail-form-container\">\n <nz-descriptions [nzColumn]=\"{ xxl: 4, xl: 3, lg: 3, md: 3, sm: 2, xs: 1 }\">\n <ng-container *ngFor=\"let col of formCols\">\n <nz-descriptions-item *ngIf=\"!col.click\" [nzTitle]=\"col.label\">\n <span [ngStyle]=\"{'color': col?.color ? col.color : null}\">{{(col.value === '0' || col.value === 0 || col.value\n )? col.value : '&lt;\u7A7A&gt;'}}</span>\n </nz-descriptions-item>\n <nz-descriptions-item *ngIf=\"col.click\" [nzTitle]=\"col.label\">\n <span [ngStyle]=\"{'color': col?.color ? col.color : null}\" *ngIf=\"col.clickText\">\n {{(col.value === '0' || col.value === 0 || col.value\n )? col.value : '&lt;\u7A7A&gt;'}}\n <a (click)=\"triggerEvent(col.click || null)\">&nbsp;&nbsp;&nbsp;&nbsp;{{ col.clickText }}</a>\n </span>\n <span [ngStyle]=\"{'color': col?.color ? col.color : null}\" *ngIf=\"!col.clickText\">\n <a (click)=\"triggerEvent(col.click || null)\">{{(col.value === '0' || col.value === 0 || col.value\n )? col.value : '&lt;\u7A7A&gt;'}}</a>\n </span>\n </nz-descriptions-item>\n </ng-container>\n </nz-descriptions>\n</nz-content>\n",
503
- styles: ["::ng-deep .common-btn-group>a{font-size:12px;font-weight:400;color:#12a34f!important;white-space:nowrap}::ng-deep .common-btn-group .common-danger-btn:hover{color:#f05b24!important}::ng-deep .common-btn-group>a:hover{color:#20bd62!important}::ng-deep .common-btn-group>a:not(:last-child)::after{content:'';margin:0 2px}::ng-deep .common-billNumber>a{color:#3b77e3}button{box-shadow:unset;text-shadow:unset}::ng-deep .ant-form-item-label>label{color:#4b504e}::ng-deep .ant-input-number-input{height:28px}::ng-deep .ant-input-number{height:28px}textarea.ant-input{height:auto;min-height:28px}::ng-deep .ant-select-selection--multiple{min-height:28px}::ng-deep .ant-select-selection__rendered>ul>li{height:22px!important;margin-top:3px!important;line-height:22px!important}::ng-deep .ant-advanced-search-form .ant-form-item{margin-bottom:0!important}::ng-deep .ant-select-selection--single{height:28px!important}::ng-deep .ant-input{height:28px}::ng-deep .ant-input[disabled]:hover{border-color:#d9d9d9!important}::ng-deep .ant-select-selection__rendered{line-height:28px!important}::ng-deep .ant-calendar-range-picker-input{text-align:left!important}::ng-deep .ant-calendar-picker{width:100%!important}::ng-deep .ant-row{margin-right:0!important;margin-left:0!important}::ng-deep .ant-col-6{padding-left:12px;padding-right:12px}::ng-deep .ant-col-12{padding-left:12px;padding-right:12px}::ng-deep .ant-col-18{padding-left:12px;padding-right:12px}::ng-deep .ant-col-24{padding-left:12px;padding-right:12px}::ng-deep .ant-alert-info{background-color:#f5f8f6;border:1px solid #cfe3d4}:host ::ng-deep th{background:#f5f8f6!important;font-weight:700!important;white-space:nowrap;font-size:12px;font-family:PingFangSC-Medium,PingFang SC;color:#2a3634;padding:8px!important;box-sizing:border-box}:host ::ng-deep td{font-weight:400;font-style:normal;font-size:12px;color:#2a3634;text-align:left;white-space:nowrap;padding:8px!important;box-sizing:border-box}::ng-deep .ant-pagination-options{display:inline-flex;align-items:center}::ng-deep .ant-time-picker{width:100%}.ant-input-number-disabled,.ant-input[disabled],.ant-select-disabled{color:#4b504e}.hd-detail-form-container ::ng-deep .ant-descriptions-item-content{word-break:break-all;color:rgba(0,0,0,.85);font-weight:400}.hd-detail-form-container ::ng-deep .ant-descriptions-item-label{color:rgba(0,0,0,.65)}.hd-detail-form-container ::ng-deep .ant-descriptions-item{padding-top:6px!important;padding-bottom:6px!important}.hd-detail-form-container ::ng-deep td{white-space:unset!important}.hd-detail-form-container .ng-star-inserted,.hd-detail-form-container ::ng-deep .ant-descriptions-item{padding-left:0!important}"]
500
+ template: "<nz-content class=\"hd-detail-form-container\">\n <nz-descriptions [nzColumn]=\"nzColumn\">\n <ng-container *ngFor=\"let col of formCols\">\n <nz-descriptions-item *ngIf=\"!col.click\" [nzTitle]=\"col.label\">\n <span [ngStyle]=\"{'color': col?.color ? col.color : null}\">{{(col.value === '0' || col.value === 0 || col.value\n )? col.value : '&lt;\u7A7A&gt;'}}</span>\n </nz-descriptions-item>\n <nz-descriptions-item *ngIf=\"col.click\" [nzTitle]=\"col.label\">\n <span [ngStyle]=\"{'color': col?.color ? col.color : null}\" *ngIf=\"col.clickText\">\n {{(col.value === '0' || col.value === 0 || col.value\n )? col.value : '&lt;\u7A7A&gt;'}}\n <a (click)=\"triggerEvent(col.click || null)\">&nbsp;&nbsp;&nbsp;&nbsp;{{ col.clickText }}</a>\n </span>\n <span [ngStyle]=\"{'color': col?.color ? col.color : null}\" *ngIf=\"!col.clickText\">\n <a (click)=\"triggerEvent(col.click || null)\">{{(col.value === '0' || col.value === 0 || col.value\n )? col.value : '&lt;\u7A7A&gt;'}}</a>\n </span>\n </nz-descriptions-item>\n </ng-container>\n </nz-descriptions>\n</nz-content>\n",
501
+ styles: ["::ng-deep .common-btn-group>a{font-size:14px;font-weight:400;color:#20b95d!important;white-space:nowrap}::ng-deep .common-btn-group .common-danger-btn:hover{color:#f05b24!important}::ng-deep .common-btn-group>a:hover{color:#20bd62!important}::ng-deep .common-btn-group>a:not(:last-child)::after{content:'';margin:0 2px}::ng-deep .common-billNumber>a{color:#3b77e3}button{box-shadow:unset;text-shadow:unset}::ng-deep .ant-form-item-label>label{color:#4b504e;font-size:14px}::ng-deep .ant-input-number-input{height:32px}::ng-deep .ant-input-number{height:32px}textarea.ant-input{height:auto;min-height:32px}::ng-deep .ant-select-selection--multiple{min-height:32px}::ng-deep .ant-select-selection__rendered>ul>li{height:26px!important;margin-top:3px!important;line-height:26px!important}::ng-deep .ant-advanced-search-form .ant-form-item{margin-bottom:0!important}::ng-deep .ant-select-selection--single{height:32px!important}::ng-deep .ant-input{height:32px}::ng-deep .ant-input[disabled]:hover{border-color:#d9d9d9!important}::ng-deep .ant-select-selection__rendered{line-height:32px!important}::ng-deep .ant-calendar-range-picker-input{text-align:left!important}::ng-deep .ant-calendar-picker{width:100%!important}::ng-deep .ant-row{margin-right:0!important;margin-left:0!important}::ng-deep .ant-col-6{padding-left:12px;padding-right:12px}::ng-deep .ant-col-12{padding-left:12px;padding-right:12px}::ng-deep .ant-col-18{padding-left:12px;padding-right:12px}::ng-deep .ant-col-24{padding-left:12px;padding-right:12px}::ng-deep .ant-alert-info{background-color:#f5f8f6;border:1px solid #cfe3d4}:host ::ng-deep th{background:#f5f8f6!important;font-weight:700!important;white-space:nowrap;font-size:14px;font-family:PingFangSC-Medium,PingFang SC;color:#2a3634;padding:8px!important;box-sizing:border-box}:host ::ng-deep td{font-weight:400;font-style:normal;font-size:14px;color:#2a3634;text-align:left;white-space:nowrap;padding:8px!important;box-sizing:border-box}::ng-deep .ant-pagination-options{display:inline-flex;align-items:center}::ng-deep .ant-time-picker{width:100%}.ant-input-number-disabled,.ant-input[disabled],.ant-select-disabled{color:#4b504e}.hd-detail-form-container{font-size:14px}.hd-detail-form-container ::ng-deep td.ant-descriptions-item{vertical-align:top;padding-top:6px!important;padding-bottom:6px!important;padding-left:0!important;font-size:14px}.hd-detail-form-container ::ng-deep .ant-descriptions-item-label{color:#4b504e;font-size:14px}.hd-detail-form-container ::ng-deep .ant-descriptions-item-content{word-break:break-all;color:rgba(0,0,0,.85);font-weight:400;font-size:14px}.hd-detail-form-container ::ng-deep a{font-size:14px}.hd-detail-form-container ::ng-deep td{white-space:unset!important}"]
504
502
  }] }
505
503
  ];
506
504
  /** @nocollapse */
507
505
  HdDetailFormComponent.ctorParameters = function () { return []; };
508
506
  HdDetailFormComponent.propDecorators = {
509
- formCols: [{ type: core.Input }]
507
+ formCols: [{ type: core.Input }],
508
+ nzColumn: [{ type: core.Input }]
510
509
  };
511
510
  return HdDetailFormComponent;
512
511
  }());
513
512
  if (false) {
514
513
  /** @type {?} */
515
514
  HdDetailFormComponent.prototype.formCols;
515
+ /**
516
+ * 列数,支持数字或响应式配置,默认按屏幕宽度自适应
517
+ * @type {?}
518
+ */
519
+ HdDetailFormComponent.prototype.nzColumn;
516
520
  }
517
521
 
518
522
  /**
@@ -526,8 +530,7 @@
526
530
  { type: core.NgModule, args: [{
527
531
  imports: [
528
532
  common.CommonModule,
529
- descriptions.NzDescriptionsModule,
530
- layout.NzLayoutModule
533
+ ngZorroAntd.NgZorroAntdModule
531
534
  ],
532
535
  exports: [HdDetailFormComponent],
533
536
  declarations: [HdDetailFormComponent]
@@ -536,6 +539,118 @@
536
539
  return HdDetailFormModule;
537
540
  }());
538
541
 
542
+ /**
543
+ * @fileoverview added by tsickle
544
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
545
+ */
546
+ /** @enum {string} */
547
+ var SpaceType = {
548
+ row: 'row',
549
+ column: 'column',
550
+ };
551
+ var Style = /** @class */ (function () {
552
+ function Style() {
553
+ }
554
+ return Style;
555
+ }());
556
+ if (false) {
557
+ /** @type {?} */
558
+ Style.prototype.background;
559
+ /** @type {?} */
560
+ Style.prototype.width;
561
+ /** @type {?} */
562
+ Style.prototype.height;
563
+ }
564
+ var HdSpaceService = /** @class */ (function () {
565
+ function HdSpaceService() {
566
+ }
567
+ HdSpaceService.decorators = [
568
+ { type: core.Injectable, args: [{
569
+ providedIn: 'root'
570
+ },] }
571
+ ];
572
+ /** @nocollapse */
573
+ HdSpaceService.ctorParameters = function () { return []; };
574
+ /** @nocollapse */ HdSpaceService.ngInjectableDef = core.ɵɵdefineInjectable({ factory: function HdSpaceService_Factory() { return new HdSpaceService(); }, token: HdSpaceService, providedIn: "root" });
575
+ return HdSpaceService;
576
+ }());
577
+
578
+ /**
579
+ * @fileoverview added by tsickle
580
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
581
+ */
582
+ var HdSpaceComponent = /** @class */ (function () {
583
+ function HdSpaceComponent() {
584
+ this.type = SpaceType.row;
585
+ this.background = 'inherit';
586
+ this.style = new Style();
587
+ }
588
+ /**
589
+ * @return {?}
590
+ */
591
+ HdSpaceComponent.prototype.ngOnInit = /**
592
+ * @return {?}
593
+ */
594
+ function () {
595
+ this.style['background'] = this.background;
596
+ if (this.type === SpaceType.row) {
597
+ this.style['width'] = '100%';
598
+ this.style['height'] = this.size + 'px';
599
+ }
600
+ else {
601
+ this.style['height'] = '100%';
602
+ this.style['width'] = this.size + 'px';
603
+ }
604
+ };
605
+ HdSpaceComponent.decorators = [
606
+ { type: core.Component, args: [{
607
+ selector: 'hd-space',
608
+ template: "<nz-content>\n <div [ngStyle]=\"style\"></div>\n</nz-content>\n",
609
+ styles: [""]
610
+ }] }
611
+ ];
612
+ /** @nocollapse */
613
+ HdSpaceComponent.ctorParameters = function () { return []; };
614
+ HdSpaceComponent.propDecorators = {
615
+ type: [{ type: core.Input }],
616
+ size: [{ type: core.Input }],
617
+ background: [{ type: core.Input }]
618
+ };
619
+ return HdSpaceComponent;
620
+ }());
621
+ if (false) {
622
+ /** @type {?} */
623
+ HdSpaceComponent.prototype.type;
624
+ /** @type {?} */
625
+ HdSpaceComponent.prototype.size;
626
+ /** @type {?} */
627
+ HdSpaceComponent.prototype.background;
628
+ /** @type {?} */
629
+ HdSpaceComponent.prototype.style;
630
+ }
631
+
632
+ /**
633
+ * @fileoverview added by tsickle
634
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
635
+ */
636
+ var HdSpaceModule = /** @class */ (function () {
637
+ function HdSpaceModule() {
638
+ }
639
+ HdSpaceModule.decorators = [
640
+ { type: core.NgModule, args: [{
641
+ imports: [
642
+ common.CommonModule,
643
+ forms.FormsModule,
644
+ forms.ReactiveFormsModule,
645
+ ngZorroAntd.NgZorroAntdModule
646
+ ],
647
+ declarations: [HdSpaceComponent],
648
+ exports: [HdSpaceComponent]
649
+ },] }
650
+ ];
651
+ return HdSpaceModule;
652
+ }());
653
+
539
654
  /**
540
655
  * @fileoverview added by tsickle
541
656
  * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
@@ -628,6 +743,38 @@
628
743
  /** @type {?} */
629
744
  SelectOption.prototype.hdAllowClear;
630
745
  }
746
+ var RadioOption = /** @class */ (function () {
747
+ function RadioOption() {
748
+ this.showLabelAndValue = false;
749
+ }
750
+ return RadioOption;
751
+ }());
752
+ if (false) {
753
+ /** @type {?} */
754
+ RadioOption.prototype.label;
755
+ /** @type {?} */
756
+ RadioOption.prototype.value;
757
+ /** @type {?} */
758
+ RadioOption.prototype.optionList;
759
+ /** @type {?} */
760
+ RadioOption.prototype.showLabelAndValue;
761
+ }
762
+ var CheckboxOption = /** @class */ (function () {
763
+ function CheckboxOption() {
764
+ this.showLabelAndValue = false;
765
+ }
766
+ return CheckboxOption;
767
+ }());
768
+ if (false) {
769
+ /** @type {?} */
770
+ CheckboxOption.prototype.label;
771
+ /** @type {?} */
772
+ CheckboxOption.prototype.value;
773
+ /** @type {?} */
774
+ CheckboxOption.prototype.optionList;
775
+ /** @type {?} */
776
+ CheckboxOption.prototype.showLabelAndValue;
777
+ }
631
778
  var SelectOptionTableColumn = /** @class */ (function () {
632
779
  function SelectOptionTableColumn() {
633
780
  }
@@ -674,6 +821,10 @@
674
821
  InputNumber.prototype.step;
675
822
  /** @type {?} */
676
823
  InputNumber.prototype.precision;
824
+ /** @type {?} */
825
+ InputNumber.prototype.nzFormatter;
826
+ /** @type {?} */
827
+ InputNumber.prototype.nzParser;
677
828
  }
678
829
  var CascaderOption = /** @class */ (function () {
679
830
  function CascaderOption() {
@@ -693,8 +844,11 @@
693
844
  function HdDetailLinesComponent() {
694
845
  this.showSelected = false;
695
846
  this.allowDrop = false;
696
- this.scroll = { x: '1px' };
697
- this.selectField = 'billNumber';
847
+ this.showSearch = false;
848
+ // 不传递这个字段时默认为查询所有字段是否有匹配的
849
+ this.searchFields = [];
850
+ this.scroll = { x: "1px" };
851
+ this.selectField = "billNumber";
698
852
  this.selectEvent = new core.EventEmitter();
699
853
  // 合计区域
700
854
  this.showTotal = false;
@@ -714,6 +868,15 @@
714
868
  this.listOfAllData = [];
715
869
  this.mapOfCheckedId = {};
716
870
  this.mapOfCheckList = {};
871
+ /**
872
+ * 表格实际展示的数据(筛选结果或全量)
873
+ */
874
+ this.displayLines = [];
875
+ /**
876
+ * 是否处于筛选状态
877
+ */
878
+ this.isFilterData = false;
879
+ this.storeFormLinesData = []; // 缓存的总的列表数据
717
880
  }
718
881
  /**
719
882
  * @return {?}
@@ -722,16 +885,157 @@
722
885
  * @return {?}
723
886
  */
724
887
  function () {
888
+ this.syncStoreFromLinesInput();
889
+ this.applyDisplayFromStore();
725
890
  this.countSelected();
726
891
  this.calculateTotal();
727
892
  };
728
893
  /**
894
+ * @param {?} changes
729
895
  * @return {?}
730
896
  */
731
897
  HdDetailLinesComponent.prototype.ngOnChanges = /**
898
+ * @param {?} changes
899
+ * @return {?}
900
+ */
901
+ function (changes) {
902
+ if (changes["lines"]) {
903
+ if (!this.isFilterData) {
904
+ this.syncStoreFromLinesInput();
905
+ this.displayLines = this.lines || [];
906
+ }
907
+ else if (!this.storeFormLinesData ||
908
+ this.storeFormLinesData.length === 0) {
909
+ this.syncStoreFromLinesInput();
910
+ }
911
+ }
912
+ this.countSelected();
913
+ this.calculateTotal();
914
+ };
915
+ /**
916
+ * @private
917
+ * @param {?=} source
918
+ * @return {?}
919
+ */
920
+ HdDetailLinesComponent.prototype.syncStoreFromLinesInput = /**
921
+ * @private
922
+ * @param {?=} source
923
+ * @return {?}
924
+ */
925
+ function (source) {
926
+ /** @type {?} */
927
+ var data = source || this.lines;
928
+ this.storeFormLinesData = data ? JSON.parse(JSON.stringify(data)) : [];
929
+ };
930
+ /** 未筛选时与父组件 lines 同源,避免模板内 ngModel 与父数据脱节 */
931
+ /**
932
+ * 未筛选时与父组件 lines 同源,避免模板内 ngModel 与父数据脱节
933
+ * @private
934
+ * @return {?}
935
+ */
936
+ HdDetailLinesComponent.prototype.applyDisplayFromStore = /**
937
+ * 未筛选时与父组件 lines 同源,避免模板内 ngModel 与父数据脱节
938
+ * @private
939
+ * @return {?}
940
+ */
941
+ function () {
942
+ if (this.lines && this.lines.length > 0) {
943
+ this.displayLines = this.lines;
944
+ return;
945
+ }
946
+ this.displayLines = this.storeFormLinesData
947
+ ? JSON.parse(JSON.stringify(this.storeFormLinesData))
948
+ : [];
949
+ };
950
+ /**
951
+ * @private
952
+ * @return {?}
953
+ */
954
+ HdDetailLinesComponent.prototype.restoreFromStore = /**
955
+ * @private
956
+ * @return {?}
957
+ */
958
+ function () {
959
+ this.isFilterData = false;
960
+ this.applyDisplayFromStore();
961
+ this.tableLoading = false;
962
+ this.countSelected();
963
+ this.calculateTotal();
964
+ };
965
+ // 全局性的搜索(涵盖页面上所有的可视文字)
966
+ // 全局性的搜索(涵盖页面上所有的可视文字)
967
+ /**
968
+ * @return {?}
969
+ */
970
+ HdDetailLinesComponent.prototype.searchLines =
971
+ // 全局性的搜索(涵盖页面上所有的可视文字)
972
+ /**
732
973
  * @return {?}
733
974
  */
734
975
  function () {
976
+ var _this = this;
977
+ // 清空搜索:即使当前展示为空也要能从缓存恢复(对齐 hd-form-lines)
978
+ if (!this.filterStr || !this.filterStr.trim()) {
979
+ if (!this.storeFormLinesData || this.storeFormLinesData.length < 1) {
980
+ return;
981
+ }
982
+ this.tableLoading = true;
983
+ this.restoreFromStore();
984
+ return;
985
+ }
986
+ if (!this.storeFormLinesData || this.storeFormLinesData.length < 1) {
987
+ return;
988
+ }
989
+ this.tableLoading = true;
990
+ /** @type {?} */
991
+ var filterValue = this.filterStr.trim().toLowerCase();
992
+ this.isFilterData = true;
993
+ /** @type {?} */
994
+ var filteredData = this.storeFormLinesData.filter((/**
995
+ * @param {?} data
996
+ * @return {?}
997
+ */
998
+ function (data) {
999
+ var e_1, _a, e_2, _b;
1000
+ if (!_this.searchFields || _this.searchFields.length === 0) {
1001
+ try {
1002
+ for (var _c = __values(Object.keys(data)), _d = _c.next(); !_d.done; _d = _c.next()) {
1003
+ var item = _d.value;
1004
+ if (data[item] &&
1005
+ data[item].toString().toLowerCase().includes(filterValue)) {
1006
+ return true;
1007
+ }
1008
+ }
1009
+ }
1010
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
1011
+ finally {
1012
+ try {
1013
+ if (_d && !_d.done && (_a = _c.return)) _a.call(_c);
1014
+ }
1015
+ finally { if (e_1) throw e_1.error; }
1016
+ }
1017
+ return false;
1018
+ }
1019
+ try {
1020
+ for (var _e = __values(_this.searchFields), _f = _e.next(); !_f.done; _f = _e.next()) {
1021
+ var item = _f.value;
1022
+ if (data[item] &&
1023
+ data[item].toString().toLowerCase().includes(filterValue)) {
1024
+ return true;
1025
+ }
1026
+ }
1027
+ }
1028
+ catch (e_2_1) { e_2 = { error: e_2_1 }; }
1029
+ finally {
1030
+ try {
1031
+ if (_f && !_f.done && (_b = _e.return)) _b.call(_e);
1032
+ }
1033
+ finally { if (e_2) throw e_2.error; }
1034
+ }
1035
+ return false;
1036
+ }));
1037
+ this.displayLines = JSON.parse(JSON.stringify(filteredData));
1038
+ this.tableLoading = false;
735
1039
  this.countSelected();
736
1040
  this.calculateTotal();
737
1041
  };
@@ -745,8 +1049,11 @@
745
1049
  */
746
1050
  function () {
747
1051
  var _this = this;
748
- if (this.showSelected && this.selectedField && this.lines && this.lines.length) {
749
- this.lines.forEach((/**
1052
+ if (this.showSelected &&
1053
+ this.selectedField &&
1054
+ this.displayLines &&
1055
+ this.displayLines.length) {
1056
+ this.displayLines.forEach((/**
750
1057
  * @param {?} item
751
1058
  * @return {?}
752
1059
  */
@@ -756,7 +1063,7 @@
756
1063
  _this.mapOfCheckList[item[_this.selectField]] = item;
757
1064
  }
758
1065
  }));
759
- if (this.lines.length === Object.keys(this.mapOfCheckList).length) {
1066
+ if (this.displayLines.length === Object.keys(this.mapOfCheckList).length) {
760
1067
  this.isAllDisplayDataChecked = true;
761
1068
  this.isIndeterminate = true;
762
1069
  }
@@ -781,9 +1088,11 @@
781
1088
  * @return {?}
782
1089
  */
783
1090
  function (event) {
784
- dragDrop.moveItemInArray(this.lines, event.previousIndex, event.currentIndex);
785
- // 这里深拷贝去触发数据变化
786
- this.lines = JSON.parse(JSON.stringify(this.lines));
1091
+ dragDrop.moveItemInArray(this.displayLines, event.previousIndex, event.currentIndex);
1092
+ this.displayLines = JSON.parse(JSON.stringify(this.displayLines));
1093
+ if (!this.isFilterData) {
1094
+ this.storeFormLinesData = JSON.parse(JSON.stringify(this.displayLines));
1095
+ }
787
1096
  };
788
1097
  /**
789
1098
  * @return {?}
@@ -794,8 +1103,8 @@
794
1103
  function () {
795
1104
  var _this = this;
796
1105
  // 这里处理合计数据
797
- if (this.showTotal && this.lines && this.lines.length) {
798
- this.totalOptionList = new Array(Number(this.columnsNumber) - 1).fill('');
1106
+ if (this.showTotal && this.displayLines && this.displayLines.length) {
1107
+ this.totalOptionList = new Array(Number(this.columnsNumber) - 1).fill("");
799
1108
  this.totalOption.forEach((/**
800
1109
  * @param {?} item
801
1110
  * @return {?}
@@ -804,9 +1113,9 @@
804
1113
  if (item.insertIndex && (item.insertValue || item.insertValue === 0)) {
805
1114
  _this.totalOptionList[item.insertIndex - 1] = {
806
1115
  value: item.insertValue,
807
- align: item.align || 'right',
1116
+ align: item.align || "right",
808
1117
  showDecimal: item.showDecimal || false,
809
- isHide: item.isHide || false
1118
+ isHide: item.isHide || false,
810
1119
  };
811
1120
  }
812
1121
  }));
@@ -856,10 +1165,12 @@
856
1165
  if (event === void 0) { event = false; }
857
1166
  if (data === void 0) { data = null; }
858
1167
  if (event && data) {
859
- !this.mapOfCheckList[data[this.selectField]] && (this.mapOfCheckList[data[this.selectField]] = data);
1168
+ !this.mapOfCheckList[data[this.selectField]] &&
1169
+ (this.mapOfCheckList[data[this.selectField]] = data);
860
1170
  }
861
1171
  else if (!event && data) {
862
- this.mapOfCheckList[data[this.selectField]] && delete this.mapOfCheckList[data[this.selectField]];
1172
+ this.mapOfCheckList[data[this.selectField]] &&
1173
+ delete this.mapOfCheckList[data[this.selectField]];
863
1174
  }
864
1175
  this.isAllDisplayDataChecked = this.listOfDisplayData.every((/**
865
1176
  * @param {?} item
@@ -893,10 +1204,12 @@
893
1204
  */
894
1205
  function (item) {
895
1206
  if (value) {
896
- !_this.mapOfCheckList[item[_this.selectField]] && (_this.mapOfCheckList[item[_this.selectField]] = item);
1207
+ !_this.mapOfCheckList[item[_this.selectField]] &&
1208
+ (_this.mapOfCheckList[item[_this.selectField]] = item);
897
1209
  }
898
1210
  else {
899
- _this.mapOfCheckList[item[_this.selectField]] && delete _this.mapOfCheckList[item[_this.selectField]];
1211
+ _this.mapOfCheckList[item[_this.selectField]] &&
1212
+ delete _this.mapOfCheckList[item[_this.selectField]];
900
1213
  }
901
1214
  _this.mapOfCheckedId[item[_this.selectField]] = value;
902
1215
  }));
@@ -904,9 +1217,9 @@
904
1217
  };
905
1218
  HdDetailLinesComponent.decorators = [
906
1219
  { type: core.Component, args: [{
907
- selector: 'hd-detail-lines',
908
- template: "<ng-container>\n <nz-table #hdTable [nzScroll]=\"scroll\" class=\"hd-table-container\" nzShowSizeChanger\n [nzFrontPagination]=\"hdFrontPagination\" [nzShowQuickJumper]=\"hdFrontPagination\" [nzShowTotal]=\"tableTotalTemplate\"\n nzSize=\"middle\" [nzData]=\"lines\" [nzLoading]=\"tableLoading\" [nzPageSizeOptions]=\"[ 10, 50, 100, 200 ]\"\n (nzCurrentPageDataChange)=\"showSelected ? currentPageDataChange($event) : null\">\n <thead>\n <tr>\n <th *ngIf=\"showSelected\" nzWidth=\"40px\" nzLeft=\"0px\" nzShowCheckbox [(nzChecked)]=\"isAllDisplayDataChecked\"\n [nzIndeterminate]=\"isIndeterminate\" (nzCheckedChange)=\"checkAll($event)\"></th>\n <ng-container *ngTemplateOutlet=\"detailLineHead\"></ng-container>\n </tr>\n </thead>\n <tbody *ngIf=\"!allowDrop;else allowDropTemplate\">\n <tr *ngFor=\"let data of hdTable.data;index as i\">\n <td *ngIf=\"showSelected\" nzWidth=\"40px\" nzLeft=\"0px\" nzShowCheckbox\n [(nzChecked)]=\"mapOfCheckedId[data[selectField]]\" (nzCheckedChange)=\"refreshStatus($event, data)\"></td>\n <ng-container *ngTemplateOutlet=\"detailLineBody;context:{$implicit: data, index: i}\"></ng-container>\n </tr>\n <!-- \u5408\u8BA1\u533A\u57DF -->\n <tr *ngIf=\"showTotal\" class=\"hd-table-total\">\n <td *ngIf=\"showSelected\"></td>\n <td>\u5408\u8BA1</td>\n <ng-container *ngFor=\"let totalOption of totalOptionList\">\n <td *ngIf=\"!totalOption.isHide\" [nzAlign]=\"totalOption.align ? totalOption.align : 'left'\">{{\n (totalOption.value || totalOption.value ===\n 0) ? (((totalOption.value % 1 === 0) && !totalOption.showDecimal ) ? totalOption.value :\n LodashRound(totalOption.value,2).toFixed(2)) : '' }} </td>\n </ng-container>\n </tr>\n </tbody>\n <ng-template #allowDropTemplate>\n <tbody cdkDropList (cdkDropListDropped)=\"drop($event)\">\n <tr *ngFor=\"let data of hdTable.data;index as i\" cdkDrag>\n <td *ngIf=\"showSelected\" nzWidth=\"40px\" nzLeft=\"0px\" nzShowCheckbox\n [(nzChecked)]=\"mapOfCheckedId[data[selectField]]\" (nzCheckedChange)=\"refreshStatus($event, data)\"></td>\n <ng-container *ngTemplateOutlet=\"detailLineBody;context:{$implicit: data, index: i}\"></ng-container>\n </tr>\n <!-- \u5408\u8BA1\u533A\u57DF -->\n <tr *ngIf=\"showTotal\" class=\"hd-table-total\">\n <td *ngIf=\"showSelected\"></td>\n <td>\u5408\u8BA1</td>\n <ng-container *ngFor=\"let totalOption of totalOptionList\">\n <td *ngIf=\"!totalOption.isHide\" [nzAlign]=\"totalOption.align ? totalOption.align : 'left'\">{{\n (totalOption.value || totalOption.value\n === 0) ? (((totalOption.value % 1 === 0) && !totalOption.showDecimal ) ? totalOption.value :\n LodashRound(totalOption.value,2).toFixed(2)) : '' }} </td>\n </ng-container>\n </tr>\n </tbody>\n </ng-template>\n <ng-template #tableTotalTemplate>\n \u5171 {{lines.length}} \u6761\u6570\u636E\n </ng-template>\n </nz-table>\n</ng-container>",
909
- styles: ["::ng-deep .common-btn-group>a{font-size:12px;font-weight:400;color:#12a34f!important;white-space:nowrap}::ng-deep .common-btn-group .common-danger-btn:hover{color:#f05b24!important}::ng-deep .common-btn-group>a:hover{color:#20bd62!important}::ng-deep .common-btn-group>a:not(:last-child)::after{content:'';margin:0 2px}::ng-deep .common-billNumber>a{color:#3b77e3}button{box-shadow:unset;text-shadow:unset}::ng-deep .ant-form-item-label>label{color:#4b504e}::ng-deep .ant-input-number-input{height:28px}::ng-deep .ant-input-number{height:28px}textarea.ant-input{height:auto;min-height:28px}::ng-deep .ant-select-selection--multiple{min-height:28px}::ng-deep .ant-select-selection__rendered>ul>li{height:22px!important;margin-top:3px!important;line-height:22px!important}::ng-deep .ant-advanced-search-form .ant-form-item{margin-bottom:0!important}::ng-deep .ant-select-selection--single{height:28px!important}::ng-deep .ant-input{height:28px}::ng-deep .ant-input[disabled]:hover{border-color:#d9d9d9!important}::ng-deep .ant-select-selection__rendered{line-height:28px!important}::ng-deep .ant-calendar-range-picker-input{text-align:left!important}::ng-deep .ant-calendar-picker{width:100%!important}::ng-deep .ant-row{margin-right:0!important;margin-left:0!important}::ng-deep .ant-col-6{padding-left:12px;padding-right:12px}::ng-deep .ant-col-12{padding-left:12px;padding-right:12px}::ng-deep .ant-col-18{padding-left:12px;padding-right:12px}::ng-deep .ant-col-24{padding-left:12px;padding-right:12px}::ng-deep .ant-alert-info{background-color:#f5f8f6;border:1px solid #cfe3d4}:host ::ng-deep th{background:#f5f8f6!important;font-weight:700!important;white-space:nowrap;font-size:12px;font-family:PingFangSC-Medium,PingFang SC;color:#2a3634;padding:8px!important;box-sizing:border-box}:host ::ng-deep td{font-weight:400;font-style:normal;font-size:12px;color:#2a3634;text-align:left;white-space:nowrap;padding:8px!important;box-sizing:border-box}::ng-deep .ant-pagination-options{display:inline-flex;align-items:center}::ng-deep .ant-time-picker{width:100%}.ant-input-number-disabled,.ant-input[disabled],.ant-select-disabled{color:#4b504e}.hd-table-container ::ng-deep .ant-pagination-options-quick-jumper input{border-radius:2px;border:1px solid #d9d9d9}.hd-table-container ::ng-deep .ant-pagination-options .ant-select-selection{border-radius:2px}.hd-table-container ::ng-deep .ant-table-thead>tr>th{border-bottom:1px solid #ecf1ed}.hd-table-container ::ng-deep .ant-table-tbody>tr>td{border-bottom:1px solid #ecf1ed}.hd-table-container ::ng-deep .hd-table-total>td{border:0!important}"]
1220
+ selector: "hd-detail-lines",
1221
+ template: "<ng-container>\n <hd-button-group *ngIf=\"showSearch\">\n <ng-template #buttonGroupLeft>\n <nz-input-group [nzSuffix]=\"suffixIconSearch\">\n <input type=\"text\" nz-input (keyup.enter)=\"searchLines()\" placeholder=\"\u8BF7\u8F93\u5165\u5185\u5BB9\u641C\u7D22\" style=\"width: 300px;\"\n [(ngModel)]=\"filterStr\" />\n </nz-input-group>\n <ng-template #suffixIconSearch>\n <i nz-icon nzType=\"search\" (click)=\"searchLines()\"></i>\n </ng-template>\n </ng-template>\n </hd-button-group>\n\n <hd-space *ngIf=\"showSearch\" background=\"transparent\" type=\"row\" size=\"16\"></hd-space>\n\n <nz-table #hdTable [nzScroll]=\"scroll\" class=\"hd-table-container\" nzShowSizeChanger\n [nzFrontPagination]=\"hdFrontPagination\" [nzShowQuickJumper]=\"hdFrontPagination\" [nzShowTotal]=\"tableTotalTemplate\"\n nzSize=\"middle\" [nzData]=\"displayLines\" [nzLoading]=\"tableLoading\" [nzPageSizeOptions]=\"[ 10, 50, 100, 200 ]\"\n (nzCurrentPageDataChange)=\"showSelected ? currentPageDataChange($event) : null\">\n <thead>\n <tr>\n <th *ngIf=\"showSelected\" nzWidth=\"40px\" nzLeft=\"0px\" nzShowCheckbox [(nzChecked)]=\"isAllDisplayDataChecked\"\n [nzIndeterminate]=\"isIndeterminate\" (nzCheckedChange)=\"checkAll($event)\"></th>\n <ng-container *ngTemplateOutlet=\"detailLineHead\"></ng-container>\n </tr>\n </thead>\n <tbody *ngIf=\"!allowDrop;else allowDropTemplate\">\n <tr *ngFor=\"let data of hdTable.data;index as i\">\n <td *ngIf=\"showSelected\" nzWidth=\"40px\" nzLeft=\"0px\" nzShowCheckbox\n [(nzChecked)]=\"mapOfCheckedId[data[selectField]]\" (nzCheckedChange)=\"refreshStatus($event, data)\"></td>\n <ng-container *ngTemplateOutlet=\"detailLineBody;context:{$implicit: data, index: i}\"></ng-container>\n </tr>\n <!-- \u5408\u8BA1\u533A\u57DF -->\n <tr *ngIf=\"showTotal\" class=\"hd-table-total\">\n <td *ngIf=\"showSelected\"></td>\n <td>\u5408\u8BA1</td>\n <ng-container *ngFor=\"let totalOption of totalOptionList\">\n <td *ngIf=\"!totalOption.isHide\" [nzAlign]=\"totalOption.align ? totalOption.align : 'left'\">{{\n (totalOption.value || totalOption.value ===\n 0) ? (((totalOption.value % 1 === 0) && !totalOption.showDecimal ) ? totalOption.value :\n LodashRound(totalOption.value,2).toFixed(2)) : '' }} </td>\n </ng-container>\n </tr>\n </tbody>\n <ng-template #allowDropTemplate>\n <tbody cdkDropList (cdkDropListDropped)=\"drop($event)\">\n <tr *ngFor=\"let data of hdTable.data;index as i\" cdkDrag>\n <td *ngIf=\"showSelected\" nzWidth=\"40px\" nzLeft=\"0px\" nzShowCheckbox\n [(nzChecked)]=\"mapOfCheckedId[data[selectField]]\" (nzCheckedChange)=\"refreshStatus($event, data)\"></td>\n <ng-container *ngTemplateOutlet=\"detailLineBody;context:{$implicit: data, index: i}\"></ng-container>\n </tr>\n <!-- \u5408\u8BA1\u533A\u57DF -->\n <tr *ngIf=\"showTotal\" class=\"hd-table-total\">\n <td *ngIf=\"showSelected\"></td>\n <td>\u5408\u8BA1</td>\n <ng-container *ngFor=\"let totalOption of totalOptionList\">\n <td *ngIf=\"!totalOption.isHide\" [nzAlign]=\"totalOption.align ? totalOption.align : 'left'\">{{\n (totalOption.value || totalOption.value\n === 0) ? (((totalOption.value % 1 === 0) && !totalOption.showDecimal ) ? totalOption.value :\n LodashRound(totalOption.value,2).toFixed(2)) : '' }} </td>\n </ng-container>\n </tr>\n </tbody>\n </ng-template>\n <ng-template #tableTotalTemplate>\n \u5171 {{displayLines.length}} \u6761\u6570\u636E\n </ng-template>\n </nz-table>\n</ng-container>\n",
1222
+ styles: ["::ng-deep .common-btn-group>a{font-size:14px;font-weight:400;color:#20b95d!important;white-space:nowrap}::ng-deep .common-btn-group .common-danger-btn:hover{color:#f05b24!important}::ng-deep .common-btn-group>a:hover{color:#20bd62!important}::ng-deep .common-btn-group>a:not(:last-child)::after{content:'';margin:0 2px}::ng-deep .common-billNumber>a{color:#3b77e3}button{box-shadow:unset;text-shadow:unset}::ng-deep .ant-form-item-label>label{color:#4b504e;font-size:14px}::ng-deep .ant-input-number-input{height:32px}::ng-deep .ant-input-number{height:32px}textarea.ant-input{height:auto;min-height:32px}::ng-deep .ant-select-selection--multiple{min-height:32px}::ng-deep .ant-select-selection__rendered>ul>li{height:26px!important;margin-top:3px!important;line-height:26px!important}::ng-deep .ant-advanced-search-form .ant-form-item{margin-bottom:0!important}::ng-deep .ant-select-selection--single{height:32px!important}::ng-deep .ant-input{height:32px}::ng-deep .ant-input[disabled]:hover{border-color:#d9d9d9!important}::ng-deep .ant-select-selection__rendered{line-height:32px!important}::ng-deep .ant-calendar-range-picker-input{text-align:left!important}::ng-deep .ant-calendar-picker{width:100%!important}::ng-deep .ant-row{margin-right:0!important;margin-left:0!important}::ng-deep .ant-col-6{padding-left:12px;padding-right:12px}::ng-deep .ant-col-12{padding-left:12px;padding-right:12px}::ng-deep .ant-col-18{padding-left:12px;padding-right:12px}::ng-deep .ant-col-24{padding-left:12px;padding-right:12px}::ng-deep .ant-alert-info{background-color:#f5f8f6;border:1px solid #cfe3d4}:host ::ng-deep th{background:#f5f8f6!important;font-weight:700!important;white-space:nowrap;font-size:14px;font-family:PingFangSC-Medium,PingFang SC;color:#2a3634;padding:8px!important;box-sizing:border-box}:host ::ng-deep td{font-weight:400;font-style:normal;font-size:14px;color:#2a3634;text-align:left;white-space:nowrap;padding:8px!important;box-sizing:border-box}::ng-deep .ant-pagination-options{display:inline-flex;align-items:center}::ng-deep .ant-time-picker{width:100%}.ant-input-number-disabled,.ant-input[disabled],.ant-select-disabled{color:#4b504e}.hd-table-container ::ng-deep .ant-pagination-options-quick-jumper input{border-radius:2px;border:1px solid #d9d9d9}.hd-table-container ::ng-deep .ant-pagination-options .ant-select-selection{border-radius:2px}.hd-table-container ::ng-deep .ant-table-thead>tr>th{border-bottom:1px solid #ecf1ed}.hd-table-container ::ng-deep .ant-table-tbody>tr>td{border-bottom:1px solid #ecf1ed}.hd-table-container ::ng-deep .hd-table-total>td{border:0!important}"]
910
1223
  }] }
911
1224
  ];
912
1225
  /** @nocollapse */
@@ -915,6 +1228,8 @@
915
1228
  lines: [{ type: core.Input }],
916
1229
  showSelected: [{ type: core.Input }],
917
1230
  allowDrop: [{ type: core.Input }],
1231
+ showSearch: [{ type: core.Input }],
1232
+ searchFields: [{ type: core.Input }],
918
1233
  scroll: [{ type: core.Input }],
919
1234
  selectField: [{ type: core.Input }],
920
1235
  selectedField: [{ type: core.Input }],
@@ -934,6 +1249,10 @@
934
1249
  core$1.InputBoolean(),
935
1250
  __metadata("design:type", Boolean)
936
1251
  ], HdDetailLinesComponent.prototype, "allowDrop", void 0);
1252
+ __decorate([
1253
+ core$1.InputBoolean(),
1254
+ __metadata("design:type", Boolean)
1255
+ ], HdDetailLinesComponent.prototype, "showSearch", void 0);
937
1256
  __decorate([
938
1257
  core$1.InputBoolean(),
939
1258
  __metadata("design:type", Boolean)
@@ -948,6 +1267,10 @@
948
1267
  /** @type {?} */
949
1268
  HdDetailLinesComponent.prototype.allowDrop;
950
1269
  /** @type {?} */
1270
+ HdDetailLinesComponent.prototype.showSearch;
1271
+ /** @type {?} */
1272
+ HdDetailLinesComponent.prototype.searchFields;
1273
+ /** @type {?} */
951
1274
  HdDetailLinesComponent.prototype.scroll;
952
1275
  /** @type {?} */
953
1276
  HdDetailLinesComponent.prototype.selectField;
@@ -991,6 +1314,20 @@
991
1314
  HdDetailLinesComponent.prototype.mapOfCheckedId;
992
1315
  /** @type {?} */
993
1316
  HdDetailLinesComponent.prototype.mapOfCheckList;
1317
+ /** @type {?} */
1318
+ HdDetailLinesComponent.prototype.filterStr;
1319
+ /**
1320
+ * 表格实际展示的数据(筛选结果或全量)
1321
+ * @type {?}
1322
+ */
1323
+ HdDetailLinesComponent.prototype.displayLines;
1324
+ /**
1325
+ * 是否处于筛选状态
1326
+ * @type {?}
1327
+ */
1328
+ HdDetailLinesComponent.prototype.isFilterData;
1329
+ /** @type {?} */
1330
+ HdDetailLinesComponent.prototype.storeFormLinesData;
994
1331
  }
995
1332
 
996
1333
  /**
@@ -1005,16 +1342,455 @@
1005
1342
  imports: [
1006
1343
  common.CommonModule,
1007
1344
  table.NzTableModule,
1008
- dragDrop.DragDropModule
1345
+ dragDrop.DragDropModule,
1346
+ forms.FormsModule,
1347
+ ngZorroAntd.NgZorroAntdModule,
1348
+ HdSpaceModule,
1349
+ HdButtonModule,
1350
+ HdButtonGroupModule,
1009
1351
  ],
1010
1352
  declarations: [HdDetailLinesComponent],
1011
1353
  exports: [HdDetailLinesComponent],
1012
- schemas: [core.NO_ERRORS_SCHEMA]
1354
+ schemas: [core.NO_ERRORS_SCHEMA],
1013
1355
  },] }
1014
1356
  ];
1015
1357
  return HdDetailLinesModule;
1016
1358
  }());
1017
1359
 
1360
+ /**
1361
+ * @fileoverview added by tsickle
1362
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
1363
+ */
1364
+ var HdDetailLinesPageComponent = /** @class */ (function () {
1365
+ function HdDetailLinesPageComponent() {
1366
+ this.lines = [];
1367
+ /**
1368
+ * 与 hd-table 一致,可传 Page 对象;未传 lines 时使用 tableData.content
1369
+ */
1370
+ this.tableData = new Page();
1371
+ this.showSelected = false;
1372
+ this.allowDrop = false;
1373
+ this.scroll = { x: "1px" };
1374
+ this.selectField = "billNumber";
1375
+ this.selectEvent = new core.EventEmitter();
1376
+ this.showTotal = false;
1377
+ this.totalOption = [];
1378
+ this.columnsNumber = 0;
1379
+ this.tableLoading = false;
1380
+ this.tablePageIndex = 1;
1381
+ this.tablePageSize = 10;
1382
+ this.tablePageIndexChange = new core.EventEmitter();
1383
+ this.tablePageSizeChange = new core.EventEmitter();
1384
+ this.pageChange = new core.EventEmitter();
1385
+ this.totalOptionList = [];
1386
+ this.isAllDisplayDataChecked = false;
1387
+ this.isIndeterminate = false;
1388
+ this.listOfDisplayData = [];
1389
+ this.mapOfCheckedId = {};
1390
+ this.mapOfCheckList = {};
1391
+ this.isCrossPageSelectLocal = false;
1392
+ }
1393
+ /**
1394
+ * @return {?}
1395
+ */
1396
+ HdDetailLinesPageComponent.prototype.ngOnInit = /**
1397
+ * @return {?}
1398
+ */
1399
+ function () {
1400
+ if (this.isCrossPageSelect === true) {
1401
+ this.isCrossPageSelectLocal = this.isCrossPageSelect;
1402
+ }
1403
+ this.countSelected();
1404
+ this.calculateTotal();
1405
+ };
1406
+ /**
1407
+ * @param {?} changes
1408
+ * @return {?}
1409
+ */
1410
+ HdDetailLinesPageComponent.prototype.ngOnChanges = /**
1411
+ * @param {?} changes
1412
+ * @return {?}
1413
+ */
1414
+ function (changes) {
1415
+ if (changes &&
1416
+ changes["tableData"] &&
1417
+ changes["tableData"]["currentValue"] &&
1418
+ changes["tableData"]["previousValue"]) {
1419
+ if (changes["tableData"]["currentValue"]["pageSize"] !==
1420
+ changes["tableData"]["previousValue"]["pageSize"] ||
1421
+ changes["tableData"]["currentValue"]["pageNumber"] !==
1422
+ changes["tableData"]["previousValue"]["pageNumber"]) {
1423
+ this.countSelected();
1424
+ this.calculateTotal();
1425
+ return;
1426
+ }
1427
+ if (!this.isCrossPageSelectLocal) {
1428
+ this.resetStatus();
1429
+ }
1430
+ }
1431
+ this.countSelected();
1432
+ this.calculateTotal();
1433
+ };
1434
+ Object.defineProperty(HdDetailLinesPageComponent.prototype, "displayLines", {
1435
+ get: /**
1436
+ * @return {?}
1437
+ */
1438
+ function () {
1439
+ if (this.lines && this.lines.length) {
1440
+ return this.lines;
1441
+ }
1442
+ return (this.tableData && this.tableData.content) || [];
1443
+ },
1444
+ enumerable: true,
1445
+ configurable: true
1446
+ });
1447
+ Object.defineProperty(HdDetailLinesPageComponent.prototype, "totalCount", {
1448
+ get: /**
1449
+ * @return {?}
1450
+ */
1451
+ function () {
1452
+ if (this.tableData && this.tableData.totalElements != null) {
1453
+ return this.tableData.totalElements;
1454
+ }
1455
+ return this.displayLines.length;
1456
+ },
1457
+ enumerable: true,
1458
+ configurable: true
1459
+ });
1460
+ /**
1461
+ * @param {?} localIndex
1462
+ * @return {?}
1463
+ */
1464
+ HdDetailLinesPageComponent.prototype.getRowIndex = /**
1465
+ * @param {?} localIndex
1466
+ * @return {?}
1467
+ */
1468
+ function (localIndex) {
1469
+ return (this.tablePageIndex - 1) * this.tablePageSize + localIndex;
1470
+ };
1471
+ /**
1472
+ * @param {?} pageIndex
1473
+ * @return {?}
1474
+ */
1475
+ HdDetailLinesPageComponent.prototype.onPageIndexChange = /**
1476
+ * @param {?} pageIndex
1477
+ * @return {?}
1478
+ */
1479
+ function (pageIndex) {
1480
+ this.tablePageIndex = pageIndex;
1481
+ this.tablePageIndexChange.emit(this.tablePageIndex);
1482
+ this.pageChange.emit();
1483
+ };
1484
+ /**
1485
+ * @param {?} pageSize
1486
+ * @return {?}
1487
+ */
1488
+ HdDetailLinesPageComponent.prototype.onPageSizeChange = /**
1489
+ * @param {?} pageSize
1490
+ * @return {?}
1491
+ */
1492
+ function (pageSize) {
1493
+ this.tablePageSize = pageSize;
1494
+ this.tablePageIndex = 1;
1495
+ this.tablePageSizeChange.emit(this.tablePageSize);
1496
+ this.tablePageIndexChange.emit(this.tablePageIndex);
1497
+ this.pageChange.emit();
1498
+ };
1499
+ /**
1500
+ * @private
1501
+ * @return {?}
1502
+ */
1503
+ HdDetailLinesPageComponent.prototype.countSelected = /**
1504
+ * @private
1505
+ * @return {?}
1506
+ */
1507
+ function () {
1508
+ var _this = this;
1509
+ if (this.showSelected &&
1510
+ this.selectedField &&
1511
+ this.displayLines &&
1512
+ this.displayLines.length) {
1513
+ this.displayLines.forEach((/**
1514
+ * @param {?} item
1515
+ * @return {?}
1516
+ */
1517
+ function (item) {
1518
+ if (item[_this.selectedField] === true) {
1519
+ _this.mapOfCheckedId[item[_this.selectField]] = true;
1520
+ _this.mapOfCheckList[item[_this.selectField]] = item;
1521
+ }
1522
+ }));
1523
+ if (this.displayLines.length === Object.keys(this.mapOfCheckList).length) {
1524
+ this.isAllDisplayDataChecked = true;
1525
+ this.isIndeterminate = true;
1526
+ }
1527
+ }
1528
+ };
1529
+ Object.defineProperty(HdDetailLinesPageComponent.prototype, "LodashRound", {
1530
+ get: /**
1531
+ * @return {?}
1532
+ */
1533
+ function () {
1534
+ return lodash.round;
1535
+ },
1536
+ enumerable: true,
1537
+ configurable: true
1538
+ });
1539
+ /**
1540
+ * @param {?} event
1541
+ * @return {?}
1542
+ */
1543
+ HdDetailLinesPageComponent.prototype.drop = /**
1544
+ * @param {?} event
1545
+ * @return {?}
1546
+ */
1547
+ function (event) {
1548
+ /** @type {?} */
1549
+ var lines = __spread(this.displayLines);
1550
+ dragDrop.moveItemInArray(lines, event.previousIndex, event.currentIndex);
1551
+ this.lines = lines;
1552
+ };
1553
+ /**
1554
+ * @return {?}
1555
+ */
1556
+ HdDetailLinesPageComponent.prototype.calculateTotal = /**
1557
+ * @return {?}
1558
+ */
1559
+ function () {
1560
+ var _this = this;
1561
+ if (this.showTotal && this.displayLines && this.displayLines.length) {
1562
+ this.totalOptionList = new Array(Number(this.columnsNumber) - 1).fill("");
1563
+ this.totalOption.forEach((/**
1564
+ * @param {?} item
1565
+ * @return {?}
1566
+ */
1567
+ function (item) {
1568
+ if (item.insertIndex && (item.insertValue || item.insertValue === 0)) {
1569
+ _this.totalOptionList[item.insertIndex - 1] = {
1570
+ value: item.insertValue,
1571
+ align: item.align || "right",
1572
+ showDecimal: item.showDecimal || false,
1573
+ isHide: item.isHide || false,
1574
+ };
1575
+ }
1576
+ }));
1577
+ }
1578
+ };
1579
+ /**
1580
+ * @param {?} $event
1581
+ * @return {?}
1582
+ */
1583
+ HdDetailLinesPageComponent.prototype.currentPageDataChange = /**
1584
+ * @param {?} $event
1585
+ * @return {?}
1586
+ */
1587
+ function ($event) {
1588
+ this.listOfDisplayData = $event;
1589
+ this.refreshStatus();
1590
+ if (!this.isCrossPageSelectLocal) {
1591
+ this.resetStatus();
1592
+ }
1593
+ };
1594
+ /**
1595
+ * @return {?}
1596
+ */
1597
+ HdDetailLinesPageComponent.prototype.resetStatus = /**
1598
+ * @return {?}
1599
+ */
1600
+ function () {
1601
+ this.isAllDisplayDataChecked = false;
1602
+ this.isIndeterminate = false;
1603
+ this.mapOfCheckedId = {};
1604
+ this.mapOfCheckList = {};
1605
+ this.selectEvent.emit([]);
1606
+ };
1607
+ /**
1608
+ * @param {?=} event
1609
+ * @param {?=} data
1610
+ * @return {?}
1611
+ */
1612
+ HdDetailLinesPageComponent.prototype.refreshStatus = /**
1613
+ * @param {?=} event
1614
+ * @param {?=} data
1615
+ * @return {?}
1616
+ */
1617
+ function (event, data) {
1618
+ var _this = this;
1619
+ if (event === void 0) { event = false; }
1620
+ if (data === void 0) { data = null; }
1621
+ if (event && data) {
1622
+ !this.mapOfCheckList[data[this.selectField]] &&
1623
+ (this.mapOfCheckList[data[this.selectField]] = data);
1624
+ }
1625
+ else if (!event && data) {
1626
+ this.mapOfCheckList[data[this.selectField]] &&
1627
+ delete this.mapOfCheckList[data[this.selectField]];
1628
+ }
1629
+ this.isAllDisplayDataChecked = this.listOfDisplayData.every((/**
1630
+ * @param {?} item
1631
+ * @return {?}
1632
+ */
1633
+ function (item) { return _this.mapOfCheckedId[item[_this.selectField]]; }));
1634
+ this.isIndeterminate =
1635
+ this.listOfDisplayData.some((/**
1636
+ * @param {?} item
1637
+ * @return {?}
1638
+ */
1639
+ function (item) { return _this.mapOfCheckedId[item[_this.selectField]]; })) && !this.isAllDisplayDataChecked;
1640
+ if (this.selectEvent) {
1641
+ this.selectEvent.emit(Object.values(this.mapOfCheckList));
1642
+ }
1643
+ };
1644
+ /**
1645
+ * @param {?} value
1646
+ * @return {?}
1647
+ */
1648
+ HdDetailLinesPageComponent.prototype.checkAll = /**
1649
+ * @param {?} value
1650
+ * @return {?}
1651
+ */
1652
+ function (value) {
1653
+ var _this = this;
1654
+ this.listOfDisplayData.forEach((/**
1655
+ * @param {?} item
1656
+ * @return {?}
1657
+ */
1658
+ function (item) {
1659
+ if (value) {
1660
+ !_this.mapOfCheckList[item[_this.selectField]] &&
1661
+ (_this.mapOfCheckList[item[_this.selectField]] = item);
1662
+ }
1663
+ else {
1664
+ _this.mapOfCheckList[item[_this.selectField]] &&
1665
+ delete _this.mapOfCheckList[item[_this.selectField]];
1666
+ }
1667
+ _this.mapOfCheckedId[item[_this.selectField]] = value;
1668
+ }));
1669
+ this.refreshStatus();
1670
+ };
1671
+ HdDetailLinesPageComponent.decorators = [
1672
+ { type: core.Component, args: [{
1673
+ selector: "hd-detail-lines-page",
1674
+ template: "<ng-container>\n <nz-table #hdTable [nzScroll]=\"scroll\" class=\"hd-table-container\" nzShowSizeChanger nzShowQuickJumper\n nzFrontPagination=\"false\" nzSize=\"middle\" [nzData]=\"displayLines\" [nzTotal]=\"totalCount\"\n [(nzPageIndex)]=\"tablePageIndex\" [(nzPageSize)]=\"tablePageSize\" [nzLoading]=\"tableLoading\"\n [nzPageSizeOptions]=\"[ 10, 50, 100, 200 ]\" (nzPageIndexChange)=\"onPageIndexChange($event)\"\n (nzPageSizeChange)=\"onPageSizeChange($event)\" [nzShowTotal]=\"tableTotalTemplate\"\n (nzCurrentPageDataChange)=\"showSelected ? currentPageDataChange($event) : null\">\n <thead>\n <tr>\n <th *ngIf=\"showSelected\" nzWidth=\"40px\" nzLeft=\"0px\" nzShowCheckbox [(nzChecked)]=\"isAllDisplayDataChecked\"\n [nzIndeterminate]=\"isIndeterminate\" (nzCheckedChange)=\"checkAll($event)\"></th>\n <ng-container *ngTemplateOutlet=\"detailLineHead\"></ng-container>\n </tr>\n </thead>\n <tbody *ngIf=\"!allowDrop;else allowDropTemplate\">\n <tr *ngFor=\"let data of hdTable.data;index as i\">\n <td *ngIf=\"showSelected\" nzWidth=\"40px\" nzLeft=\"0px\" nzShowCheckbox\n [(nzChecked)]=\"mapOfCheckedId[data[selectField]]\" (nzCheckedChange)=\"refreshStatus($event, data)\"></td>\n <ng-container\n *ngTemplateOutlet=\"detailLineBody;context:{$implicit: data, index: getRowIndex(i)}\"></ng-container>\n </tr>\n <tr *ngIf=\"showTotal\" class=\"hd-table-total\">\n <td *ngIf=\"showSelected\"></td>\n <td>\u5408\u8BA1</td>\n <ng-container *ngFor=\"let totalOption of totalOptionList\">\n <td *ngIf=\"!totalOption.isHide\" [nzAlign]=\"totalOption.align ? totalOption.align : 'left'\">{{\n (totalOption.value || totalOption.value ===\n 0) ? (((totalOption.value % 1 === 0) && !totalOption.showDecimal ) ? totalOption.value :\n LodashRound(totalOption.value,2).toFixed(2)) : '' }} </td>\n </ng-container>\n </tr>\n </tbody>\n <ng-template #allowDropTemplate>\n <tbody cdkDropList (cdkDropListDropped)=\"drop($event)\">\n <tr *ngFor=\"let data of hdTable.data;index as i\" cdkDrag>\n <td *ngIf=\"showSelected\" nzWidth=\"40px\" nzLeft=\"0px\" nzShowCheckbox\n [(nzChecked)]=\"mapOfCheckedId[data[selectField]]\" (nzCheckedChange)=\"refreshStatus($event, data)\"></td>\n <ng-container\n *ngTemplateOutlet=\"detailLineBody;context:{$implicit: data, index: getRowIndex(i)}\"></ng-container>\n </tr>\n <tr *ngIf=\"showTotal\" class=\"hd-table-total\">\n <td *ngIf=\"showSelected\"></td>\n <td>\u5408\u8BA1</td>\n <ng-container *ngFor=\"let totalOption of totalOptionList\">\n <td *ngIf=\"!totalOption.isHide\" [nzAlign]=\"totalOption.align ? totalOption.align : 'left'\">{{\n (totalOption.value || totalOption.value\n === 0) ? (((totalOption.value % 1 === 0) && !totalOption.showDecimal ) ? totalOption.value :\n LodashRound(totalOption.value,2).toFixed(2)) : '' }} </td>\n </ng-container>\n </tr>\n </tbody>\n </ng-template>\n <ng-template #tableTotalTemplate>\n \u5171 {{totalCount}} \u6761\u6570\u636E\n </ng-template>\n </nz-table>\n</ng-container>\n",
1675
+ styles: ["::ng-deep .common-btn-group>a{font-size:14px;font-weight:400;color:#20b95d!important;white-space:nowrap}::ng-deep .common-btn-group .common-danger-btn:hover{color:#f05b24!important}::ng-deep .common-btn-group>a:hover{color:#20bd62!important}::ng-deep .common-btn-group>a:not(:last-child)::after{content:'';margin:0 2px}::ng-deep .common-billNumber>a{color:#3b77e3}button{box-shadow:unset;text-shadow:unset}::ng-deep .ant-form-item-label>label{color:#4b504e;font-size:14px}::ng-deep .ant-input-number-input{height:32px}::ng-deep .ant-input-number{height:32px}textarea.ant-input{height:auto;min-height:32px}::ng-deep .ant-select-selection--multiple{min-height:32px}::ng-deep .ant-select-selection__rendered>ul>li{height:26px!important;margin-top:3px!important;line-height:26px!important}::ng-deep .ant-advanced-search-form .ant-form-item{margin-bottom:0!important}::ng-deep .ant-select-selection--single{height:32px!important}::ng-deep .ant-input{height:32px}::ng-deep .ant-input[disabled]:hover{border-color:#d9d9d9!important}::ng-deep .ant-select-selection__rendered{line-height:32px!important}::ng-deep .ant-calendar-range-picker-input{text-align:left!important}::ng-deep .ant-calendar-picker{width:100%!important}::ng-deep .ant-row{margin-right:0!important;margin-left:0!important}::ng-deep .ant-col-6{padding-left:12px;padding-right:12px}::ng-deep .ant-col-12{padding-left:12px;padding-right:12px}::ng-deep .ant-col-18{padding-left:12px;padding-right:12px}::ng-deep .ant-col-24{padding-left:12px;padding-right:12px}::ng-deep .ant-alert-info{background-color:#f5f8f6;border:1px solid #cfe3d4}:host ::ng-deep th{background:#f5f8f6!important;font-weight:700!important;white-space:nowrap;font-size:14px;font-family:PingFangSC-Medium,PingFang SC;color:#2a3634;padding:8px!important;box-sizing:border-box}:host ::ng-deep td{font-weight:400;font-style:normal;font-size:14px;color:#2a3634;text-align:left;white-space:nowrap;padding:8px!important;box-sizing:border-box}::ng-deep .ant-pagination-options{display:inline-flex;align-items:center}::ng-deep .ant-time-picker{width:100%}.ant-input-number-disabled,.ant-input[disabled],.ant-select-disabled{color:#4b504e}.hd-table-container ::ng-deep .ant-pagination-options-quick-jumper input{border-radius:2px;border:1px solid #d9d9d9}.hd-table-container ::ng-deep .ant-pagination-options .ant-select-selection{border-radius:2px}.hd-table-container ::ng-deep .ant-table-thead>tr>th{border-bottom:1px solid #ecf1ed}.hd-table-container ::ng-deep .ant-table-tbody>tr>td{border-bottom:1px solid #ecf1ed}.hd-table-container ::ng-deep .hd-table-total>td{border:0!important}"]
1676
+ }] }
1677
+ ];
1678
+ /** @nocollapse */
1679
+ HdDetailLinesPageComponent.ctorParameters = function () { return []; };
1680
+ HdDetailLinesPageComponent.propDecorators = {
1681
+ lines: [{ type: core.Input }],
1682
+ tableData: [{ type: core.Input }],
1683
+ showSelected: [{ type: core.Input }],
1684
+ allowDrop: [{ type: core.Input }],
1685
+ scroll: [{ type: core.Input }],
1686
+ selectField: [{ type: core.Input }],
1687
+ selectedField: [{ type: core.Input }],
1688
+ isCrossPageSelect: [{ type: core.Input }],
1689
+ selectEvent: [{ type: core.Output }],
1690
+ detailLineHead: [{ type: core.ContentChild, args: ["detailLineHead", { static: false },] }],
1691
+ detailLineBody: [{ type: core.ContentChild, args: ["detailLineBody", { static: false },] }],
1692
+ showTotal: [{ type: core.Input }],
1693
+ totalOption: [{ type: core.Input }],
1694
+ columnsNumber: [{ type: core.Input }],
1695
+ tableLoading: [{ type: core.Input }],
1696
+ tablePageIndex: [{ type: core.Input }],
1697
+ tablePageSize: [{ type: core.Input }],
1698
+ tablePageIndexChange: [{ type: core.Output }],
1699
+ tablePageSizeChange: [{ type: core.Output }],
1700
+ pageChange: [{ type: core.Output }]
1701
+ };
1702
+ __decorate([
1703
+ core$1.InputBoolean(),
1704
+ __metadata("design:type", Boolean)
1705
+ ], HdDetailLinesPageComponent.prototype, "showSelected", void 0);
1706
+ __decorate([
1707
+ core$1.InputBoolean(),
1708
+ __metadata("design:type", Boolean)
1709
+ ], HdDetailLinesPageComponent.prototype, "allowDrop", void 0);
1710
+ __decorate([
1711
+ core$1.InputBoolean(),
1712
+ __metadata("design:type", Boolean)
1713
+ ], HdDetailLinesPageComponent.prototype, "showTotal", void 0);
1714
+ return HdDetailLinesPageComponent;
1715
+ }());
1716
+ if (false) {
1717
+ /** @type {?} */
1718
+ HdDetailLinesPageComponent.prototype.lines;
1719
+ /**
1720
+ * 与 hd-table 一致,可传 Page 对象;未传 lines 时使用 tableData.content
1721
+ * @type {?}
1722
+ */
1723
+ HdDetailLinesPageComponent.prototype.tableData;
1724
+ /** @type {?} */
1725
+ HdDetailLinesPageComponent.prototype.showSelected;
1726
+ /** @type {?} */
1727
+ HdDetailLinesPageComponent.prototype.allowDrop;
1728
+ /** @type {?} */
1729
+ HdDetailLinesPageComponent.prototype.scroll;
1730
+ /** @type {?} */
1731
+ HdDetailLinesPageComponent.prototype.selectField;
1732
+ /** @type {?} */
1733
+ HdDetailLinesPageComponent.prototype.selectedField;
1734
+ /** @type {?} */
1735
+ HdDetailLinesPageComponent.prototype.isCrossPageSelect;
1736
+ /** @type {?} */
1737
+ HdDetailLinesPageComponent.prototype.selectEvent;
1738
+ /** @type {?} */
1739
+ HdDetailLinesPageComponent.prototype.detailLineHead;
1740
+ /** @type {?} */
1741
+ HdDetailLinesPageComponent.prototype.detailLineBody;
1742
+ /** @type {?} */
1743
+ HdDetailLinesPageComponent.prototype.showTotal;
1744
+ /** @type {?} */
1745
+ HdDetailLinesPageComponent.prototype.totalOption;
1746
+ /** @type {?} */
1747
+ HdDetailLinesPageComponent.prototype.columnsNumber;
1748
+ /** @type {?} */
1749
+ HdDetailLinesPageComponent.prototype.tableLoading;
1750
+ /** @type {?} */
1751
+ HdDetailLinesPageComponent.prototype.tablePageIndex;
1752
+ /** @type {?} */
1753
+ HdDetailLinesPageComponent.prototype.tablePageSize;
1754
+ /** @type {?} */
1755
+ HdDetailLinesPageComponent.prototype.tablePageIndexChange;
1756
+ /** @type {?} */
1757
+ HdDetailLinesPageComponent.prototype.tablePageSizeChange;
1758
+ /** @type {?} */
1759
+ HdDetailLinesPageComponent.prototype.pageChange;
1760
+ /** @type {?} */
1761
+ HdDetailLinesPageComponent.prototype.totalOptionList;
1762
+ /** @type {?} */
1763
+ HdDetailLinesPageComponent.prototype.isAllDisplayDataChecked;
1764
+ /** @type {?} */
1765
+ HdDetailLinesPageComponent.prototype.isIndeterminate;
1766
+ /** @type {?} */
1767
+ HdDetailLinesPageComponent.prototype.listOfDisplayData;
1768
+ /** @type {?} */
1769
+ HdDetailLinesPageComponent.prototype.mapOfCheckedId;
1770
+ /** @type {?} */
1771
+ HdDetailLinesPageComponent.prototype.mapOfCheckList;
1772
+ /** @type {?} */
1773
+ HdDetailLinesPageComponent.prototype.isCrossPageSelectLocal;
1774
+ }
1775
+
1776
+ /**
1777
+ * @fileoverview added by tsickle
1778
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
1779
+ */
1780
+ var HdDetailLinesPageModule = /** @class */ (function () {
1781
+ function HdDetailLinesPageModule() {
1782
+ }
1783
+ HdDetailLinesPageModule.decorators = [
1784
+ { type: core.NgModule, args: [{
1785
+ imports: [common.CommonModule, table.NzTableModule, dragDrop.DragDropModule],
1786
+ declarations: [HdDetailLinesPageComponent],
1787
+ exports: [HdDetailLinesPageComponent],
1788
+ schemas: [core.NO_ERRORS_SCHEMA],
1789
+ },] }
1790
+ ];
1791
+ return HdDetailLinesPageModule;
1792
+ }());
1793
+
1018
1794
  /**
1019
1795
  * @fileoverview added by tsickle
1020
1796
  * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
@@ -1024,15 +1800,16 @@
1024
1800
  // 黄色
1025
1801
  '#FAB13B': ['partshipped', 'committed', 'partValid', 'confirm', 'picking'],
1026
1802
  // 灰色
1027
- '#9FA4A2': ['initial', 'uncommitted', 'OFF_LINE', 'UN_PRINTED', 'unpublish', 'pastpublish'],
1803
+ '#9FA4A2': ['initial', 'uncommitted', 'OFF_LINE', 'UN_PRINTED', 'unpublish', 'pastpublish', 'TO_COMMIT', 'unpublished', '未审核', 'returned'],
1028
1804
  // 红色
1029
- '#F5222D': ['delete', 'deleted', 'aborted', 'rejected', '停用', '禁用', 'unpicked'],
1805
+ '#F5222D': ['delete', 'deleted', 'aborted', 'rejected', '停用', '禁用', 'unpicked', 'DELETED', 'AUDIT_REJECT', 'rejected', 'invalid', 'disabled', ''],
1030
1806
  // 蓝色
1031
- '#3B77E3': ['audited', 'adjusted', 'invoiced', 'audit', 'submitted'],
1807
+ '#3B77E3': ['audited', 'adjusted', 'invoiced', 'audit', 'submitted', 'TO_AUDIT', '已审核', '处理中', 'processing', 'firstReviewed', 'awaiting_effective'],
1032
1808
  // 绿色
1033
- '#12A34F': ['shipped', 'received', 'checked', 'using', 'reverse', 'valid', 'approved', 'ON_LINE', 'finished', 'opened', 'PRINTED', '启用', 'picked', 'published'],
1809
+ '#20B95D': ['shipped', 'received', 'checked', 'using', 'reverse', 'valid', 'approved', 'ON_LINE', 'finished', 'opened', 'PRINTED', '启用', 'picked', 'published', 'AUDITED', '已收票', '付款完成', '收款完成', '已收款', 'accepted',
1810
+ 'offered', 'confirmed', 'effective', '已发布'],
1034
1811
  // 橙色
1035
- '#F05B24': ['partialReceived', 'partDelete', 'tender', 'MODIFIED_AFTER_PRINTED']
1812
+ '#F05B24': ['partialReceived', 'partDelete', 'tender', 'MODIFIED_AFTER_PRINTED', '部分付款', '部分收款', 'partPublished']
1036
1813
  };
1037
1814
  var HdStatusService = /** @class */ (function () {
1038
1815
  function HdStatusService() {
@@ -1054,7 +1831,7 @@
1054
1831
  */
1055
1832
  var HdDetailTipComponent = /** @class */ (function () {
1056
1833
  function HdDetailTipComponent() {
1057
- this.tip = '详情';
1834
+ this.tip = "详情";
1058
1835
  }
1059
1836
  /**
1060
1837
  * @return {?}
@@ -1081,18 +1858,28 @@
1081
1858
  * @return {?}
1082
1859
  */
1083
1860
  function () {
1861
+ /** @type {?} */
1862
+ var findKey = '';
1084
1863
  for (var key in statusToColor) {
1085
- if (statusToColor[key].indexOf(this.state) !== -1) {
1086
- this.statusColor = key;
1087
- break;
1864
+ if (this.state &&
1865
+ (statusToColor[key].indexOf(this.state) !== -1 ||
1866
+ statusToColor[key].indexOf(this.state.toUpperCase()) !== -1 ||
1867
+ statusToColor[key].indexOf(this.state.toLowerCase()) !== -1)) {
1868
+ findKey = key;
1088
1869
  }
1089
1870
  }
1871
+ if (findKey) {
1872
+ this.statusColor = findKey;
1873
+ }
1874
+ else {
1875
+ this.statusColor = '#9FA4A2';
1876
+ }
1090
1877
  };
1091
1878
  HdDetailTipComponent.decorators = [
1092
1879
  { type: core.Component, args: [{
1093
- selector: 'hd-detail-tip',
1880
+ selector: "hd-detail-tip",
1094
1881
  template: "<nz-content class=\"hd-detail-tip-container\">\n <div *ngIf=\"stateText\" class=\"hd-detail-tip-state\" [ngStyle]=\"{'background': statusColor || '#9FA4A2'}\">{{stateText}}\n </div>\n <div class=\"hd-detail-tip-billNumber\">{{billNumber}}</div>\n <div *ngIf=\"tip\" class=\"hd-detail-tip-name\">&nbsp;&nbsp;/&nbsp;&nbsp;{{tip}}</div>\n</nz-content>",
1095
- styles: ["::ng-deep .common-btn-group>a{font-size:12px;font-weight:400;color:#12a34f!important;white-space:nowrap}::ng-deep .common-btn-group .common-danger-btn:hover{color:#f05b24!important}::ng-deep .common-btn-group>a:hover{color:#20bd62!important}::ng-deep .common-btn-group>a:not(:last-child)::after{content:'';margin:0 2px}::ng-deep .common-billNumber>a{color:#3b77e3}button{box-shadow:unset;text-shadow:unset}::ng-deep .ant-form-item-label>label{color:#4b504e}::ng-deep .ant-input-number-input{height:28px}::ng-deep .ant-input-number{height:28px}textarea.ant-input{height:auto;min-height:28px}::ng-deep .ant-select-selection--multiple{min-height:28px}::ng-deep .ant-select-selection__rendered>ul>li{height:22px!important;margin-top:3px!important;line-height:22px!important}::ng-deep .ant-advanced-search-form .ant-form-item{margin-bottom:0!important}::ng-deep .ant-select-selection--single{height:28px!important}::ng-deep .ant-input{height:28px}::ng-deep .ant-input[disabled]:hover{border-color:#d9d9d9!important}::ng-deep .ant-select-selection__rendered{line-height:28px!important}::ng-deep .ant-calendar-range-picker-input{text-align:left!important}::ng-deep .ant-calendar-picker{width:100%!important}::ng-deep .ant-row{margin-right:0!important;margin-left:0!important}::ng-deep .ant-col-6{padding-left:12px;padding-right:12px}::ng-deep .ant-col-12{padding-left:12px;padding-right:12px}::ng-deep .ant-col-18{padding-left:12px;padding-right:12px}::ng-deep .ant-col-24{padding-left:12px;padding-right:12px}::ng-deep .ant-alert-info{background-color:#f5f8f6;border:1px solid #cfe3d4}:host ::ng-deep th{background:#f5f8f6!important;font-weight:700!important;white-space:nowrap;font-size:12px;font-family:PingFangSC-Medium,PingFang SC;color:#2a3634;padding:8px!important;box-sizing:border-box}:host ::ng-deep td{font-weight:400;font-style:normal;font-size:12px;color:#2a3634;text-align:left;white-space:nowrap;padding:8px!important;box-sizing:border-box}::ng-deep .ant-pagination-options{display:inline-flex;align-items:center}::ng-deep .ant-time-picker{width:100%}.ant-input-number-disabled,.ant-input[disabled],.ant-select-disabled{color:#4b504e}.hd-detail-tip-container{display:flex;align-items:center}.hd-detail-tip-container .hd-detail-tip-state{padding:2px 6px;border-radius:2px;font-size:12px;font-weight:500;color:#fff;margin-right:8px}.hd-detail-tip-container .hd-detail-tip-billNumber{font-size:16px;font-weight:500;color:#2a3634}.hd-detail-tip-container .hd-detail-tip-name{font-size:14px;font-weight:500;color:#5d7267}"]
1882
+ styles: ["::ng-deep .common-btn-group>a{font-size:14px;font-weight:400;color:#20b95d!important;white-space:nowrap}::ng-deep .common-btn-group .common-danger-btn:hover{color:#f05b24!important}::ng-deep .common-btn-group>a:hover{color:#20bd62!important}::ng-deep .common-btn-group>a:not(:last-child)::after{content:'';margin:0 2px}::ng-deep .common-billNumber>a{color:#3b77e3}button{box-shadow:unset;text-shadow:unset}::ng-deep .ant-form-item-label>label{color:#4b504e;font-size:14px}::ng-deep .ant-input-number-input{height:32px}::ng-deep .ant-input-number{height:32px}textarea.ant-input{height:auto;min-height:32px}::ng-deep .ant-select-selection--multiple{min-height:32px}::ng-deep .ant-select-selection__rendered>ul>li{height:26px!important;margin-top:3px!important;line-height:26px!important}::ng-deep .ant-advanced-search-form .ant-form-item{margin-bottom:0!important}::ng-deep .ant-select-selection--single{height:32px!important}::ng-deep .ant-input{height:32px}::ng-deep .ant-input[disabled]:hover{border-color:#d9d9d9!important}::ng-deep .ant-select-selection__rendered{line-height:32px!important}::ng-deep .ant-calendar-range-picker-input{text-align:left!important}::ng-deep .ant-calendar-picker{width:100%!important}::ng-deep .ant-row{margin-right:0!important;margin-left:0!important}::ng-deep .ant-col-6{padding-left:12px;padding-right:12px}::ng-deep .ant-col-12{padding-left:12px;padding-right:12px}::ng-deep .ant-col-18{padding-left:12px;padding-right:12px}::ng-deep .ant-col-24{padding-left:12px;padding-right:12px}::ng-deep .ant-alert-info{background-color:#f5f8f6;border:1px solid #cfe3d4}:host ::ng-deep th{background:#f5f8f6!important;font-weight:700!important;white-space:nowrap;font-size:14px;font-family:PingFangSC-Medium,PingFang SC;color:#2a3634;padding:8px!important;box-sizing:border-box}:host ::ng-deep td{font-weight:400;font-style:normal;font-size:14px;color:#2a3634;text-align:left;white-space:nowrap;padding:8px!important;box-sizing:border-box}::ng-deep .ant-pagination-options{display:inline-flex;align-items:center}::ng-deep .ant-time-picker{width:100%}.ant-input-number-disabled,.ant-input[disabled],.ant-select-disabled{color:#4b504e}.hd-detail-tip-container{display:flex;align-items:center}.hd-detail-tip-container .hd-detail-tip-state{padding:2px 6px;border-radius:2px;font-size:14px;font-weight:500;color:#fff;margin-right:8px}.hd-detail-tip-container .hd-detail-tip-billNumber{font-size:16px;font-weight:500;color:#2a3634}.hd-detail-tip-container .hd-detail-tip-name{font-size:14px;font-weight:500;color:#5d7267}"]
1096
1883
  }] }
1097
1884
  ];
1098
1885
  /** @nocollapse */
@@ -1130,7 +1917,7 @@
1130
1917
  imports: [
1131
1918
  common.CommonModule,
1132
1919
  forms.FormsModule,
1133
- layout.NzLayoutModule
1920
+ ngZorroAntd.NgZorroAntdModule
1134
1921
  ],
1135
1922
  declarations: [HdDetailTipComponent],
1136
1923
  exports: [HdDetailTipComponent]
@@ -1145,12 +1932,23 @@
1145
1932
  */
1146
1933
  var HdFilterComponent = /** @class */ (function () {
1147
1934
  function HdFilterComponent(fb) {
1935
+ var _this = this;
1148
1936
  this.fb = fb;
1149
1937
  this.searchEvent = new core.EventEmitter();
1150
1938
  this.resetEvent = new core.EventEmitter();
1151
1939
  this.isShowMore = true;
1152
1940
  // 对filterList取模运算
1153
1941
  this.filterListModular = 0;
1942
+ this.searchSubject = new rxjs.Subject();
1943
+ this.debounceTimeout = 0; // 默认防抖时间
1944
+ this.searchSubscription = this.searchSubject.pipe(operators.debounceTime(this.debounceTimeout)).subscribe((/**
1945
+ * @param {?} __0
1946
+ * @return {?}
1947
+ */
1948
+ function (_a) {
1949
+ var fn = _a.fn, event = _a.event, selectOption = _a.selectOption;
1950
+ return _this.triggerEvent(fn, event, selectOption);
1951
+ }));
1154
1952
  }
1155
1953
  /**
1156
1954
  * @return {?}
@@ -1206,14 +2004,64 @@
1206
2004
  */
1207
2005
  function (item) {
1208
2006
  if (item.onChangeEvent) {
1209
- _this.validateFilterForm.get(item.name).valueChanges.subscribe((/**
1210
- * @param {?} value
1211
- * @return {?}
1212
- */
1213
- function (value) { return _this.triggerEvent(item.onChangeEvent, value); }));
2007
+ if (item.onChangeEventDebounceTime) {
2008
+ _this.validateFilterForm.get(item.name).valueChanges
2009
+ .pipe(operators.debounceTime(item.onChangeEventDebounceTime))
2010
+ .subscribe((/**
2011
+ * @param {?} value
2012
+ * @return {?}
2013
+ */
2014
+ function (value) { return _this.triggerEvent(item.onChangeEvent, value); }));
2015
+ }
2016
+ else {
2017
+ _this.validateFilterForm.get(item.name).valueChanges.subscribe((/**
2018
+ * @param {?} value
2019
+ * @return {?}
2020
+ */
2021
+ function (value) { return _this.triggerEvent(item.onChangeEvent, value); }));
2022
+ }
1214
2023
  }
1215
2024
  }));
1216
2025
  };
2026
+ /**
2027
+ * @param {?} fn
2028
+ * @param {?} event
2029
+ * @param {?} onSearchEventDebounceTime
2030
+ * @param {?=} selectOption
2031
+ * @return {?}
2032
+ */
2033
+ HdFilterComponent.prototype.onSearchEvent = /**
2034
+ * @param {?} fn
2035
+ * @param {?} event
2036
+ * @param {?} onSearchEventDebounceTime
2037
+ * @param {?=} selectOption
2038
+ * @return {?}
2039
+ */
2040
+ function (fn, event, onSearchEventDebounceTime, selectOption) {
2041
+ var _this = this;
2042
+ if (onSearchEventDebounceTime) {
2043
+ // 更新防抖时间
2044
+ this.debounceTimeout = onSearchEventDebounceTime;
2045
+ // 取消之前的订阅
2046
+ if (this.searchSubscription) {
2047
+ this.searchSubscription.unsubscribe();
2048
+ }
2049
+ // 创建新的订阅
2050
+ this.searchSubscription = this.searchSubject.pipe(operators.debounceTime(this.debounceTimeout)).subscribe((/**
2051
+ * @param {?} __0
2052
+ * @return {?}
2053
+ */
2054
+ function (_a) {
2055
+ var fn = _a.fn, event = _a.event, selectOption = _a.selectOption;
2056
+ return _this.triggerEvent(fn, event, selectOption);
2057
+ }));
2058
+ // 发送事件
2059
+ this.searchSubject.next({ fn: fn, event: event, selectOption: selectOption });
2060
+ }
2061
+ else {
2062
+ this.triggerEvent(fn, event, selectOption);
2063
+ }
2064
+ };
1217
2065
  /**
1218
2066
  * @param {?} fn
1219
2067
  * @param {?} event
@@ -1323,20 +2171,17 @@
1323
2171
  * @return {?}
1324
2172
  */
1325
2173
  function () {
1326
- var _this = this;
1327
2174
  /** @type {?} */
1328
- var formGroupList = {};
2175
+ var resetValue = {};
1329
2176
  this.filterList.forEach((/**
1330
2177
  * @param {?} item
1331
- * @param {?} index
1332
2178
  * @return {?}
1333
2179
  */
1334
- function (item, index) {
1335
- formGroupList[item.name] = _this.fb.control(item.value, []);
1336
- // 初始化控件显影
1337
- item.show = index < 7;
2180
+ function (item) {
2181
+ resetValue[item.name] = item.value;
1338
2182
  }));
1339
- this.validateFilterForm = this.fb.group(formGroupList);
2183
+ // 重置表单值(会触发valueChanges事件)
2184
+ this.validateFilterForm.patchValue(resetValue);
1340
2185
  };
1341
2186
  /**
1342
2187
  * @return {?}
@@ -1382,8 +2227,8 @@
1382
2227
  HdFilterComponent.decorators = [
1383
2228
  { type: core.Component, args: [{
1384
2229
  selector: 'hd-filter',
1385
- template: "<form nz-form [formGroup]=\"validateFilterForm\" class=\"ant-advanced-search-form hd-filter-container\">\n <!-- \u6574\u4F53\u7ED3\u6784 -->\n <div nz-row [nzGutter]=\"24\">\n <!-- \u5BF9\u7EC4\u4EF6\u5217\u8868\u5FAA\u73AF\u5904\u7406 -->\n <ng-container *ngFor=\"let filter of filterList\">\n <div nz-col [nzSpan]=\"6\" [hidden]=\"!filter.show\">\n <nz-form-item nzFlex>\n <nz-form-label class=\"hd-filter-label\"><span class=\"hd-red\" *ngIf=\"filter.require\">*</span>{{ filter.label }}\n </nz-form-label>\n <nz-form-control class=\"hd-filter-control\">\n <ng-container [ngSwitch]=\"filter.type\">\n <!-- \u8FD9\u91CC\u6570\u5B57\u5BF9\u5E94\u679A\u4E3E\u7C7B\u578B\uFF0C\u53EF\u5728hd-filter.service.ts\u6587\u4EF6\u4E2D\u67E5\u770B\u5BF9\u5E94\u5173\u7CFB -->\n <ng-container *ngSwitchCase=\"0\">\n <nz-input-group [nzSuffix]=\"inputCleanTemplate\">\n <input nz-input [placeholder]=\"filter.placeholder ? filter.placeholder : '\u8BF7\u8F93\u5165' + filter.label\"\n [formControlName]=\"filter.name\"\n (blur)=\"triggerEvent(filter.onBlurEvent || null, validateFilterForm.get(filter.name).value)\"/>\n </nz-input-group>\n <ng-template #inputCleanTemplate><i nz-icon nz-tooltip class=\"ant-input-clear-icon\" nzTheme=\"fill\"\n nzType=\"close-circle\" *ngIf=\"validateFilterForm.get(filter.name).value\"\n (click)=\"inputClean(filter)\"></i></ng-template>\n </ng-container>\n <ng-container *ngSwitchCase=\"1\">\n <nz-select\n [nzShowSearch]=\"filter.selectOption.hdShowSearch != null ? filter.selectOption.hdShowSearch : true\"\n [nzAllowClear]=\"filter.selectOption.hdAllowClear != null ? filter.selectOption.hdAllowClear : true\"\n [nzServerSearch]=\"filter.selectOption.hdServerSearch || false\"\n [nzDropdownMatchSelectWidth]=\"filter.selectOption.hdDropdownMatchSelectWidth ? filter.selectOption.hdDropdownMatchSelectWidth : false\"\n (nzOnSearch)=\"triggerEvent(filter.onSearchEvent || null, $event, filter.selectOption)\"\n [nzPlaceHolder]=\"filter.placeholder ? filter.placeholder : '\u8BF7\u9009\u62E9' + filter.label\"\n [formControlName]=\"filter.name\">\n <nz-option *ngFor=\"let selectItem of filter.selectOption.selectList\"\n [nzValue]=\"selectItem[filter.selectOption.value]\" [nzLabel]=\"filter.selectOption.showLabelAndValue ? '['+ selectItem[filter.selectOption.value] +']' +\n selectItem[filter.selectOption.label] : selectItem[filter.selectOption.label]\"></nz-option>\n </nz-select>\n </ng-container>\n <ng-container *ngSwitchCase=\"2\">\n <nz-date-picker *ngIf=\"filter.showTime\"\n [nzPlaceHolder]=\"filter.placeholder ? filter.placeholder : '\u8BF7\u9009\u62E9' + filter.label\"\n [formControlName]=\"filter.name\" [nzDisabledDate]=\"filter.hdDisabledDate\"\n nzShowTime nzFormat=\"yyyy-MM-dd HH:mm:ss\">\n </nz-date-picker>\n <nz-date-picker *ngIf=\"!filter.showTime\"\n [nzPlaceHolder]=\"filter.placeholder ? filter.placeholder : '\u8BF7\u9009\u62E9' + filter.label\"\n [formControlName]=\"filter.name\" [nzDisabledDate]=\"filter.hdDisabledDate\">\n </nz-date-picker>\n </ng-container>\n <ng-container *ngSwitchCase=\"3\">\n <nz-range-picker [nzPlaceHolder]=\"['\u5F00\u59CB\u65E5\u671F','\u7ED3\u675F\u65E5\u671F']\" [formControlName]=\"filter.name\">\n </nz-range-picker>\n </ng-container>\n <!-- \u591A\u9879\u9009\u62E9\u5668 -->\n <ng-container *ngSwitchCase=\"4\">\n <nz-select\n [nzDropdownMatchSelectWidth]=\"filter.selectOption.hdDropdownMatchSelectWidth ? filter.selectOption.hdDropdownMatchSelectWidth : false\"\n nzMode=\"multiple\"\n [nzShowSearch]=\"filter.selectOption.hdShowSearch != null ? filter.selectOption.hdShowSearch : true\"\n [nzAllowClear]=\"filter.selectOption.hdAllowClear != null ? filter.selectOption.hdAllowClear : true\"\n [nzPlaceHolder]=\"filter.placeholder ? filter.placeholder : '\u8BF7\u9009\u62E9' + filter.label\"\n [formControlName]=\"filter.name\" [nzServerSearch]=\"filter.selectOption.hdServerSearch || false\"\n (nzOnSearch)=\"triggerEvent(filter.onSearchEvent || null, $event)\">\n <nz-option *ngFor=\"let selectItem of filter.selectOption.selectList\"\n [nzValue]=\"selectItem[filter.selectOption.value]\" [nzLabel]=\"filter.selectOption.showLabelAndValue ? '['+ selectItem[filter.selectOption.value] +']' +\n selectItem[filter.selectOption.label] : selectItem[filter.selectOption.label]\"></nz-option>\n </nz-select>\n </ng-container>\n <ng-container *ngSwitchCase=\"5\">\n <nz-cascader [nzOptions]=\"filter.cascaderOption.options\" [formControlName]=\"filter.name\"\n [nzPlaceHolder]=\"filter.placeholder ? filter.placeholder : '\u8BF7\u9009\u62E9' + filter.label\">\n </nz-cascader>\n </ng-container>\n <ng-container *ngSwitchCase=\"6\">\n <nz-month-picker [formControlName]=\"filter.name\"\n [nzPlaceHolder]=\"filter.placeholder ? filter.placeholder : '\u8BF7\u9009\u62E9' + filter.label\"></nz-month-picker>\n </ng-container>\n <ng-container *ngSwitchCase=\"7\">\n <nz-input-number [formControlName]=\"filter.name\" [nzMin]=\"filter?.inputNumber?.min || 0\"\n [nzMax]=\"filter?.inputNumber?.max || 99999999\" [nzStep]=\"filter?.inputNumber?.step || 1\"\n [nzPlaceHolder]=\"'\u8BF7\u8F93\u5165' + filter.label\"\n [nzPrecision]=\"filter?.inputNumber?.precision != null ? filter.inputNumber.precision : 4\"\n (nzBlur)=\"triggerEvent(filter.onBlurEvent || null, validateFilterForm.get(filter.name).value)\">\n </nz-input-number>\n </ng-container>\n </ng-container>\n </nz-form-control>\n </nz-form-item>\n </div>\n </ng-container>\n\n <div class=\"hd-filter-btn\" nz-col [nzSpan]=\"6\" [nzOffset]=\"computeOffset()\">\n <a *ngIf=\"filterList.length > 7\" class=\"hd-filter-more\" (click)=\"showMore()\">\n {{ isShowMore ? '\u5C55\u5F00' : '\u6536\u8D77' }}\n <i nz-icon [nzType]=\"isShowMore ? 'down' : 'up'\"></i>\n </a>\n <hd-button type=\"primary\" (click)=\"submitForm()\">\u67E5\u8BE2</hd-button>\n <hd-button type=\"reset\" (click)=\"resetForm()\">\u91CD\u7F6E</hd-button>\n </div>\n </div>\n</form>\n",
1386
- styles: ["::ng-deep .common-btn-group>a{font-size:12px;font-weight:400;color:#12a34f!important;white-space:nowrap}::ng-deep .common-btn-group .common-danger-btn:hover{color:#f05b24!important}::ng-deep .common-btn-group>a:hover{color:#20bd62!important}::ng-deep .common-btn-group>a:not(:last-child)::after{content:'';margin:0 2px}::ng-deep .common-billNumber>a{color:#3b77e3}button{box-shadow:unset;text-shadow:unset}::ng-deep .ant-form-item-label>label{color:#4b504e}::ng-deep .ant-input-number-input{height:28px}::ng-deep .ant-input-number{height:28px}textarea.ant-input{height:auto;min-height:28px}::ng-deep .ant-select-selection--multiple{min-height:28px}::ng-deep .ant-select-selection__rendered>ul>li{height:22px!important;margin-top:3px!important;line-height:22px!important}::ng-deep .ant-advanced-search-form .ant-form-item{margin-bottom:0!important}::ng-deep .ant-select-selection--single{height:28px!important}::ng-deep .ant-input{height:28px}::ng-deep .ant-input[disabled]:hover{border-color:#d9d9d9!important}::ng-deep .ant-select-selection__rendered{line-height:28px!important}::ng-deep .ant-calendar-range-picker-input{text-align:left!important}::ng-deep .ant-calendar-picker{width:100%!important}::ng-deep .ant-row{margin-right:0!important;margin-left:0!important}::ng-deep .ant-col-6{padding-left:12px;padding-right:12px}::ng-deep .ant-col-12{padding-left:12px;padding-right:12px}::ng-deep .ant-col-18{padding-left:12px;padding-right:12px}::ng-deep .ant-col-24{padding-left:12px;padding-right:12px}::ng-deep .ant-alert-info{background-color:#f5f8f6;border:1px solid #cfe3d4}:host ::ng-deep th{background:#f5f8f6!important;font-weight:700!important;white-space:nowrap;font-size:12px;font-family:PingFangSC-Medium,PingFang SC;color:#2a3634;padding:8px!important;box-sizing:border-box}:host ::ng-deep td{font-weight:400;font-style:normal;font-size:12px;color:#2a3634;text-align:left;white-space:nowrap;padding:8px!important;box-sizing:border-box}::ng-deep .ant-pagination-options{display:inline-flex;align-items:center}::ng-deep .ant-time-picker{width:100%}.ant-input-number-disabled,.ant-input[disabled],.ant-select-disabled{color:#4b504e}.hd-filter-container{padding:20px 23px;background:#fff;box-shadow:0 0 12px 0 rgba(93,114,103,.08);border-radius:4px;margin-bottom:8px!important;font-size:12px}.hd-filter-container .ant-row{margin-right:0!important;margin-left:0!important}.hd-filter-container .ant-col-6{padding-left:0!important;padding-right:0!important}.hd-filter-container .hd-filter-label{width:108px;word-break:break-all}.hd-filter-container .hd-filter-control{width:calc(100% - 108px)}.hd-filter-container ::ng-deep .ant-calendar-picker{width:100%}.hd-filter-container .hd-filter-more{color:#12a34f}.hd-filter-container .hd-filter-btn{height:40px;display:inline-flex;align-items:center;justify-content:flex-end}.hd-filter-container hd-button{margin-left:12px}.hd-filter-container ::ng-deep .ant-advanced-search-form .ant-form-item{margin-bottom:0!important}.hd-filter-container ::ng-deep .ant-select-selection--single{height:28px!important}.hd-filter-container ::ng-deep .ant-input{height:28px!important}.hd-filter-container ::ng-deep .ant-calendar-range-picker-input{text-align:left!important}.hd-filter-container .ant-input-number{width:100%}.hd-filter-container .hd-red{color:red}"]
2230
+ template: "<form nz-form [formGroup]=\"validateFilterForm\" class=\"ant-advanced-search-form hd-filter-container\">\n <!-- \u6574\u4F53\u7ED3\u6784 -->\n <div nz-row [nzGutter]=\"24\">\n <!-- \u5BF9\u7EC4\u4EF6\u5217\u8868\u5FAA\u73AF\u5904\u7406 -->\n <ng-container *ngFor=\"let filter of filterList\">\n <div nz-col [nzSpan]=\"6\" [hidden]=\"!filter.show\">\n <nz-form-item nzFlex>\n <nz-form-label class=\"hd-filter-label\" [nzNoColon]=\"true\"><span class=\"hd-red\" *ngIf=\"filter.require\">*</span>{{ filter.label }}\n </nz-form-label>\n <nz-form-control class=\"hd-filter-control\">\n <ng-container [ngSwitch]=\"filter.type\">\n <!-- \u8FD9\u91CC\u6570\u5B57\u5BF9\u5E94\u679A\u4E3E\u7C7B\u578B\uFF0C\u53EF\u5728hd-filter.service.ts\u6587\u4EF6\u4E2D\u67E5\u770B\u5BF9\u5E94\u5173\u7CFB -->\n <ng-container *ngSwitchCase=\"0\">\n <nz-input-group [nzSuffix]=\"inputCleanTemplate\">\n <input nz-input [placeholder]=\"filter.placeholder ? filter.placeholder : '\u8BF7\u8F93\u5165' + filter.label\"\n [formControlName]=\"filter.name\"\n (blur)=\"triggerEvent(filter.onBlurEvent || null, validateFilterForm.get(filter.name).value)\"/>\n </nz-input-group>\n <ng-template #inputCleanTemplate><i nz-icon nz-tooltip class=\"ant-input-clear-icon\" nzTheme=\"fill\"\n nzType=\"close-circle\" *ngIf=\"validateFilterForm.get(filter.name).value\"\n (click)=\"inputClean(filter)\"></i></ng-template>\n </ng-container>\n <ng-container *ngSwitchCase=\"1\">\n <nz-select\n [nzShowSearch]=\"filter.selectOption.hdShowSearch != null ? filter.selectOption.hdShowSearch : true\"\n [nzAllowClear]=\"filter.selectOption.hdAllowClear != null ? filter.selectOption.hdAllowClear : true\"\n [nzServerSearch]=\"filter.selectOption.hdServerSearch || false\"\n [nzDropdownMatchSelectWidth]=\"filter.selectOption.hdDropdownMatchSelectWidth ? filter.selectOption.hdDropdownMatchSelectWidth : false\"\n (nzOnSearch)=\"onSearchEvent(filter.onSearchEvent || null, $event, filter.onSearchEventEventDebounceTime, filter.selectOption)\"\n [nzPlaceHolder]=\"filter.placeholder ? filter.placeholder : '\u8BF7\u9009\u62E9' + filter.label\"\n [formControlName]=\"filter.name\">\n <nz-option *ngFor=\"let selectItem of filter.selectOption.selectList\"\n [nzValue]=\"selectItem[filter.selectOption.value]\" [nzLabel]=\"filter.selectOption.showLabelAndValue ? '['+ selectItem[filter.selectOption.value] +']' +\n selectItem[filter.selectOption.label] : selectItem[filter.selectOption.label]\"></nz-option>\n </nz-select>\n </ng-container>\n <ng-container *ngSwitchCase=\"2\">\n <nz-date-picker *ngIf=\"filter.showTime\"\n [nzPlaceHolder]=\"filter.placeholder ? filter.placeholder : '\u8BF7\u9009\u62E9' + filter.label\"\n [formControlName]=\"filter.name\" [nzDisabledDate]=\"filter.hdDisabledDate\"\n nzShowTime nzFormat=\"yyyy-MM-dd HH:mm:ss\">\n </nz-date-picker>\n <nz-date-picker *ngIf=\"!filter.showTime\"\n [nzPlaceHolder]=\"filter.placeholder ? filter.placeholder : '\u8BF7\u9009\u62E9' + filter.label\"\n [formControlName]=\"filter.name\" [nzDisabledDate]=\"filter.hdDisabledDate\">\n </nz-date-picker>\n </ng-container>\n <ng-container *ngSwitchCase=\"3\">\n <nz-range-picker [nzPlaceHolder]=\"['\u5F00\u59CB\u65E5\u671F','\u7ED3\u675F\u65E5\u671F']\" [nzDisabledDate]=\"filter.hdDisabledDate\" [formControlName]=\"filter.name\">\n </nz-range-picker>\n </ng-container>\n <!-- \u591A\u9879\u9009\u62E9\u5668 -->\n <ng-container *ngSwitchCase=\"4\">\n <nz-select\n [nzDropdownMatchSelectWidth]=\"filter.selectOption.hdDropdownMatchSelectWidth ? filter.selectOption.hdDropdownMatchSelectWidth : false\"\n nzMode=\"multiple\"\n [nzShowSearch]=\"filter.selectOption.hdShowSearch != null ? filter.selectOption.hdShowSearch : true\"\n [nzAllowClear]=\"filter.selectOption.hdAllowClear != null ? filter.selectOption.hdAllowClear : true\"\n [nzPlaceHolder]=\"filter.placeholder ? filter.placeholder : '\u8BF7\u9009\u62E9' + filter.label\"\n [formControlName]=\"filter.name\" [nzServerSearch]=\"filter.selectOption.hdServerSearch || false\"\n (nzOnSearch)=\"onSearchEvent(filter.onSearchEvent || null, $event, filter.onSearchEventEventDebounceTime, filter.selectOption)\">\n <nz-option *ngFor=\"let selectItem of filter.selectOption.selectList\"\n [nzValue]=\"selectItem[filter.selectOption.value]\" [nzLabel]=\"filter.selectOption.showLabelAndValue ? '['+ selectItem[filter.selectOption.value] +']' +\n selectItem[filter.selectOption.label] : selectItem[filter.selectOption.label]\"></nz-option>\n </nz-select>\n </ng-container>\n <ng-container *ngSwitchCase=\"5\">\n <nz-cascader [nzOptions]=\"filter.cascaderOption.options\" [formControlName]=\"filter.name\"\n [nzPlaceHolder]=\"filter.placeholder ? filter.placeholder : '\u8BF7\u9009\u62E9' + filter.label\">\n </nz-cascader>\n </ng-container>\n <ng-container *ngSwitchCase=\"6\">\n <nz-month-picker [formControlName]=\"filter.name\"\n [nzPlaceHolder]=\"filter.placeholder ? filter.placeholder : '\u8BF7\u9009\u62E9' + filter.label\"></nz-month-picker>\n </ng-container>\n <ng-container *ngSwitchCase=\"7\">\n <nz-input-number [formControlName]=\"filter.name\" [nzMin]=\"filter?.inputNumber?.min || 0\"\n [nzMax]=\"filter?.inputNumber?.max || 99999999\" [nzStep]=\"filter?.inputNumber?.step || 1\"\n [nzPlaceHolder]=\"'\u8BF7\u8F93\u5165' + filter.label\"\n [nzPrecision]=\"filter?.inputNumber?.precision != null ? filter.inputNumber.precision : 4\"\n (nzBlur)=\"triggerEvent(filter.onBlurEvent || null, validateFilterForm.get(filter.name).value)\">\n </nz-input-number>\n </ng-container>\n </ng-container>\n </nz-form-control>\n </nz-form-item>\n </div>\n </ng-container>\n\n <div class=\"hd-filter-btn\" nz-col [nzSpan]=\"6\" [nzOffset]=\"computeOffset()\">\n <a *ngIf=\"filterList.length > 7\" class=\"hd-filter-more\" (click)=\"showMore()\">\n {{ isShowMore ? '\u5C55\u5F00' : '\u6536\u8D77' }}\n <i nz-icon [nzType]=\"isShowMore ? 'down' : 'up'\"></i>\n </a>\n <hd-button type=\"primary\" (click)=\"submitForm()\">\u67E5\u8BE2</hd-button>\n <hd-button type=\"reset\" (click)=\"resetForm()\">\u91CD\u7F6E</hd-button>\n </div>\n </div>\n</form>\n",
2231
+ styles: ["::ng-deep .common-btn-group>a{font-size:14px;font-weight:400;color:#20b95d!important;white-space:nowrap}::ng-deep .common-btn-group .common-danger-btn:hover{color:#f05b24!important}::ng-deep .common-btn-group>a:hover{color:#20bd62!important}::ng-deep .common-btn-group>a:not(:last-child)::after{content:'';margin:0 2px}::ng-deep .common-billNumber>a{color:#3b77e3}button{box-shadow:unset;text-shadow:unset}::ng-deep .ant-form-item-label>label{color:#4b504e;font-size:14px}::ng-deep .ant-input-number-input{height:32px}::ng-deep .ant-input-number{height:32px}textarea.ant-input{height:auto;min-height:32px}::ng-deep .ant-select-selection--multiple{min-height:32px}::ng-deep .ant-select-selection__rendered>ul>li{height:26px!important;margin-top:3px!important;line-height:26px!important}::ng-deep .ant-advanced-search-form .ant-form-item{margin-bottom:0!important}::ng-deep .ant-select-selection--single{height:32px!important}::ng-deep .ant-input{height:32px}::ng-deep .ant-input[disabled]:hover{border-color:#d9d9d9!important}::ng-deep .ant-select-selection__rendered{line-height:32px!important}::ng-deep .ant-calendar-range-picker-input{text-align:left!important}::ng-deep .ant-calendar-picker{width:100%!important}::ng-deep .ant-row{margin-right:0!important;margin-left:0!important}::ng-deep .ant-col-6{padding-left:12px;padding-right:12px}::ng-deep .ant-col-12{padding-left:12px;padding-right:12px}::ng-deep .ant-col-18{padding-left:12px;padding-right:12px}::ng-deep .ant-col-24{padding-left:12px;padding-right:12px}::ng-deep .ant-alert-info{background-color:#f5f8f6;border:1px solid #cfe3d4}:host ::ng-deep th{background:#f5f8f6!important;font-weight:700!important;white-space:nowrap;font-size:14px;font-family:PingFangSC-Medium,PingFang SC;color:#2a3634;padding:8px!important;box-sizing:border-box}:host ::ng-deep td{font-weight:400;font-style:normal;font-size:14px;color:#2a3634;text-align:left;white-space:nowrap;padding:8px!important;box-sizing:border-box}::ng-deep .ant-pagination-options{display:inline-flex;align-items:center}::ng-deep .ant-time-picker{width:100%}.ant-input-number-disabled,.ant-input[disabled],.ant-select-disabled{color:#4b504e}.hd-filter-container{padding:20px 23px;background:#fff;box-shadow:0 0 12px 0 rgba(93,114,103,.08);border-radius:4px;margin-bottom:8px!important;font-size:14px}.hd-filter-container .ant-row{display:flex;flex-wrap:wrap;align-items:flex-start;row-gap:4px;margin-right:0!important;margin-left:0!important}.hd-filter-container .ant-row::after,.hd-filter-container .ant-row::before{display:none}.hd-filter-container .ant-col-6{float:none;padding-left:0!important;padding-right:0!important}.hd-filter-container .hd-filter-label{width:124px;word-break:break-all;font-size:14px}.hd-filter-container .hd-filter-label ::ng-deep label{font-size:14px}.hd-filter-container .hd-filter-control{width:calc(100% - 124px)}.hd-filter-container ::ng-deep .ant-calendar-picker{width:100%}.hd-filter-container .hd-filter-more{color:#20b95d}.hd-filter-container .hd-filter-btn{height:40px;display:inline-flex;align-items:center;justify-content:flex-end}.hd-filter-container hd-button{margin-left:12px}.hd-filter-container ::ng-deep .ant-advanced-search-form .ant-form-item{margin-bottom:0!important}.hd-filter-container ::ng-deep .ant-select-selection--single{height:32px!important}.hd-filter-container ::ng-deep .ant-input{height:32px!important}.hd-filter-container ::ng-deep .ant-calendar-range-picker-input{text-align:left!important}.hd-filter-container .ant-input-number{width:100%}.hd-filter-container .hd-red{color:#f5222d}"]
1387
2232
  }] }
1388
2233
  ];
1389
2234
  /** @nocollapse */
@@ -1414,150 +2259,45 @@
1414
2259
  * @type {?}
1415
2260
  * @private
1416
2261
  */
1417
- HdFilterComponent.prototype.fb;
1418
- }
1419
-
1420
- /**
1421
- * @fileoverview added by tsickle
1422
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
1423
- */
1424
- var HdFilterModule = /** @class */ (function () {
1425
- function HdFilterModule() {
1426
- }
1427
- HdFilterModule.decorators = [
1428
- { type: core.NgModule, args: [{
1429
- imports: [
1430
- common.CommonModule,
1431
- forms.FormsModule,
1432
- forms.ReactiveFormsModule,
1433
- cascader.NzCascaderModule,
1434
- datePicker.NzDatePickerModule,
1435
- form.NzFormModule,
1436
- grid.NzGridModule,
1437
- icon.NzIconModule,
1438
- input.NzInputModule,
1439
- inputNumber.NzInputNumberModule,
1440
- select.NzSelectModule,
1441
- tooltip.NzToolTipModule,
1442
- HdButtonModule
1443
- ],
1444
- declarations: [HdFilterComponent],
1445
- exports: [HdFilterComponent]
1446
- },] }
1447
- ];
1448
- return HdFilterModule;
1449
- }());
1450
-
1451
- /**
1452
- * @fileoverview added by tsickle
1453
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
1454
- */
1455
- /** @enum {string} */
1456
- var SpaceType = {
1457
- row: 'row',
1458
- column: 'column',
1459
- };
1460
- var Style = /** @class */ (function () {
1461
- function Style() {
1462
- }
1463
- return Style;
1464
- }());
1465
- if (false) {
1466
- /** @type {?} */
1467
- Style.prototype.background;
1468
- /** @type {?} */
1469
- Style.prototype.width;
1470
- /** @type {?} */
1471
- Style.prototype.height;
1472
- }
1473
- var HdSpaceService = /** @class */ (function () {
1474
- function HdSpaceService() {
1475
- }
1476
- HdSpaceService.decorators = [
1477
- { type: core.Injectable, args: [{
1478
- providedIn: 'root'
1479
- },] }
1480
- ];
1481
- /** @nocollapse */
1482
- HdSpaceService.ctorParameters = function () { return []; };
1483
- /** @nocollapse */ HdSpaceService.ngInjectableDef = core.ɵɵdefineInjectable({ factory: function HdSpaceService_Factory() { return new HdSpaceService(); }, token: HdSpaceService, providedIn: "root" });
1484
- return HdSpaceService;
1485
- }());
1486
-
1487
- /**
1488
- * @fileoverview added by tsickle
1489
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
1490
- */
1491
- var HdSpaceComponent = /** @class */ (function () {
1492
- function HdSpaceComponent() {
1493
- this.type = SpaceType.row;
1494
- this.background = 'inherit';
1495
- this.style = new Style();
1496
- }
1497
- /**
1498
- * @return {?}
1499
- */
1500
- HdSpaceComponent.prototype.ngOnInit = /**
1501
- * @return {?}
1502
- */
1503
- function () {
1504
- this.style['background'] = this.background;
1505
- if (this.type === SpaceType.row) {
1506
- this.style['width'] = '100%';
1507
- this.style['height'] = this.size + 'px';
1508
- }
1509
- else {
1510
- this.style['height'] = '100%';
1511
- this.style['width'] = this.size + 'px';
1512
- }
1513
- };
1514
- HdSpaceComponent.decorators = [
1515
- { type: core.Component, args: [{
1516
- selector: 'hd-space',
1517
- template: "<nz-content>\n <div [ngStyle]=\"style\"></div>\n</nz-content>\n",
1518
- styles: [""]
1519
- }] }
1520
- ];
1521
- /** @nocollapse */
1522
- HdSpaceComponent.ctorParameters = function () { return []; };
1523
- HdSpaceComponent.propDecorators = {
1524
- type: [{ type: core.Input }],
1525
- size: [{ type: core.Input }],
1526
- background: [{ type: core.Input }]
1527
- };
1528
- return HdSpaceComponent;
1529
- }());
1530
- if (false) {
1531
- /** @type {?} */
1532
- HdSpaceComponent.prototype.type;
1533
- /** @type {?} */
1534
- HdSpaceComponent.prototype.size;
1535
- /** @type {?} */
1536
- HdSpaceComponent.prototype.background;
1537
- /** @type {?} */
1538
- HdSpaceComponent.prototype.style;
2262
+ HdFilterComponent.prototype.searchSubject;
2263
+ /**
2264
+ * @type {?}
2265
+ * @private
2266
+ */
2267
+ HdFilterComponent.prototype.debounceTimeout;
2268
+ /**
2269
+ * @type {?}
2270
+ * @private
2271
+ */
2272
+ HdFilterComponent.prototype.searchSubscription;
2273
+ /**
2274
+ * @type {?}
2275
+ * @private
2276
+ */
2277
+ HdFilterComponent.prototype.fb;
1539
2278
  }
1540
2279
 
1541
2280
  /**
1542
2281
  * @fileoverview added by tsickle
1543
2282
  * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
1544
2283
  */
1545
- var HdSpaceModule = /** @class */ (function () {
1546
- function HdSpaceModule() {
2284
+ var HdFilterModule = /** @class */ (function () {
2285
+ function HdFilterModule() {
1547
2286
  }
1548
- HdSpaceModule.decorators = [
2287
+ HdFilterModule.decorators = [
1549
2288
  { type: core.NgModule, args: [{
1550
2289
  imports: [
1551
2290
  common.CommonModule,
1552
2291
  forms.FormsModule,
1553
2292
  forms.ReactiveFormsModule,
1554
- layout.NzLayoutModule
2293
+ ngZorroAntd.NgZorroAntdModule,
2294
+ HdButtonModule
1555
2295
  ],
1556
- declarations: [HdSpaceComponent],
1557
- exports: [HdSpaceComponent]
2296
+ declarations: [HdFilterComponent],
2297
+ exports: [HdFilterComponent]
1558
2298
  },] }
1559
2299
  ];
1560
- return HdSpaceModule;
2300
+ return HdFilterModule;
1561
2301
  }());
1562
2302
 
1563
2303
  /**
@@ -1573,10 +2313,14 @@
1573
2313
  this.require = false; // 是否必填
1574
2314
  // 是否必填
1575
2315
  this.hide = false; // 是否为隐藏字段,仅用于填充表单的字段,不显示在页面上
2316
+ // 是否为隐藏字段,仅用于填充表单的字段,不显示在页面上
2317
+ this.hideViewDomValue = false; // type为ViewDom时,是否隐藏value值, 用于特殊场景,譬如列表中图片的显示
1576
2318
  // 列对齐方式
1577
2319
  this.value = null; // 值 不传默认为null
1578
2320
  // 需要保留小数的列的位数
1579
2321
  this.inputNumber = new InputNumber(); // number组件的min、max、step
2322
+ // date-picker组件不可选择的日期
2323
+ this.hdShowToday = true; // 对应 nzShowToday,是否显示「今天」按钮,默认 true
1580
2324
  // 不可输入状态
1581
2325
  this.showTime = false; // 日期选择器是否包含时间
1582
2326
  this.canSearch = false; // 指明hide 情况下的控件是否可以被搜索,默认false
@@ -1597,6 +2341,8 @@
1597
2341
  /** @type {?} */
1598
2342
  FormLine.prototype.hide;
1599
2343
  /** @type {?} */
2344
+ FormLine.prototype.hideViewDomValue;
2345
+ /** @type {?} */
1600
2346
  FormLine.prototype.align;
1601
2347
  /** @type {?} */
1602
2348
  FormLine.prototype.value;
@@ -1625,6 +2371,8 @@
1625
2371
  /** @type {?} */
1626
2372
  FormLine.prototype.hdDisabledDate;
1627
2373
  /** @type {?} */
2374
+ FormLine.prototype.hdShowToday;
2375
+ /** @type {?} */
1628
2376
  FormLine.prototype.disabled;
1629
2377
  /** @type {?} */
1630
2378
  FormLine.prototype.showTime;
@@ -1693,6 +2441,11 @@
1693
2441
  * @fileoverview added by tsickle
1694
2442
  * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
1695
2443
  */
2444
+ /**
2445
+ * 与 ant-select 选项项水平内边距一致,用于表头与选项行对齐
2446
+ * @type {?}
2447
+ */
2448
+ var SELECT_TABLE_OPTION_HORIZONTAL_PADDING = 12;
1696
2449
  var HdFormLinesComponent = /** @class */ (function () {
1697
2450
  function HdFormLinesComponent(fb, cdr) {
1698
2451
  var _this = this;
@@ -1704,8 +2457,8 @@
1704
2457
  this.showKeyboardOperateTip = false;
1705
2458
  this.tableLoading = false;
1706
2459
  this.showSearch = false;
1707
- this.operateButtons = ['add', 'delete'];
1708
- this.scroll = { x: '1px' };
2460
+ this.operateButtons = ["add", "delete"];
2461
+ this.scroll = { x: "1px" };
1709
2462
  this.changeEvent = new core.EventEmitter();
1710
2463
  this.showDeleteConfirm = false;
1711
2464
  this.paginationPageIndex = 1;
@@ -1737,7 +2490,9 @@
1737
2490
  this.activeSelectedComponentOpen = false;
1738
2491
  this.deleteLineEvent = new core.EventEmitter();
1739
2492
  this.textWidthCache = {};
1740
- this.searchSubscription = this.searchSubject.pipe(operators.debounceTime(this.debounceTimeout)).subscribe((/**
2493
+ this.searchSubscription = this.searchSubject
2494
+ .pipe(operators.debounceTime(this.debounceTimeout))
2495
+ .subscribe((/**
1741
2496
  * @param {?} __0
1742
2497
  * @return {?}
1743
2498
  */
@@ -1764,7 +2519,28 @@
1764
2519
  * @return {?}
1765
2520
  */
1766
2521
  function () {
2522
+ var _this = this;
1767
2523
  this.collectDomData();
2524
+ this.formInputDomListSub = this.formInputDomList.changes.subscribe((/**
2525
+ * @return {?}
2526
+ */
2527
+ function () {
2528
+ _this.collectDomData();
2529
+ }));
2530
+ };
2531
+ /**
2532
+ * @return {?}
2533
+ */
2534
+ HdFormLinesComponent.prototype.ngOnDestroy = /**
2535
+ * @return {?}
2536
+ */
2537
+ function () {
2538
+ if (this.searchSubscription) {
2539
+ this.searchSubscription.unsubscribe();
2540
+ }
2541
+ if (this.formInputDomListSub) {
2542
+ this.formInputDomListSub.unsubscribe();
2543
+ }
1768
2544
  };
1769
2545
  Object.defineProperty(HdFormLinesComponent.prototype, "formLinesLength", {
1770
2546
  get: /**
@@ -1787,23 +2563,45 @@
1787
2563
  function (value) {
1788
2564
  var _this = this;
1789
2565
  this.activeSelectedComponentOpen = value;
1790
- if (value === true && document.querySelectorAll('.hd-option-header').length === 0) {
2566
+ if (value === true) {
1791
2567
  setTimeout((/**
1792
2568
  * @return {?}
1793
2569
  */
1794
2570
  function () {
1795
2571
  /** @type {?} */
1796
- var domList = document.querySelectorAll('.ant-select-dropdown.hd-select-table');
2572
+ var domList = document.querySelectorAll(".ant-select-dropdown.hd-select-table");
1797
2573
  if (domList.length > 0) {
1798
2574
  /** @type {?} */
1799
2575
  var dom = domList[0];
2576
+ dom
2577
+ .querySelectorAll(".hd-option-header")
2578
+ .forEach((/**
2579
+ * @param {?} header
2580
+ * @return {?}
2581
+ */
2582
+ function (header) { return header.remove(); }));
1800
2583
  /** @type {?} */
1801
2584
  var oldIndex = _this.getOldDomIndex(_this.activeDomY, _this.formLines);
1802
- dom.insertBefore(_this.createDOMStructure(_this.formLines[oldIndex], _this.linesFormArray.controls.slice((_this.paginationPageIndex - 1) * _this.paginationPageSize, (_this.paginationPageIndex - 1) * _this.paginationPageSize + _this.paginationPageSize)[_this.activeDomX]), dom.firstChild);
2585
+ dom.insertBefore(_this.createDOMStructure(_this.formLines[oldIndex], _this.linesFormArray.controls.slice((_this.paginationPageIndex - 1) * _this.paginationPageSize, (_this.paginationPageIndex - 1) * _this.paginationPageSize +
2586
+ _this.paginationPageSize)[_this.activeDomX]), dom.firstChild);
1803
2587
  }
1804
2588
  }), 0);
1805
2589
  }
1806
2590
  };
2591
+ /**
2592
+ * @param {?} column
2593
+ * @return {?}
2594
+ */
2595
+ HdFormLinesComponent.prototype.getSelectTableColumnStyle = /**
2596
+ * @param {?} column
2597
+ * @return {?}
2598
+ */
2599
+ function (column) {
2600
+ if (!column || !column.width) {
2601
+ return { width: "unset" };
2602
+ }
2603
+ return { width: column.width + "px" };
2604
+ };
1807
2605
  /**
1808
2606
  * @param {?} formItem
1809
2607
  * @param {?} line
@@ -1815,10 +2613,13 @@
1815
2613
  * @return {?}
1816
2614
  */
1817
2615
  function (formItem, line) {
2616
+ var _this = this;
1818
2617
  // 创建外部 div
1819
2618
  /** @type {?} */
1820
- var hdOptionHeader = document.createElement('div');
1821
- hdOptionHeader.className = 'hd-option-header';
2619
+ var hdOptionHeader = document.createElement("div");
2620
+ hdOptionHeader.className = "hd-option-header";
2621
+ hdOptionHeader.style.paddingLeft = SELECT_TABLE_OPTION_HORIZONTAL_PADDING + "px";
2622
+ hdOptionHeader.style.paddingRight = SELECT_TABLE_OPTION_HORIZONTAL_PADDING + "px";
1822
2623
  // 检查条件,确定是否要创建子元素
1823
2624
  // const selectListLength = (formItem && formItem.selectOption && formItem.selectOption.selectList && formItem.selectOption.selectList.length) || 0;
1824
2625
  // if
@@ -1827,19 +2628,15 @@
1827
2628
  // 遍历 tableColumns 创建内部列 div
1828
2629
  formItem.selectOption.tableColumns.forEach((/**
1829
2630
  * @param {?} selectOptionTableColumn
1830
- * @param {?} index
1831
2631
  * @return {?}
1832
2632
  */
1833
- function (selectOptionTableColumn, index) {
2633
+ function (selectOptionTableColumn) {
1834
2634
  /** @type {?} */
1835
- var columnDiv = document.createElement('div');
1836
- columnDiv.className = 'hd-option-header-column';
1837
- // 设置宽度样式
2635
+ var columnDiv = document.createElement("div");
2636
+ columnDiv.className = "hd-option-header-column";
1838
2637
  /** @type {?} */
1839
- var width = (selectOptionTableColumn && selectOptionTableColumn.width) ?
1840
- (selectOptionTableColumn && selectOptionTableColumn.width) + ((index === 0 && !(selectOptionTableColumn && selectOptionTableColumn.label)) ? 12 : 0) + 'px'
1841
- : 'unset';
1842
- columnDiv.style.width = width;
2638
+ var widthStyle = _this.getSelectTableColumnStyle(selectOptionTableColumn);
2639
+ columnDiv.style.width = widthStyle.width;
1843
2640
  // 添加列标签内容
1844
2641
  if (selectOptionTableColumn.label) {
1845
2642
  /** @type {?} */
@@ -1877,23 +2674,47 @@
1877
2674
  for (var i = 0; i < pageLinesLength; i++) {
1878
2675
  this.collectDomList.push(pageDomList.splice(0, interval));
1879
2676
  }
1880
- // 关闭所有NzInputNumberComponent的键盘上下箭头触发+-的功能
2677
+ this.disableInputNumberKeyboardStep();
2678
+ };
2679
+ /**
2680
+ * ng-zorro 8 在 input 的 onKeyDown 里用上下键调 up()/down() 改 step。
2681
+ * 只覆盖 onKeyDown(不动 up/down),键盘方向键交给表单跳转,+/- 按钮仍可用。
2682
+ */
2683
+ /**
2684
+ * ng-zorro 8 在 input 的 onKeyDown 里用上下键调 up()/down() 改 step。
2685
+ * 只覆盖 onKeyDown(不动 up/down),键盘方向键交给表单跳转,+/- 按钮仍可用。
2686
+ * @private
2687
+ * @return {?}
2688
+ */
2689
+ HdFormLinesComponent.prototype.disableInputNumberKeyboardStep = /**
2690
+ * ng-zorro 8 在 input 的 onKeyDown 里用上下键调 up()/down() 改 step。
2691
+ * 只覆盖 onKeyDown(不动 up/down),键盘方向键交给表单跳转,+/- 按钮仍可用。
2692
+ * @private
2693
+ * @return {?}
2694
+ */
2695
+ function () {
1881
2696
  for (var i = 0; i < this.collectDomList.length; i++) {
1882
- for (var j = 0; j < this.collectDomList[i].length; j++) {
2697
+ var _loop_1 = function (j) {
1883
2698
  /** @type {?} */
1884
- var dom = this.collectDomList[i][j];
2699
+ var dom = this_1.collectDomList[i][j];
1885
2700
  if (dom instanceof ngZorroAntd.NzInputNumberComponent) {
1886
- dom.down = (/**
2701
+ dom.onKeyDown = (/**
2702
+ * @param {?} e
1887
2703
  * @return {?}
1888
2704
  */
1889
- function () {
1890
- });
1891
- dom.up = (/**
1892
- * @return {?}
1893
- */
1894
- function () {
2705
+ function (e) {
2706
+ if (e.keyCode === 38 || e.keyCode === 40) {
2707
+ return;
2708
+ }
2709
+ if (e.keyCode === 13) {
2710
+ dom.setValidateValue();
2711
+ }
1895
2712
  });
1896
2713
  }
2714
+ };
2715
+ var this_1 = this;
2716
+ for (var j = 0; j < this.collectDomList[i].length; j++) {
2717
+ _loop_1(j);
1897
2718
  }
1898
2719
  }
1899
2720
  };
@@ -1912,23 +2733,28 @@
1912
2733
  * @return {?}
1913
2734
  */
1914
2735
  function (x, y) {
1915
- if (x === null || y === null || !this.collectDomList || this.collectDomList.length === 0) {
2736
+ if (x === null ||
2737
+ y === null ||
2738
+ !this.collectDomList ||
2739
+ this.collectDomList.length === 0) {
1916
2740
  return;
1917
2741
  }
1918
2742
  // 如果是最后一个可输入元素,新增行
1919
- if (!(this.activeDom instanceof ngZorroAntd.NzSelectComponent) && x === this.collectDomList.length - 1 && y === this.collectDomList[0].length - 1) {
2743
+ if (!(this.activeDom instanceof ngZorroAntd.NzSelectComponent) &&
2744
+ x === this.collectDomList.length - 1 &&
2745
+ y === this.collectDomList[0].length - 1) {
1920
2746
  this.addNewLineAndFocus();
1921
2747
  }
1922
2748
  else {
1923
2749
  if (y === this.collectDomList[0].length - 1) {
1924
- console.log('执行过程1');
2750
+ console.log("执行过程1");
1925
2751
  // 如果是最后一列,则跳转到下一行第一个输入框
1926
- this.focusDom(x + 1, 0, 'right');
2752
+ this.focusDom(x + 1, 0, "right");
1927
2753
  }
1928
2754
  else {
1929
- console.log('执行过程2');
2755
+ console.log("执行过程2");
1930
2756
  // 如果不是最后一列,则跳转到当前行下一个输入框
1931
- this.focusDom(x, y + 1, 'right');
2757
+ this.focusDom(x, y + 1, "right");
1932
2758
  }
1933
2759
  }
1934
2760
  };
@@ -1953,7 +2779,8 @@
1953
2779
  // 2、如果没有:新增行+翻页+聚焦第一行第一个元素
1954
2780
  if (this.activeDomX === this.paginationPageSize - 1) {
1955
2781
  // 判断下一页是否有数据
1956
- if (this.paginationPageIndex < Math.ceil(this.formLinesLength / this.paginationPageSize)) {
2782
+ if (this.paginationPageIndex <
2783
+ Math.ceil(this.formLinesLength / this.paginationPageSize)) {
1957
2784
  // 翻页+聚焦第一行第一个元素
1958
2785
  this.paginationPageIndex++;
1959
2786
  setTimeout((/**
@@ -1961,8 +2788,8 @@
1961
2788
  */
1962
2789
  function () {
1963
2790
  _this.collectDomData();
1964
- console.log('执行过程3');
1965
- _this.focusDom(0, 0, 'right');
2791
+ console.log("执行过程3");
2792
+ _this.focusDom(0, 0, "right");
1966
2793
  }), 0);
1967
2794
  }
1968
2795
  else {
@@ -1974,7 +2801,7 @@
1974
2801
  */
1975
2802
  function () {
1976
2803
  _this.collectDomData();
1977
- console.log('执行过程4');
2804
+ console.log("执行过程4");
1978
2805
  _this.focusDom(0, 0);
1979
2806
  }), 0);
1980
2807
  }
@@ -1999,7 +2826,10 @@
1999
2826
  */
2000
2827
  function (x, y) {
2001
2828
  var _this = this;
2002
- if (x === null || y === null || !this.collectDomList || this.collectDomList.length === 0) {
2829
+ if (x === null ||
2830
+ y === null ||
2831
+ !this.collectDomList ||
2832
+ this.collectDomList.length === 0) {
2003
2833
  return;
2004
2834
  }
2005
2835
  if (x === 0 && y === 0) {
@@ -2012,7 +2842,7 @@
2012
2842
  */
2013
2843
  function () {
2014
2844
  _this.collectDomData();
2015
- console.log('执行过程5');
2845
+ console.log("执行过程5");
2016
2846
  _this.focusDom(_this.collectDomList.length - 1, _this.collectDomList[0].length - 1);
2017
2847
  }), 0);
2018
2848
  }
@@ -2020,14 +2850,14 @@
2020
2850
  }
2021
2851
  else {
2022
2852
  if (y === 0) {
2023
- console.log('执行过程6');
2853
+ console.log("执行过程6");
2024
2854
  // 如果是第一列,则跳转到上一行最后一个输入框
2025
- this.focusDom(x - 1, this.collectDomList[0].length - 1, 'left');
2855
+ this.focusDom(x - 1, this.collectDomList[0].length - 1, "left");
2026
2856
  }
2027
2857
  else {
2028
- console.log('执行过程7');
2858
+ console.log("执行过程7");
2029
2859
  // 如果不是第一列,则跳转到当前行上一个输入框
2030
- this.focusDom(x, y - 1, 'left');
2860
+ this.focusDom(x, y - 1, "left");
2031
2861
  }
2032
2862
  }
2033
2863
  };
@@ -2052,8 +2882,11 @@
2052
2882
  * @return {?}
2053
2883
  */
2054
2884
  function (x, y, jumpDirection) {
2055
- if (jumpDirection === void 0) { jumpDirection = 'right'; }
2056
- if (x === null || y === null || !this.collectDomList || this.collectDomList.length === 0) {
2885
+ if (jumpDirection === void 0) { jumpDirection = "right"; }
2886
+ if (x === null ||
2887
+ y === null ||
2888
+ !this.collectDomList ||
2889
+ this.collectDomList.length === 0) {
2057
2890
  return;
2058
2891
  }
2059
2892
  // 先清除一下当前的焦点
@@ -2064,17 +2897,17 @@
2064
2897
  // 需要判断下一个focus的dom是否是禁用状态,如果是禁用状态需要跳过
2065
2898
  if (dom_1 instanceof ngZorroAntd.NzSelectComponent) {
2066
2899
  if (dom_1.nzDisabled) {
2067
- if (jumpDirection === 'right') {
2900
+ if (jumpDirection === "right") {
2068
2901
  this.jumpToNextInput(x, y);
2069
2902
  }
2070
- else if (jumpDirection === 'left') {
2903
+ else if (jumpDirection === "left") {
2071
2904
  this.jumpToPrevInput(x, y);
2072
2905
  }
2073
2906
  return;
2074
2907
  }
2075
- dom_1.nzSelectTopControlComponent.inputElement.nativeElement.scrollIntoView({ behavior: 'smooth', block: 'center', inline: 'center' });
2908
+ dom_1.nzSelectTopControlComponent.inputElement.nativeElement.scrollIntoView({ behavior: "smooth", block: "center", inline: "center" });
2076
2909
  // 这里多选框需要额外处理下,因为向下的时候会触发内部Input的聚焦,把下一个dom的focus放到宏任务中,延迟处理。
2077
- if (dom_1.nzSelectService.mode === 'multiple') {
2910
+ if (dom_1.nzSelectService.mode === "multiple") {
2078
2911
  setTimeout((/**
2079
2912
  * @return {?}
2080
2913
  */
@@ -2088,10 +2921,10 @@
2088
2921
  }
2089
2922
  else if (dom_1 instanceof ngZorroAntd.NzInputNumberComponent) {
2090
2923
  if (dom_1.nzDisabled) {
2091
- if (jumpDirection === 'right') {
2924
+ if (jumpDirection === "right") {
2092
2925
  this.jumpToNextInput(x, y);
2093
2926
  }
2094
- else if (jumpDirection === 'left') {
2927
+ else if (jumpDirection === "left") {
2095
2928
  this.jumpToPrevInput(x, y);
2096
2929
  }
2097
2930
  return;
@@ -2099,7 +2932,11 @@
2099
2932
  /** @type {?} */
2100
2933
  var inputDom_1 = document.getElementById(dom_1.nzId);
2101
2934
  inputDom_1.focus();
2102
- inputDom_1.scrollIntoView({ behavior: 'smooth', block: 'center', inline: 'center' });
2935
+ inputDom_1.scrollIntoView({
2936
+ behavior: "smooth",
2937
+ block: "center",
2938
+ inline: "center",
2939
+ });
2103
2940
  setTimeout((/**
2104
2941
  * @return {?}
2105
2942
  */
@@ -2109,16 +2946,20 @@
2109
2946
  }
2110
2947
  else if (dom_1 instanceof core.ElementRef) {
2111
2948
  if (dom_1.nativeElement.disabled) {
2112
- if (jumpDirection === 'right') {
2949
+ if (jumpDirection === "right") {
2113
2950
  this.jumpToNextInput(x, y);
2114
2951
  }
2115
- else if (jumpDirection === 'left') {
2952
+ else if (jumpDirection === "left") {
2116
2953
  this.jumpToPrevInput(x, y);
2117
2954
  }
2118
2955
  return;
2119
2956
  }
2120
2957
  dom_1.nativeElement.focus();
2121
- dom_1.nativeElement.scrollIntoView({ behavior: 'smooth', block: 'center', inline: 'center' });
2958
+ dom_1.nativeElement.scrollIntoView({
2959
+ behavior: "smooth",
2960
+ block: "center",
2961
+ inline: "center",
2962
+ });
2122
2963
  setTimeout((/**
2123
2964
  * @return {?}
2124
2965
  */
@@ -2126,12 +2967,14 @@
2126
2967
  dom_1.nativeElement.select();
2127
2968
  }), 0);
2128
2969
  }
2129
- else if (dom_1 instanceof ngZorroAntd.NzDatePickerComponent || dom_1 instanceof ngZorroAntd.NzRangePickerComponent || dom_1 instanceof ngZorroAntd.NzTimePickerComponent) {
2970
+ else if (dom_1 instanceof ngZorroAntd.NzDatePickerComponent ||
2971
+ dom_1 instanceof ngZorroAntd.NzRangePickerComponent ||
2972
+ dom_1 instanceof ngZorroAntd.NzTimePickerComponent) {
2130
2973
  // TODO:在ngzorro8.5.x版本,时间相关的选择器没有暴露出open方法,暂时先不处理。(10.x及以上版本提供了open方法)
2131
- if (jumpDirection === 'right') {
2974
+ if (jumpDirection === "right") {
2132
2975
  this.jumpToNextInput(x, y);
2133
2976
  }
2134
- else if (jumpDirection === 'left') {
2977
+ else if (jumpDirection === "left") {
2135
2978
  this.jumpToPrevInput(x, y);
2136
2979
  }
2137
2980
  return;
@@ -2153,7 +2996,10 @@
2153
2996
  * @return {?}
2154
2997
  */
2155
2998
  function (x, y) {
2156
- if (x === null || y === null || !this.collectDomList || this.collectDomList.length === 0) {
2999
+ if (x === null ||
3000
+ y === null ||
3001
+ !this.collectDomList ||
3002
+ this.collectDomList.length === 0) {
2157
3003
  return;
2158
3004
  }
2159
3005
  if (this.collectDomList[x] && this.collectDomList[x][y]) {
@@ -2234,16 +3080,18 @@
2234
3080
  return;
2235
3081
  }
2236
3082
  switch (event.key) {
2237
- case 'ArrowUp':
2238
- if (this.activeDom instanceof ngZorroAntd.NzSelectComponent && this.activeSelectedComponentOpen) {
3083
+ case "ArrowUp":
3084
+ if (this.activeDom instanceof ngZorroAntd.NzSelectComponent &&
3085
+ this.activeSelectedComponentOpen) {
2239
3086
  return;
2240
3087
  }
2241
3088
  if (this.activeDomX !== 0) {
2242
3089
  this.focusDom(this.activeDomX - 1, this.activeDomY);
2243
3090
  }
2244
3091
  break;
2245
- case 'ArrowDown':
2246
- if (this.activeDom instanceof ngZorroAntd.NzSelectComponent && this.activeSelectedComponentOpen) {
3092
+ case "ArrowDown":
3093
+ if (this.activeDom instanceof ngZorroAntd.NzSelectComponent &&
3094
+ this.activeSelectedComponentOpen) {
2247
3095
  return;
2248
3096
  }
2249
3097
  // 判断是否在最后一行,加行
@@ -2256,13 +3104,13 @@
2256
3104
  this.focusDom(this.activeDomX + 1, this.activeDomY);
2257
3105
  }
2258
3106
  break;
2259
- case 'ArrowLeft':
3107
+ case "ArrowLeft":
2260
3108
  this.jumpToPrevInput(this.activeDomX, this.activeDomY);
2261
3109
  break;
2262
- case 'ArrowRight':
3110
+ case "ArrowRight":
2263
3111
  this.jumpToNextInput(this.activeDomX, this.activeDomY);
2264
3112
  break;
2265
- case 'Enter':
3113
+ case "Enter":
2266
3114
  if (this.activeDom instanceof ngZorroAntd.NzSelectComponent) {
2267
3115
  this.setActiveSelectedComponentOpen(this.activeDom.open);
2268
3116
  if (this.activeSelectedComponentOpen === false) {
@@ -2273,7 +3121,7 @@
2273
3121
  this.addNewLineAndFocus();
2274
3122
  }
2275
3123
  break;
2276
- case 'Escape':
3124
+ case "Escape":
2277
3125
  if (this.activeDom instanceof ngZorroAntd.NzSelectComponent) {
2278
3126
  /** @type {?} */
2279
3127
  var nowActiveDom_1 = (/** @type {?} */ (this.activeDom));
@@ -2283,7 +3131,7 @@
2283
3131
  function () {
2284
3132
  _this.setActiveSelectedComponentOpen(nowActiveDom_1.open);
2285
3133
  if (_this.activeSelectedComponentOpen === false) {
2286
- if (nowActiveDom_1.nzSelectService.mode === 'multiple') {
3134
+ if (nowActiveDom_1.nzSelectService.mode === "multiple") {
2287
3135
  setTimeout((/**
2288
3136
  * @return {?}
2289
3137
  */
@@ -2300,7 +3148,9 @@
2300
3148
  break;
2301
3149
  default:
2302
3150
  // 如果当前聚焦的是选择框,且键入0-9a-zA-Z,则弹出
2303
- if (this.activeDom instanceof ngZorroAntd.NzSelectComponent && this.activeSelectedComponentOpen === false && /^[0-9a-zA-Z]$/.test(event.key)) {
3151
+ if (this.activeDom instanceof ngZorroAntd.NzSelectComponent &&
3152
+ this.activeSelectedComponentOpen === false &&
3153
+ /^[0-9a-zA-Z]$/.test(event.key)) {
2304
3154
  /** @type {?} */
2305
3155
  var dom = this.activeDom;
2306
3156
  dom.nzOpen = true;
@@ -2340,14 +3190,23 @@
2340
3190
  */
2341
3191
  function (index, list) {
2342
3192
  /** @type {?} */
2343
- var typeList = ['Input', 'Select', 'Date', 'DateRange', 'TextArea', 'InputNumber', 'MultipleSelect'];
3193
+ var typeList = [
3194
+ "Input",
3195
+ "Select",
3196
+ "Date",
3197
+ "DateRange",
3198
+ "TextArea",
3199
+ "InputNumber",
3200
+ "MultipleSelect",
3201
+ ];
2344
3202
  /** @type {?} */
2345
3203
  var filterList = [];
2346
3204
  for (var i = 0; i < list.length; i++) {
2347
3205
  if (i === index) {
2348
3206
  return filterList.length;
2349
3207
  }
2350
- if (typeList.includes(list[i].type)) {
3208
+ // 与模板一致:hide 的列不渲染 #formInputDom,不计入 collectDomList 的列下标
3209
+ if (typeList.includes(list[i].type) && !list[i].hide) {
2351
3210
  filterList.push(list[i]);
2352
3211
  }
2353
3212
  }
@@ -2374,14 +3233,22 @@
2374
3233
  * @return {?}
2375
3234
  */
2376
3235
  function (index, list) {
2377
- console.log('index', index);
2378
- console.log('list', list);
3236
+ console.log("index", index);
3237
+ console.log("list", list);
2379
3238
  /** @type {?} */
2380
- var typeList = ['Input', 'Select', 'Date', 'DateRange', 'TextArea', 'InputNumber', 'MultipleSelect'];
3239
+ var typeList = [
3240
+ "Input",
3241
+ "Select",
3242
+ "Date",
3243
+ "DateRange",
3244
+ "TextArea",
3245
+ "InputNumber",
3246
+ "MultipleSelect",
3247
+ ];
2381
3248
  /** @type {?} */
2382
3249
  var filterList = [];
2383
3250
  for (var i = 0; i < list.length; i++) {
2384
- if (typeList.includes(list[i].type)) {
3251
+ if (typeList.includes(list[i].type) && !list[i].hide) {
2385
3252
  filterList.push(list[i]);
2386
3253
  if (filterList.length === index + 1) {
2387
3254
  return i;
@@ -2395,7 +3262,7 @@
2395
3262
  * @return {?}
2396
3263
  */
2397
3264
  function () {
2398
- return (/** @type {?} */ (this.validateHdFormLines.get('lines')));
3265
+ return (/** @type {?} */ (this.validateHdFormLines.get("lines")));
2399
3266
  },
2400
3267
  enumerable: true,
2401
3268
  configurable: true
@@ -2447,7 +3314,9 @@
2447
3314
  this.searchSubscription.unsubscribe();
2448
3315
  }
2449
3316
  // 创建新的订阅
2450
- this.searchSubscription = this.searchSubject.pipe(operators.debounceTime(this.debounceTimeout)).subscribe((/**
3317
+ this.searchSubscription = this.searchSubject
3318
+ .pipe(operators.debounceTime(this.debounceTimeout))
3319
+ .subscribe((/**
2451
3320
  * @param {?} __0
2452
3321
  * @return {?}
2453
3322
  */
@@ -2503,7 +3372,7 @@
2503
3372
  var _this = this;
2504
3373
  /** @type {?} */
2505
3374
  var tmpValidateHdFormLines = this.fb.group({
2506
- 'lines': this.fb.array([])
3375
+ lines: this.fb.array([]),
2507
3376
  });
2508
3377
  this.storeFormLinesData.forEach((/**
2509
3378
  * @param {?} formLinesDataItem
@@ -2519,14 +3388,16 @@
2519
3388
  function (item) {
2520
3389
  // 新增行 初始数据都为null
2521
3390
  formGroupObj[item.name] = _this.fb.control({
2522
- value: _this.judgeValueIsNotEmpty(formLinesDataItem[item.name]) ? formLinesDataItem[item.name] : (item.value || null),
2523
- disabled: item.disabled
3391
+ value: _this.judgeValueIsNotEmpty(formLinesDataItem[item.name])
3392
+ ? formLinesDataItem[item.name]
3393
+ : item.value || null,
3394
+ disabled: item.disabled,
2524
3395
  }, item.require ? [forms.Validators.required] : []);
2525
3396
  if (item.selectOption && item.selectOption.label) {
2526
3397
  formGroupObj[item.selectOption.label] = _this.fb.control(formLinesDataItem[item.selectOption.label] || null, []);
2527
3398
  }
2528
3399
  }));
2529
- formGroupObj.lineIndex = _this.fb.control(((/** @type {?} */ (tmpValidateHdFormLines.get('lines')))).controls.length, []);
3400
+ formGroupObj.lineIndex = _this.fb.control(((/** @type {?} */ (tmpValidateHdFormLines.get("lines")))).controls.length, []);
2530
3401
  /** @type {?} */
2531
3402
  var formGroupTmp = _this.fb.group(formGroupObj);
2532
3403
  _this.formLines.forEach((/**
@@ -2536,7 +3407,10 @@
2536
3407
  function (item) {
2537
3408
  if (item.onChangeEvent) {
2538
3409
  if (item.onChangeEventDebounceTime) {
2539
- formGroupTmp.get(item.name).valueChanges.pipe(operators.debounceTime(item.onChangeEventDebounceTime)).subscribe((/**
3410
+ formGroupTmp
3411
+ .get(item.name)
3412
+ .valueChanges.pipe(operators.debounceTime(item.onChangeEventDebounceTime))
3413
+ .subscribe((/**
2540
3414
  * @param {?} value
2541
3415
  * @return {?}
2542
3416
  */
@@ -2555,7 +3429,7 @@
2555
3429
  }
2556
3430
  }
2557
3431
  }));
2558
- ((/** @type {?} */ (tmpValidateHdFormLines.get('lines')))).insert(((/** @type {?} */ (tmpValidateHdFormLines.get('lines')))).controls.length, formGroupTmp);
3432
+ ((/** @type {?} */ (tmpValidateHdFormLines.get("lines")))).insert(((/** @type {?} */ (tmpValidateHdFormLines.get("lines")))).controls.length, formGroupTmp);
2559
3433
  }));
2560
3434
  return tmpValidateHdFormLines.valid;
2561
3435
  };
@@ -2631,9 +3505,13 @@
2631
3505
  try {
2632
3506
  for (var _b = __values(_this.formLines), _c = _b.next(); !_c.done; _c = _b.next()) {
2633
3507
  var item = _c.value;
2634
- if ((item.hide && item.canSearch) || (!item.hide && item.name !== 'uuid')) {
3508
+ if ((item.hide && item.canSearch) ||
3509
+ (!item.hide && item.name !== "uuid")) {
3510
+ console.log("item", item.name);
2635
3511
  /** @type {?} */
2636
- var value = data[item.name] ? data[item.name].toString().toLowerCase() : '';
3512
+ var value = data[item.name]
3513
+ ? data[item.name].toString().toLowerCase()
3514
+ : "";
2637
3515
  if (value.includes(filterValue)) {
2638
3516
  _this.filterIndexStore.push(index);
2639
3517
  return true;
@@ -2681,13 +3559,15 @@
2681
3559
  function (line, formItem, width) {
2682
3560
  /** @type {?} */
2683
3561
  var styleObj = {
2684
- 'min-width': width
3562
+ "min-width": width,
2685
3563
  };
2686
3564
  if (formItem.style) {
2687
3565
  styleObj = __assign({}, styleObj, formItem.style);
2688
3566
  }
2689
- if (formItem.colorOption && formItem.colorOption.name && line.get(formItem.colorOption.name).value) {
2690
- styleObj = __assign({}, styleObj, { 'color': line.get(formItem.colorOption.name).value });
3567
+ if (formItem.colorOption &&
3568
+ formItem.colorOption.name &&
3569
+ line.get(formItem.colorOption.name).value) {
3570
+ styleObj = __assign({}, styleObj, { color: line.get(formItem.colorOption.name).value });
2691
3571
  }
2692
3572
  return styleObj;
2693
3573
  };
@@ -2700,13 +3580,17 @@
2700
3580
  * @return {?}
2701
3581
  */
2702
3582
  function (changes) {
2703
- if (changes['formLinesData'] && JSON.stringify(changes['formLinesData'].currentValue) !== JSON.stringify(changes['formLinesData'].previousValue)) {
3583
+ if (changes["formLinesData"] &&
3584
+ JSON.stringify(changes["formLinesData"].currentValue) !==
3585
+ JSON.stringify(changes["formLinesData"].previousValue)) {
2704
3586
  if (this.storeFormLinesData && this.storeFormLinesData.length === 0) {
2705
3587
  this.storeFormLinesData = this.formLinesData;
2706
3588
  }
2707
3589
  this.init();
2708
3590
  }
2709
- if (changes['totalOption'] && JSON.stringify(changes['totalOption'].currentValue) !== JSON.stringify(changes['totalOption'].previousValue)) {
3591
+ if (changes["totalOption"] &&
3592
+ JSON.stringify(changes["totalOption"].currentValue) !==
3593
+ JSON.stringify(changes["totalOption"].previousValue)) {
2710
3594
  this.calculateTotal();
2711
3595
  }
2712
3596
  };
@@ -2720,7 +3604,7 @@
2720
3604
  var _this = this;
2721
3605
  // 这里处理合计数据
2722
3606
  if (this.showTotal) {
2723
- this.totalOptionList = new Array(Number(this.columnsNumber) - 1).fill('');
3607
+ this.totalOptionList = new Array(Number(this.columnsNumber) - 1).fill("");
2724
3608
  this.totalOption.forEach((/**
2725
3609
  * @param {?} item
2726
3610
  * @return {?}
@@ -2729,8 +3613,8 @@
2729
3613
  if (item.insertIndex && (item.insertValue || item.insertValue === 0)) {
2730
3614
  _this.totalOptionList[item.insertIndex - 1] = {
2731
3615
  value: item.insertValue,
2732
- align: item.align || 'left',
2733
- showDecimal: item.showDecimal || false
3616
+ align: item.align || "left",
3617
+ showDecimal: item.showDecimal || false,
2734
3618
  };
2735
3619
  }
2736
3620
  }));
@@ -2757,7 +3641,9 @@
2757
3641
  }
2758
3642
  this.createForm();
2759
3643
  // 如果没有formLinesData,则认为是新增
2760
- if (!isEdit && (!this.formLinesData || (this.formLinesData && this.formLinesData.length === 0))) {
3644
+ if (!isEdit &&
3645
+ (!this.formLinesData ||
3646
+ (this.formLinesData && this.formLinesData.length === 0))) {
2761
3647
  this.tableLoading = false;
2762
3648
  this.addFormLine(0, false);
2763
3649
  this.showForm = true;
@@ -2770,7 +3656,9 @@
2770
3656
  * @param {?} data
2771
3657
  * @return {?}
2772
3658
  */
2773
- function (data) { return _this.onHdFormValueChanged(data); }));
3659
+ function (data) {
3660
+ return _this.onHdFormValueChanged(data);
3661
+ }));
2774
3662
  this.onHdFormValueChanged();
2775
3663
  };
2776
3664
  /**
@@ -2788,7 +3676,7 @@
2788
3676
  */
2789
3677
  function () {
2790
3678
  this.validateHdFormLines = this.fb.group({
2791
- 'lines': this.fb.array([])
3679
+ lines: this.fb.array([]),
2792
3680
  });
2793
3681
  this.newLine = this.newLineItem();
2794
3682
  };
@@ -2832,7 +3720,7 @@
2832
3720
  // 新增行 初始数据都为null
2833
3721
  formGroupObj[item.name] = _this.fb.control({
2834
3722
  value: item.value,
2835
- disabled: item.disabled
3723
+ disabled: item.disabled,
2836
3724
  } || null, item.require && !item.hide ? [forms.Validators.required] : []);
2837
3725
  }));
2838
3726
  formGroupObj.lineIndex = this.fb.control(this.linesFormArray.controls.length, []);
@@ -2849,7 +3737,10 @@
2849
3737
  if (item.onChangeEvent) {
2850
3738
  if (item.onChangeEvent) {
2851
3739
  if (item.onChangeEventDebounceTime) {
2852
- formGroupSubmit.get(item.name).valueChanges.pipe(operators.debounceTime(item.onChangeEventDebounceTime)).subscribe((/**
3740
+ formGroupSubmit
3741
+ .get(item.name)
3742
+ .valueChanges.pipe(operators.debounceTime(item.onChangeEventDebounceTime))
3743
+ .subscribe((/**
2853
3744
  * @param {?} value
2854
3745
  * @return {?}
2855
3746
  */
@@ -2892,7 +3783,7 @@
2892
3783
  * @return {?}
2893
3784
  */
2894
3785
  function (item, index) {
2895
- item.get('lineIndex').setValue(index + 1, { emitEvent: false });
3786
+ item.get("lineIndex").setValue(index + 1, { emitEvent: false });
2896
3787
  }));
2897
3788
  };
2898
3789
  /**
@@ -2923,8 +3814,10 @@
2923
3814
  function (item) {
2924
3815
  // 新增行 初始数据都为null
2925
3816
  formGroupObj[item.name] = _this.fb.control({
2926
- value: _this.judgeValueIsNotEmpty(formLinesDataItem[item.name]) ? formLinesDataItem[item.name] : (item.value || null),
2927
- disabled: item.disabled
3817
+ value: _this.judgeValueIsNotEmpty(formLinesDataItem[item.name])
3818
+ ? formLinesDataItem[item.name]
3819
+ : item.value || null,
3820
+ disabled: item.disabled,
2928
3821
  }, item.require ? [forms.Validators.required] : []);
2929
3822
  if (item.selectOption && item.selectOption.label) {
2930
3823
  formGroupObj[item.selectOption.label] = _this.fb.control(formLinesDataItem[item.selectOption.label] || null, []);
@@ -2941,7 +3834,10 @@
2941
3834
  function (item, innerIndex) {
2942
3835
  if (item.onChangeEvent) {
2943
3836
  if (item.onChangeEventDebounceTime) {
2944
- formGroupTmp.get(item.name).valueChanges.pipe(operators.debounceTime(item.onChangeEventDebounceTime)).subscribe((/**
3837
+ formGroupTmp
3838
+ .get(item.name)
3839
+ .valueChanges.pipe(operators.debounceTime(item.onChangeEventDebounceTime))
3840
+ .subscribe((/**
2945
3841
  * @param {?} value
2946
3842
  * @return {?}
2947
3843
  */
@@ -2999,7 +3895,7 @@
2999
3895
  _this.activeDomX = _this.collectDomList.length - 1;
3000
3896
  }
3001
3897
  _this.activeDomY = 0;
3002
- console.log('执行过程13');
3898
+ console.log("执行过程13");
3003
3899
  _this.focusDom(_this.activeDomX, _this.activeDomY);
3004
3900
  }
3005
3901
  }), 0);
@@ -3014,7 +3910,7 @@
3014
3910
  */
3015
3911
  function (index) {
3016
3912
  var _this = this;
3017
- console.log('index', index);
3913
+ console.log("index", index);
3018
3914
  // 最后一条数据的时候要判断一下
3019
3915
  if (this.linesFormArray.controls.length === 1 && !this.allowEmpty) {
3020
3916
  if (this.deleteLastLineEvent) {
@@ -3023,12 +3919,15 @@
3023
3919
  return;
3024
3920
  }
3025
3921
  this.linesFormArray.removeAt(index - 1);
3026
- if (!this.isFilterData && this.linesFormArray.controls && this.linesFormArray.controls.length === 0) {
3922
+ if (!this.isFilterData &&
3923
+ this.linesFormArray.controls &&
3924
+ this.linesFormArray.controls.length === 0) {
3027
3925
  this.addFormLine();
3028
3926
  }
3029
3927
  else {
3030
3928
  // 删除尾页的最后一个元素动作
3031
- if (this.paginationPageIndex * this.paginationPageSize === (this.linesFormArray.controls.length + this.paginationPageSize)) {
3929
+ if (this.paginationPageIndex * this.paginationPageSize ===
3930
+ this.linesFormArray.controls.length + this.paginationPageSize) {
3032
3931
  this.paginationPageIndex--;
3033
3932
  }
3034
3933
  this.calculateLineNumber();
@@ -3241,7 +4140,8 @@
3241
4140
  * @return {?}
3242
4141
  */
3243
4142
  function (innerItem) {
3244
- if (innerItem.name === item.selectOption.value || innerItem.name === item.selectOption.label) {
4143
+ if (innerItem.name === item.selectOption.value ||
4144
+ innerItem.name === item.selectOption.label) {
3245
4145
  selectOptionCheckList.push(innerItem.name);
3246
4146
  }
3247
4147
  }));
@@ -3252,7 +4152,7 @@
3252
4152
  }));
3253
4153
  // 校验name是否重复
3254
4154
  if (__spread(new Set(nameList)).length !== list.length) {
3255
- throw 'formLines组件数据格式不规范,存在重复name值!';
4155
+ throw "formLines组件数据格式不规范,存在重复name值!";
3256
4156
  }
3257
4157
  // ...more check
3258
4158
  return true;
@@ -3327,18 +4227,18 @@
3327
4227
  return cachedWidth + 15 >= maxWidth;
3328
4228
  }
3329
4229
  /** @type {?} */
3330
- var span = document.createElement('span');
3331
- span.style.visibility = 'hidden';
3332
- span.style.position = 'absolute';
3333
- span.style.whiteSpace = 'nowrap';
3334
- span.style.fontSize = '12px';
3335
- span.style.display = 'inline-block'; // 将样式修改为 inline-block
4230
+ var span = document.createElement("span");
4231
+ span.style.visibility = "hidden";
4232
+ span.style.position = "absolute";
4233
+ span.style.whiteSpace = "nowrap";
4234
+ span.style.fontSize = "14px";
4235
+ span.style.display = "inline-block"; // 将样式修改为 inline-block
3336
4236
  span.innerText = text;
3337
4237
  document.body.appendChild(span);
3338
4238
  /** @type {?} */
3339
4239
  var isOverflow = span.offsetWidth + 15 >= maxWidth;
3340
4240
  this.textWidthCache[text] = span.offsetWidth;
3341
- span.style.display = 'none';
4241
+ span.style.display = "none";
3342
4242
  document.body.removeChild(span);
3343
4243
  return isOverflow;
3344
4244
  };
@@ -3355,7 +4255,7 @@
3355
4255
  return str;
3356
4256
  }
3357
4257
  else {
3358
- return '<空>';
4258
+ return "<空>";
3359
4259
  }
3360
4260
  };
3361
4261
  /**
@@ -3376,9 +4276,9 @@
3376
4276
  };
3377
4277
  HdFormLinesComponent.decorators = [
3378
4278
  { type: core.Component, args: [{
3379
- selector: 'hd-form-lines',
3380
- template: "<hd-button-group *ngIf=\"showForm && showSearch\">\n <ng-template #buttonGroupLeft>\n <nz-input-group [nzSuffix]=\"suffixIconSearch\">\n <input type=\"text\" nz-input (keyup.enter)=\"searchLines()\" placeholder=\"\u8BF7\u8F93\u5165\u5185\u5BB9\u641C\u7D22\" style=\"width: 300px;\"\n [(ngModel)]=\"filterStr\"/>\n </nz-input-group>\n <ng-template #suffixIconSearch>\n <i nz-icon nzType=\"search\" (click)=\"searchLines()\"></i>\n </ng-template>\n </ng-template>\n</hd-button-group>\n\n<!-- <hd-button type=\"primary\" (clickAction)=\"focusDom(0, 0)\">\u805A\u7126\u7B2C\u4E00\u4E2A</hd-button> -->\n\n<hd-space *ngIf=\"showForm && showSearch\" background=\"transparent\" type=\"row\" size=\"16\"></hd-space>\n\n<form *ngIf=\"showForm\" nz-form [formGroup]=\"validateHdFormLines\" class=\"ant-advanced-search-form hd-formLines-container\"\n (keydown)=\"onKeyDown($event)\">\n <nz-table nzTemplateMode [nzFrontPagination]=\"false\" [nzLoading]=\"tableLoading\" [nzScroll]=\"scroll\"\n [nzPageSizeOptions]=\"[ 10, 50, 100, 200 ]\">\n <thead>\n <tr>\n <th nzWidth=\"58px\" nzLeft=\"0px\" *ngIf=\"showLineNumber\">\u5E8F\u53F7</th>\n <ng-container *ngFor=\"let item of formLines\">\n <th *ngIf=\"!item.hide\" [nzAlign]=\"item.align ? item.align : 'left'\">\n <span *ngIf=\"item.require\" style=\"color: red;\">*</span>{{ item.label }}\n </th>\n </ng-container>\n <th style=\"width: 80px\" nzRight=\"0\">\u64CD\u4F5C</th>\n </tr>\n </thead>\n <tbody>\n <ng-container\n *ngFor=\"let line of linesFormArray.controls.slice((paginationPageIndex - 1) * paginationPageSize, (paginationPageIndex - 1) * paginationPageSize + paginationPageSize);index as dataIndex\"\n formArrayName=\"lines\">\n <tr [formGroup]=\"line\">\n <td nzWidth=\"58px\" nzLeft=\"0px\" *ngIf=\"showLineNumber\">\n {{ line.get('lineIndex').value }}\n </td>\n <ng-container *ngFor=\"let formItem of formLines; index as innerIndex\">\n <td *ngIf=\"!formItem.hide\" [nzAlign]=\"formItem.align ? formItem.align : 'left'\">\n <nz-form-item>\n <nz-form-control [nzErrorTip]=\"formItem.label + '\u4E0D\u80FD\u4E3A\u7A7A'\">\n <ng-container [ngSwitch]=\"formItem.type\">\n <ng-container *ngSwitchCase=\"'Input'\">\n <nz-input-group [nzSuffix]=\"inputCleanTemplate\">\n <input #formInputDom (click)=\"setActiveDomInFormLines(dataIndex , innerIndex)\"\n [ngStyle]=\"getStyle(line, formItem, '100px')\" nz-input\n [ngStyle]=\"{'color': formItem?.colorOption?.name ? line.get(formItem.colorOption.name ).value : null}\"\n [id]=\"'input-' + formItem.name + line.get('lineIndex').value\"\n (click)=\"formItem.isSelect ? selectValue('#input-' + formItem.name + line.get('lineIndex').value, dataIndex , innerIndex) : null\"\n [maxlength]=\"formItem.maxLength || null\"\n [placeholder]=\"formItem.placeholder ? formItem.placeholder : '\u8BF7\u8F93\u5165' + formItem.label\"\n [formControlName]=\"formItem.name\"/>\n </nz-input-group>\n <ng-template #inputCleanTemplate>\n <i nz-icon nz-tooltip class=\"ant-input-clear-icon\" nzTheme=\"fill\" nzType=\"close-circle\"\n *ngIf=\"line.get(formItem.name).value && !line.get(formItem.name).disabled\"\n (click)=\"inputClean(formItem ,line)\"></i>\n </ng-template>\n </ng-container>\n <ng-container *ngSwitchCase=\"'Select'\">\n <nz-select #formInputDom (click)=\"setActiveDomInFormLines(dataIndex , innerIndex)\"\n nzDropdownClassName=\"hd-select-table\"\n *ngIf=\"formItem.selectOption.tableColumns;else nomarlSelectTemplate\"\n [nzShowSearch]=\"formItem.selectOption.hdShowSearch != null ? formItem.selectOption.hdShowSearch : true\"\n [nzAllowClear]=\"formItem.selectOption.hdAllowClear != null ? formItem.selectOption.hdAllowClear : true\"\n [nzServerSearch]=\"formItem.selectOption.hdServerSearch || false\"\n [nzDropdownMatchSelectWidth]=\"formItem.selectOption.hdDropdownMatchSelectWidth ? formItem.selectOption.hdDropdownMatchSelectWidth : false\"\n [nzPlaceHolder]=\"formItem.placeholder ? formItem.placeholder : '\u8BF7\u9009\u62E9' + formItem.label\"\n [formControlName]=\"formItem.name\"\n (nzOnSearch)=\"onSearchEvent(formItem.onSearchEvent || null, $event, line, formItem.onSearchEventEventDebounceTime)\"\n [ngStyle]=\"getStyle(line, formItem, '200px')\">\n <div class=\"hd-select-empty\"\n *ngIf=\"!(formItem.selectOption?.selectList?.length > 0 || line.get(formItem.selectOption.selectListName)?.value?.length > 0)\">\n <img\n src=\"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjRweCIgaGVpZ2h0PSI0MXB4IiB2aWV3Qm94PSIwIDAgNjQgNDEiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDUyLjUgKDY3NDY5KSAtIGh0dHA6Ly93d3cuYm9oZW1pYW5jb2RpbmcuY29tL3NrZXRjaCAtLT4KICAgIDxnIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKC00NzIuMDAwMDAwLCAtMTMzNS4wMDAwMDApIj4KICAgICAgICAgICAgPGcgIHRyYW5zZm9ybT0idHJhbnNsYXRlKDY0LjAwMDAwMCwgMTExNC4wMDAwMDApIj4KICAgICAgICAgICAgICAgIDxnICB0cmFuc2Zvcm09InRyYW5zbGF0ZSg0MC4wMDAwMDAsIDc4LjAwMDAwMCkiPgogICAgICAgICAgICAgICAgICAgIDxnICB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzNjguMDAwMDAwLCAxNDQuMDAwMDAwKSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxnID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbGxpcHNlICBmaWxsPSIjRjVGNUY1IiBjeD0iMzIiIGN5PSIzMyIgcng9IjMyIiByeT0iNyI+PC9lbGxpcHNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgICB0cmFuc2Zvcm09InRyYW5zbGF0ZSg5LjAwMDAwMCwgMC4wMDAwMDApIiBmaWxsLXJ1bGU9Im5vbnplcm8iIHN0cm9rZT0iI0Q5RDlEOSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTQ2LDEyLjc2MDU2MDQgTDM1Ljg1NDMwNDcsMS4yNTczOTYzMyBDMzUuMzY3NDQxNCwwLjQ3MzgyNjYwNSAzNC42NTU4Nzg5LDAgMzMuOTA2NzYxNywwIEwxMi4wOTMyMzgzLDAgQzExLjM0NDEyMTEsMCAxMC42MzI1NTg2LDAuNDczOTUwMjU1IDEwLjE0NTY5NTMsMS4yNTczOTYzMyBMMi42MTQ3OTcyN2UtMTIsMTIuNzYwNTYwNCBMMCwyMiBMNDYsMjIgTDQ2LDEyLjc2MDU2MDQgWiIgID48L3BhdGg+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTMyLjYxMzI4MTMsMTUuOTMxNSBDMzIuNjEzMjgxMywxNC4zMjU4NTExIDMzLjYwNjk1MzEsMTMuMDAwMjM0IDM0LjgzOTY5OTIsMTMgTDQ2LDEzIEw0NiwzMS4xMzcxMjc3IEM0NiwzMy4yNTg5NTc0IDQ0LjY3OTM4NjcsMzUgNDMuMDUwNDI5NywzNSBMMi45NDk1NzAzMSwzNSBDMS4zMjA1MjM0NCwzNSAwLDMzLjI1ODg0MDQgMCwzMS4xMzcxMjc3IEwwLDEzIEwxMS4xNjAzMDA4LDEzIEMxMi4zOTMwNDY5LDEzIDEzLjM4NjcxODgsMTQuMzIyODA4NSAxMy4zODY3MTg4LDE1LjkyODQ1NzQgTDEzLjM4NjcxODgsMTUuOTQ5NjM4MyBDMTMuMzg2NzE4OCwxNy41NTUyODcyIDE0LjM5MTcxMDksMTguODUxMTgwOSAxNS42MjQ0NTcsMTguODUxMTgwOSBMMzAuMzc1NTQzLDE4Ljg1MTE4MDkgQzMxLjYwODI4OTEsMTguODUxMTgwOSAzMi42MTMyODEzLDE3LjU0MzM1MTEgMzIuNjEzMjgxMywxNS45Mzc3MDIxIEwzMi42MTMyODEzLDE1LjkzMTUgWiIgIGZpbGw9IiNGQUZBRkEiPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgPC9nPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+\"\n alt=\"empty\">\n <p class=\"ant-empty-description\">\u6682\u65E0\u6570\u636E</p>\n </div>\n\n <nz-option nzCustomContent\n *ngFor=\"let selectItem of (formItem.selectOption.selectList || line.get(formItem.selectOption.selectListName).value)\"\n [nzValue]=\"selectItem[formItem.selectOption.value]\" [nzLabel]=\"formItem.selectOption.showLabelAndValue ? '['+ selectItem[formItem.selectOption.value] +']' +\n selectItem[formItem.selectOption.label] : selectItem[formItem.selectOption.label]\">\n <div class=\"hd-option-line\">\n <div *ngFor=\"let selectOptionTableColumn of formItem.selectOption.tableColumns\"\n [ngStyle]=\"{'width': selectOptionTableColumn?.width ? selectOptionTableColumn.width + 'px' : 'unset'}\">\n <ng-container *ngIf=\"selectOptionTableColumn.icons;else notPictureTemplate\">\n <div class=\"hd-option-icons\">\n <ng-container *ngFor=\"let icon of selectOptionTableColumn.icons\">\n <img *ngIf=\"icon.iconName === 'hd-recommend-star' && selectItem[icon.fieldName]\"\n src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAVpJREFUOE+l07FLQkEcB/Dv7713Zg1GQ0SgW9AmTYVp1BRUokZBEI1u/QVBUBD1D0Rt0dQaPYmotXza1tKQzQ1Fk0iDHr5vPEOTUpO88e77+9zvjjtBh8HTOb8e0hu0eN8Xzz22ikonoGzHdgXcAVB16S75U/mbn/m2AK+mglqbBUAGvCIRuVCJ7HLXQCUTPQOxXi8Q4FolnYWuAH0+HaEpjrdxAyC3VSq33xKgPTWiYYUai8IjUCabw4Zw1XWNF2+OZrXoi+cLImBth4odfQAw0elCW6zdKvU2/wVkYs8ggzBlRqrcI/DrrK1wQ7DWAIToV8lsqGxHDwTY6qYbA1jpCVAux3oBSirhDPYCOL6kE/s/QB77UrnNJoDDVkCN6pI+BJH+6xINQdpKOCf1d/AEYBxgUUQC5PcLbPMDXy1lhGXx7r0G6ExklpBwI0xh2w7ID+UzL71iL/MJdzuZdDL/kXcAAAAASUVORK5CYII=\"\n style=\"width: 16px;height: 16px;\">\n <img *ngIf=\"icon.iconName === 'hd-img-star' && selectItem[icon.fieldName]\"\n src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAyhJREFUWEe1ll1o1XYYxp8nPUmUihdCV3bAirvYzUC80Xpy3KwTZNR2CdOhDkTBwe6G32XzwqpjE3Qt4pUKZQqDyQZNTp1uY8yCJG0F2d2+LlWOOkShovQkaV45lcJpTdOTHJubBPI+z/Pj//H+/0TGR66uf8sPoz8A/Kstkp38YORxFitmEVU1vm1cBPlp9ZuQXtX0jmfxygQgvxSWBRWlDECvhgrwQFuqLufG4TAtRCaAwCl+IcDXtWEi2KFb7pUFBxCBEpSMMsDWGWEiNzXLe2/BASp2cTuJH+KCRMJ3dGvsrzQQqafAtw0XpBEfIhc00/tswQD8QWM1FP45d4A8V9XJN9k5Nl4vRKoR8G3jMshdyebRPs0cOftaAaRUbAsRrRRRhuczFsF/lPATNQrL3Hr7/nz1lGvvtkwGUSEC8gLkWfMGkAfQMp9J0n8ByhS5J+QDVr+BshBlUu6q3d5v9G3jIcg3GgnJqp2C853iCIB1WU0a1F2iOO2tPnK3CLQ1aJZKLpCfddPrmtoF8uuqZn9iyfcEzVQumYtlQDO9vS8PsprHd4xvAR7I7FuHUIBvdNP9crr0lT7g24U+UNlfh1f6Esrn2ofeuVphbCPyneJuAN+lT0jokZCduum9cobM2Qn9krEGEa6+hi36jEC3aro34vASW3FoG9si8sdGRoKCY6rlnpjLIxGgYhunSPY0AiAiP+mW93EmAN8ujoJobwgAuKOb7orUAHKjY1EwHjwFkGsEoKpVJ6WVH3n/p1oDwVBhk0TK742GV/UKYOZMt5QKoGIbX5E8mgwg4wCbADQn1c1uPvP2gWqB7xjDADck7OwBVan0QFFyQaj2A9wxV60A13XT7Uw1Ar5TlDiBQP6hRHs0a3Ss9n8wuK4jYtN5Em/H6B5ppht7r4jvhEOFtYiUGQEAnhDoV033ZNJwB45xRAS9IBfX1qnhRD7uhhQLENiFQ0Ll9LSBCM7olnu43gUpTjEfiPSB3D6tUQRbcpZ7bbZHLEBYKnRFogxV505rmjzIrtG/6w2fMS0l430RHAVoULBZtdybdQFkCcuqSXUtzxqSpHsBfmUdgJhaiDQAAAAASUVORK5CYII=\"\n style=\"width: 16px;height: 16px;\">\n <span *ngIf=\"icon.iconName === 'hd-select-close' && selectItem[icon.fieldName]\"\n class=\"hd-select-close\">\n \u7981\u7528\n </span>\n <span *ngIf=\"icon.iconName === 'hd-select-purchase' && selectItem[icon.fieldName]\"\n class=\"hd-select-purchase\">\n \u534F\n </span>\n </ng-container>\n </div>\n </ng-container>\n <ng-template #notPictureTemplate>\n <ng-container\n *ngIf=\"!isTextOverflow(selectOptionTableColumn.render ? selectOptionTableColumn.render(selectItem) : selectItem[selectOptionTableColumn.name], selectOptionTableColumn.width);else overflowTemplate\">\n <div>{{\n judgeColEmpty(selectOptionTableColumn.render ?\n selectOptionTableColumn.render(selectItem) :\n selectItem[selectOptionTableColumn.name])\n }}\n </div>\n </ng-container>\n <ng-template #overflowTemplate>\n <div class=\"hd-option-overflow\" nz-tooltip\n [nzTooltipTitle]=\"selectOptionTableColumn.render ? selectOptionTableColumn.render(selectItem) : selectItem[selectOptionTableColumn.name]\">\n {{\n judgeColEmpty(selectOptionTableColumn.render ?\n selectOptionTableColumn.render(selectItem) :\n selectItem[selectOptionTableColumn.name])\n }}\n </div>\n </ng-template>\n </ng-template>\n </div>\n </div>\n </nz-option>\n <nz-option\n *ngIf=\"formItem.selectOption.label && line.get(formItem.name) && line.get(formItem.selectOption.label)?.value && line.get(formItem.selectOption.value)?.value\"\n [nzLabel]=\"(formItem.selectOption.value === 'code' || formItem.selectOption.value === 'productCode' || formItem.selectOption.hdShowItemCode) ? ('['+ line.get(formItem.selectOption.value).value + ']' + line.get(formItem.selectOption.label).value) : line.get(formItem.selectOption.label).value\"\n [nzValue]=\"line.get(formItem.selectOption.value).value\" nzHide></nz-option>\n </nz-select>\n <ng-template #nomarlSelectTemplate>\n <nz-select #formInputDom (click)=\"setActiveDomInFormLines(dataIndex , innerIndex)\"\n [nzShowSearch]=\"formItem.selectOption.hdShowSearch != null ? formItem.selectOption.hdShowSearch : true\"\n [nzAllowClear]=\"formItem.selectOption.hdAllowClear != null ? formItem.selectOption.hdAllowClear : true\"\n [nzServerSearch]=\"formItem.selectOption.hdServerSearch || false\"\n [nzDropdownMatchSelectWidth]=\"formItem.selectOption.hdDropdownMatchSelectWidth ? formItem.selectOption.hdDropdownMatchSelectWidth : false\"\n [nzPlaceHolder]=\"formItem.placeholder ? formItem.placeholder : '\u8BF7\u9009\u62E9' + formItem.label\"\n [formControlName]=\"formItem.name\"\n (nzOnSearch)=\"onSearchEvent(formItem.onSearchEvent || null, $event, line, formItem.onSearchEventEventDebounceTime)\"\n [ngStyle]=\"getStyle(line, formItem, '200px')\">\n <nz-option\n *ngFor=\"let selectItem of (formItem.selectOption.selectList || line.get(formItem.selectOption.selectListName).value)\"\n [nzValue]=\"selectItem[formItem.selectOption.value]\" [nzLabel]=\"formItem.selectOption.showLabelAndValue ? '['+ selectItem[formItem.selectOption.value] +']' +\n selectItem[formItem.selectOption.label] : selectItem[formItem.selectOption.label]\">\n </nz-option>\n <nz-option\n *ngIf=\"formItem.selectOption.label && line.get(formItem.name) && line.get(formItem.selectOption.label)?.value && line.get(formItem.selectOption.value)?.value\"\n [nzLabel]=\"(formItem.selectOption.value === 'code' || formItem.selectOption.value === 'productCode' || formItem.selectOption.hdShowItemCode) ? ('['+ line.get(formItem.selectOption.value).value + ']' + line.get(formItem.selectOption.label).value) : line.get(formItem.selectOption.label).value\"\n [nzValue]=\"line.get(formItem.selectOption.value).value\" nzHide></nz-option>\n </nz-select>\n </ng-template>\n\n </ng-container>\n <ng-container *ngSwitchCase=\"'Date'\">\n <nz-date-picker #formInputDom (click)=\"setActiveDomInFormLines(dataIndex , innerIndex)\"\n *ngIf=\"formItem.showTime\" [ngStyle]=\"getStyle(line, formItem, '150px')\"\n [nzPlaceHolder]=\"formItem.placeholder ? formItem.placeholder : '\u8BF7\u9009\u62E9' + formItem.label\"\n [formControlName]=\"formItem.name\" [nzDisabledDate]=\"formItem.hdDisabledDate\"\n nzShowTime\n nzFormat=\"yyyy-MM-dd HH:mm:ss\">\n </nz-date-picker>\n <nz-date-picker #formInputDom *ngIf=\"!formItem.showTime\"\n [ngStyle]=\"getStyle(line, formItem, '150px')\"\n (click)=\"setActiveDomInFormLines(dataIndex , innerIndex)\"\n [nzPlaceHolder]=\"formItem.placeholder ? formItem.placeholder : '\u8BF7\u9009\u62E9' + formItem.label\"\n [formControlName]=\"formItem.name\" [nzDisabledDate]=\"formItem.hdDisabledDate\">\n </nz-date-picker>\n </ng-container>\n <ng-container *ngSwitchCase=\"'DateRange'\">\n <nz-range-picker #formInputDom [ngStyle]=\"getStyle(line, formItem, '200px')\"\n (click)=\"setActiveDomInFormLines(dataIndex , innerIndex)\"\n [nzPlaceHolder]=\"['\u5F00\u59CB\u65E5\u671F','\u7ED3\u675F\u65E5\u671F']\"\n [formControlName]=\"formItem.name\">\n </nz-range-picker>\n </ng-container>\n <ng-container *ngSwitchCase=\"'TextArea'\">\n <textarea #formInputDom (click)=\"setActiveDomInFormLines(dataIndex , innerIndex)\"\n [ngStyle]=\"{'color': formItem?.colorOption?.name ? line.get(formItem.colorOption.name).value : null}\"\n [placeholder]=\"formItem.placeholder ? formItem.placeholder : '\u8BF7\u8F93\u5165' + formItem.label\"\n [maxlength]=\"formItem.maxLength || null\" rows=\"4\" nz-input\n [maxlength]=\"formItem.maxLength || null\" [formControlName]=\"formItem.name\"></textarea>\n </ng-container>\n <ng-container *ngSwitchCase=\"'InputNumber'\">\n <div style=\"display: flex;align-items: center;\">\n <nz-input-number #formInputDom [ngStyle]=\"getStyle(line, formItem, '100px')\"\n [maxlength]=\"formItem.maxLength || null\" [formControlName]=\"formItem.name\"\n [nzMin]=\"formItem?.inputNumber?.min || 0\"\n [nzMax]=\"formItem?.inputNumber?.max || 99999999\"\n [nzStep]=\"formItem?.inputNumber?.step || 1\"\n [nzPrecision]=\"formItem?.inputNumber?.precision != null ? formItem.inputNumber.precision : 2\"\n [nzPlaceHolder]=\"formItem.placeholder ? formItem.placeholder : '\u8BF7\u8F93\u5165' + formItem.label\"\n [nzId]=\"'inputNumber-' + formItem.name + line.get('lineIndex').value\"\n (click)=\"formItem.isSelect ? selectValue('#inputNumber-' + formItem.name + line.get('lineIndex').value, dataIndex , innerIndex) : setActiveDomInFormLines(dataIndex , innerIndex)\">\n </nz-input-number>\n <div *ngIf=\"formItem?.explainOptionRight?.show\"\n [style.color]=\"formItem?.explainOptionRight?.color ? formItem.explainOptionRight.color : null\">\n &nbsp;&nbsp;{{ line.get(formItem.explainOptionRight.name).value }}\n </div>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'MultipleSelect'\">\n <nz-select #formInputDom (click)=\"setActiveDomInFormLines(dataIndex , innerIndex)\"\n nzMode=\"multiple\" [nzServerSearch]=\"formItem.selectOption.hdServerSearch || false\"\n [nzDropdownMatchSelectWidth]=\"formItem.selectOption.hdDropdownMatchSelectWidth ? formItem.selectOption.hdDropdownMatchSelectWidth : false\"\n [nzShowSearch]=\"formItem.selectOption.hdShowSearch != null ? formItem.selectOption.hdShowSearch : true\"\n [nzAllowClear]=\"formItem.selectOption.hdAllowClear != null ? formItem.selectOption.hdAllowClear : true\"\n [nzPlaceHolder]=\"formItem.placeholder ? formItem.placeholder : '\u8BF7\u9009\u62E9' + formItem.label\"\n [formControlName]=\"formItem.name\" [ngStyle]=\"getStyle(line, formItem, '200px')\"\n (nzOnSearch)=\"onSearchEvent(formItem.onSearchEvent || null, $event, line, formItem.onSearchEventEventDebounceTime)\">\n <nz-option *ngFor=\"let selectItem of formItem.selectOption.selectList\"\n [nzValue]=\"selectItem[formItem.selectOption.value]\" [nzLabel]=\"formItem.selectOption.showLabelAndValue ? '['+ selectItem[formItem.selectOption.value] +']' +\n selectItem[formItem.selectOption.label] : selectItem[formItem.selectOption.label]\"></nz-option>\n <ng-container\n *ngIf=\"formItem.selectOption.label && line.get(formItem.name) && line.get(formItem.selectOption.label)?.value && line.get(formItem.selectOption.value)?.value\">\n <nz-option *ngFor=\"let option of line.get(formItem.selectOption.value).value;index as i\"\n [nzLabel]=\"line.get(formItem.selectOption.label).value[i]\" [nzValue]=\"option\" nzHide>\n </nz-option>\n </ng-container>\n </nz-select>\n </ng-container>\n <ng-container *ngSwitchCase=\"'ViewDom'\">\n {{\n (formItem.preserveNumber && line.get(formItem.name).value) ?\n LodashRound(line.get(formItem.name).value, formItem.preserveNumber).toFixed(formItem.preserveNumber)\n : line.get(formItem.name).value\n }}\n <ng-container\n *ngTemplateOutlet=\"ViewDomRightTemplate;context:{formItem: formItem, formLine: line}\"></ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'Switch'\">\n <nz-switch (click)=\"setActiveDomInFormLines(dataIndex , innerIndex)\"\n [formControlName]=\"formItem.name\"></nz-switch>\n </ng-container>\n <ng-container *ngSwitchCase=\"'Time'\">\n <nz-time-picker #formInputDom [ngStyle]=\"getStyle(line, formItem, '200px')\"\n (click)=\"setActiveDomInFormLines(dataIndex , innerIndex)\"\n [formControlName]=\"formItem.name\"></nz-time-picker>\n </ng-container>\n </ng-container>\n </nz-form-control>\n </nz-form-item>\n <div *ngIf=\"formItem?.explainOption?.show\"\n [style.color]=\"formItem?.explainOption?.color ? formItem.explainOption.color : null\">\n {{ line.get(formItem.explainOption.name).value }}\n </div>\n </td>\n </ng-container>\n <td style=\"width: 80px\" nzRight=\"0\">\n <span class=\"common-btn-group\">\n <a *ngIf=\"operateButtons.includes('add')\" (click)=\"addFormLine(line.get('lineIndex').value)\">\u6DFB\u52A0</a>\n <a class=\"common-danger-btn\" *ngIf=\"operateButtons.includes('delete') && !showDeleteConfirm\"\n (click)=\"deleteFormLine(line.get('lineIndex').value)\">\u5220\u9664</a>\n <a class=\"common-danger-btn\" *ngIf=\"operateButtons.includes('delete') && showDeleteConfirm\" nz-popconfirm\n nzPopconfirmTitle=\"\u786E\u8BA4\u8981\u5220\u9664\u8BE5\u884C\u5417?\" nzPopconfirmPlacement=\"bottom\"\n (nzOnConfirm)=\"deleteFormLine(line.get('lineIndex').value)\">\u5220\u9664</a>\n </span>\n </td>\n </tr>\n </ng-container>\n <!-- \u5408\u8BA1\u533A\u57DF -->\n <tr *ngIf=\"showTotal\" class=\"hd-table-total\">\n <td>\u5408\u8BA1</td>\n <ng-container *ngFor=\"let totalOption of totalOptionList\">\n <td [nzAlign]=\"totalOption.align ? totalOption.align : 'left'\">{{\n (totalOption.value || totalOption.value ===\n 0) ? (((totalOption.value % 1 === 0) && !totalOption.showDecimal) ? totalOption.value :\n LodashRound(totalOption.value, 2).toFixed(2)) : ''\n }}\n </td>\n </ng-container>\n </tr>\n </tbody>\n </nz-table>\n <nz-list\n *ngIf=\"linesFormArray.controls.slice((paginationPageIndex - 1) * paginationPageSize, (paginationPageIndex - 1) * paginationPageSize + paginationPageSize).length === 0\"\n [nzDataSource]=\"[]\"></nz-list>\n <ng-container>\n <hd-space background=\"transparent\" type=\"row\" size=\"16\"></hd-space>\n <div class=\"hd-formLines-pagination\">\n <div class=\"hd-formLines-pagination-left\">\n <div *ngIf=\"showKeyboardOperateTip\">\u652F\u6301\u952E\u76D8\u64CD\u4F5C\uFF0C\u4F7F\u7528\n <i nz-icon nzType=\"up-circle\" nzTheme=\"outline\" style=\"font-size: 16px;margin-left: 4px;\"></i>\n <i nz-icon nzType=\"down-circle\" nzTheme=\"outline\" style=\"font-size: 16px;margin-left: 4px;\"></i>\n <i nz-icon nzType=\"left-circle\" nzTheme=\"outline\" style=\"font-size: 16px;margin-left: 4px;\"></i>\n <i nz-icon nzType=\"right-circle\" nzTheme=\"outline\" style=\"font-size: 16px;margin-left: 4px;\"></i>\n <span style=\"font-size: 14px;margin-left: 4px;font-weight: bolder;\">Enter</span>\n \u952E\u5207\u6362\u8868\u5355\u9879\n </div>\n </div>\n <nz-pagination [nzSize]=\"'small'\" style=\"text-align: right;\" [nzPageIndex]=\"paginationPageIndex\"\n [nzPageSize]=\"paginationPageSize\" [nzPageSizeOptions]=\"[10, 20, 30, 40, 50]\"\n [nzTotal]=\"linesFormArray.controls.length\" nzShowSizeChanger\n (nzPageIndexChange)=\"pageIndexChange($event)\"\n (nzPageSizeChange)=\"pageSizeChange($event)\" [nzShowTotal]=\"totalTemplate\"></nz-pagination>\n <ng-template #totalTemplate let-total>\u5171 {{ linesFormArray.controls.length }} \u6761\u6570\u636E</ng-template>\n </div>\n\n </ng-container>\n</form>\n",
3381
- styles: ["::ng-deep .common-btn-group>a{font-size:12px;font-weight:400;color:#12a34f!important;white-space:nowrap}::ng-deep .common-btn-group .common-danger-btn:hover{color:#f05b24!important}::ng-deep .common-btn-group>a:hover{color:#20bd62!important}::ng-deep .common-btn-group>a:not(:last-child)::after{content:'';margin:0 2px}::ng-deep .common-billNumber>a{color:#3b77e3}button{box-shadow:unset;text-shadow:unset}::ng-deep .ant-form-item-label>label{color:#4b504e}::ng-deep .ant-input-number-input{height:28px}::ng-deep .ant-input-number{height:28px}textarea.ant-input{height:auto;min-height:28px}::ng-deep .ant-select-selection--multiple{min-height:28px}::ng-deep .ant-select-selection__rendered>ul>li{height:22px!important;margin-top:3px!important;line-height:22px!important}::ng-deep .ant-advanced-search-form .ant-form-item{margin-bottom:0!important}::ng-deep .ant-select-selection--single{height:28px!important}::ng-deep .ant-input{height:28px}::ng-deep .ant-input[disabled]:hover{border-color:#d9d9d9!important}::ng-deep .ant-select-selection__rendered{line-height:28px!important}::ng-deep .ant-calendar-range-picker-input{text-align:left!important}::ng-deep .ant-calendar-picker{width:100%!important}::ng-deep .ant-row{margin-right:0!important;margin-left:0!important}::ng-deep .ant-col-6{padding-left:12px;padding-right:12px}::ng-deep .ant-col-12{padding-left:12px;padding-right:12px}::ng-deep .ant-col-18{padding-left:12px;padding-right:12px}::ng-deep .ant-col-24{padding-left:12px;padding-right:12px}::ng-deep .ant-alert-info{background-color:#f5f8f6;border:1px solid #cfe3d4}:host ::ng-deep th{background:#f5f8f6!important;font-weight:700!important;white-space:nowrap;font-size:12px;font-family:PingFangSC-Medium,PingFang SC;color:#2a3634;padding:8px!important;box-sizing:border-box}:host ::ng-deep td{font-weight:400;font-style:normal;font-size:12px;color:#2a3634;text-align:left;white-space:nowrap;padding:8px!important;box-sizing:border-box}::ng-deep .ant-pagination-options{display:inline-flex;align-items:center}::ng-deep .ant-time-picker{width:100%}.ant-input-number-disabled,.ant-input[disabled],.ant-select-disabled{color:#4b504e}.hd-formLines-container ::ng-deep td{padding:1.5px 8px!important}.hd-formLines-container .ant-table-tbody>tr>td,.hd-formLines-container ::ng-deep .ant-table-thead>tr>th{padding:16px 8px}.hd-formLines-container ::ng-deep .hd-table-total>td{border:0!important}.hd-formLines-container .ant-input-number{width:100%}::ng-deep .hd-select-table .ant-select-dropdown-menu-item-disabled{background:#f5f8f6!important;border-bottom:1px solid #e8e8e8;position:-webkit-sticky;position:sticky;top:0;z-index:10;padding:0}::ng-deep .hd-select-table .ant-select-dropdown-menu-item-disabled:hover{background:#f5f8f6!important}::ng-deep .hd-option-header{display:flex;align-items:center;color:rgba(0,0,0,.85);background:#f5f8f6}::ng-deep .hd-option-header-column{padding:5px 0}.hd-option-line{display:flex;align-items:center}.hd-option-overflow{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.hd-select-empty{display:flex;align-items:center;flex-direction:column;padding:20px 0;background:#fff}::ng-deep .ant-empty-small{background:#fff!important;padding:8px 0;margin:0}.hd-formLines-pagination{display:flex;align-items:center;justify-content:space-between}.hd-formLines-pagination .hd-formLines-pagination-left{margin-left:10px;display:flex;align-items:center}.hd-option-icons{display:flex;align-items:center}.hd-select-close{display:block;height:16px;line-height:14px;text-align:center;padding:0 4px;border:1px solid #f5222d;color:#f5222d;font-size:12px}.hd-select-purchase{display:block;height:16px;line-height:14px;text-align:center;padding:0 4px;border:1px solid #20bd62;color:#20bd62;font-size:12px}"]
4279
+ selector: "hd-form-lines",
4280
+ template: "<hd-button-group *ngIf=\"showForm && showSearch\">\n <ng-template #buttonGroupLeft>\n <nz-input-group [nzSuffix]=\"suffixIconSearch\">\n <input type=\"text\" nz-input (keyup.enter)=\"searchLines()\" placeholder=\"\u8BF7\u8F93\u5165\u5185\u5BB9\u641C\u7D22\" style=\"width: 300px;\"\n [(ngModel)]=\"filterStr\" />\n </nz-input-group>\n <ng-template #suffixIconSearch>\n <i nz-icon nzType=\"search\" (click)=\"searchLines()\"></i>\n </ng-template>\n </ng-template>\n</hd-button-group>\n\n<!-- <hd-button type=\"primary\" (clickAction)=\"focusDom(0, 0)\">\u805A\u7126\u7B2C\u4E00\u4E2A</hd-button> -->\n\n<hd-space *ngIf=\"showForm && showSearch\" background=\"transparent\" type=\"row\" size=\"16\"></hd-space>\n\n<form *ngIf=\"showForm\" nz-form [formGroup]=\"validateHdFormLines\" class=\"ant-advanced-search-form hd-formLines-container\"\n (keydown)=\"onKeyDown($event)\">\n <nz-table nzTemplateMode [nzFrontPagination]=\"false\" [nzLoading]=\"tableLoading\" [nzScroll]=\"scroll\"\n [nzPageSizeOptions]=\"[ 10, 50, 100, 200 ]\">\n <thead>\n <tr>\n <th nzWidth=\"58px\" nzLeft=\"0px\" *ngIf=\"showLineNumber\">\u5E8F\u53F7</th>\n <ng-container *ngFor=\"let item of formLines\">\n <th *ngIf=\"!item.hide\" [nzAlign]=\"item.align ? item.align : 'left'\">\n <span *ngIf=\"item.require\" style=\"color: red;\">*</span>{{ item.label }}\n </th>\n </ng-container>\n <th style=\"width: 80px\" nzRight=\"0\">\u64CD\u4F5C</th>\n </tr>\n </thead>\n <tbody>\n <ng-container\n *ngFor=\"let line of linesFormArray.controls.slice((paginationPageIndex - 1) * paginationPageSize, (paginationPageIndex - 1) * paginationPageSize + paginationPageSize);index as dataIndex\"\n formArrayName=\"lines\">\n <tr [formGroup]=\"line\">\n <td nzWidth=\"58px\" nzLeft=\"0px\" *ngIf=\"showLineNumber\">\n {{ line.get('lineIndex').value }}\n </td>\n <ng-container *ngFor=\"let formItem of formLines; index as innerIndex\">\n <td *ngIf=\"!formItem.hide\" [nzAlign]=\"formItem.align ? formItem.align : 'left'\">\n <nz-form-item>\n <nz-form-control [nzErrorTip]=\"formItem.label + '\u4E0D\u80FD\u4E3A\u7A7A'\">\n <ng-container [ngSwitch]=\"formItem.type\">\n <ng-container *ngSwitchCase=\"'Input'\">\n <nz-input-group [nzSuffix]=\"inputCleanTemplate\"\n (focusin)=\"setActiveDomInFormLines(dataIndex , innerIndex)\">\n <input #formInputDom (click)=\"setActiveDomInFormLines(dataIndex , innerIndex)\"\n [ngStyle]=\"getStyle(line, formItem, '100px')\" nz-input\n [ngStyle]=\"{'color': formItem?.colorOption?.name ? line.get(formItem.colorOption.name ).value : null}\"\n [id]=\"'input-' + formItem.name + line.get('lineIndex').value\"\n (click)=\"formItem.isSelect ? selectValue('#input-' + formItem.name + line.get('lineIndex').value, dataIndex , innerIndex) : null\"\n [maxlength]=\"formItem.maxLength || null\"\n [placeholder]=\"formItem.placeholder ? formItem.placeholder : '\u8BF7\u8F93\u5165' + formItem.label\"\n [formControlName]=\"formItem.name\" />\n </nz-input-group>\n <ng-template #inputCleanTemplate>\n <i nz-icon nz-tooltip class=\"ant-input-clear-icon\" nzTheme=\"fill\" nzType=\"close-circle\"\n *ngIf=\"line.get(formItem.name).value && !line.get(formItem.name).disabled\"\n (click)=\"inputClean(formItem ,line)\"></i>\n </ng-template>\n </ng-container>\n <ng-container *ngSwitchCase=\"'Select'\">\n <nz-select #formInputDom (focusin)=\"setActiveDomInFormLines(dataIndex , innerIndex)\"\n nzDropdownClassName=\"hd-select-table\"\n *ngIf=\"formItem.selectOption.tableColumns;else nomarlSelectTemplate\"\n [nzShowSearch]=\"formItem.selectOption.hdShowSearch != null ? formItem.selectOption.hdShowSearch : true\"\n [nzAllowClear]=\"formItem.selectOption.hdAllowClear != null ? formItem.selectOption.hdAllowClear : true\"\n [nzServerSearch]=\"formItem.selectOption.hdServerSearch || false\"\n [nzDropdownMatchSelectWidth]=\"formItem.selectOption.hdDropdownMatchSelectWidth ? formItem.selectOption.hdDropdownMatchSelectWidth : false\"\n [nzPlaceHolder]=\"formItem.placeholder ? formItem.placeholder : '\u8BF7\u9009\u62E9' + formItem.label\"\n [formControlName]=\"formItem.name\"\n (nzOnSearch)=\"onSearchEvent(formItem.onSearchEvent || null, $event, line, formItem.onSearchEventEventDebounceTime)\"\n [ngStyle]=\"getStyle(line, formItem, '200px')\">\n <div class=\"hd-select-empty\"\n *ngIf=\"!(formItem.selectOption?.selectList?.length > 0 || line.get(formItem.selectOption.selectListName)?.value?.length > 0)\">\n <img\n src=\"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjRweCIgaGVpZ2h0PSI0MXB4IiB2aWV3Qm94PSIwIDAgNjQgNDEiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDUyLjUgKDY3NDY5KSAtIGh0dHA6Ly93d3cuYm9oZW1pYW5jb2RpbmcuY29tL3NrZXRjaCAtLT4KICAgIDxnIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKC00NzIuMDAwMDAwLCAtMTMzNS4wMDAwMDApIj4KICAgICAgICAgICAgPGcgIHRyYW5zZm9ybT0idHJhbnNsYXRlKDY0LjAwMDAwMCwgMTExNC4wMDAwMDApIj4KICAgICAgICAgICAgICAgIDxnICB0cmFuc2Zvcm09InRyYW5zbGF0ZSg0MC4wMDAwMDAsIDc4LjAwMDAwMCkiPgogICAgICAgICAgICAgICAgICAgIDxnICB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzNjguMDAwMDAwLCAxNDQuMDAwMDAwKSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxnID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbGxpcHNlICBmaWxsPSIjRjVGNUY1IiBjeD0iMzIiIGN5PSIzMyIgcng9IjMyIiByeT0iNyI+PC9lbGxpcHNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgICB0cmFuc2Zvcm09InRyYW5zbGF0ZSg5LjAwMDAwMCwgMC4wMDAwMDApIiBmaWxsLXJ1bGU9Im5vbnplcm8iIHN0cm9rZT0iI0Q5RDlEOSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTQ2LDEyLjc2MDU2MDQgTDM1Ljg1NDMwNDcsMS4yNTczOTYzMyBDMzUuMzY3NDQxNCwwLjQ3MzgyNjYwNSAzNC42NTU4Nzg5LDAgMzMuOTA2NzYxNywwIEwxMi4wOTMyMzgzLDAgQzExLjM0NDEyMTEsMCAxMC42MzI1NTg2LDAuNDczOTUwMjU1IDEwLjE0NTY5NTMsMS4yNTczOTYzMyBMMi42MTQ3OTcyN2UtMTIsMTIuNzYwNTYwNCBMMCwyMiBMNDYsMjIgTDQ2LDEyLjc2MDU2MDQgWiIgID48L3BhdGg+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTMyLjYxMzI4MTMsMTUuOTMxNSBDMzIuNjEzMjgxMywxNC4zMjU4NTExIDMzLjYwNjk1MzEsMTMuMDAwMjM0IDM0LjgzOTY5OTIsMTMgTDQ2LDEzIEw0NiwzMS4xMzcxMjc3IEM0NiwzMy4yNTg5NTc0IDQ0LjY3OTM4NjcsMzUgNDMuMDUwNDI5NywzNSBMMi45NDk1NzAzMSwzNSBDMS4zMjA1MjM0NCwzNSAwLDMzLjI1ODg0MDQgMCwzMS4xMzcxMjc3IEwwLDEzIEwxMS4xNjAzMDA4LDEzIEMxMi4zOTMwNDY5LDEzIDEzLjM4NjcxODgsMTQuMzIyODA4NSAxMy4zODY3MTg4LDE1LjkyODQ1NzQgTDEzLjM4NjcxODgsMTUuOTQ5NjM4MyBDMTMuMzg2NzE4OCwxNy41NTUyODcyIDE0LjM5MTcxMDksMTguODUxMTgwOSAxNS42MjQ0NTcsMTguODUxMTgwOSBMMzAuMzc1NTQzLDE4Ljg1MTE4MDkgQzMxLjYwODI4OTEsMTguODUxMTgwOSAzMi42MTMyODEzLDE3LjU0MzM1MTEgMzIuNjEzMjgxMywxNS45Mzc3MDIxIEwzMi42MTMyODEzLDE1LjkzMTUgWiIgIGZpbGw9IiNGQUZBRkEiPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgPC9nPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+\"\n alt=\"empty\">\n <p class=\"ant-empty-description\">\u6682\u65E0\u6570\u636E</p>\n </div>\n\n <nz-option nzCustomContent\n *ngFor=\"let selectItem of (formItem.selectOption.selectList || line.get(formItem.selectOption.selectListName).value)\"\n [nzValue]=\"selectItem[formItem.selectOption.value]\" [nzLabel]=\"formItem.selectOption.showLabelAndValue ? '['+ selectItem[formItem.selectOption.value] +']' +\n selectItem[formItem.selectOption.label] : selectItem[formItem.selectOption.label]\">\n <div class=\"hd-option-line\">\n <div *ngFor=\"let selectOptionTableColumn of formItem.selectOption.tableColumns\"\n [ngStyle]=\"getSelectTableColumnStyle(selectOptionTableColumn)\">\n <ng-container *ngIf=\"selectOptionTableColumn.icons;else notPictureTemplate\">\n <div class=\"hd-option-icons\">\n <ng-container *ngFor=\"let icon of selectOptionTableColumn.icons\">\n <img *ngIf=\"icon.iconName === 'hd-recommend-star' && selectItem[icon.fieldName]\"\n src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAVpJREFUOE+l07FLQkEcB/Dv7713Zg1GQ0SgW9AmTYVp1BRUokZBEI1u/QVBUBD1D0Rt0dQaPYmotXza1tKQzQ1Fk0iDHr5vPEOTUpO88e77+9zvjjtBh8HTOb8e0hu0eN8Xzz22ikonoGzHdgXcAVB16S75U/mbn/m2AK+mglqbBUAGvCIRuVCJ7HLXQCUTPQOxXi8Q4FolnYWuAH0+HaEpjrdxAyC3VSq33xKgPTWiYYUai8IjUCabw4Zw1XWNF2+OZrXoi+cLImBth4odfQAw0elCW6zdKvU2/wVkYs8ggzBlRqrcI/DrrK1wQ7DWAIToV8lsqGxHDwTY6qYbA1jpCVAux3oBSirhDPYCOL6kE/s/QB77UrnNJoDDVkCN6pI+BJH+6xINQdpKOCf1d/AEYBxgUUQC5PcLbPMDXy1lhGXx7r0G6ExklpBwI0xh2w7ID+UzL71iL/MJdzuZdDL/kXcAAAAASUVORK5CYII=\"\n style=\"width: 16px;height: 16px;\">\n <img *ngIf=\"icon.iconName === 'hd-img-star' && selectItem[icon.fieldName]\"\n src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAyhJREFUWEe1ll1o1XYYxp8nPUmUihdCV3bAirvYzUC80Xpy3KwTZNR2CdOhDkTBwe6G32XzwqpjE3Qt4pUKZQqDyQZNTp1uY8yCJG0F2d2+LlWOOkShovQkaV45lcJpTdOTHJubBPI+z/Pj//H+/0TGR66uf8sPoz8A/Kstkp38YORxFitmEVU1vm1cBPlp9ZuQXtX0jmfxygQgvxSWBRWlDECvhgrwQFuqLufG4TAtRCaAwCl+IcDXtWEi2KFb7pUFBxCBEpSMMsDWGWEiNzXLe2/BASp2cTuJH+KCRMJ3dGvsrzQQqafAtw0XpBEfIhc00/tswQD8QWM1FP45d4A8V9XJN9k5Nl4vRKoR8G3jMshdyebRPs0cOftaAaRUbAsRrRRRhuczFsF/lPATNQrL3Hr7/nz1lGvvtkwGUSEC8gLkWfMGkAfQMp9J0n8ByhS5J+QDVr+BshBlUu6q3d5v9G3jIcg3GgnJqp2C853iCIB1WU0a1F2iOO2tPnK3CLQ1aJZKLpCfddPrmtoF8uuqZn9iyfcEzVQumYtlQDO9vS8PsprHd4xvAR7I7FuHUIBvdNP9crr0lT7g24U+UNlfh1f6Esrn2ofeuVphbCPyneJuAN+lT0jokZCduum9cobM2Qn9krEGEa6+hi36jEC3aro34vASW3FoG9si8sdGRoKCY6rlnpjLIxGgYhunSPY0AiAiP+mW93EmAN8ujoJobwgAuKOb7orUAHKjY1EwHjwFkGsEoKpVJ6WVH3n/p1oDwVBhk0TK742GV/UKYOZMt5QKoGIbX5E8mgwg4wCbADQn1c1uPvP2gWqB7xjDADck7OwBVan0QFFyQaj2A9wxV60A13XT7Uw1Ar5TlDiBQP6hRHs0a3Ss9n8wuK4jYtN5Em/H6B5ppht7r4jvhEOFtYiUGQEAnhDoV033ZNJwB45xRAS9IBfX1qnhRD7uhhQLENiFQ0Ll9LSBCM7olnu43gUpTjEfiPSB3D6tUQRbcpZ7bbZHLEBYKnRFogxV505rmjzIrtG/6w2fMS0l430RHAVoULBZtdybdQFkCcuqSXUtzxqSpHsBfmUdgJhaiDQAAAAASUVORK5CYII=\"\n style=\"width: 16px;height: 16px;\">\n <span *ngIf=\"icon.iconName === 'hd-select-close' && selectItem[icon.fieldName]\"\n class=\"hd-select-close\">\n \u7981\u7528\n </span>\n <span *ngIf=\"icon.iconName === 'hd-select-purchase' && selectItem[icon.fieldName]\"\n class=\"hd-select-purchase\">\n \u534F\n </span>\n </ng-container>\n </div>\n </ng-container>\n <ng-template #notPictureTemplate>\n <ng-container\n *ngIf=\"!isTextOverflow(selectOptionTableColumn.render ? selectOptionTableColumn.render(selectItem) : selectItem[selectOptionTableColumn.name], selectOptionTableColumn.width);else overflowTemplate\">\n <div>{{\n judgeColEmpty(selectOptionTableColumn.render ?\n selectOptionTableColumn.render(selectItem) :\n selectItem[selectOptionTableColumn.name])\n }}\n </div>\n </ng-container>\n <ng-template #overflowTemplate>\n <div class=\"hd-option-overflow\" nz-tooltip\n [nzTooltipTitle]=\"selectOptionTableColumn.render ? selectOptionTableColumn.render(selectItem) : selectItem[selectOptionTableColumn.name]\">\n {{\n judgeColEmpty(selectOptionTableColumn.render ?\n selectOptionTableColumn.render(selectItem) :\n selectItem[selectOptionTableColumn.name])\n }}\n </div>\n </ng-template>\n </ng-template>\n </div>\n </div>\n </nz-option>\n <nz-option\n *ngIf=\"formItem.selectOption.label && line.get(formItem.name) && line.get(formItem.selectOption.label)?.value && line.get(formItem.selectOption.value)?.value\"\n [nzLabel]=\"(formItem.selectOption.value === 'code' || formItem.selectOption.value === 'productCode' || formItem.selectOption.hdShowItemCode) ? ('['+ line.get(formItem.selectOption.value).value + ']' + line.get(formItem.selectOption.label).value) : line.get(formItem.selectOption.label).value\"\n [nzValue]=\"line.get(formItem.selectOption.value).value\" nzHide></nz-option>\n </nz-select>\n <ng-template #nomarlSelectTemplate>\n <nz-select #formInputDom (focusin)=\"setActiveDomInFormLines(dataIndex , innerIndex)\"\n [nzShowSearch]=\"formItem.selectOption.hdShowSearch != null ? formItem.selectOption.hdShowSearch : true\"\n [nzAllowClear]=\"formItem.selectOption.hdAllowClear != null ? formItem.selectOption.hdAllowClear : true\"\n [nzServerSearch]=\"formItem.selectOption.hdServerSearch || false\"\n [nzDropdownMatchSelectWidth]=\"formItem.selectOption.hdDropdownMatchSelectWidth ? formItem.selectOption.hdDropdownMatchSelectWidth : false\"\n [nzPlaceHolder]=\"formItem.placeholder ? formItem.placeholder : '\u8BF7\u9009\u62E9' + formItem.label\"\n [formControlName]=\"formItem.name\"\n (nzOnSearch)=\"onSearchEvent(formItem.onSearchEvent || null, $event, line, formItem.onSearchEventEventDebounceTime)\"\n [ngStyle]=\"getStyle(line, formItem, '200px')\">\n <nz-option\n *ngFor=\"let selectItem of (formItem.selectOption.selectList || line.get(formItem.selectOption.selectListName).value)\"\n [nzValue]=\"selectItem[formItem.selectOption.value]\" [nzLabel]=\"formItem.selectOption.showLabelAndValue ? '['+ selectItem[formItem.selectOption.value] +']' +\n selectItem[formItem.selectOption.label] : selectItem[formItem.selectOption.label]\">\n </nz-option>\n <nz-option\n *ngIf=\"formItem.selectOption.label && line.get(formItem.name) && line.get(formItem.selectOption.label)?.value && line.get(formItem.selectOption.value)?.value\"\n [nzLabel]=\"(formItem.selectOption.value === 'code' || formItem.selectOption.value === 'productCode' || formItem.selectOption.hdShowItemCode) ? ('['+ line.get(formItem.selectOption.value).value + ']' + line.get(formItem.selectOption.label).value) : line.get(formItem.selectOption.label).value\"\n [nzValue]=\"line.get(formItem.selectOption.value).value\" nzHide></nz-option>\n </nz-select>\n </ng-template>\n\n </ng-container>\n <ng-container *ngSwitchCase=\"'Date'\">\n <nz-date-picker #formInputDom (click)=\"setActiveDomInFormLines(dataIndex , innerIndex)\"\n (focusin)=\"setActiveDomInFormLines(dataIndex , innerIndex)\" *ngIf=\"formItem.showTime\"\n [ngStyle]=\"getStyle(line, formItem, '150px')\"\n [nzPlaceHolder]=\"formItem.placeholder ? formItem.placeholder : '\u8BF7\u9009\u62E9' + formItem.label\"\n [formControlName]=\"formItem.name\" [nzDisabledDate]=\"formItem.hdDisabledDate\"\n [nzShowToday]=\"formItem.hdShowToday !== false\" nzShowTime\n nzFormat=\"yyyy-MM-dd HH:mm:ss\">\n </nz-date-picker>\n <nz-date-picker #formInputDom *ngIf=\"!formItem.showTime\"\n [ngStyle]=\"getStyle(line, formItem, '150px')\"\n (click)=\"setActiveDomInFormLines(dataIndex , innerIndex)\"\n (focusin)=\"setActiveDomInFormLines(dataIndex , innerIndex)\"\n [nzPlaceHolder]=\"formItem.placeholder ? formItem.placeholder : '\u8BF7\u9009\u62E9' + formItem.label\"\n [formControlName]=\"formItem.name\" [nzDisabledDate]=\"formItem.hdDisabledDate\"\n [nzShowToday]=\"formItem.hdShowToday !== false\">\n </nz-date-picker>\n <div *ngIf=\"formItem?.explainOptionRight?.show\"\n [style.color]=\"formItem?.explainOptionRight?.color ? formItem.explainOptionRight.color : null\">\n &nbsp;&nbsp;{{ line.get(formItem.explainOptionRight.name).value }}\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'DateRange'\">\n <nz-range-picker #formInputDom [ngStyle]=\"getStyle(line, formItem, '200px')\"\n (click)=\"setActiveDomInFormLines(dataIndex , innerIndex)\"\n (focusin)=\"setActiveDomInFormLines(dataIndex , innerIndex)\"\n [nzDisabledDate]=\"formItem.hdDisabledDate\" [nzPlaceHolder]=\"['\u5F00\u59CB\u65E5\u671F','\u7ED3\u675F\u65E5\u671F']\"\n [formControlName]=\"formItem.name\">\n </nz-range-picker>\n </ng-container>\n <ng-container *ngSwitchCase=\"'TextArea'\">\n <textarea #formInputDom (click)=\"setActiveDomInFormLines(dataIndex , innerIndex)\"\n (focusin)=\"setActiveDomInFormLines(dataIndex , innerIndex)\"\n [ngStyle]=\"{'color': formItem?.colorOption?.name ? line.get(formItem.colorOption.name).value : null}\"\n [placeholder]=\"formItem.placeholder ? formItem.placeholder : '\u8BF7\u8F93\u5165' + formItem.label\"\n [maxlength]=\"formItem.maxLength || null\" rows=\"4\" nz-input\n [maxlength]=\"formItem.maxLength || null\" [formControlName]=\"formItem.name\"></textarea>\n </ng-container>\n <ng-container *ngSwitchCase=\"'InputNumber'\">\n <div style=\"display: flex;align-items: center;\"\n (focusin)=\"setActiveDomInFormLines(dataIndex , innerIndex)\">\n <nz-input-number #formInputDom [ngStyle]=\"getStyle(line, formItem, '100px')\"\n [maxlength]=\"formItem.maxLength || null\" [formControlName]=\"formItem.name\"\n [nzMin]=\"formItem?.inputNumber?.min || 0\" [nzMax]=\"formItem?.inputNumber?.max || 99999999\"\n [nzStep]=\"formItem?.inputNumber?.step || 1\"\n [nzPrecision]=\"formItem?.inputNumber?.precision != null ? formItem.inputNumber.precision : 2\"\n [nzPlaceHolder]=\"formItem.placeholder ? formItem.placeholder : '\u8BF7\u8F93\u5165' + formItem.label\"\n [nzId]=\"'inputNumber-' + formItem.name + line.get('lineIndex').value\"\n (click)=\"formItem.isSelect ? selectValue('#inputNumber-' + formItem.name + line.get('lineIndex').value, dataIndex , innerIndex) : setActiveDomInFormLines(dataIndex , innerIndex)\">\n </nz-input-number>\n <div *ngIf=\"formItem?.explainOptionRight?.show\"\n [style.color]=\"formItem?.explainOptionRight?.color ? formItem.explainOptionRight.color : null\">\n &nbsp;&nbsp;{{ line.get(formItem.explainOptionRight.name).value }}\n </div>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'MultipleSelect'\">\n <nz-select #formInputDom (click)=\"setActiveDomInFormLines(dataIndex , innerIndex)\"\n (focusin)=\"setActiveDomInFormLines(dataIndex , innerIndex)\" nzMode=\"multiple\"\n [nzServerSearch]=\"formItem.selectOption.hdServerSearch || false\"\n [nzDropdownMatchSelectWidth]=\"formItem.selectOption.hdDropdownMatchSelectWidth ? formItem.selectOption.hdDropdownMatchSelectWidth : false\"\n [nzShowSearch]=\"formItem.selectOption.hdShowSearch != null ? formItem.selectOption.hdShowSearch : true\"\n [nzAllowClear]=\"formItem.selectOption.hdAllowClear != null ? formItem.selectOption.hdAllowClear : true\"\n [nzPlaceHolder]=\"formItem.placeholder ? formItem.placeholder : '\u8BF7\u9009\u62E9' + formItem.label\"\n [formControlName]=\"formItem.name\" [ngStyle]=\"getStyle(line, formItem, '200px')\"\n (nzOnSearch)=\"onSearchEvent(formItem.onSearchEvent || null, $event, line, formItem.onSearchEventEventDebounceTime)\">\n <nz-option *ngFor=\"let selectItem of formItem.selectOption.selectList\"\n [nzValue]=\"selectItem[formItem.selectOption.value]\" [nzLabel]=\"formItem.selectOption.showLabelAndValue ? '['+ selectItem[formItem.selectOption.value] +']' +\n selectItem[formItem.selectOption.label] : selectItem[formItem.selectOption.label]\"></nz-option>\n <ng-container\n *ngIf=\"formItem.selectOption.label && line.get(formItem.name) && line.get(formItem.selectOption.label)?.value && line.get(formItem.selectOption.value)?.value\">\n <nz-option *ngFor=\"let option of line.get(formItem.selectOption.value).value;index as i\"\n [nzLabel]=\"line.get(formItem.selectOption.label).value[i]\" [nzValue]=\"option\" nzHide>\n </nz-option>\n </ng-container>\n </nz-select>\n </ng-container>\n <ng-container *ngSwitchCase=\"'ViewDom'\">\n <span *ngIf=\"!formItem?.hideViewDomValue\">\n {{\n (formItem.preserveNumber && line.get(formItem.name).value) ?\n LodashRound(line.get(formItem.name).value,\n formItem.preserveNumber).toFixed(formItem.preserveNumber)\n : line.get(formItem.name).value\n }}\n </span>\n <ng-container\n *ngTemplateOutlet=\"ViewDomRightTemplate;context:{formItem: formItem, formLine: line}\"></ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'Switch'\">\n <nz-switch (click)=\"setActiveDomInFormLines(dataIndex , innerIndex)\"\n [formControlName]=\"formItem.name\"></nz-switch>\n </ng-container>\n <ng-container *ngSwitchCase=\"'Time'\">\n <nz-time-picker #formInputDom [ngStyle]=\"getStyle(line, formItem, '200px')\"\n (click)=\"setActiveDomInFormLines(dataIndex , innerIndex)\"\n (focusin)=\"setActiveDomInFormLines(dataIndex , innerIndex)\"\n [formControlName]=\"formItem.name\"></nz-time-picker>\n </ng-container>\n </ng-container>\n </nz-form-control>\n </nz-form-item>\n <div *ngIf=\"formItem?.explainOption?.show\"\n [style.color]=\"formItem?.explainOption?.color ? formItem.explainOption.color : null\">\n {{ line.get(formItem.explainOption.name).value }}\n </div>\n </td>\n </ng-container>\n <td style=\"width: 80px\" nzRight=\"0\">\n <span class=\"common-btn-group\">\n <a *ngIf=\"operateButtons.includes('add')\" (click)=\"addFormLine(line.get('lineIndex').value)\">\u6DFB\u52A0</a>\n <a class=\"common-danger-btn\" *ngIf=\"operateButtons.includes('delete') && !showDeleteConfirm\"\n (click)=\"deleteFormLine(line.get('lineIndex').value)\">\u5220\u9664</a>\n <a class=\"common-danger-btn\" *ngIf=\"operateButtons.includes('delete') && showDeleteConfirm\" nz-popconfirm\n nzPopconfirmTitle=\"\u786E\u8BA4\u8981\u5220\u9664\u8BE5\u884C\u5417?\" nzPopconfirmPlacement=\"bottom\"\n (nzOnConfirm)=\"deleteFormLine(line.get('lineIndex').value)\">\u5220\u9664</a>\n </span>\n </td>\n </tr>\n </ng-container>\n <!-- \u5408\u8BA1\u533A\u57DF -->\n <tr *ngIf=\"showTotal\" class=\"hd-table-total\">\n <td>\u5408\u8BA1</td>\n <ng-container *ngFor=\"let totalOption of totalOptionList\">\n <td [nzAlign]=\"totalOption.align ? totalOption.align : 'left'\">{{\n (totalOption.value || totalOption.value ===\n 0) ? (((totalOption.value % 1 === 0) && !totalOption.showDecimal) ? totalOption.value :\n LodashRound(totalOption.value, 2).toFixed(2)) : ''\n }}\n </td>\n </ng-container>\n </tr>\n </tbody>\n </nz-table>\n <nz-list\n *ngIf=\"linesFormArray.controls.slice((paginationPageIndex - 1) * paginationPageSize, (paginationPageIndex - 1) * paginationPageSize + paginationPageSize).length === 0\"\n [nzDataSource]=\"[]\"></nz-list>\n <ng-container>\n <hd-space background=\"transparent\" type=\"row\" size=\"16\"></hd-space>\n <div class=\"hd-formLines-pagination\">\n <div class=\"hd-formLines-pagination-left\">\n <div *ngIf=\"showKeyboardOperateTip\">\u652F\u6301\u952E\u76D8\u64CD\u4F5C\uFF0C\u4F7F\u7528\n <i nz-icon nzType=\"up-circle\" nzTheme=\"outline\" style=\"font-size: 16px;margin-left: 4px;\"></i>\n <i nz-icon nzType=\"down-circle\" nzTheme=\"outline\" style=\"font-size: 16px;margin-left: 4px;\"></i>\n <i nz-icon nzType=\"left-circle\" nzTheme=\"outline\" style=\"font-size: 16px;margin-left: 4px;\"></i>\n <i nz-icon nzType=\"right-circle\" nzTheme=\"outline\" style=\"font-size: 16px;margin-left: 4px;\"></i>\n <span style=\"font-size: 14px;margin-left: 4px;font-weight: bolder;\">Enter</span>\n \u952E\u5207\u6362\u8868\u5355\u9879\n </div>\n </div>\n <nz-pagination [nzSize]=\"'small'\" style=\"text-align: right;\" [nzPageIndex]=\"paginationPageIndex\"\n [nzPageSize]=\"paginationPageSize\" [nzPageSizeOptions]=\"[10, 20, 30, 40, 50]\"\n [nzTotal]=\"linesFormArray.controls.length\" nzShowSizeChanger (nzPageIndexChange)=\"pageIndexChange($event)\"\n (nzPageSizeChange)=\"pageSizeChange($event)\" [nzShowTotal]=\"totalTemplate\"></nz-pagination>\n <ng-template #totalTemplate let-total>\u5171 {{ linesFormArray.controls.length }} \u6761\u6570\u636E</ng-template>\n </div>\n\n </ng-container>\n</form>\n",
4281
+ styles: ["::ng-deep .common-btn-group>a{font-size:14px;font-weight:400;color:#20b95d!important;white-space:nowrap}::ng-deep .common-btn-group .common-danger-btn:hover{color:#f05b24!important}::ng-deep .common-btn-group>a:hover{color:#20bd62!important}::ng-deep .common-btn-group>a:not(:last-child)::after{content:'';margin:0 2px}::ng-deep .common-billNumber>a{color:#3b77e3}button{box-shadow:unset;text-shadow:unset}::ng-deep .ant-form-item-label>label{color:#4b504e;font-size:14px}::ng-deep .ant-input-number-input{height:32px}::ng-deep .ant-input-number{height:32px}textarea.ant-input{height:auto;min-height:32px}::ng-deep .ant-select-selection--multiple{min-height:32px}::ng-deep .ant-select-selection__rendered>ul>li{height:26px!important;margin-top:3px!important;line-height:26px!important}::ng-deep .ant-advanced-search-form .ant-form-item{margin-bottom:0!important}::ng-deep .ant-select-selection--single{height:32px!important}::ng-deep .ant-input{height:32px}::ng-deep .ant-input[disabled]:hover{border-color:#d9d9d9!important}::ng-deep .ant-select-selection__rendered{line-height:32px!important}::ng-deep .ant-calendar-range-picker-input{text-align:left!important}::ng-deep .ant-calendar-picker{width:100%!important}::ng-deep .ant-row{margin-right:0!important;margin-left:0!important}::ng-deep .ant-col-6{padding-left:12px;padding-right:12px}::ng-deep .ant-col-12{padding-left:12px;padding-right:12px}::ng-deep .ant-col-18{padding-left:12px;padding-right:12px}::ng-deep .ant-col-24{padding-left:12px;padding-right:12px}::ng-deep .ant-alert-info{background-color:#f5f8f6;border:1px solid #cfe3d4}:host ::ng-deep th{background:#f5f8f6!important;font-weight:700!important;white-space:nowrap;font-size:14px;font-family:PingFangSC-Medium,PingFang SC;color:#2a3634;padding:8px!important;box-sizing:border-box}:host ::ng-deep td{font-weight:400;font-style:normal;font-size:14px;color:#2a3634;text-align:left;white-space:nowrap;padding:8px!important;box-sizing:border-box}::ng-deep .ant-pagination-options{display:inline-flex;align-items:center}::ng-deep .ant-time-picker{width:100%}.ant-input-number-disabled,.ant-input[disabled],.ant-select-disabled{color:#4b504e}.hd-formLines-container ::ng-deep td{padding:1.5px 8px!important}.hd-formLines-container .ant-table-tbody>tr>td,.hd-formLines-container ::ng-deep .ant-table-thead>tr>th{padding:16px 8px}.hd-formLines-container ::ng-deep .hd-table-total>td{border:0!important}.hd-formLines-container .ant-input-number{width:100%}::ng-deep .hd-select-table .ant-select-dropdown-menu-item-disabled{background:#f5f8f6!important;border-bottom:1px solid #e8e8e8;position:-webkit-sticky;position:sticky;top:0;z-index:10;padding:0}::ng-deep .hd-select-table .ant-select-dropdown-menu-item-disabled:hover{background:#f5f8f6!important}::ng-deep .hd-option-header{display:flex;align-items:center;color:rgba(0,0,0,.85);background:#f5f8f6}::ng-deep .hd-option-header-column{padding:5px 0}.hd-option-line{display:flex;align-items:center}.hd-option-overflow{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.hd-select-empty{display:flex;align-items:center;flex-direction:column;padding:20px 0;background:#fff}::ng-deep .ant-empty-small{background:#fff!important;padding:8px 0;margin:0}.hd-formLines-pagination{display:flex;align-items:center;justify-content:space-between}.hd-formLines-pagination .hd-formLines-pagination-left{margin-left:10px;display:flex;align-items:center}.hd-option-icons{display:flex;align-items:center}.hd-select-close{display:block;height:16px;line-height:14px;text-align:center;padding:0 4px;border:1px solid #f5222d;color:#f5222d;font-size:14px}.hd-select-purchase{display:block;height:16px;line-height:14px;text-align:center;padding:0 4px;border:1px solid #20bd62;color:#20bd62;font-size:14px}"]
3382
4282
  }] }
3383
4283
  ];
3384
4284
  /** @nocollapse */
@@ -3387,7 +4287,7 @@
3387
4287
  { type: core.ChangeDetectorRef }
3388
4288
  ]; };
3389
4289
  HdFormLinesComponent.propDecorators = {
3390
- formInputDomList: [{ type: core.ViewChildren, args: ['formInputDom',] }],
4290
+ formInputDomList: [{ type: core.ViewChildren, args: ["formInputDom",] }],
3391
4291
  showLineNumber: [{ type: core.Input }],
3392
4292
  allowEmpty: [{ type: core.Input }],
3393
4293
  deleteLastLineEvent: [{ type: core.Output }],
@@ -3403,7 +4303,7 @@
3403
4303
  showTotal: [{ type: core.Input }],
3404
4304
  totalOption: [{ type: core.Input }],
3405
4305
  columnsNumber: [{ type: core.Input }],
3406
- ViewDomRightTemplate: [{ type: core.ContentChild, args: ['ViewDomRightTemplate', { static: false },] }],
4306
+ ViewDomRightTemplate: [{ type: core.ContentChild, args: ["ViewDomRightTemplate", { static: false },] }],
3407
4307
  deleteLineEvent: [{ type: core.Output }]
3408
4308
  };
3409
4309
  __decorate([
@@ -3510,6 +4410,11 @@
3510
4410
  * @private
3511
4411
  */
3512
4412
  HdFormLinesComponent.prototype.searchSubscription;
4413
+ /**
4414
+ * @type {?}
4415
+ * @private
4416
+ */
4417
+ HdFormLinesComponent.prototype.formInputDomListSub;
3513
4418
  /** @type {?} */
3514
4419
  HdFormLinesComponent.prototype.collectDomList;
3515
4420
  /** @type {?} */
@@ -3554,19 +4459,7 @@
3554
4459
  common.CommonModule,
3555
4460
  forms.FormsModule,
3556
4461
  forms.ReactiveFormsModule,
3557
- ngZorroAntd.NzDatePickerModule,
3558
- form.NzFormModule,
3559
- icon.NzIconModule,
3560
- input.NzInputModule,
3561
- ngZorroAntd.NzInputNumberModule,
3562
- ngZorroAntd.NzListModule,
3563
- ngZorroAntd.NzPaginationModule,
3564
- ngZorroAntd.NzPopconfirmModule,
3565
- select.NzSelectModule,
3566
- ngZorroAntd.NzSwitchModule,
3567
- table.NzTableModule,
3568
- ngZorroAntd.NzTimePickerModule,
3569
- tooltip.NzToolTipModule,
4462
+ ngZorroAntd.NgZorroAntdModule,
3570
4463
  HdButtonModule,
3571
4464
  HdSpaceModule,
3572
4465
  HdButtonGroupModule
@@ -3578,6 +4471,162 @@
3578
4471
  return HdFormLinesModule;
3579
4472
  }());
3580
4473
 
4474
+ /**
4475
+ * @fileoverview added by tsickle
4476
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4477
+ */
4478
+ // 控件列表
4479
+ var
4480
+ // 控件列表
4481
+ FormItem = /** @class */ (function () {
4482
+ function FormItem() {
4483
+ // 字段名称
4484
+ this.require = false; // 是否必填
4485
+ // 输入框提示文案
4486
+ this.width = 1; // 占据的列数。默认1
4487
+ // 占据的列数。默认1
4488
+ this.hide = false; // 是否为隐藏字段,仅用于填充表单的字段,不显示在页面上
4489
+ // 是否为隐藏字段,仅用于填充表单的字段,不显示在页面上
4490
+ this.totalWidth = 0;
4491
+ this.isRowFirst = 0; // 是否是一行的第一个元素
4492
+ // 当前行的所有列的items
4493
+ this.value = null; // 值 不传默认为null
4494
+ // 控件为Checkbox组时,选项列表
4495
+ this.inputNumber = new InputNumber(); // number组件的min、max、step
4496
+ // date-picker组件不可选择的日期
4497
+ this.hdShowToday = true; // 对应 nzShowToday,是否显示「今天」按钮,默认 true
4498
+ // textArea的行数
4499
+ this.showTime = false; // 日期选择器是否包含时间
4500
+ }
4501
+ return FormItem;
4502
+ }());
4503
+ if (false) {
4504
+ /** @type {?} */
4505
+ FormItem.prototype.type;
4506
+ /** @type {?} */
4507
+ FormItem.prototype.label;
4508
+ /** @type {?} */
4509
+ FormItem.prototype.name;
4510
+ /** @type {?} */
4511
+ FormItem.prototype.require;
4512
+ /** @type {?} */
4513
+ FormItem.prototype.placeholder;
4514
+ /** @type {?} */
4515
+ FormItem.prototype.width;
4516
+ /** @type {?} */
4517
+ FormItem.prototype.hide;
4518
+ /** @type {?} */
4519
+ FormItem.prototype.totalWidth;
4520
+ /** @type {?} */
4521
+ FormItem.prototype.isRowFirst;
4522
+ /** @type {?} */
4523
+ FormItem.prototype.columnItems;
4524
+ /** @type {?} */
4525
+ FormItem.prototype.value;
4526
+ /** @type {?} */
4527
+ FormItem.prototype.disabled;
4528
+ /** @type {?} */
4529
+ FormItem.prototype.color;
4530
+ /** @type {?} */
4531
+ FormItem.prototype.maxLength;
4532
+ /** @type {?} */
4533
+ FormItem.prototype.prefix;
4534
+ /** @type {?} */
4535
+ FormItem.prototype.prefixIcon;
4536
+ /** @type {?} */
4537
+ FormItem.prototype.selectOption;
4538
+ /** @type {?} */
4539
+ FormItem.prototype.radioOption;
4540
+ /** @type {?} */
4541
+ FormItem.prototype.checkboxOption;
4542
+ /** @type {?} */
4543
+ FormItem.prototype.inputNumber;
4544
+ /** @type {?} */
4545
+ FormItem.prototype.onChangeEvent;
4546
+ /** @type {?} */
4547
+ FormItem.prototype.onSearchEvent;
4548
+ /** @type {?} */
4549
+ FormItem.prototype.defaultLabel;
4550
+ /** @type {?} */
4551
+ FormItem.prototype.hdDisabledDate;
4552
+ /** @type {?} */
4553
+ FormItem.prototype.hdShowToday;
4554
+ /** @type {?} */
4555
+ FormItem.prototype.explain;
4556
+ /** @type {?} */
4557
+ FormItem.prototype.textAreaRows;
4558
+ /** @type {?} */
4559
+ FormItem.prototype.showTime;
4560
+ /** @type {?} */
4561
+ FormItem.prototype.labelColor;
4562
+ /** @type {?} */
4563
+ FormItem.prototype.validatorKeys;
4564
+ /** @type {?} */
4565
+ FormItem.prototype.validator;
4566
+ /** @type {?} */
4567
+ FormItem.prototype.onChangeEventDebounceTime;
4568
+ /** @type {?} */
4569
+ FormItem.prototype.onSearchEventEventDebounceTime;
4570
+ /** @type {?} */
4571
+ FormItem.prototype.cascaderOption;
4572
+ /** @type {?} */
4573
+ FormItem.prototype.format;
4574
+ }
4575
+ var ValidatorKey = /** @class */ (function () {
4576
+ function ValidatorKey() {
4577
+ }
4578
+ return ValidatorKey;
4579
+ }());
4580
+ if (false) {
4581
+ /** @type {?} */
4582
+ ValidatorKey.prototype.key;
4583
+ /** @type {?} */
4584
+ ValidatorKey.prototype.label;
4585
+ }
4586
+ /** @enum {number} */
4587
+ var FormListType = {
4588
+ Input: 0,
4589
+ Select: 1,
4590
+ Date: 2,
4591
+ DateRange: 3,
4592
+ TextArea: 4,
4593
+ InputNumber: 5,
4594
+ MultipleSelect: 6,
4595
+ ViewDom: 7,
4596
+ Switch: 8,
4597
+ Time: 9,
4598
+ Cascader: 10,
4599
+ Radio: 11,
4600
+ Checkbox: 12 // 复选框
4601
+ ,
4602
+ };
4603
+ FormListType[FormListType.Input] = 'Input';
4604
+ FormListType[FormListType.Select] = 'Select';
4605
+ FormListType[FormListType.Date] = 'Date';
4606
+ FormListType[FormListType.DateRange] = 'DateRange';
4607
+ FormListType[FormListType.TextArea] = 'TextArea';
4608
+ FormListType[FormListType.InputNumber] = 'InputNumber';
4609
+ FormListType[FormListType.MultipleSelect] = 'MultipleSelect';
4610
+ FormListType[FormListType.ViewDom] = 'ViewDom';
4611
+ FormListType[FormListType.Switch] = 'Switch';
4612
+ FormListType[FormListType.Time] = 'Time';
4613
+ FormListType[FormListType.Cascader] = 'Cascader';
4614
+ FormListType[FormListType.Radio] = 'Radio';
4615
+ FormListType[FormListType.Checkbox] = 'Checkbox';
4616
+ var HdFormService = /** @class */ (function () {
4617
+ function HdFormService() {
4618
+ }
4619
+ HdFormService.decorators = [
4620
+ { type: core.Injectable, args: [{
4621
+ providedIn: 'root'
4622
+ },] }
4623
+ ];
4624
+ /** @nocollapse */
4625
+ HdFormService.ctorParameters = function () { return []; };
4626
+ /** @nocollapse */ HdFormService.ngInjectableDef = core.ɵɵdefineInjectable({ factory: function HdFormService_Factory() { return new HdFormService(); }, token: HdFormService, providedIn: "root" });
4627
+ return HdFormService;
4628
+ }());
4629
+
3581
4630
  /**
3582
4631
  * @fileoverview added by tsickle
3583
4632
  * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
@@ -3590,6 +4639,16 @@
3590
4639
  this.changeEvent = new core.EventEmitter();
3591
4640
  this.searchSubject = new rxjs.Subject();
3592
4641
  this.debounceTimeout = 0; // 默认防抖时间
4642
+ this.inputNumberDefaultFormatter = (/**
4643
+ * @param {?} value
4644
+ * @return {?}
4645
+ */
4646
+ function (value) { return value; });
4647
+ this.inputNumberDefaultParser = (/**
4648
+ * @param {?} value
4649
+ * @return {?}
4650
+ */
4651
+ function (value) { return value; });
3593
4652
  this.searchSubscription = this.searchSubject.pipe(operators.debounceTime(this.debounceTimeout)).subscribe((/**
3594
4653
  * @param {?} __0
3595
4654
  * @return {?}
@@ -3750,7 +4809,27 @@
3750
4809
  }
3751
4810
  }
3752
4811
  else {
3753
- throw 'form组件中DateRange控件value值格式不规范,正确示例[\'2020-01-22\', \'2020-01-23\']';
4812
+ throw 'form组件中DateRange控件value值格式不规范,正确示例[\'2020-01-22\', \'2020-01-23\']';
4813
+ }
4814
+ }
4815
+ else if (item.type === FormListType.Checkbox && item.checkboxOption) {
4816
+ /** @type {?} */
4817
+ var checkboxValue = Array.isArray(item.value) ? item.value : [];
4818
+ if (item.validator) {
4819
+ formGroupList[item.name] = _this.fb.control({ value: checkboxValue, disabled: item.disabled }, item.require && !item.hide ? [forms.Validators.required, item.validator] : []);
4820
+ }
4821
+ else {
4822
+ formGroupList[item.name] = _this.fb.control({ value: checkboxValue, disabled: item.disabled }, item.require && !item.hide ? [forms.Validators.required] : []);
4823
+ }
4824
+ }
4825
+ else if (item.type === FormListType.Checkbox) {
4826
+ /** @type {?} */
4827
+ var checkboxValue = item.value != null ? item.value : false;
4828
+ if (item.validator) {
4829
+ formGroupList[item.name] = _this.fb.control({ value: checkboxValue, disabled: item.disabled }, item.require && !item.hide ? [forms.Validators.required, item.validator] : []);
4830
+ }
4831
+ else {
4832
+ formGroupList[item.name] = _this.fb.control({ value: checkboxValue, disabled: item.disabled }, item.require && !item.hide ? [forms.Validators.required] : []);
3754
4833
  }
3755
4834
  }
3756
4835
  else {
@@ -3949,11 +5028,60 @@
3949
5028
  patchObject[filter.name] = null;
3950
5029
  this.validateHdForm.patchValue(patchObject);
3951
5030
  };
5031
+ /**
5032
+ * @param {?} name
5033
+ * @param {?} value
5034
+ * @return {?}
5035
+ */
5036
+ HdFormComponent.prototype.isCheckboxChecked = /**
5037
+ * @param {?} name
5038
+ * @param {?} value
5039
+ * @return {?}
5040
+ */
5041
+ function (name, value) {
5042
+ /** @type {?} */
5043
+ var control = this.validateHdForm.get(name);
5044
+ /** @type {?} */
5045
+ var current = control ? control.value : null;
5046
+ return Array.isArray(current) && current.indexOf(value) !== -1;
5047
+ };
5048
+ /**
5049
+ * @param {?} name
5050
+ * @param {?} value
5051
+ * @param {?} checked
5052
+ * @return {?}
5053
+ */
5054
+ HdFormComponent.prototype.onCheckboxItemChange = /**
5055
+ * @param {?} name
5056
+ * @param {?} value
5057
+ * @param {?} checked
5058
+ * @return {?}
5059
+ */
5060
+ function (name, value, checked) {
5061
+ /** @type {?} */
5062
+ var control = this.validateHdForm.get(name);
5063
+ if (!control) {
5064
+ return;
5065
+ }
5066
+ /** @type {?} */
5067
+ var current = Array.isArray(control.value) ? __spread(control.value) : [];
5068
+ /** @type {?} */
5069
+ var index = current.indexOf(value);
5070
+ if (checked && index === -1) {
5071
+ current.push(value);
5072
+ }
5073
+ else if (!checked && index !== -1) {
5074
+ current.splice(index, 1);
5075
+ }
5076
+ control.setValue(current);
5077
+ control.markAsDirty();
5078
+ control.updateValueAndValidity();
5079
+ };
3952
5080
  HdFormComponent.decorators = [
3953
5081
  { type: core.Component, args: [{
3954
5082
  selector: 'hd-form',
3955
- template: "<form nz-form [formGroup]=\"validateHdForm\" class=\"ant-advanced-search-form hd-formItem-container\">\n <!-- \u6574\u4F53\u7ED3\u6784 -->\n <div nz-row [nzGutter]=\"24\">\n <!-- \u5BF9\u7EC4\u4EF6\u5217\u8868\u5FAA\u73AF\u5904\u7406 -->\n <ng-container *ngFor=\"let formItem of formList;index as i\">\n <div nz-row *ngIf=\"formItem.isRowFirst && formItem.isRowFirst === 1\">\n <div nz-col *ngIf=\"!formItem.hide\" [nzSpan]=\"formItem.width? formItem.width * 6 : 6\">\n <nz-form-item nzFlex>\n <nz-form-label class=\"hd-formItem-label\" [nzNoColon]=\"true\">\n <div class=\"hd-formItem-label-flex\">\n <span>\n <span class=\"hd-formItem-label-require\" *ngIf=\"formItem.require\">*</span>\n <span\n [ngStyle]=\"{'color': formItem?.labelColor ? formItem.labelColor : null}\">{{ formItem.label }}</span>\n </span>\n <ng-container *ngIf=\"formItem.explain\">\n <span class=\"hd-formItem-label-explain\">{{ formItem.explain }}</span>\n </ng-container>\n </div>\n </nz-form-label>\n <nz-form-control class=\"hd-formItem-control\" [nzErrorTip]=\"formItemErrorTpl\">\n <ng-template #formItemErrorTpl let-control>\n <ng-container *ngFor=\"let validatorKey of formItem.validatorKeys;index as i\">\n <ng-container *ngIf=\"control.hasError(validatorKey.key)\">\n {{ validatorKey.label }}\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"control.hasError('required')\">\n {{ formItem.label + '\u4E0D\u80FD\u4E3A\u7A7A' }}\n </ng-container>\n </ng-template>\n <ng-container [ngSwitch]=\"formItem.type\">\n <ng-container *ngSwitchCase=\"0\">\n <nz-input-group [nzSuffix]=\"inputCleanTemplate\">\n <input nz-input [ngStyle]=\"{'color': formItem?.color ? formItem.color : null}\"\n [maxlength]=\"formItem.maxLength || null\"\n [placeholder]=\"formItem.placeholder ? formItem.placeholder : '\u8BF7\u8F93\u5165' + formItem.label\"\n [formControlName]=\"formItem.name\"/>\n </nz-input-group>\n <ng-template #inputCleanTemplate><i nz-icon nz-tooltip class=\"ant-input-clear-icon\" nzTheme=\"fill\"\n nzType=\"close-circle\"\n *ngIf=\"validateHdForm.get(formItem.name).value && !formItem.disabled && !validateHdForm.get(formItem.name).disabled\"\n (click)=\"inputClean(formItem)\"></i></ng-template>\n </ng-container>\n <ng-container *ngSwitchCase=\"1\">\n <nz-select\n [nzShowSearch]=\"formItem.selectOption.hdShowSearch != null ? formItem.selectOption.hdShowSearch : true\"\n [nzAllowClear]=\"formItem.selectOption.hdAllowClear != null ? formItem.selectOption.hdAllowClear : true\"\n [nzServerSearch]=\"formItem.selectOption.hdServerSearch || false\"\n [nzDropdownMatchSelectWidth]=\"formItem.selectOption.hdDropdownMatchSelectWidth ? formItem.selectOption.hdDropdownMatchSelectWidth : false\"\n [nzPlaceHolder]=\"formItem.placeholder ? formItem.placeholder : '\u8BF7\u9009\u62E9' + formItem.label\"\n [formControlName]=\"formItem.name\"\n (nzOnSearch)=\"onSearchEvent(formItem.onSearchEvent || null, $event, formItem.onSearchEventEventDebounceTime)\">\n <nz-option *ngFor=\"let selectItem of formItem.selectOption.selectList\"\n [nzValue]=\"selectItem[formItem.selectOption.value]\" [nzLabel]=\"formItem.selectOption.showLabelAndValue ? '['+ selectItem[formItem.selectOption.value] +']' +\n selectItem[formItem.selectOption.label] : selectItem[formItem.selectOption.label]\"></nz-option>\n <nz-option *ngIf=\"formItem.defaultLabel\" [nzLabel]=\"formItem.defaultLabel\"\n [nzValue]=\"formItem.value\" nzHide></nz-option>\n <nz-option\n *ngIf=\"formItem.selectOption.label && validateHdForm.get(formItem.name) && validateHdForm.get(formItem.selectOption.label)?.value && validateHdForm.get(formItem.selectOption.value)?.value\"\n [nzLabel]=\"(formItem.selectOption.showLabelAndValue || formItem.selectOption.hdShowItemCode) ? ('['+ validateHdForm.get(formItem.selectOption.value).value + ']' + validateHdForm.get(formItem.selectOption.label).value) : validateHdForm.get(formItem.selectOption.label).value\"\n [nzValue]=\"validateHdForm.get(formItem.selectOption.value).value\" nzHide></nz-option>\n </nz-select>\n </ng-container>\n <ng-container *ngSwitchCase=\"2\">\n <nz-date-picker *ngIf=\"!formItem.showTime\" [nzDisabledDate]=\"formItem.hdDisabledDate\"\n [nzPlaceHolder]=\"formItem.placeholder ? formItem.placeholder : '\u8BF7\u9009\u62E9' + formItem.label\"\n [formControlName]=\"formItem.name\">\n </nz-date-picker>\n <nz-date-picker *ngIf=\"formItem.showTime\" [nzDisabledDate]=\"formItem.hdDisabledDate\"\n [nzPlaceHolder]=\"formItem.placeholder ? formItem.placeholder : '\u8BF7\u9009\u62E9' + formItem.label\"\n [formControlName]=\"formItem.name\" nzShowTime nzFormat=\"yyyy-MM-dd HH:mm:ss\">\n </nz-date-picker>\n </ng-container>\n <ng-container *ngSwitchCase=\"3\">\n <nz-range-picker [nzPlaceHolder]=\"['\u5F00\u59CB\u65E5\u671F','\u7ED3\u675F\u65E5\u671F']\" [formControlName]=\"formItem.name\">\n </nz-range-picker>\n </ng-container>\n <ng-container *ngSwitchCase=\"4\">\n <textarea [ngStyle]=\"{'color': formItem?.color ? formItem.color : null}\"\n [rows]=\"formItem.textAreaRows ? formItem.textAreaRows : 1\"\n [placeholder]=\"formItem.placeholder ? formItem.placeholder : '\u8BF7\u8F93\u5165' + formItem.label\"\n rows=\"1\"\n nz-input [maxlength]=\"formItem.maxLength || null\"\n [formControlName]=\"formItem.name\"></textarea>\n </ng-container>\n <ng-container *ngSwitchCase=\"5\">\n <nz-input-number [ngStyle]=\"{'color': formItem?.color ? formItem.color : null}\"\n [formControlName]=\"formItem.name\" [nzMin]=\"formItem?.inputNumber?.min || 0\"\n [nzMax]=\"formItem?.inputNumber?.max || 99999999\"\n [nzStep]=\"formItem?.inputNumber?.step || 1\"\n [nzPlaceHolder]=\"'\u8BF7\u8F93\u5165' + formItem.label\"\n [nzPrecision]=\"formItem?.inputNumber?.precision != null ? formItem.inputNumber.precision : 4\">\n </nz-input-number>\n </ng-container>\n <!-- \u591A\u9879\u9009\u62E9\u5668 -->\n <ng-container *ngSwitchCase=\"6\">\n <nz-select [nzServerSearch]=\"formItem.selectOption.hdServerSearch || false\"\n [nzDropdownMatchSelectWidth]=\"formItem.selectOption.hdDropdownMatchSelectWidth ? formItem.selectOption.hdDropdownMatchSelectWidth : false\"\n nzMode=\"multiple\"\n [nzShowSearch]=\"formItem.selectOption.hdShowSearch != null ? formItem.selectOption.hdShowSearch : true\"\n [nzAllowClear]=\"formItem.selectOption.hdAllowClear != null ? formItem.selectOption.hdAllowClear : true\"\n [nzPlaceHolder]=\"formItem.placeholder ? formItem.placeholder : '\u8BF7\u9009\u62E9' + formItem.label\"\n [formControlName]=\"formItem.name\"\n (nzOnSearch)=\"onSearchEvent(formItem.onSearchEvent || null, $event, formItem.onSearchEventEventDebounceTime)\">\n <nz-option *ngFor=\"let selectItem of formItem.selectOption.selectList\"\n [nzValue]=\"selectItem[formItem.selectOption.value]\" [nzLabel]=\"formItem.selectOption.showLabelAndValue ? '['+ selectItem[formItem.selectOption.value] +']' +\n selectItem[formItem.selectOption.label] : selectItem[formItem.selectOption.label]\"></nz-option>\n <ng-container *ngIf=\"formItem.defaultLabel\">\n <nz-option *ngFor=\"let option of formItem.defaultLabel;index as i\" [nzLabel]=\"option\"\n [nzValue]=\"formItem.value[i]\" nzHide></nz-option>\n </ng-container>\n <ng-container\n *ngIf=\"formItem.selectOption.label && validateHdForm.get(formItem.name) && validateHdForm.get(formItem.selectOption.label)?.value && validateHdForm.get(formItem.selectOption.value)?.value\">\n <nz-option *ngFor=\"let option of validateHdForm.get(formItem.selectOption.value).value;index as i\"\n [nzLabel]=\"validateHdForm.get(formItem.selectOption.label).value[i]\" [nzValue]=\"option\"\n nzHide>\n </nz-option>\n </ng-container>\n </nz-select>\n </ng-container>\n <ng-container *ngSwitchCase=\"7\">\n <span>{{ formItem.value || validateHdForm.get(formItem.name).value }}</span>\n </ng-container>\n <ng-container *ngSwitchCase=\"8\">\n <nz-switch [formControlName]=\"formItem.name\"></nz-switch>\n </ng-container>\n <ng-container *ngSwitchCase=\"9\">\n <nz-time-picker [formControlName]=\"formItem.name\" [nzFormat]=\"formItem.format\"\n [nzAllowEmpty]=\"!formItem.disabled\"></nz-time-picker>\n </ng-container>\n <ng-container *ngSwitchCase=\"10\">\n <nz-cascader [nzOptions]=\"formItem.cascaderOption.options\" [formControlName]=\"formItem.name\"\n [nzPlaceHolder]=\"formItem.placeholder ? formItem.placeholder : '\u8BF7\u9009\u62E9' + formItem.label\">\n </nz-cascader>\n </ng-container>\n </ng-container>\n </nz-form-control>\n </nz-form-item>\n </div>\n <!-- \u5FAA\u73AF\u6700\u591A\u56DB\u6B21 -->\n <ng-container *ngFor=\"let columnItem of formItem.columnItems;index as columnItemIndex\">\n <div nz-col *ngIf=\"!columnItem.hide\" [nzSpan]=\"columnItem.width? columnItem.width * 6 : 6\">\n <nz-form-item nzFlex>\n <nz-form-label class=\"hd-formItem-label\" [nzNoColon]=\"true\">\n <div class=\"hd-formItem-label-flex\">\n <span>\n <span class=\"hd-formItem-label-require\" *ngIf=\"columnItem.require\">*</span>\n <span\n [ngStyle]=\"{'color': columnItem?.labelColor ? columnItem.labelColor : null}\">{{ columnItem.label }}</span>\n </span>\n <ng-container *ngIf=\"columnItem.explain\">\n <span class=\"hd-formItem-label-explain\">{{ columnItem.explain }}</span>\n </ng-container>\n </div>\n </nz-form-label>\n <nz-form-control class=\"hd-formItem-control\" [nzErrorTip]=\"columnItemErrorTpl\">\n <ng-template #columnItemErrorTpl let-control>\n <ng-container *ngFor=\"let validatorKey of columnItem.validatorKeys;index as i\">\n <ng-container *ngIf=\"control.hasError(validatorKey.key)\">\n {{ validatorKey.label }}\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"control.hasError('required')\">\n {{ columnItem.label + '\u4E0D\u80FD\u4E3A\u7A7A' }}\n </ng-container>\n </ng-template>\n <ng-container [ngSwitch]=\"columnItem.type\">\n <ng-container *ngSwitchCase=\"0\">\n <nz-input-group [nzSuffix]=\"inputCleanTemplate\">\n <input *ngIf=\"columnItem.disabled === true;else inputTemplate\" nz-input\n [ngStyle]=\"{'color': columnItem?.color ? columnItem.color : null}\" [disabled]=\"true\"\n [attr.disabled]=\"true\" [maxlength]=\"columnItem.maxLength || null\"\n [placeholder]=\"columnItem.placeholder ? columnItem.placeholder : '\u8BF7\u8F93\u5165' + columnItem.label\"\n [formControlName]=\"columnItem.name\"/>\n <ng-template #inputTemplate>\n <input nz-input [ngStyle]=\"{'color': columnItem?.color ? formItem.color : null}\"\n [maxlength]=\"columnItem.maxLength || null\"\n [placeholder]=\"columnItem.placeholder ? columnItem.placeholder : '\u8BF7\u8F93\u5165' + columnItem.label\"\n [formControlName]=\"columnItem.name\"/>\n </ng-template>\n </nz-input-group>\n <ng-template #inputCleanTemplate><i nz-icon nz-tooltip class=\"ant-input-clear-icon\" nzTheme=\"fill\"\n nzType=\"close-circle\"\n *ngIf=\"validateHdForm.get(columnItem.name).value && !columnItem.disabled && !validateHdForm.get(formItem.name).disabled\"\n (click)=\"inputClean(columnItem)\"></i></ng-template>\n </ng-container>\n <ng-container *ngSwitchCase=\"1\">\n <nz-select [nzServerSearch]=\"columnItem.selectOption.hdServerSearch || false\"\n [nzDropdownMatchSelectWidth]=\"columnItem.selectOption.hdDropdownMatchSelectWidth ? columnItem.selectOption.hdDropdownMatchSelectWidth : false\"\n [nzShowSearch]=\"columnItem.selectOption.hdShowSearch != null ? columnItem.selectOption.hdShowSearch : true\"\n [nzAllowClear]=\"columnItem.selectOption.hdAllowClear != null ? columnItem.selectOption.hdAllowClear : true\"\n [nzPlaceHolder]=\"columnItem.placeholder ? columnItem.placeholder : '\u8BF7\u9009\u62E9' + columnItem.label\"\n [formControlName]=\"columnItem.name\"\n (nzOnSearch)=\"onSearchEvent(columnItem.onSearchEvent || null, $event, columnItem.onSearchEventEventDebounceTime)\">\n <nz-option *ngFor=\"let selectItem of columnItem.selectOption.selectList\"\n [nzValue]=\"selectItem[columnItem.selectOption.value]\" [nzLabel]=\"columnItem.selectOption.showLabelAndValue ? '['+ selectItem[columnItem.selectOption.value] +']' +\n selectItem[columnItem.selectOption.label] : selectItem[columnItem.selectOption.label]\">\n </nz-option>\n <nz-option\n *ngIf=\"columnItem.selectOption.label && validateHdForm.get(columnItem.name) && validateHdForm.get(columnItem.selectOption.label)?.value && validateHdForm.get(columnItem.selectOption.value)?.value\"\n [nzLabel]=\"(columnItem.selectOption.showLabelAndValue || columnItem.selectOption.hdShowItemCode) ? ('['+ validateHdForm.get(columnItem.selectOption.value).value + ']' + validateHdForm.get(columnItem.selectOption.label).value) : validateHdForm.get(columnItem.selectOption.label).value\"\n [nzValue]=\"validateHdForm.get(columnItem.selectOption.value).value\" nzHide></nz-option>\n </nz-select>\n </ng-container>\n <ng-container *ngSwitchCase=\"2\">\n <nz-date-picker *ngIf=\"columnItem.showTime\" [nzDisabledDate]=\"columnItem.hdDisabledDate\"\n [nzPlaceHolder]=\"columnItem.placeholder ? columnItem.placeholder : '\u8BF7\u9009\u62E9' + columnItem.label\"\n [formControlName]=\"columnItem.name\" nzShowTime nzFormat=\"yyyy-MM-dd HH:mm:ss\">\n </nz-date-picker>\n <nz-date-picker *ngIf=\"!columnItem.showTime\" [nzDisabledDate]=\"columnItem.hdDisabledDate\"\n [nzPlaceHolder]=\"columnItem.placeholder ? columnItem.placeholder : '\u8BF7\u9009\u62E9' + columnItem.label\"\n [formControlName]=\"columnItem.name\">\n </nz-date-picker>\n </ng-container>\n <ng-container *ngSwitchCase=\"3\">\n <nz-range-picker [nzPlaceHolder]=\"['\u5F00\u59CB\u65E5\u671F','\u7ED3\u675F\u65E5\u671F']\" [formControlName]=\"columnItem.name\">\n </nz-range-picker>\n </ng-container>\n <ng-container *ngSwitchCase=\"4\">\n <textarea [ngStyle]=\"{'color': columnItem?.color ? columnItem.color : null}\"\n [rows]=\"columnItem.textAreaRows ? columnItem.textAreaRows : 1\" rows=\"1\" nz-input\n [placeholder]=\"columnItem.placeholder ? columnItem.placeholder : '\u8BF7\u8F93\u5165' + columnItem.label\"\n [maxlength]=\"columnItem.maxLength || null\" [formControlName]=\"columnItem.name\"></textarea>\n </ng-container>\n <ng-container *ngSwitchCase=\"5\">\n <nz-input-number [ngStyle]=\"{'color': columnItem?.color ? columnItem.color : null}\"\n [formControlName]=\"columnItem.name\" [nzMin]=\"columnItem?.inputNumber?.min || 0\"\n [nzMax]=\"columnItem?.inputNumber?.max || 99999999\"\n [nzStep]=\"columnItem?.inputNumber?.step || 1\"\n [nzPlaceHolder]=\"columnItem.placeholder ? columnItem.placeholder : '\u8BF7\u8F93\u5165' + columnItem.label\"\n [nzPrecision]=\"columnItem?.inputNumber?.precision != null ? columnItem.inputNumber.precision : 4\">\n </nz-input-number>\n </ng-container>\n <!-- \u591A\u9879\u9009\u62E9\u5668 -->\n <ng-container *ngSwitchCase=\"6\">\n <nz-select [nzServerSearch]=\"columnItem.selectOption.hdServerSearch || false\"\n [nzDropdownMatchSelectWidth]=\"columnItem.selectOption.hdDropdownMatchSelectWidth ? columnItem.selectOption.hdDropdownMatchSelectWidth : false\"\n nzMode=\"multiple\"\n [nzShowSearch]=\"columnItem.selectOption.hdShowSearch != null ? columnItem.selectOption.hdShowSearch : true\"\n [nzAllowClear]=\"columnItem.selectOption.hdAllowClear != null ? columnItem.selectOption.hdAllowClear : true\"\n [nzPlaceHolder]=\"columnItem.placeholder ? columnItem.placeholder : '\u8BF7\u9009\u62E9' + columnItem.label\"\n [formControlName]=\"columnItem.name\"\n (nzOnSearch)=\"onSearchEvent(columnItem.onSearchEvent || null, $event, columnItem.onSearchEventEventDebounceTime)\">\n <nz-option *ngFor=\"let selectItem of columnItem.selectOption.selectList\"\n [nzValue]=\"selectItem[columnItem.selectOption.value]\" [nzLabel]=\"columnItem.selectOption.showLabelAndValue ? '['+ selectItem[columnItem.selectOption.value] +']' +\n selectItem[columnItem.selectOption.label] : selectItem[columnItem.selectOption.label]\">\n </nz-option>\n <ng-container *ngIf=\"columnItem.defaultLabel\">\n <nz-option *ngFor=\"let option of columnItem.defaultLabel;index as i\" [nzLabel]=\"option\"\n [nzValue]=\"columnItem.value[i]\" nzHide></nz-option>\n </ng-container>\n <ng-container\n *ngIf=\"columnItem.selectOption.label && validateHdForm.get(columnItem.name) && validateHdForm.get(columnItem.selectOption.label)?.value && validateHdForm.get(columnItem.selectOption.value)?.value\">\n <nz-option\n *ngFor=\"let option of validateHdForm.get(columnItem.selectOption.value).value;index as i\"\n [nzLabel]=\"validateHdForm.get(columnItem.selectOption.label).value[i]\" [nzValue]=\"option\"\n nzHide>\n </nz-option>\n </ng-container>\n </nz-select>\n </ng-container>\n <ng-container *ngSwitchCase=\"7\">\n <span>{{ columnItem.value || validateHdForm.get(columnItem.name).value }}</span>\n </ng-container>\n <ng-container *ngSwitchCase=\"8\">\n <nz-switch [formControlName]=\"columnItem.name\"></nz-switch>\n </ng-container>\n <ng-container *ngSwitchCase=\"9\">\n <nz-time-picker [formControlName]=\"columnItem.name\" [nzFormat]=\"columnItem.format\"\n [nzAllowEmpty]=\"!columnItem.disabled\"></nz-time-picker>\n </ng-container>\n <ng-container *ngSwitchCase=\"10\">\n <nz-cascader [nzOptions]=\"columnItem.cascaderOption.options\" [formControlName]=\"columnItem.name\"\n [nzPlaceHolder]=\"columnItem.placeholder ? columnItem.placeholder : '\u8BF7\u9009\u62E9' + columnItem.label\">\n </nz-cascader>\n </ng-container>\n </ng-container>\n </nz-form-control>\n </nz-form-item>\n </div>\n </ng-container>\n </div>\n </ng-container>\n </div>\n</form>\n",
3956
- styles: ["::ng-deep .common-btn-group>a{font-size:12px;font-weight:400;color:#12a34f!important;white-space:nowrap}::ng-deep .common-btn-group .common-danger-btn:hover{color:#f05b24!important}::ng-deep .common-btn-group>a:hover{color:#20bd62!important}::ng-deep .common-btn-group>a:not(:last-child)::after{content:'';margin:0 2px}::ng-deep .common-billNumber>a{color:#3b77e3}button{box-shadow:unset;text-shadow:unset}::ng-deep .ant-form-item-label>label{color:#4b504e}::ng-deep .ant-input-number-input{height:28px}::ng-deep .ant-input-number{height:28px}textarea.ant-input{height:auto;min-height:28px}::ng-deep .ant-select-selection--multiple{min-height:28px}::ng-deep .ant-select-selection__rendered>ul>li{height:22px!important;margin-top:3px!important;line-height:22px!important}::ng-deep .ant-advanced-search-form .ant-form-item{margin-bottom:0!important}::ng-deep .ant-select-selection--single{height:28px!important}::ng-deep .ant-input{height:28px}::ng-deep .ant-input[disabled]:hover{border-color:#d9d9d9!important}::ng-deep .ant-select-selection__rendered{line-height:28px!important}::ng-deep .ant-calendar-range-picker-input{text-align:left!important}::ng-deep .ant-calendar-picker{width:100%!important}::ng-deep .ant-row{margin-right:0!important;margin-left:0!important}::ng-deep .ant-col-6{padding-left:12px;padding-right:12px}::ng-deep .ant-col-12{padding-left:12px;padding-right:12px}::ng-deep .ant-col-18{padding-left:12px;padding-right:12px}::ng-deep .ant-col-24{padding-left:12px;padding-right:12px}::ng-deep .ant-alert-info{background-color:#f5f8f6;border:1px solid #cfe3d4}:host ::ng-deep th{background:#f5f8f6!important;font-weight:700!important;white-space:nowrap;font-size:12px;font-family:PingFangSC-Medium,PingFang SC;color:#2a3634;padding:8px!important;box-sizing:border-box}:host ::ng-deep td{font-weight:400;font-style:normal;font-size:12px;color:#2a3634;text-align:left;white-space:nowrap;padding:8px!important;box-sizing:border-box}::ng-deep .ant-pagination-options{display:inline-flex;align-items:center}::ng-deep .ant-time-picker{width:100%}.ant-input-number-disabled,.ant-input[disabled],.ant-select-disabled{color:#4b504e}.hd-formItem-container .hd-formItem-label{width:108px;word-break:break-all;text-align:right}.hd-formItem-container .hd-formItem-control{width:calc(100% - 108px)}.hd-formItem-container .ant-input-number{width:100%}.hd-formItem-container .hd-formItem-label-flex{display:inline-flex;flex-direction:column}.hd-formItem-container .hd-formItem-label-flex span{display:inline-block}.hd-formItem-container .hd-formItem-label-flex .hd-formItem-label-require{margin-right:4px;color:#f5222d;font-size:12px;font-family:SimSun,sans-serif}.hd-formItem-container .hd-formItem-label-flex .hd-formItem-label-explain{margin-top:-13px;color:#f5222d}.hd-formItem-container textarea{margin-top:8px}"]
5083
+ template: "<form nz-form [formGroup]=\"validateHdForm\" class=\"ant-advanced-search-form hd-formItem-container\">\n <!-- \u6574\u4F53\u7ED3\u6784 -->\n <div nz-row [nzGutter]=\"24\">\n <!-- \u5BF9\u7EC4\u4EF6\u5217\u8868\u5FAA\u73AF\u5904\u7406 -->\n <ng-container *ngFor=\"let formItem of formList;index as i\">\n <div nz-row *ngIf=\"formItem.isRowFirst && formItem.isRowFirst === 1\">\n <div nz-col *ngIf=\"!formItem.hide\" [nzSpan]=\"formItem.width? formItem.width * 6 : 6\">\n <nz-form-item nzFlex>\n <nz-form-label class=\"hd-formItem-label\" [nzNoColon]=\"true\">\n <div class=\"hd-formItem-label-flex\">\n <span>\n <span class=\"hd-formItem-label-require\" *ngIf=\"formItem.require\">*</span>\n <span [ngStyle]=\"{'color': formItem?.labelColor ? formItem.labelColor : null}\">{{ formItem.label\n }}</span>\n </span>\n <ng-container *ngIf=\"formItem.explain\">\n <span class=\"hd-formItem-label-explain\">{{ formItem.explain }}</span>\n </ng-container>\n </div>\n </nz-form-label>\n <nz-form-control class=\"hd-formItem-control\" [nzErrorTip]=\"formItemErrorTpl\">\n <ng-template #formItemErrorTpl let-control>\n <ng-container *ngFor=\"let validatorKey of formItem.validatorKeys;index as i\">\n <ng-container *ngIf=\"control.hasError(validatorKey.key)\">\n {{ validatorKey.label }}\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"control.hasError('required')\">\n {{ formItem.label + '\u4E0D\u80FD\u4E3A\u7A7A' }}\n </ng-container>\n </ng-template>\n <ng-container [ngSwitch]=\"formItem.type\">\n <ng-container *ngSwitchCase=\"0\">\n <nz-input-group [nzSuffix]=\"inputCleanTemplate\"\n [nzPrefix]=\"formItem.prefixIcon ? inputPrefixIconTemplate : formItem.prefix\">\n <input nz-input [ngStyle]=\"{'color': formItem?.color ? formItem.color : null}\"\n [maxlength]=\"formItem.maxLength || null\"\n [placeholder]=\"formItem.placeholder ? formItem.placeholder : '\u8BF7\u8F93\u5165' + formItem.label\"\n [formControlName]=\"formItem.name\" />\n </nz-input-group>\n <ng-template #inputPrefixIconTemplate><i nz-icon [nzType]=\"formItem.prefixIcon\"></i></ng-template>\n <ng-template #inputCleanTemplate><i nz-icon nz-tooltip class=\"ant-input-clear-icon\" nzTheme=\"fill\"\n nzType=\"close-circle\"\n *ngIf=\"validateHdForm.get(formItem.name).value && !formItem.disabled && !validateHdForm.get(formItem.name).disabled\"\n (click)=\"inputClean(formItem)\"></i></ng-template>\n </ng-container>\n <ng-container *ngSwitchCase=\"1\">\n <nz-select\n [nzShowSearch]=\"formItem.selectOption.hdShowSearch != null ? formItem.selectOption.hdShowSearch : true\"\n [nzAllowClear]=\"formItem.selectOption.hdAllowClear != null ? formItem.selectOption.hdAllowClear : true\"\n [nzServerSearch]=\"formItem.selectOption.hdServerSearch || false\"\n [nzDropdownMatchSelectWidth]=\"formItem.selectOption.hdDropdownMatchSelectWidth ? formItem.selectOption.hdDropdownMatchSelectWidth : false\"\n [nzPlaceHolder]=\"formItem.placeholder ? formItem.placeholder : '\u8BF7\u9009\u62E9' + formItem.label\"\n [formControlName]=\"formItem.name\"\n (nzOnSearch)=\"onSearchEvent(formItem.onSearchEvent || null, $event, formItem.onSearchEventEventDebounceTime)\">\n <nz-option *ngFor=\"let selectItem of formItem.selectOption.selectList\"\n [nzValue]=\"selectItem[formItem.selectOption.value]\" [nzLabel]=\"formItem.selectOption.showLabelAndValue ? '['+ selectItem[formItem.selectOption.value] +']' +\n selectItem[formItem.selectOption.label] : selectItem[formItem.selectOption.label]\"></nz-option>\n <nz-option *ngIf=\"formItem.defaultLabel\" [nzLabel]=\"formItem.defaultLabel\"\n [nzValue]=\"formItem.value\" nzHide></nz-option>\n <nz-option\n *ngIf=\"formItem.selectOption.label && validateHdForm.get(formItem.name) && validateHdForm.get(formItem.selectOption.label)?.value && validateHdForm.get(formItem.selectOption.value)?.value\"\n [nzLabel]=\"(formItem.selectOption.showLabelAndValue || formItem.selectOption.hdShowItemCode) ? ('['+ validateHdForm.get(formItem.selectOption.value).value + ']' + validateHdForm.get(formItem.selectOption.label).value) : validateHdForm.get(formItem.selectOption.label).value\"\n [nzValue]=\"validateHdForm.get(formItem.selectOption.value).value\" nzHide></nz-option>\n </nz-select>\n </ng-container>\n <ng-container *ngSwitchCase=\"2\">\n <nz-date-picker *ngIf=\"!formItem.showTime\" [nzDisabledDate]=\"formItem.hdDisabledDate\"\n [nzShowToday]=\"formItem.hdShowToday !== false\"\n [nzPlaceHolder]=\"formItem.placeholder ? formItem.placeholder : '\u8BF7\u9009\u62E9' + formItem.label\"\n [formControlName]=\"formItem.name\">\n </nz-date-picker>\n <nz-date-picker *ngIf=\"formItem.showTime\" [nzDisabledDate]=\"formItem.hdDisabledDate\"\n [nzShowToday]=\"formItem.hdShowToday !== false\"\n [nzPlaceHolder]=\"formItem.placeholder ? formItem.placeholder : '\u8BF7\u9009\u62E9' + formItem.label\"\n [formControlName]=\"formItem.name\" nzShowTime nzFormat=\"yyyy-MM-dd HH:mm:ss\">\n </nz-date-picker>\n </ng-container>\n <ng-container *ngSwitchCase=\"3\">\n <nz-range-picker [nzPlaceHolder]=\"formItem.showTime ? ['\u5F00\u59CB\u65F6\u95F4','\u7ED3\u675F\u65F6\u95F4'] : ['\u5F00\u59CB\u65E5\u671F','\u7ED3\u675F\u65E5\u671F']\"\n [nzDisabledDate]=\"formItem.hdDisabledDate\" [formControlName]=\"formItem.name\"\n [nzShowTime]=\"formItem.showTime ? true : false\">\n </nz-range-picker>\n </ng-container>\n <ng-container *ngSwitchCase=\"4\">\n <textarea [ngStyle]=\"{'color': formItem?.color ? formItem.color : null}\"\n [rows]=\"formItem.textAreaRows ? formItem.textAreaRows : 1\"\n [placeholder]=\"formItem.placeholder ? formItem.placeholder : '\u8BF7\u8F93\u5165' + formItem.label\" rows=\"1\"\n nz-input [maxlength]=\"formItem.maxLength || null\" [formControlName]=\"formItem.name\"></textarea>\n </ng-container>\n <ng-container *ngSwitchCase=\"5\">\n <nz-input-number [ngStyle]=\"{'color': formItem?.color ? formItem.color : null}\"\n [formControlName]=\"formItem.name\" [nzMin]=\"formItem?.inputNumber?.min || 0\"\n [nzMax]=\"formItem?.inputNumber?.max || 99999999\" [nzStep]=\"formItem?.inputNumber?.step || 1\"\n [nzPlaceHolder]=\"'\u8BF7\u8F93\u5165' + formItem.label\"\n [nzFormatter]=\"formItem?.inputNumber?.nzFormatter || inputNumberDefaultFormatter\"\n [nzParser]=\"formItem?.inputNumber?.nzParser || inputNumberDefaultParser\"\n [nzPrecision]=\"formItem?.inputNumber?.precision != null ? formItem.inputNumber.precision : 4\">\n </nz-input-number>\n </ng-container>\n <!-- \u591A\u9879\u9009\u62E9\u5668 -->\n <ng-container *ngSwitchCase=\"6\">\n <nz-select [nzServerSearch]=\"formItem.selectOption.hdServerSearch || false\"\n [nzDropdownMatchSelectWidth]=\"formItem.selectOption.hdDropdownMatchSelectWidth ? formItem.selectOption.hdDropdownMatchSelectWidth : false\"\n nzMode=\"multiple\"\n [nzShowSearch]=\"formItem.selectOption.hdShowSearch != null ? formItem.selectOption.hdShowSearch : true\"\n [nzAllowClear]=\"formItem.selectOption.hdAllowClear != null ? formItem.selectOption.hdAllowClear : true\"\n [nzPlaceHolder]=\"formItem.placeholder ? formItem.placeholder : '\u8BF7\u9009\u62E9' + formItem.label\"\n [formControlName]=\"formItem.name\"\n (nzOnSearch)=\"onSearchEvent(formItem.onSearchEvent || null, $event, formItem.onSearchEventEventDebounceTime)\">\n <nz-option *ngFor=\"let selectItem of formItem.selectOption.selectList\"\n [nzValue]=\"selectItem[formItem.selectOption.value]\" [nzLabel]=\"formItem.selectOption.showLabelAndValue ? '['+ selectItem[formItem.selectOption.value] +']' +\n selectItem[formItem.selectOption.label] : selectItem[formItem.selectOption.label]\"></nz-option>\n <ng-container *ngIf=\"formItem.defaultLabel\">\n <nz-option *ngFor=\"let option of formItem.defaultLabel;index as i\" [nzLabel]=\"option\"\n [nzValue]=\"formItem.value[i]\" nzHide></nz-option>\n </ng-container>\n <ng-container\n *ngIf=\"formItem.selectOption.label && validateHdForm.get(formItem.name) && validateHdForm.get(formItem.selectOption.label)?.value && validateHdForm.get(formItem.selectOption.value)?.value\">\n <nz-option *ngFor=\"let option of validateHdForm.get(formItem.selectOption.value).value;index as i\"\n [nzLabel]=\"validateHdForm.get(formItem.selectOption.label).value[i]\" [nzValue]=\"option\" nzHide>\n </nz-option>\n </ng-container>\n </nz-select>\n </ng-container>\n <ng-container *ngSwitchCase=\"7\">\n <span>{{ formItem.value || validateHdForm.get(formItem.name).value }}</span>\n </ng-container>\n <ng-container *ngSwitchCase=\"8\">\n <nz-switch [formControlName]=\"formItem.name\"></nz-switch>\n </ng-container>\n <ng-container *ngSwitchCase=\"9\">\n <nz-time-picker [formControlName]=\"formItem.name\" [nzFormat]=\"formItem.format\"\n [nzAllowEmpty]=\"!formItem.disabled\"></nz-time-picker>\n </ng-container>\n <ng-container *ngSwitchCase=\"10\">\n <nz-cascader [nzOptions]=\"formItem.cascaderOption.options\" [formControlName]=\"formItem.name\"\n [nzPlaceHolder]=\"formItem.placeholder ? formItem.placeholder : '\u8BF7\u9009\u62E9' + formItem.label\">\n </nz-cascader>\n </ng-container>\n <ng-container *ngSwitchCase=\"11\">\n <nz-radio-group [formControlName]=\"formItem.name\">\n <label nz-radio *ngFor=\"let radioItem of formItem.radioOption.optionList\"\n [nzValue]=\"radioItem[formItem.radioOption.value]\">\n {{ formItem.radioOption.showLabelAndValue ? '[' + radioItem[formItem.radioOption.value] + ']' +\n radioItem[formItem.radioOption.label] : radioItem[formItem.radioOption.label] }}\n </label>\n </nz-radio-group>\n </ng-container>\n <ng-container *ngSwitchCase=\"12\">\n <ng-container *ngIf=\"formItem.checkboxOption; else singleCheckboxTpl\">\n <label nz-checkbox\n *ngFor=\"let checkboxItem of formItem.checkboxOption.optionList\"\n [nzDisabled]=\"formItem.disabled || validateHdForm.get(formItem.name).disabled\"\n [ngModel]=\"isCheckboxChecked(formItem.name, checkboxItem[formItem.checkboxOption.value])\"\n (ngModelChange)=\"onCheckboxItemChange(formItem.name, checkboxItem[formItem.checkboxOption.value], $event)\"\n [ngModelOptions]=\"{standalone: true}\">\n {{ formItem.checkboxOption.showLabelAndValue\n ? '[' + checkboxItem[formItem.checkboxOption.value] + ']' + checkboxItem[formItem.checkboxOption.label]\n : checkboxItem[formItem.checkboxOption.label] }}\n </label>\n </ng-container>\n <ng-template #singleCheckboxTpl>\n <label nz-checkbox [formControlName]=\"formItem.name\"></label>\n </ng-template>\n </ng-container>\n </ng-container>\n </nz-form-control>\n </nz-form-item>\n </div>\n <!-- \u5FAA\u73AF\u6700\u591A\u56DB\u6B21 -->\n <ng-container *ngFor=\"let columnItem of formItem.columnItems;index as columnItemIndex\">\n <div nz-col *ngIf=\"!columnItem.hide\" [nzSpan]=\"columnItem.width? columnItem.width * 6 : 6\">\n <nz-form-item nzFlex>\n <nz-form-label class=\"hd-formItem-label\" [nzNoColon]=\"true\">\n <div class=\"hd-formItem-label-flex\">\n <span>\n <span class=\"hd-formItem-label-require\" *ngIf=\"columnItem.require\">*</span>\n <span [ngStyle]=\"{'color': columnItem?.labelColor ? columnItem.labelColor : null}\">{{\n columnItem.label }}</span>\n </span>\n <ng-container *ngIf=\"columnItem.explain\">\n <span class=\"hd-formItem-label-explain\">{{ columnItem.explain }}</span>\n </ng-container>\n </div>\n </nz-form-label>\n <nz-form-control class=\"hd-formItem-control\" [nzErrorTip]=\"columnItemErrorTpl\">\n <ng-template #columnItemErrorTpl let-control>\n <ng-container *ngFor=\"let validatorKey of columnItem.validatorKeys;index as i\">\n <ng-container *ngIf=\"control.hasError(validatorKey.key)\">\n {{ validatorKey.label }}\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"control.hasError('required')\">\n {{ columnItem.label + '\u4E0D\u80FD\u4E3A\u7A7A' }}\n </ng-container>\n </ng-template>\n <ng-container [ngSwitch]=\"columnItem.type\">\n <ng-container *ngSwitchCase=\"0\">\n <nz-input-group [nzSuffix]=\"inputCleanTemplate\"\n [nzPrefix]=\"columnItem.prefixIcon ? inputPrefixIconTemplate : columnItem.prefix\">\n <input *ngIf=\"columnItem.disabled === true;else inputTemplate\" nz-input\n [ngStyle]=\"{'color': columnItem?.color ? columnItem.color : null}\" [disabled]=\"true\"\n [attr.disabled]=\"true\" [maxlength]=\"columnItem.maxLength || null\"\n [placeholder]=\"columnItem.placeholder ? columnItem.placeholder : '\u8BF7\u8F93\u5165' + columnItem.label\"\n [formControlName]=\"columnItem.name\" />\n <ng-template #inputTemplate>\n <input nz-input [ngStyle]=\"{'color': columnItem?.color ? formItem.color : null}\"\n [maxlength]=\"columnItem.maxLength || null\"\n [placeholder]=\"columnItem.placeholder ? columnItem.placeholder : '\u8BF7\u8F93\u5165' + columnItem.label\"\n [formControlName]=\"columnItem.name\" />\n </ng-template>\n </nz-input-group>\n <ng-template #inputPrefixIconTemplate><i nz-icon [nzType]=\"columnItem.prefixIcon\"></i></ng-template>\n <ng-template #inputCleanTemplate><i nz-icon nz-tooltip class=\"ant-input-clear-icon\" nzTheme=\"fill\"\n nzType=\"close-circle\"\n *ngIf=\"validateHdForm.get(columnItem.name).value && !columnItem.disabled && !validateHdForm.get(formItem.name).disabled\"\n (click)=\"inputClean(columnItem)\"></i></ng-template>\n </ng-container>\n <ng-container *ngSwitchCase=\"1\">\n <nz-select [nzServerSearch]=\"columnItem.selectOption.hdServerSearch || false\"\n [nzDropdownMatchSelectWidth]=\"columnItem.selectOption.hdDropdownMatchSelectWidth ? columnItem.selectOption.hdDropdownMatchSelectWidth : false\"\n [nzShowSearch]=\"columnItem.selectOption.hdShowSearch != null ? columnItem.selectOption.hdShowSearch : true\"\n [nzAllowClear]=\"columnItem.selectOption.hdAllowClear != null ? columnItem.selectOption.hdAllowClear : true\"\n [nzPlaceHolder]=\"columnItem.placeholder ? columnItem.placeholder : '\u8BF7\u9009\u62E9' + columnItem.label\"\n [formControlName]=\"columnItem.name\"\n (nzOnSearch)=\"onSearchEvent(columnItem.onSearchEvent || null, $event, columnItem.onSearchEventEventDebounceTime)\">\n <nz-option *ngFor=\"let selectItem of columnItem.selectOption.selectList\"\n [nzValue]=\"selectItem[columnItem.selectOption.value]\" [nzLabel]=\"columnItem.selectOption.showLabelAndValue ? '['+ selectItem[columnItem.selectOption.value] +']' +\n selectItem[columnItem.selectOption.label] : selectItem[columnItem.selectOption.label]\">\n </nz-option>\n <nz-option\n *ngIf=\"columnItem.selectOption.label && validateHdForm.get(columnItem.name) && validateHdForm.get(columnItem.selectOption.label)?.value && validateHdForm.get(columnItem.selectOption.value)?.value\"\n [nzLabel]=\"(columnItem.selectOption.showLabelAndValue || columnItem.selectOption.hdShowItemCode) ? ('['+ validateHdForm.get(columnItem.selectOption.value).value + ']' + validateHdForm.get(columnItem.selectOption.label).value) : validateHdForm.get(columnItem.selectOption.label).value\"\n [nzValue]=\"validateHdForm.get(columnItem.selectOption.value).value\" nzHide></nz-option>\n </nz-select>\n </ng-container>\n <ng-container *ngSwitchCase=\"2\">\n <nz-date-picker *ngIf=\"columnItem.showTime\" [nzDisabledDate]=\"columnItem.hdDisabledDate\"\n [nzShowToday]=\"columnItem.hdShowToday !== false\"\n [nzPlaceHolder]=\"columnItem.placeholder ? columnItem.placeholder : '\u8BF7\u9009\u62E9' + columnItem.label\"\n [formControlName]=\"columnItem.name\" nzShowTime nzFormat=\"yyyy-MM-dd HH:mm:ss\">\n </nz-date-picker>\n <nz-date-picker *ngIf=\"!columnItem.showTime\" [nzDisabledDate]=\"columnItem.hdDisabledDate\"\n [nzShowToday]=\"columnItem.hdShowToday !== false\"\n [nzPlaceHolder]=\"columnItem.placeholder ? columnItem.placeholder : '\u8BF7\u9009\u62E9' + columnItem.label\"\n [formControlName]=\"columnItem.name\">\n </nz-date-picker>\n </ng-container>\n <ng-container *ngSwitchCase=\"3\">\n <nz-range-picker [nzPlaceHolder]=\"columnItem.showTime ? ['\u5F00\u59CB\u65F6\u95F4','\u7ED3\u675F\u65F6\u95F4'] : ['\u5F00\u59CB\u65E5\u671F','\u7ED3\u675F\u65E5\u671F']\"\n [nzDisabledDate]=\"columnItem.hdDisabledDate\" [formControlName]=\"columnItem.name\"\n [nzShowTime]=\"columnItem.showTime ? true : false\">\n </nz-range-picker>\n </ng-container>\n <ng-container *ngSwitchCase=\"4\">\n <textarea [ngStyle]=\"{'color': columnItem?.color ? columnItem.color : null}\"\n [rows]=\"columnItem.textAreaRows ? columnItem.textAreaRows : 1\" rows=\"1\" nz-input\n [placeholder]=\"columnItem.placeholder ? columnItem.placeholder : '\u8BF7\u8F93\u5165' + columnItem.label\"\n [maxlength]=\"columnItem.maxLength || null\" [formControlName]=\"columnItem.name\"></textarea>\n </ng-container>\n <ng-container *ngSwitchCase=\"5\">\n <nz-input-number [ngStyle]=\"{'color': columnItem?.color ? columnItem.color : null}\"\n [formControlName]=\"columnItem.name\" [nzMin]=\"columnItem?.inputNumber?.min || 0\"\n [nzMax]=\"columnItem?.inputNumber?.max || 99999999\" [nzStep]=\"columnItem?.inputNumber?.step || 1\"\n [nzFormatter]=\"columnItem?.inputNumber?.nzFormatter || inputNumberDefaultFormatter\"\n [nzParser]=\"columnItem?.inputNumber?.nzParser || inputNumberDefaultParser\"\n [nzPlaceHolder]=\"columnItem.placeholder ? columnItem.placeholder : '\u8BF7\u8F93\u5165' + columnItem.label\"\n [nzPrecision]=\"columnItem?.inputNumber?.precision != null ? columnItem.inputNumber.precision : 4\">\n </nz-input-number>\n </ng-container>\n <!-- \u591A\u9879\u9009\u62E9\u5668 -->\n <ng-container *ngSwitchCase=\"6\">\n <nz-select [nzServerSearch]=\"columnItem.selectOption.hdServerSearch || false\"\n [nzDropdownMatchSelectWidth]=\"columnItem.selectOption.hdDropdownMatchSelectWidth ? columnItem.selectOption.hdDropdownMatchSelectWidth : false\"\n nzMode=\"multiple\"\n [nzShowSearch]=\"columnItem.selectOption.hdShowSearch != null ? columnItem.selectOption.hdShowSearch : true\"\n [nzAllowClear]=\"columnItem.selectOption.hdAllowClear != null ? columnItem.selectOption.hdAllowClear : true\"\n [nzPlaceHolder]=\"columnItem.placeholder ? columnItem.placeholder : '\u8BF7\u9009\u62E9' + columnItem.label\"\n [formControlName]=\"columnItem.name\"\n (nzOnSearch)=\"onSearchEvent(columnItem.onSearchEvent || null, $event, columnItem.onSearchEventEventDebounceTime)\">\n <nz-option *ngFor=\"let selectItem of columnItem.selectOption.selectList\"\n [nzValue]=\"selectItem[columnItem.selectOption.value]\" [nzLabel]=\"columnItem.selectOption.showLabelAndValue ? '['+ selectItem[columnItem.selectOption.value] +']' +\n selectItem[columnItem.selectOption.label] : selectItem[columnItem.selectOption.label]\">\n </nz-option>\n <ng-container *ngIf=\"columnItem.defaultLabel\">\n <nz-option *ngFor=\"let option of columnItem.defaultLabel;index as i\" [nzLabel]=\"option\"\n [nzValue]=\"columnItem.value[i]\" nzHide></nz-option>\n </ng-container>\n <ng-container\n *ngIf=\"columnItem.selectOption.label && validateHdForm.get(columnItem.name) && validateHdForm.get(columnItem.selectOption.label)?.value && validateHdForm.get(columnItem.selectOption.value)?.value\">\n <nz-option\n *ngFor=\"let option of validateHdForm.get(columnItem.selectOption.value).value;index as i\"\n [nzLabel]=\"validateHdForm.get(columnItem.selectOption.label).value[i]\" [nzValue]=\"option\"\n nzHide>\n </nz-option>\n </ng-container>\n </nz-select>\n </ng-container>\n <ng-container *ngSwitchCase=\"7\">\n <span>{{ columnItem.value || validateHdForm.get(columnItem.name).value }}</span>\n </ng-container>\n <ng-container *ngSwitchCase=\"8\">\n <nz-switch [formControlName]=\"columnItem.name\"></nz-switch>\n </ng-container>\n <ng-container *ngSwitchCase=\"9\">\n <nz-time-picker [formControlName]=\"columnItem.name\" [nzFormat]=\"columnItem.format\"\n [nzAllowEmpty]=\"!columnItem.disabled\"></nz-time-picker>\n </ng-container>\n <ng-container *ngSwitchCase=\"10\">\n <nz-cascader [nzOptions]=\"columnItem.cascaderOption.options\" [formControlName]=\"columnItem.name\"\n [nzPlaceHolder]=\"columnItem.placeholder ? columnItem.placeholder : '\u8BF7\u9009\u62E9' + columnItem.label\">\n </nz-cascader>\n </ng-container>\n <ng-container *ngSwitchCase=\"11\">\n <nz-radio-group [formControlName]=\"columnItem.name\">\n <label nz-radio *ngFor=\"let radioItem of columnItem.radioOption.optionList\"\n [nzValue]=\"radioItem[columnItem.radioOption.value]\">\n {{ columnItem.radioOption.showLabelAndValue ? '[' + radioItem[columnItem.radioOption.value] + ']' +\n radioItem[columnItem.radioOption.label] : radioItem[columnItem.radioOption.label] }}\n </label>\n </nz-radio-group>\n </ng-container>\n <ng-container *ngSwitchCase=\"12\">\n <ng-container *ngIf=\"columnItem.checkboxOption; else singleColumnCheckboxTpl\">\n <label nz-checkbox\n *ngFor=\"let checkboxItem of columnItem.checkboxOption.optionList\"\n [nzDisabled]=\"columnItem.disabled || validateHdForm.get(columnItem.name).disabled\"\n [ngModel]=\"isCheckboxChecked(columnItem.name, checkboxItem[columnItem.checkboxOption.value])\"\n (ngModelChange)=\"onCheckboxItemChange(columnItem.name, checkboxItem[columnItem.checkboxOption.value], $event)\"\n [ngModelOptions]=\"{standalone: true}\">\n {{ columnItem.checkboxOption.showLabelAndValue\n ? '[' + checkboxItem[columnItem.checkboxOption.value] + ']' + checkboxItem[columnItem.checkboxOption.label]\n : checkboxItem[columnItem.checkboxOption.label] }}\n </label>\n </ng-container>\n <ng-template #singleColumnCheckboxTpl>\n <label nz-checkbox [formControlName]=\"columnItem.name\"></label>\n </ng-template>\n </ng-container>\n </ng-container>\n </nz-form-control>\n </nz-form-item>\n </div>\n </ng-container>\n </div>\n </ng-container>\n </div>\n</form>\n",
5084
+ styles: ["::ng-deep .common-btn-group>a{font-size:14px;font-weight:400;color:#20b95d!important;white-space:nowrap}::ng-deep .common-btn-group .common-danger-btn:hover{color:#f05b24!important}::ng-deep .common-btn-group>a:hover{color:#20bd62!important}::ng-deep .common-btn-group>a:not(:last-child)::after{content:'';margin:0 2px}::ng-deep .common-billNumber>a{color:#3b77e3}button{box-shadow:unset;text-shadow:unset}::ng-deep .ant-form-item-label>label{color:#4b504e;font-size:14px}::ng-deep .ant-input-number-input{height:32px}::ng-deep .ant-input-number{height:32px}textarea.ant-input{height:auto;min-height:32px}::ng-deep .ant-select-selection--multiple{min-height:32px}::ng-deep .ant-select-selection__rendered>ul>li{height:26px!important;margin-top:3px!important;line-height:26px!important}::ng-deep .ant-advanced-search-form .ant-form-item{margin-bottom:0!important}::ng-deep .ant-select-selection--single{height:32px!important}::ng-deep .ant-input{height:32px}::ng-deep .ant-input[disabled]:hover{border-color:#d9d9d9!important}::ng-deep .ant-select-selection__rendered{line-height:32px!important}::ng-deep .ant-calendar-range-picker-input{text-align:left!important}::ng-deep .ant-calendar-picker{width:100%!important}::ng-deep .ant-row{margin-right:0!important;margin-left:0!important}::ng-deep .ant-col-6{padding-left:12px;padding-right:12px}::ng-deep .ant-col-12{padding-left:12px;padding-right:12px}::ng-deep .ant-col-18{padding-left:12px;padding-right:12px}::ng-deep .ant-col-24{padding-left:12px;padding-right:12px}::ng-deep .ant-alert-info{background-color:#f5f8f6;border:1px solid #cfe3d4}:host ::ng-deep th{background:#f5f8f6!important;font-weight:700!important;white-space:nowrap;font-size:14px;font-family:PingFangSC-Medium,PingFang SC;color:#2a3634;padding:8px!important;box-sizing:border-box}:host ::ng-deep td{font-weight:400;font-style:normal;font-size:14px;color:#2a3634;text-align:left;white-space:nowrap;padding:8px!important;box-sizing:border-box}::ng-deep .ant-pagination-options{display:inline-flex;align-items:center}::ng-deep .ant-time-picker{width:100%}.ant-input-number-disabled,.ant-input[disabled],.ant-select-disabled{color:#4b504e}.hd-formItem-container .hd-formItem-label{width:124px;word-break:break-all;text-align:right}.hd-formItem-container .hd-formItem-control{width:calc(100% - 124px)}.hd-formItem-container .ant-input-number{width:100%}.hd-formItem-container .hd-formItem-label-flex{display:inline-flex;flex-direction:column}.hd-formItem-container .hd-formItem-label-flex span{display:inline-block}.hd-formItem-container .hd-formItem-label-flex .hd-formItem-label-require{margin-right:4px;color:#f5222d;font-size:14px;font-family:SimSun,sans-serif}.hd-formItem-container .hd-formItem-label-flex .hd-formItem-label-explain{margin-top:-13px;color:#f5222d}.hd-formItem-container textarea{margin-top:8px}.hd-formItem-container ::ng-deep label[nz-checkbox]{margin-right:12px;line-height:32px}"]
3957
5085
  }] }
3958
5086
  ];
3959
5087
  /** @nocollapse */
@@ -3990,6 +5118,10 @@
3990
5118
  * @private
3991
5119
  */
3992
5120
  HdFormComponent.prototype.searchSubscription;
5121
+ /** @type {?} */
5122
+ HdFormComponent.prototype.inputNumberDefaultFormatter;
5123
+ /** @type {?} */
5124
+ HdFormComponent.prototype.inputNumberDefaultParser;
3993
5125
  /**
3994
5126
  * @type {?}
3995
5127
  * @private
@@ -4010,17 +5142,7 @@
4010
5142
  common.CommonModule,
4011
5143
  forms.FormsModule,
4012
5144
  forms.ReactiveFormsModule,
4013
- datePicker.NzDatePickerModule,
4014
- form.NzFormModule,
4015
- grid.NzGridModule,
4016
- icon.NzIconModule,
4017
- input.NzInputModule,
4018
- inputNumber.NzInputNumberModule,
4019
- select.NzSelectModule,
4020
- tooltip.NzToolTipModule,
4021
- _switch.NzSwitchModule,
4022
- timePicker.NzTimePickerModule,
4023
- cascader.NzCascaderModule,
5145
+ ngZorroAntd.NgZorroAntdModule,
4024
5146
  HdButtonModule
4025
5147
  ],
4026
5148
  declarations: [HdFormComponent],
@@ -4202,7 +5324,7 @@
4202
5324
  { type: core.Component, args: [{
4203
5325
  selector: 'hd-current-table',
4204
5326
  template: "<ng-container>\n <ng-container *ngTemplateOutlet=\"tableTotal\"></ng-container>\n <hd-space *ngIf=\"tableTotal\" type=\"row\" size=\"12\"></hd-space>\n <nz-table #hdTable class=\"hd-table-container\" [nzScroll]=\"scroll\" nzShowSizeChanger nzShowSizeChanger\n nzShowQuickJumper nzFrontPagination=\"false\" nzSize=\"middle\" [nzData]=\"tableData.content\"\n [nzTotal]=\"tableData.totalElements\" [(nzPageIndex)]=\"tablePageIndex\" [nzLoading]=\"tableLoading\"\n [(nzPageSize)]=\"tablePageSize\" (nzPageSizeChange)=\"search(true)\" (nzPageIndexChange)=\"search(false)\"\n (nzCurrentPageDataChange)=\"showSelected ? currentPageDataChange($event) : null\" [nzShowTotal]=\"tableTotalTemplate\"\n [nzPageSizeOptions]=\"[ 10, 50, 100, 200 ]\">\n <thead>\n <tr>\n <th nzWidth=\"40px\" nzLeft=\"0px\" *ngIf=\"showSelected\" nzShowCheckbox [(nzChecked)]=\"isAllDisplayDataChecked\"\n [nzIndeterminate]=\"isIndeterminate\" (nzCheckedChange)=\"checkAll($event)\"></th>\n <ng-container *ngTemplateOutlet=\"tableHead\"></ng-container>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let data of hdTable.data;index as i\">\n <td nzWidth=\"40px\" nzLeft=\"0px\" *ngIf=\"showSelected\" nzShowCheckbox\n [(nzChecked)]=\"mapOfCheckedId[data[selectField]]\" (nzCheckedChange)=\"refreshStatus($event, data)\"></td>\n <ng-container *ngTemplateOutlet=\"tableBody;context:{$implicit: data, index: i}\"></ng-container>\n </tr>\n <!-- \u5408\u8BA1\u6240\u6709\u6570\u636E\u533A\u57DF \u9700\u8981\u540E\u7AEF\u63A5\u53E3\u914D\u5408 -->\n <tr *ngIf=\"showTableTotal\" class=\"hd-table-total\">\n <td>\u5408\u8BA1</td>\n <ng-container *ngFor=\"let tableTotalOption of tableTotalOptionList\">\n <td>{{ tableTotalOption }}</td>\n </ng-container>\n </tr>\n </tbody>\n <ng-template #tableTotalTemplate>\n \u5171 {{tableData.totalElements}} \u6761\u6570\u636E\n </ng-template>\n </nz-table>\n</ng-container>",
4205
- styles: ["::ng-deep .common-btn-group>a{font-size:12px;font-weight:400;color:#12a34f!important;white-space:nowrap}::ng-deep .common-btn-group .common-danger-btn:hover{color:#f05b24!important}::ng-deep .common-btn-group>a:hover{color:#20bd62!important}::ng-deep .common-btn-group>a:not(:last-child)::after{content:'';margin:0 2px}::ng-deep .common-billNumber>a{color:#3b77e3}button{box-shadow:unset;text-shadow:unset}::ng-deep .ant-form-item-label>label{color:#4b504e}::ng-deep .ant-input-number-input{height:28px}::ng-deep .ant-input-number{height:28px}textarea.ant-input{height:auto;min-height:28px}::ng-deep .ant-select-selection--multiple{min-height:28px}::ng-deep .ant-select-selection__rendered>ul>li{height:22px!important;margin-top:3px!important;line-height:22px!important}::ng-deep .ant-advanced-search-form .ant-form-item{margin-bottom:0!important}::ng-deep .ant-select-selection--single{height:28px!important}::ng-deep .ant-input{height:28px}::ng-deep .ant-input[disabled]:hover{border-color:#d9d9d9!important}::ng-deep .ant-select-selection__rendered{line-height:28px!important}::ng-deep .ant-calendar-range-picker-input{text-align:left!important}::ng-deep .ant-calendar-picker{width:100%!important}::ng-deep .ant-row{margin-right:0!important;margin-left:0!important}::ng-deep .ant-col-6{padding-left:12px;padding-right:12px}::ng-deep .ant-col-12{padding-left:12px;padding-right:12px}::ng-deep .ant-col-18{padding-left:12px;padding-right:12px}::ng-deep .ant-col-24{padding-left:12px;padding-right:12px}::ng-deep .ant-alert-info{background-color:#f5f8f6;border:1px solid #cfe3d4}:host ::ng-deep th{background:#f5f8f6!important;font-weight:700!important;white-space:nowrap;font-size:12px;font-family:PingFangSC-Medium,PingFang SC;color:#2a3634;padding:8px!important;box-sizing:border-box}:host ::ng-deep td{font-weight:400;font-style:normal;font-size:12px;color:#2a3634;text-align:left;white-space:nowrap;padding:8px!important;box-sizing:border-box}::ng-deep .ant-pagination-options{display:inline-flex;align-items:center}::ng-deep .ant-time-picker{width:100%}.ant-input-number-disabled,.ant-input[disabled],.ant-select-disabled{color:#4b504e}.hd-table-container ::ng-deep .ant-pagination-options-quick-jumper input{border-radius:2px;border:1px solid #d9d9d9}.hd-table-container ::ng-deep .ant-pagination-options .ant-select-selection{border-radius:2px}.hd-table-container ::ng-deep .ant-table-thead>tr>th{border-bottom:1px solid #ecf1ed}.hd-table-container ::ng-deep .ant-table-tbody>tr>td{border-bottom:1px solid #ecf1ed}.hd-table-container ::ng-deep .hd-table-total>td{border:0!important}"]
5327
+ styles: ["::ng-deep .common-btn-group>a{font-size:14px;font-weight:400;color:#20b95d!important;white-space:nowrap}::ng-deep .common-btn-group .common-danger-btn:hover{color:#f05b24!important}::ng-deep .common-btn-group>a:hover{color:#20bd62!important}::ng-deep .common-btn-group>a:not(:last-child)::after{content:'';margin:0 2px}::ng-deep .common-billNumber>a{color:#3b77e3}button{box-shadow:unset;text-shadow:unset}::ng-deep .ant-form-item-label>label{color:#4b504e;font-size:14px}::ng-deep .ant-input-number-input{height:32px}::ng-deep .ant-input-number{height:32px}textarea.ant-input{height:auto;min-height:32px}::ng-deep .ant-select-selection--multiple{min-height:32px}::ng-deep .ant-select-selection__rendered>ul>li{height:26px!important;margin-top:3px!important;line-height:26px!important}::ng-deep .ant-advanced-search-form .ant-form-item{margin-bottom:0!important}::ng-deep .ant-select-selection--single{height:32px!important}::ng-deep .ant-input{height:32px}::ng-deep .ant-input[disabled]:hover{border-color:#d9d9d9!important}::ng-deep .ant-select-selection__rendered{line-height:32px!important}::ng-deep .ant-calendar-range-picker-input{text-align:left!important}::ng-deep .ant-calendar-picker{width:100%!important}::ng-deep .ant-row{margin-right:0!important;margin-left:0!important}::ng-deep .ant-col-6{padding-left:12px;padding-right:12px}::ng-deep .ant-col-12{padding-left:12px;padding-right:12px}::ng-deep .ant-col-18{padding-left:12px;padding-right:12px}::ng-deep .ant-col-24{padding-left:12px;padding-right:12px}::ng-deep .ant-alert-info{background-color:#f5f8f6;border:1px solid #cfe3d4}:host ::ng-deep th{background:#f5f8f6!important;font-weight:700!important;white-space:nowrap;font-size:14px;font-family:PingFangSC-Medium,PingFang SC;color:#2a3634;padding:8px!important;box-sizing:border-box}:host ::ng-deep td{font-weight:400;font-style:normal;font-size:14px;color:#2a3634;text-align:left;white-space:nowrap;padding:8px!important;box-sizing:border-box}::ng-deep .ant-pagination-options{display:inline-flex;align-items:center}::ng-deep .ant-time-picker{width:100%}.ant-input-number-disabled,.ant-input[disabled],.ant-select-disabled{color:#4b504e}.hd-table-container ::ng-deep .ant-pagination-options-quick-jumper input{border-radius:2px;border:1px solid #d9d9d9}.hd-table-container ::ng-deep .ant-pagination-options .ant-select-selection{border-radius:2px}.hd-table-container ::ng-deep .ant-table-thead>tr>th{border-bottom:1px solid #ecf1ed}.hd-table-container ::ng-deep .ant-table-tbody>tr>td{border-bottom:1px solid #ecf1ed}.hd-table-container ::ng-deep .hd-table-total>td{border:0!important}"]
4206
5328
  }] }
4207
5329
  ];
4208
5330
  /** @nocollapse */
@@ -4326,7 +5448,7 @@
4326
5448
  HdLogComponent.decorators = [
4327
5449
  { type: core.Component, args: [{
4328
5450
  selector: 'hd-log',
4329
- template: "<hd-detail-lines [lines]=\"logs\" hdFrontPagination=\"true\">\n <ng-template #detailLineHead>\n <th class=\"hd-log-time\">\u65F6\u95F4</th>\n <th class=\"hd-log-operate\">\u64CD\u4F5C\u4EBA</th>\n <th class=\"hd-log-event\">\u4E8B\u4EF6</th>\n <th class=\"hd-log-describe\">\u63CF\u8FF0</th>\n </ng-template>\n <ng-template #detailLineBody let-data let-index=\"index\">\n <td class=\"hd-log-time\">{{ data.createInfo.operateTime }}</td>\n <td class=\"hd-log-operate\">{{ data.createInfo.operatorName }}</td>\n <td class=\"hd-log-event\">{{ data.event }}</td>\n <td class=\"hd-log-describe\">{{ data.describe }}</td>\n </ng-template>\n</hd-detail-lines>\n",
5451
+ template: "<hd-detail-lines [lines]=\"logs\" hdFrontPagination=\"true\">\n <ng-template #detailLineHead>\n <th class=\"hd-log-time\">\u65F6\u95F4</th>\n <th class=\"hd-log-operate\">\u64CD\u4F5C\u4EBA</th>\n <th class=\"hd-log-event\">\u4E8B\u4EF6</th>\n <th class=\"hd-log-describe\">\u63CF\u8FF0</th>\n </ng-template>\n <ng-template #detailLineBody let-data let-index=\"index\">\n <td class=\"hd-log-time\">{{ data.createInfo.operateTime }}</td>\n <td class=\"hd-log-operate\">{{ data.createInfo.operatorName }}</td>\n <td class=\"hd-log-event\">{{ data.event }}</td>\n <td class=\"hd-log-describe\" [innerHTML]=\"data.describe\"></td>\n </ng-template>\n</hd-detail-lines>\n",
4330
5452
  styles: ["td{white-space:wrap!important}.hd-log-time{width:150px}.hd-log-operate{width:100px;max-width:200px}.hd-log-event{width:80px;max-width:150px}"]
4331
5453
  }] }
4332
5454
  ];
@@ -4398,6 +5520,7 @@
4398
5520
  { type: core.NgModule, args: [{
4399
5521
  imports: [
4400
5522
  common.CommonModule,
5523
+ ngZorroAntd.NgZorroAntdModule,
4401
5524
  HdDetailLinesModule
4402
5525
  ],
4403
5526
  entryComponents: [HdLogComponent],
@@ -4452,7 +5575,7 @@
4452
5575
  { type: core.Component, args: [{
4453
5576
  selector: 'hd-popconfirm',
4454
5577
  template: "<div class=\"popconfirm-content\">\n <div class=\"popconfirm-arrow\"></div>\n\n <div class=\"popconfirm-inner\">\n <div class=\"message-content\">\n <svg class=\"icon-warn\" viewBox=\"64 64 896 896\" fill=\"currentColor\" width=\"1em\" height=\"1em\" data-icon=\"exclamation-circle\" aria-hidden=\"true\"><path d=\"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm-32 232c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v272c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V296zm32 440a48.01 48.01 0 010-96 48.01 48.01 0 010 96z\"></path></svg>\n <p style=\"text-indent: 18px\">{{message}}</p>\n </div>\n\n <!-- \u6309\u94AE\u63D0\u793A -->\n <div class=\"btn-content\">\n <button type=\"button\" (click)=\"cancel($event)\" nz-button nzType=\"default\">\u53D6\u6D88</button>\n <button type=\"button\" (click)=\"confirm($event)\" nz-button nzType=\"primary\">\u786E\u8BA4</button>\n </div>\n </div>\n</div>\n",
4455
- styles: [".popconfirm-content{position:relative}.popconfirm-arrow{position:absolute;top:15px;left:-4px;display:block;width:8.5px;height:8.5px;background:0 0;border-style:solid;border-width:4.24264069px;transform:rotate(45deg);right:6px;box-shadow:-3px 3px 7px rgba(0,0,0,.07);border-color:transparent transparent #fff #fff}.popconfirm-inner{min-width:158px;background-color:#fff;padding:12px 16px;box-sizing:border-box;line-height:1.5;box-shadow:0 2px 8px rgba(0,0,0,.15);border-radius:4px;text-align:left}.message-content{position:relative}.icon-warn{color:#faad14;position:absolute;top:4px;font-size:14px}.btn-content{width:100%;text-align:right}:host ::ng-deep .btn-content>button{padding:0 7px!important;margin-left:8px!important;font-size:14px!important}"]
5578
+ styles: ["::ng-deep .common-btn-group>a{font-size:14px;font-weight:400;color:#20b95d!important;white-space:nowrap}::ng-deep .common-btn-group .common-danger-btn:hover{color:#f05b24!important}::ng-deep .common-btn-group>a:hover{color:#20bd62!important}::ng-deep .common-btn-group>a:not(:last-child)::after{content:'';margin:0 2px}::ng-deep .common-billNumber>a{color:#3b77e3}button{box-shadow:unset;text-shadow:unset}::ng-deep .ant-form-item-label>label{color:#4b504e;font-size:14px}::ng-deep .ant-input-number-input{height:32px}::ng-deep .ant-input-number{height:32px}textarea.ant-input{height:auto;min-height:32px}::ng-deep .ant-select-selection--multiple{min-height:32px}::ng-deep .ant-select-selection__rendered>ul>li{height:26px!important;margin-top:3px!important;line-height:26px!important}::ng-deep .ant-advanced-search-form .ant-form-item{margin-bottom:0!important}::ng-deep .ant-select-selection--single{height:32px!important}::ng-deep .ant-input{height:32px}::ng-deep .ant-input[disabled]:hover{border-color:#d9d9d9!important}::ng-deep .ant-select-selection__rendered{line-height:32px!important}::ng-deep .ant-calendar-range-picker-input{text-align:left!important}::ng-deep .ant-calendar-picker{width:100%!important}::ng-deep .ant-row{margin-right:0!important;margin-left:0!important}::ng-deep .ant-col-6{padding-left:12px;padding-right:12px}::ng-deep .ant-col-12{padding-left:12px;padding-right:12px}::ng-deep .ant-col-18{padding-left:12px;padding-right:12px}::ng-deep .ant-col-24{padding-left:12px;padding-right:12px}::ng-deep .ant-alert-info{background-color:#f5f8f6;border:1px solid #cfe3d4}:host ::ng-deep th{background:#f5f8f6!important;font-weight:700!important;white-space:nowrap;font-size:14px;font-family:PingFangSC-Medium,PingFang SC;color:#2a3634;padding:8px!important;box-sizing:border-box}:host ::ng-deep td{font-weight:400;font-style:normal;font-size:14px;color:#2a3634;text-align:left;white-space:nowrap;padding:8px!important;box-sizing:border-box}::ng-deep .ant-pagination-options{display:inline-flex;align-items:center}::ng-deep .ant-time-picker{width:100%}.ant-input-number-disabled,.ant-input[disabled],.ant-select-disabled{color:#4b504e}.popconfirm-content{position:relative}.popconfirm-arrow{position:absolute;top:15px;left:-4px;display:block;width:8.5px;height:8.5px;background:0 0;border-style:solid;border-width:4.24264069px;transform:rotate(45deg);right:6px;box-shadow:-3px 3px 7px rgba(0,0,0,.07);border-color:transparent transparent #fff #fff}.popconfirm-inner{min-width:158px;background-color:#fff;padding:12px 16px;box-sizing:border-box;line-height:1.5;box-shadow:0 2px 8px rgba(0,0,0,.15);border-radius:4px;text-align:left}.message-content{position:relative}.icon-warn{color:#faad14;position:absolute;top:4px;font-size:14px}.btn-content{width:100%;text-align:right}:host ::ng-deep .btn-content>button{padding:0 7px!important;margin-left:8px!important;font-size:14px!important}"]
4456
5579
  }] }
4457
5580
  ];
4458
5581
  /** @nocollapse */
@@ -4489,7 +5612,7 @@
4489
5612
  forms.FormsModule,
4490
5613
  forms.ReactiveFormsModule,
4491
5614
  common.CommonModule,
4492
- button.NzButtonModule,
5615
+ ngZorroAntd.NgZorroAntdModule,
4493
5616
  ],
4494
5617
  exports: [HdPopconfirmComponent],
4495
5618
  providers: [],
@@ -4531,18 +5654,27 @@
4531
5654
  * @return {?}
4532
5655
  */
4533
5656
  function () {
5657
+ /** @type {?} */
5658
+ var findKey = "";
5659
+ /** @type {?} */
5660
+ var statusLower = this.status && this.status.toLowerCase();
4534
5661
  for (var key in statusToColor) {
4535
- if (statusToColor[key].indexOf(this.status) !== -1) {
4536
- this.statusColor = key;
4537
- break;
5662
+ if (statusLower &&
5663
+ statusToColor[key].some((/**
5664
+ * @param {?} item
5665
+ * @return {?}
5666
+ */
5667
+ function (item) { return item && item.toLowerCase() === statusLower; }))) {
5668
+ findKey = key;
4538
5669
  }
4539
5670
  }
5671
+ this.statusColor = findKey || "#9FA4A2";
4540
5672
  };
4541
5673
  HdStatusComponent.decorators = [
4542
5674
  { type: core.Component, args: [{
4543
- selector: 'hd-status',
5675
+ selector: "hd-status",
4544
5676
  template: "<ng-container>\n <div class=\"hd-status\">\n <div class=\"hd-status-dot\" [ngStyle]=\"{'background': statusColor || '#9FA4A2'}\"></div>\n <div class=\"hd-status-text\">\n <ng-content></ng-content>\n </div>\n </div>\n</ng-container>\n",
4545
- styles: ["::ng-deep .common-btn-group>a{font-size:12px;font-weight:400;color:#12a34f!important;white-space:nowrap}::ng-deep .common-btn-group .common-danger-btn:hover{color:#f05b24!important}::ng-deep .common-btn-group>a:hover{color:#20bd62!important}::ng-deep .common-btn-group>a:not(:last-child)::after{content:'';margin:0 2px}::ng-deep .common-billNumber>a{color:#3b77e3}button{box-shadow:unset;text-shadow:unset}::ng-deep .ant-form-item-label>label{color:#4b504e}::ng-deep .ant-input-number-input{height:28px}::ng-deep .ant-input-number{height:28px}textarea.ant-input{height:auto;min-height:28px}::ng-deep .ant-select-selection--multiple{min-height:28px}::ng-deep .ant-select-selection__rendered>ul>li{height:22px!important;margin-top:3px!important;line-height:22px!important}::ng-deep .ant-advanced-search-form .ant-form-item{margin-bottom:0!important}::ng-deep .ant-select-selection--single{height:28px!important}::ng-deep .ant-input{height:28px}::ng-deep .ant-input[disabled]:hover{border-color:#d9d9d9!important}::ng-deep .ant-select-selection__rendered{line-height:28px!important}::ng-deep .ant-calendar-range-picker-input{text-align:left!important}::ng-deep .ant-calendar-picker{width:100%!important}::ng-deep .ant-row{margin-right:0!important;margin-left:0!important}::ng-deep .ant-col-6{padding-left:12px;padding-right:12px}::ng-deep .ant-col-12{padding-left:12px;padding-right:12px}::ng-deep .ant-col-18{padding-left:12px;padding-right:12px}::ng-deep .ant-col-24{padding-left:12px;padding-right:12px}::ng-deep .ant-alert-info{background-color:#f5f8f6;border:1px solid #cfe3d4}:host ::ng-deep th{background:#f5f8f6!important;font-weight:700!important;white-space:nowrap;font-size:12px;font-family:PingFangSC-Medium,PingFang SC;color:#2a3634;padding:8px!important;box-sizing:border-box}:host ::ng-deep td{font-weight:400;font-style:normal;font-size:12px;color:#2a3634;text-align:left;white-space:nowrap;padding:8px!important;box-sizing:border-box}::ng-deep .ant-pagination-options{display:inline-flex;align-items:center}::ng-deep .ant-time-picker{width:100%}.ant-input-number-disabled,.ant-input[disabled],.ant-select-disabled{color:#4b504e}.hd-status{display:flex;justify-content:flex-start;align-items:center}.hd-status-dot{width:6px;height:6px;border-radius:50%;margin-right:6px}.hd-status-text{color:#2a3634;font-size:12px}"]
5677
+ styles: ["::ng-deep .common-btn-group>a{font-size:14px;font-weight:400;color:#20b95d!important;white-space:nowrap}::ng-deep .common-btn-group .common-danger-btn:hover{color:#f05b24!important}::ng-deep .common-btn-group>a:hover{color:#20bd62!important}::ng-deep .common-btn-group>a:not(:last-child)::after{content:'';margin:0 2px}::ng-deep .common-billNumber>a{color:#3b77e3}button{box-shadow:unset;text-shadow:unset}::ng-deep .ant-form-item-label>label{color:#4b504e;font-size:14px}::ng-deep .ant-input-number-input{height:32px}::ng-deep .ant-input-number{height:32px}textarea.ant-input{height:auto;min-height:32px}::ng-deep .ant-select-selection--multiple{min-height:32px}::ng-deep .ant-select-selection__rendered>ul>li{height:26px!important;margin-top:3px!important;line-height:26px!important}::ng-deep .ant-advanced-search-form .ant-form-item{margin-bottom:0!important}::ng-deep .ant-select-selection--single{height:32px!important}::ng-deep .ant-input{height:32px}::ng-deep .ant-input[disabled]:hover{border-color:#d9d9d9!important}::ng-deep .ant-select-selection__rendered{line-height:32px!important}::ng-deep .ant-calendar-range-picker-input{text-align:left!important}::ng-deep .ant-calendar-picker{width:100%!important}::ng-deep .ant-row{margin-right:0!important;margin-left:0!important}::ng-deep .ant-col-6{padding-left:12px;padding-right:12px}::ng-deep .ant-col-12{padding-left:12px;padding-right:12px}::ng-deep .ant-col-18{padding-left:12px;padding-right:12px}::ng-deep .ant-col-24{padding-left:12px;padding-right:12px}::ng-deep .ant-alert-info{background-color:#f5f8f6;border:1px solid #cfe3d4}:host ::ng-deep th{background:#f5f8f6!important;font-weight:700!important;white-space:nowrap;font-size:14px;font-family:PingFangSC-Medium,PingFang SC;color:#2a3634;padding:8px!important;box-sizing:border-box}:host ::ng-deep td{font-weight:400;font-style:normal;font-size:14px;color:#2a3634;text-align:left;white-space:nowrap;padding:8px!important;box-sizing:border-box}::ng-deep .ant-pagination-options{display:inline-flex;align-items:center}::ng-deep .ant-time-picker{width:100%}.ant-input-number-disabled,.ant-input[disabled],.ant-select-disabled{color:#4b504e}.hd-status{display:flex;justify-content:flex-start;align-items:center}.hd-status-dot{width:6px;height:6px;border-radius:50%;margin-right:6px}.hd-status-text{color:#2a3634;font-size:14px}"]
4546
5678
  }] }
4547
5679
  ];
4548
5680
  /** @nocollapse */
@@ -4575,6 +5707,7 @@
4575
5707
  forms.FormsModule,
4576
5708
  forms.ReactiveFormsModule,
4577
5709
  common.CommonModule,
5710
+ ngZorroAntd.NgZorroAntdModule,
4578
5711
  ],
4579
5712
  exports: [HdStatusComponent],
4580
5713
  providers: [],
@@ -4726,6 +5859,10 @@
4726
5859
  HdTableColumn.prototype.canWarp;
4727
5860
  /** @type {?} */
4728
5861
  HdTableColumn.prototype.minWidth;
5862
+ /** @type {?} */
5863
+ HdTableColumn.prototype.stateField;
5864
+ /** @type {?} */
5865
+ HdTableColumn.prototype.isState;
4729
5866
  }
4730
5867
  var OperateBtn = /** @class */ (function () {
4731
5868
  function OperateBtn() {
@@ -4761,6 +5898,7 @@
4761
5898
  }
4762
5899
  var TableCacheOption = /** @class */ (function () {
4763
5900
  function TableCacheOption() {
5901
+ this.colWidths = new Map(); // name -> width
4764
5902
  }
4765
5903
  return TableCacheOption;
4766
5904
  }());
@@ -4816,7 +5954,7 @@
4816
5954
  this.tableCols = [];
4817
5955
  this.showSelected = false;
4818
5956
  this.showOperateColWarpButton = false;
4819
- this.selectField = 'billNumber';
5957
+ this.selectField = "billNumber";
4820
5958
  // 合计区域
4821
5959
  this.showTableTotal = false;
4822
5960
  this.sortEvent = new core.EventEmitter();
@@ -4825,8 +5963,10 @@
4825
5963
  this.tableLoading = false;
4826
5964
  // 表格分页参数
4827
5965
  this.tablePageIndex = 1;
5966
+ this.tablePageSize = 10;
4828
5967
  this.tablePageIndexChange = new core.EventEmitter();
4829
5968
  this.tablePageSizeChange = new core.EventEmitter();
5969
+ this.tablePageSizeChangeEvent = new core.EventEmitter();
4830
5970
  this.scroll = null;
4831
5971
  // 表格勾选参数
4832
5972
  this.isAllDisplayDataChecked = false;
@@ -4855,14 +5995,18 @@
4855
5995
  this.cancelHideListNodes = [];
4856
5996
  this.showDetail = false;
4857
5997
  this.localforage = null;
4858
- this.localtionTmp = '';
5998
+ this.localtionTmp = "";
5999
+ this.isFirstEntrySearchLocal = true;
6000
+ this.isCrossPageSelectLocal = false;
4859
6001
  // 拖拽操作
4860
6002
  this.beforeDrop = (/**
4861
6003
  * @param {?} arg
4862
6004
  * @return {?}
4863
6005
  */
4864
6006
  function (arg) {
4865
- if (arg.node.origin.disabled || !arg.dragNode.origin.checked || arg.pos === 0) {
6007
+ if (arg.node.origin.disabled ||
6008
+ !arg.dragNode.origin.checked ||
6009
+ arg.pos === 0) {
4866
6010
  return rxjs.of(false);
4867
6011
  }
4868
6012
  else {
@@ -4881,14 +6025,18 @@
4881
6025
  * @param {?} item
4882
6026
  * @return {?}
4883
6027
  */
4884
- function (item) { return item.title == arg.dragNode.origin.title; }));
6028
+ function (item) {
6029
+ return item.title == arg.dragNode.origin.title;
6030
+ }));
4885
6031
  // 目标位置的下标
4886
6032
  /** @type {?} */
4887
6033
  var nodeIndex = _this.nowListNodes.findIndex((/**
4888
6034
  * @param {?} item
4889
6035
  * @return {?}
4890
6036
  */
4891
- function (item) { return item.title == arg.node.origin.title; })) + (arg.pos === -1 ? 0 : arg.pos);
6037
+ function (item) {
6038
+ return item.title == arg.node.origin.title;
6039
+ })) + (arg.pos === -1 ? 0 : arg.pos);
4892
6040
  _this.nowListNodes.splice(nodeIndex, 0, node);
4893
6041
  _this.nowListNodes.splice(nodeIndex >= dragNodeIndex ? dragNodeIndex : dragNodeIndex + 1, 1);
4894
6042
  return rxjs.of(true).pipe(operators.delay(100));
@@ -4896,11 +6044,11 @@
4896
6044
  });
4897
6045
  this.localforage = localforage.createInstance({
4898
6046
  driver: localforage.INDEXEDDB,
4899
- name: 'hd-fscm',
6047
+ name: "hd-fscm",
4900
6048
  // 设置存储库的名称
4901
6049
  version: 1.0,
4902
6050
  // 设置存储库的版本
4903
- storeName: 'hd-fscm-store',
6051
+ storeName: "hd-fscm-store",
4904
6052
  });
4905
6053
  }
4906
6054
  /**
@@ -4911,33 +6059,42 @@
4911
6059
  */
4912
6060
  function () {
4913
6061
  var _this = this;
6062
+ if (this.isFirstEntrySearch === false) {
6063
+ this.isFirstEntrySearchLocal = this.isFirstEntrySearch;
6064
+ }
6065
+ if (this.isCrossPageSelect === true) {
6066
+ this.isCrossPageSelectLocal = this.isCrossPageSelect;
6067
+ }
4914
6068
  this.localtionTmp = location.pathname;
4915
6069
  if (this.localtionTmp) {
4916
6070
  this.localtionTmp = this.localtionTmp.replace(/\//g, "_");
4917
6071
  }
4918
- this.userSession = this.commonSessionService.getSession('__jy_authorization_session__');
6072
+ this.userSession = this.commonSessionService.getSession("__jy_authorization_session__");
4919
6073
  // 用于开发环境调试
4920
6074
  if (!this.userSession) {
4921
6075
  this.userSession = {
4922
- userCode: 'dev'
6076
+ userCode: "dev",
4923
6077
  };
4924
6078
  }
4925
6079
  this.deleteHideItem();
4926
6080
  if (!this.tableCols || this.tableCols.length === 0) {
4927
6081
  return;
4928
6082
  }
4929
- this.localforage.ready().then((/**
6083
+ this.localforage
6084
+ .ready()
6085
+ .then((/**
4930
6086
  * @return {?}
4931
6087
  */
4932
6088
  function () {
4933
6089
  _this.getInitLocalforage();
4934
- })).catch((/**
6090
+ }))
6091
+ .catch((/**
4935
6092
  * @param {?} e
4936
6093
  * @return {?}
4937
6094
  */
4938
6095
  function (e) {
4939
- console.log('localforage加载异常step1', e);
4940
- throw 'localforage加载异常';
6096
+ console.log("localforage加载异常step1", e);
6097
+ throw "localforage加载异常";
4941
6098
  }));
4942
6099
  };
4943
6100
  /**
@@ -4951,30 +6108,43 @@
4951
6108
  function (changes) {
4952
6109
  var _this = this;
4953
6110
  // 数据改变时,重置勾选状态
4954
- if (changes && changes['tableData'] && changes['tableData']['currentValue'] && changes['tableData']['previousValue']) {
4955
- if (changes['tableData']['currentValue']['pageSize'] !== changes['tableData']['previousValue']['pageSize']
4956
- || changes['tableData']['currentValue']['pageNumber'] !== changes['tableData']['previousValue']['pageNumber']) {
6111
+ if (changes &&
6112
+ changes["tableData"] &&
6113
+ changes["tableData"]["currentValue"] &&
6114
+ changes["tableData"]["previousValue"]) {
6115
+ if (changes["tableData"]["currentValue"]["pageSize"] !==
6116
+ changes["tableData"]["previousValue"]["pageSize"] ||
6117
+ changes["tableData"]["currentValue"]["pageNumber"] !==
6118
+ changes["tableData"]["previousValue"]["pageNumber"]) {
4957
6119
  return;
4958
6120
  }
4959
- this.resetStatus();
6121
+ if (!this.isCrossPageSelectLocal) {
6122
+ this.resetStatus();
6123
+ }
4960
6124
  }
4961
- if (changes['tableCols'] && JSON.stringify(changes['tableCols'].currentValue) !== JSON.stringify(changes['tableCols'].previousValue)) {
6125
+ if (changes["tableCols"] &&
6126
+ JSON.stringify(changes["tableCols"].currentValue) !==
6127
+ JSON.stringify(changes["tableCols"].previousValue) &&
6128
+ changes["tableCols"].previousValue !== undefined) {
4962
6129
  this.deleteHideItem();
4963
6130
  if (!this.tableCols || this.tableCols.length === 0) {
4964
6131
  return;
4965
6132
  }
4966
- this.localforage.ready().then((/**
6133
+ this.localforage
6134
+ .ready()
6135
+ .then((/**
4967
6136
  * @return {?}
4968
6137
  */
4969
6138
  function () {
4970
6139
  _this.getInitLocalforage();
4971
- })).catch((/**
6140
+ }))
6141
+ .catch((/**
4972
6142
  * @param {?} e
4973
6143
  * @return {?}
4974
6144
  */
4975
6145
  function (e) {
4976
- console.log('localforage加载异常step2', e);
4977
- throw 'localforage加载异常';
6146
+ console.log("localforage加载异常step2", e);
6147
+ throw "localforage加载异常";
4978
6148
  }));
4979
6149
  }
4980
6150
  };
@@ -4992,7 +6162,7 @@
4992
6162
  */
4993
6163
  function (item) {
4994
6164
  // 如果对象没有 isShow 属性,则默认为 true,保留该对象
4995
- if (!item.hasOwnProperty('isShow')) {
6165
+ if (!item.hasOwnProperty("isShow")) {
4996
6166
  return true;
4997
6167
  }
4998
6168
  // 如果对象有 isShow 属性,则检查其值是否为 true
@@ -5019,33 +6189,46 @@
5019
6189
  function () {
5020
6190
  var _this = this;
5021
6191
  // 首先获取当前hd-table存储的数据 如果没有,则初始化下当前的数据
5022
- this.localforage.getItem('hd-table_' + this.userSession.userCode + '_' + this.localtionTmp + '_' + this.uuid).then((/**
6192
+ this.localforage
6193
+ .getItem("hd-table_" +
6194
+ this.userSession.userCode +
6195
+ "_" +
6196
+ this.localtionTmp +
6197
+ "_" +
6198
+ this.uuid)
6199
+ .then((/**
5023
6200
  * @param {?} value
5024
6201
  * @return {?}
5025
6202
  */
5026
6203
  function (value) {
5027
- _this.tableCacheOption = value;
5028
- if (_this.tableCacheOption.pageSize && _this.tableCacheOption.pageSize > 10) {
5029
- _this.tablePageSize = _this.tableCacheOption.pageSize;
6204
+ if (value) {
6205
+ _this.tableCacheOption = value;
6206
+ _this.normalizeTableCacheOption();
6207
+ if (_this.tableCacheOption.pageSize &&
6208
+ _this.tableCacheOption.pageSize > 10) {
6209
+ _this.tablePageSize = _this.tableCacheOption.pageSize;
6210
+ _this.tablePageSizeChange.emit(_this.tablePageSize);
6211
+ }
5030
6212
  }
5031
6213
  else {
5032
- _this.tablePageSize = _this.tableCacheOption.pageSize || 10;
6214
+ _this.tableCacheOption = new TableCacheOption();
6215
+ _this.tableCacheOption.pageSize = _this.tablePageSize;
5033
6216
  }
5034
- if (!_this.tableCacheOption.colWidths) {
5035
- _this.tableCacheOption.colWidths = new Map();
6217
+ if (_this.isFirstEntrySearchLocal) {
6218
+ _this.tablePageSizeChangeEvent.emit(_this.tablePageSize);
6219
+ }
6220
+ else {
6221
+ _this.isFirstEntrySearchLocal = true;
5036
6222
  }
5037
- _this.tablePageSizeChange.emit(_this.tablePageSize);
5038
6223
  _this.initTable();
5039
- })).catch((/**
6224
+ }))
6225
+ .catch((/**
5040
6226
  * @param {?} err
5041
6227
  * @return {?}
5042
6228
  */
5043
6229
  function (err) {
5044
6230
  _this.tableCacheOption = new TableCacheOption();
5045
- _this.tablePageSize = 10;
5046
- _this.tableCacheOption.pageSize = 10;
5047
- _this.tableCacheOption.colWidths = new Map();
5048
- _this.tablePageSizeChange.emit(_this.tablePageSize);
6231
+ _this.tableCacheOption.pageSize = _this.tablePageSize;
5049
6232
  _this.initTable();
5050
6233
  }));
5051
6234
  };
@@ -5058,7 +6241,7 @@
5058
6241
  function () {
5059
6242
  this.showTable = false;
5060
6243
  if (!this.uuid) {
5061
- throw 'hd-table缺失uuid参数,请使用编辑器插件生成并给hd-table赋予uuid属性';
6244
+ throw "hd-table缺失uuid参数,请使用编辑器插件生成并给hd-table赋予uuid属性";
5062
6245
  }
5063
6246
  if (this.judgeRepeatCols()) {
5064
6247
  this.dealCols();
@@ -5134,7 +6317,7 @@
5134
6317
  this.showListNodes = false;
5135
6318
  this.nowListNodes = [];
5136
6319
  this.hideListNodes = [];
5137
- if (this.tableCacheOption.cols) {
6320
+ if (this.hasColsCache()) {
5138
6321
  var _a = this.tableColsCache.reduce((/**
5139
6322
  * @param {?} acc
5140
6323
  * @param {?} item
@@ -5155,7 +6338,8 @@
5155
6338
  * @return {?}
5156
6339
  */
5157
6340
  function (a, b) {
5158
- return _this.tableCacheOption.cols.indexOf(a.title) - _this.tableCacheOption.cols.indexOf(b.title);
6341
+ return (_this.tableCacheOption.cols.indexOf(a.title) -
6342
+ _this.tableCacheOption.cols.indexOf(b.title));
5159
6343
  }));
5160
6344
  this.tableCols = incols.concat(notIncols);
5161
6345
  }
@@ -5165,15 +6349,19 @@
5165
6349
  * @return {?}
5166
6350
  */
5167
6351
  function (element, index) {
5168
- if (_this.tableCacheOption.cols) {
5169
- element.isShow = _this.tableCacheOption.cols.includes(element.title) ? true : false;
6352
+ if (_this.hasColsCache()) {
6353
+ element.isShow = _this.tableCacheOption.cols.includes(element.title)
6354
+ ? true
6355
+ : false;
5170
6356
  if (element.isShow) {
5171
6357
  _this.nowListNodes.push({
5172
6358
  title: element.title,
5173
6359
  key: element.title,
5174
6360
  disabled: element.fixed ? true : false,
5175
6361
  // selectable: false,
5176
- checked: _this.tableCacheOption.cols.includes(element.title) ? true : false
6362
+ checked: _this.tableCacheOption.cols.includes(element.title)
6363
+ ? true
6364
+ : false,
5177
6365
  });
5178
6366
  }
5179
6367
  else {
@@ -5182,7 +6370,9 @@
5182
6370
  key: element.title,
5183
6371
  disabled: element.fixed ? true : false,
5184
6372
  // selectable: false,
5185
- checked: _this.tableCacheOption.cols.includes(element.title) ? true : false
6373
+ checked: _this.tableCacheOption.cols.includes(element.title)
6374
+ ? true
6375
+ : false,
5186
6376
  });
5187
6377
  }
5188
6378
  }
@@ -5193,12 +6383,14 @@
5193
6383
  key: element.title,
5194
6384
  checked: true,
5195
6385
  // selectable: false,
5196
- disabled: element.fixed ? true : false
6386
+ disabled: element.fixed ? true : false,
5197
6387
  });
5198
6388
  }
5199
6389
  }));
5200
6390
  // 调整列宽为缓存宽度
5201
- if (this.tableCacheOption && this.tableCacheOption.colWidths && this.tableCacheOption.colWidths.size !== 0) {
6391
+ if (this.tableCacheOption &&
6392
+ this.tableCacheOption.colWidths &&
6393
+ this.tableCacheOption.colWidths.size !== 0) {
5202
6394
  this.tableCols.forEach((/**
5203
6395
  * @param {?} col
5204
6396
  * @return {?}
@@ -5247,7 +6439,7 @@
5247
6439
  */
5248
6440
  function (item) { return item.title === elementToMoveTitle; }));
5249
6441
  /** @type {?} */
5250
- var newIndex = pos < 0 ? (targetIndex + pos) : targetIndex;
6442
+ var newIndex = pos < 0 ? targetIndex + pos : targetIndex;
5251
6443
  // 移除目标元素,并插入到新的位置
5252
6444
  /** @type {?} */
5253
6445
  var removedElement = tmpArray.splice(elementIndex, 1);
@@ -5283,7 +6475,7 @@
5283
6475
  /** @type {?} */
5284
6476
  var title_1 = null;
5285
6477
  for (var i = this.tableColsCache.length - 1; i >= 0; i--) {
5286
- if (this.tableColsCache[i].fixed === 'right') {
6478
+ if (this.tableColsCache[i].fixed === "right") {
5287
6479
  title_1 = this.tableColsCache[i].title;
5288
6480
  break;
5289
6481
  }
@@ -5386,16 +6578,16 @@
5386
6578
  */
5387
6579
  function (item) {
5388
6580
  /** @type {?} */
5389
- var span = document.createElement('span');
5390
- span.style.visibility = 'hidden';
5391
- span.style.position = 'absolute';
5392
- span.style.whiteSpace = 'nowrap';
5393
- span.style.fontSize = '12px';
5394
- span.style.display = 'inline-block'; // 将样式修改为 inline-block
6581
+ var span = document.createElement("span");
6582
+ span.style.visibility = "hidden";
6583
+ span.style.position = "absolute";
6584
+ span.style.whiteSpace = "nowrap";
6585
+ span.style.fontSize = "14px";
6586
+ span.style.display = "inline-block"; // 将样式修改为 inline-block
5395
6587
  span.innerText = item.title;
5396
6588
  document.body.appendChild(span);
5397
6589
  item.minWidth = span.offsetWidth + 16;
5398
- span.style.display = 'none';
6590
+ span.style.display = "none";
5399
6591
  document.body.removeChild(span);
5400
6592
  }));
5401
6593
  }
@@ -5405,13 +6597,13 @@
5405
6597
  * @param {?} col
5406
6598
  * @return {?}
5407
6599
  */
5408
- function (col) { return col.fixed === 'left'; }));
6600
+ function (col) { return col.fixed === "left"; }));
5409
6601
  /** @type {?} */
5410
6602
  var rightFixedCols = this.tableCols.filter((/**
5411
6603
  * @param {?} col
5412
6604
  * @return {?}
5413
6605
  */
5414
- function (col) { return col.fixed === 'right'; }));
6606
+ function (col) { return col.fixed === "right"; }));
5415
6607
  /** @type {?} */
5416
6608
  var normalCols = this.tableCols.filter((/**
5417
6609
  * @param {?} col
@@ -5426,6 +6618,41 @@
5426
6618
  this.tableColsCache = __spread(this.tableCols);
5427
6619
  }
5428
6620
  };
6621
+ /**
6622
+ * @return {?}
6623
+ */
6624
+ HdTableComponent.prototype.normalizeTableCacheOption = /**
6625
+ * @return {?}
6626
+ */
6627
+ function () {
6628
+ var _this = this;
6629
+ if (!this.tableCacheOption.colWidths) {
6630
+ this.tableCacheOption.colWidths = new Map();
6631
+ }
6632
+ else if (!(this.tableCacheOption.colWidths instanceof Map)) {
6633
+ /** @type {?} */
6634
+ var colWidths_1 = new Map();
6635
+ Object.keys(this.tableCacheOption.colWidths).forEach((/**
6636
+ * @param {?} key
6637
+ * @return {?}
6638
+ */
6639
+ function (key) {
6640
+ colWidths_1.set(key, ((/** @type {?} */ (_this.tableCacheOption.colWidths)))[key]);
6641
+ }));
6642
+ this.tableCacheOption.colWidths = colWidths_1;
6643
+ }
6644
+ };
6645
+ /**
6646
+ * @private
6647
+ * @return {?}
6648
+ */
6649
+ HdTableComponent.prototype.hasColsCache = /**
6650
+ * @private
6651
+ * @return {?}
6652
+ */
6653
+ function () {
6654
+ return !!(this.tableCacheOption && this.tableCacheOption.cols && this.tableCacheOption.cols.length > 0);
6655
+ };
5429
6656
  /**
5430
6657
  * @return {?}
5431
6658
  */
@@ -5433,7 +6660,12 @@
5433
6660
  * @return {?}
5434
6661
  */
5435
6662
  function () {
5436
- this.localforage.setItem('hd-table_' + this.userSession.userCode + '_' + this.localtionTmp + '_' + this.uuid, this.tableCacheOption);
6663
+ this.localforage.setItem("hd-table_" +
6664
+ this.userSession.userCode +
6665
+ "_" +
6666
+ this.localtionTmp +
6667
+ "_" +
6668
+ this.uuid, this.tableCacheOption);
5437
6669
  };
5438
6670
  /**
5439
6671
  * @return {?}
@@ -5463,6 +6695,7 @@
5463
6695
  */
5464
6696
  function (_a, col) {
5465
6697
  var width = _a.width;
6698
+ this.normalizeTableCacheOption();
5466
6699
  /** @type {?} */
5467
6700
  var tempWidth = 0;
5468
6701
  if (width > col.minWidth) {
@@ -5477,7 +6710,9 @@
5477
6710
  * @param {?} e
5478
6711
  * @return {?}
5479
6712
  */
5480
- function (e) { return (e.title === col.title ? __assign({}, e, { width: tempWidth }) : e); }));
6713
+ function (e) {
6714
+ return e.title === col.title ? __assign({}, e, { width: tempWidth }) : e;
6715
+ }));
5481
6716
  this.dealScroll();
5482
6717
  };
5483
6718
  /**
@@ -5492,10 +6727,10 @@
5492
6727
  * @param {?} col
5493
6728
  * @return {?}
5494
6729
  */
5495
- function (col) { return col.title === '操作'; })) || null;
6730
+ function (col) { return col.title === "操作"; })) || null;
5496
6731
  if (operateCol) {
5497
6732
  /** @type {?} */
5498
- var textStr_1 = '';
6733
+ var textStr_1 = "";
5499
6734
  operateCol.btnList.forEach((/**
5500
6735
  * @param {?} btn
5501
6736
  * @return {?}
@@ -5506,20 +6741,23 @@
5506
6741
  }
5507
6742
  }));
5508
6743
  /** @type {?} */
5509
- var span = document.createElement('a');
5510
- span.style.visibility = 'hidden';
5511
- span.style.position = 'absolute';
5512
- span.style.whiteSpace = 'nowrap';
5513
- span.style.fontSize = '12px';
5514
- span.style.display = 'inline-block'; // 将样式修改为 inline-block
6744
+ var span = document.createElement("a");
6745
+ span.style.visibility = "hidden";
6746
+ span.style.position = "absolute";
6747
+ span.style.whiteSpace = "nowrap";
6748
+ span.style.fontSize = "14px";
6749
+ span.style.display = "inline-block"; // 将样式修改为 inline-block
5515
6750
  span.innerText = textStr_1;
5516
6751
  document.body.appendChild(span);
5517
- operateCol.width = span.offsetWidth + (operateCol.btnList.filter((/**
5518
- * @param {?} item
5519
- * @return {?}
5520
- */
5521
- function (item) { return !item.isRepeat; })).length - 1) * 4 + 16;
5522
- span.style.display = 'none';
6752
+ operateCol.width =
6753
+ span.offsetWidth +
6754
+ (operateCol.btnList.filter((/**
6755
+ * @param {?} item
6756
+ * @return {?}
6757
+ */
6758
+ function (item) { return !item.isRepeat; })).length - 1) * 4 +
6759
+ 16;
6760
+ span.style.display = "none";
5523
6761
  document.body.removeChild(span);
5524
6762
  }
5525
6763
  };
@@ -5538,6 +6776,22 @@
5538
6776
  fn(event);
5539
6777
  }
5540
6778
  };
6779
+ /**
6780
+ * @param {?} btn
6781
+ * @param {?} data
6782
+ * @return {?}
6783
+ */
6784
+ HdTableComponent.prototype.needShowConfirm = /**
6785
+ * @param {?} btn
6786
+ * @param {?} data
6787
+ * @return {?}
6788
+ */
6789
+ function (btn, data) {
6790
+ if (typeof btn.showConfirm === "function") {
6791
+ return btn.showConfirm(data);
6792
+ }
6793
+ return !!btn.showConfirm;
6794
+ };
5541
6795
  /**
5542
6796
  * @return {?}
5543
6797
  */
@@ -5565,14 +6819,14 @@
5565
6819
  }));
5566
6820
  if (this.tableTotal) {
5567
6821
  this.scroll = {
5568
- x: '1px',
5569
- y: 'calc(100vh - 180px)'
6822
+ x: "1px",
6823
+ y: "calc(100vh - 180px)",
5570
6824
  };
5571
6825
  }
5572
6826
  else {
5573
6827
  this.scroll = {
5574
- x: '1px',
5575
- y: 'calc(100vh - 140px)'
6828
+ x: "1px",
6829
+ y: "calc(100vh - 140px)",
5576
6830
  };
5577
6831
  }
5578
6832
  };
@@ -5593,18 +6847,18 @@
5593
6847
  return cachedWidth + 15 >= maxWidth;
5594
6848
  }
5595
6849
  /** @type {?} */
5596
- var span = document.createElement('span');
5597
- span.style.visibility = 'hidden';
5598
- span.style.position = 'absolute';
5599
- span.style.whiteSpace = 'nowrap';
5600
- span.style.fontSize = '12px';
5601
- span.style.display = 'inline-block'; // 将样式修改为 inline-block
6850
+ var span = document.createElement("span");
6851
+ span.style.visibility = "hidden";
6852
+ span.style.position = "absolute";
6853
+ span.style.whiteSpace = "nowrap";
6854
+ span.style.fontSize = "14px";
6855
+ span.style.display = "inline-block"; // 将样式修改为 inline-block
5602
6856
  span.innerText = text;
5603
6857
  document.body.appendChild(span);
5604
6858
  /** @type {?} */
5605
6859
  var isOverflow = span.offsetWidth + 15 >= maxWidth;
5606
6860
  this.textWidthCache[text] = span.offsetWidth;
5607
- span.style.display = 'none';
6861
+ span.style.display = "none";
5608
6862
  document.body.removeChild(span);
5609
6863
  return isOverflow;
5610
6864
  };
@@ -5623,7 +6877,9 @@
5623
6877
  function ($event) {
5624
6878
  this.listOfDisplayData = $event;
5625
6879
  this.refreshStatus();
5626
- this.resetStatus();
6880
+ if (!this.isCrossPageSelectLocal) {
6881
+ this.resetStatus();
6882
+ }
5627
6883
  };
5628
6884
  /**
5629
6885
  * @param {?} reset
@@ -5638,6 +6894,7 @@
5638
6894
  this.saveTableCacheOption();
5639
6895
  if (reset) {
5640
6896
  this.tablePageSizeChange.emit(this.tablePageSize);
6897
+ this.tablePageSizeChangeEvent.emit(this.tablePageSize);
5641
6898
  }
5642
6899
  else {
5643
6900
  this.tablePageIndexChange.emit(this.tablePageIndex);
@@ -5673,10 +6930,12 @@
5673
6930
  if (event === void 0) { event = false; }
5674
6931
  if (data === void 0) { data = null; }
5675
6932
  if (event && data) {
5676
- !this.mapOfCheckList[data[this.selectField]] && (this.mapOfCheckList[data[this.selectField]] = data);
6933
+ !this.mapOfCheckList[data[this.selectField]] &&
6934
+ (this.mapOfCheckList[data[this.selectField]] = data);
5677
6935
  }
5678
6936
  else if (!event && data) {
5679
- this.mapOfCheckList[data[this.selectField]] && delete this.mapOfCheckList[data[this.selectField]];
6937
+ this.mapOfCheckList[data[this.selectField]] &&
6938
+ delete this.mapOfCheckList[data[this.selectField]];
5680
6939
  }
5681
6940
  this.isAllDisplayDataChecked = this.listOfDisplayData.every((/**
5682
6941
  * @param {?} item
@@ -5716,10 +6975,12 @@
5716
6975
  */
5717
6976
  function (item) {
5718
6977
  if (value) {
5719
- !_this.mapOfCheckList[item[_this.selectField]] && (_this.mapOfCheckList[item[_this.selectField]] = item);
6978
+ !_this.mapOfCheckList[item[_this.selectField]] &&
6979
+ (_this.mapOfCheckList[item[_this.selectField]] = item);
5720
6980
  }
5721
6981
  else {
5722
- _this.mapOfCheckList[item[_this.selectField]] && delete _this.mapOfCheckList[item[_this.selectField]];
6982
+ _this.mapOfCheckList[item[_this.selectField]] &&
6983
+ delete _this.mapOfCheckList[item[_this.selectField]];
5723
6984
  }
5724
6985
  _this.mapOfCheckedId[item[_this.selectField]] = value;
5725
6986
  }));
@@ -5738,14 +6999,28 @@
5738
6999
  return str;
5739
7000
  }
5740
7001
  else {
5741
- return '<空>';
7002
+ return "<空>";
7003
+ }
7004
+ };
7005
+ /**
7006
+ * @param {?} col
7007
+ * @return {?}
7008
+ */
7009
+ HdTableComponent.prototype.getStateField = /**
7010
+ * @param {?} col
7011
+ * @return {?}
7012
+ */
7013
+ function (col) {
7014
+ if (col.isState) {
7015
+ return (/** @type {?} */ (col.name));
5742
7016
  }
7017
+ return col.stateField || 'state';
5743
7018
  };
5744
7019
  HdTableComponent.decorators = [
5745
7020
  { type: core.Component, args: [{
5746
- selector: 'hd-table',
5747
- template: "<ng-container>\n <hd-button-group>\n <ng-template #buttonGroupLeft>\n <ng-container *ngTemplateOutlet=\"tableLeftButton\"></ng-container>\n <hd-button *ngIf=\"showOperateColWarpButton\" type=\"default\" (click)=\"showDetail = !showDetail\">{{showDetail ?\n '\u7F29\u7565\u663E\u793A': '\u5C55\u5F00\u663E\u793A'}}</hd-button>\n </ng-template>\n <ng-template #buttonGroupRight>\n <ng-container *ngTemplateOutlet=\"tableRightButton\"></ng-container>\n <hd-button type=\"primary\" nz-dropdown nzTrigger=\"click\" [nzDropdownMenu]=\"menu\" (clickAction)=\"confirmDropdown()\"\n [nzVisible]=\"isDropdownVisible\">\u8BBE\u7F6E\u5217</hd-button>\n <nz-dropdown-menu #menu=\"nzDropdownMenu\">\n <div style=\"max-height: 400px;overflow-y: scroll;\">\n <div *ngIf=\"showListNodes && nowListNodes.length > 0\" nz-menu style=\"padding: 5px 10px;\">\n <nz-tree *ngIf=\"showListNodes\" [nzData]=\"nowListNodes\" nzCheckable nzDraggable nzBlockNode\n nzShowExpand=\"false\" (nzCheckBoxChange)=\"checkAction($event)\" [nzBeforeDrop]=\"beforeDrop\"\n [nzTreeTemplate]=\"nzTreeTemplate\">\n </nz-tree>\n <ng-template #nzTreeTemplate let-node>\n <span\n class=\"ng-tns-c31-110 draggable ng-star-inserted ant-tree-node-content-wrapper ant-tree-node-content-wrapper-close\"\n [title]=\"node.key\" draggable=\"true\" aria-grabbed=\"true\">\n <span class=\"ant-tree-title\">\n <div class=\"hd-table-tree-node\">\n <span>{{node.key}}</span>\n <div *ngIf=\"!node.origin.disabled\" class=\"hd-table-tree-node-img\">\n <i nz-icon nzType=\"caret-up\" nzTheme=\"outline\"></i>\n <i nz-icon nzType=\"caret-down\" nzTheme=\"outline\"></i>\n </div>\n </div>\n </span>\n </span>\n </ng-template>\n </div>\n <div *ngIf=\"showListNodes && hideListNodes.length > 0\" nz-menu style=\"padding: 5px 10px;\">\n <nz-tree *ngIf=\"showListNodes\" [nzData]=\"hideListNodes\" nzCheckable nzShowExpand=\"false\"\n (nzCheckBoxChange)=\"checkAction($event)\">\n </nz-tree>\n </div>\n </div>\n <div style=\"text-align: right;background: #fff;padding: 4px;\">\n <hd-button style=\"margin-right: 4px;\" type=\"default\" size=\"small\" (clickAction)=\"cancelDropdown()\">\u53D6\u6D88\n </hd-button>\n <hd-button type=\"primary\" size=\"small\" (clickAction)=\"submitGrids()\">\u5B8C\u6210</hd-button>\n </div>\n </nz-dropdown-menu>\n </ng-template>\n </hd-button-group>\n <hd-space type=\"row\" size=\"12\"></hd-space>\n <ng-container *ngTemplateOutlet=\"tableTotal\"></ng-container>\n <hd-space *ngIf=\"tableTotal\" type=\"row\" size=\"12\"></hd-space>\n <nz-table *ngIf=\"showTable\" #hdTable class=\"hd-table-container\" [nzScroll]=\"scroll\" nzShowSizeChanger\n nzShowSizeChanger nzShowQuickJumper nzFrontPagination=\"false\" nzSize=\"middle\" [nzData]=\"tableData.content\"\n [nzTotal]=\"tableData.totalElements\" [(nzPageIndex)]=\"tablePageIndex\" [nzLoading]=\"tableLoading\"\n [nzPageSizeOptions]=\"[ 10, 50, 100, 200 ]\" [(nzPageSize)]=\"tablePageSize\" (nzPageSizeChange)=\"search(true)\"\n (nzPageIndexChange)=\"search(false)\" (nzCurrentPageDataChange)=\"showSelected ? currentPageDataChange($event) : null\"\n [nzShowTotal]=\"tableTotalTemplate\">\n <thead (nzSortChange)=\"sort($event)\" nzSingleSort>\n <tr>\n <th nzWidth=\"40px\" nzLeft=\"0px\" *ngIf=\"showSelected\" nzShowCheckbox [(nzChecked)]=\"isAllDisplayDataChecked\"\n [nzIndeterminate]=\"isIndeterminate\" (nzCheckedChange)=\"checkAll($event)\"></th>\n <ng-container *ngFor=\"let col of tableCols\">\n <th *ngIf=\"col.isShow\" [nzWidth]=\"col.width + 'px'\" [nzAlign]=\"col.align\"\n [nzLeft]=\"col.fixed === 'left' ? col.fixedWidth + 'px' : null\"\n [nzRight]=\"col.fixed === 'right' ? 0 + 'px' : null\" nz-resizable nzBounds=\"window\" nzPreview\n (nzResizeEnd)=\"onResize($event, col)\" [nzShowSort]=\"col.canSort\" [nzSortKey]=\"col.name\">\n {{ col.title }}\n <nz-resize-handle nzDirection=\"right\">\n <div class=\"resize-trigger\"></div>\n </nz-resize-handle>\n </th>\n </ng-container>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let data of hdTable.data;index as i\">\n <td nzLeft=\"0px\" *ngIf=\"showSelected\" nzShowCheckbox [(nzChecked)]=\"mapOfCheckedId[data[selectField]]\"\n (nzCheckedChange)=\"refreshStatus($event, data)\"></td>\n <ng-container *ngFor=\"let col of tableCols\">\n <td *ngIf=\"col.isShow\" [ngStyle]=\"{'max-width': col.width + 'px'}\" [nzAlign]=\"col.align\"\n [nzLeft]=\"col.fixed === 'left' ? col.fixedWidth + 'px' : null\"\n [nzRight]=\"col.fixed === 'right' ? 0 + 'px' : null\"\n [ngClass]=\"(col.canWarp && showDetail) ? 'common-td-wrap' : ''\">\n <ng-container *ngIf=\"col.title === '\u64CD\u4F5C';else notOperateTemplate\">\n <div class=\"common-btn-group\">\n <ng-container *ngFor=\"let btn of col.btnList\">\n <ng-container *ngIf=\"!btn.showConfirm;else showConfirmTemplate\">\n <a *ngIf=\"btn.permission ? btn.permission(data) : true\"\n [class]=\"btn.name === '\u5220\u9664' ? 'common-danger-btn': ''\"\n (click)=\"triggerEvent(btn.click || null, data)\">{{ btn.name }}</a>\n </ng-container>\n <ng-template #showConfirmTemplate>\n <a *ngIf=\"btn.permission ? btn.permission(data) : true\"\n [class]=\"btn.name === '\u5220\u9664' ? 'common-danger-btn': ''\" nz-popconfirm\n [nzPopconfirmTitle]=\"'\u786E\u8BA4\u8981' + btn.name + '\u5417?'\"\n (nzOnConfirm)=\"triggerEvent(btn.click || null, data)\">{{\n btn.name }}</a>\n </ng-template>\n </ng-container>\n </div>\n </ng-container>\n <ng-template #notOperateTemplate>\n <ng-container *ngIf=\"col.name === 'state';else otherTemplate\">\n <hd-status [status]=\"data['state']\">{{ judgeColEmpty(col.render ? col.render(data) : data['state'])}}\n </hd-status>\n </ng-container>\n <ng-template #otherTemplate>\n <ng-container *ngIf=\"col.click;else noClickTemplate\">\n <ng-container\n *ngIf=\"!isTextOverflow(col.render ? col.render(data) : data[col.name], col.width);else overflowTemplate\">\n <a [ngStyle]=\"{'color': judgeColEmpty(col.render ? col.render(data) :data[col.name]) === '<\u7A7A>' ? '#2A3634' : (col?.color ? col.color : null)}\"\n (click)=\"triggerEvent(col.click || null, data)\">{{ judgeColEmpty(col.render ? col.render(data) :\n data[col.name])}}</a>\n </ng-container>\n <ng-template #overflowTemplate>\n <a [ngStyle]=\"{'color': judgeColEmpty(col.render ? col.render(data) :data[col.name]) === '<\u7A7A>' ? '#2A3634' : (col?.color ? col.color : null)}\" nz-tooltip\n [nzTooltipTitle]=\"col.render ? col.render(data) : data[col.name]\"\n (click)=\"triggerEvent(col.click || null, data)\">{{ judgeColEmpty(col.render ? col.render(data) :\n data[col.name])}}</a>\n </ng-template>\n </ng-container>\n <ng-template #noClickTemplate>\n <ng-container\n *ngIf=\"!isTextOverflow(col.render ? col.render(data) : data[col.name], col.width);else overflowTemplate\">\n <span [ngStyle]=\"{'color': col?.color ? col.color : null}\">{{ judgeColEmpty(col.render ?\n col.render(data) :\n data[col.name])}}</span>\n </ng-container>\n <ng-template #overflowTemplate>\n <span [ngStyle]=\"{'color': col?.color ? col.color : null}\" nz-tooltip\n [nzTooltipTitle]=\"col.render ? col.render(data) : data[col.name]\">\n {{ judgeColEmpty(col.render ? col.render(data) : data[col.name])}}</span>\n </ng-template>\n </ng-template>\n </ng-template>\n </ng-template>\n </td>\n </ng-container>\n </tr>\n <!-- \u5408\u8BA1\u6240\u6709\u6570\u636E\u533A\u57DF \u9700\u8981\u540E\u7AEF\u63A5\u53E3\u914D\u5408 -->\n <tr *ngIf=\"showTableTotal\" class=\"hd-table-total\">\n <td>\u5408\u8BA1</td>\n <ng-container *ngFor=\"let tableTotalOption of tableTotalOptionList\">\n <td>{{ tableTotalOption }}</td>\n </ng-container>\n </tr>\n </tbody>\n <ng-template #tableTotalTemplate>\n \u5171 {{tableData.totalElements}} \u6761\u6570\u636E\n </ng-template>\n </nz-table>\n</ng-container>\n",
5748
- styles: ["::ng-deep .common-btn-group>a{font-size:12px;font-weight:400;color:#12a34f!important;white-space:nowrap}::ng-deep .common-btn-group .common-danger-btn:hover{color:#f05b24!important}::ng-deep .common-btn-group>a:hover{color:#20bd62!important}::ng-deep .common-btn-group>a:not(:last-child)::after{content:'';margin:0 2px}::ng-deep .common-billNumber>a{color:#3b77e3}button{box-shadow:unset;text-shadow:unset;padding:0 6px!important}::ng-deep .ant-form-item-label>label{color:#4b504e}::ng-deep .ant-input-number-input{height:28px}::ng-deep .ant-input-number{height:28px}textarea.ant-input{height:auto;min-height:28px}::ng-deep .ant-select-selection--multiple{min-height:28px}::ng-deep .ant-select-selection__rendered>ul>li{height:22px!important;margin-top:3px!important;line-height:22px!important}::ng-deep .ant-advanced-search-form .ant-form-item{margin-bottom:0!important}::ng-deep .ant-select-selection--single{height:28px!important}::ng-deep .ant-input{height:28px}::ng-deep .ant-input[disabled]:hover{border-color:#d9d9d9!important}::ng-deep .ant-select-selection__rendered{line-height:28px!important}::ng-deep .ant-calendar-range-picker-input{text-align:left!important}::ng-deep .ant-calendar-picker{width:100%!important}::ng-deep .ant-row{margin-right:0!important;margin-left:0!important}::ng-deep .ant-col-6{padding-left:12px;padding-right:12px}::ng-deep .ant-col-12{padding-left:12px;padding-right:12px}::ng-deep .ant-col-18{padding-left:12px;padding-right:12px}::ng-deep .ant-col-24{padding-left:12px;padding-right:12px}::ng-deep .ant-alert-info{background-color:#f5f8f6;border:1px solid #cfe3d4}:host ::ng-deep th{background:#f5f8f6!important;font-weight:700!important;white-space:nowrap;font-size:12px;font-family:PingFangSC-Medium,PingFang SC;color:#2a3634;padding:8px!important;box-sizing:border-box}:host ::ng-deep td{font-weight:400;font-style:normal;font-size:12px;color:#2a3634;text-align:left;white-space:nowrap;padding:8px!important;box-sizing:border-box}::ng-deep .ant-pagination-options{display:inline-flex;align-items:center}::ng-deep .ant-time-picker{width:100%}.ant-input-number-disabled,.ant-input[disabled],.ant-select-disabled{color:#4b504e}.nz-resizable-preview{position:absolute;top:0;left:0;z-index:8;border:1px dashed #d1d1d1}.nz-resizable-handle{position:absolute;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:9}.nz-resizable-handle-top{width:100%;height:10px;top:-5px;left:0}.nz-resizable-handle-right{height:100%}.nz-resizable-handle-bottom{width:100%;height:10px;bottom:-5px;left:0}.nz-resizable-handle-left{width:10px;height:100%;top:0;left:-5px}.nz-resizable-handle-topRight{width:20px;height:20px;top:-5px;right:-5px;z-index:10}.nz-resizable-handle-bottomRight{width:20px;height:20px;right:-5px;bottom:-5px;z-index:10}.nz-resizable-handle-bottomLeft{width:20px;height:20px;bottom:-5px;left:-5px;z-index:10}.nz-resizable-handle-topLeft{width:20px;height:20px;top:-5px;left:-5px;z-index:10}.nz-resizable:not(.nz-resizable-resizing) .nz-resizable-handle-bottom,.nz-resizable:not(.nz-resizable-resizing) .nz-resizable-handle-top{cursor:row-resize}.nz-resizable:not(.nz-resizable-resizing) .nz-resizable-handle-left,.nz-resizable:not(.nz-resizable-resizing) .nz-resizable-handle-right{cursor:col-resize}.nz-resizable:not(.nz-resizable-resizing) .nz-resizable-handle-bottomRight,.nz-resizable:not(.nz-resizable-resizing) .nz-resizable-handle-topLeft{cursor:nwse-resize}.nz-resizable:not(.nz-resizable-resizing) .nz-resizable-handle-bottomLeft,.nz-resizable:not(.nz-resizable-resizing) .nz-resizable-handle-topRight{cursor:nesw-resize}.hd-table-container ::ng-deep .ant-pagination-options-quick-jumper input{border-radius:2px;border:1px solid #d9d9d9}.hd-table-container ::ng-deep .ant-pagination-options .ant-select-selection{border-radius:2px}.hd-table-container ::ng-deep .ant-table-thead>tr>th{border-bottom:1px solid #ecf1ed;white-space:nowrap;text-overflow:ellipsis}.hd-table-container ::ng-deep .ant-table-tbody>tr>td{border-bottom:1px solid #ecf1ed;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.hd-table-container ::ng-deep .hd-table-total>td{border:0!important}::ng-deep .ant-dropdown-menu{border-radius:0}::ng-deep .ant-dropdown{margin-top:8px!important}.common-td-wrap{white-space:normal!important;word-break:break-all}.nz-resizable-preview{border-width:0 1px 0 0}.resize-trigger{width:10px;height:15px;position:relative;top:calc((100% - 15px)/ 2)}.resize-trigger::after{position:absolute;top:calc((100% - 15px)/ 2);left:0;background:#d5d5d5;content:'';width:1px;height:15px;z-index:1}.nz-resizable-handle-right{position:absolute;width:10px;top:0;right:-5px;z-index:inherit}.hd-table-tree-node{display:inline-flex;align-items:center;padding-right:10px}.hd-table-tree-node .hd-table-tree-node-img{display:flex;flex-direction:column;position:absolute;right:0;margin-top:-2.5px}.hd-table-tree-node .hd-table-tree-node-img i{opacity:.3}.hd-table-tree-node .hd-table-tree-node-img i:last-child{margin-top:-5px}img{width:20px;height:20px}.ant-table-th-left-sticky{z-index:2}::ng-deep .ant-table-thead>tr>th .ant-table-header-column .ant-table-column-sorters>:not(.ant-table-column-sorter){position:unset}"]
7021
+ selector: "hd-table",
7022
+ template: "<ng-container>\n <hd-button-group>\n <ng-template #buttonGroupLeft>\n <ng-container *ngTemplateOutlet=\"tableLeftButton\"></ng-container>\n <hd-button *ngIf=\"showOperateColWarpButton\" type=\"default\" (click)=\"showDetail = !showDetail\">{{showDetail ?\n '\u7F29\u7565\u663E\u793A': '\u5C55\u5F00\u663E\u793A'}}</hd-button>\n </ng-template>\n <ng-template #buttonGroupRight>\n <ng-container *ngTemplateOutlet=\"tableRightButton\"></ng-container>\n <hd-button type=\"primary\" nz-dropdown nzTrigger=\"click\" [nzDropdownMenu]=\"menu\" (clickAction)=\"confirmDropdown()\"\n [nzVisible]=\"isDropdownVisible\">\u8BBE\u7F6E\u5217</hd-button>\n <nz-dropdown-menu #menu=\"nzDropdownMenu\">\n <div style=\"max-height: 400px;overflow-y: scroll;\">\n <div *ngIf=\"showListNodes && nowListNodes.length > 0\" nz-menu style=\"padding: 5px 10px;\">\n <nz-tree *ngIf=\"showListNodes\" [nzData]=\"nowListNodes\" nzCheckable nzDraggable nzBlockNode\n nzShowExpand=\"false\" (nzCheckBoxChange)=\"checkAction($event)\" [nzBeforeDrop]=\"beforeDrop\"\n [nzTreeTemplate]=\"nzTreeTemplate\">\n </nz-tree>\n <ng-template #nzTreeTemplate let-node>\n <span\n class=\"ng-tns-c31-110 draggable ng-star-inserted ant-tree-node-content-wrapper ant-tree-node-content-wrapper-close\"\n [title]=\"node.key\" draggable=\"true\" aria-grabbed=\"true\">\n <span class=\"ant-tree-title\">\n <div class=\"hd-table-tree-node\">\n <span>{{node.key}}</span>\n <div *ngIf=\"!node.origin.disabled\" class=\"hd-table-tree-node-img\">\n <i nz-icon nzType=\"caret-up\" nzTheme=\"outline\"></i>\n <i nz-icon nzType=\"caret-down\" nzTheme=\"outline\"></i>\n </div>\n </div>\n </span>\n </span>\n </ng-template>\n </div>\n <div *ngIf=\"showListNodes && hideListNodes.length > 0\" nz-menu style=\"padding: 5px 10px;\">\n <nz-tree *ngIf=\"showListNodes\" [nzData]=\"hideListNodes\" nzCheckable nzShowExpand=\"false\"\n (nzCheckBoxChange)=\"checkAction($event)\">\n </nz-tree>\n </div>\n </div>\n <div style=\"text-align: right;background: #fff;padding: 4px;\">\n <hd-button style=\"margin-right: 4px;\" type=\"default\" size=\"small\" (clickAction)=\"cancelDropdown()\">\u53D6\u6D88\n </hd-button>\n <hd-button type=\"primary\" size=\"small\" (clickAction)=\"submitGrids()\">\u5B8C\u6210</hd-button>\n </div>\n </nz-dropdown-menu>\n </ng-template>\n </hd-button-group>\n <hd-space type=\"row\" size=\"12\"></hd-space>\n <ng-container *ngTemplateOutlet=\"tableTotal\"></ng-container>\n <hd-space *ngIf=\"tableTotal\" type=\"row\" size=\"12\"></hd-space>\n <nz-table *ngIf=\"showTable\" #hdTable class=\"hd-table-container\" [nzScroll]=\"scroll\" nzShowSizeChanger\n nzShowSizeChanger nzShowQuickJumper nzFrontPagination=\"false\" nzSize=\"middle\" [nzData]=\"tableData.content\"\n [nzTotal]=\"tableData.totalElements\" [(nzPageIndex)]=\"tablePageIndex\" [nzLoading]=\"tableLoading\"\n [nzPageSizeOptions]=\"[ 10, 50, 100, 200 ]\" [(nzPageSize)]=\"tablePageSize\" (nzPageSizeChange)=\"search(true)\"\n (nzPageIndexChange)=\"search(false)\" (nzCurrentPageDataChange)=\"showSelected ? currentPageDataChange($event) : null\"\n [nzShowTotal]=\"tableTotalTemplate\">\n <thead (nzSortChange)=\"sort($event)\" nzSingleSort>\n <tr>\n <th nzWidth=\"40px\" nzLeft=\"0px\" *ngIf=\"showSelected\" nzShowCheckbox [(nzChecked)]=\"isAllDisplayDataChecked\"\n [nzIndeterminate]=\"isIndeterminate\" (nzCheckedChange)=\"checkAll($event)\"></th>\n <ng-container *ngFor=\"let col of tableCols\">\n <th *ngIf=\"col.isShow\" [nzWidth]=\"col.width + 'px'\" [nzAlign]=\"col.align\"\n [nzLeft]=\"col.fixed === 'left' ? col.fixedWidth + 'px' : null\"\n [nzRight]=\"col.fixed === 'right' ? 0 + 'px' : null\" nz-resizable nzBounds=\"window\" nzPreview\n (nzResizeEnd)=\"onResize($event, col)\" [nzShowSort]=\"col.canSort\" [nzSortKey]=\"col.name\">\n {{ col.title }}\n <nz-resize-handle nzDirection=\"right\">\n <div class=\"resize-trigger\"></div>\n </nz-resize-handle>\n </th>\n </ng-container>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let data of hdTable.data;index as i\">\n <td nzLeft=\"0px\" *ngIf=\"showSelected\" nzShowCheckbox [(nzChecked)]=\"mapOfCheckedId[data[selectField]]\"\n (nzCheckedChange)=\"refreshStatus($event, data)\"></td>\n <ng-container *ngFor=\"let col of tableCols\">\n <td *ngIf=\"col.isShow\" [ngStyle]=\"{'max-width': col.width + 'px'}\" [nzAlign]=\"col.align\"\n [nzLeft]=\"col.fixed === 'left' ? col.fixedWidth + 'px' : null\"\n [nzRight]=\"col.fixed === 'right' ? 0 + 'px' : null\"\n [ngClass]=\"(col.canWarp && showDetail) ? 'common-td-wrap' : ''\">\n <ng-container *ngIf=\"col.title === '\u64CD\u4F5C';else notOperateTemplate\">\n <div class=\"common-btn-group\">\n <ng-container *ngFor=\"let btn of col.btnList\">\n <ng-container *ngIf=\"!needShowConfirm(btn, data);else showConfirmTemplate\">\n <a *ngIf=\"btn.permission ? btn.permission(data) : true\"\n [class]=\"btn.name === '\u5220\u9664' ? 'common-danger-btn': ''\"\n (click)=\"triggerEvent(btn.click || null, data)\">{{ btn.name }}</a>\n </ng-container>\n <ng-template #showConfirmTemplate>\n <a *ngIf=\"btn.permission ? btn.permission(data) : true\"\n [class]=\"btn.name === '\u5220\u9664' ? 'common-danger-btn': ''\" nz-popconfirm\n [nzPopconfirmTitle]=\"'\u786E\u8BA4\u8981' + btn.name + '\u5417?'\"\n (nzOnConfirm)=\"triggerEvent(btn.click || null, data)\">{{\n btn.name }}</a>\n </ng-template>\n </ng-container>\n </div>\n </ng-container>\n <ng-template #notOperateTemplate>\n <ng-container *ngIf=\"col.name === 'state' || col.isState;else otherTemplate\">\n <hd-status [status]=\"data[getStateField(col)]\">{{ judgeColEmpty(col.render ? col.render(data) : data[getStateField(col)])}}\n </hd-status>\n </ng-container>\n <ng-template #otherTemplate>\n <ng-container *ngIf=\"col.click;else noClickTemplate\">\n <ng-container\n *ngIf=\"!isTextOverflow(col.render ? col.render(data) : data[col.name], col.width);else overflowTemplate\">\n <a [ngStyle]=\"{'color': judgeColEmpty(col.render ? col.render(data) :data[col.name]) === '<\u7A7A>' ? '#2A3634' : (col?.color ? col.color : null)}\"\n (click)=\"triggerEvent(col.click || null, data)\">{{ judgeColEmpty(col.render ? col.render(data) :\n data[col.name])}}</a>\n </ng-container>\n <ng-template #overflowTemplate>\n <a [ngStyle]=\"{'color': judgeColEmpty(col.render ? col.render(data) :data[col.name]) === '<\u7A7A>' ? '#2A3634' : (col?.color ? col.color : null)}\" nz-tooltip\n [nzTooltipTitle]=\"col.render ? col.render(data) : data[col.name]\"\n (click)=\"triggerEvent(col.click || null, data)\">{{ judgeColEmpty(col.render ? col.render(data) :\n data[col.name])}}</a>\n </ng-template>\n </ng-container>\n <ng-template #noClickTemplate>\n <ng-container\n *ngIf=\"!isTextOverflow(col.render ? col.render(data) : data[col.name], col.width);else overflowTemplate\">\n <span [ngStyle]=\"{'color': col?.color ? col.color : null}\">{{ judgeColEmpty(col.render ?\n col.render(data) :\n data[col.name])}}</span>\n </ng-container>\n <ng-template #overflowTemplate>\n <span [ngStyle]=\"{'color': col?.color ? col.color : null}\" nz-tooltip\n [nzTooltipTitle]=\"col.render ? col.render(data) : data[col.name]\">\n {{ judgeColEmpty(col.render ? col.render(data) : data[col.name])}}</span>\n </ng-template>\n </ng-template>\n </ng-template>\n </ng-template>\n </td>\n </ng-container>\n </tr>\n <!-- \u5408\u8BA1\u6240\u6709\u6570\u636E\u533A\u57DF \u9700\u8981\u540E\u7AEF\u63A5\u53E3\u914D\u5408 -->\n <tr *ngIf=\"showTableTotal\" class=\"hd-table-total\">\n <td>\u5408\u8BA1</td>\n <ng-container *ngFor=\"let tableTotalOption of tableTotalOptionList\">\n <td>{{ tableTotalOption }}</td>\n </ng-container>\n </tr>\n </tbody>\n <ng-template #tableTotalTemplate>\n \u5171 {{tableData.totalElements}} \u6761\u6570\u636E\n </ng-template>\n </nz-table>\n</ng-container>\n",
7023
+ styles: ["::ng-deep .common-btn-group>a{font-size:14px;font-weight:400;color:#20b95d!important;white-space:nowrap}::ng-deep .common-btn-group .common-danger-btn:hover{color:#f05b24!important}::ng-deep .common-btn-group>a:hover{color:#20bd62!important}::ng-deep .common-btn-group>a:not(:last-child)::after{content:'';margin:0 2px}::ng-deep .common-billNumber>a{color:#3b77e3}button{box-shadow:unset;text-shadow:unset;padding:0 6px!important}::ng-deep .ant-form-item-label>label{color:#4b504e;font-size:14px}::ng-deep .ant-input-number-input{height:32px}::ng-deep .ant-input-number{height:32px}textarea.ant-input{height:auto;min-height:32px}::ng-deep .ant-select-selection--multiple{min-height:32px}::ng-deep .ant-select-selection__rendered>ul>li{height:26px!important;margin-top:3px!important;line-height:26px!important}::ng-deep .ant-advanced-search-form .ant-form-item{margin-bottom:0!important}::ng-deep .ant-select-selection--single{height:32px!important}::ng-deep .ant-input{height:32px}::ng-deep .ant-input[disabled]:hover{border-color:#d9d9d9!important}::ng-deep .ant-select-selection__rendered{line-height:32px!important}::ng-deep .ant-calendar-range-picker-input{text-align:left!important}::ng-deep .ant-calendar-picker{width:100%!important}::ng-deep .ant-row{margin-right:0!important;margin-left:0!important}::ng-deep .ant-col-6{padding-left:12px;padding-right:12px}::ng-deep .ant-col-12{padding-left:12px;padding-right:12px}::ng-deep .ant-col-18{padding-left:12px;padding-right:12px}::ng-deep .ant-col-24{padding-left:12px;padding-right:12px}::ng-deep .ant-alert-info{background-color:#f5f8f6;border:1px solid #cfe3d4}:host ::ng-deep th{background:#f5f8f6!important;font-weight:700!important;white-space:nowrap;font-size:14px;font-family:PingFangSC-Medium,PingFang SC;color:#2a3634;padding:8px!important;box-sizing:border-box}:host ::ng-deep td{font-weight:400;font-style:normal;font-size:14px;color:#2a3634;text-align:left;white-space:nowrap;padding:8px!important;box-sizing:border-box}::ng-deep .ant-pagination-options{display:inline-flex;align-items:center}::ng-deep .ant-time-picker{width:100%}.ant-input-number-disabled,.ant-input[disabled],.ant-select-disabled{color:#4b504e}.nz-resizable-preview{position:absolute;top:0;left:0;z-index:8;border:1px dashed #d1d1d1}.nz-resizable-handle{position:absolute;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:9}.nz-resizable-handle-top{width:100%;height:10px;top:-5px;left:0}.nz-resizable-handle-right{height:100%}.nz-resizable-handle-bottom{width:100%;height:10px;bottom:-5px;left:0}.nz-resizable-handle-left{width:10px;height:100%;top:0;left:-5px}.nz-resizable-handle-topRight{width:20px;height:20px;top:-5px;right:-5px;z-index:10}.nz-resizable-handle-bottomRight{width:20px;height:20px;right:-5px;bottom:-5px;z-index:10}.nz-resizable-handle-bottomLeft{width:20px;height:20px;bottom:-5px;left:-5px;z-index:10}.nz-resizable-handle-topLeft{width:20px;height:20px;top:-5px;left:-5px;z-index:10}.nz-resizable:not(.nz-resizable-resizing) .nz-resizable-handle-bottom,.nz-resizable:not(.nz-resizable-resizing) .nz-resizable-handle-top{cursor:row-resize}.nz-resizable:not(.nz-resizable-resizing) .nz-resizable-handle-left,.nz-resizable:not(.nz-resizable-resizing) .nz-resizable-handle-right{cursor:col-resize}.nz-resizable:not(.nz-resizable-resizing) .nz-resizable-handle-bottomRight,.nz-resizable:not(.nz-resizable-resizing) .nz-resizable-handle-topLeft{cursor:nwse-resize}.nz-resizable:not(.nz-resizable-resizing) .nz-resizable-handle-bottomLeft,.nz-resizable:not(.nz-resizable-resizing) .nz-resizable-handle-topRight{cursor:nesw-resize}.hd-table-container ::ng-deep .ant-pagination-options-quick-jumper input{border-radius:2px;border:1px solid #d9d9d9}.hd-table-container ::ng-deep .ant-pagination-options .ant-select-selection{border-radius:2px}.hd-table-container ::ng-deep .ant-table-thead>tr>th{border-bottom:1px solid #ecf1ed;white-space:nowrap;text-overflow:ellipsis}.hd-table-container ::ng-deep .ant-table-tbody>tr>td{border-bottom:1px solid #ecf1ed;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.hd-table-container ::ng-deep .hd-table-total>td{border:0!important}::ng-deep .ant-dropdown-menu{border-radius:0}::ng-deep .ant-dropdown{margin-top:8px!important}.common-td-wrap{white-space:normal!important;word-break:break-all}.nz-resizable-preview{border-width:0 1px 0 0}.resize-trigger{width:10px;height:15px;position:relative;top:calc((100% - 15px)/ 2)}.resize-trigger::after{position:absolute;top:calc((100% - 15px)/ 2);left:0;background:#d5d5d5;content:'';width:1px;height:15px;z-index:1}.nz-resizable-handle-right{position:absolute;width:10px;top:0;right:-5px;z-index:inherit}.hd-table-tree-node{display:inline-flex;align-items:center;padding-right:10px}.hd-table-tree-node .hd-table-tree-node-img{display:flex;flex-direction:column;position:absolute;right:0;margin-top:-2.5px}.hd-table-tree-node .hd-table-tree-node-img i{opacity:.3}.hd-table-tree-node .hd-table-tree-node-img i:last-child{margin-top:-5px}img{width:20px;height:20px}.ant-table-th-left-sticky{z-index:2}::ng-deep .ant-table-thead>tr>th .ant-table-header-column .ant-table-column-sorters>:not(.ant-table-column-sorter){position:unset}"]
5749
7024
  }] }
5750
7025
  ];
5751
7026
  /** @nocollapse */
@@ -5768,8 +7043,11 @@
5768
7043
  tableLoading: [{ type: core.Input }],
5769
7044
  tablePageIndex: [{ type: core.Input }],
5770
7045
  tablePageSize: [{ type: core.Input }],
7046
+ isFirstEntrySearch: [{ type: core.Input }],
7047
+ isCrossPageSelect: [{ type: core.Input }],
5771
7048
  tablePageIndexChange: [{ type: core.Output }],
5772
7049
  tablePageSizeChange: [{ type: core.Output }],
7050
+ tablePageSizeChangeEvent: [{ type: core.Output }],
5773
7051
  tableTotal: [{ type: core.ContentChild, args: ["tableTotal", { static: false },] }],
5774
7052
  tableLeftButton: [{ type: core.ContentChild, args: ["tableLeftButton", { static: false },] }],
5775
7053
  tableRightButton: [{ type: core.ContentChild, args: ["tableRightButton", { static: false },] }]
@@ -5818,10 +7096,16 @@
5818
7096
  /** @type {?} */
5819
7097
  HdTableComponent.prototype.tablePageSize;
5820
7098
  /** @type {?} */
7099
+ HdTableComponent.prototype.isFirstEntrySearch;
7100
+ /** @type {?} */
7101
+ HdTableComponent.prototype.isCrossPageSelect;
7102
+ /** @type {?} */
5821
7103
  HdTableComponent.prototype.tablePageIndexChange;
5822
7104
  /** @type {?} */
5823
7105
  HdTableComponent.prototype.tablePageSizeChange;
5824
7106
  /** @type {?} */
7107
+ HdTableComponent.prototype.tablePageSizeChangeEvent;
7108
+ /** @type {?} */
5825
7109
  HdTableComponent.prototype.tableTotal;
5826
7110
  /** @type {?} */
5827
7111
  HdTableComponent.prototype.tableLeftButton;
@@ -5881,6 +7165,10 @@
5881
7165
  /** @type {?} */
5882
7166
  HdTableComponent.prototype.localtionTmp;
5883
7167
  /** @type {?} */
7168
+ HdTableComponent.prototype.isFirstEntrySearchLocal;
7169
+ /** @type {?} */
7170
+ HdTableComponent.prototype.isCrossPageSelectLocal;
7171
+ /** @type {?} */
5884
7172
  HdTableComponent.prototype.beforeDrop;
5885
7173
  /**
5886
7174
  * @type {?}
@@ -5945,8 +7233,8 @@
5945
7233
  HdTipComponent.decorators = [
5946
7234
  { type: core.Component, args: [{
5947
7235
  selector: 'hd-tip',
5948
- template: "<nz-content>\n <div *ngIf=\"showIcon; else noIcon\" class=\"hd-tip\" [ngStyle]=\"{'font-size': fontSize + 'px'}\">\n {{title}}\n </div>\n <ng-template #noIcon>\n <div [ngStyle]=\"{'font-size': fontSize + 'px', 'font-weight': 500, 'color': '#2A3634'}\">\n {{title}}\n </div>\n </ng-template>\n</nz-content>\n",
5949
- styles: ["::ng-deep .common-btn-group>a{font-size:12px;font-weight:400;color:#12a34f!important;white-space:nowrap}::ng-deep .common-btn-group .common-danger-btn:hover{color:#f05b24!important}::ng-deep .common-btn-group>a:hover{color:#20bd62!important}::ng-deep .common-btn-group>a:not(:last-child)::after{content:'';margin:0 2px}::ng-deep .common-billNumber>a{color:#3b77e3}button{box-shadow:unset;text-shadow:unset}::ng-deep .ant-form-item-label>label{color:#4b504e}::ng-deep .ant-input-number-input{height:28px}::ng-deep .ant-input-number{height:28px}textarea.ant-input{height:auto;min-height:28px}::ng-deep .ant-select-selection--multiple{min-height:28px}::ng-deep .ant-select-selection__rendered>ul>li{height:22px!important;margin-top:3px!important;line-height:22px!important}::ng-deep .ant-advanced-search-form .ant-form-item{margin-bottom:0!important}::ng-deep .ant-select-selection--single{height:28px!important}::ng-deep .ant-input{height:28px}::ng-deep .ant-input[disabled]:hover{border-color:#d9d9d9!important}::ng-deep .ant-select-selection__rendered{line-height:28px!important}::ng-deep .ant-calendar-range-picker-input{text-align:left!important}::ng-deep .ant-calendar-picker{width:100%!important}::ng-deep .ant-row{margin-right:0!important;margin-left:0!important}::ng-deep .ant-col-6{padding-left:12px;padding-right:12px}::ng-deep .ant-col-12{padding-left:12px;padding-right:12px}::ng-deep .ant-col-18{padding-left:12px;padding-right:12px}::ng-deep .ant-col-24{padding-left:12px;padding-right:12px}::ng-deep .ant-alert-info{background-color:#f5f8f6;border:1px solid #cfe3d4}:host ::ng-deep th{background:#f5f8f6!important;font-weight:700!important;white-space:nowrap;font-size:12px;font-family:PingFangSC-Medium,PingFang SC;color:#2a3634;padding:8px!important;box-sizing:border-box}:host ::ng-deep td{font-weight:400;font-style:normal;font-size:12px;color:#2a3634;text-align:left;white-space:nowrap;padding:8px!important;box-sizing:border-box}::ng-deep .ant-pagination-options{display:inline-flex;align-items:center}::ng-deep .ant-time-picker{width:100%}.ant-input-number-disabled,.ant-input[disabled],.ant-select-disabled{color:#4b504e}.hd-tip{display:flex;position:relative;font-weight:500;color:#2a3634;padding-left:8px;line-height:22px}.hd-tip::before{position:absolute;left:0;top:calc((100% - 12px)/ 2);width:4px;height:12px;background:#12a34f;border-radius:2px;content:''}"]
7236
+ template: "<nz-content>\n <div *ngIf=\"showIcon; else noIcon\" class=\"hd-tip\" [ngStyle]=\"fontSize ? {'font-size': fontSize + 'px'} : null\">\n {{title}}\n </div>\n <ng-template #noIcon>\n <div class=\"hd-tip-no-icon\" [ngStyle]=\"fontSize ? {'font-size': fontSize + 'px'} : null\">\n {{title}}\n </div>\n </ng-template>\n</nz-content>\n",
7237
+ styles: ["::ng-deep .common-btn-group>a{font-size:14px;font-weight:400;color:#20b95d!important;white-space:nowrap}::ng-deep .common-btn-group .common-danger-btn:hover{color:#f05b24!important}::ng-deep .common-btn-group>a:hover{color:#20bd62!important}::ng-deep .common-btn-group>a:not(:last-child)::after{content:'';margin:0 2px}::ng-deep .common-billNumber>a{color:#3b77e3}button{box-shadow:unset;text-shadow:unset}::ng-deep .ant-form-item-label>label{color:#4b504e;font-size:14px}::ng-deep .ant-input-number-input{height:32px}::ng-deep .ant-input-number{height:32px}textarea.ant-input{height:auto;min-height:32px}::ng-deep .ant-select-selection--multiple{min-height:32px}::ng-deep .ant-select-selection__rendered>ul>li{height:26px!important;margin-top:3px!important;line-height:26px!important}::ng-deep .ant-advanced-search-form .ant-form-item{margin-bottom:0!important}::ng-deep .ant-select-selection--single{height:32px!important}::ng-deep .ant-input{height:32px}::ng-deep .ant-input[disabled]:hover{border-color:#d9d9d9!important}::ng-deep .ant-select-selection__rendered{line-height:32px!important}::ng-deep .ant-calendar-range-picker-input{text-align:left!important}::ng-deep .ant-calendar-picker{width:100%!important}::ng-deep .ant-row{margin-right:0!important;margin-left:0!important}::ng-deep .ant-col-6{padding-left:12px;padding-right:12px}::ng-deep .ant-col-12{padding-left:12px;padding-right:12px}::ng-deep .ant-col-18{padding-left:12px;padding-right:12px}::ng-deep .ant-col-24{padding-left:12px;padding-right:12px}::ng-deep .ant-alert-info{background-color:#f5f8f6;border:1px solid #cfe3d4}:host ::ng-deep th{background:#f5f8f6!important;font-weight:700!important;white-space:nowrap;font-size:14px;font-family:PingFangSC-Medium,PingFang SC;color:#2a3634;padding:8px!important;box-sizing:border-box}:host ::ng-deep td{font-weight:400;font-style:normal;font-size:14px;color:#2a3634;text-align:left;white-space:nowrap;padding:8px!important;box-sizing:border-box}::ng-deep .ant-pagination-options{display:inline-flex;align-items:center}::ng-deep .ant-time-picker{width:100%}.ant-input-number-disabled,.ant-input[disabled],.ant-select-disabled{color:#4b504e}.hd-tip{display:flex;position:relative;font-size:14px;font-weight:600;color:#2a3634;padding-left:8px;line-height:22px}.hd-tip-no-icon{font-size:14px;font-weight:600;color:#2a3634}.hd-tip::before{position:absolute;left:0;top:calc((100% - 14px)/ 2);width:4px;height:14px;background:#20b95d;border-radius:2px;content:''}"]
5950
7238
  }] }
5951
7239
  ];
5952
7240
  /** @nocollapse */
@@ -5978,7 +7266,7 @@
5978
7266
  { type: core.NgModule, args: [{
5979
7267
  imports: [
5980
7268
  common.CommonModule,
5981
- layout.NzLayoutModule
7269
+ ngZorroAntd.NgZorroAntdModule
5982
7270
  ],
5983
7271
  exports: [HdTipComponent],
5984
7272
  declarations: [HdTipComponent]
@@ -6001,6 +7289,7 @@
6001
7289
  HdButtonGroupModule,
6002
7290
  HdDetailFormModule,
6003
7291
  HdDetailLinesModule,
7292
+ HdDetailLinesPageModule,
6004
7293
  HdDetailTipModule,
6005
7294
  HdFilterModule,
6006
7295
  HdFormModule,
@@ -6170,6 +7459,10 @@
6170
7459
  Filter.prototype.require;
6171
7460
  /** @type {?} */
6172
7461
  Filter.prototype.cascaderOption;
7462
+ /** @type {?} */
7463
+ Filter.prototype.onChangeEventDebounceTime;
7464
+ /** @type {?} */
7465
+ Filter.prototype.onSearchEventEventDebounceTime;
6173
7466
  }
6174
7467
  /** @enum {number} */
6175
7468
  var FilterListType = {
@@ -6205,146 +7498,6 @@
6205
7498
  return HdFilterService;
6206
7499
  }());
6207
7500
 
6208
- /**
6209
- * @fileoverview added by tsickle
6210
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
6211
- */
6212
- // 控件列表
6213
- var
6214
- // 控件列表
6215
- FormItem = /** @class */ (function () {
6216
- function FormItem() {
6217
- // 字段名称
6218
- this.require = false; // 是否必填
6219
- // 输入框提示文案
6220
- this.width = 1; // 占据的列数。默认1
6221
- // 占据的列数。默认1
6222
- this.hide = false; // 是否为隐藏字段,仅用于填充表单的字段,不显示在页面上
6223
- // 是否为隐藏字段,仅用于填充表单的字段,不显示在页面上
6224
- this.totalWidth = 0;
6225
- this.isRowFirst = 0; // 是否是一行的第一个元素
6226
- // 当前行的所有列的items
6227
- this.value = null; // 值 不传默认为null
6228
- // 控件为Select时,选项列表
6229
- this.inputNumber = new InputNumber(); // number组件的min、max、step
6230
- // textArea的行数
6231
- this.showTime = false; // 日期选择器是否包含时间
6232
- }
6233
- return FormItem;
6234
- }());
6235
- if (false) {
6236
- /** @type {?} */
6237
- FormItem.prototype.type;
6238
- /** @type {?} */
6239
- FormItem.prototype.label;
6240
- /** @type {?} */
6241
- FormItem.prototype.name;
6242
- /** @type {?} */
6243
- FormItem.prototype.require;
6244
- /** @type {?} */
6245
- FormItem.prototype.placeholder;
6246
- /** @type {?} */
6247
- FormItem.prototype.width;
6248
- /** @type {?} */
6249
- FormItem.prototype.hide;
6250
- /** @type {?} */
6251
- FormItem.prototype.totalWidth;
6252
- /** @type {?} */
6253
- FormItem.prototype.isRowFirst;
6254
- /** @type {?} */
6255
- FormItem.prototype.columnItems;
6256
- /** @type {?} */
6257
- FormItem.prototype.value;
6258
- /** @type {?} */
6259
- FormItem.prototype.disabled;
6260
- /** @type {?} */
6261
- FormItem.prototype.color;
6262
- /** @type {?} */
6263
- FormItem.prototype.maxLength;
6264
- /** @type {?} */
6265
- FormItem.prototype.selectOption;
6266
- /** @type {?} */
6267
- FormItem.prototype.inputNumber;
6268
- /** @type {?} */
6269
- FormItem.prototype.onChangeEvent;
6270
- /** @type {?} */
6271
- FormItem.prototype.onSearchEvent;
6272
- /** @type {?} */
6273
- FormItem.prototype.defaultLabel;
6274
- /** @type {?} */
6275
- FormItem.prototype.hdDisabledDate;
6276
- /** @type {?} */
6277
- FormItem.prototype.explain;
6278
- /** @type {?} */
6279
- FormItem.prototype.textAreaRows;
6280
- /** @type {?} */
6281
- FormItem.prototype.showTime;
6282
- /** @type {?} */
6283
- FormItem.prototype.labelColor;
6284
- /** @type {?} */
6285
- FormItem.prototype.validatorKeys;
6286
- /** @type {?} */
6287
- FormItem.prototype.validator;
6288
- /** @type {?} */
6289
- FormItem.prototype.onChangeEventDebounceTime;
6290
- /** @type {?} */
6291
- FormItem.prototype.onSearchEventEventDebounceTime;
6292
- /** @type {?} */
6293
- FormItem.prototype.cascaderOption;
6294
- /** @type {?} */
6295
- FormItem.prototype.format;
6296
- }
6297
- var ValidatorKey = /** @class */ (function () {
6298
- function ValidatorKey() {
6299
- }
6300
- return ValidatorKey;
6301
- }());
6302
- if (false) {
6303
- /** @type {?} */
6304
- ValidatorKey.prototype.key;
6305
- /** @type {?} */
6306
- ValidatorKey.prototype.label;
6307
- }
6308
- /** @enum {number} */
6309
- var FormListType = {
6310
- Input: 0,
6311
- Select: 1,
6312
- Date: 2,
6313
- DateRange: 3,
6314
- TextArea: 4,
6315
- InputNumber: 5,
6316
- MultipleSelect: 6,
6317
- ViewDom: 7,
6318
- Switch: 8,
6319
- Time: 9,
6320
- Cascader: 10 // 级联选择器
6321
- ,
6322
- };
6323
- FormListType[FormListType.Input] = 'Input';
6324
- FormListType[FormListType.Select] = 'Select';
6325
- FormListType[FormListType.Date] = 'Date';
6326
- FormListType[FormListType.DateRange] = 'DateRange';
6327
- FormListType[FormListType.TextArea] = 'TextArea';
6328
- FormListType[FormListType.InputNumber] = 'InputNumber';
6329
- FormListType[FormListType.MultipleSelect] = 'MultipleSelect';
6330
- FormListType[FormListType.ViewDom] = 'ViewDom';
6331
- FormListType[FormListType.Switch] = 'Switch';
6332
- FormListType[FormListType.Time] = 'Time';
6333
- FormListType[FormListType.Cascader] = 'Cascader';
6334
- var HdFormService = /** @class */ (function () {
6335
- function HdFormService() {
6336
- }
6337
- HdFormService.decorators = [
6338
- { type: core.Injectable, args: [{
6339
- providedIn: 'root'
6340
- },] }
6341
- ];
6342
- /** @nocollapse */
6343
- HdFormService.ctorParameters = function () { return []; };
6344
- /** @nocollapse */ HdFormService.ngInjectableDef = core.ɵɵdefineInjectable({ factory: function HdFormService_Factory() { return new HdFormService(); }, token: HdFormService, providedIn: "root" });
6345
- return HdFormService;
6346
- }());
6347
-
6348
7501
  /**
6349
7502
  * @fileoverview added by tsickle
6350
7503
  * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
@@ -6661,6 +7814,7 @@
6661
7814
  exports.ButtonSize = ButtonSize;
6662
7815
  exports.ButtonType = ButtonType;
6663
7816
  exports.CascaderOption = CascaderOption;
7817
+ exports.CheckboxOption = CheckboxOption;
6664
7818
  exports.ColWidth = ColWidth;
6665
7819
  exports.ColorOption = ColorOption;
6666
7820
  exports.ExplainOption = ExplainOption;
@@ -6685,6 +7839,7 @@
6685
7839
  exports.InputNumber = InputNumber;
6686
7840
  exports.OperateBtn = OperateBtn;
6687
7841
  exports.Page = Page;
7842
+ exports.RadioOption = RadioOption;
6688
7843
  exports.SelectOption = SelectOption;
6689
7844
  exports.SelectOptionTableColumn = SelectOptionTableColumn;
6690
7845
  exports.SelectOptionTableColumnIcon = SelectOptionTableColumnIcon;
@@ -6698,34 +7853,36 @@
6698
7853
  exports.ValidatorKey = ValidatorKey;
6699
7854
  exports.ɵa = HdComponentModule;
6700
7855
  exports.ɵb = HdButtonModule;
6701
- exports.ɵba = HdTipComponent;
6702
- exports.ɵbb = HdPopconfirmModule;
6703
- exports.ɵbc = HdPopconfirmComponent;
6704
- exports.ɵbd = HdLogModule;
7856
+ exports.ɵba = CommonSessionService;
7857
+ exports.ɵbb = HdTipModule;
7858
+ exports.ɵbc = HdTipComponent;
7859
+ exports.ɵbd = HdPopconfirmModule;
7860
+ exports.ɵbe = HdPopconfirmComponent;
7861
+ exports.ɵbf = HdLogModule;
6705
7862
  exports.ɵc = HdButtonComponent;
6706
7863
  exports.ɵd = HdButtonGroupModule;
6707
7864
  exports.ɵe = HdButtonGroupComponent;
6708
7865
  exports.ɵf = HdDetailFormModule;
6709
7866
  exports.ɵg = HdDetailFormComponent;
6710
7867
  exports.ɵh = HdDetailLinesModule;
6711
- exports.ɵi = HdDetailLinesComponent;
6712
- exports.ɵj = HdDetailTipModule;
6713
- exports.ɵk = HdDetailTipComponent;
6714
- exports.ɵl = HdFilterModule;
6715
- exports.ɵm = HdFilterComponent;
6716
- exports.ɵn = HdFormModule;
6717
- exports.ɵo = HdFormComponent;
6718
- exports.ɵp = HdFormLinesModule;
6719
- exports.ɵq = HdSpaceModule;
6720
- exports.ɵr = HdSpaceComponent;
6721
- exports.ɵs = HdFormLinesComponent;
6722
- exports.ɵt = HdStatusModule;
6723
- exports.ɵu = HdStatusComponent;
6724
- exports.ɵv = HdCurrentTableModule;
6725
- exports.ɵw = HdTableModule;
6726
- exports.ɵx = HdTableComponent;
6727
- exports.ɵy = CommonSessionService;
6728
- exports.ɵz = HdTipModule;
7868
+ exports.ɵi = HdSpaceModule;
7869
+ exports.ɵj = HdSpaceComponent;
7870
+ exports.ɵk = HdDetailLinesComponent;
7871
+ exports.ɵl = HdDetailLinesPageModule;
7872
+ exports.ɵm = HdDetailLinesPageComponent;
7873
+ exports.ɵn = HdDetailTipModule;
7874
+ exports.ɵo = HdDetailTipComponent;
7875
+ exports.ɵp = HdFilterModule;
7876
+ exports.ɵq = HdFilterComponent;
7877
+ exports.ɵr = HdFormModule;
7878
+ exports.ɵs = HdFormComponent;
7879
+ exports.ɵt = HdFormLinesModule;
7880
+ exports.ɵu = HdFormLinesComponent;
7881
+ exports.ɵv = HdStatusModule;
7882
+ exports.ɵw = HdStatusComponent;
7883
+ exports.ɵx = HdCurrentTableModule;
7884
+ exports.ɵy = HdTableModule;
7885
+ exports.ɵz = HdTableComponent;
6729
7886
 
6730
7887
  Object.defineProperty(exports, '__esModule', { value: true });
6731
7888