fantasy-ngzorro 2.2.7 → 2.2.8

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 CHANGED
@@ -47,6 +47,7 @@
47
47
  | — | 2026-9-28 | `hd-filter`:可选筛选组(`enableFilterScheme` / `filterSchemeKey` + `HD_FILTER_SCHEME_STORE`),支持切换/保存为当前/另存为/删除 |
48
48
  | — | 2026-9-29 | `hd-filter` 筛选组:弹窗标题「保存筛选组」;操作下拉「删除」红色;操作无左右 padding;选择/另存为改 `hd-form`;长名称省略;按钮顺序与间距对齐稿面 |
49
49
  | — | 2026-9-30 | `hd-filter` 筛选组:选择/保存弹窗宽度 560px;筛选组名称 maxLength 50 |
50
+ | — | 2026-10-1 | `hd-accessory-list`:某分组 `accessoryList` 为空时仍展示分组标签,内容显示「暂无附件」(2.2.8) |
50
51
  | — | 2026-9-30 | `hd-filter`:筛选组弹窗未打开时不渲染空 `hd-form`;`hd-form` 空 formList 时初始化空 FormGroup,修复列表页 formGroup 报错(2.2.7) |
51
52
  | — | 2026-9-24 | `hd-detail-lines` / `hd-detail-lines-page`:恢复历史默认 `scroll={x:'1px'}`;**不再自动补 scroll.y**(仅父组件显式传 y,或 page 虚拟滚动才设 y);去掉 `table-layout:fixed`。对齐 2.1.64 前无列宽自适应 |
52
53
  | — | 2026-9-24 | `hd-detail-lines` / `hd-detail-lines-page`:横滚时加固表头/表体 `scrollLeft` 同步与 `table-layout: fixed`,修复列名与列值不对齐 |
