@ebuilding/base 2.1.14 → 2.2.0

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.
@@ -1 +1 @@
1
- {"version":3,"file":"shared.srv.mjs","sources":["../../../../packages/base/shared.srv/base-dialog.service/index.ts","../../../../packages/base/shared.srv/base-list.service/index.ts","../../../../packages/base/shared.srv/base-table.service/index.ts","../../../../packages/base/shared.srv/base-title.service/index.ts","../../../../packages/base/shared.srv/base-tree.service/index.ts","../../../../packages/base/shared.srv/basePage/index.ts","../../../../packages/base/shared.srv/deon.util/index.ts","../../../../packages/base/shared.srv/deon2.util/index.ts","../../../../packages/base/shared.srv/dialog.token/index.ts","../../../../packages/base/shared.srv/field.init/index.ts","../../../../packages/base/shared.srv/global.event/index.ts","../../../../packages/base/shared.srv/layout-detail.service/index.ts","../../../../packages/base/shared.srv/layout.service/index.ts","../../../../packages/base/shared.srv/listService/index.ts","../../../../packages/base/shared.srv/window.service/index.ts","../../../../packages/base/shared.srv/field-source.service/index.ts","../../../../packages/base/shared.srv/index.ts","../../../../packages/base/shared.srv/shared.srv.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\nimport { NzModalService } from 'ng-zorro-antd/modal';\r\nimport { NzDrawerService, NzDrawerRef, NzDrawerPlacement } from '@ebuilding/base/components/drawer';\r\ntype ModalSizeType = 'small' | 'small2' | 'medium' | 'large' | 'custom' | 'upload' | 'full' | null;\r\nexport interface ModalOptions {\r\n nzContent: any; //组件\r\n nzFooter?: any;\r\n nzModel?: ''; //multiple\r\n nzMask?: boolean;\r\n size?: ModalSizeType; //小/中/大\r\n nzTitle?: string; //标题\r\n primaryLabel?: string; //按钮‘label’,不传默认为‘确定’\r\n vertical?: boolean; //弹框是否为垂直居中,默认不垂直居中\r\n hideBtn?: boolean; //是否隐藏footer按钮\r\n showResetBtn?: boolean; //是否显示重置按钮\r\n width?: number;\r\n height?: number;\r\n nzClosable?: boolean;\r\n style?: any;\r\n innerWidth?: boolean;\r\n placement?: NzDrawerPlacement;\r\n}\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class GramBaseDialogService {\r\n private drawerRefs: Set<NzDrawerRef<any>> = new Set();\r\n\r\n constructor(public modalService: NzModalService, public drawerService: NzDrawerService) { }\r\n switchSize(size: any) {\r\n const obj = {\r\n width: 700,\r\n height: 500,\r\n };\r\n switch (size) {\r\n case 'small':\r\n obj.width = 530;\r\n obj.height = 400;\r\n break;\r\n case 'small2':\r\n obj.width = 200;\r\n obj.height = 300;\r\n break;\r\n case 'medium':\r\n obj.width = 700;\r\n obj.height = 500;\r\n break;\r\n case 'large':\r\n obj.width = 1100;\r\n obj.height = 700;\r\n break;\r\n case 'upload':\r\n obj.width = 700;\r\n obj.height = 400;\r\n break;\r\n default:\r\n obj.width = 700;\r\n obj.height = 500;\r\n break;\r\n }\r\n return obj;\r\n }\r\n public CreateModelDialog(modalOptions: ModalOptions, params: any, callback: any) {\r\n let width: any = this.switchSize(modalOptions.size).width;\r\n let height: any = this.switchSize(modalOptions.size).height;\r\n let style: any = null;\r\n if (modalOptions.size && modalOptions.size === 'custom') {\r\n if (modalOptions.width) {\r\n width = modalOptions.width;\r\n }\r\n if (modalOptions.height) {\r\n height = modalOptions.height;\r\n }\r\n if (modalOptions.style) {\r\n style = modalOptions.style;\r\n }\r\n }\r\n\r\n if (modalOptions.nzContent == undefined || modalOptions.nzContent == null) {\r\n }\r\n let title = '';\r\n switch (params.type) {\r\n case 'add':\r\n title = '新增 - ';\r\n break;\r\n case 'edit':\r\n case 'edit_state':\r\n title = '编辑 - ';\r\n break;\r\n case 'view':\r\n case 'primary_key':\r\n title = '查看 - ';\r\n break;\r\n default:\r\n break;\r\n }\r\n if (modalOptions.nzTitle) {\r\n title = title + modalOptions.nzTitle;\r\n }\r\n const modal: any = this.modalService.create({\r\n nzStyle: style,\r\n nzTitle: title,\r\n nzWidth: width + 'px',\r\n nzClosable: modalOptions.nzClosable != undefined ? modalOptions.nzClosable : true,\r\n nzMaskClosable: false,\r\n nzWrapClassName: modalOptions.vertical ? 'vertical-center-modal' : '',\r\n nzBodyStyle: {\r\n padding: '0',\r\n height: !modalOptions.hideBtn ? height - 107 + 'px' : height - 54 + 'px',\r\n },\r\n nzContent: modalOptions.nzContent,\r\n nzFooter:\r\n params.type !== 'view' && params.type !== 'upload'\r\n ? [\r\n {\r\n show: true,\r\n label: '取消',\r\n type: 'default',\r\n onClick: (e: any) => {\r\n modal.destroy();\r\n },\r\n },\r\n {\r\n show: true,\r\n label: modalOptions.primaryLabel ? modalOptions.primaryLabel : '确定',\r\n type: 'primary',\r\n onClick: (e: any) => callback('save', e, modal),\r\n },\r\n // {\r\n // show: params.type === 'add',\r\n // label: modalOptions.primaryLabel ? modalOptions.primaryLabel : '确定继续录入',\r\n // type: 'primary',\r\n // onClick: (e: any) => callback('save-next', e, modal),\r\n // },\r\n ]\r\n : null,\r\n nzOnOk: (e: any) => { },\r\n nzOnCancel: (e: any) => { },\r\n //nzComponentParams: params,\r\n });\r\n\r\n if (modal.getContentComponent()) {\r\n Object.assign(modal.getContentComponent(), params);\r\n }\r\n\r\n modal.afterClose.subscribe((result: any) => {\r\n if (result) {\r\n callback(result);\r\n }\r\n });\r\n }\r\n\r\n public CreateModelDialogSelect(modalOptions: ModalOptions, params: any, callback: any) {\r\n const width = this.switchSize(modalOptions.size).width;\r\n const height = this.switchSize(modalOptions.size).height;\r\n\r\n const modal: any = this.modalService.create({\r\n nzTitle: modalOptions.nzTitle ? modalOptions.nzTitle : '提示',\r\n nzWidth: width + 'px',\r\n nzClosable: true,\r\n nzMaskClosable: false,\r\n nzWrapClassName: modalOptions.vertical ? 'vertical-center-modal' : '',\r\n nzBodyStyle: {\r\n padding: '0',\r\n height: !modalOptions.hideBtn ? height - 107 + 'px' : height - 54 + 'px',\r\n },\r\n nzContent: modalOptions.nzContent,\r\n nzFooter: [\r\n {\r\n show: true,\r\n label: '取消',\r\n type: 'default',\r\n onClick: (e: any) => {\r\n modal.destroy();\r\n },\r\n },\r\n {\r\n show: true,\r\n label: modalOptions.primaryLabel ? modalOptions.primaryLabel : '确定',\r\n type: 'primary',\r\n loading: false,\r\n onClick(e: any): void {\r\n this.loading = true;\r\n callback('save', e, modal);\r\n },\r\n },\r\n ],\r\n nzOnOk: (e: any) => { },\r\n nzOnCancel: (e: any) => { },\r\n //nzComponentParams: params,\r\n });\r\n\r\n if (modal.getContentComponent()) {\r\n Object.assign(modal.getContentComponent(), params);\r\n }\r\n\r\n modal.afterClose.subscribe((result: any) => {\r\n if (result) {\r\n callback(result);\r\n }\r\n });\r\n }\r\n\r\n public CreateDrawerDialog(modalOptions: ModalOptions, params: any, callback: any) {\r\n let width = this.switchSize(modalOptions.size).width;\r\n\r\n let height = window.innerHeight;\r\n if (modalOptions.size === 'full') {\r\n width = window.innerWidth;\r\n } else {\r\n if (modalOptions.size && modalOptions.size === 'custom') {\r\n if (modalOptions.width) {\r\n width = modalOptions.width;\r\n } else {\r\n width = 800;\r\n modalOptions.innerWidth = false;\r\n }\r\n } else {\r\n if (modalOptions.innerWidth != false) {\r\n width = window.innerWidth - 300;\r\n }\r\n }\r\n }\r\n\r\n let title = '';\r\n if (params?.config!! && params?.config.type!!) {\r\n switch (params?.config.type) {\r\n case 'ADD':\r\n title = '新增';\r\n break;\r\n case 'EDIT':\r\n title = '编辑';\r\n break;\r\n case 'VIEW':\r\n title = '查看';\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n if (modalOptions.nzTitle) {\r\n if (title!!) {\r\n title = `${title} - ${modalOptions.nzTitle}`;\r\n } else {\r\n title = `${modalOptions.nzTitle}`;\r\n }\r\n }\r\n\r\n const drawerRef: NzDrawerRef = this.drawerService.create({\r\n nzTitle: title,\r\n nzWidth: width + 'px',\r\n nzHeight: height + 'px',\r\n nzClosable: modalOptions?.nzClosable == false ? false : true,\r\n nzMask: modalOptions?.nzMask == false ? false : true,\r\n nzMaskClosable: false,\r\n nzKeyboard: false,\r\n nzWrapClassName: modalOptions.vertical ? 'vertical-center-modal' : '',\r\n nzBodyStyle: {\r\n padding: '0',\r\n },\r\n nzPlacement: modalOptions?.placement!! ? modalOptions?.placement : 'right',\r\n nzContent: modalOptions.nzContent,\r\n nzContentParams: {\r\n ...params,\r\n },\r\n });\r\n\r\n // 记录 DrawerRef\r\n this.drawerRefs.add(drawerRef);\r\n\r\n drawerRef.afterClose.subscribe((result: any) => {\r\n this.drawerRefs.delete(drawerRef); // 移除已关闭的 Drawer\r\n if (result?.destroy) result.destroy();\r\n callback(result);\r\n });\r\n }\r\n // **关闭所有 Drawer**\r\n public closeAllDrawers() {\r\n this.drawerRefs.forEach((drawer) => drawer.close());\r\n this.drawerRefs.clear();\r\n }\r\n}\r\n","import { Directive, EventEmitter, Input, Output } from '@angular/core';\nimport { getOperationType } from '@ebuilding/base/shared.util/operation';\n\n@Directive()\nexport abstract class GramBaseListService {\n constructor(public pageService: any) { }\n\n /*\n 列表ID\n */\n @Input() id: string = '';\n\n /*\n 列表加载中 \n */\n @Input() loading: boolean = false;\n\n @Input() selectData: any[] = [];\n /*\n 列表头集合\n */\n @Input() listHeader: any[] = [];\n\n /*\n 列表内集合 \n */\n @Input() listBody: any[] = [];\n\n /*\n 列表总数 \n */\n @Input() listTotal = 0;\n\n @Output() operationClick: EventEmitter<any> = new EventEmitter();\n\n @Output() rowChange: EventEmitter<any> = new EventEmitter();\n\n @Output() selectChange: EventEmitter<any> = new EventEmitter();\n\n @Output() queryChange: EventEmitter<any> = new EventEmitter();\n\n @Output() buttonClick: EventEmitter<any> = new EventEmitter();\n\n @Output() componentClick: EventEmitter<any> = new EventEmitter();\n\n @Output() sortChange: EventEmitter<any> = new EventEmitter();\n\n @Output() reloadChange: EventEmitter<any> = new EventEmitter();\n\n /**\n * 行排序事件\n * @param e\n */\n rowDataChange(e: any) {\n this.rowChange.emit(e);\n }\n\n /**\n * 选中事件\n * @param e\n */\n selectDataChange(e: any) {\n this.selectChange.emit(e);\n }\n\n /**\n * 分页、模糊搜索事件\n * @param e\n */\n queryParamsChange(e: any) {\n this.queryChange.emit(e);\n }\n\n sortOrderChange(e: any) {\n this.sortChange.emit(e);\n }\n /**\n * 列操作事件\n * @param e\n */\n buttonEvent(type: any, e: any) {\n this.operationClick.emit({\n rowCode: e[this.pageService.pageConfig?.primary?.key],\n rowData: e,\n columnKey: type,\n });\n }\n\n /**\n * 组件行事件\n * @param e\n */\n componentEvent(e: any) {\n this.componentClick.emit(e);\n }\n\n operationType(button: any) {\n return getOperationType(button, this.pageService.pageConfig.pageId);\n }\n}\n","import { Directive, ElementRef, HostListener, ViewChild } from '@angular/core';\nimport { NzModalService } from 'ng-zorro-antd/modal';\nimport { NzMessageService } from 'ng-zorro-antd/message';\nimport { _HttpClient } from '@delon/theme';\nimport _ from 'lodash';\nimport { WorkFlowState } from '@ebuilding/base/shared.util/workflow';\n\n@Directive()\nexport abstract class GramBaseTableService {\n /**\n * 加载\n */\n loading: boolean = true;\n\n dataId: any = null;\n dataInfo: any = null;\n\n type: any = 'ALL';\n\n keyWord: string = '';\n pageIndex: number = 1;\n pageSize: number = 20;\n listTotal: number = 0;\n listBody: any[] = [];\n listHeader: any[] = [];\n orderData: any[] = [];\n parameter: any = null;\n listUrl: any = null;\n listWidth: any[] = [];\n\n tableWidth: any = null;\n tdAutoWidth: number = 120;\n heightMinus: number = 0;\n\n WorkFlowState: any[] = WorkFlowState();\n sortDirections: any[] = ['ascend', 'descend'];\n\n @ViewChild('basicTable', { read: ElementRef }) basicTable!: ElementRef;\n\n constructor(public http: _HttpClient, public elementRef: ElementRef, public modal: NzModalService, public msg: NzMessageService) { }\n\n /**\n * 模糊搜索\n */\n pageQueryClick() {\n this.getPageDataList();\n }\n\n typeChange(e: any) {\n this.getPageDataList();\n }\n\n sortOrderClick(e: any, type: any) {\n this.orderData = [];\n switch (e) {\n case 'ascend':\n this.orderData = [{ column: type, asc: true }];\n break;\n case 'descend':\n this.orderData = [{ column: type, asc: false }];\n break;\n }\n this.getPageDataList();\n }\n\n /**\n * 列表 - 翻页事件\n * @param e\n */\n listPageIndexChange(e: any) {\n if (e > 0) {\n this.pageIndex = e;\n }\n if (this.pageIndex === undefined) {\n this.pageIndex = 1;\n }\n this.getPageDataList();\n }\n\n /**\n * 列表 - 页条数发生变化事件\n * @param e\n */\n listPageSizeChange(e: any) {\n if (e > 0) {\n this.pageSize = e;\n }\n this.getPageDataList();\n }\n\n /**\n * 列表 - 排序\n * @param e\n */\n listSortChange(e: any) {\n this.orderData = [];\n if (e!!) {\n if (e.sortOrder == 'ascend') {\n this.orderData = [{ column: e.field, asc: true }];\n } else if (e.sortOrder == 'descend') {\n this.orderData = [{ column: e.field, asc: false }];\n }\n }\n this.getPageDataList();\n }\n\n /**\n * 查询参数\n * @returns\n */\n getQueryParameter() {\n let postParameter: any = {\n pageIndex: this.pageIndex,\n pageSize: this.pageSize,\n orders: this.orderData,\n parameter: {\n keyWord: null,\n type: null,\n },\n };\n\n if (this.parameter) {\n postParameter.parameter = Object.assign(postParameter.parameter, this.parameter);\n }\n\n if (this.type) {\n postParameter.parameter.type = this.type;\n }\n /**\n * 关键字\n */\n postParameter.parameter.keyWord = this.keyWord;\n return postParameter;\n }\n\n /**\n * 查询数据\n * @param caller\n * @param callback\n */\n getPageDataList(caller: any = null, callback: any = null) {\n /**\n * 查询参数\n */\n let postParameter: any = this.getQueryParameter();\n\n /**\n * 进行查询\n */\n this.loading = true;\n this.getPageDataBefore();\n this.http.post(`${this.listUrl}`, postParameter).subscribe(\n (res: any) => {\n if (res && res.success && res.result) {\n this.listTotal = res?.result?.total;\n this.listBody = res?.result?.list;\n }\n this.resizeTable();\n this.getPageDataAfter();\n this.loading = false;\n if (callback != undefined && callback != null && callback != '') {\n callback.call(caller);\n }\n },\n (res: any) => {\n this.loading = false;\n this.getPageDataAfter();\n if (callback != undefined && callback != null && callback != '') {\n callback.call(caller);\n }\n },\n );\n }\n\n getPageDataBefore() { }\n\n getPageDataAfter() { }\n\n getWorkflowStatus(type: any) {\n let result: any = null;\n this.WorkFlowState.forEach((item: any) => {\n if (item.value == type.toUpperCase()) {\n result = item;\n }\n });\n return result;\n }\n\n deonTableContentHG: any = null;\n @HostListener('window:resize', ['$event'])\n resize() {\n this.resizeTable();\n }\n resizeTable() {\n setTimeout(() => {\n this.calcAutoWidth();\n this.deonTableContentHG = '50px';\n\n /**\n * 页面高度\n */\n let pageTable: any = 200;\n if (this.elementRef.nativeElement.querySelector('.page-table')) {\n pageTable = this.elementRef.nativeElement.querySelector('.page-table').clientHeight;\n }\n\n /**\n * header 高度\n */\n let headerHeight: any = 0;\n if (this.elementRef.nativeElement.querySelector('.page-info-header')) {\n headerHeight = this.elementRef.nativeElement.querySelector('.page-info-header').clientHeight;\n headerHeight = headerHeight;\n }\n\n /**\n * footer 高度\n */\n let footerHeight: any = 0;\n if (this.elementRef.nativeElement.querySelector('.page-info-footer')) {\n footerHeight = this.elementRef.nativeElement.querySelector('.page-info-footer').clientHeight;\n }\n\n /**\n * table header 高度\n */\n let tableHeight: any = 0;\n if (this.elementRef.nativeElement.querySelector('.ant-table-thead')) {\n tableHeight = this.elementRef.nativeElement.querySelector('.ant-table-thead').clientHeight;\n }\n\n if (this.heightMinus) {\n pageTable = pageTable - this.heightMinus;\n }\n\n this.deonTableContentHG = {\n y: pageTable - headerHeight - tableHeight - footerHeight + 'px',\n };\n }, 0);\n setTimeout(() => {\n this.checkTableScroll();\n }, 50);\n }\n\n calcAutoWidth() {\n if (this.elementRef.nativeElement.querySelector('.page-table')) {\n let contentWidth: number = this.elementRef.nativeElement.querySelector('.page-table').clientWidth;\n if (this.tableWidth && this.tableWidth > 200) {\n if (contentWidth < this.tableWidth) {\n this.tdAutoWidth = 120;\n } else {\n if (contentWidth - this.tableWidth < 120) {\n this.tdAutoWidth = 120;\n } else {\n this.tdAutoWidth = contentWidth - this.tableWidth;\n }\n }\n }\n }\n }\n\n checkTableScroll() {\n if (this.basicTable) {\n const tableHeader = this.basicTable.nativeElement.querySelector('.ant-table-header');\n const tableBody = this.basicTable.nativeElement.querySelector('.ant-table-body');\n if (tableHeader && tableBody && tableBody.scrollWidth > tableBody.clientWidth && tableBody.scrollHeight > tableBody.clientHeight) {\n tableHeader.classList.add('eb-header-scroll');\n } else {\n tableHeader.classList.remove('eb-header-scroll');\n }\n } else {\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { _HttpClient } from '@delon/theme';\n\n@Injectable()\nexport class GramBaseTitleService {\n /* \n 页面加载状态\n */\n loading = false;\n\n objectInfo: any;\n formName: string = '';\n formCode: string = '';\n showName: string = '';\n constructor(public router: Router, public http: _HttpClient) { }\n\n /*\n 获取树形数据集合\n */\n getObjectInfoByKey(para: any, showKey: any) {\n this.loading = true;\n let params: any = {};\n\n params.formType = 'view';\n params = Object.assign(params, para);\n\n if (this.formCode && this.formCode!!) {\n params.formKey = this.formCode;\n }\n\n if (this.formName == undefined || this.formName == null || this.formName == '') {\n this.formName = 'SystemDefault';\n }\n this.http.post(`/get${this.formName}Model`, params).subscribe((res: any) => {\n this.objectInfo = res;\n this.showName = this.objectInfo[showKey];\n });\n }\n}\n","\nimport { _HttpClient } from '@delon/theme';\nexport interface ItreeConfig {\n listCode?: string;\n listAPI?: string;\n addAPI?: string;\n modifyAPI?: string;\n saveAPI?: string;\n deleteAPI?: string;\n\n primaryKey?: string;\n primaryName?: string;\n\n showTag?: boolean;\n selectType?: string;\n expandAll?: boolean;\n [additionalProperties: string]: any;\n}\n\n// @Injectable()\nexport class GramBaseTreeService {\n /* \n 页面加载状态\n */\n loading = false;\n\n showCheckbox = false;\n\n queryParams: any = {};\n\n listBody: any[] = [];\n\n pageConfig: any = {};\n\n constructor(public http: _HttpClient | any) { }\n\n getPageData() {\n this.getPageDataList();\n }\n\n rowChange(e: any) { }\n\n selectChange(e: any) { }\n\n operationClick(e: any) { }\n\n buttonClick(e: any) { }\n\n /*\n 获取树形数据集合\n */\n getPageDataList(caller: any = null, callback: any = null) {\n this.loading = true;\n let params: any = {\n listKey: this.pageConfig?.tree?.code,\n };\n if (this.queryParams) {\n params = Object.assign(params, this.queryParams);\n }\n if (params && params.listKey) {\n this.http.post(`/${this.pageConfig.listAPI ? this.pageConfig.listAPI : 'getSystemDefaultTree'}`, params).subscribe((res: any) => {\n this.listBody = res;\n this.loading = false;\n if (callback != undefined && callback != null && callback != '') {\n callback.call(caller);\n }\n });\n } else {\n this.loading = false;\n }\n }\n}\n","import { Directive } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { _HttpClient } from '@delon/theme';\nimport { CommAPIService } from '@ebuilding/base/shared.srv/commApi.service';\n\n@Directive()\nexport abstract class BasePageService {\n /**\n * 加载\n */\n loading: boolean = true;\n\n /**\n * 布局ID\n */\n layoutId: any = null;\n\n /**\n * 布局对象\n */\n layoutData: any = null;\n\n constructor(\n public http: _HttpClient,\n public activatedRoute: ActivatedRoute,\n public commAPISrv: CommAPIService,\n public moduleCode: String,\n ) {\n this.activatedRoute.params.subscribe((item: any) => {\n if (item && item?.id) {\n this.layoutId = item.id;\n this.getPageData();\n }\n });\n }\n\n /**\n * 加载数据\n */\n getPageData() {\n if (this.layoutId!!) {\n this.loading = true;\n let address: any = this.commAPISrv.getLayoutAddress(this.moduleCode, this.layoutId);\n this.http.post(address).subscribe((res: any) => {\n if (res.success) {\n if (res.result!!) {\n this.layoutData = res.result;\n }\n }\n this.loadDataAfter();\n });\n }\n }\n\n /**\n * 页面加载数据结束\n */\n loadDataAfter() {\n this.loading = false;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { tap, distinctUntilChanged, debounceTime } from 'rxjs/operators';\nimport { FormlyFieldConfig } from '@kre-form/core';\nimport _ from 'lodash';\n\n@Injectable({ providedIn: 'root' })\nexport class DeonFormUtilService {\n\n getFieldKeysData(json: any) {\n let result: any = {};\n if (json) {\n let fieldConfigs: FormlyFieldConfig[] = JSON.parse(json);\n if (fieldConfigs && Array.isArray(fieldConfigs)) {\n this.getFieldKeysDataChild(result, fieldConfigs);\n }\n }\n return result;\n }\n\n private getFieldKeysDataChild(result: any, arr: FormlyFieldConfig[]) {\n if (arr && Array.isArray(arr)) {\n arr.forEach((item: any) => {\n if (item?.key) {\n result[item?.key] = {};\n } else {\n if (item?.fieldGroup && Array.isArray(item?.fieldGroup)) {\n this.getFieldKeysDataChild(result, item.fieldGroup);\n }\n }\n });\n }\n }\n\n\n initConfig(fields: FormlyFieldConfig[], roles: any, options: any, models: any, rules: any, fieldParameter: any, caller?: any, callback?: any) {\n if (models === undefined || models === null) {\n models = {};\n }\n fields.forEach((field: FormlyFieldConfig) => {\n /**\n * 递归附加字段属性\n */\n this.depthFieldProperty(field, roles, options, models, rules, null, fieldParameter, caller, callback);\n });\n }\n\n /**\n * 初始化携带的隐藏JSON 条件\n * @param field\n */\n public initHidJson(field: FormlyFieldConfig) {\n if (_.get(field, 'props.hideJson')!!) {\n field.hideExpression = field?.props?.hideJson;\n }\n }\n\n /**\n * 初始化Template\n * @param field\n */\n initTemplate(field: FormlyFieldConfig) {\n if (field?.props == undefined || field?.props == null) {\n if (field?.templateOptions) {\n field.props = field?.templateOptions;\n }\n }\n }\n\n initParameter(field: FormlyFieldConfig, fieldParameter: any) {\n if (field?.key && fieldParameter && fieldParameter[field.key]) {\n let item: any = fieldParameter[field.key];\n if (item && item?.defaultParameter) {\n if (field?.props?.[\"defaultParameter\"] == undefined || field.props[\"defaultParameter\"] == null) {\n _.set(field, \"props.defaultParameter\", item?.defaultParameter);\n } else {\n field.props[\"defaultParameter\"] = Object.assign(field.props[\"defaultParameter\"], item?.defaultParameter);\n }\n }\n }\n }\n\n depthFieldProperty(\n field: FormlyFieldConfig,\n roles: any,\n options: any,\n model: any,\n rules: any,\n arrKey: any,\n fieldParameter: any,\n caller?: any,\n callback?: any,\n ) {\n this.initTemplate(field);\n this.initHidJson(field);\n this.initParameter(field, fieldParameter);\n\n if (arrKey != undefined && arrKey != null) {\n _.set(field, \"props.arrKey\", arrKey);\n }\n\n /**\n * 判断是否加载字段选项\n */\n if (field.key!! && options!!) {\n let option: any[] = options[field.key];\n if (option!! && Array.isArray(option)) {\n _.set(field, \"props.options\", option);\n }\n }\n\n /**\n * 判断是否加载字段触发回调\n */\n if (field.key!! && rules!!) {\n let rule: any = rules[field.key];\n if (rule!!) {\n _.set(field, \"props.callBack\", true);\n _.set(field, \"props.callBackRule\", rule.ruleId);\n _.set(field, \"props.callBackFields\", rule.modalField);\n }\n }\n\n if (field.key!! && field.props!! && (field.props[\"callCard\"] == true || field.props[\"callBack\"] == true)) {\n field.props['callBack'] = true;\n }\n\n /**\n * 判断是否加载字段权限-编辑|隐藏\n */\n if (field.key!! && roles!!) {\n let role: any = roles[field.key];\n if (role!!) {\n field.show = role?.hide == true ? false : true;\n field.hide = role?.hide == true ? true : false;\n field.editor = role?.read == true ? false : true;\n if (field?.props == undefined || field?.props == null) {\n field['props'] = {};\n }\n if (role?.hide2 == true) {\n field.props['show'] = false;\n } else {\n field.props['show'] = true;\n }\n }\n }\n\n /**\n * 设置属性\n */\n this.setFiledEvent(field, caller, callback);\n\n /**\n * 默认值\n */\n this.setFiledModel(field, model);\n\n if (field.fieldArray) {\n if (field.fieldArray[\"fieldGroup\"]) {\n field.fieldArray[\"fieldGroup\"].forEach((f: FormlyFieldConfig) => {\n this.initTemplate(f);\n this.initHidJson(f);\n\n /**\n * 递归附加字段属性\n */\n this.depthFieldProperty(f, roles, options, model, rules, field?.key, fieldParameter, caller, callback);\n });\n }\n }\n if (field.fieldGroup) {\n field.fieldGroup.forEach((f: FormlyFieldConfig) => {\n this.initTemplate(f);\n this.initHidJson(f);\n\n /**\n * 递归附加字段属性\n */\n this.depthFieldProperty(f, roles, options, model, rules, null, fieldParameter, caller, callback);\n });\n }\n }\n\n /*\n 设置字段默认值的属性\n */\n setFiledModel(field: any, model: any) {\n if (field && field.type === 'datetime') {\n if (field.props && field.props?.type && field.props?.type === 'time') {\n if (model[field.key] === undefined || model[field.key] === null) {\n model[field.key] = null;\n } else {\n model[field.key] = new Date(`${model[field.key]}`);\n }\n }\n\n if (this.checkFieldDefaultValue(field)) {\n if (model[field.key] === undefined) {\n model[field.key] = field.defaultValue;\n }\n }\n }\n if (field.hasOwnProperty('editor')) {\n if (this.checkFieldDefaultValue(field)) {\n if (model[field.key] === undefined) {\n model[field.key] = field.defaultValue;\n }\n }\n }\n if (field.type == 'repeat' && field.hasOwnProperty('fieldArray')) {\n if (field.fieldArray.hasOwnProperty('fieldGroup')) {\n if (model[field.key] === undefined || model[field.key] === null || model[field.key].length == 0) {\n model[field.key] = [];\n }\n }\n }\n }\n\n checkFieldDefaultValue(field: FormlyFieldConfig) {\n let result = false;\n if (field !== undefined && field != null && field.defaultValue !== undefined && field.defaultValue != null) {\n return true;\n }\n return result;\n }\n\n setFiledEvent(field: any, caller: any, callback: any) {\n if (field.key !== undefined && field.key !== null) {\n if (_.get(field, 'props.callBack') == true) {\n switch (field.type) {\n case 'text':\n case 'textarea':\n case 'password':\n case 'textBtn':\n field.props.blur = (e: any) => {\n this.setCallBackFun(caller, callback, e.formControl.value, field);\n };\n\n // field.hooks = {\n // onInit: (field: any) => {\n // return field.formControl.valueChanges.pipe(\n // distinctUntilChanged(),\n // debounceTime(800),\n // tap((e) => {\n // this.setCallBackFun(caller, callback, e, field);\n // }),\n // );\n // },\n // };\n break;\n case 'number':\n case 'eval_number':\n field.props.change = (e: any) => {\n this.setCallBackFun(caller, callback, e.formControl.value, field);\n };\n break;\n // case 'checkbox':\n // field.props.change = (e: any) => {\n // debugger;\n // setTimeout(() => {\n // this.setCallBackFun(caller, callback, e.formControl.value, field);\n // }, 0);\n // };\n // break;\n default:\n field.hooks = {\n onInit: (field: any) => {\n return field.formControl.valueChanges.pipe(\n distinctUntilChanged(),\n tap((e) => {\n this.setCallBackFun(caller, callback, e, field);\n }),\n );\n },\n };\n break;\n }\n }\n }\n }\n\n setCallBackFun(caller: any, callback: any, e: any, field: any) {\n if (typeof e == 'boolean' || typeof e == 'number' || typeof e == 'string') {\n if (callback != undefined && callback != null && callback != '') {\n callback.call(caller, e, field);\n }\n } else {\n if (callback != undefined && callback != null && callback != '') {\n callback.call(caller, e, field);\n }\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport { FormlyFieldConfig } from '@kre-form/core';\nimport _ from 'lodash';\n\n@Injectable({ providedIn: 'root' })\nexport class DeonFormResetService {\n\n resetConfig(\n fields: FormlyFieldConfig[],\n models: any,\n datas: any\n ) {\n fields.forEach((field: FormlyFieldConfig) => {\n if (field.key!! && datas[field.key]!!) {\n let data: any = datas[field.key];\n this.initTemplate(field);\n field.props ??= {};\n if (data?.value != undefined && data?.value != null) {\n models[field.key] = data.value;\n }\n if (data?.editor != undefined && data?.editor != null) {\n field.editor = data.editor;\n }\n if (data?.show != undefined && data?.show != null) {\n field.show = data.show;\n if (data.show) {\n field.hide = false;\n } else {\n field.hide = true;\n }\n }\n if (data?.required != undefined && data?.required != null) {\n field.props[\"required\"] = data.required;\n }\n if (data?.min != undefined && data?.min != null) {\n field.props[\"min\"] = data.min;\n }\n if (data?.max != undefined && data?.max != null) {\n field.props[\"max\"] = data.max;\n }\n\n if (data?.minLength != undefined && data?.minLength != null) {\n field.props[\"minLength\"] = data.minLength;\n }\n\n if (data?.maxLength != undefined && data?.maxLength != null) {\n field.props[\"maxLength\"] = data.maxLength;\n }\n if (data?.options != undefined && data?.options != null && Array.isArray(data?.options)) {\n field.props[\"options\"] = data.options;\n }\n }\n\n if (field.fieldArray) {\n let fieldKey: any = field.key;\n if (field.fieldGroup!! && field.fieldGroup.length > 0) {\n let arrData: any[] = datas[fieldKey];\n let arrModule: any[] = models[fieldKey];\n if (arrData!! && arrData.length == field.fieldGroup.length) {\n field.fieldGroup.forEach((f: any, index: number) => {\n\n this.resetConfig(f.fieldGroup, arrModule[index], arrData[index]);\n });\n }\n }\n }\n if (field.fieldGroup) {\n this.resetConfig(field.fieldGroup, models, datas);\n }\n });\n }\n\n resetOverTime(\n fields: FormlyFieldConfig[],\n models: any,\n datas: any,\n key: any,\n index: number\n ) {\n if (models!! && datas!!) {\n fields.forEach((field: FormlyFieldConfig) => {\n if (field.key!! && field.key == key && field.fieldArray) {\n if (field.fieldGroup!! && field.fieldGroup.length > index) {\n if (field.fieldGroup[index]!!) {\n let rowField: any = field?.fieldGroup[index]?.fieldGroup?.[0];\n let itemValue: any = {};\n let itemConfig: any = {};\n\n /**\n * 主表\n */\n this.initOverTime(datas, itemValue, itemConfig);\n\n /**\n * 子表:零点拆分列表\n */\n if (datas?.listChild != undefined) {\n if (datas?.listChild != null && Array.isArray(datas.listChild) && datas.listChild.length > 0) {\n itemValue[\"listChild\"] = [];\n itemConfig[\"listChild\"] = [];\n datas.listChild.forEach((child: any) => {\n let childValue: any = {};\n let childConfig: any = {};\n this.initOverTime(child, childValue, childConfig);\n itemValue[\"listChild\"].push(childValue);\n itemConfig[\"listChild\"].push(childConfig);\n });\n } else {\n itemValue[\"listChild\"] = null;\n itemConfig[\"listChild\"] = null;\n }\n }\n\n /**\n * 赋值+处理对象扩展\n */\n if (Object.keys(itemValue).length == 0) {\n itemValue = null;\n }\n models[key][index] = {\n overtime: itemValue\n }\n rowField.props[\"overtime\"] = _.cloneDeep(itemConfig);\n }\n }\n }\n });\n }\n }\n\n private initOverTime(model: any, itemValue: any, itemConfig: any) {\n\n /**\n * 加班项目\n */\n if (model?.itemId != undefined) {\n itemValue[\"itemId\"] = model.itemId.value;\n itemConfig[\"itemId\"] = model.itemId.options;\n };\n\n /**\n * 加班日期\n */\n if (model?.happenDate != undefined) {\n itemValue[\"happenDate\"] = model.happenDate.value;\n };\n\n /**\n * 加班开始时间\n */\n if (model?.beginDate != undefined) {\n itemValue[\"beginDate\"] = model.beginDate.value;\n };\n\n /**\n * 加班结束时间\n */\n if (model?.endDate != undefined) {\n itemValue[\"endDate\"] = model.endDate.value;\n };\n\n /**\n * 加班时长\n */\n if (model?.numValue != undefined) {\n itemValue[\"numValue\"] = model.numValue.value;\n };\n\n /**\n * 班次\n */\n if (model?.shiftId != undefined) {\n itemValue[\"shiftId\"] = model.shiftId.value;\n itemConfig[\"shiftId\"] = model.shiftId.options;\n };\n\n /**\n * 班次可申请时间段\n */\n if (model?.shiftPeriod != undefined) {\n itemValue[\"shiftPeriod\"] = model.shiftPeriod.value;\n itemConfig[\"shiftPeriod\"] = model.shiftPeriod.options;\n };\n }\n\n /**\n * 初始化Template\n * @param field \n */\n private initTemplate(field: FormlyFieldConfig) {\n if (field?.props == undefined || field?.props == null) {\n if (field?.templateOptions) {\n field.props = field?.templateOptions;\n }\n }\n }\n}","import { InjectionToken } from '@angular/core';\n\nexport interface IPreDialogHandler {\n openDialog(data: any): void;\n}\n\nexport const PRE_DIALOG_HANDLER = new InjectionToken<IPreDialogHandler>('PRE_DIALOG_HANDLER');\n","import { Injectable } from '@angular/core';\nimport { Guid } from '@ebuilding/base/shared.util/guid';\nimport moment from 'moment';\n@Injectable({\n providedIn: 'root',\n})\nexport class DeonDesignFieldInitService {\n itemDataConvert(list: any[]) {\n let result: any[] = [];\n if (list!! && list.length > 0) {\n list.forEach((e: any) => {\n let item: any = {};\n item.key = e.id;\n item.label = e.name;\n switch (e.dataType.toLocaleLowerCase()) {\n case 'int': //int -> number\n item.type = 'number';\n break;\n case 'float': //float -> number\n item.precision = 2;\n item.type = 'number';\n break;\n case 'time': //time -> datetime\n item.type = 'datetime';\n item.showType = 'time';\n break;\n case 'year': //year -> datetime\n item.type = 'datetime';\n item.showType = 'year';\n break;\n case 'yearmonth': //yearmonth -> datetime\n item.type = 'datetime';\n item.showType = 'month';\n break;\n case 'yearmonthday': //yearmonthday -> datetime\n item.type = 'datetime';\n item.showType = 'date';\n break;\n default:\n item.type = e.dataType.toLocaleLowerCase();\n break;\n }\n result.push(item);\n });\n }\n return result;\n }\n\n itemListConvertField(sources: any[], special: boolean = true, indicator: boolean = false) {\n let list: any[] = [];\n if (sources && Array.isArray(sources)) {\n sources.forEach((item: any) => {\n let data: any = {};\n if (indicator == true) {\n data = {\n key: special == true ? '$' + item.id : item.id,\n type: item.itemType.toLowerCase(),\n label: item.itemName,\n allowNull: item.required,\n cols: 24,\n rows: item.itemType.toLowerCase() == 'textarea' ? 4 : 1,\n };\n } else {\n data = {\n key: special == true ? '$' + item.id : item.id,\n type: item.dataType.toLowerCase(),\n label: item.itemName ? item.itemName : item.name,\n allowNull: item.required,\n cols: item.dataType.toLowerCase() == 'textarea' ? 24 : 12,\n rows: item.dataType.toLowerCase() == 'textarea' ? 3 : 1,\n };\n }\n list.push(this.getFiledInfoFunction(data));\n });\n }\n return list;\n }\n\n okrItemListConvertField(sources: any[]) {\n let list: any[] = [];\n if (sources && Array.isArray(sources)) {\n sources.forEach((item: any) => {\n let data: any = {\n key: '$' + item.id,\n type: item.dataType.toLowerCase(),\n label: item.itemName ? item.itemName : item.name,\n allowNull: item.required,\n cols: item.dataType.toLowerCase() == 'textarea' ? 24 : 12,\n rows: item.dataType.toLowerCase() == 'textarea' ? 3 : 1,\n className: 'cols',\n };\n list.push(this.getFiledInfoFunction(data));\n });\n }\n return list;\n }\n\n kpiItemListConvertField(sources: any[], className: boolean = true) {\n let list: any[] = [];\n if (sources && Array.isArray(sources)) {\n sources.forEach((item: any) => {\n let data: any = {};\n data = {\n key: this.datetimeString(item.itemType.toLowerCase()),\n type: item.itemType.toLowerCase(),\n label: item.itemName,\n allowNull: item?.required,\n cols: 24,\n className: className == true ? 'row' : null,\n rows: item.itemType.toLowerCase() == 'textarea' ? 4 : 1,\n };\n let newField: any = this.getFiledInfoFunction(data);\n\n if (newField.type == 'number') {\n newField.props['precision'] = 2;\n }\n if (className == false) {\n newField.props.className = null;\n }\n if (item?.defaultValue!!) {\n newField.defaultValue = item?.defaultValue;\n }\n newField.props['source'] = {\n sourceId: item.id,\n sourceType: 'indicator_item',\n };\n\n list.push(newField);\n });\n }\n return list;\n }\n /**\n * 跟进类型创建字段对象\n * @param sourceField\n */\n getFiledInfoFunction(sourceField: any) {\n let field: any = {};\n switch (sourceField.type) {\n case 'text': //1\n field = this.text(sourceField);\n break;\n case 'textarea': //2\n field = this.textArea(sourceField);\n break;\n case 'number': //3\n field = this.number(sourceField);\n break;\n case 'password': //4\n field = this.passWord(sourceField);\n break;\n case 'texti18n': //5\n field = this.textI18N(sourceField);\n break;\n case 'radio': //6\n field = this.radio(sourceField);\n break;\n case 'radiogroup': //7\n field = this.radioGroup(sourceField);\n break;\n case 'checkbox': //8\n field = this.checkbox(sourceField);\n break;\n case 'checkboxgroup': //9\n field = this.checkboxGroup(sourceField);\n break;\n case 'select': //10\n field = this.select(sourceField);\n break;\n case 'datetime': //11\n field = this.datetime(sourceField);\n break;\n case 'image': //12\n field = this.image(sourceField);\n break;\n case 'line': //13\n field = this.line(sourceField);\n break;\n case 'html': //14\n field = this.line(sourceField);\n break;\n case 'repeat': //15\n field = this.repeat(sourceField);\n break;\n case 'panel': //16\n field = this.panel(sourceField);\n break;\n case 'label': //17\n field = this.label(sourceField);\n break;\n case 'richtext': //18\n field = this.richtext(sourceField);\n break;\n case 'employee':\n case 'position':\n case 'organizational':\n case 'area':\n field = this.lookup(sourceField);\n break;\n case 'int': //int -> number\n sourceField.precision = 0;\n field = this.number(sourceField);\n break;\n case 'float': //float -> number\n sourceField.precision = 0;\n field = this.number(sourceField);\n break;\n case 'time': //time -> datetime\n sourceField.showType = 'time';\n field = this.datetime(sourceField);\n break;\n case 'year': //year -> datetime\n sourceField.showType = 'year';\n field = this.datetime(sourceField);\n break;\n case 'yearmonth': //yearmonth -> datetime\n sourceField.showType = 'month';\n field = this.datetime(sourceField);\n break;\n case 'yearmonthday': //yearmonthday -> datetime\n sourceField.showType = 'date';\n field = this.datetime(sourceField);\n break;\n default:\n break;\n }\n if (field.defaultValue != undefined && field.defaultValue != null) {\n field.defaultValue = field.defaultValue;\n }\n if (field.props!!) {\n field.props.className = sourceField.className ? sourceField.className : 'row';\n }\n field.editor = true;\n return field;\n }\n\n deleteFieldProperty(list: any[]) {\n if (list!! && list.length > 0) {\n list.forEach((field: any) => {\n if (field.hasOwnProperty('status')) {\n delete field.status;\n }\n\n if (field.hasOwnProperty('active')) {\n delete field.active;\n }\n\n if (field.hasOwnProperty('guid')) {\n delete field.guid;\n }\n if (field.hasOwnProperty('id')) {\n delete field.id;\n }\n\n if (field.hasOwnProperty('wrappers')) {\n delete field['wrappers'];\n }\n\n if (field.hasOwnProperty('_keyPath')) {\n delete field['_keyPath'];\n }\n\n if (field.hasOwnProperty('modelOptions')) {\n delete field['modelOptions'];\n }\n\n if (field.hasOwnProperty('checked')) {\n delete field['checked'];\n }\n\n if (field.hasOwnProperty('resetOnHide')) {\n delete field['resetOnHide'];\n }\n\n if (field.hasOwnProperty('props')) {\n if (field.props.hasOwnProperty('focus')) {\n delete field.props.focus;\n }\n if (field.props.hasOwnProperty('disabled')) {\n delete field.props.disabled;\n }\n if (field.props.hasOwnProperty('readonly')) {\n delete field.props.readonly;\n }\n }\n\n if (field.fieldGroup != undefined && field.fieldGroup != null && field.fieldGroup.length == 0) {\n delete field.fieldGroup;\n }\n\n if (field.fieldArray) {\n if (field.fieldArray.fieldGroup) {\n if (field.fieldGroup) {\n delete field.fieldGroup;\n }\n if (field.fieldArray.fieldGroup!!) {\n this.deleteFieldProperty(field.fieldArray.fieldGroup);\n }\n }\n }\n\n if (field.fieldGroup!!) {\n this.deleteFieldProperty(field.fieldGroup);\n }\n });\n }\n }\n\n deleteFieldActive(list: any[]) {\n if (list!! && list.length > 0) {\n list.forEach((field: any) => {\n if (field.hasOwnProperty('active')) {\n delete field.active;\n }\n\n if (field.fieldArray) {\n if (field.fieldArray.fieldGroup) {\n if (field.fieldArray.fieldGroup!!) {\n this.deleteFieldActive(field.fieldArray.fieldGroup);\n }\n }\n }\n\n if (field.fieldGroup!!) {\n this.deleteFieldActive(field.fieldGroup);\n }\n });\n }\n }\n\n private datetimeString(type?: string) {\n // if (type !== undefined && type !== null) {\n // return `${moment().format('YYYYMMDDHHmmssSSS')}_${type}`;\n\n // } else {\n // return `${moment().format('YYYYMMDDHHmmssSSS')}`;\n // }\n let rd: any = `${moment().format('YYYYMMDDHHmmss')}` + Math.round((Math.random() * 9 + 1) * 100000);\n return type!! ? type + '_' + rd : rd;\n }\n\n //1、字符串\n private text(field: any) {\n let config: any = {\n type: 'text',\n key: field.key ? field.key : this.datetimeString('text'),\n props: {\n label: field?.label,\n required: field?.allowNull,\n maxLength: field?.maxLength,\n minLength: field?.minLength,\n placeholder: field?.placeholder ? field?.placeholder : `请输入${field?.label}`,\n isButintin: field?.isButintin,\n tips: field?.tips,\n pattern: field?.pattern,\n cols: field.cols ? field.cols : 24,\n },\n };\n return config;\n }\n\n //2、多行文本\n private textArea(field: any) {\n let config: any = {\n type: 'textarea',\n key: field.key ? field.key : this.datetimeString('textarea'),\n\n props: {\n label: field?.label,\n required: field?.allowNull,\n maxLength: field?.maxLength,\n minLength: field?.minLength,\n placeholder: field?.placeholder ? field?.placeholder : `请输入${field?.label}`,\n isButintin: field?.isButintin,\n tips: field?.tips,\n pattern: field?.pattern,\n cols: field.cols ? field.cols : 24,\n rows: field.rows ? field.rows : 1,\n },\n };\n return config;\n }\n\n //3、数字\n private number(field: any) {\n let config: any = {\n type: 'number',\n key: field.key ? field.key : this.datetimeString('number'),\n\n props: {\n label: field?.label,\n required: field?.allowNull,\n max: field.max,\n min: field.min,\n placeholder: field?.placeholder ? field?.placeholder : `请输入${field?.label}`,\n isButintin: field?.isButintin,\n tips: field?.tips,\n pattern: field?.pattern,\n precision: field.precision,\n cols: field.cols ? field.cols : 24,\n },\n };\n return config;\n }\n\n //4、密码\n private passWord(field: any) {\n let config: any = {\n type: 'password',\n key: field.key ? field.key : this.datetimeString('password'),\n\n props: {\n label: field?.label,\n required: field?.allowNull,\n maxLength: field?.maxLength,\n minLength: field?.minLength,\n placeholder: field?.placeholder ? field?.placeholder : `请输入${field?.label}`,\n isButintin: field?.isButintin,\n tips: field?.tips,\n pattern: field?.pattern,\n cols: field.cols ? field.cols : 24,\n },\n };\n return config;\n }\n\n //5、多语言\n private textI18N(field: any) {\n let config: any = {\n type: 'texti18n',\n key: field.key ? field.key : this.datetimeString('texti18n'),\n\n props: {\n label: field?.label,\n required: field?.allowNull,\n maxLength: field?.maxLength,\n minLength: field?.minLength,\n placeholder: field?.placeholder ? field?.placeholder : `请输入${field?.label}`,\n isButintin: field?.isButintin,\n tips: field?.tips,\n pattern: field?.pattern,\n cols: field.cols ? field.cols : 24,\n },\n };\n return config;\n }\n\n //6、单选\n private radio(field: any) {\n let config: any = {\n type: 'radio',\n key: field.key ? field.key : this.datetimeString('radio'),\n\n props: {\n type: field.showType,\n label: field?.label,\n required: field?.allowNull,\n isButintin: field?.isButintin,\n tips: field?.tips,\n pattern: field?.pattern,\n cols: field.cols ? field.cols : 24,\n },\n };\n return config;\n }\n\n //7、单选组\n private radioGroup(field: any) {\n let config: any = {\n type: 'radiogroup',\n key: field.fieldCode ? field.fieldCode : this.datetimeString('radiogroup'),\n\n props: {\n type: field.showType,\n label: field?.label,\n options: [\n { label: '选项一', value: this.datetimeString() },\n { label: '选项二', value: this.datetimeString() },\n { label: '选项三', value: this.datetimeString() },\n ],\n required: field?.allowNull,\n isButintin: field?.isButintin,\n tips: field?.tips,\n pattern: field?.pattern,\n cols: field.cols ? field.cols : 24,\n },\n };\n return config;\n }\n\n //8、复选\n private checkbox(field: any) {\n let config: any = {\n type: 'checkbox',\n key: field.key ? field.key : this.datetimeString('checkbox'),\n\n props: {\n type: field.showType,\n label: field?.label,\n required: field?.allowNull,\n isButintin: field?.isButintin,\n tips: field?.tips,\n pattern: field?.pattern,\n cols: field.cols ? field.cols : 24,\n },\n };\n return config;\n }\n\n //9、复选组\n private checkboxGroup(field: any) {\n let config: any = {\n type: 'checkboxgroup',\n key: field.fieldCode ? field.fieldCode : this.datetimeString('checkboxgroup'),\n\n props: {\n type: field.showType,\n label: field?.label,\n options: [\n { label: '选项一', value: this.datetimeString() },\n { label: '选项二', value: this.datetimeString() },\n { label: '选项三', value: this.datetimeString() },\n ],\n required: field?.allowNull,\n isButintin: field?.isButintin,\n tips: field?.tips,\n pattern: field?.pattern,\n cols: field.cols ? field.cols : 24,\n },\n status: 1,\n };\n return config;\n }\n\n //10、下拉\n private select(field: any) {\n let config: any = {\n type: 'select',\n key: field.key ? field.key : this.datetimeString('select'),\n\n props: {\n type: field.showType,\n label: field?.label,\n required: field?.allowNull,\n selectType: field.selectType,\n parameterId: field.parameterId,\n options: field.parameterData,\n placeholder: field?.placeholder ? field?.placeholder : `请输入${field?.label}`,\n isButintin: field?.isButintin,\n tips: field?.tips,\n pattern: field?.pattern,\n cols: field.cols ? field.cols : 24,\n },\n };\n return config;\n }\n\n //11、日期\n private datetime(field: any) {\n let config: any = {\n type: 'datetime',\n key: field.key ? field.key : this.datetimeString('datetime'),\n\n props: {\n type: field.showType,\n label: field?.label,\n required: field?.allowNull,\n placeholder: field?.placeholder ? field?.placeholder : `请输入${field?.label}`,\n isButintin: field?.isButintin,\n tips: field?.tips,\n pattern: field?.pattern,\n format: field.format,\n cols: field.cols ? field.cols : 24,\n },\n status: 1,\n };\n return config;\n }\n\n //12、图片\n private image(field: any) {\n let config: any = {\n type: 'image',\n key: field.key ? field.key : this.datetimeString('image'),\n\n props: {\n label: field?.label,\n required: field?.allowNull,\n placeholder: field?.placeholder,\n isButintin: field?.isButintin,\n tips: field?.tips,\n pattern: field?.pattern,\n cols: field.cols ? field.cols : 24,\n },\n status: 1,\n };\n return config;\n }\n\n //13、分割线\n private line(field: any) {\n let config: any = {\n type: 'line',\n key: field.key ? field.key : this.datetimeString('line'),\n props: {\n label: '分割线',\n type: 'horizontal',\n hideLabel: false,\n line: 'dotted',\n orientation: 'left',\n cols: field.cols ? field.cols : 24,\n },\n };\n return config;\n }\n\n //14、文本描述\n private html(field: any) {\n let config: any = {\n type: 'html',\n key: field.key ? field.key : this.datetimeString('html'),\n props: {\n label: '文本描述',\n hideLabel: true,\n cols: field.cols ? field.cols : 24,\n },\n };\n return config;\n }\n\n //15、repeat\n private repeat(field: any) {\n let config: any = {\n type: 'repeat',\n key: field.key ? field.key : this.datetimeString('repeat'),\n\n defaultText: field.defaultText,\n props: {\n type: field.showType ? field.showType : 'card',\n label: field?.label,\n required: field?.allowNull,\n placeholder: field?.placeholder,\n isButintin: field?.isButintin,\n tips: field?.tips,\n pattern: field?.pattern,\n minLength: field?.minLength,\n maxLength: field?.maxLength,\n cols: field.cols ? field.cols : 24,\n },\n fieldArray: {\n fieldGroup: [],\n },\n };\n if (field.fields && field.fields.length > 0) {\n field.fields.forEach((item: any) => {\n config.fieldArray.fieldGroup.push(this.getFiledInfoFunction(item));\n });\n }\n return config;\n }\n\n //16、panel\n private panel(field: any) {\n let config: any = {\n type: 'panel',\n key: field.key ? field.key : this.datetimeString('panel'),\n\n defaultText: field.defaultText,\n props: {\n label: field?.label,\n required: field?.allowNull,\n placeholder: field?.placeholder,\n isButintin: field?.isButintin,\n tips: field?.tips,\n pattern: field?.pattern,\n minLength: field?.minLength,\n maxLength: field?.maxLength,\n cols: field.cols ? field.cols : 24,\n },\n fieldGroup: [],\n };\n return config;\n }\n\n //17、label\n private label(field: any) {\n let config: any = {\n type: 'label',\n key: field.key ? field.key : this.datetimeString('label'),\n\n props: {\n label: field?.label,\n isButintin: field?.isButintin,\n tips: field?.tips,\n cols: field.cols ? field.cols : 24,\n },\n };\n return config;\n }\n\n //18、richtext\n private richtext(field: any) {\n let config: any = {\n type: 'richtext',\n key: field.key ? field.key : this.datetimeString('label'),\n\n props: {\n label: field?.label,\n isButintin: field?.isButintin,\n placeholder: field?.placeholder,\n tips: field?.tips,\n cols: field.cols ? field.cols : 24,\n },\n };\n return config;\n }\n\n // 、人员employee | 职位position | 组织organizational | 地区area\n private lookup(field: any) {\n let config: any = {\n type: field.dataType,\n key: field.key ? field.key : Guid.createId()['value'],\n\n defaultText: field.defaultText,\n props: {\n type: field.showType,\n label: field?.label,\n required: field?.allowNull,\n placeholder: field?.placeholder,\n isButintin: field?.isButintin,\n tips: field?.tips,\n pattern: field?.pattern,\n minLength: field?.minLength,\n maxLength: field?.maxLength,\n },\n };\n return config;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\n\n@Injectable({ providedIn: 'root' })\nexport class GramGlobalService {\n private data: any = new Subject<object>();\n private dataStream$: any = this.data.asObservable();\n\n private subscriptions: Map<string, Array<(en: any) => void>> = new Map<string, Array<(en: any) => void>>();\n\n constructor() {\n this.dataStream$.subscribe((data: any) => this._onEvent(data));\n }\n\n notifyDataChanged(event: any, value: any) {\n const current = this.data[event];\n if (current !== value) {\n this.data[event] = value;\n\n this.data.next({\n event,\n data: this.data[event],\n });\n }\n }\n removeSubscribe(event: string) {\n if (this.subscriptions.has(event)) {\n this.subscriptions.delete(event);\n }\n }\n\n subscribe(event: string, callback: (en: any) => void) {\n const subscribers = this.subscriptions.get(event) || [];\n subscribers.push(callback);\n\n this.subscriptions.set(event, subscribers);\n }\n\n _onEvent(data: any) {\n const subscribers = this.subscriptions.get(data.event) || [];\n\n subscribers.forEach((callback) => {\n callback.call(null, data.data);\n });\n }\n}\n","import { Directive } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { _HttpClient } from '@delon/theme';\nimport { CommAPIService } from '@ebuilding/base/shared.srv/commApi.service';\n@Directive()\nexport abstract class LayoutDetailPageService {\n loading: boolean = true;\n\n moduleCode: any = 'user';\n\n layoutDetailId: any;\n layoutDetailData: any;\n\n pageConfig: any;\n\n constructor(public http: _HttpClient, public activatedRoute: ActivatedRoute, public commAPISrv: CommAPIService) {\n this.activatedRoute.params.subscribe((item: any) => {\n this.layoutDetailId = item.id;\n this.getLayoutDetailData();\n });\n }\n\n ngOnDestroy() { }\n\n initPageData() { }\n\n /**\n * 获取布局数据\n */\n getLayoutDetailData() {\n if (this.layoutDetailId!!) {\n this.loading = true;\n let address: any = this.commAPISrv.getLayoutDetailAddress(this.moduleCode, this.layoutDetailId);\n this.http.post(address).subscribe((res: any) => {\n let result: any = res.result;\n if (res.success && result!!) {\n result.module = this.moduleCode;\n this.layoutDetailData = result;\n }\n this.loading = false;\n this.initPageData();\n });\n } else {\n this.loading = false;\n }\n }\n}\n","import { Directive } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { _HttpClient } from '@delon/theme';\nimport { CommAPIService } from '@ebuilding/base/shared.srv/commApi.service';\n@Directive()\nexport abstract class LayoutPageService {\n loading: boolean = true;\n\n moduleCode: any = 'user';\n\n /**\n * 布局ID\n */\n layoutId: any = null;\n\n /**\n * 布局数据\n */\n layoutData: any = null;\n\n constructor(public http: _HttpClient, public activatedRoute: ActivatedRoute, public commAPISrv: CommAPIService) {\n this.activatedRoute.params.subscribe((item: any) => {\n this.layoutId = item.id;\n this.getLayoutData();\n });\n }\n\n ngOnDestroy() { }\n\n initPageData() { }\n\n /**\n * 获取布局数据\n */\n getLayoutData() {\n if (this.layoutId!!) {\n this.loading = true;\n let address: any = this.commAPISrv.getLayoutAddress(this.moduleCode, this.layoutId);\n this.http.post(address).subscribe((res: any) => {\n let result: any = res.result;\n if (res.success && result!!) {\n result.module = this.moduleCode;\n this.layoutData = result;\n }\n this.loading = false;\n this.initPageData();\n });\n } else {\n this.loading = false;\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport { CommAPIService } from '@ebuilding/base/shared.srv/commApi.service';\n@Injectable()\nexport class ListService {\n constructor(public commAPISrv: CommAPIService) { }\n\n /**\n * 获取 表格 Header\n * @param e\n * @returns\n */\n getHeaderData(e: any) {\n let result: any[] = [];\n result = e.listHeader.map((element: any) => {\n let item: any = {\n key: element.key,\n label: element.label,\n type: element.type,\n auto: element.widthAuto,\n width: element.width,\n hide: element.hide,\n layoutId: element.layoutId,\n layoutType: element.layoutType,\n izFieldDesc: element.izFieldDesc,\n explain: element.explain,\n fieldClick: element.fieldClick,\n fieldArg: element.fieldArg,\n styles: element.styles,\n stylesName: element.stylesName,\n unit: element.unit,\n unitExplain: element.unitExplain,\n };\n if (element.sortShow == true) {\n item['sort'] = {\n show: true,\n field: element.sortField,\n };\n }\n return item;\n });\n return result;\n }\n\n /**\n * 获取 快捷搜索\n * @param e\n * @returns\n */\n getQuickData(e: any) {\n let result: any = null;\n if (e.listQuick!! && e.listQuick.length > 0) {\n result = {};\n e.listQuick.forEach((element: any) => {\n result[element.key] = {\n label: element.label,\n type: element.type,\n selectType: element.selectType,\n selected: element.selected,\n options: element.options,\n format: element?.format,\n izBetween: element?.izBetween,\n };\n });\n }\n return result;\n }\n\n /**\n * 获取 列表外部 按钮\n * @param e\n * @returns\n */\n getOuterButtonData(e: any) {\n let result: any[] = [];\n if (e.listButton!! && e.listButton.length > 0) {\n let listButton: any[] = e.listButton.filter((v: any) => {\n return v.buttonPosition == 'OUTER';\n });\n if (listButton!! && listButton.length > 0) {\n result = listButton.map((item: any) => {\n let api: any = {};\n switch (item?.buttonType) {\n case 'ADD':\n if (item.saveApiAddress!!) {\n api['addAPI'] = item.saveApiAddress;\n } else {\n api['addAPI'] = this.commAPISrv.getFormAdd(e.basic.moduleCode);\n }\n break;\n case 'DELETES':\n api['deletesAPI'] = this.commAPISrv.getPageDeletes(e.basic.moduleCode);\n break;\n case 'DISABLED':\n api['disablesAPI'] = this.commAPISrv.getPageDisables(e.basic.moduleCode);\n break;\n case 'ENABLE':\n api['disablesAPI'] = this.commAPISrv.getPageDisables(e.basic.moduleCode);\n break;\n default:\n break;\n }\n return {\n custom: true,\n id: item?.id,\n code: item.code,\n roleCode: item.roleCode,\n moduleCode: e.basic.moduleCode,\n isPreEventRule: item?.isPreEventRule,\n name: item.name,\n throw: item.izThrow,\n fixed: item.izFixed,\n fixedUrl: item.fixedUrl,\n izEmp: item.izEmp,\n izRole: item?.izRole == false ? false : true,\n tips: item?.tips,\n buttonType: item.buttonType,\n responseType: item.responseType,\n responseMode: item.responseMode,\n responseId: item.responseId,\n responseName: item.responseName,\n responseArgType: item?.responseArgType,\n arg: item.listArg,\n api: api,\n };\n });\n }\n }\n return result;\n }\n\n /**\n * 获取 列表内部 按钮\n * @param e\n * @returns\n */\n getInnerButtonData(e: any) {\n let result: any = null;\n if (e.listButton!! && e.listButton.length > 0) {\n let listButton: any[] = e.listButton.filter((v: any) => {\n return v.buttonPosition == 'INNER';\n });\n if (listButton!! && listButton.length > 0) {\n result = {};\n listButton.forEach((item: any) => {\n let api: any = {};\n switch (item?.buttonType) {\n case 'VIEW':\n if (item.getApiAddress!!) {\n api['modelAPI'] = item.getApiAddress;\n } else {\n api['modelAPI'] = this.commAPISrv.getFormModel(e.basic.moduleCode);\n }\n break;\n case 'EDIT':\n /**\n * 查看\n */\n if (item.getApiAddress!!) {\n api['modelAPI'] = item.getApiAddress;\n } else {\n api['modelAPI'] = this.commAPISrv.getFormModel(e.basic.moduleCode);\n }\n\n /**\n * 保存\n */\n if (item.saveApiAddress!!) {\n api['editAPI'] = item.saveApiAddress;\n } else {\n api['editAPI'] = this.commAPISrv.getFormUpdate(e.basic.moduleCode);\n }\n break;\n case 'CANCEL':\n if (item.saveApiAddress!!) {\n api['cancelAPI'] = item.saveApiAddress;\n } else {\n api['cancelAPI'] = this.commAPISrv.getPageCancel(e.basic.moduleCode);\n }\n break;\n case 'DELETE':\n if (item.saveApiAddress!!) {\n api['deleteAPI'] = item.saveApiAddress;\n } else {\n api['deleteAPI'] = this.commAPISrv.getPageDelete(e.basic.moduleCode);\n }\n break;\n case 'DISABLED':\n if (item.saveApiAddress!!) {\n api['disableAPI'] = item.saveApiAddress;\n } else {\n api['disableAPI'] = this.commAPISrv.getPageDisable(e.basic.moduleCode);\n }\n break;\n case 'ENABLE':\n if (item.saveApiAddress!!) {\n api['disableAPI'] = item.saveApiAddress;\n } else {\n api['disableAPI'] = this.commAPISrv.getPageDisable(e.basic.moduleCode);\n }\n break;\n case 'HISTORY':\n if (item.historyApiAddress!!) {\n api['historyAPI'] = item.historyApiAddress;\n } else {\n api['historyAPI'] = this.commAPISrv.getPageHistory(e.basic.moduleCode);\n }\n break;\n case 'COPY':\n if (item.copyApiAddress!!) {\n api['copyAPI'] = item.copyApiAddress;\n } else {\n if (item.saveApiAddress!!) {\n api['copyAPI'] = item.saveApiAddress;\n } else {\n api['copyAPI'] = this.commAPISrv.getPageCopy(e.basic.moduleCode);\n }\n }\n break;\n default:\n if (item.getApiAddress!!) {\n api['modelAPI'] = item.getApiAddress;\n }\n if (item.saveApiAddress!!) {\n api['editAPI'] = item.saveApiAddress;\n }\n break;\n }\n result[item.code] = {\n custom: true,\n id: item?.id,\n code: item.code,\n roleCode: item.roleCode,\n moduleCode: e.basic.moduleCode,\n isPreEventRule: item?.isPreEventRule,\n name: item.name,\n throw: item.izThrow,\n fixed: item.izFixed,\n fixedUrl: item.fixedUrl,\n izEmp: item.izEmp,\n tips: item?.tips,\n izRole: item?.izRole == false ? false : true,\n buttonType: item.buttonType,\n responseType: item.responseType,\n responseMode: item.responseMode,\n responseId: item.responseId,\n responseName: item.responseName,\n responseArgType: item?.responseArgType,\n arg: item.listArg,\n api: api,\n };\n });\n }\n }\n return result;\n }\n\n /**\n * 获取 列表内部 点击\n * @param e\n * @returns\n */\n getFieldButtonData(e: any) {\n let result: any = null;\n if (e.listHeader!! && e.listHeader.length > 0) {\n let listButton: any[] = e.listHeader.filter((v: any) => {\n return v.fieldClick == true && v.fieldArg!!;\n });\n if (listButton!! && listButton.length > 0) {\n result = {};\n listButton.forEach((item: any) => {\n let fieldArg: any = item.fieldArg;\n result[item.key] = {\n custom: true,\n id: item?.id,\n code: item.key,\n roleCode: null,\n moduleCode: e.basic.moduleCode,\n name: item.label,\n throw: fieldArg.izThrow,\n fixed: fieldArg?.izFixed,\n fixedUrl: fieldArg?.fixedUrl,\n izEmp: item.izEmp,\n tips: null,\n buttonType: fieldArg.buttonType,\n responseType: fieldArg.responseType,\n responseMode: fieldArg.responseMode,\n responseId: fieldArg.responseId,\n responseName: fieldArg.responseName,\n responseArgType: fieldArg?.responseArgType,\n arg: fieldArg.listArg,\n api: null,\n };\n });\n }\n }\n return result;\n }\n}\n","import { Injectable, Inject, PLATFORM_ID } from '@angular/core';\nimport { isPlatformBrowser } from '@angular/common';\n\nfunction _window(): any {\n return window;\n}\n\n@Injectable({ providedIn: 'root' })\nexport class GramWindowService {\n constructor(@Inject(PLATFORM_ID) private platformId: object) { }\n\n get nativeWindow(): any {\n if (isPlatformBrowser(this.platformId)) {\n return _window();\n }\n }\n\n}","import { Injectable } from '@angular/core';\nimport { IndicatorType, EvalType } from '@ebuilding/base/shared.util/comm.kpi';\n\n@Injectable()\nexport class FieldSourceService {\n /**\n * 获取默认字段\n * @param type\n * @returns\n */\n fieldSourceType(source: any, layout?: any) {\n let field: any = {};\n switch (source.type) {\n case 'TEXT':\n field = this.text(source, layout);\n break;\n case 'COLOR':\n field = this.color(source, layout);\n break;\n case 'ICON':\n field = this.icon(source, layout);\n break;\n case 'TEXTAREA':\n field = this.textArea(source, layout);\n break;\n case 'INT':\n field = this.number(source, 0, layout);\n break;\n case 'FLOAT':\n field = this.number(source, source.precision, layout);\n break;\n case 'DATETIME':\n field = this.datetime(source, layout);\n break;\n case 'BOOLEAN':\n field = this.fieldBoolean(source, layout);\n break;\n case 'ITEM':\n field = this.select(source, layout);\n break;\n case 'MULTIPLE':\n field = this.repeat(source, layout);\n break;\n case 'TREE':\n field = this.tree(source, layout);\n break;\n case 'REF':\n field = this.lookup(source, layout);\n break;\n case 'ONETOMANY':\n field = this.lookupMany(source, layout);\n break;\n case 'ATTACHMENT':\n field = this.upload(source, layout);\n break;\n case 'INDICATOR':\n field = this.indicator(source, layout);\n break;\n default:\n break;\n }\n\n return field;\n }\n\n /**\n * 单行文本\n * @param field\n * @returns\n */\n private text(field: any, layout?: any) {\n let sysType: any = null;\n if (field.code == 'create_user' || field.code == 'modify_user') {\n sysType = field.code.toUpperCase();\n }\n let config: any = {\n type: 'text',\n key: field.id,\n defaultValue: null,\n props: {\n type: null,\n sysType: sysType,\n izSysName: false,\n label: field.name,\n required: field?.required == true ? true : false,\n maxLength: field.maxLength,\n minLength: null,\n placeholder: `请输入${field.name}`,\n layout: layout ? layout : 'default',\n },\n };\n if (field.izCodeRule && field.codeRuleId!!) {\n config = {\n type: 'textcode',\n key: field.id,\n defaultValue: null,\n props: {\n label: field.name,\n required: field?.required == true ? true : false,\n maxLength: field.maxLength,\n minLength: null,\n placeholder: `请输入${field.name}`,\n layout: layout ? layout : 'default',\n },\n };\n }\n\n return config;\n }\n\n private color(field: any, layout?: any) {\n let config: any = {\n type: 'color',\n key: field.id,\n defaultValue: null,\n props: {\n label: field.name,\n required: field?.required == true ? true : false,\n layout: layout ? layout : 'default',\n },\n };\n return config;\n }\n\n private icon(field: any, layout?: any) {\n let config: any = {\n type: 'icon',\n key: field.id,\n defaultValue: null,\n props: {\n label: field.name,\n required: field?.required == true ? true : false,\n layout: layout ? layout : 'default',\n },\n };\n return config;\n }\n\n /**\n * 多行文本\n * @param field\n * @returns\n */\n private textArea(field: any, layout?: any) {\n let config: any = {\n type: 'textarea',\n key: field.id,\n defaultValue: null,\n props: {\n label: field.name,\n required: field?.required == true ? true : false,\n maxLength: field.maxLength,\n minLength: field.minLength,\n placeholder: `请输入${field.name}`,\n rows: 3,\n layout: layout ? layout : 'default',\n },\n };\n return config;\n }\n\n /**\n * 整数、小数 类型\n * @param field\n * @param precision\n * @returns\n */\n private number(field: any, precision: number, layout?: any) {\n let config: any = {\n type: 'number',\n key: field.id,\n defaultValue: null,\n props: {\n label: field.name,\n required: field?.required == true ? true : false,\n max: field.max,\n min: field.min,\n placeholder: `请输入${field.name}`,\n precision: precision,\n layout: layout ? layout : 'default',\n },\n };\n return config;\n }\n\n /**\n * 日期型\n * @param field\n * @returns\n */\n private datetime(field: any, layout?: any) {\n let config: any = {\n type: 'datetime',\n key: field.id,\n defaultValue: null,\n props: {\n type: 'datetime',\n label: field.name,\n required: field?.required == true ? true : false,\n layout: layout ? layout : 'default',\n },\n };\n return config;\n }\n\n /**\n * 布尔值\n * @param field\n * @returns\n */\n private fieldBoolean(field: any, layout?: any) {\n let config: any = {\n type: 'radiogroup',\n key: field.id,\n defaultValue: true,\n props: {\n type: 'default',\n label: field.name,\n options: [\n { label: '是', value: true },\n { label: '否', value: false },\n ],\n required: field?.required == true ? true : false,\n sourceType: 'boolean',\n layout: layout ? layout : 'default',\n },\n };\n return config;\n }\n\n /**\n * 选择\n * @param field\n * @returns\n */\n private select(field: any, layout?: any) {\n let config: any = {\n type: 'select',\n key: field.id,\n defaultValue: null,\n props: {\n label: field.name,\n required: field?.required == true ? true : false,\n options: [],\n placeholder: `请选择${field.name}`,\n selectType: field?.multiple == true ? 'multiple' : 'single',\n layout: layout ? layout : 'default',\n },\n };\n return config;\n }\n\n /**\n * 子表单\n * @param field\n * @returns\n */\n private repeat(field: any, layout?: any) {\n let config: any = {\n type: 'repeat',\n key: field.id,\n props: {\n type: 'default',\n label: field.name,\n },\n fieldArray: {\n fieldGroup: [],\n },\n };\n return config;\n }\n\n private tree(field: any, layout?: any) {\n let config: any = {\n type: 'tree',\n key: field.id,\n defaultValue: null,\n props: {\n label: field.name,\n treeId: field.refId,\n required: field?.required == true ? true : false,\n placeholder: `请选择${field.name}`,\n selectType: field?.multiple == true ? 'multiple' : 'single',\n layout: layout ? layout : 'default',\n },\n };\n return config;\n }\n\n private lookup(field: any, layout?: any) {\n let config: any = {\n type: 'lookup',\n key: field.id,\n defaultValue: null,\n props: {\n label: field.name,\n required: field?.required == true ? true : false,\n placeholder: `请选择${field.name}`,\n selectType: field?.multiple == true ? 'multiple' : 'single',\n layout: layout ? layout : 'default',\n },\n };\n return config;\n }\n private lookupMany(field: any, layout?: any) {\n let config: any = {\n type: 'one2many',\n key: field.id,\n defaultValue: null,\n props: {\n label: field.name,\n required: field?.required == true ? true : false,\n placeholder: `请选择${field.name}`,\n selectType: 'multiple',\n layout: layout ? layout : 'default',\n },\n };\n return config;\n }\n\n /**\n * 附件 类型\n * @param field\n * @param precision\n * @returns\n */\n private upload(field: any, layout?: any) {\n let config: any = {\n type: 'upload',\n key: field.id,\n defaultValue: null,\n props: {\n label: field.name,\n required: field?.required == true ? true : false,\n placeholder: `请上传${field.name}`,\n layout: layout ? layout : 'default',\n },\n };\n if (field?.max != undefined && field?.max != null && field?.max > 0) {\n config.props['max'] = field.max;\n }\n return config;\n }\n\n private indicator(field: any, layout?: any) {\n let indTypeValue: any = 'KPI';\n let evalTypeValue: any = 'SCORE';\n if (field?.indType) {\n indTypeValue = field.indType;\n }\n if (field?.evalType) {\n evalTypeValue = field.evalType;\n }\n\n let group: any[] = [\n {\n key: `name`,\n type: 'text',\n props: {\n label: '指标名称',\n placeholder: `请输入指标名称`,\n required: true,\n minLength: 0,\n maxLength: 500,\n layout: 'default',\n },\n className: 'full-row',\n defaultValue: field?.name,\n },\n {\n key: `desc`,\n type: 'textarea',\n props: {\n label: '指标描述',\n placeholder: `请输入指标描述`,\n required: false,\n minLength: 0,\n maxLength: 800,\n rows: 3,\n layout: 'default',\n },\n defaultValue: field?.description,\n },\n {\n key: `indType`,\n type: 'select',\n props: {\n label: '指标类型',\n placeholder: `请选择指标类型`,\n required: false,\n layout: 'default',\n options: IndicatorType(),\n },\n editor: false,\n defaultValue: indTypeValue,\n },\n {\n key: `evalType`,\n type: 'select',\n props: {\n label: '评估方式',\n placeholder: `请选择评估方式`,\n required: false,\n layout: 'default',\n options: EvalType(),\n },\n editor: false,\n defaultValue: evalTypeValue,\n },\n ];\n\n if (field?.indType) {\n switch (field.indType) {\n case 'KPI':\n group.push({\n key: `weight`,\n type: 'number',\n props: {\n label: '指标权重',\n placeholder: `请输入指标权重`,\n required: true,\n min: -100,\n max: 300,\n layout: 'default',\n unit: '%',\n },\n defaultValue: 10,\n });\n break;\n }\n }\n\n if (field?.listItem && Array.isArray(field?.listItem)) {\n field.listItem.forEach((item: any) => {\n item.id = `item_${item.id}`;\n let newItem: any = this.fieldSourceType(item);\n if (newItem) {\n group.push(newItem);\n }\n });\n }\n\n let config: any = {\n type: 'indicator',\n key: `ind_${field.id}`,\n defaultValue: null,\n props: {\n indConfig: {\n sourceId: field.id,\n sourceType: 'LIBRARY',\n izAllowDel: true,\n izEditName: true,\n izEditDesc: true,\n izEditWeight: true,\n },\n },\n fieldGroup: group,\n };\n return config;\n }\n}\n","\n//export * from \"./commApi.service\";\nexport * from \"./base-dialog.service\";\nexport * from \"./base-list.service\";\nexport * from \"./base-table.service\";\nexport * from \"./base-title.service\";\nexport * from \"./base-tree.service\";\nexport * from \"./basePage\";\nexport * from \"./deon.util\";\nexport * from \"./deon2.util\";\nexport * from \"./dialog.token\";\nexport * from \"./field.init\";\nexport * from \"./global.event\";\nexport * from \"./layout-detail.service\";\nexport * from \"./layout.service\";\nexport * from \"./listService\";\nexport * from \"./window.service\";\nexport * from \"./field-source.service\";\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2","i3"],"mappings":"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"}
1
+ {"version":3,"file":"shared.srv.mjs","sources":["../../../../packages/base/shared.srv/base-dialog.service/index.ts","../../../../packages/base/shared.srv/base-list.service/index.ts","../../../../packages/base/shared.srv/base-table.service/index.ts","../../../../packages/base/shared.srv/base-title.service/index.ts","../../../../packages/base/shared.srv/base-tree.service/index.ts","../../../../packages/base/shared.srv/basePage/index.ts","../../../../packages/base/shared.srv/deon.util/index.ts","../../../../packages/base/shared.srv/deon2.util/index.ts","../../../../packages/base/shared.srv/dialog.token/index.ts","../../../../packages/base/shared.srv/field.init/index.ts","../../../../packages/base/shared.srv/global.event/index.ts","../../../../packages/base/shared.srv/layout-detail.service/index.ts","../../../../packages/base/shared.srv/layout.service/index.ts","../../../../packages/base/shared.srv/listService/index.ts","../../../../packages/base/shared.srv/window.service/index.ts","../../../../packages/base/shared.srv/field-source.service/index.ts","../../../../packages/base/shared.srv/index.ts","../../../../packages/base/shared.srv/shared.srv.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\nimport { NzModalService } from 'ng-zorro-antd/modal';\r\nimport { NzDrawerService, NzDrawerRef, NzDrawerPlacement } from '@ebuilding/base/components/drawer';\r\ntype ModalSizeType = 'small' | 'small2' | 'medium' | 'large' | 'custom' | 'upload' | 'full' | null;\r\nexport interface ModalOptions {\r\n nzContent: any; //组件\r\n nzFooter?: any;\r\n nzModel?: ''; //multiple\r\n nzMask?: boolean;\r\n size?: ModalSizeType; //小/中/大\r\n nzTitle?: string; //标题\r\n primaryLabel?: string; //按钮‘label’,不传默认为‘确定’\r\n vertical?: boolean; //弹框是否为垂直居中,默认不垂直居中\r\n hideBtn?: boolean; //是否隐藏footer按钮\r\n showResetBtn?: boolean; //是否显示重置按钮\r\n width?: number;\r\n height?: number;\r\n nzClosable?: boolean;\r\n style?: any;\r\n innerWidth?: boolean;\r\n placement?: NzDrawerPlacement;\r\n}\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class GramBaseDialogService {\r\n private drawerRefs: Set<NzDrawerRef<any>> = new Set();\r\n\r\n constructor(public modalService: NzModalService, public drawerService: NzDrawerService) { }\r\n switchSize(size: any) {\r\n const obj = {\r\n width: 700,\r\n height: 500,\r\n };\r\n switch (size) {\r\n case 'small':\r\n obj.width = 530;\r\n obj.height = 400;\r\n break;\r\n case 'small2':\r\n obj.width = 200;\r\n obj.height = 300;\r\n break;\r\n case 'medium':\r\n obj.width = 700;\r\n obj.height = 500;\r\n break;\r\n case 'large':\r\n obj.width = 1100;\r\n obj.height = 700;\r\n break;\r\n case 'upload':\r\n obj.width = 700;\r\n obj.height = 400;\r\n break;\r\n default:\r\n obj.width = 700;\r\n obj.height = 500;\r\n break;\r\n }\r\n return obj;\r\n }\r\n public CreateModelDialog(modalOptions: ModalOptions, params: any, callback: any) {\r\n let width: any = this.switchSize(modalOptions.size).width;\r\n let height: any = this.switchSize(modalOptions.size).height;\r\n let style: any = null;\r\n if (modalOptions.size && modalOptions.size === 'custom') {\r\n if (modalOptions.width) {\r\n width = modalOptions.width;\r\n }\r\n if (modalOptions.height) {\r\n height = modalOptions.height;\r\n }\r\n if (modalOptions.style) {\r\n style = modalOptions.style;\r\n }\r\n }\r\n\r\n if (modalOptions.nzContent == undefined || modalOptions.nzContent == null) {\r\n }\r\n let title = '';\r\n switch (params.type) {\r\n case 'add':\r\n title = '新增 - ';\r\n break;\r\n case 'edit':\r\n case 'edit_state':\r\n title = '编辑 - ';\r\n break;\r\n case 'view':\r\n case 'primary_key':\r\n title = '查看 - ';\r\n break;\r\n default:\r\n break;\r\n }\r\n if (modalOptions.nzTitle) {\r\n title = title + modalOptions.nzTitle;\r\n }\r\n const modal: any = this.modalService.create({\r\n nzStyle: style,\r\n nzTitle: title,\r\n nzWidth: width + 'px',\r\n nzClosable: modalOptions.nzClosable != undefined ? modalOptions.nzClosable : true,\r\n nzMaskClosable: false,\r\n nzWrapClassName: modalOptions.vertical ? 'vertical-center-modal' : '',\r\n nzBodyStyle: {\r\n padding: '0',\r\n height: !modalOptions.hideBtn ? height - 107 + 'px' : height - 54 + 'px',\r\n },\r\n nzContent: modalOptions.nzContent,\r\n nzFooter:\r\n params.type !== 'view' && params.type !== 'upload'\r\n ? [\r\n {\r\n show: true,\r\n label: '取消',\r\n type: 'default',\r\n onClick: (e: any) => {\r\n modal.destroy();\r\n },\r\n },\r\n {\r\n show: true,\r\n label: modalOptions.primaryLabel ? modalOptions.primaryLabel : '确定',\r\n type: 'primary',\r\n onClick: (e: any) => callback('save', e, modal),\r\n },\r\n // {\r\n // show: params.type === 'add',\r\n // label: modalOptions.primaryLabel ? modalOptions.primaryLabel : '确定继续录入',\r\n // type: 'primary',\r\n // onClick: (e: any) => callback('save-next', e, modal),\r\n // },\r\n ]\r\n : null,\r\n nzOnOk: (e: any) => { },\r\n nzOnCancel: (e: any) => { },\r\n //nzComponentParams: params,\r\n });\r\n\r\n if (modal.getContentComponent()) {\r\n Object.assign(modal.getContentComponent(), params);\r\n }\r\n\r\n modal.afterClose.subscribe((result: any) => {\r\n if (result) {\r\n callback(result);\r\n }\r\n });\r\n }\r\n\r\n public CreateModelDialogSelect(modalOptions: ModalOptions, params: any, callback: any) {\r\n const width = this.switchSize(modalOptions.size).width;\r\n const height = this.switchSize(modalOptions.size).height;\r\n\r\n const modal: any = this.modalService.create({\r\n nzTitle: modalOptions.nzTitle ? modalOptions.nzTitle : '提示',\r\n nzWidth: width + 'px',\r\n nzClosable: true,\r\n nzMaskClosable: false,\r\n nzWrapClassName: modalOptions.vertical ? 'vertical-center-modal' : '',\r\n nzBodyStyle: {\r\n padding: '0',\r\n height: !modalOptions.hideBtn ? height - 107 + 'px' : height - 54 + 'px',\r\n },\r\n nzContent: modalOptions.nzContent,\r\n nzFooter: [\r\n {\r\n show: true,\r\n label: '取消',\r\n type: 'default',\r\n onClick: (e: any) => {\r\n modal.destroy();\r\n },\r\n },\r\n {\r\n show: true,\r\n label: modalOptions.primaryLabel ? modalOptions.primaryLabel : '确定',\r\n type: 'primary',\r\n loading: false,\r\n onClick(e: any): void {\r\n this.loading = true;\r\n callback('save', e, modal);\r\n },\r\n },\r\n ],\r\n nzOnOk: (e: any) => { },\r\n nzOnCancel: (e: any) => { },\r\n //nzComponentParams: params,\r\n });\r\n\r\n if (modal.getContentComponent()) {\r\n Object.assign(modal.getContentComponent(), params);\r\n }\r\n\r\n modal.afterClose.subscribe((result: any) => {\r\n if (result) {\r\n callback(result);\r\n }\r\n });\r\n }\r\n\r\n public CreateDrawerDialog(modalOptions: ModalOptions, params: any, callback: any) {\r\n let width = this.switchSize(modalOptions.size).width;\r\n\r\n let height = window.innerHeight;\r\n if (modalOptions.size === 'full') {\r\n width = window.innerWidth;\r\n } else {\r\n if (modalOptions.size && modalOptions.size === 'custom') {\r\n if (modalOptions.width) {\r\n width = modalOptions.width;\r\n } else {\r\n width = 800;\r\n modalOptions.innerWidth = false;\r\n }\r\n } else {\r\n if (modalOptions.innerWidth != false) {\r\n width = window.innerWidth - 300;\r\n }\r\n }\r\n }\r\n\r\n let title = '';\r\n if (params?.config!! && params?.config.type!!) {\r\n switch (params?.config.type) {\r\n case 'ADD':\r\n title = '新增';\r\n break;\r\n case 'EDIT':\r\n title = '编辑';\r\n break;\r\n case 'VIEW':\r\n title = '查看';\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n if (modalOptions.nzTitle) {\r\n if (title!!) {\r\n title = `${title} - ${modalOptions.nzTitle}`;\r\n } else {\r\n title = `${modalOptions.nzTitle}`;\r\n }\r\n }\r\n\r\n const drawerRef: NzDrawerRef = this.drawerService.create({\r\n nzTitle: title,\r\n nzWidth: width + 'px',\r\n nzHeight: height + 'px',\r\n nzClosable: modalOptions?.nzClosable == false ? false : true,\r\n nzMask: modalOptions?.nzMask == false ? false : true,\r\n nzMaskClosable: false,\r\n nzKeyboard: false,\r\n nzWrapClassName: modalOptions.vertical ? 'vertical-center-modal' : '',\r\n nzBodyStyle: {\r\n padding: '0',\r\n },\r\n nzPlacement: modalOptions?.placement!! ? modalOptions?.placement : 'right',\r\n nzContent: modalOptions.nzContent,\r\n nzContentParams: {\r\n ...params,\r\n },\r\n });\r\n\r\n // 记录 DrawerRef\r\n this.drawerRefs.add(drawerRef);\r\n\r\n drawerRef.afterClose.subscribe((result: any) => {\r\n this.drawerRefs.delete(drawerRef); // 移除已关闭的 Drawer\r\n if (result?.destroy) result.destroy();\r\n callback(result);\r\n });\r\n }\r\n // **关闭所有 Drawer**\r\n public closeAllDrawers() {\r\n this.drawerRefs.forEach((drawer) => drawer.close());\r\n this.drawerRefs.clear();\r\n }\r\n}\r\n","import { Directive, EventEmitter, Input, Output } from '@angular/core';\nimport { getOperationType } from '@ebuilding/base/shared.util/operation';\n\n@Directive()\nexport abstract class GramBaseListService {\n constructor(public pageService: any) { }\n\n /*\n 列表ID\n */\n @Input() id: string = '';\n\n /*\n 列表加载中 \n */\n @Input() loading: boolean = false;\n\n @Input() selectData: any[] = [];\n /*\n 列表头集合\n */\n @Input() listHeader: any[] = [];\n\n /*\n 列表内集合 \n */\n @Input() listBody: any[] = [];\n\n /*\n 列表总数 \n */\n @Input() listTotal = 0;\n\n @Output() operationClick: EventEmitter<any> = new EventEmitter();\n\n @Output() rowChange: EventEmitter<any> = new EventEmitter();\n\n @Output() selectChange: EventEmitter<any> = new EventEmitter();\n\n @Output() queryChange: EventEmitter<any> = new EventEmitter();\n\n @Output() buttonClick: EventEmitter<any> = new EventEmitter();\n\n @Output() componentClick: EventEmitter<any> = new EventEmitter();\n\n @Output() sortChange: EventEmitter<any> = new EventEmitter();\n\n @Output() reloadChange: EventEmitter<any> = new EventEmitter();\n\n /**\n * 行排序事件\n * @param e\n */\n rowDataChange(e: any) {\n this.rowChange.emit(e);\n }\n\n /**\n * 选中事件\n * @param e\n */\n selectDataChange(e: any) {\n this.selectChange.emit(e);\n }\n\n /**\n * 分页、模糊搜索事件\n * @param e\n */\n queryParamsChange(e: any) {\n this.queryChange.emit(e);\n }\n\n sortOrderChange(e: any) {\n this.sortChange.emit(e);\n }\n /**\n * 列操作事件\n * @param e\n */\n buttonEvent(type: any, e: any) {\n this.operationClick.emit({\n rowCode: e[this.pageService.pageConfig?.primary?.key],\n rowData: e,\n columnKey: type,\n });\n }\n\n /**\n * 组件行事件\n * @param e\n */\n componentEvent(e: any) {\n this.componentClick.emit(e);\n }\n\n operationType(button: any) {\n return getOperationType(button, this.pageService.pageConfig.pageId);\n }\n}\n","import { Directive, ElementRef, HostListener, ViewChild } from '@angular/core';\nimport { NzModalService } from 'ng-zorro-antd/modal';\nimport { NzMessageService } from 'ng-zorro-antd/message';\nimport { _HttpClient } from '@delon/theme';\nimport _ from 'lodash';\nimport { WorkFlowState } from '@ebuilding/base/shared.util/workflow';\n\n@Directive()\nexport abstract class GramBaseTableService {\n /**\n * 加载\n */\n loading: boolean = true;\n\n dataId: any = null;\n dataInfo: any = null;\n\n type: any = 'ALL';\n\n keyWord: string = '';\n pageIndex: number = 1;\n pageSize: number = 20;\n listTotal: number = 0;\n listBody: any[] = [];\n listHeader: any[] = [];\n orderData: any[] = [];\n parameter: any = null;\n listUrl: any = null;\n listWidth: any[] = [];\n\n tableWidth: any = null;\n tdAutoWidth: number = 120;\n heightMinus: number = 0;\n\n WorkFlowState: any[] = WorkFlowState();\n sortDirections: any[] = ['ascend', 'descend'];\n\n @ViewChild('basicTable', { read: ElementRef }) basicTable!: ElementRef;\n\n constructor(public http: _HttpClient, public elementRef: ElementRef, public modal: NzModalService, public msg: NzMessageService) { }\n\n /**\n * 模糊搜索\n */\n pageQueryClick() {\n this.getPageDataList();\n }\n\n typeChange(e: any) {\n this.getPageDataList();\n }\n\n sortOrderClick(e: any, type: any) {\n this.orderData = [];\n switch (e) {\n case 'ascend':\n this.orderData = [{ column: type, asc: true }];\n break;\n case 'descend':\n this.orderData = [{ column: type, asc: false }];\n break;\n }\n this.getPageDataList();\n }\n\n /**\n * 列表 - 翻页事件\n * @param e\n */\n listPageIndexChange(e: any) {\n if (e > 0) {\n this.pageIndex = e;\n }\n if (this.pageIndex === undefined) {\n this.pageIndex = 1;\n }\n this.getPageDataList();\n }\n\n /**\n * 列表 - 页条数发生变化事件\n * @param e\n */\n listPageSizeChange(e: any) {\n if (e > 0) {\n this.pageSize = e;\n }\n this.getPageDataList();\n }\n\n /**\n * 列表 - 排序\n * @param e\n */\n listSortChange(e: any) {\n this.orderData = [];\n if (e!!) {\n if (e.sortOrder == 'ascend') {\n this.orderData = [{ column: e.field, asc: true }];\n } else if (e.sortOrder == 'descend') {\n this.orderData = [{ column: e.field, asc: false }];\n }\n }\n this.getPageDataList();\n }\n\n /**\n * 查询参数\n * @returns\n */\n getQueryParameter() {\n let postParameter: any = {\n pageIndex: this.pageIndex,\n pageSize: this.pageSize,\n orders: this.orderData,\n parameter: {\n keyWord: null,\n type: null,\n },\n };\n\n if (this.parameter) {\n postParameter.parameter = Object.assign(postParameter.parameter, this.parameter);\n }\n\n if (this.type) {\n postParameter.parameter.type = this.type;\n }\n /**\n * 关键字\n */\n postParameter.parameter.keyWord = this.keyWord;\n return postParameter;\n }\n\n /**\n * 查询数据\n * @param caller\n * @param callback\n */\n getPageDataList(caller: any = null, callback: any = null) {\n /**\n * 查询参数\n */\n let postParameter: any = this.getQueryParameter();\n\n /**\n * 进行查询\n */\n this.loading = true;\n this.getPageDataBefore();\n this.http.post(`${this.listUrl}`, postParameter).subscribe(\n (res: any) => {\n if (res && res.success && res.result) {\n this.listTotal = res?.result?.total;\n this.listBody = res?.result?.list;\n }\n this.resizeTable();\n this.getPageDataAfter();\n this.loading = false;\n if (callback != undefined && callback != null && callback != '') {\n callback.call(caller);\n }\n },\n (res: any) => {\n this.loading = false;\n this.getPageDataAfter();\n if (callback != undefined && callback != null && callback != '') {\n callback.call(caller);\n }\n },\n );\n }\n\n getPageDataBefore() { }\n\n getPageDataAfter() { }\n\n getWorkflowStatus(type: any) {\n let result: any = null;\n this.WorkFlowState.forEach((item: any) => {\n if (item.value == type.toUpperCase()) {\n result = item;\n }\n });\n return result;\n }\n\n deonTableContentHG: any = null;\n @HostListener('window:resize', ['$event'])\n resize() {\n this.resizeTable();\n }\n resizeTable() {\n setTimeout(() => {\n this.calcAutoWidth();\n this.deonTableContentHG = '50px';\n\n /**\n * 页面高度\n */\n let pageTable: any = 200;\n if (this.elementRef.nativeElement.querySelector('.page-table')) {\n pageTable = this.elementRef.nativeElement.querySelector('.page-table').clientHeight;\n }\n\n /**\n * header 高度\n */\n let headerHeight: any = 0;\n if (this.elementRef.nativeElement.querySelector('.page-info-header')) {\n headerHeight = this.elementRef.nativeElement.querySelector('.page-info-header').clientHeight;\n headerHeight = headerHeight;\n }\n\n /**\n * footer 高度\n */\n let footerHeight: any = 0;\n if (this.elementRef.nativeElement.querySelector('.page-info-footer')) {\n footerHeight = this.elementRef.nativeElement.querySelector('.page-info-footer').clientHeight;\n }\n\n /**\n * table header 高度\n */\n let tableHeight: any = 0;\n if (this.elementRef.nativeElement.querySelector('.ant-table-thead')) {\n tableHeight = this.elementRef.nativeElement.querySelector('.ant-table-thead').clientHeight;\n }\n\n if (this.heightMinus) {\n pageTable = pageTable - this.heightMinus;\n }\n\n this.deonTableContentHG = {\n y: pageTable - headerHeight - tableHeight - footerHeight + 'px',\n };\n }, 0);\n setTimeout(() => {\n this.checkTableScroll();\n }, 50);\n }\n\n calcAutoWidth() {\n if (this.elementRef.nativeElement.querySelector('.page-table')) {\n let contentWidth: number = this.elementRef.nativeElement.querySelector('.page-table').clientWidth;\n if (this.tableWidth && this.tableWidth > 200) {\n if (contentWidth < this.tableWidth) {\n this.tdAutoWidth = 120;\n } else {\n if (contentWidth - this.tableWidth < 120) {\n this.tdAutoWidth = 120;\n } else {\n this.tdAutoWidth = contentWidth - this.tableWidth;\n }\n }\n }\n }\n }\n\n checkTableScroll() {\n if (this.basicTable) {\n const tableHeader = this.basicTable.nativeElement.querySelector('.ant-table-header');\n const tableBody = this.basicTable.nativeElement.querySelector('.ant-table-body');\n if (tableHeader && tableBody && tableBody.scrollWidth > tableBody.clientWidth && tableBody.scrollHeight > tableBody.clientHeight) {\n tableHeader.classList.add('eb-header-scroll');\n } else {\n tableHeader.classList.remove('eb-header-scroll');\n }\n } else {\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { _HttpClient } from '@delon/theme';\n\n@Injectable()\nexport class GramBaseTitleService {\n /* \n 页面加载状态\n */\n loading = false;\n\n objectInfo: any;\n formName: string = '';\n formCode: string = '';\n showName: string = '';\n constructor(public router: Router, public http: _HttpClient) { }\n\n /*\n 获取树形数据集合\n */\n getObjectInfoByKey(para: any, showKey: any) {\n this.loading = true;\n let params: any = {};\n\n params.formType = 'view';\n params = Object.assign(params, para);\n\n if (this.formCode && this.formCode!!) {\n params.formKey = this.formCode;\n }\n\n if (this.formName == undefined || this.formName == null || this.formName == '') {\n this.formName = 'SystemDefault';\n }\n this.http.post(`/get${this.formName}Model`, params).subscribe((res: any) => {\n this.objectInfo = res;\n this.showName = this.objectInfo[showKey];\n });\n }\n}\n","\nimport { _HttpClient } from '@delon/theme';\nexport interface ItreeConfig {\n listCode?: string;\n listAPI?: string;\n addAPI?: string;\n modifyAPI?: string;\n saveAPI?: string;\n deleteAPI?: string;\n\n primaryKey?: string;\n primaryName?: string;\n\n showTag?: boolean;\n selectType?: string;\n expandAll?: boolean;\n [additionalProperties: string]: any;\n}\n\n// @Injectable()\nexport class GramBaseTreeService {\n /* \n 页面加载状态\n */\n loading = false;\n\n showCheckbox = false;\n\n queryParams: any = {};\n\n listBody: any[] = [];\n\n pageConfig: any = {};\n\n constructor(public http: _HttpClient | any) { }\n\n getPageData() {\n this.getPageDataList();\n }\n\n rowChange(e: any) { }\n\n selectChange(e: any) { }\n\n operationClick(e: any) { }\n\n buttonClick(e: any) { }\n\n /*\n 获取树形数据集合\n */\n getPageDataList(caller: any = null, callback: any = null) {\n this.loading = true;\n let params: any = {\n listKey: this.pageConfig?.tree?.code,\n };\n if (this.queryParams) {\n params = Object.assign(params, this.queryParams);\n }\n if (params && params.listKey) {\n this.http.post(`/${this.pageConfig.listAPI ? this.pageConfig.listAPI : 'getSystemDefaultTree'}`, params).subscribe((res: any) => {\n this.listBody = res;\n this.loading = false;\n if (callback != undefined && callback != null && callback != '') {\n callback.call(caller);\n }\n });\n } else {\n this.loading = false;\n }\n }\n}\n","import { Directive } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { _HttpClient } from '@delon/theme';\nimport { CommAPIService } from '@ebuilding/base/shared.srv/commApi.service';\n\n@Directive()\nexport abstract class BasePageService {\n /**\n * 加载\n */\n loading: boolean = true;\n\n /**\n * 布局ID\n */\n layoutId: any = null;\n\n /**\n * 布局对象\n */\n layoutData: any = null;\n\n constructor(\n public http: _HttpClient,\n public activatedRoute: ActivatedRoute,\n public commAPISrv: CommAPIService,\n public moduleCode: String,\n ) {\n this.activatedRoute.params.subscribe((item: any) => {\n if (item && item?.id) {\n this.layoutId = item.id;\n this.getPageData();\n }\n });\n }\n\n /**\n * 加载数据\n */\n getPageData() {\n if (this.layoutId!!) {\n this.loading = true;\n let address: any = this.commAPISrv.getLayoutAddress(this.moduleCode, this.layoutId);\n this.http.post(address).subscribe((res: any) => {\n if (res.success) {\n if (res.result!!) {\n this.layoutData = res.result;\n }\n }\n this.loadDataAfter();\n });\n }\n }\n\n /**\n * 页面加载数据结束\n */\n loadDataAfter() {\n this.loading = false;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { tap, distinctUntilChanged, debounceTime } from 'rxjs/operators';\nimport { FormlyFieldConfig } from '@ebuilding-form/core';\nimport _ from 'lodash';\n\n@Injectable({ providedIn: 'root' })\nexport class DeonFormUtilService {\n\n getFieldKeysData(json: any) {\n let result: any = {};\n if (json) {\n let fieldConfigs: FormlyFieldConfig[] = JSON.parse(json);\n if (fieldConfigs && Array.isArray(fieldConfigs)) {\n this.getFieldKeysDataChild(result, fieldConfigs);\n }\n }\n return result;\n }\n\n private getFieldKeysDataChild(result: any, arr: FormlyFieldConfig[]) {\n if (arr && Array.isArray(arr)) {\n arr.forEach((item: any) => {\n if (item?.key) {\n result[item?.key] = {};\n } else {\n if (item?.fieldGroup && Array.isArray(item?.fieldGroup)) {\n this.getFieldKeysDataChild(result, item.fieldGroup);\n }\n }\n });\n }\n }\n\n\n initConfig(fields: FormlyFieldConfig[], roles: any, options: any, models: any, rules: any, fieldParameter: any, caller?: any, callback?: any) {\n if (models === undefined || models === null) {\n models = {};\n }\n fields.forEach((field: FormlyFieldConfig) => {\n /**\n * 递归附加字段属性\n */\n this.depthFieldProperty(field, roles, options, models, rules, null, fieldParameter, caller, callback);\n });\n }\n\n /**\n * 初始化携带的隐藏JSON 条件\n * @param field\n */\n public initHidJson(field: FormlyFieldConfig) {\n if (_.get(field, 'props.hideJson')!!) {\n field.hideExpression = field?.props?.hideJson;\n }\n }\n\n /**\n * 初始化Template\n * @param field\n */\n initTemplate(field: FormlyFieldConfig) {\n if (field?.props == undefined || field?.props == null) {\n if (field?.templateOptions) {\n field.props = field?.templateOptions;\n }\n }\n }\n\n initParameter(field: FormlyFieldConfig, fieldParameter: any) {\n if (field?.key && fieldParameter && fieldParameter[field.key]) {\n let item: any = fieldParameter[field.key];\n if (item && item?.defaultParameter) {\n if (field?.props?.[\"defaultParameter\"] == undefined || field.props[\"defaultParameter\"] == null) {\n _.set(field, \"props.defaultParameter\", item?.defaultParameter);\n } else {\n field.props[\"defaultParameter\"] = Object.assign(field.props[\"defaultParameter\"], item?.defaultParameter);\n }\n }\n }\n }\n\n depthFieldProperty(\n field: FormlyFieldConfig,\n roles: any,\n options: any,\n model: any,\n rules: any,\n arrKey: any,\n fieldParameter: any,\n caller?: any,\n callback?: any,\n ) {\n this.initTemplate(field);\n this.initHidJson(field);\n this.initParameter(field, fieldParameter);\n\n if (arrKey != undefined && arrKey != null) {\n _.set(field, \"props.arrKey\", arrKey);\n }\n\n /**\n * 判断是否加载字段选项\n */\n if (field.key!! && options!!) {\n let option: any[] = options[field.key];\n if (option!! && Array.isArray(option)) {\n _.set(field, \"props.options\", option);\n }\n }\n\n /**\n * 判断是否加载字段触发回调\n */\n if (field.key!! && rules!!) {\n let rule: any = rules[field.key];\n if (rule!!) {\n _.set(field, \"props.callBack\", true);\n _.set(field, \"props.callBackRule\", rule.ruleId);\n _.set(field, \"props.callBackFields\", rule.modalField);\n }\n }\n\n if (field.key!! && field.props!! && (field.props[\"callCard\"] == true || field.props[\"callBack\"] == true)) {\n field.props['callBack'] = true;\n }\n\n /**\n * 判断是否加载字段权限-编辑|隐藏\n */\n if (field.key!! && roles!!) {\n let role: any = roles[field.key];\n if (role!!) {\n field.show = role?.hide == true ? false : true;\n field.hide = role?.hide == true ? true : false;\n field.editor = role?.read == true ? false : true;\n if (field?.props == undefined || field?.props == null) {\n field['props'] = {};\n }\n if (role?.hide2 == true) {\n field.props['show'] = false;\n } else {\n field.props['show'] = true;\n }\n }\n }\n\n /**\n * 设置属性\n */\n this.setFiledEvent(field, caller, callback);\n\n /**\n * 默认值\n */\n this.setFiledModel(field, model);\n\n if (field.fieldArray) {\n if (field.fieldArray[\"fieldGroup\"]) {\n field.fieldArray[\"fieldGroup\"].forEach((f: FormlyFieldConfig) => {\n this.initTemplate(f);\n this.initHidJson(f);\n\n /**\n * 递归附加字段属性\n */\n this.depthFieldProperty(f, roles, options, model, rules, field?.key, fieldParameter, caller, callback);\n });\n }\n }\n if (field.fieldGroup) {\n field.fieldGroup.forEach((f: FormlyFieldConfig) => {\n this.initTemplate(f);\n this.initHidJson(f);\n\n /**\n * 递归附加字段属性\n */\n this.depthFieldProperty(f, roles, options, model, rules, null, fieldParameter, caller, callback);\n });\n }\n }\n\n /*\n 设置字段默认值的属性\n */\n setFiledModel(field: any, model: any) {\n if (field && field.type === 'datetime') {\n if (field.props && field.props?.type && field.props?.type === 'time') {\n if (model[field.key] === undefined || model[field.key] === null) {\n model[field.key] = null;\n } else {\n model[field.key] = new Date(`${model[field.key]}`);\n }\n }\n\n if (this.checkFieldDefaultValue(field)) {\n if (model[field.key] === undefined) {\n model[field.key] = field.defaultValue;\n }\n }\n }\n if (field.hasOwnProperty('editor')) {\n if (this.checkFieldDefaultValue(field)) {\n if (model[field.key] === undefined) {\n model[field.key] = field.defaultValue;\n }\n }\n }\n if (field.type == 'repeat' && field.hasOwnProperty('fieldArray')) {\n if (field.fieldArray.hasOwnProperty('fieldGroup')) {\n if (model[field.key] === undefined || model[field.key] === null || model[field.key].length == 0) {\n model[field.key] = [];\n }\n }\n }\n }\n\n checkFieldDefaultValue(field: FormlyFieldConfig) {\n let result = false;\n if (field !== undefined && field != null && field.defaultValue !== undefined && field.defaultValue != null) {\n return true;\n }\n return result;\n }\n\n setFiledEvent(field: any, caller: any, callback: any) {\n if (field.key !== undefined && field.key !== null) {\n if (_.get(field, 'props.callBack') == true) {\n switch (field.type) {\n case 'text':\n case 'textarea':\n case 'password':\n case 'textBtn':\n field.props.blur = (e: any) => {\n this.setCallBackFun(caller, callback, e.formControl.value, field);\n };\n\n // field.hooks = {\n // onInit: (field: any) => {\n // return field.formControl.valueChanges.pipe(\n // distinctUntilChanged(),\n // debounceTime(800),\n // tap((e) => {\n // this.setCallBackFun(caller, callback, e, field);\n // }),\n // );\n // },\n // };\n break;\n case 'number':\n case 'eval_number':\n field.props.change = (e: any) => {\n this.setCallBackFun(caller, callback, e.formControl.value, field);\n };\n break;\n // case 'checkbox':\n // field.props.change = (e: any) => {\n // debugger;\n // setTimeout(() => {\n // this.setCallBackFun(caller, callback, e.formControl.value, field);\n // }, 0);\n // };\n // break;\n default:\n field.hooks = {\n onInit: (field: any) => {\n return field.formControl.valueChanges.pipe(\n distinctUntilChanged(),\n tap((e) => {\n this.setCallBackFun(caller, callback, e, field);\n }),\n );\n },\n };\n break;\n }\n }\n }\n }\n\n setCallBackFun(caller: any, callback: any, e: any, field: any) {\n if (typeof e == 'boolean' || typeof e == 'number' || typeof e == 'string') {\n if (callback != undefined && callback != null && callback != '') {\n callback.call(caller, e, field);\n }\n } else {\n if (callback != undefined && callback != null && callback != '') {\n callback.call(caller, e, field);\n }\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport { FormlyFieldConfig } from '@ebuilding-form/core';\nimport _ from 'lodash';\n\n@Injectable({ providedIn: 'root' })\nexport class DeonFormResetService {\n\n resetConfig(\n fields: FormlyFieldConfig[],\n models: any,\n datas: any\n ) {\n fields.forEach((field: FormlyFieldConfig) => {\n if (field.key!! && datas[field.key]!!) {\n let data: any = datas[field.key];\n this.initTemplate(field);\n field.props ??= {};\n if (data?.value != undefined && data?.value != null) {\n models[field.key] = data.value;\n }\n if (data?.editor != undefined && data?.editor != null) {\n field.editor = data.editor;\n }\n if (data?.show != undefined && data?.show != null) {\n field.show = data.show;\n if (data.show) {\n field.hide = false;\n } else {\n field.hide = true;\n }\n }\n if (data?.required != undefined && data?.required != null) {\n field.props[\"required\"] = data.required;\n }\n if (data?.min != undefined && data?.min != null) {\n field.props[\"min\"] = data.min;\n }\n if (data?.max != undefined && data?.max != null) {\n field.props[\"max\"] = data.max;\n }\n\n if (data?.minLength != undefined && data?.minLength != null) {\n field.props[\"minLength\"] = data.minLength;\n }\n\n if (data?.maxLength != undefined && data?.maxLength != null) {\n field.props[\"maxLength\"] = data.maxLength;\n }\n if (data?.options != undefined && data?.options != null && Array.isArray(data?.options)) {\n field.props[\"options\"] = data.options;\n }\n }\n\n if (field.fieldArray) {\n let fieldKey: any = field.key;\n if (field.fieldGroup!! && field.fieldGroup.length > 0) {\n let arrData: any[] = datas[fieldKey];\n let arrModule: any[] = models[fieldKey];\n if (arrData!! && arrData.length == field.fieldGroup.length) {\n field.fieldGroup.forEach((f: any, index: number) => {\n\n this.resetConfig(f.fieldGroup, arrModule[index], arrData[index]);\n });\n }\n }\n }\n if (field.fieldGroup) {\n this.resetConfig(field.fieldGroup, models, datas);\n }\n });\n }\n\n resetOverTime(\n fields: FormlyFieldConfig[],\n models: any,\n datas: any,\n key: any,\n index: number\n ) {\n if (models!! && datas!!) {\n fields.forEach((field: FormlyFieldConfig) => {\n if (field.key!! && field.key == key && field.fieldArray) {\n if (field.fieldGroup!! && field.fieldGroup.length > index) {\n if (field.fieldGroup[index]!!) {\n let rowField: any = field?.fieldGroup[index]?.fieldGroup?.[0];\n let itemValue: any = {};\n let itemConfig: any = {};\n\n /**\n * 主表\n */\n this.initOverTime(datas, itemValue, itemConfig);\n\n /**\n * 子表:零点拆分列表\n */\n if (datas?.listChild != undefined) {\n if (datas?.listChild != null && Array.isArray(datas.listChild) && datas.listChild.length > 0) {\n itemValue[\"listChild\"] = [];\n itemConfig[\"listChild\"] = [];\n datas.listChild.forEach((child: any) => {\n let childValue: any = {};\n let childConfig: any = {};\n this.initOverTime(child, childValue, childConfig);\n itemValue[\"listChild\"].push(childValue);\n itemConfig[\"listChild\"].push(childConfig);\n });\n } else {\n itemValue[\"listChild\"] = null;\n itemConfig[\"listChild\"] = null;\n }\n }\n\n /**\n * 赋值+处理对象扩展\n */\n if (Object.keys(itemValue).length == 0) {\n itemValue = null;\n }\n models[key][index] = {\n overtime: itemValue\n }\n rowField.props[\"overtime\"] = _.cloneDeep(itemConfig);\n }\n }\n }\n });\n }\n }\n\n private initOverTime(model: any, itemValue: any, itemConfig: any) {\n\n /**\n * 加班项目\n */\n if (model?.itemId != undefined) {\n itemValue[\"itemId\"] = model.itemId.value;\n itemConfig[\"itemId\"] = model.itemId.options;\n };\n\n /**\n * 加班日期\n */\n if (model?.happenDate != undefined) {\n itemValue[\"happenDate\"] = model.happenDate.value;\n };\n\n /**\n * 加班开始时间\n */\n if (model?.beginDate != undefined) {\n itemValue[\"beginDate\"] = model.beginDate.value;\n };\n\n /**\n * 加班结束时间\n */\n if (model?.endDate != undefined) {\n itemValue[\"endDate\"] = model.endDate.value;\n };\n\n /**\n * 加班时长\n */\n if (model?.numValue != undefined) {\n itemValue[\"numValue\"] = model.numValue.value;\n };\n\n /**\n * 班次\n */\n if (model?.shiftId != undefined) {\n itemValue[\"shiftId\"] = model.shiftId.value;\n itemConfig[\"shiftId\"] = model.shiftId.options;\n };\n\n /**\n * 班次可申请时间段\n */\n if (model?.shiftPeriod != undefined) {\n itemValue[\"shiftPeriod\"] = model.shiftPeriod.value;\n itemConfig[\"shiftPeriod\"] = model.shiftPeriod.options;\n };\n }\n\n /**\n * 初始化Template\n * @param field \n */\n private initTemplate(field: FormlyFieldConfig) {\n if (field?.props == undefined || field?.props == null) {\n if (field?.templateOptions) {\n field.props = field?.templateOptions;\n }\n }\n }\n}","import { InjectionToken } from '@angular/core';\n\nexport interface IPreDialogHandler {\n openDialog(data: any): void;\n}\n\nexport const PRE_DIALOG_HANDLER = new InjectionToken<IPreDialogHandler>('PRE_DIALOG_HANDLER');\n","import { Injectable } from '@angular/core';\nimport { Guid } from '@ebuilding/base/shared.util/guid';\nimport moment from 'moment';\n@Injectable({\n providedIn: 'root',\n})\nexport class DeonDesignFieldInitService {\n itemDataConvert(list: any[]) {\n let result: any[] = [];\n if (list!! && list.length > 0) {\n list.forEach((e: any) => {\n let item: any = {};\n item.key = e.id;\n item.label = e.name;\n switch (e.dataType.toLocaleLowerCase()) {\n case 'int': //int -> number\n item.type = 'number';\n break;\n case 'float': //float -> number\n item.precision = 2;\n item.type = 'number';\n break;\n case 'time': //time -> datetime\n item.type = 'datetime';\n item.showType = 'time';\n break;\n case 'year': //year -> datetime\n item.type = 'datetime';\n item.showType = 'year';\n break;\n case 'yearmonth': //yearmonth -> datetime\n item.type = 'datetime';\n item.showType = 'month';\n break;\n case 'yearmonthday': //yearmonthday -> datetime\n item.type = 'datetime';\n item.showType = 'date';\n break;\n default:\n item.type = e.dataType.toLocaleLowerCase();\n break;\n }\n result.push(item);\n });\n }\n return result;\n }\n\n itemListConvertField(sources: any[], special: boolean = true, indicator: boolean = false) {\n let list: any[] = [];\n if (sources && Array.isArray(sources)) {\n sources.forEach((item: any) => {\n let data: any = {};\n if (indicator == true) {\n data = {\n key: special == true ? '$' + item.id : item.id,\n type: item.itemType.toLowerCase(),\n label: item.itemName,\n allowNull: item.required,\n cols: 24,\n rows: item.itemType.toLowerCase() == 'textarea' ? 4 : 1,\n };\n } else {\n data = {\n key: special == true ? '$' + item.id : item.id,\n type: item.dataType.toLowerCase(),\n label: item.itemName ? item.itemName : item.name,\n allowNull: item.required,\n cols: item.dataType.toLowerCase() == 'textarea' ? 24 : 12,\n rows: item.dataType.toLowerCase() == 'textarea' ? 3 : 1,\n };\n }\n list.push(this.getFiledInfoFunction(data));\n });\n }\n return list;\n }\n\n okrItemListConvertField(sources: any[]) {\n let list: any[] = [];\n if (sources && Array.isArray(sources)) {\n sources.forEach((item: any) => {\n let data: any = {\n key: '$' + item.id,\n type: item.dataType.toLowerCase(),\n label: item.itemName ? item.itemName : item.name,\n allowNull: item.required,\n cols: item.dataType.toLowerCase() == 'textarea' ? 24 : 12,\n rows: item.dataType.toLowerCase() == 'textarea' ? 3 : 1,\n className: 'cols',\n };\n list.push(this.getFiledInfoFunction(data));\n });\n }\n return list;\n }\n\n kpiItemListConvertField(sources: any[], className: boolean = true) {\n let list: any[] = [];\n if (sources && Array.isArray(sources)) {\n sources.forEach((item: any) => {\n let data: any = {};\n data = {\n key: this.datetimeString(item.itemType.toLowerCase()),\n type: item.itemType.toLowerCase(),\n label: item.itemName,\n allowNull: item?.required,\n cols: 24,\n className: className == true ? 'row' : null,\n rows: item.itemType.toLowerCase() == 'textarea' ? 4 : 1,\n };\n let newField: any = this.getFiledInfoFunction(data);\n\n if (newField.type == 'number') {\n newField.props['precision'] = 2;\n }\n if (className == false) {\n newField.props.className = null;\n }\n if (item?.defaultValue!!) {\n newField.defaultValue = item?.defaultValue;\n }\n newField.props['source'] = {\n sourceId: item.id,\n sourceType: 'indicator_item',\n };\n\n list.push(newField);\n });\n }\n return list;\n }\n /**\n * 跟进类型创建字段对象\n * @param sourceField\n */\n getFiledInfoFunction(sourceField: any) {\n let field: any = {};\n switch (sourceField.type) {\n case 'text': //1\n field = this.text(sourceField);\n break;\n case 'textarea': //2\n field = this.textArea(sourceField);\n break;\n case 'number': //3\n field = this.number(sourceField);\n break;\n case 'password': //4\n field = this.passWord(sourceField);\n break;\n case 'texti18n': //5\n field = this.textI18N(sourceField);\n break;\n case 'radio': //6\n field = this.radio(sourceField);\n break;\n case 'radiogroup': //7\n field = this.radioGroup(sourceField);\n break;\n case 'checkbox': //8\n field = this.checkbox(sourceField);\n break;\n case 'checkboxgroup': //9\n field = this.checkboxGroup(sourceField);\n break;\n case 'select': //10\n field = this.select(sourceField);\n break;\n case 'datetime': //11\n field = this.datetime(sourceField);\n break;\n case 'image': //12\n field = this.image(sourceField);\n break;\n case 'line': //13\n field = this.line(sourceField);\n break;\n case 'html': //14\n field = this.line(sourceField);\n break;\n case 'repeat': //15\n field = this.repeat(sourceField);\n break;\n case 'panel': //16\n field = this.panel(sourceField);\n break;\n case 'label': //17\n field = this.label(sourceField);\n break;\n case 'richtext': //18\n field = this.richtext(sourceField);\n break;\n case 'employee':\n case 'position':\n case 'organizational':\n case 'area':\n field = this.lookup(sourceField);\n break;\n case 'int': //int -> number\n sourceField.precision = 0;\n field = this.number(sourceField);\n break;\n case 'float': //float -> number\n sourceField.precision = 0;\n field = this.number(sourceField);\n break;\n case 'time': //time -> datetime\n sourceField.showType = 'time';\n field = this.datetime(sourceField);\n break;\n case 'year': //year -> datetime\n sourceField.showType = 'year';\n field = this.datetime(sourceField);\n break;\n case 'yearmonth': //yearmonth -> datetime\n sourceField.showType = 'month';\n field = this.datetime(sourceField);\n break;\n case 'yearmonthday': //yearmonthday -> datetime\n sourceField.showType = 'date';\n field = this.datetime(sourceField);\n break;\n default:\n break;\n }\n if (field.defaultValue != undefined && field.defaultValue != null) {\n field.defaultValue = field.defaultValue;\n }\n if (field.props!!) {\n field.props.className = sourceField.className ? sourceField.className : 'row';\n }\n field.editor = true;\n return field;\n }\n\n deleteFieldProperty(list: any[]) {\n if (list!! && list.length > 0) {\n list.forEach((field: any) => {\n if (field.hasOwnProperty('status')) {\n delete field.status;\n }\n\n if (field.hasOwnProperty('active')) {\n delete field.active;\n }\n\n if (field.hasOwnProperty('guid')) {\n delete field.guid;\n }\n if (field.hasOwnProperty('id')) {\n delete field.id;\n }\n\n if (field.hasOwnProperty('wrappers')) {\n delete field['wrappers'];\n }\n\n if (field.hasOwnProperty('_keyPath')) {\n delete field['_keyPath'];\n }\n\n if (field.hasOwnProperty('modelOptions')) {\n delete field['modelOptions'];\n }\n\n if (field.hasOwnProperty('checked')) {\n delete field['checked'];\n }\n\n if (field.hasOwnProperty('resetOnHide')) {\n delete field['resetOnHide'];\n }\n\n if (field.hasOwnProperty('props')) {\n if (field.props.hasOwnProperty('focus')) {\n delete field.props.focus;\n }\n if (field.props.hasOwnProperty('disabled')) {\n delete field.props.disabled;\n }\n if (field.props.hasOwnProperty('readonly')) {\n delete field.props.readonly;\n }\n }\n\n if (field.fieldGroup != undefined && field.fieldGroup != null && field.fieldGroup.length == 0) {\n delete field.fieldGroup;\n }\n\n if (field.fieldArray) {\n if (field.fieldArray.fieldGroup) {\n if (field.fieldGroup) {\n delete field.fieldGroup;\n }\n if (field.fieldArray.fieldGroup!!) {\n this.deleteFieldProperty(field.fieldArray.fieldGroup);\n }\n }\n }\n\n if (field.fieldGroup!!) {\n this.deleteFieldProperty(field.fieldGroup);\n }\n });\n }\n }\n\n deleteFieldActive(list: any[]) {\n if (list!! && list.length > 0) {\n list.forEach((field: any) => {\n if (field.hasOwnProperty('active')) {\n delete field.active;\n }\n\n if (field.fieldArray) {\n if (field.fieldArray.fieldGroup) {\n if (field.fieldArray.fieldGroup!!) {\n this.deleteFieldActive(field.fieldArray.fieldGroup);\n }\n }\n }\n\n if (field.fieldGroup!!) {\n this.deleteFieldActive(field.fieldGroup);\n }\n });\n }\n }\n\n private datetimeString(type?: string) {\n // if (type !== undefined && type !== null) {\n // return `${moment().format('YYYYMMDDHHmmssSSS')}_${type}`;\n\n // } else {\n // return `${moment().format('YYYYMMDDHHmmssSSS')}`;\n // }\n let rd: any = `${moment().format('YYYYMMDDHHmmss')}` + Math.round((Math.random() * 9 + 1) * 100000);\n return type!! ? type + '_' + rd : rd;\n }\n\n //1、字符串\n private text(field: any) {\n let config: any = {\n type: 'text',\n key: field.key ? field.key : this.datetimeString('text'),\n props: {\n label: field?.label,\n required: field?.allowNull,\n maxLength: field?.maxLength,\n minLength: field?.minLength,\n placeholder: field?.placeholder ? field?.placeholder : `请输入${field?.label}`,\n isButintin: field?.isButintin,\n tips: field?.tips,\n pattern: field?.pattern,\n cols: field.cols ? field.cols : 24,\n },\n };\n return config;\n }\n\n //2、多行文本\n private textArea(field: any) {\n let config: any = {\n type: 'textarea',\n key: field.key ? field.key : this.datetimeString('textarea'),\n\n props: {\n label: field?.label,\n required: field?.allowNull,\n maxLength: field?.maxLength,\n minLength: field?.minLength,\n placeholder: field?.placeholder ? field?.placeholder : `请输入${field?.label}`,\n isButintin: field?.isButintin,\n tips: field?.tips,\n pattern: field?.pattern,\n cols: field.cols ? field.cols : 24,\n rows: field.rows ? field.rows : 1,\n },\n };\n return config;\n }\n\n //3、数字\n private number(field: any) {\n let config: any = {\n type: 'number',\n key: field.key ? field.key : this.datetimeString('number'),\n\n props: {\n label: field?.label,\n required: field?.allowNull,\n max: field.max,\n min: field.min,\n placeholder: field?.placeholder ? field?.placeholder : `请输入${field?.label}`,\n isButintin: field?.isButintin,\n tips: field?.tips,\n pattern: field?.pattern,\n precision: field.precision,\n cols: field.cols ? field.cols : 24,\n },\n };\n return config;\n }\n\n //4、密码\n private passWord(field: any) {\n let config: any = {\n type: 'password',\n key: field.key ? field.key : this.datetimeString('password'),\n\n props: {\n label: field?.label,\n required: field?.allowNull,\n maxLength: field?.maxLength,\n minLength: field?.minLength,\n placeholder: field?.placeholder ? field?.placeholder : `请输入${field?.label}`,\n isButintin: field?.isButintin,\n tips: field?.tips,\n pattern: field?.pattern,\n cols: field.cols ? field.cols : 24,\n },\n };\n return config;\n }\n\n //5、多语言\n private textI18N(field: any) {\n let config: any = {\n type: 'texti18n',\n key: field.key ? field.key : this.datetimeString('texti18n'),\n\n props: {\n label: field?.label,\n required: field?.allowNull,\n maxLength: field?.maxLength,\n minLength: field?.minLength,\n placeholder: field?.placeholder ? field?.placeholder : `请输入${field?.label}`,\n isButintin: field?.isButintin,\n tips: field?.tips,\n pattern: field?.pattern,\n cols: field.cols ? field.cols : 24,\n },\n };\n return config;\n }\n\n //6、单选\n private radio(field: any) {\n let config: any = {\n type: 'radio',\n key: field.key ? field.key : this.datetimeString('radio'),\n\n props: {\n type: field.showType,\n label: field?.label,\n required: field?.allowNull,\n isButintin: field?.isButintin,\n tips: field?.tips,\n pattern: field?.pattern,\n cols: field.cols ? field.cols : 24,\n },\n };\n return config;\n }\n\n //7、单选组\n private radioGroup(field: any) {\n let config: any = {\n type: 'radiogroup',\n key: field.fieldCode ? field.fieldCode : this.datetimeString('radiogroup'),\n\n props: {\n type: field.showType,\n label: field?.label,\n options: [\n { label: '选项一', value: this.datetimeString() },\n { label: '选项二', value: this.datetimeString() },\n { label: '选项三', value: this.datetimeString() },\n ],\n required: field?.allowNull,\n isButintin: field?.isButintin,\n tips: field?.tips,\n pattern: field?.pattern,\n cols: field.cols ? field.cols : 24,\n },\n };\n return config;\n }\n\n //8、复选\n private checkbox(field: any) {\n let config: any = {\n type: 'checkbox',\n key: field.key ? field.key : this.datetimeString('checkbox'),\n\n props: {\n type: field.showType,\n label: field?.label,\n required: field?.allowNull,\n isButintin: field?.isButintin,\n tips: field?.tips,\n pattern: field?.pattern,\n cols: field.cols ? field.cols : 24,\n },\n };\n return config;\n }\n\n //9、复选组\n private checkboxGroup(field: any) {\n let config: any = {\n type: 'checkboxgroup',\n key: field.fieldCode ? field.fieldCode : this.datetimeString('checkboxgroup'),\n\n props: {\n type: field.showType,\n label: field?.label,\n options: [\n { label: '选项一', value: this.datetimeString() },\n { label: '选项二', value: this.datetimeString() },\n { label: '选项三', value: this.datetimeString() },\n ],\n required: field?.allowNull,\n isButintin: field?.isButintin,\n tips: field?.tips,\n pattern: field?.pattern,\n cols: field.cols ? field.cols : 24,\n },\n status: 1,\n };\n return config;\n }\n\n //10、下拉\n private select(field: any) {\n let config: any = {\n type: 'select',\n key: field.key ? field.key : this.datetimeString('select'),\n\n props: {\n type: field.showType,\n label: field?.label,\n required: field?.allowNull,\n selectType: field.selectType,\n parameterId: field.parameterId,\n options: field.parameterData,\n placeholder: field?.placeholder ? field?.placeholder : `请输入${field?.label}`,\n isButintin: field?.isButintin,\n tips: field?.tips,\n pattern: field?.pattern,\n cols: field.cols ? field.cols : 24,\n },\n };\n return config;\n }\n\n //11、日期\n private datetime(field: any) {\n let config: any = {\n type: 'datetime',\n key: field.key ? field.key : this.datetimeString('datetime'),\n\n props: {\n type: field.showType,\n label: field?.label,\n required: field?.allowNull,\n placeholder: field?.placeholder ? field?.placeholder : `请输入${field?.label}`,\n isButintin: field?.isButintin,\n tips: field?.tips,\n pattern: field?.pattern,\n format: field.format,\n cols: field.cols ? field.cols : 24,\n },\n status: 1,\n };\n return config;\n }\n\n //12、图片\n private image(field: any) {\n let config: any = {\n type: 'image',\n key: field.key ? field.key : this.datetimeString('image'),\n\n props: {\n label: field?.label,\n required: field?.allowNull,\n placeholder: field?.placeholder,\n isButintin: field?.isButintin,\n tips: field?.tips,\n pattern: field?.pattern,\n cols: field.cols ? field.cols : 24,\n },\n status: 1,\n };\n return config;\n }\n\n //13、分割线\n private line(field: any) {\n let config: any = {\n type: 'line',\n key: field.key ? field.key : this.datetimeString('line'),\n props: {\n label: '分割线',\n type: 'horizontal',\n hideLabel: false,\n line: 'dotted',\n orientation: 'left',\n cols: field.cols ? field.cols : 24,\n },\n };\n return config;\n }\n\n //14、文本描述\n private html(field: any) {\n let config: any = {\n type: 'html',\n key: field.key ? field.key : this.datetimeString('html'),\n props: {\n label: '文本描述',\n hideLabel: true,\n cols: field.cols ? field.cols : 24,\n },\n };\n return config;\n }\n\n //15、repeat\n private repeat(field: any) {\n let config: any = {\n type: 'repeat',\n key: field.key ? field.key : this.datetimeString('repeat'),\n\n defaultText: field.defaultText,\n props: {\n type: field.showType ? field.showType : 'card',\n label: field?.label,\n required: field?.allowNull,\n placeholder: field?.placeholder,\n isButintin: field?.isButintin,\n tips: field?.tips,\n pattern: field?.pattern,\n minLength: field?.minLength,\n maxLength: field?.maxLength,\n cols: field.cols ? field.cols : 24,\n },\n fieldArray: {\n fieldGroup: [],\n },\n };\n if (field.fields && field.fields.length > 0) {\n field.fields.forEach((item: any) => {\n config.fieldArray.fieldGroup.push(this.getFiledInfoFunction(item));\n });\n }\n return config;\n }\n\n //16、panel\n private panel(field: any) {\n let config: any = {\n type: 'panel',\n key: field.key ? field.key : this.datetimeString('panel'),\n\n defaultText: field.defaultText,\n props: {\n label: field?.label,\n required: field?.allowNull,\n placeholder: field?.placeholder,\n isButintin: field?.isButintin,\n tips: field?.tips,\n pattern: field?.pattern,\n minLength: field?.minLength,\n maxLength: field?.maxLength,\n cols: field.cols ? field.cols : 24,\n },\n fieldGroup: [],\n };\n return config;\n }\n\n //17、label\n private label(field: any) {\n let config: any = {\n type: 'label',\n key: field.key ? field.key : this.datetimeString('label'),\n\n props: {\n label: field?.label,\n isButintin: field?.isButintin,\n tips: field?.tips,\n cols: field.cols ? field.cols : 24,\n },\n };\n return config;\n }\n\n //18、richtext\n private richtext(field: any) {\n let config: any = {\n type: 'richtext',\n key: field.key ? field.key : this.datetimeString('label'),\n\n props: {\n label: field?.label,\n isButintin: field?.isButintin,\n placeholder: field?.placeholder,\n tips: field?.tips,\n cols: field.cols ? field.cols : 24,\n },\n };\n return config;\n }\n\n // 、人员employee | 职位position | 组织organizational | 地区area\n private lookup(field: any) {\n let config: any = {\n type: field.dataType,\n key: field.key ? field.key : Guid.createId()['value'],\n\n defaultText: field.defaultText,\n props: {\n type: field.showType,\n label: field?.label,\n required: field?.allowNull,\n placeholder: field?.placeholder,\n isButintin: field?.isButintin,\n tips: field?.tips,\n pattern: field?.pattern,\n minLength: field?.minLength,\n maxLength: field?.maxLength,\n },\n };\n return config;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\n\n@Injectable({ providedIn: 'root' })\nexport class GramGlobalService {\n private data: any = new Subject<object>();\n private dataStream$: any = this.data.asObservable();\n\n private subscriptions: Map<string, Array<(en: any) => void>> = new Map<string, Array<(en: any) => void>>();\n\n constructor() {\n this.dataStream$.subscribe((data: any) => this._onEvent(data));\n }\n\n notifyDataChanged(event: any, value: any) {\n const current = this.data[event];\n if (current !== value) {\n this.data[event] = value;\n\n this.data.next({\n event,\n data: this.data[event],\n });\n }\n }\n removeSubscribe(event: string) {\n if (this.subscriptions.has(event)) {\n this.subscriptions.delete(event);\n }\n }\n\n subscribe(event: string, callback: (en: any) => void) {\n const subscribers = this.subscriptions.get(event) || [];\n subscribers.push(callback);\n\n this.subscriptions.set(event, subscribers);\n }\n\n _onEvent(data: any) {\n const subscribers = this.subscriptions.get(data.event) || [];\n\n subscribers.forEach((callback) => {\n callback.call(null, data.data);\n });\n }\n}\n","import { Directive } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { _HttpClient } from '@delon/theme';\nimport { CommAPIService } from '@ebuilding/base/shared.srv/commApi.service';\n@Directive()\nexport abstract class LayoutDetailPageService {\n loading: boolean = true;\n\n moduleCode: any = 'user';\n\n layoutDetailId: any;\n layoutDetailData: any;\n\n pageConfig: any;\n\n constructor(public http: _HttpClient, public activatedRoute: ActivatedRoute, public commAPISrv: CommAPIService) {\n this.activatedRoute.params.subscribe((item: any) => {\n this.layoutDetailId = item.id;\n this.getLayoutDetailData();\n });\n }\n\n ngOnDestroy() { }\n\n initPageData() { }\n\n /**\n * 获取布局数据\n */\n getLayoutDetailData() {\n if (this.layoutDetailId!!) {\n this.loading = true;\n let address: any = this.commAPISrv.getLayoutDetailAddress(this.moduleCode, this.layoutDetailId);\n this.http.post(address).subscribe((res: any) => {\n let result: any = res.result;\n if (res.success && result!!) {\n result.module = this.moduleCode;\n this.layoutDetailData = result;\n }\n this.loading = false;\n this.initPageData();\n });\n } else {\n this.loading = false;\n }\n }\n}\n","import { Directive } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { _HttpClient } from '@delon/theme';\nimport { CommAPIService } from '@ebuilding/base/shared.srv/commApi.service';\n@Directive()\nexport abstract class LayoutPageService {\n loading: boolean = true;\n\n moduleCode: any = 'user';\n\n /**\n * 布局ID\n */\n layoutId: any = null;\n\n /**\n * 布局数据\n */\n layoutData: any = null;\n\n constructor(public http: _HttpClient, public activatedRoute: ActivatedRoute, public commAPISrv: CommAPIService) {\n this.activatedRoute.params.subscribe((item: any) => {\n this.layoutId = item.id;\n this.getLayoutData();\n });\n }\n\n ngOnDestroy() { }\n\n initPageData() { }\n\n /**\n * 获取布局数据\n */\n getLayoutData() {\n if (this.layoutId!!) {\n this.loading = true;\n let address: any = this.commAPISrv.getLayoutAddress(this.moduleCode, this.layoutId);\n this.http.post(address).subscribe((res: any) => {\n let result: any = res.result;\n if (res.success && result!!) {\n result.module = this.moduleCode;\n this.layoutData = result;\n }\n this.loading = false;\n this.initPageData();\n });\n } else {\n this.loading = false;\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport { CommAPIService } from '@ebuilding/base/shared.srv/commApi.service';\n@Injectable()\nexport class ListService {\n constructor(public commAPISrv: CommAPIService) { }\n\n /**\n * 获取 表格 Header\n * @param e\n * @returns\n */\n getHeaderData(e: any) {\n let result: any[] = [];\n result = e.listHeader.map((element: any) => {\n let item: any = {\n key: element.key,\n label: element.label,\n type: element.type,\n auto: element.widthAuto,\n width: element.width,\n hide: element.hide,\n layoutId: element.layoutId,\n layoutType: element.layoutType,\n izFieldDesc: element.izFieldDesc,\n explain: element.explain,\n fieldClick: element.fieldClick,\n fieldArg: element.fieldArg,\n styles: element.styles,\n stylesName: element.stylesName,\n unit: element.unit,\n unitExplain: element.unitExplain,\n };\n if (element.sortShow == true) {\n item['sort'] = {\n show: true,\n field: element.sortField,\n };\n }\n return item;\n });\n return result;\n }\n\n /**\n * 获取 快捷搜索\n * @param e\n * @returns\n */\n getQuickData(e: any) {\n let result: any = null;\n if (e.listQuick!! && e.listQuick.length > 0) {\n result = {};\n e.listQuick.forEach((element: any) => {\n result[element.key] = {\n label: element.label,\n type: element.type,\n selectType: element.selectType,\n selected: element.selected,\n options: element.options,\n format: element?.format,\n izBetween: element?.izBetween,\n };\n });\n }\n return result;\n }\n\n /**\n * 获取 列表外部 按钮\n * @param e\n * @returns\n */\n getOuterButtonData(e: any) {\n let result: any[] = [];\n if (e.listButton!! && e.listButton.length > 0) {\n let listButton: any[] = e.listButton.filter((v: any) => {\n return v.buttonPosition == 'OUTER';\n });\n if (listButton!! && listButton.length > 0) {\n result = listButton.map((item: any) => {\n let api: any = {};\n switch (item?.buttonType) {\n case 'ADD':\n if (item.saveApiAddress!!) {\n api['addAPI'] = item.saveApiAddress;\n } else {\n api['addAPI'] = this.commAPISrv.getFormAdd(e.basic.moduleCode);\n }\n break;\n case 'DELETES':\n api['deletesAPI'] = this.commAPISrv.getPageDeletes(e.basic.moduleCode);\n break;\n case 'DISABLED':\n api['disablesAPI'] = this.commAPISrv.getPageDisables(e.basic.moduleCode);\n break;\n case 'ENABLE':\n api['disablesAPI'] = this.commAPISrv.getPageDisables(e.basic.moduleCode);\n break;\n default:\n break;\n }\n return {\n custom: true,\n id: item?.id,\n code: item.code,\n roleCode: item.roleCode,\n moduleCode: e.basic.moduleCode,\n isPreEventRule: item?.isPreEventRule,\n name: item.name,\n throw: item.izThrow,\n fixed: item.izFixed,\n fixedUrl: item.fixedUrl,\n izEmp: item.izEmp,\n izRole: item?.izRole == false ? false : true,\n tips: item?.tips,\n buttonType: item.buttonType,\n responseType: item.responseType,\n responseMode: item.responseMode,\n responseId: item.responseId,\n responseName: item.responseName,\n responseArgType: item?.responseArgType,\n arg: item.listArg,\n api: api,\n };\n });\n }\n }\n return result;\n }\n\n /**\n * 获取 列表内部 按钮\n * @param e\n * @returns\n */\n getInnerButtonData(e: any) {\n let result: any = null;\n if (e.listButton!! && e.listButton.length > 0) {\n let listButton: any[] = e.listButton.filter((v: any) => {\n return v.buttonPosition == 'INNER';\n });\n if (listButton!! && listButton.length > 0) {\n result = {};\n listButton.forEach((item: any) => {\n let api: any = {};\n switch (item?.buttonType) {\n case 'VIEW':\n if (item.getApiAddress!!) {\n api['modelAPI'] = item.getApiAddress;\n } else {\n api['modelAPI'] = this.commAPISrv.getFormModel(e.basic.moduleCode);\n }\n break;\n case 'EDIT':\n /**\n * 查看\n */\n if (item.getApiAddress!!) {\n api['modelAPI'] = item.getApiAddress;\n } else {\n api['modelAPI'] = this.commAPISrv.getFormModel(e.basic.moduleCode);\n }\n\n /**\n * 保存\n */\n if (item.saveApiAddress!!) {\n api['editAPI'] = item.saveApiAddress;\n } else {\n api['editAPI'] = this.commAPISrv.getFormUpdate(e.basic.moduleCode);\n }\n break;\n case 'CANCEL':\n if (item.saveApiAddress!!) {\n api['cancelAPI'] = item.saveApiAddress;\n } else {\n api['cancelAPI'] = this.commAPISrv.getPageCancel(e.basic.moduleCode);\n }\n break;\n case 'DELETE':\n if (item.saveApiAddress!!) {\n api['deleteAPI'] = item.saveApiAddress;\n } else {\n api['deleteAPI'] = this.commAPISrv.getPageDelete(e.basic.moduleCode);\n }\n break;\n case 'DISABLED':\n if (item.saveApiAddress!!) {\n api['disableAPI'] = item.saveApiAddress;\n } else {\n api['disableAPI'] = this.commAPISrv.getPageDisable(e.basic.moduleCode);\n }\n break;\n case 'ENABLE':\n if (item.saveApiAddress!!) {\n api['disableAPI'] = item.saveApiAddress;\n } else {\n api['disableAPI'] = this.commAPISrv.getPageDisable(e.basic.moduleCode);\n }\n break;\n case 'HISTORY':\n if (item.historyApiAddress!!) {\n api['historyAPI'] = item.historyApiAddress;\n } else {\n api['historyAPI'] = this.commAPISrv.getPageHistory(e.basic.moduleCode);\n }\n break;\n case 'COPY':\n if (item.copyApiAddress!!) {\n api['copyAPI'] = item.copyApiAddress;\n } else {\n if (item.saveApiAddress!!) {\n api['copyAPI'] = item.saveApiAddress;\n } else {\n api['copyAPI'] = this.commAPISrv.getPageCopy(e.basic.moduleCode);\n }\n }\n break;\n default:\n if (item.getApiAddress!!) {\n api['modelAPI'] = item.getApiAddress;\n }\n if (item.saveApiAddress!!) {\n api['editAPI'] = item.saveApiAddress;\n }\n break;\n }\n result[item.code] = {\n custom: true,\n id: item?.id,\n code: item.code,\n roleCode: item.roleCode,\n moduleCode: e.basic.moduleCode,\n isPreEventRule: item?.isPreEventRule,\n name: item.name,\n throw: item.izThrow,\n fixed: item.izFixed,\n fixedUrl: item.fixedUrl,\n izEmp: item.izEmp,\n tips: item?.tips,\n izRole: item?.izRole == false ? false : true,\n buttonType: item.buttonType,\n responseType: item.responseType,\n responseMode: item.responseMode,\n responseId: item.responseId,\n responseName: item.responseName,\n responseArgType: item?.responseArgType,\n arg: item.listArg,\n api: api,\n };\n });\n }\n }\n return result;\n }\n\n /**\n * 获取 列表内部 点击\n * @param e\n * @returns\n */\n getFieldButtonData(e: any) {\n let result: any = null;\n if (e.listHeader!! && e.listHeader.length > 0) {\n let listButton: any[] = e.listHeader.filter((v: any) => {\n return v.fieldClick == true && v.fieldArg!!;\n });\n if (listButton!! && listButton.length > 0) {\n result = {};\n listButton.forEach((item: any) => {\n let fieldArg: any = item.fieldArg;\n result[item.key] = {\n custom: true,\n id: item?.id,\n code: item.key,\n roleCode: null,\n moduleCode: e.basic.moduleCode,\n name: item.label,\n throw: fieldArg.izThrow,\n fixed: fieldArg?.izFixed,\n fixedUrl: fieldArg?.fixedUrl,\n izEmp: item.izEmp,\n tips: null,\n buttonType: fieldArg.buttonType,\n responseType: fieldArg.responseType,\n responseMode: fieldArg.responseMode,\n responseId: fieldArg.responseId,\n responseName: fieldArg.responseName,\n responseArgType: fieldArg?.responseArgType,\n arg: fieldArg.listArg,\n api: null,\n };\n });\n }\n }\n return result;\n }\n}\n","import { Injectable, Inject, PLATFORM_ID } from '@angular/core';\nimport { isPlatformBrowser } from '@angular/common';\n\nfunction _window(): any {\n return window;\n}\n\n@Injectable({ providedIn: 'root' })\nexport class GramWindowService {\n constructor(@Inject(PLATFORM_ID) private platformId: object) { }\n\n get nativeWindow(): any {\n if (isPlatformBrowser(this.platformId)) {\n return _window();\n }\n }\n\n}","import { Injectable } from '@angular/core';\nimport { IndicatorType, EvalType } from '@ebuilding/base/shared.util/comm.kpi';\n\n@Injectable()\nexport class FieldSourceService {\n /**\n * 获取默认字段\n * @param type\n * @returns\n */\n fieldSourceType(source: any, layout?: any) {\n let field: any = {};\n switch (source.type) {\n case 'TEXT':\n field = this.text(source, layout);\n break;\n case 'COLOR':\n field = this.color(source, layout);\n break;\n case 'ICON':\n field = this.icon(source, layout);\n break;\n case 'TEXTAREA':\n field = this.textArea(source, layout);\n break;\n case 'INT':\n field = this.number(source, 0, layout);\n break;\n case 'FLOAT':\n field = this.number(source, source.precision, layout);\n break;\n case 'DATETIME':\n field = this.datetime(source, layout);\n break;\n case 'BOOLEAN':\n field = this.fieldBoolean(source, layout);\n break;\n case 'ITEM':\n field = this.select(source, layout);\n break;\n case 'MULTIPLE':\n field = this.repeat(source, layout);\n break;\n case 'TREE':\n field = this.tree(source, layout);\n break;\n case 'REF':\n field = this.lookup(source, layout);\n break;\n case 'ONETOMANY':\n field = this.lookupMany(source, layout);\n break;\n case 'ATTACHMENT':\n field = this.upload(source, layout);\n break;\n case 'INDICATOR':\n field = this.indicator(source, layout);\n break;\n default:\n break;\n }\n\n return field;\n }\n\n /**\n * 单行文本\n * @param field\n * @returns\n */\n private text(field: any, layout?: any) {\n let sysType: any = null;\n if (field.code == 'create_user' || field.code == 'modify_user') {\n sysType = field.code.toUpperCase();\n }\n let config: any = {\n type: 'text',\n key: field.id,\n defaultValue: null,\n props: {\n type: null,\n sysType: sysType,\n izSysName: false,\n label: field.name,\n required: field?.required == true ? true : false,\n maxLength: field.maxLength,\n minLength: null,\n placeholder: `请输入${field.name}`,\n layout: layout ? layout : 'default',\n },\n };\n if (field.izCodeRule && field.codeRuleId!!) {\n config = {\n type: 'textcode',\n key: field.id,\n defaultValue: null,\n props: {\n label: field.name,\n required: field?.required == true ? true : false,\n maxLength: field.maxLength,\n minLength: null,\n placeholder: `请输入${field.name}`,\n layout: layout ? layout : 'default',\n },\n };\n }\n\n return config;\n }\n\n private color(field: any, layout?: any) {\n let config: any = {\n type: 'color',\n key: field.id,\n defaultValue: null,\n props: {\n label: field.name,\n required: field?.required == true ? true : false,\n layout: layout ? layout : 'default',\n },\n };\n return config;\n }\n\n private icon(field: any, layout?: any) {\n let config: any = {\n type: 'icon',\n key: field.id,\n defaultValue: null,\n props: {\n label: field.name,\n required: field?.required == true ? true : false,\n layout: layout ? layout : 'default',\n },\n };\n return config;\n }\n\n /**\n * 多行文本\n * @param field\n * @returns\n */\n private textArea(field: any, layout?: any) {\n let config: any = {\n type: 'textarea',\n key: field.id,\n defaultValue: null,\n props: {\n label: field.name,\n required: field?.required == true ? true : false,\n maxLength: field.maxLength,\n minLength: field.minLength,\n placeholder: `请输入${field.name}`,\n rows: 3,\n layout: layout ? layout : 'default',\n },\n };\n return config;\n }\n\n /**\n * 整数、小数 类型\n * @param field\n * @param precision\n * @returns\n */\n private number(field: any, precision: number, layout?: any) {\n let config: any = {\n type: 'number',\n key: field.id,\n defaultValue: null,\n props: {\n label: field.name,\n required: field?.required == true ? true : false,\n max: field.max,\n min: field.min,\n placeholder: `请输入${field.name}`,\n precision: precision,\n layout: layout ? layout : 'default',\n },\n };\n return config;\n }\n\n /**\n * 日期型\n * @param field\n * @returns\n */\n private datetime(field: any, layout?: any) {\n let config: any = {\n type: 'datetime',\n key: field.id,\n defaultValue: null,\n props: {\n type: 'datetime',\n label: field.name,\n required: field?.required == true ? true : false,\n layout: layout ? layout : 'default',\n },\n };\n return config;\n }\n\n /**\n * 布尔值\n * @param field\n * @returns\n */\n private fieldBoolean(field: any, layout?: any) {\n let config: any = {\n type: 'radiogroup',\n key: field.id,\n defaultValue: true,\n props: {\n type: 'default',\n label: field.name,\n options: [\n { label: '是', value: true },\n { label: '否', value: false },\n ],\n required: field?.required == true ? true : false,\n sourceType: 'boolean',\n layout: layout ? layout : 'default',\n },\n };\n return config;\n }\n\n /**\n * 选择\n * @param field\n * @returns\n */\n private select(field: any, layout?: any) {\n let config: any = {\n type: 'select',\n key: field.id,\n defaultValue: null,\n props: {\n label: field.name,\n required: field?.required == true ? true : false,\n options: [],\n placeholder: `请选择${field.name}`,\n selectType: field?.multiple == true ? 'multiple' : 'single',\n layout: layout ? layout : 'default',\n },\n };\n return config;\n }\n\n /**\n * 子表单\n * @param field\n * @returns\n */\n private repeat(field: any, layout?: any) {\n let config: any = {\n type: 'repeat',\n key: field.id,\n props: {\n type: 'default',\n label: field.name,\n },\n fieldArray: {\n fieldGroup: [],\n },\n };\n return config;\n }\n\n private tree(field: any, layout?: any) {\n let config: any = {\n type: 'tree',\n key: field.id,\n defaultValue: null,\n props: {\n label: field.name,\n treeId: field.refId,\n required: field?.required == true ? true : false,\n placeholder: `请选择${field.name}`,\n selectType: field?.multiple == true ? 'multiple' : 'single',\n layout: layout ? layout : 'default',\n },\n };\n return config;\n }\n\n private lookup(field: any, layout?: any) {\n let config: any = {\n type: 'lookup',\n key: field.id,\n defaultValue: null,\n props: {\n label: field.name,\n required: field?.required == true ? true : false,\n placeholder: `请选择${field.name}`,\n selectType: field?.multiple == true ? 'multiple' : 'single',\n layout: layout ? layout : 'default',\n },\n };\n return config;\n }\n private lookupMany(field: any, layout?: any) {\n let config: any = {\n type: 'one2many',\n key: field.id,\n defaultValue: null,\n props: {\n label: field.name,\n required: field?.required == true ? true : false,\n placeholder: `请选择${field.name}`,\n selectType: 'multiple',\n layout: layout ? layout : 'default',\n },\n };\n return config;\n }\n\n /**\n * 附件 类型\n * @param field\n * @param precision\n * @returns\n */\n private upload(field: any, layout?: any) {\n let config: any = {\n type: 'upload',\n key: field.id,\n defaultValue: null,\n props: {\n label: field.name,\n required: field?.required == true ? true : false,\n placeholder: `请上传${field.name}`,\n layout: layout ? layout : 'default',\n },\n };\n if (field?.max != undefined && field?.max != null && field?.max > 0) {\n config.props['max'] = field.max;\n }\n return config;\n }\n\n private indicator(field: any, layout?: any) {\n let indTypeValue: any = 'KPI';\n let evalTypeValue: any = 'SCORE';\n if (field?.indType) {\n indTypeValue = field.indType;\n }\n if (field?.evalType) {\n evalTypeValue = field.evalType;\n }\n\n let group: any[] = [\n {\n key: `name`,\n type: 'text',\n props: {\n label: '指标名称',\n placeholder: `请输入指标名称`,\n required: true,\n minLength: 0,\n maxLength: 500,\n layout: 'default',\n },\n className: 'full-row',\n defaultValue: field?.name,\n },\n {\n key: `desc`,\n type: 'textarea',\n props: {\n label: '指标描述',\n placeholder: `请输入指标描述`,\n required: false,\n minLength: 0,\n maxLength: 800,\n rows: 3,\n layout: 'default',\n },\n defaultValue: field?.description,\n },\n {\n key: `indType`,\n type: 'select',\n props: {\n label: '指标类型',\n placeholder: `请选择指标类型`,\n required: false,\n layout: 'default',\n options: IndicatorType(),\n },\n editor: false,\n defaultValue: indTypeValue,\n },\n {\n key: `evalType`,\n type: 'select',\n props: {\n label: '评估方式',\n placeholder: `请选择评估方式`,\n required: false,\n layout: 'default',\n options: EvalType(),\n },\n editor: false,\n defaultValue: evalTypeValue,\n },\n ];\n\n if (field?.indType) {\n switch (field.indType) {\n case 'KPI':\n group.push({\n key: `weight`,\n type: 'number',\n props: {\n label: '指标权重',\n placeholder: `请输入指标权重`,\n required: true,\n min: -100,\n max: 300,\n layout: 'default',\n unit: '%',\n },\n defaultValue: 10,\n });\n break;\n }\n }\n\n if (field?.listItem && Array.isArray(field?.listItem)) {\n field.listItem.forEach((item: any) => {\n item.id = `item_${item.id}`;\n let newItem: any = this.fieldSourceType(item);\n if (newItem) {\n group.push(newItem);\n }\n });\n }\n\n let config: any = {\n type: 'indicator',\n key: `ind_${field.id}`,\n defaultValue: null,\n props: {\n indConfig: {\n sourceId: field.id,\n sourceType: 'LIBRARY',\n izAllowDel: true,\n izEditName: true,\n izEditDesc: true,\n izEditWeight: true,\n },\n },\n fieldGroup: group,\n };\n return config;\n }\n}\n","\n//export * from \"./commApi.service\";\nexport * from \"./base-dialog.service\";\nexport * from \"./base-list.service\";\nexport * from \"./base-table.service\";\nexport * from \"./base-title.service\";\nexport * from \"./base-tree.service\";\nexport * from \"./basePage\";\nexport * from \"./deon.util\";\nexport * from \"./deon2.util\";\nexport * from \"./dialog.token\";\nexport * from \"./field.init\";\nexport * from \"./global.event\";\nexport * from \"./layout-detail.service\";\nexport * from \"./layout.service\";\nexport * from \"./listService\";\nexport * from \"./window.service\";\nexport * from \"./field-source.service\";\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2","i3"],"mappings":"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"}