fantasy-ngzorro 2.1.55 → 2.1.57

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 (42) hide show
  1. package/README.md +77 -3
  2. package/bundles/fantasy-ngzorro.umd.js +555 -37
  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 +6 -5
  7. package/esm2015/hd-accessory-list/hd-accessory-list.component.js +169 -0
  8. package/esm2015/hd-accessory-list/hd-accessory-list.module.js +18 -0
  9. package/esm2015/hd-accessory-list/hd-accessory-list.service.js +50 -0
  10. package/esm2015/hd-component.module.js +3 -1
  11. package/esm2015/hd-detail-lines/hd-detail-lines.component.js +65 -14
  12. package/esm2015/hd-detail-lines-page/hd-detail-lines-page.component.js +65 -14
  13. package/esm2015/hd-table/hd-table.component.js +89 -7
  14. package/esm2015/hd-table/hd-table.service.js +7 -3
  15. package/esm2015/index.js +2 -2
  16. package/esm2015/public-api.js +3 -1
  17. package/esm5/fantasy-ngzorro.js +6 -5
  18. package/esm5/hd-accessory-list/hd-accessory-list.component.js +197 -0
  19. package/esm5/hd-accessory-list/hd-accessory-list.module.js +22 -0
  20. package/esm5/hd-accessory-list/hd-accessory-list.service.js +68 -0
  21. package/esm5/hd-component.module.js +3 -1
  22. package/esm5/hd-detail-lines/hd-detail-lines.component.js +77 -14
  23. package/esm5/hd-detail-lines-page/hd-detail-lines-page.component.js +77 -14
  24. package/esm5/hd-table/hd-table.component.js +118 -7
  25. package/esm5/hd-table/hd-table.service.js +7 -3
  26. package/esm5/index.js +2 -2
  27. package/esm5/public-api.js +3 -1
  28. package/fantasy-ngzorro.d.ts +4 -3
  29. package/fantasy-ngzorro.metadata.json +1 -1
  30. package/fesm2015/fantasy-ngzorro.js +456 -35
  31. package/fesm2015/fantasy-ngzorro.js.map +1 -1
  32. package/fesm5/fantasy-ngzorro.js +549 -35
  33. package/fesm5/fantasy-ngzorro.js.map +1 -1
  34. package/hd-accessory-list/hd-accessory-list.component.d.ts +25 -0
  35. package/hd-accessory-list/hd-accessory-list.module.d.ts +2 -0
  36. package/hd-accessory-list/hd-accessory-list.service.d.ts +16 -0
  37. package/hd-detail-lines/hd-detail-lines.component.d.ts +14 -0
  38. package/hd-detail-lines-page/hd-detail-lines-page.component.d.ts +14 -0
  39. package/hd-table/hd-table.component.d.ts +18 -0
  40. package/hd-table/hd-table.service.d.ts +2 -1
  41. package/package.json +2 -2
  42. package/public-api.d.ts +2 -0
package/README.md CHANGED
@@ -24,6 +24,7 @@
24
24
  | 14 | `hd-detail-lines` | 详情明细(前端分页 / 搜索) |
25
25
  | 15 | `hd-detail-lines-page` | 详情明细(服务端分页) |
26
26
  | 16 | `hd-log` | 操作日志 |
27
+ | 17 | `hd-accessory-list` | 附件列表(分组标签 + 可下载文件行) |
27
28
 
