fantasy-ngzorro 2.1.13 → 2.1.15
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.
- package/README.md +110 -25
- package/bundles/fantasy-ngzorro.umd.js +272 -58
- package/bundles/fantasy-ngzorro.umd.js.map +1 -1
- package/bundles/fantasy-ngzorro.umd.min.js +1 -1
- package/bundles/fantasy-ngzorro.umd.min.js.map +1 -1
- package/esm2015/hd-status/hd-status.component.js +30 -14
- package/esm2015/hd-status/hd-status.service.js +57 -15
- package/esm2015/hd-table/hd-table.component.js +138 -32
- package/esm5/hd-status/hd-status.component.js +45 -14
- package/esm5/hd-status/hd-status.service.js +57 -15
- package/esm5/hd-table/hd-table.component.js +175 -32
- package/fantasy-ngzorro.metadata.json +1 -1
- package/fesm2015/fantasy-ngzorro.js +221 -58
- package/fesm2015/fantasy-ngzorro.js.map +1 -1
- package/fesm5/fantasy-ngzorro.js +272 -58
- package/fesm5/fantasy-ngzorro.js.map +1 -1
- package/hd-status/hd-status.component.d.ts +2 -2
- package/hd-status/hd-status.service.d.ts +7 -0
- package/hd-table/hd-table.component.d.ts +22 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -36,6 +36,10 @@
|
|
|
36
36
|
| — | 2026-5-20 | 补充 hd-table、hd-detail-lines-page 等组件;完善公共子类型(SelectOption、FormItem 等)文档 |
|
|
37
37
|
| — | 2026-6-23 | hd-table 状态列支持 `stateField` 自定义取值字段、`isState` 按列名取值;hd-form Input 支持 `prefix` / `prefixIcon`;hd-detail-lines-page 支持 `isCrossPageSelect` 跨页勾选开关 |
|
|
38
38
|
| — | 2026-7-6 | hd-form 支持 `FormListType.Checkbox`(单个复选框 / 复选框组)及 `CheckboxOption` 配置 |
|
|
39
|
+
| — | 2026-8-6 | hd-form-lines:`allowEmpty` + 仅删除按钮时初始化不补空行、可删至 0 行;分页页码删空校正;ViewDom 字号 14px |
|
|
40
|
+
| — | 2026-8-21 | 分页选项统一增加 500 / 1000;`hd-table` / `hd-detail-lines` / `hd-detail-lines-page` 默认 `tablePageSize` 改为 100 |
|
|
41
|
+
| — | 2026-8-25 | hd-status:`statusToColor` 按 sunan-server 业务状态枚举全量去重补充(排除银行 / AGV / HTTP StatusCode) |
|
|
42
|
+
| — | 2026-8-26 | 文档补齐:`hd-form-lines` 勾选/复制/插槽/暴露方法/`allowEmpty`;分页默认值与选项;`FormLine` 字段 |
|
|
39
43
|
|
|
40
44
|
## 前言
|
|
41
45
|
|
|
@@ -48,9 +52,11 @@
|
|
|
48
52
|
|
|
49
53
|
| 模块 | 说明 |
|
|
50
54
|
| ---- | ---- |
|
|
55
|
+
| `FantasyNgzorroModule` | 根模块,业务侧统一引入 |
|
|
51
56
|
| `ColWidth` | 列宽常量 |
|
|
52
57
|
| `Page<T>` | 分页数据结构 |
|
|
53
58
|
| `Utils` | 精度计算工具 |
|
|
59
|
+
| `HdOverlayCleanupService` | 清理残留 tooltip/overlay(引入模块后自动生效) |
|
|
54
60
|
| `HdTableColumn` / `FormLine` / `Filter` 等 | 各组件配置类型,详见 [附录:公共配置类型](#附录公共配置类型) |
|
|
55
61
|
|
|
56
62
|
---
|
|
@@ -70,14 +76,15 @@
|
|
|
70
76
|
| ---- | ---- | ------ | ---- |
|
|
71
77
|
| type | string | default | primary \| dashed \| danger \| default \| link \| reset \| add |
|
|
72
78
|
| size | string | normal | 按钮尺寸 |
|
|
73
|
-
| loading | boolean | false | 加载中(与 loading 配合时必须用 clickAction) |
|
|
74
|
-
| disabled | boolean | false |
|
|
79
|
+
| loading | boolean | false | 加载中(与 loading 配合时必须用 clickAction / nzOnConfirm) |
|
|
80
|
+
| disabled | boolean | false | 是否禁用;loading 时也会禁用 |
|
|
75
81
|
| clickAction | EventEmitter | — | 点击事件 |
|
|
82
|
+
| nzOnConfirm | EventEmitter | — | 确认类点击事件(与 clickAction 二选一亦可) |
|
|
76
83
|
|
|
77
84
|
### 注意点
|
|
78
85
|
|
|
79
86
|
- **禁止**使用 `type="submit"`,请用普通按钮 + `clickAction` 触发表单提交。
|
|
80
|
-
- 设置了 `loading` 的按钮必须用 `(clickAction)`,不能用 `(click)`。
|
|
87
|
+
- 设置了 `loading` 的按钮必须用 `(clickAction)` 或 `(nzOnConfirm)`,不能用 `(click)`。
|
|
81
88
|
|
|
82
89
|
---
|
|
83
90
|
|
|
@@ -154,7 +161,20 @@
|
|
|
154
161
|
| ---- | ---- | ---- |
|
|
155
162
|
| status | string | 状态值,匹配 `hd-status.service.ts` 中 `statusToColor` 配置 |
|
|
156
163
|
|
|
157
|
-
|
|
164
|
+
匹配时**不区分大小写**。未命中时圆点默认为灰色 `#9FA4A2`。新增状态请在 `statusToColor` 中配置颜色。
|
|
165
|
+
|
|
166
|
+
#### statusToColor 颜色语义
|
|
167
|
+
|
|
168
|
+
| 颜色 | 含义 | 常见状态码示例 |
|
|
169
|
+
| ---- | ---- | -------------- |
|
|
170
|
+
| `#FAB13B` 黄 | 过程中 / 中间态 | committed、picking、receiving、待生效 |
|
|
171
|
+
| `#9FA4A2` 灰 | 初始 / 未开始 / 线下停用 | initial、saved、未审核、已保存、OFF_LINE |
|
|
172
|
+
| `#F5222D` 红 | 作废 / 拒绝 / 失效 / 禁用 | aborted、rejected、INVALID、已作废 |
|
|
173
|
+
| `#3B77E3` 蓝 | 审核流转 / 处理中 | audited、submitted、处理中、已初审 |
|
|
174
|
+
| `#20B95D` 绿 | 完成 / 启用 / 生效 | finished、published、EFFECTIVE、已完成 |
|
|
175
|
+
| `#F05B24` 橙 | 部分完成 / 预警 | partPublished、部分核销、willExpired |
|
|
176
|
+
|
|
177
|
+
状态码已按 sunan-server 业务 `*State` / `*Status` 枚举全量去重补齐(排除银行支付 / AGV / HTTP StatusCode)。同时支持英文码、`SCREAMING_SNAKE` 与中文枚举名。
|
|
158
178
|
|
|
159
179
|
---
|
|
160
180
|
|
|
@@ -244,12 +264,16 @@ search(reset = false) {
|
|
|
244
264
|
| tablePageSize | number | 10 | 每页条数(双向绑定) |
|
|
245
265
|
| tableLoading | boolean | false | 加载状态 |
|
|
246
266
|
| tableSearchEvent | EventEmitter | — | 翻页 / 改 pageSize 触发,参数 reset 表示是否重置到第一页 |
|
|
247
|
-
| scroll | object | { x: '
|
|
267
|
+
| scroll | object | { x: '1px' } | 横向滚动 |
|
|
248
268
|
| showSelected | boolean | false | 是否显示勾选列 |
|
|
249
269
|
| selectField | string | billNumber | 勾选主键字段 |
|
|
250
270
|
| selectEvent | EventEmitter | — | 勾选变化 |
|
|
271
|
+
| showTableTotal | boolean | false | 底部合计行 |
|
|
272
|
+
| tableTotalOption | TableTotalOption[] | — | 合计配置(已弃用类型) |
|
|
251
273
|
| tableHead / tableBody / tableTotal | TemplateRef | — | 表头 / 表体 / 顶部合计插槽 |
|
|
252
274
|
|
|
275
|
+
分页可选条数:`10 / 50 / 100 / 200 / 500 / 1000`。
|
|
276
|
+
|
|
253
277
|
---
|
|
254
278
|
|
|
255
279
|
## 9、增强表格(hd-table)
|
|
@@ -307,12 +331,16 @@ tableCols: HdTableColumn[] = [{
|
|
|
307
331
|
| ---- | ---- | ------ | ---- |
|
|
308
332
|
| tableCols | HdTableColumn[] | [] | 列配置 |
|
|
309
333
|
| tableData | Page\<any\> | — | 分页数据 |
|
|
310
|
-
| tablePageIndex
|
|
334
|
+
| tablePageIndex | number | 1 | 当前页(双向绑定) |
|
|
335
|
+
| tablePageSize | number | 100 | 每页条数(双向绑定);外面传入会覆盖默认值 |
|
|
311
336
|
| tableLoading | boolean | false | 加载状态 |
|
|
312
337
|
| tableSearchEvent | EventEmitter | — | 翻页查询 |
|
|
338
|
+
| tablePageSizeChange | EventEmitter | — | pageSize 双向绑定同步 |
|
|
339
|
+
| tablePageSizeChangeEvent | EventEmitter | — | pageSize 变化(含缓存恢复),常用于重新查询 |
|
|
313
340
|
| sortEvent | EventEmitter | — | 排序 |
|
|
314
341
|
| selectEvent | EventEmitter | — | 勾选变化 |
|
|
315
342
|
| showSelected | boolean | false | 勾选列 |
|
|
343
|
+
| selectField | string | billNumber | 勾选主键字段 |
|
|
316
344
|
| showOperateColWarpButton | boolean | false | 展开/缩略显示换行列 |
|
|
317
345
|
| showTableTotal | boolean | false | 底部合计行 |
|
|
318
346
|
| tableTotalOption | HdTableTotalOption[] | — | 合计配置 |
|
|
@@ -321,6 +349,8 @@ tableCols: HdTableColumn[] = [{
|
|
|
321
349
|
| uuid | string | — | 列缓存唯一标识(必填,用于 IndexedDB 缓存) |
|
|
322
350
|
| tableLeftButton / tableRightButton / tableTotal | TemplateRef | — | 工具栏插槽 |
|
|
323
351
|
|
|
352
|
+
分页可选条数:`10 / 50 / 100 / 200 / 500 / 1000`。若本地缓存过该表 `pageSize` 且 `> 10`,初始化会优先使用缓存值并回写父组件。
|
|
353
|
+
|
|
324
354
|
#### HdTableColumn 配置
|
|
325
355
|
|
|
326
356
|
列定义见 [HdTableColumn](#hdtablecolumn表格列)、[OperateBtn](#operatebtn操作列按钮)、[HdTableTotalOption](#hdtabletotaloptionhd-table-底部合计)。
|
|
@@ -404,46 +434,85 @@ formChangeEvent(validateForm: FormGroup) {
|
|
|
404
434
|
|
|
405
435
|
## 11、明细表单(hd-form-lines)
|
|
406
436
|
|
|
407
|
-
|
|
437
|
+
可编辑的明细行表格,支持键盘导航、行内搜索、勾选批量填充、合计等。
|
|
408
438
|
|
|
409
439
|
### 示例
|
|
410
440
|
|
|
411
441
|
```html
|
|
412
|
-
<hd-form-lines #hdFormLines showSearch showKeyboardOperateTip
|
|
442
|
+
<hd-form-lines #hdFormLines showSearch showCheckbox showKeyboardOperateTip
|
|
413
443
|
[formLines]="formLines" [formLinesData]="formLinesData"
|
|
414
|
-
[operateButtons]="['add', 'delete']" [allowEmpty]="false"
|
|
415
|
-
(changeEvent)="formLinesChangeEvent($event)"
|
|
444
|
+
[operateButtons]="['add', 'copy', 'delete']" [allowEmpty]="false"
|
|
445
|
+
(changeEvent)="formLinesChangeEvent($event)"
|
|
446
|
+
(selectionChange)="formLinesSelectionChange($event)"
|
|
447
|
+
(deleteLastLineEvent)="deleteEvent()">
|
|
448
|
+
<ng-template #formLinesLeftButton>
|
|
449
|
+
<hd-button type="primary" (clickAction)="batchFill()">批量填充</hd-button>
|
|
450
|
+
</ng-template>
|
|
451
|
+
<ng-template #formLinesRightButton>
|
|
452
|
+
<hd-button type="default">右侧操作</hd-button>
|
|
453
|
+
</ng-template>
|
|
454
|
+
<ng-template #ViewDomRightTemplate let-formItem="formItem" let-formLine="formLine">
|
|
455
|
+
<!-- ViewDom 列右侧自定义内容 -->
|
|
456
|
+
</ng-template>
|
|
416
457
|
</hd-form-lines>
|
|
417
458
|
```
|
|
418
459
|
|
|
419
460
|
| 参数 | 类型 | 默认值 | 说明 |
|
|
420
461
|
| ---- | ---- | ------ | ---- |
|
|
421
462
|
| formLines | FormLine[] | — | 列定义 |
|
|
422
|
-
| formLinesData | any[] | — |
|
|
423
|
-
| operateButtons | string[] | ['add','delete'] |
|
|
463
|
+
| formLinesData | any[] | — | 行数据;空数组视为新增 |
|
|
464
|
+
| operateButtons | string[] | ['add','delete'] | 操作按钮:`add` / `copy` / `delete` |
|
|
424
465
|
| showDeleteConfirm | boolean | false | 删除前确认 |
|
|
425
466
|
| showSearch | boolean | false | 行内搜索 |
|
|
467
|
+
| showCheckbox | boolean | false | 行勾选列(用于批量操作) |
|
|
426
468
|
| showKeyboardOperateTip | boolean | false | 键盘操作提示 |
|
|
427
469
|
| showLineNumber | boolean | true | 序号列 |
|
|
428
|
-
|
|
|
470
|
+
| tableLoading | boolean | false | 加载状态 |
|
|
471
|
+
| allowEmpty | boolean | true | 是否允许空表(见下方说明) |
|
|
429
472
|
| showTotal | boolean | false | 合计行 |
|
|
430
473
|
| totalOption / columnsNumber | — | — | 合计配置 |
|
|
431
474
|
| scroll | object | { x: '1px' } | 横向滚动 |
|
|
432
475
|
| changeEvent | EventEmitter | — | 表单变化 |
|
|
433
|
-
|
|
|
476
|
+
| selectionChange | EventEmitter\<FormGroup[]\> | — | 勾选变化 |
|
|
477
|
+
| deleteLastLineEvent | EventEmitter | — | `allowEmpty=false` 时删除最后一行 |
|
|
478
|
+
| deleteLineEvent | EventEmitter | — | 删除行事件 |
|
|
434
479
|
|
|
435
|
-
|
|
480
|
+
### 插槽
|
|
436
481
|
|
|
437
|
-
|
|
482
|
+
| 插槽 | 说明 |
|
|
483
|
+
| ---- | ---- |
|
|
484
|
+
| formLinesLeftButton | 工具栏左侧自定义按钮(同 hd-table 的 tableLeftButton) |
|
|
485
|
+
| formLinesRightButton | 工具栏右侧自定义按钮 |
|
|
486
|
+
| ViewDomRightTemplate | ViewDom 列右侧自定义模板,上下文:`formItem`、`formLine` |
|
|
438
487
|
|
|
439
|
-
|
|
488
|
+
### allowEmpty 行为
|
|
489
|
+
|
|
490
|
+
| 场景 | 行为 |
|
|
491
|
+
| ---- | ---- |
|
|
492
|
+
| `allowEmpty=false` | 不能删掉最后一行,触发 `deleteLastLineEvent` |
|
|
493
|
+
| `allowEmpty=true` 且操作列含 add/copy | 删空后会自动补一行空行 |
|
|
494
|
+
| `allowEmpty=true` 且操作列**仅有** `delete` | 初始化空数据不补空行;可删至 0 行;外部可通过 `addFormLine()` 新增 |
|
|
495
|
+
|
|
496
|
+
### FormLine 配置
|
|
497
|
+
|
|
498
|
+
明细列使用 [FormLine](#formline明细表单项) 类型,含 [ColorOption](#coloroption)、[ExplainOption](#explainoption) 及表格型 [SelectOption](#selectoption下拉选项配置)。
|
|
440
499
|
|
|
441
500
|
开启 `showKeyboardOperateTip` 后支持 `[↑][↓][←][→]`、`Enter` 在单元格间跳转;InputNumber 上下键用于跳转,不触发 step 增减。
|
|
442
501
|
|
|
502
|
+
表格分页可选条数:`10 / 50 / 100 / 200 / 500 / 1000`。
|
|
503
|
+
|
|
443
504
|
#### 暴露方法
|
|
444
505
|
|
|
445
506
|
```typescript
|
|
446
|
-
this.hdFormLines.getValid();
|
|
507
|
+
this.hdFormLines.getValid(); // 整表校验状态
|
|
508
|
+
this.hdFormLines.getLines(); // 获取行 FormArray
|
|
509
|
+
this.hdFormLines.addFormLine(); // 末尾新增空行(也可传当前行在其后插入)
|
|
510
|
+
this.hdFormLines.resetForm(); // 重置表单
|
|
511
|
+
this.hdFormLines.getSelectedLines(); // 当前勾选行 FormGroup[]
|
|
512
|
+
this.hdFormLines.getSelectedLinesData(); // 勾选行数据(含跨页)
|
|
513
|
+
this.hdFormLines.getSelectedCount(); // 勾选数量
|
|
514
|
+
this.hdFormLines.clearSelection(); // 清空勾选
|
|
515
|
+
this.hdFormLines.batchFillSelected({ remark: '批量备注' }); // 批量填充勾选行字段
|
|
447
516
|
```
|
|
448
517
|
|
|
449
518
|
---
|
|
@@ -516,6 +585,7 @@ formCols: HdOption[] = [
|
|
|
516
585
|
| showSearch | boolean | false | 行内搜索 |
|
|
517
586
|
| searchFields | string[] | [] | 搜索字段,空则搜全部字段 |
|
|
518
587
|
| hdFrontPagination | boolean | false | 前端分页 |
|
|
588
|
+
| tablePageSize | number | 100 | 每页条数(开启前端分页时生效) |
|
|
519
589
|
| showSelected | boolean | false | 勾选 |
|
|
520
590
|
| selectField | string | billNumber | 勾选主键 |
|
|
521
591
|
| selectedField | string | — | 初始勾选标记字段 |
|
|
@@ -526,6 +596,8 @@ formCols: HdOption[] = [
|
|
|
526
596
|
| totalOption | TotalOption[] | — | 合计配置,见 [TotalOption](#totaloption明细合计行) |
|
|
527
597
|
| detailLineHead / detailLineBody | TemplateRef | — | 表头 / 表体插槽 |
|
|
528
598
|
|
|
599
|
+
分页可选条数:`10 / 50 / 100 / 200 / 500 / 1000`。
|
|
600
|
+
|
|
529
601
|
---
|
|
530
602
|
|
|
531
603
|
## 15、详情明细-服务端分页(hd-detail-lines-page)
|
|
@@ -559,7 +631,7 @@ formCols: HdOption[] = [
|
|
|
559
631
|
```typescript
|
|
560
632
|
detailLinesPageData: Page<any> = new Page();
|
|
561
633
|
detailLinesPageIndex = 1;
|
|
562
|
-
detailLinesPageSize =
|
|
634
|
+
detailLinesPageSize = 100;
|
|
563
635
|
detailLinesPageLoading = false;
|
|
564
636
|
|
|
565
637
|
loadDetailLinesPage(reset = false) {
|
|
@@ -589,7 +661,8 @@ onDetailLinesPageSizeChange(pageSize: number) {
|
|
|
589
661
|
| ---- | ---- | ------ | ---- |
|
|
590
662
|
| lines | any[] | [] | 当前页数据(也可用 tableData.content) |
|
|
591
663
|
| tableData | Page\<any\> | — | 分页对象,提供 totalElements |
|
|
592
|
-
| tablePageIndex
|
|
664
|
+
| tablePageIndex | number | 1 | 当前页 |
|
|
665
|
+
| tablePageSize | number | 100 | 每页条数 |
|
|
593
666
|
| tableLoading | boolean | false | 加载状态 |
|
|
594
667
|
| tablePageIndexChange | EventEmitter | — | 页码变化 |
|
|
595
668
|
| tablePageSizeChange | EventEmitter | — | 每页条数变化(组件内会重置到第 1 页) |
|
|
@@ -597,7 +670,7 @@ onDetailLinesPageSizeChange(pageSize: number) {
|
|
|
597
670
|
| showSelected / allowDrop / showTotal 等 | — | — | 同 hd-detail-lines |
|
|
598
671
|
| isCrossPageSelect | boolean | — | 跨页勾选 |
|
|
599
672
|
|
|
600
|
-
|
|
673
|
+
分页可选条数:`10 / 50 / 100 / 200 / 500 / 1000`。模板中 `index` 为**全局序号**:`(pageIndex - 1) * pageSize + 行号`。
|
|
601
674
|
|
|
602
675
|
### 与 hd-detail-lines 选型
|
|
603
676
|
|
|
@@ -811,17 +884,28 @@ selectOption: {
|
|
|
811
884
|
| 参数 | 类型 | 默认值 | 说明 |
|
|
812
885
|
| ---- | ---- | ------ | ---- |
|
|
813
886
|
| type | FormLineType | — | 控件类型 |
|
|
814
|
-
| align | string | — | 列对齐 |
|
|
815
|
-
| hideViewDomValue | boolean | false | ViewDom 隐藏 value |
|
|
887
|
+
| align | string | — | 列对齐 left \| right \| center |
|
|
888
|
+
| hideViewDomValue | boolean | false | ViewDom 隐藏 value(如只显示图片) |
|
|
816
889
|
| isSelect | boolean | — | 聚焦后全选内容 |
|
|
817
890
|
| preserveNumber | number | — | ViewDom 小数位 |
|
|
891
|
+
| maxLength | number | — | Input 最大长度 |
|
|
818
892
|
| disabled | boolean | — | 是否禁用 |
|
|
893
|
+
| showTime | boolean | false | Date 是否含时间 |
|
|
894
|
+
| hdShowToday | boolean | true | Date 是否显示「今天」按钮 |
|
|
895
|
+
| hdDisabledDate | Function | — | 不可选日期 |
|
|
819
896
|
| style | object | — | 列样式 |
|
|
820
897
|
| canSearch | boolean | false | hide 字段参与搜索 |
|
|
821
|
-
|
|
|
898
|
+
| defaultLabel | any | — | Select 未初始化时的默认展示文案 |
|
|
899
|
+
| explainOption / explainOptionRight | ExplainOption | — | 说明文字(左 / 右) |
|
|
822
900
|
| colorOption | ColorOption | — | 动态颜色 |
|
|
823
901
|
| selectOption | SelectOption | — | 含 tableColumns 表格下拉 |
|
|
824
|
-
|
|
|
902
|
+
| inputNumber | InputNumber | — | 数字框配置 |
|
|
903
|
+
| onChangeEvent | Function | — | 值变化,签名见下 |
|
|
904
|
+
| onSearchEvent | Function | — | 下拉搜索 |
|
|
905
|
+
| onOpenChangeEvent | Function | — | 下拉展开/收起,回调 `(open, line)`,可按行请求 selectList |
|
|
906
|
+
| onChangeEventDebounceTime | number | — | change 防抖(ms),未配置或 0 为同步 |
|
|
907
|
+
| onSearchEventEventDebounceTime | number | — | search 防抖(ms) |
|
|
908
|
+
| onOpenChangeEventDebounceTime | number | — | openChange 防抖(ms) |
|
|
825
909
|
|
|
826
910
|
#### FormLineType 枚举
|
|
827
911
|
|
|
@@ -840,6 +924,7 @@ selectOption: {
|
|
|
840
924
|
```typescript
|
|
841
925
|
onChangeEvent: (value, line: FormGroup) => void
|
|
842
926
|
onSearchEvent: (keyword, line?: FormGroup) => void
|
|
927
|
+
onOpenChangeEvent: (open: boolean, line: FormGroup) => void
|
|
843
928
|
```
|
|
844
929
|
|
|
845
930
|
### HdTableColumn(表格列)
|