@ebuilding/biz-comm 3.3.2 → 3.3.4

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.
@@ -38,6 +38,16 @@ export declare class GramDeonFilterComponent implements OnInit, OnChanges {
38
38
  operationChange(e: any, item: any): void;
39
39
  refDataChange(e: any, item: any): void;
40
40
  initValueConfig(item: any, tableName: any): void;
41
+ /** 包含/不包含和字段本身配置为多选时,右值按多选集合保存。 */
42
+ isMultipleValue(item: any): boolean;
43
+ /** 人员表、组织表的主键条件使用统一选择框,而不是暴露 ID 文本输入。 */
44
+ valueEditorType(item: any): string;
45
+ itemValuesChange(values: any[], item: any): void;
46
+ private getTableName;
47
+ /**
48
+ * 兼容旧的单值、逗号分隔值,以及新版 JSON 值集合;新版 REF 同时保留名称,刷新后可回显。
49
+ */
50
+ private restoreValue;
41
51
  /** 返回筛选右值来源;模板参数使用结构化表达式保存,运行时仍通过预编译参数绑定。 */
42
52
  valueSourceMode(item: any): 'FIXED' | 'ARGUMENT';
43
53
  /** 切换筛选右值来源时清理上一种来源的值,避免固定值和模板参数相互污染。 */
@@ -1,5 +1,6 @@
1
1
  import { OnInit, AfterViewInit } from '@angular/core';
2
2
  import { NzDrawerRef } from '@ebuilding/base/components/drawer';
3
+ import { FormulaFunctionGroup } from '@ebuilding/base/components/codemirror';
3
4
  import * as i0 from "@angular/core";
4
5
  export declare class FormulaRuleEventComponent implements OnInit, AfterViewInit {
5
6
  drawerRef: NzDrawerRef<any>;
@@ -8,6 +9,7 @@ export declare class FormulaRuleEventComponent implements OnInit, AfterViewInit
8
9
  formulaValue: any;
9
10
  formulaTxt: any;
10
11
  fieldData: any[];
12
+ functionData: FormulaFunctionGroup[];
11
13
  codeMirrorOptions: any;
12
14
  set config(value: any);
13
15
  get config(): any;
@@ -40,7 +40,7 @@ class GramDeonFilterComponent {
40
40
  SpecialFieldData = SpecialField();
41
41
  CompareTypeData = CompareType();
42
42
  CompareConditionsData = CompareConditions().filter((item) => {
43
- return item.value != 'IN' && item.value != 'LIKE' && item.value != 'LEFT_LIKE' && item.value != 'RIGHT_LIKE';
43
+ return item.value != 'LIKE' && item.value != 'LEFT_LIKE' && item.value != 'RIGHT_LIKE';
44
44
  });
45
45
  DateValueModeData = [
46
46
  { value: 'FIXED', label: '固定日期' },
@@ -70,10 +70,12 @@ class GramDeonFilterComponent {
70
70
  });
71
71
  if (arrField && arrField.length > 0) {
72
72
  item['fieldType'] = arrField[0].type;
73
+ item['cellMultiple'] = arrField[0].multiple;
73
74
  this.normalizeDateValue(item);
74
75
  }
75
76
  }
76
77
  this.initValueConfig(item, arrTable[0].name);
78
+ this.restoreValue(item);
77
79
  }
78
80
  });
79
81
  }
@@ -156,12 +158,16 @@ class GramDeonFilterComponent {
156
158
  item['fieldType'] = null;
157
159
  item['cellValue'] = null;
158
160
  item['cellMultiple'] = null;
161
+ item['cellValueInfo'] = null;
162
+ item['cellValues'] = null;
159
163
  }