28
29
  > 配置类型(SelectOption、FormItem、HdTableColumn 等)见 [附录:公共配置类型](#附录公共配置类型)。
29
30
 
@@ -34,6 +35,8 @@
34
35
  | MC | 2023-2-10 | Readme 创建;按钮、按钮组、通用表格、筛选器、状态、详情头、详情单头、详情明细文档 |
35
36
  | MC | 2023-2-13 | 表单、明细表单、间隔、小标题文档;组件字段增加必填说明 |
36
37
  | — | 2026-5-20 | 补充 hd-table、hd-detail-lines-page 等组件;完善公共子类型(SelectOption、FormItem 等)文档 |
38
+ | — | 2026-9-17 | hd-table / hd-detail-lines / hd-detail-lines-page 支持 `selectDisabledField` / `rowInvalidField`:按行字段控制勾选禁用、失效行样式 |
39
+ | — | 2026-9-14 | 新增 `hd-accessory-list` 附件列表组件(分组 name + accessoryList,点击下载/查看) |
37
40
  | — | 2026-6-23 | hd-table 状态列支持 `stateField` 自定义取值字段、`isState` 按列名取值;hd-form Input 支持 `prefix` / `prefixIcon`;hd-detail-lines-page 支持 `isCrossPageSelect` 跨页勾选开关 |
38
41
  | — | 2026-7-6 | hd-form 支持 `FormListType.Checkbox`(单个复选框 / 复选框组)及 `CheckboxOption` 配置 |
39
42
  | — | 2026-9-8 | hd-form 支持 `FormListType.RegionAddress`(省市区级联 + 详细地址,双 FormControl,固定占 2 列) |
@@ -43,6 +46,7 @@
43
46
  | — | 2026-8-25 | hd-status:`statusToColor` 按 sunan-server 业务状态枚举全量去重补充(排除银行 / AGV / HTTP StatusCode) |
44
47
  | — | 2026-8-21 | 分页选项统一增加 500 / 1000;`hd-table` / `hd-detail-lines` / `hd-detail-lines-page` 默认 `tablePageSize` 改为 100 |
45
48
  | — | 2026-9-14 | TotalOption 增加 `preserveNumber`(合计小数位数,不传默认 2);用于 `hd-detail-lines` / `hd-detail-lines-page` / `hd-form-lines` |
49
+ | — | 2026-9-14 | hd-table:普通列支持文案后挂 `btnList` 操作按钮;`OperateBtn.name` 支持按行动态文案 |
46
50
 
47
51
  ## 前言
48
52
 
@@ -322,6 +326,16 @@ tableCols: HdTableColumn[] = [{
322
326
  isState: true, // 按 hd-status 渲染,取值字段为 name(orderStatus)
323
327
  width: ColWidth.enumColWidth,
324
328
  render: (line) => line.orderStatusText
329
+ }, {
330
+ title: '业务数据自动上报',
331
+ name: 'autoReport',
332
+ width: 140,
333
+ render: (line) => (line.autoReport ? '是' : '否'),
334
+ // 普通列挂 btnList:文案后跟操作按钮(见 Figma 操作列单元格)
335
+ btnList: [{
336
+ name: (line) => (line.autoReport ? '解除' : '设置'),
337
+ click: (line) => { line.autoReport = !line.autoReport; }
338
+ }]
325
339
  }, {
326
340
  title: '操作',
327
341
  name: 'operate',
@@ -346,6 +360,8 @@ tableCols: HdTableColumn[] = [{
346
360
  | selectEvent | EventEmitter | — | 勾选变化 |
347
361
  | showSelected | boolean | false | 勾选列 |
348
362
  | selectField | string | billNumber | 勾选主键字段 |
363
+ | selectDisabledField | string | — | 行勾选禁用字段名;行数据该字段为 `true` 时禁用勾选(全选也会跳过) |
364
+ | rowInvalidField | string | — | 行失效字段名;为 `true` 时整行背景 `#F7F8FA`、普通文字 `#868A9C`(操作按钮/超链接颜色不变) |
349
365
  | showOperateColWarpButton | boolean | false | 展开/缩略显示换行列 |
350
366
  | virtualScroll | boolean | true | 行数多自动虚拟滚动;横向滚动条按**列总宽是否超出容器**决定 |
351
367
  | virtualItemSize | number | — | 虚拟滚动行高(px);**不传则首屏自动测量** |
@@ -609,6 +625,8 @@ formCols: HdOption[] = [
609
625
  | tablePageSize | number | 100 | 每页条数(开启前端分页时生效) |
610
626
  | showSelected | boolean | false | 勾选 |
611
627
  | selectField | string | billNumber | 勾选主键 |
628
+ | selectDisabledField | string | — | 行勾选禁用字段名;行数据该字段为 `true` 时禁用勾选(全选也会跳过) |
629
+ | rowInvalidField | string | — | 行失效字段名;为 `true` 时整行背景 `#F7F8FA`、普通文字 `#868A9C`(操作按钮/超链接颜色不变) |
612
630
  | selectedField | string | — | 初始勾选标记字段 |
613
631
  | selectEvent | EventEmitter | — | 勾选变化 |
614
632
  | allowDrop | boolean | false | 拖拽排序 |
@@ -688,7 +706,7 @@ onDetailLinesPageSizeChange(pageSize: number) {
688
706
  | tablePageIndexChange | EventEmitter | — | 页码变化 |
689
707
  | tablePageSizeChange | EventEmitter | — | 每页条数变化(组件内会重置到第 1 页) |
690
708
  | pageChange | EventEmitter | — | 任意分页变化 |
691
- | showSelected / allowDrop / showTotal 等 | — | — | 同 hd-detail-lines |
709
+ | showSelected / allowDrop / showTotal / selectDisabledField / rowInvalidField 等 | — | — | 同 hd-detail-lines |
692
710
  | isCrossPageSelect | boolean | — | 跨页勾选 |
693
711
 
694
712
  分页可选条数:`10 / 50 / 100 / 200 / 500 / 1000`。模板中 `index` 为**全局序号**:`(pageIndex - 1) * pageSize + 行号`。
@@ -720,6 +738,61 @@ onDetailLinesPageSizeChange(pageSize: number) {
720
738
 
721
739
  ---
722
740
 
741
+ ## 17、附件列表(hd-accessory-list)
742
+
743
+ 只读附件分组列表:上方标签(如「营业执照扫描件:」),下方灰色文件行;每行最多 4 个,超出自动换行;点击文件名下载/查看。对齐 Figma「文件列表」样式。
744
+
745
+ ### 示例
746
+
747
+ ```html
748
+ <hd-accessory-list
749
+ [groups]="accessoryGroups"
750
+ (fileClick)="onAccessoryFileClick($event)">
751
+ </hd-accessory-list>
752
+ ```
753
+
754
+ ```typescript
755
+ import { HdAccessoryGroup } from 'fantasy-ngzorro';
756
+
757
+ accessoryGroups: HdAccessoryGroup[] = [
758
+ {
759
+ name: '营业执照扫描件',
760
+ accessoryList: [
761
+ { name: '文件名称.doc', path: 'https://oss.xxx.com/files/license.doc', size: 12 * 1024 * 1024 },
762
+ { name: '副本.pdf', path: 'https://oss.xxx.com/a.pdf' }, // size 可缺省
763
+ ],
764
+ },
765
+ ];
766
+
767
+ onAccessoryFileClick(e: { group: HdAccessoryGroup; file: any; path: string }) {
768
+ console.log('下载', e.path);
769
+ }
770
+ ```
771
+
772
+ | 参数 | 类型 | 默认值 | 说明 |
773
+ | ---- | ---- | ------ | ---- |
774
+ | groups | HdAccessoryGroup[] | [] | 分组数组,每项含 `name` + `accessoryList` |
775
+ | labelColon | boolean | true | 标签后自动补「:」 |
776
+ | autoOpen | boolean | true | 点击后默认 `window.open` 打开 |
777
+ | fileClick | EventEmitter | — | 点击附件回调 `{ group, file, path }` |
778
+
779
+ #### HdAccessoryGroup
780
+
781
+ | 参数 | 类型 | 说明 |
782
+ | ---- | ---- | ---- |
783
+ | name | string | 分组标签 |
784
+ | accessoryList | HdAccessoryFile[] | 附件列表 |
785
+
786
+ #### HdAccessoryFile
787
+
788
+ | 参数 | 类型 | 说明 |
789
+ | ---- | ---- | ---- |
790
+ | name | string | 展示文件名 |
791
+ | path | string | 完整下载/查看地址(由父组件直接传入) |
792
+ | size | number \| string | 可缺省;有值才展示。数字按字节格式化为 B/KB/MB,字符串原样展示 |
793
+
794
+ ---
795
+
723
796
  ## 附录:公共配置类型
724
797
 
725
798
  以下类型在 `hd-filter`、`hd-form`、`hd-form-lines`、`hd-table` 等组件中复用。
@@ -974,13 +1047,14 @@ onOpenChangeEvent: (open: boolean, line: FormGroup) => void
974
1047
  | isState | boolean | false | 是否按状态列渲染,取值字段为 `name` |
975
1048
  | stateField | string | — | 状态列取值字段(`name` 为 `state` 且未设置 `isState` 时生效,默认 `state`) |
976
1049
  | render / click | Function | — | 渲染 / 点击 |
977
- | btnList | OperateBtn[] | — | 操作按钮 |
1050
+ | canClick | (line) => boolean | — | 按行控制是否可点 |
1051
+ | btnList | OperateBtn[] | — | `title` 为「操作」时整列按钮;其他列时显示在单元格文案后的操作按钮 |
978
1052
 
979
1053
  #### OperateBtn(操作列按钮)
980
1054
 
981
1055
  | 参数 | 类型 | 默认值 | 说明 |
982
1056
  | ---- | ---- | ------ | ---- |
983
- | name | string | — | 按钮文案 |
1057
+ | name | string \| (line) => string | — | 按钮文案;支持按行动态(如 `是/否` 旁的「解除/设置」) |
984
1058
  | showConfirm | boolean \| (line) => boolean | false | 是否 popconfirm 确认;传函数时按行数据判断 |
985
1059
  | isRepeat | boolean | false | 与其他按钮互斥显示 |
986
1060
  | click | (line) => void | — | 点击回调 |