fantasy-ngzorro 1.3.32 → 1.3.34
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/bundles/fantasy-ngzorro.umd.js +279 -101
- package/bundles/fantasy-ngzorro.umd.js.map +1 -1
- package/bundles/fantasy-ngzorro.umd.min.js +2 -2
- package/bundles/fantasy-ngzorro.umd.min.js.map +1 -1
- package/esm2015/hd-filter/hd-filter.component.js +2 -2
- package/esm2015/hd-filter/hd-filter.service.js +6 -3
- package/esm2015/utils.js +192 -101
- package/esm5/hd-filter/hd-filter.component.js +2 -2
- package/esm5/hd-filter/hd-filter.service.js +4 -2
- package/esm5/utils.js +278 -101
- package/fantasy-ngzorro.metadata.json +1 -1
- package/fesm2015/fantasy-ngzorro.js +196 -102
- package/fesm2015/fantasy-ngzorro.js.map +1 -1
- package/fesm5/fantasy-ngzorro.js +279 -101
- package/fesm5/fantasy-ngzorro.js.map +1 -1
- package/hd-filter/hd-filter.service.d.ts +2 -1
- package/package.json +1 -1
- package/utils.d.ts +29 -5
|
@@ -158,7 +158,7 @@ export class HdFilterComponent {
|
|
|
158
158
|
HdFilterComponent.decorators = [
|
|
159
159
|
{ type: Component, args: [{
|
|
160
160
|
selector: 'hd-filter',
|
|
161
|
-
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
|
|
161
|
+
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 (ngModelChange)=\"triggerEvent(filter.onChangeEvent || null, $event)\"/>\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=\"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\" (ngModelChange)=\"triggerEvent(filter.onChangeEvent || 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=\"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 (ngModelChange)=\"triggerEvent(filter.onChangeEvent || null, $event)\" nzShowTime\n 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 (ngModelChange)=\"triggerEvent(filter.onChangeEvent || null, $event)\">\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 (ngModelChange)=\"triggerEvent(filter.onChangeEvent || null, $event)\"\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 (ngModelChange)=\"triggerEvent(filter.onChangeEvent || null, $event)\"\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 (ngModelChange)=\"triggerEvent(filter.onChangeEvent || null, $event)\">\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\"\n (ngModelChange)=\"triggerEvent(filter.onChangeEvent || null, $event)\"></nz-month-picker>\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",
|
|
162
162
|
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}"]
|
|
163
163
|
}] }
|
|
164
164
|
];
|
|
@@ -190,4 +190,4 @@ if (false) {
|
|
|
190
190
|
*/
|
|
191
191
|
HdFilterComponent.prototype.fb;
|
|
192
192
|
}
|
|
193
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
193
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGQtZmlsdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2ZhbnRhc3ktbmd6b3Jyby8iLCJzb3VyY2VzIjpbImhkLWZpbHRlci9oZC1maWx0ZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxXQUFXLEVBQWEsTUFBTSxnQkFBZ0IsQ0FBQztBQVF4RCxNQUFNLE9BQU8saUJBQWlCOzs7O0lBVzVCLFlBQW9CLEVBQWU7UUFBZixPQUFFLEdBQUYsRUFBRSxDQUFhO1FBUnpCLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNqQyxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUcxQyxlQUFVLEdBQVksSUFBSSxDQUFDOztRQUUzQixzQkFBaUIsR0FBVyxDQUFDLENBQUM7SUFHOUIsQ0FBQzs7OztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDZCxDQUFDOzs7O0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNkLENBQUM7Ozs7O0lBRU8sSUFBSTtRQUNWLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1FBQ3ZCLE9BQU87UUFDUCxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDcEMsTUFBTSxpQkFBaUIsQ0FBQztTQUN6QjtRQUNELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7OztZQUVoRCxhQUFhLEdBQUcsRUFBRTtRQUN0QixJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU87Ozs7O1FBQUMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUU7WUFDdEMsYUFB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V0FBVyxFQUFFLENBQUMsQ0FBQztTQUM5RDtJQUNILENBQUM7Ozs7SUFFTSxRQUFRO1FBQ2IsSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7UUFDbkMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPOzs7OztRQUFDLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFO1lBQ3RDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQ2pELENBQUMsRUFBQyxDQUFDO0lBQ0wsQ0FBQzs7Ozs7SUFFTSxVQUFVLENBQUMsTUFBYzs7Y0FDeEIsV0FBVyxHQUFHLEVBQUU7UUFDdEIsV0FBVyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUM7UUFFaEMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNsRCxDQUFDOzs7WUE3R0YsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxXQUFXO2dCQUNyQiw0dU9BQXlDOzthQUUxQzs7OztZQVBRLFdBQVc7Ozt5QkFVakIsS0FBSzswQkFDTCxNQUFNO3lCQUNOLE1BQU07Ozs7SUFGUCx1Q0FBbUM7O0lBQ25DLHdDQUEyQzs7SUFDM0MsdUNBQTBDOztJQUUxQywrQ0FBOEI7O0lBQzlCLHVDQUEyQjs7SUFFM0IsOENBQThCOzs7OztJQUVsQiwrQkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRmlsdGVyIH0gZnJvbSAnLi9oZC1maWx0ZXIuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2hkLWZpbHRlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9oZC1maWx0ZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9oZC1maWx0ZXIuY29tcG9uZW50Lmxlc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBIZEZpbHRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgQElucHV0KCkgZmlsdGVyTGlzdDogQXJyYXk8RmlsdGVyPjtcbiAgQE91dHB1dCgpIHNlYXJjaEV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgcmVzZXRFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICB2YWxpZGF0ZUZpbHRlckZvcm06IEZvcm1Hcm91cDtcbiAgaXNTaG93TW9yZTogYm9vbGVhbiA9IHRydWU7XG4gIC8vIOWvuWZpbHRlckxpc3Tlj5bmqKHov5DnrpdcbiAgZmlsdGVyTGlzdE1vZHVsYXI6IG51bWJlciA9IDA7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIpIHtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuaW5pdCgpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoKSB7XG4gICAgdGhpcy5pbml0KCk7XG4gIH1cblxuICBwcml2YXRlIGluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5pc1Nob3dNb3JlID0gdHJ1ZTtcbiAgICAvLyDlvILluLjmjZXojrdcbiAgICBpZiAoIXRoaXMuY2hlY2tMaXN0KHRoaXMuZmlsdGVyTGlzdCkpIHtcbiAgICAgIHRocm93ICdmaWx0ZXLnu4Tku7bmlbDmja7moLzlvI/kuI3op4TojIMnO1xuICAgIH1cbiAgICB0aGlzLmZpbHRlckxpc3RNb2R1bGFyID0gdGhpcy5maWx0ZXJMaXN0Lmxlbmd0aCAlIDQ7XG4gICAgLy8g6aaW5YWI5qC55o2u5a6a5LmJ55qE57uE5Lu25pWw57uEICDljrvliJ3lp4vljJbooajljZVcbiAgICBsZXQgZm9ybUdyb3VwTGlzdCA9IHt9O1xuICAgIHRoaXMuZmlsdGVyTGlzdC5mb3JFYWNoKChpdGVtLCBpbmRleCkgPT4ge1xuICAgICAgZm9ybUdyb3VwTGlzdFtpdGVtLm5hbWVdID0gdGhpcy5mYi5jb250cm9sKGl0ZW0udmFsdWUsIFtdKTtcbiAgICAgIC8vIOWIneWni+WMluaOp+S7tuaYvuW9sVxuICAgICAgaXRlbS5zaG93ID0gaW5kZXggPCA3O1xuICAgIH0pO1xuICAgIHRoaXMudmFsaWRhdGVGaWx0ZXJGb3JtID0gdGhpcy5mYi5ncm91cChmb3JtR3JvdXBMaXN0KTtcbiAgfVxuXG4gIHRyaWdnZXJFdmVudChmbjogYW55LCBldmVudDogYW55LCBzZWxlY3RPcHRpb24/OiBhbnkpIHtcbiAgICBpZiAoZm4gJiYgc2VsZWN0T3B0aW9uKSB7XG4gICAgICBmbihldmVudCwgc2VsZWN0T3B0aW9uKTtcbiAgICB9IGVsc2UgaWYgKGZuKSB7XG4gICAgICBmbihldmVudCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gIH1cblxuICBjb21wdXRlT2Zmc2V0KCkge1xuICAgIC8vIOeJueauiuWkhOeQhuS4i+etieS6jjTkuKrpgInpobnnmoTmg4XlhrVcbiAgICBpZiAodGhpcy5maWx0ZXJMaXN0Lmxlbmd0aCA9PT0gNCkge1xuICAgICAgcmV0dXJuIDE4O1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5pc1Nob3dNb3JlID8gKCh0aGlzLmZpbHRlckxpc3RNb2R1bGFyID09PSAwIHx8IHRoaXMuZmlsdGVyTGlzdC5sZW5ndGggPiA3KSA/IDAgOiAoMyAtIHRoaXMuZmlsdGVyTGlzdE1vZHVsYXIpICogNikgOiAodGhpcy5maWx0ZXJMaXN0TW9kdWxhciA9PT0gMCA/IDE4IDogKDMgLSB0aGlzLmZpbHRlckxpc3RNb2R1bGFyKSAqIDYpO1xuICB9XG5cbiAgcHJpdmF0ZSBjaGVja0xpc3QobGlzdDogQXJyYXk8RmlsdGVyPik6IGJvb2xlYW4ge1xuICAgIGlmICghbGlzdCB8fCAobGlzdCAmJiBsaXN0Lmxlbmd0aCA9PT0gMCkpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICBsZXQgbmFtZUxpc3QgPSBbXTtcbiAgICBsaXN0LmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgIC8vIOagoemqjOWNlemhuemAieaLqeWZqFxuICAgICAgLy8gaWYgKGl0ZW0udHlwZSA9PT0gRmlsdGVyTGlzdFR5cGUuU2VsZWN0ICYmICghaXRlbS5zZWxlY3RPcHRpb24uc2VsZWN0TGlzdCB8fCAoaXRlbS5zZWxlY3RPcHRpb24uc2VsZWN0TGlzdCAmJiBpdGVtLnNlbGVjdE9wdGlvbi5zZWxlY3RMaXN0Lmxlbmd0aCA9PT0gMCkpKSB7XG4gICAgICAvLyAgIHRocm93ICdmaWx0ZXLnu4Tku7bmlbDmja7moLzlvI/kuI3op4TojIPvvIzlrZjlnKjljZXpobnpgInmi6nlmajmsqHmnInkvKDlhaXpgInpobkhJ1xuICAgICAgLy8gfVxuICAgICAgbmFtZUxpc3QucHVzaChpdGVtLm5hbWUpO1xuICAgIH0pO1xuICAgIC8vIOagoemqjG5hbWXmmK/lkKbph43lpI1cbiAgICBpZiAoWy4uLm5ldyBTZXQobmFtZUxpc3QpXS5sZW5ndGggIT09IGxpc3QubGVuZ3RoKSB7XG4gICAgICB0aHJvdyAnZmlsdGVy57uE5Lu25pWw5o2u5qC85byP5LiN6KeE6IyD77yM5a2Y5Zyo6YeN5aSNbmFtZeWAvCEnO1xuICAgIH1cbiAgICAvLyAuLi5tb3JlIGNoZWNrXG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBwdWJsaWMgc3VibWl0Rm9ybSgpOiB2b2lkIHtcbiAgICB0aGlzLnNlYXJjaEV2ZW50LmVtaXQodGhpcy52YWxpZGF0ZUZpbHRlckZvcm0uZ2V0UmF3VmFsdWUoKSk7XG4gIH1cblxuICBwdWJsaWMgcmVzZXRGb3JtKCk6IHZvaWQge1xuICAgIHRoaXMudmFsaWRhdGVGaWx0ZXJGb3JtLnJlc2V0KCk7XG4gICAgaWYgKHRoaXMucmVzZXRFdmVudC5vYnNlcnZlcnMubGVuZ3RoID4gMCkge1xuICAgICAgLy8g5aaC5p6c5pyJ54i257uE5Lu257uR5a6a5LqGIHJlc2V0RXZlbnQg55qE5aSE55CG5ZmoXG4gICAgICB0aGlzLnJlc2V0RXZlbnQuZW1pdCh0aGlzLnZhbGlkYXRlRmlsdGVyRm9ybS5nZXRSYXdWYWx1ZSgpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8g5aaC5p6c5rKh5pyJ57uR5a6a5aSE55CG5Zmo77yM5YiZ6Kem5Y+RIHNlYXJjaEV2ZW50XG4gICAgICB0aGlzLnNlYXJjaEV2ZW50LmVtaXQodGhpcy52YWxpZGF0ZUZpbHRlckZvcm0uZ2V0UmF3VmFsdWUoKSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHNob3dNb3JlKCk6IHZvaWQge1xuICAgIHRoaXMuaXNTaG93TW9yZSA9ICF0aGlzLmlzU2hvd01vcmU7XG4gICAgdGhpcy5maWx0ZXJMaXN0LmZvckVhY2goKGl0ZW0sIGluZGV4KSA9PiB7XG4gICAgICBpdGVtLnNob3cgPSB0aGlzLmlzU2hvd01vcmUgPyBpbmRleCA8IDcgOiB0cnVlO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGlucHV0Q2xlYW4oZmlsdGVyOiBGaWx0ZXIpOiB2b2lkIHtcbiAgICBjb25zdCBwYXRjaE9iamVjdCA9IHt9O1xuICAgIHBhdGNoT2JqZWN0W2ZpbHRlci5uYW1lXSA9IG51bGw7XG5cbiAgICB0aGlzLnZhbGlkYXRlRmlsdGVyRm9ybS5wYXRjaFZhbHVlKHBhdGNoT2JqZWN0KTtcbiAgfVxufVxuIl19
|
|
@@ -50,7 +50,8 @@ const FilterListType = {
|
|
|
50
50
|
Date: 2,
|
|
51
51
|
DateRange: 3,
|
|
52
52
|
MultipleSelect: 4,
|
|
53
|
-
Cascader: 5
|
|
53
|
+
Cascader: 5,
|
|
54
|
+
Month: 6 // 月份选择
|
|
54
55
|
,
|
|
55
56
|
};
|
|
56
57
|
export { FilterListType };
|
|
@@ -60,8 +61,10 @@ FilterListType[FilterListType.Date] = 'Date';
|
|
|
60
61
|
FilterListType[FilterListType.DateRange] = 'DateRange';
|
|
61
62
|
FilterListType[FilterListType.MultipleSelect] = 'MultipleSelect';
|
|
62
63
|
FilterListType[FilterListType.Cascader] = 'Cascader';
|
|
64
|
+
FilterListType[FilterListType.Month] = 'Month';
|
|
63
65
|
export class HdFilterService {
|
|
64
|
-
constructor() {
|
|
66
|
+
constructor() {
|
|
67
|
+
}
|
|
65
68
|
}
|
|
66
69
|
HdFilterService.decorators = [
|
|
67
70
|
{ type: Injectable, args: [{
|
|
@@ -71,4 +74,4 @@ HdFilterService.decorators = [
|
|
|
71
74
|
/** @nocollapse */
|
|
72
75
|
HdFilterService.ctorParameters = () => [];
|
|
73
76
|
/** @nocollapse */ HdFilterService.ngInjectableDef = i0.ɵɵdefineInjectable({ factory: function HdFilterService_Factory() { return new HdFilterService(); }, token: HdFilterService, providedIn: "root" });
|
|
74
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
77
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGQtZmlsdGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9mYW50YXN5LW5nem9ycm8vIiwic291cmNlcyI6WyJoZC1maWx0ZXIvaGQtZmlsdGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQUkzQyxNQUFNLE9BQU8sTUFBTTtJQUFuQjs7UUFLRSxVQUFLLEdBQTZELElBQUksQ0FBQyxDQUFFLGNBQWM7O1FBT3ZGLGFBQVEsR0FBYSxLQUFLLENBQUMsQ0FBQyxjQUFjOztRQUMxQyxZQUFPLEdBQWEsS0FBSyxDQUFDLENBQUMsT0FBTztJQUVwQyxDQUFDO0NBQUE7OztJQWRDLHNCQUFxQjs7SUFDckIsdUJBQWM7O0lBQ2Qsc0JBQWE7O0lBQ2IsNkJBQXFCOztJQUNyQix1QkFBdUU7O0lBRXZFLHNCQUFlOztJQUNmLDhCQUE0Qjs7SUFDNUIsK0JBQXlCOztJQUN6QiwrQkFBeUI7O0lBQ3pCLGdDQUEwQjs7SUFDMUIsMEJBQTJCOztJQUMzQix5QkFBMEI7O0lBQzFCLGdDQUFnQzs7OztJQU1oQyxRQUFLO0lBQ0wsU0FBTTtJQUNOLE9BQUk7SUFDSixZQUFTO0lBQ1QsaUJBQWM7SUFDZCxXQUFRO0lBQ1IsUUFBSyxDQUFDLE9BQU87Ozs7Ozs7Ozs7O0FBT2YsTUFBTSxPQUFPLGVBQWU7SUFFMUI7SUFDQSxDQUFDOzs7WUFORixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTZWxlY3RPcHRpb24sIENhc2NhZGVyT3B0aW9uIH0gZnJvbSAnLi4vbW9kZWwvY29tbW9uLXR5cGUnO1xuXG4vLyDmjqfku7bliJfooahcbmV4cG9ydCBjbGFzcyBGaWx0ZXIge1xuICB0eXBlOiBGaWx0ZXJMaXN0VHlwZTtcbiAgbGFiZWw6IHN0cmluZzsgIC8vIOaWh+acrFxuICBuYW1lOiBzdHJpbmc7ICAvLyDlrZfmrrXlkI3np7BcbiAgcGxhY2Vob2xkZXI/OiBzdHJpbmc7IC8vIOi+k+WFpeahhuaPkOekuuaWh+ahiFxuICB2YWx1ZT86IHN0cmluZyB8IGJvb2xlYW4gfCBudW1iZXIgfCBBcnJheTxzdHJpbmcgfCBEYXRlPiB8IG51bGwgPSBudWxsOyAgLy8g5YC8IOS4jeS8oOm7mOiupOS4um51bGxcbiAgLy8g57uE5Lu25YaF6YOo5oiQ5ZGYXG4gIHNob3c/OiBib29sZWFuO1xuICBzZWxlY3RPcHRpb24/OiBTZWxlY3RPcHRpb247ICAvLyDmjqfku7bkuLpTZWxlY3Tml7bvvIzpgInpobnliJfooahcbiAgb25TZWFyY2hFdmVudD86IEZ1bmN0aW9uOyAgLy8gc2VsZWN06YCJ5oup5Zmo5pCc57Si5LqL5Lu2IOWPr+eUqOS6juabtOaWsOWkh+mAiembhuWQiFxuICBvbkNoYW5nZUV2ZW50PzogRnVuY3Rpb247ICAgLy8g5o6n5Lu255qE5YC85pS55Y+Y5LqL5Lu2IOWPr+eUqOS6juaOp+S7tumXtOiBlOWKqFxuICBoZERpc2FibGVkRGF0ZT86IEZ1bmN0aW9uOyAvLyBkYXRlLXBpY2tlcue7hOS7tuS4jeWPr+mAieaLqeeahOaXpeacn1xuICBzaG93VGltZT86IGJvb2xlYW4gPSBmYWxzZTsgLy8g5pel5pyf6YCJ5oup5Zmo5piv5ZCm5YyF5ZCr5pe26Ze0XG4gIHJlcXVpcmU/OiBib29sZWFuID0gZmFsc2U7IC8vIOaYr+WQpuW/heWhq1xuICBjYXNjYWRlck9wdGlvbj86IENhc2NhZGVyT3B0aW9uOyAvLyDnuqfogZTpgInmi6nlmajphY3nva5cbn1cblxuXG4vLyDmjqfku7bnsbvlnotcbmV4cG9ydCBlbnVtIEZpbHRlckxpc3RUeXBlIHtcbiAgSW5wdXQsICAvLyDovpPlhaXmoYZcbiAgU2VsZWN0LCAgLy8g5Y2V6aG56YCJ5oup5ZmoXG4gIERhdGUsICAvLyDljZXkuKrml6XmnJ/pgInmi6lcbiAgRGF0ZVJhbmdlLCAgLy8g5pel5pyf6IyD5Zu06YCJ5oupXG4gIE11bHRpcGxlU2VsZWN0LCAvLyDlpJrpgIlcbiAgQ2FzY2FkZXIsIC8vIOe6p+iBlOmAieaLqVxuICBNb250aCAvLyDmnIjku73pgInmi6lcbn1cblxuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBIZEZpbHRlclNlcnZpY2Uge1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICB9XG5cbn1cbiJdfQ==
|
package/esm2015/utils.js
CHANGED
|
@@ -2,76 +2,99 @@
|
|
|
2
2
|
* @fileoverview added by tsickle
|
|
3
3
|
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
4
|
*/
|
|
5
|
+
import { round } from 'lodash';
|
|
5
6
|
// 工具类
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
for (let i = 0; i < length; i++) {
|
|
21
|
-
if (returnData[i].name === name) {
|
|
22
|
-
returnData[i].selectOption.selectList = options;
|
|
7
|
+
/** @type {?} */
|
|
8
|
+
export const Utils = {
|
|
9
|
+
/**
|
|
10
|
+
* 填充select控件选项
|
|
11
|
+
* @param {?} formList 入参数组 Array<any>
|
|
12
|
+
* @param {?} name 需要填充options的属性名称
|
|
13
|
+
* @param {?} options 选项列表
|
|
14
|
+
* @return {?}
|
|
15
|
+
*/
|
|
16
|
+
fillSelectOption(formList, name, options) {
|
|
17
|
+
/** @type {?} */
|
|
18
|
+
const returnData = formList;
|
|
19
|
+
if (!returnData || !returnData.length) {
|
|
20
|
+
return returnData;
|
|
23
21
|
}
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
*/
|
|
31
|
-
function (list, obj) {
|
|
32
|
-
/** @type {?} */
|
|
33
|
-
let returnData = [];
|
|
34
|
-
if (!list || !list.length) {
|
|
35
|
-
return returnData;
|
|
36
|
-
}
|
|
37
|
-
/** @type {?} */
|
|
38
|
-
const length = list.length;
|
|
39
|
-
for (let i = 0; i < length; i++) {
|
|
40
|
-
if (obj[list[i].name]) {
|
|
41
|
-
list[i].value = obj[list[i].name];
|
|
22
|
+
/** @type {?} */
|
|
23
|
+
const length = formList.length;
|
|
24
|
+
for (let i = 0; i < length; i++) {
|
|
25
|
+
if (returnData[i].name === name) {
|
|
26
|
+
returnData[i].selectOption.selectList = options;
|
|
27
|
+
}
|
|
42
28
|
}
|
|
43
|
-
}
|
|
44
|
-
return list;
|
|
45
|
-
}, ɵ2 = /**
|
|
46
|
-
* @param {?} list
|
|
47
|
-
* @param {?=} option
|
|
48
|
-
* @return {?}
|
|
49
|
-
*/
|
|
50
|
-
function (list, option) {
|
|
51
|
-
/** @type {?} */
|
|
52
|
-
let returnData = [];
|
|
53
|
-
if (!list || !list.length) {
|
|
54
29
|
return returnData;
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
30
|
+
},
|
|
31
|
+
/**
|
|
32
|
+
* 填充FormItem数组:针对入参list的每一个FormItem,判断obj中是否有对应的name字段,如果有,则填充value。
|
|
33
|
+
* @param {?} list 入参数组 Array<FormItem>
|
|
34
|
+
* @param {?} obj 需要填充到list的属性
|
|
35
|
+
* @return {?}
|
|
36
|
+
*/
|
|
37
|
+
fillArrayFormItem(list, obj) {
|
|
38
|
+
/** @type {?} */
|
|
39
|
+
const returnData = [];
|
|
40
|
+
if (!list || !list.length) {
|
|
41
|
+
return returnData;
|
|
42
|
+
}
|
|
43
|
+
/** @type {?} */
|
|
44
|
+
const length = list.length;
|
|
45
|
+
for (let i = 0; i < length; i++) {
|
|
46
|
+
if (obj[list[i].name]) {
|
|
47
|
+
list[i].value = obj[list[i].name];
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
return list;
|
|
51
|
+
},
|
|
52
|
+
/**
|
|
53
|
+
* 数组转换成选择器的选项数组
|
|
54
|
+
* @param {?} list 入参数组 字符串数组或对象数组
|
|
55
|
+
* @param {?=} option 转换选项
|
|
56
|
+
* 注:list为字符串数组,option不需要传,按照标准的label、value转换
|
|
57
|
+
* @return {?}
|
|
58
|
+
*/
|
|
59
|
+
arrayToSelectOptionList(list, option) {
|
|
60
|
+
/** @type {?} */
|
|
61
|
+
const returnData = [];
|
|
62
|
+
if (!list || !list.length) {
|
|
63
|
+
return returnData;
|
|
64
|
+
}
|
|
65
|
+
if (option) {
|
|
66
|
+
if (option.labelTip && option.valueTip) {
|
|
67
|
+
list.forEach((/**
|
|
68
|
+
* @param {?} item
|
|
69
|
+
* @return {?}
|
|
70
|
+
*/
|
|
71
|
+
(item) => {
|
|
72
|
+
/** @type {?} */
|
|
73
|
+
const returnItem = item;
|
|
74
|
+
returnItem.label = item[option.label];
|
|
75
|
+
returnItem.value = item[option.value];
|
|
76
|
+
if (option.valueTip) {
|
|
77
|
+
returnItem[option.valueTip] = item[option.value];
|
|
78
|
+
}
|
|
79
|
+
if (option.labelTip) {
|
|
80
|
+
returnItem[option.labelTip] = item[option.label];
|
|
81
|
+
}
|
|
82
|
+
returnData.push(returnItem);
|
|
83
|
+
}));
|
|
84
|
+
}
|
|
85
|
+
else {
|
|
86
|
+
list.forEach((/**
|
|
87
|
+
* @param {?} item
|
|
88
|
+
* @return {?}
|
|
89
|
+
*/
|
|
90
|
+
(item) => {
|
|
91
|
+
/** @type {?} */
|
|
92
|
+
const returnItem = item;
|
|
93
|
+
returnItem.label = item[option.label];
|
|
94
|
+
returnItem.value = item[option.value];
|
|
95
|
+
returnData.push(returnItem);
|
|
96
|
+
}));
|
|
97
|
+
}
|
|
75
98
|
}
|
|
76
99
|
else {
|
|
77
100
|
list.forEach((/**
|
|
@@ -80,50 +103,118 @@ function (list, option) {
|
|
|
80
103
|
*/
|
|
81
104
|
(item) => {
|
|
82
105
|
/** @type {?} */
|
|
83
|
-
|
|
84
|
-
returnItem.label = item
|
|
85
|
-
returnItem.value = item
|
|
106
|
+
const returnItem = {};
|
|
107
|
+
returnItem.label = item;
|
|
108
|
+
returnItem.value = item;
|
|
86
109
|
returnData.push(returnItem);
|
|
87
110
|
}));
|
|
88
111
|
}
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
112
|
+
return returnData;
|
|
113
|
+
},
|
|
114
|
+
/**
|
|
115
|
+
* 求和
|
|
116
|
+
* @param {?} nums 数组
|
|
117
|
+
* @param {?=} precision 精度
|
|
118
|
+
* @return {?}
|
|
119
|
+
*/
|
|
120
|
+
add(nums, precision = 2) {
|
|
121
|
+
if (!Array.isArray(nums)) {
|
|
122
|
+
throw new Error('参数必须是数组');
|
|
123
|
+
}
|
|
124
|
+
if (nums.some((/**
|
|
125
|
+
* @param {?} num
|
|
93
126
|
* @return {?}
|
|
94
127
|
*/
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
}
|
|
105
|
-
/** @type {?} */
|
|
106
|
-
export const Utils = {
|
|
128
|
+
num => typeof num !== 'number'))) {
|
|
129
|
+
throw new Error('数组元素必须是数字');
|
|
130
|
+
}
|
|
131
|
+
/** @type {?} */
|
|
132
|
+
let result = 0;
|
|
133
|
+
for (const num of nums) {
|
|
134
|
+
result += num;
|
|
135
|
+
}
|
|
136
|
+
return round(result, precision);
|
|
137
|
+
},
|
|
107
138
|
/**
|
|
108
|
-
*
|
|
109
|
-
* @param
|
|
110
|
-
* @param
|
|
111
|
-
* @
|
|
139
|
+
* 减法
|
|
140
|
+
* @param {?} nums 数组
|
|
141
|
+
* @param {?=} precision 精度
|
|
142
|
+
* @return {?}
|
|
112
143
|
*/
|
|
113
|
-
|
|
144
|
+
subtract(nums, precision = 2) {
|
|
145
|
+
if (!Array.isArray(nums)) {
|
|
146
|
+
throw new Error('参数必须是数组');
|
|
147
|
+
}
|
|
148
|
+
if (nums.some((/**
|
|
149
|
+
* @param {?} num
|
|
150
|
+
* @return {?}
|
|
151
|
+
*/
|
|
152
|
+
num => typeof num !== 'number'))) {
|
|
153
|
+
throw new Error('数组元素必须是数字');
|
|
154
|
+
}
|
|
155
|
+
if (nums.length < 2) {
|
|
156
|
+
throw new Error('减法入参数量至少要2个!');
|
|
157
|
+
}
|
|
158
|
+
/** @type {?} */
|
|
159
|
+
let result = nums.shift();
|
|
160
|
+
for (const num of nums) {
|
|
161
|
+
result -= num;
|
|
162
|
+
}
|
|
163
|
+
return round(result, precision);
|
|
164
|
+
},
|
|
114
165
|
/**
|
|
115
|
-
*
|
|
116
|
-
* @param
|
|
117
|
-
* @param
|
|
166
|
+
* 乘法
|
|
167
|
+
* @param {?} nums 数组
|
|
168
|
+
* @param {?=} precision 精度
|
|
169
|
+
* @return {?}
|
|
118
170
|
*/
|
|
119
|
-
|
|
171
|
+
multiply(nums, precision = 2) {
|
|
172
|
+
if (!Array.isArray(nums)) {
|
|
173
|
+
throw new Error('参数必须是数组');
|
|
174
|
+
}
|
|
175
|
+
if (nums.some((/**
|
|
176
|
+
* @param {?} num
|
|
177
|
+
* @return {?}
|
|
178
|
+
*/
|
|
179
|
+
num => typeof num !== 'number'))) {
|
|
180
|
+
throw new Error('数组元素必须是数字');
|
|
181
|
+
}
|
|
182
|
+
/** @type {?} */
|
|
183
|
+
let result = 1;
|
|
184
|
+
for (const num of nums) {
|
|
185
|
+
result = result * num;
|
|
186
|
+
}
|
|
187
|
+
return round(result, precision);
|
|
188
|
+
},
|
|
120
189
|
/**
|
|
121
|
-
*
|
|
122
|
-
* @param
|
|
123
|
-
* @param
|
|
124
|
-
*
|
|
190
|
+
* 除法
|
|
191
|
+
* @param {?} nums 数组
|
|
192
|
+
* @param {?=} precision 精度
|
|
193
|
+
* @return {?}
|
|
125
194
|
*/
|
|
126
|
-
|
|
195
|
+
divide(nums, precision = 2) {
|
|
196
|
+
if (!Array.isArray(nums)) {
|
|
197
|
+
throw new Error('参数必须是数组');
|
|
198
|
+
}
|
|
199
|
+
if (nums.some((/**
|
|
200
|
+
* @param {?} num
|
|
201
|
+
* @return {?}
|
|
202
|
+
*/
|
|
203
|
+
num => typeof num !== 'number'))) {
|
|
204
|
+
throw new Error('数组元素必须是数字');
|
|
205
|
+
}
|
|
206
|
+
if (nums.length < 2) {
|
|
207
|
+
throw new Error('除法入参数量至少要2个!');
|
|
208
|
+
}
|
|
209
|
+
/** @type {?} */
|
|
210
|
+
let result = nums.shift();
|
|
211
|
+
for (const num of nums) {
|
|
212
|
+
if (num === 0) {
|
|
213
|
+
throw new Error('除数不能为0!');
|
|
214
|
+
}
|
|
215
|
+
result = result / num;
|
|
216
|
+
}
|
|
217
|
+
return round(result, precision);
|
|
218
|
+
}
|
|
127
219
|
};
|
|
128
|
-
export { ɵ0, ɵ1, ɵ2 };
|
|
129
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9mYW50YXN5LW5nem9ycm8vIiwic291cmNlcyI6WyJ1dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQVVvQixVQUFVLFFBQW9CLEVBQUUsSUFBWSxFQUFFLE9BQW1COztRQUM3RSxVQUFVLEdBQUcsUUFBUTtJQUN6QixJQUFJLENBQUMsVUFBVSxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRTtRQUNyQyxPQUFPLFVBQVUsQ0FBQztLQUNuQjs7VUFDSyxNQUFNLEdBQUcsUUFBUSxDQUFDLE1BQU07SUFDOUIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtRQUMvQixJQUFJLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssSUFBSSxFQUFFO1lBQy9CLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsVUFBVSxHQUFHLE9BQU8sQ0FBQztTQUNqRDtLQUNGO0lBQ0QsT0FBTyxVQUFVLENBQUM7QUFDcEIsQ0FBQzs7Ozs7QUFPa0IsVUFBVSxJQUFxQixFQUFFLEdBQVc7O1FBQ3pELFVBQVUsR0FBRyxFQUFFO0lBQ25CLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFO1FBQ3pCLE9BQU8sVUFBVSxDQUFDO0tBQ25COztVQUNLLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTTtJQUMxQixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1FBQy9CLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUNyQixJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDbkM7S0FDRjtJQUNELE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQzs7Ozs7QUFRd0IsVUFBVSxJQUFnQixFQUFFLE1BQStFOztRQUM5SCxVQUFVLEdBQUcsRUFBRTtJQUNuQixJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRTtRQUN6QixPQUFPLFVBQVUsQ0FBQztLQUNuQjtJQUNELElBQUksTUFBTSxFQUFFO1FBQ1YsSUFBSSxNQUFNLENBQUMsUUFBUSxJQUFJLE1BQU0sQ0FBQyxRQUFRLEVBQUU7WUFDdEMsSUFBSSxDQUFDLE9BQU87Ozs7WUFBQyxDQUFDLElBQUksRUFBRSxFQUFFOztvQkFDaEIsVUFBVSxHQUFRLElBQUk7Z0JBQzFCLFVBQVUsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDdEMsVUFBVSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUN0QyxJQUFJLE1BQU0sQ0FBQyxRQUFRLEVBQUU7b0JBQ25CLFVBQVUsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztpQkFDbEQ7Z0JBQ0QsSUFBSSxNQUFNLENBQUMsUUFBUSxFQUFFO29CQUNuQixVQUFVLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7aUJBQ2xEO2dCQUNELFVBQVUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDOUIsQ0FBQyxFQUFDLENBQUE7U0FDSDthQUFNO1lBQ0wsSUFBSSxDQUFDLE9BQU87Ozs7WUFBQyxDQUFDLElBQUksRUFBRSxFQUFFOztvQkFDaEIsVUFBVSxHQUFRLElBQUk7Z0JBQzFCLFVBQVUsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDdEMsVUFBVSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUN0QyxVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQzlCLENBQUMsRUFBQyxDQUFBO1NBQ0g7S0FDRjtTQUFNO1FBQ0wsSUFBSSxDQUFDLE9BQU87Ozs7UUFBQyxDQUFDLElBQUksRUFBRSxFQUFFOztnQkFDaEIsVUFBVSxHQUFRLEVBQUU7WUFDeEIsVUFBVSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7WUFDeEIsVUFBVSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7WUFDeEIsVUFBVSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUM5QixDQUFDLEVBQUMsQ0FBQTtLQUNIO0lBQ0QsT0FBTyxVQUFVLENBQUM7QUFDcEIsQ0FBQzs7QUFsRkgsTUFBTSxPQUFPLEtBQUssR0FBRzs7Ozs7OztJQU9uQixnQkFBZ0IsTUFZZjs7Ozs7O0lBT0QsaUJBQWlCLE1BWWhCOzs7Ozs7O0lBUUQsdUJBQXVCLE1Bb0N0QjtDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9ybUl0ZW0gfSBmcm9tIFwiLi9oZC1mb3JtL2hkLWZvcm0uc2VydmljZVwiO1xuXG4vLyDlt6XlhbfnsbtcbmV4cG9ydCBjb25zdCBVdGlscyA9IHtcbiAgLyoqXG4gICAqIOWhq+WFhXNlbGVjdOaOp+S7tumAiemhuVxuICAgKiBAcGFyYW0gZm9ybUxpc3Qg5YWl5Y+C5pWw57uEIEFycmF5PGFueT5cbiAgICogQHBhcmFtIG5hbWUg6ZyA6KaB5aGr5YWFb3B0aW9uc+eahOWxnuaAp+WQjeensFxuICAgKiBAcGFyYW0gb3B0aW9ucyDpgInpobnliJfooahcbiAgICovXG4gIGZpbGxTZWxlY3RPcHRpb246IGZ1bmN0aW9uIChmb3JtTGlzdDogQXJyYXk8YW55PiwgbmFtZTogc3RyaW5nLCBvcHRpb25zOiBBcnJheTxhbnk+KSB7XG4gICAgbGV0IHJldHVybkRhdGEgPSBmb3JtTGlzdDtcbiAgICBpZiAoIXJldHVybkRhdGEgfHwgIXJldHVybkRhdGEubGVuZ3RoKSB7XG4gICAgICByZXR1cm4gcmV0dXJuRGF0YTtcbiAgICB9XG4gICAgY29uc3QgbGVuZ3RoID0gZm9ybUxpc3QubGVuZ3RoO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbGVuZ3RoOyBpKyspIHtcbiAgICAgIGlmIChyZXR1cm5EYXRhW2ldLm5hbWUgPT09IG5hbWUpIHtcbiAgICAgICAgcmV0dXJuRGF0YVtpXS5zZWxlY3RPcHRpb24uc2VsZWN0TGlzdCA9IG9wdGlvbnM7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiByZXR1cm5EYXRhO1xuICB9LFxuXG4gIC8qKlxuICAgKiDloavlhYVGb3JtSXRlbeaVsOe7hO+8mumSiOWvueWFpeWPgmxpc3TnmoTmr4/kuIDkuKpGb3JtSXRlbe+8jOWIpOaWrW9iauS4reaYr+WQpuacieWvueW6lOeahG5hbWXlrZfmrrXvvIzlpoLmnpzmnInvvIzliJnloavlhYV2YWx1ZeOAglxuICAgKiBAcGFyYW0gbGlzdCDlhaXlj4LmlbDnu4QgQXJyYXk8Rm9ybUl0ZW0+XG4gICAqIEBwYXJhbSBvYmog6ZyA6KaB5aGr5YWF5YiwbGlzdOeahOWxnuaAp1xuICAgKi9cbiAgZmlsbEFycmF5Rm9ybUl0ZW06IGZ1bmN0aW9uIChsaXN0OiBBcnJheTxGb3JtSXRlbT4sIG9iajogT2JqZWN0KSB7XG4gICAgbGV0IHJldHVybkRhdGEgPSBbXTtcbiAgICBpZiAoIWxpc3QgfHwgIWxpc3QubGVuZ3RoKSB7XG4gICAgICByZXR1cm4gcmV0dXJuRGF0YTtcbiAgICB9XG4gICAgY29uc3QgbGVuZ3RoID0gbGlzdC5sZW5ndGg7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykge1xuICAgICAgaWYgKG9ialtsaXN0W2ldLm5hbWVdKSB7XG4gICAgICAgIGxpc3RbaV0udmFsdWUgPSBvYmpbbGlzdFtpXS5uYW1lXTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGxpc3Q7XG4gIH0sXG5cbiAgLyoqXG4gICAqIOaVsOe7hOi9rOaNouaIkOmAieaLqeWZqOeahOmAiemhueaVsOe7hFxuICAgKiBAcGFyYW0gbGlzdCDlhaXlj4LmlbDnu4Qg5a2X56ym5Liy5pWw57uE5oiW5a+56LGh5pWw57uEXG4gICAqIEBwYXJhbSBvcHRpb24g6L2s5o2i6YCJ6aG5XG4gICAqIOazqO+8mmxpc3TkuLrlrZfnrKbkuLLmlbDnu4TvvIxvcHRpb27kuI3pnIDopoHkvKDvvIzmjInnhafmoIflh4bnmoRsYWJlbOOAgXZhbHVl6L2s5o2iXG4gICAqL1xuICBhcnJheVRvU2VsZWN0T3B0aW9uTGlzdDogZnVuY3Rpb24gKGxpc3Q6IEFycmF5PGFueT4sIG9wdGlvbj86IHsgdmFsdWU6IHN0cmluZywgbGFiZWw6IHN0cmluZywgdmFsdWVUaXA/OiBzdHJpbmcsIGxhYmVsVGlwPzogc3RyaW5nIH0pIHtcbiAgICBsZXQgcmV0dXJuRGF0YSA9IFtdO1xuICAgIGlmICghbGlzdCB8fCAhbGlzdC5sZW5ndGgpIHtcbiAgICAgIHJldHVybiByZXR1cm5EYXRhO1xuICAgIH1cbiAgICBpZiAob3B0aW9uKSB7XG4gICAgICBpZiAob3B0aW9uLmxhYmVsVGlwICYmIG9wdGlvbi52YWx1ZVRpcCkge1xuICAgICAgICBsaXN0LmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgICBsZXQgcmV0dXJuSXRlbTogYW55ID0gaXRlbTtcbiAgICAgICAgICByZXR1cm5JdGVtLmxhYmVsID0gaXRlbVtvcHRpb24ubGFiZWxdO1xuICAgICAgICAgIHJldHVybkl0ZW0udmFsdWUgPSBpdGVtW29wdGlvbi52YWx1ZV07XG4gICAgICAgICAgaWYgKG9wdGlvbi52YWx1ZVRpcCkge1xuICAgICAgICAgICAgcmV0dXJuSXRlbVtvcHRpb24udmFsdWVUaXBdID0gaXRlbVtvcHRpb24udmFsdWVdO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAob3B0aW9uLmxhYmVsVGlwKSB7XG4gICAgICAgICAgICByZXR1cm5JdGVtW29wdGlvbi5sYWJlbFRpcF0gPSBpdGVtW29wdGlvbi5sYWJlbF07XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybkRhdGEucHVzaChyZXR1cm5JdGVtKTtcbiAgICAgICAgfSlcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGxpc3QuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICAgIGxldCByZXR1cm5JdGVtOiBhbnkgPSBpdGVtO1xuICAgICAgICAgIHJldHVybkl0ZW0ubGFiZWwgPSBpdGVtW29wdGlvbi5sYWJlbF07XG4gICAgICAgICAgcmV0dXJuSXRlbS52YWx1ZSA9IGl0ZW1bb3B0aW9uLnZhbHVlXTtcbiAgICAgICAgICByZXR1cm5EYXRhLnB1c2gocmV0dXJuSXRlbSk7XG4gICAgICAgIH0pXG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGxpc3QuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICBsZXQgcmV0dXJuSXRlbTogYW55ID0ge307XG4gICAgICAgIHJldHVybkl0ZW0ubGFiZWwgPSBpdGVtO1xuICAgICAgICByZXR1cm5JdGVtLnZhbHVlID0gaXRlbTtcbiAgICAgICAgcmV0dXJuRGF0YS5wdXNoKHJldHVybkl0ZW0pO1xuICAgICAgfSlcbiAgICB9XG4gICAgcmV0dXJuIHJldHVybkRhdGE7XG4gIH1cbn1cbiJdfQ==
|
|
220
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9mYW50YXN5LW5nem9ycm8vIiwic291cmNlcyI6WyJ1dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQ0EsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLFFBQVEsQ0FBQzs7O0FBRS9CLE1BQU0sT0FBTyxLQUFLLEdBQUc7Ozs7Ozs7O0lBT25CLGdCQUFnQixDQUFDLFFBQW9CLEVBQUUsSUFBWSxFQUFFLE9BQW1COztjQUNoRSxVQUFVLEdBQUcsUUFBUTtRQUMzQixJQUFJLENBQUMsVUFBVSxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRTtZQUNyQyxPQUFPLFVBQVUsQ0FBQztTQUNuQjs7Y0FDSyxNQUFNLEdBQUcsUUFBUSxDQUFDLE1BQU07UUFDOUIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUMvQixJQUFJLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssSUFBSSxFQUFFO2dCQUMvQixVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLFVBQVUsR0FBRyxPQUFPLENBQUM7YUFDakQ7U0FDRjtRQUNELE9BQU8sVUFBVSxDQUFDO0lBQ3BCLENBQUM7Ozs7Ozs7SUFPRCxpQkFBaUIsQ0FBQyxJQUFxQixFQUFFLEdBQVc7O2NBQzVDLFVBQVUsR0FBRyxFQUFFO1FBQ3JCLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ3pCLE9BQU8sVUFBVSxDQUFDO1NBQ25COztjQUNLLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTTtRQUMxQixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQy9CLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFB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QyxDQUFDO0lBQ2xDLENBQUM7Ozs7Ozs7SUFPRCxNQUFNLENBQUMsSUFBYyxFQUFFLFlBQW9CLENBQUM7UUFDMUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDeEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUM1QjtRQUNELElBQUksSUFBSSxDQUFDLElBQUk7Ozs7UUFBQyxHQUFHLENBQUMsRUFBRSxDQUFDLE9BQU8sR0FBRyxLQUFLLFFBQVEsRUFBQyxFQUFFO1lBQzdDLE1BQU0sSUFBSSxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7U0FDOUI7UUFDRCxJQUFJLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ25CLE1BQU0sSUFBSSxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUM7U0FDakM7O1lBQ0csTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUU7UUFDekIsS0FBSyxNQUFNLEdBQUcsSUFBSSxJQUFJLEVBQUU7WUFDdEIsSUFBSSxHQUFHLEtBQUssQ0FBQyxFQUFFO2dCQUNiLE1BQU0sSUFBSSxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7YUFDNUI7WUFDRCxNQUFNLEdBQUcsTUFBTSxHQUFHLEdBQUcsQ0FBQztTQUN2QjtRQUNELE9BQU8sS0FBSyxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsQ0FBQztJQUNsQyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb3JtSXRlbSB9IGZyb20gJy4vaGQtZm9ybS9oZC1mb3JtLnNlcnZpY2UnO1xuaW1wb3J0IHsgcm91bmQgfSBmcm9tICdsb2Rhc2gnO1xuLy8g5bel5YW357G7XG5leHBvcnQgY29uc3QgVXRpbHMgPSB7XG4gIC8qKlxuICAgKiDloavlhYVzZWxlY3Tmjqfku7bpgInpoblcbiAgICogQHBhcmFtIGZvcm1MaXN0IOWFpeWPguaVsOe7hCBBcnJheTxhbnk+XG4gICAqIEBwYXJhbSBuYW1lIOmcgOimgeWhq+WFhW9wdGlvbnPnmoTlsZ7mgKflkI3np7BcbiAgICogQHBhcmFtIG9wdGlvbnMg6YCJ6aG55YiX6KGoXG4gICAqL1xuICBmaWxsU2VsZWN0T3B0aW9uKGZvcm1MaXN0OiBBcnJheTxhbnk+LCBuYW1lOiBzdHJpbmcsIG9wdGlvbnM6IEFycmF5PGFueT4pIHtcbiAgICBjb25zdCByZXR1cm5EYXRhID0gZm9ybUxpc3Q7XG4gICAgaWYgKCFyZXR1cm5EYXRhIHx8ICFyZXR1cm5EYXRhLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIHJldHVybkRhdGE7XG4gICAgfVxuICAgIGNvbnN0IGxlbmd0aCA9IGZvcm1MaXN0Lmxlbmd0aDtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxlbmd0aDsgaSsrKSB7XG4gICAgICBpZiAocmV0dXJuRGF0YVtpXS5uYW1lID09PSBuYW1lKSB7XG4gICAgICAgIHJldHVybkRhdGFbaV0uc2VsZWN0T3B0aW9uLnNlbGVjdExpc3QgPSBvcHRpb25zO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcmV0dXJuRGF0YTtcbiAgfSxcblxuICAvKipcbiAgICog5aGr5YWFRm9ybUl0ZW3mlbDnu4TvvJrpkojlr7nlhaXlj4JsaXN055qE5q+P5LiA5LiqRm9ybUl0ZW3vvIzliKTmlq1vYmrkuK3mmK/lkKbmnInlr7nlupTnmoRuYW1l5a2X5q6177yM5aaC5p6c5pyJ77yM5YiZ5aGr5YWFdmFsdWXjgIJcbiAgICogQHBhcmFtIGxpc3Qg5YWl5Y+C5pWw57uEIEFycmF5PEZvcm1JdGVtPlxuICAgKiBAcGFyYW0gb2JqIOmcgOimgeWhq+WFheWIsGxpc3TnmoTlsZ7mgKdcbiAgICovXG4gIGZpbGxBcnJheUZvcm1JdGVtKGxpc3Q6IEFycmF5PEZvcm1JdGVtPiwgb2JqOiBPYmplY3QpIHtcbiAgICBjb25zdCByZXR1cm5EYXRhID0gW107XG4gICAgaWYgKCFsaXN0IHx8ICFsaXN0Lmxlbmd0aCkge1xuICAgICAgcmV0dXJuIHJldHVybkRhdGE7XG4gICAgfVxuICAgIGNvbnN0IGxlbmd0aCA9IGxpc3QubGVuZ3RoO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbGVuZ3RoOyBpKyspIHtcbiAgICAgIGlmIChvYmpbbGlzdFtpXS5uYW1lXSkge1xuICAgICAgICBsaXN0W2ldLnZhbHVlID0gb2JqW2xpc3RbaV0ubmFtZV07XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBsaXN0O1xuICB9LFxuXG4gIC8qKlxuICAgKiDmlbDnu4TovazmjaLmiJDpgInmi6nlmajnmoTpgInpobnmlbDnu4RcbiAgICogQHBhcmFtIGxpc3Qg5YWl5Y+C5pWw57uEIOWtl+espuS4suaVsOe7hOaIluWvueixoeaVsOe7hFxuICAgKiBAcGFyYW0gb3B0aW9uIOi9rOaNoumAiemhuVxuICAgKiDms6jvvJpsaXN05Li65a2X56ym5Liy5pWw57uE77yMb3B0aW9u5LiN6ZyA6KaB5Lyg77yM5oyJ54Wn5qCH5YeG55qEbGFiZWzjgIF2YWx1Zei9rOaNolxuICAgKi9cbiAgYXJyYXlUb1NlbGVjdE9wdGlvbkxpc3QobGlzdDogQXJyYXk8YW55Piwgb3B0aW9uPzoge1xuICAgIHZhbHVlOiBzdHJpbmcsXG4gICAgbGFiZWw6IHN0cmluZyxcbiAgICB2YWx1ZVRpcD86IHN0cmluZyxcbiAgICBsYWJlbFRpcD86IHN0cmluZ1xuICB9KSB7XG4gICAgY29uc3QgcmV0dXJuRGF0YSA9IFtdO1xuICAgIGlmICghbGlzdCB8fCAhbGlzdC5sZW5ndGgpIHtcbiAgICAgIHJldHVybiByZXR1cm5EYXRhO1xuICAgIH1cbiAgICBpZiAob3B0aW9uKSB7XG4gICAgICBpZiAob3B0aW9uLmxhYmVsVGlwICYmIG9wdGlvbi52YWx1ZVRpcCkge1xuICAgICAgICBsaXN0LmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgICBjb25zdCByZXR1cm5JdGVtOiBhbnkgPSBpdGVtO1xuICAgICAgICAgIHJldHVybkl0ZW0ubGFiZWwgPSBpdGVtW29wdGlvbi5sYWJlbF07XG4gICAgICAgICAgcmV0dXJuSXRlbS52YWx1ZSA9IGl0ZW1bb3B0aW9uLnZhbHVlXTtcbiAgICAgICAgICBpZiAob3B0aW9uLnZhbHVlVGlwKSB7XG4gICAgICAgICAgICByZXR1cm5JdGVtW29wdGlvbi52YWx1ZVRpcF0gPSBpdGVtW29wdGlvbi52YWx1ZV07XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChvcHRpb24ubGFiZWxUaXApIHtcbiAgICAgICAgICAgIHJldHVybkl0ZW1bb3B0aW9uLmxhYmVsVGlwXSA9IGl0ZW1bb3B0aW9uLmxhYmVsXTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuRGF0YS5wdXNoKHJldHVybkl0ZW0pO1xuICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGxpc3QuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICAgIGNvbnN0IHJldHVybkl0ZW06IGFueSA9IGl0ZW07XG4gICAgICAgICAgcmV0dXJuSXRlbS5sYWJlbCA9IGl0ZW1bb3B0aW9uLmxhYmVsXTtcbiAgICAgICAgICByZXR1cm5JdGVtLnZhbHVlID0gaXRlbVtvcHRpb24udmFsdWVdO1xuICAgICAgICAgIHJldHVybkRhdGEucHVzaChyZXR1cm5JdGVtKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGxpc3QuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICBjb25zdCByZXR1cm5JdGVtOiBhbnkgPSB7fTtcbiAgICAgICAgcmV0dXJuSXRlbS5sYWJlbCA9IGl0ZW07XG4gICAgICAgIHJldHVybkl0ZW0udmFsdWUgPSBpdGVtO1xuICAgICAgICByZXR1cm5EYXRhLnB1c2gocmV0dXJuSXRlbSk7XG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIHJldHVybkRhdGE7XG4gIH0sXG5cbiAgLyoqXG4gICAqIOaxguWSjFxuICAgKiBAcGFyYW0gbnVtcyDmlbDnu4RcbiAgICogQHBhcmFtIHByZWNpc2lvbiDnsr7luqZcbiAgICovXG4gIGFkZChudW1zOiBudW1iZXJbXSwgcHJlY2lzaW9uOiBudW1iZXIgPSAyKSB7XG4gICAgaWYgKCFBcnJheS5pc0FycmF5KG51bXMpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ+WPguaVsOW/hemhu+aYr+aVsOe7hCcpO1xuICAgIH1cbiAgICBpZiAobnVtcy5zb21lKG51bSA9PiB0eXBlb2YgbnVtICE9PSAnbnVtYmVyJykpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcign5pWw57uE5YWD57Sg5b+F6aG75piv5pWw5a2XJyk7XG4gICAgfVxuICAgIGxldCByZXN1bHQgPSAwO1xuICAgIGZvciAoY29uc3QgbnVtIG9mIG51bXMpIHtcbiAgICAgIHJlc3VsdCArPSBudW07XG4gICAgfVxuICAgIHJldHVybiByb3VuZChyZXN1bHQsIHByZWNpc2lvbik7XG4gIH0sXG5cbiAgLyoqXG4gICAqIOWHj+azlVxuICAgKiBAcGFyYW0gbnVtcyDmlbDnu4RcbiAgICogQHBhcmFtIHByZWNpc2lvbiDnsr7luqZcbiAgICovXG4gIHN1YnRyYWN0KG51bXM6IG51bWJlcltdLCBwcmVjaXNpb246IG51bWJlciA9IDIpIHtcbiAgICBpZiAoIUFycmF5LmlzQXJyYXkobnVtcykpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcign5Y+C5pWw5b+F6aG75piv5pWw57uEJyk7XG4gICAgfVxuICAgIGlmIChudW1zLnNvbWUobnVtID0+IHR5cGVvZiBudW0gIT09ICdudW1iZXInKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCfmlbDnu4TlhYPntKDlv4XpobvmmK/mlbDlrZcnKTtcbiAgICB9XG4gICAgaWYgKG51bXMubGVuZ3RoIDwgMikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCflh4/ms5XlhaXlj4LmlbDph4/oh7PlsJHopoEy5Liq77yBJyk7XG4gICAgfVxuICAgIGxldCByZXN1bHQgPSBudW1zLnNoaWZ0KCk7XG4gICAgZm9yIChjb25zdCBudW0gb2YgbnVtcykge1xuICAgICAgcmVzdWx0IC09IG51bTtcbiAgICB9XG4gICAgcmV0dXJuIHJvdW5kKHJlc3VsdCwgcHJlY2lzaW9uKTtcbiAgfSxcblxuICAvKipcbiAgICog5LmY5rOVXG4gICAqIEBwYXJhbSBudW1zIOaVsOe7hFxuICAgKiBAcGFyYW0gcHJlY2lzaW9uIOeyvuW6plxuICAgKi9cbiAgbXVsdGlwbHkobnVtczogbnVtYmVyW10sIHByZWNpc2lvbjogbnVtYmVyID0gMikge1xuICAgIGlmICghQXJyYXkuaXNBcnJheShudW1zKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCflj4LmlbDlv4XpobvmmK/mlbDnu4QnKTtcbiAgICB9XG4gICAgaWYgKG51bXMuc29tZShudW0gPT4gdHlwZW9mIG51bSAhPT0gJ251bWJlcicpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ+aVsOe7hOWFg+e0oOW/hemhu+aYr+aVsOWtlycpO1xuICAgIH1cbiAgICBsZXQgcmVzdWx0ID0gMTtcbiAgICBmb3IgKGNvbnN0IG51bSBvZiBudW1zKSB7XG4gICAgICByZXN1bHQgPSByZXN1bHQgKiBudW07XG4gICAgfVxuICAgIHJldHVybiByb3VuZChyZXN1bHQsIHByZWNpc2lvbik7XG4gIH0sXG5cbiAgLyoqXG4gICAqIOmZpOazlVxuICAgKiBAcGFyYW0gbnVtcyDmlbDnu4RcbiAgICogQHBhcmFtIHByZWNpc2lvbiDnsr7luqZcbiAgICovXG4gIGRpdmlkZShudW1zOiBudW1iZXJbXSwgcHJlY2lzaW9uOiBudW1iZXIgPSAyKSB7XG4gICAgaWYgKCFBcnJheS5pc0FycmF5KG51bXMpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ+WPguaVsOW/hemhu+aYr+aVsOe7hCcpO1xuICAgIH1cbiAgICBpZiAobnVtcy5zb21lKG51bSA9PiB0eXBlb2YgbnVtICE9PSAnbnVtYmVyJykpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcign5pWw57uE5YWD57Sg5b+F6aG75piv5pWw5a2XJyk7XG4gICAgfVxuICAgIGlmIChudW1zLmxlbmd0aCA8IDIpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcign6Zmk5rOV5YWl5Y+C5pWw6YeP6Iez5bCR6KaBMuS4qu+8gScpO1xuICAgIH1cbiAgICBsZXQgcmVzdWx0ID0gbnVtcy5zaGlmdCgpO1xuICAgIGZvciAoY29uc3QgbnVtIG9mIG51bXMpIHtcbiAgICAgIGlmIChudW0gPT09IDApIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCfpmaTmlbDkuI3og73kuLow77yBJyk7XG4gICAgICB9XG4gICAgICByZXN1bHQgPSByZXN1bHQgLyBudW07XG4gICAgfVxuICAgIHJldHVybiByb3VuZChyZXN1bHQsIHByZWNpc2lvbik7XG4gIH1cbn07XG4iXX0=
|
|
@@ -194,7 +194,7 @@ var HdFilterComponent = /** @class */ (function () {
|
|
|
194
194
|
HdFilterComponent.decorators = [
|
|
195
195
|
{ type: Component, args: [{
|
|
196
196
|
selector: 'hd-filter',
|
|
197
|
-
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
|
|
197
|
+
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 (ngModelChange)=\"triggerEvent(filter.onChangeEvent || null, $event)\"/>\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=\"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\" (ngModelChange)=\"triggerEvent(filter.onChangeEvent || 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=\"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 (ngModelChange)=\"triggerEvent(filter.onChangeEvent || null, $event)\" nzShowTime\n 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 (ngModelChange)=\"triggerEvent(filter.onChangeEvent || null, $event)\">\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 (ngModelChange)=\"triggerEvent(filter.onChangeEvent || null, $event)\"\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 (ngModelChange)=\"triggerEvent(filter.onChangeEvent || null, $event)\"\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 (ngModelChange)=\"triggerEvent(filter.onChangeEvent || null, $event)\">\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\"\n (ngModelChange)=\"triggerEvent(filter.onChangeEvent || null, $event)\"></nz-month-picker>\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",
|
|
198
198
|
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}"]
|
|
199
199
|
}] }
|
|
200
200
|
];
|
|
@@ -229,4 +229,4 @@ if (false) {
|
|
|
229
229
|
*/
|
|
230
230
|
HdFilterComponent.prototype.fb;
|
|
231
231
|
}
|
|
232
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
232
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGQtZmlsdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2ZhbnRhc3ktbmd6b3Jyby8iLCJzb3VyY2VzIjpbImhkLWZpbHRlci9oZC1maWx0ZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUUsV0FBVyxFQUFhLE1BQU0sZ0JBQWdCLENBQUM7QUFHeEQ7SUFnQkUsMkJBQW9CLEVBQWU7UUFBZixPQUFFLEdBQUYsRUFBRSxDQUFhO1FBUnpCLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNqQyxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUcxQyxlQUFVLEdBQVksSUFBSSxDQUFDOztRQUUzQixzQkFBaUIsR0FBVyxDQUFDLENBQUM7SUFHOUIsQ0FBQzs7OztJQUVELG9DQUFROzs7SUFBUjtRQUNFLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNkLENBQUM7Ozs7SUFFRCx1Q0FBVzs7O0lBQVg7UUFDRSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDZCxDQUFDOzs7OztJQUVPLGdDQUFJOzs7O0lBQVo7UUFBQSxpQkFlQztRQWRDLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1FBQ3ZCLE9BQU87UUFDUCxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDcEMsTUFBTSxpQkFBaUIsQ0FBQztTQUN6QjtRQUNELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7OztZQUVoRCxhQUFhLEdBQUcsRUFBRTtRQUN0QixJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU87Ozs7O1FBQUMsVUFBQyxJQUFJLEVBQUUsS0FBSztZQUNsQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEtBQUksQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDM0QsVUFBVTtZQUNWLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxHQUFHLENBQUMsQ0FBQztRQUN4QixDQUFDLEVBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUN6RCxDQUFDOzs7Ozs7O0lBRUQsd0NBQVk7Ozs7OztJQUFaLFVBQWEsRUFBTyxFQUFFLEtBQVUsRUFBRSxZQUFrQjtRQUNsRCxJQUFJLEVBQUUsSUFBSSxZQUFZLEVBQUU7WUFDdEIsRUFBRSxDQUFDLEtBQUssRUFBRSxZQUFZLENBQUMsQ0FBQztTQUN6QjthQUFNLElBQUksRUFBRSxFQUFFO1lBQ2IsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ1g7YUFBTTtZQUNMLE9BQU87U0FDUjtJQUNILENBQUM7Ozs7SUFFRCx5Q0FBYTs7O0lBQWI7UUFDRSxpQkFBaUI7UUFDakIsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDaEMsT0FBTyxFQUFFLENBQUM7U0FDWDtRQUNELE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsS0FBSyxDQUFDLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGlCQUFpQixLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUMxTSxDQUFDOzs7Ozs7SUFFTyxxQ0FBUzs7Ozs7SUFBakIsVUFBa0IsSUFBbUI7UUFDbkMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQyxFQUFFO1lBQ3hDLE9BQU8sSUFBSSxDQUFDO1NBQ2I7O1lBQ0csUUFBUSxHQUFHLEVBQUU7UUFDakIsSUFBSSxDQUFDLE9BQU87Ozs7UUFBQyxVQUFDLElBQUk7WUFDaEIsVUFBVTtZQUNWLCtKQUErSjtZQUMvSiwyQ0FBMkM7WUFDM0MsSUFBSTtZQUNKLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzNCLENBQUMsRUFBQyxDQUFDO1FBQ0gsYUFBYTtRQUNiLElBQUksaUJBQUksSUFBSSxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsTUFBTSxLQUFLLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDakQsTUFBTSw0QkFBNEIsQ0FBQztTQUNwQztRQUNELGdCQUFnQjtRQUNoQixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7Ozs7SUFFTSxzQ0FBVTs7O0lBQWpCO1FBQ0UsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDL0QsQ0FBQzs7OztJQUVNLHFDQUFTOzs7SUFBaEI7UUFDRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDaEMsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ3hDLDRCQUE0QjtZQUM1QixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztTQUM3RDthQUFNO1lBQ0wsNEJBQTRCO1lBQzVCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1NBQzlEO0lBQ0gsQ0FBQzs7OztJQUVNLG9DQUFROzs7SUFBZjtRQUFBLGlCQUtDO1FBSkMsSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7UUFDbkMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPOzs7OztRQUFDLFVBQUMsSUFBSSxFQUFFLEtBQUs7WUFDbEMsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDakQsQ0FBQyxFQUFDLENBQUM7SUFDTCxDQUFDOzs7OztJQUVNLHNDQUFVOzs7O0lBQWpCLFVBQWtCLE1BQWM7O1lBQ3hCLFdBQVcsR0FBRyxFQUFFO1FBQ3RCLFdBQVcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDO1FBRWhDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDbEQsQ0FBQzs7Z0JBN0dGLFNBQVMsU0FBQztvQkFDVCxRQUFRLEVBQUUsV0FBVztvQkFDckIsNHVPQUF5Qzs7aUJBRTFDOzs7O2dCQVBRLFdBQVc7Ozs2QkFVakIsS0FBSzs4QkFDTCxNQUFNOzZCQUNOLE1BQU07O0lBcUdULHdCQUFDO0NBQUEsQUE5R0QsSUE4R0M7U0F6R1ksaUJBQWlCOzs7SUFFNUIsdUNBQW1DOztJQUNuQyx3Q0FBMkM7O0lBQzNDLHVDQUEwQzs7SUFFMUMsK0NBQThCOztJQUM5Qix1Q0FBMkI7O0lBRTNCLDhDQUE4Qjs7Ozs7SUFFbEIsK0JBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEZpbHRlciB9IGZyb20gJy4vaGQtZmlsdGVyLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdoZC1maWx0ZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vaGQtZmlsdGVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vaGQtZmlsdGVyLmNvbXBvbmVudC5sZXNzJ11cbn0pXG5leHBvcnQgY2xhc3MgSGRGaWx0ZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIEBJbnB1dCgpIGZpbHRlckxpc3Q6IEFycmF5PEZpbHRlcj47XG4gIEBPdXRwdXQoKSBzZWFyY2hFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIHJlc2V0RXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgdmFsaWRhdGVGaWx0ZXJGb3JtOiBGb3JtR3JvdXA7XG4gIGlzU2hvd01vcmU6IGJvb2xlYW4gPSB0cnVlO1xuICAvLyDlr7lmaWx0ZXJMaXN05Y+W5qih6L+Q566XXG4gIGZpbHRlckxpc3RNb2R1bGFyOiBudW1iZXIgPSAwO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyKSB7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmluaXQoKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKCkge1xuICAgIHRoaXMuaW5pdCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0KCk6IHZvaWQge1xuICAgIHRoaXMuaXNTaG93TW9yZSA9IHRydWU7XG4gICAgLy8g5byC5bi45o2V6I63XG4gICAgaWYgKCF0aGlzLmNoZWNrTGlzdCh0aGlzLmZpbHRlckxpc3QpKSB7XG4gICAgICB0aHJvdyAnZmlsdGVy57uE5Lu25pWw5o2u5qC85byP5LiN6KeE6IyDJztcbiAgICB9XG4gICAgdGhpcy5maWx0ZXJMaXN0TW9kdWxhciA9IHRoaXMuZmlsdGVyTGlzdC5sZW5ndGggJSA0O1xuICAgIC8vIOmmluWFiOagueaNruWumuS5ieeahOe7hOS7tuaVsOe7hCAg5Y675Yid5aeL5YyW6KGo5Y2VXG4gICAgbGV0IGZvcm1Hcm91cExpc3QgPSB7fTtcbiAgICB0aGlzLmZpbHRlckxpc3QuZm9yRWFjaCgoaXRlbSwgaW5kZXgpID0+IHtcbiAgICAgIGZvcm1Hcm91cExpc3RbaXRlbS5uYW1lXSA9IHRoaXMuZmIuY29udHJvbChpdGVtLnZhbHVlLCBbXSk7XG4gICAgICAvLyDliJ3lp4vljJbmjqfku7bmmL7lvbFcbiAgICAgIGl0ZW0uc2hvdyA9IGluZGV4IDwgNztcbiAgICB9KTtcbiAgICB0aGlzLnZhbGlkYXRlRmlsdGVyRm9ybSA9IHRoaXMuZmIuZ3JvdXAoZm9ybUdyb3VwTGlzdCk7XG4gIH1cblxuICB0cmlnZ2VyRXZlbnQoZm46IGFueSwgZXZlbnQ6IGFueSwgc2VsZWN0T3B0aW9uPzogYW55KSB7XG4gICAgaWYgKGZuICYmIHNlbGVjdE9wdGlvbikge1xuICAgICAgZm4oZXZlbnQsIHNlbGVjdE9wdGlvbik7XG4gICAgfSBlbHNlIGlmIChmbikge1xuICAgICAgZm4oZXZlbnQpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICB9XG5cbiAgY29tcHV0ZU9mZnNldCgpIHtcbiAgICAvLyDnibnmrorlpITnkIbkuIvnrYnkuo405Liq6YCJ6aG555qE5oOF5Ya1XG4gICAgaWYgKHRoaXMuZmlsdGVyTGlzdC5sZW5ndGggPT09IDQpIHtcbiAgICAgIHJldHVybiAxODtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuaXNTaG93TW9yZSA/ICgodGhpcy5maWx0ZXJMaXN0TW9kdWxhciA9PT0gMCB8fCB0aGlzLmZpbHRlckxpc3QubGVuZ3RoID4gNykgPyAwIDogKDMgLSB0aGlzLmZpbHRlckxpc3RNb2R1bGFyKSAqIDYpIDogKHRoaXMuZmlsdGVyTGlzdE1vZHVsYXIgPT09IDAgPyAxOCA6ICgzIC0gdGhpcy5maWx0ZXJMaXN0TW9kdWxhcikgKiA2KTtcbiAgfVxuXG4gIHByaXZhdGUgY2hlY2tMaXN0KGxpc3Q6IEFycmF5PEZpbHRlcj4pOiBib29sZWFuIHtcbiAgICBpZiAoIWxpc3QgfHwgKGxpc3QgJiYgbGlzdC5sZW5ndGggPT09IDApKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgbGV0IG5hbWVMaXN0ID0gW107XG4gICAgbGlzdC5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAvLyDmoKHpqozljZXpobnpgInmi6nlmahcbiAgICAgIC8vIGlmIChpdGVtLnR5cGUgPT09IEZpbHRlckxpc3RUeXBlLlNlbGVjdCAmJiAoIWl0ZW0uc2VsZWN0T3B0aW9uLnNlbGVjdExpc3QgfHwgKGl0ZW0uc2VsZWN0T3B0aW9uLnNlbGVjdExpc3QgJiYgaXRlbS5zZWxlY3RPcHRpb24uc2VsZWN0TGlzdC5sZW5ndGggPT09IDApKSkge1xuICAgICAgLy8gICB0aHJvdyAnZmlsdGVy57uE5Lu25pWw5o2u5qC85byP5LiN6KeE6IyD77yM5a2Y5Zyo5Y2V6aG56YCJ5oup5Zmo5rKh5pyJ5Lyg5YWl6YCJ6aG5ISdcbiAgICAgIC8vIH1cbiAgICAgIG5hbWVMaXN0LnB1c2goaXRlbS5uYW1lKTtcbiAgICB9KTtcbiAgICAvLyDmoKHpqoxuYW1l5piv5ZCm6YeN5aSNXG4gICAgaWYgKFsuLi5uZXcgU2V0KG5hbWVMaXN0KV0ubGVuZ3RoICE9PSBsaXN0Lmxlbmd0aCkge1xuICAgICAgdGhyb3cgJ2ZpbHRlcue7hOS7tuaVsOaNruagvOW8j+S4jeinhOiMg++8jOWtmOWcqOmHjeWkjW5hbWXlgLwhJztcbiAgICB9XG4gICAgLy8gLi4ubW9yZSBjaGVja1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgcHVibGljIHN1Ym1pdEZvcm0oKTogdm9pZCB7XG4gICAgdGhpcy5zZWFyY2hFdmVudC5lbWl0KHRoaXMudmFsaWRhdGVGaWx0ZXJGb3JtLmdldFJhd1ZhbHVlKCkpO1xuICB9XG5cbiAgcHVibGljIHJlc2V0Rm9ybSgpOiB2b2lkIHtcbiAgICB0aGlzLnZhbGlkYXRlRmlsdGVyRm9ybS5yZXNldCgpO1xuICAgIGlmICh0aGlzLnJlc2V0RXZlbnQub2JzZXJ2ZXJzLmxlbmd0aCA+IDApIHtcbiAgICAgIC8vIOWmguaenOacieeItue7hOS7tue7keWumuS6hiByZXNldEV2ZW50IOeahOWkhOeQhuWZqFxuICAgICAgdGhpcy5yZXNldEV2ZW50LmVtaXQodGhpcy52YWxpZGF0ZUZpbHRlckZvcm0uZ2V0UmF3VmFsdWUoKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIOWmguaenOayoeaciee7keWumuWkhOeQhuWZqO+8jOWImeinpuWPkSBzZWFyY2hFdmVudFxuICAgICAgdGhpcy5zZWFyY2hFdmVudC5lbWl0KHRoaXMudmFsaWRhdGVGaWx0ZXJGb3JtLmdldFJhd1ZhbHVlKCkpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzaG93TW9yZSgpOiB2b2lkIHtcbiAgICB0aGlzLmlzU2hvd01vcmUgPSAhdGhpcy5pc1Nob3dNb3JlO1xuICAgIHRoaXMuZmlsdGVyTGlzdC5mb3JFYWNoKChpdGVtLCBpbmRleCkgPT4ge1xuICAgICAgaXRlbS5zaG93ID0gdGhpcy5pc1Nob3dNb3JlID8gaW5kZXggPCA3IDogdHJ1ZTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBpbnB1dENsZWFuKGZpbHRlcjogRmlsdGVyKTogdm9pZCB7XG4gICAgY29uc3QgcGF0Y2hPYmplY3QgPSB7fTtcbiAgICBwYXRjaE9iamVjdFtmaWx0ZXIubmFtZV0gPSBudWxsO1xuXG4gICAgdGhpcy52YWxpZGF0ZUZpbHRlckZvcm0ucGF0Y2hWYWx1ZShwYXRjaE9iamVjdCk7XG4gIH1cbn1cbiJdfQ==
|