160
164
  fieldChange(e, item) {
161
165
  item['fieldType'] = null;
162
166
  item['cellValue'] = null;
163
167
  item['cellMultiple'] = null;
164
168
  item['cellValueConfig'] = null;
169
+ item['cellValueInfo'] = null;
170
+ item['cellValues'] = null;
165
171
  if (item.cellTable && item.cellField) {
166
172
  this.tableData.forEach((t) => {
167
173
  if (t.code == item.cellTable) {
@@ -171,6 +177,7 @@ class GramDeonFilterComponent {
171
177
  item.cellMultiple = f.multiple;
172
178
  this.normalizeDateValue(item);
173
179
  this.initValueConfig(item, t.name);
180
+ this.restoreValue(item);
174
181
  }
175
182
  });
176
183
  }
@@ -184,23 +191,34 @@ class GramDeonFilterComponent {
184
191
  item['parameterTable'] = null;
185
192
  item['parameterField'] = null;
186
193
  item['cellValue'] = null;
194
+ item['cellValueInfo'] = null;
195
+ item['cellValues'] = null;
196
+ return;
187
197
  }
198
+ this.initValueConfig(item, this.getTableName(item.cellTable));
199
+ this.restoreValue(item);
188
200
  }
189
201
  refDataChange(e, item) {
190
- if (e && e.id) {
191
- item['cellValue'] = e.id;
192
- item['cellValueInfo'] = e;
193
- }
194
- else {
202
+ const values = (Array.isArray(e) ? e : [e]).filter((value) => value && value.id);
203
+ if (!values.length) {
195
204
  item['cellValue'] = null;
196
205
  item['cellValueInfo'] = null;
206
+ return;
207
+ }
208
+ if (this.isMultipleValue(item)) {
209
+ item['cellValueInfo'] = values;
210
+ item['cellValue'] = JSON.stringify(values.map((value) => ({ id: value.id, name: value.name })));
211
+ }
212
+ else {
213
+ item['cellValue'] = values[0].id;
214
+ item['cellValueInfo'] = values[0];
197
215
  }
198
216
  }
199
217
  initValueConfig(item, tableName) {
200
218
  item.cellValueConfig = {
201
219
  type: 'ref2',
202
220
  label: tableName,
203
- selectType: 'single',
221
+ selectType: this.isMultipleValue(item) ? 'multiple' : 'single',
204
222
  isRowData: true,
205
223
  parameter: {
206
224
  tableCode: item.cellTable,
@@ -208,6 +226,58 @@ class GramDeonFilterComponent {
208
226
  },
209
227
  };
210
228
  }
229
+ /** 包含/不包含和字段本身配置为多选时,右值按多选集合保存。 */
230
+ isMultipleValue(item) {
231
+ return item?.cellMultiple === true || item?.cellOperation === 'IN' || item?.cellOperation === 'NOT_IN';
232
+ }
233
+ /** 人员表、组织表的主键条件使用统一选择框,而不是暴露 ID 文本输入。 */
234
+ valueEditorType(item) {
235
+ if (item?.cellField === 'id' && ['p_employee', 'p_org'].includes(String(item?.cellTable || '').toLowerCase())) {
236
+ return 'REF';
237
+ }
238
+ return item?.fieldType;
239
+ }
240
+ itemValuesChange(values, item) {
241
+ const list = Array.isArray(values) ? values.filter((value) => value !== null && value !== undefined) : [];
242
+ item.cellValues = list;
243
+ item.cellValue = list.length ? JSON.stringify(list) : null;
244
+ }
245
+ getTableName(tableCode) {
246
+ return this.tableData.find((table) => table.code === tableCode)?.name || '';
247
+ }
248
+ /**
249
+ * 兼容旧的单值、逗号分隔值,以及新版 JSON 值集合;新版 REF 同时保留名称,刷新后可回显。
250
+ */
251
+ restoreValue(item) {
252
+ if (item?.cellValue == null || item.cellValue === '') {
253
+ return;
254
+ }
255
+ const multiple = this.isMultipleValue(item);
256
+ let parsed = item.cellValue;
257
+ try {
258
+ parsed = JSON.parse(item.cellValue);
259
+ }
260
+ catch {
261
+ parsed = item.cellValue;
262
+ }
263
+ const values = Array.isArray(parsed)
264
+ ? parsed
265
+ : multiple
266
+ ? String(parsed).split(',').map((value) => value.trim()).filter(Boolean)
267
+ : [parsed];
268
+ if (this.valueEditorType(item) === 'REF') {
269
+ const references = values.map((value) => {
270
+ if (value && typeof value === 'object') {
271
+ return { id: value.id ?? value.code ?? value.value, name: value.name ?? value.id ?? value.code ?? value.value };
272
+ }
273
+ return { id: value, name: value };
274
+ }).filter((value) => value.id);
275
+ item.cellValueInfo = multiple ? references : references[0] || null;
276
+ }
277
+ if (item.fieldType === 'ITEM' && multiple) {
278
+ item.cellValues = values.map((value) => value?.code ?? value?.value ?? value).filter(Boolean);
279
+ }
280
+ }
211
281
  /** 返回筛选右值来源;模板参数使用结构化表达式保存,运行时仍通过预编译参数绑定。 */
212
282
  valueSourceMode(item) {
213
283
  return /^\$\{(?:argument|arg)\.[A-Za-z][A-Za-z0-9_]{0,63}}$/.test(String(item?.cellValue || '').trim())
@@ -291,7 +361,7 @@ class GramDeonFilterComponent {
291
361
  return Number.isNaN(date.getTime()) ? null : date;
292
362
  }
293
363
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: GramDeonFilterComponent, deps: [{ token: i1._HttpClient }], target: i0.ɵɵFactoryTarget.Component });
294
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: GramDeonFilterComponent, isStandalone: true, selector: "gram-filter", inputs: { title: "title", data: "data" }, outputs: { dataChange: "dataChange" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"header-box\">\r\n {{title}}\r\n <a (click)=\"addCondition()\">\r\n <i nz-icon nzType=\"plus-circle\"></i>\r\n \u65B0\u589E\r\n </a>\r\n</div>\r\n<div class=\"body-box\">\r\n <ng-container *ngIf=\"filterData!! && filterData.length>0;else tmpEmpty\">\r\n <ng-container *ngFor=\"let item of filterData;let i=index\">\r\n <ul>\r\n <li class=\"leftBracket\">\r\n <nz-select [(ngModel)]=\"item.leftBracket\" nzAllowClear>\r\n <ng-container *ngFor=\"let option of BracketTypeData\">\r\n <nz-option [nzValue]=\"option.value\" [nzLabel]=\"option.label\"></nz-option>\r\n </ng-container>\r\n </nz-select>\r\n </li>\r\n <li class=\"leftBracket\">\r\n <nz-select [(ngModel)]=\"item.leftBracket2\" nzAllowClear>\r\n <ng-container *ngFor=\"let option of BracketTypeData\">\r\n <nz-option [nzValue]=\"option.value\" [nzLabel]=\"option.label\"></nz-option>\r\n </ng-container>\r\n </nz-select>\r\n </li>\r\n <li class=\"cellOperation\">\r\n <nz-select [(ngModel)]=\"item.cellOperation\" nzAllowClear (ngModelChange)=\"operationChange($event,item)\">\r\n <ng-container *ngFor=\"let option of CompareConditionsData\">\r\n <nz-option [nzValue]=\"option.value\" [nzLabel]=\"option.label\"></nz-option>\r\n </ng-container>\r\n </nz-select>\r\n </li>\r\n <li *ngIf=\"item?.cellOperation!='SQL_RULES'\" class=\"conditionTable\">\r\n <nz-select [(ngModel)]=\"item.cellTable\" nzAllowClear (ngModelChange)=\"tableChange($event,item)\">\r\n <ng-container *ngFor=\"let option of tableData\">\r\n <nz-option [nzValue]=\"option.code\" [nzLabel]=\"option.name\"></nz-option>\r\n </ng-container>\r\n </nz-select>\r\n </li>\r\n\r\n <li *ngIf=\"item?.cellOperation!='SQL_RULES'\" class=\"conditionField\">\r\n <nz-select [(ngModel)]=\"item.cellField\" nzAllowClear (ngModelChange)=\"fieldChange($event,item)\">\r\n <ng-container *ngFor=\"let option of getFieldData(item.cellTable)\">\r\n <nz-option [nzValue]=\"option.code\" [nzLabel]=\"option.name\"></nz-option>\r\n </ng-container>\r\n </nz-select>\r\n </li>\r\n <li *ngIf=\"item?.cellOperation!='SQL_RULES'\">\r\n <ng-container *ngIf=\"item.cellTable!! && item.cellField!! && item.fieldType!!\">\r\n <div class=\"cellValue\" [class.date-cell-value]=\"isDateField(item.fieldType)\">\n <nz-select\n *ngIf=\"argumentData.length\"\n class=\"value-source-select\"\n [ngModel]=\"valueSourceMode(item)\"\n (ngModelChange)=\"valueSourceModeChange($event, item)\"\n >\n <nz-option nzValue=\"FIXED\" nzLabel=\"\u56FA\u5B9A\u503C\"></nz-option>\n <nz-option nzValue=\"ARGUMENT\" nzLabel=\"\u6A21\u677F\u53C2\u6570\"></nz-option>\n </nz-select>\n <nz-select\n *ngIf=\"argumentData.length && valueSourceMode(item) === 'ARGUMENT'\"\n [ngModel]=\"argumentCode(item)\"\n (ngModelChange)=\"argumentChange($event, item)\"\n nzPlaceHolder=\"\u8BF7\u9009\u62E9\u6A21\u677F\u53C2\u6570\"\n >\n <nz-option\n *ngFor=\"let argument of argumentData\"\n [nzValue]=\"argument.argumentCode\"\n [nzLabel]=\"argument.argumentName\"\n ></nz-option>\n </nz-select>\n <ng-container *ngIf=\"valueSourceMode(item) === 'FIXED'\">\n <ng-container [ngSwitch]=\"item.fieldType\">\n <ng-container *ngSwitchCase=\"'BOOLEAN'\">\r\n <nz-select [(ngModel)]=\"item.cellValue\">\r\n <nz-option nzValue=\"0\" nzLabel=\"\u5426\"></nz-option>\r\n <nz-option nzValue=\"1\" nzLabel=\"\u662F\"></nz-option>\r\n </nz-select>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'DATETIME'\">\n <ng-container *ngTemplateOutlet=\"dateValueEditor; context: { $implicit: item }\"></ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'DATE'\">\n <ng-container *ngTemplateOutlet=\"dateValueEditor; context: { $implicit: item }\"></ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'INT'\">\r\n <nz-input-number [(ngModel)]=\"item.cellValue\" [nzStep]=\"1\" [nzPrecision]=\"0\"></nz-input-number>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'FLOAT'\">\r\n <nz-input-number [(ngModel)]=\"item.cellValue\" [nzStep]=\"1\" [nzPrecision]=\"2\"></nz-input-number>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'ITEM'\">\r\n <ng-container *ngIf=\"item?.cellMultiple==true;else tmp1\">\u6682\u4E0D\u652F\u6301\u591A\u9009</ng-container>\r\n <ng-template #tmp1>\r\n <nz-select [(ngModel)]=\"item.cellValue\" nzAllowClear>\r\n <ng-container *ngFor=\"let option of getItemData(item.cellTable,item.cellField)\">\r\n <nz-option [nzValue]=\"option.code\" [nzLabel]=\"option.name\"></nz-option>\r\n </ng-container>\r\n </nz-select>\r\n </ng-template>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'REF'\">\r\n <ng-container *ngIf=\"item?.cellMultiple==true;else tmp2\">\u6682\u4E0D\u652F\u6301\u591A\u9009</ng-container>\r\n <ng-template #tmp2>\r\n <gram-lookup\r\n [config]=\"item.cellValueConfig\"\r\n [data]=\"item.cellValueInfo\"\r\n (valueChange)=\"refDataChange($event,item)\"\r\n ></gram-lookup>\r\n </ng-template>\r\n </ng-container>\r\n <ng-container *ngSwitchDefault>\r\n <input nz-input [(ngModel)]=\"item.cellValue\" />\r\n </ng-container>\n </ng-container>\n </ng-container>\n </div>\n </ng-container>\r\n </li>\r\n <li *ngIf=\"item?.cellOperation=='SQL_RULES' \">\r\n <div class=\"cellValue\">\r\n <input nz-input [(ngModel)]=\"item.cellValue\" />\r\n </div>\r\n </li>\r\n <li class=\"rightBracket\">\r\n <nz-select [(ngModel)]=\"item.rightBracket\" nzAllowClear>\r\n <ng-container *ngFor=\"let option of BracketTypeData\">\r\n <nz-option [nzValue]=\"option.value\" [nzLabel]=\"option.label\"></nz-option>\r\n </ng-container>\r\n </nz-select>\r\n </li>\r\n <li class=\"rightBracket\">\r\n <nz-select [(ngModel)]=\"item.rightBracket2\" nzAllowClear>\r\n <ng-container *ngFor=\"let option of BracketTypeData\">\r\n <nz-option [nzValue]=\"option.value\" [nzLabel]=\"option.label\"></nz-option>\r\n </ng-container>\r\n </nz-select>\r\n </li>\r\n <li class=\"cellFunction\">\r\n <nz-select [(ngModel)]=\"item.cellFunction\" nzAllowClear>\r\n <ng-container *ngFor=\"let option of FilterTypeData\">\r\n <nz-option [nzValue]=\"option.value\" [nzLabel]=\"option.label\"></nz-option>\r\n </ng-container>\r\n </nz-select>\r\n </li>\r\n <div class=\"btnDel\">\r\n <a (click)=\"delCondition(i)\">\r\n <i nz-icon nzType=\"delete\"></i>\r\n </a>\r\n </div>\r\n </ul>\r\n </ng-container>\r\n </ng-container>\r\n</div>\n\n<ng-template #dateValueEditor let-dateItem>\n <ng-container\n *ngIf=\"dateItem?.cellOperation!='DATE_YEAR'\n && dateItem?.cellOperation!='DATE_MONTH'\n && dateItem?.cellOperation!='DATE_WEEK'\n && dateItem?.cellOperation!='DATE_QUARTER'\"\n >\n <div class=\"date-value-editor\" [class.dynamic-value]=\"dateValueMode(dateItem.cellValue) !== 'FIXED'\">\n <nz-select\n [ngModel]=\"dateValueMode(dateItem.cellValue)\"\n (ngModelChange)=\"dateValueModeChange($event, dateItem)\"\n nzPlaceHolder=\"\u65E5\u671F\u6765\u6E90\"\n >\n <nz-option\n *ngFor=\"let option of DateValueModeData\"\n [nzValue]=\"option.value\"\n [nzLabel]=\"option.label\"\n ></nz-option>\n </nz-select>\n <nz-date-picker\n *ngIf=\"dateValueMode(dateItem.cellValue) === 'FIXED'\"\n [(ngModel)]=\"dateItem.cellValue\"\n [nzShowTime]=\"dateItem.fieldType === 'DATETIME'\"\n [nzFormat]=\"dateItem.fieldType === 'DATETIME' ? 'yyyy-MM-dd HH:mm:ss' : 'yyyy-MM-dd'\"\n nzPlacement=\"bottomLeft\"\n nzPlaceHolder=\"\u8BF7\u9009\u62E9\u65E5\u671F\"\n [nzAllowClear]=\"true\"\n ></nz-date-picker>\n </div>\n </ng-container>\n</ng-template>\n\n<ng-template #tmpEmpty>\n <div class=\"empty\">\r\n <div class=\"image\"><img src=\"assets/images/default/empty2.png\" /></div>\r\n </div>\r\n</ng-template>\r\n", styles: [":host ::ng-deep{display:flex;flex-direction:column;font-size:12px;border:1px solid #eaeaea;border-radius:4px}:host ::ng-deep .header-box{display:flex;align-items:center;padding:8px 10px;background:#edeff3;border-bottom:1px solid #eaeaea}:host ::ng-deep .header-box i{margin-left:15px}:host ::ng-deep .body-box{display:block;width:100%;padding:15px 0 0;overflow-x:auto}:host ::ng-deep .body-box ul{position:relative;display:flex;align-items:flex-start;width:max-content;min-width:100%;margin:0;padding:0 10px 10px}:host ::ng-deep .body-box ul li{display:flex;flex-direction:column;padding:0 10px 0 0}:host ::ng-deep .body-box .btnAdd{padding:8px 10px;border-top:1px solid #eaeaea}:host ::ng-deep .body-box .leftBracket,:host ::ng-deep .body-box .rightBracket{width:60px}:host ::ng-deep .body-box .cellOperation{width:140px}:host ::ng-deep .body-box .conditionTable,:host ::ng-deep .body-box .conditionField{width:200px}:host ::ng-deep .body-box .cellValue{width:190px}:host ::ng-deep .body-box .cellValue nz-select,:host ::ng-deep .body-box .cellValue nz-input-number,:host ::ng-deep .body-box .cellValue nz-date-picker,:host ::ng-deep .body-box .cellValue .ant-input,:host ::ng-deep .body-box .cellValue .ant-input-number,:host ::ng-deep .body-box .cellValue .ant-picker{width:100%}:host ::ng-deep .body-box .value-source-select{margin-bottom:6px}:host ::ng-deep .body-box .date-cell-value{width:330px}:host ::ng-deep .body-box .date-value-editor{display:grid;grid-template-columns:112px minmax(200px,1fr);gap:8px;align-items:center;width:100%}:host ::ng-deep .body-box .date-value-editor.dynamic-value{grid-template-columns:minmax(180px,1fr)}:host ::ng-deep .body-box .date-value-editor nz-select,:host ::ng-deep .body-box .date-value-editor nz-date-picker,:host ::ng-deep .body-box .date-value-editor .ant-select,:host ::ng-deep .body-box .date-value-editor .ant-picker{width:100%}:host ::ng-deep .body-box .cellFunction{width:80px}:host ::ng-deep .between{margin:0 5px}:host ::ng-deep .empty{display:flex;padding:0 0 15px}:host ::ng-deep .empty .image{margin:auto}:host ::ng-deep .empty img{width:80px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i2.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: NzSelectModule }, { kind: "component", type: i4.NzOptionComponent, selector: "nz-option", inputs: ["nzTitle", "nzLabel", "nzValue", "nzKey", "nzDisabled", "nzHide", "nzCustomContent"], exportAs: ["nzOption"] }, { kind: "component", type: i4.NzSelectComponent, selector: "nz-select", inputs: ["nzId", "nzSize", "nzStatus", "nzOptionHeightPx", "nzOptionOverflowSize", "nzDropdownClassName", "nzDropdownMatchSelectWidth", "nzDropdownStyle", "nzNotFoundContent", "nzPlaceHolder", "nzPlacement", "nzMaxTagCount", "nzDropdownRender", "nzCustomTemplate", "nzSuffixIcon", "nzClearIcon", "nzRemoveIcon", "nzMenuItemSelectedIcon", "nzTokenSeparators", "nzMaxTagPlaceholder", "nzMaxMultipleCount", "nzMode", "nzFilterOption", "compareWith", "nzAllowClear", "nzBorderless", "nzShowSearch", "nzLoading", "nzAutoFocus", "nzAutoClearSearchValue", "nzServerSearch", "nzDisabled", "nzOpen", "nzSelectOnTab", "nzBackdrop", "nzOptions", "nzShowArrow"], outputs: ["nzOnSearch", "nzScrollToBottom", "nzOpenChange", "nzBlur", "nzFocus"], exportAs: ["nzSelect"] }, { kind: "ngmodule", type: NzInputModule }, { kind: "directive", type: i5.NzInputDirective, selector: "input[nz-input],textarea[nz-input]", inputs: ["nzBorderless", "nzSize", "nzStepperless", "nzStatus", "disabled"], exportAs: ["nzInput"] }, { kind: "ngmodule", type: NzInputNumberModule }, { kind: "component", type: i6.NzInputNumberComponent, selector: "nz-input-number", inputs: ["nzId", "nzSize", "nzPlaceHolder", "nzStatus", "nzStep", "nzMin", "nzMax", "nzPrecision", "nzParser", "nzFormatter", "nzDisabled", "nzReadOnly", "nzAutoFocus", "nzBordered", "nzKeyboard", "nzControls"], outputs: ["nzBlur", "nzFocus", "nzOnStep"], exportAs: ["nzInputNumber"] }, { kind: "ngmodule", type: NzButtonModule }, { kind: "directive", type: i7.ɵNzTransitionPatchDirective, selector: "[nz-button], nz-button-group, [nz-icon], nz-icon, [nz-menu-item], [nz-submenu], nz-select-top-control, nz-select-placeholder, nz-input-group", inputs: ["hidden"] }, { kind: "ngmodule", type: NzDatePickerModule }, { kind: "component", type: i8.NzDatePickerComponent, selector: "nz-date-picker,nz-week-picker,nz-month-picker,nz-quarter-picker,nz-year-picker,nz-range-picker", inputs: ["nzAllowClear", "nzAutoFocus", "nzDisabled", "nzBorderless", "nzInputReadOnly", "nzInline", "nzOpen", "nzDisabledDate", "nzLocale", "nzPlaceHolder", "nzPopupStyle", "nzDropdownClassName", "nzSize", "nzStatus", "nzFormat", "nzDateRender", "nzDisabledTime", "nzRenderExtraFooter", "nzShowToday", "nzMode", "nzShowNow", "nzRanges", "nzDefaultPickerValue", "nzSeparator", "nzSuffixIcon", "nzBackdrop", "nzId", "nzPlacement", "nzShowWeekNumber", "nzShowTime"], outputs: ["nzOnPanelChange", "nzOnCalendarChange", "nzOnOk", "nzOnOpenChange"], exportAs: ["nzDatePicker"] }, { kind: "ngmodule", type: NzIconModule }, { kind: "directive", type: i9.NzIconDirective, selector: "nz-icon,[nz-icon]", inputs: ["nzSpin", "nzRotate", "nzType", "nzTheme", "nzTwotoneColor", "nzIconfont"], exportAs: ["nzIcon"] }, { kind: "ngmodule", type: GramDeonLookUpModule }, { kind: "component", type: i10.GramDeonLookUpComponent, selector: "gram-lookup", inputs: ["placeholder", "config", "data", "noSave"], outputs: ["valueChange"] }] });
364
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: GramDeonFilterComponent, isStandalone: true, selector: "gram-filter", inputs: { title: "title", data: "data" }, outputs: { dataChange: "dataChange" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"header-box\">\r\n {{title}}\r\n <a (click)=\"addCondition()\">\r\n <i nz-icon nzType=\"plus-circle\"></i>\r\n \u65B0\u589E\r\n </a>\r\n</div>\r\n<div class=\"body-box\">\r\n <ng-container *ngIf=\"filterData!! && filterData.length>0;else tmpEmpty\">\r\n <ng-container *ngFor=\"let item of filterData;let i=index\">\r\n <ul>\r\n <li class=\"leftBracket\">\r\n <nz-select [(ngModel)]=\"item.leftBracket\" nzAllowClear>\r\n <ng-container *ngFor=\"let option of BracketTypeData\">\r\n <nz-option [nzValue]=\"option.value\" [nzLabel]=\"option.label\"></nz-option>\r\n </ng-container>\r\n </nz-select>\r\n </li>\r\n <li class=\"leftBracket\">\r\n <nz-select [(ngModel)]=\"item.leftBracket2\" nzAllowClear>\r\n <ng-container *ngFor=\"let option of BracketTypeData\">\r\n <nz-option [nzValue]=\"option.value\" [nzLabel]=\"option.label\"></nz-option>\r\n </ng-container>\r\n </nz-select>\r\n </li>\r\n <li class=\"cellOperation\">\r\n <nz-select [(ngModel)]=\"item.cellOperation\" nzAllowClear (ngModelChange)=\"operationChange($event,item)\">\r\n <ng-container *ngFor=\"let option of CompareConditionsData\">\r\n <nz-option [nzValue]=\"option.value\" [nzLabel]=\"option.label\"></nz-option>\r\n </ng-container>\r\n </nz-select>\r\n </li>\r\n <li *ngIf=\"item?.cellOperation!='SQL_RULES'\" class=\"conditionTable\">\r\n <nz-select [(ngModel)]=\"item.cellTable\" nzAllowClear (ngModelChange)=\"tableChange($event,item)\">\r\n <ng-container *ngFor=\"let option of tableData\">\r\n <nz-option [nzValue]=\"option.code\" [nzLabel]=\"option.name\"></nz-option>\r\n </ng-container>\r\n </nz-select>\r\n </li>\r\n\r\n <li *ngIf=\"item?.cellOperation!='SQL_RULES'\" class=\"conditionField\">\r\n <nz-select [(ngModel)]=\"item.cellField\" nzAllowClear (ngModelChange)=\"fieldChange($event,item)\">\r\n <ng-container *ngFor=\"let option of getFieldData(item.cellTable)\">\r\n <nz-option [nzValue]=\"option.code\" [nzLabel]=\"option.name\"></nz-option>\r\n </ng-container>\r\n </nz-select>\r\n </li>\r\n <li *ngIf=\"item?.cellOperation!='SQL_RULES'\">\r\n <ng-container *ngIf=\"item.cellTable!! && item.cellField!! && item.fieldType!!\">\r\n <div class=\"cellValue\" [class.date-cell-value]=\"isDateField(item.fieldType)\">\n <nz-select\n *ngIf=\"argumentData.length\"\n class=\"value-source-select\"\n [ngModel]=\"valueSourceMode(item)\"\n (ngModelChange)=\"valueSourceModeChange($event, item)\"\n >\n <nz-option nzValue=\"FIXED\" nzLabel=\"\u56FA\u5B9A\u503C\"></nz-option>\n <nz-option nzValue=\"ARGUMENT\" nzLabel=\"\u6A21\u677F\u53C2\u6570\"></nz-option>\n </nz-select>\n <nz-select\n *ngIf=\"argumentData.length && valueSourceMode(item) === 'ARGUMENT'\"\n [ngModel]=\"argumentCode(item)\"\n (ngModelChange)=\"argumentChange($event, item)\"\n nzPlaceHolder=\"\u8BF7\u9009\u62E9\u6A21\u677F\u53C2\u6570\"\n >\n <nz-option\n *ngFor=\"let argument of argumentData\"\n [nzValue]=\"argument.argumentCode\"\n [nzLabel]=\"argument.argumentName\"\n ></nz-option>\n </nz-select>\n <ng-container *ngIf=\"valueSourceMode(item) === 'FIXED'\">\n <ng-container [ngSwitch]=\"valueEditorType(item)\">\n <ng-container *ngSwitchCase=\"'BOOLEAN'\">\r\n <nz-select [(ngModel)]=\"item.cellValue\">\r\n <nz-option nzValue=\"0\" nzLabel=\"\u5426\"></nz-option>\r\n <nz-option nzValue=\"1\" nzLabel=\"\u662F\"></nz-option>\r\n </nz-select>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'DATETIME'\">\n <ng-container *ngTemplateOutlet=\"dateValueEditor; context: { $implicit: item }\"></ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'DATE'\">\n <ng-container *ngTemplateOutlet=\"dateValueEditor; context: { $implicit: item }\"></ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'INT'\">\r\n <nz-input-number [(ngModel)]=\"item.cellValue\" [nzStep]=\"1\" [nzPrecision]=\"0\"></nz-input-number>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'FLOAT'\">\r\n <nz-input-number [(ngModel)]=\"item.cellValue\" [nzStep]=\"1\" [nzPrecision]=\"2\"></nz-input-number>\r\n </ng-container>\n <ng-container *ngSwitchCase=\"'ITEM'\">\n <nz-select\n *ngIf=\"isMultipleValue(item); else singleItem\"\n [ngModel]=\"item.cellValues\"\n (ngModelChange)=\"itemValuesChange($event, item)\"\n nzMode=\"multiple\"\n nzAllowClear\n >\n <ng-container *ngFor=\"let option of getItemData(item.cellTable,item.cellField)\">\n <nz-option [nzValue]=\"option.code\" [nzLabel]=\"option.name\"></nz-option>\n </ng-container>\n </nz-select>\n <ng-template #singleItem>\n <nz-select [(ngModel)]=\"item.cellValue\" nzAllowClear>\n <ng-container *ngFor=\"let option of getItemData(item.cellTable,item.cellField)\">\n <nz-option [nzValue]=\"option.code\" [nzLabel]=\"option.name\"></nz-option>\n </ng-container>\n </nz-select>\n </ng-template>\n </ng-container>\n <ng-container *ngSwitchCase=\"'REF'\">\n <gram-lookup\n [config]=\"item.cellValueConfig\"\n [data]=\"item.cellValueInfo\"\n (valueChange)=\"refDataChange($event,item)\"\n ></gram-lookup>\n </ng-container>\r\n <ng-container *ngSwitchDefault>\r\n <input nz-input [(ngModel)]=\"item.cellValue\" />\r\n </ng-container>\n </ng-container>\n </ng-container>\n </div>\n </ng-container>\r\n </li>\r\n <li *ngIf=\"item?.cellOperation=='SQL_RULES' \">\r\n <div class=\"cellValue\">\r\n <input nz-input [(ngModel)]=\"item.cellValue\" />\r\n </div>\r\n </li>\r\n <li class=\"rightBracket\">\r\n <nz-select [(ngModel)]=\"item.rightBracket\" nzAllowClear>\r\n <ng-container *ngFor=\"let option of BracketTypeData\">\r\n <nz-option [nzValue]=\"option.value\" [nzLabel]=\"option.label\"></nz-option>\r\n </ng-container>\r\n </nz-select>\r\n </li>\r\n <li class=\"rightBracket\">\r\n <nz-select [(ngModel)]=\"item.rightBracket2\" nzAllowClear>\r\n <ng-container *ngFor=\"let option of BracketTypeData\">\r\n <nz-option [nzValue]=\"option.value\" [nzLabel]=\"option.label\"></nz-option>\r\n </ng-container>\r\n </nz-select>\r\n </li>\r\n <li class=\"cellFunction\">\r\n <nz-select [(ngModel)]=\"item.cellFunction\" nzAllowClear>\r\n <ng-container *ngFor=\"let option of FilterTypeData\">\r\n <nz-option [nzValue]=\"option.value\" [nzLabel]=\"option.label\"></nz-option>\r\n </ng-container>\r\n </nz-select>\r\n </li>\r\n <div class=\"btnDel\">\r\n <a (click)=\"delCondition(i)\">\r\n <i nz-icon nzType=\"delete\"></i>\r\n </a>\r\n </div>\r\n </ul>\r\n </ng-container>\r\n </ng-container>\r\n</div>\n\n<ng-template #dateValueEditor let-dateItem>\n <ng-container\n *ngIf=\"dateItem?.cellOperation!='DATE_YEAR'\n && dateItem?.cellOperation!='DATE_MONTH'\n && dateItem?.cellOperation!='DATE_WEEK'\n && dateItem?.cellOperation!='DATE_QUARTER'\"\n >\n <div class=\"date-value-editor\" [class.dynamic-value]=\"dateValueMode(dateItem.cellValue) !== 'FIXED'\">\n <nz-select\n [ngModel]=\"dateValueMode(dateItem.cellValue)\"\n (ngModelChange)=\"dateValueModeChange($event, dateItem)\"\n nzPlaceHolder=\"\u65E5\u671F\u6765\u6E90\"\n >\n <nz-option\n *ngFor=\"let option of DateValueModeData\"\n [nzValue]=\"option.value\"\n [nzLabel]=\"option.label\"\n ></nz-option>\n </nz-select>\n <nz-date-picker\n *ngIf=\"dateValueMode(dateItem.cellValue) === 'FIXED'\"\n [(ngModel)]=\"dateItem.cellValue\"\n [nzShowTime]=\"dateItem.fieldType === 'DATETIME'\"\n [nzFormat]=\"dateItem.fieldType === 'DATETIME' ? 'yyyy-MM-dd HH:mm:ss' : 'yyyy-MM-dd'\"\n nzPlacement=\"bottomLeft\"\n nzPlaceHolder=\"\u8BF7\u9009\u62E9\u65E5\u671F\"\n [nzAllowClear]=\"true\"\n ></nz-date-picker>\n </div>\n </ng-container>\n</ng-template>\n\n<ng-template #tmpEmpty>\n <div class=\"empty\">\r\n <div class=\"image\"><img src=\"assets/images/default/empty2.png\" /></div>\r\n </div>\r\n</ng-template>\r\n", styles: [":host ::ng-deep{display:flex;flex-direction:column;font-size:12px;border:1px solid #eaeaea;border-radius:4px}:host ::ng-deep .header-box{display:flex;align-items:center;padding:8px 10px;background:#edeff3;border-bottom:1px solid #eaeaea}:host ::ng-deep .header-box i{margin-left:15px}:host ::ng-deep .body-box{display:block;width:100%;padding:15px 0 0;overflow-x:auto}:host ::ng-deep .body-box ul{position:relative;display:flex;align-items:flex-start;width:max-content;min-width:100%;margin:0;padding:0 10px 10px}:host ::ng-deep .body-box ul li{display:flex;flex-direction:column;padding:0 10px 0 0}:host ::ng-deep .body-box .btnAdd{padding:8px 10px;border-top:1px solid #eaeaea}:host ::ng-deep .body-box .leftBracket,:host ::ng-deep .body-box .rightBracket{width:60px}:host ::ng-deep .body-box .cellOperation{width:140px}:host ::ng-deep .body-box .conditionTable,:host ::ng-deep .body-box .conditionField{width:200px}:host ::ng-deep .body-box .cellValue{width:190px}:host ::ng-deep .body-box .cellValue nz-select,:host ::ng-deep .body-box .cellValue nz-input-number,:host ::ng-deep .body-box .cellValue nz-date-picker,:host ::ng-deep .body-box .cellValue .ant-input,:host ::ng-deep .body-box .cellValue .ant-input-number,:host ::ng-deep .body-box .cellValue .ant-picker{width:100%}:host ::ng-deep .body-box .value-source-select{margin-bottom:6px}:host ::ng-deep .body-box .date-cell-value{width:330px}:host ::ng-deep .body-box .date-value-editor{display:grid;grid-template-columns:112px minmax(200px,1fr);gap:8px;align-items:center;width:100%}:host ::ng-deep .body-box .date-value-editor.dynamic-value{grid-template-columns:minmax(180px,1fr)}:host ::ng-deep .body-box .date-value-editor nz-select,:host ::ng-deep .body-box .date-value-editor nz-date-picker,:host ::ng-deep .body-box .date-value-editor .ant-select,:host ::ng-deep .body-box .date-value-editor .ant-picker{width:100%}:host ::ng-deep .body-box .cellFunction{width:80px}:host ::ng-deep .between{margin:0 5px}:host ::ng-deep .empty{display:flex;padding:0 0 15px}:host ::ng-deep .empty .image{margin:auto}:host ::ng-deep .empty img{width:80px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i2.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: NzSelectModule }, { kind: "component", type: i4.NzOptionComponent, selector: "nz-option", inputs: ["nzTitle", "nzLabel", "nzValue", "nzKey", "nzDisabled", "nzHide", "nzCustomContent"], exportAs: ["nzOption"] }, { kind: "component", type: i4.NzSelectComponent, selector: "nz-select", inputs: ["nzId", "nzSize", "nzStatus", "nzOptionHeightPx", "nzOptionOverflowSize", "nzDropdownClassName", "nzDropdownMatchSelectWidth", "nzDropdownStyle", "nzNotFoundContent", "nzPlaceHolder", "nzPlacement", "nzMaxTagCount", "nzDropdownRender", "nzCustomTemplate", "nzSuffixIcon", "nzClearIcon", "nzRemoveIcon", "nzMenuItemSelectedIcon", "nzTokenSeparators", "nzMaxTagPlaceholder", "nzMaxMultipleCount", "nzMode", "nzFilterOption", "compareWith", "nzAllowClear", "nzBorderless", "nzShowSearch", "nzLoading", "nzAutoFocus", "nzAutoClearSearchValue", "nzServerSearch", "nzDisabled", "nzOpen", "nzSelectOnTab", "nzBackdrop", "nzOptions", "nzShowArrow"], outputs: ["nzOnSearch", "nzScrollToBottom", "nzOpenChange", "nzBlur", "nzFocus"], exportAs: ["nzSelect"] }, { kind: "ngmodule", type: NzInputModule }, { kind: "directive", type: i5.NzInputDirective, selector: "input[nz-input],textarea[nz-input]", inputs: ["nzBorderless", "nzSize", "nzStepperless", "nzStatus", "disabled"], exportAs: ["nzInput"] }, { kind: "ngmodule", type: NzInputNumberModule }, { kind: "component", type: i6.NzInputNumberComponent, selector: "nz-input-number", inputs: ["nzId", "nzSize", "nzPlaceHolder", "nzStatus", "nzStep", "nzMin", "nzMax", "nzPrecision", "nzParser", "nzFormatter", "nzDisabled", "nzReadOnly", "nzAutoFocus", "nzBordered", "nzKeyboard", "nzControls"], outputs: ["nzBlur", "nzFocus", "nzOnStep"], exportAs: ["nzInputNumber"] }, { kind: "ngmodule", type: NzButtonModule }, { kind: "directive", type: i7.ɵNzTransitionPatchDirective, selector: "[nz-button], nz-button-group, [nz-icon], nz-icon, [nz-menu-item], [nz-submenu], nz-select-top-control, nz-select-placeholder, nz-input-group", inputs: ["hidden"] }, { kind: "ngmodule", type: NzDatePickerModule }, { kind: "component", type: i8.NzDatePickerComponent, selector: "nz-date-picker,nz-week-picker,nz-month-picker,nz-quarter-picker,nz-year-picker,nz-range-picker", inputs: ["nzAllowClear", "nzAutoFocus", "nzDisabled", "nzBorderless", "nzInputReadOnly", "nzInline", "nzOpen", "nzDisabledDate", "nzLocale", "nzPlaceHolder", "nzPopupStyle", "nzDropdownClassName", "nzSize", "nzStatus", "nzFormat", "nzDateRender", "nzDisabledTime", "nzRenderExtraFooter", "nzShowToday", "nzMode", "nzShowNow", "nzRanges", "nzDefaultPickerValue", "nzSeparator", "nzSuffixIcon", "nzBackdrop", "nzId", "nzPlacement", "nzShowWeekNumber", "nzShowTime"], outputs: ["nzOnPanelChange", "nzOnCalendarChange", "nzOnOk", "nzOnOpenChange"], exportAs: ["nzDatePicker"] }, { kind: "ngmodule", type: NzIconModule }, { kind: "directive", type: i9.NzIconDirective, selector: "nz-icon,[nz-icon]", inputs: ["nzSpin", "nzRotate", "nzType", "nzTheme", "nzTwotoneColor", "nzIconfont"], exportAs: ["nzIcon"] }, { kind: "ngmodule", type: GramDeonLookUpModule }, { kind: "component", type: i10.GramDeonLookUpComponent, selector: "gram-lookup", inputs: ["placeholder", "config", "data", "noSave"], outputs: ["valueChange"] }] });
295
365
  }
296
366
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: GramDeonFilterComponent, decorators: [{
297
367
  type: Component,
@@ -306,7 +376,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
306
376
  NzDatePickerModule,
307
377
  NzIconModule,
308
378
  GramDeonLookUpModule
309
- ], template: "<div class=\"header-box\">\r\n {{title}}\r\n <a (click)=\"addCondition()\">\r\n <i nz-icon nzType=\"plus-circle\"></i>\r\n \u65B0\u589E\r\n </a>\r\n</div>\r\n<div class=\"body-box\">\r\n <ng-container *ngIf=\"filterData!! && filterData.length>0;else tmpEmpty\">\r\n <ng-container *ngFor=\"let item of filterData;let i=index\">\r\n <ul>\r\n <li class=\"leftBracket\">\r\n <nz-select [(ngModel)]=\"item.leftBracket\" nzAllowClear>\r\n <ng-container *ngFor=\"let option of BracketTypeData\">\r\n <nz-option [nzValue]=\"option.value\" [nzLabel]=\"option.label\"></nz-option>\r\n </ng-container>\r\n </nz-select>\r\n </li>\r\n <li class=\"leftBracket\">\r\n <nz-select [(ngModel)]=\"item.leftBracket2\" nzAllowClear>\r\n <ng-container *ngFor=\"let option of BracketTypeData\">\r\n <nz-option [nzValue]=\"option.value\" [nzLabel]=\"option.label\"></nz-option>\r\n </ng-container>\r\n </nz-select>\r\n </li>\r\n <li class=\"cellOperation\">\r\n <nz-select [(ngModel)]=\"item.cellOperation\" nzAllowClear (ngModelChange)=\"operationChange($event,item)\">\r\n <ng-container *ngFor=\"let option of CompareConditionsData\">\r\n <nz-option [nzValue]=\"option.value\" [nzLabel]=\"option.label\"></nz-option>\r\n </ng-container>\r\n </nz-select>\r\n </li>\r\n <li *ngIf=\"item?.cellOperation!='SQL_RULES'\" class=\"conditionTable\">\r\n <nz-select [(ngModel)]=\"item.cellTable\" nzAllowClear (ngModelChange)=\"tableChange($event,item)\">\r\n <ng-container *ngFor=\"let option of tableData\">\r\n <nz-option [nzValue]=\"option.code\" [nzLabel]=\"option.name\"></nz-option>\r\n </ng-container>\r\n </nz-select>\r\n </li>\r\n\r\n <li *ngIf=\"item?.cellOperation!='SQL_RULES'\" class=\"conditionField\">\r\n <nz-select [(ngModel)]=\"item.cellField\" nzAllowClear (ngModelChange)=\"fieldChange($event,item)\">\r\n <ng-container *ngFor=\"let option of getFieldData(item.cellTable)\">\r\n <nz-option [nzValue]=\"option.code\" [nzLabel]=\"option.name\"></nz-option>\r\n </ng-container>\r\n </nz-select>\r\n </li>\r\n <li *ngIf=\"item?.cellOperation!='SQL_RULES'\">\r\n <ng-container *ngIf=\"item.cellTable!! && item.cellField!! && item.fieldType!!\">\r\n <div class=\"cellValue\" [class.date-cell-value]=\"isDateField(item.fieldType)\">\n <nz-select\n *ngIf=\"argumentData.length\"\n class=\"value-source-select\"\n [ngModel]=\"valueSourceMode(item)\"\n (ngModelChange)=\"valueSourceModeChange($event, item)\"\n >\n <nz-option nzValue=\"FIXED\" nzLabel=\"\u56FA\u5B9A\u503C\"></nz-option>\n <nz-option nzValue=\"ARGUMENT\" nzLabel=\"\u6A21\u677F\u53C2\u6570\"></nz-option>\n </nz-select>\n <nz-select\n *ngIf=\"argumentData.length && valueSourceMode(item) === 'ARGUMENT'\"\n [ngModel]=\"argumentCode(item)\"\n (ngModelChange)=\"argumentChange($event, item)\"\n nzPlaceHolder=\"\u8BF7\u9009\u62E9\u6A21\u677F\u53C2\u6570\"\n >\n <nz-option\n *ngFor=\"let argument of argumentData\"\n [nzValue]=\"argument.argumentCode\"\n [nzLabel]=\"argument.argumentName\"\n ></nz-option>\n </nz-select>\n <ng-container *ngIf=\"valueSourceMode(item) === 'FIXED'\">\n <ng-container [ngSwitch]=\"item.fieldType\">\n <ng-container *ngSwitchCase=\"'BOOLEAN'\">\r\n <nz-select [(ngModel)]=\"item.cellValue\">\r\n <nz-option nzValue=\"0\" nzLabel=\"\u5426\"></nz-option>\r\n <nz-option nzValue=\"1\" nzLabel=\"\u662F\"></nz-option>\r\n </nz-select>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'DATETIME'\">\n <ng-container *ngTemplateOutlet=\"dateValueEditor; context: { $implicit: item }\"></ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'DATE'\">\n <ng-container *ngTemplateOutlet=\"dateValueEditor; context: { $implicit: item }\"></ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'INT'\">\r\n <nz-input-number [(ngModel)]=\"item.cellValue\" [nzStep]=\"1\" [nzPrecision]=\"0\"></nz-input-number>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'FLOAT'\">\r\n <nz-input-number [(ngModel)]=\"item.cellValue\" [nzStep]=\"1\" [nzPrecision]=\"2\"></nz-input-number>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'ITEM'\">\r\n <ng-container *ngIf=\"item?.cellMultiple==true;else tmp1\">\u6682\u4E0D\u652F\u6301\u591A\u9009</ng-container>\r\n <ng-template #tmp1>\r\n <nz-select [(ngModel)]=\"item.cellValue\" nzAllowClear>\r\n <ng-container *ngFor=\"let option of getItemData(item.cellTable,item.cellField)\">\r\n <nz-option [nzValue]=\"option.code\" [nzLabel]=\"option.name\"></nz-option>\r\n </ng-container>\r\n </nz-select>\r\n </ng-template>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'REF'\">\r\n <ng-container *ngIf=\"item?.cellMultiple==true;else tmp2\">\u6682\u4E0D\u652F\u6301\u591A\u9009</ng-container>\r\n <ng-template #tmp2>\r\n <gram-lookup\r\n [config]=\"item.cellValueConfig\"\r\n [data]=\"item.cellValueInfo\"\r\n (valueChange)=\"refDataChange($event,item)\"\r\n ></gram-lookup>\r\n </ng-template>\r\n </ng-container>\r\n <ng-container *ngSwitchDefault>\r\n <input nz-input [(ngModel)]=\"item.cellValue\" />\r\n </ng-container>\n </ng-container>\n </ng-container>\n </div>\n </ng-container>\r\n </li>\r\n <li *ngIf=\"item?.cellOperation=='SQL_RULES' \">\r\n <div class=\"cellValue\">\r\n <input nz-input [(ngModel)]=\"item.cellValue\" />\r\n </div>\r\n </li>\r\n <li class=\"rightBracket\">\r\n <nz-select [(ngModel)]=\"item.rightBracket\" nzAllowClear>\r\n <ng-container *ngFor=\"let option of BracketTypeData\">\r\n <nz-option [nzValue]=\"option.value\" [nzLabel]=\"option.label\"></nz-option>\r\n </ng-container>\r\n </nz-select>\r\n </li>\r\n <li class=\"rightBracket\">\r\n <nz-select [(ngModel)]=\"item.rightBracket2\" nzAllowClear>\r\n <ng-container *ngFor=\"let option of BracketTypeData\">\r\n <nz-option [nzValue]=\"option.value\" [nzLabel]=\"option.label\"></nz-option>\r\n </ng-container>\r\n </nz-select>\r\n </li>\r\n <li class=\"cellFunction\">\r\n <nz-select [(ngModel)]=\"item.cellFunction\" nzAllowClear>\r\n <ng-container *ngFor=\"let option of FilterTypeData\">\r\n <nz-option [nzValue]=\"option.value\" [nzLabel]=\"option.label\"></nz-option>\r\n </ng-container>\r\n </nz-select>\r\n </li>\r\n <div class=\"btnDel\">\r\n <a (click)=\"delCondition(i)\">\r\n <i nz-icon nzType=\"delete\"></i>\r\n </a>\r\n </div>\r\n </ul>\r\n </ng-container>\r\n </ng-container>\r\n</div>\n\n<ng-template #dateValueEditor let-dateItem>\n <ng-container\n *ngIf=\"dateItem?.cellOperation!='DATE_YEAR'\n && dateItem?.cellOperation!='DATE_MONTH'\n && dateItem?.cellOperation!='DATE_WEEK'\n && dateItem?.cellOperation!='DATE_QUARTER'\"\n >\n <div class=\"date-value-editor\" [class.dynamic-value]=\"dateValueMode(dateItem.cellValue) !== 'FIXED'\">\n <nz-select\n [ngModel]=\"dateValueMode(dateItem.cellValue)\"\n (ngModelChange)=\"dateValueModeChange($event, dateItem)\"\n nzPlaceHolder=\"\u65E5\u671F\u6765\u6E90\"\n >\n <nz-option\n *ngFor=\"let option of DateValueModeData\"\n [nzValue]=\"option.value\"\n [nzLabel]=\"option.label\"\n ></nz-option>\n </nz-select>\n <nz-date-picker\n *ngIf=\"dateValueMode(dateItem.cellValue) === 'FIXED'\"\n [(ngModel)]=\"dateItem.cellValue\"\n [nzShowTime]=\"dateItem.fieldType === 'DATETIME'\"\n [nzFormat]=\"dateItem.fieldType === 'DATETIME' ? 'yyyy-MM-dd HH:mm:ss' : 'yyyy-MM-dd'\"\n nzPlacement=\"bottomLeft\"\n nzPlaceHolder=\"\u8BF7\u9009\u62E9\u65E5\u671F\"\n [nzAllowClear]=\"true\"\n ></nz-date-picker>\n </div>\n </ng-container>\n</ng-template>\n\n<ng-template #tmpEmpty>\n <div class=\"empty\">\r\n <div class=\"image\"><img src=\"assets/images/default/empty2.png\" /></div>\r\n </div>\r\n</ng-template>\r\n", styles: [":host ::ng-deep{display:flex;flex-direction:column;font-size:12px;border:1px solid #eaeaea;border-radius:4px}:host ::ng-deep .header-box{display:flex;align-items:center;padding:8px 10px;background:#edeff3;border-bottom:1px solid #eaeaea}:host ::ng-deep .header-box i{margin-left:15px}:host ::ng-deep .body-box{display:block;width:100%;padding:15px 0 0;overflow-x:auto}:host ::ng-deep .body-box ul{position:relative;display:flex;align-items:flex-start;width:max-content;min-width:100%;margin:0;padding:0 10px 10px}:host ::ng-deep .body-box ul li{display:flex;flex-direction:column;padding:0 10px 0 0}:host ::ng-deep .body-box .btnAdd{padding:8px 10px;border-top:1px solid #eaeaea}:host ::ng-deep .body-box .leftBracket,:host ::ng-deep .body-box .rightBracket{width:60px}:host ::ng-deep .body-box .cellOperation{width:140px}:host ::ng-deep .body-box .conditionTable,:host ::ng-deep .body-box .conditionField{width:200px}:host ::ng-deep .body-box .cellValue{width:190px}:host ::ng-deep .body-box .cellValue nz-select,:host ::ng-deep .body-box .cellValue nz-input-number,:host ::ng-deep .body-box .cellValue nz-date-picker,:host ::ng-deep .body-box .cellValue .ant-input,:host ::ng-deep .body-box .cellValue .ant-input-number,:host ::ng-deep .body-box .cellValue .ant-picker{width:100%}:host ::ng-deep .body-box .value-source-select{margin-bottom:6px}:host ::ng-deep .body-box .date-cell-value{width:330px}:host ::ng-deep .body-box .date-value-editor{display:grid;grid-template-columns:112px minmax(200px,1fr);gap:8px;align-items:center;width:100%}:host ::ng-deep .body-box .date-value-editor.dynamic-value{grid-template-columns:minmax(180px,1fr)}:host ::ng-deep .body-box .date-value-editor nz-select,:host ::ng-deep .body-box .date-value-editor nz-date-picker,:host ::ng-deep .body-box .date-value-editor .ant-select,:host ::ng-deep .body-box .date-value-editor .ant-picker{width:100%}:host ::ng-deep .body-box .cellFunction{width:80px}:host ::ng-deep .between{margin:0 5px}:host ::ng-deep .empty{display:flex;padding:0 0 15px}:host ::ng-deep .empty .image{margin:auto}:host ::ng-deep .empty img{width:80px}\n"] }]
379
+ ], template: "<div class=\"header-box\">\r\n {{title}}\r\n <a (click)=\"addCondition()\">\r\n <i nz-icon nzType=\"plus-circle\"></i>\r\n \u65B0\u589E\r\n </a>\r\n</div>\r\n<div class=\"body-box\">\r\n <ng-container *ngIf=\"filterData!! && filterData.length>0;else tmpEmpty\">\r\n <ng-container *ngFor=\"let item of filterData;let i=index\">\r\n <ul>\r\n <li class=\"leftBracket\">\r\n <nz-select [(ngModel)]=\"item.leftBracket\" nzAllowClear>\r\n <ng-container *ngFor=\"let option of BracketTypeData\">\r\n <nz-option [nzValue]=\"option.value\" [nzLabel]=\"option.label\"></nz-option>\r\n </ng-container>\r\n </nz-select>\r\n </li>\r\n <li class=\"leftBracket\">\r\n <nz-select [(ngModel)]=\"item.leftBracket2\" nzAllowClear>\r\n <ng-container *ngFor=\"let option of BracketTypeData\">\r\n <nz-option [nzValue]=\"option.value\" [nzLabel]=\"option.label\"></nz-option>\r\n </ng-container>\r\n </nz-select>\r\n </li>\r\n <li class=\"cellOperation\">\r\n <nz-select [(ngModel)]=\"item.cellOperation\" nzAllowClear (ngModelChange)=\"operationChange($event,item)\">\r\n <ng-container *ngFor=\"let option of CompareConditionsData\">\r\n <nz-option [nzValue]=\"option.value\" [nzLabel]=\"option.label\"></nz-option>\r\n </ng-container>\r\n </nz-select>\r\n </li>\r\n <li *ngIf=\"item?.cellOperation!='SQL_RULES'\" class=\"conditionTable\">\r\n <nz-select [(ngModel)]=\"item.cellTable\" nzAllowClear (ngModelChange)=\"tableChange($event,item)\">\r\n <ng-container *ngFor=\"let option of tableData\">\r\n <nz-option [nzValue]=\"option.code\" [nzLabel]=\"option.name\"></nz-option>\r\n </ng-container>\r\n </nz-select>\r\n </li>\r\n\r\n <li *ngIf=\"item?.cellOperation!='SQL_RULES'\" class=\"conditionField\">\r\n <nz-select [(ngModel)]=\"item.cellField\" nzAllowClear (ngModelChange)=\"fieldChange($event,item)\">\r\n <ng-container *ngFor=\"let option of getFieldData(item.cellTable)\">\r\n <nz-option [nzValue]=\"option.code\" [nzLabel]=\"option.name\"></nz-option>\r\n </ng-container>\r\n </nz-select>\r\n </li>\r\n <li *ngIf=\"item?.cellOperation!='SQL_RULES'\">\r\n <ng-container *ngIf=\"item.cellTable!! && item.cellField!! && item.fieldType!!\">\r\n <div class=\"cellValue\" [class.date-cell-value]=\"isDateField(item.fieldType)\">\n <nz-select\n *ngIf=\"argumentData.length\"\n class=\"value-source-select\"\n [ngModel]=\"valueSourceMode(item)\"\n (ngModelChange)=\"valueSourceModeChange($event, item)\"\n >\n <nz-option nzValue=\"FIXED\" nzLabel=\"\u56FA\u5B9A\u503C\"></nz-option>\n <nz-option nzValue=\"ARGUMENT\" nzLabel=\"\u6A21\u677F\u53C2\u6570\"></nz-option>\n </nz-select>\n <nz-select\n *ngIf=\"argumentData.length && valueSourceMode(item) === 'ARGUMENT'\"\n [ngModel]=\"argumentCode(item)\"\n (ngModelChange)=\"argumentChange($event, item)\"\n nzPlaceHolder=\"\u8BF7\u9009\u62E9\u6A21\u677F\u53C2\u6570\"\n >\n <nz-option\n *ngFor=\"let argument of argumentData\"\n [nzValue]=\"argument.argumentCode\"\n [nzLabel]=\"argument.argumentName\"\n ></nz-option>\n </nz-select>\n <ng-container *ngIf=\"valueSourceMode(item) === 'FIXED'\">\n <ng-container [ngSwitch]=\"valueEditorType(item)\">\n <ng-container *ngSwitchCase=\"'BOOLEAN'\">\r\n <nz-select [(ngModel)]=\"item.cellValue\">\r\n <nz-option nzValue=\"0\" nzLabel=\"\u5426\"></nz-option>\r\n <nz-option nzValue=\"1\" nzLabel=\"\u662F\"></nz-option>\r\n </nz-select>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'DATETIME'\">\n <ng-container *ngTemplateOutlet=\"dateValueEditor; context: { $implicit: item }\"></ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'DATE'\">\n <ng-container *ngTemplateOutlet=\"dateValueEditor; context: { $implicit: item }\"></ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'INT'\">\r\n <nz-input-number [(ngModel)]=\"item.cellValue\" [nzStep]=\"1\" [nzPrecision]=\"0\"></nz-input-number>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'FLOAT'\">\r\n <nz-input-number [(ngModel)]=\"item.cellValue\" [nzStep]=\"1\" [nzPrecision]=\"2\"></nz-input-number>\r\n </ng-container>\n <ng-container *ngSwitchCase=\"'ITEM'\">\n <nz-select\n *ngIf=\"isMultipleValue(item); else singleItem\"\n [ngModel]=\"item.cellValues\"\n (ngModelChange)=\"itemValuesChange($event, item)\"\n nzMode=\"multiple\"\n nzAllowClear\n >\n <ng-container *ngFor=\"let option of getItemData(item.cellTable,item.cellField)\">\n <nz-option [nzValue]=\"option.code\" [nzLabel]=\"option.name\"></nz-option>\n </ng-container>\n </nz-select>\n <ng-template #singleItem>\n <nz-select [(ngModel)]=\"item.cellValue\" nzAllowClear>\n <ng-container *ngFor=\"let option of getItemData(item.cellTable,item.cellField)\">\n <nz-option [nzValue]=\"option.code\" [nzLabel]=\"option.name\"></nz-option>\n </ng-container>\n </nz-select>\n </ng-template>\n </ng-container>\n <ng-container *ngSwitchCase=\"'REF'\">\n <gram-lookup\n [config]=\"item.cellValueConfig\"\n [data]=\"item.cellValueInfo\"\n (valueChange)=\"refDataChange($event,item)\"\n ></gram-lookup>\n </ng-container>\r\n <ng-container *ngSwitchDefault>\r\n <input nz-input [(ngModel)]=\"item.cellValue\" />\r\n </ng-container>\n </ng-container>\n </ng-container>\n </div>\n </ng-container>\r\n </li>\r\n <li *ngIf=\"item?.cellOperation=='SQL_RULES' \">\r\n <div class=\"cellValue\">\r\n <input nz-input [(ngModel)]=\"item.cellValue\" />\r\n </div>\r\n </li>\r\n <li class=\"rightBracket\">\r\n <nz-select [(ngModel)]=\"item.rightBracket\" nzAllowClear>\r\n <ng-container *ngFor=\"let option of BracketTypeData\">\r\n <nz-option [nzValue]=\"option.value\" [nzLabel]=\"option.label\"></nz-option>\r\n </ng-container>\r\n </nz-select>\r\n </li>\r\n <li class=\"rightBracket\">\r\n <nz-select [(ngModel)]=\"item.rightBracket2\" nzAllowClear>\r\n <ng-container *ngFor=\"let option of BracketTypeData\">\r\n <nz-option [nzValue]=\"option.value\" [nzLabel]=\"option.label\"></nz-option>\r\n </ng-container>\r\n </nz-select>\r\n </li>\r\n <li class=\"cellFunction\">\r\n <nz-select [(ngModel)]=\"item.cellFunction\" nzAllowClear>\r\n <ng-container *ngFor=\"let option of FilterTypeData\">\r\n <nz-option [nzValue]=\"option.value\" [nzLabel]=\"option.label\"></nz-option>\r\n </ng-container>\r\n </nz-select>\r\n </li>\r\n <div class=\"btnDel\">\r\n <a (click)=\"delCondition(i)\">\r\n <i nz-icon nzType=\"delete\"></i>\r\n </a>\r\n </div>\r\n </ul>\r\n </ng-container>\r\n </ng-container>\r\n</div>\n\n<ng-template #dateValueEditor let-dateItem>\n <ng-container\n *ngIf=\"dateItem?.cellOperation!='DATE_YEAR'\n && dateItem?.cellOperation!='DATE_MONTH'\n && dateItem?.cellOperation!='DATE_WEEK'\n && dateItem?.cellOperation!='DATE_QUARTER'\"\n >\n <div class=\"date-value-editor\" [class.dynamic-value]=\"dateValueMode(dateItem.cellValue) !== 'FIXED'\">\n <nz-select\n [ngModel]=\"dateValueMode(dateItem.cellValue)\"\n (ngModelChange)=\"dateValueModeChange($event, dateItem)\"\n nzPlaceHolder=\"\u65E5\u671F\u6765\u6E90\"\n >\n <nz-option\n *ngFor=\"let option of DateValueModeData\"\n [nzValue]=\"option.value\"\n [nzLabel]=\"option.label\"\n ></nz-option>\n </nz-select>\n <nz-date-picker\n *ngIf=\"dateValueMode(dateItem.cellValue) === 'FIXED'\"\n [(ngModel)]=\"dateItem.cellValue\"\n [nzShowTime]=\"dateItem.fieldType === 'DATETIME'\"\n [nzFormat]=\"dateItem.fieldType === 'DATETIME' ? 'yyyy-MM-dd HH:mm:ss' : 'yyyy-MM-dd'\"\n nzPlacement=\"bottomLeft\"\n nzPlaceHolder=\"\u8BF7\u9009\u62E9\u65E5\u671F\"\n [nzAllowClear]=\"true\"\n ></nz-date-picker>\n </div>\n </ng-container>\n</ng-template>\n\n<ng-template #tmpEmpty>\n <div class=\"empty\">\r\n <div class=\"image\"><img src=\"assets/images/default/empty2.png\" /></div>\r\n </div>\r\n</ng-template>\r\n", styles: [":host ::ng-deep{display:flex;flex-direction:column;font-size:12px;border:1px solid #eaeaea;border-radius:4px}:host ::ng-deep .header-box{display:flex;align-items:center;padding:8px 10px;background:#edeff3;border-bottom:1px solid #eaeaea}:host ::ng-deep .header-box i{margin-left:15px}:host ::ng-deep .body-box{display:block;width:100%;padding:15px 0 0;overflow-x:auto}:host ::ng-deep .body-box ul{position:relative;display:flex;align-items:flex-start;width:max-content;min-width:100%;margin:0;padding:0 10px 10px}:host ::ng-deep .body-box ul li{display:flex;flex-direction:column;padding:0 10px 0 0}:host ::ng-deep .body-box .btnAdd{padding:8px 10px;border-top:1px solid #eaeaea}:host ::ng-deep .body-box .leftBracket,:host ::ng-deep .body-box .rightBracket{width:60px}:host ::ng-deep .body-box .cellOperation{width:140px}:host ::ng-deep .body-box .conditionTable,:host ::ng-deep .body-box .conditionField{width:200px}:host ::ng-deep .body-box .cellValue{width:190px}:host ::ng-deep .body-box .cellValue nz-select,:host ::ng-deep .body-box .cellValue nz-input-number,:host ::ng-deep .body-box .cellValue nz-date-picker,:host ::ng-deep .body-box .cellValue .ant-input,:host ::ng-deep .body-box .cellValue .ant-input-number,:host ::ng-deep .body-box .cellValue .ant-picker{width:100%}:host ::ng-deep .body-box .value-source-select{margin-bottom:6px}:host ::ng-deep .body-box .date-cell-value{width:330px}:host ::ng-deep .body-box .date-value-editor{display:grid;grid-template-columns:112px minmax(200px,1fr);gap:8px;align-items:center;width:100%}:host ::ng-deep .body-box .date-value-editor.dynamic-value{grid-template-columns:minmax(180px,1fr)}:host ::ng-deep .body-box .date-value-editor nz-select,:host ::ng-deep .body-box .date-value-editor nz-date-picker,:host ::ng-deep .body-box .date-value-editor .ant-select,:host ::ng-deep .body-box .date-value-editor .ant-picker{width:100%}:host ::ng-deep .body-box .cellFunction{width:80px}:host ::ng-deep .between{margin:0 5px}:host ::ng-deep .empty{display:flex;padding:0 0 15px}:host ::ng-deep .empty .image{margin:auto}:host ::ng-deep .empty img{width:80px}\n"] }]
310
380
  }], ctorParameters: () => [{ type: i1._HttpClient }], propDecorators: { title: [{
311
381
  type: Input
312
382
  }], data: [{