@ebuilding/biz-design 2.4.0 → 2.4.1
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/default/src/components/field.setting/setting.card-back.d.ts +14 -0
- package/default/src/components/field.setting/setting.card-front.d.ts +14 -0
- package/default/src/components/field.setting/setting.fj.d.ts +14 -0
- package/default/src/components/field.setting/setting.img.d.ts +14 -0
- package/default/src/components/field.type/attachment.type.d.ts +7 -0
- package/default/src/components/field.type/card-back.type.d.ts +6 -0
- package/default/src/components/field.type/card-front.type.d.ts +6 -0
- package/default/src/components/field.type/img.type.d.ts +6 -0
- package/default/src/services/field-source.service.d.ts +4 -0
- package/default/src/simple.module.d.ts +26 -18
- package/fesm2022/default.mjs +924 -168
- package/fesm2022/default.mjs.map +1 -1
- package/fesm2022/ebuilding-biz-design.mjs +924 -168
- package/fesm2022/ebuilding-biz-design.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ebuilding-biz-design.mjs","sources":["../../../../packages/biz-design/default/src/components/field.setting/setting.ts","../../../../packages/biz-design/default/src/components/field.setting/setting.service.ts","../../../../packages/biz-design/default/src/components/field.setting/setting.common.ts","../../../../packages/biz-design/default/src/components/dialog.field/index.ts","../../../../packages/biz-design/default/src/components/dialog.field/index.html","../../../../packages/biz-design/default/src/services/field-source.service.ts","../../../../packages/biz-design/default/src/services/field-dialog.service.ts","../../../../packages/biz-design/default/src/components/field.setting/setting.repeat.ts","../../../../packages/biz-design/default/src/components/field.setting/setting.label.ts","../../../../packages/biz-design/default/src/components/field.setting/setting.desc.ts","../../../../packages/biz-design/default/src/components/field.setting/setting.line.ts","../../../../packages/biz-design/default/src/components/field.setting/setting.grid.ts","../../../../packages/biz-design/default/src/components/field.setting/setting.lookup.ts","../../../../packages/biz-design/default/src/components/field.setting/setting.children.ts","../../../../packages/biz-design/default/src/components/field.setting/setting.reform.ts","../../../../packages/biz-design/default/src/components/field.setting/setting.tabs.ts","../../../../packages/biz-design/default/src/components/field.setting/setting.radio.ts","../../../../packages/biz-design/default/src/components/field.setting/setting.checkbox.ts","../../../../packages/biz-design/default/src/components/field.setting/setting.upload.ts","../../../../packages/biz-design/default/src/components/field.setting/setting.number.ts","../../../../packages/biz-design/default/src/components/field.setting/setting.teplate.ts","../../../../packages/biz-design/default/src/components/type.basic/index.component.ts","../../../../packages/biz-design/default/src/components/type.basic/index.component.html","../../../../packages/biz-design/default/src/components/type.basic2/index.component.ts","../../../../packages/biz-design/default/src/components/type.basic2/index.component.html","../../../../packages/biz-design/default/src/components/type.source/index.component.ts","../../../../packages/biz-design/default/src/components/type.source/index.component.html","../../../../packages/biz-design/default/src/components/type.source2/index.component.ts","../../../../packages/biz-design/default/src/components/type.source2/index.component.html","../../../../packages/biz-design/default/src/components/label.ts","../../../../packages/biz-design/default/src/services/field-type.service.ts","../../../../packages/biz-design/default/src/services/field.service.ts","../../../../packages/biz-design/default/src/components/field.type/basic.ts","../../../../packages/biz-design/default/src/components/field.type/label.type.ts","../../../../packages/biz-design/default/src/components/field.type/desc.type.ts","../../../../packages/biz-design/default/src/components/field.type/line.type.ts","../../../../packages/biz-design/default/src/components/field.type/text.type.ts","../../../../packages/biz-design/default/src/components/field.type/textcode.type.ts","../../../../packages/biz-design/default/src/components/field.type/textarea.type.ts","../../../../packages/biz-design/default/src/components/field.type/checkbox.type.ts","../../../../packages/biz-design/default/src/components/field.type/checkboxgroup.type.ts","../../../../packages/biz-design/default/src/components/field.type/datetime.type.ts","../../../../packages/biz-design/default/src/components/field.type/number.type.ts","../../../../packages/biz-design/default/src/components/field.type/radio.type.ts","../../../../packages/biz-design/default/src/components/field.type/radiogroup.type.ts","../../../../packages/biz-design/default/src/components/field.type/select.type.ts","../../../../packages/biz-design/default/src/components/field.type/repeat.type.ts","../../../../packages/biz-design/default/src/components/field.type/richtext.type.ts","../../../../packages/biz-design/default/src/components/field.type/tree.type.ts","../../../../packages/biz-design/default/src/components/field.type/lookup.type.ts","../../../../packages/biz-design/default/src/components/field.type/children.type.ts","../../../../packages/biz-design/default/src/components/field.type/color.type.ts","../../../../packages/biz-design/default/src/components/field.type/upload.type.ts","../../../../packages/biz-design/default/src/components/field.type/icon.type.ts","../../../../packages/biz-design/default/src/components/field.type/indicator/index.ts","../../../../packages/biz-design/default/src/components/field.type/indicator/index.html","../../../../packages/biz-design/default/src/components/field.type/teplate.type.ts","../../../../packages/biz-design/default/src/components/empty/empty.field.ts","../../../../packages/biz-design/default/src/components/empty/empty.setting.ts","../../../../packages/biz-design/default/src/pipe/safehtml.pipe.ts","../../../../packages/biz-design/default/src/components/field.type/default/index.ts","../../../../packages/biz-design/default/src/components/field.type/default/index.html","../../../../packages/biz-design/default/src/components/field.name/index.ts","../../../../packages/biz-design/default/src/components/field.name/index.html","../../../../packages/biz-design/default/src/content/index.component.ts","../../../../packages/biz-design/default/src/content/index.component.html","../../../../packages/biz-design/default/src/content/table.component.ts","../../../../packages/biz-design/default/src/main/index.component.ts","../../../../packages/biz-design/default/src/main/index.component.html","../../../../packages/biz-design/default/src/kpi/index.component.ts","../../../../packages/biz-design/default/src/kpi/index.component.html","../../../../packages/biz-design/default/src/simple.module.ts","../../../../packages/biz-design/ebuilding-biz-design.ts"],"sourcesContent":["import { Component, Input, Output, EventEmitter, OnChanges } from '@angular/core';\nimport { NzMessageService } from 'ng-zorro-antd/message';\nimport { FormlyFieldConfig } from '@ebuilding-form/core';\nimport moment from 'moment';\n@Component({\n template: '',\n})\nexport class DeonDesignSettingBasic implements OnChanges {\n sourceField: any = {\n key: '',\n type: '',\n editor: true,\n show: true,\n props: {\n type: null,\n label: '', //Title\n hideLabel: false, //隐藏Title\n placeholder: null,\n required: false, //必填\n minLength: null, //最小长度\n maxLength: null, //最大长度\n min: null, //最小值\n max: null, //最大值\n precision: null, //精度\n pattern: null, //\n options: [],\n rows: null,\n cols: 24,\n className: '',\n isButintin: false,\n more: false,\n labelPosition: null,\n hideJson: null,\n sysType: null, //系统字段类型\n izSysName: false, //系统字段名称显示\n },\n fieldGroup: [],\n };\n\n minLength: number = null;\n maxLength: number = null;\n min: number = null;\n max: number = null;\n\n @Input() dialogPageData: any = null;\n\n @Input() dialogFormData: any[] = [];\n\n @Input() sourceType: any = null;\n\n @Input() set field(value: FormlyFieldConfig) {\n if (value != null && value != undefined) {\n this.sourceField = value;\n if (this.sourceField.props && this.sourceField.props.minLength) {\n this.minLength = this.sourceField.props.minLength;\n }\n if (this.sourceField.props && this.sourceField.props.maxLength) {\n this.maxLength = this.sourceField.props.maxLength;\n }\n }\n }\n\n deleteButton(i: any, value: any) {\n if (i < 1) {\n return false;\n }\n let result = true;\n if (\n value &&\n value !== null &&\n value.props &&\n value.props !== null &&\n value.props.isButintin &&\n value.props.isButintin !== null\n ) {\n result = value.props.isButintin;\n }\n return result;\n }\n\n @Output() fieldSetUpAction: EventEmitter<any> = new EventEmitter();\n @Output() typeChangeAction: EventEmitter<any> = new EventEmitter();\n @Output() repeatAction: EventEmitter<any> = new EventEmitter();\n\n constructor(public message: NzMessageService) { }\n\n ngOnChanges(e: any) { }\n maxLengthChange() {\n let msg = '最大长度必须大于最小长度!';\n if (this.sourceField.type == 'repeat') {\n msg = '最大条数必须大于最小条数!';\n }\n if (this.minLength == null) {\n this.sourceField.props.maxLength = this.maxLength;\n } else if (this.maxLength <= this.minLength) {\n this.message.warning(msg);\n return;\n } else {\n this.sourceField.props.maxLength = this.maxLength;\n }\n this.valueChange();\n }\n\n minLengthChange() {\n let msg = '最小长度必须大于最大长度!';\n if (this.sourceField.type == 'repeat') {\n msg = '最小条数必须大于最大条数!';\n }\n if (this.maxLength == null) {\n this.sourceField.props.minLength = this.minLength;\n } else if (this.maxLength <= this.minLength) {\n this.message.warning(msg);\n return;\n } else {\n this.sourceField.props.minLength = this.minLength;\n }\n this.valueChange();\n }\n\n maxChange() {\n let msg = '最大长度必须大于最小长度!';\n if (this.min == null) {\n this.sourceField.props.max = this.max;\n } else if (this.max <= this.min) {\n this.message.warning(msg);\n return;\n } else {\n this.sourceField.props.max = this.max;\n }\n this.valueChange();\n }\n\n minChange() {\n let msg = '最小长度必须大于最大长度!';\n if (this.max == null) {\n this.sourceField.props.min = this.min;\n } else if (this.max <= this.min) {\n this.message.warning(msg);\n return;\n } else {\n this.sourceField.props.min = this.min;\n }\n this.valueChange();\n }\n\n valueChange() {\n this.fieldSetUpAction.emit(this.sourceField);\n }\n\n fieldTypeChange() {\n this.typeChangeAction.emit(this.sourceField);\n }\n\n datetimeString() {\n return `${moment().format('YYYYMMDDHHmmssSSS')}`;\n }\n}\n","import { Injectable, Inject } from '@angular/core';\nimport _ from 'lodash';\n\n@Injectable()\nexport class SettingService {\n tableField: any = null;\n isEditor: boolean = true;\n}\n","import { Component, OnInit, ChangeDetectionStrategy } from '@angular/core';\nimport { DragDropModule, CdkDragDrop, moveItemInArray } from '@angular/cdk/drag-drop';\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { NzInputModule } from 'ng-zorro-antd/input';\nimport { NzInputNumberModule } from 'ng-zorro-antd/input-number';\nimport { NzCheckboxModule } from 'ng-zorro-antd/checkbox';\nimport { NzRadioModule } from 'ng-zorro-antd/radio';\nimport { NzSelectModule } from 'ng-zorro-antd/select';\n\nimport { NzMessageService } from 'ng-zorro-antd/message';\nimport { DeonDesignSettingBasic } from './setting';\nimport { SettingService } from './setting.service';\n\n@Component({\n selector: 'deon-setting-common',\n template: `\n <div class=\"paragraph\">\n <label>标题</label>\n <input\n nz-input\n [disabled]=\"settingSrv?.isEditor == false\"\n [(ngModel)]=\"sourceField.props.label\"\n maxLength=\"80\"\n placeholder=\"请输入标题\"\n (blur)=\"valueChange()\"\n />\n </div>\n\n <ng-container *ngIf=\"sourceField.type == 'textarea'\">\n <div class=\"paragraph\">\n <label>最少行数</label>\n <nz-input-number\n [nzDisabled]=\"settingSrv?.isEditor == false\"\n [nzPlaceHolder]=\"'不限'\"\n [nzMin]=\"0\"\n [nzStep]=\"1\"\n [(ngModel)]=\"sourceField.props.rows\"\n (nzBlur)=\"valueChange()\"\n ></nz-input-number>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"sourceField.type == 'text' || sourceField.type == 'textarea'\">\n <div class=\"paragraph\" *ngIf=\"settingSrv.tableField!!\">\n <label>输入长度范围</label>\n <ul class=\"range\">\n <li>\n <nz-input-number\n [nzDisabled]=\"settingSrv?.isEditor == false\"\n [nzPlaceHolder]=\"'不限'\"\n [nzStep]=\"1\"\n [nzMin]=\"settingSrv.tableField.minLength\"\n [(ngModel)]=\"minLength\"\n (nzBlur)=\"minLengthChange()\"\n ></nz-input-number>\n </li>\n <li>~</li>\n <li>\n <nz-input-number\n [nzDisabled]=\"settingSrv?.isEditor == false\"\n [nzPlaceHolder]=\"'不限'\"\n [nzMin]=\"0\"\n [nzStep]=\"1\"\n [nzMax]=\"settingSrv.tableField.maxLength\"\n [(ngModel)]=\"maxLength\"\n (nzBlur)=\"maxLengthChange()\"\n ></nz-input-number>\n </li>\n </ul>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"sourceField.type == 'number'\">\n <div class=\"paragraph\" *ngIf=\"settingSrv.tableField!! && settingSrv.tableField.type == 'FLOAT'\">\n <label>小数位数</label>\n <nz-input-number\n [nzDisabled]=\"settingSrv?.isEditor == false\"\n [nzPlaceHolder]=\"'不限'\"\n [nzMin]=\"0\"\n [nzMax]=\"settingSrv.tableField.precision\"\n [nzStep]=\"1\"\n [(ngModel)]=\"sourceField.props.precision\"\n (nzBlur)=\"valueChange()\"\n ></nz-input-number>\n </div>\n <div class=\"paragraph\" *ngIf=\"settingSrv.tableField!!\">\n <label>数值大小范围</label>\n <ul class=\"range\">\n <li>\n <nz-input-number\n [nzDisabled]=\"settingSrv?.isEditor == false\"\n [nzPlaceHolder]=\"'不限'\"\n [nzMin]=\"settingSrv.tableField.min\"\n [nzStep]=\"1\"\n [(ngModel)]=\"min\"\n [nzPrecision]=\"sourceField.props.precision\"\n (nzBlur)=\"minChange()\"\n ></nz-input-number>\n </li>\n <li>~</li>\n <li>\n <nz-input-number\n [nzDisabled]=\"settingSrv?.isEditor == false\"\n [nzPlaceHolder]=\"'不限'\"\n [nzMin]=\"0\"\n [nzStep]=\"1\"\n [(ngModel)]=\"max\"\n [nzPrecision]=\"sourceField.props.precision\"\n [nzMax]=\"settingSrv.tableField.max\"\n (nzBlur)=\"maxChange()\"\n ></nz-input-number>\n </li>\n </ul>\n </div>\n </ng-container>\n\n <div class=\"paragraph\">\n <label\n nz-checkbox\n [nzDisabled]=\"settingSrv?.isEditor == false\"\n [(ngModel)]=\"sourceField.props.required\"\n (ngModelChange)=\"valueChange()\"\n >必填</label\n >\n <label\n *ngIf=\"sourceType?.repeat != true\"\n nz-checkbox\n [nzDisabled]=\"settingSrv?.isEditor == false\"\n [(ngModel)]=\"sourceField.props.hideLabel\"\n (ngModelChange)=\"valueChange()\"\n >隐藏标题</label\n >\n </div>\n\n <ng-container *ngIf=\"sourceField.props?.sysType == 'CREATE_USER' || sourceField.props?.sysType == 'MODIFY_USER'\">\n <div class=\"paragraph\">\n <label\n nz-checkbox\n [nzDisabled]=\"settingSrv?.isEditor == false\"\n [(ngModel)]=\"sourceField.props.izSysName\"\n (ngModelChange)=\"valueChange()\"\n >显示系统名称(创建人|修改人)</label\n >\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"sourceField.type == 'radiogroup'\">\n <div class=\"paragraph\">\n <label>显示格式</label>\n <nz-radio-group\n nzButtonStyle=\"solid\"\n [nzDisabled]=\"settingSrv?.isEditor == false\"\n [(ngModel)]=\"sourceField.props.type\"\n (ngModelChange)=\"valueChange()\"\n >\n <label nz-radio-button nzValue=\"default\">默认</label>\n <label nz-radio-button nzValue=\"button\">按钮</label>\n </nz-radio-group>\n </div>\n </ng-container>\n <ng-container *ngIf=\"sourceField.type == 'textarea'\">\n <div class=\"paragraph\">\n <label>显示格式</label>\n <nz-radio-group\n nzButtonStyle=\"solid\"\n [nzDisabled]=\"settingSrv?.isEditor == false\"\n [(ngModel)]=\"sourceField.props.type\"\n (ngModelChange)=\"valueChange()\"\n >\n <label nz-radio-button nzValue=\"default\">默认</label>\n <label nz-radio-button nzValue=\"richtext\">富文本编辑器</label>\n </nz-radio-group>\n </div>\n </ng-container>\n <div class=\"paragraph\" *ngIf=\"sourceType?.repeat != true\">\n <label>字段布局</label>\n <nz-radio-group\n nzButtonStyle=\"solid\"\n [nzDisabled]=\"settingSrv?.isEditor == false\"\n [(ngModel)]=\"sourceField.props.layout\"\n (ngModelChange)=\"valueChange()\"\n >\n <label nz-radio-button nzValue=\"default\">左右</label>\n <label nz-radio-button nzValue=\"upDown\">上下</label>\n </nz-radio-group>\n </div>\n <ng-container *ngIf=\"sourceField.type == 'datetime'\">\n <div class=\"paragraph\">\n <label>日期格式</label>\n <nz-select\n [nzDisabled]=\"settingSrv?.isEditor == false\"\n [(ngModel)]=\"sourceField.props.type\"\n (ngModelChange)=\"valueChange()\"\n >\n <nz-option nzValue=\"YYYY\" nzLabel=\"年\"></nz-option>\n <nz-option nzValue=\"MM\" nzLabel=\"月\"></nz-option>\n <nz-option nzValue=\"YYYYMM\" nzLabel=\"年月\"></nz-option>\n <nz-option nzValue=\"YYYYMMDD\" nzLabel=\"年月日\"></nz-option>\n <nz-option nzValue=\"YYYYMMDDHH\" nzLabel=\"年月日时\"></nz-option>\n <nz-option nzValue=\"YYYYMMDDHHMM\" nzLabel=\"年月日时分\"></nz-option>\n <nz-option nzValue=\"YYYYMMDDHHMMSS\" nzLabel=\"年月日时分秒\"></nz-option>\n <nz-option nzValue=\"HHMM\" nzLabel=\"时分\"></nz-option>\n <nz-option nzValue=\"HHMMSS\" nzLabel=\"时分秒\"></nz-option>\n </nz-select>\n </div>\n <div class=\"paragraph\">\n <label\n nz-checkbox\n [nzDisabled]=\"settingSrv?.isEditor == false\"\n [(ngModel)]=\"sourceField.props.defaultDate\"\n (ngModelChange)=\"valueChange()\"\n >默认显示系统时间</label\n >\n </div>\n </ng-container>\n <ng-container *ngIf=\"sourceField.type == 'text' || sourceField.type == 'textarea'\">\n <div class=\"paragraph\">\n <label>默认值</label>\n <input\n nz-input\n [disabled]=\"settingSrv?.isEditor == false\"\n [(ngModel)]=\"sourceField.defaultValue\"\n [maxLength]=\"sourceField.props?.maxLength > 0 ? sourceField.props?.maxLength : 500\"\n (nzBlur)=\"valueChange()\"\n />\n </div>\n </ng-container>\n <div class=\"paragraph\">\n <label>隐藏条件配置</label>\n <textarea\n nz-input\n [disabled]=\"settingSrv?.isEditor == false\"\n rows=\"4\"\n [(ngModel)]=\"sourceField.props.hideJson\"\n (blur)=\"valueChange()\"\n ></textarea>\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n DragDropModule,\n NzInputModule,\n NzInputNumberModule,\n NzCheckboxModule,\n NzRadioModule,\n NzSelectModule\n ]\n})\nexport class DeonDesignSettingCommon extends DeonDesignSettingBasic implements OnInit {\n constructor(\n public override message: NzMessageService,\n public settingSrv: SettingService\n ) {\n super(message);\n }\n\n ngOnInit() { }\n\n deleteOption(i: number) {\n this.sourceField.props.options.splice(i, 1);\n this.valueChange();\n }\n\n addOption() {\n if (this.sourceField.props.options == undefined || this.sourceField.props.options == null) {\n this.sourceField.props.options = [];\n }\n this.sourceField.props.options.push({\n label: '选项',\n value: this.datetimeString(),\n });\n this.valueChange();\n }\n\n drop(event: CdkDragDrop<string[]>) {\n moveItemInArray(event.container.data, event.previousIndex, event.currentIndex);\n this.valueChange();\n }\n}\n","import { Component, OnInit, Input } from '@angular/core';\nimport { TransferItem } from 'ng-zorro-antd/transfer';\nimport { NzDrawerRef } from '@ebuilding/base/components/drawer';\nimport _ from 'lodash';\n\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { NzTransferModule } from 'ng-zorro-antd/transfer';\nimport { NzButtonModule } from 'ng-zorro-antd/button';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\n\n@Component({\n selector: 'select-field',\n templateUrl: './index.html',\n styleUrls: ['./index.less'],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n NzTransferModule,\n NzButtonModule,\n NzIconModule\n ]\n})\nexport class DialogSelectField implements OnInit {\n _source: any = {};\n list: TransferItem[] = [];\n selectList: any[] = [];\n @Input()\n set source(value: any) {\n this.initFieldList(value);\n this._source = value;\n }\n get source() {\n return this._source;\n }\n\n change(e: any): void {\n if (e.from == 'left' && e.to == 'right') {\n e.list.reverse().forEach((item: any) => {\n this.selectList.unshift(item.key);\n });\n } else if (e.from == 'right' && e.to == 'left') {\n e.list.forEach((item: any) => {\n this.selectList = this.selectList.filter((sel: any) => {\n return sel != item.key;\n });\n });\n }\n }\n\n constructor(public drawerRef: NzDrawerRef<any>) { }\n\n ngOnInit(): void { }\n\n btnSave() {\n this.drawerRef.close({\n type: 'save',\n data: this.selectList,\n });\n }\n\n btnClose() {\n this.drawerRef.close({\n type: 'close',\n data: null,\n });\n }\n\n initFieldList(e: any) {\n let data: any[] = [];\n if (e!! && e.tableField!! && e.fieldGroup!! && e.tableField.length > 0) {\n e.tableField.forEach((field: any) => {\n let direction: any = 'left';\n if (e.fieldGroup.length > 0) {\n if (\n e.fieldGroup.some((e: any) => {\n return e.key == field.id;\n })\n ) {\n direction = 'right';\n this.selectList.push(field.id);\n }\n }\n data.push({\n key: field.id,\n title: field.name,\n direction: direction,\n });\n });\n }\n this.list = data;\n }\n}\n","<div class=\"transfer-box\">\n <nz-transfer [nzDataSource]=\"list\" [nzTitles]=\"['表字段', '显示字段']\" (nzChange)=\"change($event)\"> </nz-transfer>\n</div>\n<div class=\"button-box\">\n <button nz-button nzType=\"default\" (click)=\"btnClose()\" type=\"button\"><i nz-icon nzType=\"close\"></i>取消</button>\n <button nz-button nzType=\"primary\" (click)=\"btnSave()\" type=\"button\"><i nz-icon nzType=\"save\"></i>确定</button>\n</div>\n","import { Injectable } from '@angular/core';\r\nimport { IndicatorType, EvalType } from '@ebuilding/base/shared.util/comm.kpi';\r\nimport { Guid } from '@ebuilding/base/shared.util/guid';\r\n\r\n@Injectable()\r\nexport class FieldSourceService {\r\n /**\r\n * 获取默认字段\r\n * @param type\r\n * @returns\r\n */\r\n fieldSourceType(source: any) {\r\n let field: any = {};\r\n switch (source.type) {\r\n case 'TEXT':\r\n field = this.text(source);\r\n break;\r\n case 'COLOR':\r\n field = this.color(source);\r\n break;\r\n case 'ICON':\r\n field = this.icon(source);\r\n break;\r\n case 'TEXTAREA':\r\n field = this.textArea(source);\r\n break;\r\n case 'INT':\r\n field = this.number(source, 0);\r\n break;\r\n case 'FLOAT':\r\n field = this.number(source, source.precision);\r\n break;\r\n case 'DATETIME':\r\n field = this.datetime(source);\r\n break;\r\n case 'BOOLEAN':\r\n field = this.fieldBoolean(source);\r\n break;\r\n case 'ITEM':\r\n field = this.select(source);\r\n break;\r\n case 'MULTIPLE':\r\n field = this.repeat(source);\r\n break;\r\n case 'TREE':\r\n field = this.tree(source);\r\n break;\r\n case 'REF':\r\n field = this.lookup(source);\r\n break;\r\n case 'ONETOMANY':\r\n field = this.lookupMany(source);\r\n break;\r\n case 'ATTACHMENT':\r\n field = this.upload(source);\r\n break;\r\n case 'INDICATOR':\r\n field = this.indicator(source);\r\n break;\r\n default:\r\n break;\r\n }\r\n\r\n return field;\r\n }\r\n\r\n /**\r\n * 单行文本\r\n * @param field\r\n * @returns\r\n */\r\n private text(field: any) {\r\n let sysType: any = null;\r\n if (field.code == 'create_user' || field.code == 'modify_user') {\r\n sysType = field.code.toUpperCase();\r\n }\r\n let config: any = {\r\n type: 'text',\r\n key: field.id,\r\n defaultValue: null,\r\n props: {\r\n type: null,\r\n sysType: sysType,\r\n izSysName: false,\r\n label: field.name,\r\n required: field?.required == true ? true : false,\r\n maxLength: field.maxLength,\r\n minLength: null,\r\n placeholder: `请输入${field.name}`,\r\n layout: 'default',\r\n },\r\n };\r\n if (field.izCodeRule && field.codeRuleId!!) {\r\n config = {\r\n type: 'textcode',\r\n key: field.id,\r\n defaultValue: null,\r\n props: {\r\n label: field.name,\r\n required: field?.required == true ? true : false,\r\n maxLength: field.maxLength,\r\n minLength: null,\r\n placeholder: `请输入${field.name}`,\r\n layout: 'default',\r\n },\r\n };\r\n }\r\n\r\n return config;\r\n }\r\n\r\n private color(field: any) {\r\n let config: any = {\r\n type: 'color',\r\n key: field.id,\r\n defaultValue: null,\r\n props: {\r\n label: field.name,\r\n required: field?.required == true ? true : false,\r\n layout: 'default',\r\n },\r\n };\r\n return config;\r\n }\r\n\r\n private icon(field: any) {\r\n let config: any = {\r\n type: 'icon',\r\n key: field.id,\r\n defaultValue: null,\r\n props: {\r\n label: field.name,\r\n required: field?.required == true ? true : false,\r\n layout: 'default',\r\n },\r\n };\r\n return config;\r\n }\r\n\r\n /**\r\n * 多行文本\r\n * @param field\r\n * @returns\r\n */\r\n private textArea(field: any) {\r\n let config: any = {\r\n type: 'textarea',\r\n key: field.id,\r\n defaultValue: null,\r\n props: {\r\n label: field.name,\r\n required: field?.required == true ? true : false,\r\n maxLength: field.maxLength,\r\n minLength: field.minLength,\r\n placeholder: `请输入${field.name}`,\r\n rows: 3,\r\n layout: 'default',\r\n },\r\n };\r\n return config;\r\n }\r\n\r\n /**\r\n * 整数、小数 类型\r\n * @param field\r\n * @param precision\r\n * @returns\r\n */\r\n private number(field: any, precision: number) {\r\n let config: any = {\r\n type: 'number',\r\n key: field.id,\r\n defaultValue: null,\r\n props: {\r\n label: field.name,\r\n required: field?.required == true ? true : false,\r\n max: field.max,\r\n min: field.min,\r\n placeholder: `请输入${field.name}`,\r\n precision: precision,\r\n layout: 'default',\r\n },\r\n };\r\n return config;\r\n }\r\n\r\n /**\r\n * 日期型\r\n * @param field\r\n * @returns\r\n */\r\n private datetime(field: any) {\r\n let config: any = {\r\n type: 'datetime',\r\n key: field.id,\r\n defaultValue: null,\r\n props: {\r\n type: 'datetime',\r\n label: field.name,\r\n required: field?.required == true ? true : false,\r\n layout: 'default',\r\n },\r\n };\r\n return config;\r\n }\r\n\r\n /**\r\n * 布尔值\r\n * @param field\r\n * @returns\r\n */\r\n private fieldBoolean(field: any) {\r\n let config: any = {\r\n type: 'radiogroup',\r\n key: field.id,\r\n defaultValue: true,\r\n props: {\r\n type: 'default',\r\n label: field.name,\r\n options: [\r\n { label: '是', value: true },\r\n { label: '否', value: false },\r\n ],\r\n required: field?.required == true ? true : false,\r\n layout: 'default',\r\n sourceType: 'boolean',\r\n },\r\n };\r\n return config;\r\n }\r\n\r\n /**\r\n * 选择\r\n * @param field\r\n * @returns\r\n */\r\n private select(field: any) {\r\n let config: any = {\r\n type: 'select',\r\n key: field.id,\r\n defaultValue: null,\r\n props: {\r\n label: field.name,\r\n required: field?.required == true ? true : false,\r\n options: [],\r\n placeholder: `请选择${field.name}`,\r\n layout: 'default',\r\n selectType: field?.multiple == true ? 'multiple' : 'single',\r\n },\r\n };\r\n return config;\r\n }\r\n\r\n /**\r\n * 子表单\r\n * @param field\r\n * @returns\r\n */\r\n private repeat(field: any) {\r\n let config: any = {\r\n type: 'repeat',\r\n key: field.id,\r\n props: {\r\n type: 'default',\r\n label: field.name,\r\n },\r\n fieldArray: {\r\n fieldGroup: [],\r\n },\r\n };\r\n return config;\r\n }\r\n\r\n private tree(field: any) {\r\n let config: any = {\r\n type: 'tree',\r\n key: field.id,\r\n defaultValue: null,\r\n props: {\r\n label: field.name,\r\n treeId: field.refId,\r\n required: field?.required == true ? true : false,\r\n placeholder: `请选择${field.name}`,\r\n layout: 'default',\r\n selectType: field?.multiple == true ? 'multiple' : 'single',\r\n },\r\n };\r\n return config;\r\n }\r\n\r\n private lookup(field: any) {\r\n let config: any = {\r\n type: 'lookup',\r\n key: field.id,\r\n defaultValue: null,\r\n props: {\r\n label: field.name,\r\n required: field?.required == true ? true : false,\r\n placeholder: `请选择${field.name}`,\r\n layout: 'default',\r\n selectType: field?.multiple == true ? 'multiple' : 'single',\r\n },\r\n };\r\n return config;\r\n }\r\n private lookupMany(field: any) {\r\n let config: any = {\r\n type: 'one2many',\r\n key: field.id,\r\n defaultValue: null,\r\n props: {\r\n label: field.name,\r\n required: field?.required == true ? true : false,\r\n placeholder: `请选择${field.name}`,\r\n layout: 'default',\r\n selectType: 'multiple',\r\n },\r\n };\r\n return config;\r\n }\r\n\r\n /**\r\n * 附件 类型\r\n * @param field\r\n * @param precision\r\n * @returns\r\n */\r\n private upload(field: any) {\r\n let config: any = {\r\n type: 'upload',\r\n key: field.id,\r\n defaultValue: null,\r\n props: {\r\n label: field.name,\r\n required: field?.required == true ? true : false,\r\n placeholder: `请上传${field.name}`,\r\n layout: 'default',\r\n },\r\n };\r\n if (field?.max != undefined && field?.max != null && field?.max > 0) {\r\n config.props['max'] = field.max;\r\n }\r\n return config;\r\n }\r\n\r\n private indicator(field: any) {\r\n let indTypeValue: any = 'KPI';\r\n let evalTypeValue: any = 'SCORE';\r\n if (field?.indType) {\r\n indTypeValue = field.indType;\r\n }\r\n if (field?.evalType) {\r\n evalTypeValue = field.evalType;\r\n }\r\n\r\n let group: any[] = [\r\n {\r\n key: `name`,\r\n type: 'text',\r\n props: {\r\n label: '指标名称',\r\n placeholder: `请输入指标名称`,\r\n required: true,\r\n minLength: 0,\r\n maxLength: 500,\r\n layout: 'default',\r\n },\r\n className: 'full-row',\r\n defaultValue: field?.name,\r\n },\r\n {\r\n key: `indType`,\r\n type: 'select',\r\n props: {\r\n label: '指标类型',\r\n placeholder: `请选择指标类型`,\r\n required: false,\r\n layout: 'default',\r\n options: IndicatorType(),\r\n },\r\n editor: false,\r\n defaultValue: indTypeValue,\r\n },\r\n {\r\n key: `evalType`,\r\n type: 'select',\r\n props: {\r\n label: '评估方式',\r\n placeholder: `请选择评估方式`,\r\n required: false,\r\n layout: 'default',\r\n options: EvalType(),\r\n },\r\n editor: false,\r\n defaultValue: evalTypeValue,\r\n },\r\n ];\r\n\r\n if (field?.listItem && Array.isArray(field?.listItem)) {\r\n field.listItem.forEach((item: any) => {\r\n item.id = `item_${item.id}`;\r\n let newItem: any = this.fieldSourceType(item);\r\n if (newItem) {\r\n group.push(newItem);\r\n }\r\n });\r\n }\r\n\r\n if (field?.indType == 'KPI') {\r\n group.push({\r\n key: `weight`,\r\n type: 'number',\r\n props: {\r\n label: '指标权重',\r\n placeholder: `请输入指标权重`,\r\n required: true,\r\n min: -100,\r\n max: 300,\r\n layout: 'default',\r\n unit: '%',\r\n },\r\n defaultValue: 0,\r\n });\r\n }\r\n\r\n group.push({\r\n key: `desc`,\r\n type: 'textarea',\r\n props: {\r\n label: '指标描述',\r\n placeholder: `请输入指标描述`,\r\n required: false,\r\n minLength: 0,\r\n maxLength: 800,\r\n rows: 3,\r\n layout: 'default',\r\n },\r\n defaultValue: field?.description,\r\n });\r\n\r\n let indKey: any = Guid.createId();\r\n let config: any = {\r\n type: 'indicator',\r\n key: `ind_${indKey}`,\r\n defaultValue: null,\r\n props: {\r\n indConfig: {\r\n indType: indTypeValue,\r\n sourceId: field.id,\r\n sourceType: 'LIBRARY',\r\n izAllowDel: true,\r\n izEditName: true,\r\n izEditDesc: true,\r\n izEditWeight: true,\r\n },\r\n },\r\n fieldGroup: group,\r\n };\r\n return config;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\nimport { NzModalService } from 'ng-zorro-antd/modal';\nimport { NzDrawerService } from '@ebuilding/base/components/drawer';\n\ntype ModalSizeType = 'small' | 'medium' | 'large' | 'custom' | 'upload' | null;\nexport interface ModalOptions {\n nzContent: any; //组件\n nzFooter?: any;\n nzModel?: ''; //multiple\n nzMask?: boolean;\n size?: ModalSizeType; //小/中/大\n nzTitle?: string; //标题\n primaryLabel?: string; //按钮‘label’,不传默认为‘确定’\n vertical?: boolean; //弹框是否为垂直居中,默认不垂直居中\n hideBtn?: boolean; //是否隐藏footer按钮\n showResetBtn?: boolean; //是否显示重置按钮\n width?: number;\n height?: number;\n nzClosable?: boolean;\n style?: any;\n innerWidth?: boolean;\n}\n@Injectable({\n providedIn: 'root',\n})\nexport class FieldDialogService {\n constructor(public modalService: NzModalService, public drawerService: NzDrawerService) { }\n switchSize(size: any) {\n const obj = {\n width: 700,\n height: 500,\n };\n switch (size) {\n case 'small':\n obj.width = 530;\n obj.height = 400;\n break;\n case 'medium':\n obj.width = 700;\n obj.height = 500;\n break;\n case 'large':\n obj.width = 1100;\n obj.height = 700;\n break;\n case 'upload':\n obj.width = 700;\n obj.height = 400;\n break;\n default:\n obj.width = 700;\n obj.height = 500;\n break;\n }\n return obj;\n }\n public CreateModelDialog(modalOptions: ModalOptions, params: any, callback: any) {\n let width: any = this.switchSize(modalOptions.size).width;\n let height: any = this.switchSize(modalOptions.size).height;\n let style: any = null;\n if (modalOptions.size && modalOptions.size === 'custom') {\n if (modalOptions.width) {\n width = modalOptions.width;\n }\n if (modalOptions.height) {\n height = modalOptions.height;\n }\n if (modalOptions.style) {\n style = modalOptions.style;\n }\n }\n\n if (modalOptions.nzContent == undefined || modalOptions.nzContent == null) {\n }\n let title = '';\n switch (params.type) {\n case 'add':\n title = '新增 - ';\n break;\n case 'edit':\n case 'edit_state':\n title = '编辑 - ';\n break;\n case 'view':\n case 'primary_key':\n title = '查看 - ';\n break;\n default:\n break;\n }\n if (modalOptions.nzTitle) {\n title = title + modalOptions.nzTitle;\n }\n const modal: any = this.modalService.create({\n nzStyle: style,\n nzTitle: title,\n nzWidth: width + 'px',\n nzClosable: modalOptions.nzClosable != undefined ? modalOptions.nzClosable : true,\n nzMaskClosable: false,\n nzWrapClassName: modalOptions.vertical ? 'vertical-center-modal' : '',\n nzBodyStyle: {\n padding: '0',\n height: !modalOptions.hideBtn ? height - 107 + 'px' : height - 54 + 'px',\n },\n nzContent: modalOptions.nzContent,\n nzFooter:\n params.type !== 'view' && params.type !== 'upload'\n ? [\n {\n show: true,\n label: '取消',\n type: 'default',\n onClick: (e: any) => {\n modal.destroy();\n },\n },\n {\n show: true,\n label: modalOptions.primaryLabel ? modalOptions.primaryLabel : '确定',\n type: 'primary',\n onClick: (e: any) => callback('save', e, modal),\n },\n // {\n // show: params.type === 'add',\n // label: modalOptions.primaryLabel ? modalOptions.primaryLabel : '确定继续录入',\n // type: 'primary',\n // onClick: (e: any) => callback('save-next', e, modal),\n // },\n ]\n : null,\n nzOnOk: (e: any) => { },\n nzOnCancel: (e: any) => { },\n //nzComponentParams: params,\n });\n\n if (modal.getContentComponent()) {\n Object.assign(modal.getContentComponent(), params);\n }\n\n modal.afterClose.subscribe((result: any) => {\n if (result) {\n callback(result);\n }\n });\n }\n\n public CreateModelDialogSelect(modalOptions: ModalOptions, params: any, callback: any) {\n const width = this.switchSize(modalOptions.size).width;\n const height = this.switchSize(modalOptions.size).height;\n\n const modal: any = this.modalService.create({\n nzTitle: modalOptions.nzTitle ? modalOptions.nzTitle : '提示',\n nzWidth: width + 'px',\n nzClosable: true,\n nzMaskClosable: false,\n nzWrapClassName: modalOptions.vertical ? 'vertical-center-modal' : '',\n nzBodyStyle: {\n padding: '0',\n height: !modalOptions.hideBtn ? height - 107 + 'px' : height - 54 + 'px',\n },\n nzContent: modalOptions.nzContent,\n nzFooter: [\n {\n show: true,\n label: '取消',\n type: 'default',\n onClick: (e: any) => {\n modal.destroy();\n },\n },\n {\n show: true,\n label: modalOptions.primaryLabel ? modalOptions.primaryLabel : '确定',\n type: 'primary',\n loading: false,\n onClick(e: any): void {\n this.loading = true;\n callback('save', e, modal);\n },\n },\n ],\n nzOnOk: (e: any) => { },\n nzOnCancel: (e: any) => { },\n //nzComponentParams: params,\n });\n\n if (modal.getContentComponent()) {\n Object.assign(modal.getContentComponent(), params);\n }\n\n modal.afterClose.subscribe((result: any) => {\n if (result) {\n callback(result);\n }\n });\n }\n\n public CreateDrawerDialog(modalOptions: ModalOptions, params: any, callback: any) {\n let width = this.switchSize(modalOptions.size).width;\n\n if (modalOptions.size && modalOptions.size === 'custom') {\n if (modalOptions.width) {\n width = modalOptions.width;\n }\n }\n\n if (modalOptions.innerWidth != false) {\n width = window.innerWidth - 400;\n }\n\n let title = '';\n switch (params.type) {\n case 'add':\n title = '新增 - ';\n break;\n case 'edit':\n case 'edit_state':\n title = '编辑 - ';\n break;\n case 'view':\n case 'primary_key':\n title = '查看 - ';\n break;\n case 'approve':\n title = '审批 - ';\n break;\n default:\n break;\n }\n if (modalOptions.nzTitle) {\n title = title + modalOptions.nzTitle;\n }\n\n const modal: any = this.drawerService.create({\n nzTitle: title,\n nzWidth: width + 'px',\n nzClosable: modalOptions?.nzClosable == false ? false : true,\n nzMask: modalOptions?.nzMask == false ? false : true,\n nzMaskClosable: false,\n nzKeyboard: false,\n nzWrapClassName: modalOptions.vertical ? 'vertical-center-modal' : '',\n nzBodyStyle: {\n padding: '0',\n },\n nzContent: modalOptions.nzContent,\n nzContentParams: {\n ...params,\n },\n });\n\n modal.afterClose.subscribe((result: any) => {\n if (result) {\n if (result.destroy!!) {\n result.destroy();\n }\n callback(result);\n }\n });\n }\n}\n","import { Component, OnInit, ChangeDetectorRef } from '@angular/core';\nimport { DragDropModule, CdkDragDrop, moveItemInArray } from '@angular/cdk/drag-drop';\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { NzInputModule } from 'ng-zorro-antd/input';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\n\nimport { NzMessageService } from 'ng-zorro-antd/message';\nimport { SettingService } from './setting.service';\nimport { DeonDesignSettingBasic } from './setting';\nimport { DialogSelectField } from '../dialog.field/index';\nimport { FieldSourceService } from '../../services/field-source.service';\nimport { FieldDialogService } from '../../services/field-dialog.service';\n\n@Component({\n selector: 'deon-setting-repeat',\n template: `\n <div class=\"paragraph\">\n <label>标题</label>\n <input\n nz-input\n [disabled]=\"settingSrv?.isEditor == false\"\n [(ngModel)]=\"sourceField.props.label\"\n maxLength=\"2000\"\n (blur)=\"valueChange()\"\n />\n </div>\n <div class=\"paragraph\">\n <label>列配置项</label>\n <div\n class=\"list\"\n cdkDropList\n [cdkDropListData]=\"sourceField.fieldArray.fieldGroup\"\n (cdkDropListDropped)=\"drop($event)\"\n cdkDropListConnectedTo=\"all\"\n id=\"all\"\n >\n <div class=\"rows\" cdkDragLockAxis=\"y\" cdkDrag *ngFor=\"let item of sourceField.fieldArray.fieldGroup; let i = index\">\n <i nz-icon nzType=\"drag\"></i>\n <span class=\"title\">{{ item.props.label }}</span>\n <span nz-icon nzType=\"minus-circle\" (click)=\"deleteOption(i, item.key)\" *ngIf=\"settingSrv?.isEditor != false\"></span>\n </div>\n <a (click)=\"addField()\" *ngIf=\"settingSrv?.isEditor != false\"> 添加字段</a>\n </div>\n </div>\n `,\n providers: [FieldDialogService, FieldSourceService],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n DragDropModule,\n NzInputModule,\n NzIconModule\n ]\n})\nexport class DeonDesignSettingRepeat extends DeonDesignSettingBasic implements OnInit {\n constructor(\n public ref: ChangeDetectorRef,\n message: NzMessageService,\n public settingSrv: SettingService,\n public dialogSrv: FieldDialogService,\n public fieldSourceSrv: FieldSourceService,\n ) {\n super(message);\n }\n\n ngOnInit() { }\n\n deleteOption(i: number, key: any) {\n let selectFileds = this.sourceField.fieldArray.fieldGroup.filter((item: any, index: any, obj: any) => {\n return index != i;\n });\n\n this.sourceField.fieldArray.fieldGroup = selectFileds;\n\n this.valueChange();\n }\n\n drop(event: CdkDragDrop<string[]>) {\n if (this.settingSrv?.isEditor != false) {\n moveItemInArray(event.container.data, event.previousIndex, event.currentIndex);\n this.valueChange();\n }\n }\n\n addField() {\n this.dialogSrv.CreateDrawerDialog(\n {\n nzTitle: `选择${this.settingSrv.tableField.name} - 表字段`,\n nzContent: DialogSelectField,\n nzClosable: true,\n size: 'custom',\n width: 750,\n innerWidth: false,\n },\n {\n source: {\n tableField: this.settingSrv.tableField.listField,\n fieldGroup: this.sourceField.fieldArray.fieldGroup,\n },\n },\n (instance: any) => {\n if (instance && instance.type && instance.type == 'save') {\n let data: any[] = [];\n instance.data.forEach((v: any) => {\n let findList: any[] = this.settingSrv.tableField.listField.filter((f: any) => {\n return f.id == v;\n });\n if (findList!! && findList.length > 0) {\n data.push(findList[0]);\n }\n });\n this.getFieldGroup(data);\n }\n },\n );\n }\n\n private getFieldGroup(tableField: any[]) {\n let data: any[] = [];\n if (tableField!! && tableField.length > 0) {\n tableField.forEach((v: any) => {\n let findField: any = this.getFieldGroupSource(v);\n if (findField == null) {\n let item: any = this.fieldSourceSrv.fieldSourceType(v);\n if (item!!) {\n data.push(item);\n }\n } else {\n data.push(findField);\n }\n });\n }\n\n this.sourceField.fieldArray.fieldGroup.length = 0;\n\n this.sourceField.fieldArray.fieldGroup = [...this.sourceField.fieldArray.fieldGroup, ...data];\n this.valueChange();\n }\n\n private getFieldGroupSource(tableField: any) {\n let result: any = null;\n if (this.sourceField.fieldArray.fieldGroup!! && this.sourceField.fieldArray.fieldGroup.length > 0) {\n this.sourceField.fieldArray.fieldGroup.forEach((element) => {\n if (element.key == tableField.id) {\n result = element;\n }\n });\n }\n return result;\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { NzInputModule } from 'ng-zorro-antd/input';\nimport { NzMessageService } from 'ng-zorro-antd/message';\nimport { DeonDesignSettingBasic } from './setting';\nimport { SettingService } from './setting.service';\n@Component({\n selector: 'deon-setting-label',\n template: `\n <div class=\"paragraph\">\n <label>标题</label>\n <input\n nz-input\n [disabled]=\"settingSrv?.isEditor == false\"\n [(ngModel)]=\"sourceField.props.label\"\n maxLength=\"2000\"\n (blur)=\"valueChange()\"\n />\n </div>\n `,\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n NzInputModule\n ]\n})\nexport class DeonDesignSettingLabel extends DeonDesignSettingBasic implements OnInit {\n constructor(message: NzMessageService, public settingSrv: SettingService) {\n super(message);\n }\n\n ngOnInit() { }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { NzMessageService } from 'ng-zorro-antd/message';\n\nimport { DeonDesignSettingBasic } from './setting';\n@Component({\n selector: 'deon-setting-desc',\n template: `\n <div class=\"paragraph\">\n <label>标题</label>\n <deon-inline-editor [(ngModel)]=\"sourceField.props.label\"></deon-inline-editor>\n </div>\n `,\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule\n ]\n})\nexport class DeonDesignSettingDesc extends DeonDesignSettingBasic implements OnInit {\n constructor(message: NzMessageService) {\n super(message);\n }\n\n ngOnInit() { }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { NzInputModule } from 'ng-zorro-antd/input';\nimport { NzRadioModule } from 'ng-zorro-antd/radio';\nimport { NzMessageService } from 'ng-zorro-antd/message';\nimport { DeonDesignSettingBasic } from './setting';\nimport { SettingService } from './setting.service';\n@Component({\n selector: 'deon-setting-line',\n template: `\n <div class=\"paragraph\">\n <label>标题</label>\n <input\n nz-input\n [disabled]=\"settingSrv?.isEditor == false\"\n [(ngModel)]=\"sourceField.props.label\"\n maxLength=\"50\"\n (blur)=\"valueChange()\"\n />\n </div>\n <div class=\"paragraph\">\n <label>文字位置</label>\n <nz-radio-group\n nzButtonStyle=\"solid\"\n [nzDisabled]=\"settingSrv?.isEditor == false\"\n [(ngModel)]=\"sourceField.props.orientation\"\n >\n <label nz-radio-button nzValue=\"left\">左边</label>\n <label nz-radio-button nzValue=\"center\">中间</label>\n <label nz-radio-button nzValue=\"right\">右边</label>\n </nz-radio-group>\n </div>\n `,\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n NzInputModule,\n NzRadioModule\n ]\n})\nexport class DeonDesignSettingLine extends DeonDesignSettingBasic implements OnInit {\n constructor(message: NzMessageService, public settingSrv: SettingService) {\n super(message);\n }\n\n ngOnInit() { }\n}\n","import { Component, OnInit, EventEmitter, Output } from '@angular/core';\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { NzInputNumberModule } from 'ng-zorro-antd/input-number';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\nimport { NzMessageService } from 'ng-zorro-antd/message';\nimport { DeonDesignSettingBasic } from './setting';\nimport { SettingService } from './setting.service';\nimport _ from 'lodash';\n\n@Component({\n selector: 'deon-setting-grid',\n template: `\n <div class=\"paragraph\">\n <label>列配置项</label>\n <ng-container *ngFor=\"let item of sourceField.fieldGroup; let index = index\">\n <div class=\"rows\">\n <nz-input-number\n [nzDisabled]=\"settingSrv?.isEditor == false\"\n [(ngModel)]=\"item.props.cols\"\n [nzMin]=\"1\"\n [nzMax]=\"24\"\n [nzStep]=\"1\"\n ></nz-input-number>\n <span nz-icon nzType=\"minus-circle\" (click)=\"delCols(index)\" *ngIf=\"settingSrv?.isEditor != false\"></span>\n </div>\n </ng-container>\n <a (click)=\"addCols()\" *ngIf=\"settingSrv?.isEditor != false\"> 添加列</a>\n </div>\n `,\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n NzInputNumberModule,\n NzIconModule\n ]\n})\nexport class DeonDesignSettingGrid extends DeonDesignSettingBasic implements OnInit {\n @Output() delGridCell: EventEmitter<any> = new EventEmitter();\n constructor(message: NzMessageService, public settingSrv: SettingService) {\n super(message);\n }\n\n ngOnInit() { }\n\n /**\n * 添加列\n */\n addCols() {\n this.sourceField.fieldGroup.push({\n type: 'list',\n props: {\n hideLabel: true,\n cols: 0,\n },\n fieldGroup: [],\n active: false,\n });\n }\n\n /**\n * 删除列\n */\n delCols(i: number) {\n if (i < 1) {\n this.message.warning('栅栏布局必须要有列');\n return;\n }\n // let group: any = _.cloneDeep(this.sourceField.fieldGroup[i]);\n // this.delGridCell.emit(group);\n this.sourceField.fieldGroup = this.sourceField.fieldGroup.filter((item: any, index: number) => {\n if (index != i) {\n return item;\n }\n });\n this.delGridCell.emit();\n }\n}\n","import { Component, OnInit, ChangeDetectionStrategy, Input } from '@angular/core';\nimport { DragDropModule, CdkDragDrop, moveItemInArray } from '@angular/cdk/drag-drop';\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { NzInputModule } from 'ng-zorro-antd/input';\nimport { NzRadioModule } from 'ng-zorro-antd/radio';\nimport { NzSelectModule } from 'ng-zorro-antd/select';\nimport { NzCheckboxModule } from 'ng-zorro-antd/checkbox';\n\nimport { NzMessageService } from 'ng-zorro-antd/message';\nimport { FormlyFieldConfig } from '@ebuilding-form/core';\nimport { DeonDesignSettingBasic } from './setting';\nimport { SettingService } from './setting.service';\n\n@Component({\n selector: 'deon-setting-lookup',\n template: `\n <div class=\"paragraph\">\n <label>标题</label>\n <input\n nz-input\n [disabled]=\"settingSrv?.isEditor == false\"\n [(ngModel)]=\"sourceField.props.label\"\n maxLength=\"80\"\n placeholder=\"请输入标题\"\n (blur)=\"valueChange()\"\n />\n </div>\n <div class=\"paragraph\">\n <label>页面显示类型</label>\n <nz-select\n nzAllowClear\n [nzDisabled]=\"settingSrv?.isEditor == false\"\n [(ngModel)]=\"sourceField.props.pageType\"\n (ngModelChange)=\"pageTypeChange()\"\n >\n <nz-option nzValue=\"LIST\" nzLabel=\"列表\"></nz-option>\n <nz-option nzValue=\"TREE\" nzLabel=\"树形\"></nz-option>\n <nz-option nzValue=\"SELECT\" nzLabel=\"下拉框\"></nz-option>\n </nz-select>\n </div>\n <div class=\"paragraph\" *ngIf=\"sourceField.props.type != 'system'\">\n <label>Tree/List/Select ID</label>\n <nz-select\n nzAllowClear\n nzShowSearch\n [nzDisabled]=\"settingSrv?.isEditor == false\"\n [(ngModel)]=\"sourceField.props.pageId\"\n (ngModelChange)=\"valueChange()\"\n >\n <ng-container *ngFor=\"let d of dialogData\">\n <nz-option [nzValue]=\"d.id\" [nzLabel]=\"d.name\"></nz-option>\n </ng-container>\n </nz-select>\n </div>\n <div class=\"paragraph\" *ngIf=\"sourceField.props.type == 'system'\">\n <label>列表Code</label>\n <input\n nz-input\n [disabled]=\"settingSrv?.isEditor == false\"\n [(ngModel)]=\"sourceField.props.pageCode\"\n maxLength=\"80\"\n placeholder=\"请输入列表Code\"\n (blur)=\"valueChange()\"\n />\n </div>\n\n <div class=\"paragraph\">\n <label\n nz-checkbox\n [nzDisabled]=\"settingSrv?.isEditor == false\"\n [(ngModel)]=\"sourceField.props.required\"\n (ngModelChange)=\"valueChange()\"\n >必填</label\n >\n <label\n *ngIf=\"sourceType?.repeat != true\"\n nz-checkbox\n [nzDisabled]=\"settingSrv?.isEditor == false\"\n [(ngModel)]=\"sourceField.props.hideLabel\"\n (ngModelChange)=\"valueChange()\"\n >隐藏标题</label\n >\n </div>\n\n <div class=\"paragraph\">\n <label\n nz-checkbox\n [nzDisabled]=\"settingSrv?.isEditor == false\"\n [(ngModel)]=\"sourceField.props.defaultUser\"\n (ngModelChange)=\"valueChange()\"\n >默认显示当前操作人</label\n >\n </div>\n <div class=\"paragraph\">\n <label\n nz-checkbox\n [nzDisabled]=\"settingSrv?.isEditor == false\"\n [(ngModel)]=\"sourceField.props.callCard\"\n (ngModelChange)=\"valueChange()\"\n >触发调用Header卡片</label\n >\n </div>\n <div class=\"paragraph\">\n <label>字段布局</label>\n <nz-radio-group\n nzButtonStyle=\"solid\"\n [nzDisabled]=\"settingSrv?.isEditor == false\"\n [(ngModel)]=\"sourceField.props.layout\"\n (ngModelChange)=\"valueChange()\"\n >\n <label nz-radio-button nzValue=\"default\">左右</label>\n <label nz-radio-button nzValue=\"upDown\">上下</label>\n </nz-radio-group>\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n DragDropModule,\n NzInputModule,\n NzRadioModule,\n NzSelectModule,\n NzCheckboxModule\n ]\n})\nexport class DeonDesignSettingLookup extends DeonDesignSettingBasic implements OnInit {\n dialogData: any[] = [];\n\n @Input()\n override set field(value: FormlyFieldConfig) {\n if (value != null && value != undefined) {\n this.sourceField = value;\n if (this.sourceField.props && this.sourceField.props.minLength) {\n this.minLength = this.sourceField.props.minLength;\n }\n if (this.sourceField.props && this.sourceField.props.maxLength) {\n this.maxLength = this.sourceField.props.maxLength;\n }\n this.defaultPageType();\n }\n }\n constructor(\n public override message: NzMessageService,\n public settingSrv: SettingService\n ) {\n super(message);\n }\n\n ngOnInit() { }\n\n deleteOption(i: number) {\n this.sourceField.props.options.splice(i, 1);\n this.valueChange();\n }\n\n addOption() {\n if (this.sourceField.props.options == undefined || this.sourceField.props.options == null) {\n this.sourceField.props.options = [];\n }\n this.sourceField.props.options.push({\n label: '选项',\n value: this.datetimeString(),\n });\n this.valueChange();\n }\n\n drop(event: CdkDragDrop<string[]>) {\n moveItemInArray(event.container.data, event.previousIndex, event.currentIndex);\n this.valueChange();\n }\n\n defaultPageType() {\n this.dialogData = [];\n if (this.sourceField.props.pageType!!) {\n if (this.dialogPageData!!)\n switch (this.sourceField.props.pageType) {\n case 'LIST':\n if (this.dialogPageData?.listPage!! && Array.isArray(this.dialogPageData.listPage)) {\n this.dialogData = this.dialogPageData.listPage;\n }\n break;\n case 'TREE':\n if (this.dialogPageData?.listTree!! && Array.isArray(this.dialogPageData.listTree)) {\n this.dialogData = this.dialogPageData.listTree;\n }\n break;\n case 'SELECT':\n if (this.dialogPageData?.listSelect!! && Array.isArray(this.dialogPageData.listSelect)) {\n this.dialogData = this.dialogPageData.listSelect;\n }\n break;\n }\n }\n }\n\n pageTypeChange() {\n this.sourceField.props.pageId = null;\n switch (this.sourceField.props?.pageType) {\n case 'TREE':\n this.sourceField.type = 'lookup_tree';\n break;\n case 'SELECT':\n this.sourceField.type = 'lookup_select';\n break;\n default:\n this.sourceField.type = 'lookup';\n break;\n }\n this.valueChange();\n this.defaultPageType();\n }\n}\n","import { Component, OnInit, Input } from '@angular/core';\nimport { NzMessageService } from 'ng-zorro-antd/message';\nimport { FormlyFieldConfig } from '@ebuilding-form/core';\nimport { DeonDesignSettingBasic } from './setting';\nimport { SettingService } from './setting.service';\n\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { NzInputModule } from 'ng-zorro-antd/input';\nimport { NzSelectModule } from 'ng-zorro-antd/select';\n\n@Component({\n selector: 'deon-setting-children',\n template: `\n <div class=\"paragraph\">\n <label>标题</label>\n <input\n nz-input\n [disabled]=\"settingSrv?.isEditor == false\"\n [(ngModel)]=\"sourceField.props.label\"\n maxLength=\"80\"\n placeholder=\"请输入标题\"\n (blur)=\"valueChange()\"\n />\n </div>\n\n <div class=\"paragraph\" *ngIf=\"sourceField.props.type != 'system'\">\n <label>子表单ID</label>\n <nz-select\n nzAllowClear\n nzShowSearch\n [nzDisabled]=\"settingSrv?.isEditor == false\"\n [(ngModel)]=\"sourceField.props.formId\"\n (ngModelChange)=\"formChildrenChange()\"\n >\n <ng-container *ngFor=\"let d of dialogFormData\">\n <nz-option [nzValue]=\"d.id\" [nzLabel]=\"d.name\"></nz-option>\n </ng-container>\n </nz-select> \n </div>\n `,\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n NzInputModule,\n NzSelectModule\n ]\n})\nexport class DeonDesignSettingChildren extends DeonDesignSettingBasic implements OnInit {\n @Input()\n override set field(value: FormlyFieldConfig) {\n if (value != null && value != undefined) {\n this.sourceField = value;\n if (this.sourceField.props && this.sourceField.props.minLength) {\n this.minLength = this.sourceField.props.minLength;\n }\n if (this.sourceField.props && this.sourceField.props.maxLength) {\n this.maxLength = this.sourceField.props.maxLength;\n }\n }\n }\n\n constructor(message: NzMessageService, public settingSrv: SettingService) {\n super(message);\n }\n\n ngOnInit() { }\n\n formChildrenChange() {\n this.dialogFormData.forEach((item: any) => {\n if (item.id == this.sourceField.props.formId) {\n this.sourceField.fieldArray.fieldGroup.length = 0;\n let data: any[] = JSON.parse(item.json);\n this.sourceField.fieldArray.fieldGroup = [...this.sourceField.fieldArray.fieldGroup, ...data];\n }\n });\n this.valueChange();\n }\n}\n","import { Component, OnInit, Input } from '@angular/core';\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { NzInputModule } from 'ng-zorro-antd/input';\nimport { NzInputNumberModule } from 'ng-zorro-antd/input-number';\nimport { NzRadioModule } from 'ng-zorro-antd/radio';\nimport { NzSelectModule } from 'ng-zorro-antd/select';\nimport { NzCheckboxModule } from 'ng-zorro-antd/checkbox';\n\nimport { NzMessageService } from 'ng-zorro-antd/message';\nimport { FormlyFieldConfig } from '@ebuilding-form/core';\nimport { DeonDesignSettingBasic } from './setting';\nimport { SettingService } from './setting.service';\n\n@Component({\n selector: 'deon-setting-reform',\n template: `\n <div class=\"paragraph\">\n <label>标题</label>\n <input\n nz-input\n [disabled]=\"settingSrv?.isEditor == false\"\n [(ngModel)]=\"sourceField.props.label\"\n maxLength=\"80\"\n placeholder=\"请输入标题\"\n (blur)=\"valueChange()\"\n />\n </div>\n\n <div class=\"paragraph\" *ngIf=\"sourceField.props.type != 'system'\">\n <label>子表单ID</label>\n <nz-select\n nzAllowClear\n nzShowSearch\n [nzDisabled]=\"settingSrv?.isEditor == false\"\n [(ngModel)]=\"sourceField.props.formId\"\n (ngModelChange)=\"formChildrenChange()\"\n >\n <ng-container *ngFor=\"let d of dialogFormData\">\n <nz-option [nzValue]=\"d.id\" [nzLabel]=\"d.name\"></nz-option>\n </ng-container>\n </nz-select>\n </div>\n\n <div class=\"paragraph\">\n <label>隐藏条件配置</label>\n <textarea\n rows=\"4\"\n nz-input\n [disabled]=\"settingSrv?.isEditor == false\"\n [(ngModel)]=\"sourceField.props.hideJson\"\n (blur)=\"valueChange()\"\n ></textarea>\n </div>\n `,\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n NzInputModule,\n NzInputNumberModule,\n NzRadioModule,\n NzSelectModule,\n NzCheckboxModule\n ]\n})\nexport class DeonDesignSettingReform extends DeonDesignSettingBasic implements OnInit {\n @Input()\n override set field(value: FormlyFieldConfig) {\n if (value != null && value != undefined) {\n this.sourceField = value;\n if (this.sourceField.props && this.sourceField.props.minLength) {\n this.minLength = this.sourceField.props.minLength;\n }\n if (this.sourceField.props && this.sourceField.props.maxLength) {\n this.maxLength = this.sourceField.props.maxLength;\n }\n }\n }\n\n constructor(message: NzMessageService, public settingSrv: SettingService) {\n super(message);\n }\n\n ngOnInit() { }\n\n formChildrenChange() {\n this.dialogFormData.forEach((item: any) => {\n if (item.id == this.sourceField.props.formId) {\n this.sourceField.fieldGroup.length = 0;\n let data: any[] = JSON.parse(item.json);\n this.sourceField.fieldGroup = [...this.sourceField.fieldGroup, ...data];\n }\n });\n this.valueChange();\n }\n}\n","import { Component, OnInit, Input } from '@angular/core';\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { NzInputModule } from 'ng-zorro-antd/input';\nimport { NzSelectModule } from 'ng-zorro-antd/select';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\n\nimport { NzMessageService } from 'ng-zorro-antd/message';\nimport { NzModalService } from 'ng-zorro-antd/modal';\nimport { FormlyFieldConfig } from '@ebuilding-form/core';\nimport { DeonDesignSettingBasic } from './setting';\nimport { SettingService } from './setting.service';\n@Component({\n selector: 'deon-setting-tabs',\n template: `\n <ng-container *ngFor=\"let item of sourceField.fieldGroup; let index = index\">\n <div class=\"paragraph-box\">\n <div class=\"paragraph\">\n <input\n nz-input\n [disabled]=\"settingSrv?.isEditor == false\"\n [(ngModel)]=\"item.props.label\"\n maxLength=\"80\"\n placeholder=\"请输入标题\"\n (blur)=\"valueChange()\"\n />\n </div>\n <div class=\"paragraph\">\n <label>子表单</label>\n <nz-select\n nzAllowClear\n nzShowSearch\n [nzDisabled]=\"settingSrv?.isEditor == false\"\n [(ngModel)]=\"item.props.formId\"\n (ngModelChange)=\"formChildrenChange(item)\"\n >\n <ng-container *ngFor=\"let d of dialogFormData\">\n <nz-option [nzValue]=\"d.id\" [nzLabel]=\"d.name\"></nz-option>\n </ng-container>\n </nz-select>\n </div>\n <div class=\"paragraph\">\n <label>显示条件配置</label>\n <textarea\n [disabled]=\"settingSrv?.isEditor == false\"\n rows=\"4\"\n nz-input\n [(ngModel)]=\"item.props.hideJson\"\n (blur)=\"valueChange()\"\n ></textarea>\n </div>\n <div class=\"tab-delete\" *ngIf=\"settingSrv?.isEditor != false\">\n <i nz-icon nzType=\"delete\" (click)=\"delTab(index)\"></i>\n </div>\n </div>\n </ng-container>\n <a (click)=\"addTab()\" *ngIf=\"settingSrv?.isEditor != false\">新增页签</a>\n `,\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n NzInputModule,\n NzSelectModule,\n NzIconModule\n ]\n})\nexport class DeonDesignSettingTabs extends DeonDesignSettingBasic implements OnInit {\n constructor(message: NzMessageService, public modalSrv: NzModalService, public settingSrv: SettingService) {\n super(message);\n }\n\n ngOnInit() { }\n\n delTab(i: number) {\n this.modalSrv.confirm({\n nzTitle: '您确定需要删除吗?',\n nzContent: `删除会把该页签下面的所有配置清空`,\n nzOnOk: () => {\n this.sourceField.fieldGroup = this.sourceField.fieldGroup.filter((item: any, index: number) => {\n return index != i;\n });\n this.valueChange();\n },\n });\n }\n\n addTab() {\n let item: FormlyFieldConfig = {\n type: 'tab',\n props: {\n label: '页签',\n formId: null,\n hideJson: null,\n },\n fieldGroup: [],\n };\n\n this.sourceField.fieldGroup.push(item);\n this.valueChange();\n }\n\n formChildrenChange(e: any) {\n this.dialogFormData.forEach((item: any) => {\n if (item.id == e.props.formId) {\n e.fieldGroup.length = 0;\n let data: any[] = JSON.parse(item.json);\n e.fieldGroup = [...e.fieldGroup, ...data];\n }\n });\n this.valueChange();\n }\n}\n","import { Component, OnInit, ChangeDetectionStrategy } from '@angular/core';\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { NzInputModule } from 'ng-zorro-antd/input';\nimport { NzInputNumberModule } from 'ng-zorro-antd/input-number';\nimport { NzRadioModule } from 'ng-zorro-antd/radio';\nimport { NzSelectModule } from 'ng-zorro-antd/select';\nimport { NzCheckboxModule } from 'ng-zorro-antd/checkbox';\n\nimport { NzMessageService } from 'ng-zorro-antd/message';\nimport { DeonDesignSettingBasic } from './setting';\nimport { SettingService } from './setting.service';\n\n@Component({\n selector: 'deon-setting-radio',\n template: `\n <div class=\"paragraph\">\n <label>标题</label>\n <input\n nz-input\n [disabled]=\"settingSrv?.isEditor == false\"\n [(ngModel)]=\"sourceField.props.label\"\n maxLength=\"80\"\n placeholder=\"请输入标题\"\n (blur)=\"valueChange()\"\n />\n </div>\n\n <div class=\"paragraph\">\n <label\n nz-checkbox\n [nzDisabled]=\"settingSrv?.isEditor == false\"\n [(ngModel)]=\"sourceField.props.required\"\n (ngModelChange)=\"valueChange()\"\n >必填</label\n >\n <label\n nz-checkbox\n [nzDisabled]=\"settingSrv?.isEditor == false\"\n [(ngModel)]=\"sourceField.props.hideLabel\"\n (ngModelChange)=\"valueChange()\"\n >隐藏标题</label\n >\n </div>\n\n <div class=\"paragraph\" *ngIf=\"settingSrv?.isEditor != false\">\n <a (click)=\"typeChange()\">切换为CheckBox</a>\n </div>\n <div class=\"paragraph\">\n <label>显示格式</label>\n <nz-radio-group\n nzButtonStyle=\"solid\"\n [nzDisabled]=\"settingSrv?.isEditor == false\"\n [(ngModel)]=\"sourceField.props.type\"\n (ngModelChange)=\"valueChange()\"\n >\n <label nz-radio-button nzValue=\"default\">默认</label>\n <label nz-radio-button nzValue=\"button\">按钮</label>\n </nz-radio-group>\n </div>\n <div class=\"paragraph\">\n <label>字段布局</label>\n <nz-radio-group\n nzButtonStyle=\"solid\"\n [nzDisabled]=\"settingSrv?.isEditor == false\"\n [(ngModel)]=\"sourceField.props.layout\"\n (ngModelChange)=\"valueChange()\"\n >\n <label nz-radio-button nzValue=\"default\">左右</label>\n <label nz-radio-button nzValue=\"upDown\">上下</label>\n </nz-radio-group>\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n NzInputModule,\n NzInputNumberModule,\n NzRadioModule,\n NzSelectModule,\n NzCheckboxModule\n ]\n})\nexport class DeonDesignSettingRadio extends DeonDesignSettingBasic implements OnInit {\n constructor(\n public override message: NzMessageService,\n public settingSrv: SettingService\n ) {\n super(message);\n }\n\n ngOnInit() { }\n\n typeChange() {\n this.sourceField.type = 'checkbox';\n this.fieldTypeChange();\n }\n}\n","import { Component, OnInit, ChangeDetectionStrategy } from '@angular/core';\n\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { NzInputModule } from 'ng-zorro-antd/input';\nimport { NzInputNumberModule } from 'ng-zorro-antd/input-number';\nimport { NzCheckboxModule } from 'ng-zorro-antd/checkbox';\nimport { NzRadioModule } from 'ng-zorro-antd/radio';\n\nimport { NzMessageService } from 'ng-zorro-antd/message';\nimport { DeonDesignSettingBasic } from './setting';\nimport { SettingService } from './setting.service';\n\n@Component({\n selector: 'deon-setting-checkbox',\n template: `\n <div class=\"paragraph\">\n <label>标题</label>\n <input\n nz-input\n [disabled]=\"settingSrv?.isEditor == false\"\n [(ngModel)]=\"sourceField.props.label\"\n maxLength=\"80\"\n placeholder=\"请输入标题\"\n (blur)=\"valueChange()\"\n />\n </div>\n\n <div class=\"paragraph\">\n <label\n nz-checkbox\n [nzDisabled]=\"settingSrv?.isEditor == false\"\n [(ngModel)]=\"sourceField.props.required\"\n (ngModelChange)=\"valueChange()\"\n >必填</label\n >\n <label\n nz-checkbox\n [nzDisabled]=\"settingSrv?.isEditor == false\"\n [(ngModel)]=\"sourceField.props.hideLabel\"\n (ngModelChange)=\"valueChange()\"\n >隐藏标题</label\n >\n </div>\n\n <div class=\"paragraph\" *ngIf=\"settingSrv?.isEditor != false\">\n <a (click)=\"typeChange()\">切换为RadioGroup</a>\n </div>\n <div class=\"paragraph\">\n <label>标题位置</label>\n <nz-radio-group\n nzButtonStyle=\"solid\"\n [nzDisabled]=\"settingSrv?.isEditor == false\"\n [(ngModel)]=\"sourceField.props.labelPosition\"\n (ngModelChange)=\"valueChange()\"\n >\n <label nz-radio-button nzValue=\"right\">右边</label>\n <label nz-radio-button nzValue=\"left\">左边</label>\n </nz-radio-group>\n </div>\n <div class=\"paragraph\">\n <label>字段布局</label>\n <nz-radio-group\n nzButtonStyle=\"solid\"\n [nzDisabled]=\"settingSrv?.isEditor == false\"\n [(ngModel)]=\"sourceField.props.layout\"\n (ngModelChange)=\"valueChange()\"\n >\n <label nz-radio-button nzValue=\"default\">左右</label>\n <label nz-radio-button nzValue=\"upDown\">上下</label>\n </nz-radio-group>\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n NzInputModule,\n NzInputNumberModule,\n NzCheckboxModule,\n NzRadioModule\n ]\n})\nexport class DeonDesignSettingCheckBox extends DeonDesignSettingBasic implements OnInit {\n constructor(\n public override message: NzMessageService,\n public settingSrv: SettingService\n ) {\n super(message);\n }\n\n ngOnInit() { }\n\n typeChange() {\n this.sourceField.type = 'radiogroup';\n this.fieldTypeChange();\n }\n}\n","import { Component, OnInit, ChangeDetectionStrategy } from '@angular/core';\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { NzInputModule } from 'ng-zorro-antd/input';\nimport { NzInputNumberModule } from 'ng-zorro-antd/input-number';\nimport { NzSelectModule } from 'ng-zorro-antd/select';\nimport { NzCheckboxModule } from 'ng-zorro-antd/checkbox';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\nimport { NzRadioModule } from 'ng-zorro-antd/radio';\n\nimport { NzMessageService } from 'ng-zorro-antd/message';\nimport { DeonDesignSettingBasic } from './setting';\nimport { SettingService } from './setting.service';\n\n@Component({\n selector: 'deon-setting-upload',\n template: `\n <div class=\"paragraph\">\n <label>标题</label>\n <input\n nz-input\n [disabled]=\"settingSrv?.isEditor == false\"\n [(ngModel)]=\"sourceField.props.label\"\n maxLength=\"80\"\n placeholder=\"请输入标题\"\n (blur)=\"valueChange()\"\n />\n </div>\n\n <div class=\"paragraph\">\n <label\n nz-checkbox\n [nzDisabled]=\"settingSrv?.isEditor == false\"\n [(ngModel)]=\"sourceField.props.required\"\n (ngModelChange)=\"valueChange()\"\n >必填</label\n >\n <label\n nz-checkbox\n [nzDisabled]=\"settingSrv?.isEditor == false\"\n [(ngModel)]=\"sourceField.props.hideLabel\"\n (ngModelChange)=\"valueChange()\"\n >隐藏标题</label\n >\n </div>\n\n <div class=\"paragraph\">\n <label>最多上传多少附件</label>\n <nz-input-number\n [nzDisabled]=\"settingSrv?.isEditor == false\"\n [nzPlaceHolder]=\"'不限'\"\n [nzMin]=\"0\"\n [nzStep]=\"1\"\n [(ngModel)]=\"sourceField.props.maxLength\"\n [nzPrecision]=\"0\"\n [nzMax]=\"20\"\n (nzBlur)=\"maxChange()\"\n ></nz-input-number>\n </div>\n\n <div class=\"paragraph\">\n <label>字段布局</label>\n <nz-radio-group\n nzButtonStyle=\"solid\"\n [nzDisabled]=\"settingSrv?.isEditor == false\"\n [(ngModel)]=\"sourceField.props.layout\"\n (ngModelChange)=\"valueChange()\"\n >\n <label nz-radio-button nzValue=\"default\">左右</label>\n <label nz-radio-button nzValue=\"upDown\">上下</label>\n </nz-radio-group>\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n NzInputModule,\n NzInputNumberModule,\n NzRadioModule,\n NzSelectModule,\n NzCheckboxModule,\n NzIconModule\n ]\n})\nexport class DeonDesignSettingUpload extends DeonDesignSettingBasic implements OnInit {\n constructor(\n public override message: NzMessageService,\n public settingSrv: SettingService\n ) {\n super(message);\n }\n\n ngOnInit() { }\n\n override maxChange() {\n this.valueChange();\n }\n}\n","import { Component, OnInit, ChangeDetectionStrategy } from '@angular/core';\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { NzInputModule } from 'ng-zorro-antd/input';\nimport { NzInputNumberModule } from 'ng-zorro-antd/input-number';\nimport { NzRadioModule } from 'ng-zorro-antd/radio';\nimport { NzSelectModule } from 'ng-zorro-antd/select';\nimport { NzCheckboxModule } from 'ng-zorro-antd/checkbox';\n\nimport { NzMessageService } from 'ng-zorro-antd/message';\nimport { DeonDesignSettingBasic } from './setting';\nimport { SettingService } from './setting.service';\n\n@Component({\n selector: 'deon-setting-number',\n template: `\n <div class=\"paragraph\">\n <label>标题</label>\n <input\n nz-input\n [disabled]=\"settingSrv?.isEditor == false\"\n [(ngModel)]=\"sourceField.props.label\"\n maxLength=\"80\"\n placeholder=\"请输入标题\"\n (blur)=\"valueChange()\"\n />\n </div>\n\n <ng-container *ngIf=\"sourceField.type == 'number'\">\n <div class=\"paragraph\" *ngIf=\"settingSrv.tableField!! && settingSrv.tableField.type == 'FLOAT'\">\n <label>小数位数</label>\n <nz-input-number\n [nzDisabled]=\"settingSrv?.isEditor == false\"\n [nzPlaceHolder]=\"'不限'\"\n [nzMin]=\"0\"\n [nzMax]=\"settingSrv.tableField.precision\"\n [nzStep]=\"1\"\n [(ngModel)]=\"sourceField.props.precision\"\n (nzBlur)=\"valueChange()\"\n ></nz-input-number>\n </div>\n <div class=\"paragraph\" *ngIf=\"settingSrv.tableField!!\">\n <label>数值大小范围</label>\n <ul class=\"range\">\n <li>\n <nz-input-number\n [nzDisabled]=\"settingSrv?.isEditor == false\"\n [nzPlaceHolder]=\"'不限'\"\n [nzMin]=\"settingSrv.tableField.min\"\n [nzStep]=\"1\"\n [(ngModel)]=\"min\"\n [nzPrecision]=\"sourceField.props.precision\"\n (nzBlur)=\"minChange()\"\n ></nz-input-number>\n </li>\n <li>~</li>\n <li>\n <nz-input-number\n [nzDisabled]=\"settingSrv?.isEditor == false\"\n [nzPlaceHolder]=\"'不限'\"\n [nzMin]=\"0\"\n [nzStep]=\"1\"\n [(ngModel)]=\"max\"\n [nzPrecision]=\"sourceField.props.precision\"\n [nzMax]=\"settingSrv.tableField.max\"\n (nzBlur)=\"maxChange()\"\n ></nz-input-number>\n </li>\n </ul>\n </div>\n </ng-container>\n\n <div class=\"paragraph\">\n <label\n nz-checkbox\n [nzDisabled]=\"settingSrv?.isEditor == false\"\n [(ngModel)]=\"sourceField.props.required\"\n (ngModelChange)=\"valueChange()\"\n >必填</label\n >\n <label\n nz-checkbox\n [nzDisabled]=\"settingSrv?.isEditor == false\"\n [(ngModel)]=\"sourceField.props.hideLabel\"\n (ngModelChange)=\"valueChange()\"\n >隐藏标题</label\n >\n </div>\n <div class=\"paragraph\">\n <label>字段布局</label>\n <nz-radio-group\n nzButtonStyle=\"solid\"\n [nzDisabled]=\"settingSrv?.isEditor == false\"\n [(ngModel)]=\"sourceField.props.layout\"\n (ngModelChange)=\"valueChange()\"\n >\n <label nz-radio-button nzValue=\"default\">左右</label>\n <label nz-radio-button nzValue=\"upDown\">上下</label>\n </nz-radio-group>\n </div>\n <div class=\"paragraph\">\n <label>显示类型(类型为评分时默认值只能在1~5)</label>\n <nz-select [(ngModel)]=\"sourceField.type\" [nzDisabled]=\"settingSrv?.isEditor == false\" (ngModelChange)=\"defaultValueChange()\">\n <nz-option nzValue=\"number\" nzLabel=\"默认\"></nz-option>\n <nz-option nzValue=\"rate_number\" nzLabel=\"评分\"></nz-option>\n </nz-select>\n </div>\n\n <ng-container *ngIf=\"sourceField.type == 'number'; else tmpRate\">\n <div class=\"paragraph\" *ngIf=\"sourceField?.props?.precision > 0; else tmpNumber\">\n <label>默认值</label>\n <nz-input-number\n [nzDisabled]=\"settingSrv?.isEditor == false\"\n [nzPrecision]=\"sourceField.props.precision\"\n nzStep=\"0.1\"\n [(ngModel)]=\"sourceField.defaultValue\"\n ></nz-input-number>\n </div>\n\n <ng-template #tmpNumber>\n <div class=\"paragraph\">\n <label>默认值</label>\n <nz-input-number\n [nzDisabled]=\"settingSrv?.isEditor == false\"\n [nzPrecision]=\"0\"\n [nzStep]=\"1\"\n [(ngModel)]=\"sourceField.defaultValue\"\n ></nz-input-number>\n </div>\n </ng-template>\n </ng-container>\n\n <ng-template #tmpRate>\n <div class=\"paragraph\">\n <label>默认值</label>\n <nz-input-number\n [nzDisabled]=\"settingSrv?.isEditor == false\"\n [nzPrecision]=\"0\"\n [nzStep]=\"1\"\n [nzMin]=\"1\"\n [nzMax]=\"5\"\n [(ngModel)]=\"sourceField.defaultValue\"\n (ngModelChange)=\"defaultValueChange()\"\n ></nz-input-number>\n </div>\n </ng-template>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n NzInputModule,\n NzInputNumberModule,\n NzRadioModule,\n NzSelectModule,\n NzCheckboxModule\n ]\n})\nexport class DeonDesignSettingNumber extends DeonDesignSettingBasic implements OnInit {\n constructor(\n public override message: NzMessageService,\n public settingSrv: SettingService\n ) {\n super(message);\n }\n\n ngOnInit() { }\n\n defaultValueChange() {\n if (this.sourceField?.type == 'rate_number' && this.sourceField?.defaultValue > 5) {\n this.sourceField.defaultValue = 5;\n }\n }\n}\n","import {\n Component,\n OnInit,\n Input,\n Output,\n OnChanges,\n SimpleChanges,\n ViewContainerRef,\n ViewChild,\n ComponentRef,\n ComponentFactory,\n ChangeDetectorRef,\n EventEmitter,\n ComponentFactoryResolver,\n} from '@angular/core';\nimport _ from 'lodash';\nimport { FormlyFieldConfig } from '@ebuilding-form/core';\n\nimport { DeonDesignSettingRepeat } from './setting.repeat';\n/**\n *\n */\nimport { DeonDesignSettingCommon } from './setting.common';\nimport { DeonDesignSettingLabel } from './setting.label';\nimport { DeonDesignSettingDesc } from './setting.desc';\nimport { DeonDesignSettingLine } from './setting.line';\nimport { DeonDesignSettingGrid } from './setting.grid';\nimport { DeonDesignSettingLookup } from './setting.lookup';\nimport { DeonDesignSettingChildren } from './setting.children';\nimport { DeonDesignSettingReform } from './setting.reform';\nimport { DeonDesignSettingTabs } from './setting.tabs';\nimport { DeonDesignSettingRadio } from './setting.radio';\nimport { DeonDesignSettingCheckBox } from './setting.checkbox';\nimport { DeonDesignSettingUpload } from './setting.upload';\nimport { DeonDesignSettingNumber } from './setting.number';\nimport { SettingService } from './setting.service';\n@Component({\n selector: 'deon-setting-template',\n template: ` <ng-container #componentHost></ng-container> `,\n providers: [SettingService],\n})\nexport class DeonDesignSettingTemplate implements OnInit, OnChanges {\n _tableField: any = null;\n\n dynamicComponents: any = {\n label: DeonDesignSettingLabel,\n desc: DeonDesignSettingDesc,\n line: DeonDesignSettingLine,\n grid: DeonDesignSettingGrid,\n\n text: DeonDesignSettingCommon,\n textcode: DeonDesignSettingCommon,\n textarea: DeonDesignSettingCommon,\n color: DeonDesignSettingCommon,\n icon: DeonDesignSettingCommon,\n number: DeonDesignSettingNumber,\n rate_number: DeonDesignSettingNumber,\n password: DeonDesignSettingCommon,\n texti18n: DeonDesignSettingCommon,\n select: DeonDesignSettingCommon,\n checkbox: DeonDesignSettingCheckBox,\n radio: DeonDesignSettingCommon,\n checkboxgroup: DeonDesignSettingCommon,\n radiogroup: DeonDesignSettingRadio,\n datetime: DeonDesignSettingCommon,\n\n repeat: DeonDesignSettingRepeat,\n richtext: DeonDesignSettingCommon,\n tree: DeonDesignSettingCommon,\n lookup: DeonDesignSettingLookup,\n lookup_tree: DeonDesignSettingLookup,\n lookup_select: DeonDesignSettingLookup,\n one2many: DeonDesignSettingLookup,\n children: DeonDesignSettingChildren,\n reform: DeonDesignSettingReform,\n tabs: DeonDesignSettingTabs,\n upload: DeonDesignSettingUpload,\n };\n\n component: ComponentRef<any> | undefined;\n\n @ViewChild('componentHost', { read: ViewContainerRef, static: true })\n componentHost: ViewContainerRef | undefined;\n questionField: any = {\n key: '',\n type: 'text',\n props: {\n label: '',\n description: '',\n maxLength: 500,\n minLength: 0,\n max: 0,\n min: 0,\n precision: 0,\n placeholder: '',\n required: false,\n pattern: '',\n options: [],\n hideJson: null,\n },\n };\n\n @Input() dialogPageData: any = null;\n @Input() dialogFormData: any[] = [];\n\n @Input() sourceType: any = {};\n\n @Input()\n set tableField(value: any) {\n this.settingSrv.tableField = value;\n }\n\n @Input()\n set isEditor(value: boolean) {\n if (value == null) {\n this.settingSrv.isEditor = true;\n } else {\n this.settingSrv.isEditor = value;\n }\n }\n\n @Input()\n set field(value: FormlyFieldConfig) {\n if (value != null && value != undefined) {\n this.questionField = value;\n }\n if (this.componentHost) {\n this.componentHost.clear();\n if (\n this.questionField != undefined &&\n this.questionField != null &&\n this.questionField.type != undefined &&\n this.questionField.type != null &&\n this.questionField.type != 'list'\n ) {\n const compFactory: ComponentFactory<any> = this.componentFactoryResolver.resolveComponentFactory(\n this.dynamicComponents[this.questionField.type],\n );\n this.component = this.componentHost.createComponent(compFactory);\n this.component.instance.dialogPageData = this.dialogPageData;\n this.component.instance.dialogFormData = this.dialogFormData;\n this.component.instance.sourceType = this.sourceType;\n this.component.instance.field = this.questionField;\n\n this.component.instance.fieldSetUpAction.subscribe((res) => {\n this.fieldChange.emit(res);\n });\n this.component.instance.typeChangeAction.subscribe((res) => {\n this.fieldTypeChange.emit(res);\n });\n this.component.instance.repeatAction.subscribe((res) => {\n this.repeatChange.emit(res);\n });\n this.component.instance?.delGridCell?.subscribe((res) => {\n this.delGridCell.emit(res);\n });\n } else {\n const compFactory: ComponentFactory<any> = this.componentFactoryResolver.resolveComponentFactory(this.dynamicComponents['empty']);\n this.component = this.componentHost.createComponent(compFactory);\n }\n }\n }\n\n @Output() fieldChange: EventEmitter<any> = new EventEmitter();\n @Output() fieldTypeChange: EventEmitter<any> = new EventEmitter();\n @Output() repeatChange: EventEmitter<any> = new EventEmitter();\n @Output() delGridCell: EventEmitter<any> = new EventEmitter();\n constructor(\n public componentFactoryResolver: ComponentFactoryResolver,\n public changeDetectorRef: ChangeDetectorRef,\n public settingSrv: SettingService,\n ) { }\n\n ngOnInit() { }\n\n ngOnChanges(changes: SimpleChanges) { }\n}\n","import { Component, OnInit, Input } from '@angular/core';\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { DragDropModule } from '@angular/cdk/drag-drop';\n\nimport _ from 'lodash';\n\n@Component({\n selector: 'deon-field-type-basic',\n templateUrl: './index.component.html',\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n DragDropModule\n ]\n})\nexport class DeonDesignFieldTypeBasic implements OnInit {\n typeList: any = [\n {\n type: 'label',\n label: '标签',\n },\n // {\n // type: 'desc',\n // label: '文本描述',\n // },\n {\n type: 'grid',\n label: '栅栏布局',\n },\n {\n type: 'line',\n label: '分 割 线',\n },\n {\n type: 'tabs',\n label: '多页签',\n },\n {\n type: 'children',\n label: '子表单[数组]',\n },\n {\n type: 'reform',\n label: '子表单[引用]',\n },\n ];\n\n baseList: any[] = [\n {\n type: 'label',\n label: '标签',\n },\n // {\n // type: 'desc',\n // label: '文本描述',\n // },\n ];\n\n otherList: any[] = [\n {\n type: 'grid',\n label: '栅栏布局',\n },\n {\n type: 'line',\n label: '分 割 线',\n },\n {\n type: 'tabs',\n label: '多页签',\n },\n {\n type: 'children',\n label: '子表单[数组]',\n },\n {\n type: 'reform',\n label: '子表单[引用]',\n },\n ];\n\n @Input() dls: any;\n @Input() isDefault: boolean = false;\n constructor() { }\n\n ngOnInit() { }\n}\n","<div cdkDropList [cdkDropListData]=\"{ type_base: typeList }\" cdkDropListSortingDisabled [cdkDropListConnectedTo]=\"dls\">\n <ul class=\"list\">\n <li class=\"title\">\n <label>基础字段</label>\n </li>\n <ng-container *ngFor=\"let item of baseList\">\n <li class=\"field\" [ngClass]=\"item.type != '' ? item.type : ''\" cdkDrag>\n <label>{{ item.label }}</label>\n </li>\n </ng-container>\n\n <li class=\"title\">\n <label>其他字段</label>\n </li>\n <ng-container *ngFor=\"let item of otherList\">\n <ng-container *ngIf=\"item.type == 'children' || item.type == 'reform'; else tmpOther\">\n <ng-container *ngIf=\"isDefault\">\n <li class=\"field\" [ngClass]=\"item.type != '' ? item.type : ''\" cdkDrag>\n <label>{{ item.label }}</label>\n </li>\n </ng-container>\n </ng-container>\n <ng-template #tmpOther>\n <li class=\"field\" [ngClass]=\"item.type != '' ? item.type : ''\" cdkDrag>\n <label>{{ item.label }}</label>\n </li>\n </ng-template>\n </ng-container>\n </ul>\n</div>\n","import { Component, OnInit, Input } from '@angular/core';\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { DragDropModule } from '@angular/cdk/drag-drop';\n\nimport _ from 'lodash';\n\n@Component({\n selector: 'deon-field-type-basic2',\n templateUrl: './index.component.html',\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n DragDropModule\n ]\n})\nexport class DeonDesignFieldTypeBasic2 implements OnInit {\n typeList: any = [\n {\n type: 'label',\n label: '标签',\n },\n // {\n // type: 'desc',\n // label: '文本描述',\n // },\n {\n type: 'grid',\n label: '栅栏布局',\n },\n {\n type: 'line',\n label: '分 割 线',\n },\n ];\n\n baseList: any[] = [\n {\n type: 'label',\n label: '标签',\n },\n // {\n // type: 'desc',\n // label: '文本描述',\n // },\n ];\n\n otherList: any[] = [\n {\n type: 'grid',\n label: '栅栏布局',\n },\n {\n type: 'line',\n label: '分 割 线',\n },\n ];\n\n @Input() dls: any;\n @Input() isDefault: boolean = false;\n constructor() { }\n\n ngOnInit() { }\n}\n","<div cdkDropList [cdkDropListData]=\"{ type_base: typeList }\" cdkDropListSortingDisabled [cdkDropListConnectedTo]=\"dls\">\n <ul class=\"list\">\n <li class=\"title\">\n <label>基础字段</label>\n </li>\n <ng-container *ngFor=\"let item of baseList\">\n <li class=\"field\" [ngClass]=\"item.type != '' ? item.type : ''\" cdkDrag>\n <label>{{ item.label }}</label>\n </li>\n </ng-container>\n\n <li class=\"title\">\n <label>其他字段</label>\n </li>\n <ng-container *ngFor=\"let item of otherList\">\n <ng-container *ngIf=\"item.type == 'children' || item.type == 'reform'; else tmpOther\">\n <ng-container *ngIf=\"isDefault\">\n <li class=\"field\" [ngClass]=\"item.type != '' ? item.type : ''\" cdkDrag>\n <label>{{ item.label }}</label>\n </li>\n </ng-container>\n </ng-container>\n <ng-template #tmpOther>\n <li class=\"field\" [ngClass]=\"item.type != '' ? item.type : ''\" cdkDrag>\n <label>{{ item.label }}</label>\n </li>\n </ng-template>\n </ng-container>\n </ul>\n</div>\n","import { Component, OnInit, Input } from '@angular/core';\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { DragDropModule } from '@angular/cdk/drag-drop';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\n\nimport _ from 'lodash';\n\n@Component({\n selector: 'deon-field-type-source',\n styleUrls: ['./index.component.less'],\n templateUrl: './index.component.html',\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n DragDropModule,\n NzIconModule\n ]\n})\nexport class DeonDesignFieldTypeSource implements OnInit {\n @Input() dls;\n @Input() tableInfo: any = null;\n\n get fieldList() {\n let result: any[] = [];\n if (this.tableInfo!!) {\n if (this.tableInfo.single!! && this.tableInfo.single.length > 0) {\n this.tableInfo.single.forEach((element: any) => {\n if (element.listField!!) {\n result = result.concat(element.listField);\n }\n });\n }\n if (this.tableInfo.multiple!! && this.tableInfo.multiple.length > 0) {\n this.tableInfo.multiple.forEach((element: any) => {\n result.push(element);\n });\n }\n }\n return result;\n }\n\n constructor() { }\n\n ngOnInit() { }\n}\n","<ng-container *ngIf=\"tableInfo!! && tableInfo.single!! && tableInfo.single.length > 0\">\n <div cdkDropList [cdkDropListData]=\"{ type_source: fieldList }\" cdkDropListSortingDisabled [cdkDropListConnectedTo]=\"dls\">\n <div *ngFor=\"let table of tableInfo.single\">\n <div class=\"table-box\">\n <span>{{ table.name }}</span>\n </div>\n <ul class=\"table-field\">\n <ng-container *ngFor=\"let item of table.listField\">\n <li cdkDrag [cdkDragDisabled]=\"item.ref\">\n <i nz-icon nzType=\"copy\" *ngIf=\"item.ref == undefined || item.ref == null || item.ref == false\"></i>\n <i nz-icon nzType=\"flag\" *ngIf=\"item.ref == true\"></i>\n <span>{{ item.name }}</span>\n </li>\n </ng-container>\n </ul>\n </div>\n <ng-container *ngIf=\"tableInfo.multiple!! && tableInfo.multiple.length > 0\">\n <div class=\"table-box\">\n <span>多表对象</span>\n </div>\n <ul class=\"table-field\">\n <ng-container *ngFor=\"let table of tableInfo.multiple\">\n <li cdkDrag [cdkDragDisabled]=\"table.ref\">\n <i nz-icon nzType=\"table\" *ngIf=\"table.ref == undefined || table.ref == null || table.ref == false\"></i>\n <i nz-icon nzType=\"flag\" *ngIf=\"table.ref == true\"></i>\n <span>{{ table.name }}</span>\n </li>\n </ng-container>\n </ul>\n </ng-container>\n </div>\n</ng-container>\n","import { Component, OnInit, Input } from '@angular/core';\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { DragDropModule } from '@angular/cdk/drag-drop';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\n\nimport _ from 'lodash';\n\n@Component({\n selector: 'deon-field-type-source2',\n styleUrls: ['./index.component.less'],\n templateUrl: './index.component.html',\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n DragDropModule,\n NzIconModule\n ]\n})\nexport class DeonDesignFieldTypeSource2 implements OnInit {\n @Input() dls;\n @Input() indicatorList: any[] = [];\n\n constructor() { }\n\n ngOnInit() { }\n}\n","<ng-container *ngIf=\"indicatorList && indicatorList.length > 0\">\n <div class=\"title\">\n <label>绩效指标库</label>\n </div>\n <div cdkDropList [cdkDropListData]=\"{ type_source: indicatorList }\" cdkDropListSortingDisabled [cdkDropListConnectedTo]=\"dls\">\n <ul class=\"table-field\">\n <ng-container *ngFor=\"let item of indicatorList\">\n <li cdkDrag>\n <i nz-icon nzType=\"copy\"></i>\n <span>{{ item.name }}</span>\n </li>\n </ng-container>\n </ul>\n </div>\n</ng-container>\n","import { Component, ChangeDetectionStrategy, OnInit, OnChanges, OnDestroy, AfterViewInit, Input } from '@angular/core';\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\n\n@Component({\n selector: 'deon-design-simple-label',\n template: ` <ng-content></ng-content> `,\n host: {\n '[class]': \"to.required==true?'required':''\",\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule\n ]\n})\nexport class DeonDesignSimpleLabel implements OnInit, OnDestroy, AfterViewInit, OnChanges {\n @Input() field: any;\n\n get to() {\n return this.field.props || {};\n }\n ngOnInit() { }\n ngAfterViewInit() { }\n ngOnDestroy() { }\n ngOnChanges(e: any) { }\n}\n","import { Injectable } from '@angular/core';\r\nimport moment from 'moment';\r\n\r\n@Injectable()\r\nexport class FieldTypeService {\r\n /**\r\n * 获取默认字段\r\n * @param type\r\n * @returns\r\n */\r\n fieldBasicType(type: any) {\r\n let field: any = {};\r\n switch (type) {\r\n case 'label':\r\n field = this.label();\r\n break;\r\n case 'desc':\r\n field = this.desc();\r\n break;\r\n case 'line':\r\n field = this.line();\r\n break;\r\n case 'grid':\r\n field = this.grid();\r\n break;\r\n case 'children':\r\n field = this.children();\r\n break;\r\n case 'reform':\r\n field = this.reform();\r\n break;\r\n case 'tabs':\r\n field = this.tabs();\r\n break;\r\n default:\r\n break;\r\n }\r\n\r\n return field;\r\n }\r\n\r\n private datetimeString(type?: string) {\r\n if (type !== undefined && type !== null) {\r\n return `${type}_${moment().format('YYYYMMDDHHmmssSSS')}`;\r\n } else {\r\n return `${moment().format('YYYYMMDDHHmmssSSS')}`;\r\n }\r\n }\r\n\r\n private label() {\r\n let config: any = {\r\n type: 'label',\r\n key: this.datetimeString('label'),\r\n defaultValue: null,\r\n props: {\r\n label: '标签',\r\n },\r\n };\r\n return config;\r\n }\r\n\r\n private desc() {\r\n let config: any = {\r\n type: 'desc',\r\n key: this.datetimeString('label'),\r\n defaultValue: null,\r\n props: {\r\n label: '文本描述',\r\n },\r\n };\r\n return config;\r\n }\r\n\r\n private line() {\r\n let config: any = {\r\n type: 'line',\r\n key: this.datetimeString('line'),\r\n props: {\r\n label: '分割线',\r\n type: 'horizontal',\r\n hideLabel: true,\r\n line: 'dotted',\r\n orientation: 'left',\r\n },\r\n };\r\n return config;\r\n }\r\n\r\n private grid() {\r\n let config: any = {\r\n type: 'grid',\r\n props: {\r\n hideLabel: true,\r\n },\r\n fieldGroup: [\r\n {\r\n type: 'list',\r\n props: {\r\n hideLabel: true,\r\n cols: 8,\r\n },\r\n fieldGroup: [],\r\n },\r\n {\r\n type: 'list',\r\n props: {\r\n hideLabel: true,\r\n cols: 8,\r\n },\r\n fieldGroup: [],\r\n },\r\n {\r\n type: 'list',\r\n props: {\r\n hideLabel: true,\r\n cols: 8,\r\n },\r\n fieldGroup: [],\r\n },\r\n ],\r\n };\r\n return config;\r\n }\r\n\r\n private children() {\r\n let config: any = {\r\n type: 'children',\r\n key: this.datetimeString('children'),\r\n props: {\r\n label: '子表单',\r\n },\r\n fieldArray: {\r\n fieldGroup: [],\r\n },\r\n };\r\n return config;\r\n }\r\n private reform() {\r\n let config: any = {\r\n type: 'reform',\r\n props: {\r\n label: '引用表单',\r\n },\r\n fieldGroup: [],\r\n };\r\n return config;\r\n }\r\n\r\n private tabs() {\r\n let config: any = {\r\n type: 'tabs',\r\n props: {\r\n label: '多页签',\r\n },\r\n fieldGroup: [],\r\n };\r\n return config;\r\n }\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport _ from 'lodash';\r\nimport { FormlyFieldConfig } from '@ebuilding-form/core';\r\nimport { FieldTypeService } from './field-type.service';\r\nimport { FieldSourceService } from './field-source.service';\r\n\r\n@Injectable()\r\nexport class FieldService {\r\n constructor(\r\n @Inject(FieldTypeService)\r\n private fieldTypeSrv: FieldTypeService,\r\n @Inject(FieldSourceService)\r\n private fieldSourceSrv: FieldSourceService,\r\n ) { }\r\n\r\n /**\r\n * 默认字段\r\n * @param currentData\r\n * @param currentIndex\r\n * @param previousData\r\n * @param previousIndex\r\n * @returns\r\n */\r\n transferBasicType(currentData: any, currentIndex: any, previousData: any, previousIndex: any) {\r\n let previous = previousData[previousIndex];\r\n let formField: any = this.fieldTypeSrv.fieldBasicType(previous.type);\r\n currentData.splice(currentIndex, 0, formField);\r\n }\r\n\r\n /**\r\n * 表单对象\r\n * @param currentData\r\n * @param currentIndex\r\n * @param previousData\r\n * @param previousIndex\r\n * @returns\r\n */\r\n transferSourceType(currentData: any, currentIndex: any, previousData: any, previousIndex: any) {\r\n let previous = previousData[previousIndex];\r\n if (previous) {\r\n let formField: any = this.fieldSourceSrv.fieldSourceType(previous);\r\n currentData.splice(currentIndex, 0, formField);\r\n }\r\n }\r\n\r\n /**\r\n * 根据设计更改表字段状态\r\n * @param fields\r\n * @param tableInfo\r\n */\r\n tableFieldState(fields: FormlyFieldConfig[], tableInfo: any) {\r\n if (tableInfo!! && tableInfo.single!! && tableInfo.single.length > 0) {\r\n let source: FormlyFieldConfig[] = [];\r\n this.getFieldListBySource(fields, source);\r\n tableInfo.single.forEach((table: any) => {\r\n if (table.listField!! && table.listField.length > 0) {\r\n table.listField.forEach((item: any) => {\r\n if (\r\n source.some((v: any) => {\r\n return v.key == item.id;\r\n })\r\n ) {\r\n item.ref = true;\r\n } else {\r\n item.ref = false;\r\n }\r\n });\r\n }\r\n });\r\n\r\n if (tableInfo.multiple!! && tableInfo.multiple.length > 0) {\r\n tableInfo.multiple.forEach((table: any) => {\r\n if (\r\n source.some((v: any) => {\r\n return v.key == table.id;\r\n })\r\n ) {\r\n table.ref = true;\r\n } else {\r\n table.ref = false;\r\n }\r\n });\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * 根据Key 获取表字段\r\n * @param key\r\n * @param tableInfo\r\n * @returns\r\n */\r\n tableFieldByKey(key: any, tableInfo: any) {\r\n let result: any = null;\r\n if (tableInfo!! && tableInfo.single!! && tableInfo.single.length > 0) {\r\n tableInfo.single.forEach((table: any) => {\r\n if (table.listField!! && table.listField.length > 0) {\r\n table.listField.forEach((item: any) => {\r\n if (key == item.id) {\r\n result = item;\r\n }\r\n });\r\n }\r\n });\r\n }\r\n if (tableInfo!! && tableInfo.multiple!! && tableInfo.multiple.length > 0) {\r\n tableInfo.multiple.forEach((table: any) => {\r\n if (key == table.id) {\r\n result = table;\r\n }\r\n });\r\n }\r\n return result;\r\n }\r\n\r\n private getFieldListBySource(fields: FormlyFieldConfig[], source: FormlyFieldConfig[]) {\r\n if (fields!! && fields.length > 0) {\r\n fields.forEach((field: any) => {\r\n if (field.type == 'grid') {\r\n this.getFieldListBySource(field.fieldGroup, source);\r\n } else if (field.type == 'list') {\r\n this.getFieldListBySource(field.fieldGroup, source);\r\n } else if (field.type == 'repeat') {\r\n if (field.key!!) {\r\n source.push(field);\r\n }\r\n } else {\r\n if (field.key!!) {\r\n source.push(field);\r\n }\r\n }\r\n });\r\n }\r\n }\r\n}\r\n","import { Component, Input, Directive } from '@angular/core';\n\n@Directive()\nexport abstract class DeonDesignFieldBasic {\n @Input() field: any = {};\n\n get to() {\n return this.field.props || {};\n }\n\n get placeholder() {\n return this.to.placeholder || '';\n }\n}\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\n\nimport { DeonDesignFieldBasic } from './basic';\n\n@Component({\n selector: 'deon-field-label',\n template: ``,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule\n ]\n})\nexport class DeonDesignFieldLabel extends DeonDesignFieldBasic { }\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\n\nimport { DeonDesignFieldBasic } from './basic';\n\n@Component({\n selector: 'deon-field-desc',\n template: ``,\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule\n ]\n})\nexport class DeonDesignFieldDesc extends DeonDesignFieldBasic { }\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { NzDividerModule } from 'ng-zorro-antd/divider';\n\nimport { DeonDesignFieldBasic } from './basic';\n@Component({\n selector: 'deon-field-line',\n template: `<nz-divider nzPlain [nzText]=\"to.label\" [nzType]=\"to.type\" [nzOrientation]=\"to.orientation\"></nz-divider>`,\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n NzDividerModule\n ]\n})\nexport class DeonDesignFieldLine extends DeonDesignFieldBasic { }\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { NzInputModule } from 'ng-zorro-antd/input';\n\nimport { DeonDesignFieldBasic } from './basic';\n\n@Component({\n selector: 'deon-field-text',\n template: ` <input nz-input [type]=\"'text'\" [placeholder]=\"placeholder\" [(ngModel)]=\"field.defaultValue\" [disabled]=\"true\" /> `,\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n NzInputModule\n ]\n})\nexport class DeonDesignFieldText extends DeonDesignFieldBasic { }\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { NzInputModule } from 'ng-zorro-antd/input';\n\nimport { DeonDesignFieldBasic } from './basic';\n\n@Component({\n selector: 'deon-field-text',\n template: ` <input nz-input [type]=\"'text'\" [placeholder]=\"placeholder\" [(ngModel)]=\"field.defaultValue\" [disabled]=\"true\" /> `,\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n NzInputModule\n ]\n})\nexport class DeonDesignFieldTextCode extends DeonDesignFieldBasic { }\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { NzInputModule } from 'ng-zorro-antd/input';\n\nimport { DeonDesignFieldBasic } from './basic';\n\n@Component({\n selector: 'deon-field-textarea',\n template: `\n <textarea\n nz-input\n [rows]=\"to.rows ? to.rows : 1\"\n [(ngModel)]=\"field.defaultValue\"\n [placeholder]=\"placeholder\"\n [disabled]=\"true\"\n style=\"resize: none;\"\n ></textarea>\n `,\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n NzInputModule\n ]\n})\nexport class DeonDesignFieldTextArea extends DeonDesignFieldBasic { }\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { NzCheckboxModule } from 'ng-zorro-antd/checkbox';\n\nimport { DeonDesignFieldBasic } from './basic';\n\n@Component({\n selector: 'deon-field-checkbox',\n template: ` <label nz-checkbox> <ng-container *ngIf=\"to.hideLabel == true && to.labelPosition == 'right'\"> {{ to.label }} </ng-container> </label> `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n NzCheckboxModule\n ]\n})\nexport class DeonDesignFieldCheckbox extends DeonDesignFieldBasic { }\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { NzCheckboxModule } from 'ng-zorro-antd/checkbox';\n\nimport { DeonDesignFieldBasic } from './basic';\n\n@Component({\n selector: 'deon-field-checkboxgroup',\n template: `\n <nz-checkbox-wrapper>\n <ng-container *ngFor=\"let item of to.options\">\n <label nz-checkbox [nzValue]=\"item.value\">{{ item.label }}</label>\n </ng-container>\n </nz-checkbox-wrapper>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n NzCheckboxModule\n ]\n})\nexport class DeonDesignFieldCheckboxGroup extends DeonDesignFieldBasic { }\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { NzDatePickerModule } from 'ng-zorro-antd/date-picker';\n\nimport { DeonDesignFieldBasic } from './basic';\n\n@Component({\n selector: 'deon-field-datetime',\n template: `\n <nz-date-picker nzFormat=\"yyyy-MM-dd\" nzDisabled></nz-date-picker>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n NzDatePickerModule\n ]\n})\nexport class DeonDesignFieldDatetime extends DeonDesignFieldBasic {\n get showType() {\n let result = 'datetime';\n if (this.to['type'] != undefined && this.to['type'] != null && this.to['type'] != '') {\n result = this.to['type'].toLowerCase();\n }\n return result;\n }\n\n get format() {\n let result = 'yyyy-MM-dd HH:mm:ss';\n if (this.to['format'] != undefined && this.to['format'] != null && this.to['format'] != '') {\n result = this.to['format'];\n }\n return result;\n }\n}\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { NzInputNumberModule } from 'ng-zorro-antd/input-number';\n\nimport { DeonDesignFieldBasic } from './basic';\n\n@Component({\n selector: 'deon-field-number',\n template: ` <nz-input-number [(ngModel)]=\"field.defaultValue\" [disabled]=\"true\"></nz-input-number> `,\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n NzInputNumberModule\n ]\n})\nexport class DeonDesignFieldNumber extends DeonDesignFieldBasic { }\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { NzRadioModule } from 'ng-zorro-antd/radio';\n\nimport { DeonDesignFieldBasic } from './basic';\n\n@Component({\n selector: 'deon-field-radio',\n template: ` <label nz-radio></label> `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n NzRadioModule\n ]\n})\nexport class DeonDesignFieldRadio extends DeonDesignFieldBasic { }\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { NzRadioModule } from 'ng-zorro-antd/radio';\n\nimport { DeonDesignFieldBasic } from './basic';\n@Component({\n selector: 'deon-field-radiogroup',\n template: `\n <nz-radio-group [nzDisabled]=\"true\">\n <ng-container *ngFor=\"let option of to.options\">\n <ng-container *ngIf=\"to?.type == 'button'; else tmp\">\n <label nz-radio-button [nzValue]=\"option.value\"> {{ option.label }}</label>\n </ng-container>\n\n <ng-template #tmp>\n <label nz-radio [nzValue]=\"option.value\">\n {{ option.label }}\n </label>\n </ng-template>\n </ng-container>\n </nz-radio-group>\n `,\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n NzRadioModule\n ]\n})\nexport class DeonDesignFieldRadioGroup extends DeonDesignFieldBasic { }\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { NzSelectModule } from 'ng-zorro-antd/select';\n\nimport { DeonDesignFieldBasic } from './basic';\n\n@Component({\n selector: 'deon-field-select',\n template: `\n <nz-select [ngModel]=\"field.defaultValue\" [nzPlaceHolder]=\"to.placeholder\" [nzMode]=\"to.multiple ? 'multiple' : 'default'\" nzDisabled>\n <ng-container *ngFor=\"let item of to.options\">\n <nz-option-group *ngIf=\"item.group\" [nzLabel]=\"item.label\">\n <nz-option *ngFor=\"let child of item.group\" [nzValue]=\"child.value\" [nzDisabled]=\"child.disabled\" [nzLabel]=\"child.label\">\n </nz-option>\n </nz-option-group>\n <nz-option *ngIf=\"!item.group\" [nzValue]=\"item.value\" [nzDisabled]=\"item.disabled\" [nzLabel]=\"item.label\"></nz-option>\n </ng-container>\n </nz-select>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n NzSelectModule\n ]\n})\nexport class DeonDesignFieldSelect extends DeonDesignFieldBasic { }\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\n\nimport { DeonDesignFieldBasic } from './basic';\n\n@Component({\n selector: 'deon-field-repeat',\n template: `\n <ng-content></ng-content>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule\n ]\n})\nexport class DeonDesignFieldRepeat extends DeonDesignFieldBasic { }\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\n\nimport { DeonDesignFieldBasic } from './basic';\n\n@Component({\n selector: 'deon-field-richtext',\n template: ``,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule\n ]\n})\nexport class DeonDesignFieldRichtext extends DeonDesignFieldBasic { }\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { NzInputModule } from 'ng-zorro-antd/input';\n\nimport { DeonDesignFieldBasic } from './basic';\n\n@Component({\n selector: 'deon-field-tree',\n template: ` <input nz-input [type]=\"'text'\" [placeholder]=\"placeholder\" [disabled]=\"true\" /> `,\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n NzInputModule\n ]\n})\nexport class DeonDesignFieldTree extends DeonDesignFieldBasic { }\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { NzInputModule } from 'ng-zorro-antd/input';\n\nimport { DeonDesignFieldBasic } from './basic';\n\n@Component({\n selector: 'deon-field-lookup',\n template: ` <input nz-input [type]=\"'text'\" [placeholder]=\"placeholder\" [disabled]=\"true\" /> `,\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n NzInputModule\n ]\n})\nexport class DeonDesignFieldLookup extends DeonDesignFieldBasic { }\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\nimport { DeonDesignFieldBasic } from './basic';\n\n@Component({\n selector: 'deon-field-children',\n template: `\n <ng-content></ng-content>`,\n})\nexport class DeonDesignFieldChildren extends DeonDesignFieldBasic { }\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { NzInputModule } from 'ng-zorro-antd/input';\n\nimport { DeonDesignFieldBasic } from './basic';\n\n@Component({\n selector: 'deon-field-color',\n template: ` <input nz-input [type]=\"'text'\" [placeholder]=\"placeholder\" [(ngModel)]=\"field.defaultValue\" [disabled]=\"true\" /> `,\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n NzInputModule\n ]\n})\nexport class DeonDesignFieldColor extends DeonDesignFieldBasic { }\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { NzInputModule } from 'ng-zorro-antd/input';\n\nimport { DeonDesignFieldBasic } from './basic';\n\n@Component({\n selector: 'deon-field-upload',\n template: ` <input nz-input [type]=\"'text'\" [placeholder]=\"placeholder\" [(ngModel)]=\"field.defaultValue\" [disabled]=\"true\" /> `,\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n NzInputModule\n ]\n})\nexport class DeonDesignFieldUpload extends DeonDesignFieldBasic { }\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { NzInputModule } from 'ng-zorro-antd/input';\n\nimport { DeonDesignFieldBasic } from './basic';\n\n@Component({\n selector: 'deon-field-icon',\n template: ` <input nz-input [type]=\"'text'\" [placeholder]=\"placeholder\" [(ngModel)]=\"field.defaultValue\" [disabled]=\"true\" /> `,\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n NzInputModule\n ]\n})\nexport class DeonDesignFieldIcon extends DeonDesignFieldBasic { }\n","import { Component, Input } from '@angular/core';\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { NzCheckboxModule } from 'ng-zorro-antd/checkbox';\nimport { FormlyModule, FormlyFieldConfig } from '@ebuilding-form/core';\n\n@Component({\n selector: 'deon-field-indicator',\n templateUrl: './index.html',\n styleUrls: ['./index.less'],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n NzCheckboxModule,\n FormlyModule\n ]\n})\nexport class DeonDesignFieldIndicator {\n @Input() field: FormlyFieldConfig = {\n props: {\n label: null,\n },\n };\n}\n","<div>\n <div>\n <!-- <label nz-checkbox [(ngModel)]=\"checked\">Checkbox</label> -->\n <label nz-checkbox>可删除此指标</label>\n <label nz-checkbox>可修改指标描述</label>\n <label nz-checkbox>可修改指标名称</label>\n <label nz-checkbox>可修改指标权重</label>\n </div>\n <div></div>\n</div>\n","import {\n Component,\n OnInit,\n Input,\n Output,\n OnChanges,\n SimpleChanges,\n ViewContainerRef,\n ViewChild,\n ComponentRef,\n ComponentFactory,\n ChangeDetectorRef,\n EventEmitter,\n ComponentFactoryResolver,\n} from '@angular/core';\nimport { CommonModule } from \"@angular/common\";\nimport { FormlyFieldConfig } from '@ebuilding-form/core';\n\nimport { DeonDesignFieldLabel } from './label.type';\nimport { DeonDesignFieldDesc } from './desc.type';\nimport { DeonDesignFieldLine } from './line.type';\n\n//\nimport { DeonDesignFieldText } from './text.type';\nimport { DeonDesignFieldTextCode } from './textcode.type';\nimport { DeonDesignFieldTextArea } from './textarea.type';\nimport { DeonDesignFieldCheckbox } from './checkbox.type';\nimport { DeonDesignFieldCheckboxGroup } from './checkboxgroup.type';\nimport { DeonDesignFieldDatetime } from './datetime.type';\nimport { DeonDesignFieldNumber } from './number.type';\nimport { DeonDesignFieldRadio } from './radio.type';\nimport { DeonDesignFieldRadioGroup } from './radiogroup.type';\nimport { DeonDesignFieldSelect } from './select.type';\nimport { DeonDesignFieldRepeat } from './repeat.type';\nimport { DeonDesignFieldRichtext } from './richtext.type';\nimport { DeonDesignFieldTree } from './tree.type';\nimport { DeonDesignFieldLookup } from './lookup.type';\nimport { DeonDesignFieldChildren } from './children.type';\nimport { DeonDesignFieldColor } from './color.type';\nimport { DeonDesignFieldUpload } from './upload.type';\nimport { DeonDesignFieldIcon } from './icon.type';\nimport { DeonDesignFieldIndicator } from './indicator';\nimport _ from 'lodash';\n@Component({\n selector: 'deon-field-template',\n template: ` <ng-container #componentHost></ng-container> `,\n imports: [\n CommonModule\n ]\n})\nexport class DeonDesignFieldTemplate implements OnInit, OnChanges {\n dynamicComponents: any = {\n checkbox: DeonDesignFieldCheckbox,\n checkboxgroup: DeonDesignFieldCheckboxGroup,\n datetime: DeonDesignFieldDatetime,\n line: DeonDesignFieldLine,\n number: DeonDesignFieldNumber,\n rate_number: DeonDesignFieldNumber,\n radio: DeonDesignFieldRadio,\n radiogroup: DeonDesignFieldRadioGroup,\n select: DeonDesignFieldSelect,\n text: DeonDesignFieldText,\n textcode: DeonDesignFieldTextCode,\n textarea: DeonDesignFieldTextArea,\n label: DeonDesignFieldLabel,\n repeat: DeonDesignFieldRepeat,\n richtext: DeonDesignFieldRichtext,\n desc: DeonDesignFieldDesc,\n tree: DeonDesignFieldTree,\n lookup: DeonDesignFieldLookup,\n lookup_tree: DeonDesignFieldLookup,\n lookup_select: DeonDesignFieldLookup,\n one2many: DeonDesignFieldLookup,\n children: DeonDesignFieldChildren,\n color: DeonDesignFieldColor,\n upload: DeonDesignFieldUpload,\n icon: DeonDesignFieldIcon,\n indicator: DeonDesignFieldIndicator,\n };\n\n component: ComponentRef<any> | undefined;\n\n @ViewChild('componentHost', { read: ViewContainerRef, static: true })\n componentHost: ViewContainerRef | undefined;\n _field: any = {};\n @Input()\n set field(value: FormlyFieldConfig) {\n if (value != null && value != undefined) {\n this._field = value;\n }\n if (this.componentHost) {\n this.componentHost.clear();\n if (\n this._field != undefined &&\n this._field != null &&\n this._field.type != undefined &&\n this._field.type != null &&\n this._field.type != 'list'\n ) {\n const compFactory: ComponentFactory<any> = this.componentFactoryResolver.resolveComponentFactory(\n this.dynamicComponents[this._field.type],\n );\n this.component = this.componentHost.createComponent(compFactory);\n this.component.instance.field = this._field;\n }\n }\n }\n\n @Output() fieldChange: EventEmitter<any> = new EventEmitter();\n constructor(public componentFactoryResolver: ComponentFactoryResolver, public changeDetectorRef: ChangeDetectorRef) { }\n\n ngOnInit() { }\n\n ngOnChanges(changes: SimpleChanges) { }\n}\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\nimport { CommonModule } from \"@angular/common\";\n\n@Component({\n selector: 'empty-field',\n template: ` <div class=\"image\"><img src=\"assets/images/basic/empty9.png\" /></div>\n <div class=\"desc\">\n <span>暂无数据</span>\n </div>`,\n imports: [\n CommonModule\n ]\n})\nexport class EmptyFieldComponent { }\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\nimport { CommonModule } from \"@angular/common\";\n\n@Component({\n selector: 'empty-setting',\n template: `\n <div class=\"image\"><img src=\"assets/images/basic/empty2.png\" /></div>\n <div class=\"desc\">\n <span>请选中字段</span>\n </div>\n `,\n imports: [\n CommonModule\n ]\n})\nexport class EmptySettingComponent { }\n","import { PipeTransform, Pipe } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\n\n@Pipe({ name: 'safeHtml' })\nexport class SafeHtmlPipe implements PipeTransform {\n constructor(private sanitized: DomSanitizer) {}\n transform(value: string) {\n return this.sanitized.bypassSecurityTrustHtml(value);\n }\n}\n","import { Component, Input } from '@angular/core';\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { NzIconModule } from 'ng-zorro-antd/icon';\nimport { FormlyModule, FormlyFieldConfig } from '@ebuilding-form/core';\nimport { DeonDesignFieldTemplate } from \"../teplate.type\";\nimport { SafeHtmlPipe } from \"../../../pipe/safehtml.pipe\";\nimport { DeonDesignSimpleLabel } from \"../../label\";\n\n@Component({\n selector: 'deon-field-default',\n templateUrl: './index.html',\n styleUrls: ['./index.less'],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n FormlyModule,\n NzIconModule,\n DeonDesignFieldTemplate,\n SafeHtmlPipe,\n DeonDesignSimpleLabel\n ]\n})\nexport class DeonDesignFieldDefault {\n @Input() field: any = {\n props: {\n label: null,\n },\n };\n}\n","<ng-container *ngIf=\"field?.props?.hideLabel != true && field.type != 'line' && field.type != 'indicator'\">\n <deon-design-simple-label [field]=\"field\"><span\n [innerHTML]=\"field?.props?.label | safeHtml\"></span></deon-design-simple-label>\n</ng-container>\n\n<deon-field-template [field]=\"field\"></deon-field-template>\n\n<div *ngIf=\"field.props && field.props?.hideJson\" class=\"hideJson\">\n <i nz-icon nzType=\"control\" nzTheme=\"outline\"></i>\n</div>","import { Component, OnInit, Input } from '@angular/core';\nimport { CommonModule } from \"@angular/common\";\nimport _ from 'lodash';\n@Component({\n selector: 'field-name',\n templateUrl: './index.html',\n styleUrls: ['./index.less'],\n imports: [\n CommonModule\n ]\n})\nexport class FormFieldName implements OnInit {\n constructor() { }\n\n ngOnInit(): void { }\n}\n","123\n","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\nimport { DragDropModule } from '@angular/cdk/drag-drop';\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { NzIconModule } from 'ng-zorro-antd/icon';\n\n@Component({\n selector: 'content',\n templateUrl: './index.component.html',\n styleUrls: ['./index.component.less'],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n DragDropModule,\n NzIconModule\n ]\n})\nexport class ContentComponent implements OnInit {\n @Input() state: any = 'view';\n @Input() field: any = null;\n @Input() isOperation: boolean = true;\n\n @Output() fieldDelEvent: EventEmitter<any> = new EventEmitter<any>();\n\n constructor() { }\n\n ngOnInit() { }\n\n fieldDelete(e: any) {\n this.fieldDelEvent.emit(e);\n }\n}\n","<div class=\"el-item\" [ngClass]=\"{\n 'item-active': field?.active == true,\n 'layout-default': field.props?.layout == 'default',\n 'layout-upDown': field.props?.layout == 'upDown'\n }\">\n <ng-content></ng-content>\n <ng-container *ngIf=\"field?.active == true && isOperation == true\">\n <div class=\"widget-drag\" cdkDragHandle><span nz-icon nzType=\"drag\"></span></div>\n <div class=\"widget-delete\" (click)=\"fieldDelete($event)\"><span nz-icon nzType=\"delete\"></span></div>\n </ng-container>\n <div cdkDragHandle style=\"display: none\"></div>\n\n <div class=\"example-custom-placeholder\" *cdkDragPlaceholder></div>\n</div>","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\n\n@Component({\n selector: 'content-table',\n template: `\n <div\n class=\"el-item\"\n [ngClass]=\"{\n 'item-active': field?.active == true\n }\"\n >\n <ng-content></ng-content>\n </div>\n `,\n styleUrls: ['./index.component.less'],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule\n ]\n})\nexport class ContentTableComponent implements OnInit {\n @Input() field: any = null;\n\n @Output() fieldDelEvent: EventEmitter<any> = new EventEmitter<any>();\n\n constructor() { }\n\n ngOnInit() { }\n}\n","import {\n Component,\n ChangeDetectionStrategy,\n OnInit,\n OnChanges,\n OnDestroy,\n Input,\n Output,\n EventEmitter,\n SimpleChanges,\n ViewChildren,\n QueryList,\n AfterViewInit,\n} from '@angular/core';\nimport { DragDropModule, CdkDragDrop, CdkDropList, moveItemInArray, transferArrayItem } from '@angular/cdk/drag-drop';\nimport { NzModalService } from 'ng-zorro-antd/modal';\nimport { asapScheduler } from 'rxjs';\nimport { FormlyFieldConfig, FormlyFormBuilder } from '@ebuilding-form/core';\nimport { FieldService } from '../services/field.service';\nimport _ from 'lodash';\nimport { DeonFormUtilService } from \"@ebuilding/base/shared.srv/deon.util\";\n\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { OverlayModule } from '@angular/cdk/overlay';\n\nimport { NzTabsModule } from 'ng-zorro-antd/tabs';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\nimport { NzGridModule } from 'ng-zorro-antd/grid';\nimport { NzTableModule } from 'ng-zorro-antd/table';\nimport { NzPopoverModule } from 'ng-zorro-antd/popover';\n\nimport { EmptySettingComponent } from '../components/empty/empty.setting';\nimport { DeonDesignFieldTypeBasic } from '../components/type.basic/index.component';\nimport { DeonDesignFieldTypeSource } from '../components/type.source/index.component';\nimport { DeonDesignFieldDefault } from '../components/field.type/default';\nimport { DeonDesignFieldTemplate } from '../components/field.type/teplate.type';\nimport { DeonDesignSettingTemplate } from '../components/field.setting/setting.teplate';\nimport { ContentComponent } from '../content/index.component';\nimport { ContentTableComponent } from '../content/table.component';\n\n@Component({\n selector: 'deon-design-simple',\n styleUrls: ['./index.component.less'],\n templateUrl: './index.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n CommonModule,\n FormsModule, ReactiveFormsModule, OverlayModule, DragDropModule,\n NzTabsModule,\n NzIconModule,\n NzGridModule,\n NzTableModule,\n NzPopoverModule,\n EmptySettingComponent,\n DeonDesignFieldTypeBasic,\n DeonDesignFieldTypeSource,\n DeonDesignFieldDefault,\n DeonDesignFieldTemplate,\n DeonDesignSettingTemplate,\n ContentComponent,\n ContentTableComponent\n ]\n})\nexport class DeonDesignSimpleComponent implements OnInit, OnChanges, OnDestroy, AfterViewInit {\n fields: any[] = [];\n /**\n * 当前选择字段\n */\n activeField: FormlyFieldConfig = null;\n sourceField: any = null;\n sourceType: any = {};\n\n @ViewChildren(CdkDropList)\n private dlq?: QueryList<CdkDropList>;\n\n public dls: CdkDropList[] = [];\n\n @Input() dialogPageData: any = null;\n\n @Input() dialogFormData: any[] = [];\n\n @Input() tableInfo: any;\n\n /**\n * 表单JSON体\n */\n @Input()\n set fieldList(value: any) {\n if (value != undefined && value != null) {\n this.fields = value;\n this.initActive();\n }\n }\n get fieldList() {\n return this.fields;\n }\n\n @Input() state: any = 'view';\n\n @Input() formProp: boolean = true;\n\n @Output() actionEvent: EventEmitter<any> = new EventEmitter<any>();\n\n constructor(\n public modal: NzModalService,\n public deonFormBuilder: FormlyFormBuilder,\n public fieldSrv: FieldService,\n public formUtilService: DeonFormUtilService,\n ) { }\n\n ngOnInit() { }\n\n ngAfterViewInit() {\n this.dlq.changes.subscribe(() => {\n let ldls: CdkDropList[] = [];\n\n this.dlq.forEach((dl) => {\n ldls.push(dl);\n });\n\n ldls = ldls.reverse();\n asapScheduler.schedule(() => {\n this.dls = ldls;\n const siblings = this.dls.map((dl) => dl?._dropListRef);\n // overwrite _getSiblingContainerFromPosition method\n this.dlq.forEach((dl) => {\n dl._dropListRef._getSiblingContainerFromPosition = (item, x, y) => siblings.find((sibling) => sibling._canReceive(item, x, y));\n });\n });\n });\n }\n\n drop(event: CdkDragDrop<string[]>) {\n if (event.previousContainer === event.container) {\n moveItemInArray(event.container.data, event.previousIndex, event.currentIndex);\n } else {\n if (_.get(event, 'previousContainer.data.type_base')!!) {\n this.fieldSrv.transferBasicType(\n event.container.data,\n event.currentIndex,\n event.previousContainer.data['type_base'],\n event.previousIndex,\n );\n } else if (_.get(event, 'previousContainer.data.type_source')!!) {\n this.fieldSrv.transferSourceType(\n event.container.data,\n event.currentIndex,\n event.previousContainer.data['type_source'],\n event.previousIndex,\n );\n this.fieldSrv.tableFieldState(this.fields, this.tableInfo);\n } else {\n let findField: any = event.previousContainer.data[event.previousIndex];\n if (\n findField != undefined &&\n findField != null &&\n findField.type != 'grid' &&\n findField.type != 'list' &&\n findField.type != 'repeat'\n ) {\n transferArrayItem(event.previousContainer.data, event.container.data, event.previousIndex, event.currentIndex);\n }\n }\n }\n this.formInfoEmit();\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes[\"tableInfo\"] || changes[\"fieldList\"]) {\n this.fieldSrv.tableFieldState(this.fields, this.tableInfo);\n }\n }\n\n ngOnDestroy() { }\n\n /**\n * 抛出事件\n */\n private formInfoEmit() {\n //this._formInfo.fields = _.cloneDeep(this.fields);\n\n this.actionEvent.emit(_.cloneDeep(this.fields));\n }\n\n activeFieldChange(e: any) {\n this.activeField;\n this.formInfoEmit();\n }\n\n activeFieldTypeChange(e: any) {\n this.formInfoEmit();\n this.activeField = _.cloneDeep(e);\n this.fields = _.cloneDeep(this.fields);\n }\n\n activeRepeatChange(e: any) { }\n\n /**\n * 删除Field\n * @param e\n */\n deleteField(e: any, event?: any) {\n event.stopPropagation();\n let fieldNews: FormlyFieldConfig[] = _.cloneDeep(this.fields);\n fieldNews.forEach((item: any, index: any, object: any) => {\n if (this.activeField!! && (item == e || item.key == e.key)) {\n object.splice(index, 1);\n this.activeField = null;\n } else {\n if (item.type == 'grid' && this.activeField!!) {\n this.loopDelete(e, item);\n }\n }\n });\n this.fields.length = 0;\n this.fields = [...this.fields, ...fieldNews];\n this.fieldSrv.tableFieldState(this.fields, this.tableInfo);\n this.formInfoEmit();\n }\n\n deleteFieldIndex(index: any, event?: any) {\n event.stopPropagation();\n let fieldNews: FormlyFieldConfig[] = this.fields.filter((item: any, i: any, object: any) => {\n return i != index;\n });\n\n this.fields.length = 0;\n this.fields = [...this.fields, ...fieldNews];\n this.fieldSrv.tableFieldState(this.fields, this.tableInfo);\n this.activeField = null;\n this.formInfoEmit();\n }\n\n deleteFieldByGrid(e: any) {\n this.fieldSrv.tableFieldState(_.cloneDeep(this.fields), this.tableInfo);\n this.formInfoEmit();\n }\n\n /**\n * 拖拽到第一层\n * 来源有三种\n * 1、左边拖到右边\n * 2、右边第一层拖动\n * 3、右边内层拖到到第一层\n * @param event\n */\n dropField(event: CdkDragDrop<string[]>) {\n if (event.previousContainer === event.container) {\n moveItemInArray(event.container.data, event.previousIndex, event.currentIndex);\n } else {\n if (_.get(event, 'previousContainer.data.type_base')!!) {\n this.fieldSrv.transferBasicType(\n event.container.data,\n event.currentIndex,\n event.previousContainer.data['type_base'],\n event.previousIndex,\n );\n } else if (_.get(event, 'previousContainer.data.type_source')!!) {\n this.fieldSrv.transferSourceType(\n event.container.data,\n event.currentIndex,\n event.previousContainer.data['type_source'],\n event.previousIndex,\n );\n this.fieldSrv.tableFieldState(this.fields, this.tableInfo);\n } else {\n let findField: any = event.previousContainer.data[event.previousIndex];\n if (\n findField != undefined &&\n findField != null &&\n findField.type != 'grid' &&\n findField.type != 'list' &&\n findField.type != 'repeat'\n ) {\n transferArrayItem(event.previousContainer.data, event.container.data, event.previousIndex, event.currentIndex);\n }\n }\n }\n this.formInfoEmit();\n }\n\n dropGridListField(event: CdkDragDrop<string[]>) {\n if (event.previousContainer === event.container) {\n moveItemInArray(event.container.data, event.previousIndex, event.currentIndex);\n } else {\n if (_.get(event, 'previousContainer.data.type_base')!!) {\n } else if (_.get(event, 'previousContainer.data.type_source')!!) {\n this.fieldSrv.transferSourceType(\n event.container.data,\n event.currentIndex,\n event.previousContainer.data['type_source'],\n event.previousIndex,\n );\n this.fieldSrv.tableFieldState(this.fields, this.tableInfo);\n } else {\n let findField: any = event.previousContainer.data[event.previousIndex];\n if (\n findField != undefined &&\n findField != null &&\n findField.type != 'label' &&\n findField.type != 'desc' &&\n findField.type != 'line' &&\n findField.type != 'grid' &&\n findField.type != 'list' &&\n findField.type != 'repeat'\n ) {\n transferArrayItem(event.previousContainer.data, event.container.data, event.previousIndex, event.currentIndex);\n } else {\n }\n }\n }\n this.formInfoEmit();\n }\n\n /**\n * 初始化字段\n */\n initActive() {\n this.activeField = null;\n this.fields.forEach((item: any) => {\n item.active = false;\n if (item.type == 'grid') {\n this.loopActive(null, item);\n }\n });\n }\n\n /**\n * 点击选中字段\n * @param e\n * @param event\n */\n fieldActive(e: FormlyFieldConfig, event?: any, source?: any) {\n if (this.state == 'view') {\n return;\n }\n event.stopPropagation();\n this.sourceField = this.fieldSrv.tableFieldByKey(e.key, this.tableInfo);\n this.activeField = e;\n this.sourceType = { repeat: source == 'repeat' };\n this.fields.forEach((item: any) => {\n if (item == e) {\n item.active = true;\n } else {\n item.active = false;\n }\n if (item.type == 'grid') {\n this.loopActive(e, item);\n } else if (item.type == 'repeat') {\n this.loopActive(e, item.fieldArray);\n }\n });\n }\n\n /**\n * 递归选中\n * @param e\n * @param field\n */\n loopActive(e: FormlyFieldConfig, field: FormlyFieldConfig) {\n if (field!! && field.fieldGroup!! && field.fieldGroup.length > 0) {\n field.fieldGroup.forEach((item: any) => {\n if (item == e) {\n item.active = true;\n } else {\n item.active = false;\n }\n if (item.type == 'list') {\n this.loopActive(e, item);\n }\n });\n }\n }\n\n /**\n * 递归删除\n * @param e\n * @param field\n */\n loopDelete(e: FormlyFieldConfig, field: FormlyFieldConfig) {\n if (field!! && field.fieldGroup!! && field.fieldGroup.length > 0) {\n field.fieldGroup.forEach((item: any, index: any, object: any) => {\n if (this.activeField!! && (item == e || item.key == e.key)) {\n object.splice(index, 1);\n this.activeField = null;\n } else {\n if (item.type == 'list' && this.activeField!!) {\n this.loopDelete(e, item);\n }\n }\n });\n }\n }\n}\n","<div class=\"design-simple\" cdkDropListGroup>\n <div class=\"box-west\" *ngIf=\"state == 'edit'\">\n <nz-tabset>\n <nz-tab nzTitle=\"默认字段\">\n <deon-field-type-basic [dls]=\"dls\" [isDefault]=\"formProp\"></deon-field-type-basic>\n </nz-tab>\n <nz-tab nzTitle=\"表单对象\">\n <deon-field-type-source [tableInfo]=\"tableInfo\" [dls]=\"dls\"></deon-field-type-source>\n </nz-tab>\n </nz-tabset>\n </div>\n <div class=\"box-content\">\n <div class=\"box-center\">\n <ng-content select=\"[name=content-info]\"></ng-content>\n <div cdkDropList [cdkDropListData]=\"fields\" class=\"field-list\" (cdkDropListDropped)=\"drop($event)\"\n [cdkDropListConnectedTo]=\"dls\">\n <ng-container *ngFor=\"let field of fields; let index = index\">\n <div class=\"field-box\" [cdkDragDisabled]=\"state == 'view'\" cdkDrag>\n <ng-container [ngSwitch]=\"field.type\">\n <ng-container *ngSwitchCase=\"'grid'\">\n <div class=\"grid-box\" [ngClass]=\"{ 'grid-active': field?.active == true }\"\n (click)=\"fieldActive(field, $event)\">\n <ng-container *ngIf=\"field?.active == true\">\n <div class=\"grid-drag\" cdkDragHandle><span nz-icon nzType=\"drag\"></span></div>\n <div class=\"grid-delete\"><span nz-icon nzType=\"delete\"\n (click)=\"deleteFieldIndex(index, $event)\"></span></div>\n </ng-container>\n <div cdkDragHandle style=\"display: none\"></div>\n\n <div nz-row>\n <ng-container *ngFor=\"let grid of field.fieldGroup\">\n <div nz-col [nzSpan]=\"grid.props.cols\" cdkDropList [cdkDropListData]=\"grid.fieldGroup\"\n class=\"field-list\" (cdkDropListDropped)=\"drop($event)\" [cdkDropListConnectedTo]=\"dls\">\n <div *ngFor=\"let innerItem of grid.fieldGroup\" [cdkDragDisabled]=\"state == 'view'\" cdkDrag\n class=\"field-box\">\n <content [field]=\"innerItem\" [state]=\"state\" (click)=\"fieldActive(innerItem, $event)\"\n (fieldDelEvent)=\"deleteField(innerItem, $event)\">\n <deon-field-default [field]=\"innerItem\"></deon-field-default>\n </content>\n </div>\n </div>\n </ng-container>\n </div>\n </div>\n </ng-container>\n <!-- 子表单 -->\n <ng-container *ngSwitchCase=\"'repeat'\">\n <div class=\"repeat-box\" (click)=\"fieldActive(field, $event)\" cdkDrag\n [ngClass]=\"{ 'repeat-active': field?.active == true }\">\n <div class=\"title\">{{ field.props.label }}</div>\n <ng-container *ngIf=\"field?.active == true\">\n <div class=\"grid-drag\" cdkDragHandle><span nz-icon nzType=\"drag\"></span></div>\n <div class=\"grid-delete\"><span nz-icon nzType=\"delete\"\n (click)=\"deleteFieldIndex(index, $event)\"></span></div>\n </ng-container>\n <div cdkDragHandle style=\"display: none\"></div>\n <ng-container\n *ngIf=\"field.fieldArray.fieldGroup!! && field.fieldArray.fieldGroup.length > 0; else tmpPanel\">\n <nz-table #basicTable nzShowPagination=\"false\" nzSize=\"small\" nzShowPagination=\"false\"\n [nzData]=\"field.fieldArray.fieldGroup\">\n <thead>\n <tr>\n <th nzWidth=\"50px\" class=\"select-box td\" nzLeft=\"0px\">序号</th>\n <th *ngFor=\"let innerItem of field.fieldArray.fieldGroup\">\n {{ innerItem.props.label }}\n </th>\n <th>\n <span class=\"\"> </span>\n </th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <td nzLeft=\"0px\">\n <span>1</span>\n </td>\n <td *ngFor=\"let innerItem of field.fieldArray.fieldGroup\">\n <content-table [field]=\"innerItem\" (click)=\"fieldActive(innerItem, $event, 'repeat')\">\n <deon-field-template [field]=\"innerItem\"> </deon-field-template>\n </content-table>\n </td>\n <td nzRight=\"0px\"></td>\n </tr>\n </tbody>\n </nz-table>\n </ng-container>\n <ng-template #tmpPanel>\n <div nz-col [nzSpan]=\"24\" class=\"field-box repeat-empty\">暂无字段</div>\n </ng-template>\n </div>\n </ng-container>\n\n <!-- 子表单 -->\n <ng-container *ngSwitchCase=\"'children'\">\n <div class=\"repeat-box\" (click)=\"fieldActive(field, $event)\" cdkDrag\n [ngClass]=\"{ 'repeat-active': field?.active == true }\">\n <div class=\"title\">{{ field.props.label }}</div>\n <ng-container *ngIf=\"field?.active == true\">\n <div class=\"grid-drag\" cdkDragHandle><span nz-icon nzType=\"drag\"></span></div>\n <div class=\"grid-delete\"><span nz-icon nzType=\"delete\"\n (click)=\"deleteFieldIndex(index, $event)\"></span></div>\n </ng-container>\n <div cdkDragHandle style=\"display: none\"></div>\n <ng-container\n *ngIf=\"field.fieldArray.fieldGroup!! && field.fieldArray.fieldGroup.length > 0; else tmpPanel\">\n <nz-table #basicTable nzShowPagination=\"false\" nzSize=\"small\" nzShowPagination=\"false\"\n [nzData]=\"field.fieldArray.fieldGroup\">\n <thead>\n <tr>\n <th nzWidth=\"50px\" class=\"select-box td\" nzLeft=\"0px\">序号</th>\n <th *ngFor=\"let innerItem of field.fieldArray.fieldGroup\">\n {{ innerItem.props.label }}\n </th>\n <th>\n <span class=\"\"> </span>\n </th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <td nzLeft=\"0px\">\n <span>1</span>\n </td>\n <td *ngFor=\"let innerItem of field.fieldArray.fieldGroup\">\n <content-table [field]=\"innerItem\" (click)=\"fieldActive(innerItem, $event, 'repeat')\">\n <deon-field-template [field]=\"innerItem\"> </deon-field-template>\n </content-table>\n </td>\n <td nzRight=\"0px\"></td>\n </tr>\n </tbody>\n </nz-table>\n </ng-container>\n <ng-template #tmpPanel>\n <div nz-col [nzSpan]=\"24\" class=\"field-box repeat-empty\">暂无字段</div>\n </ng-template>\n </div>\n </ng-container>\n\n <!-- 引用表单 -->\n <ng-container *ngSwitchCase=\"'reform'\">\n <div class=\"repeat-box\" (click)=\"fieldActive(field, $event)\" cdkDrag\n [ngClass]=\"{ 'repeat-active': field?.active == true }\">\n <div class=\"title\">{{ field.props.label }}</div>\n <ng-container *ngIf=\"field?.active == true\">\n <div class=\"grid-drag\" cdkDragHandle><span nz-icon nzType=\"drag\"></span></div>\n <div class=\"grid-delete\"><span nz-icon nzType=\"delete\"\n (click)=\"deleteFieldIndex(index, $event)\"></span></div>\n </ng-container>\n <div cdkDragHandle style=\"display: none\"></div>\n <ng-container *ngIf=\"field.fieldGroup!! && field.fieldGroup.length > 0; else tmpPanel2\">\n <div nz-col [nzSpan]=\"24\" class=\"field-box repeat-empty\">已经引用</div>\n </ng-container>\n <ng-template #tmpPanel2>\n <div nz-col [nzSpan]=\"24\" class=\"field-box repeat-empty\">暂无字段</div>\n </ng-template>\n </div>\n </ng-container>\n\n <!-- 页签 -->\n <ng-container *ngSwitchCase=\"'tabs'\">\n <div class=\"tabs-box\" (click)=\"fieldActive(field, $event)\" cdkDrag\n [ngClass]=\"{ 'repeat-active': field?.active == true }\">\n <div class=\"title\">多页签控件</div>\n <ng-container *ngIf=\"field?.active == true\">\n <div class=\"grid-drag\" cdkDragHandle><span nz-icon nzType=\"drag\"></span></div>\n <div class=\"grid-delete\"><span nz-icon nzType=\"delete\"\n (click)=\"deleteFieldIndex(index, $event)\"></span></div>\n </ng-container>\n <div cdkDragHandle style=\"display: none\"></div>\n <ng-container *ngIf=\"field.fieldGroup!! && field.fieldGroup.length > 0; else tmpPanel2\">\n <div nz-col [nzSpan]=\"24\" class=\"field-box\">\n <nz-tabset>\n <ng-container *ngFor=\"let tab of field.fieldGroup\">\n <nz-tab [nzTitle]=\"tab?.props?.label\" nzDisabled> </nz-tab>\n </ng-container>\n </nz-tabset>\n </div>\n </ng-container>\n <ng-template #tmpPanel2>\n <div nz-col [nzSpan]=\"24\" class=\"field-box repeat-empty\">暂无配置</div>\n </ng-template>\n </div>\n </ng-container>\n\n <ng-container *ngSwitchDefault>\n <content [field]=\"field\" [state]=\"state\" (click)=\"fieldActive(field, $event)\"\n (fieldDelEvent)=\"deleteFieldIndex(index, $event)\">\n <deon-field-default [field]=\"field\"></deon-field-default>\n </content>\n </ng-container>\n </ng-container>\n </div>\n </ng-container>\n <div class=\"field-box test\" [cdkDragDisabled]=\"state == 'view'\" cdkDrag></div>\n </div>\n </div>\n <div class=\"box-east\" *ngIf=\"state == 'edit'\">\n <nz-tabset>\n <nz-tab nzTitle=\"字段属性\">\n <ng-container *ngIf=\"activeField!!; else tmpSetting\">\n <deon-setting-template [dialogPageData]=\"dialogPageData\" [dialogFormData]=\"dialogFormData\"\n [sourceType]=\"sourceType\" [field]=\"activeField\" [tableField]=\"sourceField\"\n (fieldChange)=\"activeFieldChange($event)\" (fieldTypeChange)=\"activeFieldTypeChange($event)\"\n (repeatChange)=\"activeRepeatChange($event)\" (delGridCell)=\"deleteFieldByGrid($event)\">\n </deon-setting-template>\n </ng-container>\n <ng-template #tmpSetting>\n <empty-setting></empty-setting>\n </ng-template>\n </nz-tab>\n <nz-tab nzTitle=\"表单属性\" *ngIf=\"formProp\">\n <ng-content></ng-content>\n </nz-tab>\n </nz-tabset>\n </div>\n </div>\n</div>","import {\r\n Component,\r\n ChangeDetectionStrategy,\r\n OnInit,\r\n OnChanges,\r\n OnDestroy,\r\n Input,\r\n Output,\r\n EventEmitter,\r\n SimpleChanges,\r\n ViewChildren,\r\n QueryList,\r\n AfterViewInit,\r\n} from '@angular/core';\r\nimport {\r\n DragDropModule, CdkDragDrop, CdkDropList, CdkDropListGroup,\r\n CdkDrag, moveItemInArray, transferArrayItem\r\n} from '@angular/cdk/drag-drop';\r\nimport { NzModalService } from 'ng-zorro-antd/modal';\r\nimport { asapScheduler } from 'rxjs';\r\nimport { FormlyFieldConfig, FormlyFormBuilder } from '@ebuilding-form/core';\r\nimport { FieldService } from '../services/field.service';\r\nimport _ from 'lodash';\r\nimport { DeonFormUtilService } from \"@ebuilding/base/shared.srv/deon.util\";\r\n\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { OverlayModule } from '@angular/cdk/overlay';\r\n\r\nimport { NzTabsModule } from 'ng-zorro-antd/tabs';\r\nimport { NzIconModule } from 'ng-zorro-antd/icon';\r\nimport { NzGridModule } from 'ng-zorro-antd/grid';\r\nimport { NzTableModule } from 'ng-zorro-antd/table';\r\nimport { NzPopoverModule } from 'ng-zorro-antd/popover';\r\nimport { NzCheckboxModule } from 'ng-zorro-antd/checkbox';\r\n\r\nimport { EmptySettingComponent } from '../components/empty/empty.setting';\r\nimport { DeonDesignFieldTypeBasic2 } from '../components/type.basic2/index.component';\r\nimport { DeonDesignFieldTypeSource2 } from '../components/type.source2/index.component';\r\nimport { DeonDesignFieldDefault } from '../components/field.type/default';\r\nimport { DeonDesignFieldTemplate } from '../components/field.type/teplate.type';\r\nimport { DeonDesignSettingTemplate } from '../components/field.setting/setting.teplate';\r\nimport { ContentComponent } from '../content/index.component';\r\nimport { ContentTableComponent } from '../content/table.component';\r\n\r\n@Component({\r\n selector: 'kpi-design-simple',\r\n styleUrls: ['./index.component.less'],\r\n templateUrl: './index.component.html',\r\n standalone: true,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [\r\n CommonModule,\r\n FormsModule, ReactiveFormsModule, OverlayModule,\r\n DragDropModule, CdkDropList, CdkDropListGroup, CdkDrag,\r\n NzTabsModule,\r\n NzIconModule,\r\n NzGridModule,\r\n NzTableModule,\r\n NzPopoverModule,\r\n NzCheckboxModule,\r\n EmptySettingComponent,\r\n DeonDesignFieldTypeBasic2,\r\n DeonDesignFieldTypeSource2,\r\n DeonDesignFieldDefault,\r\n //DeonDesignFieldTemplate,\r\n DeonDesignSettingTemplate,\r\n ContentComponent,\r\n // ContentTableComponent\r\n ]\r\n})\r\nexport class KPIDesignSimpleComponent implements OnInit, OnChanges, OnDestroy, AfterViewInit {\r\n\r\n /**\r\n * 当前选择字段\r\n */\r\n activeField: FormlyFieldConfig = null;\r\n sourceField: any = null;\r\n sourceType: any = {};\r\n\r\n @ViewChildren(CdkDropList)\r\n private dlq?: QueryList<CdkDropList>;\r\n\r\n public dls: CdkDropList[] = [];\r\n\r\n @Input() dialogPageData: any = null;\r\n\r\n @Input() dialogFormData: any[] = [];\r\n\r\n @Input() indicatorList: any[] = [];\r\n\r\n @Input() fieldList: any[] = [];\r\n\r\n @Input() tableInfo: any;\r\n\r\n @Input() showDim: boolean = true;\r\n\r\n @Input() isEditor: boolean = true;\r\n\r\n // /**\r\n // * 表单JSON体\r\n // */\r\n // @Input()\r\n // set fieldList(value: any) {\r\n // if (value != undefined && value != null) {\r\n // this.fields = value;\r\n // this.initActive();\r\n // }\r\n // }\r\n // get fieldList() {\r\n // return this.fields;\r\n // }\r\n\r\n @Input() state: any = 'default';\r\n\r\n @Input() formProp: boolean = true;\r\n\r\n @Input() pageConfig: any = null;\r\n\r\n @Output() actionEvent: EventEmitter<any> = new EventEmitter<any>();\r\n\r\n constructor(\r\n public modal: NzModalService,\r\n public deonFormBuilder: FormlyFormBuilder,\r\n public fieldSrv: FieldService,\r\n public formUtilService: DeonFormUtilService,\r\n ) { }\r\n\r\n ngOnInit() { }\r\n\r\n ngAfterViewInit() {\r\n this.dlq.changes.subscribe(() => {\r\n let ldls: CdkDropList[] = [];\r\n\r\n this.dlq.forEach((dl) => {\r\n ldls.push(dl);\r\n });\r\n\r\n ldls = ldls.reverse();\r\n asapScheduler.schedule(() => {\r\n this.dls = ldls;\r\n const siblings = this.dls.map((dl) => dl?._dropListRef);\r\n // overwrite _getSiblingContainerFromPosition method\r\n this.dlq.forEach((dl) => {\r\n dl._dropListRef._getSiblingContainerFromPosition = (item, x, y) => siblings.find((sibling) => sibling._canReceive(item, x, y));\r\n });\r\n });\r\n });\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes[\"pageConfig\"] && this.pageConfig) {\r\n this.initActive();\r\n }\r\n }\r\n\r\n ngOnDestroy() { }\r\n\r\n drop(event: CdkDragDrop<string[]>) {\r\n if (this.isEditor != true) {\r\n return;\r\n }\r\n if (event.previousContainer === event.container) {\r\n moveItemInArray(event.container.data, event.previousIndex, event.currentIndex);\r\n } else {\r\n if (_.get(event, 'previousContainer.data.type_base')!!) {\r\n this.fieldSrv.transferBasicType(\r\n event.container.data,\r\n event.currentIndex,\r\n event.previousContainer.data['type_base'],\r\n event.previousIndex,\r\n );\r\n } else if (_.get(event, 'previousContainer.data.type_source')!!) {\r\n this.fieldSrv.transferSourceType(\r\n event.container.data,\r\n event.currentIndex,\r\n event.previousContainer.data['type_source'],\r\n event.previousIndex,\r\n );\r\n this.fieldSrv.tableFieldState(this.fieldList, this.tableInfo);\r\n } else {\r\n let findField: any = event.previousContainer.data[event.previousIndex];\r\n if (\r\n findField != undefined &&\r\n findField != null &&\r\n findField.type != 'grid' &&\r\n findField.type != 'list' &&\r\n findField.type != 'indicator' &&\r\n findField.type != 'repeat'\r\n ) {\r\n transferArrayItem(event.previousContainer.data, event.container.data, event.previousIndex, event.currentIndex);\r\n }\r\n }\r\n }\r\n this.formInfoEmit();\r\n }\r\n\r\n /**\r\n * 抛出事件\r\n */\r\n private formInfoEmit() {\r\n //this._formInfo.fields = _.cloneDeep(this.fields);\r\n if (this.isEditor != true) {\r\n return;\r\n }\r\n this.actionEvent.emit(_.cloneDeep(this.fieldList));\r\n }\r\n\r\n activeFieldChange(e: any) {\r\n this.formInfoEmit();\r\n }\r\n\r\n activeFieldTypeChange(e: any) {\r\n this.formInfoEmit();\r\n this.activeField = _.cloneDeep(e);\r\n }\r\n\r\n activeRepeatChange(e: any) { }\r\n\r\n /**\r\n * 删除Field\r\n * @param e\r\n */\r\n deleteField(e: any, event?: any) {\r\n event.stopPropagation();\r\n let fieldNews: FormlyFieldConfig[] = _.cloneDeep(this.fieldList);\r\n fieldNews.forEach((item: any, index: any, object: any) => {\r\n if (this.activeField!! && (item == e || item.key == e.key)) {\r\n object.splice(index, 1);\r\n this.activeField = null;\r\n } else {\r\n if (item.type == 'grid' && this.activeField!!) {\r\n this.loopDelete(e, item);\r\n }\r\n }\r\n });\r\n this.fieldList.length = 0;\r\n this.fieldList = [...this.fieldList, ...fieldNews];\r\n this.fieldSrv.tableFieldState(this.fieldList, this.tableInfo);\r\n this.formInfoEmit();\r\n }\r\n\r\n deleteFieldIndex(index: any, event?: any) {\r\n event.stopPropagation();\r\n let fieldNews: FormlyFieldConfig[] = this.fieldList.filter((item: any, i: any, object: any) => {\r\n return i != index;\r\n });\r\n\r\n this.fieldList.length = 0;\r\n this.fieldList = [...this.fieldList, ...fieldNews];\r\n this.fieldSrv.tableFieldState(this.fieldList, this.tableInfo);\r\n this.activeField = null;\r\n this.formInfoEmit();\r\n }\r\n\r\n deleteFieldByGrid(e: any) {\r\n this.fieldSrv.tableFieldState(_.cloneDeep(this.fieldList), this.tableInfo);\r\n this.formInfoEmit();\r\n }\r\n\r\n /**\r\n * 拖拽到第一层\r\n * 来源有三种\r\n * 1、左边拖到右边\r\n * 2、右边第一层拖动\r\n * 3、右边内层拖到到第一层\r\n * @param event\r\n */\r\n dropField(event: CdkDragDrop<string[]>) {\r\n if (event.previousContainer === event.container) {\r\n moveItemInArray(event.container.data, event.previousIndex, event.currentIndex);\r\n } else {\r\n if (_.get(event, 'previousContainer.data.type_base')) {\r\n this.fieldSrv.transferBasicType(\r\n event.container.data,\r\n event.currentIndex,\r\n event.previousContainer.data['type_base'],\r\n event.previousIndex,\r\n );\r\n } else if (_.get(event, 'previousContainer.data.type_source')) {\r\n this.fieldSrv.transferSourceType(\r\n event.container.data,\r\n event.currentIndex,\r\n event.previousContainer.data['type_source'],\r\n event.previousIndex,\r\n );\r\n this.fieldSrv.tableFieldState(this.fieldList, this.tableInfo);\r\n } else {\r\n let findField: any = event.previousContainer.data[event.previousIndex];\r\n if (\r\n findField != undefined &&\r\n findField != null &&\r\n findField.type != 'grid' &&\r\n findField.type != 'list' &&\r\n findField.type != 'repeat'\r\n ) {\r\n transferArrayItem(event.previousContainer.data, event.container.data, event.previousIndex, event.currentIndex);\r\n }\r\n }\r\n }\r\n this.formInfoEmit();\r\n }\r\n\r\n dropGridListField(event: CdkDragDrop<string[]>) {\r\n if (event.previousContainer === event.container) {\r\n moveItemInArray(event.container.data, event.previousIndex, event.currentIndex);\r\n } else {\r\n if (_.get(event, 'previousContainer.data.type_base')) {\r\n } else if (_.get(event, 'previousContainer.data.type_source')) {\r\n this.fieldSrv.transferSourceType(\r\n event.container.data,\r\n event.currentIndex,\r\n event.previousContainer.data['type_source'],\r\n event.previousIndex,\r\n );\r\n this.fieldSrv.tableFieldState(this.fieldList, this.tableInfo);\r\n } else {\r\n let findField: any = event.previousContainer.data[event.previousIndex];\r\n if (\r\n findField != undefined &&\r\n findField != null &&\r\n findField.type != 'label' &&\r\n findField.type != 'desc' &&\r\n findField.type != 'line' &&\r\n findField.type != 'grid' &&\r\n findField.type != 'list' &&\r\n findField.type != 'repeat'\r\n ) {\r\n transferArrayItem(event.previousContainer.data, event.container.data, event.previousIndex, event.currentIndex);\r\n } else {\r\n }\r\n }\r\n }\r\n this.formInfoEmit();\r\n }\r\n\r\n /**\r\n * 初始化字段\r\n */\r\n initActive() {\r\n this.activeField = null;\r\n this.fieldList.forEach((item: any) => {\r\n item.active = false;\r\n if (item?.fieldGroup) {\r\n this.loopActive(null, item);\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * 点击选中字段\r\n * @param e\r\n * @param event\r\n */\r\n fieldActive(e: FormlyFieldConfig, event?: any, source?: any) {\r\n event.stopPropagation();\r\n this.sourceField = this.fieldSrv.tableFieldByKey(e.key, this.tableInfo);\r\n this.activeField = e;\r\n this.sourceType = { repeat: source == 'repeat' };\r\n this.fieldList.forEach((item: any) => {\r\n if (item == e) {\r\n item.active = true;\r\n } else {\r\n item.active = false;\r\n }\r\n if (item.type == 'grid') {\r\n this.loopActive(e, item);\r\n } else if (item.type == 'repeat') {\r\n this.loopActive(e, item.fieldArray);\r\n } else if (item.type == 'indicator') {\r\n this.loopActive(e, item);\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * 递归选中\r\n * @param e\r\n * @param field\r\n */\r\n loopActive(e: FormlyFieldConfig, field: FormlyFieldConfig) {\r\n if (field && field?.fieldGroup && field?.fieldGroup?.length > 0) {\r\n field.fieldGroup.forEach((item: any) => {\r\n if (item == e) {\r\n item.active = true;\r\n } else {\r\n item.active = false;\r\n }\r\n if (item?.fieldGroup) {\r\n this.loopActive(e, item);\r\n }\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * 递归删除\r\n * @param e\r\n * @param field\r\n */\r\n loopDelete(e: FormlyFieldConfig, field: FormlyFieldConfig) {\r\n if (field && field?.fieldGroup && field?.fieldGroup?.length > 0) {\r\n field.fieldGroup.forEach((item: any, index: any, object: any) => {\r\n if (this.activeField && (item == e || item.key == e.key)) {\r\n object.splice(index, 1);\r\n this.activeField = null;\r\n } else {\r\n if (item.type == 'list' && this.activeField) {\r\n this.loopDelete(e, item);\r\n }\r\n }\r\n });\r\n }\r\n }\r\n}\r\n","<div class=\"design-simple\" cdkDropListGroup>\r\n <div class=\"box-west\">\r\n <nz-tabset>\r\n <nz-tab nzTitle=\"评估维度\" *ngIf=\"showDim\">\r\n <ng-content></ng-content>\r\n </nz-tab>\r\n <nz-tab nzTitle=\"系统默认+指标库\">\r\n <div class=\"indbox\">\r\n <deon-field-type-basic2 [dls]=\"dls\" [isDefault]=\"formProp\"></deon-field-type-basic2>\r\n <deon-field-type-source2 [indicatorList]=\"indicatorList\" [dls]=\"dls\"></deon-field-type-source2>\r\n </div>\r\n </nz-tab>\r\n </nz-tabset>\r\n </div>\r\n <div class=\"box-content\">\r\n <ng-container *ngIf=\"state == 'default'; else tmpEmpty\">\r\n <div class=\"box-center\">\r\n <ng-content select=\"[name=content-info]\"></ng-content>\r\n <div cdkDropList [cdkDropListData]=\"fieldList\" class=\"field-list\"\r\n [ngClass]=\"{ 'field-list-empty': fieldList == null || fieldList.length == 0 }\"\r\n (cdkDropListDropped)=\"drop($event)\" [cdkDropListConnectedTo]=\"dls\">\r\n <ng-container *ngFor=\"let field of fieldList; let index = index\">\r\n <div class=\"field-box\" [cdkDragDisabled]=\"state == 'view'\" cdkDrag>\r\n <ng-container [ngSwitch]=\"field.type\">\r\n <ng-container *ngSwitchCase=\"'grid'\">\r\n <div class=\"grid-box\" [ngClass]=\"{ 'grid-active': field?.active == true }\"\r\n (click)=\"fieldActive(field, $event)\">\r\n <ng-container *ngIf=\"field?.active == true\">\r\n <div class=\"grid-drag\" cdkDragHandle><span nz-icon nzType=\"drag\"></span></div>\r\n <div class=\"grid-delete\" *ngIf=\"isEditor != false\">\r\n <span nz-icon nzType=\"delete\" (click)=\"deleteFieldIndex(index, $event)\"></span>\r\n </div>\r\n </ng-container>\r\n <div cdkDragHandle style=\"display: none\"></div>\r\n\r\n <div nz-row>\r\n <ng-container *ngFor=\"let grid of field.fieldGroup\">\r\n <div nz-col [nzSpan]=\"grid.props.cols\" cdkDropList [cdkDropListData]=\"grid.fieldGroup\"\r\n class=\"field-list\" (cdkDropListDropped)=\"drop($event)\" [cdkDropListConnectedTo]=\"dls\">\r\n <div *ngFor=\"let innerItem of grid.fieldGroup\" [cdkDragDisabled]=\"state == 'view'\" cdkDrag\r\n class=\"field-box\">\r\n <content [field]=\"innerItem\" [state]=\"state\" (click)=\"fieldActive(innerItem, $event)\"\r\n (fieldDelEvent)=\"deleteField(innerItem, $event)\">\r\n <deon-field-default [field]=\"innerItem\"></deon-field-default>\r\n </content>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'indicator'\">\r\n <div class=\"grid-box indicator-box\" [ngClass]=\"{ 'grid-active': field?.active == true }\"\r\n (click)=\"fieldActive(field, $event)\">\r\n <ng-container *ngIf=\"field?.active == true\">\r\n <div class=\"grid-drag\" cdkDragHandle><span nz-icon nzType=\"drag\"></span></div>\r\n <div class=\"grid-delete\" *ngIf=\"isEditor != false\">\r\n <span nz-icon nzType=\"delete\" (click)=\"deleteFieldIndex(index, $event)\"></span>\r\n </div>\r\n </ng-container>\r\n <div cdkDragHandle style=\"display: none\"></div>\r\n\r\n <div class=\"indicator-info\">\r\n <div class=\"indicator-header\">\r\n <label nz-checkbox [nzDisabled]=\"!isEditor\" [(ngModel)]=\"field.props.indConfig.izAllowDel\"\r\n (click)=\"$event.stopPropagation()\">可删除此指标</label>\r\n <label nz-checkbox [nzDisabled]=\"!isEditor\" [(ngModel)]=\"field.props.indConfig.izEditName\"\r\n (click)=\"$event.stopPropagation()\">可修改指标名称</label>\r\n <label nz-checkbox [nzDisabled]=\"!isEditor\" [(ngModel)]=\"field.props.indConfig.izEditDesc\"\r\n (click)=\"$event.stopPropagation()\">可修改指标描述</label>\r\n <ng-container *ngIf=\"field.props.indConfig.indType == 'KPI'\">\r\n <label nz-checkbox [nzDisabled]=\"!isEditor\" [(ngModel)]=\"field.props.indConfig.izEditWeight\"\r\n (click)=\"$event.stopPropagation()\">可修改指标权重</label>\r\n </ng-container>\r\n </div>\r\n <div class=\"indicator-body\">\r\n <ng-container *ngFor=\"let item of field.fieldGroup\">\r\n <div class=\"field-box\">\r\n <content [field]=\"item\" [state]=\"state\" [isOperation]=\"false\"\r\n (click)=\"fieldActive(item, $event)\">\r\n <deon-field-default [field]=\"item\"></deon-field-default>\r\n </content>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchDefault>\r\n <content [field]=\"field\" [state]=\"state\" (click)=\"fieldActive(field, $event)\"\r\n (fieldDelEvent)=\"deleteFieldIndex(index, $event)\">\r\n <deon-field-default [field]=\"field\"></deon-field-default>\r\n </content>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n <div class=\"field-box test\" [cdkDragDisabled]=\"state == 'view'\" cdkDrag></div>\r\n </div>\r\n </div>\r\n <div class=\"box-east\">\r\n <nz-tabset>\r\n <nz-tab nzTitle=\"字段属性\">\r\n <ng-container *ngIf=\"activeField!!; else tmpSetting\">\r\n <deon-setting-template [dialogPageData]=\"dialogPageData\" [dialogFormData]=\"dialogFormData\"\r\n [sourceType]=\"sourceType\" [field]=\"activeField\" [tableField]=\"sourceField\" [isEditor]=\"isEditor\"\r\n (fieldChange)=\"activeFieldChange($event)\" (fieldTypeChange)=\"activeFieldTypeChange($event)\"\r\n (repeatChange)=\"activeRepeatChange($event)\" (delGridCell)=\"deleteFieldByGrid($event)\">\r\n </deon-setting-template>\r\n </ng-container>\r\n <ng-template #tmpSetting>\r\n <empty-setting></empty-setting>\r\n </ng-template>\r\n </nz-tab>\r\n <nz-tab nzTitle=\"其他属性\">\r\n <ng-content select=\"[name=content-prop]\"></ng-content>\r\n </nz-tab>\r\n </nz-tabset>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-template #tmpEmpty>\r\n <div class=\"default-empty\">\r\n <div class=\"image\"><img src=\"assets/images/default/empty4.png\" /></div>\r\n <div class=\"desc\"><span>请选中指标维度后,再配置指标</span></div>\r\n </div>\r\n </ng-template>\r\n </div>\r\n</div>","import { NgModule } from '@angular/core';\n\n/**\n * 字段设置组件\n */\nimport { DeonDesignSettingBasic } from './components/field.setting/setting';\nimport { DeonDesignSettingCommon } from './components/field.setting/setting.common';\nimport { DeonDesignSettingTemplate } from './components/field.setting/setting.teplate';\nimport { DeonDesignSettingLabel } from './components/field.setting/setting.label';\nimport { DeonDesignSettingDesc } from './components/field.setting/setting.desc';\nimport { DeonDesignSettingLine } from './components/field.setting/setting.line';\nimport { DeonDesignSettingRepeat } from './components/field.setting/setting.repeat';\nimport { DeonDesignSettingGrid } from './components/field.setting/setting.grid';\nimport { DeonDesignSettingLookup } from './components/field.setting/setting.lookup';\nimport { DeonDesignSettingChildren } from './components/field.setting/setting.children';\nimport { DeonDesignSettingReform } from './components/field.setting/setting.reform';\nimport { DeonDesignSettingTabs } from './components/field.setting/setting.tabs';\nimport { DeonDesignSettingRadio } from './components/field.setting/setting.radio';\nimport { DeonDesignSettingCheckBox } from './components/field.setting/setting.checkbox';\nimport { DeonDesignSettingUpload } from './components/field.setting/setting.upload';\nimport { DeonDesignSettingNumber } from './components/field.setting/setting.number';\nimport { DialogSelectField } from './components/dialog.field/index';\n\n/**\n * 表单设计器-基础字段\n */\nimport { DeonDesignFieldTypeBasic } from './components/type.basic/index.component';\nimport { DeonDesignFieldTypeBasic2 } from './components/type.basic2/index.component';\n\n/**\n * 表单设计器-业务对象字段\n */\nimport { DeonDesignFieldTypeSource } from './components/type.source/index.component';\nimport { DeonDesignFieldTypeSource2 } from './components/type.source2/index.component';\n\n/**\n * 表单渲染时Label 组件\n */\nimport { DeonDesignSimpleLabel } from './components/label';\n\n/**\n * 表单设计器 业务Services\n */\nimport { FieldService } from './services/field.service';\nimport { FieldTypeService } from './services/field-type.service';\nimport { FieldSourceService } from './services/field-source.service';\n\n/**\n * 字段类型组件\n */\nimport { DeonDesignFieldTemplate } from './components/field.type/teplate.type';\nimport { DeonDesignFieldCheckbox } from './components/field.type/checkbox.type';\nimport { DeonDesignFieldCheckboxGroup } from './components/field.type/checkboxgroup.type';\nimport { DeonDesignFieldDatetime } from './components/field.type/datetime.type';\nimport { DeonDesignFieldLine } from './components/field.type/line.type';\nimport { DeonDesignFieldNumber } from './components/field.type/number.type';\nimport { DeonDesignFieldRadio } from './components/field.type/radio.type';\nimport { DeonDesignFieldRadioGroup } from './components/field.type/radiogroup.type';\nimport { DeonDesignFieldSelect } from './components/field.type/select.type';\nimport { DeonDesignFieldText } from './components/field.type/text.type';\nimport { DeonDesignFieldTextCode } from './components/field.type/textcode.type';\nimport { DeonDesignFieldTextArea } from './components/field.type/textarea.type';\nimport { DeonDesignFieldLabel } from './components/field.type/label.type';\nimport { DeonDesignFieldRepeat } from './components/field.type/repeat.type';\nimport { DeonDesignFieldRichtext } from './components/field.type/richtext.type';\nimport { DeonDesignFieldDesc } from './components/field.type/desc.type';\nimport { DeonDesignFieldTree } from './components/field.type/tree.type';\nimport { DeonDesignFieldLookup } from './components/field.type/lookup.type';\nimport { DeonDesignFieldChildren } from './components/field.type/children.type';\nimport { DeonDesignFieldColor } from './components/field.type/color.type';\nimport { EmptyFieldComponent } from './components/empty/empty.field';\nimport { EmptySettingComponent } from './components/empty/empty.setting';\nimport { DeonDesignFieldDefault } from './components/field.type/default/index';\nimport { DeonDesignFieldUpload } from './components/field.type/upload.type';\nimport { DeonDesignFieldIcon } from './components/field.type/icon.type';\nimport { DeonDesignFieldIndicator } from './components/field.type/indicator';\n\nimport { FormFieldName } from './components/field.name';\n\nconst services = [FieldService, FieldTypeService, FieldSourceService];\n// 私有的--其他\nconst privateOtherComponent = [\n DeonDesignFieldTypeBasic,\n DeonDesignFieldTypeBasic2,\n DeonDesignFieldTypeSource,\n DeonDesignFieldTypeSource2,\n DeonDesignSimpleLabel,\n];\n\n// 私有的--字段设置\nconst privateSettingComponent = [\n DeonDesignSettingBasic,\n DeonDesignSettingCommon,\n DeonDesignSettingTemplate,\n DeonDesignSettingLabel,\n DeonDesignSettingDesc,\n DeonDesignSettingLine,\n DeonDesignSettingLookup,\n DeonDesignSettingRepeat,\n DeonDesignSettingGrid,\n DialogSelectField,\n DeonDesignSettingChildren,\n DeonDesignSettingReform,\n DeonDesignSettingTabs,\n DeonDesignSettingRadio,\n DeonDesignSettingCheckBox,\n DeonDesignSettingUpload,\n DeonDesignSettingNumber,\n];\n\n// 私有的--字段\nconst privateFieldComponent = [\n DeonDesignFieldTemplate,\n DeonDesignFieldCheckbox,\n DeonDesignFieldCheckboxGroup,\n DeonDesignFieldDatetime,\n DeonDesignFieldLine,\n DeonDesignFieldNumber,\n DeonDesignFieldRadio,\n DeonDesignFieldRadioGroup,\n DeonDesignFieldSelect,\n DeonDesignFieldText,\n DeonDesignFieldTextCode,\n DeonDesignFieldTextArea,\n DeonDesignFieldLabel,\n DeonDesignFieldRepeat,\n DeonDesignFieldRichtext,\n DeonDesignFieldDesc,\n DeonDesignFieldTree,\n DeonDesignFieldLookup,\n DeonDesignFieldChildren,\n DeonDesignFieldColor,\n DeonDesignFieldDefault,\n EmptyFieldComponent,\n EmptySettingComponent,\n FormFieldName,\n DeonDesignFieldUpload,\n DeonDesignFieldIcon,\n DeonDesignFieldIndicator,\n];\n\n// 公开的\nconst publicComponent = [DeonDesignFieldTemplate];\n\nimport { DeonDesignSimpleComponent } from './main/index.component';\nimport { ContentComponent } from './content/index.component';\nimport { ContentTableComponent } from './content/table.component';\nimport { KPIDesignSimpleComponent } from './kpi/index.component';\n\n@NgModule({\n\n imports: [\n DeonDesignSimpleComponent,\n KPIDesignSimpleComponent,\n ContentComponent,\n ContentTableComponent,\n ...privateOtherComponent,\n ...privateFieldComponent,\n ...privateSettingComponent,\n ...publicComponent,\n ],\n exports: [DeonDesignSimpleComponent, KPIDesignSimpleComponent],\n providers: [...services],\n})\nexport class DeonDesignSimpleModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2.SettingService","i3","i6","i9","i1","i2","i3.FieldDialogService","i4.FieldSourceService","i5","i7","i8","i4","i3.SettingService","i1.SettingService","i3.FieldService","i10","i11"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ebuilding-biz-design.mjs","sources":["../../../../packages/biz-design/default/src/components/field.setting/setting.ts","../../../../packages/biz-design/default/src/components/field.setting/setting.service.ts","../../../../packages/biz-design/default/src/components/field.setting/setting.common.ts","../../../../packages/biz-design/default/src/components/dialog.field/index.ts","../../../../packages/biz-design/default/src/components/dialog.field/index.html","../../../../packages/biz-design/default/src/services/field-source.service.ts","../../../../packages/biz-design/default/src/services/field-dialog.service.ts","../../../../packages/biz-design/default/src/components/field.setting/setting.repeat.ts","../../../../packages/biz-design/default/src/components/field.setting/setting.label.ts","../../../../packages/biz-design/default/src/components/field.setting/setting.desc.ts","../../../../packages/biz-design/default/src/components/field.setting/setting.line.ts","../../../../packages/biz-design/default/src/components/field.setting/setting.grid.ts","../../../../packages/biz-design/default/src/components/field.setting/setting.lookup.ts","../../../../packages/biz-design/default/src/components/field.setting/setting.children.ts","../../../../packages/biz-design/default/src/components/field.setting/setting.reform.ts","../../../../packages/biz-design/default/src/components/field.setting/setting.tabs.ts","../../../../packages/biz-design/default/src/components/field.setting/setting.radio.ts","../../../../packages/biz-design/default/src/components/field.setting/setting.checkbox.ts","../../../../packages/biz-design/default/src/components/field.setting/setting.upload.ts","../../../../packages/biz-design/default/src/components/field.setting/setting.number.ts","../../../../packages/biz-design/default/src/components/field.setting/setting.fj.ts","../../../../packages/biz-design/default/src/components/field.setting/setting.img.ts","../../../../packages/biz-design/default/src/components/field.setting/setting.card-front.ts","../../../../packages/biz-design/default/src/components/field.setting/setting.card-back.ts","../../../../packages/biz-design/default/src/components/field.setting/setting.teplate.ts","../../../../packages/biz-design/default/src/components/type.basic/index.component.ts","../../../../packages/biz-design/default/src/components/type.basic/index.component.html","../../../../packages/biz-design/default/src/components/type.basic2/index.component.ts","../../../../packages/biz-design/default/src/components/type.basic2/index.component.html","../../../../packages/biz-design/default/src/components/type.source/index.component.ts","../../../../packages/biz-design/default/src/components/type.source/index.component.html","../../../../packages/biz-design/default/src/components/type.source2/index.component.ts","../../../../packages/biz-design/default/src/components/type.source2/index.component.html","../../../../packages/biz-design/default/src/components/label.ts","../../../../packages/biz-design/default/src/services/field-type.service.ts","../../../../packages/biz-design/default/src/services/field.service.ts","../../../../packages/biz-design/default/src/components/field.type/basic.ts","../../../../packages/biz-design/default/src/components/field.type/label.type.ts","../../../../packages/biz-design/default/src/components/field.type/desc.type.ts","../../../../packages/biz-design/default/src/components/field.type/line.type.ts","../../../../packages/biz-design/default/src/components/field.type/text.type.ts","../../../../packages/biz-design/default/src/components/field.type/textcode.type.ts","../../../../packages/biz-design/default/src/components/field.type/textarea.type.ts","../../../../packages/biz-design/default/src/components/field.type/checkbox.type.ts","../../../../packages/biz-design/default/src/components/field.type/checkboxgroup.type.ts","../../../../packages/biz-design/default/src/components/field.type/datetime.type.ts","../../../../packages/biz-design/default/src/components/field.type/number.type.ts","../../../../packages/biz-design/default/src/components/field.type/radio.type.ts","../../../../packages/biz-design/default/src/components/field.type/radiogroup.type.ts","../../../../packages/biz-design/default/src/components/field.type/select.type.ts","../../../../packages/biz-design/default/src/components/field.type/repeat.type.ts","../../../../packages/biz-design/default/src/components/field.type/richtext.type.ts","../../../../packages/biz-design/default/src/components/field.type/tree.type.ts","../../../../packages/biz-design/default/src/components/field.type/lookup.type.ts","../../../../packages/biz-design/default/src/components/field.type/children.type.ts","../../../../packages/biz-design/default/src/components/field.type/color.type.ts","../../../../packages/biz-design/default/src/components/field.type/upload.type.ts","../../../../packages/biz-design/default/src/components/field.type/icon.type.ts","../../../../packages/biz-design/default/src/components/field.type/indicator/index.ts","../../../../packages/biz-design/default/src/components/field.type/indicator/index.html","../../../../packages/biz-design/default/src/components/field.type/img.type.ts","../../../../packages/biz-design/default/src/components/field.type/attachment.type.ts","../../../../packages/biz-design/default/src/components/field.type/card-front.type.ts","../../../../packages/biz-design/default/src/components/field.type/card-back.type.ts","../../../../packages/biz-design/default/src/components/field.type/teplate.type.ts","../../../../packages/biz-design/default/src/components/empty/empty.field.ts","../../../../packages/biz-design/default/src/components/empty/empty.setting.ts","../../../../packages/biz-design/default/src/pipe/safehtml.pipe.ts","../../../../packages/biz-design/default/src/components/field.type/default/index.ts","../../../../packages/biz-design/default/src/components/field.type/default/index.html","../../../../packages/biz-design/default/src/components/field.name/index.ts","../../../../packages/biz-design/default/src/components/field.name/index.html","../../../../packages/biz-design/default/src/content/index.component.ts","../../../../packages/biz-design/default/src/content/index.component.html","../../../../packages/biz-design/default/src/content/table.component.ts","../../../../packages/biz-design/default/src/main/index.component.ts","../../../../packages/biz-design/default/src/main/index.component.html","../../../../packages/biz-design/default/src/kpi/index.component.ts","../../../../packages/biz-design/default/src/kpi/index.component.html","../../../../packages/biz-design/default/src/simple.module.ts","../../../../packages/biz-design/ebuilding-biz-design.ts"],"sourcesContent":["import { Component, Input, Output, EventEmitter, OnChanges } from '@angular/core';\nimport { NzMessageService } from 'ng-zorro-antd/message';\nimport { FormlyFieldConfig } from '@ebuilding-form/core';\nimport moment from 'moment';\n@Component({\n template: '',\n})\nexport class DeonDesignSettingBasic implements OnChanges {\n sourceField: any = {\n key: '',\n type: '',\n editor: true,\n show: true,\n props: {\n type: null,\n label: '', //Title\n hideLabel: false, //隐藏Title\n placeholder: null,\n required: false, //必填\n minLength: null, //最小长度\n maxLength: null, //最大长度\n min: null, //最小值\n max: null, //最大值\n precision: null, //精度\n pattern: null, //\n options: [],\n rows: null,\n cols: 24,\n className: '',\n isButintin: false,\n more: false,\n labelPosition: null,\n hideJson: null,\n sysType: null, //系统字段类型\n izSysName: false, //系统字段名称显示\n },\n fieldGroup: [],\n };\n\n minLength: number = null;\n maxLength: number = null;\n min: number = null;\n max: number = null;\n\n @Input() dialogPageData: any = null;\n\n @Input() dialogFormData: any[] = [];\n\n @Input() sourceType: any = null;\n\n @Input() set field(value: FormlyFieldConfig) {\n if (value != null && value != undefined) {\n this.sourceField = value;\n if (this.sourceField.props && this.sourceField.props.minLength) {\n this.minLength = this.sourceField.props.minLength;\n }\n if (this.sourceField.props && this.sourceField.props.maxLength) {\n this.maxLength = this.sourceField.props.maxLength;\n }\n }\n }\n\n deleteButton(i: any, value: any) {\n if (i < 1) {\n return false;\n }\n let result = true;\n if (\n value &&\n value !== null &&\n value.props &&\n value.props !== null &&\n value.props.isButintin &&\n value.props.isButintin !== null\n ) {\n result = value.props.isButintin;\n }\n return result;\n }\n\n @Output() fieldSetUpAction: EventEmitter<any> = new EventEmitter();\n @Output() typeChangeAction: EventEmitter<any> = new EventEmitter();\n @Output() repeatAction: EventEmitter<any> = new EventEmitter();\n\n constructor(public message: NzMessageService) { }\n\n ngOnChanges(e: any) { }\n maxLengthChange() {\n let msg = '最大长度必须大于最小长度!';\n if (this.sourceField.type == 'repeat') {\n msg = '最大条数必须大于最小条数!';\n }\n if (this.minLength == null) {\n this.sourceField.props.maxLength = this.maxLength;\n } else if (this.maxLength <= this.minLength) {\n this.message.warning(msg);\n return;\n } else {\n this.sourceField.props.maxLength = this.maxLength;\n }\n this.valueChange();\n }\n\n minLengthChange() {\n let msg = '最小长度必须大于最大长度!';\n if (this.sourceField.type == 'repeat') {\n msg = '最小条数必须大于最大条数!';\n }\n if (this.maxLength == null) {\n this.sourceField.props.minLength = this.minLength;\n } else if (this.maxLength <= this.minLength) {\n this.message.warning(msg);\n return;\n } else {\n this.sourceField.props.minLength = this.minLength;\n }\n this.valueChange();\n }\n\n maxChange() {\n let msg = '最大长度必须大于最小长度!';\n if (this.min == null) {\n this.sourceField.props.max = this.max;\n } else if (this.max <= this.min) {\n this.message.warning(msg);\n return;\n } else {\n this.sourceField.props.max = this.max;\n }\n this.valueChange();\n }\n\n minChange() {\n let msg = '最小长度必须大于最大长度!';\n if (this.max == null) {\n this.sourceField.props.min = this.min;\n } else if (this.max <= this.min) {\n this.message.warning(msg);\n return;\n } else {\n this.sourceField.props.min = this.min;\n }\n this.valueChange();\n }\n\n valueChange() {\n this.fieldSetUpAction.emit(this.sourceField);\n }\n\n fieldTypeChange() {\n this.typeChangeAction.emit(this.sourceField);\n }\n\n datetimeString() {\n return `${moment().format('YYYYMMDDHHmmssSSS')}`;\n }\n}\n","import { Injectable, Inject } from '@angular/core';\nimport _ from 'lodash';\n\n@Injectable()\nexport class SettingService {\n tableField: any = null;\n isEditor: boolean = true;\n}\n","import { Component, OnInit, ChangeDetectionStrategy } from '@angular/core';\nimport { DragDropModule, CdkDragDrop, moveItemInArray } from '@angular/cdk/drag-drop';\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { NzInputModule } from 'ng-zorro-antd/input';\nimport { NzInputNumberModule } from 'ng-zorro-antd/input-number';\nimport { NzCheckboxModule } from 'ng-zorro-antd/checkbox';\nimport { NzRadioModule } from 'ng-zorro-antd/radio';\nimport { NzSelectModule } from 'ng-zorro-antd/select';\n\nimport { NzMessageService } from 'ng-zorro-antd/message';\nimport { DeonDesignSettingBasic } from './setting';\nimport { SettingService } from './setting.service';\n\n@Component({\n selector: 'deon-setting-common',\n template: `\n <div class=\"paragraph\">\n <label>标题</label>\n <input\n nz-input\n [disabled]=\"settingSrv?.isEditor == false\"\n [(ngModel)]=\"sourceField.props.label\"\n maxLength=\"80\"\n placeholder=\"请输入标题\"\n (blur)=\"valueChange()\"\n />\n </div>\n\n <ng-container *ngIf=\"sourceField.type == 'textarea'\">\n <div class=\"paragraph\">\n <label>最少行数</label>\n <nz-input-number\n [nzDisabled]=\"settingSrv?.isEditor == false\"\n [nzPlaceHolder]=\"'不限'\"\n [nzMin]=\"0\"\n [nzStep]=\"1\"\n [(ngModel)]=\"sourceField.props.rows\"\n (nzBlur)=\"valueChange()\"\n ></nz-input-number>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"sourceField.type == 'text' || sourceField.type == 'textarea'\">\n <div class=\"paragraph\" *ngIf=\"settingSrv.tableField!!\">\n <label>输入长度范围</label>\n <ul class=\"range\">\n <li>\n <nz-input-number\n [nzDisabled]=\"settingSrv?.isEditor == false\"\n [nzPlaceHolder]=\"'不限'\"\n [nzStep]=\"1\"\n [nzMin]=\"settingSrv.tableField.minLength\"\n [(ngModel)]=\"minLength\"\n (nzBlur)=\"minLengthChange()\"\n ></nz-input-number>\n </li>\n <li>~</li>\n <li>\n <nz-input-number\n [nzDisabled]=\"settingSrv?.isEditor == false\"\n [nzPlaceHolder]=\"'不限'\"\n [nzMin]=\"0\"\n [nzStep]=\"1\"\n [nzMax]=\"settingSrv.tableField.maxLength\"\n [(ngModel)]=\"maxLength\"\n (nzBlur)=\"maxLengthChange()\"\n ></nz-input-number>\n </li>\n </ul>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"sourceField.type == 'number'\">\n <div class=\"paragraph\" *ngIf=\"settingSrv.tableField!! && settingSrv.tableField.type == 'FLOAT'\">\n <label>小数位数</label>\n <nz-input-number\n [nzDisabled]=\"settingSrv?.isEditor == false\"\n [nzPlaceHolder]=\"'不限'\"\n [nzMin]=\"0\"\n [nzMax]=\"settingSrv.tableField.precision\"\n [nzStep]=\"1\"\n [(ngModel)]=\"sourceField.props.precision\"\n (nzBlur)=\"valueChange()\"\n ></nz-input-number>\n </div>\n <div class=\"paragraph\" *ngIf=\"settingSrv.tableField!!\">\n <label>数值大小范围</label>\n <ul class=\"range\">\n <li>\n <nz-input-number\n [nzDisabled]=\"settingSrv?.isEditor == false\"\n [nzPlaceHolder]=\"'不限'\"\n [nzMin]=\"settingSrv.tableField.min\"\n [nzStep]=\"1\"\n [(ngModel)]=\"min\"\n [nzPrecision]=\"sourceField.props.precision\"\n (nzBlur)=\"minChange()\"\n ></nz-input-number>\n </li>\n <li>~</li>\n <li>\n <nz-input-number\n [nzDisabled]=\"settingSrv?.isEditor == false\"\n [nzPlaceHolder]=\"'不限'\"\n [nzMin]=\"0\"\n [nzStep]=\"1\"\n [(ngModel)]=\"max\"\n [nzPrecision]=\"sourceField.props.precision\"\n [nzMax]=\"settingSrv.tableField.max\"\n (nzBlur)=\"maxChange()\"\n ></nz-input-number>\n </li>\n </ul>\n </div>\n </ng-container>\n\n <div class=\"paragraph\">\n <label\n nz-checkbox\n [nzDisabled]=\"settingSrv?.isEditor == false\"\n [(ngModel)]=\"sourceField.props.required\"\n (ngModelChange)=\"valueChange()\"\n >必填</label\n >\n <label\n *ngIf=\"sourceType?.repeat != true\"\n nz-checkbox\n [nzDisabled]=\"settingSrv?.isEditor == false\"\n [(ngModel)]=\"sourceField.props.hideLabel\"\n (ngModelChange)=\"valueChange()\"\n >隐藏标题</label\n >\n </div>\n\n <ng-container *ngIf=\"sourceField.props?.sysType == 'CREATE_USER' || sourceField.props?.sysType == 'MODIFY_USER'\">\n <div class=\"paragraph\">\n <label\n nz-checkbox\n [nzDisabled]=\"settingSrv?.isEditor == false\"\n [(ngModel)]=\"sourceField.props.izSysName\"\n (ngModelChange)=\"valueChange()\"\n >显示系统名称(创建人|修改人)</label\n >\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"sourceField.type == 'radiogroup'\">\n <div class=\"paragraph\">\n <label>显示格式</label>\n <nz-radio-group\n nzButtonStyle=\"solid\"\n [nzDisabled]=\"settingSrv?.isEditor == false\"\n [(ngModel)]=\"sourceField.props.type\"\n (ngModelChange)=\"valueChange()\"\n >\n <label nz-radio-button nzValue=\"default\">默认</label>\n <label nz-radio-button nzValue=\"button\">按钮</label>\n </nz-radio-group>\n </div>\n </ng-container>\n <ng-container *ngIf=\"sourceField.type == 'textarea'\">\n <div class=\"paragraph\">\n <label>显示格式</label>\n <nz-radio-group\n nzButtonStyle=\"solid\"\n [nzDisabled]=\"settingSrv?.isEditor == false\"\n [(ngModel)]=\"sourceField.props.type\"\n (ngModelChange)=\"valueChange()\"\n >\n <label nz-radio-button nzValue=\"default\">默认</label>\n <label nz-radio-button nzValue=\"richtext\">富文本编辑器</label>\n </nz-radio-group>\n </div>\n </ng-container>\n <div class=\"paragraph\" *ngIf=\"sourceType?.repeat != true\">\n <label>字段布局</label>\n <nz-radio-group\n nzButtonStyle=\"solid\"\n [nzDisabled]=\"settingSrv?.isEditor == false\"\n [(ngModel)]=\"sourceField.props.layout\"\n (ngModelChange)=\"valueChange()\"\n >\n <label nz-radio-button nzValue=\"default\">左右</label>\n <label nz-radio-button nzValue=\"upDown\">上下</label>\n </nz-radio-group>\n </div>\n <ng-container *ngIf=\"sourceField.type == 'datetime'\">\n <div class=\"paragraph\">\n <label>日期格式</label>\n <nz-select\n [nzDisabled]=\"settingSrv?.isEditor == false\"\n [(ngModel)]=\"sourceField.props.type\"\n (ngModelChange)=\"valueChange()\"\n >\n <nz-option nzValue=\"YYYY\" nzLabel=\"年\"></nz-option>\n <nz-option nzValue=\"MM\" nzLabel=\"月\"></nz-option>\n <nz-option nzValue=\"YYYYMM\" nzLabel=\"年月\"></nz-option>\n <nz-option nzValue=\"YYYYMMDD\" nzLabel=\"年月日\"></nz-option>\n <nz-option nzValue=\"YYYYMMDDHH\" nzLabel=\"年月日时\"></nz-option>\n <nz-option nzValue=\"YYYYMMDDHHMM\" nzLabel=\"年月日时分\"></nz-option>\n <nz-option nzValue=\"YYYYMMDDHHMMSS\" nzLabel=\"年月日时分秒\"></nz-option>\n <nz-option nzValue=\"HHMM\" nzLabel=\"时分\"></nz-option>\n <nz-option nzValue=\"HHMMSS\" nzLabel=\"时分秒\"></nz-option>\n </nz-select>\n </div>\n <div class=\"paragraph\">\n <label\n nz-checkbox\n [nzDisabled]=\"settingSrv?.isEditor == false\"\n [(ngModel)]=\"sourceField.props.defaultDate\"\n (ngModelChange)=\"valueChange()\"\n >默认显示系统时间</label\n >\n </div>\n </ng-container>\n <ng-container *ngIf=\"sourceField.type == 'text' || sourceField.type == 'textarea'\">\n <div class=\"paragraph\">\n <label>默认值</label>\n <input\n nz-input\n [disabled]=\"settingSrv?.isEditor == false\"\n [(ngModel)]=\"sourceField.defaultValue\"\n [maxLength]=\"sourceField.props?.maxLength > 0 ? sourceField.props?.maxLength : 500\"\n (nzBlur)=\"valueChange()\"\n />\n </div>\n </ng-container>\n <div class=\"paragraph\">\n <label>隐藏条件配置</label>\n <textarea\n nz-input\n [disabled]=\"settingSrv?.isEditor == false\"\n rows=\"4\"\n [(ngModel)]=\"sourceField.props.hideJson\"\n (blur)=\"valueChange()\"\n ></textarea>\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n DragDropModule,\n NzInputModule,\n NzInputNumberModule,\n NzCheckboxModule,\n NzRadioModule,\n NzSelectModule\n ]\n})\nexport class DeonDesignSettingCommon extends DeonDesignSettingBasic implements OnInit {\n constructor(\n public override message: NzMessageService,\n public settingSrv: SettingService\n ) {\n super(message);\n }\n\n ngOnInit() { }\n\n deleteOption(i: number) {\n this.sourceField.props.options.splice(i, 1);\n this.valueChange();\n }\n\n addOption() {\n if (this.sourceField.props.options == undefined || this.sourceField.props.options == null) {\n this.sourceField.props.options = [];\n }\n this.sourceField.props.options.push({\n label: '选项',\n value: this.datetimeString(),\n });\n this.valueChange();\n }\n\n drop(event: CdkDragDrop<string[]>) {\n moveItemInArray(event.container.data, event.previousIndex, event.currentIndex);\n this.valueChange();\n }\n}\n","import { Component, OnInit, Input } from '@angular/core';\nimport { TransferItem } from 'ng-zorro-antd/transfer';\nimport { NzDrawerRef } from '@ebuilding/base/components/drawer';\nimport _ from 'lodash';\n\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { NzTransferModule } from 'ng-zorro-antd/transfer';\nimport { NzButtonModule } from 'ng-zorro-antd/button';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\n\n@Component({\n selector: 'select-field',\n templateUrl: './index.html',\n styleUrls: ['./index.less'],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n NzTransferModule,\n NzButtonModule,\n NzIconModule\n ]\n})\nexport class DialogSelectField implements OnInit {\n _source: any = {};\n list: TransferItem[] = [];\n selectList: any[] = [];\n @Input()\n set source(value: any) {\n this.initFieldList(value);\n this._source = value;\n }\n get source() {\n return this._source;\n }\n\n change(e: any): void {\n if (e.from == 'left' && e.to == 'right') {\n e.list.reverse().forEach((item: any) => {\n this.selectList.unshift(item.key);\n });\n } else if (e.from == 'right' && e.to == 'left') {\n e.list.forEach((item: any) => {\n this.selectList = this.selectList.filter((sel: any) => {\n return sel != item.key;\n });\n });\n }\n }\n\n constructor(public drawerRef: NzDrawerRef<any>) { }\n\n ngOnInit(): void { }\n\n btnSave() {\n this.drawerRef.close({\n type: 'save',\n data: this.selectList,\n });\n }\n\n btnClose() {\n this.drawerRef.close({\n type: 'close',\n data: null,\n });\n }\n\n initFieldList(e: any) {\n let data: any[] = [];\n if (e!! && e.tableField!! && e.fieldGroup!! && e.tableField.length > 0) {\n e.tableField.forEach((field: any) => {\n let direction: any = 'left';\n if (e.fieldGroup.length > 0) {\n if (\n e.fieldGroup.some((e: any) => {\n return e.key == field.id;\n })\n ) {\n direction = 'right';\n this.selectList.push(field.id);\n }\n }\n data.push({\n key: field.id,\n title: field.name,\n direction: direction,\n });\n });\n }\n this.list = data;\n }\n}\n","<div class=\"transfer-box\">\n <nz-transfer [nzDataSource]=\"list\" [nzTitles]=\"['表字段', '显示字段']\" (nzChange)=\"change($event)\"> </nz-transfer>\n</div>\n<div class=\"button-box\">\n <button nz-button nzType=\"default\" (click)=\"btnClose()\" type=\"button\"><i nz-icon nzType=\"close\"></i>取消</button>\n <button nz-button nzType=\"primary\" (click)=\"btnSave()\" type=\"button\"><i nz-icon nzType=\"save\"></i>确定</button>\n</div>\n","import { Injectable } from '@angular/core';\r\nimport { IndicatorType, EvalType } from '@ebuilding/base/shared.util/comm.kpi';\r\nimport { Guid } from '@ebuilding/base/shared.util/guid';\r\n\r\n@Injectable()\r\nexport class FieldSourceService {\r\n /**\r\n * 获取默认字段\r\n * @param type\r\n * @returns\r\n */\r\n fieldSourceType(source: any) {\r\n let field: any = {};\r\n switch (source.type) {\r\n case 'TEXT':\r\n field = this.text(source);\r\n break;\r\n case 'COLOR':\r\n field = this.color(source);\r\n break;\r\n case 'ICON':\r\n field = this.icon(source);\r\n break;\r\n case 'TEXTAREA':\r\n field = this.textArea(source);\r\n break;\r\n case 'INT':\r\n field = this.number(source, 0);\r\n break;\r\n case 'FLOAT':\r\n field = this.number(source, source.precision);\r\n break;\r\n case 'DATETIME':\r\n field = this.datetime(source);\r\n break;\r\n case 'BOOLEAN':\r\n field = this.fieldBoolean(source);\r\n break;\r\n case 'ITEM':\r\n field = this.select(source);\r\n break;\r\n case 'MULTIPLE':\r\n field = this.repeat(source);\r\n break;\r\n case 'TREE':\r\n field = this.tree(source);\r\n break;\r\n case 'REF':\r\n field = this.lookup(source);\r\n break;\r\n case 'ONETOMANY':\r\n field = this.lookupMany(source);\r\n break;\r\n case 'INDICATOR':\r\n field = this.indicator(source);\r\n break;\r\n case 'IMG':\r\n field = this.img(source);\r\n break;\r\n case 'ATTACHMENT':\r\n field = this.attachment(source);\r\n break;\r\n case 'CARD_FRONT':\r\n field = this.cardFront(source);\r\n break;\r\n case 'CARD_BACK':\r\n field = this.cardBack(source);\r\n break;\r\n default:\r\n break;\r\n }\r\n\r\n return field;\r\n }\r\n\r\n /**\r\n * 单行文本\r\n * @param field\r\n * @returns\r\n */\r\n private text(field: any) {\r\n let sysType: any = null;\r\n if (field.code == 'create_user' || field.code == 'modify_user') {\r\n sysType = field.code.toUpperCase();\r\n }\r\n let config: any = {\r\n type: 'text',\r\n key: field.id,\r\n defaultValue: null,\r\n props: {\r\n type: null,\r\n sysType: sysType,\r\n izSysName: false,\r\n label: field.name,\r\n required: field?.required == true ? true : false,\r\n maxLength: field.maxLength,\r\n minLength: null,\r\n placeholder: `请输入${field.name}`,\r\n layout: 'default',\r\n },\r\n };\r\n if (field.izCodeRule && field.codeRuleId!!) {\r\n config = {\r\n type: 'textcode',\r\n key: field.id,\r\n defaultValue: null,\r\n props: {\r\n label: field.name,\r\n required: field?.required == true ? true : false,\r\n maxLength: field.maxLength,\r\n minLength: null,\r\n placeholder: `请输入${field.name}`,\r\n layout: 'default',\r\n },\r\n };\r\n }\r\n\r\n return config;\r\n }\r\n\r\n private color(field: any) {\r\n let config: any = {\r\n type: 'color',\r\n key: field.id,\r\n defaultValue: null,\r\n props: {\r\n label: field.name,\r\n required: field?.required == true ? true : false,\r\n layout: 'default',\r\n },\r\n };\r\n return config;\r\n }\r\n\r\n private icon(field: any) {\r\n let config: any = {\r\n type: 'icon',\r\n key: field.id,\r\n defaultValue: null,\r\n props: {\r\n label: field.name,\r\n required: field?.required == true ? true : false,\r\n layout: 'default',\r\n },\r\n };\r\n return config;\r\n }\r\n\r\n /**\r\n * 多行文本\r\n * @param field\r\n * @returns\r\n */\r\n private textArea(field: any) {\r\n let config: any = {\r\n type: 'textarea',\r\n key: field.id,\r\n defaultValue: null,\r\n props: {\r\n label: field.name,\r\n required: field?.required == true ? true : false,\r\n maxLength: field.maxLength,\r\n minLength: field.minLength,\r\n placeholder: `请输入${field.name}`,\r\n rows: 3,\r\n layout: 'default',\r\n },\r\n };\r\n return config;\r\n }\r\n\r\n /**\r\n * 整数、小数 类型\r\n * @param field\r\n * @param precision\r\n * @returns\r\n */\r\n private number(field: any, precision: number) {\r\n let config: any = {\r\n type: 'number',\r\n key: field.id,\r\n defaultValue: null,\r\n props: {\r\n label: field.name,\r\n required: field?.required == true ? true : false,\r\n max: field.max,\r\n min: field.min,\r\n placeholder: `请输入${field.name}`,\r\n precision: precision,\r\n layout: 'default',\r\n },\r\n };\r\n return config;\r\n }\r\n\r\n /**\r\n * 日期型\r\n * @param field\r\n * @returns\r\n */\r\n private datetime(field: any) {\r\n let config: any = {\r\n type: 'datetime',\r\n key: field.id,\r\n defaultValue: null,\r\n props: {\r\n type: 'datetime',\r\n label: field.name,\r\n required: field?.required == true ? true : false,\r\n layout: 'default',\r\n },\r\n };\r\n return config;\r\n }\r\n\r\n /**\r\n * 布尔值\r\n * @param field\r\n * @returns\r\n */\r\n private fieldBoolean(field: any) {\r\n let config: any = {\r\n type: 'radiogroup',\r\n key: field.id,\r\n defaultValue: true,\r\n props: {\r\n type: 'default',\r\n label: field.name,\r\n options: [\r\n { label: '是', value: true },\r\n { label: '否', value: false },\r\n ],\r\n required: field?.required == true ? true : false,\r\n layout: 'default',\r\n sourceType: 'boolean',\r\n },\r\n };\r\n return config;\r\n }\r\n\r\n /**\r\n * 选择\r\n * @param field\r\n * @returns\r\n */\r\n private select(field: any) {\r\n let config: any = {\r\n type: 'select',\r\n key: field.id,\r\n defaultValue: null,\r\n props: {\r\n label: field.name,\r\n required: field?.required == true ? true : false,\r\n options: [],\r\n placeholder: `请选择${field.name}`,\r\n layout: 'default',\r\n selectType: field?.multiple == true ? 'multiple' : 'single',\r\n },\r\n };\r\n return config;\r\n }\r\n\r\n /**\r\n * 子表单\r\n * @param field\r\n * @returns\r\n */\r\n private repeat(field: any) {\r\n let config: any = {\r\n type: 'repeat',\r\n key: field.id,\r\n props: {\r\n type: 'default',\r\n label: field.name,\r\n },\r\n fieldArray: {\r\n fieldGroup: [],\r\n },\r\n };\r\n return config;\r\n }\r\n\r\n private tree(field: any) {\r\n let config: any = {\r\n type: 'tree',\r\n key: field.id,\r\n defaultValue: null,\r\n props: {\r\n label: field.name,\r\n treeId: field.refId,\r\n required: field?.required == true ? true : false,\r\n placeholder: `请选择${field.name}`,\r\n layout: 'default',\r\n selectType: field?.multiple == true ? 'multiple' : 'single',\r\n },\r\n };\r\n return config;\r\n }\r\n\r\n private lookup(field: any) {\r\n let config: any = {\r\n type: 'lookup',\r\n key: field.id,\r\n defaultValue: null,\r\n props: {\r\n label: field.name,\r\n required: field?.required == true ? true : false,\r\n placeholder: `请选择${field.name}`,\r\n layout: 'default',\r\n selectType: field?.multiple == true ? 'multiple' : 'single',\r\n },\r\n };\r\n return config;\r\n }\r\n private lookupMany(field: any) {\r\n let config: any = {\r\n type: 'one2many',\r\n key: field.id,\r\n defaultValue: null,\r\n props: {\r\n label: field.name,\r\n required: field?.required == true ? true : false,\r\n placeholder: `请选择${field.name}`,\r\n layout: 'default',\r\n selectType: 'multiple',\r\n },\r\n };\r\n return config;\r\n }\r\n\r\n /**\r\n * 附件 类型\r\n * @param field\r\n * @param precision\r\n * @returns\r\n */\r\n private upload(field: any) {\r\n let config: any = {\r\n type: 'upload',\r\n key: field.id,\r\n defaultValue: null,\r\n props: {\r\n label: field.name,\r\n required: field?.required == true ? true : false,\r\n placeholder: `请上传${field.name}`,\r\n layout: 'default',\r\n },\r\n };\r\n if (field?.max != undefined && field?.max != null && field?.max > 0) {\r\n config.props['max'] = field.max;\r\n }\r\n return config;\r\n }\r\n\r\n private indicator(field: any) {\r\n let indTypeValue: any = 'KPI';\r\n let evalTypeValue: any = 'SCORE';\r\n if (field?.indType) {\r\n indTypeValue = field.indType;\r\n }\r\n if (field?.evalType) {\r\n evalTypeValue = field.evalType;\r\n }\r\n\r\n let group: any[] = [\r\n {\r\n key: `name`,\r\n type: 'text',\r\n props: {\r\n label: '指标名称',\r\n placeholder: `请输入指标名称`,\r\n required: true,\r\n minLength: 0,\r\n maxLength: 500,\r\n layout: 'default',\r\n },\r\n className: 'full-row',\r\n defaultValue: field?.name,\r\n },\r\n {\r\n key: `indType`,\r\n type: 'select',\r\n props: {\r\n label: '指标类型',\r\n placeholder: `请选择指标类型`,\r\n required: false,\r\n layout: 'default',\r\n options: IndicatorType(),\r\n },\r\n editor: false,\r\n defaultValue: indTypeValue,\r\n },\r\n {\r\n key: `evalType`,\r\n type: 'select',\r\n props: {\r\n label: '评估方式',\r\n placeholder: `请选择评估方式`,\r\n required: false,\r\n layout: 'default',\r\n options: EvalType(),\r\n },\r\n editor: false,\r\n defaultValue: evalTypeValue,\r\n },\r\n ];\r\n\r\n if (field?.listItem && Array.isArray(field?.listItem)) {\r\n field.listItem.forEach((item: any) => {\r\n item.id = `item_${item.id}`;\r\n let newItem: any = this.fieldSourceType(item);\r\n if (newItem) {\r\n group.push(newItem);\r\n }\r\n });\r\n }\r\n\r\n if (field?.indType == 'KPI') {\r\n group.push({\r\n key: `weight`,\r\n type: 'number',\r\n props: {\r\n label: '指标权重',\r\n placeholder: `请输入指标权重`,\r\n required: true,\r\n min: -100,\r\n max: 300,\r\n layout: 'default',\r\n unit: '%',\r\n },\r\n defaultValue: 0,\r\n });\r\n }\r\n\r\n group.push({\r\n key: `desc`,\r\n type: 'textarea',\r\n props: {\r\n label: '指标描述',\r\n placeholder: `请输入指标描述`,\r\n required: false,\r\n minLength: 0,\r\n maxLength: 800,\r\n rows: 3,\r\n layout: 'default',\r\n },\r\n defaultValue: field?.description,\r\n });\r\n\r\n let indKey: any = Guid.createId();\r\n let config: any = {\r\n type: 'indicator',\r\n key: `ind_${indKey}`,\r\n defaultValue: null,\r\n props: {\r\n indConfig: {\r\n indType: indTypeValue,\r\n sourceId: field.id,\r\n sourceType: 'LIBRARY',\r\n izAllowDel: true,\r\n izEditName: true,\r\n izEditDesc: true,\r\n izEditWeight: true,\r\n },\r\n },\r\n fieldGroup: group,\r\n };\r\n return config;\r\n }\r\n\r\n private img(field: any) {\r\n let config: any = {\r\n type: 'img',\r\n key: field.id,\r\n defaultValue: null,\r\n props: {\r\n label: field.name,\r\n required: field?.required == true ? true : false,\r\n layout: 'default',\r\n selectType: field?.multiple == true ? 'multiple' : 'single',\r\n max: 1\r\n },\r\n };\r\n\r\n if (field?.max && field?.max != null && field?.max > 0) {\r\n config.props['max'] = field.max;\r\n }\r\n return config;\r\n }\r\n\r\n private attachment(field: any) {\r\n let config: any = {\r\n type: 'attachment',\r\n key: field.id,\r\n defaultValue: null,\r\n props: {\r\n label: field.name,\r\n required: field?.required == true ? true : false,\r\n layout: 'default',\r\n selectType: field?.multiple == true ? 'multiple' : 'single',\r\n max: 1\r\n },\r\n };\r\n\r\n if (field?.max && field?.max != null && field?.max > 0) {\r\n config.props['max'] = field.max;\r\n }\r\n return config;\r\n }\r\n\r\n private cardFront(field: any) {\r\n let config: any = {\r\n type: 'card_front',\r\n key: field.id,\r\n defaultValue: null,\r\n props: {\r\n label: field.name,\r\n required: field?.required == true ? true : false,\r\n layout: 'default',\r\n ocr: false\r\n },\r\n };\r\n return config;\r\n }\r\n\r\n private cardBack(field: any) {\r\n let config: any = {\r\n type: 'card_back',\r\n key: field.id,\r\n defaultValue: null,\r\n props: {\r\n label: field.name,\r\n required: field?.required == true ? true : false,\r\n layout: 'default',\r\n ocr: false\r\n },\r\n };\r\n return config;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\nimport { NzModalService } from 'ng-zorro-antd/modal';\nimport { NzDrawerService } from '@ebuilding/base/components/drawer';\n\ntype ModalSizeType = 'small' | 'medium' | 'large' | 'custom' | 'upload' | null;\nexport interface ModalOptions {\n nzContent: any; //组件\n nzFooter?: any;\n nzModel?: ''; //multiple\n nzMask?: boolean;\n size?: ModalSizeType; //小/中/大\n nzTitle?: string; //标题\n primaryLabel?: string; //按钮‘label’,不传默认为‘确定’\n vertical?: boolean; //弹框是否为垂直居中,默认不垂直居中\n hideBtn?: boolean; //是否隐藏footer按钮\n showResetBtn?: boolean; //是否显示重置按钮\n width?: number;\n height?: number;\n nzClosable?: boolean;\n style?: any;\n innerWidth?: boolean;\n}\n@Injectable({\n providedIn: 'root',\n})\nexport class FieldDialogService {\n constructor(public modalService: NzModalService, public drawerService: NzDrawerService) { }\n switchSize(size: any) {\n const obj = {\n width: 700,\n height: 500,\n };\n switch (size) {\n case 'small':\n obj.width = 530;\n obj.height = 400;\n break;\n case 'medium':\n obj.width = 700;\n obj.height = 500;\n break;\n case 'large':\n obj.width = 1100;\n obj.height = 700;\n break;\n case 'upload':\n obj.width = 700;\n obj.height = 400;\n break;\n default:\n obj.width = 700;\n obj.height = 500;\n break;\n }\n return obj;\n }\n public CreateModelDialog(modalOptions: ModalOptions, params: any, callback: any) {\n let width: any = this.switchSize(modalOptions.size).width;\n let height: any = this.switchSize(modalOptions.size).height;\n let style: any = null;\n if (modalOptions.size && modalOptions.size === 'custom') {\n if (modalOptions.width) {\n width = modalOptions.width;\n }\n if (modalOptions.height) {\n height = modalOptions.height;\n }\n if (modalOptions.style) {\n style = modalOptions.style;\n }\n }\n\n if (modalOptions.nzContent == undefined || modalOptions.nzContent == null) {\n }\n let title = '';\n switch (params.type) {\n case 'add':\n title = '新增 - ';\n break;\n case 'edit':\n case 'edit_state':\n title = '编辑 - ';\n break;\n case 'view':\n case 'primary_key':\n title = '查看 - ';\n break;\n default:\n break;\n }\n if (modalOptions.nzTitle) {\n title = title + modalOptions.nzTitle;\n }\n const modal: any = this.modalService.create({\n nzStyle: style,\n nzTitle: title,\n nzWidth: width + 'px',\n nzClosable: modalOptions.nzClosable != undefined ? modalOptions.nzClosable : true,\n nzMaskClosable: false,\n nzWrapClassName: modalOptions.vertical ? 'vertical-center-modal' : '',\n nzBodyStyle: {\n padding: '0',\n height: !modalOptions.hideBtn ? height - 107 + 'px' : height - 54 + 'px',\n },\n nzContent: modalOptions.nzContent,\n nzFooter:\n params.type !== 'view' && params.type !== 'upload'\n ? [\n {\n show: true,\n label: '取消',\n type: 'default',\n onClick: (e: any) => {\n modal.destroy();\n },\n },\n {\n show: true,\n label: modalOptions.primaryLabel ? modalOptions.primaryLabel : '确定',\n type: 'primary',\n onClick: (e: any) => callback('save', e, modal),\n },\n // {\n // show: params.type === 'add',\n // label: modalOptions.primaryLabel ? modalOptions.primaryLabel : '确定继续录入',\n // type: 'primary',\n // onClick: (e: any) => callback('save-next', e, modal),\n // },\n ]\n : null,\n nzOnOk: (e: any) => { },\n nzOnCancel: (e: any) => { },\n //nzComponentParams: params,\n });\n\n if (modal.getContentComponent()) {\n Object.assign(modal.getContentComponent(), params);\n }\n\n modal.afterClose.subscribe((result: any) => {\n if (result) {\n callback(result);\n }\n });\n }\n\n public CreateModelDialogSelect(modalOptions: ModalOptions, params: any, callback: any) {\n const width = this.switchSize(modalOptions.size).width;\n const height = this.switchSize(modalOptions.size).height;\n\n const modal: any = this.modalService.create({\n nzTitle: modalOptions.nzTitle ? modalOptions.nzTitle : '提示',\n nzWidth: width + 'px',\n nzClosable: true,\n nzMaskClosable: false,\n nzWrapClassName: modalOptions.vertical ? 'vertical-center-modal' : '',\n nzBodyStyle: {\n padding: '0',\n height: !modalOptions.hideBtn ? height - 107 + 'px' : height - 54 + 'px',\n },\n nzContent: modalOptions.nzContent,\n nzFooter: [\n {\n show: true,\n label: '取消',\n type: 'default',\n onClick: (e: any) => {\n modal.destroy();\n },\n },\n {\n show: true,\n label: modalOptions.primaryLabel ? modalOptions.primaryLabel : '确定',\n type: 'primary',\n loading: false,\n onClick(e: any): void {\n this.loading = true;\n callback('save', e, modal);\n },\n },\n ],\n nzOnOk: (e: any) => { },\n nzOnCancel: (e: any) => { },\n //nzComponentParams: params,\n });\n\n if (modal.getContentComponent()) {\n Object.assign(modal.getContentComponent(), params);\n }\n\n modal.afterClose.subscribe((result: any) => {\n if (result) {\n callback(result);\n }\n });\n }\n\n public CreateDrawerDialog(modalOptions: ModalOptions, params: any, callback: any) {\n let width = this.switchSize(modalOptions.size).width;\n\n if (modalOptions.size && modalOptions.size === 'custom') {\n if (modalOptions.width) {\n width = modalOptions.width;\n }\n }\n\n if (modalOptions.innerWidth != false) {\n width = window.innerWidth - 400;\n }\n\n let title = '';\n switch (params.type) {\n case 'add':\n title = '新增 - ';\n break;\n case 'edit':\n case 'edit_state':\n title = '编辑 - ';\n break;\n case 'view':\n case 'primary_key':\n title = '查看 - ';\n break;\n case 'approve':\n title = '审批 - ';\n break;\n default:\n break;\n }\n if (modalOptions.nzTitle) {\n title = title + modalOptions.nzTitle;\n }\n\n const modal: any = this.drawerService.create({\n nzTitle: title,\n nzWidth: width + 'px',\n nzClosable: modalOptions?.nzClosable == false ? false : true,\n nzMask: modalOptions?.nzMask == false ? false : true,\n nzMaskClosable: false,\n nzKeyboard: false,\n nzWrapClassName: modalOptions.vertical ? 'vertical-center-modal' : '',\n nzBodyStyle: {\n padding: '0',\n },\n nzContent: modalOptions.nzContent,\n nzContentParams: {\n ...params,\n },\n });\n\n modal.afterClose.subscribe((result: any) => {\n if (result) {\n if (result.destroy!!) {\n result.destroy();\n }\n callback(result);\n }\n });\n }\n}\n","import { Component, OnInit, ChangeDetectorRef } from '@angular/core';\nimport { DragDropModule, CdkDragDrop, moveItemInArray } from '@angular/cdk/drag-drop';\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { NzInputModule } from 'ng-zorro-antd/input';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\n\nimport { NzMessageService } from 'ng-zorro-antd/message';\nimport { SettingService } from './setting.service';\nimport { DeonDesignSettingBasic } from './setting';\nimport { DialogSelectField } from '../dialog.field/index';\nimport { FieldSourceService } from '../../services/field-source.service';\nimport { FieldDialogService } from '../../services/field-dialog.service';\n\n@Component({\n selector: 'deon-setting-repeat',\n template: `\n <div class=\"paragraph\">\n <label>标题</label>\n <input\n nz-input\n [disabled]=\"settingSrv?.isEditor == false\"\n [(ngModel)]=\"sourceField.props.label\"\n maxLength=\"2000\"\n (blur)=\"valueChange()\"\n />\n </div>\n <div class=\"paragraph\">\n <label>列配置项</label>\n <div\n class=\"list\"\n cdkDropList\n [cdkDropListData]=\"sourceField.fieldArray.fieldGroup\"\n (cdkDropListDropped)=\"drop($event)\"\n cdkDropListConnectedTo=\"all\"\n id=\"all\"\n >\n <div class=\"rows\" cdkDragLockAxis=\"y\" cdkDrag *ngFor=\"let item of sourceField.fieldArray.fieldGroup; let i = index\">\n <i nz-icon nzType=\"drag\"></i>\n <span class=\"title\">{{ item.props.label }}</span>\n <span nz-icon nzType=\"minus-circle\" (click)=\"deleteOption(i, item.key)\" *ngIf=\"settingSrv?.isEditor != false\"></span>\n </div>\n <a (click)=\"addField()\" *ngIf=\"settingSrv?.isEditor != false\"> 添加字段</a>\n </div>\n </div>\n `,\n providers: [FieldDialogService, FieldSourceService],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n DragDropModule,\n NzInputModule,\n NzIconModule\n ]\n})\nexport class DeonDesignSettingRepeat extends DeonDesignSettingBasic implements OnInit {\n constructor(\n public ref: ChangeDetectorRef,\n message: NzMessageService,\n public settingSrv: SettingService,\n public dialogSrv: FieldDialogService,\n public fieldSourceSrv: FieldSourceService,\n ) {\n super(message);\n }\n\n ngOnInit() { }\n\n deleteOption(i: number, key: any) {\n let selectFileds = this.sourceField.fieldArray.fieldGroup.filter((item: any, index: any, obj: any) => {\n return index != i;\n });\n\n this.sourceField.fieldArray.fieldGroup = selectFileds;\n\n this.valueChange();\n }\n\n drop(event: CdkDragDrop<string[]>) {\n if (this.settingSrv?.isEditor != false) {\n moveItemInArray(event.container.data, event.previousIndex, event.currentIndex);\n this.valueChange();\n }\n }\n\n addField() {\n this.dialogSrv.CreateDrawerDialog(\n {\n nzTitle: `选择${this.settingSrv.tableField.name} - 表字段`,\n nzContent: DialogSelectField,\n nzClosable: true,\n size: 'custom',\n width: 750,\n innerWidth: false,\n },\n {\n source: {\n tableField: this.settingSrv.tableField.listField,\n fieldGroup: this.sourceField.fieldArray.fieldGroup,\n },\n },\n (instance: any) => {\n if (instance && instance.type && instance.type == 'save') {\n let data: any[] = [];\n instance.data.forEach((v: any) => {\n let findList: any[] = this.settingSrv.tableField.listField.filter((f: any) => {\n return f.id == v;\n });\n if (findList!! && findList.length > 0) {\n data.push(findList[0]);\n }\n });\n this.getFieldGroup(data);\n }\n },\n );\n }\n\n private getFieldGroup(tableField: any[]) {\n let data: any[] = [];\n if (tableField!! && tableField.length > 0) {\n tableField.forEach((v: any) => {\n let findField: any = this.getFieldGroupSource(v);\n if (findField == null) {\n let item: any = this.fieldSourceSrv.fieldSourceType(v);\n if (item!!) {\n data.push(item);\n }\n } else {\n data.push(findField);\n }\n });\n }\n\n this.sourceField.fieldArray.fieldGroup.length = 0;\n\n this.sourceField.fieldArray.fieldGroup = [...this.sourceField.fieldArray.fieldGroup, ...data];\n this.valueChange();\n }\n\n private getFieldGroupSource(tableField: any) {\n let result: any = null;\n if (this.sourceField.fieldArray.fieldGroup!! && this.sourceField.fieldArray.fieldGroup.length > 0) {\n this.sourceField.fieldArray.fieldGroup.forEach((element) => {\n if (element.key == tableField.id) {\n result = element;\n }\n });\n }\n return result;\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { NzInputModule } from 'ng-zorro-antd/input';\nimport { NzMessageService } from 'ng-zorro-antd/message';\nimport { DeonDesignSettingBasic } from './setting';\nimport { SettingService } from './setting.service';\n@Component({\n selector: 'deon-setting-label',\n template: `\n <div class=\"paragraph\">\n <label>标题</label>\n <input\n nz-input\n [disabled]=\"settingSrv?.isEditor == false\"\n [(ngModel)]=\"sourceField.props.label\"\n maxLength=\"2000\"\n (blur)=\"valueChange()\"\n />\n </div>\n `,\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n NzInputModule\n ]\n})\nexport class DeonDesignSettingLabel extends DeonDesignSettingBasic implements OnInit {\n constructor(message: NzMessageService, public settingSrv: SettingService) {\n super(message);\n }\n\n ngOnInit() { }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { NzMessageService } from 'ng-zorro-antd/message';\n\nimport { DeonDesignSettingBasic } from './setting';\n@Component({\n selector: 'deon-setting-desc',\n template: `\n <div class=\"paragraph\">\n <label>标题</label>\n <deon-inline-editor [(ngModel)]=\"sourceField.props.label\"></deon-inline-editor>\n </div>\n `,\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule\n ]\n})\nexport class DeonDesignSettingDesc extends DeonDesignSettingBasic implements OnInit {\n constructor(message: NzMessageService) {\n super(message);\n }\n\n ngOnInit() { }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { NzInputModule } from 'ng-zorro-antd/input';\nimport { NzRadioModule } from 'ng-zorro-antd/radio';\nimport { NzMessageService } from 'ng-zorro-antd/message';\nimport { DeonDesignSettingBasic } from './setting';\nimport { SettingService } from './setting.service';\n@Component({\n selector: 'deon-setting-line',\n template: `\n <div class=\"paragraph\">\n <label>标题</label>\n <input\n nz-input\n [disabled]=\"settingSrv?.isEditor == false\"\n [(ngModel)]=\"sourceField.props.label\"\n maxLength=\"50\"\n (blur)=\"valueChange()\"\n />\n </div>\n <div class=\"paragraph\">\n <label>文字位置</label>\n <nz-radio-group\n nzButtonStyle=\"solid\"\n [nzDisabled]=\"settingSrv?.isEditor == false\"\n [(ngModel)]=\"sourceField.props.orientation\"\n >\n <label nz-radio-button nzValue=\"left\">左边</label>\n <label nz-radio-button nzValue=\"center\">中间</label>\n <label nz-radio-button nzValue=\"right\">右边</label>\n </nz-radio-group>\n </div>\n `,\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n NzInputModule,\n NzRadioModule\n ]\n})\nexport class DeonDesignSettingLine extends DeonDesignSettingBasic implements OnInit {\n constructor(message: NzMessageService, public settingSrv: SettingService) {\n super(message);\n }\n\n ngOnInit() { }\n}\n","import { Component, OnInit, EventEmitter, Output } from '@angular/core';\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { NzInputNumberModule } from 'ng-zorro-antd/input-number';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\nimport { NzMessageService } from 'ng-zorro-antd/message';\nimport { DeonDesignSettingBasic } from './setting';\nimport { SettingService } from './setting.service';\nimport _ from 'lodash';\n\n@Component({\n selector: 'deon-setting-grid',\n template: `\n <div class=\"paragraph\">\n <label>列配置项</label>\n <ng-container *ngFor=\"let item of sourceField.fieldGroup; let index = index\">\n <div class=\"rows\">\n <nz-input-number\n [nzDisabled]=\"settingSrv?.isEditor == false\"\n [(ngModel)]=\"item.props.cols\"\n [nzMin]=\"1\"\n [nzMax]=\"24\"\n [nzStep]=\"1\"\n ></nz-input-number>\n <span nz-icon nzType=\"minus-circle\" (click)=\"delCols(index)\" *ngIf=\"settingSrv?.isEditor != false\"></span>\n </div>\n </ng-container>\n <a (click)=\"addCols()\" *ngIf=\"settingSrv?.isEditor != false\"> 添加列</a>\n </div>\n `,\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n NzInputNumberModule,\n NzIconModule\n ]\n})\nexport class DeonDesignSettingGrid extends DeonDesignSettingBasic implements OnInit {\n @Output() delGridCell: EventEmitter<any> = new EventEmitter();\n constructor(message: NzMessageService, public settingSrv: SettingService) {\n super(message);\n }\n\n ngOnInit() { }\n\n /**\n * 添加列\n */\n addCols() {\n this.sourceField.fieldGroup.push({\n type: 'list',\n props: {\n hideLabel: true,\n cols: 0,\n },\n fieldGroup: [],\n active: false,\n });\n }\n\n /**\n * 删除列\n */\n delCols(i: number) {\n if (i < 1) {\n this.message.warning('栅栏布局必须要有列');\n return;\n }\n // let group: any = _.cloneDeep(this.sourceField.fieldGroup[i]);\n // this.delGridCell.emit(group);\n this.sourceField.fieldGroup = this.sourceField.fieldGroup.filter((item: any, index: number) => {\n if (index != i) {\n return item;\n }\n });\n this.delGridCell.emit();\n }\n}\n","import { Component, OnInit, ChangeDetectionStrategy, Input } from '@angular/core';\nimport { DragDropModule, CdkDragDrop, moveItemInArray } from '@angular/cdk/drag-drop';\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { NzInputModule } from 'ng-zorro-antd/input';\nimport { NzRadioModule } from 'ng-zorro-antd/radio';\nimport { NzSelectModule } from 'ng-zorro-antd/select';\nimport { NzCheckboxModule } from 'ng-zorro-antd/checkbox';\n\nimport { NzMessageService } from 'ng-zorro-antd/message';\nimport { FormlyFieldConfig } from '@ebuilding-form/core';\nimport { DeonDesignSettingBasic } from './setting';\nimport { SettingService } from './setting.service';\n\n@Component({\n selector: 'deon-setting-lookup',\n template: `\n <div class=\"paragraph\">\n <label>标题</label>\n <input\n nz-input\n [disabled]=\"settingSrv?.isEditor == false\"\n [(ngModel)]=\"sourceField.props.label\"\n maxLength=\"80\"\n placeholder=\"请输入标题\"\n (blur)=\"valueChange()\"\n />\n </div>\n <div class=\"paragraph\">\n <label>页面显示类型</label>\n <nz-select\n nzAllowClear\n [nzDisabled]=\"settingSrv?.isEditor == false\"\n [(ngModel)]=\"sourceField.props.pageType\"\n (ngModelChange)=\"pageTypeChange()\"\n >\n <nz-option nzValue=\"LIST\" nzLabel=\"列表\"></nz-option>\n <nz-option nzValue=\"TREE\" nzLabel=\"树形\"></nz-option>\n <nz-option nzValue=\"SELECT\" nzLabel=\"下拉框\"></nz-option>\n </nz-select>\n </div>\n <div class=\"paragraph\" *ngIf=\"sourceField.props.type != 'system'\">\n <label>Tree/List/Select ID</label>\n <nz-select\n nzAllowClear\n nzShowSearch\n [nzDisabled]=\"settingSrv?.isEditor == false\"\n [(ngModel)]=\"sourceField.props.pageId\"\n (ngModelChange)=\"valueChange()\"\n >\n <ng-container *ngFor=\"let d of dialogData\">\n <nz-option [nzValue]=\"d.id\" [nzLabel]=\"d.name\"></nz-option>\n </ng-container>\n </nz-select>\n </div>\n <div class=\"paragraph\" *ngIf=\"sourceField.props.type == 'system'\">\n <label>列表Code</label>\n <input\n nz-input\n [disabled]=\"settingSrv?.isEditor == false\"\n [(ngModel)]=\"sourceField.props.pageCode\"\n maxLength=\"80\"\n placeholder=\"请输入列表Code\"\n (blur)=\"valueChange()\"\n />\n </div>\n\n <div class=\"paragraph\">\n <label\n nz-checkbox\n [nzDisabled]=\"settingSrv?.isEditor == false\"\n [(ngModel)]=\"sourceField.props.required\"\n (ngModelChange)=\"valueChange()\"\n >必填</label\n >\n <label\n *ngIf=\"sourceType?.repeat != true\"\n nz-checkbox\n [nzDisabled]=\"settingSrv?.isEditor == false\"\n [(ngModel)]=\"sourceField.props.hideLabel\"\n (ngModelChange)=\"valueChange()\"\n >隐藏标题</label\n >\n </div>\n\n <div class=\"paragraph\">\n <label\n nz-checkbox\n [nzDisabled]=\"settingSrv?.isEditor == false\"\n [(ngModel)]=\"sourceField.props.defaultUser\"\n (ngModelChange)=\"valueChange()\"\n >默认显示当前操作人</label\n >\n </div>\n <div class=\"paragraph\">\n <label\n nz-checkbox\n [nzDisabled]=\"settingSrv?.isEditor == false\"\n [(ngModel)]=\"sourceField.props.callCard\"\n (ngModelChange)=\"valueChange()\"\n >触发调用Header卡片</label\n >\n </div>\n <div class=\"paragraph\">\n <label>字段布局</label>\n <nz-radio-group\n nzButtonStyle=\"solid\"\n [nzDisabled]=\"settingSrv?.isEditor == false\"\n [(ngModel)]=\"sourceField.props.layout\"\n (ngModelChange)=\"valueChange()\"\n >\n <label nz-radio-button nzValue=\"default\">左右</label>\n <label nz-radio-button nzValue=\"upDown\">上下</label>\n </nz-radio-group>\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n DragDropModule,\n NzInputModule,\n NzRadioModule,\n NzSelectModule,\n NzCheckboxModule\n ]\n})\nexport class DeonDesignSettingLookup extends DeonDesignSettingBasic implements OnInit {\n dialogData: any[] = [];\n\n @Input()\n override set field(value: FormlyFieldConfig) {\n if (value != null && value != undefined) {\n this.sourceField = value;\n if (this.sourceField.props && this.sourceField.props.minLength) {\n this.minLength = this.sourceField.props.minLength;\n }\n if (this.sourceField.props && this.sourceField.props.maxLength) {\n this.maxLength = this.sourceField.props.maxLength;\n }\n this.defaultPageType();\n }\n }\n constructor(\n public override message: NzMessageService,\n public settingSrv: SettingService\n ) {\n super(message);\n }\n\n ngOnInit() { }\n\n deleteOption(i: number) {\n this.sourceField.props.options.splice(i, 1);\n this.valueChange();\n }\n\n addOption() {\n if (this.sourceField.props.options == undefined || this.sourceField.props.options == null) {\n this.sourceField.props.options = [];\n }\n this.sourceField.props.options.push({\n label: '选项',\n value: this.datetimeString(),\n });\n this.valueChange();\n }\n\n drop(event: CdkDragDrop<string[]>) {\n moveItemInArray(event.container.data, event.previousIndex, event.currentIndex);\n this.valueChange();\n }\n\n defaultPageType() {\n this.dialogData = [];\n if (this.sourceField.props.pageType!!) {\n if (this.dialogPageData!!)\n switch (this.sourceField.props.pageType) {\n case 'LIST':\n if (this.dialogPageData?.listPage!! && Array.isArray(this.dialogPageData.listPage)) {\n this.dialogData = this.dialogPageData.listPage;\n }\n break;\n case 'TREE':\n if (this.dialogPageData?.listTree!! && Array.isArray(this.dialogPageData.listTree)) {\n this.dialogData = this.dialogPageData.listTree;\n }\n break;\n case 'SELECT':\n if (this.dialogPageData?.listSelect!! && Array.isArray(this.dialogPageData.listSelect)) {\n this.dialogData = this.dialogPageData.listSelect;\n }\n break;\n }\n }\n }\n\n pageTypeChange() {\n this.sourceField.props.pageId = null;\n switch (this.sourceField.props?.pageType) {\n case 'TREE':\n this.sourceField.type = 'lookup_tree';\n break;\n case 'SELECT':\n this.sourceField.type = 'lookup_select';\n break;\n default:\n this.sourceField.type = 'lookup';\n break;\n }\n this.valueChange();\n this.defaultPageType();\n }\n}\n","import { Component, OnInit, Input } from '@angular/core';\nimport { NzMessageService } from 'ng-zorro-antd/message';\nimport { FormlyFieldConfig } from '@ebuilding-form/core';\nimport { DeonDesignSettingBasic } from './setting';\nimport { SettingService } from './setting.service';\n\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { NzInputModule } from 'ng-zorro-antd/input';\nimport { NzSelectModule } from 'ng-zorro-antd/select';\n\n@Component({\n selector: 'deon-setting-children',\n template: `\n <div class=\"paragraph\">\n <label>标题</label>\n <input\n nz-input\n [disabled]=\"settingSrv?.isEditor == false\"\n [(ngModel)]=\"sourceField.props.label\"\n maxLength=\"80\"\n placeholder=\"请输入标题\"\n (blur)=\"valueChange()\"\n />\n </div>\n\n <div class=\"paragraph\" *ngIf=\"sourceField.props.type != 'system'\">\n <label>子表单ID</label>\n <nz-select\n nzAllowClear\n nzShowSearch\n [nzDisabled]=\"settingSrv?.isEditor == false\"\n [(ngModel)]=\"sourceField.props.formId\"\n (ngModelChange)=\"formChildrenChange()\"\n >\n <ng-container *ngFor=\"let d of dialogFormData\">\n <nz-option [nzValue]=\"d.id\" [nzLabel]=\"d.name\"></nz-option>\n </ng-container>\n </nz-select> \n </div>\n `,\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n NzInputModule,\n NzSelectModule\n ]\n})\nexport class DeonDesignSettingChildren extends DeonDesignSettingBasic implements OnInit {\n @Input()\n override set field(value: FormlyFieldConfig) {\n if (value != null && value != undefined) {\n this.sourceField = value;\n if (this.sourceField.props && this.sourceField.props.minLength) {\n this.minLength = this.sourceField.props.minLength;\n }\n if (this.sourceField.props && this.sourceField.props.maxLength) {\n this.maxLength = this.sourceField.props.maxLength;\n }\n }\n }\n\n constructor(message: NzMessageService, public settingSrv: SettingService) {\n super(message);\n }\n\n ngOnInit() { }\n\n formChildrenChange() {\n this.dialogFormData.forEach((item: any) => {\n if (item.id == this.sourceField.props.formId) {\n this.sourceField.fieldArray.fieldGroup.length = 0;\n let data: any[] = JSON.parse(item.json);\n this.sourceField.fieldArray.fieldGroup = [...this.sourceField.fieldArray.fieldGroup, ...data];\n }\n });\n this.valueChange();\n }\n}\n","import { Component, OnInit, Input } from '@angular/core';\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { NzInputModule } from 'ng-zorro-antd/input';\nimport { NzInputNumberModule } from 'ng-zorro-antd/input-number';\nimport { NzRadioModule } from 'ng-zorro-antd/radio';\nimport { NzSelectModule } from 'ng-zorro-antd/select';\nimport { NzCheckboxModule } from 'ng-zorro-antd/checkbox';\n\nimport { NzMessageService } from 'ng-zorro-antd/message';\nimport { FormlyFieldConfig } from '@ebuilding-form/core';\nimport { DeonDesignSettingBasic } from './setting';\nimport { SettingService } from './setting.service';\n\n@Component({\n selector: 'deon-setting-reform',\n template: `\n <div class=\"paragraph\">\n <label>标题</label>\n <input\n nz-input\n [disabled]=\"settingSrv?.isEditor == false\"\n [(ngModel)]=\"sourceField.props.label\"\n maxLength=\"80\"\n placeholder=\"请输入标题\"\n (blur)=\"valueChange()\"\n />\n </div>\n\n <div class=\"paragraph\" *ngIf=\"sourceField.props.type != 'system'\">\n <label>子表单ID</label>\n <nz-select\n nzAllowClear\n nzShowSearch\n [nzDisabled]=\"settingSrv?.isEditor == false\"\n [(ngModel)]=\"sourceField.props.formId\"\n (ngModelChange)=\"formChildrenChange()\"\n >\n <ng-container *ngFor=\"let d of dialogFormData\">\n <nz-option [nzValue]=\"d.id\" [nzLabel]=\"d.name\"></nz-option>\n </ng-container>\n </nz-select>\n </div>\n\n <div class=\"paragraph\">\n <label>隐藏条件配置</label>\n <textarea\n rows=\"4\"\n nz-input\n [disabled]=\"settingSrv?.isEditor == false\"\n [(ngModel)]=\"sourceField.props.hideJson\"\n (blur)=\"valueChange()\"\n ></textarea>\n </div>\n `,\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n NzInputModule,\n NzInputNumberModule,\n NzRadioModule,\n NzSelectModule,\n NzCheckboxModule\n ]\n})\nexport class DeonDesignSettingReform extends DeonDesignSettingBasic implements OnInit {\n @Input()\n override set field(value: FormlyFieldConfig) {\n if (value != null && value != undefined) {\n this.sourceField = value;\n if (this.sourceField.props && this.sourceField.props.minLength) {\n this.minLength = this.sourceField.props.minLength;\n }\n if (this.sourceField.props && this.sourceField.props.maxLength) {\n this.maxLength = this.sourceField.props.maxLength;\n }\n }\n }\n\n constructor(message: NzMessageService, public settingSrv: SettingService) {\n super(message);\n }\n\n ngOnInit() { }\n\n formChildrenChange() {\n this.dialogFormData.forEach((item: any) => {\n if (item.id == this.sourceField.props.formId) {\n this.sourceField.fieldGroup.length = 0;\n let data: any[] = JSON.parse(item.json);\n this.sourceField.fieldGroup = [...this.sourceField.fieldGroup, ...data];\n }\n });\n this.valueChange();\n }\n}\n","import { Component, OnInit, Input } from '@angular/core';\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { NzInputModule } from 'ng-zorro-antd/input';\nimport { NzSelectModule } from 'ng-zorro-antd/select';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\n\nimport { NzMessageService } from 'ng-zorro-antd/message';\nimport { NzModalService } from 'ng-zorro-antd/modal';\nimport { FormlyFieldConfig } from '@ebuilding-form/core';\nimport { DeonDesignSettingBasic } from './setting';\nimport { SettingService } from './setting.service';\n@Component({\n selector: 'deon-setting-tabs',\n template: `\n <ng-container *ngFor=\"let item of sourceField.fieldGroup; let index = index\">\n <div class=\"paragraph-box\">\n <div class=\"paragraph\">\n <input\n nz-input\n [disabled]=\"settingSrv?.isEditor == false\"\n [(ngModel)]=\"item.props.label\"\n maxLength=\"80\"\n placeholder=\"请输入标题\"\n (blur)=\"valueChange()\"\n />\n </div>\n <div class=\"paragraph\">\n <label>子表单</label>\n <nz-select\n nzAllowClear\n nzShowSearch\n [nzDisabled]=\"settingSrv?.isEditor == false\"\n [(ngModel)]=\"item.props.formId\"\n (ngModelChange)=\"formChildrenChange(item)\"\n >\n <ng-container *ngFor=\"let d of dialogFormData\">\n <nz-option [nzValue]=\"d.id\" [nzLabel]=\"d.name\"></nz-option>\n </ng-container>\n </nz-select>\n </div>\n <div class=\"paragraph\">\n <label>显示条件配置</label>\n <textarea\n [disabled]=\"settingSrv?.isEditor == false\"\n rows=\"4\"\n nz-input\n [(ngModel)]=\"item.props.hideJson\"\n (blur)=\"valueChange()\"\n ></textarea>\n </div>\n <div class=\"tab-delete\" *ngIf=\"settingSrv?.isEditor != false\">\n <i nz-icon nzType=\"delete\" (click)=\"delTab(index)\"></i>\n </div>\n </div>\n </ng-container>\n <a (click)=\"addTab()\" *ngIf=\"settingSrv?.isEditor != false\">新增页签</a>\n `,\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n NzInputModule,\n NzSelectModule,\n NzIconModule\n ]\n})\nexport class DeonDesignSettingTabs extends DeonDesignSettingBasic implements OnInit {\n constructor(message: NzMessageService, public modalSrv: NzModalService, public settingSrv: SettingService) {\n super(message);\n }\n\n ngOnInit() { }\n\n delTab(i: number) {\n this.modalSrv.confirm({\n nzTitle: '您确定需要删除吗?',\n nzContent: `删除会把该页签下面的所有配置清空`,\n nzOnOk: () => {\n this.sourceField.fieldGroup = this.sourceField.fieldGroup.filter((item: any, index: number) => {\n return index != i;\n });\n this.valueChange();\n },\n });\n }\n\n addTab() {\n let item: FormlyFieldConfig = {\n type: 'tab',\n props: {\n label: '页签',\n formId: null,\n hideJson: null,\n },\n fieldGroup: [],\n };\n\n this.sourceField.fieldGroup.push(item);\n this.valueChange();\n }\n\n formChildrenChange(e: any) {\n this.dialogFormData.forEach((item: any) => {\n if (item.id == e.props.formId) {\n e.fieldGroup.length = 0;\n let data: any[] = JSON.parse(item.json);\n e.fieldGroup = [...e.fieldGroup, ...data];\n }\n });\n this.valueChange();\n }\n}\n","import { Component, OnInit, ChangeDetectionStrategy } from '@angular/core';\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { NzInputModule } from 'ng-zorro-antd/input';\nimport { NzInputNumberModule } from 'ng-zorro-antd/input-number';\nimport { NzRadioModule } from 'ng-zorro-antd/radio';\nimport { NzSelectModule } from 'ng-zorro-antd/select';\nimport { NzCheckboxModule } from 'ng-zorro-antd/checkbox';\n\nimport { NzMessageService } from 'ng-zorro-antd/message';\nimport { DeonDesignSettingBasic } from './setting';\nimport { SettingService } from './setting.service';\n\n@Component({\n selector: 'deon-setting-radio',\n template: `\n <div class=\"paragraph\">\n <label>标题</label>\n <input\n nz-input\n [disabled]=\"settingSrv?.isEditor == false\"\n [(ngModel)]=\"sourceField.props.label\"\n maxLength=\"80\"\n placeholder=\"请输入标题\"\n (blur)=\"valueChange()\"\n />\n </div>\n\n <div class=\"paragraph\">\n <label\n nz-checkbox\n [nzDisabled]=\"settingSrv?.isEditor == false\"\n [(ngModel)]=\"sourceField.props.required\"\n (ngModelChange)=\"valueChange()\"\n >必填</label\n >\n <label\n nz-checkbox\n [nzDisabled]=\"settingSrv?.isEditor == false\"\n [(ngModel)]=\"sourceField.props.hideLabel\"\n (ngModelChange)=\"valueChange()\"\n >隐藏标题</label\n >\n </div>\n\n <div class=\"paragraph\" *ngIf=\"settingSrv?.isEditor != false\">\n <a (click)=\"typeChange()\">切换为CheckBox</a>\n </div>\n <div class=\"paragraph\">\n <label>显示格式</label>\n <nz-radio-group\n nzButtonStyle=\"solid\"\n [nzDisabled]=\"settingSrv?.isEditor == false\"\n [(ngModel)]=\"sourceField.props.type\"\n (ngModelChange)=\"valueChange()\"\n >\n <label nz-radio-button nzValue=\"default\">默认</label>\n <label nz-radio-button nzValue=\"button\">按钮</label>\n </nz-radio-group>\n </div>\n <div class=\"paragraph\">\n <label>字段布局</label>\n <nz-radio-group\n nzButtonStyle=\"solid\"\n [nzDisabled]=\"settingSrv?.isEditor == false\"\n [(ngModel)]=\"sourceField.props.layout\"\n (ngModelChange)=\"valueChange()\"\n >\n <label nz-radio-button nzValue=\"default\">左右</label>\n <label nz-radio-button nzValue=\"upDown\">上下</label>\n </nz-radio-group>\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n NzInputModule,\n NzInputNumberModule,\n NzRadioModule,\n NzSelectModule,\n NzCheckboxModule\n ]\n})\nexport class DeonDesignSettingRadio extends DeonDesignSettingBasic implements OnInit {\n constructor(\n public override message: NzMessageService,\n public settingSrv: SettingService\n ) {\n super(message);\n }\n\n ngOnInit() { }\n\n typeChange() {\n this.sourceField.type = 'checkbox';\n this.fieldTypeChange();\n }\n}\n","import { Component, OnInit, ChangeDetectionStrategy } from '@angular/core';\n\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { NzInputModule } from 'ng-zorro-antd/input';\nimport { NzInputNumberModule } from 'ng-zorro-antd/input-number';\nimport { NzCheckboxModule } from 'ng-zorro-antd/checkbox';\nimport { NzRadioModule } from 'ng-zorro-antd/radio';\n\nimport { NzMessageService } from 'ng-zorro-antd/message';\nimport { DeonDesignSettingBasic } from './setting';\nimport { SettingService } from './setting.service';\n\n@Component({\n selector: 'deon-setting-checkbox',\n template: `\n <div class=\"paragraph\">\n <label>标题</label>\n <input\n nz-input\n [disabled]=\"settingSrv?.isEditor == false\"\n [(ngModel)]=\"sourceField.props.label\"\n maxLength=\"80\"\n placeholder=\"请输入标题\"\n (blur)=\"valueChange()\"\n />\n </div>\n\n <div class=\"paragraph\">\n <label\n nz-checkbox\n [nzDisabled]=\"settingSrv?.isEditor == false\"\n [(ngModel)]=\"sourceField.props.required\"\n (ngModelChange)=\"valueChange()\"\n >必填</label\n >\n <label\n nz-checkbox\n [nzDisabled]=\"settingSrv?.isEditor == false\"\n [(ngModel)]=\"sourceField.props.hideLabel\"\n (ngModelChange)=\"valueChange()\"\n >隐藏标题</label\n >\n </div>\n\n <div class=\"paragraph\" *ngIf=\"settingSrv?.isEditor != false\">\n <a (click)=\"typeChange()\">切换为RadioGroup</a>\n </div>\n <div class=\"paragraph\">\n <label>标题位置</label>\n <nz-radio-group\n nzButtonStyle=\"solid\"\n [nzDisabled]=\"settingSrv?.isEditor == false\"\n [(ngModel)]=\"sourceField.props.labelPosition\"\n (ngModelChange)=\"valueChange()\"\n >\n <label nz-radio-button nzValue=\"right\">右边</label>\n <label nz-radio-button nzValue=\"left\">左边</label>\n </nz-radio-group>\n </div>\n <div class=\"paragraph\">\n <label>字段布局</label>\n <nz-radio-group\n nzButtonStyle=\"solid\"\n [nzDisabled]=\"settingSrv?.isEditor == false\"\n [(ngModel)]=\"sourceField.props.layout\"\n (ngModelChange)=\"valueChange()\"\n >\n <label nz-radio-button nzValue=\"default\">左右</label>\n <label nz-radio-button nzValue=\"upDown\">上下</label>\n </nz-radio-group>\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n NzInputModule,\n NzInputNumberModule,\n NzCheckboxModule,\n NzRadioModule\n ]\n})\nexport class DeonDesignSettingCheckBox extends DeonDesignSettingBasic implements OnInit {\n constructor(\n public override message: NzMessageService,\n public settingSrv: SettingService\n ) {\n super(message);\n }\n\n ngOnInit() { }\n\n typeChange() {\n this.sourceField.type = 'radiogroup';\n this.fieldTypeChange();\n }\n}\n","import { Component, OnInit, ChangeDetectionStrategy } from '@angular/core';\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { NzInputModule } from 'ng-zorro-antd/input';\nimport { NzInputNumberModule } from 'ng-zorro-antd/input-number';\nimport { NzSelectModule } from 'ng-zorro-antd/select';\nimport { NzCheckboxModule } from 'ng-zorro-antd/checkbox';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\nimport { NzRadioModule } from 'ng-zorro-antd/radio';\n\nimport { NzMessageService } from 'ng-zorro-antd/message';\nimport { DeonDesignSettingBasic } from './setting';\nimport { SettingService } from './setting.service';\n\n@Component({\n selector: 'deon-setting-upload',\n template: `\n <div class=\"paragraph\">\n <label>标题</label>\n <input\n nz-input\n [disabled]=\"settingSrv?.isEditor == false\"\n [(ngModel)]=\"sourceField.props.label\"\n maxLength=\"80\"\n placeholder=\"请输入标题\"\n (blur)=\"valueChange()\"\n />\n </div>\n\n <div class=\"paragraph\">\n <label\n nz-checkbox\n [nzDisabled]=\"settingSrv?.isEditor == false\"\n [(ngModel)]=\"sourceField.props.required\"\n (ngModelChange)=\"valueChange()\"\n >必填</label\n >\n <label\n nz-checkbox\n [nzDisabled]=\"settingSrv?.isEditor == false\"\n [(ngModel)]=\"sourceField.props.hideLabel\"\n (ngModelChange)=\"valueChange()\"\n >隐藏标题</label\n >\n </div>\n\n <div class=\"paragraph\">\n <label>最多上传多少附件</label>\n <nz-input-number\n [nzDisabled]=\"settingSrv?.isEditor == false\"\n [nzPlaceHolder]=\"'不限'\"\n [nzMin]=\"0\"\n [nzStep]=\"1\"\n [(ngModel)]=\"sourceField.props.maxLength\"\n [nzPrecision]=\"0\"\n [nzMax]=\"20\"\n (nzBlur)=\"maxChange()\"\n ></nz-input-number>\n </div>\n\n <div class=\"paragraph\">\n <label>字段布局</label>\n <nz-radio-group\n nzButtonStyle=\"solid\"\n [nzDisabled]=\"settingSrv?.isEditor == false\"\n [(ngModel)]=\"sourceField.props.layout\"\n (ngModelChange)=\"valueChange()\"\n >\n <label nz-radio-button nzValue=\"default\">左右</label>\n <label nz-radio-button nzValue=\"upDown\">上下</label>\n </nz-radio-group>\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n NzInputModule,\n NzInputNumberModule,\n NzRadioModule,\n NzSelectModule,\n NzCheckboxModule,\n NzIconModule\n ]\n})\nexport class DeonDesignSettingUpload extends DeonDesignSettingBasic implements OnInit {\n constructor(\n public override message: NzMessageService,\n public settingSrv: SettingService\n ) {\n super(message);\n }\n\n ngOnInit() { }\n\n override maxChange() {\n this.valueChange();\n }\n}\n","import { Component, OnInit, ChangeDetectionStrategy } from '@angular/core';\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { NzInputModule } from 'ng-zorro-antd/input';\nimport { NzInputNumberModule } from 'ng-zorro-antd/input-number';\nimport { NzRadioModule } from 'ng-zorro-antd/radio';\nimport { NzSelectModule } from 'ng-zorro-antd/select';\nimport { NzCheckboxModule } from 'ng-zorro-antd/checkbox';\n\nimport { NzMessageService } from 'ng-zorro-antd/message';\nimport { DeonDesignSettingBasic } from './setting';\nimport { SettingService } from './setting.service';\n\n@Component({\n selector: 'deon-setting-number',\n template: `\n <div class=\"paragraph\">\n <label>标题</label>\n <input\n nz-input\n [disabled]=\"settingSrv?.isEditor == false\"\n [(ngModel)]=\"sourceField.props.label\"\n maxLength=\"80\"\n placeholder=\"请输入标题\"\n (blur)=\"valueChange()\"\n />\n </div>\n\n <ng-container *ngIf=\"sourceField.type == 'number'\">\n <div class=\"paragraph\" *ngIf=\"settingSrv.tableField!! && settingSrv.tableField.type == 'FLOAT'\">\n <label>小数位数</label>\n <nz-input-number\n [nzDisabled]=\"settingSrv?.isEditor == false\"\n [nzPlaceHolder]=\"'不限'\"\n [nzMin]=\"0\"\n [nzMax]=\"settingSrv.tableField.precision\"\n [nzStep]=\"1\"\n [(ngModel)]=\"sourceField.props.precision\"\n (nzBlur)=\"valueChange()\"\n ></nz-input-number>\n </div>\n <div class=\"paragraph\" *ngIf=\"settingSrv.tableField!!\">\n <label>数值大小范围</label>\n <ul class=\"range\">\n <li>\n <nz-input-number\n [nzDisabled]=\"settingSrv?.isEditor == false\"\n [nzPlaceHolder]=\"'不限'\"\n [nzMin]=\"settingSrv.tableField.min\"\n [nzStep]=\"1\"\n [(ngModel)]=\"min\"\n [nzPrecision]=\"sourceField.props.precision\"\n (nzBlur)=\"minChange()\"\n ></nz-input-number>\n </li>\n <li>~</li>\n <li>\n <nz-input-number\n [nzDisabled]=\"settingSrv?.isEditor == false\"\n [nzPlaceHolder]=\"'不限'\"\n [nzMin]=\"0\"\n [nzStep]=\"1\"\n [(ngModel)]=\"max\"\n [nzPrecision]=\"sourceField.props.precision\"\n [nzMax]=\"settingSrv.tableField.max\"\n (nzBlur)=\"maxChange()\"\n ></nz-input-number>\n </li>\n </ul>\n </div>\n </ng-container>\n\n <div class=\"paragraph\">\n <label\n nz-checkbox\n [nzDisabled]=\"settingSrv?.isEditor == false\"\n [(ngModel)]=\"sourceField.props.required\"\n (ngModelChange)=\"valueChange()\"\n >必填</label\n >\n <label\n nz-checkbox\n [nzDisabled]=\"settingSrv?.isEditor == false\"\n [(ngModel)]=\"sourceField.props.hideLabel\"\n (ngModelChange)=\"valueChange()\"\n >隐藏标题</label\n >\n </div>\n <div class=\"paragraph\">\n <label>字段布局</label>\n <nz-radio-group\n nzButtonStyle=\"solid\"\n [nzDisabled]=\"settingSrv?.isEditor == false\"\n [(ngModel)]=\"sourceField.props.layout\"\n (ngModelChange)=\"valueChange()\"\n >\n <label nz-radio-button nzValue=\"default\">左右</label>\n <label nz-radio-button nzValue=\"upDown\">上下</label>\n </nz-radio-group>\n </div>\n <div class=\"paragraph\">\n <label>显示类型(类型为评分时默认值只能在1~5)</label>\n <nz-select [(ngModel)]=\"sourceField.type\" [nzDisabled]=\"settingSrv?.isEditor == false\" (ngModelChange)=\"defaultValueChange()\">\n <nz-option nzValue=\"number\" nzLabel=\"默认\"></nz-option>\n <nz-option nzValue=\"rate_number\" nzLabel=\"评分\"></nz-option>\n </nz-select>\n </div>\n\n <ng-container *ngIf=\"sourceField.type == 'number'; else tmpRate\">\n <div class=\"paragraph\" *ngIf=\"sourceField?.props?.precision > 0; else tmpNumber\">\n <label>默认值</label>\n <nz-input-number\n [nzDisabled]=\"settingSrv?.isEditor == false\"\n [nzPrecision]=\"sourceField.props.precision\"\n nzStep=\"0.1\"\n [(ngModel)]=\"sourceField.defaultValue\"\n ></nz-input-number>\n </div>\n\n <ng-template #tmpNumber>\n <div class=\"paragraph\">\n <label>默认值</label>\n <nz-input-number\n [nzDisabled]=\"settingSrv?.isEditor == false\"\n [nzPrecision]=\"0\"\n [nzStep]=\"1\"\n [(ngModel)]=\"sourceField.defaultValue\"\n ></nz-input-number>\n </div>\n </ng-template>\n </ng-container>\n\n <ng-template #tmpRate>\n <div class=\"paragraph\">\n <label>默认值</label>\n <nz-input-number\n [nzDisabled]=\"settingSrv?.isEditor == false\"\n [nzPrecision]=\"0\"\n [nzStep]=\"1\"\n [nzMin]=\"1\"\n [nzMax]=\"5\"\n [(ngModel)]=\"sourceField.defaultValue\"\n (ngModelChange)=\"defaultValueChange()\"\n ></nz-input-number>\n </div>\n </ng-template>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n NzInputModule,\n NzInputNumberModule,\n NzRadioModule,\n NzSelectModule,\n NzCheckboxModule\n ]\n})\nexport class DeonDesignSettingNumber extends DeonDesignSettingBasic implements OnInit {\n constructor(\n public override message: NzMessageService,\n public settingSrv: SettingService\n ) {\n super(message);\n }\n\n ngOnInit() { }\n\n defaultValueChange() {\n if (this.sourceField?.type == 'rate_number' && this.sourceField?.defaultValue > 5) {\n this.sourceField.defaultValue = 5;\n }\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { NzInputModule } from 'ng-zorro-antd/input';\nimport { NzInputNumberModule } from 'ng-zorro-antd/input-number';\nimport { NzRadioModule } from 'ng-zorro-antd/radio';\nimport { NzCheckboxModule } from 'ng-zorro-antd/checkbox';\nimport { NzMessageService } from 'ng-zorro-antd/message';\nimport { DeonDesignSettingBasic } from './setting';\nimport { SettingService } from './setting.service';\n@Component({\n selector: 'deon-setting-fj',\n template: `\n <div class=\"paragraph\">\n <label>标题</label>\n <input\n nz-input\n [disabled]=\"settingSrv?.isEditor == false\"\n [(ngModel)]=\"sourceField.props.label\"\n maxLength=\"80\"\n placeholder=\"请输入标题\"\n (blur)=\"valueChange()\"\n />\n </div>\n\n <div class=\"paragraph\">\n <label\n nz-checkbox\n [nzDisabled]=\"settingSrv?.isEditor == false\"\n [(ngModel)]=\"sourceField.props.required\"\n (ngModelChange)=\"valueChange()\"\n >必填</label\n >\n <label\n nz-checkbox\n [nzDisabled]=\"settingSrv?.isEditor == false\"\n [(ngModel)]=\"sourceField.props.hideLabel\"\n (ngModelChange)=\"valueChange()\"\n >隐藏标题</label\n >\n </div>\n\n <div class=\"paragraph\" *ngIf=\"sourceField.props?.selectType=='multiple'\">\n <label>最多上传多少图片</label>\n <nz-input-number\n [nzDisabled]=\"settingSrv?.isEditor == false\"\n [nzPlaceHolder]=\"'不限'\"\n [nzMin]=\"0\"\n [nzStep]=\"1\"\n [(ngModel)]=\"sourceField.props.max\"\n [nzPrecision]=\"0\"\n [nzMax]=\"20\"\n (nzBlur)=\"maxChange()\"\n ></nz-input-number>\n </div>\n\n <div class=\"paragraph\">\n <label>字段布局</label>\n <nz-radio-group\n nzButtonStyle=\"solid\"\n [nzDisabled]=\"settingSrv?.isEditor == false\"\n [(ngModel)]=\"sourceField.props.layout\"\n (ngModelChange)=\"valueChange()\"\n >\n <label nz-radio-button nzValue=\"default\">左右</label>\n <label nz-radio-button nzValue=\"upDown\">上下</label>\n </nz-radio-group>\n </div>\n `,\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n NzInputModule,\n NzInputNumberModule,\n NzRadioModule,\n NzCheckboxModule\n ]\n})\nexport class DeonDesignSettingFj extends DeonDesignSettingBasic implements OnInit {\n constructor(\n public override message: NzMessageService,\n public settingSrv: SettingService\n ) {\n super(message);\n }\n\n ngOnInit() { }\n\n override maxChange() {\n this.valueChange();\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { NzInputModule } from 'ng-zorro-antd/input';\nimport { NzInputNumberModule } from 'ng-zorro-antd/input-number';\nimport { NzRadioModule } from 'ng-zorro-antd/radio';\nimport { NzCheckboxModule } from 'ng-zorro-antd/checkbox';\nimport { NzMessageService } from 'ng-zorro-antd/message';\nimport { DeonDesignSettingBasic } from './setting';\nimport { SettingService } from './setting.service';\n@Component({\n selector: 'deon-setting-img',\n template: `\n <div class=\"paragraph\">\n <label>标题</label>\n <input\n nz-input\n [disabled]=\"settingSrv?.isEditor == false\"\n [(ngModel)]=\"sourceField.props.label\"\n maxLength=\"80\"\n placeholder=\"请输入标题\"\n (blur)=\"valueChange()\"\n />\n </div>\n\n <div class=\"paragraph\">\n <label\n nz-checkbox\n [nzDisabled]=\"settingSrv?.isEditor == false\"\n [(ngModel)]=\"sourceField.props.required\"\n (ngModelChange)=\"valueChange()\"\n >必填</label\n >\n <label\n nz-checkbox\n [nzDisabled]=\"settingSrv?.isEditor == false\"\n [(ngModel)]=\"sourceField.props.hideLabel\"\n (ngModelChange)=\"valueChange()\"\n >隐藏标题</label\n >\n </div>\n\n <div class=\"paragraph\" *ngIf=\"sourceField.props?.selectType=='multiple'\">\n <label>最多上传多少图片</label>\n <nz-input-number\n [nzDisabled]=\"settingSrv?.isEditor == false\"\n [nzPlaceHolder]=\"'不限'\"\n [nzMin]=\"0\"\n [nzStep]=\"1\"\n [(ngModel)]=\"sourceField.props.max\"\n [nzPrecision]=\"0\"\n [nzMax]=\"20\"\n (nzBlur)=\"maxChange()\"\n ></nz-input-number>\n </div>\n\n <div class=\"paragraph\">\n <label>字段布局</label>\n <nz-radio-group\n nzButtonStyle=\"solid\"\n [nzDisabled]=\"settingSrv?.isEditor == false\"\n [(ngModel)]=\"sourceField.props.layout\"\n (ngModelChange)=\"valueChange()\"\n >\n <label nz-radio-button nzValue=\"default\">左右</label>\n <label nz-radio-button nzValue=\"upDown\">上下</label>\n </nz-radio-group>\n </div>\n `,\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n NzInputModule,\n NzInputNumberModule,\n NzRadioModule,\n NzCheckboxModule\n ]\n})\nexport class DeonDesignSettingImg extends DeonDesignSettingBasic implements OnInit {\n constructor(\n public override message: NzMessageService,\n public settingSrv: SettingService\n ) {\n super(message);\n }\n\n ngOnInit() { }\n\n override maxChange() {\n this.valueChange();\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { NzInputModule } from 'ng-zorro-antd/input';\nimport { NzInputNumberModule } from 'ng-zorro-antd/input-number';\nimport { NzRadioModule } from 'ng-zorro-antd/radio';\nimport { NzCheckboxModule } from 'ng-zorro-antd/checkbox';\nimport { NzMessageService } from 'ng-zorro-antd/message';\nimport { DeonDesignSettingBasic } from './setting';\nimport { SettingService } from './setting.service';\n@Component({\n selector: 'deon-setting-card-front',\n template: `\n <div class=\"paragraph\">\n <label>标题</label>\n <input\n nz-input\n [disabled]=\"settingSrv?.isEditor == false\"\n [(ngModel)]=\"sourceField.props.label\"\n maxLength=\"80\"\n placeholder=\"请输入标题\"\n (blur)=\"valueChange()\"\n />\n </div>\n\n <div class=\"paragraph\">\n <label\n nz-checkbox\n [nzDisabled]=\"settingSrv?.isEditor == false\"\n [(ngModel)]=\"sourceField.props.ocr\"\n (ngModelChange)=\"valueChange()\"\n >是否开启OCR识别</label\n >\n <label\n nz-checkbox\n [nzDisabled]=\"settingSrv?.isEditor == false\"\n [(ngModel)]=\"sourceField.props.hideLabel\"\n (ngModelChange)=\"valueChange()\"\n >隐藏标题</label\n >\n </div> \n\n <div class=\"paragraph\">\n <label\n nz-checkbox\n [nzDisabled]=\"settingSrv?.isEditor == false\"\n [(ngModel)]=\"sourceField.props.required\"\n (ngModelChange)=\"valueChange()\"\n >必填</label\n >\n </div>\n\n <div class=\"paragraph\">\n <label>字段布局</label>\n <nz-radio-group\n nzButtonStyle=\"solid\"\n [nzDisabled]=\"settingSrv?.isEditor == false\"\n [(ngModel)]=\"sourceField.props.layout\"\n (ngModelChange)=\"valueChange()\"\n >\n <label nz-radio-button nzValue=\"default\">左右</label>\n <label nz-radio-button nzValue=\"upDown\">上下</label>\n </nz-radio-group>\n </div>\n `,\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n NzInputModule,\n NzInputNumberModule,\n NzRadioModule,\n NzCheckboxModule\n ]\n})\nexport class DeonDesignSettingCardFront extends DeonDesignSettingBasic implements OnInit {\n constructor(\n public override message: NzMessageService,\n public settingSrv: SettingService\n ) {\n super(message);\n }\n\n ngOnInit() { }\n\n override maxChange() {\n this.valueChange();\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { NzInputModule } from 'ng-zorro-antd/input';\nimport { NzInputNumberModule } from 'ng-zorro-antd/input-number';\nimport { NzRadioModule } from 'ng-zorro-antd/radio';\nimport { NzCheckboxModule } from 'ng-zorro-antd/checkbox';\nimport { NzMessageService } from 'ng-zorro-antd/message';\nimport { DeonDesignSettingBasic } from './setting';\nimport { SettingService } from './setting.service';\n@Component({\n selector: 'deon-setting-card-back',\n template: `\n <div class=\"paragraph\">\n <label>标题</label>\n <input\n nz-input\n [disabled]=\"settingSrv?.isEditor == false\"\n [(ngModel)]=\"sourceField.props.label\"\n maxLength=\"80\"\n placeholder=\"请输入标题\"\n (blur)=\"valueChange()\"\n />\n </div>\n\n <div class=\"paragraph\">\n <label\n nz-checkbox\n [nzDisabled]=\"settingSrv?.isEditor == false\"\n [(ngModel)]=\"sourceField.props.ocr\"\n (ngModelChange)=\"valueChange()\"\n >是否开启OCR识别</label\n >\n <label\n nz-checkbox\n [nzDisabled]=\"settingSrv?.isEditor == false\"\n [(ngModel)]=\"sourceField.props.hideLabel\"\n (ngModelChange)=\"valueChange()\"\n >隐藏标题</label\n >\n </div> \n\n <div class=\"paragraph\">\n <label\n nz-checkbox\n [nzDisabled]=\"settingSrv?.isEditor == false\"\n [(ngModel)]=\"sourceField.props.required\"\n (ngModelChange)=\"valueChange()\"\n >必填</label\n >\n </div>\n\n <div class=\"paragraph\">\n <label>字段布局</label>\n <nz-radio-group\n nzButtonStyle=\"solid\"\n [nzDisabled]=\"settingSrv?.isEditor == false\"\n [(ngModel)]=\"sourceField.props.layout\"\n (ngModelChange)=\"valueChange()\"\n >\n <label nz-radio-button nzValue=\"default\">左右</label>\n <label nz-radio-button nzValue=\"upDown\">上下</label>\n </nz-radio-group>\n </div>\n `,\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n NzInputModule,\n NzInputNumberModule,\n NzRadioModule,\n NzCheckboxModule\n ]\n})\nexport class DeonDesignSettingCardBack extends DeonDesignSettingBasic implements OnInit {\n constructor(\n public override message: NzMessageService,\n public settingSrv: SettingService\n ) {\n super(message);\n }\n\n ngOnInit() { }\n\n override maxChange() {\n this.valueChange();\n }\n}\n","import {\n Component,\n OnInit,\n Input,\n Output,\n OnChanges,\n SimpleChanges,\n ViewContainerRef,\n ViewChild,\n ComponentRef,\n ComponentFactory,\n ChangeDetectorRef,\n EventEmitter,\n ComponentFactoryResolver,\n} from '@angular/core';\nimport _ from 'lodash';\nimport { FormlyFieldConfig } from '@ebuilding-form/core';\n\nimport { DeonDesignSettingRepeat } from './setting.repeat';\n/**\n *\n */\nimport { DeonDesignSettingCommon } from './setting.common';\nimport { DeonDesignSettingLabel } from './setting.label';\nimport { DeonDesignSettingDesc } from './setting.desc';\nimport { DeonDesignSettingLine } from './setting.line';\nimport { DeonDesignSettingGrid } from './setting.grid';\nimport { DeonDesignSettingLookup } from './setting.lookup';\nimport { DeonDesignSettingChildren } from './setting.children';\nimport { DeonDesignSettingReform } from './setting.reform';\nimport { DeonDesignSettingTabs } from './setting.tabs';\nimport { DeonDesignSettingRadio } from './setting.radio';\nimport { DeonDesignSettingCheckBox } from './setting.checkbox';\nimport { DeonDesignSettingUpload } from './setting.upload';\nimport { DeonDesignSettingNumber } from './setting.number';\nimport { DeonDesignSettingFj } from './setting.fj';\nimport { DeonDesignSettingImg } from './setting.img';\nimport { DeonDesignSettingCardFront } from './setting.card-front';\nimport { DeonDesignSettingCardBack } from './setting.card-back';\nimport { SettingService } from './setting.service';\n@Component({\n selector: 'deon-setting-template',\n template: ` <ng-container #componentHost></ng-container> `,\n providers: [SettingService],\n})\nexport class DeonDesignSettingTemplate implements OnInit, OnChanges {\n _tableField: any = null;\n\n dynamicComponents: any = {\n label: DeonDesignSettingLabel,\n desc: DeonDesignSettingDesc,\n line: DeonDesignSettingLine,\n grid: DeonDesignSettingGrid,\n\n text: DeonDesignSettingCommon,\n textcode: DeonDesignSettingCommon,\n textarea: DeonDesignSettingCommon,\n color: DeonDesignSettingCommon,\n icon: DeonDesignSettingCommon,\n number: DeonDesignSettingNumber,\n rate_number: DeonDesignSettingNumber,\n password: DeonDesignSettingCommon,\n texti18n: DeonDesignSettingCommon,\n select: DeonDesignSettingCommon,\n checkbox: DeonDesignSettingCheckBox,\n radio: DeonDesignSettingCommon,\n checkboxgroup: DeonDesignSettingCommon,\n radiogroup: DeonDesignSettingRadio,\n datetime: DeonDesignSettingCommon,\n\n repeat: DeonDesignSettingRepeat,\n richtext: DeonDesignSettingCommon,\n tree: DeonDesignSettingCommon,\n lookup: DeonDesignSettingLookup,\n lookup_tree: DeonDesignSettingLookup,\n lookup_select: DeonDesignSettingLookup,\n one2many: DeonDesignSettingLookup,\n children: DeonDesignSettingChildren,\n reform: DeonDesignSettingReform,\n tabs: DeonDesignSettingTabs,\n upload: DeonDesignSettingUpload,\n attachment: DeonDesignSettingFj,\n img: DeonDesignSettingImg,\n card_front: DeonDesignSettingCardFront,\n card_back: DeonDesignSettingCardBack\n };\n\n component: ComponentRef<any> | undefined;\n\n @ViewChild('componentHost', { read: ViewContainerRef, static: true })\n componentHost: ViewContainerRef | undefined;\n questionField: any = {\n key: '',\n type: 'text',\n props: {\n label: '',\n description: '',\n maxLength: 500,\n minLength: 0,\n max: 0,\n min: 0,\n precision: 0,\n placeholder: '',\n required: false,\n pattern: '',\n options: [],\n hideJson: null,\n },\n };\n\n @Input() dialogPageData: any = null;\n @Input() dialogFormData: any[] = [];\n\n @Input() sourceType: any = {};\n\n @Input()\n set tableField(value: any) {\n this.settingSrv.tableField = value;\n }\n\n @Input()\n set isEditor(value: boolean) {\n if (value == null) {\n this.settingSrv.isEditor = true;\n } else {\n this.settingSrv.isEditor = value;\n }\n }\n\n @Input()\n set field(value: FormlyFieldConfig) {\n if (value != null && value != undefined) {\n this.questionField = value;\n }\n if (this.componentHost) {\n this.componentHost.clear();\n if (\n this.questionField != undefined &&\n this.questionField != null &&\n this.questionField.type != undefined &&\n this.questionField.type != null &&\n this.questionField.type != 'list'\n ) {\n const compFactory: ComponentFactory<any> = this.componentFactoryResolver.resolveComponentFactory(\n this.dynamicComponents[this.questionField.type],\n );\n this.component = this.componentHost.createComponent(compFactory);\n this.component.instance.dialogPageData = this.dialogPageData;\n this.component.instance.dialogFormData = this.dialogFormData;\n this.component.instance.sourceType = this.sourceType;\n this.component.instance.field = this.questionField;\n\n this.component.instance.fieldSetUpAction.subscribe((res) => {\n this.fieldChange.emit(res);\n });\n this.component.instance.typeChangeAction.subscribe((res) => {\n this.fieldTypeChange.emit(res);\n });\n this.component.instance.repeatAction.subscribe((res) => {\n this.repeatChange.emit(res);\n });\n this.component.instance?.delGridCell?.subscribe((res) => {\n this.delGridCell.emit(res);\n });\n } else {\n const compFactory: ComponentFactory<any> = this.componentFactoryResolver.resolveComponentFactory(this.dynamicComponents['empty']);\n this.component = this.componentHost.createComponent(compFactory);\n }\n }\n }\n\n @Output() fieldChange: EventEmitter<any> = new EventEmitter();\n @Output() fieldTypeChange: EventEmitter<any> = new EventEmitter();\n @Output() repeatChange: EventEmitter<any> = new EventEmitter();\n @Output() delGridCell: EventEmitter<any> = new EventEmitter();\n constructor(\n public componentFactoryResolver: ComponentFactoryResolver,\n public changeDetectorRef: ChangeDetectorRef,\n public settingSrv: SettingService,\n ) { }\n\n ngOnInit() { }\n\n ngOnChanges(changes: SimpleChanges) { }\n}\n","import { Component, OnInit, Input } from '@angular/core';\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { DragDropModule } from '@angular/cdk/drag-drop';\n\nimport _ from 'lodash';\n\n@Component({\n selector: 'deon-field-type-basic',\n templateUrl: './index.component.html',\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n DragDropModule\n ]\n})\nexport class DeonDesignFieldTypeBasic implements OnInit {\n typeList: any = [\n {\n type: 'label',\n label: '标签',\n },\n // {\n // type: 'desc',\n // label: '文本描述',\n // },\n {\n type: 'grid',\n label: '栅栏布局',\n },\n {\n type: 'line',\n label: '分 割 线',\n },\n {\n type: 'tabs',\n label: '多页签',\n },\n {\n type: 'children',\n label: '子表单[数组]',\n },\n {\n type: 'reform',\n label: '子表单[引用]',\n },\n ];\n\n baseList: any[] = [\n {\n type: 'label',\n label: '标签',\n },\n // {\n // type: 'desc',\n // label: '文本描述',\n // },\n ];\n\n otherList: any[] = [\n {\n type: 'grid',\n label: '栅栏布局',\n },\n {\n type: 'line',\n label: '分 割 线',\n },\n {\n type: 'tabs',\n label: '多页签',\n },\n {\n type: 'children',\n label: '子表单[数组]',\n },\n {\n type: 'reform',\n label: '子表单[引用]',\n },\n ];\n\n @Input() dls: any;\n @Input() isDefault: boolean = false;\n constructor() { }\n\n ngOnInit() { }\n}\n","<div cdkDropList [cdkDropListData]=\"{ type_base: typeList }\" cdkDropListSortingDisabled [cdkDropListConnectedTo]=\"dls\">\n <ul class=\"list\">\n <li class=\"title\">\n <label>基础字段</label>\n </li>\n <ng-container *ngFor=\"let item of baseList\">\n <li class=\"field\" [ngClass]=\"item.type != '' ? item.type : ''\" cdkDrag>\n <label>{{ item.label }}</label>\n </li>\n </ng-container>\n\n <li class=\"title\">\n <label>其他字段</label>\n </li>\n <ng-container *ngFor=\"let item of otherList\">\n <ng-container *ngIf=\"item.type == 'children' || item.type == 'reform'; else tmpOther\">\n <ng-container *ngIf=\"isDefault\">\n <li class=\"field\" [ngClass]=\"item.type != '' ? item.type : ''\" cdkDrag>\n <label>{{ item.label }}</label>\n </li>\n </ng-container>\n </ng-container>\n <ng-template #tmpOther>\n <li class=\"field\" [ngClass]=\"item.type != '' ? item.type : ''\" cdkDrag>\n <label>{{ item.label }}</label>\n </li>\n </ng-template>\n </ng-container>\n </ul>\n</div>\n","import { Component, OnInit, Input } from '@angular/core';\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { DragDropModule } from '@angular/cdk/drag-drop';\n\nimport _ from 'lodash';\n\n@Component({\n selector: 'deon-field-type-basic2',\n templateUrl: './index.component.html',\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n DragDropModule\n ]\n})\nexport class DeonDesignFieldTypeBasic2 implements OnInit {\n typeList: any = [\n {\n type: 'label',\n label: '标签',\n },\n // {\n // type: 'desc',\n // label: '文本描述',\n // },\n {\n type: 'grid',\n label: '栅栏布局',\n },\n {\n type: 'line',\n label: '分 割 线',\n },\n ];\n\n baseList: any[] = [\n {\n type: 'label',\n label: '标签',\n },\n // {\n // type: 'desc',\n // label: '文本描述',\n // },\n ];\n\n otherList: any[] = [\n {\n type: 'grid',\n label: '栅栏布局',\n },\n {\n type: 'line',\n label: '分 割 线',\n },\n ];\n\n @Input() dls: any;\n @Input() isDefault: boolean = false;\n constructor() { }\n\n ngOnInit() { }\n}\n","<div cdkDropList [cdkDropListData]=\"{ type_base: typeList }\" cdkDropListSortingDisabled [cdkDropListConnectedTo]=\"dls\">\n <ul class=\"list\">\n <li class=\"title\">\n <label>基础字段</label>\n </li>\n <ng-container *ngFor=\"let item of baseList\">\n <li class=\"field\" [ngClass]=\"item.type != '' ? item.type : ''\" cdkDrag>\n <label>{{ item.label }}</label>\n </li>\n </ng-container>\n\n <li class=\"title\">\n <label>其他字段</label>\n </li>\n <ng-container *ngFor=\"let item of otherList\">\n <ng-container *ngIf=\"item.type == 'children' || item.type == 'reform'; else tmpOther\">\n <ng-container *ngIf=\"isDefault\">\n <li class=\"field\" [ngClass]=\"item.type != '' ? item.type : ''\" cdkDrag>\n <label>{{ item.label }}</label>\n </li>\n </ng-container>\n </ng-container>\n <ng-template #tmpOther>\n <li class=\"field\" [ngClass]=\"item.type != '' ? item.type : ''\" cdkDrag>\n <label>{{ item.label }}</label>\n </li>\n </ng-template>\n </ng-container>\n </ul>\n</div>\n","import { Component, OnInit, Input } from '@angular/core';\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { DragDropModule } from '@angular/cdk/drag-drop';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\n\nimport _ from 'lodash';\n\n@Component({\n selector: 'deon-field-type-source',\n styleUrls: ['./index.component.less'],\n templateUrl: './index.component.html',\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n DragDropModule,\n NzIconModule\n ]\n})\nexport class DeonDesignFieldTypeSource implements OnInit {\n @Input() dls;\n @Input() tableInfo: any = null;\n\n get fieldList() {\n let result: any[] = [];\n if (this.tableInfo!!) {\n if (this.tableInfo.single!! && this.tableInfo.single.length > 0) {\n this.tableInfo.single.forEach((element: any) => {\n if (element.listField!!) {\n result = result.concat(element.listField);\n }\n });\n }\n if (this.tableInfo.multiple!! && this.tableInfo.multiple.length > 0) {\n this.tableInfo.multiple.forEach((element: any) => {\n result.push(element);\n });\n }\n }\n return result;\n }\n\n constructor() { }\n\n ngOnInit() { }\n}\n","<ng-container *ngIf=\"tableInfo!! && tableInfo.single!! && tableInfo.single.length > 0\">\n <div cdkDropList [cdkDropListData]=\"{ type_source: fieldList }\" cdkDropListSortingDisabled [cdkDropListConnectedTo]=\"dls\">\n <div *ngFor=\"let table of tableInfo.single\">\n <div class=\"table-box\">\n <span>{{ table.name }}</span>\n </div>\n <ul class=\"table-field\">\n <ng-container *ngFor=\"let item of table.listField\">\n <li cdkDrag [cdkDragDisabled]=\"item.ref\">\n <i nz-icon nzType=\"copy\" *ngIf=\"item.ref == undefined || item.ref == null || item.ref == false\"></i>\n <i nz-icon nzType=\"flag\" *ngIf=\"item.ref == true\"></i>\n <span>{{ item.name }}</span>\n </li>\n </ng-container>\n </ul>\n </div>\n <ng-container *ngIf=\"tableInfo.multiple!! && tableInfo.multiple.length > 0\">\n <div class=\"table-box\">\n <span>多表对象</span>\n </div>\n <ul class=\"table-field\">\n <ng-container *ngFor=\"let table of tableInfo.multiple\">\n <li cdkDrag [cdkDragDisabled]=\"table.ref\">\n <i nz-icon nzType=\"table\" *ngIf=\"table.ref == undefined || table.ref == null || table.ref == false\"></i>\n <i nz-icon nzType=\"flag\" *ngIf=\"table.ref == true\"></i>\n <span>{{ table.name }}</span>\n </li>\n </ng-container>\n </ul>\n </ng-container>\n </div>\n</ng-container>\n","import { Component, OnInit, Input } from '@angular/core';\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { DragDropModule } from '@angular/cdk/drag-drop';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\n\nimport _ from 'lodash';\n\n@Component({\n selector: 'deon-field-type-source2',\n styleUrls: ['./index.component.less'],\n templateUrl: './index.component.html',\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n DragDropModule,\n NzIconModule\n ]\n})\nexport class DeonDesignFieldTypeSource2 implements OnInit {\n @Input() dls;\n @Input() indicatorList: any[] = [];\n\n constructor() { }\n\n ngOnInit() { }\n}\n","<ng-container *ngIf=\"indicatorList && indicatorList.length > 0\">\n <div class=\"title\">\n <label>绩效指标库</label>\n </div>\n <div cdkDropList [cdkDropListData]=\"{ type_source: indicatorList }\" cdkDropListSortingDisabled [cdkDropListConnectedTo]=\"dls\">\n <ul class=\"table-field\">\n <ng-container *ngFor=\"let item of indicatorList\">\n <li cdkDrag>\n <i nz-icon nzType=\"copy\"></i>\n <span>{{ item.name }}</span>\n </li>\n </ng-container>\n </ul>\n </div>\n</ng-container>\n","import { Component, ChangeDetectionStrategy, OnInit, OnChanges, OnDestroy, AfterViewInit, Input } from '@angular/core';\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\n\n@Component({\n selector: 'deon-design-simple-label',\n template: ` <ng-content></ng-content> `,\n host: {\n '[class]': \"to.required==true?'required':''\",\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule\n ]\n})\nexport class DeonDesignSimpleLabel implements OnInit, OnDestroy, AfterViewInit, OnChanges {\n @Input() field: any;\n\n get to() {\n return this.field.props || {};\n }\n ngOnInit() { }\n ngAfterViewInit() { }\n ngOnDestroy() { }\n ngOnChanges(e: any) { }\n}\n","import { Injectable } from '@angular/core';\r\nimport moment from 'moment';\r\n\r\n@Injectable()\r\nexport class FieldTypeService {\r\n /**\r\n * 获取默认字段\r\n * @param type\r\n * @returns\r\n */\r\n fieldBasicType(type: any) {\r\n let field: any = {};\r\n switch (type) {\r\n case 'label':\r\n field = this.label();\r\n break;\r\n case 'desc':\r\n field = this.desc();\r\n break;\r\n case 'line':\r\n field = this.line();\r\n break;\r\n case 'grid':\r\n field = this.grid();\r\n break;\r\n case 'children':\r\n field = this.children();\r\n break;\r\n case 'reform':\r\n field = this.reform();\r\n break;\r\n case 'tabs':\r\n field = this.tabs();\r\n break;\r\n default:\r\n break;\r\n }\r\n\r\n return field;\r\n }\r\n\r\n private datetimeString(type?: string) {\r\n if (type !== undefined && type !== null) {\r\n return `${type}_${moment().format('YYYYMMDDHHmmssSSS')}`;\r\n } else {\r\n return `${moment().format('YYYYMMDDHHmmssSSS')}`;\r\n }\r\n }\r\n\r\n private label() {\r\n let config: any = {\r\n type: 'label',\r\n key: this.datetimeString('label'),\r\n defaultValue: null,\r\n props: {\r\n label: '标签',\r\n },\r\n };\r\n return config;\r\n }\r\n\r\n private desc() {\r\n let config: any = {\r\n type: 'desc',\r\n key: this.datetimeString('label'),\r\n defaultValue: null,\r\n props: {\r\n label: '文本描述',\r\n },\r\n };\r\n return config;\r\n }\r\n\r\n private line() {\r\n let config: any = {\r\n type: 'line',\r\n key: this.datetimeString('line'),\r\n props: {\r\n label: '分割线',\r\n type: 'horizontal',\r\n hideLabel: true,\r\n line: 'dotted',\r\n orientation: 'left',\r\n },\r\n };\r\n return config;\r\n }\r\n\r\n private grid() {\r\n let config: any = {\r\n type: 'grid',\r\n props: {\r\n hideLabel: true,\r\n },\r\n fieldGroup: [\r\n {\r\n type: 'list',\r\n props: {\r\n hideLabel: true,\r\n cols: 8,\r\n },\r\n fieldGroup: [],\r\n },\r\n {\r\n type: 'list',\r\n props: {\r\n hideLabel: true,\r\n cols: 8,\r\n },\r\n fieldGroup: [],\r\n },\r\n {\r\n type: 'list',\r\n props: {\r\n hideLabel: true,\r\n cols: 8,\r\n },\r\n fieldGroup: [],\r\n },\r\n ],\r\n };\r\n return config;\r\n }\r\n\r\n private children() {\r\n let config: any = {\r\n type: 'children',\r\n key: this.datetimeString('children'),\r\n props: {\r\n label: '子表单',\r\n },\r\n fieldArray: {\r\n fieldGroup: [],\r\n },\r\n };\r\n return config;\r\n }\r\n private reform() {\r\n let config: any = {\r\n type: 'reform',\r\n props: {\r\n label: '引用表单',\r\n },\r\n fieldGroup: [],\r\n };\r\n return config;\r\n }\r\n\r\n private tabs() {\r\n let config: any = {\r\n type: 'tabs',\r\n props: {\r\n label: '多页签',\r\n },\r\n fieldGroup: [],\r\n };\r\n return config;\r\n }\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport _ from 'lodash';\r\nimport { FormlyFieldConfig } from '@ebuilding-form/core';\r\nimport { FieldTypeService } from './field-type.service';\r\nimport { FieldSourceService } from './field-source.service';\r\n\r\n@Injectable()\r\nexport class FieldService {\r\n constructor(\r\n @Inject(FieldTypeService)\r\n private fieldTypeSrv: FieldTypeService,\r\n @Inject(FieldSourceService)\r\n private fieldSourceSrv: FieldSourceService,\r\n ) { }\r\n\r\n /**\r\n * 默认字段\r\n * @param currentData\r\n * @param currentIndex\r\n * @param previousData\r\n * @param previousIndex\r\n * @returns\r\n */\r\n transferBasicType(currentData: any, currentIndex: any, previousData: any, previousIndex: any) {\r\n let previous = previousData[previousIndex];\r\n let formField: any = this.fieldTypeSrv.fieldBasicType(previous.type);\r\n currentData.splice(currentIndex, 0, formField);\r\n }\r\n\r\n /**\r\n * 表单对象\r\n * @param currentData\r\n * @param currentIndex\r\n * @param previousData\r\n * @param previousIndex\r\n * @returns\r\n */\r\n transferSourceType(currentData: any, currentIndex: any, previousData: any, previousIndex: any) {\r\n let previous = previousData[previousIndex];\r\n if (previous) {\r\n let formField: any = this.fieldSourceSrv.fieldSourceType(previous);\r\n currentData.splice(currentIndex, 0, formField);\r\n }\r\n }\r\n\r\n /**\r\n * 根据设计更改表字段状态\r\n * @param fields\r\n * @param tableInfo\r\n */\r\n tableFieldState(fields: FormlyFieldConfig[], tableInfo: any) {\r\n if (tableInfo!! && tableInfo.single!! && tableInfo.single.length > 0) {\r\n let source: FormlyFieldConfig[] = [];\r\n this.getFieldListBySource(fields, source);\r\n tableInfo.single.forEach((table: any) => {\r\n if (table.listField!! && table.listField.length > 0) {\r\n table.listField.forEach((item: any) => {\r\n if (\r\n source.some((v: any) => {\r\n return v.key == item.id;\r\n })\r\n ) {\r\n item.ref = true;\r\n } else {\r\n item.ref = false;\r\n }\r\n });\r\n }\r\n });\r\n\r\n if (tableInfo.multiple!! && tableInfo.multiple.length > 0) {\r\n tableInfo.multiple.forEach((table: any) => {\r\n if (\r\n source.some((v: any) => {\r\n return v.key == table.id;\r\n })\r\n ) {\r\n table.ref = true;\r\n } else {\r\n table.ref = false;\r\n }\r\n });\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * 根据Key 获取表字段\r\n * @param key\r\n * @param tableInfo\r\n * @returns\r\n */\r\n tableFieldByKey(key: any, tableInfo: any) {\r\n let result: any = null;\r\n if (tableInfo!! && tableInfo.single!! && tableInfo.single.length > 0) {\r\n tableInfo.single.forEach((table: any) => {\r\n if (table.listField!! && table.listField.length > 0) {\r\n table.listField.forEach((item: any) => {\r\n if (key == item.id) {\r\n result = item;\r\n }\r\n });\r\n }\r\n });\r\n }\r\n if (tableInfo!! && tableInfo.multiple!! && tableInfo.multiple.length > 0) {\r\n tableInfo.multiple.forEach((table: any) => {\r\n if (key == table.id) {\r\n result = table;\r\n }\r\n });\r\n }\r\n return result;\r\n }\r\n\r\n private getFieldListBySource(fields: FormlyFieldConfig[], source: FormlyFieldConfig[]) {\r\n if (fields!! && fields.length > 0) {\r\n fields.forEach((field: any) => {\r\n if (field.type == 'grid') {\r\n this.getFieldListBySource(field.fieldGroup, source);\r\n } else if (field.type == 'list') {\r\n this.getFieldListBySource(field.fieldGroup, source);\r\n } else if (field.type == 'repeat') {\r\n if (field.key!!) {\r\n source.push(field);\r\n }\r\n } else {\r\n if (field.key!!) {\r\n source.push(field);\r\n }\r\n }\r\n });\r\n }\r\n }\r\n}\r\n","import { Component, Input, Directive } from '@angular/core';\n\n@Directive()\nexport abstract class DeonDesignFieldBasic {\n @Input() field: any = {};\n\n get to() {\n return this.field.props || {};\n }\n\n get placeholder() {\n return this.to.placeholder || '';\n }\n}\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\n\nimport { DeonDesignFieldBasic } from './basic';\n\n@Component({\n selector: 'deon-field-label',\n template: ``,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule\n ]\n})\nexport class DeonDesignFieldLabel extends DeonDesignFieldBasic { }\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\n\nimport { DeonDesignFieldBasic } from './basic';\n\n@Component({\n selector: 'deon-field-desc',\n template: ``,\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule\n ]\n})\nexport class DeonDesignFieldDesc extends DeonDesignFieldBasic { }\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { NzDividerModule } from 'ng-zorro-antd/divider';\n\nimport { DeonDesignFieldBasic } from './basic';\n@Component({\n selector: 'deon-field-line',\n template: `<nz-divider nzPlain [nzText]=\"to.label\" [nzType]=\"to.type\" [nzOrientation]=\"to.orientation\"></nz-divider>`,\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n NzDividerModule\n ]\n})\nexport class DeonDesignFieldLine extends DeonDesignFieldBasic { }\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { NzInputModule } from 'ng-zorro-antd/input';\n\nimport { DeonDesignFieldBasic } from './basic';\n\n@Component({\n selector: 'deon-field-text',\n template: ` <input nz-input [type]=\"'text'\" [placeholder]=\"placeholder\" [(ngModel)]=\"field.defaultValue\" [disabled]=\"true\" /> `,\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n NzInputModule\n ]\n})\nexport class DeonDesignFieldText extends DeonDesignFieldBasic { }\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { NzInputModule } from 'ng-zorro-antd/input';\n\nimport { DeonDesignFieldBasic } from './basic';\n\n@Component({\n selector: 'deon-field-text',\n template: ` <input nz-input [type]=\"'text'\" [placeholder]=\"placeholder\" [(ngModel)]=\"field.defaultValue\" [disabled]=\"true\" /> `,\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n NzInputModule\n ]\n})\nexport class DeonDesignFieldTextCode extends DeonDesignFieldBasic { }\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { NzInputModule } from 'ng-zorro-antd/input';\n\nimport { DeonDesignFieldBasic } from './basic';\n\n@Component({\n selector: 'deon-field-textarea',\n template: `\n <textarea\n nz-input\n [rows]=\"to.rows ? to.rows : 1\"\n [(ngModel)]=\"field.defaultValue\"\n [placeholder]=\"placeholder\"\n [disabled]=\"true\"\n style=\"resize: none;\"\n ></textarea>\n `,\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n NzInputModule\n ]\n})\nexport class DeonDesignFieldTextArea extends DeonDesignFieldBasic { }\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { NzCheckboxModule } from 'ng-zorro-antd/checkbox';\n\nimport { DeonDesignFieldBasic } from './basic';\n\n@Component({\n selector: 'deon-field-checkbox',\n template: ` <label nz-checkbox> <ng-container *ngIf=\"to.hideLabel == true && to.labelPosition == 'right'\"> {{ to.label }} </ng-container> </label> `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n NzCheckboxModule\n ]\n})\nexport class DeonDesignFieldCheckbox extends DeonDesignFieldBasic { }\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { NzCheckboxModule } from 'ng-zorro-antd/checkbox';\n\nimport { DeonDesignFieldBasic } from './basic';\n\n@Component({\n selector: 'deon-field-checkboxgroup',\n template: `\n <nz-checkbox-wrapper>\n <ng-container *ngFor=\"let item of to.options\">\n <label nz-checkbox [nzValue]=\"item.value\">{{ item.label }}</label>\n </ng-container>\n </nz-checkbox-wrapper>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n NzCheckboxModule\n ]\n})\nexport class DeonDesignFieldCheckboxGroup extends DeonDesignFieldBasic { }\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { NzDatePickerModule } from 'ng-zorro-antd/date-picker';\n\nimport { DeonDesignFieldBasic } from './basic';\n\n@Component({\n selector: 'deon-field-datetime',\n template: `\n <nz-date-picker nzFormat=\"yyyy-MM-dd\" nzDisabled></nz-date-picker>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n NzDatePickerModule\n ]\n})\nexport class DeonDesignFieldDatetime extends DeonDesignFieldBasic {\n get showType() {\n let result = 'datetime';\n if (this.to['type'] != undefined && this.to['type'] != null && this.to['type'] != '') {\n result = this.to['type'].toLowerCase();\n }\n return result;\n }\n\n get format() {\n let result = 'yyyy-MM-dd HH:mm:ss';\n if (this.to['format'] != undefined && this.to['format'] != null && this.to['format'] != '') {\n result = this.to['format'];\n }\n return result;\n }\n}\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { NzInputNumberModule } from 'ng-zorro-antd/input-number';\n\nimport { DeonDesignFieldBasic } from './basic';\n\n@Component({\n selector: 'deon-field-number',\n template: ` <nz-input-number [(ngModel)]=\"field.defaultValue\" [disabled]=\"true\"></nz-input-number> `,\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n NzInputNumberModule\n ]\n})\nexport class DeonDesignFieldNumber extends DeonDesignFieldBasic { }\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { NzRadioModule } from 'ng-zorro-antd/radio';\n\nimport { DeonDesignFieldBasic } from './basic';\n\n@Component({\n selector: 'deon-field-radio',\n template: ` <label nz-radio></label> `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n NzRadioModule\n ]\n})\nexport class DeonDesignFieldRadio extends DeonDesignFieldBasic { }\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { NzRadioModule } from 'ng-zorro-antd/radio';\n\nimport { DeonDesignFieldBasic } from './basic';\n@Component({\n selector: 'deon-field-radiogroup',\n template: `\n <nz-radio-group [nzDisabled]=\"true\">\n <ng-container *ngFor=\"let option of to.options\">\n <ng-container *ngIf=\"to?.type == 'button'; else tmp\">\n <label nz-radio-button [nzValue]=\"option.value\"> {{ option.label }}</label>\n </ng-container>\n\n <ng-template #tmp>\n <label nz-radio [nzValue]=\"option.value\">\n {{ option.label }}\n </label>\n </ng-template>\n </ng-container>\n </nz-radio-group>\n `,\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n NzRadioModule\n ]\n})\nexport class DeonDesignFieldRadioGroup extends DeonDesignFieldBasic { }\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { NzSelectModule } from 'ng-zorro-antd/select';\n\nimport { DeonDesignFieldBasic } from './basic';\n\n@Component({\n selector: 'deon-field-select',\n template: `\n <nz-select [ngModel]=\"field.defaultValue\" [nzPlaceHolder]=\"to.placeholder\" [nzMode]=\"to.multiple ? 'multiple' : 'default'\" nzDisabled>\n <ng-container *ngFor=\"let item of to.options\">\n <nz-option-group *ngIf=\"item.group\" [nzLabel]=\"item.label\">\n <nz-option *ngFor=\"let child of item.group\" [nzValue]=\"child.value\" [nzDisabled]=\"child.disabled\" [nzLabel]=\"child.label\">\n </nz-option>\n </nz-option-group>\n <nz-option *ngIf=\"!item.group\" [nzValue]=\"item.value\" [nzDisabled]=\"item.disabled\" [nzLabel]=\"item.label\"></nz-option>\n </ng-container>\n </nz-select>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n NzSelectModule\n ]\n})\nexport class DeonDesignFieldSelect extends DeonDesignFieldBasic { }\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\n\nimport { DeonDesignFieldBasic } from './basic';\n\n@Component({\n selector: 'deon-field-repeat',\n template: `\n <ng-content></ng-content>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule\n ]\n})\nexport class DeonDesignFieldRepeat extends DeonDesignFieldBasic { }\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\n\nimport { DeonDesignFieldBasic } from './basic';\n\n@Component({\n selector: 'deon-field-richtext',\n template: ``,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule\n ]\n})\nexport class DeonDesignFieldRichtext extends DeonDesignFieldBasic { }\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { NzInputModule } from 'ng-zorro-antd/input';\n\nimport { DeonDesignFieldBasic } from './basic';\n\n@Component({\n selector: 'deon-field-tree',\n template: ` <input nz-input [type]=\"'text'\" [placeholder]=\"placeholder\" [disabled]=\"true\" /> `,\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n NzInputModule\n ]\n})\nexport class DeonDesignFieldTree extends DeonDesignFieldBasic { }\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { NzInputModule } from 'ng-zorro-antd/input';\n\nimport { DeonDesignFieldBasic } from './basic';\n\n@Component({\n selector: 'deon-field-lookup',\n template: ` <input nz-input [type]=\"'text'\" [placeholder]=\"placeholder\" [disabled]=\"true\" /> `,\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n NzInputModule\n ]\n})\nexport class DeonDesignFieldLookup extends DeonDesignFieldBasic { }\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\nimport { DeonDesignFieldBasic } from './basic';\n\n@Component({\n selector: 'deon-field-children',\n template: `\n <ng-content></ng-content>`,\n})\nexport class DeonDesignFieldChildren extends DeonDesignFieldBasic { }\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { NzInputModule } from 'ng-zorro-antd/input';\n\nimport { DeonDesignFieldBasic } from './basic';\n\n@Component({\n selector: 'deon-field-color',\n template: ` <input nz-input [type]=\"'text'\" [placeholder]=\"placeholder\" [(ngModel)]=\"field.defaultValue\" [disabled]=\"true\" /> `,\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n NzInputModule\n ]\n})\nexport class DeonDesignFieldColor extends DeonDesignFieldBasic { }\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { NzInputModule } from 'ng-zorro-antd/input';\n\nimport { DeonDesignFieldBasic } from './basic';\n\n@Component({\n selector: 'deon-field-upload',\n template: ` <input nz-input [type]=\"'text'\" [placeholder]=\"placeholder\" [(ngModel)]=\"field.defaultValue\" [disabled]=\"true\" /> `,\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n NzInputModule\n ]\n})\nexport class DeonDesignFieldUpload extends DeonDesignFieldBasic { }\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { NzInputModule } from 'ng-zorro-antd/input';\n\nimport { DeonDesignFieldBasic } from './basic';\n\n@Component({\n selector: 'deon-field-icon',\n template: ` <input nz-input [type]=\"'text'\" [placeholder]=\"placeholder\" [(ngModel)]=\"field.defaultValue\" [disabled]=\"true\" /> `,\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n NzInputModule\n ]\n})\nexport class DeonDesignFieldIcon extends DeonDesignFieldBasic { }\n","import { Component, Input } from '@angular/core';\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { NzCheckboxModule } from 'ng-zorro-antd/checkbox';\nimport { FormlyModule, FormlyFieldConfig } from '@ebuilding-form/core';\n\n@Component({\n selector: 'deon-field-indicator',\n templateUrl: './index.html',\n styleUrls: ['./index.less'],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n NzCheckboxModule,\n FormlyModule\n ]\n})\nexport class DeonDesignFieldIndicator {\n @Input() field: FormlyFieldConfig = {\n props: {\n label: null,\n },\n };\n}\n","<div>\n <div>\n <!-- <label nz-checkbox [(ngModel)]=\"checked\">Checkbox</label> -->\n <label nz-checkbox>可删除此指标</label>\n <label nz-checkbox>可修改指标描述</label>\n <label nz-checkbox>可修改指标名称</label>\n <label nz-checkbox>可修改指标权重</label>\n </div>\n <div></div>\n</div>\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { NzInputModule } from 'ng-zorro-antd/input';\nimport { NzImageModule } from 'ng-zorro-antd/image';\n\nimport { DeonDesignFieldBasic } from './basic';\n\n@Component({\n selector: 'deon-field-img',\n template: `\n <img nz-image width=\"80px\" height=\"80px\" nzSrc=\"error\" nzFallback=\"data:image/png;base64,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\" />\n `,\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n NzInputModule,\n NzImageModule\n ]\n})\nexport class DeonDesignFieldImg extends DeonDesignFieldBasic {\n\n}\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { NzInputModule } from 'ng-zorro-antd/input';\nimport { NzImageModule } from 'ng-zorro-antd/image';\n\nimport { DeonDesignFieldBasic } from './basic';\n\n@Component({\n selector: 'deon-field-attachment',\n template: ` \n <img nz-image width=\"80px\" height=\"80px\" nzSrc=\"error\" [nzFallback]=\"imgInfo\" />\n `,\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n NzInputModule,\n NzImageModule\n ]\n})\nexport class DeonDesignFieldAttachment extends DeonDesignFieldBasic {\n\n imgInfo: any = `data:image/png;base64,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`\n}\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { NzInputModule } from 'ng-zorro-antd/input';\nimport { NzImageModule } from 'ng-zorro-antd/image';\n\nimport { DeonDesignFieldBasic } from './basic';\n\n@Component({\n selector: 'deon-field-card-front',\n template: ` <img nz-image width=\"80px\" height=\"80px\" nzSrc=\"error\" nzFallback=\"data:image/png;base64,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\" />`,\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n NzInputModule,\n NzImageModule\n ]\n})\nexport class DeonDesignFieldCardFront extends DeonDesignFieldBasic { }\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { NzInputModule } from 'ng-zorro-antd/input';\nimport { NzImageModule } from 'ng-zorro-antd/image';\n\nimport { DeonDesignFieldBasic } from './basic';\n\n@Component({\n selector: 'deon-field-card-back',\n template: ` \n <img nz-image width=\"80px\" height=\"80px\" nzSrc=\"error\" nzFallback=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMIAAADDCAYAAADQvc6UAAABRWlDQ1BJQ0MgUHJvZmlsZQAAKJFjYGASSSwoyGFhYGDIzSspCnJ3UoiIjFJgf8LAwSDCIMogwMCcmFxc4BgQ4ANUwgCjUcG3awyMIPqyLsis7PPOq3QdDFcvjV3jOD1boQVTPQrgSkktTgbSf4A4LbmgqISBgTEFyFYuLykAsTuAbJEioKOA7DkgdjqEvQHEToKwj4DVhAQ5A9k3gGyB5IxEoBmML4BsnSQk8XQkNtReEOBxcfXxUQg1Mjc0dyHgXNJBSWpFCYh2zi+oLMpMzyhRcASGUqqCZ16yno6CkYGRAQMDKMwhqj/fAIcloxgHQqxAjIHBEugw5sUIsSQpBobtQPdLciLEVJYzMPBHMDBsayhILEqEO4DxG0txmrERhM29nYGBddr//5/DGRjYNRkY/l7////39v///y4Dmn+LgeHANwDrkl1AuO+pmgAAADhlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAAqACAAQAAAABAAAAwqADAAQAAAABAAAAwwAAAAD9b/HnAAAHlklEQVR4Ae3dP3PTWBSGcbGzM6GCKqlIBRV0dHRJFarQ0eUT8LH4BnRU0NHR0UEFVdIlFRV7TzRksomPY8uykTk/zewQfKw/9znv4yvJynLv4uLiV2dBoDiBf4qP3/ARuCRABEFAoBEgghggQAQZQKAnYEaQBAQaASKIAQJEkAEEegJmBElAoBEgghggQAQZQKAnYEaQBAQaASKIAQJEkAEEegJmBElAoBEgghggQAQZQKAnYEaQBAQaASKIAQJEkAEEegJmBElAoBEgghggQAQZQKAnYEaQBAQaASKIAQJEkAEEegJmBElAoBEgghggQAQZQKAnYEaQBAQaASKIAQJEkAEEegJmBElAoBEgghggQAQZQKAnYEaQBAQaASKIAQJEkAEEegJmBElAoBEgghggQAQZQKAnYEaQBAQaASKIAQJEkAEEegJmBElAoBEgghggQAQZQKAnYEaQBAQaASKIAQJEkAEEegJmBElAoBEgghggQAQZQKAnYEaQBAQaASKIAQJEkAEEegJmBElAoBEgghggQAQZQKAnYEaQBAQaASKIAQJEkAEEegJmBElAoBEgghggQAQZQKAnYEaQBAQaASKIAQJEkAEEegJmBElAoBEgghggQAQZQKAnYEaQBAQaASKIAQJEkAEEegJmBElAoBEgghgg0Aj8i0JO4OzsrPv69Wv+hi2qPHr0qNvf39+iI97soRIh4f3z58/u7du3SXX7Xt7Z2enevHmzfQe+oSN2apSAPj09TSrb+XKI/f379+08+A0cNRE2ANkupk+ACNPvkSPcAAEibACyXUyfABGm3yNHuAECRNgAZLuYPgEirKlHu7u7XdyytGwHAd8jjNyng4OD7vnz51dbPT8/7z58+NB9+/bt6jU/TI+AGWHEnrx48eJ/EsSmHzx40L18+fLyzxF3ZVMjEyDCiEDjMYZZS5wiPXnyZFbJaxMhQIQRGzHvWR7XCyOCXsOmiDAi1HmPMMQjDpbpEiDCiL358eNHurW/5SnWdIBbXiDCiA38/Pnzrce2YyZ4//59F3ePLNMl4PbpiL2J0L979+7yDtHDhw8vtzzvdGnEXdvUigSIsCLAWavHp/+qM0BcXMd/q25n1vF57TYBp0a3mUzilePj4+7k5KSLb6gt6ydAhPUzXnoPR0dHl79WGTNCfBnn1uvSCJdegQhLI1vvCk+fPu2ePXt2tZOYEV6/fn31dz+shwAR1sP1cqvLntbEN9MxA9xcYjsxS1jWR4AIa2Ibzx0tc44fYX/16lV6NDFLXH+YL32jwiACRBiEbf5KcXoTIsQSpzXx4N28Ja4BQoK7rgXiydbHjx/P25TaQAJEGAguWy0+2Q8PD6/Ki4R8EVl+bzBOnZY95fq9rj9zAkTI2SxdidBHqG9+skdw43borCXO/ZcJdraPWdv22uIEiLA4q7nvvCug8WTqzQveOH26fodo7g6uFe/a17W3+nFBAkRYENRdb1vkkz1CH9cPsVy/jrhr27PqMYvENYNlHAIesRiBYwRy0V+8iXP8+/fvX11Mr7L7ECueb/r48eMqm7FuI2BGWDEG8cm+7G3NEOfmdcTQw4h9/55lhm7DekRYKQPZF2ArbXTAyu4kDYB2YxUzwg0gi/41ztHnfQG26HbGel/crVrm7tNY+/1btkOEAZ2M05r4FB7r9GbAIdxaZYrHdOsgJ/wCEQY0J74TmOKnbxxT9n3FgGGWWsVdowHtjt9Nnvf7yQM2aZU/TIAIAxrw6dOnAWtZZcoEnBpNuTuObWMEiLAx1HY0ZQJEmHJ3HNvGCBBhY6jtaMoEiJB0Z29vL6ls58vxPcO8/zfrdo5qvKO+d3Fx8Wu8zf1dW4p/cPzLly/dtv9Ts/EbcvGAHhHyfBIhZ6NSiIBTo0LNNtScABFyNiqFCBChULMNNSdAhJyNSiECRCjUbEPNCRAhZ6NSiAARCjXbUHMCRMjZqBQiQIRCzTbUnAARcjYqhQgQoVCzDTUnQIScjUohAkQo1GxDzQkQIWejUogAEQo121BzAkTI2agUIkCEQs021JwAEXI2KoUIEKFQsw01J0CEnI1KIQJEKNRsQ80JECFno1KIABEKNdtQcwJEyNmoFCJAhELNNtScABFyNiqFCBChULMNNSdAhJyNSiECRCjUbEPNCRAhZ6NSiAARCjXbUHMCRMjZqBQiQIRCzTbUnAARcjYqhQgQoVCzDTUnQIScjUohAkQo1GxDzQkQIWejUogAEQo121BzAkTI2agUIkCEQs021JwAEXI2KoUIEKFQsw01J0CEnI1KIQJEKNRsQ80JECFno1KIABEKNdtQcwJEyNmoFCJAhELNNtScABFyNiqFCBChULMNNSdAhJyNSiECRCjUbEPNCRAhZ6NSiAARCjXbUHMCRMjZqBQiQIRCzTbUnAARcjYqhQgQoVCzDTUnQIScjUohAkQo1GxDzQkQIWejUogAEQo121BzAkTI2agUIkCEQs021JwAEXI2KoUIEKFQsw01J0CEnI1KIQJEKNRsQ80JECFno1KIABEKNdtQcwJEyNmoFCJAhELNNtScABFyNiqFCBChULMNNSdAhJyNSiEC/wGgKKC4YMA4TAAAAABJRU5ErkJggg==\" />\n `,\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n NzInputModule,\n NzImageModule\n ]\n})\nexport class DeonDesignFieldCardBack extends DeonDesignFieldBasic { }\n","import {\n Component,\n OnInit,\n Input,\n Output,\n OnChanges,\n SimpleChanges,\n ViewContainerRef,\n ViewChild,\n ComponentRef,\n ComponentFactory,\n ChangeDetectorRef,\n EventEmitter,\n ComponentFactoryResolver,\n} from '@angular/core';\nimport { CommonModule } from \"@angular/common\";\nimport { FormlyFieldConfig } from '@ebuilding-form/core';\n\nimport { DeonDesignFieldLabel } from './label.type';\nimport { DeonDesignFieldDesc } from './desc.type';\nimport { DeonDesignFieldLine } from './line.type';\n\n//\nimport { DeonDesignFieldText } from './text.type';\nimport { DeonDesignFieldTextCode } from './textcode.type';\nimport { DeonDesignFieldTextArea } from './textarea.type';\nimport { DeonDesignFieldCheckbox } from './checkbox.type';\nimport { DeonDesignFieldCheckboxGroup } from './checkboxgroup.type';\nimport { DeonDesignFieldDatetime } from './datetime.type';\nimport { DeonDesignFieldNumber } from './number.type';\nimport { DeonDesignFieldRadio } from './radio.type';\nimport { DeonDesignFieldRadioGroup } from './radiogroup.type';\nimport { DeonDesignFieldSelect } from './select.type';\nimport { DeonDesignFieldRepeat } from './repeat.type';\nimport { DeonDesignFieldRichtext } from './richtext.type';\nimport { DeonDesignFieldTree } from './tree.type';\nimport { DeonDesignFieldLookup } from './lookup.type';\nimport { DeonDesignFieldChildren } from './children.type';\nimport { DeonDesignFieldColor } from './color.type';\nimport { DeonDesignFieldUpload } from './upload.type';\nimport { DeonDesignFieldIcon } from './icon.type';\nimport { DeonDesignFieldIndicator } from './indicator';\nimport { DeonDesignFieldImg } from './img.type';\nimport { DeonDesignFieldAttachment } from './attachment.type';\nimport { DeonDesignFieldCardFront } from './card-front.type';\nimport { DeonDesignFieldCardBack } from './card-back.type';\nimport _ from 'lodash';\n@Component({\n selector: 'deon-field-template',\n template: ` <ng-container #componentHost></ng-container> `,\n imports: [\n CommonModule\n ]\n})\nexport class DeonDesignFieldTemplate implements OnInit, OnChanges {\n dynamicComponents: any = {\n checkbox: DeonDesignFieldCheckbox,\n checkboxgroup: DeonDesignFieldCheckboxGroup,\n datetime: DeonDesignFieldDatetime,\n line: DeonDesignFieldLine,\n number: DeonDesignFieldNumber,\n rate_number: DeonDesignFieldNumber,\n radio: DeonDesignFieldRadio,\n radiogroup: DeonDesignFieldRadioGroup,\n select: DeonDesignFieldSelect,\n text: DeonDesignFieldText,\n textcode: DeonDesignFieldTextCode,\n textarea: DeonDesignFieldTextArea,\n label: DeonDesignFieldLabel,\n repeat: DeonDesignFieldRepeat,\n richtext: DeonDesignFieldRichtext,\n desc: DeonDesignFieldDesc,\n tree: DeonDesignFieldTree,\n lookup: DeonDesignFieldLookup,\n lookup_tree: DeonDesignFieldLookup,\n lookup_select: DeonDesignFieldLookup,\n one2many: DeonDesignFieldLookup,\n children: DeonDesignFieldChildren,\n color: DeonDesignFieldColor,\n upload: DeonDesignFieldUpload,\n icon: DeonDesignFieldIcon,\n indicator: DeonDesignFieldIndicator,\n img: DeonDesignFieldImg,\n attachment: DeonDesignFieldAttachment,\n card_front: DeonDesignFieldCardFront,\n card_back: DeonDesignFieldCardBack,\n };\n\n component: ComponentRef<any> | undefined;\n\n @ViewChild('componentHost', { read: ViewContainerRef, static: true })\n componentHost: ViewContainerRef | undefined;\n _field: any = {};\n @Input()\n set field(value: FormlyFieldConfig) {\n if (value != null && value != undefined) {\n this._field = value;\n }\n if (this.componentHost) {\n this.componentHost.clear();\n if (\n this._field != undefined &&\n this._field != null &&\n this._field.type != undefined &&\n this._field.type != null &&\n this._field.type != 'list'\n ) {\n const compFactory: ComponentFactory<any> = this.componentFactoryResolver.resolveComponentFactory(\n this.dynamicComponents[this._field.type],\n );\n this.component = this.componentHost.createComponent(compFactory);\n this.component.instance.field = this._field;\n }\n }\n }\n\n @Output() fieldChange: EventEmitter<any> = new EventEmitter();\n constructor(public componentFactoryResolver: ComponentFactoryResolver, public changeDetectorRef: ChangeDetectorRef) { }\n\n ngOnInit() { }\n\n ngOnChanges(changes: SimpleChanges) { }\n}\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\nimport { CommonModule } from \"@angular/common\";\n\n@Component({\n selector: 'empty-field',\n template: ` <div class=\"image\"><img src=\"assets/images/basic/empty9.png\" /></div>\n <div class=\"desc\">\n <span>暂无数据</span>\n </div>`,\n imports: [\n CommonModule\n ]\n})\nexport class EmptyFieldComponent { }\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\nimport { CommonModule } from \"@angular/common\";\n\n@Component({\n selector: 'empty-setting',\n template: `\n <div class=\"image\"><img src=\"assets/images/basic/empty2.png\" /></div>\n <div class=\"desc\">\n <span>请选中字段</span>\n </div>\n `,\n imports: [\n CommonModule\n ]\n})\nexport class EmptySettingComponent { }\n","import { PipeTransform, Pipe } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\n\n@Pipe({ name: 'safeHtml' })\nexport class SafeHtmlPipe implements PipeTransform {\n constructor(private sanitized: DomSanitizer) {}\n transform(value: string) {\n return this.sanitized.bypassSecurityTrustHtml(value);\n }\n}\n","import { Component, Input } from '@angular/core';\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { NzIconModule } from 'ng-zorro-antd/icon';\nimport { FormlyModule, FormlyFieldConfig } from '@ebuilding-form/core';\nimport { DeonDesignFieldTemplate } from \"../teplate.type\";\nimport { SafeHtmlPipe } from \"../../../pipe/safehtml.pipe\";\nimport { DeonDesignSimpleLabel } from \"../../label\";\n\n@Component({\n selector: 'deon-field-default',\n templateUrl: './index.html',\n styleUrls: ['./index.less'],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n FormlyModule,\n NzIconModule,\n DeonDesignFieldTemplate,\n SafeHtmlPipe,\n DeonDesignSimpleLabel\n ]\n})\nexport class DeonDesignFieldDefault {\n @Input() field: any = {\n props: {\n label: null,\n },\n };\n}\n","<ng-container *ngIf=\"field?.props?.hideLabel != true && field.type != 'line' && field.type != 'indicator'\">\n <deon-design-simple-label [field]=\"field\"><span\n [innerHTML]=\"field?.props?.label | safeHtml\"></span></deon-design-simple-label>\n</ng-container>\n\n<deon-field-template [field]=\"field\"></deon-field-template>\n\n<div *ngIf=\"field.props && field.props?.hideJson\" class=\"hideJson\">\n <i nz-icon nzType=\"control\" nzTheme=\"outline\"></i>\n</div>","import { Component, OnInit, Input } from '@angular/core';\nimport { CommonModule } from \"@angular/common\";\nimport _ from 'lodash';\n@Component({\n selector: 'field-name',\n templateUrl: './index.html',\n styleUrls: ['./index.less'],\n imports: [\n CommonModule\n ]\n})\nexport class FormFieldName implements OnInit {\n constructor() { }\n\n ngOnInit(): void { }\n}\n","123\n","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\nimport { DragDropModule } from '@angular/cdk/drag-drop';\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { NzIconModule } from 'ng-zorro-antd/icon';\n\n@Component({\n selector: 'content',\n templateUrl: './index.component.html',\n styleUrls: ['./index.component.less'],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n DragDropModule,\n NzIconModule\n ]\n})\nexport class ContentComponent implements OnInit {\n @Input() state: any = 'view';\n @Input() field: any = null;\n @Input() isOperation: boolean = true;\n\n @Output() fieldDelEvent: EventEmitter<any> = new EventEmitter<any>();\n\n constructor() { }\n\n ngOnInit() { }\n\n fieldDelete(e: any) {\n this.fieldDelEvent.emit(e);\n }\n}\n","<div class=\"el-item\" [ngClass]=\"{\n 'item-active': field?.active == true,\n 'layout-default': field.props?.layout == 'default',\n 'layout-upDown': field.props?.layout == 'upDown'\n }\">\n <ng-content></ng-content>\n <ng-container *ngIf=\"field?.active == true && isOperation == true\">\n <div class=\"widget-drag\" cdkDragHandle><span nz-icon nzType=\"drag\"></span></div>\n <div class=\"widget-delete\" (click)=\"fieldDelete($event)\"><span nz-icon nzType=\"delete\"></span></div>\n </ng-container>\n <div cdkDragHandle style=\"display: none\"></div>\n\n <div class=\"example-custom-placeholder\" *cdkDragPlaceholder></div>\n</div>","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\n\n@Component({\n selector: 'content-table',\n template: `\n <div\n class=\"el-item\"\n [ngClass]=\"{\n 'item-active': field?.active == true\n }\"\n >\n <ng-content></ng-content>\n </div>\n `,\n styleUrls: ['./index.component.less'],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule\n ]\n})\nexport class ContentTableComponent implements OnInit {\n @Input() field: any = null;\n\n @Output() fieldDelEvent: EventEmitter<any> = new EventEmitter<any>();\n\n constructor() { }\n\n ngOnInit() { }\n}\n","import {\n Component,\n ChangeDetectionStrategy,\n OnInit,\n OnChanges,\n OnDestroy,\n Input,\n Output,\n EventEmitter,\n SimpleChanges,\n ViewChildren,\n QueryList,\n AfterViewInit,\n} from '@angular/core';\nimport { DragDropModule, CdkDragDrop, CdkDropList, moveItemInArray, transferArrayItem } from '@angular/cdk/drag-drop';\nimport { NzModalService } from 'ng-zorro-antd/modal';\nimport { asapScheduler } from 'rxjs';\nimport { FormlyFieldConfig, FormlyFormBuilder } from '@ebuilding-form/core';\nimport { FieldService } from '../services/field.service';\nimport _ from 'lodash';\nimport { DeonFormUtilService } from \"@ebuilding/base/shared.srv/deon.util\";\n\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { OverlayModule } from '@angular/cdk/overlay';\n\nimport { NzTabsModule } from 'ng-zorro-antd/tabs';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\nimport { NzGridModule } from 'ng-zorro-antd/grid';\nimport { NzTableModule } from 'ng-zorro-antd/table';\nimport { NzPopoverModule } from 'ng-zorro-antd/popover';\n\nimport { EmptySettingComponent } from '../components/empty/empty.setting';\nimport { DeonDesignFieldTypeBasic } from '../components/type.basic/index.component';\nimport { DeonDesignFieldTypeSource } from '../components/type.source/index.component';\nimport { DeonDesignFieldDefault } from '../components/field.type/default';\nimport { DeonDesignFieldTemplate } from '../components/field.type/teplate.type';\nimport { DeonDesignSettingTemplate } from '../components/field.setting/setting.teplate';\nimport { ContentComponent } from '../content/index.component';\nimport { ContentTableComponent } from '../content/table.component';\n\n@Component({\n selector: 'deon-design-simple',\n styleUrls: ['./index.component.less'],\n templateUrl: './index.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n CommonModule,\n FormsModule, ReactiveFormsModule, OverlayModule, DragDropModule,\n NzTabsModule,\n NzIconModule,\n NzGridModule,\n NzTableModule,\n NzPopoverModule,\n EmptySettingComponent,\n DeonDesignFieldTypeBasic,\n DeonDesignFieldTypeSource,\n DeonDesignFieldDefault,\n DeonDesignFieldTemplate,\n DeonDesignSettingTemplate,\n ContentComponent,\n ContentTableComponent\n ]\n})\nexport class DeonDesignSimpleComponent implements OnInit, OnChanges, OnDestroy, AfterViewInit {\n fields: any[] = [];\n /**\n * 当前选择字段\n */\n activeField: FormlyFieldConfig = null;\n sourceField: any = null;\n sourceType: any = {};\n\n @ViewChildren(CdkDropList)\n private dlq?: QueryList<CdkDropList>;\n\n public dls: CdkDropList[] = [];\n\n @Input() dialogPageData: any = null;\n\n @Input() dialogFormData: any[] = [];\n\n @Input() tableInfo: any;\n\n /**\n * 表单JSON体\n */\n @Input()\n set fieldList(value: any) {\n if (value != undefined && value != null) {\n this.fields = value;\n this.initActive();\n }\n }\n get fieldList() {\n return this.fields;\n }\n\n @Input() state: any = 'view';\n\n @Input() formProp: boolean = true;\n\n @Output() actionEvent: EventEmitter<any> = new EventEmitter<any>();\n\n constructor(\n public modal: NzModalService,\n public deonFormBuilder: FormlyFormBuilder,\n public fieldSrv: FieldService,\n public formUtilService: DeonFormUtilService,\n ) { }\n\n ngOnInit() { }\n\n ngAfterViewInit() {\n this.dlq.changes.subscribe(() => {\n let ldls: CdkDropList[] = [];\n\n this.dlq.forEach((dl) => {\n ldls.push(dl);\n });\n\n ldls = ldls.reverse();\n asapScheduler.schedule(() => {\n this.dls = ldls;\n const siblings = this.dls.map((dl) => dl?._dropListRef);\n // overwrite _getSiblingContainerFromPosition method\n this.dlq.forEach((dl) => {\n dl._dropListRef._getSiblingContainerFromPosition = (item, x, y) => siblings.find((sibling) => sibling._canReceive(item, x, y));\n });\n });\n });\n }\n\n drop(event: CdkDragDrop<string[]>) {\n if (event.previousContainer === event.container) {\n moveItemInArray(event.container.data, event.previousIndex, event.currentIndex);\n } else {\n if (_.get(event, 'previousContainer.data.type_base')!!) {\n this.fieldSrv.transferBasicType(\n event.container.data,\n event.currentIndex,\n event.previousContainer.data['type_base'],\n event.previousIndex,\n );\n } else if (_.get(event, 'previousContainer.data.type_source')!!) {\n this.fieldSrv.transferSourceType(\n event.container.data,\n event.currentIndex,\n event.previousContainer.data['type_source'],\n event.previousIndex,\n );\n this.fieldSrv.tableFieldState(this.fields, this.tableInfo);\n } else {\n let findField: any = event.previousContainer.data[event.previousIndex];\n if (\n findField != undefined &&\n findField != null &&\n findField.type != 'grid' &&\n findField.type != 'list' &&\n findField.type != 'repeat'\n ) {\n transferArrayItem(event.previousContainer.data, event.container.data, event.previousIndex, event.currentIndex);\n }\n }\n }\n this.formInfoEmit();\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes[\"tableInfo\"] || changes[\"fieldList\"]) {\n this.fieldSrv.tableFieldState(this.fields, this.tableInfo);\n }\n }\n\n ngOnDestroy() { }\n\n /**\n * 抛出事件\n */\n private formInfoEmit() {\n //this._formInfo.fields = _.cloneDeep(this.fields);\n\n this.actionEvent.emit(_.cloneDeep(this.fields));\n }\n\n activeFieldChange(e: any) {\n this.activeField;\n this.formInfoEmit();\n }\n\n activeFieldTypeChange(e: any) {\n this.formInfoEmit();\n this.activeField = _.cloneDeep(e);\n this.fields = _.cloneDeep(this.fields);\n }\n\n activeRepeatChange(e: any) { }\n\n /**\n * 删除Field\n * @param e\n */\n deleteField(e: any, event?: any) {\n event.stopPropagation();\n let fieldNews: FormlyFieldConfig[] = _.cloneDeep(this.fields);\n fieldNews.forEach((item: any, index: any, object: any) => {\n if (this.activeField!! && (item == e || item.key == e.key)) {\n object.splice(index, 1);\n this.activeField = null;\n } else {\n if (item.type == 'grid' && this.activeField!!) {\n this.loopDelete(e, item);\n }\n }\n });\n this.fields.length = 0;\n this.fields = [...this.fields, ...fieldNews];\n this.fieldSrv.tableFieldState(this.fields, this.tableInfo);\n this.formInfoEmit();\n }\n\n deleteFieldIndex(index: any, event?: any) {\n event.stopPropagation();\n let fieldNews: FormlyFieldConfig[] = this.fields.filter((item: any, i: any, object: any) => {\n return i != index;\n });\n\n this.fields.length = 0;\n this.fields = [...this.fields, ...fieldNews];\n this.fieldSrv.tableFieldState(this.fields, this.tableInfo);\n this.activeField = null;\n this.formInfoEmit();\n }\n\n deleteFieldByGrid(e: any) {\n this.fieldSrv.tableFieldState(_.cloneDeep(this.fields), this.tableInfo);\n this.formInfoEmit();\n }\n\n /**\n * 拖拽到第一层\n * 来源有三种\n * 1、左边拖到右边\n * 2、右边第一层拖动\n * 3、右边内层拖到到第一层\n * @param event\n */\n dropField(event: CdkDragDrop<string[]>) {\n if (event.previousContainer === event.container) {\n moveItemInArray(event.container.data, event.previousIndex, event.currentIndex);\n } else {\n if (_.get(event, 'previousContainer.data.type_base')!!) {\n this.fieldSrv.transferBasicType(\n event.container.data,\n event.currentIndex,\n event.previousContainer.data['type_base'],\n event.previousIndex,\n );\n } else if (_.get(event, 'previousContainer.data.type_source')!!) {\n this.fieldSrv.transferSourceType(\n event.container.data,\n event.currentIndex,\n event.previousContainer.data['type_source'],\n event.previousIndex,\n );\n this.fieldSrv.tableFieldState(this.fields, this.tableInfo);\n } else {\n let findField: any = event.previousContainer.data[event.previousIndex];\n if (\n findField != undefined &&\n findField != null &&\n findField.type != 'grid' &&\n findField.type != 'list' &&\n findField.type != 'repeat'\n ) {\n transferArrayItem(event.previousContainer.data, event.container.data, event.previousIndex, event.currentIndex);\n }\n }\n }\n this.formInfoEmit();\n }\n\n dropGridListField(event: CdkDragDrop<string[]>) {\n if (event.previousContainer === event.container) {\n moveItemInArray(event.container.data, event.previousIndex, event.currentIndex);\n } else {\n if (_.get(event, 'previousContainer.data.type_base')!!) {\n } else if (_.get(event, 'previousContainer.data.type_source')!!) {\n this.fieldSrv.transferSourceType(\n event.container.data,\n event.currentIndex,\n event.previousContainer.data['type_source'],\n event.previousIndex,\n );\n this.fieldSrv.tableFieldState(this.fields, this.tableInfo);\n } else {\n let findField: any = event.previousContainer.data[event.previousIndex];\n if (\n findField != undefined &&\n findField != null &&\n findField.type != 'label' &&\n findField.type != 'desc' &&\n findField.type != 'line' &&\n findField.type != 'grid' &&\n findField.type != 'list' &&\n findField.type != 'repeat'\n ) {\n transferArrayItem(event.previousContainer.data, event.container.data, event.previousIndex, event.currentIndex);\n } else {\n }\n }\n }\n this.formInfoEmit();\n }\n\n /**\n * 初始化字段\n */\n initActive() {\n this.activeField = null;\n this.fields.forEach((item: any) => {\n item.active = false;\n if (item.type == 'grid') {\n this.loopActive(null, item);\n }\n });\n }\n\n /**\n * 点击选中字段\n * @param e\n * @param event\n */\n fieldActive(e: FormlyFieldConfig, event?: any, source?: any) {\n if (this.state == 'view') {\n return;\n }\n event.stopPropagation();\n this.sourceField = this.fieldSrv.tableFieldByKey(e.key, this.tableInfo);\n this.activeField = e;\n this.sourceType = { repeat: source == 'repeat' };\n this.fields.forEach((item: any) => {\n if (item == e) {\n item.active = true;\n } else {\n item.active = false;\n }\n if (item.type == 'grid') {\n this.loopActive(e, item);\n } else if (item.type == 'repeat') {\n this.loopActive(e, item.fieldArray);\n }\n });\n }\n\n /**\n * 递归选中\n * @param e\n * @param field\n */\n loopActive(e: FormlyFieldConfig, field: FormlyFieldConfig) {\n if (field!! && field.fieldGroup!! && field.fieldGroup.length > 0) {\n field.fieldGroup.forEach((item: any) => {\n if (item == e) {\n item.active = true;\n } else {\n item.active = false;\n }\n if (item.type == 'list') {\n this.loopActive(e, item);\n }\n });\n }\n }\n\n /**\n * 递归删除\n * @param e\n * @param field\n */\n loopDelete(e: FormlyFieldConfig, field: FormlyFieldConfig) {\n if (field!! && field.fieldGroup!! && field.fieldGroup.length > 0) {\n field.fieldGroup.forEach((item: any, index: any, object: any) => {\n if (this.activeField!! && (item == e || item.key == e.key)) {\n object.splice(index, 1);\n this.activeField = null;\n } else {\n if (item.type == 'list' && this.activeField!!) {\n this.loopDelete(e, item);\n }\n }\n });\n }\n }\n}\n","<div class=\"design-simple\" cdkDropListGroup>\n <div class=\"box-west\" *ngIf=\"state == 'edit'\">\n <nz-tabset>\n <nz-tab nzTitle=\"默认字段\">\n <deon-field-type-basic [dls]=\"dls\" [isDefault]=\"formProp\"></deon-field-type-basic>\n </nz-tab>\n <nz-tab nzTitle=\"表单对象\">\n <deon-field-type-source [tableInfo]=\"tableInfo\" [dls]=\"dls\"></deon-field-type-source>\n </nz-tab>\n </nz-tabset>\n </div>\n <div class=\"box-content\">\n <div class=\"box-center\">\n <ng-content select=\"[name=content-info]\"></ng-content>\n <div cdkDropList [cdkDropListData]=\"fields\" class=\"field-list\" (cdkDropListDropped)=\"drop($event)\"\n [cdkDropListConnectedTo]=\"dls\">\n <ng-container *ngFor=\"let field of fields; let index = index\">\n <div class=\"field-box\" [cdkDragDisabled]=\"state == 'view'\" cdkDrag>\n <ng-container [ngSwitch]=\"field.type\">\n <ng-container *ngSwitchCase=\"'grid'\">\n <div class=\"grid-box\" [ngClass]=\"{ 'grid-active': field?.active == true }\"\n (click)=\"fieldActive(field, $event)\">\n <ng-container *ngIf=\"field?.active == true\">\n <div class=\"grid-drag\" cdkDragHandle><span nz-icon nzType=\"drag\"></span></div>\n <div class=\"grid-delete\"><span nz-icon nzType=\"delete\"\n (click)=\"deleteFieldIndex(index, $event)\"></span></div>\n </ng-container>\n <div cdkDragHandle style=\"display: none\"></div>\n\n <div nz-row>\n <ng-container *ngFor=\"let grid of field.fieldGroup\">\n <div nz-col [nzSpan]=\"grid.props.cols\" cdkDropList [cdkDropListData]=\"grid.fieldGroup\"\n class=\"field-list\" (cdkDropListDropped)=\"drop($event)\" [cdkDropListConnectedTo]=\"dls\">\n <div *ngFor=\"let innerItem of grid.fieldGroup\" [cdkDragDisabled]=\"state == 'view'\" cdkDrag\n class=\"field-box\">\n <content [field]=\"innerItem\" [state]=\"state\" (click)=\"fieldActive(innerItem, $event)\"\n (fieldDelEvent)=\"deleteField(innerItem, $event)\">\n <deon-field-default [field]=\"innerItem\"></deon-field-default>\n </content>\n </div>\n </div>\n </ng-container>\n </div>\n </div>\n </ng-container>\n <!-- 子表单 -->\n <ng-container *ngSwitchCase=\"'repeat'\">\n <div class=\"repeat-box\" (click)=\"fieldActive(field, $event)\" cdkDrag\n [ngClass]=\"{ 'repeat-active': field?.active == true }\">\n <div class=\"title\">{{ field.props.label }}</div>\n <ng-container *ngIf=\"field?.active == true\">\n <div class=\"grid-drag\" cdkDragHandle><span nz-icon nzType=\"drag\"></span></div>\n <div class=\"grid-delete\"><span nz-icon nzType=\"delete\"\n (click)=\"deleteFieldIndex(index, $event)\"></span></div>\n </ng-container>\n <div cdkDragHandle style=\"display: none\"></div>\n <ng-container\n *ngIf=\"field.fieldArray.fieldGroup!! && field.fieldArray.fieldGroup.length > 0; else tmpPanel\">\n <nz-table #basicTable nzShowPagination=\"false\" nzSize=\"small\" nzShowPagination=\"false\"\n [nzData]=\"field.fieldArray.fieldGroup\">\n <thead>\n <tr>\n <th nzWidth=\"50px\" class=\"select-box td\" nzLeft=\"0px\">序号</th>\n <th *ngFor=\"let innerItem of field.fieldArray.fieldGroup\">\n {{ innerItem.props.label }}\n </th>\n <th>\n <span class=\"\"> </span>\n </th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <td nzLeft=\"0px\">\n <span>1</span>\n </td>\n <td *ngFor=\"let innerItem of field.fieldArray.fieldGroup\">\n <content-table [field]=\"innerItem\" (click)=\"fieldActive(innerItem, $event, 'repeat')\">\n <deon-field-template [field]=\"innerItem\"> </deon-field-template>\n </content-table>\n </td>\n <td nzRight=\"0px\"></td>\n </tr>\n </tbody>\n </nz-table>\n </ng-container>\n <ng-template #tmpPanel>\n <div nz-col [nzSpan]=\"24\" class=\"field-box repeat-empty\">暂无字段</div>\n </ng-template>\n </div>\n </ng-container>\n\n <!-- 子表单 -->\n <ng-container *ngSwitchCase=\"'children'\">\n <div class=\"repeat-box\" (click)=\"fieldActive(field, $event)\" cdkDrag\n [ngClass]=\"{ 'repeat-active': field?.active == true }\">\n <div class=\"title\">{{ field.props.label }}</div>\n <ng-container *ngIf=\"field?.active == true\">\n <div class=\"grid-drag\" cdkDragHandle><span nz-icon nzType=\"drag\"></span></div>\n <div class=\"grid-delete\"><span nz-icon nzType=\"delete\"\n (click)=\"deleteFieldIndex(index, $event)\"></span></div>\n </ng-container>\n <div cdkDragHandle style=\"display: none\"></div>\n <ng-container\n *ngIf=\"field.fieldArray.fieldGroup!! && field.fieldArray.fieldGroup.length > 0; else tmpPanel\">\n <nz-table #basicTable nzShowPagination=\"false\" nzSize=\"small\" nzShowPagination=\"false\"\n [nzData]=\"field.fieldArray.fieldGroup\">\n <thead>\n <tr>\n <th nzWidth=\"50px\" class=\"select-box td\" nzLeft=\"0px\">序号</th>\n <th *ngFor=\"let innerItem of field.fieldArray.fieldGroup\">\n {{ innerItem.props.label }}\n </th>\n <th>\n <span class=\"\"> </span>\n </th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <td nzLeft=\"0px\">\n <span>1</span>\n </td>\n <td *ngFor=\"let innerItem of field.fieldArray.fieldGroup\">\n <content-table [field]=\"innerItem\" (click)=\"fieldActive(innerItem, $event, 'repeat')\">\n <deon-field-template [field]=\"innerItem\"> </deon-field-template>\n </content-table>\n </td>\n <td nzRight=\"0px\"></td>\n </tr>\n </tbody>\n </nz-table>\n </ng-container>\n <ng-template #tmpPanel>\n <div nz-col [nzSpan]=\"24\" class=\"field-box repeat-empty\">暂无字段</div>\n </ng-template>\n </div>\n </ng-container>\n\n <!-- 引用表单 -->\n <ng-container *ngSwitchCase=\"'reform'\">\n <div class=\"repeat-box\" (click)=\"fieldActive(field, $event)\" cdkDrag\n [ngClass]=\"{ 'repeat-active': field?.active == true }\">\n <div class=\"title\">{{ field.props.label }}</div>\n <ng-container *ngIf=\"field?.active == true\">\n <div class=\"grid-drag\" cdkDragHandle><span nz-icon nzType=\"drag\"></span></div>\n <div class=\"grid-delete\"><span nz-icon nzType=\"delete\"\n (click)=\"deleteFieldIndex(index, $event)\"></span></div>\n </ng-container>\n <div cdkDragHandle style=\"display: none\"></div>\n <ng-container *ngIf=\"field.fieldGroup!! && field.fieldGroup.length > 0; else tmpPanel2\">\n <div nz-col [nzSpan]=\"24\" class=\"field-box repeat-empty\">已经引用</div>\n </ng-container>\n <ng-template #tmpPanel2>\n <div nz-col [nzSpan]=\"24\" class=\"field-box repeat-empty\">暂无字段</div>\n </ng-template>\n </div>\n </ng-container>\n\n <!-- 页签 -->\n <ng-container *ngSwitchCase=\"'tabs'\">\n <div class=\"tabs-box\" (click)=\"fieldActive(field, $event)\" cdkDrag\n [ngClass]=\"{ 'repeat-active': field?.active == true }\">\n <div class=\"title\">多页签控件</div>\n <ng-container *ngIf=\"field?.active == true\">\n <div class=\"grid-drag\" cdkDragHandle><span nz-icon nzType=\"drag\"></span></div>\n <div class=\"grid-delete\"><span nz-icon nzType=\"delete\"\n (click)=\"deleteFieldIndex(index, $event)\"></span></div>\n </ng-container>\n <div cdkDragHandle style=\"display: none\"></div>\n <ng-container *ngIf=\"field.fieldGroup!! && field.fieldGroup.length > 0; else tmpPanel2\">\n <div nz-col [nzSpan]=\"24\" class=\"field-box\">\n <nz-tabset>\n <ng-container *ngFor=\"let tab of field.fieldGroup\">\n <nz-tab [nzTitle]=\"tab?.props?.label\" nzDisabled> </nz-tab>\n </ng-container>\n </nz-tabset>\n </div>\n </ng-container>\n <ng-template #tmpPanel2>\n <div nz-col [nzSpan]=\"24\" class=\"field-box repeat-empty\">暂无配置</div>\n </ng-template>\n </div>\n </ng-container>\n\n <ng-container *ngSwitchDefault>\n <content [field]=\"field\" [state]=\"state\" (click)=\"fieldActive(field, $event)\"\n (fieldDelEvent)=\"deleteFieldIndex(index, $event)\">\n <deon-field-default [field]=\"field\"></deon-field-default>\n </content>\n </ng-container>\n </ng-container>\n </div>\n </ng-container>\n <div class=\"field-box test\" [cdkDragDisabled]=\"state == 'view'\" cdkDrag></div>\n </div>\n </div>\n <div class=\"box-east\" *ngIf=\"state == 'edit'\">\n <nz-tabset>\n <nz-tab nzTitle=\"字段属性\">\n <ng-container *ngIf=\"activeField!!; else tmpSetting\">\n <deon-setting-template [dialogPageData]=\"dialogPageData\" [dialogFormData]=\"dialogFormData\"\n [sourceType]=\"sourceType\" [field]=\"activeField\" [tableField]=\"sourceField\"\n (fieldChange)=\"activeFieldChange($event)\" (fieldTypeChange)=\"activeFieldTypeChange($event)\"\n (repeatChange)=\"activeRepeatChange($event)\" (delGridCell)=\"deleteFieldByGrid($event)\">\n </deon-setting-template>\n </ng-container>\n <ng-template #tmpSetting>\n <empty-setting></empty-setting>\n </ng-template>\n </nz-tab>\n <nz-tab nzTitle=\"表单属性\" *ngIf=\"formProp\">\n <ng-content></ng-content>\n </nz-tab>\n </nz-tabset>\n </div>\n </div>\n</div>","import {\r\n Component,\r\n ChangeDetectionStrategy,\r\n OnInit,\r\n OnChanges,\r\n OnDestroy,\r\n Input,\r\n Output,\r\n EventEmitter,\r\n SimpleChanges,\r\n ViewChildren,\r\n QueryList,\r\n AfterViewInit,\r\n} from '@angular/core';\r\nimport {\r\n DragDropModule, CdkDragDrop, CdkDropList, CdkDropListGroup,\r\n CdkDrag, moveItemInArray, transferArrayItem\r\n} from '@angular/cdk/drag-drop';\r\nimport { NzModalService } from 'ng-zorro-antd/modal';\r\nimport { asapScheduler } from 'rxjs';\r\nimport { FormlyFieldConfig, FormlyFormBuilder } from '@ebuilding-form/core';\r\nimport { FieldService } from '../services/field.service';\r\nimport _ from 'lodash';\r\nimport { DeonFormUtilService } from \"@ebuilding/base/shared.srv/deon.util\";\r\n\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { OverlayModule } from '@angular/cdk/overlay';\r\n\r\nimport { NzTabsModule } from 'ng-zorro-antd/tabs';\r\nimport { NzIconModule } from 'ng-zorro-antd/icon';\r\nimport { NzGridModule } from 'ng-zorro-antd/grid';\r\nimport { NzTableModule } from 'ng-zorro-antd/table';\r\nimport { NzPopoverModule } from 'ng-zorro-antd/popover';\r\nimport { NzCheckboxModule } from 'ng-zorro-antd/checkbox';\r\n\r\nimport { EmptySettingComponent } from '../components/empty/empty.setting';\r\nimport { DeonDesignFieldTypeBasic2 } from '../components/type.basic2/index.component';\r\nimport { DeonDesignFieldTypeSource2 } from '../components/type.source2/index.component';\r\nimport { DeonDesignFieldDefault } from '../components/field.type/default';\r\nimport { DeonDesignFieldTemplate } from '../components/field.type/teplate.type';\r\nimport { DeonDesignSettingTemplate } from '../components/field.setting/setting.teplate';\r\nimport { ContentComponent } from '../content/index.component';\r\nimport { ContentTableComponent } from '../content/table.component';\r\n\r\n@Component({\r\n selector: 'kpi-design-simple',\r\n styleUrls: ['./index.component.less'],\r\n templateUrl: './index.component.html',\r\n standalone: true,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [\r\n CommonModule,\r\n FormsModule, ReactiveFormsModule, OverlayModule,\r\n DragDropModule, CdkDropList, CdkDropListGroup, CdkDrag,\r\n NzTabsModule,\r\n NzIconModule,\r\n NzGridModule,\r\n NzTableModule,\r\n NzPopoverModule,\r\n NzCheckboxModule,\r\n EmptySettingComponent,\r\n DeonDesignFieldTypeBasic2,\r\n DeonDesignFieldTypeSource2,\r\n DeonDesignFieldDefault,\r\n //DeonDesignFieldTemplate,\r\n DeonDesignSettingTemplate,\r\n ContentComponent,\r\n // ContentTableComponent\r\n ]\r\n})\r\nexport class KPIDesignSimpleComponent implements OnInit, OnChanges, OnDestroy, AfterViewInit {\r\n\r\n /**\r\n * 当前选择字段\r\n */\r\n activeField: FormlyFieldConfig = null;\r\n sourceField: any = null;\r\n sourceType: any = {};\r\n\r\n @ViewChildren(CdkDropList)\r\n private dlq?: QueryList<CdkDropList>;\r\n\r\n public dls: CdkDropList[] = [];\r\n\r\n @Input() dialogPageData: any = null;\r\n\r\n @Input() dialogFormData: any[] = [];\r\n\r\n @Input() indicatorList: any[] = [];\r\n\r\n @Input() fieldList: any[] = [];\r\n\r\n @Input() tableInfo: any;\r\n\r\n @Input() showDim: boolean = true;\r\n\r\n @Input() isEditor: boolean = true;\r\n\r\n // /**\r\n // * 表单JSON体\r\n // */\r\n // @Input()\r\n // set fieldList(value: any) {\r\n // if (value != undefined && value != null) {\r\n // this.fields = value;\r\n // this.initActive();\r\n // }\r\n // }\r\n // get fieldList() {\r\n // return this.fields;\r\n // }\r\n\r\n @Input() state: any = 'default';\r\n\r\n @Input() formProp: boolean = true;\r\n\r\n @Input() pageConfig: any = null;\r\n\r\n @Output() actionEvent: EventEmitter<any> = new EventEmitter<any>();\r\n\r\n constructor(\r\n public modal: NzModalService,\r\n public deonFormBuilder: FormlyFormBuilder,\r\n public fieldSrv: FieldService,\r\n public formUtilService: DeonFormUtilService,\r\n ) { }\r\n\r\n ngOnInit() { }\r\n\r\n ngAfterViewInit() {\r\n this.dlq.changes.subscribe(() => {\r\n let ldls: CdkDropList[] = [];\r\n\r\n this.dlq.forEach((dl) => {\r\n ldls.push(dl);\r\n });\r\n\r\n ldls = ldls.reverse();\r\n asapScheduler.schedule(() => {\r\n this.dls = ldls;\r\n const siblings = this.dls.map((dl) => dl?._dropListRef);\r\n // overwrite _getSiblingContainerFromPosition method\r\n this.dlq.forEach((dl) => {\r\n dl._dropListRef._getSiblingContainerFromPosition = (item, x, y) => siblings.find((sibling) => sibling._canReceive(item, x, y));\r\n });\r\n });\r\n });\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes[\"pageConfig\"] && this.pageConfig) {\r\n this.initActive();\r\n }\r\n }\r\n\r\n ngOnDestroy() { }\r\n\r\n drop(event: CdkDragDrop<string[]>) {\r\n if (this.isEditor != true) {\r\n return;\r\n }\r\n if (event.previousContainer === event.container) {\r\n moveItemInArray(event.container.data, event.previousIndex, event.currentIndex);\r\n } else {\r\n if (_.get(event, 'previousContainer.data.type_base')!!) {\r\n this.fieldSrv.transferBasicType(\r\n event.container.data,\r\n event.currentIndex,\r\n event.previousContainer.data['type_base'],\r\n event.previousIndex,\r\n );\r\n } else if (_.get(event, 'previousContainer.data.type_source')!!) {\r\n this.fieldSrv.transferSourceType(\r\n event.container.data,\r\n event.currentIndex,\r\n event.previousContainer.data['type_source'],\r\n event.previousIndex,\r\n );\r\n this.fieldSrv.tableFieldState(this.fieldList, this.tableInfo);\r\n } else {\r\n let findField: any = event.previousContainer.data[event.previousIndex];\r\n if (\r\n findField != undefined &&\r\n findField != null &&\r\n findField.type != 'grid' &&\r\n findField.type != 'list' &&\r\n findField.type != 'indicator' &&\r\n findField.type != 'repeat'\r\n ) {\r\n transferArrayItem(event.previousContainer.data, event.container.data, event.previousIndex, event.currentIndex);\r\n }\r\n }\r\n }\r\n this.formInfoEmit();\r\n }\r\n\r\n /**\r\n * 抛出事件\r\n */\r\n private formInfoEmit() {\r\n //this._formInfo.fields = _.cloneDeep(this.fields);\r\n if (this.isEditor != true) {\r\n return;\r\n }\r\n this.actionEvent.emit(_.cloneDeep(this.fieldList));\r\n }\r\n\r\n activeFieldChange(e: any) {\r\n this.formInfoEmit();\r\n }\r\n\r\n activeFieldTypeChange(e: any) {\r\n this.formInfoEmit();\r\n this.activeField = _.cloneDeep(e);\r\n }\r\n\r\n activeRepeatChange(e: any) { }\r\n\r\n /**\r\n * 删除Field\r\n * @param e\r\n */\r\n deleteField(e: any, event?: any) {\r\n event.stopPropagation();\r\n let fieldNews: FormlyFieldConfig[] = _.cloneDeep(this.fieldList);\r\n fieldNews.forEach((item: any, index: any, object: any) => {\r\n if (this.activeField!! && (item == e || item.key == e.key)) {\r\n object.splice(index, 1);\r\n this.activeField = null;\r\n } else {\r\n if (item.type == 'grid' && this.activeField!!) {\r\n this.loopDelete(e, item);\r\n }\r\n }\r\n });\r\n this.fieldList.length = 0;\r\n this.fieldList = [...this.fieldList, ...fieldNews];\r\n this.fieldSrv.tableFieldState(this.fieldList, this.tableInfo);\r\n this.formInfoEmit();\r\n }\r\n\r\n deleteFieldIndex(index: any, event?: any) {\r\n event.stopPropagation();\r\n let fieldNews: FormlyFieldConfig[] = this.fieldList.filter((item: any, i: any, object: any) => {\r\n return i != index;\r\n });\r\n\r\n this.fieldList.length = 0;\r\n this.fieldList = [...this.fieldList, ...fieldNews];\r\n this.fieldSrv.tableFieldState(this.fieldList, this.tableInfo);\r\n this.activeField = null;\r\n this.formInfoEmit();\r\n }\r\n\r\n deleteFieldByGrid(e: any) {\r\n this.fieldSrv.tableFieldState(_.cloneDeep(this.fieldList), this.tableInfo);\r\n this.formInfoEmit();\r\n }\r\n\r\n /**\r\n * 拖拽到第一层\r\n * 来源有三种\r\n * 1、左边拖到右边\r\n * 2、右边第一层拖动\r\n * 3、右边内层拖到到第一层\r\n * @param event\r\n */\r\n dropField(event: CdkDragDrop<string[]>) {\r\n if (event.previousContainer === event.container) {\r\n moveItemInArray(event.container.data, event.previousIndex, event.currentIndex);\r\n } else {\r\n if (_.get(event, 'previousContainer.data.type_base')) {\r\n this.fieldSrv.transferBasicType(\r\n event.container.data,\r\n event.currentIndex,\r\n event.previousContainer.data['type_base'],\r\n event.previousIndex,\r\n );\r\n } else if (_.get(event, 'previousContainer.data.type_source')) {\r\n this.fieldSrv.transferSourceType(\r\n event.container.data,\r\n event.currentIndex,\r\n event.previousContainer.data['type_source'],\r\n event.previousIndex,\r\n );\r\n this.fieldSrv.tableFieldState(this.fieldList, this.tableInfo);\r\n } else {\r\n let findField: any = event.previousContainer.data[event.previousIndex];\r\n if (\r\n findField != undefined &&\r\n findField != null &&\r\n findField.type != 'grid' &&\r\n findField.type != 'list' &&\r\n findField.type != 'repeat'\r\n ) {\r\n transferArrayItem(event.previousContainer.data, event.container.data, event.previousIndex, event.currentIndex);\r\n }\r\n }\r\n }\r\n this.formInfoEmit();\r\n }\r\n\r\n dropGridListField(event: CdkDragDrop<string[]>) {\r\n if (event.previousContainer === event.container) {\r\n moveItemInArray(event.container.data, event.previousIndex, event.currentIndex);\r\n } else {\r\n if (_.get(event, 'previousContainer.data.type_base')) {\r\n } else if (_.get(event, 'previousContainer.data.type_source')) {\r\n this.fieldSrv.transferSourceType(\r\n event.container.data,\r\n event.currentIndex,\r\n event.previousContainer.data['type_source'],\r\n event.previousIndex,\r\n );\r\n this.fieldSrv.tableFieldState(this.fieldList, this.tableInfo);\r\n } else {\r\n let findField: any = event.previousContainer.data[event.previousIndex];\r\n if (\r\n findField != undefined &&\r\n findField != null &&\r\n findField.type != 'label' &&\r\n findField.type != 'desc' &&\r\n findField.type != 'line' &&\r\n findField.type != 'grid' &&\r\n findField.type != 'list' &&\r\n findField.type != 'repeat'\r\n ) {\r\n transferArrayItem(event.previousContainer.data, event.container.data, event.previousIndex, event.currentIndex);\r\n } else {\r\n }\r\n }\r\n }\r\n this.formInfoEmit();\r\n }\r\n\r\n /**\r\n * 初始化字段\r\n */\r\n initActive() {\r\n this.activeField = null;\r\n this.fieldList.forEach((item: any) => {\r\n item.active = false;\r\n if (item?.fieldGroup) {\r\n this.loopActive(null, item);\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * 点击选中字段\r\n * @param e\r\n * @param event\r\n */\r\n fieldActive(e: FormlyFieldConfig, event?: any, source?: any) {\r\n event.stopPropagation();\r\n this.sourceField = this.fieldSrv.tableFieldByKey(e.key, this.tableInfo);\r\n this.activeField = e;\r\n this.sourceType = { repeat: source == 'repeat' };\r\n this.fieldList.forEach((item: any) => {\r\n if (item == e) {\r\n item.active = true;\r\n } else {\r\n item.active = false;\r\n }\r\n if (item.type == 'grid') {\r\n this.loopActive(e, item);\r\n } else if (item.type == 'repeat') {\r\n this.loopActive(e, item.fieldArray);\r\n } else if (item.type == 'indicator') {\r\n this.loopActive(e, item);\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * 递归选中\r\n * @param e\r\n * @param field\r\n */\r\n loopActive(e: FormlyFieldConfig, field: FormlyFieldConfig) {\r\n if (field && field?.fieldGroup && field?.fieldGroup?.length > 0) {\r\n field.fieldGroup.forEach((item: any) => {\r\n if (item == e) {\r\n item.active = true;\r\n } else {\r\n item.active = false;\r\n }\r\n if (item?.fieldGroup) {\r\n this.loopActive(e, item);\r\n }\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * 递归删除\r\n * @param e\r\n * @param field\r\n */\r\n loopDelete(e: FormlyFieldConfig, field: FormlyFieldConfig) {\r\n if (field && field?.fieldGroup && field?.fieldGroup?.length > 0) {\r\n field.fieldGroup.forEach((item: any, index: any, object: any) => {\r\n if (this.activeField && (item == e || item.key == e.key)) {\r\n object.splice(index, 1);\r\n this.activeField = null;\r\n } else {\r\n if (item.type == 'list' && this.activeField) {\r\n this.loopDelete(e, item);\r\n }\r\n }\r\n });\r\n }\r\n }\r\n}\r\n","<div class=\"design-simple\" cdkDropListGroup>\r\n <div class=\"box-west\">\r\n <nz-tabset>\r\n <nz-tab nzTitle=\"评估维度\" *ngIf=\"showDim\">\r\n <ng-content></ng-content>\r\n </nz-tab>\r\n <nz-tab nzTitle=\"系统默认+指标库\">\r\n <div class=\"indbox\">\r\n <deon-field-type-basic2 [dls]=\"dls\" [isDefault]=\"formProp\"></deon-field-type-basic2>\r\n <deon-field-type-source2 [indicatorList]=\"indicatorList\" [dls]=\"dls\"></deon-field-type-source2>\r\n </div>\r\n </nz-tab>\r\n </nz-tabset>\r\n </div>\r\n <div class=\"box-content\">\r\n <ng-container *ngIf=\"state == 'default'; else tmpEmpty\">\r\n <div class=\"box-center\">\r\n <ng-content select=\"[name=content-info]\"></ng-content>\r\n <div cdkDropList [cdkDropListData]=\"fieldList\" class=\"field-list\"\r\n [ngClass]=\"{ 'field-list-empty': fieldList == null || fieldList.length == 0 }\"\r\n (cdkDropListDropped)=\"drop($event)\" [cdkDropListConnectedTo]=\"dls\">\r\n <ng-container *ngFor=\"let field of fieldList; let index = index\">\r\n <div class=\"field-box\" [cdkDragDisabled]=\"state == 'view'\" cdkDrag>\r\n <ng-container [ngSwitch]=\"field.type\">\r\n <ng-container *ngSwitchCase=\"'grid'\">\r\n <div class=\"grid-box\" [ngClass]=\"{ 'grid-active': field?.active == true }\"\r\n (click)=\"fieldActive(field, $event)\">\r\n <ng-container *ngIf=\"field?.active == true\">\r\n <div class=\"grid-drag\" cdkDragHandle><span nz-icon nzType=\"drag\"></span></div>\r\n <div class=\"grid-delete\" *ngIf=\"isEditor != false\">\r\n <span nz-icon nzType=\"delete\" (click)=\"deleteFieldIndex(index, $event)\"></span>\r\n </div>\r\n </ng-container>\r\n <div cdkDragHandle style=\"display: none\"></div>\r\n\r\n <div nz-row>\r\n <ng-container *ngFor=\"let grid of field.fieldGroup\">\r\n <div nz-col [nzSpan]=\"grid.props.cols\" cdkDropList [cdkDropListData]=\"grid.fieldGroup\"\r\n class=\"field-list\" (cdkDropListDropped)=\"drop($event)\" [cdkDropListConnectedTo]=\"dls\">\r\n <div *ngFor=\"let innerItem of grid.fieldGroup\" [cdkDragDisabled]=\"state == 'view'\" cdkDrag\r\n class=\"field-box\">\r\n <content [field]=\"innerItem\" [state]=\"state\" (click)=\"fieldActive(innerItem, $event)\"\r\n (fieldDelEvent)=\"deleteField(innerItem, $event)\">\r\n <deon-field-default [field]=\"innerItem\"></deon-field-default>\r\n </content>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'indicator'\">\r\n <div class=\"grid-box indicator-box\" [ngClass]=\"{ 'grid-active': field?.active == true }\"\r\n (click)=\"fieldActive(field, $event)\">\r\n <ng-container *ngIf=\"field?.active == true\">\r\n <div class=\"grid-drag\" cdkDragHandle><span nz-icon nzType=\"drag\"></span></div>\r\n <div class=\"grid-delete\" *ngIf=\"isEditor != false\">\r\n <span nz-icon nzType=\"delete\" (click)=\"deleteFieldIndex(index, $event)\"></span>\r\n </div>\r\n </ng-container>\r\n <div cdkDragHandle style=\"display: none\"></div>\r\n\r\n <div class=\"indicator-info\">\r\n <div class=\"indicator-header\">\r\n <label nz-checkbox [nzDisabled]=\"!isEditor\" [(ngModel)]=\"field.props.indConfig.izAllowDel\"\r\n (click)=\"$event.stopPropagation()\">可删除此指标</label>\r\n <label nz-checkbox [nzDisabled]=\"!isEditor\" [(ngModel)]=\"field.props.indConfig.izEditName\"\r\n (click)=\"$event.stopPropagation()\">可修改指标名称</label>\r\n <label nz-checkbox [nzDisabled]=\"!isEditor\" [(ngModel)]=\"field.props.indConfig.izEditDesc\"\r\n (click)=\"$event.stopPropagation()\">可修改指标描述</label>\r\n <ng-container *ngIf=\"field.props.indConfig.indType == 'KPI'\">\r\n <label nz-checkbox [nzDisabled]=\"!isEditor\" [(ngModel)]=\"field.props.indConfig.izEditWeight\"\r\n (click)=\"$event.stopPropagation()\">可修改指标权重</label>\r\n </ng-container>\r\n </div>\r\n <div class=\"indicator-body\">\r\n <ng-container *ngFor=\"let item of field.fieldGroup\">\r\n <div class=\"field-box\">\r\n <content [field]=\"item\" [state]=\"state\" [isOperation]=\"false\"\r\n (click)=\"fieldActive(item, $event)\">\r\n <deon-field-default [field]=\"item\"></deon-field-default>\r\n </content>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchDefault>\r\n <content [field]=\"field\" [state]=\"state\" (click)=\"fieldActive(field, $event)\"\r\n (fieldDelEvent)=\"deleteFieldIndex(index, $event)\">\r\n <deon-field-default [field]=\"field\"></deon-field-default>\r\n </content>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n <div class=\"field-box test\" [cdkDragDisabled]=\"state == 'view'\" cdkDrag></div>\r\n </div>\r\n </div>\r\n <div class=\"box-east\">\r\n <nz-tabset>\r\n <nz-tab nzTitle=\"字段属性\">\r\n <ng-container *ngIf=\"activeField!!; else tmpSetting\">\r\n <deon-setting-template [dialogPageData]=\"dialogPageData\" [dialogFormData]=\"dialogFormData\"\r\n [sourceType]=\"sourceType\" [field]=\"activeField\" [tableField]=\"sourceField\" [isEditor]=\"isEditor\"\r\n (fieldChange)=\"activeFieldChange($event)\" (fieldTypeChange)=\"activeFieldTypeChange($event)\"\r\n (repeatChange)=\"activeRepeatChange($event)\" (delGridCell)=\"deleteFieldByGrid($event)\">\r\n </deon-setting-template>\r\n </ng-container>\r\n <ng-template #tmpSetting>\r\n <empty-setting></empty-setting>\r\n </ng-template>\r\n </nz-tab>\r\n <nz-tab nzTitle=\"其他属性\">\r\n <ng-content select=\"[name=content-prop]\"></ng-content>\r\n </nz-tab>\r\n </nz-tabset>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-template #tmpEmpty>\r\n <div class=\"default-empty\">\r\n <div class=\"image\"><img src=\"assets/images/default/empty4.png\" /></div>\r\n <div class=\"desc\"><span>请选中指标维度后,再配置指标</span></div>\r\n </div>\r\n </ng-template>\r\n </div>\r\n</div>","import { NgModule } from '@angular/core';\n\n/**\n * 字段设置组件\n */\nimport { DeonDesignSettingBasic } from './components/field.setting/setting';\nimport { DeonDesignSettingCommon } from './components/field.setting/setting.common';\nimport { DeonDesignSettingTemplate } from './components/field.setting/setting.teplate';\nimport { DeonDesignSettingLabel } from './components/field.setting/setting.label';\nimport { DeonDesignSettingDesc } from './components/field.setting/setting.desc';\nimport { DeonDesignSettingLine } from './components/field.setting/setting.line';\nimport { DeonDesignSettingRepeat } from './components/field.setting/setting.repeat';\nimport { DeonDesignSettingGrid } from './components/field.setting/setting.grid';\nimport { DeonDesignSettingLookup } from './components/field.setting/setting.lookup';\nimport { DeonDesignSettingChildren } from './components/field.setting/setting.children';\nimport { DeonDesignSettingReform } from './components/field.setting/setting.reform';\nimport { DeonDesignSettingTabs } from './components/field.setting/setting.tabs';\nimport { DeonDesignSettingRadio } from './components/field.setting/setting.radio';\nimport { DeonDesignSettingCheckBox } from './components/field.setting/setting.checkbox';\nimport { DeonDesignSettingUpload } from './components/field.setting/setting.upload';\nimport { DeonDesignSettingNumber } from './components/field.setting/setting.number';\nimport { DeonDesignSettingImg } from './components/field.setting/setting.img';\nimport { DeonDesignSettingFj } from './components/field.setting/setting.fj';\nimport { DeonDesignSettingCardFront } from './components/field.setting/setting.card-front';\nimport { DeonDesignSettingCardBack } from './components/field.setting/setting.card-back';\nimport { DialogSelectField } from './components/dialog.field/index';\n\n/**\n * 表单设计器-基础字段\n */\nimport { DeonDesignFieldTypeBasic } from './components/type.basic/index.component';\nimport { DeonDesignFieldTypeBasic2 } from './components/type.basic2/index.component';\n\n/**\n * 表单设计器-业务对象字段\n */\nimport { DeonDesignFieldTypeSource } from './components/type.source/index.component';\nimport { DeonDesignFieldTypeSource2 } from './components/type.source2/index.component';\n\n/**\n * 表单渲染时Label 组件\n */\nimport { DeonDesignSimpleLabel } from './components/label';\n\n/**\n * 表单设计器 业务Services\n */\nimport { FieldService } from './services/field.service';\nimport { FieldTypeService } from './services/field-type.service';\nimport { FieldSourceService } from './services/field-source.service';\n\n/**\n * 字段类型组件\n */\nimport { DeonDesignFieldTemplate } from './components/field.type/teplate.type';\nimport { DeonDesignFieldCheckbox } from './components/field.type/checkbox.type';\nimport { DeonDesignFieldCheckboxGroup } from './components/field.type/checkboxgroup.type';\nimport { DeonDesignFieldDatetime } from './components/field.type/datetime.type';\nimport { DeonDesignFieldLine } from './components/field.type/line.type';\nimport { DeonDesignFieldNumber } from './components/field.type/number.type';\nimport { DeonDesignFieldRadio } from './components/field.type/radio.type';\nimport { DeonDesignFieldRadioGroup } from './components/field.type/radiogroup.type';\nimport { DeonDesignFieldSelect } from './components/field.type/select.type';\nimport { DeonDesignFieldText } from './components/field.type/text.type';\nimport { DeonDesignFieldTextCode } from './components/field.type/textcode.type';\nimport { DeonDesignFieldTextArea } from './components/field.type/textarea.type';\nimport { DeonDesignFieldLabel } from './components/field.type/label.type';\nimport { DeonDesignFieldRepeat } from './components/field.type/repeat.type';\nimport { DeonDesignFieldRichtext } from './components/field.type/richtext.type';\nimport { DeonDesignFieldDesc } from './components/field.type/desc.type';\nimport { DeonDesignFieldTree } from './components/field.type/tree.type';\nimport { DeonDesignFieldLookup } from './components/field.type/lookup.type';\nimport { DeonDesignFieldChildren } from './components/field.type/children.type';\nimport { DeonDesignFieldColor } from './components/field.type/color.type';\nimport { EmptyFieldComponent } from './components/empty/empty.field';\nimport { EmptySettingComponent } from './components/empty/empty.setting';\nimport { DeonDesignFieldDefault } from './components/field.type/default/index';\nimport { DeonDesignFieldUpload } from './components/field.type/upload.type';\nimport { DeonDesignFieldIcon } from './components/field.type/icon.type';\nimport { DeonDesignFieldIndicator } from './components/field.type/indicator';\nimport { DeonDesignFieldImg } from './components/field.type/img.type';\nimport { DeonDesignFieldAttachment } from './components/field.type/attachment.type';\nimport { DeonDesignFieldCardBack } from './components/field.type/card-back.type';\nimport { DeonDesignFieldCardFront } from './components/field.type/card-front.type';\n\nimport { FormFieldName } from './components/field.name';\n\nconst services = [FieldService, FieldTypeService, FieldSourceService];\n// 私有的--其他\nconst privateOtherComponent = [\n DeonDesignFieldTypeBasic,\n DeonDesignFieldTypeBasic2,\n DeonDesignFieldTypeSource,\n DeonDesignFieldTypeSource2,\n DeonDesignSimpleLabel,\n];\n\n// 私有的--字段设置\nconst privateSettingComponent = [\n DeonDesignSettingBasic,\n DeonDesignSettingCommon,\n DeonDesignSettingTemplate,\n DeonDesignSettingLabel,\n DeonDesignSettingDesc,\n DeonDesignSettingLine,\n DeonDesignSettingLookup,\n DeonDesignSettingRepeat,\n DeonDesignSettingGrid,\n DialogSelectField,\n DeonDesignSettingChildren,\n DeonDesignSettingReform,\n DeonDesignSettingTabs,\n DeonDesignSettingRadio,\n DeonDesignSettingCheckBox,\n DeonDesignSettingUpload,\n DeonDesignSettingNumber,\n DeonDesignSettingImg,\n DeonDesignSettingFj,\n DeonDesignSettingCardBack,\n DeonDesignSettingCardFront\n];\n\n// 私有的--字段\nconst privateFieldComponent = [\n DeonDesignFieldTemplate,\n DeonDesignFieldCheckbox,\n DeonDesignFieldCheckboxGroup,\n DeonDesignFieldDatetime,\n DeonDesignFieldLine,\n DeonDesignFieldNumber,\n DeonDesignFieldRadio,\n DeonDesignFieldRadioGroup,\n DeonDesignFieldSelect,\n DeonDesignFieldText,\n DeonDesignFieldTextCode,\n DeonDesignFieldTextArea,\n DeonDesignFieldLabel,\n DeonDesignFieldRepeat,\n DeonDesignFieldRichtext,\n DeonDesignFieldDesc,\n DeonDesignFieldTree,\n DeonDesignFieldLookup,\n DeonDesignFieldChildren,\n DeonDesignFieldColor,\n DeonDesignFieldDefault,\n EmptyFieldComponent,\n EmptySettingComponent,\n FormFieldName,\n DeonDesignFieldUpload,\n DeonDesignFieldIcon,\n DeonDesignFieldIndicator,\n DeonDesignFieldImg,\n DeonDesignFieldAttachment,\n DeonDesignFieldCardBack,\n DeonDesignFieldCardFront\n];\n\n// 公开的\nconst publicComponent = [DeonDesignFieldTemplate];\n\nimport { DeonDesignSimpleComponent } from './main/index.component';\nimport { ContentComponent } from './content/index.component';\nimport { ContentTableComponent } from './content/table.component';\nimport { KPIDesignSimpleComponent } from './kpi/index.component';\n\n@NgModule({\n\n imports: [\n DeonDesignSimpleComponent,\n KPIDesignSimpleComponent,\n ContentComponent,\n ContentTableComponent,\n ...privateOtherComponent,\n ...privateFieldComponent,\n ...privateSettingComponent,\n ...publicComponent,\n ],\n exports: [DeonDesignSimpleComponent, KPIDesignSimpleComponent],\n providers: [...services],\n})\nexport class DeonDesignSimpleModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2.SettingService","i3","i9","i1","i6","i2","i3.FieldDialogService","i4.FieldSourceService","i5","i7","i8","i4","i3.SettingService","i1.SettingService","i3.FieldService","i10","i11"],"mappings":"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"}
|