@@ -858,7 +859,7 @@ onDetailLinesPageSizeChange(pageSize: number) {
858
859
 
859
860
  ## 17、附件列表(hd-accessory-list)
860
861
 
861
- 只读附件分组列表:上方标签(如「营业执照扫描件:」),下方灰色文件行;每行最多 4 个,超出自动换行;点击文件名下载/查看。对齐 Figma「文件列表」样式。
862
+ 只读附件分组列表:上方标签(如「营业执照扫描件:」),下方灰色文件行;每行最多 4 个,超出自动换行;点击文件名下载/查看。某分组 `accessoryList` 为空时仍展示该分组标签,内容显示「暂无附件」。对齐 Figma「文件列表」样式。
862
863
 
863
864
  ### 示例
864
865
 
@@ -899,7 +900,7 @@ onAccessoryFileClick(e: { group: HdAccessoryGroup; file: any; path: string }) {
899
900
  | 参数 | 类型 | 说明 |
900
901
  | ---- | ---- | ---- |
901
902
  | name | string | 分组标签 |
902
- | accessoryList | HdAccessoryFile[] | 附件列表 |
903
+ | accessoryList | HdAccessoryFile[] | 附件列表;空数组时展示「暂无附件」 |
903
904
 
904
905
  #### HdAccessoryFile
905
906
 
@@ -13223,8 +13223,8 @@
13223
13223
  HdAccessoryListComponent.decorators = [
13224
13224
  { type: core.Component, args: [{
13225
13225
  selector: "hd-accessory-list",
13226
- template: "<div class=\"hd-accessory-list\" *ngIf=\"groups && groups.length\">\n <div class=\"hd-accessory-group\" *ngFor=\"let group of groups; trackBy: trackByGroup\">\n <div class=\"hd-accessory-group-label\" *ngIf=\"getLabelText(group)\">\n {{ getLabelText(group) }}\n </div>\n <div class=\"hd-accessory-files\" *ngIf=\"group.accessoryList && group.accessoryList.length\">\n <a class=\"hd-accessory-file\" *ngFor=\"let file of group.accessoryList; trackBy: trackByFile\"\n href=\"javascript:void(0)\"\n (click)=\"onFileClick(group, file, $event)\"\n [attr.title]=\"getFileName(file)\">\n <span class=\"hd-accessory-file-main\">\n <i nz-icon class=\"hd-accessory-file-icon\" nzType=\"link\" nzTheme=\"outline\"></i>\n <span class=\"hd-accessory-file-name\">{{ getFileName(file) || '\u672A\u547D\u540D\u6587\u4EF6' }}</span>\n </span>\n <span class=\"hd-accessory-file-size\" *ngIf=\"getFileSizeText(file)\">{{ getFileSizeText(file) }}</span>\n </a>\n </div>\n </div>\n</div>\n",
13227
- 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}::ng-deep .hd-table-container .ant-table-td-left-sticky,::ng-deep .hd-table-container .ant-table-td-right-sticky,::ng-deep .hd-table-container .ant-table-th-left-sticky,::ng-deep .hd-table-container .ant-table-th-right-sticky{z-index:2;transform:translateZ(0)}::ng-deep .hd-table-container .ant-table-thead>tr>th.ant-table-th-left-sticky,::ng-deep .hd-table-container .ant-table-thead>tr>th.ant-table-th-right-sticky{background:#f5f8f6!important}::ng-deep .hd-table-container .ant-table-tbody>tr>td.ant-table-td-left-sticky,::ng-deep .hd-table-container .ant-table-tbody>tr>td.ant-table-td-right-sticky{background:#fff}::ng-deep .hd-table-container .ant-table-tbody>tr.ant-table-row-hover>td.ant-table-td-left-sticky,::ng-deep .hd-table-container .ant-table-tbody>tr.ant-table-row-hover>td.ant-table-td-right-sticky,::ng-deep .hd-table-container .ant-table-tbody>tr:hover>td.ant-table-td-left-sticky,::ng-deep .hd-table-container .ant-table-tbody>tr:hover>td.ant-table-td-right-sticky{background:#ecf8f1!important}::ng-deep .hd-table-container .ant-table-scroll-position-left .ant-table-td-right-sticky,::ng-deep .hd-table-container .ant-table-scroll-position-left .ant-table-th-right-sticky,::ng-deep .hd-table-container .ant-table-scroll-position-middle .ant-table-td-right-sticky,::ng-deep .hd-table-container .ant-table-scroll-position-middle .ant-table-th-right-sticky,::ng-deep .hd-table-container .ant-table-scroll-position-right .ant-table-td-right-sticky,::ng-deep .hd-table-container .ant-table-scroll-position-right .ant-table-th-right-sticky{box-shadow:none!important}::ng-deep .hd-table-container .ant-table-fixed-right{right:0!important}: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-pagination-options .ant-select,::ng-deep .ant-pagination-options .ant-select-selection--single{min-width:100px}::ng-deep .ant-pagination-options-size-changer.ant-select{min-width:100px}::ng-deep .ant-time-picker{width:100%}::ng-deep .cdk-overlay-pane .hd-cascader-menus.ant-cascader-menus>.ant-cascader-menu:only-child{width:-webkit-max-content!important;width:-moz-max-content!important;width:max-content!important;min-width:var(--hd-cascader-menu-min-width,auto);max-width:560px}::ng-deep .cdk-overlay-pane .hd-cascader-menus.ant-cascader-menus>.ant-cascader-menu:only-child .ant-cascader-menu-item{white-space:nowrap}.ant-input-number-disabled,.ant-input[disabled],.ant-select-disabled{color:#4b504e}.hd-accessory-list{width:100%;font-size:14px;line-height:22px}.hd-accessory-list .hd-accessory-group+.hd-accessory-group{margin-top:16px}.hd-accessory-list .hd-accessory-group-label{padding:5px 0;min-height:32px;box-sizing:border-box;color:#4e5369;line-height:22px}.hd-accessory-list .hd-accessory-files{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.hd-accessory-list .hd-accessory-file{display:flex;align-items:center;gap:12px;min-width:0;padding:7px 12px;box-sizing:border-box;background:#f7f8fa;border-radius:4px;color:#20b95d;text-decoration:none;cursor:pointer}.hd-accessory-list .hd-accessory-file:hover .hd-accessory-file-icon,.hd-accessory-list .hd-accessory-file:hover .hd-accessory-file-name{color:#20bd62}.hd-accessory-list .hd-accessory-file-main{display:flex;flex:1;min-width:0;align-items:center;gap:4px}.hd-accessory-list .hd-accessory-file-icon{flex-shrink:0;font-size:16px;color:inherit}.hd-accessory-list .hd-accessory-file-name{flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:inherit;font-size:14px;line-height:22px}.hd-accessory-list .hd-accessory-file-size{flex-shrink:0;color:#8d918f;font-size:12px;line-height:18px}"]
13226
+ template: "<div class=\"hd-accessory-list\" *ngIf=\"groups && groups.length\">\n <div class=\"hd-accessory-group\" *ngFor=\"let group of groups; trackBy: trackByGroup\">\n <div class=\"hd-accessory-group-label\" *ngIf=\"getLabelText(group)\">\n {{ getLabelText(group) }}\n </div>\n <div class=\"hd-accessory-files\" *ngIf=\"group.accessoryList && group.accessoryList.length\">\n <a class=\"hd-accessory-file\" *ngFor=\"let file of group.accessoryList; trackBy: trackByFile\"\n href=\"javascript:void(0)\"\n (click)=\"onFileClick(group, file, $event)\"\n [attr.title]=\"getFileName(file)\">\n <span class=\"hd-accessory-file-main\">\n <i nz-icon class=\"hd-accessory-file-icon\" nzType=\"link\" nzTheme=\"outline\"></i>\n <span class=\"hd-accessory-file-name\">{{ getFileName(file) || '\u672A\u547D\u540D\u6587\u4EF6' }}</span>\n </span>\n <span class=\"hd-accessory-file-size\" *ngIf=\"getFileSizeText(file)\">{{ getFileSizeText(file) }}</span>\n </a>\n </div>\n <div class=\"hd-accessory-empty\" *ngIf=\"!group.accessoryList || !group.accessoryList.length\">\n \u6682\u65E0\u9644\u4EF6\n </div>\n </div>\n</div>\n",
13227
+ 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}::ng-deep .hd-table-container .ant-table-td-left-sticky,::ng-deep .hd-table-container .ant-table-td-right-sticky,::ng-deep .hd-table-container .ant-table-th-left-sticky,::ng-deep .hd-table-container .ant-table-th-right-sticky{z-index:2;transform:translateZ(0)}::ng-deep .hd-table-container .ant-table-thead>tr>th.ant-table-th-left-sticky,::ng-deep .hd-table-container .ant-table-thead>tr>th.ant-table-th-right-sticky{background:#f5f8f6!important}::ng-deep .hd-table-container .ant-table-tbody>tr>td.ant-table-td-left-sticky,::ng-deep .hd-table-container .ant-table-tbody>tr>td.ant-table-td-right-sticky{background:#fff}::ng-deep .hd-table-container .ant-table-tbody>tr.ant-table-row-hover>td.ant-table-td-left-sticky,::ng-deep .hd-table-container .ant-table-tbody>tr.ant-table-row-hover>td.ant-table-td-right-sticky,::ng-deep .hd-table-container .ant-table-tbody>tr:hover>td.ant-table-td-left-sticky,::ng-deep .hd-table-container .ant-table-tbody>tr:hover>td.ant-table-td-right-sticky{background:#ecf8f1!important}::ng-deep .hd-table-container .ant-table-scroll-position-left .ant-table-td-right-sticky,::ng-deep .hd-table-container .ant-table-scroll-position-left .ant-table-th-right-sticky,::ng-deep .hd-table-container .ant-table-scroll-position-middle .ant-table-td-right-sticky,::ng-deep .hd-table-container .ant-table-scroll-position-middle .ant-table-th-right-sticky,::ng-deep .hd-table-container .ant-table-scroll-position-right .ant-table-td-right-sticky,::ng-deep .hd-table-container .ant-table-scroll-position-right .ant-table-th-right-sticky{box-shadow:none!important}::ng-deep .hd-table-container .ant-table-fixed-right{right:0!important}: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-pagination-options .ant-select,::ng-deep .ant-pagination-options .ant-select-selection--single{min-width:100px}::ng-deep .ant-pagination-options-size-changer.ant-select{min-width:100px}::ng-deep .ant-time-picker{width:100%}::ng-deep .cdk-overlay-pane .hd-cascader-menus.ant-cascader-menus>.ant-cascader-menu:only-child{width:-webkit-max-content!important;width:-moz-max-content!important;width:max-content!important;min-width:var(--hd-cascader-menu-min-width,auto);max-width:560px}::ng-deep .cdk-overlay-pane .hd-cascader-menus.ant-cascader-menus>.ant-cascader-menu:only-child .ant-cascader-menu-item{white-space:nowrap}.ant-input-number-disabled,.ant-input[disabled],.ant-select-disabled{color:#4b504e}.hd-accessory-list{width:100%;font-size:14px;line-height:22px}.hd-accessory-list .hd-accessory-group+.hd-accessory-group{margin-top:16px}.hd-accessory-list .hd-accessory-group-label{padding:5px 0;min-height:32px;box-sizing:border-box;color:#4e5369;line-height:22px}.hd-accessory-list .hd-accessory-files{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.hd-accessory-list .hd-accessory-empty{padding:7px 0;color:#8d918f;font-size:14px;line-height:22px}.hd-accessory-list .hd-accessory-file{display:flex;align-items:center;gap:12px;min-width:0;padding:7px 12px;box-sizing:border-box;background:#f7f8fa;border-radius:4px;color:#20b95d;text-decoration:none;cursor:pointer}.hd-accessory-list .hd-accessory-file:hover .hd-accessory-file-icon,.hd-accessory-list .hd-accessory-file:hover .hd-accessory-file-name{color:#20bd62}.hd-accessory-list .hd-accessory-file-main{display:flex;flex:1;min-width:0;align-items:center;gap:4px}.hd-accessory-list .hd-accessory-file-icon{flex-shrink:0;font-size:16px;color:inherit}.hd-accessory-list .hd-accessory-file-name{flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:inherit;font-size:14px;line-height:22px}.hd-accessory-list .hd-accessory-file-size{flex-shrink:0;color:#8d918f;font-size:12px;line-height:18px}"]
13228
13228
  }] }
13229
13229
  ];
13230
13230
  /** @nocollapse */