{"__symbolic":"module","version":4,"metadata":{"EmopPublicModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":17,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"ɵa"},{"__symbolic":"reference","name":"ɵb"},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵg"},{"__symbolic":"reference","name":"ɵi"},{"__symbolic":"reference","name":"ɵk"},{"__symbolic":"reference","name":"ɵm"},{"__symbolic":"reference","name":"ɵn"},{"__symbolic":"reference","name":"ɵo"}],"imports":[{"__symbolic":"reference","name":"BaseUiModule"},{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":34,"character":4},{"__symbolic":"reference","name":"EmopModule"},{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":36,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"ReactiveFormsModule","line":37,"character":4}],"providers":[],"exports":[{"__symbolic":"reference","name":"ɵa"},{"__symbolic":"reference","name":"ɵg"},{"__symbolic":"reference","name":"ɵb"},{"__symbolic":"reference","name":"ɵi"}]}]}],"members":{}},"EmopModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":22,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"ɵp"},{"__symbolic":"reference","name":"ɵq"},{"__symbolic":"reference","name":"ɵs"},{"__symbolic":"reference","name":"ɵt"},{"__symbolic":"reference","name":"ɵu"},{"__symbolic":"reference","name":"ɵv"},{"__symbolic":"reference","name":"ɵw"},{"__symbolic":"reference","name":"ɵx"},{"__symbolic":"reference","name":"ɵy"},{"__symbolic":"reference","name":"ɵz"},{"__symbolic":"reference","name":"ɵba"},{"__symbolic":"reference","name":"ɵbb"},{"__symbolic":"reference","name":"ɵbc"},{"__symbolic":"reference","name":"ɵbd"}],"imports":[{"__symbolic":"reference","name":"BaseUiModule"},{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":41,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":42,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"ReactiveFormsModule","line":43,"character":4},{"__symbolic":"reference","module":"@angular/router","name":"RouterModule","line":44,"character":4}],"providers":[{"__symbolic":"reference","name":"ɵr"}],"exports":[{"__symbolic":"reference","name":"ɵp"},{"__symbolic":"reference","name":"ɵq"},{"__symbolic":"reference","name":"ɵt"},{"__symbolic":"reference","name":"ɵs"},{"__symbolic":"reference","name":"ɵu"},{"__symbolic":"reference","name":"ɵv"},{"__symbolic":"reference","name":"ɵw"},{"__symbolic":"reference","name":"ɵx"},{"__symbolic":"reference","name":"ɵy"},{"__symbolic":"reference","name":"ɵz"},{"__symbolic":"reference","name":"ɵbb"},{"__symbolic":"reference","name":"ɵbc"}]}]}],"members":{}},"BaseUiModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":35,"character":1},"arguments":[{"declarations":[],"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":38,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/anchor","name":"NzAnchorModule","line":39,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/card","name":"NzCardModule","line":40,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/button","name":"NzButtonModule","line":41,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/divider","name":"NzDividerModule","line":42,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/spin","name":"NzSpinModule","line":43,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/drawer","name":"NzDrawerModule","line":44,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/tabs","name":"NzTabsModule","line":45,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/tooltip","name":"NzToolTipModule","line":46,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/radio","name":"NzRadioModule","line":47,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/tag","name":"NzTagModule","line":48,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/switch","name":"NzSwitchModule","line":49,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/form","name":"NzFormModule","line":50,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/input","name":"NzInputModule","line":51,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/date-picker","name":"NzDatePickerModule","line":52,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/select","name":"NzSelectModule","line":53,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/input-number","name":"NzInputNumberModule","line":54,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/auto-complete","name":"NzAutocompleteModule","line":55,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/radio","name":"NzRadioModule","line":56,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/menu","name":"NzMenuModule","line":57,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/icon","name":"NzIconModule","line":58,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/tabs","name":"NzTabsModule","line":59,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/tooltip","name":"NzToolTipModule","line":60,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/table","name":"NzTableModule","line":61,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/dropdown","name":"NzDropDownModule","line":62,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/spin","name":"NzSpinModule","line":63,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/modal","name":"NzModalModule","line":64,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/popconfirm","name":"NzPopconfirmModule","line":65,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/notification","name":"NzNotificationModule","line":66,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageModule","line":67,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/tree","name":"NzTreeModule","line":68,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/checkbox","name":"NzCheckboxModule","line":69,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/pagination","name":"NzPaginationModule","line":70,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/card","name":"NzCardModule","line":71,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/tag","name":"NzTagModule","line":72,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/skeleton","name":"NzSkeletonModule","line":73,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/timeline","name":"NzTimelineModule","line":74,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/empty","name":"NzEmptyModule","line":75,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/slider","name":"NzSliderModule","line":76,"character":4}],"providers":[{"__symbolic":"reference","module":"ng-zorro-antd/notification","name":"NzNotificationService","line":79,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/dropdown","name":"NzContextMenuService","line":80,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageService","line":81,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/modal","name":"NzModalService","line":82,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/drawer","name":"NzDrawerService","line":83,"character":4}],"exports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":86,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/anchor","name":"NzAnchorModule","line":87,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/card","name":"NzCardModule","line":88,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/button","name":"NzButtonModule","line":89,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/divider","name":"NzDividerModule","line":90,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/spin","name":"NzSpinModule","line":91,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/drawer","name":"NzDrawerModule","line":92,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/tabs","name":"NzTabsModule","line":93,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/tooltip","name":"NzToolTipModule","line":94,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/radio","name":"NzRadioModule","line":95,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/tag","name":"NzTagModule","line":96,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/switch","name":"NzSwitchModule","line":97,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/form","name":"NzFormModule","line":98,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/input","name":"NzInputModule","line":99,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/date-picker","name":"NzDatePickerModule","line":100,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/select","name":"NzSelectModule","line":101,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/input-number","name":"NzInputNumberModule","line":102,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/auto-complete","name":"NzAutocompleteModule","line":103,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/radio","name":"NzRadioModule","line":104,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/menu","name":"NzMenuModule","line":105,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/icon","name":"NzIconModule","line":106,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/tabs","name":"NzTabsModule","line":107,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/tooltip","name":"NzToolTipModule","line":108,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/table","name":"NzTableModule","line":109,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/dropdown","name":"NzDropDownModule","line":110,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/spin","name":"NzSpinModule","line":111,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/modal","name":"NzModalModule","line":112,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/popconfirm","name":"NzPopconfirmModule","line":113,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/notification","name":"NzNotificationModule","line":114,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageModule","line":115,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/tree","name":"NzTreeModule","line":116,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/checkbox","name":"NzCheckboxModule","line":117,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/pagination","name":"NzPaginationModule","line":118,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/card","name":"NzCardModule","line":119,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/tag","name":"NzTagModule","line":120,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/skeleton","name":"NzSkeletonModule","line":121,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/timeline","name":"NzTimelineModule","line":122,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/empty","name":"NzEmptyModule","line":123,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/slider","name":"NzSliderModule","line":124,"character":4}]}]}],"members":{}},"ɵa":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"emop-public-doc-create","template":"<!-- <emop-form-pro [data]=\"EmopFormData\"></emop-form-pro>\n<div style=\"text-align: center;\">\n  <button nz-button\n          class=\"emop_list_margin\"\n          (click)=\"cancel()\"\n          [disabled]=\"loading\">取消</button>\n  <button nz-button\n          class=\"emop_list_margin\"\n          nzType=\"primary\"\n          (click)=\"submit()\"\n          [disabled]=\"loading\">确定</button>\n</div> -->","styles":[""]}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}]}},"ɵb":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":7,"character":1},"arguments":[{"selector":"emop-public-workflow-create","template":"<app-emop-public-workflow-create-new #workflowCreateNew></app-emop-public-workflow-create-new>\n<!-- <app-emop-public-workflow-create-relation></app-emop-public-workflow-create-relation> -->\n<app-emop-public-workflow-create-appointee #workflowAppointee\n                                           *ngIf=\"EmopPublicWorkflowCreateService.currentWorkflowTemplate\"></app-emop-public-workflow-create-appointee>\n<div class=\"btnList\">\n  <button nz-button\n          nzType=\"primary\"\n          (click)=\"createWorkflow()\">发起流程</button>\n</div>","styles":["::ng-deep .ant-card{margin-bottom:20px}.btnList{margin-top:20px;display:flex;justify-content:center}"]}]}],"members":{"tenant":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":13,"character":3}}]}],"batchId":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":3}}]}],"multiple":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":18,"character":3}}]}],"allowDeleteDefault":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":22,"character":3}}]}],"approvalTableHeader":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":26,"character":3}}]}],"workflowCreateNew":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":31,"character":3},"arguments":["workflowCreateNew"]}]}],"workflowAppointee":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":32,"character":3},"arguments":["workflowAppointee"]}]}],"confirm":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":33,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","module":"ng-zorro-antd/notification","name":"NzNotificationService","line":37,"character":35}]}],"ngOnInit":[{"__symbolic":"method"}],"getWorkflowTemplateList":[{"__symbolic":"method"}],"getApprovalObject":[{"__symbolic":"method"}],"createWorkflow":[{"__symbolic":"method"}]}},"ɵc":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":4,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵd"}]}],"clearData":[{"__symbolic":"method"}],"templateChange":[{"__symbolic":"method"}]},"statics":{"ɵprov":{}}},"ɵd":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":4,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"processDefinitionsFilter":[{"__symbolic":"method"}],"taskDefinitions":[{"__symbolic":"method"}],"initProcessAssignment":[{"__symbolic":"method"}],"startTaskPayload":[{"__symbolic":"method"}],"createWorkflow":[{"__symbolic":"method"}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":75,"character":18}]}]},"statics":{"ɵprov":{}}},"ɵe":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"selector":"app-emop-public-workflow-create-new","template":"<nz-card nzSize=\"small\"\n         [nzTitle]=\"title\">\n  <ng-template #title>\n    <i nz-icon\n       nzType=\"file-add\"\n       nzTheme=\"outline\"></i>\n    <span style=\"margin-left: 5px;\">新建流程</span>\n  </ng-template>\n  <nz-skeleton nzActive=\"true\"\n               *ngIf=\"!EmopPublicWorkflowCreateService.workflowTemplateList.length\"></nz-skeleton>\n  <form nz-form\n        *ngIf=\"EmopPublicWorkflowCreateService.workflowTemplateList.length\">\n    <nz-form-item>\n      <nz-form-label [nzSpan]=\"6\">流程模板</nz-form-label>\n      <nz-form-control [nzSpan]=\"14\">\n        <nz-select [(ngModel)]=\"EmopPublicWorkflowCreateService.currentWorkflowTemplate\"\n                   (ngModelChange)=\"templateChange($event)\"\n                   nzShowSearch\n                   name=\"template\">\n          <nz-option *ngFor=\"let option of EmopPublicWorkflowCreateService.workflowTemplateList\"\n                     [nzValue]=\"option\"\n                     [nzLabel]=\"option.name\"></nz-option>\n        </nz-select>\n      </nz-form-control>\n    </nz-form-item>\n    <nz-form-item>\n      <nz-form-label [nzSpan]=\"6\">流程名</nz-form-label>\n      <nz-form-control [nzSpan]=\"14\">\n        <input nz-input\n               [(ngModel)]=\"workflowName\"\n               name=\"workflowName\">\n      </nz-form-control>\n    </nz-form-item>\n    <nz-form-item *ngIf=\"EmopPublicWorkflowCreateService.approvalTable.header.length\">\n      <nz-form-label [nzSpan]=\"6\">审批对象</nz-form-label>\n      <nz-form-control [nzSpan]=\"14\">\n        <emop-table-pro [dataRef]=\"approvalRef\"\n                        [data]=\"EmopPublicWorkflowCreateService.approvalTable\">\n          <ng-template #approvalRef\n                       let-data=\"data\">\n            <td *ngFor=\"let item of EmopPublicWorkflowCreateService.approvalTable.header\">{{data[item.key]}}</td>\n          </ng-template>\n        </emop-table-pro>\n      </nz-form-control>\n    </nz-form-item>\n    <nz-form-item>\n      <nz-form-label [nzSpan]=\"6\">备注</nz-form-label>\n      <nz-form-control [nzSpan]=\"14\">\n        <textarea rows=\"4\"\n                  nz-input\n                  [(ngModel)]=\"remark\"\n                  name=\"remark\"></textarea>\n      </nz-form-control>\n    </nz-form-item>\n  </form>\n</nz-card>","styles":[""]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵc"}]}],"ngOnInit":[{"__symbolic":"method"}],"templateChange":[{"__symbolic":"method"}]}},"ɵf":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"selector":"app-emop-public-workflow-create-appointee","template":"<nz-card nzSize=\"small\"\n         [nzTitle]=\"title\"\n         *ngIf=\"EmopPublicWorkflowCreateService.appointeeList\">\n  <ng-template #title>\n    <i nz-icon\n       nzType=\"user-switch\"\n       nzTheme=\"outline\"></i>\n    <span style=\"margin-left: 5px;\">指派任务</span>\n  </ng-template>\n  <nz-skeleton [nzActive]=\"true\"\n               [nzLoading]=\"!EmopPublicWorkflowCreateService.appointeeList.length\"></nz-skeleton>\n  <div class=\"timeLine\"\n       *ngIf=\"EmopPublicWorkflowCreateService.appointeeList.length\">\n    <nz-timeline>\n      <nz-timeline-item *ngFor=\"let item of EmopPublicWorkflowCreateService.appointeeList\">\n        <p>{{item.name}}</p>\n        <div class=\"boxList\">\n          <ng-container *ngIf=\"item.currentUser?.length\">\n            <div class=\"box\"\n                 *ngFor=\"let user of item.currentUser\">\n              <div class=\"avatar\">\n                <span>{{(user.username && user.username[0]) || user.realName && user.realName[0]}}</span>\n              </div>\n              <div class=\"name\">{{user.username || user.realName}}</div>\n              <i class=\"close\"\n                 nz-icon\n                 nzType=\"close-circle\"\n                 *ngIf=\"user.allowDelete\"\n                 (click)=\"removeUser(item, user)\"\n                 nzTheme=\"twotone\"></i>\n            </div>\n          </ng-container>\n          <div class=\"none\"\n               *ngIf=\"!item.currentUser?.length || EmopPublicWorkflowCreateService.customParams.multiple\"\n               (click)=\"selecteUser(item)\">\n            <div class=\"box\">\n              <div class=\"none\">\n                <i nz-icon\n                   nzType=\"plus\"\n                   nzTheme=\"outline\"></i>\n              </div>\n              <div class=\"name\"></div>\n            </div>\n          </div>\n        </div>\n      </nz-timeline-item>\n    </nz-timeline>\n  </div>\n</nz-card>\n\n<nz-modal [(nzVisible)]=\"userSelectorVisible\"\n          nzTitle=\"选择用户\"\n          [nzFooter]=\"null\"\n          (nzOnCancel)=\"userSelectorVisible = false\">\n  <ng-container *nzModalContent>\n    <emop-public-usercenter-selector [checkedIds]=\"checkedIds\"\n                                     (submit)=\"submit($event)\"\n                                     [multiple]=\"EmopPublicWorkflowCreateService.customParams.multiple\"></emop-public-usercenter-selector>\n  </ng-container>\n</nz-modal>","styles":[".timeLine{padding:30px 100px}.boxList{display:flex;align-items:flex-start;flex-wrap:wrap}.box,.none{width:50px}.box{position:relative;margin-right:10px}.box .close{position:absolute;right:-7px;top:-7px;color:#fff;font-size:17px;cursor:pointer}.box .avatar{display:flex;justify-content:center;align-items:center;font-size:22px;color:#fff;background-color:#232b52;width:100%;height:50px;line-height:50px;border-radius:10px}.box .name{text-align:center}.box .none{width:50px;height:50px;display:flex;justify-content:center;align-items:center;font-size:25px;background-color:#f0f0f0;border:1px dashed #c5c5c5;cursor:pointer;border-radius:10px}.box .none i{color:#b7b7b7}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","module":"ng-zorro-antd/modal","name":"NzModalService","line":15,"character":19}]}],"ngOnInit":[{"__symbolic":"method"}],"selecteUser":[{"__symbolic":"method"}],"submit":[{"__symbolic":"method"}],"removeUser":[{"__symbolic":"method"}]}},"ɵg":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":6,"character":1},"arguments":[{"selector":"emop-public-usercenter-selector","template":"<div class=\"usercenter-selector\">\n  <nz-spin [nzSpinning]=\"loading\">\n    <nz-input-group [nzSuffix]=\"suffixIconSearch\">\n      <input type=\"text\"\n             [(ngModel)]=\"keyword\"\n             (keydown.enter)=\"search()\"\n             nz-input />\n    </nz-input-group>\n    <ng-template #suffixIconSearch>\n      <i nz-icon\n         nzType=\"search\"></i>\n    </ng-template>\n\n    <div class=\"usercenter-selector-tree\"\n         *ngIf=\"!loading && dataList.length\">\n      <nz-tree #nzTreeComponent\n               [nzData]=\"dataList\"\n               nzCheckable\n               nzBlockNode\n               nzVirtualHeight=\"500px\"\n               (nzCheckBoxChange)=\"nzCheck()\"\n               [nzCheckedKeys]=\"checkedIds\"\n               (nzExpandChange)=\"lazyChildren(false,$event)\">\n      </nz-tree>\n    </div>\n    <nz-empty *ngIf=\"!loading && !dataList.length\"\n              style=\"margin: 20px 0;\"></nz-empty>\n\n    <div class=\"btnList\">\n      <button nz-button\n              (click)=\"submitFn('insert')\"\n              *ngIf=\"multiple\"\n              nz-tooltip\n              nzTooltipTitle=\"不影响已选用户的条件下插入用户\"\n              style=\"margin-right: 10px;\">插入</button>\n      <button nz-button\n              nz-tooltip\n              nzTooltipTitle=\"覆盖已选用户的条件下选中用户\"\n              nzType=\"primary\"\n              (click)=\"submitFn('save')\">保存</button>\n\n    </div>\n  </nz-spin>\n\n</div>","styles":[".usercenter-selector{display:flex;flex-direction:column}.usercenter-selector .usercenter-selector-tree{flex:1;margin-top:10px}.usercenter-selector .btnList{display:flex;justify-content:flex-end;align-items:center;margin-top:10px}"]}]}],"members":{"multiple":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":27,"character":3}}]}],"checkedIds":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":31,"character":3}}]}],"nzTreeComponent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":33,"character":3},"arguments":["nzTreeComponent",{"static":false}]}]}],"submit":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":34,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵh"},{"__symbolic":"reference","module":"ng-zorro-antd/notification","name":"NzNotificationService","line":37,"character":35}]}],"ngOnInit":[{"__symbolic":"method"}],"nzCheck":[{"__symbolic":"method"}],"lazyChildren":[{"__symbolic":"method"}],"submitFn":[{"__symbolic":"method"}],"search":[{"__symbolic":"method"}],"dealWithData":[{"__symbolic":"method"}]}},"ɵh":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":4,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"lazyChildren":[{"__symbolic":"method"}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":22,"character":18}]}]},"statics":{"ɵprov":{}}},"ɵi":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":5,"character":1},"arguments":[{"selector":"emop-public-workflow-approval","template":"<nz-spin [nzSpinning]=\"EmopPublicWorkflowApprovalService.submitLoading\">\n  <div class=\"workflow-approval\">\n    <div class=\"approval-form\"\n         *ngIf=\"showForm\">\n      <app-emop-public-workflow-approval-form (confirm)=\"confirmFn($event)\"></app-emop-public-workflow-approval-form>\n    </div>\n    <div class=\"approval-detail\">\n      <nz-tabset>\n        <nz-tab nzTitle=\"对象审批\">\n          <app-emop-public-workflow-approval-object></app-emop-public-workflow-approval-object>\n        </nz-tab>\n        <nz-tab nzTitle=\"流程详情\">\n          <app-emop-public-workflow-approval-detail></app-emop-public-workflow-approval-detail>\n        </nz-tab>\n        <nz-tab nzTitle=\"审批记录\">\n          <app-emop-public-workflow-approval-record></app-emop-public-workflow-approval-record>\n        </nz-tab>\n        <!-- <nz-tab nzTitle=\"附件\">\n        </nz-tab> -->\n      </nz-tabset>\n    </div>\n  </div>\n</nz-spin>","styles":[".workflow-approval{display:flex;height:100%;flex-direction:column;overflow:hidden;background-color:#f1f1f1}.workflow-approval .approval-detail{flex:1;background-color:#fff;padding:0 24px;overflow:auto}.workflow-approval .approval-form{margin-bottom:12px;background-color:#fff;padding:0 24px 24px;overflow:auto}::ng-deep .ant-drawer-body{padding:0}"]}]}],"members":{"processInstanceId":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":15,"character":3}}]}],"approvalTableHeader":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":3}}]}],"showForm":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":17,"character":3}}]}],"onApprovalTableClick":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":18,"character":3}}]}],"confirm":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":19,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵj"},{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageService","line":23,"character":30}]}],"ngOnInit":[{"__symbolic":"method"}],"approvalConfirm":[{"__symbolic":"method"}],"confirmFn":[{"__symbolic":"method"}]}},"ɵj":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":5,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":60,"character":18}]}]},"statics":{"ɵprov":{}}},"ɵk":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":5,"character":1},"arguments":[{"selector":"app-emop-public-workflow-approval-object","template":"<nz-skeleton [nzActive]=\"true\"\n             [nzLoading]=\"loading\">\n  <emop-form-pro [data]=\"EmopFormData\"\n                 layout=\"inline\"></emop-form-pro>\n  <ng-container *ngIf=\"EmopPublicWorkflowApprovalService.approvalObjectTable.data.length\">\n    <div class=\"title\">审批对象 :</div>\n    <emop-table-pro [dataRef]=\"approvalObjectTableRef\"\n                    [data]=\"EmopPublicWorkflowApprovalService.approvalObjectTable\">\n      <ng-template #approvalObjectTableRef\n                   let-data=\"data\">\n        <ng-container *ngFor=\"let item of EmopPublicWorkflowApprovalService.approvalObjectTable.header\">\n          <td *ngIf=\"item.key==='_id'\">\n            <a (click)=\"openUrl(data)\">{{data[item.key]}}</a>\n          </td>\n          <td *ngIf=\"item.key!=='_id'\">{{data[item.key]}}</td>\n        </ng-container>\n      </ng-template>\n    </emop-table-pro>\n  </ng-container>\n\n</nz-skeleton>","styles":[".title{line-height:50px}:host ::ng-deep .ant-row{width:100%}:host ::ng-deep .ant-col-14{max-width:none}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵj"},{"__symbolic":"reference","name":"ɵl"}]}],"ngOnInit":[{"__symbolic":"method"}],"openUrl":[{"__symbolic":"method"}]}},"ɵl":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":4,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":10,"character":18}]}],"getProcessInstanceDetail":[{"__symbolic":"method"}],"approvalFlow":[{"__symbolic":"method"}],"getApprovalObject":[{"__symbolic":"method"}],"getTaskDetail":[{"__symbolic":"method"}],"processInstanceTrace":[{"__symbolic":"method"}],"getXml":[{"__symbolic":"method"}],"getJsonSchema":[{"__symbolic":"method"}],"firstTask":[{"__symbolic":"method"}]},"statics":{"ɵprov":{}}},"ɵm":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"app-emop-public-workflow-approval-form","template":"<div style=\"margin-top: 20px;\">\n  <nz-skeleton [nzActive]=\"true\"\n               [nzLoading]=\"!EmopPublicWorkflowApprovalService.formData.length\">\n    <emop-form-pro col=\"1\"\n                   layout=\"inline\"\n                   [data]=\"EmopPublicWorkflowApprovalService.formData\"></emop-form-pro>\n    <div class=\"btn\">\n      <div (click)=\"approvalConfirm()\">确认</div>\n    </div>\n  </nz-skeleton>\n</div>","styles":[".btn{display:flex;justify-content:flex-start}.btn>div{display:flex;justify-content:center;align-items:center;width:76px;height:32px;background-color:#2664cb;color:#fff;border-radius:3px;cursor:pointer}:host ::ng-deep .ant-col-24{margin-bottom:12px}:host ::ng-deep .ant-col-14{max-width:none}:host ::ng-deep .ant-row{width:100%}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵl"},{"__symbolic":"reference","name":"ɵj"}]}],"confirm":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":15,"character":3}}]}],"ngOnInit":[{"__symbolic":"method"}],"approvalConfirm":[{"__symbolic":"method"}]}},"ɵn":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":6,"character":1},"arguments":[{"selector":"app-emop-public-workflow-approval-record","template":"<nz-skeleton [nzActive]=\"true\"\n             [nzLoading]=\"loading\">\n  <emop-table-pro [dataRef]=\"recordTableRef\"\n                  [data]=\"EmopPublicWorkflowApprovalService.recordTable\">\n    <ng-template #recordTableRef\n                 let-data=\"data\">\n      <td>\n        <div nz-tooltip\n             style=\"overflow:hidden;text-overflow:ellipsis;white-space:nowrap;\"\n             nzTooltipPlacement=\"topLeft\"\n             [nzTooltipTitle]=\"data.name\">{{ data.name }}</div>\n      </td>\n      <td>{{ !!data.endTime ? '是' : '否' }}</td>\n      <td>{{ data.assigneeName }}</td>\n      <td>{{ data.endTime | date: 'yyyy-MM-dd HH:mm:ss' }}</td>\n      <td>\n        <div nz-tooltip\n             style=\"overflow:hidden;text-overflow:ellipsis;white-space:nowrap;\"\n             [nzTooltipTitle]=\"data.comment\">\n          {{ data.comment }}\n        </div>\n      </td>\n    </ng-template>\n  </emop-table-pro>\n</nz-skeleton>","styles":[""]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵj"},{"__symbolic":"reference","name":"ɵl"},{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageService","line":16,"character":30}]}],"ngOnInit":[{"__symbolic":"method"}]}},"ɵo":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":21,"character":1},"arguments":[{"selector":"app-emop-public-workflow-approval-detail","template":"<div style=\"position: relative;\">\n  <nz-spin [nzSpinning]=\"loading\">\n    <div #canvasContainer\n         style=\"width: 100%; height: 500px; min-height: 500px;\"></div>\n    <div style=\"position: absolute; bottom: 70px; right: 20px; height: 150px; z-index: 100;\">\n      <nz-slider (ngModelChange)=\"zoom($event)\"\n                 [ngModel]=\"100\"\n                 [nzMax]=\"200\"\n                 nzVertical></nz-slider>\n    </div>\n  </nz-spin>\n</div>","styles":["::ng-deep app-camunda-process-trace .djs-context-pad,::ng-deep app-camunda-process-trace .djs-palette{display:none!important}::ng-deep .bjs-powered-by{display:none}"]}]}],"members":{"canvasContainer":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":29,"character":3},"arguments":["canvasContainer",{"read":{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":29,"character":40}}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵl"},{"__symbolic":"reference","name":"ɵj"}]}],"ngOnInit":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}],"initBpmn":[{"__symbolic":"method"}],"importXML":[{"__symbolic":"method"}],"preserveColors":[{"__symbolic":"method"}],"setColor":[{"__symbolic":"method"}],"zoom":[{"__symbolic":"method"}]}},"ɵp":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":15,"character":1},"arguments":[{"selector":"emop-form","template":"<!-- 不再维护该组件,请转移至emop-form-pro中使用,该组件不要删除 -->\n<!-- 不再维护该组件,请转移至emop-form-pro中使用,该组件不要删除 -->\n<!-- 不再维护该组件,请转移至emop-form-pro中使用,该组件不要删除 -->\n<!-- 不再维护该组件,请转移至emop-form-pro中使用,该组件不要删除 -->\n<!-- 不再维护该组件,请转移至emop-form-pro中使用,该组件不要删除 -->\n<!-- 不再维护该组件,请转移至emop-form-pro中使用,该组件不要删除 -->\n<!-- 不再维护该组件,请转移至emop-form-pro中使用,该组件不要删除 -->\n<!-- 不再维护该组件,请转移至emop-form-pro中使用,该组件不要删除 -->\n<!-- 不再维护该组件,请转移至emop-form-pro中使用,该组件不要删除 -->\n<!-- 不再维护该组件,请转移至emop-form-pro中使用,该组件不要删除 -->\n<!-- 不再维护该组件,请转移至emop-form-pro中使用,该组件不要删除 -->\n<!-- 不再维护该组件,请转移至emop-form-pro中使用,该组件不要删除 -->\n\n\n<form nz-form\n      [nzLayout]=\"layout\">\n  <div nz-row\n       [nzGutter]=\"24\">\n    <ng-container *ngFor=\"let item of EmopFormData?.value\">\n      <div nz-col\n           [nzSpan]=\"24/col\"\n           *ngIf=\"(item.visible === undefined ? true : item.visible) && (item.enable === undefined ? true : item.enable)\">\n        <nz-form-item>\n          <nz-form-label [nzFor]=\"item.key\"\n                         [nzSpan]=\"6\"\n                         [nzRequired]=\"item.required\">{{item.alias}}</nz-form-label>\n          <nz-form-control [nzSpan]=\"layout === 'vertical' ? 24 : 14\"\n                           [nzErrorTip]=\"item.errorTips || item.alias+'为必填项'\"\n                           [nzHasFeedback]=\"hasFeedback\"\n                           [nzValidateStatus]=\"item.validateStatus\">\n            <emop-form-item [data]=\"item\"\n                            (onChange)=\"changeFn($event)\"\n                            (btnClick)=\"btnClick($event)\"\n                            (onOpen)=\"openChange($event)\"></emop-form-item>\n            <ng-container *ngIf=\"item.afterBtn\">\n              <button nz-button\n                      nzType=\"default\"\n                      (click)=\"afterBtn(item)\">\n                {{item.afterBtn?.alias}}\n              </button>\n            </ng-container>\n          </nz-form-control>\n        </nz-form-item>\n      </div>\n    </ng-container>\n  </div>\n</form>","styles":["::ng-deep .ant-form-item-control-input-content{display:flex;align-items:center}::ng-deep .ant-form-item-control-input-content emop-form-item{flex:1;font-size:20px}"]}]}],"members":{"EmopFormData":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":22,"character":3}}]}],"col":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":23,"character":3}}]}],"hasFeedback":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":24,"character":3}}]}],"layout":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":25,"character":3}}]}],"valueChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":26,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngOnChanges":[{"__symbolic":"method"}],"ngOnInit":[{"__symbolic":"method"}],"afterBtn":[{"__symbolic":"method"}],"changeFn":[{"__symbolic":"method"}],"openChange":[{"__symbolic":"method"}],"btnClick":[{"__symbolic":"method"}]}},"ɵq":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":12,"character":1},"arguments":[{"selector":"emop-sidebar","template":"<div class=\"emop-sidebar\">\n  <!-- 左侧菜单栏 -->\n  <div *ngIf=\"layout.includes('left') && theme==='default'\"\n       class=\"emop-menu emop_column\"\n       [ngClass]=\" {'isCollapsed': isCollapsed}\">\n    <div class=\"logoUrl\">\n      <ng-content select=\"[logoUrl]\"\n                  *ngIf=\"custom.includes('logoUrl')\"></ng-content>\n      <img [src]='logoUrl'\n           alt=\"\"\n           *ngIf=\"!custom.includes('logoUrl')\"\n           style=\"margin-top: 10px;\">\n    </div>\n    <div class=\"menu emop_column\">\n      <div>\n        <div class=\"item emop_center\"\n             *ngFor=\"let item of sidebarData\"\n             nz-tooltip\n             nzTooltipPlacement=\"right\"\n             (click)=\"navigate(item.homepage)\"\n             [nzTooltipTitle]=\"item.desc\"\n             [ngClass]=\"{sidebarBC: isMenuSelected(item) }\">\n          <div class=\"menu-icon\">\n            <i class=\"iconfont\"\n               [class]=\"item.icon\"></i>\n          </div>\n          <span>{{item[sidebarLanguageDisplay] ? item[sidebarLanguageDisplay] : item['display']}}</span>\n        </div>\n      </div>\n      <div class=\"collapsedControl\"\n           (click)=\"isCollapsed=!isCollapsed\">\n        <i class=\"iconfont icon-caidan-yizhankai\"></i>\n      </div>\n    </div>\n  </div>\n  <!-- 右侧内容区域 -->\n  <div class=\"emop-content\">\n    <!-- 头部区域 -->\n    <!-- 默认主题 -->\n    <div class=\"default-header emop_between\"\n         *ngIf=\"layout.includes('top') && theme==='default'\">\n      <div class=\"left emop_center\">\n        <ng-container *ngIf=\"!custom.includes('appName')\">\n          <i class=\"iconfont\"\n             [class]=\"icon\"></i>\n          <div class=\"header-title\">{{appName}}</div>\n        </ng-container>\n        <ng-container *ngIf=\"custom.includes('appName')\">\n          <ng-content select=\"[appName]\"></ng-content>\n        </ng-container>\n\n        <ng-content select=\"[headerLeft]\"></ng-content>\n      </div>\n      <div class=\"right emop_center\">\n        <ng-content select=\"[headerRight]\"></ng-content>\n        <div nz-dropdown\n             [nzDropdownMenu]=\"menu\"\n             class=\"userInfo emop_center\"\n             nzTrigger=\"hover\">\n          <i class=\"iconfont icon-jiaose\"\n             style=\"color: #aaa; font-size: 20px;\"></i>\n          {{userName || '暂无'}}\n          <i class=\"iconfont icon-sanjiao-mian\"\n             style=\"margin-left: 4px;\"></i>\n        </div>\n      </div>\n    </div>\n    <!-- sub-horizontal主题 -->\n    <div class=\"sub-horizontal-header emop_between\"\n         [ngStyle]=\"{'backgroundColor': themeColor === 'blue' ? '#12194f' : '#0b4857'}\"\n         *ngIf=\"layout.includes('top') && theme==='sub-horizontal'\">\n      <div class=\"left emop_center\">\n        <div class=\"icon\"\n             [class]=\"themeColor\">\n          <i class=\"iconfont icon-huayang-kuaijiecaidan\"></i>\n          <div class=\"horizontal-box\"\n               [ngStyle]=\"{'backgroundColor': themeColor === 'blue' ? '#12194f' : '#0b4857'}\"\n               *ngIf=\"sidebarData?.length\">\n            <div class=\"box-item\"\n                 [class]=\"themeColor\"\n                 [ngClass]=\"{'active': isMenuSelected(item)}\"\n                 *ngFor=\"let item of sidebarData\"\n                 nz-tooltip\n                 nzTooltipPlacement=\"right\"\n                 (click)=\"navigate(item.homepage)\"\n                 [nzTooltipTitle]=\"item.desc\">\n              <div class=\"iconf\">\n                <i class=\"iconfont\"\n                   [class]=\"item.icon\"></i>\n              </div>\n              <div class=\"menu-title\"\n                   [class]=\"themeColor\">\n                {{item[sidebarLanguageDisplay] ? item[sidebarLanguageDisplay] : item['display']}}\n              </div>\n            </div>\n          </div>\n        </div>\n        <ng-container *ngIf=\"!custom.includes('appName')\">\n          <i class=\"iconfont\"\n             style=\"color: #fff; margin-left: 8px;\"\n             [class]=\"icon\"></i>\n          <div class=\"header-title\">{{appName}}</div>\n        </ng-container>\n        <ng-container *ngIf=\"custom.includes('appName')\">\n          <ng-content select=\"[appName]\"></ng-content>\n        </ng-container>\n        <ng-content select=\"[headerLeft-sub-horizontal]\"></ng-content>\n      </div>\n      <div class=\"right emop_center\">\n        <ng-content select=\"[headerRight-sub-horizontal]\"></ng-content>\n        <div nz-dropdown\n             [nzDropdownMenu]=\"menu\"\n             class=\"userInfo emop_center\"\n             nzTrigger=\"hover\">\n          <i class=\"iconfont icon-jiaose\"\n             style=\"color: #fff; font-size: 20px;\"></i>\n          {{userName || '暂无'}}\n          <i class=\"iconfont icon-sanjiao-mian\"\n             style=\"margin-left: 4px;\"></i>\n        </div>\n      </div>\n    </div>\n    <!-- 主要内容 -->\n    <div class=\"emop-main\">\n      <ng-content></ng-content>\n    </div>\n  </div>\n</div>\n<!-- 右上角下拉内容 -->\n<nz-dropdown-menu #menu=\"nzDropdownMenu\">\n  <ul nz-menu>\n    <li nz-menu-item\n        *ngIf=\"dropDownData.includes('logout')\"\n        (click)=\"logoutFn()\"\n        class=\"emop_center\">\n      <i class=\"iconfont icon-tuichu\"></i><span style=\"margin-left: 8px;\">退出</span>\n    </li>\n    <li nz-menu-item\n        *ngIf=\"dropDownData.includes('changePassword')\"\n        (click)=\"changePasswordFn()\"\n        class=\"emop_center\">\n      <i class=\"iconfont icon-xiuding \"></i><span style=\"margin-left: 8px;\">修改密码</span>\n    </li>\n    <li nz-menu-item\n        *ngIf=\"dropDownData.includes('about')\"\n        (click)=\"aboutModal.visiable=true\"\n        class=\"emop_center\">\n      <i class=\"iconfont icon-guanyu\"></i><span style=\"margin-left: 8px;\">关于</span>\n    </li>\n    <li nz-submenu\n        [nzTitle]=\"titleTpl\"\n        *ngIf=\"dropDownData.includes('language')\"\n        class=\"emop_center\">\n      <ng-template #titleTpl>\n        <i class=\"iconfont icon-yuyan\"></i><span style=\"margin-left: 8px;\">语言</span>\n      </ng-template>\n      <ul>\n        <li nz-menu-item\n            (click)=\"changeLanguageFn(item.value)\"\n            *ngFor=\"let item of languageList\">{{item.alias}}</li>\n      </ul>\n    </li>\n    <li nz-submenu\n        [nzTitle]=\"titleTpl\"\n        *ngIf=\"dropDownData.includes('dept')\"\n        class=\"emop_center\">\n      <ng-template #titleTpl>\n        <i class=\"iconfont icon-jiaose\"></i><span style=\"margin-left: 8px;\">切换部门</span>\n      </ng-template>\n      <ul>\n        <li nz-menu-item\n            (click)=\"changeDeptFn(dept)\"\n            *ngFor=\"let dept of depts;\">{{dept.deptName}}</li>\n      </ul>\n    </li>\n    <li nz-submenu\n        [nzTitle]=\"titleTpl\"\n        *ngIf=\"dropDownData.includes('role')\"\n        class=\"emop_center\">\n      <ng-template #titleTpl>\n        <i class=\"iconfont icon-jiaose\"></i><span style=\"margin-left: 8px;\">切换角色</span>\n      </ng-template>\n      <ul>\n        <li nz-menu-item\n            (click)=\"changeRoleFn(role)\"\n            *ngFor=\"let role of roles;\">{{role.roleName}}</li>\n      </ul>\n    </li>\n  </ul>\n</nz-dropdown-menu>\n\n<!-- 关于页面 -->\n<nz-modal [(nzVisible)]=\"aboutModal.visiable\"\n          (nzOnCancel)=\"aboutModal.visiable=false\"\n          nzFooter=\"null\"\n          nzWidth=\"800px\">\n  <ng-container *nzModalContent>\n    <app-emop-sidebar-about *ngIf=\"!custom.includes('about')\"></app-emop-sidebar-about>\n    <ng-container *ngIf=\"custom.includes('about')\">\n      <ng-content select=\"[about]\"></ng-content>\n    </ng-container>\n  </ng-container>\n</nz-modal>","styles":[":host .emop-sidebar{display:flex;width:100vw;height:100vh;background:#e8ecf2;overflow:hidden}:host .emop-sidebar .emop-menu{width:160px;height:100%;background-color:#12194f;transition:.3s}:host .emop-sidebar .emop-menu.isCollapsed{width:46px}:host .emop-sidebar .emop-menu.isCollapsed .item{display:flex;justify-content:center;padding-left:0!important}:host .emop-sidebar .emop-menu.isCollapsed .item i{margin-right:0!important}:host .emop-sidebar .emop-menu.isCollapsed .collapsedControl i{transform:rotate(180deg)}:host .emop-sidebar .emop-menu.isCollapsed span{width:0;height:0;opacity:0}:host .emop-sidebar .emop-menu.isCollapsed .logoUrl img{width:35px;margin:0 auto 15px;height:10px}:host .emop-sidebar .emop-menu .logoUrl img{display:block;margin:10px 0 20px 25px;width:90px;height:20px;transition:.3s}:host .emop-sidebar .emop-menu .menu{justify-content:space-between;flex:1}:host .emop-sidebar .emop-menu .menu .item{height:40px;color:#9ba4bd;padding-left:25px;cursor:pointer;transition:.3s}:host .emop-sidebar .emop-menu .menu .item .menu-icon{width:28px}:host .emop-sidebar .emop-menu .menu .item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:.3s}:host .emop-sidebar .emop-menu .menu .item:hover{color:#fff;background-color:#1b2975}:host .emop-sidebar .emop-menu .menu .collapsedControl{display:flex;justify-content:flex-end;align-items:center;height:40px;color:#fff;cursor:pointer;padding-right:15px}:host .emop-sidebar .emop-menu .menu .collapsedControl i{transition:.3s}:host .emop-sidebar .emop-menu .menu .collapsedControl:hover{background-color:#1b2975}:host .emop-sidebar ::ng-deep app-header{z-index:999}:host .emop-sidebar .emop-content{display:flex;flex:1;flex-direction:column;overflow:hidden}:host .emop-sidebar .emop-content .default-header{width:100%;height:43px;box-shadow:0 2px 4px rgba(0,0,0,.1);display:flex;align-items:center;padding-left:16px;background-color:#fff;font-size:14px;z-index:100}:host .emop-sidebar .emop-content .default-header img{width:18px;height:18px}:host .emop-sidebar .emop-content .default-header .left{height:43px}:host .emop-sidebar .emop-content .default-header .left .header-title{margin:0 16px 0 8px;font-weight:400;color:#041c59}:host .emop-sidebar .emop-content .default-header .right{height:43px}:host .emop-sidebar .emop-content .default-header .right .userInfo{display:flex;justify-content:flex-end;height:43px;line-height:43px;padding:0 12px 0 20px;min-width:140px}:host .emop-sidebar .emop-content .default-header .right .userInfo:hover .userInfo-plate{display:block}:host .emop-sidebar .emop-content .default-header .right .userInfo .userInfo-plate{display:none}:host .emop-sidebar .emop-content .default-header .right .userInfo .userInfo-plate .displayBox{right:0;top:43px;position:fixed;width:140px;z-index:100;background-color:#fff}:host .emop-sidebar .emop-content .default-header .right .userInfo .userInfo-plate .displayBox ul{display:flex;flex-direction:column;margin-bottom:0}:host .emop-sidebar .emop-content .default-header .right .userInfo .userInfo-plate .displayBox ul li{display:flex;align-items:center;padding:0 10px;transition:.4s}:host .emop-sidebar .emop-content .default-header .right .userInfo .userInfo-plate .displayBox ul li:hover{background-color:hsla(0,0%,61.2%,.299);cursor:pointer}:host .emop-sidebar .emop-content .default-header .right .userInfo i{margin-right:4px}:host .emop-sidebar .emop-content .sub-horizontal-header{width:100%;height:40px;box-shadow:0 2px 4px rgba(0,0,0,.1);display:flex;align-items:center;font-size:14px;z-index:100}:host .emop-sidebar .emop-content .sub-horizontal-header img{width:18px;height:18px}:host .emop-sidebar .emop-content .sub-horizontal-header .left{height:40px}:host .emop-sidebar .emop-content .sub-horizontal-header .left>.icon{width:46px;height:100%;display:flex;justify-content:center;align-items:center;color:#fff;cursor:pointer;position:relative;transition:.3s}:host .emop-sidebar .emop-content .sub-horizontal-header .left>.icon>i{font-size:24px}:host .emop-sidebar .emop-content .sub-horizontal-header .left>.icon.blue:hover{background-color:#2664cb}:host .emop-sidebar .emop-content .sub-horizontal-header .left>.icon.default:hover{background-color:#1692b0}:host .emop-sidebar .emop-content .sub-horizontal-header .left>.icon:hover .horizontal-box{max-height:600px;padding:12px}:host .emop-sidebar .emop-content .sub-horizontal-header .left>.icon:hover .icon i{color:#313233}:host .emop-sidebar .emop-content .sub-horizontal-header .left>.icon .horizontal-box{position:absolute;left:0;top:40px;width:194px;padding:0 12px;transition:.2s;max-height:0;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.15)}:host .emop-sidebar .emop-content .sub-horizontal-header .left>.icon .horizontal-box .box-item{display:flex;background-color:#fff;width:100%;height:40px;line-height:40px;padding:0 12px;transition:.3s;margin-bottom:12px;color:#4aa6ed;position:relative;box-shadow:1px 0 2px 0 rgba(0,0,0,.1450980392);cursor:pointer}:host .emop-sidebar .emop-content .sub-horizontal-header .left>.icon .horizontal-box .box-item.default{color:#11728a}:host .emop-sidebar .emop-content .sub-horizontal-header .left>.icon .horizontal-box .box-item.blue{color:#313233}:host .emop-sidebar .emop-content .sub-horizontal-header .left>.icon .horizontal-box .box-item.default:hover{color:#fff;background-color:#28a8c7}:host .emop-sidebar .emop-content .sub-horizontal-header .left>.icon .horizontal-box .box-item.blue:hover{background-color:#75a8e6}:host .emop-sidebar .emop-content .sub-horizontal-header .left>.icon .horizontal-box .box-item:last-child{margin-bottom:0}:host .emop-sidebar .emop-content .sub-horizontal-header .left>.icon .horizontal-box .box-item.blue.active{background-color:#2664cb}:host .emop-sidebar .emop-content .sub-horizontal-header .left>.icon .horizontal-box .box-item.default.active{background-color:#1692b0}:host .emop-sidebar .emop-content .sub-horizontal-header .left>.icon .horizontal-box .box-item.active div.iconf>i,:host .emop-sidebar .emop-content .sub-horizontal-header .left>.icon .horizontal-box .box-item.active div.menu-title{color:#fff!important}:host .emop-sidebar .emop-content .sub-horizontal-header .left>.icon .horizontal-box .box-item.active :after{content:\"\";width:6px;height:6px;background-color:#fff;border-radius:50%;overflow:hidden;position:absolute;right:12px;top:50%;transform:translateY(-50%)}:host .emop-sidebar .emop-content .sub-horizontal-header .left>.icon .horizontal-box .box-item .iconf{display:flex;justify-content:center;align-items:center;width:32px}:host .emop-sidebar .emop-content .sub-horizontal-header .left>.icon .horizontal-box .box-item .iconf>i{font-size:20px}:host .emop-sidebar .emop-content .sub-horizontal-header .left>.icon .horizontal-box .box-item .menu-title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:400;font-family:PingFang SC}:host .emop-sidebar .emop-content .sub-horizontal-header .left .header-title{margin:0 16px 0 4px;font-weight:500;color:#fff;font-size:16px;font-family:PingFang SC}:host .emop-sidebar .emop-content .sub-horizontal-header .right{height:40px}:host .emop-sidebar .emop-content .sub-horizontal-header .right .userInfo{display:flex;justify-content:flex-end;align-items:center;height:40px;line-height:40px;padding:0 12px 0 20px;min-width:140px;color:#fff}:host .emop-sidebar .emop-content .sub-horizontal-header .right .userInfo:hover .userInfo-plate{display:block}:host .emop-sidebar .emop-content .sub-horizontal-header .right .userInfo .userInfo-plate{display:none}:host .emop-sidebar .emop-content .sub-horizontal-header .right .userInfo .userInfo-plate .displayBox{right:0;top:43px;position:fixed;width:140px;z-index:100;background-color:#fff}:host .emop-sidebar .emop-content .sub-horizontal-header .right .userInfo .userInfo-plate .displayBox ul{display:flex;flex-direction:column;margin-bottom:0}:host .emop-sidebar .emop-content .sub-horizontal-header .right .userInfo .userInfo-plate .displayBox ul li{display:flex;align-items:center;padding:0 10px;transition:.4s}:host .emop-sidebar .emop-content .sub-horizontal-header .right .userInfo .userInfo-plate .displayBox ul li:hover{background-color:hsla(0,0%,61.2%,.299);cursor:pointer}:host .emop-sidebar .emop-content .sub-horizontal-header .right .userInfo i{margin-right:4px}:host .emop-sidebar .emop-content .emop-main{height:calc(100vh - 43px);display:flex;overflow-y:auto;overflow-x:hidden}::ng-deep .ant-dropdown-menu-submenu-title{display:flex;align-items:center;width:100%}::ng-deep .ant-form-item-control-input-content .changePasswordModalButton{display:flex;justify-content:center}::ng-deep .ant-form-item-control-input-content .changePasswordModalButton button{margin-left:20px}.sidebarBC{background-color:#1b2975!important}"]}]}],"members":{"theme":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":30,"character":3}}]}],"themeColor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":34,"character":3}}]}],"isCollapsed":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":38,"character":3}}]}],"userName":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":42,"character":3}}]}],"logoUrl":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":44,"character":3}}]}],"appName":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":48,"character":3}}]}],"icon":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":52,"character":3}}]}],"roles":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":53,"character":3}}]}],"depts":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":54,"character":3}}]}],"languageList":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":55,"character":3}}]}],"custom":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":68,"character":3}}]}],"dropDownData":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":69,"character":3}}]}],"layout":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":74,"character":3}}]}],"logout":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":76,"character":3}}]}],"changeLanguage":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":77,"character":3}}]}],"changeRole":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":78,"character":3}}]}],"changeDept":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":79,"character":3}}]}],"getUserInfo":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":80,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":82,"character":18},{"__symbolic":"reference","module":"ng-zorro-antd/modal","name":"NzModalService","line":83,"character":28},{"__symbolic":"reference","name":"ɵr"},{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":85,"character":16}]}],"ngOnInit":[{"__symbolic":"method"}],"getSidebarLanguageDisplay":[{"__symbolic":"method"}],"changePasswordFn":[{"__symbolic":"method"}],"getUserName":[{"__symbolic":"method"}],"getSideBarData":[{"__symbolic":"method"}],"navigate":[{"__symbolic":"method"}],"changeLanguageFn":[{"__symbolic":"method"}],"logoutFn":[{"__symbolic":"method"}],"changeRoleFn":[{"__symbolic":"method"}],"changeDeptFn":[{"__symbolic":"method"}],"isMenuSelected":[{"__symbolic":"method"}]}},"ɵr":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":5,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"ng-zorro-antd/notification","name":"NzNotificationService","line":15,"character":35},{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageService","line":16,"character":30},{"__symbolic":"reference","module":"@angular/router","name":"Router","line":17,"character":20},{"__symbolic":"reference","module":"@angular/router","name":"ActivatedRoute","line":18,"character":19},{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":19,"character":18}]}],"init":[{"__symbolic":"method"}],"setToken":[{"__symbolic":"method"}],"emopLog":[{"__symbolic":"method"}],"message":[{"__symbolic":"method"}],"notice":[{"__symbolic":"method"}],"drag":[{"__symbolic":"method"}],"navigate":[{"__symbolic":"method"}],"getRouteQueryParams":[{"__symbolic":"method"}],"response":[{"__symbolic":"method"}],"logout":[{"__symbolic":"method"}],"copy":[{"__symbolic":"method"}],"parseCookie":[{"__symbolic":"method"}]},"statics":{"ɵprov":{}}},"ɵs":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":16,"character":1},"arguments":[{"selector":"emop-table","template":"<!-- 不再维护该组件,请转移至emop-table-pro中使用,该组件不要删除 -->\n<!-- 不再维护该组件,请转移至emop-table-pro中使用,该组件不要删除 -->\n<!-- 不再维护该组件,请转移至emop-table-pro中使用,该组件不要删除 -->\n<!-- 不再维护该组件,请转移至emop-table-pro中使用,该组件不要删除 -->\n<!-- 不再维护该组件,请转移至emop-table-pro中使用,该组件不要删除 -->\n<!-- 不再维护该组件,请转移至emop-table-pro中使用,该组件不要删除 -->\n<!-- 不再维护该组件,请转移至emop-table-pro中使用,该组件不要删除 -->\n<!-- 不再维护该组件,请转移至emop-table-pro中使用,该组件不要删除 -->\n<!-- 不再维护该组件,请转移至emop-table-pro中使用,该组件不要删除 -->\n<!-- 不再维护该组件,请转移至emop-table-pro中使用,该组件不要删除 -->\n\n<nz-table #basicTable\n          [nzData]=\"tableInfo?.data\"\n          [nzBordered]=\"tableInfo?.border\"\n          [nzFrontPagination]=\"tableInfo?.frontPagination\"\n          [(nzPageIndex)]=\"tableInfo?.pageInfo.pageIndex\"\n          [(nzPageSize)]=\"tableInfo?.pageInfo.pageSize\"\n          [nzShowPagination]=\"false\"\n          (nzPageIndexChange)=\"pageIndexChangeFn($event)\"\n          [nzScroll]=\"scroll\"\n          [nzLoading]=\"tableInfo?.loading\">\n  <thead>\n    <tr>\n      <!-- 多选框 -->\n      <th *ngIf=\"tableInfo?.type === 'checkbox'\"\n          nzWidth=\"90px\"\n          [nzChecked]=\"tableInfo.checkboxSelected?.length === tableInfo?.data.length\"\n          [nzIndeterminate]=\"tableInfo.checkboxSelected.length !== tableInfo?.data.length && tableInfo.checkboxSelected.length !== 0\"\n          (nzCheckedChange)=\"onAllChecked($event)\">\n      </th>\n      <!-- 单选框 -->\n      <th *ngIf=\"tableInfo?.type==='radio'\"\n          nzWidth=\"90px\"></th>\n      <th *ngIf=\"tableInfo?.serial\"\n          nzWidth=\"90px\">序号</th>\n      <ng-container *ngFor=\"let header of tableInfo?.header\">\n        <th *ngIf=\"(header.visible === undefined ? true : header.visible) && (header.enable === undefined ? true : header.enable) && header.type !== 'action'\"\n            [nzSortDirections]=\"header.sortFn?.directions || null\"\n            [nzSortOrder]=\"header.sortFn?.default || undefined\"\n            [nzSortFn]=\"header.sortFn?.fn || undefined\"\n            [nzWidth]=\"header.width || null\"\n            [nzCustomFilter]=\"header.searchable\">\n          {{header.alias}}\n          <nz-filter-trigger *ngIf=\"header.sortFn\"\n                             [(nzVisible)]=\"filterData.visible && header.key\"\n                             [nzActive]=\"filterData.searchValue.length > 0\"\n                             [nzDropdownMenu]=\"menu\">\n            <span nz-icon\n                  nzType=\"search\"></span>\n          </nz-filter-trigger>\n        </th>\n        <th *ngIf=\"(header.visible === undefined ? true : header.visible) && (header.enable === undefined ? true : header.enable) && header.type === 'action'\">\n          {{header.alias}}\n        </th>\n        <nz-dropdown-menu #menu=\"nzDropdownMenu\">\n          <div class=\"ant-table-filter-dropdown\">\n            <div class=\"filter-search-box\">\n              <input type=\"text\"\n                     nz-input\n                     placeholder=\"请输入内容\"\n                     [(ngModel)]=\"filterData.searchValue\"\n                     (keydown)=\"search(header.key,$event)\" />\n              <button nz-button\n                      nzSize=\"small\"\n                      nzType=\"primary\"\n                      (click)=\"search(header.key)\"\n                      class=\"search-button\">搜索</button>\n              <button nz-button\n                      nzSize=\"small\"\n                      (click)=\"reset(header.key)\">重置</button>\n            </div>\n          </div>\n        </nz-dropdown-menu>\n      </ng-container>\n    </tr>\n  </thead>\n  <tbody>\n    <tr *ngFor=\"let data of basicTable.data; let index = index;\"\n        class=\"editable-tr\">\n      <!-- 多选框 -->\n      <td *ngIf=\"tableInfo.type==='checkbox'\"\n          nzBreakWord>\n        <label nz-checkbox\n               [ngModel]=\"tableInfo.checkboxSelected.includes(this.tableInfo.selectedTag ? \n               this.tableInfo.selectedTag === 'index' ? \n               getRealIndex(index) : data[this.tableInfo.selectedTag] : data)\"\n               (ngModelChange)=\"onItemChecked(getRealIndex(index), $event)\">\n        </label>\n      </td>\n      <!-- 单选框 -->\n      <td *ngIf=\"tableInfo.type==='radio'\"\n          nzBreakWord>\n        <nz-radio-group [(ngModel)]=\"tableInfo.radioSelected\">\n          <label nz-radio\n                 [nzValue]=\"tableInfo.selectedTag ? tableInfo.selectedTag === 'index' ? getRealIndex(index) : data[tableInfo.selectedTag] : data\"></label>\n        </nz-radio-group>\n      </td>\n      <!-- 序号 -->\n      <td *ngIf=\"tableInfo.serial\"\n          nzBreakWord>{{getRealIndex(index) + 1}}</td>\n      <ng-container *ngFor=\"let header of tableInfo.header\">\n        <td *ngIf=\"(header.visible === undefined ? true : header.visible) && (header.enable === undefined ? true : header.enable)\"\n            nzBreakWord>\n          <!-- 正常显示的值 -->\n          <div [ngClass]=\"{'editable-td': header.editFn}\"\n               [hidden]=\"editCellData.key === header.key && editCellData.index === getRealIndex(index)\"\n               (click)=\"header.editFn && startEdit(header.key, getRealIndex(index))\">\n            <!-- 如果没有设置type属性,则为普通文本 -->\n            <ng-container *ngIf=\"!header.type\">\n              <ng-container *ngIf=\"header.editFn?.type === 'lov'\">\n                {{lovGetKey(data[header.key], header.editFn?.options)}}\n              </ng-container>\n              <ng-container *ngIf=\"header.editFn?.type !== 'lov'\">\n                {{data[header.key]}}\n              </ng-container>\n            </ng-container>\n            <!-- 输入框类型 -->\n            <ng-container *ngIf=\"header.type==='str'\">\n              <div style=\"width: 100%;\">\n                <input nz-input\n                       [(ngModel)]=\"data[header.key]\" />\n              </div>\n            </ng-container>\n            <!-- 布尔值类型 -->\n            <ng-container *ngIf=\"header.type==='bool'\">\n              {{data[header.key] ? '是': '否'}}\n            </ng-container>\n            <!-- 操作类型 -->\n            <ng-container *ngIf=\"header.type==='action'\">\n              <div class=\"emop_center\"\n                   style=\"justify-content: center;\">\n                <a *ngFor=\"let action of data.action\"\n                   class=\"emop_list_margin\"\n                   (click)=\"actionFn(header.key,action, data,index)\">\n                  <ng-container *ngIf=\"getActionByKey(header.key,action)?.type === 'icon'\">\n                    <i class=\"iconfont\"\n                       [class]=\"getActionByKey(header.key,action)?.icon\"></i>\n                  </ng-container>\n                  <ng-container *ngIf=\"getActionByKey(header.key,action)?.type === 'string'\">\n                    <span>{{getActionByKey(header.key, action)?.alias}}</span>\n                  </ng-container>\n                </a>\n              </div>\n            </ng-container>\n          </div>\n          <!-- 编辑单元格显示的值 -->\n          <div [hidden]=\"!(editCellData.key === header.key && editCellData.index === getRealIndex(index))\">\n            <emop-form-item [data]=\"editFormData\"></emop-form-item>\n            <div class=\"editCellOption\">\n              <button nz-button\n                      (click)=\"editCellCancel()\"\n                      nzSize=\"small\">\n                <i nz-icon\n                   nzType=\"close\"\n                   nzTheme=\"outline\"></i>\n              </button>\n              <button nz-button\n                      nzType=\"primary\"\n                      nzSize=\"small\"\n                      (click)=\"editCellSubmit(header.key, getRealIndex(index))\">\n                <i nz-icon\n                   nzType=\"check\"\n                   nzTheme=\"outline\"></i>\n              </button>\n            </div>\n          </div>\n        </td>\n      </ng-container>\n    </tr>\n  </tbody>\n</nz-table>\n<!-- 分页器 -->\n<nz-pagination [(nzPageIndex)]=\"tableInfo?.pageInfo.pageIndex\"\n               [(nzPageSize)]=\"tableInfo?.pageInfo.pageSize\"\n               [(nzTotal)]=\"tableInfo?.pageInfo.totalCount || tableInfo?.data.length\"\n               nzShowQuickJumper=\"true\"\n               (nzPageIndexChange)=\"pageIndexChangeFn($event)\"\n               (nzPageSizeChange)=\"pageSizeChangeFn($event)\"\n               [nzShowTotal]=\"totalTemplate\"\n               nzShowSizeChanger\n               [nzSize]=\"paginationSize\"\n               *ngIf=\"tableInfo?.showPagination\">\n</nz-pagination>\n<ng-template #totalTemplate\n             let-total>共 {{ tableInfo?.pageInfo.totalCount || tableInfo?.data.length}} 条数据</ng-template>","styles":[".ant-table-tbody>tr>td,::ng-deep .ant-table-thead>tr>th{text-align:center}.filter-search-box{padding:8px}.filter-search-box input{width:188px;margin-bottom:8px;display:block}.filter-search-box button{width:90px}.filter-search-box .search-button{margin-right:8px}.editable-tr:hover .editable-td{border:1px solid #d9d9d9;border-radius:4px;padding:4px 11px;min-height:32px}.editable-td{position:relative;padding:5px 12px;cursor:pointer}.editCellOption{margin-top:8px}::ng-deep .ant-pagination{margin:10px 0;text-align:right}"]}]}],"members":{"tableInfo":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":45,"character":3}}]}],"scroll":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":46,"character":3}}]}],"paginationSize":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":47,"character":3}}]}],"pageIndexChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":48,"character":3}}]}],"pageSizeChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":49,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngOnChanges":[{"__symbolic":"method"}],"ngOnInit":[{"__symbolic":"method"}],"reset":[{"__symbolic":"method"}],"search":[{"__symbolic":"method"}],"startEdit":[{"__symbolic":"method"}],"editCellSubmit":[{"__symbolic":"method"}],"editCellCancel":[{"__symbolic":"method"}],"onAllChecked":[{"__symbolic":"method"}],"initCheckedAttribute":[{"__symbolic":"method"}],"onItemChecked":[{"__symbolic":"method"}],"cloneData":[{"__symbolic":"method"}],"pageIndexChangeFn":[{"__symbolic":"method"}],"pageSizeChangeFn":[{"__symbolic":"method"}],"getRealIndex":[{"__symbolic":"method"}],"actionFn":[{"__symbolic":"method"}],"lovGetKey":[{"__symbolic":"method"}],"getActionByKey":[{"__symbolic":"method"}]}},"ɵt":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":14,"character":1},"arguments":[{"selector":"emop-form-item","template":"<!-- 不再维护该组件,请转移至emop-item中使用,该组件不要删除 -->\n<!-- 不再维护该组件,请转移至emop-item中使用,该组件不要删除 -->\n<!-- 不再维护该组件,请转移至emop-item中使用,该组件不要删除 -->\n<!-- 不再维护该组件,请转移至emop-item中使用,该组件不要删除 -->\n<!-- 不再维护该组件,请转移至emop-item中使用,该组件不要删除 -->\n<!-- 不再维护该组件,请转移至emop-item中使用,该组件不要删除 -->\n<!-- 不再维护该组件,请转移至emop-item中使用,该组件不要删除 -->\n<!-- 不再维护该组件,请转移至emop-item中使用,该组件不要删除 -->\n<!-- 不再维护该组件,请转移至emop-item中使用,该组件不要删除 -->\n<!-- 不再维护该组件,请转移至emop-item中使用,该组件不要删除 -->\n<!-- 不再维护该组件,请转移至emop-item中使用,该组件不要删除 -->\n<!-- 不再维护该组件,请转移至emop-item中使用,该组件不要删除 -->\n<!-- 不再维护该组件,请转移至emop-item中使用,该组件不要删除 -->\n\n<!-- 按钮类型 -->\n<button nz-button\n        [nzType]=\"data.btn?.type\"\n        (click)=\"btnClickFn()\"\n        [nzDanger]=\"data.btn?.danger\"\n        *ngIf=\"data?.type==='button'\">\n  {{data.btn?.alias}}\n</button>\n\n<!-- 字符 -->\n<input *ngIf=\"data?.type==='str'\"\n       nz-input\n       [ngModel]=\"data?.value\"\n       (ngModelChange)=\"onInput($event,data?.key)\"\n       [name]=\"data?.key\"\n       [placeholder]=\"data?.placeholder||''\"\n       [disabled]=\"data?.disabled\"\n       (blur)=\"onBlur($event)\"\n       (keyup)=\"keyup($event)\"\n       [required]=\"data?.required\">\n\n<!-- 密码输入框 -->\n<nz-input-group [nzSuffix]=\"suffixTemplate\"\n                *ngIf=\"data?.type==='password'\">\n  <input [type]=\"passwordVisible ? 'text': 'password'\"\n         nz-input\n         [ngModel]=\"data?.value\"\n         (ngModelChange)=\"onInput($event,data?.key)\"\n         [name]=\"data?.key\"\n         [placeholder]=\"data?.placeholder||''\"\n         [disabled]=\"data?.disabled\"\n         (blur)=\"onBlur($event)\"\n         (keyup)=\"keyup($event)\"\n         [required]=\"data?.required\" />\n</nz-input-group>\n<ng-template #suffixTemplate>\n  <i nz-icon\n     [nzType]=\"passwordVisible ? 'eye-invisible' : 'eye'\"\n     (click)=\"passwordVisible = !passwordVisible\"></i>\n</ng-template>\n\n<!-- 开关 -->\n<nz-switch *ngIf=\"data?.type==='bool'\"\n           [ngModel]=\" data?.value\"\n           (ngModelChange)=\"onInput($event,data?.key)\"\n           [name]=\"data?.key\"\n           (blur)=\"onBlur($event)\"\n           [disabled]=\"data?.disabled\">\n</nz-switch>\n<!-- 日期 -->\n<nz-date-picker [required]=\"data?.required\"\n                *ngIf=\"data?.type==='date'\"\n                [ngModel]=\"data?.value\"\n                (ngModelChange)=\"onInput($event,data?.key)\"\n                [name]=\"data?.key\"\n                [disabled]=\"data?.disabled\"\n                nzShowTime\n                (blur)=\"onBlur($event)\"\n                [nzPlaceHolder]=\"data?.placeholder||''\"\n                style=\"width: 100%;\"></nz-date-picker>\n<!-- 下拉lov -->\n<ng-container *ngIf=\"data?.type==='lov'\">\n  <!-- 可手写且非多选 -->\n  <ng-container *ngIf=\"data?.tags && !data?.multiple\">\n    <input [nzAutocomplete]=\"auto\"\n           nz-input\n           (ngModelChange)=\"onInput($event,data?.key)\"\n           [ngModel]=\"data?.value\"\n           [name]=\"data?.key\"\n           [placeholder]=\"data?.placeholder\"\n           [disabled]=\"data?.disabled\"\n           (blur)=\"onBlur($event)\"\n           [required]=\"data?.required\">\n    <nz-autocomplete #auto>\n      <nz-auto-option *ngFor=\"let option of data?.options\"\n                      [nzValue]=\"option.key\">{{ option.key }}</nz-auto-option>\n    </nz-autocomplete>\n  </ng-container>\n  <ng-container *ngIf=\"!(data?.tags && !data?.multiple)\">\n    <nz-select [ngModel]=\"data?.value\"\n               (ngModelChange)=\"onInput($event,data?.key)\"\n               [name]=\"data?.key\"\n               [nzMode]=\"data?.tags?'tags':data?.multiple?'multiple':'default'\"\n               [disabled]=\"data?.disabled\"\n               style=\"width: 100%;\"\n               (blur)=\"onBlur($event)\"\n               [nzAllowClear]=\"data.allowClear\"\n               (nzOpenChange)=\"onOpenFn(data,$event)\"\n               [required]=\"data?.required\">\n      <nz-option [nzValue]=\"option.val\"\n                 [nzLabel]=\"option.key\"\n                 *ngFor=\"let option of data?.options\"></nz-option>\n    </nz-select>\n  </ng-container>\n</ng-container>\n<!-- 数字 -->\n<nz-input-number [ngModel]=\"data?.value\"\n                 style=\"width: 100%;\"\n                 [nzMin]=\"data?.min || 0\"\n                 [nzMax]=\"data?.max\"\n                 (blur)=\"onBlur($event)\"\n                 [nzStep]=\"data?.step || 1\"\n                 (ngModelChange)=\"onInput($event,data?.key)\"\n                 *ngIf=\"data?.type==='num'\"\n                 [name]=\"data?.key\"\n                 [disabled]=\"data?.disabled\"\n                 [required]=\"data?.required\">\n</nz-input-number>\n<!-- 单选框 -->\n<nz-radio-group [ngModel]=\"data?.value\"\n                *ngIf=\"data?.type==='radio'\"\n                (ngModelChange)=\"onInput($event,data?.key)\"\n                [name]=\"data?.key\"\n                (blur)=\"onBlur($event)\"\n                [disabled]=\"data?.disabled\"\n                [required]=\"data?.required\">\n  <label nz-radio\n         [nzValue]=\"option.val\"\n         *ngFor=\"let option of data?.options\">\n    {{option.key}}\n  </label>\n</nz-radio-group>\n<!-- 文本域 -->\n<textarea [ngModel]=\"data?.value\"\n          *ngIf=\"data?.type==='textarea'\"\n          (ngModelChange)=\"onInput($event,data?.key)\"\n          [name]=\"data?.key\"\n          (blur)=\"onBlur($event)\"\n          [disabled]=\"data?.disabled\"\n          [required]=\"data?.required\"\n          [rows]=\"data.row || 2\"\n          nz-input>\n</textarea>","styles":[""]}]}],"members":{"data":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":22,"character":3}}]}],"blur":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":23,"character":3}}]}],"enter":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":24,"character":3}}]}],"onChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":25,"character":3}}]}],"onOpen":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":26,"character":3}}]}],"btnClick":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":27,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngOnChanges":[{"__symbolic":"method"}],"ngOnInit":[{"__symbolic":"method"}],"onInput":[{"__symbolic":"method"}],"onBlur":[{"__symbolic":"method"}],"keyup":[{"__symbolic":"method"}],"onOpenFn":[{"__symbolic":"method"}],"btnClickFn":[{"__symbolic":"method"}]}},"ɵu":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"selector":"emop-tree","template":"<nz-tree #EmopTreeRef\n         [nzData]=\"EmopTree?.data\"\n         [nzCheckable]=\"EmopTree?.checkable\"\n         (nzExpandChange)=\"expandChangeFn($event)\"\n         [nzAsyncData]=\"EmopTree?.async\"\n         nzShowIcon\n         nzBlockNode\n         [nzTreeTemplate]=\"nzTreeTemplate\"\n         [nzMultiple]=\"false\"\n         (nzClick)=\"nzClick($event)\">\n  <!-- 树节点内容 -->\n  <ng-template #nzTreeTemplate let-node let-origin=\"origin\">\n    <span class=\"custom-node\" (contextmenu)=\"createContextMenu($event, menu)\">\n      <div *ngIf=\"!node.isLeaf\">\n        <i class=\"iconfont\" *ngIf=\"origin.beforeIcon\" [class]=\"origin.beforeIcon\"></i>\n        <span class=\"folder-name\" style=\"margin:0 5px;\">{{ origin.title }}</span>\n        <i class=\"iconfont\" *ngIf=\"origin.afterIcon\" [class]=\"origin.afterIcon\"></i>\n      </div>\n      <div *ngIf=\"node.isLeaf\">\n        <i class=\"iconfont\" *ngIf=\"origin.beforeIcon\" [class]=\"origin.beforeIcon\"></i>\n        <span class=\"file-name\" style=\"margin:0 5px;\">{{ node.title }}</span>\n        <i class=\"iconfont\" *ngIf=\"origin.afterIcon\" [class]=\"origin.afterIcon\"></i>\n      </div>\n    </span>\n    <!-- 菜单栏 -->\n    <nz-dropdown-menu #menu=\"nzDropdownMenu\">\n      <ul nz-menu *ngIf=\"this.EmopTree.contextMenu\">\n        <li nz-menu-item *ngFor=\"let item of this.EmopTree.contextMenu[origin.contentMenu]\" (click)=\"item.fn(origin)\">{{item.alias}}</li>\n      </ul>\n    </nz-dropdown-menu>\n  </ng-template>\n</nz-tree>","styles":[".custom-node{width:100%;cursor:pointer;line-height:24px;margin-left:4px;display:inline-block}.custom-node>div{display:flex;align-items:center}::ng-deep .ant-tree-treenode{padding:0!important;height:30px}::ng-deep .ant-tree-treenode:hover{background-color:#f5f5f5}::ng-deep .ant-tree-switcher,::ng-deep .ant-tree .ant-tree-node-content-wrapper{line-height:30px}::ng-deep .ant-tree-node:hover{background-color:none}::ng-deep .ant-tree-treenode-selected{background-color:#bae7ff!important;transition:all .1s,border 0s,line-height 0s}::ng-deep .ant-tree-node-selected{background:none!important}"]}]}],"members":{"EmopTree":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":13,"character":3}}]}],"EmopTreeRef":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":15,"character":3},"arguments":["EmopTreeRef"]}]}],"expandChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":16,"character":3}}]}],"leftClick":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":17,"character":3}}]}],"check":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":18,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"ng-zorro-antd/dropdown","name":"NzContextMenuService","line":20,"character":34}]}],"ngOnInit":[{"__symbolic":"method"}],"nzClick":[{"__symbolic":"method"}],"nzCheck":[{"__symbolic":"method"}],"expandChangeFn":[{"__symbolic":"method"}],"createContextMenu":[{"__symbolic":"method"}]}},"ɵv":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":5,"character":1},"arguments":[{"selector":"emop-menu","template":"<ul nz-menu\n    class=\"emop-menu\"\n    nzMode=\"inline\">\n  <ng-container *ngFor=\"let menu of data\">\n    <!-- 无子菜单 -->\n    <li nz-menu-item\n        nzMatchRouter\n        *ngIf=\"!menu.children\"\n        [nzTooltipTitle]=\"menu.alias\"\n        [nzDisabled]=\"menu.disabled\"\n        nzTooltipPlacement=\"right\"\n        nz-tooltip\n        [nzTooltipTrigger]=\"showTips ? 'hover': null\">\n      <ng-container *ngIf=\"menu.url\">\n        <a class=\"emop_center\"\n           [routerLink]=\"[menu.url]\">\n          <i class=\"iconfont\"\n             [class]=\"menu.icon\"\n             *ngIf=\"menu.icon\"></i>\n          <span>{{menu.alias}}</span>\n        </a>\n      </ng-container>\n      <ng-container *ngIf=\"!menu.url\">\n        <a class=\"emop_center\">\n          <i class=\"iconfont\"\n             [class]=\"menu.icon\"\n             *ngIf=\"menu.icon\"></i>\n          <span>{{menu.alias}}</span>\n        </a>\n      </ng-container>\n    </li>\n    <!-- 有子菜单 -->\n    <li nz-submenu\n        nzOpen\n        *ngIf=\"menu.children\">\n      <span title\n            class=\"emop_center\">\n        <i class=\"iconfont\"\n           [class]=\"menu.icon\"\n           *ngIf=\"menu.icon\"></i>\n        <span>{{menu.alias}}</span>\n      </span>\n      <ul>\n        <li nz-menu-item\n            *ngFor=\"let item of menu.children\"\n            [nzTooltipTitle]=\"item.alias\"\n            nzTooltipPlacement=\"right\"\n            nzMatchRouter\n            nz-tooltip\n            [nzTooltipTrigger]=\"showTips ? 'hover': null\">\n          <ng-container *ngIf=\"item.url\">\n            <a [routerLink]=\"[item.url]\"\n               class=\"emop_center\">\n              <i class=\"iconfont\"\n                 [class]=\"item.icon\"\n                 *ngIf=\"item.icon\"></i>\n              <span>{{item.alias}}</span>\n            </a>\n          </ng-container>\n          <ng-container *ngIf=\"!item.url\">\n            <a class=\"emop_center\">\n              <i class=\"iconfont\"\n                 [class]=\"item.icon\"\n                 *ngIf=\"item.icon\"></i>\n              <span>{{item.alias}}</span>\n            </a>\n          </ng-container>\n        </li>\n      </ul>\n    </li>\n  </ng-container>\n</ul>","styles":["ul{width:200px;height:100%}ul i{margin-right:5px}ul span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}"]}]}],"members":{"data":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":11,"character":3}}]}],"showTips":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":12,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}]}},"ɵw":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":5,"character":1},"arguments":[{"selector":"emop-editor","template":"<div class=\"main\"\n     [class]=\"theme\">\n  <code [class]=\"data?.language\">\n    <div class=\"EmopEditor\" [innerHTML]=\"initContent\"></div>\n  </code>\n  <button nz-button\n          nzShape=\"circle\"\n          (click)=\"copy()\"\n          nzType=\"default\">\n    <i nz-icon\n       nzType=\"copy\"\n       nzTheme=\"outline\"></i></button>\n</div>","styles":[".main{position:relative}.main:hover .ant-btn{display:block}::ng-deep .main.light .typescript ::ng-deep .hljs-attr,::ng-deep .main.light .typescript ::ng-deep .hljs-title{color:#2c3b9a}::ng-deep .main.light .typescript ::ng-deep .hljs-string{color:#a0705c}::ng-deep .main.light .typescript ::ng-deep .hljs-keyword{color:#008dff}::ng-deep .main.light .typescript ::ng-deep .hljs-meta{color:#4cc1a5}::ng-deep .main.light .html ::ng-deep .hljs-name{color:#5690cf}::ng-deep .main.light .html ::ng-deep .hljs-attr{color:#009dff}::ng-deep .main.light .html ::ng-deep .hljs-string{color:#a0705c}::ng-deep .main.light .EmopEditor{height:100%;line-height:1.3;background-color:#fff;color:#000}::ng-deep .main.dark .scss ::ng-deep .hljs-property{color:#b09864}::ng-deep .main.dark .scss ::ng-deep .hljs-attr{color:#a7c39b;color:#98d7fe}::ng-deep .main.dark .typescript ::ng-deep .hljs-attr,::ng-deep .main.dark .typescript ::ng-deep .hljs-title{color:#8ec7ea}::ng-deep .main.dark .typescript ::ng-deep .hljs-string{color:#a0705c}::ng-deep .main.dark .typescript ::ng-deep .hljs-keyword{color:#bd7ab8}::ng-deep .main.dark .typescript ::ng-deep .hljs-meta{color:#4cc1a5}::ng-deep .main.dark .EmopEditor{background-color:#1c1c1c;color:#d8d8d8}.main .EmopEditor{width:100%;min-height:20px;padding:10px;font-size:12px;white-space:pre}.main .EmopEditor ::ng-deep .index{display:inline-block;width:30px;margin-right:20px;color:#aaa;text-align:right;-webkit-user-select:none!important;user-select:none!important}.main .EmopEditor ::ng-deep .ng-deep{color:#5085bf}.main .ant-btn{display:none;color:#aaa;position:absolute;right:10px;top:10px}"]}]}],"members":{"data":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":11,"character":3}}]}],"theme":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":12,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵr"}]}],"ngOnInit":[{"__symbolic":"method"}],"init":[{"__symbolic":"method"}],"scss":[{"__symbolic":"method"}],"json":[{"__symbolic":"method"}],"copy":[{"__symbolic":"method"}]}},"ɵx":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":6,"character":1},"arguments":[{"selector":"emop-table-pro","template":"<div class=\"emop_table_pro\"\n     *ngIf=\"data?.header?.length\">\n  <!--             nzBordered -->\n  <nz-table #basicTable\n            [nzData]=\"data.data\"\n            [nzSize]=\"data.size\"\n            [nzLoading]=\"data.loading\"\n            [(nzPageIndex)]=\"data?.pageInfo.pageIndex\"\n            [(nzPageSize)]=\"data?.pageInfo.pageSize\"\n            [nzFrontPagination]=\"data.frontPagination\"\n            [nzTotal]=\"data.frontPagination && data?.pageInfo.total\"\n            [nzLoadingDelay]=\"data.loadingDelay\"\n            [nzScroll]=\"data.scroll\"\n            nzTableLayout=\"fixed\"\n            nzShowPagination=\"false\"\n            (nzCurrentPageDataChange)=\"onCurrentPageDataChange($event)\">\n    <thead>\n      <tr>\n        <!-- 树形结构 -->\n        <!-- <ng-container *ngIf=\"data?.tableTree?.enable\">\n          <th nzWidth=\"100px\"></th>\n        </ng-container> -->\n        <ng-container>\n          <!-- 多选框 -->\n          <th *ngIf=\"data.mode === 'checkbox'\"\n              nzWidth=\"48px\"\n              class=\"tac\"\n              [nzChecked]=\"isAllSelected()\"\n              [nzIndeterminate]=\"isIndeterminate()\"\n              (nzCheckedChange)=\"onAllChecked($event)\">\n          </th>\n          <!-- 单选框 -->\n          <th *ngIf=\"data.mode==='radio'\"\n              class=\"tac\"\n              nzWidth=\"48px\"></th>\n          <!-- 序号 -->\n          <!-- class=\"tac\" -->\n          <th *ngIf=\"data.order\"\n              class=\"tac\"\n              nzWidth=\"48px\">序号</th>\n          <!-- <th *ngIf=\"data?.tableTree?.enable\"\n              class=\"tac\"\n              [nzWidth]=\"treeWidth\">序号</th> -->\n        </ng-container>\n\n        <!-- 表格头 -->\n        <ng-container *ngFor=\"let header of data.header\">\n          <th [nzShowSort]=\"!!header.sort\"\n              [nzSortFn]=\"header.sort?.fn || undefined\"\n              [nzSortDirections]=\"header.sort?.orderList || null\"\n              [(nzSortOrder)]=\"header.sort && header.sort.order\"\n              (nzSortOrderChange)=\"onSortChangeFn(header)\"\n              [nzSortPriority]=\"header.sort?.seq\"\n              nzCustomFilter\n              [nzWidth]=\"header.width || null\">\n            {{header.alias}}\n            <!-- 筛选 -->\n            <ng-container *ngIf=\"header.filter\">\n              <nz-filter-trigger [(nzVisible)]=\"header.filter.visible\"\n                                 [nzActive]=\"header.filter.value?.length > 0\"\n                                 [nzDropdownMenu]=\"filterMenu\">\n                <i nz-icon\n                   nzType=\"search\"></i>\n              </nz-filter-trigger>\n              <!-- 搜索框内容 -->\n              <nz-dropdown-menu #filterMenu=\"nzDropdownMenu\">\n                <div class=\"ant-table-filter-dropdown\">\n                  <div class=\"search-box\">\n                    <!-- <emop-form-item [data]=\"testFormItem\"\n                                    (enter)=\"onFilterValueChange()\"></emop-form-item> -->\n                    <!-- 文本输入框 -->\n                    <input *ngIf=\"header.filter.mode === 'str'\"\n                           type=\"text\"\n                           nz-input\n                           [(ngModel)]=\"header.filter.value\"\n                           (keyup.enter)=\"onFilterChangeFn(header)\"\n                           [placeholder]=\"header.filter.placeholder || '搜索'+ header.alias\" />\n                    <!-- 数字输入框 -->\n                    <nz-input-number *ngIf=\"header.filter.mode === 'num'\"\n                                     style=\"width: 100%;\"\n                                     [(ngModel)]=\"header.filter.value\"\n                                     (keyup.enter)=\"onFilterChangeFn(header)\"\n                                     [nzStep]=\"1\"></nz-input-number>\n                    <!-- 单选框 -->\n                    <!-- <nz-select *ngIf=\"header.filter.mode === 'radio'\"\n                               [(ngModel)]=\"header.filter.value\"\n                               nzAllowClear\n                               style=\"width: 100%;\"\n                               [nzPlaceHolder]=\"header.filter.placeholder\"\n                               (ngModelChange)=\"onFilterChangeFn(header)\">\n                      <nz-option [nzValue]=\"header.filter.radioValue[0]\"\n                                 [nzLabel]=\"header.filter.radioValue[0]\"></nz-option>\n                      <nz-option [nzValue]=\"header.filter.radioValue[1]\"\n                                 [nzLabel]=\"header.filter.radioValue[1]\"></nz-option>\n                    </nz-select> -->\n                    <!-- 多选框 -->\n                    <div class=\"table_pro_checkBox\"\n                         *ngIf=\"header.filter.mode === 'checkbox'\">\n                      <!-- <label nz-checkbox\n                             [(ngModel)]=\"allChecked\"\n                             (ngModelChange)=\"updateAllChecked(header)\">\n                        全选\n                      </label>\n                      <div style=\"border-bottom: 1px solid rgb(233, 233, 233); margin-bottom: 5px;\"></div> -->\n                      <nz-checkbox-group [(ngModel)]=\"header.filter.value\"></nz-checkbox-group>\n                      <div style=\"border-bottom: 1px solid rgb(233, 233, 233); margin-bottom: 5px;\"></div>\n                      <button nz-button\n                              nzType=\"link\"\n                              nzSize=\"small\"\n                              (click)=\"checkBoxReset(header)\">重置</button>\n                      <button nz-button\n                              nzType=\"primary\"\n                              nzSize=\"small\"\n                              (click)=\"onFilterChangeFn(header)\">确定</button>\n                    </div>\n                    <!-- 时间范围选择 -->\n                    <nz-range-picker *ngIf=\"header.filter.mode === 'timeSelection'\"\n                                     [nzShowTime]=\"true\"\n                                     [(ngModel)]=\"header.filter.value\"\n                                     (ngModelChange)=\"onChange($event)\"></nz-range-picker>\n                  </div>\n                </div>\n              </nz-dropdown-menu>\n            </ng-container>\n          </th>\n        </ng-container>\n      </tr>\n    </thead>\n    <tbody>\n      <ng-container>\n        <tr *ngFor=\"let item of basicTable.data;let index = index\"\n            (click)=\"onTrClickFn(item, index)\">\n          <!-- 多选框 -->\n          <td *ngIf=\"data.mode==='checkbox'\"\n              class=\"tac\"\n              nzBreakWord>\n            <label nz-checkbox\n                   [ngModel]=\"isSelected(item, getRealIndex(index))\"\n                   (ngModelChange)=\"onCheckboxSelected($event, item, getRealIndex(index))\">\n            </label>\n          </td>\n          <!-- 单选框 -->\n          <td *ngIf=\"data.mode==='radio'\"\n              class=\"tac\"\n              nzBreakWord>\n            <nz-radio-group [(ngModel)]=\"item.selected\"\n                            (ngModelChange)=\"onRadioSelectedFn(item, index)\">\n              <label nz-radio\n                     [nzValue]=\"data.selectedTag === '@index' ? getRealIndex(index) : data[item.selectedTag]\"></label>\n            </nz-radio-group>\n          </td>\n          <!-- 树形结构展开icon -->\n          <!-- <td *ngIf=\"data.tableTree?.enable\"\n              [nzIndentSize]=\"item.level! * 20\"\n              [nzShowExpand]=\"item.children\"\n              [(nzExpand)]=\"item.expand\"\n              (nzExpandChange)=\"collapse(data?.mapOfExpandedData[item.key], item, $event)\">{{ item.key\n            }}</td> -->\n          <!-- <td *ngIf=\"data.tableTree?.enable\"\n                [nzIndentSize]=\"item.level! * 20\"\n                [nzShowExpand]=\"item.children\"\n                [(nzExpand)]=\"item.expand\"\n                (nzExpandChange)=\"collapse(mapOfExpandedData[item.key], item, $event)\"></td> -->\n          <!-- 序号 -->\n          <td *ngIf=\"data.order\"\n              style=\"text-align: center;\">{{ getRealIndex(index + 1)}}</td>\n          <ng-container *ngTemplateOutlet=\"dataRef;context: { data: item }\"></ng-container>\n        </tr>\n      </ng-container>\n    </tbody>\n  </nz-table>\n  <div class=\"emop_table_pro_extra\">\n    <div>共计 {{data.frontPagination ? data.data.length : data.pageInfo.total}} 条结果</div>\n    <!-- 分页器 -->\n    <nz-pagination *ngIf=\"data.pageInfo.visible\"\n                   [(nzPageIndex)]=\"data.pageInfo.pageIndex\"\n                   [(nzPageSize)]=\"data.pageInfo.pageSize\"\n                   [(nzTotal)]=\"data.pageInfo.total || data.data.length\"\n                   [nzHideOnSinglePage]=\"data.pageInfo.hideOnSinglePage\"\n                   [nzShowQuickJumper]=\"data.pageInfo.showQuickJumper\"\n                   [nzDisabled]=\"data.pageInfo.disabled\"\n                   nzShowSizeChanger\n                   [nzSize]=\"data.pageInfo.size\"\n                   [nzResponsive]=\"true\"\n                   [nzPageSizeOptions]=\"data.pageInfo.pageSizeList\"\n                   (nzPageIndexChange)=\"pageIndexChange($event)\"\n                   (nzPageSizeChange)=\"pageSizeChange($event)\">\n    </nz-pagination>\n  </div>\n</div>","styles":[".emop_table_pro .ant-table-cell{color:#313233;text-align:left}.emop_table_pro .ant-table-cell .ant-radio-wrapper{margin-right:0}.emop_table_pro .tac{text-align:center}.emop_table_pro ::ng-deep .ant-table-thead>tr>th{background-color:#f3f6fb;-webkit-user-select:none;user-select:none}.emop_table_pro .emop_table_pro_extra{display:flex;justify-content:space-between;align-items:center;padding:0 10px;margin-top:10px;font-size:12px;color:#aaa}.table_pro_checkBox{padding:10px}.table_pro_checkBox ::ng-deep .ant-checkbox-group{display:flex;flex-direction:column}.table_pro_checkBox ::ng-deep .ant-checkbox-group ::ng-deep .ant-checkbox-group-item{margin-bottom:4px}.table_pro_checkBox ::ng-deep .ant-btn{border:0;width:53px;height:27px;font-size:10px}.table_pro_checkBox ::ng-deep .ant-btn:first-of-type{margin-right:9px;color:rgba(0,0,0,.2509803922)}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"dataRef":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":15,"character":3}}]}],"data":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":3}}]}],"onSelected":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":24,"character":3}}]}],"onSortChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":33,"character":3}}]}],"onFilterChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":34,"character":3}}]}],"onPageIndexChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":36,"character":3}}]}],"onPageSizeChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":37,"character":3}}]}],"onPageChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":38,"character":3}}]}],"onTrClick":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":39,"character":3}}]}],"onTrClickFn":[{"__symbolic":"method"}],"ngOnInit":[{"__symbolic":"method"}],"collapse":[{"__symbolic":"method"}],"onAllChecked":[{"__symbolic":"method"}],"isSelected":[{"__symbolic":"method"}],"isAllSelected":[{"__symbolic":"method"}],"isIndeterminate":[{"__symbolic":"method"}],"onCheckboxSelected":[{"__symbolic":"method"}],"onRadioSelectedFn":[{"__symbolic":"method"}],"onSortChangeFn":[{"__symbolic":"method"}],"checkBoxReset":[{"__symbolic":"method"}],"onChange":[{"__symbolic":"method"}],"onFilterChangeFn":[{"__symbolic":"method"}],"emit":[{"__symbolic":"method"}],"pageIndexChange":[{"__symbolic":"method"}],"pageSizeChange":[{"__symbolic":"method"}],"getRealIndex":[{"__symbolic":"method"}],"onCurrentPageDataChange":[{"__symbolic":"method"}]}},"ɵy":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"selector":"emop-form-pro","template":"<form nz-form\n      [nzLayout]=\"layout\">\n  <div nz-row\n       [nzGutter]=\"24\">\n    <ng-container *ngFor=\"let item of data\">\n      <div nz-col\n           [nzSpan]=\"24/col\"\n           *ngIf=\"(item.visible === undefined ? true : item.visible) && (item.enable === undefined ? true : item.enable)\">\n        <nz-form-item>\n          <nz-form-label [nzFor]=\"item.key\"\n                         [nzSpan]=\"6\"\n                         [nzRequired]=\"item.validate?.includes('required')\">\n            <div nz-tooltip\n                 nzTooltipPlacement=\"topRight\"\n                 [nzTooltipTitle]=\"item.alias\">{{item.alias}}</div>\n          </nz-form-label>\n          <nz-form-control [nzSpan]=\"layout === 'vertical' ? 24 : 14\"\n                           [nzErrorTip]=\"item.errorTips\"\n                           [nzHasFeedback]=\"hasFeedback\"\n                           [nzValidateStatus]=\"item.validateStatus\">\n            <emop-item [data]=\"item\"></emop-item>\n          </nz-form-control>\n        </nz-form-item>\n      </div>\n    </ng-container>\n  </div>\n</form>","styles":[""]}]}],"members":{"data":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":11,"character":3}}]}],"layout":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":15,"character":3}}]}],"col":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":3}}]}],"valueChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":17,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}]}},"ɵz":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"emop-item","template":"<ng-container *ngIf=\"data\">\n  <!-- 字符 -->\n  <input *ngIf=\"data.mode==='str'\"\n         nz-input\n         [ngModel]=\"data.value\"\n         (ngModelChange)=\"onChangeFn($event)\"\n         [placeholder]=\"data.placeholder\"\n         [disabled]=\"data.disabled\"\n         (blur)=\"onBlurFn()\"\n         (keyup.enter)=\"onEnterFn()\">\n  <!-- 密码输入框 -->\n  <nz-input-group [nzSuffix]=\"suffixTemplate\"\n                  *ngIf=\"data.mode==='password'\">\n    <input [type]=\"passwordVisible ? 'text': 'password'\"\n           nz-input\n           [ngModel]=\"data.value\"\n           (ngModelChange)=\"onChangeFn($event)\"\n           [placeholder]=\"data.placeholder\"\n           [disabled]=\"data.disabled\"\n           (blur)=\"onBlurFn()\"\n           (keyup.enter)=\"onEnterFn()\" />\n  </nz-input-group>\n  <ng-template #suffixTemplate>\n    <i nz-icon\n       [nzType]=\"passwordVisible ? 'eye-invisible' : 'eye'\"\n       (click)=\"passwordVisible = !passwordVisible\"></i>\n  </ng-template>\n\n  <!-- 开关 -->\n  <nz-switch *ngIf=\"data.mode==='bool'\"\n             [ngModel]=\" data.value\"\n             (ngModelChange)=\"onChangeFn($event)\"\n             (blur)=\"onBlurFn()\"\n             [disabled]=\"data.disabled\">\n  </nz-switch>\n  <!-- 日期 -->\n  <nz-date-picker *ngIf=\"data.mode==='date'\"\n                  [ngModel]=\"data.value\"\n                  (ngModelChange)=\"onChangeFn($event)\"\n                  [disabled]=\"data.disabled\"\n                  nzShowTime\n                  (blur)=\"onBlurFn()\"\n                  [nzPlaceHolder]=\"data.placeholder||''\"\n                  style=\"width: 100%;\"></nz-date-picker>\n  <!-- 下拉lov -->\n  <ng-container *ngIf=\"data.mode==='lov'\">\n    <!-- 可手写且非多选 -->\n    <ng-container *ngIf=\"data?.tags && !data?.multiple\">\n      <input [nzAutocomplete]=\"auto\"\n             nz-input\n             (ngModelChange)=\"onChangeFn($event)\"\n             [ngModel]=\"data.value\"\n             [placeholder]=\"data.placeholder\"\n             [disabled]=\"data.disabled\"\n             (blur)=\"onBlurFn()\">\n      <nz-autocomplete #auto>\n        <nz-auto-option *ngFor=\"let option of data.options\"\n                        [nzValue]=\"option.key\">{{ option.key }}</nz-auto-option>\n      </nz-autocomplete>\n    </ng-container>\n    <ng-container *ngIf=\"!(data.tags && !data.multiple)\">\n      <nz-select [ngModel]=\"data.value\"\n                 (ngModelChange)=\"onChangeFn($event)\"\n                 [nzMode]=\"data.tags?'tags':data?.multiple?'multiple':'default'\"\n                 [disabled]=\"data.disabled\"\n                 style=\"width: 100%;\"\n                 (blur)=\"onBlurFn()\"\n                 [nzShowSearch]=\"data.showSearch\"\n                 [nzAllowClear]=\"data.allowClear\"\n                 (nzOpenChange)=\"onOpenFn(data, $event)\">\n        <nz-option [nzValue]=\"option.val\"\n                   [nzLabel]=\"option.key\"\n                   *ngFor=\"let option of data.options\"></nz-option>\n      </nz-select>\n    </ng-container>\n  </ng-container>\n  <!-- 数字 -->\n  <nz-input-number [ngModel]=\"data.value\"\n                   style=\"width: 100%;\"\n                   [nzMin]=\"data.min || 0\"\n                   [nzMax]=\"data.max\"\n                   (blur)=\"onBlurFn()\"\n                   [nzStep]=\"data.step || 1\"\n                   (ngModelChange)=\"onChangeFn($event)\"\n                   *ngIf=\"data.mode==='num'\"\n                   [disabled]=\"data.disabled\">\n  </nz-input-number>\n  <!-- 单选框 -->\n  <nz-radio-group [ngModel]=\"data.value\"\n                  *ngIf=\"data.mode==='radio'\"\n                  (ngModelChange)=\"onChangeFn($event)\"\n                  (blur)=\"onBlurFn()\"\n                  [disabled]=\"data.disabled\">\n    <label nz-radio\n           [nzValue]=\"option.val\"\n           *ngFor=\"let option of data?.options\">\n      {{option.key}}\n    </label>\n  </nz-radio-group>\n  <!-- 文本域 -->\n  <textarea [ngModel]=\"data.value\"\n            *ngIf=\"data.mode==='textarea'\"\n            (ngModelChange)=\"onChangeFn($event)\"\n            (blur)=\"onBlurFn()\"\n            [disabled]=\"data.disabled\"\n            [rows]=\"data.row || 2\"\n            nz-input>\n</textarea>\n\n  <!-- 按钮类型 -->\n  <button nz-button\n          *ngIf=\"data.mode==='button'\"\n          (click)=\"onClickFn()\"\n          [disabled]=\"data.disabled\"\n          [nzGhost]=\"data.btn.ghost\"\n          [nzLoading]=\"data.btn.loading\"\n          [nzShape]=\"data.btn.shape\"\n          [nzSize]=\"data.btn.size\"\n          [nzDanger]=\"data.btn.danger\"\n          [nzBlock]=\"data.btn.block\"\n          [nzType]=\"data.btn.type\">{{data.placeholder}}</button>\n</ng-container>","styles":[""]}]}],"members":{"data":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":11,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngOnChanges":[{"__symbolic":"method"}],"ngOnInit":[{"__symbolic":"method"}],"onChangeFn":[{"__symbolic":"method"}],"onBlurFn":[{"__symbolic":"method"}],"onClickFn":[{"__symbolic":"method"}],"onEnterFn":[{"__symbolic":"method"}],"onOpenFn":[{"__symbolic":"method"}]}},"ɵba":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":6,"character":1},"arguments":[{"selector":"app-emop-sidebar-password","template":"<form nz-form\n      [formGroup]=\"changePasswordForm\">\n  <nz-form-item>\n    <nz-form-label [nzSm]=\"6\"\n                   [nzXs]=\"24\"\n                   nzRequired\n                   nzFor=\"oldPassword\">旧密码</nz-form-label>\n    <nz-form-control [nzSm]=\"14\"\n                     [nzXs]=\"24\"\n                     nzErrorTip=\"旧密码为必填项\">\n      <input nz-input\n             formControlName=\"oldPassword\"\n             id=\"oldPassword\"\n             type=\"password\" />\n    </nz-form-control>\n  </nz-form-item>\n  <nz-form-item>\n    <nz-form-label [nzSm]=\"6\"\n                   [nzXs]=\"24\"\n                   nzRequired\n                   nzFor=\"newPassword\">新密码</nz-form-label>\n    <nz-form-control [nzSm]=\"14\"\n                     [nzXs]=\"24\"\n                     nzErrorTip=\"新密码为必填项\">\n      <input nz-input\n             formControlName=\"newPassword\"\n             id=\"newPassword\"\n             type=\"password\" />\n    </nz-form-control>\n  </nz-form-item>\n  <nz-form-item>\n    <nz-form-label [nzSm]=\"6\"\n                   [nzXs]=\"24\"\n                   nzRequired\n                   nzFor=\"newPassword1\">新密码</nz-form-label>\n    <nz-form-control [nzSm]=\"14\"\n                     [nzXs]=\"24\"\n                     nzErrorTip=\"新密码为必填项\">\n      <input nz-input\n             formControlName=\"newPassword1\"\n             id=\"newPassword1\"\n             type=\"password\" />\n    </nz-form-control>\n  </nz-form-item>\n\n  <nz-form-item>\n    <nz-form-control>\n      <div class=\"changePasswordModalButton\">\n        <button nz-button\n                nzType=\"default\"\n                (click)=\"changePasswordModalCancel()\">取消</button>\n        <button nz-button\n                nzType=\"primary\"\n                (click)=\"changePasswordModalOk()\">确认</button>\n      </div>\n    </nz-form-control>\n  </nz-form-item>\n</form>","styles":[""]}]}],"members":{"userInfo":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":13,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":15,"character":16},{"__symbolic":"reference","name":"ɵr"},{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":17,"character":18},{"__symbolic":"reference","module":"ng-zorro-antd/modal","name":"NzModalRef","line":18,"character":24}]}],"ngOnInit":[{"__symbolic":"method"}],"changePasswordModalCancel":[{"__symbolic":"method"}],"changePasswordModalOk":[{"__symbolic":"method"}]}},"ɵbb":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":1,"character":1},"arguments":[{"selector":"app-emop-api","template":"<div class=\"emop-api\">\n  <div class=\"emop-api-content\">\n    <h1>{{titleName}}</h1>\n    <div class=\"desc emop_radius\">\n      <ng-content select=\"[detail]\"></ng-content>\n    </div>\n    <ng-content select=\"[content]\"></ng-content>\n    <h1 style=\"margin-top: 20px;\"\n        *ngIf=\"api?.length\">Api</h1>\n    <div *ngFor=\"let item of api\">\n      <div *ngIf=\"item.attributes\"\n           style=\"margin-top: 20px;\">\n        <h3>{{item.name}}</h3>\n        <div class=\"tr\"\n             style=\"font-weight: bold;\">\n          <ng-container *ngIf=\"item.type === 'attributes'\">\n            <div>参数</div>\n            <div>说明</div>\n            <div>类型</div>\n            <div>是否必填</div>\n            <div>默认值</div>\n            <div>备注</div>\n          </ng-container>\n          <ng-container *ngIf=\"item.type === 'functions'\">\n            <div>参数</div>\n            <div>说明</div>\n            <div>备注</div>\n          </ng-container>\n        </div>\n        <div class=\"td\"\n             *ngFor=\"let p of item.attributes\">\n          <ng-container *ngIf=\"item.type === 'attributes'\">\n            <div>{{p.alias}}</div>\n            <div>{{p.desc}}</div>\n            <div>\n              <nz-tag *ngFor=\"let s of p.type\">{{s}}</nz-tag>\n            </div>\n            <div>{{p.required ? '是' : '否'}}</div>\n            <div>{{p.default}}</div>\n            <div>{{p.remark}}</div>\n          </ng-container>\n          <ng-container *ngIf=\"item.type === 'functions'\">\n            <div>{{p.alias}}</div>\n            <div>{{p.desc}}</div>\n            <div>{{p.remark}}</div>\n          </ng-container>\n        </div>\n      </div>\n    </div>\n\n  </div>\n  <div class=\"emop-api-anchor\">\n    <!-- <nz-anchor>\n      <nz-link nzHref=\"#data1\"\n               nzTitle=\"组件基本用法\"></nz-link>\n      <nz-link nzHref=\"#data2\"\n               nzTitle=\"基本表单\"></nz-link>\n    </nz-anchor> -->\n  </div>\n</div>","styles":[".emop-api{display:flex;padding:20px}.emop-api .emop-api-content{flex:1}.emop-api .emop-api-content .desc{display:inline;padding:5px 10px;background-color:hsla(0,0%,66.7%,.264)}.emop-api .emop-api-anchor{padding:20px;width:200px}.emop-api .td,.emop-api .tr{display:flex;align-items:center;text-align:center;font-size:12px}.emop-api .td>div,.emop-api .tr>div{flex:1}.emop-api .tr{background-color:#f2f4fa;line-height:36px}.emop-api .td{border:1px solid #f2f4fa;line-height:32px}.emop-api .td:last-child{border-bottom:1px solid #f2f4fa}"]}]}],"members":{"titleName":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":8,"character":3}}]}],"api":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":9,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}]}},"ɵbc":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"app-emop-api-item","template":"<nz-card style=\"margin-top: 30px;\"\n         nzSize=\"small\"\n         [nzExtra]=\"extra\"\n         [nzTitle]=\"titleName\">\n  <!-- <emop-form [EmopFormData]=\"layoutSetting\"></emop-form> -->\n  <div style=\"color: #333; font-size: 12px;\">\n    <ng-content></ng-content>\n  </div>\n  <ng-container *ngIf=\"codeVisible\">\n    <div class=\"emop_line\"></div>\n    <emop-editor [data]=\"code\"></emop-editor>\n  </ng-container>\n</nz-card>\n<ng-template #extra>\n  <button nz-button\n          (click)=\"codeVisible = !codeVisible\"\n          *ngIf=\"code\"\n          nzType=\"link\">{{codeVisible ? '隐藏': '查看'}}代码</button>\n</ng-template>","styles":["::ng-deep .attr{background-color:hsla(0,0%,66.7%,.2705882353);padding:2px 4px;border-radius:5px}"]}]}],"members":{"titleName":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":11,"character":3}}]}],"code":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":15,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}]}},"ɵbd":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"selector":"app-emop-sidebar-about","template":"<div class=\"sidebarAbout\">\n  <div class=\"aboutSystem\">\n    <div class=\"title emop_text_title\">关于系统</div>\n    <div class=\"section emop_between\">\n      <div>版本号</div>\n      <div>2.0.0</div>\n    </div>\n    <div class=\"section emop_between\">\n      <div>技术支持</div>\n      <div>广州易行数字技术有限公司珠海分公司</div>\n    </div>\n    <div class=\"section emop_between\">\n      <div>©2022 Eingsoft 保留所有权利</div>\n      <div></div>\n    </div>\n  </div>\n\n  <div class=\"contact\">\n    <div class=\"title emop_text_title\">联系我们</div>\n    <div class=\"section emop_between\">\n      <div>广州易行数字技术有限公司珠海分公司</div>\n      <div>\n        <img [src]=\"eingsoft\"\n             alt=\"\">\n      </div>\n    </div>\n    <div class=\"section emop_between\">\n      <div>邮箱</div>\n      <div>\n        <a [href]=\"'mailto:info@esingsoft.com'\">info@esingsoft.com</a>\n      </div>\n    </div>\n    <div class=\"section emop_between\">\n      <div>公众号</div>\n      <div>\n        <img [src]=\"QRcode\"\n             alt=\"\">\n      </div>\n    </div>\n  </div>\n</div>","styles":[".sidebarAbout{padding:30px 80px}.sidebarAbout .aboutSystem,.sidebarAbout contact{margin-bottom:20px}.sidebarAbout .title{margin-bottom:20px;font-weight:700}.sidebarAbout .section{line-height:30px;align-items:start}.sidebarAbout img{width:100px}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}]}}},"origins":{"EmopPublicModule":"./src/app/public-components/emop-public.module","EmopModule":"./src/app/components/emop.module","BaseUiModule":"./src/app/modules/base-ui.module","ɵa":"./src/app/public-components/emop-public-doc-create/emop-public-doc-create.component","ɵb":"./src/app/public-components/emop-public-workflow-create/emop-public-workflow-create.component","ɵc":"./src/app/public-components/emop-public-workflow-create/emop-public-workflow-create.service","ɵd":"./src/app/public-components/emop-public-workflow-create/emop-public-workflow-create-api.service","ɵe":"./src/app/public-components/emop-public-workflow-create/components/emop-public-workflow-create-new/emop-public-workflow-create-new.component","ɵf":"./src/app/public-components/emop-public-workflow-create/components/emop-public-workflow-create-appointee/emop-public-workflow-create-appointee.component","ɵg":"./src/app/public-components/emop-public-usercenter-selector/emop-public-usercenter-selector.component","ɵh":"./src/app/public-components/emop-public-usercenter-selector/emop-public-usercenter-selector-api.service","ɵi":"./src/app/public-components/emop-public-workflow-approval/emop-public-workflow-approval.component","ɵj":"./src/app/public-components/emop-public-workflow-approval/emop-public-workflow-approval.service","ɵk":"./src/app/public-components/emop-public-workflow-approval/components/emop-public-workflow-approval-object/emop-public-workflow-approval-object.component","ɵl":"./src/app/public-components/emop-public-workflow-approval/emop-public-workflow-approval-api.service","ɵm":"./src/app/public-components/emop-public-workflow-approval/components/emop-public-workflow-approval-form/emop-public-workflow-approval-form.component","ɵn":"./src/app/public-components/emop-public-workflow-approval/components/emop-public-workflow-approval-record/emop-public-workflow-approval-record.component","ɵo":"./src/app/public-components/emop-public-workflow-approval/components/emop-public-workflow-approval-detail/emop-public-workflow-approval-detail.component","ɵp":"./src/app/components/emop-form/emop-form.component","ɵq":"./src/app/components/emop-sidebar/emop-sidebar.component","ɵr":"./src/app/services/emop-utils.service","ɵs":"./src/app/components/emop-table/emop-table.component","ɵt":"./src/app/components/emop-form-item/emop-form-item.component","ɵu":"./src/app/components/emop-tree/emop-tree.component","ɵv":"./src/app/components/emop-menu/emop-menu.component","ɵw":"./src/app/components/emop-editor/emop-editor.component","ɵx":"./src/app/components/emop-table-pro/emop-table-pro.component","ɵy":"./src/app/components/emop-form-pro/emop-form-pro.component","ɵz":"./src/app/components/emop-item/emop-item.component","ɵba":"./src/app/components/emop-sidebar/components/emop-sidebar-password/emop-sidebar-password.component","ɵbb":"./src/app/components/emop-api/emop-api.component","ɵbc":"./src/app/components/emop-api-item/emop-api-item.component","ɵbd":"./src/app/components/emop-sidebar/components/emop-sidebar-about/emop-sidebar-about.component"},"importAs":"emop-components-angular"}